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


/* Default standalone editor fonts */
.monaco-editor {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;
	--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace;
}

.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label {
	stroke-width: 1.2px;
}

.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,
.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,
.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label {
	stroke-width: 1.2px;
}

.monaco-hover p {
	margin: 0;
}

/* See https://github.com/microsoft/monaco-editor/issues/2168#issuecomment-780078600 */
.monaco-aria-container {
	position: absolute !important;
	top: 0; /* avoid being placed underneath a sibling element */
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
}

.monaco-editor, .monaco-diff-editor .synthetic-focus,
.monaco-editor, .monaco-diff-editor [tabindex="0"]:focus,
.monaco-editor, .monaco-diff-editor [tabindex="-1"]:focus,
.monaco-editor, .monaco-diff-editor button:focus,
.monaco-editor, .monaco-diff-editor input[type=button]:focus,
.monaco-editor, .monaco-diff-editor input[type=checkbox]:focus,
.monaco-editor, .monaco-diff-editor input[type=search]:focus,
.monaco-editor, .monaco-diff-editor input[type=text]:focus,
.monaco-editor, .monaco-diff-editor select:focus,
.monaco-editor, .monaco-diff-editor textarea:focus {
	outline-width: 1px;
	outline-style: solid;
	outline-offset: -1px;
	outline-color: var(--vscode-focusBorder);
	opacity: 1
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-aria-container {
	position: absolute; /* try to hide from window but not from screen readers */
	left:-999em;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* -------------------- IE10 remove auto clear button -------------------- */

::-ms-clear {
	display: none;
}

/* All widgets */
/* I am not a big fan of this rule */
.monaco-editor .editor-widget input {
	color: inherit;
}

/* -------------------- Editor -------------------- */

.monaco-editor {
	position: relative;
	overflow: visible;
	-webkit-text-size-adjust: 100%;
	color: var(--vscode-editor-foreground);
	background-color: var(--vscode-editor-background);
}
.monaco-editor-background {
	background-color: var(--vscode-editor-background);
}
.monaco-editor .rangeHighlight {
	background-color: var(--vscode-editor-rangeHighlightBackground);
	box-sizing: border-box;
	border: 1px solid var(--vscode-editor-rangeHighlightBorder);
}
.monaco-editor.hc-black .rangeHighlight, .monaco-editor.hc-light .rangeHighlight {
	border-style: dotted;
}
.monaco-editor .symbolHighlight {
	background-color: var(--vscode-editor-symbolHighlightBackground);
	box-sizing: border-box;
	border: 1px solid var(--vscode-editor-symbolHighlightBorder);
}
.monaco-editor.hc-black .symbolHighlight, .monaco-editor.hc-light .symbolHighlight {
	border-style: dotted;
}

/* -------------------- Misc -------------------- */

.monaco-editor .overflow-guard {
	position: relative;
	overflow: hidden;
}

.monaco-editor .view-overlays {
	position: absolute;
	top: 0;
}

.monaco-editor .view-overlays > div, .monaco-editor .margin-view-overlays > div {
	position: absolute;
	width: 100%;
}

/*
.monaco-editor .auto-closed-character {
	opacity: 0.3;
}
*/


.monaco-editor .squiggly-error {
	border-bottom: 4px double var(--vscode-editorError-border);
}
.monaco-editor .squiggly-error::before {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background: var(--vscode-editorError-background);
}
.monaco-editor .squiggly-warning {
	border-bottom: 4px double var(--vscode-editorWarning-border);
}
.monaco-editor .squiggly-warning::before {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background: var(--vscode-editorWarning-background);
}
.monaco-editor .squiggly-info {
	border-bottom: 4px double var(--vscode-editorInfo-border);
}
.monaco-editor .squiggly-info::before {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background: var(--vscode-editorInfo-background);
}
.monaco-editor .squiggly-hint {
	border-bottom: 2px dotted var(--vscode-editorHint-border);
}
.monaco-editor.showUnused .squiggly-unnecessary {
	border-bottom: 2px dashed var(--vscode-editorUnnecessaryCode-border);
}
.monaco-editor.showDeprecated .squiggly-inline-deprecated {
	text-decoration: line-through;
	text-decoration-color: var(--vscode-editor-foreground, inherit);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Arrows */
.monaco-scrollable-element > .scrollbar > .scra {
	cursor: pointer;
	font-size: 11px !important;
}

.monaco-scrollable-element > .visible {
	opacity: 1;

	/* Background rule added for IE9 - to allow clicks on dom node */
	background:rgba(0,0,0,0);

	transition: opacity 100ms linear;
	/* In front of peek view */
	z-index: 11;
}
.monaco-scrollable-element > .invisible {
	opacity: 0;
	pointer-events: none;
}
.monaco-scrollable-element > .invisible.fade {
	transition: opacity 800ms linear;
}

/* Scrollable Content Inset Shadow */
.monaco-scrollable-element > .shadow {
	position: absolute;
	display: none;
}
.monaco-scrollable-element > .shadow.top {
	display: block;
	top: 0;
	left: 3px;
	height: 3px;
	width: 100%;
	box-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;
}
.monaco-scrollable-element > .shadow.left {
	display: block;
	top: 3px;
	left: 0;
	height: 100%;
	width: 3px;
	box-shadow: var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;
}
.monaco-scrollable-element > .shadow.top-left-corner {
	display: block;
	top: 0;
	left: 0;
	height: 3px;
	width: 3px;
}
.monaco-scrollable-element > .shadow.top.left {
	box-shadow: var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;
}

.monaco-scrollable-element > .scrollbar > .slider {
	background: var(--vscode-scrollbarSlider-background);
}

.monaco-scrollable-element > .scrollbar > .slider:hover {
	background: var(--vscode-scrollbarSlider-hoverBackground);
}

.monaco-scrollable-element > .scrollbar > .slider.active {
	background: var(--vscode-scrollbarSlider-activeBackground);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .inputarea {
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	position: absolute;
	outline: none !important;
	resize: none;
	border: none;
	overflow: hidden;
	color: transparent;
	background-color: transparent;
	z-index: -10;
}
/*.monaco-editor .inputarea {
	position: fixed !important;
	width: 800px !important;
	height: 500px !important;
	top: initial !important;
	left: initial !important;
	bottom: 0 !important;
	right: 0 !important;
	color: black !important;
	background: white !important;
	line-height: 15px !important;
	font-size: 14px !important;
	z-index: 10 !important;
}*/
.monaco-editor .inputarea.ime-input {
	z-index: 10;
	caret-color: var(--vscode-editorCursor-foreground);
	color: var(--vscode-editor-foreground);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .margin-view-overlays .line-numbers {
	bottom: 0;
	font-variant-numeric: tabular-nums;
	position: absolute;
	text-align: right;
	display: inline-block;
	vertical-align: middle;
	box-sizing: border-box;
	cursor: default;
}

.monaco-editor .relative-current-line-number {
	text-align: left;
	display: inline-block;
	width: 100%;
}

.monaco-editor .margin-view-overlays .line-numbers.lh-odd {
	margin-top: 1px;
}

.monaco-editor .line-numbers {
	color: var(--vscode-editorLineNumber-foreground);
}

.monaco-editor .line-numbers.active-line-number {
	color: var(--vscode-editorLineNumber-activeForeground);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .margin {
	background-color: var(--vscode-editorGutter-background);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-mouse-cursor-text {
	cursor: text;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .blockDecorations-container {
	position: absolute;
	top: 0;
	pointer-events: none;
}

.monaco-editor .blockDecorations-block {
	position: absolute;
	box-sizing: border-box;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .view-overlays .current-line {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	box-sizing: border-box;
	height: 100%;
}

.monaco-editor .margin-view-overlays .current-line {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	box-sizing: border-box;
	height: 100%;
}

.monaco-editor
	.margin-view-overlays
	.current-line.current-line-margin.current-line-margin-both {
	border-right: 0;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/*
	Keeping name short for faster parsing.
	cdr = core decorations rendering (div)
*/
.monaco-editor .lines-content .cdr {
	position: absolute;
	height: 100%;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .glyph-margin {
	position: absolute;
	top: 0;
}

/*
	Keeping name short for faster parsing.
	cgmr = core glyph margin rendering (div)
*/
.monaco-editor .glyph-margin-widgets .cgmr {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
}

/*
	Ensure spinning icons are pixel-perfectly centered and avoid wobble.
	This is only applied to icons that spin to avoid unnecessary
	GPU layers and blurry subpixel AA.
*/
.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin::before  {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .lines-content .core-guide {
	position: absolute;
	box-sizing: border-box;
	height: 100%;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Uncomment to see lines flashing when they're painted */
/*.monaco-editor .view-lines > .view-line {
	background-color: none;
	animation-name: flash-background;
	animation-duration: 800ms;
}
@keyframes flash-background {
	0%   { background-color: lightgreen; }
	100% { background-color: none }
}*/

.mtkcontrol {
	color: rgb(255, 255, 255) !important;
	background: rgb(150, 0, 0) !important;
}

.mtkoverflow {
	background-color: var(--vscode-button-background, var(--vscode-editor-background));
	color: var(--vscode-button-foreground, var(--vscode-editor-foreground));
	border-width: 1px;
	border-style: solid;
	border-color: var(--vscode-contrastBorder);
	border-radius: 2px;
	padding: 4px;
	cursor: pointer;
}
.mtkoverflow:hover {
	background-color: var(--vscode-button-hoverBackground);
}

.monaco-editor.no-user-select .lines-content,
.monaco-editor.no-user-select .view-line,
.monaco-editor.no-user-select .view-lines {
	-moz-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
}
/* Use user-select: text for lookup feature on macOS */
/* https://github.com/microsoft/vscode/issues/85632 */
.monaco-editor.mac .lines-content:hover,
.monaco-editor.mac .view-line:hover,
.monaco-editor.mac .view-lines:hover {
	-moz-user-select: text;
	     user-select: text;
	-webkit-user-select: text;
	-ms-user-select: text;
}

.monaco-editor.enable-user-select {
	-moz-user-select: initial;
	     user-select: initial;
	-webkit-user-select: initial;
}

.monaco-editor .view-lines {
	white-space: nowrap;
}

.monaco-editor .view-line {
	position: absolute;
	width: 100%;
}

/* There are view-lines in view-zones. We have to make sure this rule does not apply to them, as they don't set a line height */
.monaco-editor .lines-content > .view-lines > .view-line > span {
	top: 0;
	bottom: 0;
	position: absolute;
}

.monaco-editor .mtkw {
	color: var(--vscode-editorWhitespace-foreground) !important;
}

.monaco-editor .mtkz {
	display: inline-block;
	color: var(--vscode-editorWhitespace-foreground) !important;
}

/* TODO@tokenization bootstrap fix */
/*.monaco-editor .view-line > span > span {
	float: none;
	min-height: inherit;
	margin-left: inherit;
}*/
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .lines-decorations {
	position: absolute;
	top: 0;
	background: white;
}

/*
	Keeping name short for faster parsing.
	cldr = core lines decorations rendering (div)
*/
.monaco-editor .margin-view-overlays .cldr {
	position: absolute;
	height: 100%;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/*
	Keeping name short for faster parsing.
	cmdr = core margin decorations rendering (div)
*/
.monaco-editor .margin-view-overlays .cmdr {
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* START cover the case that slider is visible on mouseover */
.monaco-editor .minimap.slider-mouseover .minimap-slider {
	opacity: 0;
	transition: opacity 100ms linear;
}
.monaco-editor .minimap.slider-mouseover:hover .minimap-slider {
	opacity: 1;
}
.monaco-editor .minimap.slider-mouseover .minimap-slider.active {
	opacity: 1;
}
/* END cover the case that slider is visible on mouseover */
.monaco-editor .minimap-slider .minimap-slider-horizontal {
	background: var(--vscode-minimapSlider-background);
}
.monaco-editor .minimap-slider:hover .minimap-slider-horizontal {
	background: var(--vscode-minimapSlider-hoverBackground);
}
.monaco-editor .minimap-slider.active .minimap-slider-horizontal {
	background: var(--vscode-minimapSlider-activeBackground);
}
.monaco-editor .minimap-shadow-visible {
	box-shadow: var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset;
}
.monaco-editor .minimap-shadow-hidden {
	position: absolute;
	width: 0;
}
.monaco-editor .minimap-shadow-visible {
	position: absolute;
	left: -6px;
	width: 6px;
}
.monaco-editor.no-minimap-shadow .minimap-shadow-visible {
	position: absolute;
	left: -1px;
	width: 1px;
}

/* 0.5s fade in/out for the minimap */
.minimap.autohide {
	opacity: 0;
	transition: opacity 0.5s;
}
.minimap.autohide:hover {
	opacity: 1;
}

.monaco-editor .minimap {
	z-index: 5;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .overlayWidgets {
	position: absolute;
	top: 0;
	left:0;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .view-ruler {
	position: absolute;
	top: 0;
	box-shadow: 1px 0 0 0 var(--vscode-editorRuler-foreground) inset;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .scroll-decoration {
	position: absolute;
	top: 0;
	left: 0;
	height: 6px;
	box-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/*
	Keeping name short for faster parsing.
	cslr = core selections layer rendering (div)
*/
.monaco-editor .lines-content .cslr {
	position: absolute;
}

.monaco-editor .focused .selected-text {
	background-color: var(--vscode-editor-selectionBackground);
}

.monaco-editor .selected-text {
	background-color: var(--vscode-editor-inactiveSelectionBackground);
}

.monaco-editor			.top-left-radius		{ border-top-left-radius: 3px; }
.monaco-editor			.bottom-left-radius		{ border-bottom-left-radius: 3px; }
.monaco-editor			.top-right-radius		{ border-top-right-radius: 3px; }
.monaco-editor			.bottom-right-radius	{ border-bottom-right-radius: 3px; }

.monaco-editor.hc-black .top-left-radius		{ border-top-left-radius: 0; }
.monaco-editor.hc-black .bottom-left-radius		{ border-bottom-left-radius: 0; }
.monaco-editor.hc-black .top-right-radius		{ border-top-right-radius: 0; }
.monaco-editor.hc-black .bottom-right-radius	{ border-bottom-right-radius: 0; }

.monaco-editor.hc-light .top-left-radius		{ border-top-left-radius: 0; }
.monaco-editor.hc-light .bottom-left-radius		{ border-bottom-left-radius: 0; }
.monaco-editor.hc-light .top-right-radius		{ border-top-right-radius: 0; }
.monaco-editor.hc-light .bottom-right-radius	{ border-bottom-right-radius: 0; }
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .cursors-layer {
	position: absolute;
	top: 0;
}

.monaco-editor .cursors-layer > .cursor {
	position: absolute;
	overflow: hidden;
	box-sizing: border-box;
}

/* -- smooth-caret-animation -- */
.monaco-editor .cursors-layer.cursor-smooth-caret-animation > .cursor {
	transition: all 80ms;
}

/* -- block-outline-style -- */
.monaco-editor .cursors-layer.cursor-block-outline-style > .cursor {
	background: transparent !important;
	border-style: solid;
	border-width: 1px;
}

/* -- underline-style -- */
.monaco-editor .cursors-layer.cursor-underline-style > .cursor {
	border-bottom-width: 2px;
	border-bottom-style: solid;
	background: transparent !important;
}

/* -- underline-thin-style -- */
.monaco-editor .cursors-layer.cursor-underline-thin-style > .cursor {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	background: transparent !important;
}

@keyframes monaco-cursor-smooth {
	0%,
	20% {
		opacity: 1;
	}
	60%,
	100% {
		opacity: 0;
	}
}

@keyframes monaco-cursor-phase {
	0%,
	20% {
		opacity: 1;
	}
	90%,
	100% {
		opacity: 0;
	}
}

@keyframes monaco-cursor-expand {
	0%,
	20% {
		transform: scaleY(1);
	}
	80%,
	100% {
		transform: scaleY(0);
	}
}

.cursor-smooth {
	animation: monaco-cursor-smooth 0.5s ease-in-out 0s 20 alternate;
}

.cursor-phase {
	animation: monaco-cursor-phase 0.5s ease-in-out 0s 20 alternate;
}

.cursor-expand > .cursor {
	animation: monaco-cursor-expand 0.5s ease-in-out 0s 20 alternate;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .mwh {
	position: absolute;
	color: var(--vscode-editorWhitespace-foreground) !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-workbench .workbench-hover {
	position: relative;
	font-size: 13px;
	line-height: 19px;
	/* Must be higher than sash's z-index and terminal canvases */
	z-index: 40;
	overflow: hidden;
	max-width: 700px;
	background: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-editorHoverWidget-border);
	border-radius: 3px;
	color: var(--vscode-editorHoverWidget-foreground);
	box-shadow: 0 2px 8px var(--vscode-widget-shadow);
}

.monaco-workbench .workbench-hover hr {
	border-bottom: none;
}

.monaco-workbench .workbench-hover:not(.skip-fade-in) {
	animation: fadein 100ms linear;
}

.monaco-workbench .workbench-hover.compact {
	font-size: 12px;
}

.monaco-workbench .workbench-hover.compact .hover-contents {
	padding: 2px 8px;
}

.monaco-workbench .workbench-hover-container.locked .workbench-hover {
	outline: 1px solid var(--vscode-editorHoverWidget-border);
}
.monaco-workbench .workbench-hover-container.locked .workbench-hover:focus,
.monaco-workbench .workbench-hover-lock:focus {
	outline: 1px solid var(--vscode-focusBorder);
}
.monaco-workbench .workbench-hover-container.locked .workbench-hover-lock:hover {
	background: var(--vscode-toolbar-hoverBackground);
}

.monaco-workbench .workbench-hover-pointer {
	position: absolute;
	/* Must be higher than workbench hover z-index */
	z-index: 41;
	pointer-events: none;
}

.monaco-workbench .workbench-hover-pointer:after {
	content: '';
	position: absolute;
	width: 5px;
	height: 5px;
	background-color: var(--vscode-editorHoverWidget-background);
	border-right: 1px solid var(--vscode-editorHoverWidget-border);
	border-bottom: 1px solid var(--vscode-editorHoverWidget-border);
}
.monaco-workbench .locked .workbench-hover-pointer:after {
	width: 4px;
	height: 4px;
	border-right-width: 2px;
	border-bottom-width: 2px;
}

.monaco-workbench .workbench-hover-pointer.left   { left: -3px; }
.monaco-workbench .workbench-hover-pointer.right  { right: 3px; }
.monaco-workbench .workbench-hover-pointer.top    { top: -3px; }
.monaco-workbench .workbench-hover-pointer.bottom { bottom: 3px; }

.monaco-workbench .workbench-hover-pointer.left:after {
	transform: rotate(135deg);
}

.monaco-workbench .workbench-hover-pointer.right:after {
	transform: rotate(315deg);
}

.monaco-workbench .workbench-hover-pointer.top:after {
	transform: rotate(225deg);
}

.monaco-workbench .workbench-hover-pointer.bottom:after {
	transform: rotate(45deg);
}

.monaco-workbench .workbench-hover a {
	color: var(--vscode-textLink-foreground);
}

.monaco-workbench .workbench-hover a:focus {
	outline: 1px solid;
	outline-offset: -1px;
	text-decoration: underline;
	outline-color: var(--vscode-focusBorder);
}

.monaco-workbench .workbench-hover a:hover,
.monaco-workbench .workbench-hover a:active {
	color: var(--vscode-textLink-activeForeground);
}

.monaco-workbench .workbench-hover code {
	background: var(--vscode-textCodeBlock-background);
}

.monaco-workbench .workbench-hover .hover-row .actions {
	background: var(--vscode-editorHoverWidget-statusBarBackground);
}

.monaco-workbench .workbench-hover.right-aligned {
	/* The context view service wraps strangely when it's right up against the edge without this */
	left: 1px;
}

.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions {
	flex-direction: row-reverse;
}

.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions .action-container {
	margin-right: 0;
	margin-left: 16px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-hover {
	cursor: default;
	position: absolute;
	overflow: hidden;
	-moz-user-select: text;
	     user-select: text;
	-webkit-user-select: text;
	box-sizing: border-box;
	animation: fadein 100ms linear;
	line-height: 1.5em;
	white-space: var(--vscode-hover-whiteSpace, normal);
}

.monaco-hover.hidden {
	display: none;
}

.monaco-hover a:hover:not(.disabled) {
	cursor: pointer;
}

.monaco-hover .hover-contents:not(.html-hover-contents) {
	padding: 4px 8px;
}

.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) {
	max-width: var(--vscode-hover-maxWidth, 500px);
	word-wrap: break-word;
}

.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) hr {
	min-width: 100%;
}

.monaco-hover p,
.monaco-hover .code,
.monaco-hover ul,
.monaco-hover h1,
.monaco-hover h2,
.monaco-hover h3,
.monaco-hover h4,
.monaco-hover h5,
.monaco-hover h6 {
	margin: 8px 0;
}

.monaco-hover h1,
.monaco-hover h2,
.monaco-hover h3,
.monaco-hover h4,
.monaco-hover h5,
.monaco-hover h6 {
	line-height: 1.1;
}

.monaco-hover code {
	font-family: var(--monaco-monospace-font);
}

.monaco-hover hr {
	box-sizing: border-box;
	border-left: 0px;
	border-right: 0px;
	margin-top: 4px;
	margin-bottom: -4px;
	margin-left: -8px;
	margin-right: -8px;
	height: 1px;
}

.monaco-hover p:first-child,
.monaco-hover .code:first-child,
.monaco-hover ul:first-child {
	margin-top: 0;
}

.monaco-hover p:last-child,
.monaco-hover .code:last-child,
.monaco-hover ul:last-child {
	margin-bottom: 0;
}

/* MarkupContent Layout */
.monaco-hover ul {
	padding-left: 20px;
}
.monaco-hover ol {
	padding-left: 20px;
}

.monaco-hover li > p {
	margin-bottom: 0;
}

.monaco-hover li > ul {
	margin-top: 0;
}

.monaco-hover code {
	border-radius: 3px;
	padding: 0 0.4em;
}

.monaco-hover .monaco-tokenized-source {
	white-space: var(--vscode-hover-sourceWhiteSpace, pre-wrap);
}

.monaco-hover .hover-row.status-bar {
	font-size: 12px;
	line-height: 22px;
}

.monaco-hover .hover-row.status-bar .info {
	font-style: italic;
	padding: 0px 8px;
}

.monaco-hover .hover-row.status-bar .actions {
	display: flex;
	padding: 0px 8px;
	width: 100%;
}

.monaco-hover .hover-row.status-bar .actions .action-container {
	margin-right: 16px;
	cursor: pointer;
}

.monaco-hover .hover-row.status-bar .actions .action-container .action .icon {
	padding-right: 4px;
}

.monaco-hover .markdown-hover .hover-contents .codicon {
	color: inherit;
	font-size: inherit;
	vertical-align: middle;
}

.monaco-hover .hover-contents a.code-link:hover,
.monaco-hover .hover-contents a.code-link {
	color: inherit;
}

.monaco-hover .hover-contents a.code-link:before {
	content: '(';
}

.monaco-hover .hover-contents a.code-link:after {
	content: ')';
}

.monaco-hover .hover-contents a.code-link > span {
	text-decoration: underline;
	/** Hack to force underline to show **/
	border-bottom: 1px solid transparent;
	text-underline-position: under;
	color: var(--vscode-textLink-foreground);
}

.monaco-hover .hover-contents a.code-link > span:hover {
	color: var(--vscode-textLink-activeForeground);
}

/** Spans in markdown hovers need a margin-bottom to avoid looking cramped: https://github.com/microsoft/vscode/issues/101496 **/
.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span {
	margin-bottom: 4px;
	display: inline-block;
}

.monaco-hover-content .action-container a {
	-webkit-user-select: none;
	-moz-user-select: none;
	     user-select: none;
}

.monaco-hover-content .action-container.disabled {
	pointer-events: none;
	opacity: 0.4;
	cursor: default;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .rendered-markdown kbd {
	background-color: var(--vscode-keybindingLabel-background);
	color: var(--vscode-keybindingLabel-foreground);
	border-style: solid;
	border-width: 1px;
	border-radius: 3px;
	border-color: var(--vscode-keybindingLabel-border);
	border-bottom-color: var(--vscode-keybindingLabel-bottomBorder);
	box-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);
	vertical-align: middle;
	padding: 1px 3px;
}

.rendered-markdown li:has(input[type=checkbox]) {
	list-style-type: none;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.context-view {
	position: absolute;
}

.context-view.fixed {
	all: initial;
	font-family: inherit;
	font-size: 13px;
	position: fixed;
	color: inherit;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-list {
	position: relative;
	height: 100%;
	width: 100%;
	white-space: nowrap;
}

.monaco-list.mouse-support {
	-moz-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
}

.monaco-list > .monaco-scrollable-element {
	height: 100%;
}

.monaco-list-rows {
	position: relative;
	width: 100%;
	height: 100%;
}

.monaco-list.horizontal-scrolling .monaco-list-rows {
	width: auto;
	min-width: 100%;
}

.monaco-list-row {
	position: absolute;
	box-sizing: border-box;
	overflow: hidden;
	width: 100%;
}

.monaco-list.mouse-support .monaco-list-row {
	cursor: pointer;
	touch-action: none;
}

/* Make sure the scrollbar renders above overlays (sticky scroll) */
.monaco-list .monaco-scrollable-element > .scrollbar.vertical,
.monaco-pane-view > .monaco-split-view2.vertical > .monaco-scrollable-element > .scrollbar.vertical {
	z-index: 14;
}

/* for OS X ballistic scrolling */
.monaco-list-row.scrolling {
	display: none !important;
}

/* Focus */
.monaco-list.element-focused,
.monaco-list.selection-single,
.monaco-list.selection-multiple {
	outline: 0 !important;
}

/* Dnd */
.monaco-drag-image {
	display: inline-block;
	padding: 1px 7px;
	border-radius: 10px;
	font-size: 12px;
	position: absolute;
	z-index: 1000;
}

/* Filter */

.monaco-list-type-filter-message {
	position: absolute;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	padding: 40px 1em 1em 1em;
	text-align: center;
	white-space: normal;
	opacity: 0.7;
	pointer-events: none;
}

.monaco-list-type-filter-message:empty {
	display: none;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Use custom CSS vars to expose padding into parent select for padding calculation */
.monaco-select-box-dropdown-padding {
	--dropdown-padding-top: 1px;
	--dropdown-padding-bottom: 1px;
}

.hc-black .monaco-select-box-dropdown-padding,
.hc-light .monaco-select-box-dropdown-padding {
	--dropdown-padding-top: 3px;
	--dropdown-padding-bottom: 4px;
}

.monaco-select-box-dropdown-container {
	display: none;
	box-sizing:	border-box;
}

.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown * {
	margin: 0;
}

.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown a:focus {
	outline: 1px solid -webkit-focus-ring-color;
	outline-offset: -1px;
}

.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown code {
	line-height: 15px; /** For some reason, this is needed, otherwise <code> will take up 20px height */
	font-family: var(--monaco-monospace-font);
}


.monaco-select-box-dropdown-container.visible {
	display: flex;
	flex-direction: column;
	text-align: left;
	width: 1px;
	overflow: hidden;
	border-bottom-left-radius: 3px;
	border-bottom-right-radius: 3px;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container {
	flex: 0 0 auto;
	align-self: flex-start;
	padding-top: var(--dropdown-padding-top);
	padding-bottom: var(--dropdown-padding-bottom);
	padding-left: 1px;
	padding-right: 1px;
	width: 100%;
	overflow: hidden;
	box-sizing:	border-box;
}

.monaco-select-box-dropdown-container > .select-box-details-pane {
	padding: 5px;
}

.hc-black .monaco-select-box-dropdown-container > .select-box-dropdown-list-container {
	padding-top: var(--dropdown-padding-top);
	padding-bottom: var(--dropdown-padding-bottom);
}

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row {
	cursor: pointer;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-text {
	text-overflow: ellipsis;
	overflow: hidden;
	padding-left: 3.5px;
	white-space: nowrap;
	float: left;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-detail {
	text-overflow: ellipsis;
	overflow: hidden;
	padding-left: 3.5px;
	white-space: nowrap;
	float: left;
	opacity: 0.7;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-decorator-right {
	text-overflow: ellipsis;
	overflow: hidden;
	padding-right: 10px;
	white-space: nowrap;
	float: right;
}


/* Accepted CSS hiding technique for accessibility reader text  */
/* https://webaim.org/techniques/css/invisiblecontent/ */

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .visually-hidden {
		position: absolute;
		left: -10000px;
		top: auto;
		width: 1px;
		height: 1px;
		overflow: hidden;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control {
	flex: 1 1 auto;
	align-self: flex-start;
	opacity: 0;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div {
	overflow: hidden;
	max-height: 0px;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div > .option-text-width-control {
	padding-left: 4px;
	padding-right: 8px;
	white-space: nowrap;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-select-box {
	width: 100%;
	cursor: pointer;
	border-radius: 2px;
}

.monaco-select-box-dropdown-container {
	font-size: 13px;
	font-weight: normal;
	text-transform: none;
}

/** Actions */

.monaco-action-bar .action-item.select-container {
	cursor: default;
}

.monaco-action-bar .action-item .monaco-select-box {
	cursor: pointer;
	min-width: 100px;
	min-height: 18px;
	padding: 2px 23px 2px 8px;
}

.mac .monaco-action-bar .action-item .monaco-select-box {
	font-size: 11px;
	border-radius: 5px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-action-bar {
	white-space: nowrap;
	height: 100%;
}

.monaco-action-bar .actions-container {
	display: flex;
	margin: 0 auto;
	padding: 0;
	height: 100%;
	width: 100%;
	align-items: center;
}

.monaco-action-bar.vertical .actions-container {
	display: inline-block;
}

.monaco-action-bar .action-item {
	display: block;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	position: relative;  /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */
}

.monaco-action-bar .action-item.disabled {
	cursor: default;
}

.monaco-action-bar .action-item .icon,
.monaco-action-bar .action-item .codicon {
	display: block;
}

.monaco-action-bar .action-item .codicon {
	display: flex;
	align-items: center;
	width: 16px;
	height: 16px;
}

.monaco-action-bar .action-label {
	display: flex;
	font-size: 11px;
	padding: 3px;
	border-radius: 5px;
}

.monaco-action-bar .action-item.disabled .action-label,
.monaco-action-bar .action-item.disabled .action-label::before,
.monaco-action-bar .action-item.disabled .action-label:hover {
	color: var(--vscode-disabledForeground);
}

/* Vertical actions */

.monaco-action-bar.vertical {
	text-align: left;
}

.monaco-action-bar.vertical .action-item {
	display: block;
}

.monaco-action-bar.vertical .action-label.separator {
	display: block;
	border-bottom: 1px solid #bbb;
	padding-top: 1px;
	margin-left: .8em;
	margin-right: .8em;
}

.monaco-action-bar .action-item .action-label.separator {
	width: 1px;
	height: 16px;
	margin: 5px 4px !important;
	cursor: default;
	min-width: 1px;
	padding: 0;
	background-color: #bbb;
}

.secondary-actions .monaco-action-bar .action-label {
	margin-left: 6px;
}

/* Action Items */
.monaco-action-bar .action-item.select-container {
	overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */
	flex: 1;
	max-width: 170px;
	min-width: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 10px;
}

.monaco-action-bar .action-item.action-dropdown-item {
	display: flex;
}

.monaco-action-bar .action-item.action-dropdown-item > .action-dropdown-item-separator {
	display: flex;
	align-items: center;
	cursor: default;
}

.monaco-action-bar .action-item.action-dropdown-item > .action-dropdown-item-separator > div {
	width: 1px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-dropdown {
	height: 100%;
	padding: 0;
}

.monaco-dropdown > .dropdown-label {
	cursor: pointer;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.monaco-dropdown > .dropdown-label > .action-label.disabled {
	cursor: default;
}

.monaco-dropdown-with-primary {
	display: flex !important;
	flex-direction: row;
	border-radius: 5px;
}

.monaco-dropdown-with-primary > .action-container > .action-label {
	margin-right: 0;
}

.monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*='codicon-'] {
	font-size: 12px;
	padding-left: 0px;
	padding-right: 0px;
	line-height: 16px;
	margin-left: -3px;
}

.monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label {
	display: block;
	background-size: 16px;
	background-position: center center;
	background-repeat: no-repeat;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-action-bar .action-item.menu-entry .action-label.icon {
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: 16px;
}

.monaco-dropdown-with-default {
	display: flex !important;
	flex-direction: row;
	border-radius: 5px;
}

.monaco-dropdown-with-default > .action-container > .action-label {
	margin-right: 0;
}

.monaco-dropdown-with-default > .action-container.menu-entry > .action-label.icon {
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: 16px;
}

.monaco-dropdown-with-default:hover {
	background-color: var(--vscode-toolbar-hoverBackground);
}

.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*='codicon-'] {
	font-size: 12px;
	padding-left: 0px;
	padding-right: 0px;
	line-height: 16px;
	margin-left: -3px;
}

.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label {
	display: block;
	background-size: 16px;
	background-position: center center;
	background-repeat: no-repeat;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.quick-input-widget {
	font-size: 13px;
}

.quick-input-widget .monaco-highlighted-label .highlight,
.quick-input-widget .monaco-highlighted-label .highlight {
	color: #0066BF;
}

.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight,
.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight {
	color: #9DDDFF;
}

.vs-dark .quick-input-widget .monaco-highlighted-label .highlight,
.vs-dark .quick-input-widget .monaco-highlighted-label .highlight {
	color: #0097fb;
}

.hc-black .quick-input-widget .monaco-highlighted-label .highlight,
.hc-black .quick-input-widget .monaco-highlighted-label .highlight {
	color: #F38518;
}

.hc-light .quick-input-widget .monaco-highlighted-label .highlight,
.hc-light .quick-input-widget .monaco-highlighted-label .highlight {
	color: #0F4A85;
}

.monaco-keybinding > .monaco-keybinding-key {
	background-color: rgba(221, 221, 221, 0.4);
	border: solid 1px rgba(204, 204, 204, 0.4);
	border-bottom-color: rgba(187, 187, 187, 0.4);
	box-shadow: inset 0 -1px 0 rgba(187, 187, 187, 0.4);
	color: #555;
}

.hc-black .monaco-keybinding > .monaco-keybinding-key {
	background-color: transparent;
	border: solid 1px rgb(111, 195, 223);
	box-shadow: none;
	color: #fff;
}

.hc-light .monaco-keybinding > .monaco-keybinding-key {
	background-color: transparent;
	border: solid 1px #0F4A85;
	box-shadow: none;
	color: #292929;
}

.vs-dark .monaco-keybinding > .monaco-keybinding-key {
	background-color: rgba(128, 128, 128, 0.17);
	border: solid 1px rgba(51, 51, 51, 0.6);
	border-bottom-color: rgba(68, 68, 68, 0.6);
	box-shadow: inset 0 -1px 0 rgba(68, 68, 68, 0.6);
	color: #ccc;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-custom-toggle {
	margin-left: 2px;
	float: left;
	cursor: pointer;
	overflow: hidden;
	width: 20px;
	height: 20px;
	border-radius: 3px;
	border: 1px solid transparent;
	padding: 1px;
	box-sizing:	border-box;
	-moz-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
}

.monaco-custom-toggle:hover {
	background-color: var(--vscode-inputOption-hoverBackground);
}

.hc-black .monaco-custom-toggle:hover,
.hc-light .monaco-custom-toggle:hover {
	border: 1px dashed var(--vscode-focusBorder);
}

.hc-black .monaco-custom-toggle,
.hc-light .monaco-custom-toggle {
	background: none;
}

.hc-black .monaco-custom-toggle:hover,
.hc-light .monaco-custom-toggle:hover {
	background: none;
}

.monaco-custom-toggle.monaco-checkbox {
	height: 18px;
	width: 18px;
	border: 1px solid transparent;
	border-radius: 3px;
	margin-right: 9px;
	margin-left: 0px;
	padding: 0px;
	opacity: 1;
	background-size: 16px !important;
}

.monaco-action-bar .checkbox-action-item {
	display: flex;
	align-items: center;
}

.monaco-action-bar .checkbox-action-item > .monaco-custom-toggle.monaco-checkbox {
	margin-right: 4px;
}

.monaco-action-bar .checkbox-action-item > .checkbox-label {
	font-size: 12px;
}

/* hide check when unchecked */
.monaco-custom-toggle.monaco-checkbox:not(.checked)::before {
	visibility: hidden;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.quick-input-widget {
	position: absolute;
	width: 600px;
	z-index: 2550;
	left: 50%;
	margin-left: -300px;
	-webkit-app-region: no-drag;
	border-radius: 6px;
}

.quick-input-titlebar {
	display: flex;
	align-items: center;
	border-radius: inherit;
}

.quick-input-left-action-bar {
	display: flex;
	margin-left: 4px;
	flex: 1;
}

.quick-input-title {
	padding: 3px 0px;
	text-align: center;
	text-overflow: ellipsis;
	overflow: hidden;
}

.quick-input-right-action-bar {
	display: flex;
	margin-right: 4px;
	flex: 1;
}

.quick-input-right-action-bar > .actions-container {
	justify-content: flex-end;
}

.quick-input-titlebar .monaco-action-bar .action-label.codicon {
	background-position: center;
	background-repeat: no-repeat;
	padding: 2px;
}

.quick-input-description {
	margin: 6px 6px 6px 11px;
}

.quick-input-header .quick-input-description {
	margin: 4px 2px;
	flex: 1;
}

.quick-input-header {
	display: flex;
	padding: 8px 6px 2px 6px;
}

.quick-input-widget.hidden-input .quick-input-header {
	/* reduce margins and paddings when input box hidden */
	padding: 0;
	margin-bottom: 0;
}

.quick-input-and-message {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	min-width: 0;
	position: relative;
}

.quick-input-check-all {
	align-self: center;
	margin: 0;
}

.quick-input-filter {
	flex-grow: 1;
	display: flex;
	position: relative;
}

.quick-input-box {
	flex-grow: 1;
}

.quick-input-widget.show-checkboxes .quick-input-box,
.quick-input-widget.show-checkboxes .quick-input-message {
	margin-left: 5px;
}

.quick-input-visible-count {
	position: absolute;
	left: -10000px;
}

.quick-input-count {
	align-self: center;
	position: absolute;
	right: 4px;
	display: flex;
	align-items: center;
}

.quick-input-count .monaco-count-badge {
	vertical-align: middle;
	padding: 2px 4px;
	border-radius: 2px;
	min-height: auto;
	line-height: normal;
}

.quick-input-action {
	margin-left: 6px;
}

.quick-input-action .monaco-text-button {
	font-size: 11px;
	padding: 0 6px;
	display: flex;
	height: 25px;
	align-items: center;
}

.quick-input-message {
	margin-top: -1px;
	padding: 5px;
	overflow-wrap: break-word;
}

.quick-input-message > .codicon {
	margin: 0 0.2em;
	vertical-align: text-bottom;
}

/* Links in descriptions & validations */
.quick-input-message a {
	color: inherit;
}

.quick-input-progress.monaco-progress-container {
	position: relative;
}

.quick-input-list {
	line-height: 22px;
}

.quick-input-widget.hidden-input .quick-input-list {
	margin-top: 4px; /* reduce margins when input box hidden */
	padding-bottom: 4px;
}

.quick-input-list .monaco-list {
	overflow: hidden;
	max-height: calc(20 * 22px);
	padding-bottom: 5px;
}

.quick-input-list .monaco-scrollable-element {
	padding: 0px 5px;
}

.quick-input-list .quick-input-list-entry {
	box-sizing: border-box;
	overflow: hidden;
	display: flex;
	height: 100%;
	padding: 0 6px;
}

.quick-input-list .quick-input-list-entry.quick-input-list-separator-border {
	border-top-width: 1px;
	border-top-style: solid;
}

.quick-input-list .monaco-list-row {
	border-radius: 3px;
}

.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border {
	border-top-style: none;
}

.quick-input-list .quick-input-list-label {
	overflow: hidden;
	display: flex;
	height: 100%;
	flex: 1;
}

.quick-input-list .quick-input-list-checkbox {
	align-self: center;
	margin: 0;
}

.quick-input-list .quick-input-list-icon {
	background-size: 16px;
	background-position: left center;
	background-repeat: no-repeat;
	padding-right: 6px;
	width: 16px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.quick-input-list .quick-input-list-rows {
	overflow: hidden;
	text-overflow: ellipsis;
	display: flex;
	flex-direction: column;
	height: 100%;
	flex: 1;
	margin-left: 5px;
}

.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows {
	margin-left: 10px;
}

.quick-input-widget .quick-input-list .quick-input-list-checkbox {
	display: none;
}
.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox {
	display: inline;
}

.quick-input-list .quick-input-list-rows > .quick-input-list-row {
	display: flex;
	align-items: center;
}

.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label,
.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label .monaco-icon-label-container > .monaco-icon-name-container {
	flex: 1; /* make sure the icon label grows within the row */
}

.quick-input-list .quick-input-list-rows > .quick-input-list-row .codicon[class*='codicon-'] {
	vertical-align: text-bottom;
}

.quick-input-list .quick-input-list-rows .monaco-highlighted-label > span {
	opacity: 1;
}

.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding {
	margin-right: 8px; /* separate from the separator label or scrollbar if any */
}

.quick-input-list .quick-input-list-label-meta {
	opacity: 0.7;
	line-height: normal;
	text-overflow: ellipsis;
	overflow: hidden;
}

/* preserve list-like styling instead of tree-like styling */
.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight {
	font-weight: bold;
	background-color: unset;
	color: var(--vscode-list-highlightForeground) !important;
}

/* preserve list-like styling instead of tree-like styling */
.quick-input-list .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight {
	color: var(--vscode-list-focusHighlightForeground) !important;
}

.quick-input-list .quick-input-list-entry .quick-input-list-separator {
	margin-right: 4px; /* separate from keybindings or actions */
}

.quick-input-list .quick-input-list-entry-action-bar {
	display: flex;
	flex: 0;
	overflow: visible;
}

.quick-input-list .quick-input-list-entry-action-bar .action-label {
	/*
	 * By default, actions in the quick input action bar are hidden
	 * until hovered over them or selected.
	 */
	display: none;
}

.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon {
	margin-right: 4px;
	padding: 0px 2px 2px 2px;
}

.quick-input-list .quick-input-list-entry-action-bar {
	margin-top: 1px;
	margin-right: 4px; /* separate from scrollbar */
}

.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,
.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,
.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,
.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,
.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .action-label {
	display: flex;
}

/* focused items in quick pick */
.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,
.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator {
	color: inherit
}
.quick-input-list .monaco-list-row.focused .monaco-keybinding-key {
	background: none;
}

.quick-input-list .quick-input-list-separator-as-item {
	padding: 4px 6px;
	font-size: 12px;
}

/* Quick input separators as full-row item */
.quick-input-list .quick-input-list-separator-as-item .label-name {
	font-weight: 600;
}

.quick-input-list .quick-input-list-separator-as-item .label-description {
	/* Override default description opacity so we don't have a contrast ratio issue. */
	opacity: 1 !important;
}

/* Hide border when the item becomes the sticky one */
.quick-input-list .monaco-tree-sticky-row .quick-input-list-entry.quick-input-list-separator-as-item.quick-input-list-separator-border {
	border-top-style: none;
}

/* Give sticky row the same padding as the scrollable list */
.quick-input-list .monaco-tree-sticky-row {
	padding: 0 5px;
}

/* Hide the twistie containers so that there isn't blank indent */
.quick-input-list .monaco-tl-twistie {
	display: none !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-text-button {
	box-sizing: border-box;
	display: flex;
	width: 100%;
	padding: 4px;
	border-radius: 2px;
	text-align: center;
	cursor: pointer;
	justify-content: center;
	align-items: center;
	border: 1px solid var(--vscode-button-border, transparent);
	line-height: 18px;
}

.monaco-text-button:focus {
	outline-offset: 2px !important;
}

.monaco-text-button:hover {
	text-decoration: none !important;
}

.monaco-button.disabled:focus,
.monaco-button.disabled {
	opacity: 0.4 !important;
	cursor: default;
}

.monaco-text-button .codicon {
	margin: 0 0.2em;
	color: inherit !important;
}

.monaco-text-button.monaco-text-button-with-short-label {
	flex-direction: row;
	flex-wrap: wrap;
	padding: 0 4px;
	overflow: hidden;
	height: 28px;
}

.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label {
	flex-basis: 100%;
}

.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label-short {
	flex-grow: 1;
	width: 0;
	overflow: hidden;
}

.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label,
.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label-short {
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: normal;
	font-style: inherit;
	padding: 4px 0;
}

.monaco-button-dropdown {
	display: flex;
	cursor: pointer;
}

.monaco-button-dropdown.disabled {
	cursor: default;
}

.monaco-button-dropdown > .monaco-button:focus {
	outline-offset: -1px !important;
}

.monaco-button-dropdown.disabled > .monaco-button.disabled,
.monaco-button-dropdown.disabled > .monaco-button.disabled:focus,
.monaco-button-dropdown.disabled > .monaco-button-dropdown-separator {
	opacity: 0.4 !important;
}

.monaco-button-dropdown > .monaco-button.monaco-text-button {
	border-right-width: 0 !important;
}

.monaco-button-dropdown .monaco-button-dropdown-separator {
	padding: 4px 0;
	cursor: default;
}

.monaco-button-dropdown .monaco-button-dropdown-separator > div {
	height: 100%;
	width: 1px;
}

.monaco-button-dropdown > .monaco-button.monaco-dropdown-button {
	border: 1px solid var(--vscode-button-border, transparent);
	border-left-width: 0 !important;
	border-radius: 0 2px 2px 0;
	display: flex;
	align-items: center;
}

.monaco-button-dropdown > .monaco-button.monaco-text-button {
	border-radius: 2px 0 0 2px;
}

.monaco-description-button {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 4px 5px; /* allows button focus outline to be visible */
}

.monaco-description-button .monaco-button-description {
	font-style: italic;
	font-size: 11px;
	padding: 4px 20px;
}

.monaco-description-button .monaco-button-label,
.monaco-description-button .monaco-button-description {
	display: flex;
	justify-content: center;
	align-items: center;
}

.monaco-description-button .monaco-button-label > .codicon,
.monaco-description-button .monaco-button-description > .codicon {
	margin: 0 0.2em;
	color: inherit !important;
}

/* default color styles - based on CSS variables */

.monaco-button.default-colors,
.monaco-button-dropdown.default-colors > .monaco-button{
	color: var(--vscode-button-foreground);
	background-color: var(--vscode-button-background);
}

.monaco-button.default-colors:hover,
.monaco-button-dropdown.default-colors > .monaco-button:hover {
	background-color: var(--vscode-button-hoverBackground);
}

.monaco-button.default-colors.secondary,
.monaco-button-dropdown.default-colors > .monaco-button.secondary {
	color: var(--vscode-button-secondaryForeground);
	background-color: var(--vscode-button-secondaryBackground);
}

.monaco-button.default-colors.secondary:hover,
.monaco-button-dropdown.default-colors > .monaco-button.secondary:hover {
	background-color: var(--vscode-button-secondaryHoverBackground);
}

.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator {
	background-color: var(--vscode-button-background);
	border-top: 1px solid var(--vscode-button-border);
	border-bottom: 1px solid var(--vscode-button-border);
}

.monaco-button-dropdown.default-colors .monaco-button.secondary + .monaco-button-dropdown-separator {
	background-color: var(--vscode-button-secondaryBackground);
}

.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator > div {
	background-color: var(--vscode-button-separator);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-count-badge {
	padding: 3px 6px;
	border-radius: 11px;
	font-size: 11px;
	min-width: 18px;
	min-height: 18px;
	line-height: 11px;
	font-weight: normal;
	text-align: center;
	display: inline-block;
	box-sizing: border-box;
}

.monaco-count-badge.long {
	padding: 2px 3px;
	border-radius: 2px;
	min-height: auto;
	line-height: normal;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-progress-container {
	width: 100%;
	height: 2px;
	overflow: hidden; /* keep progress bit in bounds */
}

.monaco-progress-container .progress-bit {
	width: 2%;
	height: 2px;
	position: absolute;
	left: 0;
	display: none;
}

.monaco-progress-container.active .progress-bit {
	display: inherit;
}

.monaco-progress-container.discrete .progress-bit {
	left: 0;
	transition: width 100ms linear;
}

.monaco-progress-container.discrete.done .progress-bit {
	width: 100%;
}

.monaco-progress-container.infinite .progress-bit {
	animation-name: progress;
	animation-duration: 4s;
	animation-iteration-count: infinite;
	transform: translate3d(0px, 0px, 0px);
	animation-timing-function: linear;
}

.monaco-progress-container.infinite.infinite-long-running .progress-bit {
	/*
		The more smooth `linear` timing function can cause
		higher GPU consumption as indicated in
		https://github.com/microsoft/vscode/issues/97900 &
		https://github.com/microsoft/vscode/issues/138396
	*/
	animation-timing-function: steps(100);
}

/**
 * The progress bit has a width: 2% (1/50) of the parent container. The animation moves it from 0% to 100% of
 * that container. Since translateX is relative to the progress bit size, we have to multiple it with
 * its relative size to the parent container:
 * parent width: 5000%
 *    bit width: 100%
 * translateX should be as follow:
 *  50%: 5000% * 50% - 50% (set to center) = 2450%
 * 100%: 5000% * 100% - 100% (do not overflow) = 4900%
 */
@keyframes progress { from { transform: translateX(0%) scaleX(1) } 50% { transform: translateX(2500%) scaleX(3) } to { transform: translateX(4900%) scaleX(1) } }
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-inputbox {
	position: relative;
	display: block;
	padding: 0;
	box-sizing:	border-box;
	border-radius: 2px;

	/* Customizable */
	font-size: inherit;
}

.monaco-inputbox > .ibwrapper > .input,
.monaco-inputbox > .ibwrapper > .mirror {

	/* Customizable */
	padding: 4px 6px;
}

.monaco-inputbox > .ibwrapper {
	position: relative;
	width: 100%;
	height: 100%;
}

.monaco-inputbox > .ibwrapper > .input {
	display: inline-block;
	box-sizing:	border-box;
	width: 100%;
	height: 100%;
	line-height: inherit;
	border: none;
	font-family: inherit;
	font-size: inherit;
	resize: none;
	color: inherit;
}

.monaco-inputbox > .ibwrapper > input {
	text-overflow: ellipsis;
}

.monaco-inputbox > .ibwrapper > textarea.input {
	display: block;
	scrollbar-width: none; /* Firefox: hide scrollbars */
	outline: none;
}

.monaco-inputbox > .ibwrapper > textarea.input::-webkit-scrollbar {
	display: none; /* Chrome + Safari: hide scrollbar */
}

.monaco-inputbox > .ibwrapper > textarea.input.empty {
	white-space: nowrap;
}

.monaco-inputbox > .ibwrapper > .mirror {
	position: absolute;
	display: inline-block;
	width: 100%;
	top: 0;
	left: 0;
	box-sizing: border-box;
	white-space: pre-wrap;
	visibility: hidden;
	word-wrap: break-word;
}

/* Context view */

.monaco-inputbox-container {
	text-align: right;
}

.monaco-inputbox-container .monaco-inputbox-message {
	display: inline-block;
	overflow: hidden;
	text-align: left;
	width: 100%;
	box-sizing:	border-box;
	padding: 0.4em;
	font-size: 12px;
	line-height: 17px;
	margin-top: -1px;
	word-wrap: break-word;
}

/* Action bar support */
.monaco-inputbox .monaco-action-bar {
	position: absolute;
	right: 2px;
	top: 4px;
}

.monaco-inputbox .monaco-action-bar .action-item {
	margin-left: 2px;
}

.monaco-inputbox .monaco-action-bar .action-item .codicon {
	background-repeat: no-repeat;
	width: 16px;
	height: 16px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
/* ---------- Find input ---------- */

.monaco-findInput {
	position: relative;
}

.monaco-findInput .monaco-inputbox {
	font-size: 13px;
	width: 100%;
}

.monaco-findInput > .controls {
	position: absolute;
	top: 3px;
	right: 2px;
}

.vs .monaco-findInput.disabled {
	background-color: #E1E1E1;
}

/* Theming */
.vs-dark .monaco-findInput.disabled {
	background-color: #333;
}

/* Highlighting */
.monaco-findInput.highlight-0 .controls,
.hc-light .monaco-findInput.highlight-0 .controls {
	animation: monaco-findInput-highlight-0 100ms linear 0s;
}

.monaco-findInput.highlight-1 .controls,
.hc-light .monaco-findInput.highlight-1 .controls {
	animation: monaco-findInput-highlight-1 100ms linear 0s;
}

.hc-black .monaco-findInput.highlight-0 .controls,
.vs-dark  .monaco-findInput.highlight-0 .controls {
	animation: monaco-findInput-highlight-dark-0 100ms linear 0s;
}

.hc-black .monaco-findInput.highlight-1 .controls,
.vs-dark  .monaco-findInput.highlight-1 .controls {
	animation: monaco-findInput-highlight-dark-1 100ms linear 0s;
}

@keyframes monaco-findInput-highlight-0 {
	0% { background: rgba(253, 255, 0, 0.8); }
	100% { background: transparent; }
}
@keyframes monaco-findInput-highlight-1 {
	0% { background: rgba(253, 255, 0, 0.8); }
	/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/
	99% { background: transparent; }
}

@keyframes monaco-findInput-highlight-dark-0 {
	0% { background: rgba(255, 255, 255, 0.44); }
	100% { background: transparent; }
}
@keyframes monaco-findInput-highlight-dark-1 {
	0% { background: rgba(255, 255, 255, 0.44); }
	/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/
	99% { background: transparent; }
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

:root {
	--vscode-sash-size: 4px;
	--vscode-sash-hover-size: 4px;
}

.monaco-sash {
	position: absolute;
	z-index: 35;
	touch-action: none;
}

.monaco-sash.disabled {
	pointer-events: none;
}

.monaco-sash.mac.vertical {
	cursor: col-resize;
}

.monaco-sash.vertical.minimum {
	cursor: e-resize;
}

.monaco-sash.vertical.maximum {
	cursor: w-resize;
}

.monaco-sash.mac.horizontal {
	cursor: row-resize;
}

.monaco-sash.horizontal.minimum {
	cursor: s-resize;
}

.monaco-sash.horizontal.maximum {
	cursor: n-resize;
}

.monaco-sash.disabled {
	cursor: default !important;
	pointer-events: none !important;
}

.monaco-sash.vertical {
	cursor: ew-resize;
	top: 0;
	width: var(--vscode-sash-size);
	height: 100%;
}

.monaco-sash.horizontal {
	cursor: ns-resize;
	left: 0;
	width: 100%;
	height: var(--vscode-sash-size);
}

.monaco-sash:not(.disabled) > .orthogonal-drag-handle {
	content: " ";
	height: calc(var(--vscode-sash-size) * 2);
	width: calc(var(--vscode-sash-size) * 2);
	z-index: 100;
	display: block;
	cursor: all-scroll;
	position: absolute;
}

.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)
	> .orthogonal-drag-handle.start,
.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)
	> .orthogonal-drag-handle.end {
	cursor: nwse-resize;
}

.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)
	> .orthogonal-drag-handle.end,
.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)
	> .orthogonal-drag-handle.start {
	cursor: nesw-resize;
}

.monaco-sash.vertical > .orthogonal-drag-handle.start {
	left: calc(var(--vscode-sash-size) * -0.5);
	top: calc(var(--vscode-sash-size) * -1);
}
.monaco-sash.vertical > .orthogonal-drag-handle.end {
	left: calc(var(--vscode-sash-size) * -0.5);
	bottom: calc(var(--vscode-sash-size) * -1);
}
.monaco-sash.horizontal > .orthogonal-drag-handle.start {
	top: calc(var(--vscode-sash-size) * -0.5);
	left: calc(var(--vscode-sash-size) * -1);
}
.monaco-sash.horizontal > .orthogonal-drag-handle.end {
	top: calc(var(--vscode-sash-size) * -0.5);
	right: calc(var(--vscode-sash-size) * -1);
}

.monaco-sash:before {
	content: '';
	pointer-events: none;
	position: absolute;
	width: 100%;
	height: 100%;
	background: transparent;
}

.monaco-workbench:not(.reduce-motion) .monaco-sash:before {
	transition: background-color 0.1s ease-out;
}

.monaco-sash.hover:before,
.monaco-sash.active:before {
	background: var(--vscode-sash-hoverBorder);
}

.monaco-sash.vertical:before {
	width: var(--vscode-sash-hover-size);
	left: calc(50% - (var(--vscode-sash-hover-size) / 2));
}

.monaco-sash.horizontal:before {
	height: var(--vscode-sash-hover-size);
	top: calc(50% - (var(--vscode-sash-hover-size) / 2));
}

.pointer-events-disabled {
	pointer-events: none !important;
}

/** Debug **/

.monaco-sash.debug {
	background: cyan;
}

.monaco-sash.debug.disabled {
	background: rgba(0, 255, 255, 0.2);
}

.monaco-sash.debug:not(.disabled) > .orthogonal-drag-handle {
	background: red;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-split-view2 {
	position: relative;
	width: 100%;
	height: 100%;
}

.monaco-split-view2 > .sash-container {
	position: absolute;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.monaco-split-view2 > .sash-container > .monaco-sash {
	pointer-events: initial;
}

.monaco-split-view2 > .monaco-scrollable-element {
	width: 100%;
	height: 100%;
}

.monaco-split-view2 > .monaco-scrollable-element > .split-view-container {
	width: 100%;
	height: 100%;
	white-space: nowrap;
	position: relative;
}

.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view {
	white-space: initial;
	position: absolute;
}

.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view:not(.visible) {
	display: none;
}

.monaco-split-view2.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view {
	width: 100%;
}

.monaco-split-view2.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view {
	height: 100%;
}

.monaco-split-view2.separator-border > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {
	content: ' ';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	pointer-events: none;
	background-color: var(--separator-border);
}

.monaco-split-view2.separator-border.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {
	height: 100%;
	width: 1px;
}

.monaco-split-view2.separator-border.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {
	height: 1px;
	width: 100%;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-table {
	display: flex;
	flex-direction: column;
	position: relative;
	height: 100%;
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
}

.monaco-table > .monaco-split-view2 {
	border-bottom: 1px solid transparent;
}

.monaco-table > .monaco-list {
	flex: 1;
}

.monaco-table-tr {
	display: flex;
	height: 100%;
}

.monaco-table-th {
	width: 100%;
	height: 100%;
	font-weight: bold;
	overflow: hidden;
	text-overflow: ellipsis;
}

.monaco-table-th,
.monaco-table-td {
	box-sizing: border-box;
	flex-shrink: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {
	content: "";
	position: absolute;
	left: calc(var(--vscode-sash-size) / 2);
	width: 0;
	border-left: 1px solid transparent;
}

.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,
.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {
	transition: border-color 0.2s ease-out;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-tl-row {
	display: flex;
	height: 100%;
	align-items: center;
	position: relative;
}

.monaco-tl-row.disabled {
	cursor: default;
}
.monaco-tl-indent {
	height: 100%;
	position: absolute;
	top: 0;
	left: 16px;
	pointer-events: none;
}

.hide-arrows .monaco-tl-indent {
	left: 12px;
}

.monaco-tl-indent > .indent-guide {
	display: inline-block;
	box-sizing: border-box;
	height: 100%;
	border-left: 1px solid transparent;
}

.monaco-workbench:not(.reduce-motion) .monaco-tl-indent > .indent-guide {
	transition: border-color 0.1s linear;
}

.monaco-tl-twistie,
.monaco-tl-contents {
	height: 100%;
}

.monaco-tl-twistie {
	font-size: 10px;
	text-align: right;
	padding-right: 6px;
	flex-shrink: 0;
	width: 16px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	transform: translateX(3px);
}

.monaco-tl-contents {
	flex: 1;
	overflow: hidden;
}

.monaco-tl-twistie::before {
	border-radius: 20px;
}

.monaco-tl-twistie.collapsed::before {
	transform: rotate(-90deg);
}

.monaco-tl-twistie.codicon-tree-item-loading::before {
	/* Use steps to throttle FPS to reduce CPU usage */
	animation: codicon-spin 1.25s steps(30) infinite;
}

.monaco-tree-type-filter {
	position: absolute;
	top: 0;
	display: flex;
	padding: 3px;
	max-width: 200px;
	z-index: 100;
	margin: 0 6px;
	border: 1px solid var(--vscode-widget-border);
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
}

.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter {
	transition: top 0.3s;
}

.monaco-tree-type-filter.disabled {
	top: -40px !important;
}

.monaco-tree-type-filter-grab {
	display: flex !important;
	align-items: center;
	justify-content: center;
	cursor: grab;
	margin-right: 2px;
}

.monaco-tree-type-filter-grab.grabbing {
	cursor: grabbing;
}

.monaco-tree-type-filter-input {
	flex: 1;
}

.monaco-tree-type-filter-input .monaco-inputbox {
	height: 23px;
}

.monaco-tree-type-filter-input .monaco-inputbox > .ibwrapper > .input,
.monaco-tree-type-filter-input .monaco-inputbox > .ibwrapper > .mirror {
	padding: 2px 4px;
}

.monaco-tree-type-filter-input .monaco-findInput > .controls {
	top: 2px;
}

.monaco-tree-type-filter-actionbar {
	margin-left: 4px;
}

.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label {
	padding: 2px;
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	z-index: 13; /* Settings editor uses z-index: 12 */

	/* Backup color in case the tree does not provide the background color */
	background-color: var(--vscode-sideBar-background);
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{
	position: absolute;
	width: 100%;
	opacity: 1 !important; /* Settings editor uses opacity < 1 */
	overflow: hidden;

	/* Backup color in case the tree does not provide the background color */
	background-color: var(--vscode-sideBar-background);
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{
	background-color: var(--vscode-list-hoverBackground) !important;
	cursor: pointer;
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,
.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow {
	display: none;
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow {
	position: absolute;
	bottom: -3px;
	left: 0px;
	height: 0px; /* heigt is 3px and only set when there is a treeStickyScrollShadow color */
	width: 100%;
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{
	outline: none;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* ---------- Icon label ---------- */

.monaco-icon-label {
	display: flex; /* required for icons support :before rule */
	overflow: hidden;
	text-overflow: ellipsis;
}

.monaco-icon-label::before {

	/* svg icons rendered as background image */
	background-size: 16px;
	background-position: left center;
	background-repeat: no-repeat;
	padding-right: 6px;
	width: 16px;
	height: 22px;
	line-height: inherit !important;
	display: inline-block;

	/* fonts icons */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	vertical-align: top;

	flex-shrink: 0; /* fix for https://github.com/microsoft/vscode/issues/13787 */
}

.monaco-icon-label-iconpath {
	width: 16px;
	height: 16px;
	padding-left: 2px;
	margin-top: 2px;
	display: flex;
}

.monaco-icon-label-container.disabled {
	color: var(--vscode-disabledForeground);
}
.monaco-icon-label > .monaco-icon-label-container {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	flex: 1;
}

.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name {
	color: inherit;
	white-space: pre; /* enable to show labels that include multiple whitespaces */
}

.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name > .label-separator {
	margin: 0 2px;
	opacity: 0.5;
}

.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-suffix-container > .label-suffix {
	opacity: .7;
	white-space: pre;
}

.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
	opacity: .7;
	margin-left: 0.5em;
	font-size: 0.9em;
	white-space: pre; /* enable to show labels that include multiple whitespaces */
}

.monaco-icon-label.nowrap > .monaco-icon-label-container > .monaco-icon-description-container > .label-description{
	white-space: nowrap
}

.vs .monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
	opacity: .95;
}

.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,
.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
	font-style: italic;
}

.monaco-icon-label.deprecated {
	text-decoration: line-through;
	opacity: 0.66;
}

/* make sure apply italic font style to decorations as well */
.monaco-icon-label.italic::after {
	font-style: italic;
}

.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,
.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
	text-decoration: line-through;
}

.monaco-icon-label::after {
	opacity: 0.75;
	font-size: 90%;
	font-weight: 600;
	margin: auto 16px 0 5px; /* https://github.com/microsoft/vscode/issues/113223 */
	text-align: center;
}

/* make sure selection color wins when a label is being selected */
.monaco-list:focus .selected .monaco-icon-label, /* list */
.monaco-list:focus .selected .monaco-icon-label::after
{
	color: inherit !important;
}

.monaco-list-row.focused.selected .label-description,
.monaco-list-row.selected .label-description {
	opacity: .8;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-keybinding {
	display: flex;
	align-items: center;
	line-height: 10px;
}

.monaco-keybinding > .monaco-keybinding-key {
	display: inline-block;
	border-style: solid;
	border-width: 1px;
	border-radius: 3px;
	vertical-align: middle;
	font-size: 11px;
	padding: 3px 5px;
	margin: 0 2px;
}

.monaco-keybinding > .monaco-keybinding-key:first-child {
	margin-left: 0;
}

.monaco-keybinding > .monaco-keybinding-key:last-child {
	margin-right: 0;
}

.monaco-keybinding > .monaco-keybinding-key-separator {
	display: inline-block;
}

.monaco-keybinding > .monaco-keybinding-key-chord-separator {
	width: 6px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .diff-hidden-lines-widget {
	width: 100%;
}

.monaco-editor .diff-hidden-lines {
	height: 0px; /* The children each have a fixed height, the transform confuses the browser */
	transform: translate(0px, -10px);
	font-size: 13px;
	line-height: 14px;
}

.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,
.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,
.monaco-editor .diff-hidden-lines .top.dragging,
.monaco-editor .diff-hidden-lines .bottom.dragging {
	background-color: var(--vscode-focusBorder);
}

.monaco-editor .diff-hidden-lines .top,
.monaco-editor .diff-hidden-lines .bottom {
	transition: background-color 0.1s ease-out;
	height: 4px;
	background-color: transparent;
	background-clip: padding-box;
	border-bottom: 2px solid transparent;
	border-top: 4px solid transparent;
	/*cursor: n-resize;*/
}

.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,
.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),
.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom) {
	cursor: n-resize !important;
}

.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,
.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,
.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom {
	cursor: s-resize !important;
}

.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,
.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,
.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom {
	cursor: ns-resize !important;
}

.monaco-editor .diff-hidden-lines .top {
	transform: translate(0px, 4px);
}

.monaco-editor .diff-hidden-lines .bottom {
	transform: translate(0px, -6px);
}

.monaco-editor .diff-unchanged-lines {
	background: var(--vscode-diffEditor-unchangedCodeBackground);
}

.monaco-editor .noModificationsOverlay {
	z-index: 1;
	background: var(--vscode-editor-background);

	display: flex;
	justify-content: center;
	align-items: center;
}


.monaco-editor .diff-hidden-lines .center {
	background: var(--vscode-diffEditor-unchangedRegionBackground);
	color: var(--vscode-diffEditor-unchangedRegionForeground);
	overflow: hidden;
	display: block;
	text-overflow: ellipsis;
	white-space: nowrap;

	height: 24px;
	box-shadow: inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow), inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow);
}

.monaco-editor .diff-hidden-lines .center span.codicon {
	vertical-align: middle;
}

.monaco-editor .diff-hidden-lines .center a:hover .codicon {
	cursor: pointer;
	color: var(--vscode-editorLink-activeForeground) !important;
}

.monaco-editor .diff-hidden-lines div.breadcrumb-item {
	cursor: pointer;
}

.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover {
	color: var(--vscode-editorLink-activeForeground);
}

.monaco-editor .movedOriginal {
	border: 2px solid var(--vscode-diffEditor-move-border);
}

.monaco-editor .movedModified {
	border: 2px solid var(--vscode-diffEditor-move-border);
}

.monaco-editor .movedOriginal.currentMove, .monaco-editor .movedModified.currentMove {
	border: 2px solid var(--vscode-diffEditor-moveActive-border);
}

.monaco-diff-editor .moved-blocks-lines path.currentMove {
	stroke: var(--vscode-diffEditor-moveActive-border);
}

.monaco-diff-editor .moved-blocks-lines path {
	pointer-events: visiblestroke;
}

.monaco-diff-editor .moved-blocks-lines .arrow {
	fill: var(--vscode-diffEditor-move-border);
}

.monaco-diff-editor .moved-blocks-lines .arrow.currentMove {
	fill: var(--vscode-diffEditor-moveActive-border);
}

.monaco-diff-editor .moved-blocks-lines .arrow-rectangle {
	fill: var(--vscode-editor-background);
}

.monaco-diff-editor .moved-blocks-lines {
	position: absolute;
	pointer-events: none;
}

.monaco-diff-editor .moved-blocks-lines path {
	fill: none;
	stroke: var(--vscode-diffEditor-move-border);
	stroke-width: 2;
}

.monaco-editor .char-delete.diff-range-empty {
	margin-left: -1px;
	border-left: solid var(--vscode-diffEditor-removedTextBackground) 3px;
}

.monaco-editor .char-insert.diff-range-empty {
	border-left: solid var(--vscode-diffEditor-insertedTextBackground) 3px;
}

.monaco-editor .fold-unchanged {
	cursor: pointer;
}

.monaco-diff-editor .diff-moved-code-block {
	display: flex;
	justify-content: flex-end;
	margin-top: -4px;
}

.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon {
	width: 12px;
	height: 12px;
	font-size: 12px;
}

/* ---------- DiffEditor ---------- */

.monaco-diff-editor .diffOverview {
	z-index: 9;
}

.monaco-diff-editor .diffOverview .diffViewport {
	z-index: 10;
}

/* colors not externalized: using transparancy on background */
.monaco-diff-editor.vs			.diffOverview { background: rgba(0, 0, 0, 0.03); }
.monaco-diff-editor.vs-dark		.diffOverview { background: rgba(255, 255, 255, 0.01); }

.monaco-scrollable-element.modified-in-monaco-diff-editor.vs		.scrollbar { background: rgba(0,0,0,0); }
.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark	.scrollbar { background: rgba(0,0,0,0); }
.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black	.scrollbar { background: none; }
.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light	.scrollbar { background: none; }

.monaco-scrollable-element.modified-in-monaco-diff-editor .slider {
	z-index: 10;
}
.modified-in-monaco-diff-editor				.slider.active { background: rgba(171, 171, 171, .4); }
.modified-in-monaco-diff-editor.hc-black	.slider.active { background: none; }
.modified-in-monaco-diff-editor.hc-light	.slider.active { background: none; }

/* ---------- Diff ---------- */

.monaco-editor .insert-sign,
.monaco-diff-editor .insert-sign,
.monaco-editor .delete-sign,
.monaco-diff-editor .delete-sign {
	font-size: 11px !important;
	opacity: 0.7 !important;
	display: flex !important;
	align-items: center;
}
.monaco-editor.hc-black .insert-sign,
.monaco-diff-editor.hc-black .insert-sign,
.monaco-editor.hc-black .delete-sign,
.monaco-diff-editor.hc-black .delete-sign,
.monaco-editor.hc-light .insert-sign,
.monaco-diff-editor.hc-light .insert-sign,
.monaco-editor.hc-light .delete-sign,
.monaco-diff-editor.hc-light .delete-sign {
	opacity: 1;
}

.monaco-editor .inline-deleted-margin-view-zone {
	text-align: right;
}
.monaco-editor .inline-added-margin-view-zone {
	text-align: right;
}

.monaco-editor .arrow-revert-change {
	z-index: 10;
	position: absolute;
}

.monaco-editor .arrow-revert-change:hover {
	cursor: pointer;
}

/* ---------- Inline Diff ---------- */

.monaco-editor .view-zones .view-lines .view-line span {
	display: inline-block;
}

.monaco-editor .margin-view-zones .lightbulb-glyph:hover {
	cursor: pointer;
}

.monaco-editor .char-insert, .monaco-diff-editor .char-insert {
	background-color: var(--vscode-diffEditor-insertedTextBackground);
}

.monaco-editor .line-insert, .monaco-diff-editor .line-insert {
	background-color: var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground));
}

.monaco-editor .line-insert,
.monaco-editor .char-insert {
	box-sizing: border-box;
	border: 1px solid var(--vscode-diffEditor-insertedTextBorder);
}
.monaco-editor.hc-black .line-insert, .monaco-editor.hc-light .line-insert,
.monaco-editor.hc-black .char-insert, .monaco-editor.hc-light .char-insert {
	border-style: dashed;
}

.monaco-editor .line-delete,
.monaco-editor .char-delete {
	box-sizing: border-box;
	border: 1px solid var(--vscode-diffEditor-removedTextBorder);
}
.monaco-editor.hc-black .line-delete, .monaco-editor.hc-light .line-delete,
.monaco-editor.hc-black .char-delete, .monaco-editor.hc-light .char-delete {
	border-style: dashed;
}

.monaco-editor .inline-added-margin-view-zone,
.monaco-editor .gutter-insert, .monaco-diff-editor .gutter-insert {
	background-color: var(--vscode-diffEditorGutter-insertedLineBackground, var(--vscode-diffEditor-insertedLineBackground), var(--vscode-diffEditor-insertedTextBackground));
}

.monaco-editor .char-delete, .monaco-diff-editor .char-delete {
	background-color: var(--vscode-diffEditor-removedTextBackground);
}

.monaco-editor .line-delete, .monaco-diff-editor .line-delete {
	background-color: var(--vscode-diffEditor-removedLineBackground, var(--vscode-diffEditor-removedTextBackground));
}

.monaco-editor .inline-deleted-margin-view-zone,
.monaco-editor .gutter-delete, .monaco-diff-editor .gutter-delete {
	background-color: var(--vscode-diffEditorGutter-removedLineBackground, var(--vscode-diffEditor-removedLineBackground), var(--vscode-diffEditor-removedTextBackground));
}

.monaco-diff-editor.side-by-side .editor.modified {
	box-shadow: -6px 0 5px -5px var(--vscode-scrollbar-shadow);
	border-left: 1px solid var(--vscode-diffEditor-border);
}

.monaco-diff-editor.side-by-side .editor.original {
	box-shadow: 6px 0 5px -5px var(--vscode-scrollbar-shadow);
	border-right: 1px solid var(--vscode-diffEditor-border);
}

.monaco-diff-editor .diffViewport {
	background: var(--vscode-scrollbarSlider-background);
}

.monaco-diff-editor .diffViewport:hover {
	background: var(--vscode-scrollbarSlider-hoverBackground);
}

.monaco-diff-editor .diffViewport:active {
	background: var(--vscode-scrollbarSlider-activeBackground);
}

.monaco-editor .diagonal-fill {
	background-image: linear-gradient(
		-45deg,
		var(--vscode-diffEditor-diagonalFill) 12.5%,
		#0000 12.5%, #0000 50%,
		var(--vscode-diffEditor-diagonalFill) 50%, var(--vscode-diffEditor-diagonalFill) 62.5%,
		#0000 62.5%, #0000 100%
	);
	background-size: 8px 8px;
}

.monaco-diff-editor .gutter {
	position: relative;
	overflow: hidden;
	flex-shrink: 0;
	flex-grow: 0;

	& > div {
		position: absolute;
	}

	.gutterItem {
		opacity: 0;
		transition: opacity 0.7s;

		&.showAlways {
			opacity: 1;
			transition: none;
		}

		&.noTransition {
			transition: none;
		}
	}

	&:hover .gutterItem {
		opacity: 1;
		transition: opacity 0.1s ease-in-out;
	}

	.gutterItem {
		.background {
			position: absolute;
			height: 100%;
			left: 50%;
			width: 1px;

			border-left: 2px var(--vscode-menu-border) solid;
		}

		.buttons {
			position: absolute;
			/*height: 100%;*/
			width: 100%;

			display: flex;
			justify-content: center;
			align-items: center;

			.monaco-toolbar {
				height: -moz-fit-content;
				height: fit-content;
				.monaco-action-bar  {
					line-height: 1;

					.actions-container {
						width: -moz-fit-content;
						width: fit-content;
						border-radius: 4px;
						background: var(--vscode-editorGutter-commentRangeForeground);

						.action-item {
							&:hover {
								background: var(--vscode-toolbar-hoverBackground);
							}

							.action-label {
								padding: 1px 2px;
							}
						}
					}
				}
			}
		}
	}
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-component.diff-review {
	-moz-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
	z-index: 99;
}

.monaco-diff-editor .diff-review {
	position: absolute;

}

.monaco-component.diff-review .diff-review-line-number {
	text-align: right;
	display: inline-block;
	color: var(--vscode-editorLineNumber-foreground);
}

.monaco-component.diff-review .diff-review-summary {
	padding-left: 10px;
}

.monaco-component.diff-review .diff-review-shadow {
	position: absolute;
	box-shadow: var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset;
}

.monaco-component.diff-review .diff-review-row {
	white-space: pre;
}

.monaco-component.diff-review .diff-review-table {
	display: table;
	min-width: 100%;
}

.monaco-component.diff-review .diff-review-row {
	display: table-row;
	width: 100%;
}

.monaco-component.diff-review .diff-review-spacer {
	display: inline-block;
	width: 10px;
	vertical-align: middle;
}

.monaco-component.diff-review .diff-review-spacer > .codicon {
	font-size: 9px !important;
}

.monaco-component.diff-review .diff-review-actions {
	display: inline-block;
	position: absolute;
	right: 10px;
	top: 2px;
	z-index: 100;
}

.monaco-component.diff-review .diff-review-actions .action-label {
	width: 16px;
	height: 16px;
	margin: 2px 0;
}

.monaco-component.diff-review .revertButton {
	cursor: pointer;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-toolbar {
	height: 100%;
}

.monaco-toolbar .toolbar-toggle-more {
	display: inline-block;
	padding: 0;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-component.multiDiffEditor {
	background: var(--vscode-multiDiffEditor-background);

	position: relative;

	height: 100%;
	width: 100%;

	overflow-y: hidden;

	> div {
		position: absolute;
		top: 0px;
		left: 0px;

		height: 100%;
		width: 100%;

		&.placeholder {
			visibility: hidden;

			&.visible {
				visibility: visible;
			}

			display: grid;
			place-items: center;
			place-content: center;
		}
	}

	.active {
		--vscode-multiDiffEditor-border: var(--vscode-focusBorder);
	}

	.multiDiffEntry {
		display: flex;
		flex-direction: column;
		flex: 1;
		overflow: hidden;


		.collapse-button {
			margin: 0 5px;
			cursor: pointer;

			a {
				display: block;
			}
		}

		.header {
			z-index: 1000;
			background: var(--vscode-editor-background);

			&:not(.collapsed) .header-content {
				border-bottom: 1px solid var(--vscode-sideBarSectionHeader-border);
			}

			.header-content {
				margin: 8px 0px 0px 0px;
				padding: 4px 5px;

				border-top: 1px solid var(--vscode-multiDiffEditor-border);

				display: flex;
				align-items: center;

				color: var(--vscode-foreground);
				background: var(--vscode-multiDiffEditor-headerBackground);

				&.shadow {
					box-shadow: var(--vscode-scrollbar-shadow) 0px 6px 6px -6px;
				}

				.file-path {
					display: flex;
					flex: 1;
					min-width: 0;

					.title {
						font-size: 14px;
						line-height: 22px;

						&.original {
							flex: 1;
							min-width: 0;
							text-overflow: ellipsis;
						}
					}

					.status {
						font-weight: 600;
						opacity: 0.75;
						margin: 0px 10px;
						line-height: 22px;

						/*
							TODO@hediet: move colors from git extension to core!
						&.renamed {
							color: v ar(--vscode-gitDecoration-renamedResourceForeground);
						}

						&.deleted {
							color: v ar(--vscode-gitDecoration-deletedResourceForeground);
						}

						&.added {
							color: v ar(--vscode-gitDecoration-addedResourceForeground);
						}
						*/
					}
				}

				.actions {
					padding: 0 8px;
				}
			}


		}

		.editorParent {
			flex: 1;
			display: flex;
			flex-direction: column;

			border-bottom: 1px solid var(--vscode-multiDiffEditor-border);
			overflow: hidden;
		}

		.editorContainer {
			flex: 1;
		}
	}
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .selection-anchor {
	background-color: #007ACC;
	width: 2px !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .bracket-match {
	box-sizing: border-box;
	background-color: var(--vscode-editorBracketMatch-background);
	border: 1px solid var(--vscode-editorBracketMatch-border);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.inline-editor-progress-decoration {
	display: inline-block;
	width: 1em;
	height: 1em;
}

.inline-progress-widget  {
	display: flex !important;
	justify-content: center;
	align-items: center;
}

.inline-progress-widget .icon {
	font-size: 80% !important;
}

.inline-progress-widget:hover .icon {
	font-size: 90% !important;
	animation: none;
}

.inline-progress-widget:hover .icon::before {
	content: var(--vscode-icon-x-content);
	font-family: var(--vscode-icon-x-font-family);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .monaco-editor-overlaymessage {
	padding-bottom: 8px;
	z-index: 10000;
}

.monaco-editor .monaco-editor-overlaymessage.below {
	padding-bottom: 0;
	padding-top: 8px;
	z-index: 10000;
}

@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
.monaco-editor .monaco-editor-overlaymessage.fadeIn {
	animation: fadeIn 150ms ease-out;
}

@keyframes fadeOut {
	from { opacity: 1; }
	to { opacity: 0; }
}
.monaco-editor .monaco-editor-overlaymessage.fadeOut {
	animation: fadeOut 100ms ease-out;
}

.monaco-editor .monaco-editor-overlaymessage .message {
	padding: 2px 4px;
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-inputValidation-infoBorder);
	border-radius: 3px;
}

.monaco-editor .monaco-editor-overlaymessage .message p {
	margin-block: 0px;
}

.monaco-editor .monaco-editor-overlaymessage .message a {
	color: var(--vscode-textLink-foreground);
}

.monaco-editor .monaco-editor-overlaymessage .message a:hover {
	color: var(--vscode-textLink-activeForeground);
}

.monaco-editor.hc-black .monaco-editor-overlaymessage .message,
.monaco-editor.hc-light .monaco-editor-overlaymessage .message {
	border-width: 2px;
}

.monaco-editor .monaco-editor-overlaymessage .anchor {
	width: 0 !important;
	height: 0 !important;
	border-color: transparent;
	border-style: solid;
	z-index: 1000;
	border-width: 8px;
	position: absolute;
	left: 2px;
}

.monaco-editor .monaco-editor-overlaymessage .anchor.top {
	border-bottom-color: var(--vscode-inputValidation-infoBorder);
}

.monaco-editor .monaco-editor-overlaymessage .anchor.below {
	border-top-color: var(--vscode-inputValidation-infoBorder);
}

.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,
.monaco-editor .monaco-editor-overlaymessage.below .anchor.below {
	display: none;
}

.monaco-editor .monaco-editor-overlaymessage.below .anchor.top {
	display: inherit;
	top: -8px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.post-edit-widget {
	box-shadow: 0 0 8px 2px var(--vscode-widget-shadow);
	border: 1px solid var(--vscode-widget-border, transparent);
	border-radius: 4px;
	background-color: var(--vscode-editorWidget-background);
	overflow: hidden;
}

.post-edit-widget .monaco-button {
	padding: 2px;
	border: none;
	border-radius: 0;
}

.post-edit-widget .monaco-button:hover {
	background-color: var(--vscode-button-secondaryHoverBackground) !important;
}

.post-edit-widget .monaco-button .codicon {
	margin: 0;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

@font-face {
	font-family: "codicon";
	font-display: block;
	src: url(./codicon-DCmgc-ay.ttf) format("truetype");
}

.codicon[class*='codicon-'] {
	font: normal normal normal 16px/1 codicon;
	display: inline-block;
	text-decoration: none;
	text-rendering: auto;
	text-align: center;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-moz-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
}

/* icon rules are dynamically created by the platform theme service (see iconsStyleSheet.ts) */
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.codicon-wrench-subaction {
	opacity: 0.5;
}

@keyframes codicon-spin {
	100% {
		transform:rotate(360deg);
	}
}

.codicon-sync.codicon-modifier-spin,
.codicon-loading.codicon-modifier-spin,
.codicon-gear.codicon-modifier-spin,
.codicon-notebook-state-executing.codicon-modifier-spin {
	/* Use steps to throttle FPS to reduce CPU usage */
	animation: codicon-spin 1.5s steps(30) infinite;
}

.codicon-modifier-disabled {
	opacity: 0.4;
}

/* custom speed & easing for loading icon */
.codicon-loading,
.codicon-tree-item-loading::before {
	animation-duration: 1s !important;
	animation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .codicon.codicon-symbol-array,
.monaco-workbench .codicon.codicon-symbol-array { color: var(--vscode-symbolIcon-arrayForeground); }
.monaco-editor .codicon.codicon-symbol-boolean,
.monaco-workbench .codicon.codicon-symbol-boolean { color: var(--vscode-symbolIcon-booleanForeground); }
.monaco-editor .codicon.codicon-symbol-class,
.monaco-workbench .codicon.codicon-symbol-class { color: var(--vscode-symbolIcon-classForeground); }
.monaco-editor .codicon.codicon-symbol-method,
.monaco-workbench .codicon.codicon-symbol-method { color: var(--vscode-symbolIcon-methodForeground); }
.monaco-editor .codicon.codicon-symbol-color,
.monaco-workbench .codicon.codicon-symbol-color { color: var(--vscode-symbolIcon-colorForeground); }
.monaco-editor .codicon.codicon-symbol-constant,
.monaco-workbench .codicon.codicon-symbol-constant { color: var(--vscode-symbolIcon-constantForeground); }
.monaco-editor .codicon.codicon-symbol-constructor,
.monaco-workbench .codicon.codicon-symbol-constructor { color: var(--vscode-symbolIcon-constructorForeground); }
.monaco-editor .codicon.codicon-symbol-value,
.monaco-workbench .codicon.codicon-symbol-value,
.monaco-editor .codicon.codicon-symbol-enum,
.monaco-workbench .codicon.codicon-symbol-enum { color: var(--vscode-symbolIcon-enumeratorForeground); }
.monaco-editor .codicon.codicon-symbol-enum-member,
.monaco-workbench .codicon.codicon-symbol-enum-member { color: var(--vscode-symbolIcon-enumeratorMemberForeground); }
.monaco-editor .codicon.codicon-symbol-event,
.monaco-workbench .codicon.codicon-symbol-event { color: var(--vscode-symbolIcon-eventForeground); }
.monaco-editor .codicon.codicon-symbol-field,
.monaco-workbench .codicon.codicon-symbol-field { color: var(--vscode-symbolIcon-fieldForeground); }
.monaco-editor .codicon.codicon-symbol-file,
.monaco-workbench .codicon.codicon-symbol-file { color: var(--vscode-symbolIcon-fileForeground); }
.monaco-editor .codicon.codicon-symbol-folder,
.monaco-workbench .codicon.codicon-symbol-folder { color: var(--vscode-symbolIcon-folderForeground); }
.monaco-editor .codicon.codicon-symbol-function,
.monaco-workbench .codicon.codicon-symbol-function { color: var(--vscode-symbolIcon-functionForeground); }
.monaco-editor .codicon.codicon-symbol-interface,
.monaco-workbench .codicon.codicon-symbol-interface { color: var(--vscode-symbolIcon-interfaceForeground); }
.monaco-editor .codicon.codicon-symbol-key,
.monaco-workbench .codicon.codicon-symbol-key { color: var(--vscode-symbolIcon-keyForeground); }
.monaco-editor .codicon.codicon-symbol-keyword,
.monaco-workbench .codicon.codicon-symbol-keyword { color: var(--vscode-symbolIcon-keywordForeground); }
.monaco-editor .codicon.codicon-symbol-module,
.monaco-workbench .codicon.codicon-symbol-module { color: var(--vscode-symbolIcon-moduleForeground); }
.monaco-editor .codicon.codicon-symbol-namespace,
.monaco-workbench .codicon.codicon-symbol-namespace { color: var(--vscode-symbolIcon-namespaceForeground); }
.monaco-editor .codicon.codicon-symbol-null,
.monaco-workbench .codicon.codicon-symbol-null { color: var(--vscode-symbolIcon-nullForeground); }
.monaco-editor .codicon.codicon-symbol-number,
.monaco-workbench .codicon.codicon-symbol-number { color: var(--vscode-symbolIcon-numberForeground); }
.monaco-editor .codicon.codicon-symbol-object,
.monaco-workbench .codicon.codicon-symbol-object { color: var(--vscode-symbolIcon-objectForeground); }
.monaco-editor .codicon.codicon-symbol-operator,
.monaco-workbench .codicon.codicon-symbol-operator { color: var(--vscode-symbolIcon-operatorForeground); }
.monaco-editor .codicon.codicon-symbol-package,
.monaco-workbench .codicon.codicon-symbol-package { color: var(--vscode-symbolIcon-packageForeground); }
.monaco-editor .codicon.codicon-symbol-property,
.monaco-workbench .codicon.codicon-symbol-property { color: var(--vscode-symbolIcon-propertyForeground); }
.monaco-editor .codicon.codicon-symbol-reference,
.monaco-workbench .codicon.codicon-symbol-reference { color: var(--vscode-symbolIcon-referenceForeground); }
.monaco-editor .codicon.codicon-symbol-snippet,
.monaco-workbench .codicon.codicon-symbol-snippet { color: var(--vscode-symbolIcon-snippetForeground); }
.monaco-editor .codicon.codicon-symbol-string,
.monaco-workbench .codicon.codicon-symbol-string { color: var(--vscode-symbolIcon-stringForeground); }
.monaco-editor .codicon.codicon-symbol-struct,
.monaco-workbench .codicon.codicon-symbol-struct { color: var(--vscode-symbolIcon-structForeground); }
.monaco-editor .codicon.codicon-symbol-text,
.monaco-workbench .codicon.codicon-symbol-text { color: var(--vscode-symbolIcon-textForeground); }
.monaco-editor .codicon.codicon-symbol-type-parameter,
.monaco-workbench .codicon.codicon-symbol-type-parameter { color: var(--vscode-symbolIcon-typeParameterForeground); }
.monaco-editor .codicon.codicon-symbol-unit,
.monaco-workbench .codicon.codicon-symbol-unit { color: var(--vscode-symbolIcon-unitForeground); }
.monaco-editor .codicon.codicon-symbol-variable,
.monaco-workbench .codicon.codicon-symbol-variable { color: var(--vscode-symbolIcon-variableForeground); }
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .lightBulbWidget {
	display: flex;
	align-items: center;
	justify-content: center;
}

.monaco-editor .lightBulbWidget:hover{
	cursor: pointer;
}

.monaco-editor .lightBulbWidget.codicon-light-bulb,
.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle {
	color: var(--vscode-editorLightBulb-foreground);
}

.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,
.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix {
	color: var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground));
}

.monaco-editor .lightBulbWidget.codicon-sparkle-filled {
	color: var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground));
}

.monaco-editor .lightBulbWidget:before {
	position: relative;
	z-index: 2;
}

.monaco-editor .lightBulbWidget:after {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	opacity: 0.3;
	background-color: var(--vscode-editor-background);
	z-index: 1;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.action-widget {
	font-size: 13px;
	border-radius: 0;
	min-width: 160px;
	max-width: 80vw;
	z-index: 40;
	display: block;
	width: 100%;
	border: 1px solid var(--vscode-editorWidget-border) !important;
	border-radius: 2px;
	background-color: var(--vscode-editorWidget-background);
	color: var(--vscode-editorWidget-foreground);
}

.context-view-block {
	position: fixed;
	cursor: initial;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.context-view-pointerBlock {
	position: fixed;
	cursor: initial;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.action-widget .monaco-list {
	-moz-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
	border: none !important;
	border-width: 0 !important;
}

.action-widget .monaco-list:focus:before {
	outline: 0 !important;
}

.action-widget .monaco-list .monaco-scrollable-element {
	overflow: visible;
}

/** Styles for each row in the list element **/
.action-widget .monaco-list .monaco-list-row {
	padding: 0 10px;
	white-space: nowrap;
	cursor: pointer;
	touch-action: none;
	width: 100%;
}

.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled) {
	background-color: var(--vscode-quickInputList-focusBackground) !important;
	color: var(--vscode-quickInputList-focusForeground);
	outline: 1px solid var(--vscode-menu-selectionBorder, transparent);
	outline-offset: -1px;
}

.action-widget .monaco-list-row.group-header {
	color: var(--vscode-descriptionForeground) !important;
	font-weight: 600;
}

.action-widget .monaco-list .group-header,
.action-widget .monaco-list .option-disabled,
.action-widget .monaco-list .option-disabled:before,
.action-widget .monaco-list .option-disabled .focused,
.action-widget .monaco-list .option-disabled .focused:before {
	cursor: default !important;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	     user-select: none;
	background-color: transparent !important;
	outline: 0 solid !important;
}

.action-widget .monaco-list-row.action {
	display: flex;
	gap: 6px;
	align-items: center;
}

.action-widget .monaco-list-row.action.option-disabled,
.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,
.action-widget .monaco-list-row.action.option-disabled .codicon,
.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled {
	color: var(--vscode-disabledForeground);
}


.action-widget .monaco-list-row.action:not(.option-disabled) .codicon {
	color: inherit;
}

.action-widget .monaco-list-row.action .title {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
}

.action-widget .monaco-list-row.action .monaco-keybinding > .monaco-keybinding-key {
		background-color: var(--vscode-keybindingLabel-background);
		color: var(--vscode-keybindingLabel-foreground);
		border-style: solid;
		border-width: 1px;
		border-radius: 3px;
		border-color: var(--vscode-keybindingLabel-border);
		border-bottom-color: var(--vscode-keybindingLabel-bottomBorder);
		box-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);
}

/* Action bar */

.action-widget .action-widget-action-bar {
	background-color: var(--vscode-editorHoverWidget-statusBarBackground);
	border-top: 1px solid var(--vscode-editorHoverWidget-border);
}

.action-widget .action-widget-action-bar::before {
	display: block;
	content: "";
	width: 100%;
}

.action-widget .action-widget-action-bar .actions-container {
	padding: 0 8px;
}

.action-widget-action-bar .action-label {
	color: var(--vscode-textLink-activeForeground);
	font-size: 12px;
	line-height: 22px;
	padding: 0;
	pointer-events: all;
}

.action-widget-action-bar .action-item {
	margin-right: 16px;
	pointer-events: none;
}

.action-widget-action-bar .action-label:hover {
	background-color: transparent !important;
}

.monaco-action-bar .actions-container.highlight-toggled .action-label.checked {
	/* The important gives this rule precedence over the hover rule. */
	background: var(--vscode-actionBar-toggledBackground) !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .codelens-decoration {
	overflow: hidden;
	display: inline-block;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--vscode-editorCodeLens-foreground);
	line-height: var(--vscode-editorCodeLens-lineHeight);
	font-size: var(--vscode-editorCodeLens-fontSize);
	padding-right: calc(var(--vscode-editorCodeLens-fontSize)*0.5);
	font-feature-settings: var(--vscode-editorCodeLens-fontFeatureSettings);
	font-family: var(--vscode-editorCodeLens-fontFamily), var(--vscode-editorCodeLens-fontFamilyDefault);
}

.monaco-editor .codelens-decoration > span,
.monaco-editor .codelens-decoration > a {
	-moz-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
	white-space: nowrap;
	vertical-align: sub;
}

.monaco-editor .codelens-decoration > a {
	text-decoration: none;
}

.monaco-editor .codelens-decoration > a:hover {
	cursor: pointer;
	color: var(--vscode-editorLink-activeForeground) !important;
}

.monaco-editor .codelens-decoration > a:hover .codicon {
	color: var(--vscode-editorLink-activeForeground) !important;
}

.monaco-editor .codelens-decoration .codicon {
	vertical-align: middle;
	color: currentColor !important;
	color: var(--vscode-editorCodeLens-foreground);
	line-height: var(--vscode-editorCodeLens-lineHeight);
	font-size: var(--vscode-editorCodeLens-fontSize);
}

.monaco-editor .codelens-decoration > a:hover .codicon::before {
	cursor: pointer;
}

@keyframes fadein {
	0% {
		opacity: 0;
		visibility: visible;
	}

	100% {
		opacity: 1;
	}
}

.monaco-editor .codelens-decoration.fadein {
	animation: fadein 0.1s linear;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.colorpicker-widget {
	height: 190px;
	-moz-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
}

/* Decoration */

.colorpicker-color-decoration,
.hc-light .colorpicker-color-decoration {
	border: solid 0.1em #000;
	box-sizing: border-box;
	margin: 0.1em 0.2em 0 0.2em;
	width: 0.8em;
	height: 0.8em;
	line-height: 0.8em;
	display: inline-block;
	cursor: pointer;
}

.hc-black .colorpicker-color-decoration,
.vs-dark .colorpicker-color-decoration {
	border: solid 0.1em #eee;
}

/* Header */

.colorpicker-header {
	display: flex;
	height: 24px;
	position: relative;
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=");
	background-size: 9px 9px;
	image-rendering: pixelated;
}

.colorpicker-header .picked-color {
	width: 240px;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 24px;
	cursor: pointer;
	color: white;
	flex: 1;
	white-space: nowrap;
	overflow: hidden;
}

.colorpicker-header .picked-color .picked-color-presentation {
	white-space: nowrap;
	margin-left: 5px;
	margin-right: 5px;
}

.colorpicker-header .picked-color .codicon {
	color: inherit;
	font-size: 14px;
}

.colorpicker-header .picked-color.light {
	color: black;
}

.colorpicker-header .original-color {
	width: 74px;
	z-index: inherit;
	cursor: pointer;
}

.standalone-colorpicker {
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-editorHoverWidget-border);
}

.colorpicker-header.standalone-colorpicker {
	border-bottom: none;
}

.colorpicker-header .close-button {
	cursor: pointer;
	background-color: var(--vscode-editorHoverWidget-background);
	border-left: 1px solid var(--vscode-editorHoverWidget-border);
}

.colorpicker-header .close-button-inner-div {
	width: 100%;
	height: 100%;
	text-align: center;
}

.colorpicker-header .close-button-inner-div:hover {
	background-color: var(--vscode-toolbar-hoverBackground);
}

.colorpicker-header .close-icon {
	padding: 3px;
}

/* Body */

.colorpicker-body {
	display: flex;
	padding: 8px;
	position: relative;
}

.colorpicker-body .saturation-wrap {
	overflow: hidden;
	height: 150px;
	position: relative;
	min-width: 220px;
	flex: 1;
}

.colorpicker-body .saturation-box {
	height: 150px;
	position: absolute;
}

.colorpicker-body .saturation-selection {
	width: 9px;
	height: 9px;
	margin: -5px 0 0 -5px;
	border: 1px solid rgb(255, 255, 255);
	border-radius: 100%;
	box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.8);
	position: absolute;
}

.colorpicker-body .strip {
	width: 25px;
	height: 150px;
}

.colorpicker-body .standalone-strip {
	width: 25px;
	height: 122px;
}

.colorpicker-body .hue-strip {
	position: relative;
	margin-left: 8px;
	cursor: grab;
	background: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
}

.colorpicker-body .opacity-strip {
	position: relative;
	margin-left: 8px;
	cursor: grab;
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=");
	background-size: 9px 9px;
	image-rendering: pixelated;
}

.colorpicker-body .strip.grabbing {
	cursor: grabbing;
}

.colorpicker-body .slider {
	position: absolute;
	top: 0;
	left: -2px;
	width: calc(100% + 4px);
	height: 4px;
	box-sizing: border-box;
	border: 1px solid rgba(255, 255, 255, 0.71);
	box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.85);
}

.colorpicker-body .strip .overlay {
	height: 150px;
	pointer-events: none;
}

.colorpicker-body .standalone-strip .standalone-overlay {
	height: 122px;
	pointer-events: none;
}

.standalone-colorpicker-body {
	display: block;
	border: 1px solid transparent;
	border-bottom: 1px solid var(--vscode-editorHoverWidget-border);
	overflow: hidden;
}

.colorpicker-body .insert-button {
	position: absolute;
	height: 20px;
	width: 58px;
	padding: 0px;
	right: 8px;
	bottom: 8px;
	background: var(--vscode-button-background);
	color: var(--vscode-button-foreground);
	border-radius: 2px;
	border: none;
	cursor: pointer;
}

.colorpicker-body .insert-button:hover{
	background: var(--vscode-button-hoverBackground);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .inlineSuggestionsHints.withBorder {
	z-index: 39;
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-editorHoverWidget-border);
}

.monaco-editor .inlineSuggestionsHints a {
	color: var(--vscode-foreground);
}

.monaco-editor .inlineSuggestionsHints a:hover {
	color: var(--vscode-foreground);
}

.monaco-editor .inlineSuggestionsHints .keybinding {
	display: flex;
	margin-left: 4px;
	opacity: 0.6;
}

.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key {
	font-size: 8px;
	padding: 2px 3px;
}

.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a {
	display: flex;
	min-width: 19px;
	justify-content: center;
}

.monaco-editor .inlineSuggestionStatusBarItemLabel {
	margin-right: 2px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .peekview-widget .head {
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
}

.monaco-editor .peekview-widget .head .peekview-title {
	display: flex;
	align-items: baseline;
	font-size: 13px;
	margin-left: 20px;
	min-width: 0;
	text-overflow: ellipsis;
	overflow: hidden;
}

.monaco-editor .peekview-widget .head .peekview-title.clickable {
	cursor: pointer;
}

.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty) {
	font-size: 0.9em;
	margin-left: 0.5em;
}

.monaco-editor .peekview-widget .head .peekview-title .meta {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.monaco-editor .peekview-widget .head .peekview-title .dirname {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.monaco-editor .peekview-widget .head .peekview-title .filename {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty)::before {
	content: '-';
	padding: 0 0.3em;
}

.monaco-editor .peekview-widget .head .peekview-actions {
	flex: 1;
	text-align: right;
	padding-right: 2px;
}

.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar {
	display: inline-block;
}

.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar,
.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar > .actions-container {
	height: 100%;
}

.monaco-editor .peekview-widget > .body {
	border-top: 1px solid;
	position: relative;
}

.monaco-editor .peekview-widget .head .peekview-title .codicon {
	margin-right: 4px;
	align-self: center;
}

.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon {
	color: inherit !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .zone-widget {
	position: absolute;
	z-index: 10;
}


.monaco-editor .zone-widget .zone-widget-container {
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-width: 0;
	border-bottom-width: 0;
	position: relative;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* -- zone widget */
.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget {
	border-top-width: 1px;
	border-bottom-width: 1px;
}

.monaco-editor .reference-zone-widget .inline {
	display: inline-block;
	vertical-align: top;
}

.monaco-editor .reference-zone-widget .messages {
	height: 100%;
	width: 100%;
	text-align: center;
	padding: 3em 0;
}

.monaco-editor .reference-zone-widget .ref-tree {
	line-height: 23px;
	background-color: var(--vscode-peekViewResult-background);
	color: var(--vscode-peekViewResult-lineForeground);
}

.monaco-editor .reference-zone-widget .ref-tree .reference {
	text-overflow: ellipsis;
	overflow: hidden;
}

.monaco-editor .reference-zone-widget .ref-tree .reference-file {
	display: inline-flex;
	width: 100%;
	height: 100%;
	color: var(--vscode-peekViewResult-fileForeground);
}

.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file {
	color: inherit !important;
}

.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) {
	background-color: var(--vscode-peekViewResult-selectionBackground);
	color: var(--vscode-peekViewResult-selectionForeground) !important;
}

.monaco-editor .reference-zone-widget .ref-tree .reference-file .count {
	margin-right: 12px;
	margin-left: auto;
}

.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight {
	background-color: var(--vscode-peekViewResult-matchHighlightBackground);
}

.monaco-editor .reference-zone-widget .preview .reference-decoration {
	background-color: var(--vscode-peekViewEditor-matchHighlightBackground);
	border: 2px solid var(--vscode-peekViewEditor-matchHighlightBorder);
	box-sizing: border-box;
}

.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,
.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {
	background-color: var(--vscode-peekViewEditor-background);
}

.monaco-editor .reference-zone-widget .preview .monaco-editor .margin {
	background-color: var(--vscode-peekViewEditorGutter-background);
}

/* High Contrast Theming */

.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,
.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file {
	font-weight: bold;
}

.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,
.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight {
	border: 1px dotted var(--vscode-contrastActiveBorder, transparent);
	box-sizing: border-box;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .hoverHighlight {
	background-color: var(--vscode-editor-hoverHighlightBackground);
}

.monaco-editor .monaco-hover-content {
	padding-right: 2px;
	padding-bottom: 2px;
	box-sizing: border-box;
}

.monaco-editor .monaco-hover {
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-editorHoverWidget-border);
	border-radius: 3px;
}

.monaco-editor .monaco-hover a {
	color: var(--vscode-textLink-foreground);
}

.monaco-editor .monaco-hover a:hover {
	color: var(--vscode-textLink-activeForeground);
}

.monaco-editor .monaco-hover .hover-row {
	display: flex;
}

.monaco-editor .monaco-hover .hover-row .hover-row-contents {
	min-width:0;
	display: flex;
	flex-direction: column;
}

.monaco-editor .monaco-hover .hover-row .verbosity-actions {
	display: flex;
	flex-direction: column;
	padding-left: 5px;
	padding-right: 5px;
	justify-content: end;
	border-right: 1px solid var(--vscode-editorHoverWidget-border);
}

.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon {
	cursor: pointer;
	font-size: 11px;
}

.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon.enabled {
	color: var(--vscode-textLink-foreground);
}

.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon.disabled {
	opacity: 0.6;
}

.monaco-editor .monaco-hover .hover-row .actions {
	background-color: var(--vscode-editorHoverWidget-statusBarBackground);
}

.monaco-editor .monaco-hover code {
	background-color: var(--vscode-textCodeBlock-background);
}


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

.monaco-editor.vs .dnd-target,
.monaco-editor.hc-light .dnd-target {
	border-right: 2px dotted black;
	color: white; /* opposite of black */
}
.monaco-editor.vs-dark .dnd-target {
	border-right: 2px dotted #AEAFAD;
	color: #51504f; /* opposite of #AEAFAD */
}
.monaco-editor.hc-black .dnd-target {
	border-right: 2px dotted #fff;
	color: #000; /* opposite of #fff */
}

.monaco-editor.mouse-default .view-lines,
.monaco-editor.vs-dark.mac.mouse-default .view-lines,
.monaco-editor.hc-black.mac.mouse-default .view-lines,
.monaco-editor.hc-light.mac.mouse-default .view-lines {
	cursor: default;
}
.monaco-editor.mouse-copy .view-lines,
.monaco-editor.vs-dark.mac.mouse-copy .view-lines,
.monaco-editor.hc-black.mac.mouse-copy .view-lines,
.monaco-editor.hc-light.mac.mouse-copy .view-lines {
	cursor: copy;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .findOptionsWidget {
	background-color: var(--vscode-editorWidget-background);
	color: var(--vscode-editorWidget-foreground);
	box-shadow: 0 0 8px 2px var(--vscode-widget-shadow);
	border: 2px solid var(--vscode-contrastBorder);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Find widget */
.monaco-editor .find-widget {
	position: absolute;
	z-index: 35;
	height: 33px;
	overflow: hidden;
	line-height: 19px;
	transition: transform 200ms linear;
	padding: 0 4px;
	box-sizing: border-box;
	transform: translateY(calc(-100% - 10px)); /* shadow (10px) */
	box-shadow: 0 0 8px 2px var(--vscode-widget-shadow);
	color: var(--vscode-editorWidget-foreground);
	border-left: 1px solid var(--vscode-widget-border);
	border-right: 1px solid var(--vscode-widget-border);
	border-bottom: 1px solid var(--vscode-widget-border);
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	background-color: var(--vscode-editorWidget-background);
}

.monaco-workbench.reduce-motion .monaco-editor .find-widget {
	transition: transform 0ms linear;
}

.monaco-editor .find-widget textarea {
	margin: 0px;
}

.monaco-editor .find-widget.hiddenEditor {
	display: none;
}

/* Find widget when replace is toggled on */
.monaco-editor .find-widget.replaceToggled > .replace-part {
	display: flex;
}

.monaco-editor .find-widget.visible  {
	transform: translateY(0);
}

/* This outline-color rule is used to override the outline color for synthetic-focus find input. */
.monaco-editor .find-widget .monaco-inputbox.synthetic-focus {
	outline: 1px solid -webkit-focus-ring-color;
	outline-offset: -1px;
	outline-color: var(--vscode-focusBorder);
}

.monaco-editor .find-widget .monaco-inputbox .input {
	background-color: transparent;
	min-height: 0;
}

.monaco-editor .find-widget .monaco-findInput .input {
	font-size: 13px;
}

.monaco-editor .find-widget > .find-part,
.monaco-editor .find-widget > .replace-part {
	margin: 3px 25px 0 17px;
	font-size: 12px;
	display: flex;
}

.monaco-editor .find-widget > .find-part .monaco-inputbox,
.monaco-editor .find-widget > .replace-part .monaco-inputbox {
	min-height: 25px;
}


.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {
	padding-right: 22px;
}

.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .input,
.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .mirror,
.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .input,
.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {
	padding-top: 2px;
	padding-bottom: 2px;
}

.monaco-editor .find-widget > .find-part .find-actions {
	height: 25px;
	display: flex;
	align-items: center;
}

.monaco-editor .find-widget > .replace-part .replace-actions {
	height: 25px;
	display: flex;
	align-items: center;
}

.monaco-editor .find-widget .monaco-findInput {
	vertical-align: middle;
	display: flex;
	flex:1;
}

.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element {
	/* Make sure textarea inherits the width correctly */
	width: 100%;
}

.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical {
	/* Hide vertical scrollbar */
	opacity: 0;
}

.monaco-editor .find-widget .matchesCount {
	display: flex;
	flex: initial;
	margin: 0 0 0 3px;
	padding: 2px 0 0 2px;
	height: 25px;
	vertical-align: middle;
	box-sizing: border-box;
	text-align: center;
	line-height: 23px;
}

.monaco-editor .find-widget .button {
	width: 16px;
	height: 16px;
	padding: 3px;
	border-radius: 5px;
	flex: initial;
	margin-left: 3px;
	background-position: center center;
	background-repeat: no-repeat;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* find in selection button */
.monaco-editor .find-widget .codicon-find-selection {
	width: 22px;
	height: 22px;
	padding: 3px;
	border-radius: 5px;
}

.monaco-editor .find-widget .button.left {
	margin-left: 0;
	margin-right: 3px;
}

.monaco-editor .find-widget .button.wide {
	width: auto;
	padding: 1px 6px;
	top: -1px;
}

.monaco-editor .find-widget .button.toggle {
	position: absolute;
	top: 0;
	left: 3px;
	width: 18px;
	height: 100%;
	border-radius: 0;
	box-sizing: border-box;
}

.monaco-editor .find-widget .button.toggle.disabled {
	display: none;
}

.monaco-editor .find-widget .disabled {
	color: var(--vscode-disabledForeground);
	cursor: default;
}

.monaco-editor .find-widget > .replace-part {
	display: none;
}

.monaco-editor .find-widget > .replace-part > .monaco-findInput {
	position: relative;
	display: flex;
	vertical-align: middle;
	flex: auto;
	flex-grow: 0;
	flex-shrink: 0;
}

.monaco-editor .find-widget > .replace-part > .monaco-findInput > .controls {
	position: absolute;
	top: 3px;
	right: 2px;
}

/* REDUCED */
.monaco-editor .find-widget.reduced-find-widget .matchesCount {
	display:none;
}

/* NARROW (SMALLER THAN REDUCED) */
.monaco-editor .find-widget.narrow-find-widget {
	max-width: 257px !important;
}

/* COLLAPSED (SMALLER THAN NARROW) */
.monaco-editor .find-widget.collapsed-find-widget {
	max-width: 170px !important;
}

.monaco-editor .find-widget.collapsed-find-widget .button.previous,
.monaco-editor .find-widget.collapsed-find-widget .button.next,
.monaco-editor .find-widget.collapsed-find-widget .button.replace,
.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,
.monaco-editor .find-widget.collapsed-find-widget > .find-part .monaco-findInput .controls {
	display:none;
}

.monaco-editor .find-widget.no-results .matchesCount {
	color: var(--vscode-errorForeground);
}

.monaco-editor .findMatch {
	animation-duration: 0;
	animation-name: inherit !important;
	background-color: var(--vscode-editor-findMatchHighlightBackground);
}

.monaco-editor .currentFindMatch {
	background-color: var(--vscode-editor-findMatchBackground);
	border: 2px solid var(--vscode-editor-findMatchBorder);
	padding: 1px;
	box-sizing: border-box;
}

.monaco-editor .findScope {
	background-color: var(--vscode-editor-findRangeHighlightBackground);
}

.monaco-editor .find-widget .monaco-sash {
	left: 0 !important;
	background-color: var(--vscode-editorWidget-resizeBorder, var(--vscode-editorWidget-border));
}

.monaco-editor.hc-black .find-widget .button:before {
	position: relative;
	top: 1px;
	left: 2px;
}

/* Action bars */
.monaco-editor .find-widget .button:not(.disabled):hover,
.monaco-editor .find-widget .codicon-find-selection:hover {
	background-color: var(--vscode-toolbar-hoverBackground) !important;
}

.monaco-editor.findMatch {
	background-color: var(--vscode-editor-findMatchHighlightBackground);
}

.monaco-editor.currentFindMatch {
	background-color: var(--vscode-editor-findMatchBackground);
}

.monaco-editor.findScope {
	background-color: var(--vscode-editor-findRangeHighlightBackground);
}

.monaco-editor.findMatch {
	background-color: var(--vscode-editorWidget-background);
}

/* Close button position. */
.monaco-editor .find-widget > .button.codicon-widget-close {
	position: absolute;
	top: 5px;
	right: 4px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,
.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,
.monaco-editor .margin-view-overlays .codicon-folding-expanded,
.monaco-editor .margin-view-overlays .codicon-folding-collapsed {
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.5s;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 140%;
	margin-left: 2px;
}

.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,
.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,
.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,
.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed {
	transition: initial;
}

.monaco-editor .margin-view-overlays:hover .codicon,
.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,
.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,
.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons {
	opacity: 1;
}

.monaco-editor .inline-folded:after {
	color: grey;
	margin: 0.1em 0.2em 0 0.2em;
	content: "\22EF"; /* ellipses unicode character */
	display: inline;
	line-height: 1em;
	cursor: pointer;
}

.monaco-editor .folded-background {
	background-color: var(--vscode-editor-foldBackground);
}

.monaco-editor .cldr.codicon.codicon-folding-expanded,
.monaco-editor .cldr.codicon.codicon-folding-collapsed,
.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,
.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed {
	color: var(--vscode-editorGutter-foldingControlForeground) !important;
}

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

.monaco-editor .suggest-preview-additional-widget {
	white-space: nowrap;
}

.monaco-editor .suggest-preview-additional-widget .content-spacer {
	color: transparent;
	white-space: pre;
}

.monaco-editor .suggest-preview-additional-widget .button {
	display: inline-block;
	cursor: pointer;
	text-decoration: underline;
	text-underline-position: under;
}

.monaco-editor .ghost-text-hidden {
	opacity: 0;
	font-size: 0;
}

.monaco-editor .ghost-text-decoration, .monaco-editor .suggest-preview-text .ghost-text {
	font-style: italic;
}

.monaco-editor .inline-completion-text-to-replace {
	text-decoration: underline;
	text-underline-position: under;
}

.monaco-editor .ghost-text-decoration,
.monaco-editor .ghost-text-decoration-preview,
.monaco-editor .suggest-preview-text .ghost-text {
	color: var(--vscode-editorGhostText-foreground) !important;
	background-color: var(--vscode-editorGhostText-background);
	border: 1px solid var(--vscode-editorGhostText-border);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .snippet-placeholder {
	min-width: 2px;
	outline-style: solid;
	outline-width: 1px;
	background-color: var(--vscode-editor-snippetTabstopHighlightBackground, transparent);
	outline-color: var(--vscode-editor-snippetTabstopHighlightBorder, transparent);
}

.monaco-editor .finish-snippet-placeholder {
	outline-style: solid;
	outline-width: 1px;
	background-color: var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);
	outline-color: var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Suggest widget*/

.monaco-editor .suggest-widget {
	width: 430px;
	z-index: 40;
	display: flex;
	flex-direction: column;
	border-radius: 3px;
}

.monaco-editor .suggest-widget.message {
	flex-direction: row;
	align-items: center;
}

.monaco-editor .suggest-widget,
.monaco-editor .suggest-details {
	flex: 0 1 auto;
	width: 100%;
	border-style: solid;
	border-width: 1px;
	border-color: var(--vscode-editorSuggestWidget-border);
	background-color: var(--vscode-editorSuggestWidget-background);
}

.monaco-editor.hc-black .suggest-widget,
.monaco-editor.hc-black .suggest-details,
.monaco-editor.hc-light .suggest-widget,
.monaco-editor.hc-light .suggest-details {
	border-width: 2px;
}

/* Styles for status bar part */


.monaco-editor .suggest-widget .suggest-status-bar {
	box-sizing: border-box;
	display: none;
	flex-flow: row nowrap;
	justify-content: space-between;
	width: 100%;
	font-size: 80%;
	padding: 0 4px 0 4px;
	border-top: 1px solid var(--vscode-editorSuggestWidget-border);
	overflow: hidden;
}

.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar {
	display: flex;
}

.monaco-editor .suggest-widget .suggest-status-bar .left {
	padding-right: 8px;
}

.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label {
	color: var(--vscode-editorSuggestWidgetStatus-foreground);
}

.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label {
	margin-right: 0;
}

.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label::after {
	content: ', ';
	margin-right: 0.3em;
}

.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row > .contents > .main > .right > .readMore,
.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label > .contents > .main > .right > .readMore {
	display: none;
}

.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover > .contents > .main > .right.can-expand-details > .details-label {
	width: 100%;
}

/* Styles for Message element for when widget is loading or is empty */

.monaco-editor .suggest-widget > .message {
	padding-left: 22px;
}

/** Styles for the list element **/

.monaco-editor .suggest-widget > .tree {
	height: 100%;
	width: 100%;
}

.monaco-editor .suggest-widget .monaco-list {
	-moz-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
}

/** Styles for each row in the list element **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row {
	display: flex;
	-mox-box-sizing: border-box;
	box-sizing: border-box;
	padding-right: 10px;
	background-repeat: no-repeat;
	background-position: 2px 2px;
	white-space: nowrap;
	cursor: pointer;
	touch-action: none;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused {
	color: var(--vscode-editorSuggestWidget-selectedForeground);
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon {
	color: var(--vscode-editorSuggestWidget-selectedIconForeground);
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents {
	flex: 1;
	height: 100%;
	overflow: hidden;
	padding-left: 2px;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main {
	display: flex;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: pre;
	justify-content: space-between;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left,
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right {
	display: flex;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused) > .contents > .main .monaco-icon-label {
	color: var(--vscode-editorSuggestWidget-foreground);
}

.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight {
	font-weight: bold;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main .monaco-highlighted-label .highlight {
	color: var(--vscode-editorSuggestWidget-highlightForeground);
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused > .contents > .main .monaco-highlighted-label .highlight {
	color: var(--vscode-editorSuggestWidget-focusHighlightForeground);
}

/** ReadMore Icon styles **/

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close,
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore::before {
	color: inherit;
	opacity: 1;
	font-size: 14px;
	cursor: pointer;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close {
	position: absolute;
	top: 6px;
	right: 2px;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close:hover,
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore:hover {
	opacity: 1;
}

/** signature, qualifier, type/details opacity **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {
	opacity: 0.7;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .signature-label {
	overflow: hidden;
	text-overflow: ellipsis;
	opacity: 0.6;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .qualifier-label {
	margin-left: 12px;
	opacity: 0.4;
	font-size: 85%;
	line-height: initial;
	text-overflow: ellipsis;
	overflow: hidden;
	align-self: center;
}

/** Type Info and icon next to the label in the focused completion item **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {
	font-size: 85%;
	margin-left: 1.1em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label > .monaco-tokenized-source {
	display: inline;
}

/** Details: if using CompletionItem#details, show on focus **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {
	display: none;
}

.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused > .contents > .main > .right > .details-label {
	display: inline;
}

/** Details: if using CompletionItemLabel#details, always show **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label) > .contents > .main > .right > .details-label,
.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label) > .contents > .main > .right > .details-label {
	display: inline;
}

/** Ellipsis on hover **/

.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover > .contents > .main > .right.can-expand-details > .details-label {
	width: calc(100% - 26px);
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left {
	flex-shrink: 1;
	flex-grow: 1;
	overflow: hidden;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .monaco-icon-label {
	flex-shrink: 0;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label) > .contents > .main > .left > .monaco-icon-label {
	max-width: 100%;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label > .contents > .main > .left > .monaco-icon-label {
	flex-shrink: 1;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right {
	overflow: hidden;
	flex-shrink: 4;
	max-width: 70%;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore {
	display: inline-block;
	position: absolute;
	right: 10px;
	width: 18px;
	height: 18px;
	visibility: hidden;
}

/** Do NOT display ReadMore when docs is side/below **/

.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row > .contents > .main > .right > .readMore {
	display: none !important;
}

/** Do NOT display ReadMore when using plain CompletionItemLabel (details/documentation might not be resolved) **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label > .contents > .main > .right > .readMore {
	display: none;
}

/** Focused item can show ReadMore, but can't when docs is side/below **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label > .contents > .main > .right > .readMore {
	display: inline-block;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover > .contents > .main > .right > .readMore {
	visibility: visible;
}

/** Styles for each row in the list **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated {
	opacity: 0.66;
	text-decoration: unset;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated > .monaco-icon-label-container > .monaco-icon-name-container {
	text-decoration: line-through;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label::before {
	height: 100%;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon {
	display: block;
	height: 16px;
	width: 16px;
	margin-left: 2px;
	background-repeat: no-repeat;
	background-size: 80%;
	background-position: center;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide {
	display: none;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon {
	display: flex;
	align-items: center;
	margin-right: 4px;
}

.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,
.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon::before {
	display: none;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan {
	margin: 0 0 0 0.3em;
	border: 0.1em solid #000;
	width: 0.7em;
	height: 0.7em;
	display: inline-block;
}

/** Styles for the docs of the completion item in focus **/

.monaco-editor .suggest-details-container {
	z-index: 41;
}

.monaco-editor .suggest-details {
	display: flex;
	flex-direction: column;
	cursor: default;
	color: var(--vscode-editorSuggestWidget-foreground);
}

.monaco-editor .suggest-details.focused {
	border-color: var(--vscode-focusBorder);
}

.monaco-editor .suggest-details a {
	color: var(--vscode-textLink-foreground);
}

.monaco-editor .suggest-details a:hover {
	color: var(--vscode-textLink-activeForeground);
}

.monaco-editor .suggest-details code {
	background-color: var(--vscode-textCodeBlock-background);
}

.monaco-editor .suggest-details.no-docs {
	display: none;
}

.monaco-editor .suggest-details > .monaco-scrollable-element {
	flex: 1;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body {
	box-sizing: border-box;
	height: 100%;
	width: 100%;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .type {
	flex: 2;
	overflow: hidden;
	text-overflow: ellipsis;
	opacity: 0.7;
	white-space: pre;
	margin: 0 24px 0 0;
	padding: 4px 0 12px 5px;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .type.auto-wrap {
	white-space: normal;
	word-break: break-all;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs {
	margin: 0;
	padding: 4px 5px;
	white-space: pre-wrap;
}

.monaco-editor .suggest-details.no-type > .monaco-scrollable-element > .body > .docs {
	margin-right: 24px;
	overflow: hidden;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs {
	padding: 0;
	white-space: initial;
	min-height: calc(1rem + 8px);
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div,
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > span:not(:empty) {
	padding: 4px 5px;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div > p:first-child {
	margin-top: 0;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div > p:last-child {
	margin-bottom: 0;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs .monaco-tokenized-source {
	white-space: pre;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs .code {
	white-space: pre-wrap;
	word-wrap: break-word;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs .codicon {
	vertical-align: sub;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > p:empty {
	display: none;
}

.monaco-editor .suggest-details code {
	border-radius: 3px;
	padding: 0 0.4em;
}

.monaco-editor .suggest-details ul {
	padding-left: 20px;
}

.monaco-editor .suggest-details ol {
	padding-left: 20px;
}

.monaco-editor .suggest-details p code {
	font-family: var(--monaco-monospace-font);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .goto-definition-link {
	text-decoration: underline;
	cursor: pointer;
	color: var(--vscode-editorLink-activeForeground) !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* marker zone */

.monaco-editor .peekview-widget .head .peekview-title .severity-icon {
	display: inline-block;
	vertical-align: text-top;
	margin-right: 4px;
}

.monaco-editor .marker-widget {
	text-overflow: ellipsis;
	white-space: nowrap;
}

.monaco-editor .marker-widget > .stale {
	opacity: 0.6;
	font-style: italic;
}

.monaco-editor .marker-widget .title {
	display: inline-block;
	padding-right: 5px;
}

.monaco-editor .marker-widget .descriptioncontainer {
	position: absolute;
	white-space: pre;
	-moz-user-select: text;
	     user-select: text;
	-webkit-user-select: text;
	padding: 8px 12px 0 20px;
}

.monaco-editor .marker-widget .descriptioncontainer .message {
	display: flex;
	flex-direction: column;
}

.monaco-editor .marker-widget .descriptioncontainer .message .details {
	padding-left: 6px;
}

.monaco-editor .marker-widget .descriptioncontainer .message .source,
.monaco-editor .marker-widget .descriptioncontainer .message span.code {
	opacity: 0.6;
}

.monaco-editor .marker-widget .descriptioncontainer .message a.code-link {
	opacity: 0.6;
	color: inherit;
}

.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before {
	content: '(';
}

.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after {
	content: ')';
}

.monaco-editor .marker-widget .descriptioncontainer .message a.code-link > span {
	text-decoration: underline;
	/** Hack to force underline to show **/
	border-bottom: 1px solid transparent;
	text-underline-position: under;
	color: var(--vscode-textLink-activeForeground);
}

.monaco-editor .marker-widget .descriptioncontainer .filename {
	cursor: pointer;
	color: var(--vscode-textLink-activeForeground);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .zone-widget .codicon.codicon-error,
.markers-panel .marker-icon.error, .markers-panel .marker-icon .codicon.codicon-error,
.text-search-provider-messages .providerMessage .codicon.codicon-error,
.extensions-viewlet > .extensions .codicon.codicon-error,
.extension-editor .codicon.codicon-error,
.preferences-editor .codicon.codicon-error {
	color: var(--vscode-problemsErrorIcon-foreground);
}

.monaco-editor .zone-widget .codicon.codicon-warning,
.markers-panel .marker-icon.warning, .markers-panel .marker-icon .codicon.codicon-warning,
.text-search-provider-messages .providerMessage .codicon.codicon-warning,
.extensions-viewlet > .extensions .codicon.codicon-warning,
.extension-editor .codicon.codicon-warning,
.preferences-editor .codicon.codicon-warning {
	color: var(--vscode-problemsWarningIcon-foreground);
}

.monaco-editor .zone-widget .codicon.codicon-info,
.markers-panel .marker-icon.info, .markers-panel .marker-icon .codicon.codicon-info,
.text-search-provider-messages .providerMessage .codicon.codicon-info,
.extensions-viewlet > .extensions .codicon.codicon-info,
.extension-editor .codicon.codicon-info,
.preferences-editor .codicon.codicon-info {
	color: var(--vscode-problemsInfoIcon-foreground);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/


.monaco-editor.vs .valueSetReplacement {
	outline: solid 2px var(--vscode-editorBracketMatch-border);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .linked-editing-decoration {
	background-color: var(--vscode-editor-linkedEditingBackground);

	/* Ensure decoration is visible even if range is empty */
	min-width: 1px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .detected-link,
.monaco-editor .detected-link-active {
	text-decoration: underline;
	text-underline-position: under;
}

.monaco-editor .detected-link-active {
	cursor: pointer;
	color: var(--vscode-editorLink-activeForeground) !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .focused .selectionHighlight {
	background-color: var(--vscode-editor-selectionHighlightBackground);
	box-sizing: border-box;
	border: 1px solid var(--vscode-editor-selectionHighlightBorder);
}
.monaco-editor.hc-black .focused .selectionHighlight, .monaco-editor.hc-light .focused .selectionHighlight {
	border-style: dotted;
}

.monaco-editor .wordHighlight {
	background-color: var(--vscode-editor-wordHighlightBackground);
	box-sizing: border-box;
	border: 1px solid var(--vscode-editor-wordHighlightBorder);
}
.monaco-editor.hc-black .wordHighlight, .monaco-editor.hc-light .wordHighlight {
	border-style: dotted;
}

.monaco-editor .wordHighlightStrong {
	background-color: var(--vscode-editor-wordHighlightStrongBackground);
	box-sizing: border-box;
	border: 1px solid var(--vscode-editor-wordHighlightStrongBorder);
}
.monaco-editor.hc-black .wordHighlightStrong, .monaco-editor.hc-light .wordHighlightStrong {
	border-style: dotted;
}

.monaco-editor .wordHighlightText {
	background-color: var(--vscode-editor-wordHighlightTextBackground);
	box-sizing: border-box;
	border: 1px solid var(--vscode-editor-wordHighlightTextBorder);
}
.monaco-editor.hc-black .wordHighlightText, .monaco-editor.hc-light .wordHighlightText {
	border-style: dotted;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .inline-edit-remove {
	background-color: var(--vscode-editorGhostText-background);
	font-style: italic;
	text-decoration: line-through;
}

.monaco-editor .inline-edit-remove.backgroundColoring {
	background-color: var(--vscode-diffEditor-removedLineBackground);
}

.monaco-editor .inline-edit-hidden {
	opacity: 0;
	font-size: 0;
}

.monaco-editor .inline-edit-decoration, .monaco-editor .suggest-preview-text .inline-edit {
	font-style: italic;
}

.monaco-editor .inline-completion-text-to-replace {
	text-decoration: underline;
	text-underline-position: under;
}

.monaco-editor .inline-edit-decoration,
.monaco-editor .inline-edit-decoration-preview,
.monaco-editor .suggest-preview-text .inline-edit {
	color: var(--vscode-editorGhostText-foreground) !important;
	background-color: var(--vscode-editorGhostText-background);
	border: 1px solid var(--vscode-editorGhostText-border);
}


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

.monaco-editor .inlineEditHints.withBorder {
	z-index: 39;
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-editorHoverWidget-border);
}

.monaco-editor .inlineEditHints a {
	color: var(--vscode-foreground);
}

.monaco-editor .inlineEditHints a:hover {
	color: var(--vscode-foreground);
}

.monaco-editor .inlineEditHints .keybinding {
	display: flex;
	margin-left: 4px;
	opacity: 0.6;
}

.monaco-editor .inlineEditHints .keybinding .monaco-keybinding-key {
	font-size: 8px;
	padding: 2px 3px;
}

.monaco-editor .inlineEditStatusBarItemLabel {
	margin-right: 2px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .parameter-hints-widget {
	/* Must be higher than the sash's z-index and terminal canvases but lower than the suggest widget */
	z-index: 39;
	display: flex;
	flex-direction: column;
	line-height: 1.5em;
	cursor: default;
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-editorHoverWidget-border);
}

.hc-black .monaco-editor .parameter-hints-widget,
.hc-light .monaco-editor .parameter-hints-widget {
	border-width: 2px;
}

.monaco-editor .parameter-hints-widget > .phwrapper {
	max-width: 440px;
	display: flex;
	flex-direction: row;
}

.monaco-editor .parameter-hints-widget.multiple {
	min-height: 3.3em;
	padding: 0;
}

.monaco-editor .parameter-hints-widget.multiple .body::before {
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	opacity: 0.5;
	border-left: 1px solid var(--vscode-editorHoverWidget-border);
}

.monaco-editor .parameter-hints-widget p,
.monaco-editor .parameter-hints-widget ul {
	margin: 8px 0;
}

.monaco-editor .parameter-hints-widget .monaco-scrollable-element,
.monaco-editor .parameter-hints-widget .body {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 100%;
}

.monaco-editor .parameter-hints-widget .signature {
	padding: 4px 5px;
	position: relative;
}

.monaco-editor .parameter-hints-widget .signature.has-docs::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	padding-top: 4px;
	opacity: 0.5;
	border-bottom: 1px solid var(--vscode-editorHoverWidget-border);
}

.monaco-editor .parameter-hints-widget .docs {
	padding: 0 10px 0 5px;
	white-space: pre-wrap;
}

.monaco-editor .parameter-hints-widget .docs.empty {
	display: none;
}

.monaco-editor .parameter-hints-widget .docs a {
	color: var(--vscode-textLink-foreground);
}

.monaco-editor .parameter-hints-widget .docs a:hover {
	color: var(--vscode-textLink-activeForeground);
	cursor: pointer;
}

.monaco-editor .parameter-hints-widget .docs .markdown-docs {
	white-space: initial;
}

.monaco-editor .parameter-hints-widget .docs code {
	font-family: var(--monaco-monospace-font);
	border-radius: 3px;
	padding: 0 0.4em;
	background-color: var(--vscode-textCodeBlock-background);
}

.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,
.monaco-editor .parameter-hints-widget .docs .code {
	white-space: pre-wrap;
}

.monaco-editor .parameter-hints-widget .controls {
	display: none;
	flex-direction: column;
	align-items: center;
	min-width: 22px;
	justify-content: flex-end;
}

.monaco-editor .parameter-hints-widget.multiple .controls {
	display: flex;
	padding: 0 2px;
}

.monaco-editor .parameter-hints-widget.multiple .button {
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	cursor: pointer;
}

.monaco-editor .parameter-hints-widget .button.previous {
	bottom: 24px;
}

.monaco-editor .parameter-hints-widget .overloads {
	text-align: center;
	height: 12px;
	line-height: 12px;
	font-family: var(--monaco-monospace-font);
}

.monaco-editor .parameter-hints-widget .signature .parameter.active {
	color: var(--vscode-editorHoverWidget-highlightForeground);
	font-weight: bold;
}

.monaco-editor .parameter-hints-widget .documentation-parameter > .parameter {
	font-weight: bold;
	margin-right: 0.5em;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .rename-box {
	z-index: 100;
	color: inherit;
	border-radius: 4px;
}

.monaco-editor .rename-box.preview {
	padding: 4px 4px 0 4px;
}

.monaco-editor .rename-box .rename-input-with-button {
	padding: 3px;
	border-radius: 2px;
	width: calc(100% - 8px); /* 4px padding on each side */
}

.monaco-editor .rename-box .rename-input {
	width: calc(100% - 8px); /* 4px padding on each side */
	padding: 0;
}

.monaco-editor .rename-box .rename-input:focus {
	outline: none;
}

.monaco-editor .rename-box .rename-suggestions-button {
	display: flex;
	align-items: center;
	padding: 3px;
	background-color: transparent;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}

.monaco-editor .rename-box .rename-suggestions-button:hover {
	background-color: var(--vscode-toolbar-hoverBackground)
}

.monaco-editor .rename-box .rename-candidate-list-container .monaco-list-row {
	border-radius: 2px;
}

.monaco-editor .rename-box .rename-label {
	display: none;
	opacity: .8;
}

.monaco-editor .rename-box.preview .rename-label {
	display: inherit;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .sticky-widget {
	overflow: hidden;
}

.monaco-editor .sticky-widget-line-numbers {
	float: left;
	background-color: inherit;
}

.monaco-editor .sticky-widget-lines-scrollable {
	display: inline-block;
	position: absolute;
	overflow: hidden;
	width: var(--vscode-editorStickyScroll-scrollableWidth);
	background-color: inherit;
}

.monaco-editor .sticky-widget-lines {
	position: absolute;
	background-color: inherit;
}

.monaco-editor .sticky-line-number, .monaco-editor .sticky-line-content {
	color: var(--vscode-editorLineNumber-foreground);
	white-space: nowrap;
	display: inline-block;
	position: absolute;
	background-color: inherit;
}

.monaco-editor .sticky-line-number .codicon-folding-expanded,
.monaco-editor .sticky-line-number .codicon-folding-collapsed {
	float: right;
	transition: var(--vscode-editorStickyScroll-foldingOpacityTransition);
}

.monaco-editor .sticky-line-content {
	width: var(--vscode-editorStickyScroll-scrollableWidth);
	background-color: inherit;
	white-space: nowrap;
}

.monaco-editor .sticky-line-number-inner {
	display: inline-block;
	text-align: right;
}

.monaco-editor .sticky-widget {
	border-bottom: 1px solid var(--vscode-editorStickyScroll-border);
}

.monaco-editor .sticky-line-content:hover {
	background-color: var(--vscode-editorStickyScrollHover-background);
	cursor: pointer;
}

.monaco-editor .sticky-widget {
	width: 100%;
	box-shadow: var(--vscode-editorStickyScroll-shadow) 0 3px 2px -2px;
	z-index: 4;
	background-color: var(--vscode-editorStickyScroll-background);
	right: initial !important;
}

.monaco-editor .sticky-widget.peek {
	background-color: var(--vscode-peekViewEditorStickyScroll-background);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .unicode-highlight {
	border: 1px solid var(--vscode-editorUnicodeHighlight-border);
	background-color: var(--vscode-editorUnicodeHighlight-background);
	box-sizing: border-box;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.editor-banner {
	box-sizing: border-box;
	cursor: default;
	width: 100%;
	font-size: 12px;
	display: flex;
	overflow: visible;

	height: 26px;

	background: var(--vscode-banner-background);
}


.editor-banner .icon-container {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	padding: 0 6px 0 10px;
}

.editor-banner .icon-container.custom-icon {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 16px;
	width: 16px;
	padding: 0;
	margin: 0 6px 0 10px;
}

.editor-banner .message-container {
	display: flex;
	align-items: center;
	line-height: 26px;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

.editor-banner .message-container p {
	margin-block-start: 0;
	margin-block-end: 0;
}

.editor-banner .message-actions-container {
	flex-grow: 1;
	flex-shrink: 0;
	line-height: 26px;
	margin: 0 4px;
}

.editor-banner .message-actions-container a.monaco-button {
	width: inherit;
	margin: 2px 8px;
	padding: 0px 12px;
}

.editor-banner .message-actions-container a {
	padding: 3px;
	margin-left: 12px;
	text-decoration: underline;
}

.editor-banner .action-container {
	padding: 0 10px 0 6px;
}

.editor-banner {
	background-color: var(--vscode-banner-background);
}

.editor-banner,
.editor-banner .action-container .codicon,
.editor-banner .message-actions-container .monaco-link {
	color: var(--vscode-banner-foreground);
}

.editor-banner .icon-container .codicon {
	color: var(--vscode-banner-iconForeground);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-link {
	color: var(--vscode-textLink-foreground);
}

.monaco-link:hover {
	color: var(--vscode-textLink-activeForeground);
}

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

.monaco-editor .iPadShowKeyboard {
	width: 58px;
	min-width: 0;
	height: 36px;
	min-height: 0;
	margin: 0;
	padding: 0;
	position: absolute;
	resize: none;
	overflow: hidden;
	background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==") center center no-repeat;
	border: 4px solid #F6F6F6;
	border-radius: 4px;
}

.monaco-editor.vs-dark .iPadShowKeyboard {
	background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==") center center no-repeat;
	border: 4px solid #252526;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .tokens-inspect-widget {
	z-index: 50;
	-moz-user-select: text;
	     user-select: text;
	-webkit-user-select: text;
	padding: 10px;
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-editorHoverWidget-border);
}
.monaco-editor.hc-black .tokens-inspect-widget, .monaco-editor.hc-light .tokens-inspect-widget {
	border-width: 2px;
}

.monaco-editor .tokens-inspect-widget .tokens-inspect-separator {
	height: 1px;
	border: 0;
	background-color: var(--vscode-editorHoverWidget-border);
}

.monaco-editor .tokens-inspect-widget .tm-token {
	font-family: var(--monaco-monospace-font);
}

.monaco-editor .tokens-inspect-widget .tm-token-length {
	font-weight: normal;
	font-size: 60%;
	float: right;
}

.monaco-editor .tokens-inspect-widget .tm-metadata-table {
	width: 100%;
}

.monaco-editor .tokens-inspect-widget .tm-metadata-value {
	font-family: var(--monaco-monospace-font);
	text-align: right;
}

.monaco-editor .tokens-inspect-widget .tm-token-type {
	font-family: var(--monaco-monospace-font);
}
/* schibsted-grotesk-latin-ext-wght-normal */
@font-face {
  font-family: 'Schibsted Grotesk Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 400 900;
  src: url(./schibsted-grotesk-latin-ext-wght-normal-hsMS0n0O.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* schibsted-grotesk-latin-wght-normal */
@font-face {
  font-family: 'Schibsted Grotesk Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 400 900;
  src: url(./schibsted-grotesk-latin-wght-normal-Bb8VGrTG.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* ibm-plex-mono-cyrillic-ext-400-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format('woff2'), url(./ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* ibm-plex-mono-cyrillic-400-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format('woff2'), url(./ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* ibm-plex-mono-vietnamese-400-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format('woff2'), url(./ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* ibm-plex-mono-latin-ext-400-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format('woff2'), url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ibm-plex-mono-latin-400-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format('woff2'), url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* ibm-plex-mono-cyrillic-ext-500-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format('woff2'), url(./ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* ibm-plex-mono-cyrillic-500-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format('woff2'), url(./ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* ibm-plex-mono-vietnamese-500-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format('woff2'), url(./ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* ibm-plex-mono-latin-ext-500-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format('woff2'), url(./ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ibm-plex-mono-latin-500-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format('woff2'), url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: Schibsted Grotesk Variable, Schibsted Grotesk, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: IBM Plex Mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
  :focus-visible {
    outline: 2px solid rgb(var(--lf-accent) / 0.6);
    outline-offset: 2px;
  }
  :focus:not(:focus-visible) {
    outline: none;
  }
.container {
  width: 100%;
}
@media (min-width: 640px) {

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {

  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {

  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {

  .container {
    max-width: 1536px;
  }
}
.lf-card {
  border-radius: 1.125rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(var(--lf-hairline) / var(--tw-border-opacity, 1));
  background-color: rgb(var(--lf-panel) / 0.8);
  --tw-shadow: var(--lf-shadow-1);
  --tw-shadow-colored: var(--lf-shadow-1);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
/* Refined coral glass — the TINTED primary (macOS / Linear accent buttons),
     not a filled slab: a soft translucent coral wash + a crisp coral hairline +
     coral text. It reads see-through and premium; the border + coral ink give it
     definition so it's still unmistakably the primary. Depth from a whisper of
     inner top-light only — no gradient, no rest-state glow (calm = expensive).
     Hover firms the wash + border and adds a faint coral halo. Press dips.
     reduce-transparency swaps to an opaque coral-soft pane (rule below). */
.lf-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.875rem;
  border-width: 1px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-backdrop-blur: blur(12px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.lf-btn-primary:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}
.lf-btn-primary {
    color: rgb(var(--lf-accent));
    background-color: rgb(var(--lf-accent) / 0.14);
    border-color: rgb(var(--lf-accent) / 0.3);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.06);
    transition:
      background-color 160ms ease-out,
      border-color 160ms ease-out,
      box-shadow 200ms cubic-bezier(0.22, 1, 0.36, 1),
      transform 90ms cubic-bezier(0.22, 1, 0.36, 1);
  }
/* Light theme: deeper coral ink for AA on the paper wash; brighter top lip. */
html.light .lf-btn-primary {
    color: rgb(var(--lf-accent-strong));
    background-color: rgb(var(--lf-accent) / 0.12);
    border-color: rgb(var(--lf-accent) / 0.28);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.4);
  }
.lf-btn-primary:hover {
    background-color: rgb(var(--lf-accent) / 0.22);
    border-color: rgb(var(--lf-accent) / 0.5);
    box-shadow: 0 0 18px -6px rgb(var(--lf-accent) / 0.4), inset 0 1px 0 rgb(255 255 255 / 0.08);
  }
html.light .lf-btn-primary:hover {
    background-color: rgb(var(--lf-accent) / 0.18);
    border-color: rgb(var(--lf-accent) / 0.45);
    box-shadow: 0 0 16px -6px rgb(var(--lf-accent) / 0.28), inset 0 1px 0 rgb(255 255 255 / 0.5);
  }
.lf-btn-primary:focus-visible {
    outline: 2px solid rgb(var(--lf-accent) / 0.6);
    outline-offset: 2px;
  }
.lf-input {
  width: 100%;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(var(--lf-border) / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-surface) / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(var(--lf-text) / var(--tw-text-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.lf-input::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-faint) / var(--tw-text-opacity, 1));
}
.lf-input::placeholder {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-faint) / var(--tw-text-opacity, 1));
}
.lf-input:focus {
  --tw-border-opacity: 1;
  border-color: rgb(var(--lf-accent) / var(--tw-border-opacity, 1));
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(var(--lf-accent) / 0.3);
}
.lf-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border-radius: 9999px;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}
.lf-nav-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.875rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(var(--lf-muted) / var(--tw-text-opacity, 1));
}
.lf-nav-link:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-elevated) / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(var(--lf-text) / var(--tw-text-opacity, 1));
}
.lf-nav-link {
    /* Explicit timing for perceived weight: bg/shadow spring-settle, color fast + un-sprung. */
    transition:
      background-color 200ms cubic-bezier(0.22, 1, 0.36, 1),
      color 160ms ease-out,
      box-shadow 200ms cubic-bezier(0.22, 1, 0.36, 1);
  }
/* Physical press dip — GPU-composited transform, fast finite settle. */
.lf-nav-link:active {
    transform: scale(0.98);
    transition: transform 90ms cubic-bezier(0.22, 1, 0.36, 1);
  }
.lf-nav-link-active {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-accent-soft) / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(var(--lf-text) / var(--tw-text-opacity, 1));
}
/* Same press vocabulary on the primary button — NO glow-breath (one breather
     only). The wash firms a touch and the halo collapses so it presses IN. */
.lf-btn-primary:active {
    transform: translateY(0.5px) scale(0.99);
    background-color: rgb(var(--lf-accent) / 0.3);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.06);
  }
/* CREATE — white-glass capsule (sidebar footer, founder-hub hand-off). The
     coral lives only in the drop glyph (CoralDropPlus), so the button fits in
     yet stays findable; lf-btn-primary remains the app-wide primary. House
     timing: spring settle on shadow, springy .975 press. */
html.light .lf-btn-create {
    background-image: linear-gradient(180deg, rgb(255 255 255 / 0.65), rgb(255 255 255 / 0.35));
    border-color: rgb(var(--lf-scrim) / 0.14);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.8), 0 2px 10px rgb(var(--lf-scrim) / 0.08);
  }
html.light .lf-btn-create:hover {
    border-color: rgb(var(--lf-scrim) / 0.22);
  }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none {
  pointer-events: none;
}
.pointer-events-auto {
  pointer-events: auto;
}
.\!visible {
  visibility: visible !important;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: 0px;
}
.inset-1 {
  inset: 0.25rem;
}
.inset-\[8\%\] {
  inset: 8%;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.-bottom-1\.5 {
  bottom: -0.375rem;
}
.-left-1 {
  left: -0.25rem;
}
.-right-1 {
  right: -0.25rem;
}
.-right-1\.5 {
  right: -0.375rem;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-10 {
  bottom: 2.5rem;
}
.bottom-2 {
  bottom: 0.5rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-6 {
  bottom: 1.5rem;
}
.bottom-full {
  bottom: 100%;
}
.left-0 {
  left: 0px;
}
.left-1\/2 {
  left: 50%;
}
.left-2 {
  left: 0.5rem;
}
.left-2\.5 {
  left: 0.625rem;
}
.left-3 {
  left: 0.75rem;
}
.right-0 {
  right: 0px;
}
.right-1 {
  right: 0.25rem;
}
.right-1\.5 {
  right: 0.375rem;
}
.right-2 {
  right: 0.5rem;
}
.right-3 {
  right: 0.75rem;
}
.right-5 {
  right: 1.25rem;
}
.top-0 {
  top: 0px;
}
.top-1\.5 {
  top: 0.375rem;
}
.top-1\/2 {
  top: 50%;
}
.top-2 {
  top: 0.5rem;
}
.top-3 {
  top: 0.75rem;
}
.top-7 {
  top: 1.75rem;
}
.top-full {
  top: 100%;
}
.isolate {
  isolation: isolate;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.z-\[51\] {
  z-index: 51;
}
.z-dropdown {
  z-index: 40;
}
.z-header {
  z-index: 10;
}
.z-modal {
  z-index: 50;
}
.z-scrim {
  z-index: 30;
}
.z-toast {
  z-index: 60;
}
.order-last {
  order: 9999;
}
.m-3 {
  margin: 0.75rem;
}
.m-4 {
  margin: 1rem;
}
.m-auto {
  margin: auto;
}
.-mx-2 {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
.mx-0\.5 {
  margin-left: 0.125rem;
  margin-right: 0.125rem;
}
.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-3\.5 {
  margin-left: 0.875rem;
  margin-right: 0.875rem;
}
.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-3 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.my-7 {
  margin-top: 1.75rem;
  margin-bottom: 1.75rem;
}
.-mb-px {
  margin-bottom: -1px;
}
.-ml-1 {
  margin-left: -0.25rem;
}
.-ml-px {
  margin-left: -1px;
}
.mb-0 {
  margin-bottom: 0px;
}
.mb-0\.5 {
  margin-bottom: 0.125rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-1\.5 {
  margin-bottom: 0.375rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-7 {
  margin-bottom: 1.75rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.ml-0\.5 {
  margin-left: 0.125rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-1\.5 {
  margin-left: 0.375rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-3 {
  margin-left: 0.75rem;
}
.ml-4 {
  margin-left: 1rem;
}
.ml-5 {
  margin-left: 1.25rem;
}
.ml-9 {
  margin-left: 2.25rem;
}
.ml-\[22px\] {
  margin-left: 22px;
}
.ml-auto {
  margin-left: auto;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-3 {
  margin-right: 0.75rem;
}
.mr-auto {
  margin-right: auto;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-12 {
  margin-top: 3rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-2\.5 {
  margin-top: 0.625rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-7 {
  margin-top: 1.75rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-9 {
  margin-top: 2.25rem;
}
.mt-\[6px\] {
  margin-top: 6px;
}
.mt-\[7px\] {
  margin-top: 7px;
}
.mt-auto {
  margin-top: auto;
}
.mt-px {
  margin-top: 1px;
}
.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.line-clamp-4 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.\!table {
  display: table !important;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.inline-grid {
  display: inline-grid;
}
.contents {
  display: contents;
}
.\!hidden {
  display: none !important;
}
.hidden {
  display: none;
}
.aspect-\[9\/16\] {
  aspect-ratio: 9/16;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.aspect-video {
  aspect-ratio: 16 / 9;
}
.h-0\.5 {
  height: 0.125rem;
}
.h-1 {
  height: 0.25rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.h-10 {
  height: 2.5rem;
}
.h-11 {
  height: 2.75rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: 0.5rem;
}
.h-2\.5 {
  height: 0.625rem;
}
.h-24 {
  height: 6rem;
}
.h-28 {
  height: 7rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-32 {
  height: 8rem;
}
.h-36 {
  height: 9rem;
}
.h-4 {
  height: 1rem;
}
.h-40 {
  height: 10rem;
}
.h-44 {
  height: 11rem;
}
.h-5 {
  height: 1.25rem;
}
.h-56 {
  height: 14rem;
}
.h-6 {
  height: 1.5rem;
}
.h-64 {
  height: 16rem;
}
.h-7 {
  height: 1.75rem;
}
.h-72 {
  height: 18rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[15px\] {
  height: 15px;
}
.h-\[18px\] {
  height: 18px;
}
.h-\[46px\] {
  height: 46px;
}
.h-\[46vh\] {
  height: 46vh;
}
.h-\[55vh\] {
  height: 55vh;
}
.h-auto {
  height: auto;
}
.h-fit {
  height: -moz-fit-content;
  height: fit-content;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.h-screen {
  height: 100vh;
}
.max-h-40 {
  max-height: 10rem;
}
.max-h-48 {
  max-height: 12rem;
}
.max-h-52 {
  max-height: 13rem;
}
.max-h-56 {
  max-height: 14rem;
}
.max-h-60 {
  max-height: 15rem;
}
.max-h-64 {
  max-height: 16rem;
}
.max-h-72 {
  max-height: 18rem;
}
.max-h-80 {
  max-height: 20rem;
}
.max-h-\[28rem\] {
  max-height: 28rem;
}
.max-h-\[46vh\] {
  max-height: 46vh;
}
.max-h-\[50vh\] {
  max-height: 50vh;
}
.max-h-\[55vh\] {
  max-height: 55vh;
}
.max-h-\[60vh\] {
  max-height: 60vh;
}
.max-h-\[70vh\] {
  max-height: 70vh;
}
.max-h-\[85vh\] {
  max-height: 85vh;
}
.max-h-\[calc\(100\%_-_24px\)\] {
  max-height: calc(100% - 24px);
}
.max-h-\[calc\(100vh-16px\)\] {
  max-height: calc(100vh - 16px);
}
.max-h-full {
  max-height: 100%;
}
.min-h-0 {
  min-height: 0px;
}
.min-h-12 {
  min-height: 3rem;
}
.min-h-14 {
  min-height: 3.5rem;
}
.min-h-20 {
  min-height: 5rem;
}
.min-h-28 {
  min-height: 7rem;
}
.min-h-48 {
  min-height: 12rem;
}
.min-h-64 {
  min-height: 16rem;
}
.min-h-8 {
  min-height: 2rem;
}
.min-h-9 {
  min-height: 2.25rem;
}
.min-h-\[200px\] {
  min-height: 200px;
}
.min-h-\[280px\] {
  min-height: 280px;
}
.min-h-\[32rem\] {
  min-height: 32rem;
}
.min-h-\[44px\] {
  min-height: 44px;
}
.min-h-\[480px\] {
  min-height: 480px;
}
.min-h-\[52px\] {
  min-height: 52px;
}
.min-h-\[76px\] {
  min-height: 76px;
}
.min-h-\[80px\] {
  min-height: 80px;
}
.min-h-\[96px\] {
  min-height: 96px;
}
.min-h-full {
  min-height: 100%;
}
.w-0 {
  width: 0px;
}
.w-1 {
  width: 0.25rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-1\/3 {
  width: 33.333333%;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-16 {
  width: 4rem;
}
.w-2 {
  width: 0.5rem;
}
.w-2\.5 {
  width: 0.625rem;
}
.w-2\/5 {
  width: 40%;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-28 {
  width: 7rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-32 {
  width: 8rem;
}
.w-36 {
  width: 9rem;
}
.w-4 {
  width: 1rem;
}
.w-40 {
  width: 10rem;
}
.w-44 {
  width: 11rem;
}
.w-48 {
  width: 12rem;
}
.w-5 {
  width: 1.25rem;
}
.w-52 {
  width: 13rem;
}
.w-56 {
  width: 14rem;
}
.w-6 {
  width: 1.5rem;
}
.w-60 {
  width: 15rem;
}
.w-64 {
  width: 16rem;
}
.w-7 {
  width: 1.75rem;
}
.w-72 {
  width: 18rem;
}
.w-8 {
  width: 2rem;
}
.w-80 {
  width: 20rem;
}
.w-9 {
  width: 2.25rem;
}
.w-\[14px\] {
  width: 14px;
}
.w-\[18px\] {
  width: 18px;
}
.w-\[260px\] {
  width: 260px;
}
.w-\[26rem\] {
  width: 26rem;
}
.w-\[28rem\] {
  width: 28rem;
}
.w-\[360px\] {
  width: 360px;
}
.w-\[380px\] {
  width: 380px;
}
.w-\[3px\] {
  width: 3px;
}
.w-\[52px\] {
  width: 52px;
}
.w-\[72px\] {
  width: 72px;
}
.w-\[calc\(100\%_-_24px\)\] {
  width: calc(100% - 24px);
}
.w-auto {
  width: auto;
}
.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}
.w-full {
  width: 100%;
}
.w-px {
  width: 1px;
}
.w-screen {
  width: 100vw;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-10 {
  min-width: 2.5rem;
}
.min-w-24 {
  min-width: 6rem;
}
.min-w-48 {
  min-width: 12rem;
}
.min-w-56 {
  min-width: 14rem;
}
.min-w-\[15rem\] {
  min-width: 15rem;
}
.min-w-\[480px\] {
  min-width: 480px;
}
.min-w-\[72px\] {
  min-width: 72px;
}
.min-w-\[760px\] {
  min-width: 760px;
}
.min-w-\[92px\] {
  min-width: 92px;
}
.max-w-20 {
  max-width: 5rem;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-32 {
  max-width: 8rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-40 {
  max-width: 10rem;
}
.max-w-44 {
  max-width: 11rem;
}
.max-w-48 {
  max-width: 12rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-52 {
  max-width: 13rem;
}
.max-w-5xl {
  max-width: 64rem;
}
.max-w-64 {
  max-width: 16rem;
}
.max-w-6xl {
  max-width: 72rem;
}
.max-w-72 {
  max-width: 18rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-80 {
  max-width: 20rem;
}
.max-w-\[10rem\] {
  max-width: 10rem;
}
.max-w-\[1100px\] {
  max-width: 1100px;
}
.max-w-\[12rem\] {
  max-width: 12rem;
}
.max-w-\[140px\] {
  max-width: 140px;
}
.max-w-\[160px\] {
  max-width: 160px;
}
.max-w-\[180px\] {
  max-width: 180px;
}
.max-w-\[200px\] {
  max-width: 200px;
}
.max-w-\[220px\] {
  max-width: 220px;
}
.max-w-\[80\%\] {
  max-width: 80%;
}
.max-w-\[85\%\] {
  max-width: 85%;
}
.max-w-\[calc\(100\%_-_24px\)\] {
  max-width: calc(100% - 24px);
}
.max-w-\[calc\(100vw-16px\)\] {
  max-width: calc(100vw - 16px);
}
.max-w-\[calc\(100vw-24px\)\] {
  max-width: calc(100vw - 24px);
}
.max-w-\[calc\(100vw-3rem\)\] {
  max-width: calc(100vw - 3rem);
}
.max-w-\[calc\(100vw-64px\)\] {
  max-width: calc(100vw - 64px);
}
.max-w-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-sm {
  max-width: 24rem;
}
.max-w-xl {
  max-width: 36rem;
}
.max-w-xs {
  max-width: 20rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-none {
  flex: none;
}
.shrink {
  flex-shrink: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.grow {
  flex-grow: 1;
}
.basis-64 {
  flex-basis: 16rem;
}
.basis-72 {
  flex-basis: 18rem;
}
.-translate-x-1 {
  --tw-translate-x: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-5 {
  --tw-translate-x: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-90 {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes fade-in {

  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
.animate-fade-in {
  animation: fade-in 0.18s ease-out both;
}
@keyframes lf-load {

  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(300%);
  }
}
.animate-lf-load {
  animation: lf-load 1.1s ease-in-out infinite;
}
@keyframes lf-rise {

  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.animate-lf-rise {
  animation: lf-rise 0.2s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes lf-slide-in-left {

  from {
    opacity: 0;
    transform: translateX(-12px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.animate-lf-slide-in-left {
  animation: lf-slide-in-left 0.2s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes pulse {

  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes scale-in {

  from {
    opacity: 0;
    transform: scale(0.97);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}
.animate-scale-in {
  animation: scale-in 0.16s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-col-resize {
  cursor: col-resize;
}
.cursor-default {
  cursor: default;
}
.cursor-grab {
  cursor: grab;
}
.cursor-move {
  cursor: move;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.cursor-se-resize {
  cursor: se-resize;
}
.touch-none {
  touch-action: none;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize-none {
  resize: none;
}
.resize-y {
  resize: vertical;
}
.resize {
  resize: both;
}
.list-decimal {
  list-style-type: decimal;
}
.list-none {
  list-style-type: none;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-\[110px_1fr\] {
  grid-template-columns: 110px 1fr;
}
.grid-cols-\[120px_1fr\] {
  grid-template-columns: 120px 1fr;
}
.grid-cols-\[1fr_auto_auto\] {
  grid-template-columns: 1fr auto auto;
}
.grid-cols-\[7rem_1fr_auto\] {
  grid-template-columns: 7rem 1fr auto;
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.place-items-center {
  place-items: center;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-3\.5 {
  gap: 0.875rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-7 {
  gap: 1.75rem;
}
.gap-x-2 {
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.gap-x-3 {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}
.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.gap-y-0\.5 {
  row-gap: 0.125rem;
}
.gap-y-1 {
  row-gap: 0.25rem;
}
.gap-y-1\.5 {
  row-gap: 0.375rem;
}
.gap-y-2 {
  row-gap: 0.5rem;
}
.gap-y-3 {
  row-gap: 0.75rem;
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-hairline > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(var(--lf-hairline) / var(--tw-divide-opacity, 1));
}
.self-center {
  align-self: center;
}
.self-stretch {
  align-self: stretch;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-clip {
  overflow: clip;
}
.overflow-visible {
  overflow: visible;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overscroll-contain {
  overscroll-behavior: contain;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-line {
  white-space: pre-line;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1.125rem;
}
.rounded-3xl {
  border-radius: 1.5rem;
}
.rounded-\[10px\] {
  border-radius: 10px;
}
.rounded-\[24px\] {
  border-radius: 24px;
}
.rounded-\[36px\] {
  border-radius: 36px;
}
.rounded-\[42\%\] {
  border-radius: 42%;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-md {
  border-radius: 0.375rem;
}
.rounded-sm {
  border-radius: 0.125rem;
}
.rounded-xl {
  border-radius: 0.875rem;
}
.rounded-l-none {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}
.rounded-r {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
.rounded-r-none {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
.rounded-t-2xl {
  border-top-left-radius: 1.125rem;
  border-top-right-radius: 1.125rem;
}
.rounded-t-lg {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}
.rounded-t-xl {
  border-top-left-radius: 0.875rem;
  border-top-right-radius: 0.875rem;
}
.rounded-br-md {
  border-bottom-right-radius: 0.375rem;
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-0 {
  border-bottom-width: 0px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-l {
  border-left-width: 1px;
}
.border-r {
  border-right-width: 1px;
}
.border-r-0 {
  border-right-width: 0px;
}
.border-t {
  border-top-width: 1px;
}
.border-dashed {
  border-style: dashed;
}
.border-accent {
  --tw-border-opacity: 1;
  border-color: rgb(var(--lf-accent) / var(--tw-border-opacity, 1));
}
.border-accent\/20 {
  border-color: rgb(var(--lf-accent) / 0.2);
}
.border-accent\/25 {
  border-color: rgb(var(--lf-accent) / 0.25);
}
.border-accent\/30 {
  border-color: rgb(var(--lf-accent) / 0.3);
}
.border-accent\/35 {
  border-color: rgb(var(--lf-accent) / 0.35);
}
.border-accent\/40 {
  border-color: rgb(var(--lf-accent) / 0.4);
}
.border-accent\/50 {
  border-color: rgb(var(--lf-accent) / 0.5);
}
.border-accent\/60 {
  border-color: rgb(var(--lf-accent) / 0.6);
}
.border-border {
  --tw-border-opacity: 1;
  border-color: rgb(var(--lf-border) / var(--tw-border-opacity, 1));
}
.border-danger\/20 {
  border-color: rgb(var(--lf-danger) / 0.2);
}
.border-danger\/30 {
  border-color: rgb(var(--lf-danger) / 0.3);
}
.border-hairline {
  --tw-border-opacity: 1;
  border-color: rgb(var(--lf-hairline) / var(--tw-border-opacity, 1));
}
.border-hairline\/50 {
  border-color: rgb(var(--lf-hairline) / 0.5);
}
.border-hairline\/60 {
  border-color: rgb(var(--lf-hairline) / 0.6);
}
.border-hairline\/70 {
  border-color: rgb(var(--lf-hairline) / 0.7);
}
.border-muted {
  --tw-border-opacity: 1;
  border-color: rgb(var(--lf-muted) / var(--tw-border-opacity, 1));
}
.border-success\/30 {
  border-color: rgb(var(--lf-success) / 0.3);
}
.border-success\/40 {
  border-color: rgb(var(--lf-success) / 0.4);
}
.border-text\/20 {
  border-color: rgb(var(--lf-text) / 0.2);
}
.border-text\/50 {
  border-color: rgb(var(--lf-text) / 0.5);
}
.border-text\/60 {
  border-color: rgb(var(--lf-text) / 0.6);
}
.border-transparent {
  border-color: transparent;
}
.border-warning\/20 {
  border-color: rgb(var(--lf-warning) / 0.2);
}
.border-warning\/30 {
  border-color: rgb(var(--lf-warning) / 0.3);
}
.border-warning\/35 {
  border-color: rgb(var(--lf-warning) / 0.35);
}
.border-warning\/40 {
  border-color: rgb(var(--lf-warning) / 0.4);
}
.border-warning\/50 {
  border-color: rgb(var(--lf-warning) / 0.5);
}
.bg-accent {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-accent) / var(--tw-bg-opacity, 1));
}
.bg-accent-soft {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-accent-soft) / var(--tw-bg-opacity, 1));
}
.bg-accent-soft\/30 {
  background-color: rgb(var(--lf-accent-soft) / 0.3);
}
.bg-accent-soft\/40 {
  background-color: rgb(var(--lf-accent-soft) / 0.4);
}
.bg-accent-soft\/50 {
  background-color: rgb(var(--lf-accent-soft) / 0.5);
}
.bg-accent-soft\/60 {
  background-color: rgb(var(--lf-accent-soft) / 0.6);
}
.bg-accent-strong {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-accent-strong) / var(--tw-bg-opacity, 1));
}
.bg-accent\/10 {
  background-color: rgb(var(--lf-accent) / 0.1);
}
.bg-accent\/15 {
  background-color: rgb(var(--lf-accent) / 0.15);
}
.bg-accent\/5 {
  background-color: rgb(var(--lf-accent) / 0.05);
}
.bg-accent\/60 {
  background-color: rgb(var(--lf-accent) / 0.6);
}
.bg-accent\/70 {
  background-color: rgb(var(--lf-accent) / 0.7);
}
.bg-bg {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-bg) / var(--tw-bg-opacity, 1));
}
.bg-bg\/20 {
  background-color: rgb(var(--lf-bg) / 0.2);
}
.bg-bg\/30 {
  background-color: rgb(var(--lf-bg) / 0.3);
}
.bg-bg\/40 {
  background-color: rgb(var(--lf-bg) / 0.4);
}
.bg-bg\/50 {
  background-color: rgb(var(--lf-bg) / 0.5);
}
.bg-bg\/60 {
  background-color: rgb(var(--lf-bg) / 0.6);
}
.bg-bg\/70 {
  background-color: rgb(var(--lf-bg) / 0.7);
}
.bg-bg\/80 {
  background-color: rgb(var(--lf-bg) / 0.8);
}
.bg-bg\/90 {
  background-color: rgb(var(--lf-bg) / 0.9);
}
.bg-border {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-border) / var(--tw-bg-opacity, 1));
}
.bg-canvas {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-canvas) / var(--tw-bg-opacity, 1));
}
.bg-current {
  background-color: currentColor;
}
.bg-danger {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-danger) / var(--tw-bg-opacity, 1));
}
.bg-danger\/10 {
  background-color: rgb(var(--lf-danger) / 0.1);
}
.bg-danger\/15 {
  background-color: rgb(var(--lf-danger) / 0.15);
}
.bg-danger\/5 {
  background-color: rgb(var(--lf-danger) / 0.05);
}
.bg-elevated {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-elevated) / var(--tw-bg-opacity, 1));
}
.bg-elevated\/20 {
  background-color: rgb(var(--lf-elevated) / 0.2);
}
.bg-elevated\/30 {
  background-color: rgb(var(--lf-elevated) / 0.3);
}
.bg-elevated\/40 {
  background-color: rgb(var(--lf-elevated) / 0.4);
}
.bg-elevated\/50 {
  background-color: rgb(var(--lf-elevated) / 0.5);
}
.bg-elevated\/60 {
  background-color: rgb(var(--lf-elevated) / 0.6);
}
.bg-elevated\/95 {
  background-color: rgb(var(--lf-elevated) / 0.95);
}
.bg-emerald-500\/10 {
  background-color: rgb(16 185 129 / 0.1);
}
.bg-faint {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-faint) / var(--tw-bg-opacity, 1));
}
.bg-faint\/40 {
  background-color: rgb(var(--lf-faint) / 0.4);
}
.bg-hairline {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-hairline) / var(--tw-bg-opacity, 1));
}
.bg-muted {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-muted) / var(--tw-bg-opacity, 1));
}
.bg-muted\/10 {
  background-color: rgb(var(--lf-muted) / 0.1);
}
.bg-muted\/15 {
  background-color: rgb(var(--lf-muted) / 0.15);
}
.bg-muted\/20 {
  background-color: rgb(var(--lf-muted) / 0.2);
}
.bg-muted\/30 {
  background-color: rgb(var(--lf-muted) / 0.3);
}
.bg-muted\/40 {
  background-color: rgb(var(--lf-muted) / 0.4);
}
.bg-on-accent {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-on-accent) / var(--tw-bg-opacity, 1));
}
.bg-panel {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-panel) / var(--tw-bg-opacity, 1));
}
.bg-panel\/30 {
  background-color: rgb(var(--lf-panel) / 0.3);
}
.bg-panel\/40 {
  background-color: rgb(var(--lf-panel) / 0.4);
}
.bg-panel\/50 {
  background-color: rgb(var(--lf-panel) / 0.5);
}
.bg-panel\/60 {
  background-color: rgb(var(--lf-panel) / 0.6);
}
.bg-panel\/70 {
  background-color: rgb(var(--lf-panel) / 0.7);
}
.bg-panel\/80 {
  background-color: rgb(var(--lf-panel) / 0.8);
}
.bg-panel\/95 {
  background-color: rgb(var(--lf-panel) / 0.95);
}
.bg-rose-500\/10 {
  background-color: rgb(244 63 94 / 0.1);
}
.bg-scrim\/20 {
  background-color: rgb(var(--lf-scrim) / 0.2);
}
.bg-scrim\/30 {
  background-color: rgb(var(--lf-scrim) / 0.3);
}
.bg-scrim\/40 {
  background-color: rgb(var(--lf-scrim) / 0.4);
}
.bg-scrim\/50 {
  background-color: rgb(var(--lf-scrim) / 0.5);
}
.bg-success {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-success) / var(--tw-bg-opacity, 1));
}
.bg-success\/10 {
  background-color: rgb(var(--lf-success) / 0.1);
}
.bg-success\/15 {
  background-color: rgb(var(--lf-success) / 0.15);
}
.bg-success\/5 {
  background-color: rgb(var(--lf-success) / 0.05);
}
.bg-success\/50 {
  background-color: rgb(var(--lf-success) / 0.5);
}
.bg-success\/\[0\.04\] {
  background-color: rgb(var(--lf-success) / 0.04);
}
.bg-surface {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-surface) / var(--tw-bg-opacity, 1));
}
.bg-surface\/20 {
  background-color: rgb(var(--lf-surface) / 0.2);
}
.bg-surface\/30 {
  background-color: rgb(var(--lf-surface) / 0.3);
}
.bg-surface\/40 {
  background-color: rgb(var(--lf-surface) / 0.4);
}
.bg-surface\/50 {
  background-color: rgb(var(--lf-surface) / 0.5);
}
.bg-surface\/60 {
  background-color: rgb(var(--lf-surface) / 0.6);
}
.bg-text {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-text) / var(--tw-bg-opacity, 1));
}
.bg-text\/50 {
  background-color: rgb(var(--lf-text) / 0.5);
}
.bg-text\/60 {
  background-color: rgb(var(--lf-text) / 0.6);
}
.bg-text\/70 {
  background-color: rgb(var(--lf-text) / 0.7);
}
.bg-transparent {
  background-color: transparent;
}
.bg-warning {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-warning) / var(--tw-bg-opacity, 1));
}
.bg-warning\/10 {
  background-color: rgb(var(--lf-warning) / 0.1);
}
.bg-warning\/15 {
  background-color: rgb(var(--lf-warning) / 0.15);
}
.bg-warning\/5 {
  background-color: rgb(var(--lf-warning) / 0.05);
}
.bg-warning\/80 {
  background-color: rgb(var(--lf-warning) / 0.8);
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.from-accent-soft\/60 {
  --tw-gradient-from: rgb(var(--lf-accent-soft) / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(var(--lf-accent-soft) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-accent\/10 {
  --tw-gradient-from: rgb(var(--lf-accent) / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(var(--lf-accent) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-accent\/5 {
  --tw-gradient-from: rgb(var(--lf-accent) / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(var(--lf-accent) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-surface {
  --tw-gradient-to: rgb(var(--lf-surface) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--lf-surface) / 1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-elevated {
  --tw-gradient-to: rgb(var(--lf-elevated) / 1) var(--tw-gradient-to-position);
}
.to-panel {
  --tw-gradient-to: rgb(var(--lf-panel) / 1) var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.fill-accent {
  fill: rgb(var(--lf-accent) / 1);
}
.fill-accent\/70 {
  fill: rgb(var(--lf-accent) / 0.7);
}
.fill-accent\/80 {
  fill: rgb(var(--lf-accent) / 0.8);
}
.fill-border {
  fill: rgb(var(--lf-border) / 1);
}
.fill-text\/35 {
  fill: rgb(var(--lf-text) / 0.35);
}
.stroke-border {
  stroke: rgb(var(--lf-border) / 1);
}
.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.object-top {
  -o-object-position: top;
     object-position: top;
}
.p-0 {
  padding: 0px;
}
.p-0\.5 {
  padding: 0.125rem;
}
.p-1 {
  padding: 0.25rem;
}
.p-1\.5 {
  padding: 0.375rem;
}
.p-10 {
  padding: 2.5rem;
}
.p-12 {
  padding: 3rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-2\.5 {
  padding: 0.625rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-3\.5 {
  padding: 0.875rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-7 {
  padding: 1.75rem;
}
.p-8 {
  padding: 2rem;
}
.\!px-1\.5 {
  padding-left: 0.375rem !important;
  padding-right: 0.375rem !important;
}
.\!py-0 {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-7 {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-0\.5 {
  padding-bottom: 0.125rem;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-1\.5 {
  padding-bottom: 0.375rem;
}
.pb-12 {
  padding-bottom: 3rem;
}
.pb-16 {
  padding-bottom: 4rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-2\.5 {
  padding-bottom: 0.625rem;
}
.pb-24 {
  padding-bottom: 6rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-32 {
  padding-bottom: 8rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pl-1 {
  padding-left: 0.25rem;
}
.pl-1\.5 {
  padding-left: 0.375rem;
}
.pl-2 {
  padding-left: 0.5rem;
}
.pl-2\.5 {
  padding-left: 0.625rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pl-4 {
  padding-left: 1rem;
}
.pl-5 {
  padding-left: 1.25rem;
}
.pl-6 {
  padding-left: 1.5rem;
}
.pl-8 {
  padding-left: 2rem;
}
.pl-9 {
  padding-left: 2.25rem;
}
.pl-\[78px\] {
  padding-left: 78px;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pr-1\.5 {
  padding-right: 0.375rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-2\.5 {
  padding-right: 0.625rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-7 {
  padding-right: 1.75rem;
}
.pr-\[140px\] {
  padding-right: 140px;
}
.pt-0 {
  padding-top: 0px;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-1\.5 {
  padding-top: 0.375rem;
}
.pt-12 {
  padding-top: 3rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-2\.5 {
  padding-top: 0.625rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-3\.5 {
  padding-top: 0.875rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-5 {
  padding-top: 1.25rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.pt-8 {
  padding-top: 2rem;
}
.pt-\[14vh\] {
  padding-top: 14vh;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.align-middle {
  vertical-align: middle;
}
.font-mono {
  font-family: IBM Plex Mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.font-sans {
  font-family: Schibsted Grotesk Variable, Schibsted Grotesk, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-5xl {
  font-size: 3rem;
  line-height: 1;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12px\] {
  font-size: 12px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[9px\] {
  font-size: 9px;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-bold {
  font-weight: 700;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.capitalize {
  text-transform: capitalize;
}
.normal-case {
  text-transform: none;
}
.italic {
  font-style: italic;
}
.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-4 {
  line-height: 1rem;
}
.leading-5 {
  line-height: 1.25rem;
}
.leading-6 {
  line-height: 1.5rem;
}
.leading-7 {
  line-height: 1.75rem;
}
.leading-\[1\.08\] {
  line-height: 1.08;
}
.leading-none {
  line-height: 1;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[\.18em\] {
  letter-spacing: .18em;
}
.tracking-\[\.3em\] {
  letter-spacing: .3em;
}
.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}
.tracking-\[0\.16em\] {
  letter-spacing: 0.16em;
}
.tracking-\[0\.18em\] {
  letter-spacing: 0.18em;
}
.tracking-\[0\.4em\] {
  letter-spacing: 0.4em;
}
.tracking-normal {
  letter-spacing: 0em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.text-accent {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-accent) / var(--tw-text-opacity, 1));
}
.text-accent-strong {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-accent-strong) / var(--tw-text-opacity, 1));
}
.text-accent\/80 {
  color: rgb(var(--lf-accent) / 0.8);
}
.text-bg {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-bg) / var(--tw-text-opacity, 1));
}
.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-border {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-border) / var(--tw-text-opacity, 1));
}
.text-danger {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-danger) / var(--tw-text-opacity, 1));
}
.text-danger\/90 {
  color: rgb(var(--lf-danger) / 0.9);
}
.text-faint {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-faint) / var(--tw-text-opacity, 1));
}
.text-faint\/50 {
  color: rgb(var(--lf-faint) / 0.5);
}
.text-faint\/60 {
  color: rgb(var(--lf-faint) / 0.6);
}
.text-faint\/80 {
  color: rgb(var(--lf-faint) / 0.8);
}
.text-muted {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-muted) / var(--tw-text-opacity, 1));
}
.text-on-accent {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-on-accent) / var(--tw-text-opacity, 1));
}
.text-success {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-success) / var(--tw-text-opacity, 1));
}
.text-success\/80 {
  color: rgb(var(--lf-success) / 0.8);
}
.text-text {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-text) / var(--tw-text-opacity, 1));
}
.text-text\/60 {
  color: rgb(var(--lf-text) / 0.6);
}
.text-warning {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-warning) / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.line-through {
  text-decoration-line: line-through;
}
.decoration-accent\/40 {
  text-decoration-color: rgb(var(--lf-accent) / 0.4);
}
.decoration-border {
  text-decoration-color: rgb(var(--lf-border) / 1);
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.underline-offset-4 {
  text-underline-offset: 4px;
}
.accent-accent {
  accent-color: rgb(var(--lf-accent) / 1);
}
.accent-current {
  accent-color: currentColor;
}
.opacity-0 {
  opacity: 0;
}
.opacity-100 {
  opacity: 1;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-80 {
  opacity: 0.8;
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-panel {
  --tw-shadow: var(--lf-shadow-2);
  --tw-shadow-colored: var(--lf-shadow-2);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-soft {
  --tw-shadow: var(--lf-shadow-1);
  --tw-shadow-colored: var(--lf-shadow-1);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-panel {
  --tw-shadow-color: rgb(var(--lf-panel) / 1);
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.outline-offset-1 {
  outline-offset: 1px;
}
.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-accent\/20 {
  --tw-ring-color: rgb(var(--lf-accent) / 0.2);
}
.ring-accent\/30 {
  --tw-ring-color: rgb(var(--lf-accent) / 0.3);
}
.ring-muted\/20 {
  --tw-ring-color: rgb(var(--lf-muted) / 0.2);
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.saturate-\[\.6\] {
  --tw-saturate: saturate(.6);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur {
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-md {
  --tw-backdrop-blur: blur(12px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-xl {
  --tw-backdrop-blur: blur(24px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[opacity\2c transform\] {
  transition-property: opacity,transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[transform\2c box-shadow\2c border-color\] {
  transition-property: transform,box-shadow,border-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[transform\2c box-shadow\] {
  transition-property: transform,box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\2c opacity\] {
  transition-property: width,opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\] {
  transition-property: width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.duration-fast {
  transition-duration: 160ms;
}
.duration-gentle {
  transition-duration: 240ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.ease-spring {
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}
.\[scrollbar-width\:thin\] {
  scrollbar-width: thin;
}

/* ---- ACE Forge design tokens. RGB triplets so Tailwind alpha works. ----
   Dark = warm ink, light = warm paper; cosmic orange #f77826 is the ONE loud
   color (signal, not paint). Source of truth: the ACE Forge theme sheet. */
:root,
html.dark {
  --lf-bg: 10 9 8; /* #0a0908 near-black, faint warm tint */
  --lf-surface: 16 15 13; /* #100f0d inputs / sunk — one calm step over bg */
  --lf-panel: 21 20 18; /* #151412 cards */
  --lf-elevated: 28 27 24; /* #1c1b18 hover/raised — visible delta over panel */
  --lf-border: 48 47 43; /* softer over near-black */
  --lf-hairline: 38 37 33; /* dividers, matched softening */
  --lf-text: 236 232 223; /* #ece8df */
  --lf-muted: 168 163 149; /* #a8a395 */
  --lf-faint: 118 112 97; /* #767061 */
  --lf-accent: 247 120 38; /* #f77826 cosmic orange */
  --lf-accent-soft: 62 38 22; /* = cosmic orange ~18% over panel */
  --lf-accent-strong: 247 120 38; /* readable accent text on accent-soft — dark already clears AA, so = accent */
  --lf-success: 95 176 121;
  --lf-warning: 217 166 78;
  --lf-danger: 240 116 106;
  --lf-canvas: 8 7 6; /* #080706 just under app bg */
  --lf-grid: 40 38 33;
  --lf-on-accent: 26 18 6;
  --lf-scrim: 0 0 0;
  --lf-accent-hover: 250 143 78;
  /* Full box-shadow values (not triplets) — mapped to shadow-soft / shadow-panel. */
  --lf-shadow-1: 0 1px 2px rgb(0 0 0 / 0.4), 0 8px 24px -12px rgb(0 0 0 / 0.5);
  --lf-shadow-2:
    0 1px 2px rgb(0 0 0 / 0.35),
    0 24px 56px -20px rgb(0 0 0 / 0.42),
    inset 0 1px 0 rgb(255 255 255 / 0.08);
  color-scheme: dark;
}

html.light {
  --lf-bg: 242 240 234; /* #f2f0ea warm paper */
  --lf-surface: 245 243 237; /* #f5f3ed */
  --lf-panel: 251 249 245; /* #fbf9f5 */
  --lf-elevated: 255 255 255;
  --lf-border: 208 206 200; /* = ink 16% over paper */
  --lf-hairline: 223 221 215; /* = ink  9% over paper */
  --lf-text: 31 29 26; /* #1f1d1a */
  --lf-muted: 90 86 78; /* #5a564e */
  --lf-faint: 140 135 125; /* #8c877d */
  --lf-accent: 247 120 38;
  --lf-accent-soft: 255 236 221; /* #ffecdd pale warm orange wash */
  --lf-accent-strong: 165 66 12; /* #a5420c deep amber-orange — ~5.4:1 on accent-soft (AA) where #f77826 was 2.6:1 */
  --lf-success: 63 125 82;
  --lf-warning: 154 106 22;
  --lf-danger: 181 58 44;
  --lf-canvas: 237 235 228;
  --lf-grid: 214 210 200;
  --lf-on-accent: 255 255 255;
  --lf-scrim: 31 29 26;
  --lf-accent-hover: 222 92 28;
  /* Softer, ink-tinted shadows for the light theme. */
  --lf-shadow-1: 0 1px 2px rgb(31 29 26 / 0.05), 0 4px 12px rgb(31 29 26 / 0.08);
  --lf-shadow-2:
    0 1px 2px rgb(31 29 26 / 0.05),
    0 16px 38px -16px rgb(31 29 26 / 0.11),
    inset 0 1px 0 rgb(255 255 255 / 0.6);
  color-scheme: light;
}

/* ---- ACE brand-mark constants (the founder-hub hand-off). FIXED identity
   colors — the mark is the same being on every theme, so these deliberately
   do NOT flip with html.light. Tokens instead of themeGuard allowlist
   entries, per the house rule ("if the list grows, add a token instead"). */
:root {
  --lf-brand-shell: 236 232 223; /* ivory glass shell (#ece8df) */
  --lf-brand-ink: 31 29 26; /* ink shell variant for light surfaces */
  --lf-brand-coral: 240 106 34; /* the carved core — brand cosmic orange (#f06a22) */
  --lf-brand-shade: 84 77 63; /* shell self-shading (#544d3f) */
  --lf-brand-carve: 74 63 48; /* carve-lip shading (#4a3f30) */
  --lf-brand-plus: 255 243 236; /* engraved plus stroke (#fff3ec) */
}

/* A brand-fixed DARK stage (the pre-auth landing). The stage's ground is
   always ink, but html.light is reachable pre-auth (theme pre-paint), and
   light-theme values of these tokens drop below AA on ink — so the stage
   pins the theme slice it consumes to the DARK values above (keep in sync
   with the `:root, html.dark` block). Same house rule as the brand tokens:
   pinned tokens, not allowlist entries. */
.lf-brand-stage {
  --lf-accent-soft: 62 38 22;
  --lf-accent-strong: 247 120 38;
  --lf-accent-hover: 250 143 78;
  --lf-danger: 240 116 106;
  --lf-elevated: 28 27 24;
}
/* The global accent outline reads 2.75:1 on the ink stage; lift it past the
   3:1 non-text minimum here. */
.lf-brand-stage :focus-visible {
  outline-color: rgb(var(--lf-accent) / 0.9);
}

* {
  border-color: rgb(var(--lf-border));
}

/* Global keyboard focus ring (base layer so component classes like .lf-input
   can still opt out with outline-none). Mouse focus stays outline-free. */

html,
body,
#root {
  height: 100%;
  margin: 0;
}

body {
  background-color: rgb(var(--lf-bg));
  color: rgb(var(--lf-text));
  font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11';
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow: hidden;
}

#lf-splash {
  display: none;
}

/* Native title-bar drag regions */
.lf-drag {
  -webkit-app-region: drag;
}
.lf-no-drag {
  -webkit-app-region: no-drag;
}

/* Refined scrollbars */
::-webkit-scrollbar {
  width: 11px;
  height: 11px;
}
::-webkit-scrollbar-thumb {
  background: rgb(var(--lf-border));
  border-radius: 999px;
  border: 3px solid transparent;
  background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover {
  background: rgb(var(--lf-faint));
  background-clip: content-box;
}
::-webkit-scrollbar-corner {
  background: transparent;
}

/* Reduced transparency / motion */
html.reduce-transparency .lf-blur {
  backdrop-filter: none !important;
  background-color: rgb(var(--lf-panel)) !important;
}
/* The tinted coral buttons collapse to an OPAQUE coral-soft pane (keeping the
   coral text readable + the border + press dip) — premium without the
   transmission, and NOT the panel colour the generic .lf-blur rule would give. */
html.reduce-transparency .lf-btn-primary {
  backdrop-filter: none !important;
  background-color: rgb(var(--lf-accent-soft)) !important;
}
/* The glass Create capsule collapses to an opaque elevated pane. */
html.reduce-transparency .lf-btn-create {
  backdrop-filter: none !important;
  background-image: none !important;
  background-color: rgb(var(--lf-elevated)) !important;
}

/* iteration-count 1 matters as much as the duration: an INFINITE animation at
   0.001ms doesn't freeze — it samples a random phase every display frame
   (a spinner strobing through rotations). One instant iteration, then still. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
html.reduce-motion *,
html.reduce-motion *::before,
html.reduce-motion *::after {
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
}

/* ---- Forge assembly (cockpit building stage) ----
   Pieces fly in ONCE and settle (fill: forwards) — the reduced-motion
   neutralizer (0.001ms × 1 iteration) instantly lands them settled, calm.
   The weld sweep's 100% frame is off-stage right, so a frozen run is invisible. */
@keyframes lf-forge-in {
  from {
    opacity: 0;
    transform: translate(var(--forge-from-x, 0px), var(--forge-from-y, 24px)) scale(0.94);
    filter: blur(3px);
  }
  to {
    opacity: 1;
    transform: translate(0, 0) scale(1);
    filter: blur(0);
  }
}
@keyframes lf-forge-sweep {
  0% {
    transform: translateX(-120%);
    opacity: 0;
  }
  12% {
    opacity: 1;
  }
  55%,
  100% {
    transform: translateX(480%);
    opacity: 0;
  }
}
.lf-forge-piece {
  opacity: 0;
  animation: lf-forge-in 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.lf-forge-sweep {
  animation: lf-forge-sweep 3.4s ease-in-out 1.4s infinite;
}

/* Abstract assembly loops while the real build works. The numeric plan bar
   remains the source of truth; pieces settle fully when motion is disabled. */
@keyframes lf-build-place {
  0%, 2% { opacity: 0; transform: translate(var(--build-x), var(--build-y)) scale(.96); }
  10%, 72% { opacity: 1; transform: translate(0, 0) scale(1); }
  83%, 100% { opacity: 0; transform: translate(0, 0) scale(1); }
}
.lf-build-place { transform-box: fill-box; transform-origin: center; animation: lf-build-place 13s cubic-bezier(.22, 1, .36, 1) infinite backwards; }
@keyframes lf-build-cursor {
  0% { transform: translate(320px, 60px); opacity: 0; }
  10% { transform: translate(190px, 135px); opacity: 1; }
  25% { transform: translate(458px, 169px); opacity: 1; }
  40% { transform: translate(245px, 198px); opacity: 1; }
  58% { transform: translate(478px, 288px); opacity: 1; }
  68%, 100% { transform: translate(530px, 330px); opacity: 0; }
}
.lf-build-cursor { animation: lf-build-cursor 13s cubic-bezier(.22, 1, .36, 1) infinite; }
@keyframes lf-ace-wobble {
  0%, 100% { border-radius: 42% 58% 62% 38% / 46% 42% 58% 54%; transform: rotate(-28deg) scale(.88, 1); }
  33% { border-radius: 60% 40% 38% 62% / 36% 61% 39% 64%; transform: rotate(64deg) scale(1.09, .84); }
  67% { border-radius: 38% 62% 55% 45% / 60% 36% 64% 40%; transform: rotate(172deg) scale(.93, 1.08); }
}
@keyframes lf-liquid-shell {
  0%, 100% { transform: rotate(-6deg) scale(.96, 1.02); }
  48% { transform: rotate(8deg) scale(1.04, .94); }
}
@keyframes lf-liquid-core {
  0%, 100% { transform: translate(-2px, 2px) rotate(-5deg); }
  52% { transform: translate(3px, -4px) rotate(9deg); }
}
@keyframes lf-liquid-outline {
  0%, 100% { d: path('M81 19C116 13 144 41 139 76C135 108 141 125 113 136C82 148 43 137 27 111C9 80 24 42 48 27C59 20 69 20 81 19Z'); }
  50% { d: path('M81 24C110 18 135 34 134 72C133 105 147 124 110 132C79 139 38 145 25 107C16 77 30 46 51 29C61 21 70 26 81 24Z'); }
}
.lf-liquid-ace-shell, .lf-liquid-ace-core { transform-origin: 80px 80px; }
.lf-liquid-ace .lf-liquid-ace-shell { animation: lf-liquid-shell 6.4s ease-in-out infinite; }
.lf-liquid-ace .lf-liquid-ace-outline { animation: lf-liquid-outline 5.8s ease-in-out infinite; }
.lf-liquid-ace .lf-liquid-ace-core { animation: lf-liquid-core 4.9s ease-in-out infinite; }
.lf-liquid-ace .lf-liquid-ace-shine { transform-origin: 80px 80px; animation: lf-liquid-core 6.4s ease-in-out reverse infinite; }

/* ---- Workflow Studio: React Flow v12 themed via tokens ---- */
.lf-flow {
  --xy-background-color: rgb(var(--lf-canvas));
  --xy-background-pattern-dots-color: rgb(var(--lf-grid));
  --xy-node-background-color: rgb(var(--lf-panel));
  --xy-node-color: rgb(var(--lf-text));
  --xy-node-border: 1px solid rgb(var(--lf-hairline));
  --xy-node-border-radius: 1.125rem;
  --xy-node-boxshadow-hover: 0 1px 2px rgb(0 0 0 / 0.08), 0 8px 24px -12px rgb(0 0 0 / 0.3);
  --xy-node-boxshadow-selected: 0 0 0 2px rgb(var(--lf-accent) / 0.55);
  --xy-edge-stroke: rgb(var(--lf-border));
  --xy-edge-stroke-width: 1.5;
  --xy-edge-stroke-selected: rgb(var(--lf-accent));
  --xy-edge-label-background-color: rgb(var(--lf-elevated));
  --xy-edge-label-color: rgb(var(--lf-muted));
  --xy-connectionline-stroke: rgb(var(--lf-accent));
  --xy-handle-background-color: rgb(var(--lf-elevated));
  --xy-handle-border-color: rgb(var(--lf-border));
  --xy-selection-background-color: rgb(var(--lf-accent) / 0.08);
  --xy-selection-border: 1px dashed rgb(var(--lf-accent) / 0.7);
  --xy-minimap-background-color: rgb(var(--lf-surface));
  --xy-minimap-mask-background-color: rgb(var(--lf-bg) / 0.65);
  --xy-minimap-mask-stroke-color: rgb(var(--lf-border));
  --xy-minimap-node-background-color: rgb(var(--lf-elevated));
  --xy-minimap-node-stroke-color: rgb(var(--lf-hairline));
  --xy-controls-button-background-color: rgb(var(--lf-panel));
  --xy-controls-button-background-color-hover: rgb(var(--lf-elevated));
  --xy-controls-button-color: rgb(var(--lf-muted));
  --xy-controls-button-color-hover: rgb(var(--lf-text));
  --xy-controls-button-border-color: rgb(var(--lf-hairline));
  --xy-controls-box-shadow: 0 1px 2px rgb(0 0 0 / 0.08), 0 8px 24px -12px rgb(0 0 0 / 0.3);
  --xy-attribution-background-color-default: rgb(var(--lf-panel) / 0.6);
}

/* 8px handle dots, token-colored, accent on hover */
.lf-flow .react-flow__handle {
  height: 8px;
  width: 8px;
  border-radius: 9999px;
  background: rgb(var(--lf-elevated));
  border: 1px solid rgb(var(--lf-border));
}
.lf-flow .react-flow__handle:hover {
  border-color: rgb(var(--lf-accent));
}

/* Edge whose target node is currently running: marching dashes */
.lf-flow .lf-edge-active {
  stroke: rgb(var(--lf-accent));
  stroke-dasharray: 6 4;
  animation: lf-dash 0.6s linear infinite;
}
@keyframes lf-dash {
  to {
    stroke-dashoffset: -20;
  }
}

/* Live-status label ("Thinking…"): a soft sheen sweeping through muted text
   while Ace works — the calm working indicator. Gradient is token-built
   (muted base, text-bright crest) so both themes read correctly, and
   background-position is the only animated property (compositor-cheap).
   Under reduced motion the global iteration-count rule freezes it to a
   static muted blend — still readable text, no sweep. */
.lf-shimmer-text {
  background-image: linear-gradient(
    90deg,
    rgb(var(--lf-muted)) 0%,
    rgb(var(--lf-muted)) 35%,
    rgb(var(--lf-text)) 50%,
    rgb(var(--lf-muted)) 65%,
    rgb(var(--lf-muted)) 100%
  );
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: lf-shimmer 2.2s linear infinite;
}
@keyframes lf-shimmer {
  from {
    background-position: 200% 0;
  }
  to {
    background-position: -200% 0;
  }
}

/* Reusable component classes */

/* ALIVE THEME — the ONE breather: the active nav item breathes its surrounding
   air (box-shadow only), gated to dark so the coral glow isn't hot on light paper.
   The 0%/100% frame is the OFF/rest frame (glow alpha 0.00) so the reduced-motion
   neutralizer (freezes animations to their 0% frame) leaves a calm, invisible glow. */
html.dark .lf-nav-link-active {
  animation: lf-breath 4.5s ease-in-out infinite;
}

/* ACE Form/workflow: compositor-only chat presence, static under reduced motion. */
@keyframes lf-ace-petal {
  0%, 100% { transform: rotate(0deg) scale(.78); opacity: .35; }
  50% { transform: rotate(180deg) scale(1.08); opacity: .9; }
}

@keyframes lf-ace-welcome { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-5px) rotate(3deg); } }
.lf-ace-welcome { animation: lf-ace-welcome 5s ease-in-out infinite; }

/* Source Serif 4 by Adobe, SIL Open Font License. Bundled for private/offline use. */
@font-face {
  font-family: 'Source Serif 4';
  src: url('./SourceSerif4Variable-Roman.ttf-mdpVL9bi.woff2') format('woff2');
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}
@font-face {
  font-family: 'Source Serif 4';
  src: url('./SourceSerif4Variable-Italic.ttf-CVdzAtxO.woff2') format('woff2');
  font-style: italic;
  font-weight: 200 900;
  font-display: swap;
}
.lf-chat-prose {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 0.8125rem;
  line-height: 1.6;
  font-optical-sizing: auto;
}

/* ---- ACE Form quick actions: the morphing glass dock -------------------
   One capsule, two states. Closed: the Ace mark + "Create". Open: the actions
   row unfolds beside it. The morph is three cheap properties — the actions
   width (0 → the row's measured width, set by the component as --lf-dock-w;
   an fr-track trick cannot collapse inside a shrink-to-fit absolute box), the
   capsule radius, and a specular highlight that drifts across the glass — on
   the house spring. Glass is the same recipe as
   .lf-btn-create (white-glass, hairline, inner top-light): quiet at rest, no
   glow. reduce-transparency → opaque elevated pane; reduced motion → the
   global neutralizer freezes every transition (the 0% state is a valid
   closed dock, the open state a valid open one). */
.lf-dock {
  /* No position here: the caller places it (absolute, centered) and that
     utility must win; the specular's containing block is that placed box. */
  display: flex;
  align-items: center;
  max-width: calc(100vw - 2rem);
  border: 1px solid rgb(255 255 255 / 0.1);
  border-radius: 999px;
  padding: 4px;
  color: rgb(var(--lf-text));
  background-color: rgb(var(--lf-panel) / 0.55);
  background-image: linear-gradient(180deg, rgb(255 255 255 / 0.05), rgb(255 255 255 / 0.015));
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 0.07),
    0 1px 2px rgb(0 0 0 / 0.35),
    0 18px 40px -18px rgb(0 0 0 / 0.55);
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  overflow: hidden;
  transition:
    border-radius 240ms cubic-bezier(0.22, 1, 0.36, 1),
    border-color 160ms ease-out,
    box-shadow 240ms cubic-bezier(0.22, 1, 0.36, 1);
}
/* The specular: a soft light that lives on the left when closed and sweeps
   right as the capsule opens — the "liquid" read, transform-only. */
.lf-dock::before {
  content: '';
  position: absolute;
  inset: -40% auto -40% -20%;
  width: 45%;
  pointer-events: none;
  background: radial-gradient(closest-side, rgb(255 255 255 / 0.1), rgb(255 255 255 / 0));
  transform: translateX(0) skewX(-12deg);
  transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1), opacity 240ms ease-out;
}
.lf-dock-open {
  border-radius: 22px;
  border-color: rgb(255 255 255 / 0.16);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 0.09),
    0 1px 2px rgb(0 0 0 / 0.35),
    0 24px 56px -20px rgb(0 0 0 / 0.6);
}
.lf-dock-open::before {
  transform: translateX(190%) skewX(-12deg);
}
/* Content rides above the specular so the label never washes out. */
.lf-dock-handle,
.lf-dock-actions {
  position: relative;
  z-index: 1;
}
.lf-dock-handle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 14px 0 10px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  color: rgb(var(--lf-text));
  white-space: nowrap;
  transition: background-color 160ms ease-out, transform 160ms cubic-bezier(0.34, 1.4, 0.64, 1);
}
.lf-dock-handle:hover {
  background-color: rgb(255 255 255 / 0.05);
}
.lf-dock-handle:active {
  transform: scale(0.975);
}
.lf-dock-label {
  transition: opacity 160ms ease-out;
}
.lf-dock-actions {
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-width 240ms cubic-bezier(0.22, 1, 0.36, 1), opacity 160ms ease-out;
}
.lf-dock-open .lf-dock-actions {
  max-width: var(--lf-dock-w, 560px);
  opacity: 1;
}
.lf-dock-row {
  display: flex;
  align-items: center;
  gap: 2px;
  width: -moz-max-content;
  width: max-content;
  padding-right: 4px;
  border-left: 1px solid rgb(255 255 255 / 0.08);
  margin-left: 2px;
  padding-left: 6px;
}
.lf-dock-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 36px;
  padding: 0 11px;
  border-radius: 14px;
  font-size: 12px;
  font-weight: 500;
  color: rgb(var(--lf-muted));
  white-space: nowrap;
  opacity: 0;
  transform: translateY(4px);
  transition:
    opacity 160ms ease-out,
    transform 200ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 160ms ease-out,
    color 160ms ease-out;
}
.lf-dock-open .lf-dock-action {
  opacity: 1;
  transform: translateY(0);
}
.lf-dock-action:hover,
.lf-dock-action:focus-visible {
  color: rgb(var(--lf-text));
  background-color: rgb(255 255 255 / 0.07);
}
.lf-dock-action:active {
  transform: scale(0.97);
}
html.light .lf-dock {
  border-color: rgb(var(--lf-scrim) / 0.12);
  background-color: rgb(var(--lf-elevated) / 0.6);
  background-image: linear-gradient(180deg, rgb(255 255 255 / 0.7), rgb(255 255 255 / 0.35));
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 0.8),
    0 1px 2px rgb(var(--lf-scrim) / 0.06),
    0 18px 40px -18px rgb(var(--lf-scrim) / 0.22);
}
html.light .lf-dock-open {
  border-color: rgb(var(--lf-scrim) / 0.18);
}
html.light .lf-dock::before {
  background: radial-gradient(closest-side, rgb(255 255 255 / 0.55), rgb(255 255 255 / 0));
}
html.light .lf-dock-row {
  border-left-color: rgb(var(--lf-scrim) / 0.1);
}
html.light .lf-dock-handle:hover,
html.light .lf-dock-action:hover,
html.light .lf-dock-action:focus-visible {
  background-color: rgb(var(--lf-scrim) / 0.06);
}
/* No transmission: an opaque elevated pane, and the specular goes away. */
html.reduce-transparency .lf-dock {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background-image: none !important;
  background-color: rgb(var(--lf-elevated)) !important;
}
html.reduce-transparency .lf-dock::before {
  display: none;
}
/* Phone: five icon buttons fit; the labels return at sm. */
@media (max-width: 639px) {
  .lf-dock-action span {
    display: none;
  }
  .lf-dock-action {
    padding: 0 10px;
  }
}

/* Indeterminate provider jobs: motion signals work, never a fabricated percentage. */
@keyframes lf-video-progress {
  0% { transform: translateX(-110%); }
  100% { transform: translateX(350%); }
}
.lf-video-progress { animation: lf-video-progress 2.4s linear infinite; }
.lf-video-stage { background-image: radial-gradient(ellipse at 50% 45%, color-mix(in srgb, rgb(var(--lf-accent)) 8%, transparent), transparent 65%); }
@keyframes lf-video-orbit { to { transform: rotate(360deg); } }
@keyframes lf-video-particle { 0%, 100% { transform: translateY(7px) scale(.5); opacity: .2; } 50% { transform: translateY(-12px) scale(1); opacity: .85; } }
@keyframes lf-video-breathe { 0%, 100% { transform: scale(.96); } 50% { transform: scale(1.04); } }
.lf-video-orbit { border-top-color: rgb(var(--lf-accent)); animation: lf-video-orbit 8s linear infinite; }
.lf-video-particle { animation: lf-video-particle 4s ease-in-out infinite; }
.lf-video-breathe { animation: lf-video-breathe 4s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .lf-video-orbit, .lf-video-particle, .lf-video-breathe { animation: none !important; } }
html.reduce-motion .lf-video-orbit, html.reduce-motion .lf-video-particle, html.reduce-motion .lf-video-breathe { animation: none !important; }
@media (prefers-reduced-motion: reduce) { .lf-video-progress { animation: none !important; transform: none; opacity: .65; } }
html.reduce-motion .lf-video-progress { animation: none !important; transform: none; opacity: .65; }

/* Navigation uses one moving lens instead of flashing separate active boxes. */
.lf-nav-glass {
  z-index: -1;
  border: 1px solid rgb(var(--lf-text) / .13);
  border-radius: 12px;
  background: linear-gradient(115deg, rgb(var(--lf-text) / .1), rgb(var(--lf-accent) / .07));
  box-shadow: inset 0 1px 0 rgb(var(--lf-text) / .12), 0 5px 18px rgb(var(--lf-scrim) / .08);
  backdrop-filter: blur(16px) saturate(1.3);
  transition: transform 280ms cubic-bezier(.22, 1, .36, 1), width 240ms cubic-bezier(.22, 1, .36, 1), height 240ms cubic-bezier(.22, 1, .36, 1);
}
html .lf-navigation-rail .lf-nav-link-active {
  background: transparent;
  box-shadow: none;
  animation: none;
}
.lf-loading-glass, .lf-explore-search, .lf-explore-card {
  background: linear-gradient(135deg, rgb(var(--lf-elevated) / .8), rgb(var(--lf-panel) / .6));
  box-shadow: inset 0 1px 0 rgb(var(--lf-text) / .06), 0 12px 40px rgb(var(--lf-scrim) / .06);
  backdrop-filter: blur(18px);
}
.lf-explore {
  background-image: radial-gradient(ellipse at 50% 20%, rgb(var(--lf-accent) / .06), transparent 65%);
}
.lf-explore-search:focus-within { border-color: rgb(var(--lf-accent) / .6); box-shadow: 0 0 0 4px rgb(var(--lf-accent) / .06); }
.lf-explore-orbit { position: relative; display: grid; place-items: center; width: 160px; height: 128px; }
.lf-explore-ring { position: absolute; width: 156px; height: 100px; border: 1px solid rgb(var(--lf-accent) / .22); border-radius: 50%; transform: rotate(-25deg); }
.lf-explore-ring-cross { transform: rotate(35deg); border-color: rgb(var(--lf-text) / .09); }
.lf-explore-satellite { position: absolute; top: 13px; right: 8px; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; color: rgb(var(--lf-accent)); background: rgb(var(--lf-panel)); border: 1px solid rgb(var(--lf-accent) / .25); animation: lf-explore-arrive 1s cubic-bezier(.22, 1, .36, 1) both; }
.lf-explore-orbit-small { width: 70px; height: 70px; flex-shrink: 0; }
.lf-explore-orbit-small .lf-explore-ring, .lf-explore-orbit-small .lf-explore-satellite { display: none; }
.lf-explore-card { transition: transform 240ms cubic-bezier(.22, 1, .36, 1), border-color 160ms ease-out, box-shadow 240ms cubic-bezier(.22, 1, .36, 1); }
.lf-explore-card:hover, .lf-explore-card:focus-visible { transform: translateY(-5px) rotate(-.5deg); border-color: rgb(var(--lf-accent) / .4); box-shadow: 0 12px 26px rgb(var(--lf-accent) / .07); }
@keyframes lf-explore-arrive { from { opacity: 0; transform: translate(-55px, 25px) scale(.7) rotate(-50deg); } to { opacity: 1; transform: none; } }
html.reduce-transparency .lf-nav-glass, html.reduce-transparency .lf-loading-glass, html.reduce-transparency .lf-explore-search, html.reduce-transparency .lf-explore-card { backdrop-filter: none; background: rgb(var(--lf-elevated)); }
@media (prefers-reduced-motion: reduce) { .lf-nav-glass, .lf-explore-card { transition: none; } .lf-explore-satellite { animation: none; } .lf-explore-card:hover { transform: none; } }
html.reduce-motion .lf-explore-card:hover { transform: none; }

/* The welcome orbit is decorative, never a claim that search is running. */
@keyframes lf-explore-orbit { from { rotate: 0deg; } to { rotate: 360deg; } }
.lf-explore-ring { animation: lf-explore-orbit 28s linear infinite; }
.lf-explore-ring-cross { animation-direction: reverse; animation-duration: 36s; }
@media (prefers-reduced-motion: reduce) { .lf-explore-ring { animation: none; } }
html.reduce-motion .lf-explore-ring { animation: none; }

/* ACE Form: indeterminate progress while a generation is submitted. */
.lf-form-progress > span { animation: lf-form-progress 1.8s ease-in-out infinite; }
@keyframes lf-form-progress { from { transform: translateX(-110%); } to { transform: translateX(310%); } }
@media (prefers-reduced-motion: reduce) {
  .lf-form-progress > span { animation: none; width: 100%; opacity: .45; }
}

html.reduce-motion .lf-form-progress > span { animation: none; width: 100%; opacity: .45; }
.placeholder\:text-faint::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-faint) / var(--tw-text-opacity, 1));
}
.placeholder\:text-faint::placeholder {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-faint) / var(--tw-text-opacity, 1));
}
.before\:mr-2::before {
  content: var(--tw-content);
  margin-right: 0.5rem;
}
.before\:text-faint::before {
  content: var(--tw-content);
  --tw-text-opacity: 1;
  color: rgb(var(--lf-faint) / var(--tw-text-opacity, 1));
}
.before\:content-\[\'\B7\'\]::before {
  --tw-content: '·';
  content: var(--tw-content);
}
.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}
.after\:inset-y-0::after {
  content: var(--tw-content);
  top: 0px;
  bottom: 0px;
}
.after\:left-1\/2::after {
  content: var(--tw-content);
  left: 50%;
}
.after\:w-px::after {
  content: var(--tw-content);
  width: 1px;
}
.after\:-translate-x-1\/2::after {
  content: var(--tw-content);
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.after\:bg-accent::after {
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-accent) / var(--tw-bg-opacity, 1));
}
.after\:bg-transparent::after {
  content: var(--tw-content);
  background-color: transparent;
}
.after\:transition-colors::after {
  content: var(--tw-content);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.last\:border-0:last-child {
  border-width: 0px;
}
.focus-within\:border-accent\/50:focus-within {
  border-color: rgb(var(--lf-accent) / 0.5);
}
.focus-within\:border-accent\/60:focus-within {
  border-color: rgb(var(--lf-accent) / 0.6);
}
.focus-within\:border-muted\/60:focus-within {
  border-color: rgb(var(--lf-muted) / 0.6);
}
.focus-within\:bg-bg:focus-within {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-bg) / var(--tw-bg-opacity, 1));
}
.hover\:-translate-y-0\.5:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:-translate-y-px:hover {
  --tw-translate-y: -1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:border-accent:hover {
  --tw-border-opacity: 1;
  border-color: rgb(var(--lf-accent) / var(--tw-border-opacity, 1));
}
.hover\:border-accent\/30:hover {
  border-color: rgb(var(--lf-accent) / 0.3);
}
.hover\:border-accent\/40:hover {
  border-color: rgb(var(--lf-accent) / 0.4);
}
.hover\:border-accent\/50:hover {
  border-color: rgb(var(--lf-accent) / 0.5);
}
.hover\:border-border:hover {
  --tw-border-opacity: 1;
  border-color: rgb(var(--lf-border) / var(--tw-border-opacity, 1));
}
.hover\:border-danger:hover {
  --tw-border-opacity: 1;
  border-color: rgb(var(--lf-danger) / var(--tw-border-opacity, 1));
}
.hover\:border-hairline:hover {
  --tw-border-opacity: 1;
  border-color: rgb(var(--lf-hairline) / var(--tw-border-opacity, 1));
}
.hover\:border-muted:hover {
  --tw-border-opacity: 1;
  border-color: rgb(var(--lf-muted) / var(--tw-border-opacity, 1));
}
.hover\:bg-accent-hover:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-accent-hover) / var(--tw-bg-opacity, 1));
}
.hover\:bg-accent-soft:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-accent-soft) / var(--tw-bg-opacity, 1));
}
.hover\:bg-accent\/20:hover {
  background-color: rgb(var(--lf-accent) / 0.2);
}
.hover\:bg-border:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-border) / var(--tw-bg-opacity, 1));
}
.hover\:bg-danger\/10:hover {
  background-color: rgb(var(--lf-danger) / 0.1);
}
.hover\:bg-danger\/15:hover {
  background-color: rgb(var(--lf-danger) / 0.15);
}
.hover\:bg-danger\/25:hover {
  background-color: rgb(var(--lf-danger) / 0.25);
}
.hover\:bg-elevated:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-elevated) / var(--tw-bg-opacity, 1));
}
.hover\:bg-elevated\/30:hover {
  background-color: rgb(var(--lf-elevated) / 0.3);
}
.hover\:bg-elevated\/40:hover {
  background-color: rgb(var(--lf-elevated) / 0.4);
}
.hover\:bg-elevated\/50:hover {
  background-color: rgb(var(--lf-elevated) / 0.5);
}
.hover\:bg-elevated\/60:hover {
  background-color: rgb(var(--lf-elevated) / 0.6);
}
.hover\:bg-panel:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-panel) / var(--tw-bg-opacity, 1));
}
.hover\:bg-surface:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-surface) / var(--tw-bg-opacity, 1));
}
.hover\:bg-surface\/70:hover {
  background-color: rgb(var(--lf-surface) / 0.7);
}
.hover\:bg-warning\/25:hover {
  background-color: rgb(var(--lf-warning) / 0.25);
}
.hover\:text-accent:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-accent) / var(--tw-text-opacity, 1));
}
.hover\:text-accent-strong:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-accent-strong) / var(--tw-text-opacity, 1));
}
.hover\:text-danger:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-danger) / var(--tw-text-opacity, 1));
}
.hover\:text-muted:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-muted) / var(--tw-text-opacity, 1));
}
.hover\:text-success:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-success) / var(--tw-text-opacity, 1));
}
.hover\:text-text:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-text) / var(--tw-text-opacity, 1));
}
.hover\:underline:hover {
  text-decoration-line: underline;
}
.hover\:decoration-accent:hover {
  text-decoration-color: rgb(var(--lf-accent) / 1);
}
.hover\:opacity-100:hover {
  opacity: 1;
}
.hover\:opacity-90:hover {
  opacity: 0.9;
}
.hover\:shadow-panel:hover {
  --tw-shadow: var(--lf-shadow-2);
  --tw-shadow-colored: var(--lf-shadow-2);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-soft:hover {
  --tw-shadow: var(--lf-shadow-1);
  --tw-shadow-colored: var(--lf-shadow-1);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-panel:hover {
  --tw-shadow-color: rgb(var(--lf-panel) / 1);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:brightness-110:hover {
  --tw-brightness: brightness(1.1);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.hover\:after\:bg-accent\/50:hover::after {
  content: var(--tw-content);
  background-color: rgb(var(--lf-accent) / 0.5);
}
.focus\:border-\[rgb\(var\(--lf-accent\)_\/_0\.7\)\]:focus {
  border-color: rgb(var(--lf-accent) / 0.7);
}
.focus\:border-accent:focus {
  --tw-border-opacity: 1;
  border-color: rgb(var(--lf-accent) / var(--tw-border-opacity, 1));
}
.focus\:border-accent\/50:focus {
  border-color: rgb(var(--lf-accent) / 0.5);
}
.focus\:border-border:focus {
  --tw-border-opacity: 1;
  border-color: rgb(var(--lf-border) / var(--tw-border-opacity, 1));
}
.focus\:border-muted:focus {
  --tw-border-opacity: 1;
  border-color: rgb(var(--lf-muted) / var(--tw-border-opacity, 1));
}
.focus\:bg-surface:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-surface) / var(--tw-bg-opacity, 1));
}
.focus\:text-accent:focus {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-accent) / var(--tw-text-opacity, 1));
}
.focus\:text-text:focus {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-text) / var(--tw-text-opacity, 1));
}
.focus\:opacity-100:focus {
  opacity: 1;
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-\[rgb\(var\(--lf-accent\)_\/_0\.55\)\]:focus {
  --tw-ring-color: rgb(var(--lf-accent) / 0.55);
}
.focus-visible\:opacity-100:focus-visible {
  opacity: 1;
}
.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus-visible\:outline:focus-visible {
  outline-style: solid;
}
.focus-visible\:outline-2:focus-visible {
  outline-width: 2px;
}
.focus-visible\:outline-accent:focus-visible {
  outline-color: rgb(var(--lf-accent) / 1);
}
.focus-visible\:outline-text:focus-visible {
  outline-color: rgb(var(--lf-text) / 1);
}
.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-accent:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(var(--lf-accent) / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-accent\/50:focus-visible {
  --tw-ring-color: rgb(var(--lf-accent) / 0.5);
}
.active\:cursor-grabbing:active {
  cursor: grabbing;
}
.disabled\:pointer-events-none:disabled {
  pointer-events: none;
}
.disabled\:cursor-default:disabled {
  cursor: default;
}
.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}
.disabled\:opacity-25:disabled {
  opacity: 0.25;
}
.disabled\:opacity-30:disabled {
  opacity: 0.3;
}
.disabled\:opacity-35:disabled {
  opacity: 0.35;
}
.disabled\:opacity-40:disabled {
  opacity: 0.4;
}
.disabled\:opacity-50:disabled {
  opacity: 0.5;
}
.disabled\:opacity-60:disabled {
  opacity: 0.6;
}
.group:focus-within .group-focus-within\:pointer-events-auto {
  pointer-events: auto;
}
.group:focus-within .group-focus-within\:block {
  display: block;
}
.group:focus-within .group-focus-within\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:pointer-events-auto {
  pointer-events: auto;
}
.group:hover .group-hover\:block {
  display: block;
}
.group:hover .group-hover\:inline-flex {
  display: inline-flex;
}
.group:hover .group-hover\:translate-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:rotate-12 {
  --tw-rotate: 12deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/cover:hover .group-hover\/cover\:scale-\[1\.02\] {
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/model:hover .group-hover\/model\:text-muted {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-muted) / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-accent {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-accent) / var(--tw-text-opacity, 1));
}
.group\/cover:hover .group-hover\/cover\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:saturate-100 {
  --tw-saturate: saturate(1);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.group\/cover:focus-visible .group-focus-visible\/cover\:opacity-100 {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {

  .motion-reduce\:animate-none {
    animation: none;
  }

  .motion-reduce\:transition-none {
    transition-property: none;
  }
}
@media not all and (min-width: 640px) {

  .max-sm\:sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
}
@media (min-width: 640px) {

  .sm\:block {
    display: block;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:hidden {
    display: none;
  }

  .sm\:w-1\/2 {
    width: 50%;
  }

  .sm\:w-2\/3 {
    width: 66.666667%;
  }

  .sm\:w-64 {
    width: 16rem;
  }

  .sm\:max-w-none {
    max-width: none;
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sm\:grid-cols-\[120px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 120px minmax(0,1fr);
  }

  .sm\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(280px\2c 340px\)\] {
    grid-template-columns: minmax(0,1fr) minmax(280px,340px);
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:items-end {
    align-items: flex-end;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:p-5 {
    padding: 1.25rem;
  }

  .sm\:p-7 {
    padding: 1.75rem;
  }

  .sm\:p-8 {
    padding: 2rem;
  }

  .sm\:p-9 {
    padding: 2.25rem;
  }

  .sm\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .sm\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .sm\:py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  .sm\:py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .sm\:pb-0 {
    padding-bottom: 0px;
  }

  .sm\:pr-1\.5 {
    padding-right: 0.375rem;
  }

  .sm\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

  .sm\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
@media (min-width: 768px) {

  .md\:block {
    display: block;
  }

  .md\:inline {
    display: inline;
  }

  .md\:flex {
    display: flex;
  }

  .md\:hidden {
    display: none;
  }

  .md\:w-52 {
    width: 13rem;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:grid-cols-\[260px_1fr\] {
    grid-template-columns: 260px 1fr;
  }

  .md\:grid-cols-\[minmax\(0\2c 1fr\)_22rem\] {
    grid-template-columns: minmax(0,1fr) 22rem;
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:flex-col {
    flex-direction: column;
  }

  .md\:border-b-0 {
    border-bottom-width: 0px;
  }

  .md\:border-l {
    border-left-width: 1px;
  }

  .md\:border-r {
    border-right-width: 1px;
  }

  .md\:border-t-0 {
    border-top-width: 0px;
  }
}
@media (min-width: 1024px) {

  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:block {
    display: block;
  }

  .lg\:inline {
    display: inline;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:max-h-none {
    max-height: none;
  }

  .lg\:min-h-0 {
    min-height: 0px;
  }

  .lg\:w-60 {
    width: 15rem;
  }

  .lg\:w-72 {
    width: 18rem;
  }

  .lg\:w-\[360px\] {
    width: 360px;
  }

  .lg\:w-\[380px\] {
    width: 380px;
  }

  .lg\:flex-1 {
    flex: 1 1 0%;
  }

  .lg\:shrink-0 {
    flex-shrink: 0;
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-\[170px_minmax\(0\2c 5fr\)_minmax\(0\2c 6fr\)\] {
    grid-template-columns: 170px minmax(0,5fr) minmax(0,6fr);
  }

  .lg\:grid-cols-\[1fr_380px\] {
    grid-template-columns: 1fr 380px;
  }

  .lg\:grid-cols-\[280px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 280px minmax(0,1fr);
  }

  .lg\:grid-cols-\[320px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 320px minmax(0,1fr);
  }

  .lg\:grid-cols-\[3fr_2fr\] {
    grid-template-columns: 3fr 2fr;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_320px\] {
    grid-template-columns: minmax(0,1fr) 320px;
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:overflow-hidden {
    overflow: hidden;
  }

  .lg\:overflow-y-auto {
    overflow-y: auto;
  }

  .lg\:border-b-0 {
    border-bottom-width: 0px;
  }

  .lg\:border-l {
    border-left-width: 1px;
  }

  .lg\:border-r {
    border-right-width: 1px;
  }

  .lg\:border-t-0 {
    border-top-width: 0px;
  }

  .lg\:p-8 {
    padding: 2rem;
  }

  .lg\:px-20 {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media (min-width: 1280px) {

  .xl\:inline {
    display: inline;
  }

  .xl\:w-64 {
    width: 16rem;
  }

  .xl\:w-80 {
    width: 20rem;
  }

  .xl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .xl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .xl\:grid-cols-\[minmax\(260px\2c 340px\)_minmax\(0\2c 1fr\)\] {
    grid-template-columns: minmax(260px,340px) minmax(0,1fr);
  }

  .xl\:flex-row {
    flex-direction: row;
  }
}
.\[\&_a\]\:text-accent a {
  --tw-text-opacity: 1;
  color: rgb(var(--lf-accent) / var(--tw-text-opacity, 1));
}
.\[\&_a\]\:underline a {
  text-decoration-line: underline;
}
.\[\&_code\]\:rounded code {
  border-radius: 0.25rem;
}
.\[\&_code\]\:bg-elevated code {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--lf-elevated) / var(--tw-bg-opacity, 1));
}
.\[\&_code\]\:px-1 code {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.\[\&_code\]\:py-0\.5 code {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.\[\&_code\]\:font-mono code {
  font-family: IBM Plex Mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.\[\&_code\]\:text-xs code {
  font-size: 0.75rem;
  line-height: 1rem;
}
.\[\&_h1\]\:mt-3 h1 {
  margin-top: 0.75rem;
}
.\[\&_h1\]\:text-sm h1 {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.\[\&_h1\]\:font-semibold h1 {
  font-weight: 600;
}
.\[\&_h2\]\:mt-3 h2 {
  margin-top: 0.75rem;
}
.\[\&_h2\]\:font-semibold h2 {
  font-weight: 600;
}
.\[\&_h3\]\:mt-2 h3 {
  margin-top: 0.5rem;
}
.\[\&_h3\]\:font-semibold h3 {
  font-weight: 600;
}
.\[\&_li\]\:my-0\.5 li {
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}
.\[\&_ol\]\:my-2 ol {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.\[\&_ol\]\:list-decimal ol {
  list-style-type: decimal;
}
.\[\&_ol\]\:pl-5 ol {
  padding-left: 1.25rem;
}
.\[\&_p\]\:my-2 p {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.first\:\[\&_p\]\:mt-0 p:first-child {
  margin-top: 0px;
}
.last\:\[\&_p\]\:mb-0 p:last-child {
  margin-bottom: 0px;
}
.\[\&_pre\]\:my-2 pre {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.\[\&_pre\]\:overflow-x-auto pre {
  overflow-x: auto;
}
.\[\&_pre\]\:rounded-lg pre {
  border-radius: 0.5rem;
}
.\[\&_pre\]\:border pre {
  border-width: 1px;
}
.\[\&_pre\]\:border-hairline pre {
  --tw-border-opacity: 1;
  border-color: rgb(var(--lf-hairline) / var(--tw-border-opacity, 1));
}
.\[\&_pre\]\:bg-elevated\/60 pre {
  background-color: rgb(var(--lf-elevated) / 0.6);
}
.\[\&_pre\]\:p-3 pre {
  padding: 0.75rem;
}
.\[\&_pre_code\]\:bg-transparent pre code {
  background-color: transparent;
}
.\[\&_pre_code\]\:p-0 pre code {
  padding: 0px;
}
.\[\&_ul\]\:my-2 ul {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.\[\&_ul\]\:list-disc ul {
  list-style-type: disc;
}
.\[\&_ul\]\:pl-5 ul {
  padding-left: 1.25rem;
}
/* The title bar's translucent surface continues down the navigation rail.
   All tones follow the existing dark/light theme; one lens tracks navigation. */
.lf-sidebar {
  background-color: rgb(var(--lf-surface) / 0.72);
  background-image: linear-gradient(160deg, rgb(var(--lf-text) / 0.045), transparent 45%, rgb(var(--lf-accent) / 0.025));
  border-color: rgb(var(--lf-text) / 0.08);
  box-shadow: inset -1px 0 0 rgb(var(--lf-text) / 0.025);
  backdrop-filter: blur(24px) saturate(125%);
}

.lf-sidebar-brand {
  border-bottom: 1px solid rgb(var(--lf-text) / 0.05);
}

.lf-brand-wordmark {
  font-family: 'Schibsted Grotesk Variable', sans-serif;
  font-size: 24px;
  font-weight: 560;
  letter-spacing: -0.045em;
  line-height: 1.05;
  white-space: nowrap;
}

.lf-product-trigger {
  display: flex;
  flex: 1;
  min-width: 0;
  align-items: center;
  gap: 11px;
  padding: 10px 8px;
  border-radius: 14px;
  text-align: left;
  transition: background-color 160ms ease;
}
.lf-product-trigger:hover, .lf-product-trigger[aria-expanded='true'] {
  background: rgb(var(--lf-text) / .045);
}
.lf-product-trigger:focus-visible, .lf-product-option:focus-visible {
  outline: 2px solid rgb(var(--lf-accent));
  outline-offset: 2px;
}
.lf-product-trigger .lf-brand-wordmark { font-size: 21px; letter-spacing: -.04em; }
.lf-product-mark {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 40px;
  height: 44px;
  color: rgb(var(--lf-accent-strong));
}
.lf-product-menu-heading { padding: 4px 8px 12px; }
.lf-floating-panel:has(.lf-product-menu-heading) { background: rgb(var(--lf-panel) / .98); }
.lf-product-menu-heading > span:first-child { display: block; font-weight: 600; color: rgb(var(--lf-text)); }
.lf-product-menu-heading > span:last-child { display: block; margin-top: 4px; font-size: 11px; color: rgb(var(--lf-muted)); }
.lf-product-option {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 8px 10px;
  border-radius: 10px;
  transition: background-color 140ms ease;
}
.lf-product-option:hover { background: rgb(var(--lf-text) / .055); }
.lf-product-option-current { background: rgb(var(--lf-accent) / .08); }
.lf-product-option-icon { display: grid; flex-shrink: 0; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: rgb(var(--lf-text) / .04); color: rgb(var(--lf-accent-strong)); }
.lf-product-option-brand { background: transparent; }
.lf-sidebar-brand:has(.lf-product-trigger[aria-expanded='true']) .lf-sidebar-toggle { opacity: 1; }
html.reduce-motion :is(.lf-product-trigger, .lf-product-option) { transition: none; }
@media (prefers-reduced-motion: reduce) { .lf-product-trigger, .lf-product-option { transition: none; } }

.lf-brand-tagline {
  margin-top: 5px;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.4;
  white-space: nowrap;
}

.lf-sidebar-toggle {
  transition: opacity 160ms ease-out, color 160ms ease-out, background-color 160ms ease-out;
}

/* Touch and compact drawers keep an explicit close control. On desktop it joins the wordmark
   when the header is approached, including when navigating by keyboard. */
@media (min-width: 900px) and (hover: hover) and (pointer: fine) {
  .lf-sidebar-toggle { opacity: 0; }
  .lf-sidebar-brand:is(:hover, :focus-within) .lf-sidebar-toggle { opacity: 1; }
}

.lf-sidebar-toggle:hover {
  background-color: rgb(var(--lf-text) / 0.06);
}

.lf-workspace-trigger {
  background: linear-gradient(135deg, rgb(var(--lf-text) / 0.055), rgb(var(--lf-text) / 0.018));
  border-color: rgb(var(--lf-text) / 0.09);
  box-shadow: inset 0 1px 0 rgb(var(--lf-text) / 0.035), 0 3px 12px rgb(var(--lf-scrim) / 0.06);
  transition: background-color 160ms ease-out, border-color 160ms ease-out;
}

.lf-workspace-trigger:hover,
.lf-workspace-trigger[aria-expanded='true'] {
  background-color: rgb(var(--lf-text) / 0.04);
  border-color: rgb(var(--lf-text) / 0.16);
}

.lf-sidebar .lf-nav-link {
  position: relative;
  min-height: 38px;
  border: 1px solid transparent;
  border-radius: 10px;
  gap: 11px;
  padding: 8px 11px;
  font-size: 13px;
  line-height: 20px;
}

.lf-sidebar .lf-nav-link > svg {
  flex-shrink: 0;
  stroke-width: 1.65;
}

.lf-sidebar .lf-nav-link:hover {
  background-color: rgb(var(--lf-text) / 0.045);
}

html .lf-sidebar .lf-nav-link-active {
  color: rgb(var(--lf-text));
  background: linear-gradient(115deg, rgb(var(--lf-text) / 0.085), rgb(var(--lf-text) / 0.035));
  border-color: rgb(var(--lf-text) / 0.08);
  box-shadow: inset 0 1px 0 rgb(var(--lf-text) / 0.035), 0 2px 6px rgb(var(--lf-scrim) / 0.05);
  font-weight: 500;
  animation: none;
}

.lf-sidebar .lf-nav-link-active::before {
  content: '';
  position: absolute;
  left: -1px;
  top: 11px;
  bottom: 11px;
  width: 2px;
  border-radius: 2px;
  background-color: rgb(var(--lf-accent));
}

.lf-sidebar .lf-nav-link-active > svg {
  color: rgb(var(--lf-accent-strong));
}

.lf-sidebar-label {
  padding: 0 12px 7px;
  color: rgb(var(--lf-muted) / 0.8);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.lf-sidebar-footer {
  border-top: 1px solid rgb(var(--lf-text) / 0.06);
  background: linear-gradient(180deg, transparent, rgb(var(--lf-surface) / 0.45));
}

.lf-sidebar-create {
  background: linear-gradient(135deg, rgb(var(--lf-text) / 0.075), rgb(var(--lf-text) / 0.025));
  border-color: rgb(var(--lf-text) / 0.12);
  box-shadow: inset 0 1px 0 rgb(var(--lf-text) / 0.045), 0 4px 12px rgb(var(--lf-scrim) / 0.08);
}

.lf-sidebar-create:hover {
  background-color: rgb(var(--lf-accent) / 0.045);
  border-color: rgb(var(--lf-accent) / 0.3);
}

.lf-sidebar-nav { scrollbar-width: thin; }

/* The explicit preference and browsers without blur both get a solid rail. */
html.reduce-transparency .lf-sidebar {
  background-image: none;
  -webkit-backdrop-filter: none;
}

html.reduce-transparency .lf-sidebar .lf-nav-link-active,
html.reduce-transparency .lf-workspace-trigger,
html.reduce-transparency .lf-sidebar-create {
  background: rgb(var(--lf-elevated));
}

@supports not (backdrop-filter: blur(1px)) {
  .lf-sidebar { background-color: rgb(var(--lf-surface)); }
}

@media (prefers-reduced-transparency: reduce) {
  .lf-sidebar {
    background: rgb(var(--lf-surface));
    backdrop-filter: none;
  }
}

/* The brand opens like a single object; content keeps its width while the rail folds. */
.lf-sidebar-motion { transition: width 380ms cubic-bezier(.22,.78,.25,1), opacity 280ms ease; }
.lf-brand-emblem { filter: drop-shadow(0 4px 10px rgb(var(--lf-accent) / .12)); transform-origin: 60% 60%; transition: transform 420ms cubic-bezier(.22,.78,.25,1), opacity 250ms; }
.lf-sidebar[aria-hidden='true'] .lf-brand-emblem { transform: translateX(-12px) rotate(-28deg) scale(.72); opacity: 0; }
.lf-sidebar-brand > div { transition: transform 350ms, opacity 220ms; }
.lf-sidebar[aria-hidden='true'] .lf-sidebar-brand > div { transform: translateX(-12px); opacity: 0; }
.lf-profile-avatar { background: linear-gradient(135deg, rgb(var(--lf-accent) / .18), rgb(var(--lf-text) / .04)); box-shadow: inset 0 0 0 1px rgb(var(--lf-text) / .08); }
.lf-sidebar-footer { background: transparent; border-top: 1px solid rgb(var(--lf-hairline) / .65); padding-bottom: 0; }
.lf-sidebar-utilities { display: flex; align-items: center; gap: 6px; margin-top: 8px; }
.lf-sidebar-utilities > * { flex: 1; min-width: 0; }
.lf-sidebar-utility, .lf-sidebar-utilities .lf-nav-link { display: flex; align-items: center; justify-content: center; gap: 8px; height: 34px; padding: 7px 10px; border-radius: 8px; font-size: 11px; color: rgb(var(--lf-muted)); border: 1px solid transparent; }
.lf-sidebar-utility:hover, .lf-sidebar-utilities .lf-nav-link:hover { background: rgb(var(--lf-elevated)); color: rgb(var(--lf-text)); border-color: rgb(var(--lf-hairline)); }
.lf-sidebar-workspace { padding-top: 6px; }
.lf-workspace-trigger { background: transparent; border-color: transparent; box-shadow: none; transition: background .18s, box-shadow .18s; }
.lf-workspace-trigger:hover, .lf-workspace-trigger[aria-expanded='true'] { background: rgb(var(--lf-elevated) / .8); border-color: transparent; box-shadow: inset 0 0 0 1px rgb(var(--lf-hairline)); }
.lf-workspace-trigger .lf-profile-avatar { background: rgb(var(--lf-elevated)); box-shadow: inset 0 0 0 1px rgb(var(--lf-hairline)); color: rgb(var(--lf-text)); font-size: 12px; }
.lf-app-header { background: rgb(var(--lf-panel)); border-bottom-color: rgb(var(--lf-hairline)); box-shadow: none; }
html.reduce-motion :is(.lf-sidebar-motion, .lf-brand-emblem, .lf-sidebar-brand > div, .lf-sidebar-toggle) { transition: none; }
@media (prefers-reduced-motion: reduce) { .lf-sidebar-motion, .lf-brand-emblem, .lf-sidebar-brand > div, .lf-sidebar-toggle { transition: none; } }

/* This sheet loads after globals; the moving lens owns the selected surface. */
html .lf-sidebar .lf-navigation-rail .lf-nav-link-active { background: transparent; border-color: transparent; box-shadow: none; }
.lf-sidebar .lf-nav-link-active::before { display: none; }
.lf-nav-glass::before { content: ''; position: absolute; left: 0; top: 11px; bottom: 11px; width: 2px; border-radius: 2px; background: rgb(var(--lf-accent)); }
.lf-session-header,
.lf-workspace-tabs,
.lf-preview-toolbar {
  background: linear-gradient(115deg, rgb(var(--lf-text) / 0.025), transparent), rgb(var(--lf-surface) / 0.8);
  backdrop-filter: blur(20px) saturate(120%);
  -webkit-backdrop-filter: blur(20px) saturate(120%);
}

.lf-floating-panel {
  background: linear-gradient(140deg, rgb(var(--lf-text) / 0.045), transparent 65%), rgb(var(--lf-panel) / 0.96);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}

.lf-workspace-tab[aria-selected='true'] {
  background: rgb(var(--lf-text) / 0.06);
  box-shadow: inset 0 1px 0 rgb(var(--lf-text) / 0.05), 0 2px 6px rgb(var(--lf-scrim) / 0.06);
}

.lf-effort-slider {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  height: 10px;
  border-radius: 999px;
  cursor: pointer;
  margin: 10px 0;
}
.lf-effort-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
          appearance: none;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: rgb(var(--lf-text));
  border: 3px solid rgb(var(--lf-panel));
  box-shadow: 0 0 0 1px rgb(var(--lf-accent) / 0.65), 0 2px 6px rgb(var(--lf-scrim) / 0.2);
}
.lf-effort-slider::-moz-range-thumb {
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: rgb(var(--lf-text));
  border: 2px solid rgb(var(--lf-panel));
}
.lf-effort-slider:focus-visible { outline: 2px solid rgb(var(--lf-accent)); outline-offset: 6px; }

html.reduce-transparency :is(.lf-session-header, .lf-workspace-tabs, .lf-preview-toolbar, .lf-floating-panel) {
  background: rgb(var(--lf-panel));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
@media (prefers-reduced-transparency: reduce) {
  :is(.lf-session-header, .lf-workspace-tabs, .lf-preview-toolbar, .lf-floating-panel) {
    background: rgb(var(--lf-panel));
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

.lf-effort-slider::-webkit-slider-thumb { -webkit-transition: box-shadow 180ms, transform 180ms; transition: box-shadow 180ms, transform 180ms; }
.lf-effort-slider:active::-webkit-slider-thumb { transform: scale(1.12); box-shadow: 0 0 0 5px rgb(var(--lf-accent) / 0.16); }
.lf-effort-word { display: inline-block; animation: lf-effort-reveal 280ms both; white-space: pre; }
@keyframes lf-effort-reveal { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } }
html.reduce-motion .lf-effort-word { animation: none; }
@media (prefers-reduced-motion: reduce) { .lf-effort-word { animation: none; } .lf-effort-slider::-webkit-slider-thumb { -webkit-transition: none; transition: none; } }

/* Custom composer surfaces share a quiet inset finish and one warm accent. */
.lf-choice { transition: background 160ms, box-shadow 160ms; }
.lf-choice:hover, .lf-choice:focus-visible { background: rgb(var(--lf-text) / 0.055); }
.lf-choice:focus-visible { box-shadow: inset 0 0 0 1px rgb(var(--lf-accent) / 0.5); }
.lf-choice-selected, .lf-choice[aria-current='true'] { background: rgb(var(--lf-accent) / 0.08); }
.lf-composer-choice:hover, .lf-composer-choice[aria-expanded='true'] { background: rgb(var(--lf-text) / 0.055); }
.lf-floating-panel { animation: lf-control-open 190ms cubic-bezier(.2,.75,.3,1) both; }
@keyframes lf-control-open { from { opacity: 0; translate: 0 4px; } to { opacity: 1; translate: 0 0; } }
.lf-effort-track { position: relative; }
.lf-effort-slider { height: 18px; margin: 8px 0; }
.lf-effort-slider::-webkit-slider-thumb { width: 26px; height: 26px; border: 0; box-shadow: 0 2px 8px rgb(var(--lf-scrim) / 0.3); }
.lf-effort-slider::-moz-range-thumb { width: 26px; height: 26px; border: 0; box-shadow: 0 2px 8px rgb(var(--lf-scrim) / 0.3); }
.lf-effort-stops { position: absolute; inset: 8px 12px; z-index: 11; display: flex; justify-content: space-between; align-items: center; pointer-events: none; }
.lf-effort-stops i { width: 3px; height: 3px; border-radius: 50%; background: rgb(var(--lf-text) / 0.25); }
.lf-progress-arrival { animation: lf-progress-arrive 380ms ease-out both; }
@keyframes lf-progress-arrive { from { opacity: .5; } to { opacity: 1; } }
.lf-new-chat { border: 1px solid rgb(var(--lf-text) / .13); background: linear-gradient(130deg, rgb(var(--lf-text) / .08), rgb(var(--lf-text) / .025)); box-shadow: inset 0 1px 0 rgb(var(--lf-text) / .06), 0 3px 9px rgb(var(--lf-scrim) / .09); transition: border-color 180ms, transform 180ms, background 180ms; }
.lf-new-chat:hover { border-color: rgb(var(--lf-accent) / .4); background-color: rgb(var(--lf-accent) / .04); }
.lf-new-chat:active { transform: scale(.98); }
.lf-browser-workspace { grid-template-columns: clamp(310px, 29%, 400px) minmax(0, 1fr); }
.lf-browser-chat { background: rgb(var(--lf-surface) / .3); }
.lf-search-surface { background: radial-gradient(ellipse at 55% 25%, rgb(var(--lf-accent) / .035), transparent 60%), rgb(var(--lf-bg)); }
.lf-browser-prompt { background: linear-gradient(125deg, rgb(var(--lf-text) / .035), transparent); transition: background 180ms, border-color 180ms; }
.lf-browser-prompt:hover { border-color: rgb(var(--lf-accent) / .25); background-color: rgb(var(--lf-accent) / .025); }
@media (max-width: 760px) {
  .lf-browser-workspace { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(320px, 55%) minmax(240px, 45%); overflow-y: auto; }
  .lf-browser-chat { border-right: 0; border-bottom: 1px solid rgb(var(--lf-hairline)); }
  .lf-search-surface { padding: 20px; }
  .lf-search-surface > div { padding-top: 8px; }
}
html.reduce-motion :is(.lf-floating-panel, .lf-progress-arrival) { animation: none; }
@media (prefers-reduced-motion: reduce) { .lf-floating-panel, .lf-progress-arrival { animation: none; } }
.lf-home { --home-width: 860px; }
.lf-home-main { max-width: var(--home-width); padding-top: clamp(24px, 7vh, 88px); padding-bottom: 42px; }
.lf-home-intro { display: flex; align-items: center; gap: 20px; margin-bottom: 28px; }
.lf-home-mark { width: 64px; height: 64px; flex: none; }
.lf-home-eyebrow { color: rgb(var(--lf-muted)); font-size: 11px; letter-spacing: .08em; margin-bottom: 6px; }
.lf-home-intro h1 { color: rgb(var(--lf-text)); font-size: clamp(26px, 2.4vw, 36px); font-weight: 600; letter-spacing: -.035em; line-height: 1.2; }
.lf-home-subtitle { color: rgb(var(--lf-muted)); font-size: 13px; margin-top: 8px; }
.lf-home-composer { padding: 18px 18px 12px; border-radius: 22px; }
.lf-home-composer textarea { min-height: 122px; font-size: 15px; line-height: 1.65; padding: 4px 2px; }
.lf-home-composer-caption { margin-top: 10px; min-height: 28px; }
.lf-home-input-help { text-align: right; font-size: 10px; opacity: .85; }
.lf-home-starters > button { min-height: 32px; }
.lf-home-recent { max-width: var(--home-width); border-top: 1px solid rgb(var(--lf-border) / .6); padding-top: 24px; }
.lf-home-recent-heading { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.lf-home-recent-heading h2 { font-size: 14px; font-weight: 500; color: rgb(var(--lf-text)); letter-spacing: -.01em; }
.lf-home-recent-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 28px; }
.lf-home-recent-section { padding: 4px 0; }
.lf-home-links button { min-height: 32px; border-radius: 8px; }
.lf-home-links button:hover { background: rgb(var(--lf-elevated)); }
@media (max-width: 640px) {
  .lf-home-intro { align-items: flex-start; gap: 14px; margin-bottom: 22px; }
  .lf-home-mark { width: 42px; height: 42px; }
  .lf-home-eyebrow { font-size: 10px; letter-spacing: .03em; }
  .lf-home-subtitle { line-height: 1.6; }
  .lf-home-composer { padding: 12px; border-radius: 18px; }
  .lf-home-composer textarea { min-height: 112px; }
  .lf-home-composer-caption p { font-size: 10px; }
  .lf-home-input-help { text-align: left; }
  .lf-home-starters { gap: 6px; }
  .lf-home-main { padding-bottom: 28px; }
  .lf-home-recent-heading { margin-bottom: 16px; }
}

.lf-profile-pro { flex: none; border-radius: 6px; padding: 3px 5px; font-size: 8px; font-weight: 700; line-height: 1; letter-spacing: .08em; color: rgb(var(--lf-text) / .82); background: linear-gradient(145deg, rgb(var(--lf-text) / .15), rgb(var(--lf-text) / .065)); border: 1px solid rgb(var(--lf-text) / .12); box-shadow: inset 0 1px 0 rgb(var(--lf-text) / .09), 0 1px 2px rgb(var(--lf-scrim) / .08); }
.lf-idea-chip { animation: lf-progress-arrive 350ms ease-out both; }
.lf-chat-artifact { background: linear-gradient(125deg, rgb(var(--lf-text) / .045), rgb(var(--lf-panel) / .6)); transition: background 180ms, border-color 180ms; }
.lf-chat-artifact:hover { background-color: rgb(var(--lf-elevated)); }
.lf-next-ideas { background: linear-gradient(145deg, rgb(var(--lf-accent) / .04), transparent 65%), rgb(var(--lf-panel)); box-shadow: 0 5px 24px rgb(var(--lf-scrim) / .12), inset 0 1px 0 rgb(var(--lf-text) / .04); animation: lf-control-open 250ms ease-out both; }
html.reduce-motion :is(.lf-idea-chip, .lf-next-ideas) { animation: none; }
@media (prefers-reduced-motion: reduce) { .lf-idea-chip, .lf-next-ideas { animation: none; } }
/*
 * ACE Navigator — one screen. The page is the surface; the bar above it holds
 * one field; the task rail sits beside it; the strip of steps runs beneath.
 * Every color is a token; motion only shows cause and effect.
 */
.lf-navigator { position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; height: 100%; min-height: 0; gap: 10px; padding: 10px 14px 12px; background: rgb(var(--lf-bg)); }

/* ---- the bar ---------------------------------------------------------------- */
.lf-nav-bar { position: relative; z-index: 9; display: flex; align-items: center; gap: 8px; min-width: 0; }
.lf-nav-nav { display: flex; gap: 2px; flex-shrink: 0; }
.lf-nav-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; color: rgb(var(--lf-muted)); transition: background .16s, color .16s; }
.lf-nav-icon:hover:not(:disabled) { background: rgb(var(--lf-elevated)); color: rgb(var(--lf-text)); }
.lf-nav-icon:disabled { opacity: .35; cursor: default; }
.lf-nav-icon > svg { width: 16px; height: 16px; }
.lf-nav-btn { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border: 1px solid rgb(var(--lf-border)); border-radius: 10px; background: rgb(var(--lf-panel)); color: rgb(var(--lf-text)); font-size: 12.5px; font-weight: 500; white-space: nowrap; transition: background .16s, border-color .16s; }
.lf-nav-btn:hover { background: rgb(var(--lf-elevated)); }
.lf-nav-btn > svg { width: 14px; height: 14px; }
.lf-nav-btn.is-accent { border-color: rgb(var(--lf-accent) / .6); background: rgb(var(--lf-accent) / .12); color: rgb(var(--lf-accent-strong)); }
.lf-nav-mobile-switch { display: none; }

/* the one field */
.lf-omni { position: relative; display: flex; flex: 1; min-width: 0; align-items: center; gap: 8px; height: 38px; padding: 0 6px 0 12px; border: 1px solid rgb(var(--lf-border)); border-radius: 12px; background: rgb(var(--lf-surface)); transition: border-color .18s, box-shadow .18s; }
.lf-omni:focus-within { border-color: rgb(var(--lf-accent) / .6); box-shadow: 0 0 0 3px rgb(var(--lf-accent) / .12); }
.lf-omni-icon { width: 15px; height: 15px; flex-shrink: 0; color: rgb(var(--lf-faint)); }
.lf-omni input { flex: 1; min-width: 0; border: 0; background: transparent; color: rgb(var(--lf-text)); font-size: 13px; outline: none; }
.lf-omni input::-moz-placeholder { color: rgb(var(--lf-faint)); }
.lf-omni input::placeholder { color: rgb(var(--lf-faint)); }
.lf-omni-kind { flex-shrink: 0; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: rgb(var(--lf-faint)); }
.lf-omni-ask { display: inline-flex; align-items: center; gap: 5px; height: 26px; padding: 0 9px; border-radius: 8px; color: rgb(var(--lf-accent-strong)); font-size: 11.5px; white-space: nowrap; transition: background .16s; }
.lf-omni-ask:hover { background: rgb(var(--lf-accent) / .1); }
.lf-omni-ask:disabled { opacity: .4; }
.lf-omni-go { display: grid; place-items: center; width: 28px; height: 28px; flex-shrink: 0; border-radius: 8px; background: rgb(var(--lf-text)); color: rgb(var(--lf-bg)); transition: transform .14s; }
.lf-omni-go:active { transform: scale(.94); }
.lf-omni-go:disabled { opacity: .3; cursor: default; }

/* sources, over the page */
.lf-sources { position: absolute; top: calc(100% + 8px); left: 108px; z-index: 10; width: min(420px, calc(100vw - 140px)); max-height: min(60vh, 560px); overflow: auto; padding: 12px 14px 14px; border: 1px solid rgb(var(--lf-border)); border-radius: 14px; background: rgb(var(--lf-panel) / .97); backdrop-filter: blur(8px); box-shadow: 0 24px 60px -24px rgb(var(--lf-scrim) / .6); }
.lf-sources-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12px; color: rgb(var(--lf-muted)); }
.lf-sources-head strong { font-weight: 500; color: rgb(var(--lf-text)); }
.lf-sources-compare { margin-left: auto; color: rgb(var(--lf-accent-strong)); font-size: 11.5px; white-space: nowrap; }
.lf-sources-close { display: grid; place-items: center; width: 24px; height: 24px; margin-left: auto; border-radius: 7px; color: rgb(var(--lf-muted)); }
.lf-sources-compare + .lf-sources-close { margin-left: 0; }
.lf-sources-close:hover { background: rgb(var(--lf-elevated)); color: rgb(var(--lf-text)); }
.lf-sources-error { padding: 10px 12px; border: 1px solid rgb(var(--lf-danger) / .3); border-radius: 10px; color: rgb(var(--lf-danger)); font-size: 12.5px; }
.lf-sources-note { padding: 6px 2px; color: rgb(var(--lf-muted)); font-size: 12.5px; }
.lf-sources-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; }
.lf-source { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; padding: 9px 8px; border-radius: 10px; transition: background .16s; }
.lf-source:hover { background: rgb(var(--lf-elevated)); }
.lf-source-n { padding-top: 3px; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 10.5px; color: rgb(var(--lf-faint)); }
.lf-source-host { margin: 0; font-size: 11px; color: rgb(var(--lf-muted)); }
.lf-source-title { display: flex; align-items: flex-start; gap: 6px; text-align: left; font-size: 13px; font-weight: 500; color: rgb(var(--lf-text)); }
.lf-source-title:hover { color: rgb(var(--lf-accent-strong)); }
.lf-source-snippet { margin: 3px 0 0; font-size: 12px; line-height: 1.5; color: rgb(var(--lf-muted)); overflow-wrap: anywhere; }

/* ---- the stage: page + rail ------------------------------------------------- */
.lf-nav-stage { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 10px; min-height: 0; min-width: 0; }
.lf-nav-stage.rail-hidden { grid-template-columns: minmax(0, 1fr); }
.lf-nav-stage.rail-hidden > .lf-nav-rail { display: none; }
.lf-nav-page { position: relative; display: flex; flex-direction: column; min-height: 0; min-width: 0; overflow: hidden; border: 1px solid rgb(var(--lf-hairline)); border-radius: 14px; background: rgb(var(--lf-panel)); }
.lf-nav-page > .flex { flex: 1; }
.lf-nav-note { position: absolute; left: 12px; right: 12px; top: 12px; z-index: 6; margin: 0; padding: 8px 12px; border: 1px solid rgb(var(--lf-border)); border-radius: 10px; background: rgb(var(--lf-elevated)); color: rgb(var(--lf-muted)); font-size: 12px; }

/* the empty page */
.lf-nav-empty { display: flex; flex: 1; flex-direction: column; justify-content: center; gap: 22px; padding: 28px clamp(20px, 5vw, 56px); overflow: auto; }
.lf-nav-empty h1 { margin: 0; font-size: 20px; font-weight: 500; letter-spacing: -.02em; color: rgb(var(--lf-text)); text-wrap: balance; }
.lf-nav-empty p { margin: 4px 0 0; max-width: 46ch; color: rgb(var(--lf-muted)); font-size: 13px; }
.lf-nav-starters { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; }
.lf-nav-starters button { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 12px 13px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 12px; background: rgb(var(--lf-surface)); text-align: left; transition: border-color .16s, background .16s; }
.lf-nav-starters button:hover { border-color: rgb(var(--lf-accent) / .45); background: rgb(var(--lf-elevated)); }
.lf-nav-starters strong { font-size: 13px; font-weight: 500; color: rgb(var(--lf-text)); }
.lf-nav-starters span { font-size: 12px; line-height: 1.4; color: rgb(var(--lf-muted)); }
.lf-nav-empty-note { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 12px; color: rgb(var(--lf-faint)); }
.lf-nav-empty-note > svg { width: 14px; height: 14px; flex-shrink: 0; }

/* looking back at a step */
.lf-nav-scrub { position: absolute; inset: 0; z-index: 7; display: grid; grid-template-rows: minmax(0, 1fr) auto; background: rgb(var(--lf-panel)); }
.lf-nav-scrub img { width: 100%; height: 100%; -o-object-fit: contain; object-fit: contain; -o-object-position: top; object-position: top; filter: saturate(.85); }
.lf-nav-scrub-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px 8px 14px; border-top: 1px solid rgb(var(--lf-hairline)); background: rgb(var(--lf-elevated)); font-size: 12px; color: rgb(var(--lf-text)); }
.lf-nav-scrub-bar span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lf-nav-hand { position: absolute; left: 50%; bottom: 14px; z-index: 6; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; padding: 6px 6px 6px 12px; border: 1px solid rgb(var(--lf-accent) / .5); border-radius: 999px; background: rgb(var(--lf-elevated)); font-size: 12px; color: rgb(var(--lf-text)); white-space: nowrap; }
.lf-nav-hand button { height: 26px; padding: 0 10px; border: 1px solid rgb(var(--lf-border)); border-radius: 8px; background: rgb(var(--lf-panel)); font-size: 12px; font-weight: 500; }
.lf-nav-hand button:hover { background: rgb(var(--lf-bg)); }

/* ---- the task rail ------------------------------------------------------------ */
.lf-nav-rail { display: flex; flex-direction: column; min-height: 0; min-width: 0; border: 1px solid rgb(var(--lf-hairline)); border-radius: 14px; background: rgb(var(--lf-panel)); }
.lf-nav-rail-head { display: flex; align-items: center; gap: 8px; height: 42px; flex-shrink: 0; padding: 0 6px 0 14px; border-bottom: 1px solid rgb(var(--lf-hairline)); font-size: 12px; color: rgb(var(--lf-muted)); }
.lf-nav-rail-head strong { min-width: 0; flex: 1; font-weight: 500; color: rgb(var(--lf-text)); }
.lf-nav-status { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; font-size: 11px; white-space: nowrap; }
.lf-nav-status i { width: 6px; height: 6px; border-radius: 50%; border: 1px solid rgb(var(--lf-muted)); }
.lf-nav-status.is-live i { border-color: rgb(var(--lf-accent)); background: rgb(var(--lf-accent)); }
.lf-nav-status.is-wait i { border-color: rgb(var(--lf-accent)); }
.lf-nav-status.is-done i { border-color: rgb(var(--lf-success)); background: rgb(var(--lf-success)); }
.lf-nav-rail-blank { flex: 1; display: flex; align-items: center; justify-content: center; padding: 20px; text-align: center; }
.lf-nav-rail-blank p { margin: 0; color: rgb(var(--lf-faint)); font-size: 12.5px; }
.lf-nav-compose { margin: 10px; padding: 10px; border: 1px solid rgb(var(--lf-border)); border-radius: 12px; background: rgb(var(--lf-surface)); }
.lf-nav-compose textarea { width: 100%; resize: none; border: 0; background: transparent; color: rgb(var(--lf-text)); font-size: 12.5px; line-height: 1.6; outline: none; }
.lf-nav-compose textarea::-moz-placeholder { color: rgb(var(--lf-faint)); }
.lf-nav-compose textarea::placeholder { color: rgb(var(--lf-faint)); }
.lf-nav-compose-error { margin: 0 0 8px; font-size: 12px; color: rgb(var(--lf-danger)); }
.lf-nav-compose-foot { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 10.5px; color: rgb(var(--lf-faint)); }
.lf-nav-compose-foot > svg { width: 12px; height: 12px; flex-shrink: 0; }
.lf-nav-compose-foot > span { flex: 1; }
.lf-nav-compose-foot > button { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: rgb(var(--lf-text)); color: rgb(var(--lf-bg)); }
.lf-nav-compose-foot > button > svg { width: 15px; height: 15px; }
.lf-nav-compose-foot > button:disabled { opacity: .3; }

/* ---- the strip ---------------------------------------------------------------- */
.lf-nav-strip { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: center; min-width: 0; }
.lf-nav-live { display: flex; align-items: center; gap: 8px; padding-left: 4px; font-size: 11.5px; color: rgb(var(--lf-muted)); white-space: nowrap; }
.lf-nav-live-dot { width: 6px; height: 6px; flex-shrink: 0; border: 1px solid rgb(var(--lf-muted)); border-radius: 50%; }
.lf-nav-live-dot.is-active { border-color: rgb(var(--lf-accent)); background: rgb(var(--lf-accent)); }
.lf-nav-stop { display: inline-flex; align-items: center; gap: 5px; margin-left: 4px; color: rgb(var(--lf-text)); }
.lf-nav-stop > svg { width: 11px; height: 11px; }
.lf-nav-frames { display: flex; gap: 8px; min-width: 0; overflow-x: auto; padding: 4px 2px; scrollbar-width: thin; }
.lf-nav-frames-hint { align-self: center; padding: 0 6px; font-size: 12px; color: rgb(var(--lf-faint)); white-space: nowrap; }
.lf-nav-frame { position: relative; display: grid; gap: 4px; width: 136px; flex-shrink: 0; padding: 4px; border: 1px solid transparent; border-radius: 10px; text-align: left; animation: lf-nav-frame-in .3s cubic-bezier(.2, 0, 0, 1) both; transition: border-color .16s, background .16s; }
.lf-nav-frame:hover:not(:disabled) { background: rgb(var(--lf-elevated)); }
.lf-nav-frame:disabled { cursor: default; }
.lf-nav-frame.is-cur { border-color: rgb(var(--lf-accent) / .6); }
.lf-nav-thumb { position: relative; display: block; width: 128px; height: 72px; overflow: hidden; border: 1px solid rgb(var(--lf-hairline)); border-radius: 6px; background: rgb(var(--lf-surface)); }
.lf-nav-thumb img { display: block; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: top; object-position: top; }
.lf-nav-thumb-solid { display: grid; place-items: center; height: 100%; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 10px; letter-spacing: .08em; color: rgb(var(--lf-muted)); }
.lf-nav-frame.is-failed .lf-nav-thumb { border-color: rgb(var(--lf-danger) / .5); }
.lf-nav-thumb i { position: absolute; left: 5px; top: 5px; padding: 1px 5px; border-radius: 4px; background: rgb(var(--lf-scrim) / .7); color: rgb(var(--lf-brand-shell)); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 9.5px; font-style: normal; }
.lf-nav-frame-t { font-size: 11.5px; font-weight: 500; color: rgb(var(--lf-text)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lf-nav-frame-s { font-size: 10.5px; color: rgb(var(--lf-faint)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lf-nav-frame.is-failed .lf-nav-frame-s { color: rgb(var(--lf-danger)); }
@keyframes lf-nav-frame-in { from { opacity: 0; transform: translateY(6px); } }

/* kept for the page's own waiting / error states */
.lf-navigator-companion { display: grid; width: 56px; height: 56px; place-items: center; border-radius: 18px; color: rgb(var(--lf-accent)); background: rgb(var(--lf-accent) / .1); border: 1px solid rgb(var(--lf-accent) / .2); }
.lf-navigator-launch { background: rgb(var(--lf-panel)); }

/* ---- focus, motion -------------------------------------------------------------- */
.lf-navigator :is(button, input, textarea):focus-visible { outline: 2px solid rgb(var(--lf-accent)); outline-offset: 2px; }
html.reduce-motion .lf-navigator *, html.reduce-motion .lf-navigator *::after { animation: none; transition: none; }
@media (prefers-reduced-motion: reduce) { .lf-navigator *, .lf-navigator *::after { animation: none; transition: none; } }

/* ---- narrower screens ------------------------------------------------------------ */
@media (max-width: 1100px) {
  .lf-nav-stage { grid-template-columns: minmax(0, 1fr) 280px; }
}
@media (max-width: 760px) {
  .lf-navigator { padding: 8px 10px 10px; gap: 8px; }
  .lf-nav-nav, .lf-nav-rail-toggle, .lf-omni-kind { display: none; }
  .lf-nav-btn.is-accent > span { display: none; }
  .lf-sources { left: 0; width: calc(100vw - 20px); }
  .lf-nav-mobile-switch { display: flex; flex-shrink: 0; padding: 3px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 10px; }
  .lf-nav-mobile-switch button { display: flex; align-items: center; gap: 5px; padding: 6px 9px; border-radius: 7px; font-size: 11px; color: rgb(var(--lf-muted)); }
  .lf-nav-mobile-switch button > svg { width: 13px; height: 13px; }
  .lf-nav-mobile-switch button[aria-pressed=true] { background: rgb(var(--lf-elevated)); color: rgb(var(--lf-text)); }
  .lf-nav-stage { display: flex; overflow: hidden; }
  .lf-nav-page, .lf-nav-rail { width: 100%; min-width: 0; }
  .lf-nav-stage[data-mobile-pane=web] .lf-nav-rail, .lf-nav-stage[data-mobile-pane=chat] .lf-nav-page { display: none; }
  .lf-nav-stage[data-mobile-pane=chat] .lf-nav-rail { display: flex; }
  .lf-nav-strip { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .lf-nav-starters { grid-template-columns: 1fr; }
}
/* Short invitations, never a working-state loop. Idle marks remain still. */
.lf-product-brand { overflow: visible; }
.lf-brand-motion-part { transform-box: fill-box; transform-origin: center; animation-duration: 720ms; animation-timing-function: cubic-bezier(.22, 1, .36, 1); animation-fill-mode: both; animation-iteration-count: 1; }
.lf-ace-ribbon-light { animation-name: var(--lf-mark-ace-light, none); }
.lf-ace-ribbon-warm { animation-name: var(--lf-mark-ace-warm, none); }
.lf-forge-shell { animation-name: var(--lf-mark-forge-shell, none); animation-duration: 1000ms; animation-timing-function: cubic-bezier(.25, .8, .3, 1); }
.lf-forge-core { animation-name: var(--lf-mark-forge-core, none); animation-duration: 850ms; animation-delay: 140ms; animation-timing-function: cubic-bezier(.25, .8, .3, 1); }
.lf-forge-dot { animation-name: var(--lf-mark-forge-dot, none); animation-duration: 850ms; animation-delay: 230ms; animation-timing-function: cubic-bezier(.25, .8, .3, 1); }

:is(.lf-product-trigger, .lf-product-option, .lf-product-launch-card):focus-visible {
  --lf-mark-ace-light: lf-ace-ribbon-light;
  --lf-mark-ace-warm: lf-ace-ribbon-warm;
  --lf-mark-forge-shell: lf-forge-shell-land;
  --lf-mark-forge-core: lf-forge-core-land;
  --lf-mark-forge-dot: lf-forge-dot-land;
}
@media (hover: hover) and (pointer: fine) {
  :is(.lf-product-trigger, .lf-product-option, .lf-product-launch-card):hover {
    --lf-mark-ace-light: lf-ace-ribbon-light;
    --lf-mark-ace-warm: lf-ace-ribbon-warm;
    --lf-mark-forge-shell: lf-forge-shell-land;
    --lf-mark-forge-core: lf-forge-core-land;
    --lf-mark-forge-dot: lf-forge-dot-land;
  }
}

@keyframes lf-ace-ribbon-light {
  0%, 100% { transform: none; }
  38% { transform: translate(-3px, -2px) rotate(-7deg); }
  72% { transform: translate(1px, 0) rotate(2deg); }
}
@keyframes lf-ace-ribbon-warm {
  0%, 100% { transform: none; }
  38% { transform: translate(3px, 2px) rotate(8deg); }
  72% { transform: translate(-1px, 0) rotate(-2deg); }
}
@keyframes lf-forge-shell-land {
  0% { transform: scale(.7, .58); opacity: .65; }
  42% { transform: scale(1.035, .97); opacity: 1; }
  72% { transform: scale(.99, 1.015); }
  100% { transform: none; opacity: 1; }
}
@keyframes lf-forge-core-land {
  0% { transform: translateY(-8px) scale(.45); opacity: 0; }
  48% { transform: translateY(1px) scale(1.06, .95); opacity: 1; }
  76% { transform: translateY(-.5px) scale(.985, 1.015); }
  100% { transform: none; opacity: 1; }
}
@keyframes lf-forge-dot-land {
  0% { transform: translateY(-7px) scale(.4); opacity: 0; }
  48% { transform: translateY(1px) scale(1.06, .95); opacity: 1; }
  76% { transform: translateY(-.5px) scale(.99, 1.015); }
  100% { transform: none; opacity: 1; }
}

html.reduce-motion .lf-brand-motion-part { animation: none !important; transform: none !important; opacity: 1 !important; }
@media (prefers-reduced-motion: reduce) {
  .lf-brand-motion-part { animation: none !important; transform: none !important; opacity: 1 !important; }
}
/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */

/**
 *  Default styles for xterm.js
 */

.xterm {
    cursor: text;
    position: relative;
    -moz-user-select: none;
         user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
}

.xterm.focus,
.xterm:focus {
    outline: none;
}

.xterm .xterm-helpers {
    position: absolute;
    top: 0;
    /**
     * The z-index of the helpers must be higher than the canvases in order for
     * IMEs to appear on top.
     */
    z-index: 5;
}

.xterm .xterm-helper-textarea {
    padding: 0;
    border: 0;
    margin: 0;
    /* Move textarea out of the screen to the far left, so that the cursor is not visible */
    position: absolute;
    opacity: 0;
    left: -9999em;
    top: 0;
    width: 0;
    height: 0;
    z-index: -5;
    /** Prevent wrapping so the IME appears against the textarea at the correct position */
    white-space: nowrap;
    overflow: hidden;
    resize: none;
}

.xterm .composition-view {
    /* TODO: Composition position got messed up somewhere */
    background: #000;
    color: #FFF;
    display: none;
    position: absolute;
    white-space: nowrap;
    z-index: 1;
}

.xterm .composition-view.active {
    display: block;
}

.xterm .xterm-viewport {
    /* On OS X this is required in order for the scroll bar to appear fully opaque */
    background-color: #000;
    overflow-y: scroll;
    cursor: default;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
}

.xterm .xterm-screen {
    position: relative;
}

.xterm .xterm-screen canvas {
    position: absolute;
    left: 0;
    top: 0;
}

.xterm .xterm-scroll-area {
    visibility: hidden;
}

.xterm-char-measure-element {
    display: inline-block;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: -9999em;
    line-height: normal;
}

.xterm.enable-mouse-events {
    /* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */
    cursor: default;
}

.xterm.xterm-cursor-pointer,
.xterm .xterm-cursor-pointer {
    cursor: pointer;
}

.xterm.column-select.focus {
    /* Column selection mode */
    cursor: crosshair;
}

.xterm .xterm-accessibility:not(.debug),
.xterm .xterm-message {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 10;
    color: transparent;
    pointer-events: none;
}

.xterm .xterm-accessibility-tree:not(.debug) *::-moz-selection {
  color: transparent;
}

.xterm .xterm-accessibility-tree:not(.debug) *::selection {
  color: transparent;
}

.xterm .xterm-accessibility-tree {
  -webkit-user-select: text;
     -moz-user-select: text;
          user-select: text;
  white-space: pre;
}

.xterm .live-region {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.xterm-dim {
    /* Dim should not apply to background, so the opacity of the foreground color is applied
     * explicitly in the generated class and reset to 1 here */
    opacity: 1 !important;
}

.xterm-underline-1 { text-decoration: underline; }
.xterm-underline-2 { -webkit-text-decoration: double underline; text-decoration: double underline; }
.xterm-underline-3 { -webkit-text-decoration: wavy underline; text-decoration: wavy underline; }
.xterm-underline-4 { -webkit-text-decoration: dotted underline; text-decoration: dotted underline; }
.xterm-underline-5 { -webkit-text-decoration: dashed underline; text-decoration: dashed underline; }

.xterm-overline {
    text-decoration: overline;
}

.xterm-overline.xterm-underline-1 { text-decoration: overline underline; }
.xterm-overline.xterm-underline-2 { -webkit-text-decoration: overline double underline; text-decoration: overline double underline; }
.xterm-overline.xterm-underline-3 { -webkit-text-decoration: overline wavy underline; text-decoration: overline wavy underline; }
.xterm-overline.xterm-underline-4 { -webkit-text-decoration: overline dotted underline; text-decoration: overline dotted underline; }
.xterm-overline.xterm-underline-5 { -webkit-text-decoration: overline dashed underline; text-decoration: overline dashed underline; }

.xterm-strikethrough {
    text-decoration: line-through;
}

.xterm-screen .xterm-decoration-container .xterm-decoration {
	z-index: 6;
	position: absolute;
}

.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer {
	z-index: 7;
}

.xterm-decoration-overview-ruler {
    z-index: 8;
    position: absolute;
    top: 0;
    right: 0;
    pointer-events: none;
}

.xterm-decoration-top {
    z-index: 2;
    position: relative;
}
.lf-ostra-trigger { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; height: 32px; padding: 0 8px; border-radius: 9px; color: rgb(var(--lf-muted)); font-size: 12px; transition: background 180ms, color 180ms; }
.lf-ostra-trigger:hover { background: rgb(var(--lf-elevated)); color: rgb(var(--lf-text)); }
.lf-ostra-trigger > svg { width: 13px; height: 13px; flex-shrink: 0; }
.lf-ostra-trigger > span:first-of-type { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lf-ostra-trigger-effort { display: inline-flex; align-items: center; gap: 3px; padding: 2px 5px; border: 1px solid rgb(var(--lf-border)); border-radius: 5px; font-size: 10px; }
.lf-ostra-trigger-effort svg { width: 11px; height: 11px; }
.lf-ostra-trigger-supreme .lf-ostra-trigger-effort { color: rgb(var(--lf-accent-strong)); background: linear-gradient(100deg, rgb(var(--lf-accent) / .14), rgb(var(--lf-danger) / .1)); border-color: rgb(var(--lf-accent) / .4); }
.lf-ostra-control { --ostra-light: var(--lf-text); padding: 0; }
html.light .lf-ostra-control { --ostra-light: var(--lf-on-accent); }
.lf-ostra-dial-heading { display: grid; grid-template-columns: 24px 1fr 24px; align-items: start; text-align: center; margin-bottom: 13px; }
.lf-ostra-effort-title { display: block; color: rgb(var(--lf-accent-strong)); font-size: 13px; font-weight: 650; line-height: 20px; }
.lf-ostra-model-select { display: inline-flex; gap: 2px; align-items: center; max-width: 100%; font-size: 11px; line-height: 19px; color: rgb(var(--lf-muted)); }
.lf-ostra-model-select:hover { color: rgb(var(--lf-text)); }
.lf-ostra-model-select svg { width: 11px; height: 11px; transition: transform 180ms ease; }
.lf-ostra-model-select[aria-expanded=true] svg { transform: rotate(90deg); }
.lf-ostra-energy { width: 14px; height: 14px; margin: 4px; color: rgb(var(--lf-faint)); }
.lf-ostra-reset { display: flex; width: 24px; height: 24px; align-items: center; justify-content: center; color: rgb(var(--lf-faint)); border-radius: 7px; }
.lf-ostra-reset:hover:not(:disabled) { background: rgb(var(--lf-elevated)); color: rgb(var(--lf-text)); }
.lf-ostra-reset:disabled { opacity: .4; }
.lf-ostra-reset svg { width: 14px; height: 14px; }
.lf-ostra-models { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding: 4px; background: rgb(var(--lf-bg) / .6); border: 1px solid rgb(var(--lf-border)); border-radius: 12px; }
.lf-ostra-models button { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; border-radius: 8px; color: rgb(var(--lf-muted)); font-size: 12px; transition: background 180ms, color 180ms; }
.lf-ostra-models button:hover:not(:disabled) { background: rgb(var(--lf-elevated) / .5); color: rgb(var(--lf-text)); }
.lf-ostra-models button[aria-pressed=true] { background: rgb(var(--lf-elevated)); color: rgb(var(--lf-text)); box-shadow: 0 2px 6px rgb(var(--lf-scrim) / .1); }
.lf-ostra-models button:disabled { opacity: .38; cursor: not-allowed; }
.lf-ostra-models button > svg { width: 11px; height: 11px; color: rgb(var(--lf-accent-strong)); }
.lf-ostra-model-glyph { display: inline-flex; align-items: end; gap: 2px; height: 12px; }
.lf-ostra-model-glyph i { display: block; width: 3px; height: 5px; border-radius: 2px; background: rgb(var(--lf-faint) / .3); }
.lf-ostra-model-glyph i:nth-child(2) { height: 8px; }
.lf-ostra-model-glyph i:nth-child(3) { height: 11px; }
.lf-ostra-model-glyph i[data-active=true] { background: rgb(var(--lf-accent-strong)); }
.lf-ostra-effort-track { position: relative; height: 28px; margin: 10px 0 2px; border-radius: 20px; isolation: isolate; }
.lf-ostra-track-surface { position: absolute; inset: 2px 0; overflow: hidden; border-radius: inherit; pointer-events: none; background: linear-gradient(100deg, rgb(var(--lf-accent) / .8), rgb(var(--lf-accent-hover) / .72) 40%, rgb(var(--lf-danger) / .85)); box-shadow: inset 0 1px 0 rgb(var(--lf-text) / .09); }
.lf-ostra-track-heat { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(var(--lf-accent)), rgb(var(--lf-danger))); opacity: 0; transition: opacity 380ms ease-out; }
.lf-ostra-track-glow { position: absolute; inset: 2px 0; z-index: -1; border-radius: inherit; box-shadow: 0 0 10px rgb(var(--lf-accent) / .36), 0 0 22px rgb(var(--lf-danger) / .24); opacity: 0; transform: scale(.98); transition: opacity 500ms ease-out, transform 500ms cubic-bezier(.22, 1, .36, 1); pointer-events: none; }
.lf-ostra-thumb-window { position: absolute; inset: -6px; z-index: 2; overflow: hidden; pointer-events: none; }
.lf-ostra-thumb-travel { position: absolute; inset: 6px 20px; transform: translate3d(calc(var(--effort-progress) * 100%), 0, 0); transition: transform 300ms cubic-bezier(.22, 1, .36, 1); }
.lf-ostra-thumb { display: block; width: 28px; height: 28px; margin-left: -14px; border-radius: 50%; background: rgb(var(--ostra-light)); border: 1px solid rgb(var(--lf-panel) / .15); box-shadow: 0 2px 5px rgb(var(--lf-scrim) / .22); }
.lf-ostra-effort-track.is-dragging .lf-ostra-thumb-travel { transition: none; }
.lf-ostra-effort-track input { position: relative; z-index: 3; display: block; -webkit-appearance: none; -moz-appearance: none; appearance: none; width: 100%; height: 28px; margin: 0; padding: 0; cursor: ew-resize; touch-action: pan-y; border: 0; border-radius: inherit; background: transparent; box-shadow: none; }
.lf-ostra-effort-track input::-webkit-slider-runnable-track { height: 28px; background: transparent; border: 0; }
.lf-ostra-effort-track input::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 28px; height: 28px; border: 0; border-radius: 50%; background: transparent; box-shadow: none; }
.lf-ostra-effort-track input::-moz-range-track { height: 28px; background: transparent; border: 0; }
.lf-ostra-effort-track input::-moz-range-progress { background: transparent; }
.lf-ostra-effort-track input::-moz-range-thumb { width: 28px; height: 28px; border: 0; border-radius: 50%; background: transparent; box-shadow: none; }
.lf-ostra-effort-track input:focus-visible { outline: 2px solid rgb(var(--lf-accent)); outline-offset: 4px; }
.lf-ostra-effort-track.is-disabled { opacity: .45; }
.lf-ostra-effort-track input:disabled { cursor: not-allowed; }
.lf-ostra-sweep { position: absolute; inset: 0; opacity: 0; background: linear-gradient(100deg, transparent 25%, rgb(var(--ostra-light) / .24) 48%, rgb(var(--lf-accent-hover) / .4) 55%, transparent 75%); pointer-events: none; }
.lf-ostra-sparks { position: absolute; inset: 0; opacity: .55; pointer-events: none; transition: opacity 350ms ease-out; }
.lf-ostra-sparks i { --spark-time: 2.4s; --spark-delay: 0s; position: absolute; top: 45%; left: 7%; width: 2px; height: 2px; border-radius: 50%; background: rgb(var(--ostra-light) / .85); box-shadow: 0 0 4px rgb(var(--ostra-light) / .3); }
.lf-ostra-sparks i:nth-child(2) { --spark-time: 2s; --spark-delay: -.7s; left: 19%; top: 75%; }
.lf-ostra-sparks i:nth-child(3) { --spark-time: 2.6s; --spark-delay: -1.4s; left: 31%; top: 28%; width: 3px; height: 3px; }
.lf-ostra-sparks i:nth-child(4) { --spark-time: 1.8s; --spark-delay: -.3s; left: 43%; top: 67%; }
.lf-ostra-sparks i:nth-child(5) { --spark-delay: -1.1s; left: 54%; top: 21%; }
.lf-ostra-sparks i:nth-child(6) { --spark-time: 2.8s; --spark-delay: -1.9s; left: 65%; top: 54%; width: 3px; height: 3px; }
.lf-ostra-sparks i:nth-child(7) { --spark-time: 2.1s; --spark-delay: -.5s; left: 75%; top: 80%; }
.lf-ostra-sparks i:nth-child(8) { --spark-time: 1.9s; --spark-delay: -1.6s; left: 85%; top: 35%; }
.lf-ostra-sparks i:nth-child(9) { --spark-delay: -.9s; left: 97%; top: 65%; }
.lf-ostra-stops { display: flex; justify-content: space-between; gap: 1px; margin: 0 -4px; }
.lf-ostra-stops button { min-height: 30px; padding: 4px; color: rgb(var(--lf-faint)); font-size: 9px; white-space: nowrap; }
.lf-ostra-stops button[aria-pressed=true] { color: rgb(var(--lf-text)); font-weight: 600; }
.lf-ostra-control.is-supreme .lf-ostra-effort-title { color: rgb(var(--lf-accent-strong)); text-shadow: 0 0 14px rgb(var(--lf-danger) / .25); }
.lf-ostra-control.is-supreme .lf-ostra-energy { color: rgb(var(--lf-accent-strong)); }
.lf-ostra-control.is-supreme .lf-ostra-track-heat, .lf-ostra-control.is-supreme .lf-ostra-sparks { opacity: 1; }
.lf-ostra-control.is-supreme .lf-ostra-track-glow { opacity: 1; transform: scale(1); }
.lf-ostra-control.is-energized .lf-ostra-sweep { animation: lf-ostra-current 2.2s cubic-bezier(.42, 0, .85, .55) infinite; }
.lf-ostra-control.is-energized .lf-ostra-sparks i { animation: lf-ostra-ember var(--spark-time) cubic-bezier(.32, 0, .8, .4) var(--spark-delay) infinite; }
.lf-ostra-details { padding-top: 4px; margin-top: 0; font-size: 10px; color: rgb(var(--lf-faint)); }
.lf-ostra-details summary { cursor: pointer; }
.lf-ostra-details p { margin-top: 7px; line-height: 1.5; color: rgb(var(--lf-muted)); }
.lf-ostra-error { margin-top: 8px; color: rgb(var(--lf-danger)); font-size: 11px; }
.lf-ostra-error button { margin-left: 6px; text-decoration: underline; }
@keyframes lf-ostra-current { 0% { opacity: 0; transform: translate3d(-100%, 0, 0); } 25% { opacity: .3; } 65% { opacity: .85; } 100% { opacity: 0; transform: translate3d(100%, 0, 0); } }
@keyframes lf-ostra-ember { 0% { opacity: 0; transform: translate3d(-48px, 2px, 0) scaleX(.6); } 18% { opacity: .6; } 42% { opacity: 1; } 72% { opacity: .9; } 100% { opacity: 0; transform: translate3d(172px, -3px, 0) scaleX(4); } }
html.reduce-motion .lf-ostra-control *, html.reduce-motion .lf-ostra-trigger { animation: none !important; transition: none !important; }
@media (prefers-reduced-motion: reduce) { .lf-ostra-control *, .lf-ostra-trigger { animation: none !important; transition: none !important; } }
.lf-floating-panel:has(.lf-home-intent-menu) {
  padding: 7px;
  background: rgb(var(--lf-panel));
  border-color: rgb(var(--lf-border));
  box-shadow: 0 16px 48px rgb(var(--lf-scrim) / .2), 0 2px 8px rgb(var(--lf-scrim) / .08);
}
.lf-home-intent-heading { padding: 10px 12px 12px; color: rgb(var(--lf-muted)); font-size: 11px; font-weight: 500; }
.lf-home-intent-option {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 12px;
  min-height: 59px;
  padding: 10px;
  border-radius: 11px;
  text-align: left;
  outline: none;
  transition: background 140ms ease, box-shadow 140ms ease;
}
.lf-home-intent-option:hover:not(:disabled) { background: rgb(var(--lf-text) / .045); }
.lf-home-intent-option[aria-checked='true'] { background: rgb(var(--lf-accent) / .09); }
.lf-home-intent-option:focus-visible { box-shadow: inset 0 0 0 1px rgb(var(--lf-accent) / .5); }
.lf-home-intent-icon {
  display: flex;
  flex: none;
  width: 33px;
  height: 33px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: rgb(var(--lf-muted));
  background: rgb(var(--lf-text) / .035);
}
.lf-home-intent-option[aria-checked='true'] .lf-home-intent-icon { color: rgb(var(--lf-accent)); background: rgb(var(--lf-accent) / .09); }
.lf-home-intent-copy { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 3px; }
.lf-home-intent-label { color: rgb(var(--lf-text)); font-size: 12px; font-weight: 550; line-height: 1.35; }
.lf-home-intent-description { color: rgb(var(--lf-muted)); font-size: 11px; line-height: 1.45; }
.lf-home-intent-check { display: flex; width: 15px; flex: none; color: rgb(var(--lf-accent)); }
.lf-home-intent-option:disabled { opacity: .5; cursor: not-allowed; }
.lf-home-intent-divider { height: 1px; margin: 7px 10px; background: rgb(var(--lf-border) / .6); }
.lf-home-intent-chevron { transition: transform 160ms ease; }
.lf-home-intent-trigger[aria-expanded='true'] .lf-home-intent-chevron { transform: rotate(180deg); }
html.reduce-motion :is(.lf-home-intent-chevron, .lf-home-intent-option) { transition: none; }
@media (prefers-reduced-motion: reduce) { .lf-home-intent-chevron, .lf-home-intent-option { transition: none; } }
.lf-ace-personality { position: relative; isolation: isolate; }
.lf-ace-personality-button { display: block; width: 100%; height: 100%; border: 0; border-radius: 22%; background: transparent; cursor: pointer; }
.lf-ace-personality-button:focus-visible { outline: 2px solid rgb(var(--lf-accent) / .7); outline-offset: 7px; }
.lf-ace-personality-mark { display: block; width: 100%; height: 100%; transform: none; transform-origin: 50% 72%; transition: transform 240ms cubic-bezier(.22, 1, .36, 1); }
.lf-ace-personality[data-open='true'][data-pose='curious'] .lf-ace-personality-mark { transform: translateY(-3px) rotate(-7deg); }
.lf-ace-personality[data-open='true'][data-pose='pleased'] .lf-ace-personality-mark { transform: translateY(-2px) rotate(5deg) scale(1.025); }
.lf-ace-personality-bubble { position: absolute; bottom: calc(100% + 17px); left: 0; display: block; width: -moz-max-content; width: max-content; max-width: min(235px, calc(100vw - 48px)); padding: 12px 15px; border: 1px solid rgb(var(--lf-border)); border-radius: 16px 16px 16px 5px; background: rgb(var(--lf-panel)); color: rgb(var(--lf-text)); box-shadow: 0 7px 24px rgb(var(--lf-scrim) / .07); font-size: 12px; line-height: 1.55; font-weight: 450; opacity: 0; visibility: hidden; transform: translateY(5px) scale(.97); transform-origin: 22px 100%; pointer-events: none; transition: opacity 160ms ease-out, transform 200ms cubic-bezier(.22, 1, .36, 1), visibility 0s 160ms; }
.lf-ace-personality-bubble i { display: block; position: absolute; width: 7px; height: 7px; bottom: -14px; left: 25px; border: 1px solid rgb(var(--lf-border)); border-radius: 50%; background: rgb(var(--lf-panel)); }
.lf-ace-personality[data-open='true'] .lf-ace-personality-bubble { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.lf-ace-personality.is-still .lf-ace-personality-mark, html.reduce-motion .lf-ace-personality-mark { transform: none !important; transition: none; }
.lf-ace-personality.is-still .lf-ace-personality-bubble, html.reduce-motion .lf-ace-personality-bubble { transform: none; transition: none; }
@media (prefers-reduced-motion: reduce) { .lf-ace-personality-mark { transform: none !important; transition: none; } .lf-ace-personality-bubble { transform: none; transition: none; } }
@media (max-width: 639px) { .lf-ace-personality-bubble { bottom: calc(100% + 13px); font-size: 11px; padding: 10px 13px; } }
/* A quiet set of doors beneath the idea composer, sharing the home's width. */
.lf-product-launcher {
  margin-top: 32px;
}

.lf-product-launcher-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 16px;
  margin-bottom: 12px;
}

.lf-product-launcher-heading h2 {
  color: rgb(var(--lf-text));
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -.01em;
}

.lf-product-launcher-heading p {
  color: rgb(var(--lf-muted));
  font-size: 11px;
}

.lf-product-launcher-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 136px), 1fr));
  gap: 10px;
}

.lf-product-launch-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  padding: 15px;
  border: 1px solid rgb(var(--lf-text) / .075);
  border-radius: 14px;
  background: rgb(var(--lf-text) / .018);
  text-align: left;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.lf-product-launch-card:hover,
.lf-product-launch-card:focus-visible {
  border-color: rgb(var(--lf-accent) / .3);
  background: rgb(var(--lf-text) / .04);
}

.lf-product-launch-card-top {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.lf-product-launch-icon {
  width: 19px;
  height: 19px;
  color: rgb(var(--lf-accent-strong));
  stroke-width: 1.6;
}

.lf-product-launch-arrow {
  width: 14px;
  height: 14px;
  color: rgb(var(--lf-muted));
  opacity: .65;
  transition: transform 160ms ease, opacity 160ms ease;
}

.lf-product-launch-card:hover .lf-product-launch-arrow,
.lf-product-launch-card:focus-visible .lf-product-launch-arrow {
  opacity: 1;
  transform: translate(1px, -1px);
}

.lf-product-launch-name {
  color: rgb(var(--lf-text));
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.4;
}

.lf-product-launch-description {
  margin-top: 5px;
  color: rgb(var(--lf-muted));
  font-size: 11px;
  line-height: 1.5;
}

@media (max-width: 639px) {
  .lf-product-launcher { margin-top: 26px; }
  .lf-product-launch-card { padding: 13px; }
  .lf-product-launch-card-top { margin-bottom: 10px; }
}

html.reduce-motion :is(.lf-product-launch-card, .lf-product-launch-arrow) {
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  .lf-product-launch-card,
  .lf-product-launch-arrow { transition: none; }
}
/* One persistent composer; surrounding content settles out of the way. */
.lf-home-focus-scene { position: relative; isolation: isolate; }
.lf-ace-home-page { scrollbar-gutter: stable; }
.lf-ace-home-page.is-writing { overflow-anchor: none; }
.lf-ace-home-page.is-writing[data-home-focus-fit='true'] { overflow-y: hidden; }
.lf-ace-home-page.is-writing[data-home-focus-fit='false'] { overscroll-behavior-y: contain; }
.lf-home-focus-wash {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.lf-home-focus-wash::before {
  position: absolute;
  content: '';
  inset: -25%;
  background: radial-gradient(ellipse at 50% 40%, rgb(var(--lf-accent) / .1), rgb(var(--lf-accent) / .035) 38%, rgb(var(--lf-accent) / 0) 70%);
  border-radius: 50%;
  opacity: 0;
  transform: scale(.2);
  transform-origin: 50% 40%;
  transition: transform 520ms cubic-bezier(.22, 1, .36, 1), opacity 300ms ease-out;
}
.is-writing .lf-home-focus-wash::before { opacity: 1; transform: scale(1.25); }
.lf-home-composer-origin { position: relative; z-index: 2; }
.lf-home-composer-motion { position: relative; transform: translate3d(0, 0, 0); transition: transform 320ms cubic-bezier(.22, .75, .3, 1); }
.is-writing .lf-home-composer-motion { transform: translate3d(0, var(--home-focus-shift, 0px), 0); }
.lf-home-focus-return {
  position: absolute;
  inset: auto 2px calc(100% + 14px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  z-index: 3;
  color: rgb(var(--lf-muted));
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 160ms ease-out, transform 200ms cubic-bezier(.22, 1, .36, 1), visibility 0s 160ms;
}
.lf-home-focus-return button { display: inline-flex; align-items: center; gap: 7px; min-height: 32px; border-radius: 8px; padding: 5px 8px; font-size: 12px; }
.lf-home-focus-return button:hover { color: rgb(var(--lf-text)); background: rgb(var(--lf-text) / .045); }
.lf-home-focus-return button:focus-visible { outline: 2px solid rgb(var(--lf-accent) / .65); outline-offset: 2px; }
.lf-home-focus-return span { font-size: 11px; letter-spacing: .015em; }
.is-writing .lf-home-focus-return { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.is-writing[data-home-focus-fit='false'] .lf-home-focus-return { transform: translateY(var(--home-focus-toolbar-shift, 0px)); transition: opacity 160ms ease-out; background: rgb(var(--lf-bg) / .96); border-radius: 10px; }
.lf-home-focus-scene .lf-home-composer { position: relative; isolation: isolate; transition: border-color 200ms ease-out, box-shadow 240ms ease-out; }
.lf-home-focus-scene .lf-home-composer::before {
  position: absolute;
  z-index: -1;
  content: '';
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(ellipse at 18% 0%, rgb(var(--lf-accent) / .075), rgb(var(--lf-accent) / 0) 68%);
  opacity: 0;
  transition: opacity 320ms ease-out;
}
.is-writing .lf-home-composer::before { opacity: 1; }
.is-writing .lf-home-composer { border-color: rgb(var(--lf-accent) / .35); box-shadow: 0 18px 70px rgb(var(--lf-bg) / .22), 0 0 0 1px rgb(var(--lf-accent) / .035); }
.lf-home-focus-scene :is(.lf-home-intro, .lf-home-welcome, .lf-home-inspiration, .lf-home-recent, .lf-product-launcher-heading, .lf-product-launch-card) {
  transform-origin: 50% 20%;
  transition: opacity 180ms ease-out, transform 260ms cubic-bezier(.22, .75, .3, 1), border-radius 260ms cubic-bezier(.22, .75, .3, 1), visibility 0s;
}
.is-writing :is(.lf-home-intro, .lf-home-welcome, .lf-home-inspiration, .lf-home-recent, .lf-product-launcher-heading, .lf-product-launch-card) {
  opacity: 0;
  transform: translateY(-10px) scale(.95);
  visibility: hidden;
  transition-delay: 0s, 0s, 0s, 260ms;
}
.is-writing .lf-product-launch-card {
  transform: translateY(-12px) scale(.76);
  border-radius: 40%;
}
.is-writing .lf-home-retreat { pointer-events: none; }
.lf-home-intro h1:focus { outline: none; }
@media (max-width: 639px) {
  .lf-home-focus-return { inset-inline: 0; }
  .lf-home-focus-return span { display: none; }
  .is-writing .lf-home-composer textarea { min-height: 104px; }
}
html.reduce-motion .lf-home-focus-scene *, html.reduce-motion .lf-home-focus-scene *::before,
.lf-home-motion-off .lf-home-focus-scene *, .lf-home-motion-off .lf-home-focus-scene *::before { transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  .lf-home-focus-scene *, .lf-home-focus-scene *::before { transition: none !important; }
}
.lf-forge-page { height: 100%; min-height: 0; overflow-y: auto; }
.lf-forge-page-heading, .lf-forge-page-body { width: 100%; max-width: 1480px; margin: 0 auto; padding-left: clamp(18px, 3vw, 40px); padding-right: clamp(18px, 3vw, 40px); }
.lf-forge-page-heading { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 22px; padding-top: 38px; padding-bottom: 28px; }
.lf-forge-eyebrow { display: flex; align-items: center; gap: 8px; color: rgb(var(--lf-muted)); font-size: 10px; letter-spacing: .11em; }
.lf-forge-page-heading h1 { margin: 12px 0 8px; font-size: clamp(26px, 3vw, 34px); letter-spacing: -.04em; font-weight: 550; }
.lf-forge-page-heading > div > p:last-child { color: rgb(var(--lf-muted)); font-size: 13px; line-height: 1.6; }
.lf-forge-heading-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.lf-forge-heading-actions > div { flex-wrap: wrap; }
.lf-forge-heading-actions button { border-radius: 12px; font-size: 12px; height: 38px; }
.lf-forge-page-body { padding-top: 0; padding-bottom: 40px; }
.lf-forge-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 10px; margin-bottom: 18px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 16px; background: rgb(var(--lf-panel)); }
.lf-forge-search { display: flex; flex: 1 1 230px; align-items: center; gap: 9px; min-width: 0; padding: 0 8px; color: rgb(var(--lf-muted)); }
.lf-forge-search input { height: 34px; width: 100%; min-width: 0; background: transparent; outline: none; color: rgb(var(--lf-text)); font-size: 13px; }
.lf-forge-search:focus-within { border-radius: 8px; box-shadow: 0 0 0 1px rgb(var(--lf-accent) / .5); }
.lf-forge-search input::-moz-placeholder { color: rgb(var(--lf-muted)); }
.lf-forge-search input::placeholder { color: rgb(var(--lf-muted)); }
.lf-forge-toolbar select { max-width: 100%; height: 34px; padding: 0 28px 0 11px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 9px; background: rgb(var(--lf-surface)); color: rgb(var(--lf-text)); font-size: 12px; }
.lf-forge-view { display: flex; gap: 3px; padding: 3px; border-radius: 10px; background: rgb(var(--lf-bg)); }
.lf-forge-view button { display: flex; align-items: center; justify-content: center; width: 32px; height: 30px; border-radius: 7px; color: rgb(var(--lf-muted)); }
.lf-forge-view button[aria-pressed='true'] { color: rgb(var(--lf-text)); background: rgb(var(--lf-elevated)); }
.lf-forge-app-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 18px; }
.lf-forge-app-grid > * { min-width: 0; }
.lf-forge-stats { display: flex; flex-wrap: wrap; gap: 12px 26px; margin-bottom: 24px; color: rgb(var(--lf-muted)); font-size: 12px; }
.lf-forge-stats span { display: inline-flex; align-items: center; gap: 7px; }
.lf-forge-stats strong { font-size: 16px; font-weight: 500; color: rgb(var(--lf-text)); }
.lf-forge-empty { padding: 46px 20px; text-align: center; border: 1px dashed rgb(var(--lf-hairline)); border-radius: 16px; color: rgb(var(--lf-muted)); font-size: 13px; line-height: 1.8; }
.lf-forge-empty svg { margin: 0 auto 15px; }
.lf-forge-notice { margin: 14px 0; padding: 12px 15px; border: 1px solid rgb(var(--lf-danger) / .25); border-radius: 12px; color: rgb(var(--lf-danger)); font-size: 12px; }
.lf-forge-resources { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: 25px; align-items: start; }
.lf-forge-resource-list { display: flex; flex-direction: column; gap: 6px; }
.lf-forge-resource-list button { display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px; border: 1px solid transparent; border-radius: 13px; text-align: left; color: rgb(var(--lf-muted)); }
.lf-forge-resource-list button[aria-pressed='true'] { background: rgb(var(--lf-accent) / .065); border-color: rgb(var(--lf-accent) / .25); color: rgb(var(--lf-text)); }
.lf-forge-resource-list button:hover { background: rgb(var(--lf-text) / .035); }
.lf-forge-resource-list button > span { min-width: 0; }
.lf-forge-resource-list strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 500; }
.lf-forge-resource-list small { display: block; margin-top: 5px; color: rgb(var(--lf-muted)); font-size: 11px; }
.lf-forge-resource-detail { min-width: 0; }
.lf-forge-resource-detail h2 { margin-bottom: 5px; font-size: 23px; font-weight: 500; letter-spacing: -.03em; overflow-wrap: anywhere; }
.lf-forge-resource-panels { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; margin-top: 23px; }
.lf-forge-resource-panel { border: 1px solid rgb(var(--lf-hairline)); border-radius: 17px; padding: 23px; background: rgb(var(--lf-panel)); }
.lf-forge-resource-panel > svg { color: rgb(var(--lf-accent-strong)); margin-bottom: 22px; }
.lf-forge-resource-panel h3 { font-size: 17px; font-weight: 500; margin-bottom: 8px; }
.lf-forge-resource-panel > p { color: rgb(var(--lf-muted)); font-size: 12px; line-height: 1.7; }
.lf-forge-resource-item { margin-top: 18px; padding: 15px 0; border-top: 1px solid rgb(var(--lf-hairline)); }
.lf-forge-resource-item strong { display: block; font-size: 12px; font-weight: 500; }
.lf-forge-resource-item p { margin-top: 5px; color: rgb(var(--lf-muted)); font-size: 11px; overflow-wrap: anywhere; }
.lf-forge-resource-item button { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; text-align: left; font-size: 12px; color: rgb(var(--lf-text)); }
.lf-forge-resource-item button span { overflow-wrap: anywhere; min-width: 0; }
.lf-forge-history { max-width: 1120px; }
.lf-forge-history-group { margin: 20px 0 10px; padding: 0 3px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: rgb(var(--lf-muted)); font-size: 11px; }
.lf-forge-history-group a { color: rgb(var(--lf-accent-strong)); }
.lf-forge-history article { border-radius: 14px; padding: 17px; }
.lf-forge-page :is(button, a, select):focus-visible { outline: 2px solid rgb(var(--lf-accent)); outline-offset: 3px; }
@media (max-width: 700px) { .lf-forge-resources { grid-template-columns: 1fr; } .lf-forge-resource-list { max-height: 220px; overflow-y: auto; } .lf-forge-page-heading { padding-top: 24px; } }
.lf-forge-home { background: radial-gradient(ellipse at 50% 22%, rgb(var(--lf-accent) / .055), transparent 48%), rgb(var(--lf-bg)); }
.lf-forge-home-top { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 25px 34px; color: rgb(var(--lf-muted)); font-size: 10px; letter-spacing: .1em; }
.lf-forge-home-top > span > span { margin: 0 9px; color: rgb(var(--lf-faint)); }
.lf-forge-home-top a { display: flex; align-items: center; gap: 8px; letter-spacing: 0; font-size: 12px; }
.lf-forge-home-main { max-width: 850px; padding: 25px 24px 50px; margin: 0 auto; }
.lf-forge-home-intro { text-align: center; padding: 12px 0 30px; }
.lf-forge-home-mark { width: 64px; height: 64px; margin: 0 auto 23px; }
.lf-forge-home-intro > p { font-size: 9px; letter-spacing: .2em; color: rgb(var(--lf-muted)); }
.lf-forge-home-intro h1 { margin: 14px 0 12px; font-size: clamp(30px, 4vw, 48px); letter-spacing: -.045em; font-weight: 500; line-height: 1.2; }
.lf-forge-home-intro em { color: rgb(var(--lf-accent-strong)); font-family: Georgia, serif; font-weight: 400; }
.lf-forge-home-intro > div:last-child { font-size: 13px; color: rgb(var(--lf-muted)); }
.lf-forge-home-composer { border: 1px solid rgb(var(--lf-hairline)); border-radius: 24px; background: rgb(var(--lf-panel)); box-shadow: 0 14px 55px rgb(var(--lf-bg) / .4); transition: border-color .25s, box-shadow .25s; }
.lf-forge-home-composer:focus-within { border-color: rgb(var(--lf-accent) / .5); box-shadow: 0 0 0 4px rgb(var(--lf-accent) / .045), 0 20px 60px rgb(var(--lf-bg) / .5); }
.lf-forge-home-composer textarea { display: block; width: 100%; min-height: 150px; max-height: 330px; padding: 24px; resize: vertical; border: none; outline: none; background: transparent; font-size: 15px; line-height: 1.7; color: rgb(var(--lf-text)); }
.lf-forge-home-composer textarea::-moz-placeholder { color: rgb(var(--lf-faint)); }
.lf-forge-home-composer textarea::placeholder { color: rgb(var(--lf-faint)); }
.lf-forge-home-compose-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 16px 16px; }
.lf-forge-home-compose-bar > div { display: flex; align-items: center; gap: 12px; }
.lf-forge-home-attach, .lf-forge-home-send { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 38px; font-size: 12px; }
.lf-forge-home-attach { color: rgb(var(--lf-muted)); padding: 0 8px; }
.lf-forge-home-send { padding: 0 17px; border-radius: 12px; background: rgb(var(--lf-accent)); color: rgb(var(--lf-on-accent)); font-weight: 600; }
.lf-forge-home button:disabled { opacity: .45; cursor: not-allowed; }
.lf-forge-home-hint { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin: 12px 5px; color: rgb(var(--lf-muted)); font-size: 10px; }
.lf-forge-home-hint > span { display: flex; align-items: center; gap: 5px; }
.lf-forge-home-hint > span:last-child { color: rgb(var(--lf-faint)); }
.lf-forge-home-ideas { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 26px; }
.lf-forge-home-ideas button { display: flex; align-items: center; gap: 17px; padding: 9px 13px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 10px; color: rgb(var(--lf-muted)); font-size: 11px; transition: transform .2s, background .2s; }
.lf-forge-home-ideas button:hover { transform: translateY(-2px); background: rgb(var(--lf-accent) / .06); color: rgb(var(--lf-text)); }
.lf-forge-home-recent { margin-top: 46px; }
.lf-forge-home-section-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 17px; }
.lf-forge-home-section-title h2 { font-size: 13px; font-weight: 500; }
.lf-forge-home-section-title a { display: flex; align-items: center; gap: 6px; font-size: 11px; color: rgb(var(--lf-muted)); }
.lf-forge-home-apps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.lf-forge-home-apps a { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 16px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 15px; background: rgb(var(--lf-panel) / .5); transition: background .2s; }
.lf-forge-home-apps a:hover { background: rgb(var(--lf-elevated)); }
.lf-forge-home-app-icon { display: flex; align-items: center; justify-content: center; width: 39px; height: 39px; border-radius: 12px; flex-shrink: 0; background: rgb(var(--lf-accent) / .08); color: rgb(var(--lf-accent-strong)); }
.lf-forge-home-apps a > span:nth-child(2) { min-width: 0; flex: 1; }
.lf-forge-home-apps strong { display: block; font-size: 12px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lf-forge-home-apps small { display: block; font-size: 10px; color: rgb(var(--lf-muted)); margin-top: 6px; }
.lf-forge-home-apps a > svg { color: rgb(var(--lf-faint)); flex-shrink: 0; }
.lf-forge-home-first { padding: 25px; border: 1px dashed rgb(var(--lf-hairline)); border-radius: 14px; display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 12px; color: rgb(var(--lf-muted)); }
.lf-forge-home-shortcuts { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; margin-top: 30px; }
.lf-forge-home-shortcuts a { display: flex; align-items: center; gap: 7px; color: rgb(var(--lf-muted)); font-size: 11px; }
@media (max-width: 550px) { .lf-forge-home-apps { grid-template-columns: 1fr; } .lf-forge-home-hint > span:last-child { display: none; } .lf-forge-home-top { padding: 20px; } .lf-forge-home-top > span { letter-spacing: 0; font-size: 9px; } .lf-forge-home-main { padding: 12px 16px 30px; } }
@media (prefers-reduced-motion: reduce) { .lf-forge-home * { transition: none !important; animation: none !important; } }

.lf-db-manager { display:grid; grid-template-columns:200px minmax(0,1fr); min-height:440px; height:62vh; gap:18px; color:rgb(var(--lf-text)); }
.lf-db-tables { min-height:0; overflow:auto; border-right:1px solid rgb(var(--lf-hairline)); padding-right:14px; }
.lf-db-search { display:flex; align-items:center; gap:8px; padding:10px 12px; border:1px solid rgb(var(--lf-hairline)); border-radius:10px; color:rgb(var(--lf-muted)); background:rgb(var(--lf-canvas)); }
.lf-db-search input { width:100%; min-width:0; background:transparent; outline:none; font-size:12px; color:rgb(var(--lf-text)); }
.lf-db-search:focus-within { border-color:rgb(var(--lf-accent)/.5); }
.lf-db-tables nav button { display:flex; align-items:center; text-align:left; gap:10px; width:100%; padding:10px; border-radius:10px; margin:2px 0; font-size:12px; }
.lf-db-tables nav button[aria-current],.lf-db-tables nav button:hover { background:rgb(var(--lf-elevated)); }
.lf-db-tables nav small { display:block; color:rgb(var(--lf-faint)); font-size:10px; margin-top:3px; }
.lf-db-content { min-width:0; min-height:0; display:flex; flex-direction:column; }
.lf-db-toolbar { display:flex; align-items:center; gap:12px; padding:0 0 14px; flex-wrap:wrap; }
.lf-db-toolbar h3 { font-size:16px; font-weight:600; }.lf-db-toolbar p { font-size:11px; color:rgb(var(--lf-faint)); margin-top:3px; }
.lf-db-filter { display:flex; gap:8px; margin:0 0 12px; }.lf-db-filter label { flex:1; }
.lf-db-grid { overflow:auto; flex:1; min-height:0; border:1px solid rgb(var(--lf-hairline)); border-radius:12px; }
.lf-db-grid table { border-collapse:separate; border-spacing:0; min-width:100%; text-align:left; font-size:12px; white-space:nowrap; }
.lf-db-grid th { position:sticky; top:0; z-index:1; background:rgb(var(--lf-elevated)); font-weight:500; }
.lf-db-grid td,.lf-db-grid th { padding:10px 14px; border-bottom:1px solid rgb(var(--lf-hairline)); max-width:280px; overflow:hidden; text-overflow:ellipsis; }
.lf-db-grid th span { display:flex; gap:5px; align-items:center; }.lf-db-grid small { display:block; font-size:10px; font-weight:400; color:rgb(var(--lf-faint)); margin-top:3px; }
.lf-db-grid tbody tr:hover { background:rgb(var(--lf-elevated)/.5); }.lf-db-grid button:disabled { opacity:.25; }
.lf-db-pagination { display:flex; align-items:center; gap:6px; padding-top:12px; font-size:11px; color:rgb(var(--lf-muted)); }.lf-db-pagination span { margin-right:auto; }
.lf-db-empty { padding:40px 24px; color:rgb(var(--lf-muted)); font-size:13px; text-align:center; }
.lf-db-editor { overflow:auto; border:1px solid rgb(var(--lf-hairline)); border-radius:14px; padding:20px; }.lf-db-editor h4 { font-size:16px; font-weight:600; }.lf-db-editor p { font-size:12px; color:rgb(var(--lf-muted)); margin:8px 0 18px; }
.lf-db-editor pre { padding:16px; background:rgb(var(--lf-canvas)); border-radius:10px; overflow:auto; max-height:32vh; font-size:12px; }
.lf-db-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.lf-db-fields label { display:grid; grid-template-columns:1fr auto; gap:8px; font-size:12px; }.lf-db-fields small { display:block; font-size:10px; color:rgb(var(--lf-faint)); margin-top:3px; }
.lf-db-fields select,.lf-db-fields textarea { border:1px solid rgb(var(--lf-hairline)); border-radius:8px; padding:8px; background:rgb(var(--lf-canvas)); }.lf-db-fields textarea { grid-column:1/-1; min-width:0; font-family:ui-monospace,monospace; }.lf-db-fields :disabled { opacity:.45; }
@media(max-width:760px) { .lf-db-manager { grid-template-columns:140px minmax(0,1fr); gap:10px; }.lf-db-fields { grid-template-columns:1fr; }.lf-db-pagination { flex-wrap:wrap; } }
.lf-project-hero { display: grid; grid-template-columns: minmax(260px, .85fr) minmax(0, 1fr); gap: 36px; align-items: center; padding: 24px; border: 1px solid rgb(var(--lf-hairline)); background: rgb(var(--lf-panel)); border-radius: 22px; }
.lf-project-cover { overflow: hidden; border: 1px solid rgb(var(--lf-hairline)); border-radius: 14px; }
.lf-project-cover > div { border: 0; border-radius: 0; }
.lf-project-summary { padding: 6px 10px 6px 0; }
.lf-project-kicker { font-size: 9px; color: rgb(var(--lf-accent-strong)); letter-spacing: .15em; }
.lf-project-summary h2 { font-size: clamp(24px, 2.4vw, 32px); font-weight: 450; letter-spacing: -.04em; margin: 15px 0 10px; }
.lf-project-summary > p { max-width: 430px; color: rgb(var(--lf-muted)); font-size: 13px; line-height: 1.75; }
.lf-project-facts { display: flex; gap: 30px; flex-wrap: wrap; margin: 23px 0; }
.lf-project-facts span { color: rgb(var(--lf-muted)); font-size: 10px; }
.lf-project-facts strong { display: block; color: rgb(var(--lf-text)); font-size: 13px; font-weight: 500; margin-bottom: 6px; text-transform: capitalize; }
.lf-project-shortcuts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.lf-project-shortcuts button { display: flex; align-items: center; gap: 14px; padding: 20px 16px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 15px; text-align: left; transition: background .18s, border-color .18s; }
.lf-project-shortcuts button:hover { background: rgb(var(--lf-panel)); border-color: rgb(var(--lf-accent) / .3); }
.lf-project-shortcuts svg { color: rgb(var(--lf-accent-strong)); flex-shrink: 0; }
.lf-project-shortcuts strong { display: block; font-size: 12px; font-weight: 500; }
.lf-project-shortcuts small { display: block; color: rgb(var(--lf-muted)); font-size: 10px; line-height: 1.6; margin-top: 4px; }
.lf-project-manage { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; padding: 4px 20px 20px; }
.lf-project-manage button { min-width: 0; min-height: 41px; justify-content: flex-start; border-radius: 9px; font-size: 11px; white-space: normal; text-align: left; }
.lf-project-manage button svg { flex-shrink: 0; }
.lf-project-details .font-mono { max-width: 65%; overflow-wrap: anywhere; text-align: right; }
.lf-project-overview .lf-card { border-radius: 17px; box-shadow: none; }
@media (max-width: 1150px) { .lf-project-shortcuts { grid-template-columns: 1fr 1fr; } }
@media (max-width: 750px) { .lf-project-hero { grid-template-columns: 1fr; gap: 22px; padding: 18px; } .lf-project-shortcuts { grid-template-columns: 1fr; } .lf-project-summary { padding: 0; } }
.lf-question-card { margin: 8px 0 8px 36px; padding: 22px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 17px; background: rgb(var(--lf-panel)); }
.lf-question-kicker { display: flex; align-items: center; gap: 8px; color: rgb(var(--lf-muted)); font-size: 9px; letter-spacing: .12em; }
.lf-question-kicker > span:last-child { margin-left: auto; font-size: 8px; padding: 4px 6px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 4px; }
.lf-question-card h3 { margin: 18px 0; font-size: 15px; font-weight: 450; line-height: 1.75; letter-spacing: -.015em; }
.lf-question-options { display: grid; gap: 7px; }
.lf-question-options label { position: relative; display: flex; align-items: center; gap: 13px; padding: 12px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 10px; cursor: pointer; font-size: 12px; line-height: 1.65; color: rgb(var(--lf-muted)); transition: background .15s, border-color .15s; }
.lf-question-options label:hover { background: rgb(var(--lf-elevated)); color: rgb(var(--lf-text)); }
.lf-question-options label.is-selected { border-color: rgb(var(--lf-text) / .4); background: rgb(var(--lf-text) / .045); color: rgb(var(--lf-text)); }
.lf-question-options input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lf-question-options label:focus-within { outline: 2px solid rgb(var(--lf-accent)); outline-offset: 2px; }
.lf-question-number { display: grid; place-items: center; flex-shrink: 0; width: 25px; height: 25px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 6px; font: 10px 'IBM Plex Mono', monospace; }
.lf-question-custom { display: block; margin-top: 17px; }
.lf-question-custom > span { display: block; font-size: 10px; color: rgb(var(--lf-muted)); margin-bottom: 8px; }
.lf-question-custom textarea { width: 100%; resize: vertical; min-height: 58px; max-height: 220px; background: rgb(var(--lf-bg) / .5); border: 1px solid rgb(var(--lf-hairline)); border-radius: 9px; padding: 10px 12px; font-size: 12px; line-height: 1.7; }
.lf-question-custom textarea:focus { outline: 1px solid rgb(var(--lf-muted)); }
.lf-question-footer { display: flex; gap: 10px; align-items: center; justify-content: space-between; border-top: 1px solid rgb(var(--lf-hairline)); margin-top: 18px; padding-top: 14px; }
.lf-question-footer > span { font-size: 10px; color: rgb(var(--lf-faint)); }
.lf-question-footer button { display: flex; align-items: center; gap: 14px; background: rgb(var(--lf-text)); color: rgb(var(--lf-bg)); border-radius: 8px; font-size: 11px; padding: 9px 13px; }
.lf-question-footer button:disabled { opacity: .4; cursor: not-allowed; }
.lf-question-error { margin-top: 12px; font-size: 11px; color: rgb(var(--lf-danger)); }
@media (max-width: 550px) { .lf-question-card { margin-left: 0; padding: 17px; } .lf-question-footer > span { display: none; } .lf-question-footer { justify-content: flex-end; } }
@media (prefers-reduced-motion: reduce) { .lf-question-options label { transition: none; } }
.lf-chat-queue{margin-bottom:10px;border:1px solid rgb(var(--lf-border)/.75);border-radius:14px;background:rgb(var(--lf-panel)/.65);font-size:11px;outline-offset:3px}
.lf-chat-queue:focus-visible{outline:2px solid rgb(var(--lf-accent))}
.lf-chat-queue-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px 8px}
.lf-chat-queue-heading>div{display:flex;align-items:center;gap:7px;min-width:0;color:rgb(var(--lf-muted))}
.lf-chat-queue-heading strong{font-weight:550;color:rgb(var(--lf-text))}
.lf-chat-queue-heading span{font-size:10px;white-space:nowrap;color:rgb(var(--lf-faint))}
.lf-chat-queue-control,.lf-chat-queue-steer{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0;border:1px solid rgb(var(--lf-border)/.7);border-radius:7px;padding:5px 7px;color:rgb(var(--lf-text));background:rgb(var(--lf-elevated)/.65);transition:background 150ms}
.lf-chat-queue-control:hover,.lf-chat-queue-steer:hover{background:rgb(var(--lf-surface))}
.lf-chat-queue button:focus-visible,.lf-chat-queue summary:focus-visible{outline:2px solid rgb(var(--lf-accent));outline-offset:2px}
.lf-chat-queue button:disabled{opacity:.4;cursor:default}
.lf-chat-queue-notice{margin:0 10px 8px;padding:9px 10px;border-radius:8px;background:rgb(var(--lf-elevated)/.6);line-height:1.6;color:rgb(var(--lf-muted));border-left:2px solid rgb(var(--lf-accent)/.65)}
.lf-chat-queue-notice button{display:flex;align-items:center;gap:5px;margin-top:5px;color:rgb(var(--lf-text))}
.lf-chat-queue-caption{display:flex;align-items:center;gap:6px;margin:0;padding:0 12px 9px;color:rgb(var(--lf-faint));font-size:10px}
.lf-chat-queue-list{max-height:240px;overflow-y:auto;overscroll-behavior:contain;padding:0 8px 6px;list-style:none;margin:0}
.lf-chat-queue-list>li{border-top:1px solid rgb(var(--lf-hairline)/.75)}
.lf-chat-queue-item{display:flex;align-items:center;gap:7px;padding:9px 3px;min-width:0}
.lf-chat-queue-number{font:10px ui-monospace,monospace;color:rgb(var(--lf-faint));align-self:flex-start;padding-top:2px}
.lf-chat-queue-copy{min-width:0;flex:1}
.lf-chat-queue-copy p{margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:rgb(var(--lf-text));line-height:1.5}
.lf-chat-queue-copy small{display:block;font-size:9px;color:rgb(var(--lf-faint));margin-top:4px;line-height:1.4}
.lf-chat-queue-menu{flex-shrink:0}
.lf-chat-queue-menu summary{cursor:pointer;list-style:none;padding:6px;border-radius:6px;color:rgb(var(--lf-muted))}
.lf-chat-queue-menu[open]{align-self:flex-start}
.lf-chat-queue-menu>div{display:flex;flex-direction:column;gap:3px;margin:4px 0;max-width:90px}
.lf-chat-queue-menu button{display:flex;align-items:center;gap:5px;text-align:left;padding:5px;border-radius:5px;font-size:10px;color:rgb(var(--lf-muted))}
.lf-chat-queue-menu button:hover{background:rgb(var(--lf-elevated));color:rgb(var(--lf-text))}
.lf-chat-queue-edit{padding:10px 3px;color:rgb(var(--lf-muted))}
.lf-chat-queue-edit textarea{display:block;width:100%;resize:vertical;margin-top:7px;padding:9px;border:1px solid rgb(var(--lf-border));border-radius:8px;background:rgb(var(--lf-bg));color:rgb(var(--lf-text));font-size:12px}
.lf-chat-queue-edit>div{display:flex;justify-content:flex-end;gap:12px;margin-top:9px}
.lf-chat-queue-edit button{padding:4px 6px;color:rgb(var(--lf-text))}
@media(prefers-reduced-motion:reduce){.lf-chat-queue button{transition:none}}
.lf-plan-view-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; flex-shrink: 0; margin: 12px 12px 0; padding: 3px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 11px; background: rgb(var(--lf-bg) / .65); }
.lf-plan-view-switch button { display: flex; min-width: 0; align-items: center; justify-content: center; gap: 6px; padding: 7px 5px; border-radius: 8px; color: rgb(var(--lf-muted)); font-size: 11px; font-weight: 550; transition: background 160ms, color 160ms; }
.lf-plan-view-switch button svg { width: 13px; height: 13px; }
.lf-plan-view-switch button[aria-pressed="true"] { color: rgb(var(--lf-text)); background: rgb(var(--lf-elevated)); box-shadow: 0 1px 4px rgb(var(--lf-scrim) / .12); }
.lf-plan-view-switch button:hover { color: rgb(var(--lf-text)); }
.lf-milestones { display: flex; min-height: 0; flex: 1; flex-direction: column; overflow: hidden; }
.lf-milestones-summary { padding: 18px 16px 13px; }
.lf-milestones-eyebrow { display: flex; align-items: center; gap: 7px; color: rgb(var(--lf-muted)); font-size: 10px; letter-spacing: .05em; }
.lf-milestones-signal { width: 5px; height: 5px; border-radius: 50%; background: rgb(var(--lf-faint)); }
.lf-milestones-signal.is-live { background: rgb(var(--lf-accent)); box-shadow: 0 0 0 3px rgb(var(--lf-accent) / .09); }
.lf-milestones-count { display: flex; align-items: baseline; gap: 9px; margin-top: 9px; }
.lf-milestones-count strong { color: rgb(var(--lf-text)); font-size: 28px; font-weight: 550; line-height: 1.2; letter-spacing: -.055em; font-variant-numeric: tabular-nums; }
.lf-milestones-count > span { color: rgb(var(--lf-muted)); font-size: 10px; }
.lf-milestones-progress { margin-top: 13px; height: 2px; border-radius: 5px; background: rgb(var(--lf-hairline)); overflow: hidden; }
.lf-milestones-progress > span { display: block; height: 100%; transform-origin: left; background: linear-gradient(90deg, rgb(var(--lf-accent)), rgb(var(--lf-danger))); transition: transform 420ms cubic-bezier(.22, 1, .36, 1); }
.lf-milestones-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 6px; padding: 9px 12px; border-top: 1px solid rgb(var(--lf-hairline) / .65); border-bottom: 1px solid rgb(var(--lf-hairline) / .65); }
.lf-milestones-toolbar > span { color: rgb(var(--lf-faint)); font-size: 10px; }
.lf-milestones-toolbar button { display: inline-flex; align-items: center; gap: 4px; flex-shrink: 0; border: 1px solid rgb(var(--lf-hairline)); border-radius: 6px; padding: 4px 6px; color: rgb(var(--lf-muted)); font-size: 10px; transition: color 160ms, border-color 160ms; }
.lf-milestones-toolbar button:hover { color: rgb(var(--lf-text)); border-color: rgb(var(--lf-accent) / .4); }
.lf-milestones-toolbar button svg { width: 10px; height: 10px; }
.lf-milestones-scroll { position: relative; min-height: 0; flex: 1; overflow-y: auto; overscroll-behavior: contain; scroll-behavior: auto; padding: 20px 12px 36px; scrollbar-gutter: stable; }
.lf-milestones-track { list-style: none; margin: 0; padding: 0 0 0 20px; }
.lf-milestone { position: relative; padding-bottom: 17px; }
.lf-milestone::before { position: absolute; content: ''; left: -15px; top: 0; bottom: 0; width: 1px; background: rgb(var(--lf-hairline)); }
.lf-milestone[data-state="done"]::before { background: rgb(var(--lf-accent) / .35); }
.lf-milestone:last-child::before { bottom: 50%; }
.lf-milestone-phase { position: relative; display: flex; align-items: baseline; gap: 7px; margin: 0 0 12px -20px; padding: 4px 0; background: rgb(var(--lf-bg)); color: rgb(var(--lf-muted)); font-size: 10px; font-weight: 550; line-height: 1.4; }
.lf-milestone-phase > span { color: rgb(var(--lf-faint)); font-size: 9px; font-variant-numeric: tabular-nums; }
.lf-milestone-node { position: absolute; left: -20px; top: 19px; display: grid; place-items: center; width: 11px; height: 11px; border-radius: 50%; background: rgb(var(--lf-bg)); color: rgb(var(--lf-faint)); }
.lf-milestone-phase ~ .lf-milestone-node { top: 52px; }
.lf-milestone-node svg { width: 10px; height: 10px; }
.lf-milestone[data-state="done"] .lf-milestone-node { color: rgb(var(--lf-accent-strong)); }
.lf-milestone[data-state="failed"] .lf-milestone-node { color: rgb(var(--lf-danger)); }
.lf-milestone[data-current] .lf-milestone-node { color: rgb(var(--lf-accent-strong)); box-shadow: 0 0 0 4px rgb(var(--lf-accent) / .09); }
.lf-milestone-card { position: relative; border: 1px solid rgb(var(--lf-hairline)); border-radius: 12px; background: rgb(var(--lf-panel) / .7); transition: border-color 240ms, background 240ms, opacity 240ms; overflow: hidden; }
.lf-milestone-card summary { display: block; cursor: pointer; list-style: none; padding: 12px; }
.lf-milestone-card summary::-webkit-details-marker { display: none; }
.lf-milestone-card summary:focus-visible { outline: 2px solid rgb(var(--lf-accent)); outline-offset: -3px; border-radius: 12px; }
.lf-milestone-card:hover { border-color: rgb(var(--lf-faint) / .55); }
.lf-milestone[data-current] .lf-milestone-card { border-color: rgb(var(--lf-accent) / .45); background: linear-gradient(130deg, rgb(var(--lf-accent) / .065), transparent 75%), rgb(var(--lf-panel)); }
.lf-milestone[data-state="done"]:not([data-current]) .lf-milestone-card, .lf-milestone[data-state="skipped"] .lf-milestone-card { opacity: .72; }
.lf-milestone[data-state="done"] .lf-milestone-card:hover { opacity: 1; }
.lf-milestone-meta { display: flex; justify-content: space-between; gap: 8px; color: rgb(var(--lf-faint)); font-size: 9px; font-weight: 500; letter-spacing: .035em; font-variant-numeric: tabular-nums; }
.lf-milestone-title { display: block; margin-top: 8px; color: rgb(var(--lf-text)); font-size: 12px; font-weight: 550; line-height: 1.55; overflow-wrap: anywhere; }
.lf-milestone-state { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-top: 12px; color: rgb(var(--lf-muted)); font-size: 9px; }
.lf-milestone-state > svg { width: 11px; height: 11px; transition: transform 200ms cubic-bezier(.22, 1, .36, 1); }
.lf-milestone-card[open] .lf-milestone-state > svg { transform: rotate(180deg); }
.lf-milestone[data-running] .lf-milestone-state { color: rgb(var(--lf-accent-strong)); }
.lf-milestone[data-state="failed"] .lf-milestone-state { color: rgb(var(--lf-danger)); }
.lf-milestone-detail { padding: 0 12px 12px; color: rgb(var(--lf-muted)); font-size: 11px; line-height: 1.65; overflow-wrap: anywhere; }
.lf-milestone-detail p { margin: 0; white-space: pre-wrap; }
.lf-milestone-target { display: flex; align-items: flex-start; gap: 5px; margin-top: 9px; padding-top: 9px; border-top: 1px solid rgb(var(--lf-hairline)); font-size: 10px; }
.lf-milestone-target svg { flex-shrink: 0; width: 12px; height: 12px; margin-top: 2px; }
.lf-milestone-detail .lf-milestone-attention { margin-top: 10px; color: rgb(var(--lf-danger)); }
.lf-milestones-end { display: flex; align-items: flex-start; gap: 8px; margin: 9px 0 0 20px; color: rgb(var(--lf-faint)); font-size: 10px; line-height: 1.7; }
.lf-milestones-end > svg { width: 12px; height: 12px; flex-shrink: 0; margin-top: 3px; }
.lf-milestones[data-motion="live"] .lf-milestone[data-running] .lf-milestone-card::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, transparent, rgb(var(--lf-accent)), rgb(var(--lf-danger)), transparent); animation: lf-milestone-flow 2.8s linear infinite; pointer-events: none; }
@keyframes lf-milestone-flow { from { transform: translateX(-100%); opacity: 0; } 20%, 75% { opacity: .8; } to { transform: translateX(100%); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .lf-milestones *, .lf-milestones *::after { animation: none !important; transition: none !important; } }
html.reduce-motion .lf-milestones *, html.reduce-motion .lf-milestones *::after { animation: none !important; transition: none !important; }
.lf-preview-stage {
  container-type: inline-size;
  width: 100%; height: 100%; min-height: 0; overflow: auto;
  display: flex; padding: clamp(16px, 4%, 48px);
  background: radial-gradient(ellipse at 50% 35%, rgb(var(--lf-accent) / .045), transparent 65%), rgb(var(--lf-canvas));
}
.lf-preview-stage-card {
  position: relative; isolation: isolate; width: 100%; max-width: 540px; margin: auto;
  border: 1px solid rgb(var(--lf-border) / .7); border-radius: 24px;
  background: linear-gradient(145deg, rgb(var(--lf-elevated) / .65), rgb(var(--lf-panel) / .85) 55%);
  box-shadow: 0 24px 80px rgb(var(--lf-scrim) / .12), inset 0 1px rgb(var(--lf-text) / .04);
}
.lf-preview-stage-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding: 20px 24px 0; }
.lf-preview-stage-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; color: rgb(var(--lf-muted)); border: 1px solid rgb(var(--lf-border)); background: rgb(var(--lf-canvas) / .45); border-radius: 999px; padding: 6px 9px; }
.lf-preview-stage[data-state="error"] .lf-preview-stage-badge { color: rgb(var(--lf-warning)); border-color: rgb(var(--lf-warning) / .25); background: rgb(var(--lf-warning) / .06); }
.lf-preview-stage-art { position: relative; max-width: 340px; margin: 0 auto -4px; }
.lf-preview-stage-art::before { content: ''; position: absolute; inset: 25% 10%; z-index: -1; background: radial-gradient(ellipse, rgb(var(--lf-accent) / .09), transparent 70%); }
.lf-preview-stage[data-state="error"] .lf-preview-stage-art, .lf-preview-stage[data-state="stopped"] .lf-preview-stage-art { opacity: .6; }
.lf-preview-stage-copy { padding: 0 32px 28px; text-align: center; }
.lf-preview-stage-work { margin-top: 22px; padding: 16px; text-align: left; border-radius: 12px; border: 1px solid rgb(var(--lf-hairline)); background: rgb(var(--lf-canvas) / .4); overflow-wrap: anywhere; }
.lf-preview-stage-track { height: 3px; max-width: 160px; margin: 24px auto 0; overflow: hidden; border-radius: 999px; background: rgb(var(--lf-border)); }
.lf-preview-stage-track span { display: block; height: 100%; width: 40%; border-radius: inherit; background: rgb(var(--lf-accent)); animation: lf-preview-sweep 2.4s ease-in-out infinite alternate; }
@keyframes lf-preview-sweep { from { transform: translateX(-100%); } to { transform: translateX(350%); } }
.lf-preview-stage[data-still="true"] .lf-preview-stage-track span { animation: none; margin: auto; }
.lf-preview-stage-details { margin-top: 20px; text-align: left; border-top: 1px solid rgb(var(--lf-hairline)); padding-top: 14px; color: rgb(var(--lf-muted)); font-size: 11px; }
.lf-preview-stage-details summary { cursor: pointer; width: -moz-fit-content; width: fit-content; border-radius: 4px; }
.lf-preview-stage-details summary:focus-visible { outline: 2px solid rgb(var(--lf-accent)); outline-offset: 4px; }
.lf-preview-stage-details pre { white-space: pre-wrap; overflow-wrap: anywhere; margin-top: 12px; max-height: 144px; overflow-y: auto; font-size: 11px; line-height: 1.6; }
.lf-preview-stage-footer { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 13px 20px; border-top: 1px solid rgb(var(--lf-hairline)); font-size: 10px; color: rgb(var(--lf-faint)); text-align: center; }
@container (max-width: 360px) {
  .lf-preview-stage-header { padding: 16px 16px 0; }
  .lf-preview-stage-copy { padding: 0 20px 22px; }
  .lf-preview-stage-copy h2 { font-size: 21px; }
  .lf-preview-stage-art { max-width: 270px; }
}
.lf-ace-page { height: 100%; overflow-y: auto; }
.lf-ace-library { width: 100%; max-width: 980px; margin: 0 auto; padding: clamp(28px, 5vh, 64px) clamp(18px, 4vw, 56px) 56px; }
.lf-ace-library-heading { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 32px; }
.lf-ace-eyebrow { margin-bottom: 9px; color: rgb(var(--lf-muted)); font-size: 11px; letter-spacing: .035em; }
.lf-ace-library-heading h1 { color: rgb(var(--lf-text)); font-size: clamp(25px, 3vw, 32px); font-weight: 550; letter-spacing: -.04em; line-height: 1.2; overflow-wrap: anywhere; }
.lf-ace-library-description { max-width: 460px; margin-top: 10px; color: rgb(var(--lf-muted)); font-size: 13px; line-height: 1.7; }
.lf-ace-heading-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.lf-ace-library-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 18px; border-bottom: 1px solid rgb(var(--lf-hairline)); }
.lf-ace-segmented { display: flex; gap: 4px; }
.lf-ace-segmented button { display: flex; align-items: center; gap: 6px; min-height: 34px; padding: 6px 11px; border-radius: 9px; color: rgb(var(--lf-muted)); font-size: 12px; }
.lf-ace-segmented button[aria-pressed='true'] { background: rgb(var(--lf-text) / .055); color: rgb(var(--lf-text)); }
.lf-ace-segmented button span { font-size: 10px; color: rgb(var(--lf-muted)); }
.lf-ace-search { display: flex; align-items: center; gap: 8px; width: min(100%, 260px); padding: 8px 10px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 10px; color: rgb(var(--lf-muted)); }
.lf-ace-search input { min-width: 0; width: 100%; background: transparent; color: rgb(var(--lf-text)); font-size: 12px; outline: none; }
.lf-ace-search:focus-within { border-color: rgb(var(--lf-muted)); }
.lf-ace-search input::-moz-placeholder { color: rgb(var(--lf-muted)); }
.lf-ace-search input::placeholder { color: rgb(var(--lf-muted)); }
.lf-ace-conversations { margin-top: 7px; }
.lf-ace-conversations li { display: flex; min-width: 0; align-items: center; gap: 8px; border-bottom: 1px solid rgb(var(--lf-hairline) / .75); padding: 3px 7px 3px 0; }
.lf-ace-conversations li:hover { background: rgb(var(--lf-text) / .018); }
.lf-ace-conversation-link { display: flex; flex: 1; min-width: 0; align-items: center; gap: 16px; padding: 17px 10px; border-radius: 10px; }
.lf-ace-row-icon { width: 17px; height: 17px; flex-shrink: 0; color: rgb(var(--lf-muted)); stroke-width: 1.5; }
.lf-ace-row-copy { display: flex; min-width: 0; flex-direction: column; gap: 6px; }
.lf-ace-row-title { color: rgb(var(--lf-text)); font-size: 13px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lf-ace-row-meta { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: 12px; color: rgb(var(--lf-muted)); font-size: 11px; }
.lf-ace-row-meta > span { display: inline-flex; min-width: 0; align-items: center; gap: 5px; overflow-wrap: anywhere; }
.lf-ace-icon-button { display: inline-flex; width: 34px; height: 34px; flex-shrink: 0; align-items: center; justify-content: center; border-radius: 9px; color: rgb(var(--lf-muted)); transition: background-color 150ms ease, color 150ms ease; }
.lf-ace-icon-button:hover { background: rgb(var(--lf-text) / .055); color: rgb(var(--lf-text)); }
.lf-ace-project-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 238px), 1fr)); gap: 14px; }
.lf-ace-project-card { padding: 22px; border: 1px solid rgb(var(--lf-text) / .08); border-radius: 18px; background: rgb(var(--lf-text) / .018); transition: background-color 150ms ease, border-color 150ms ease; }
.lf-ace-project-card:hover { border-color: rgb(var(--lf-accent) / .25); background: rgb(var(--lf-text) / .035); }
.lf-ace-project-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 26px; color: rgb(var(--lf-muted)); }
.lf-ace-project-icon { display: flex; width: 39px; height: 39px; align-items: center; justify-content: center; border-radius: 12px; background: rgb(var(--lf-accent) / .075); color: rgb(var(--lf-accent-strong)); }
.lf-ace-project-card h2 { font-size: 17px; font-weight: 500; line-height: 1.35; letter-spacing: -.025em; overflow-wrap: anywhere; }
.lf-ace-project-card p { margin-top: 9px; color: rgb(var(--lf-muted)); font-size: 12px; }
.lf-ace-project-date { display: block; margin-top: 24px; color: rgb(var(--lf-muted)); font-size: 10px; }
.lf-ace-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 15px; min-height: 260px; padding: 44px 22px; text-align: center; }
.lf-ace-empty-icon { display: flex; width: 50px; height: 50px; align-items: center; justify-content: center; margin-bottom: 3px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 16px; color: rgb(var(--lf-muted)); }
.lf-ace-empty h2 { font-size: 17px; font-weight: 500; letter-spacing: -.02em; }
.lf-ace-empty p { max-width: 360px; color: rgb(var(--lf-muted)); font-size: 13px; line-height: 1.7; }
.lf-ace-loading { padding: 42px 20px; text-align: center; color: rgb(var(--lf-muted)); font-size: 13px; }
.lf-ace-error { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 16px 0; padding: 12px 14px; border: 1px solid rgb(var(--lf-danger) / .2); border-radius: 11px; color: rgb(var(--lf-danger)); background: rgb(var(--lf-danger) / .035); font-size: 12px; line-height: 1.6; }
.lf-ace-error > span { overflow-wrap: anywhere; }
.lf-ace-error button { flex-shrink: 0; color: rgb(var(--lf-text)); text-decoration: underline; text-underline-offset: 3px; }
.lf-ace-field { display: flex; flex-direction: column; gap: 8px; color: rgb(var(--lf-muted)); font-size: 12px; }
.lf-ace-field input, .lf-ace-field select { width: 100%; min-height: 42px; border: 1px solid rgb(var(--lf-border)); border-radius: 10px; padding: 9px 11px; background: rgb(var(--lf-bg)); color: rgb(var(--lf-text)); font-size: 13px; }
.lf-ace-field input::-moz-placeholder { color: rgb(var(--lf-muted)); }
.lf-ace-field input::placeholder { color: rgb(var(--lf-muted)); }
.lf-ace-back { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 24px; border-radius: 5px; color: rgb(var(--lf-muted)); font-size: 12px; }
.lf-ace-back:hover { color: rgb(var(--lf-text)); }
.lf-ace-footnote { margin-top: 22px; color: rgb(var(--lf-muted)); font-size: 12px; line-height: 1.7; }
.lf-ace-footnote a { color: rgb(var(--lf-text)); text-decoration: underline; text-underline-offset: 3px; }
.lf-ace-chat { display: flex; height: 100%; min-height: 0; flex-direction: column; }
.lf-ace-chat-heading { display: flex; min-height: 65px; flex-shrink: 0; align-items: center; gap: 10px; border-bottom: 1px solid rgb(var(--lf-hairline)); padding: 10px clamp(12px, 3vw, 28px); }
.lf-ace-chat-title { min-width: 0; flex: 1; }
.lf-ace-chat-title > p { margin-bottom: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: rgb(var(--lf-muted)); font-size: 10px; }
.lf-ace-chat-title a:hover { color: rgb(var(--lf-text)); }
.lf-ace-chat-title h1 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 500; }
.lf-ace-thread-notice { width: 100%; max-width: 680px; margin: 0 auto; padding: 26px; }
@media (max-width: 550px) {
  .lf-ace-library-heading { margin-bottom: 25px; }
  .lf-ace-heading-actions { flex-wrap: wrap; }
  .lf-ace-search { width: 100%; }
  .lf-ace-conversation-link { padding: 17px 5px; gap: 12px; }
}
html.reduce-motion :is(.lf-ace-icon-button, .lf-ace-project-card) { transition: none; }
@media (prefers-reduced-motion: reduce) { .lf-ace-icon-button, .lf-ace-project-card { transition: none; } }
.lf-agents-scroll { height:100%; overflow:auto; }
.lf-agents-hub { max-width:1100px; margin:0 auto; padding:52px 40px 36px; color:rgb(var(--lf-text)); }
.lf-agents-heading { margin-bottom:32px; }
.lf-agents-eyebrow { display:flex; align-items:center; gap:8px; color:rgb(var(--lf-muted)); font-size:12px; font-weight:600; letter-spacing:.035em; margin-bottom:18px; }
.lf-agents-eyebrow svg { width:17px; height:17px; color:rgb(var(--lf-accent)); }
.lf-agents-heading h1 { font-size:clamp(32px,4vw,49px); line-height:1.1; font-weight:550; letter-spacing:-.05em; }
.lf-agents-heading h1 span { color:rgb(var(--lf-muted)); }
.lf-agents-heading>p:last-child { max-width:520px; color:rgb(var(--lf-muted)); font-size:14px; line-height:1.7; margin-top:16px; }
.lf-agents-feature { display:grid; grid-template-columns:1.05fr 1fr; overflow:hidden; border:1px solid rgb(var(--lf-border)); border-radius:24px; background:rgb(var(--lf-panel)); }
.lf-agents-feature-copy { padding:32px; position:relative; z-index:1; }
.lf-agents-kind { display:flex; align-items:center; gap:7px; font-size:11px; font-weight:600; color:rgb(var(--lf-accent)); }
.lf-agents-kind svg { width:14px; height:14px; }
.lf-agents-feature h2 { margin:16px 0 12px; font-size:30px; line-height:1.15; letter-spacing:-.045em; font-weight:550; }
.lf-agents-feature-copy>p { font-size:13px; line-height:1.75; color:rgb(var(--lf-muted)); max-width:390px; }
.lf-agents-feature ul { display:flex; flex-wrap:wrap; gap:8px 14px; margin:20px 0 26px; color:rgb(var(--lf-muted)); font-size:11px; }
.lf-agents-feature li::before { content:'·'; color:rgb(var(--lf-accent)); margin-right:6px; }
.lf-agents-open { display:inline-flex; align-items:center; gap:18px; padding:11px 16px; border-radius:11px; background:rgb(var(--lf-text)); color:rgb(var(--lf-bg)); font-size:12px; font-weight:600; }
.lf-agents-open svg { width:16px; height:16px; }
.lf-agents-open-note { display:block; margin-top:10px; color:rgb(var(--lf-faint)); font-size:10px; }
.lf-agents-world { position:relative; min-height:315px; display:flex; align-items:center; justify-content:center; background:radial-gradient(ellipse at 60% 55%,rgb(var(--lf-accent)/.09),transparent 69%); }
.lf-agents-globe { width:85%; max-width:380px; fill:none; stroke:rgb(var(--lf-accent)/.34); stroke-width:1; transform:rotate(-18deg); }
.lf-agents-globe-point { fill:rgb(var(--lf-accent)); stroke:rgb(var(--lf-panel)); stroke-width:4; }
.lf-agents-world-orbit { position:absolute; width:78%; height:45%; border:1px solid rgb(var(--lf-border)/.5); border-radius:50%; transform:rotate(25deg); }
.lf-agents-world-chip { position:absolute; left:3%; top:26%; display:flex; align-items:center; gap:9px; padding:13px 17px; border:1px solid rgb(var(--lf-border)); border-radius:13px; background:rgb(var(--lf-panel)); color:rgb(var(--lf-text)); font-size:11px; box-shadow:0 10px 32px rgb(var(--lf-scrim)/.06); transform:rotate(-4deg); }
.lf-agents-world-chip svg { width:14px; height:14px; color:rgb(var(--lf-accent)); }
.lf-agents-world-cursor { position:absolute; right:18%; bottom:28%; color:rgb(var(--lf-accent)); transform:rotate(-15deg); }
.lf-agents-world-cursor svg { width:33px; height:33px; fill:rgb(var(--lf-accent-soft)); }
.lf-agents-world-caption { position:absolute; bottom:28px; font-size:10px; letter-spacing:.08em; color:rgb(var(--lf-faint)); }
.lf-agents-section-title { display:flex; gap:16px; align-items:center; justify-content:space-between; margin-bottom:16px; }
.lf-agents-section-title h2 { display:flex; gap:8px; align-items:center; font-size:14px; font-weight:550; letter-spacing:-.02em; }
.lf-agents-section-title h2 svg { width:14px; height:14px; color:rgb(var(--lf-muted)); }
.lf-agents-section-title>span,.lf-agents-section-title>a { font-size:11px; color:rgb(var(--lf-muted)); }
.lf-agents-section-title>a { display:inline-flex; gap:6px; align-items:center; }
.lf-agents-section-title>a svg { width:13px; height:13px; }
.lf-agents-starters-section { margin-top:34px; }
.lf-agents-starters { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.lf-agents-starters>a { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:7px; padding:20px; border:1px solid rgb(var(--lf-border)); border-radius:16px; transition:background-color .18s,border-color .18s; }
.lf-agents-starters>a:hover { background:rgb(var(--lf-panel)); border-color:rgb(var(--lf-accent)/.35); }
.lf-agents-starter-number { font-family:var(--font-mono,monospace); color:rgb(var(--lf-faint)); font-size:10px; margin-bottom:9px; }
.lf-agents-starters strong { font-size:12px; font-weight:550; }
.lf-agents-starters a>span:last-of-type { font-size:11px; line-height:1.5; color:rgb(var(--lf-muted)); }
.lf-agents-starters a>svg { position:absolute; right:18px; top:20px; width:14px; height:14px; color:rgb(var(--lf-muted)); }
.lf-agents-history { margin-top:34px; }
.lf-agents-tasks { border-top:1px solid rgb(var(--lf-border)); }
.lf-agents-tasks>a { display:flex; align-items:center; gap:14px; padding:16px 4px; border-bottom:1px solid rgb(var(--lf-border)); }
.lf-agents-task-icon { width:36px; height:36px; display:grid; place-items:center; border:1px solid rgb(var(--lf-border)); border-radius:11px; color:rgb(var(--lf-muted)); }
.lf-agents-task-icon svg { width:16px; height:16px; }
.lf-agents-task-copy { display:flex; flex:1; min-width:0; flex-direction:column; gap:4px; }
.lf-agents-task-copy strong { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:12px; font-weight:500; }
.lf-agents-task-copy>span,.lf-agents-tasks time { font-size:10px; color:rgb(var(--lf-muted)); }
.lf-agents-tasks>a>svg { width:14px; height:14px; color:rgb(var(--lf-faint)); }
.lf-agents-search { display:flex; align-items:center; gap:10px; border:1px solid rgb(var(--lf-border)); border-radius:11px; padding:0 12px; margin-bottom:18px; }
.lf-agents-search svg { width:15px; height:15px; color:rgb(var(--lf-muted)); }
.lf-agents-search input { min-width:0; flex:1; padding:12px 0; outline:none; background:transparent; font-size:12px; }
.lf-agents-search:focus-within { outline:2px solid rgb(var(--lf-accent)); outline-offset:2px; }
.lf-agents-search button { padding:7px; }
.lf-agents-empty { display:flex; flex-direction:column; align-items:center; padding:30px 20px; border:1px dashed rgb(var(--lf-border)); border-radius:16px; text-align:center; }
.lf-agents-empty>svg { width:19px; height:19px; color:rgb(var(--lf-faint)); margin-bottom:12px; }
.lf-agents-empty p { font-size:12px; color:rgb(var(--lf-muted)); }
.lf-agents-empty span { font-size:11px; color:rgb(var(--lf-faint)); margin-top:5px; }
.lf-agents-trust { display:flex; align-items:center; justify-content:center; gap:8px; color:rgb(var(--lf-faint)); font-size:10px; line-height:1.6; margin-top:28px; }
.lf-agents-trust svg { width:14px; height:14px; flex-shrink:0; }
.lf-agents-hub a:focus-visible,.lf-agents-hub button:focus-visible { outline:2px solid rgb(var(--lf-accent)); outline-offset:4px; }
.lf-agents-unavailable { margin:auto; max-width:460px; padding:40px; text-align:center; color:rgb(var(--lf-text)); }
.lf-agents-unavailable>svg { margin:0 auto 20px; color:rgb(var(--lf-accent)); }
.lf-agents-unavailable h1 { font-size:24px; }
.lf-agents-unavailable p { margin:14px 0; color:rgb(var(--lf-muted)); }
.lf-agents-unavailable a { color:rgb(var(--lf-accent)); }
@media (max-width:767px) {
  .lf-agents-hub { padding:30px 20px; }
  .lf-agents-heading { margin-bottom:24px; }
  .lf-agents-feature { grid-template-columns:1fr; }
  .lf-agents-feature-copy { padding:25px; }
  .lf-agents-world { min-height:220px; max-height:240px; grid-row:1; overflow:hidden; }
  .lf-agents-globe { width:260px; }
  .lf-agents-world-chip { left:12%; top:20%; }
  .lf-agents-world-caption { bottom:16px; }
  .lf-agents-starters { grid-template-columns:1fr; }
  .lf-agents-starters>a { padding:17px 18px; gap:4px; }
  .lf-agents-starter-number { display:none; }
  .lf-agents-section-title>span { display:none; }
  .lf-agents-trust { align-items:flex-start; }
}
.lf-studio-ace { position: fixed; z-index: 40; right: 338px; bottom: 28px; width: 360px; max-width: calc(100vw - 24px); max-height: min(660px, calc(100dvh - 24px)); display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgb(var(--lf-border) / .8); border-radius: 18px; background: rgb(var(--lf-panel)); color: rgb(var(--lf-text)); box-shadow: 0 14px 48px rgb(var(--lf-scrim) / .14), 0 2px 8px rgb(var(--lf-scrim) / .06); }
.lf-studio-ace[style*='left'] { right: auto; bottom: auto; }
.lf-studio-ace.is-minimized { width: 260px; }
.lf-studio-ace-header { display: flex; align-items: center; gap: 9px; padding: 12px 14px; flex-shrink: 0; }
.lf-studio-ace-mark { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; background: rgb(var(--lf-accent) / .1); color: rgb(var(--lf-accent-strong)); }
.lf-studio-ace-name { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 2px; }
.lf-studio-ace-name strong { font-size: 13px; font-weight: 600; letter-spacing: -.02em; }
.lf-studio-ace-name span { font-size: 10px; color: rgb(var(--lf-muted)); }
.lf-studio-ace-move, .lf-studio-ace-icon, .lf-studio-ace-reset { display: grid; flex-shrink: 0; place-items: center; width: 28px; height: 28px; border-radius: 7px; color: rgb(var(--lf-muted)); }
.lf-studio-ace-move { cursor: grab; touch-action: none; }
.lf-studio-ace-move:active { cursor: grabbing; }
.lf-studio-ace button:hover { color: rgb(var(--lf-text)); background: rgb(var(--lf-elevated)); }
.lf-studio-ace button:focus-visible { outline: 2px solid rgb(var(--lf-accent)); outline-offset: 2px; }
.lf-studio-ace button:disabled { opacity: .4; cursor: not-allowed; }
.lf-studio-ace-conversation { min-height: 0; max-height: 370px; flex: 1; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding: 2px 15px 12px; }
.lf-studio-ace-welcome { padding: 15px 1px 6px; }
.lf-studio-ace-welcome p { font-size: 22px; line-height: 1.3; letter-spacing: -.035em; color: rgb(var(--lf-muted)); }
.lf-studio-ace-welcome strong { color: rgb(var(--lf-text)); font-weight: 500; }
.lf-studio-ace-welcome > span { display: block; max-width: 275px; margin-top: 10px; font-size: 12px; line-height: 1.6; color: rgb(var(--lf-muted)); }
.lf-studio-ace-starters { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 16px; }
.lf-studio-ace-starters button { border: 1px solid rgb(var(--lf-hairline)); border-radius: 20px; padding: 5px 8px; font-size: 10px; color: rgb(var(--lf-muted)); }
.lf-studio-ace-message { margin: 10px 0; font-size: 12px; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.lf-studio-ace-message.is-user { margin-left: 25px; padding: 9px 11px; border-radius: 12px 12px 3px 12px; background: rgb(var(--lf-text) / .04); }
.lf-studio-ace-message.is-assistant { padding: 0 3px; color: rgb(var(--lf-muted)); }
.lf-studio-ace-progress, .lf-studio-ace-review, .lf-studio-ace-error { margin: 12px 0 0; padding: 12px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 12px; background: rgb(var(--lf-surface) / .4); }
.lf-studio-ace-progress > div:first-child { display: flex; align-items: center; gap: 7px; font-size: 11px; }
.lf-studio-ace-progress strong { font-weight: 500; flex: 1; }
.lf-studio-ace-progress time { font-size: 10px; font-variant-numeric: tabular-nums; color: rgb(var(--lf-faint)); }
.lf-studio-ace-progress p, .lf-studio-ace-error p { margin-top: 8px; font-size: 11px; line-height: 1.6; color: rgb(var(--lf-muted)); }
.lf-studio-ace-progress small { display: block; margin-top: 6px; font-size: 10px; color: rgb(var(--lf-faint)); }
.lf-studio-ace-progress-line { height: 2px; overflow: hidden; margin-top: 12px; background: rgb(var(--lf-hairline)); border-radius: 2px; }
.lf-studio-ace-progress-line span { display: block; width: 35%; height: 100%; border-radius: 2px; background: rgb(var(--lf-accent)); animation: studio-ace-working 1.8s ease-in-out infinite alternate; }
@keyframes studio-ace-working { from { transform: translateX(-40%); } to { transform: translateX(225%); } }
.lf-studio-ace-review-heading { display: flex; align-items: center; justify-content: space-between; }
.lf-studio-ace-review-heading > span { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 500; }
.lf-studio-ace-review-heading button { padding: 4px; border-radius: 5px; color: rgb(var(--lf-muted)); }
.lf-studio-ace-review > p { margin: 10px 0; font-size: 12px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.lf-studio-ace-review small { display: block; margin-top: 7px; font-size: 10px; line-height: 1.6; color: rgb(var(--lf-muted)); }
.lf-studio-ace-review-actions { display: flex; justify-content: space-between; gap: 6px; margin-top: 12px; }
.lf-studio-ace-review-actions button, .lf-studio-ace-error button, .lf-studio-ace-result button { display: flex; align-items: center; justify-content: center; gap: 5px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 7px; padding: 7px 9px; font-size: 10px; }
.lf-studio-ace-review-actions .is-primary { background: rgb(var(--lf-accent) / .13); border-color: rgb(var(--lf-accent) / .3); color: rgb(var(--lf-accent-strong)); }
.lf-studio-ace-error { border-color: rgb(var(--lf-danger) / .25); }
.lf-studio-ace-error strong { font-size: 11px; font-weight: 500; }
.lf-studio-ace-error button { margin-top: 10px; }
.lf-studio-ace-result { display: flex; align-items: center; gap: 10px; padding: 10px; margin-top: 10px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 12px; }
.lf-studio-ace-result > img { width: 64px; height: 64px; border-radius: 7px; -o-object-fit: contain; object-fit: contain; background: rgb(var(--lf-bg)); }
.lf-studio-ace-result > div { display: flex; flex-direction: column; gap: 5px; }
.lf-studio-ace-result span { display: flex; align-items: center; gap: 5px; font-size: 11px; }
.lf-studio-ace-result small { font-size: 10px; color: rgb(var(--lf-muted)); }
.lf-studio-ace-context { display: flex; flex-shrink: 0; align-items: center; gap: 7px; min-height: 32px; margin: 0 15px; padding-top: 8px; border-top: 1px solid rgb(var(--lf-hairline)); color: rgb(var(--lf-muted)); font-size: 10px; }
.lf-studio-ace-context img { height: 22px; width: 22px; -o-object-fit: cover; object-fit: cover; border-radius: 5px; }
.lf-studio-ace-context span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lf-studio-ace-context button { flex-shrink: 0; margin-left: auto; padding: 4px 6px; border-radius: 5px; font-size: 10px; color: rgb(var(--lf-accent-strong)); }
.lf-studio-ace-composer { flex-shrink: 0; border: 1px solid rgb(var(--lf-border)); border-radius: 12px; margin: 9px 12px 0; padding: 9px; background: rgb(var(--lf-bg) / .35); }
.lf-studio-ace-composer:focus-within { border-color: rgb(var(--lf-accent) / .5); }
.lf-studio-ace-composer textarea { width: 100%; resize: vertical; min-height: 42px; max-height: 100px; outline: none; background: transparent; font-size: 12px; line-height: 1.6; }
.lf-studio-ace-composer textarea::-moz-placeholder { color: rgb(var(--lf-faint)); }
.lf-studio-ace-composer textarea::placeholder { color: rgb(var(--lf-faint)); }
.lf-studio-ace-composer > div { display: flex; align-items: center; gap: 4px; }
.lf-studio-ace-composer > div > span { flex: 1; font-size: 9px; color: rgb(var(--lf-faint)); }
.lf-studio-ace-send { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; background: rgb(var(--lf-accent) / .13); color: rgb(var(--lf-accent-strong)); }
.lf-studio-ace-note { flex-shrink: 0; padding: 8px 16px 12px; font-size: 9px; line-height: 1.5; color: rgb(var(--lf-faint)); }
.lf-studio-ace-inline-error { margin: 7px 16px 0; font-size: 11px; line-height: 1.5; color: rgb(var(--lf-danger)); }
@media (max-width: 640px) {
  .lf-studio-ace, .lf-studio-ace[style*='left'] { left: 12px !important; right: 12px; top: auto !important; bottom: max(12px, env(safe-area-inset-bottom)); width: auto; max-height: min(64dvh, 580px); border-radius: 16px; }
  .lf-studio-ace.is-minimized { left: auto !important; width: 240px; }
  .lf-studio-ace-move, .lf-studio-ace-reset { display: none; }
  .lf-studio-ace-note { display: none; }
  .lf-studio-ace-composer { margin-bottom: 12px; }
  .lf-studio-ace-composer textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .lf-studio-ace * { animation: none !important; transition: none !important; } }
html.reduce-motion .lf-studio-ace * { animation: none !important; transition: none !important; }
.lf-image-workshop { position: relative; display: flex; flex-direction: column; height: 100%; min-height: 0; color: rgb(var(--lf-text)); background: rgb(var(--lf-bg)); }
.lf-workshop-topbar { display: flex; align-items: center; gap: 20px; padding: 12px 17px; border-bottom: 1px solid rgb(var(--lf-hairline)); flex-shrink: 0; }
.lf-workshop-title { display: flex; align-items: center; gap: 10px; min-width: 150px; }
.lf-workshop-title > svg { width: 17px; height: 17px; color: rgb(var(--lf-accent-strong)); }
.lf-workshop-title > div { display: flex; flex-direction: column; gap: 3px; }
.lf-workshop-title > div > span { color: rgb(var(--lf-faint)); font-size: 8px; font-weight: 600; letter-spacing: .14em; }
.lf-workshop-title input { width: 175px; background: transparent; border: 0; outline: 0; font-size: 12px; font-weight: 550; padding: 0; color: rgb(var(--lf-text)); }
.lf-workshop-title input:focus-visible { outline: 1px solid rgb(var(--lf-accent)); outline-offset: 3px; border-radius: 3px; }
.lf-workshop-save-state { font-size: 9px; color: rgb(var(--lf-faint)); }
.lf-workshop-save-state.is-dirty { color: rgb(var(--lf-accent-strong)); }
.lf-workshop-file-actions { display: flex; align-items: center; gap: 4px; }
.lf-workshop-file-actions select, .lf-workshop-properties select { color: rgb(var(--lf-muted)); border: 1px solid rgb(var(--lf-hairline)); background: rgb(var(--lf-surface)); border-radius: 8px; padding: 6px 8px; font-size: 11px; min-width: 0; }
.lf-workshop-file-actions select { width: 110px; }
.lf-workshop-top-actions { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.lf-workshop-top-actions > button { white-space: nowrap; }
.lf-workshop-inspector-toggle { display: none; padding: 7px; color: rgb(var(--lf-muted)); border-radius: 7px; }
.lf-workshop-inspector-toggle svg { width: 16px; height: 16px; }
.lf-workshop-body { display: flex; flex: 1; min-height: 0; position: relative; }
.lf-workshop-tools { flex-shrink: 0; display: flex; align-items: center; flex-direction: column; gap: 5px; padding: 14px 8px; width: 56px; border-right: 1px solid rgb(var(--lf-hairline)); background: rgb(var(--lf-panel) / .35); }
.lf-workshop-tools button { width: 36px; height: 36px; border-radius: 11px; flex-shrink: 0; }
.lf-workshop-tools button > svg { width: 16px; height: 16px; }
.lf-workshop-tools button:disabled, .lf-workshop-layer-tools button:disabled { opacity: .3; cursor: default; }
.lf-workshop-tool-divider { width: 18px; height: 1px; margin: 5px 0; background: rgb(var(--lf-hairline)); }
.lf-workshop-stage { min-width: 0; flex: 1; position: relative; overflow: auto; background-color: rgb(var(--lf-surface) / .3); background-image: radial-gradient(rgb(var(--lf-faint) / .13) .65px, transparent .65px); background-size: 16px 16px; }
.lf-workshop-artboard { width: -moz-max-content; width: max-content; min-width: 100%; min-height: 100%; display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 40px 36px 65px; }
.lf-workshop-artboard-label { display: flex; align-items: center; justify-content: space-between; gap: 35px; min-width: 160px; margin-bottom: 12px; font-size: 9px; color: rgb(var(--lf-faint)); }
.lf-workshop-artboard-label span:first-child { max-width: 240px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.lf-workshop-artboard-label span:last-child { font-variant-numeric: tabular-nums; }
.lf-workshop-canvas { outline: 1px solid rgb(var(--lf-border)); background: conic-gradient(rgb(var(--lf-elevated)) 25%, rgb(var(--lf-panel)) 0 50%, rgb(var(--lf-elevated)) 0 75%, rgb(var(--lf-panel)) 0); background-size: 16px 16px; }
.lf-workshop-empty { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 13px; padding: 18px; text-align: center; overflow: hidden; color: rgb(var(--lf-text)); background: rgb(var(--lf-panel)); border: 1px dashed rgb(var(--lf-border)); }
.lf-workshop-empty-mark { position: relative; display: grid; place-items: center; width: 55px; height: 62px; border: 1px solid rgb(var(--lf-accent) / .25); border-radius: 9px; transform: rotate(-8deg); background: rgb(var(--lf-accent) / .07); margin-bottom: 3px; }
.lf-workshop-empty-mark > svg { width: 26px; height: 26px; color: rgb(var(--lf-accent-strong)); stroke-width: 1; }
.lf-workshop-empty-mark > span { position: absolute; display: grid; place-items: center; width: 22px; height: 22px; right: -8px; bottom: -4px; border-radius: 50%; background: rgb(var(--lf-accent)); color: rgb(var(--lf-on-accent)); font-size: 17px; }
.lf-workshop-empty p { font-size: clamp(18px, 2.2vw, 29px); line-height: 1.25; letter-spacing: -.035em; font-weight: 500; }
.lf-workshop-empty p em { font-family: Georgia, serif; font-weight: 400; }
.lf-workshop-empty > span:not(.lf-workshop-empty-mark) { font-size: 11px; line-height: 1.5; max-width: 220px; color: rgb(var(--lf-muted)); }
.lf-workshop-empty > div { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px; margin-top: 3px; }
.lf-workshop-empty > div button { display: flex; align-items: center; gap: 6px; padding: 8px 10px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 8px; color: rgb(var(--lf-text)); background: rgb(var(--lf-elevated)); font-size: 10px; }
.lf-workshop-empty > div button:first-child { border-color: rgb(var(--lf-accent) / .4); background: rgb(var(--lf-accent-soft)); }
.lf-workshop-empty button svg { width: 13px; height: 13px; }
.lf-workshop-empty small { font-size: 9px; color: rgb(var(--lf-faint)); }
.lf-workshop-zoom { position: sticky; z-index: 4; bottom: 15px; margin: -47px auto 15px; width: -moz-max-content; width: max-content; display: flex; align-items: center; gap: 2px; padding: 4px; border: 1px solid rgb(var(--lf-border)); border-radius: 10px; background: rgb(var(--lf-panel)); box-shadow: 0 4px 16px rgb(var(--lf-scrim) / .08); }
.lf-workshop-zoom button { display: grid; place-items: center; width: 29px; height: 26px; border-radius: 6px; color: rgb(var(--lf-muted)); }
.lf-workshop-zoom button:hover { background: rgb(var(--lf-elevated)); color: rgb(var(--lf-text)); }
.lf-workshop-zoom svg { width: 13px; height: 13px; }
.lf-workshop-zoom > span:not(.lf-workshop-tool-divider) { min-width: 40px; text-align: center; font-size: 10px; font-variant-numeric: tabular-nums; color: rgb(var(--lf-muted)); }
.lf-workshop-zoom .lf-workshop-tool-divider { width: 1px; height: 12px; margin: 0 5px; }
.lf-workshop-inspector { flex-shrink: 0; display: flex; flex-direction: column; width: 268px; min-height: 0; overflow-y: auto; border-left: 1px solid rgb(var(--lf-hairline)); background: rgb(var(--lf-panel) / .45); }
.lf-workshop-inspector-mobile-title { display: none; }
.lf-workshop-properties { padding: 15px 14px; display: flex; flex-direction: column; gap: 13px; }
.lf-workshop-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: rgb(var(--lf-faint)); font-size: 10px; }
.lf-workshop-section-heading h2, .lf-workshop-section-heading h3 { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 550; color: rgb(var(--lf-muted)); }
.lf-workshop-section-heading svg { width: 12px; height: 12px; }
.lf-workshop-section-heading h2 > span { font-size: 9px; color: rgb(var(--lf-faint)); }
.lf-workshop-section-heading > button { font-size: 10px; }
.lf-workshop-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.lf-workshop-number { display: flex; align-items: center; gap: 7px; padding: 6px 7px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 7px; background: rgb(var(--lf-bg) / .45); }
.lf-workshop-number span { color: rgb(var(--lf-faint)); font-size: 9px; max-width: 52px; line-height: 1.3; flex-shrink: 0; }
.lf-workshop-number input { width: 100%; min-width: 0; font-size: 11px; text-align: right; background: transparent; color: rgb(var(--lf-text)); outline: 0; }
.lf-workshop-number:focus-within { border-color: rgb(var(--lf-accent)); }
.lf-workshop-inline { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 11px; color: rgb(var(--lf-muted)); }
.lf-workshop-inline input[type='color'] { width: 31px; height: 26px; padding: 2px; border: 1px solid rgb(var(--lf-hairline)); background: transparent; border-radius: 6px; }
.lf-workshop-inline input[type='checkbox'] { accent-color: rgb(var(--lf-accent)); }
.lf-workshop-help { font-size: 10px; line-height: 1.7; color: rgb(var(--lf-faint)); }
.lf-workshop-transform { display: flex; gap: 5px; }
.lf-workshop-transform button { display: grid; place-items: center; flex: 1; height: 29px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 7px; color: rgb(var(--lf-muted)); background: rgb(var(--lf-surface) / .5); }
.lf-workshop-transform button svg { width: 13px; height: 13px; }
.lf-workshop-range { display: flex; flex-direction: column; gap: 8px; font-size: 10px; color: rgb(var(--lf-muted)); }
.lf-workshop-range > span { display: flex; justify-content: space-between; gap: 10px; }
.lf-workshop-range output { font-variant-numeric: tabular-nums; color: rgb(var(--lf-faint)); }
.lf-workshop-range input { width: 100%; height: 4px; accent-color: rgb(var(--lf-accent)); margin: 4px 0 6px; }
.lf-workshop-image-actions { display: flex; gap: 5px; }
.lf-workshop-image-actions button { display: flex; align-items: center; gap: 5px; font-size: 10px; border: 1px solid rgb(var(--lf-hairline)); padding: 6px 8px; border-radius: 7px; color: rgb(var(--lf-muted)); }
.lf-workshop-image-actions svg { width: 12px; height: 12px; }
.lf-workshop-text-action { color: rgb(var(--lf-accent-strong)); font-size: 10px; }
.lf-workshop-layers { padding: 13px 9px; flex: 1; min-height: 140px; border-top: 1px solid rgb(var(--lf-hairline)); }
.lf-workshop-layers > .lf-workshop-section-heading { padding: 0 5px 9px; }
.lf-workshop-layer-tools { display: flex; gap: 1px; }
.lf-workshop-layer-tools button { padding: 5px; border-radius: 5px; color: rgb(var(--lf-muted)); }
.lf-workshop-layer-tools svg { width: 12px; height: 12px; }
.lf-workshop-layer { display: flex; align-items: center; gap: 2px; border: 1px solid transparent; border-radius: 8px; margin: 3px 0; padding: 3px; }
.lf-workshop-layer.is-selected { background: rgb(var(--lf-accent-soft)); border-color: rgb(var(--lf-accent) / .2); }
.lf-workshop-layer.is-hidden .lf-workshop-layer-pick { opacity: .5; }
.lf-workshop-layer-pick { flex: 1; min-width: 0; display: flex; align-items: center; gap: 9px; text-align: left; font-size: 10px; color: rgb(var(--lf-muted)); }
.lf-workshop-layer-pick > span:last-child { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.lf-workshop-layer-thumb { display: grid; place-items: center; width: 32px; height: 32px; flex-shrink: 0; border: 1px solid rgb(var(--lf-hairline)); border-radius: 5px; overflow: hidden; background: rgb(var(--lf-bg)); }
.lf-workshop-layer-thumb img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.lf-workshop-layer-thumb svg { width: 12px; height: 12px; }
.lf-workshop-layer > button:not(.lf-workshop-layer-pick) { padding: 5px; color: rgb(var(--lf-faint)); }
.lf-workshop-layer > button:not(.lf-workshop-layer-pick) svg { width: 12px; height: 12px; }
.lf-workshop-canvas-pick { display: flex; align-items: center; gap: 6px; padding: 10px 7px; margin-top: 7px; font-size: 10px; color: rgb(var(--lf-faint)); }
.lf-workshop-canvas-pick svg { width: 12px; height: 12px; }
.lf-workshop-status { height: 26px; flex-shrink: 0; padding: 0 14px; border-top: 1px solid rgb(var(--lf-hairline)); display: flex; align-items: center; justify-content: space-between; gap: 10px; color: rgb(var(--lf-faint)); font-size: 9px; }
.lf-workshop-status > span { display: flex; align-items: center; gap: 7px; }
.lf-workshop-crop-presets { display: flex; gap: 6px; margin-bottom: 15px; }
.lf-workshop-crop-presets button { padding: 6px 12px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 7px; font-size: 11px; color: rgb(var(--lf-muted)); }
.lf-workshop-crop-stage { display: flex; align-items: center; justify-content: center; min-height: 120px; max-height: 360px; overflow: hidden; border-radius: 8px; background: rgb(var(--lf-scrim) / .25); }
.lf-workshop-crop-photo { position: relative; width: 100%; overflow: hidden; }
.lf-workshop-crop-photo > img { width: 100%; height: 100%; display: block; }
.lf-workshop-crop-selection { position: absolute; border: 1.5px solid rgb(var(--lf-accent)); box-shadow: 0 0 0 800px rgb(var(--lf-scrim) / .55); touch-action: none; cursor: move; }
.lf-workshop-crop-selection:focus-visible { outline: 2px solid rgb(var(--lf-accent)); outline-offset: 3px; }
.lf-workshop-crop-thirds { position: absolute; inset: 33.333%; border: 1px solid rgb(var(--lf-accent) / .35); pointer-events: none; }
.lf-workshop-crop-handle { position: absolute; width: 14px; height: 14px; right: -6px; bottom: -6px; background: rgb(var(--lf-accent)); border: 2px solid rgb(var(--lf-panel)); border-radius: 2px; cursor: nwse-resize; touch-action: none; }
.lf-image-workshop button:focus-visible { outline: 2px solid rgb(var(--lf-accent)); outline-offset: 2px; }
.lf-workshop-shape-palette { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.lf-workshop-shape-palette button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 13px; min-height: 104px; border: 1px solid rgb(var(--lf-hairline)); border-radius: 13px; background: rgb(var(--lf-surface)); color: rgb(var(--lf-muted)); font-size: 11px; transition: border-color 160ms, background 160ms; }
.lf-workshop-shape-palette button:hover { background: rgb(var(--lf-accent-soft)); border-color: rgb(var(--lf-accent) / .4); color: rgb(var(--lf-text)); }
.lf-workshop-shape-palette svg { width: 29px; height: 29px; stroke-width: 1.5; color: rgb(var(--lf-accent-strong)); }
.lf-workshop-properties fieldset:disabled { opacity: .5; }
@media (max-width: 1180px) { .lf-workshop-topbar { gap: 8px; } .lf-workshop-title input { width: 135px; } .lf-workshop-save-state { display: none; } .lf-workshop-inspector { width: 235px; } .lf-workshop-topbar .lf-workshop-file-actions { gap: 0; } }
@media (max-width: 1000px) { .lf-workshop-inspector-toggle { display: inline-flex; } .lf-workshop-inspector { display: none; position: absolute; z-index: 25; top: 0; right: 0; bottom: 0; width: 268px; background: rgb(var(--lf-panel)); box-shadow: -8px 0 24px rgb(var(--lf-scrim) / .2); } .lf-workshop-inspector.is-open { display: flex; } .lf-workshop-inspector-mobile-title { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 13px; border-bottom: 1px solid rgb(var(--lf-hairline)); font-size: 12px; } .lf-workshop-inspector-mobile-title svg { width: 15px; height: 15px; } .lf-workshop-title input { width: 145px; } }
@media (max-width: 700px) { .lf-workshop-topbar { padding: 9px 10px; flex-wrap: wrap; gap: 7px; } .lf-workshop-title { flex: 1; } .lf-workshop-file-actions { order: 3; } .lf-workshop-top-actions { margin-left: 0; gap: 0; } .lf-workshop-top-actions button { font-size: 10px; padding: 6px; } .lf-workshop-top-actions button svg { width: 12px; height: 12px; } .lf-workshop-tools { width: 44px; padding: 10px 4px; gap: 4px; overflow-y: auto; } .lf-workshop-tools button { width: 32px; height: 32px; } .lf-workshop-artboard { padding: 32px 24px 60px; } .lf-workshop-empty { gap: 9px; padding: 12px; } .lf-workshop-empty-mark { width: 32px; height: 36px; } .lf-workshop-empty-mark > svg { width: 18px; height: 18px; } .lf-workshop-empty p { font-size: 19px; } .lf-workshop-empty small { display: none; } .lf-workshop-status > span:last-child { display: none; } .lf-workshop-status { padding: 0 9px; } }
