/* Base overlay and dialog */
.unified-onboarding-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  backdrop-filter: blur(4px);
}
.unified-onboarding-dialog {
  background: var(--nim-bg);
  border: 1px solid var(--nim-border);
  border-radius: 12px;
  width: 90%;
  max-width: 720px;
  min-height: 400px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  display: flex;
  flex-direction: column;
}
.unified-onboarding-dialog.unified-onboarding-single-screen {
  min-height: auto;
}
.unified-onboarding-dialog.walkthrough {
  border-radius: 16px;
  max-height: calc(100vh - 80px);
  max-width: calc(100vw - 80px);
  overflow: hidden;
  width: auto;
}
/* Logo */
.unified-onboarding-logo {
  display: flex;
  justify-content: center;
  padding: 20px 32px 0;
}
.unified-onboarding-logo-image {
  width: 56px;
  height: 56px;
  -o-object-fit: contain;
     object-fit: contain;
}
/* Header */
.unified-onboarding-header {
  padding: 16px 32px;
  border-bottom: 1px solid var(--nim-border);
  text-align: center;
}
.unified-onboarding-header h2 {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: var(--nim-text);
}
.unified-onboarding-subtitle {
  margin: 0;
  font-size: 15px;
  color: var(--nim-text-muted);
}
/* Content */
.unified-onboarding-content {
  padding: 20px 32px;
  flex: 1;
  overflow-y: auto;
}
.unified-onboarding-section {
  margin-bottom: 20px;
}
.unified-onboarding-section:last-child {
  margin-bottom: 0;
}
.unified-onboarding-label {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--nim-text);
}
.unified-onboarding-label-centered {
  text-align: center;
}
.required-asterisk {
  color: var(--nim-error);
  margin-left: 4px;
}
.unified-onboarding-divider {
  height: 1px;
  background: var(--nim-border);
  margin: 20px 0;
}
/* Data collection section - disabled state when no mode selected */
.unified-onboarding-data-collection {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 24px;
  transition: opacity 0.2s ease;
}
.unified-onboarding-data-collection .unified-onboarding-section {
  margin-bottom: 0;
}
.unified-onboarding-data-collection .unified-onboarding-disclaimer {
  grid-column: 1 / -1;
  margin-top: 4px;
}
.unified-onboarding-data-collection.disabled {
  opacity: 0.3;
  pointer-events: none;
}
.unified-onboarding-help-text {
  margin: -4px 0 8px 0;
  font-size: 12px;
  color: var(--nim-text-faint);
}
/* Role options (old grid style - kept for backward compatibility) */
.role-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.role-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
  background: var(--nim-bg-secondary);
  border: 2px solid var(--nim-border);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.15s ease;
  position: relative;
  overflow: hidden;
}
.role-option:hover {
  background: var(--nim-bg-hover);
  border-color: var(--nim-primary);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.role-option.selected {
  background: var(--nim-bg-hover);
  border-color: var(--nim-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--nim-primary) 15%, transparent);
}
.role-option input[type="radio"] {
  position: absolute;
  top: 12px;
  right: 12px;
  margin: 0;
  cursor: pointer;
  width: 20px;
  height: 20px;
  accent-color: var(--nim-primary);
}
.role-option-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 28px 16px 24px;
  width: 100%;
  gap: 12px;
}
.role-option-icon {
  font-size: 48px;
  color: var(--nim-primary);
  transition: transform 0.15s ease;
}
.role-option:hover .role-option-icon {
  transform: scale(1.1);
}
.role-option-label {
  font-size: 15px;
  color: var(--nim-text);
  font-weight: 600;
  text-align: center;
}
.custom-role-input {
  margin-top: 12px;
  animation: slideDown 0.2s ease;
}
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Input fields */
.unified-onboarding-input {
  width: 100%;
  padding: 10px 12px;
  font-size: 13px;
  color: var(--nim-text);
  background: var(--nim-bg-secondary);
  border: 1px solid var(--nim-border);
  border-radius: 6px;
  outline: none;
  transition: all 0.15s ease;
  box-sizing: border-box;
}
.unified-onboarding-input:focus {
  border-color: var(--nim-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--nim-primary) 10%, transparent);
}
.unified-onboarding-input.error {
  border-color: var(--nim-error);
}
.unified-onboarding-input.error:focus {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--nim-error) 10%, transparent);
}
.unified-onboarding-select {
  width: 100%;
  padding: 10px 12px;
  font-size: 13px;
  color: var(--nim-text);
  background: var(--nim-bg-secondary);
  border: 1px solid var(--nim-border);
  border-radius: 6px;
  outline: none;
  transition: all 0.15s ease;
  box-sizing: border-box;
  cursor: pointer;
}
.unified-onboarding-select:focus {
  border-color: var(--nim-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--nim-primary) 10%, transparent);
}
.error-text {
  margin: 8px 0 0 0;
  font-size: 13px;
  color: var(--nim-error);
}
/* Mode selection */
.mode-selection {
  display: flex;
  flex-direction: row;
  gap: 16px;
}
.mode-option {
  display: flex;
  flex: 1;
  align-items: flex-start;
  padding: 0;
  background: var(--nim-bg-secondary);
  border: 2px solid var(--nim-border);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.15s ease;
  position: relative;
}
.mode-option:hover {
  background: var(--nim-bg-hover);
  border-color: var(--nim-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.mode-option.selected {
  background: var(--nim-bg-hover);
  border-color: var(--nim-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--nim-primary) 15%, transparent);
}
.mode-option input[type="radio"] {
  position: absolute;
  top: 12px;
  right: 12px;
  margin: 0;
  cursor: pointer;
  width: 18px;
  height: 18px;
  accent-color: var(--nim-primary);
}
.mode-option-content {
  padding: 16px 16px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.mode-option-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.mode-option-icon {
  font-size: 32px;
  color: var(--nim-primary);
  transition: transform 0.15s ease;
}
.mode-option:hover .mode-option-icon {
  transform: scale(1.1);
}
.mode-option-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--nim-text);
}
.mode-option-description {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--nim-text-muted);
}
/* Walkthrough (legacy styles) */
.unified-onboarding-image-container {
  position: relative;
  background: var(--nim-bg-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  border-bottom: 1px solid var(--nim-border);
  overflow: hidden;
  box-sizing: content-box;
}
.unified-onboarding-image {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  image-rendering: -webkit-optimize-contrast;
  image-rendering: high-quality;
}
.unified-onboarding-walkthrough-title {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: var(--nim-text);
  line-height: 1.3;
  text-align: center;
}
.unified-onboarding-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 0 32px 16px;
}
.unified-onboarding-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background: var(--nim-bg-tertiary);
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
}
.unified-onboarding-dot:hover {
  background: var(--nim-text-faint);
}
.unified-onboarding-dot.active {
  background: var(--nim-primary);
  width: 24px;
  border-radius: 5px;
}
/* Footer */
.unified-onboarding-disclaimer {
  margin-top: 16px;
}
.disclaimer-text {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--nim-text-faint);
}
.disclaimer-text + .disclaimer-text {
  margin-top: 8px;
}
.unified-onboarding-link {
  color: var(--nim-link);
  text-decoration: none;
  transition: color 0.15s ease;
}
.unified-onboarding-link:hover {
  color: var(--nim-link-hover);
  text-decoration: underline;
}
.unified-onboarding-legal-links {
  margin: 12px 0 0 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--nim-text-faint);
  text-align: center;
}
.unified-onboarding-footer {
  padding: 16px 32px;
  border-top: 1px solid var(--nim-border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.unified-onboarding-footer-single {
  flex-direction: column;
  justify-content: center;
}
.unified-onboarding-breadcrumbs {
  display: flex;
  gap: 8px;
  align-items: center;
}
.breadcrumb-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--nim-bg-tertiary);
  transition: all 0.2s ease;
}
.breadcrumb-dot.active {
  background: var(--nim-primary);
  width: 20px;
  border-radius: 4px;
}
.unified-onboarding-footer-buttons {
  display: flex;
  gap: 12px;
  align-items: center;
}
.unified-onboarding-secondary-button {
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 500;
  color: var(--nim-text-muted);
  background: transparent;
  border: 1px solid var(--nim-border);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.unified-onboarding-secondary-button:hover:not(:disabled) {
  background: var(--nim-bg-hover);
  color: var(--nim-text);
  border-color: var(--nim-text-faint);
}
.unified-onboarding-secondary-button:disabled {
  color: var(--nim-text-faint);
  background: var(--nim-bg-tertiary);
  cursor: not-allowed;
}
.unified-onboarding-submit {
  padding: 12px 32px;
  font-size: 15px;
  font-weight: 600;
  color: var(--nim-on-primary);
  background: var(--nim-primary);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--nim-primary) 20%, transparent);
}
.unified-onboarding-submit:hover:not(:disabled) {
  background: var(--nim-primary-hover);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--nim-primary) 30%, transparent);
  transform: translateY(-1px);
}
.unified-onboarding-submit:active:not(:disabled) {
  transform: translateY(0);
}
.unified-onboarding-submit:disabled {
  background: var(--nim-bg-tertiary);
  color: var(--nim-text-faint);
  cursor: not-allowed;
  box-shadow: none;
}
.unified-onboarding-skip-button {
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 500;
  color: var(--nim-text-faint);
  background: transparent;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.unified-onboarding-skip-button:hover {
  color: var(--nim-text-muted);
  background: var(--nim-bg-hover);
}
.unified-onboarding-nav-buttons {
  display: flex;
  gap: 12px;
}
.unified-onboarding-nav-button {
  padding: 12px 28px;
  font-size: 15px;
  font-weight: 600;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.unified-onboarding-nav-button.secondary {
  color: var(--nim-text-muted);
  background: var(--nim-bg-secondary);
  border: 1px solid var(--nim-border);
}
.unified-onboarding-nav-button.secondary:hover {
  background: var(--nim-bg-tertiary);
  color: var(--nim-text);
}
.unified-onboarding-nav-button.primary {
  color: var(--nim-on-primary);
  background: var(--nim-primary);
  border: none;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--nim-primary) 20%, transparent);
}
.unified-onboarding-nav-button.primary:hover {
  background: var(--nim-primary-hover);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--nim-primary) 30%, transparent);
  transform: translateY(-1px);
}
.unified-onboarding-nav-button.primary:active {
  transform: translateY(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 .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.
 *--------------------------------------------------------------------------------------------*/

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

.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 4px 0 4px;
	white-space: nowrap;
	cursor: pointer;
	touch-action: none;
	width: 100%;
	border-radius: 3px;
}

.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled) {
	background-color: var(--vscode-list-activeSelectionBackground) !important;
	color: var(--vscode-list-activeSelectionForeground);
	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;
	font-size: 13px;
}

.action-widget .monaco-list-row.group-header:not(:first-of-type) {
	margin-top: 2px;
}

.action-widget .monaco-scrollable-element .monaco-list-rows .monaco-list-row.separator {
	border-top: 1px solid var(--vscode-editorHoverWidget-border);
	color: var(--vscode-descriptionForeground);
	font-size: 12px;
	padding: 0;
	margin: 4px 0 0 0;
	cursor: default;
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	border-radius: 0;
}

.action-widget .monaco-scrollable-element .monaco-list-rows .monaco-list-row.separator.focused {
	outline: 0 solid;
	background-color: transparent;
	border-radius: 0;
}

.action-widget .monaco-list-row.separator:first-of-type {
	border-top: none;
	margin-top: 0;
}

.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: 4px;
	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-menu-background);
	border-top: 1px solid var(--vscode-menu-border);
	margin-top: 2px;
}

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

.action-widget .action-widget-action-bar .actions-container {
	padding: 4px 8px 2px 24px;
}

.action-widget-action-bar .action-label {
	color: var(--vscode-textLink-activeForeground);
	font-size: 13px;
	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;
}

.action-widget .monaco-list .monaco-list-row .description {
	opacity: 0.7;
	margin-left: 0.5em;
}
/*---------------------------------------------------------------------------------------------
 *  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;
	color: var(--vscode-button-foreground);
	background-color: var(--vscode-button-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-hoverBackground) !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-ngg6Pgfi.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.
 *--------------------------------------------------------------------------------------------*/

/* stylelint-disable layer-checker */

.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;
	z-index: 1;
}

/* gutter decoration */

.monaco-editor .glyph-margin-widgets .cgmr[class*="codicon-gutter-lightbulb"] {
	display: block;
	cursor: pointer;
}

.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb,
.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-sparkle {
	color: var(--vscode-editorLightBulb-foreground);
}

.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-auto-fix,
.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-aifix-auto-fix {
	color: var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground));
}

.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-sparkle-filled {
	color: var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-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 .codelens-decoration {
	overflow: hidden;
	display: inline-flex !important; /* !important to override inline display:block style */
	align-items: center;
	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;
	display: inline-flex;
	align-items: center;
}

.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[class*='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;}
	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.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .inlineSuggestionsHints {
	padding: 4px;

	.warningMessage p {
		margin: 0;
	}
}
.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) !important;
}
.monaco-editor .inlineSuggestionsHints a:hover {
	color: var(--vscode-foreground) !important;
}
.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.
 *--------------------------------------------------------------------------------------------*/

/* 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-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.
 *--------------------------------------------------------------------------------------------*/

.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 .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 {
	color: var(--vscode-peekViewResult-fileForeground) !important;
	background-color: var(--vscode-peekViewResult-matchHighlightBackground) !important;
}

.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.
 *--------------------------------------------------------------------------------------------*/

/* 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,
.chat-attached-context-attachment .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 {
	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 .hoverHighlight {
	background-color: var(--vscode-editor-hoverHighlightBackground);
}

.monaco-editor .monaco-resizable-hover {
	border: 1px solid var(--vscode-editorHoverWidget-border);
	border-radius: 3px;
	box-sizing: content-box;
}

.monaco-editor .monaco-resizable-hover > .monaco-hover {
	border: none;
	border-radius: none;
}

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

.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-with-copy {
	position: relative;
	padding-right: 20px;
}

.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 {
	border-right: 1px solid var(--vscode-editorHoverWidget-border);
	width: 22px;
	overflow-y: clip;
}

.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner {
	display: flex;
	flex-direction: column;
	padding-left: 5px;
	padding-right: 5px;
	justify-content: flex-end;
	position: relative;
}

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

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

.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner .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);
}

.monaco-editor .monaco-hover .hover-copy-button {
	position: absolute;
	top: 4px;
	right: 4px;
	padding: 2px 4px;
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
}

.monaco-editor .monaco-hover .hover-row-with-copy:hover .hover-copy-button,
.monaco-editor .monaco-hover .hover-row-with-copy:focus-within .hover-copy-button {
	opacity: 1;
}

.monaco-editor .monaco-hover .hover-copy-button:hover {
	background-color: var(--vscode-toolbar-hoverBackground);
	cursor: pointer;
}

.monaco-editor .monaco-hover .hover-copy-button:focus {
	outline: 1px solid var(--vscode-focusBorder);
	outline-offset: -1px;
}

.monaco-editor .monaco-hover .hover-copy-button .codicon {
	font-size: 16px;
	color: var(--vscode-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 .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.
 *--------------------------------------------------------------------------------------------*/
.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-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,
.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,
.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,
.monaco-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: var(--vscode-editor-foldPlaceholderForeground);
	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 .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:focus {
	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 4px 5px;
}

.monaco-editor .suggest-details.detail-and-doc > .monaco-scrollable-element > .body > .header > .type {
	padding-bottom: 12px;
}

.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 .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 .suggest-preview-text.clickable .view-line {
	z-index: 1;
}

.monaco-editor .ghost-text-decoration.clickable,
.monaco-editor .ghost-text-decoration-preview.clickable,
.monaco-editor .suggest-preview-text.clickable .ghost-text {
	cursor: pointer;
}

.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 {
	&.syntax-highlighted {
		opacity: 0.7;
	}
	&:not(.syntax-highlighted) {
		color: var(--vscode-editorGhostText-foreground);
	}
	background-color: var(--vscode-editorGhostText-background);
	border: 1px solid var(--vscode-editorGhostText-border);
}

.monaco-editor .ghost-text-decoration.warning,
.monaco-editor .ghost-text-decoration-preview.warning,
.monaco-editor .suggest-preview-text .ghost-text.warning {
	background: var(--monaco-editor-warning-decoration) repeat-x bottom left;
	border-bottom: 4px double var(--vscode-editorWarning-border);
}

.ghost-text-view-warning-widget-icon {
	.codicon {
		color: var(--vscode-editorWarning-foreground) !important;
	}
}

.monaco-editor {
	.edits-fadeout-decoration {
		opacity: var(--animation-opacity, 1);
		background-color: var(--vscode-inlineEdit-modifiedChangedTextBackground);
	}
}
/*---------------------------------------------------------------------------------------------
 *  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;
	border-bottom: 1px solid var(--vscode-editorStickyScroll-border);
	width: 100%;
	box-shadow: var(--vscode-editorStickyScroll-shadow) 0 4px 2px -2px;
	z-index: 4;
	right: initial !important;
	margin-left: '0px';
}

.monaco-editor .sticky-widget .sticky-widget-line-numbers {
	float: left;
	background-color: var(--vscode-editorStickyScrollGutter-background);
}

.monaco-editor .sticky-widget.peek .sticky-widget-line-numbers {
	background-color: var(--vscode-peekViewEditorStickyScrollGutter-background);
}

.monaco-editor .sticky-widget .sticky-widget-lines-scrollable {
	display: inline-block;
	position: absolute;
	overflow: hidden;
	width: var(--vscode-editorStickyScroll-scrollableWidth);
	background-color: var(--vscode-editorStickyScroll-background);
}

.monaco-editor .sticky-widget.peek .sticky-widget-lines-scrollable {
	background-color: var(--vscode-peekViewEditorStickyScroll-background);
}

.monaco-editor .sticky-widget .sticky-widget-lines {
	position: absolute;
	background-color: inherit;
}

.monaco-editor .sticky-widget .sticky-line-number,
.monaco-editor .sticky-widget .sticky-line-content {
	color: var(--vscode-editorLineNumber-foreground);
	white-space: nowrap;
	display: inline-block;
	position: absolute;
	background-color: inherit;
}

.monaco-editor .sticky-widget .sticky-line-number .codicon-folding-expanded,
.monaco-editor .sticky-widget .sticky-line-number .codicon-folding-collapsed {
	float: right;
	transition: var(--vscode-editorStickyScroll-foldingOpacityTransition);
	position: absolute;
	margin-left: 2px;
}

.monaco-editor .sticky-widget .sticky-line-content {
	width: var(--vscode-editorStickyScroll-scrollableWidth);
	background-color: inherit;
	white-space: nowrap;
}

.monaco-editor .sticky-widget .sticky-line-number-inner {
	display: inline-block;
	text-align: right;
}

.monaco-editor .sticky-widget .sticky-line-content:hover {
	background-color: var(--vscode-editorStickyScrollHover-background);
	cursor: pointer;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/*
	@keyframes blink { 50% { border-color: orange; }  }
*/

.monaco-editor {
	.inline-edits-view-indicator {
		display: flex;

		z-index: 34; /* Below the find widget */
		height: 20px;

		color: var(--vscode-inlineEdit-gutterIndicator-primaryForeground);
		background-color: var(--vscode-inlineEdit-gutterIndicator-background);
		border: 1px solid var(--vscode-inlineEdit-gutterIndicator-primaryBorder);
		border-radius: 3px;

		align-items: center;
		padding: 2px;
		padding-right: 10px;
		margin: 0 4px;

		/*
		animation: blink 1s;
		animation-iteration-count: 3;
		*/

		opacity: 0;

		&.contained {
			transition: opacity 0.2s ease-in-out;
			transition-delay: 0.4s;
		}

		&.visible {
			opacity: 1;
		}

		&.top {
			opacity: 1;

			.icon {
				transform: rotate(90deg);
			}
		}

		&.bottom {
			opacity: 1;

			.icon {
				transform: rotate(-90deg);
			}
		}

		.icon {
			display: flex;
			align-items: center;
			margin: 0 2px;
			transform: none;
			transition: transform 0.2s ease-in-out;
			.codicon {
				color: var(--vscode-inlineEdit-gutterIndicator-primaryForeground);
			}
		}

		.label {
			margin: 0 2px;

			display: flex;
			justify-content: center;
			width: 100%;
		}
	}

	.inline-edits-view .editorContainer {
		.preview .monaco-editor {
			.view-overlays .current-line-exact {
				border: none;
			}

			.current-line-margin {
				border: none;
			}
		}

		.inline-edits-view-zone.diagonal-fill {
			opacity: 0.5;
		}
	}

	.strike-through {
		text-decoration: line-through;
	}

	.inlineCompletions-line-insert {
		background: var(--vscode-inlineEdit-modifiedChangedLineBackground);
	}

	.inlineCompletions-line-delete {
		background: var(--vscode-inlineEdit-originalChangedLineBackground);
	}

	.inlineCompletions-char-insert {
		background: var(--vscode-inlineEdit-modifiedChangedTextBackground);
		cursor: pointer;
	}

	.inlineCompletions-char-delete {
		background: var(--vscode-inlineEdit-originalChangedTextBackground);
	}

	.inlineCompletions-char-delete.diff-range-empty {
		margin-left: -1px;
		border-left: solid var(--vscode-inlineEdit-originalChangedTextBackground) 3px;
	}

	.inlineCompletions-char-insert.diff-range-empty {
		border-left: solid var(--vscode-inlineEdit-modifiedChangedTextBackground) 3px;
	}

	.inlineCompletions-char-delete.single-line-inline { /* Editor Decoration */
		border: 1px solid var(--vscode-editorHoverWidget-border);
		margin: -2px 0 0 -2px;
	}

	.inlineCompletions-char-insert.single-line-inline { /* Inline Decoration */
		border-top: 1px solid var(--vscode-inlineEdit-modifiedBorder); /* TODO: Do not set border inline but create overlaywidget (like deletion view) */
		border-bottom: 1px solid var(--vscode-inlineEdit-modifiedBorder); /* TODO: Do not set border inline but create overlaywidget (like deletion view) */
	}
	.inlineCompletions-char-insert.single-line-inline.start {
		border-top-left-radius: 4px;
		border-bottom-left-radius: 4px;
		border-left: 1px solid var(--vscode-inlineEdit-modifiedBorder); /* TODO: Do not set border inline but create overlaywidget (like deletion view) */
	}
	.inlineCompletions-char-insert.single-line-inline.end {
		border-top-right-radius: 4px;
		border-bottom-right-radius: 4px;
		border-right: 1px solid var(--vscode-inlineEdit-modifiedBorder); /* TODO: Do not set border inline but create overlaywidget (like deletion view) */
	}

	.inlineCompletions-char-delete.single-line-inline.empty,
	.inlineCompletions-char-insert.single-line-inline.empty {
		display: none;
	}

	.inlineCompletions.strike-through {
		text-decoration-thickness: 1px;
	}

	/* line replacement bubbles */

	.inlineCompletions-modified-bubble {
		background: var(--vscode-inlineEdit-modifiedChangedTextBackground);
	}

	.inlineCompletions-original-bubble {
		background: var(--vscode-inlineEdit-originalChangedTextBackground);
	}

	.inlineCompletions-modified-bubble,
	.inlineCompletions-original-bubble {
		pointer-events: none;
		display: inline-block;
	}

	.inline-edit.ghost-text,
	.inline-edit.ghost-text-decoration,
	.inline-edit.ghost-text-decoration-preview,
	.inline-edit.suggest-preview-text .ghost-text {
		&.syntax-highlighted {
			opacity: 1 !important;
		}
		font-style: normal !important;
	}

	.inline-edit.modified-background.ghost-text,
	.inline-edit.modified-background.ghost-text-decoration,
	.inline-edit.modified-background.ghost-text-decoration-preview,
	.inline-edit.modified-background.suggest-preview-text .ghost-text {
		background: var(--vscode-inlineEdit-modifiedChangedTextBackground) !important;
		display: inline-block !important;
	}

	.inlineCompletions-original-lines {
		background: var(--vscode-editor-background);
	}
}

.monaco-menu-option {
	color: var(--vscode-editorActionList-foreground);
	font-size: 13px;
	padding: 0 4px;
	line-height: 28px;
	display: flex;
	gap: 4px;
	align-items: center;
	border-radius: 3px;
	cursor: pointer;

	.monaco-keybinding-key {
		font-size: 13px;
		opacity: 0.7;
	}

	&.active {
		background: var(--vscode-editorActionList-focusBackground);
		color: var(--vscode-editorActionList-focusForeground);
		outline: 1px solid var(--vscode-menu-selectionBorder, transparent);
		outline-offset: -1px;

		.monaco-keybinding-key {
			color: var(--vscode-editorActionList-focusForeground);
		}
	}
}
/*---------------------------------------------------------------------------------------------
 *  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.
 *--------------------------------------------------------------------------------------------*/


.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 {
	.scroll-editor-on-middle-click-dot {
		cursor: all-scroll;
		position: absolute;
		z-index: 1;
		background-color: var(--vscode-editor-foreground, white);
		border: 1px solid var(--vscode-editor-background, black);
		opacity: 0.5;
		width: 5px;
		height: 5px;
		border-radius: 50%;
		transform: translate(-50%, -50%);

		&.hidden {
			display: none;
		}
	}

	&.scroll-editor-on-middle-click-editor * {
		cursor: all-scroll;
	}
}
/*---------------------------------------------------------------------------------------------
 *  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 .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 .code {
	font-family: var(--vscode-parameterHintsWidget-editorFontFamily), var(--vscode-parameterHintsWidget-editorFontFamilyDefault);
}

.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 {
	.editorPlaceholder {
		top: 0px;
		position: absolute;
		overflow: hidden;
		text-overflow: ellipsis;
		text-wrap: nowrap;
		pointer-events: none;

		color: var(--vscode-editor-placeholder-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 .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 .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.
 *--------------------------------------------------------------------------------------------*/

.floating-menu-overlay-widget {
	padding: 0px;
	color: var(--vscode-button-foreground);
	background-color: var(--vscode-button-background);
	border-radius: 2px;
	border: 1px solid var(--vscode-contrastBorder);
	display: flex;
	align-items: center;
	z-index: 10;
	box-shadow: 0 2px 8px var(--vscode-widget-shadow);
	overflow: hidden;

	.action-item > .action-label {
		padding: 5px;
		font-size: 12px;
		border-radius: 2px;
	}

	.action-item > .action-label.codicon {
		color: var(--vscode-button-foreground);
	}

	.action-item > .action-label.codicon:not(.separator) {
		padding-top: 6px;
		padding-bottom: 6px;
	}

	.action-item:first-child > .action-label {
		padding-left: 7px;
	}

	.action-item:last-child > .action-label {
		padding-right: 7px;
	}

	.action-item .action-label.separator {
		background-color: var(--vscode-menu-separatorBackground);
	}
}
/*---------------------------------------------------------------------------------------------
 *  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);
}
/* Card view styles - migrated from old CSS */
.session-history-card {
  display: flex;
  gap: 0.75rem;
  padding: 1rem;
  background-color: var(--nim-bg-secondary);
  border: 1px solid var(--nim-border);
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.15s ease;
  min-height: 110px;
}
.session-history-card:hover {
  background-color: var(--nim-bg-hover);
  border-color: var(--nim-primary);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.session-history-card.active {
  background-color: var(--nim-bg-selected);
  border-color: var(--nim-primary);
  box-shadow: 0 0 0 1px var(--nim-primary);
}
.session-history-card.archived {
  opacity: 0.6;
}
.session-history-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 0.375rem;
  background-color: var(--nim-bg-tertiary);
  color: var(--nim-text-muted);
  transition: all 0.15s ease;
  position: relative;
}
.session-history-card:hover .session-history-card-icon {
  background-color: var(--nim-bg);
}
.session-history-card.active .session-history-card-icon {
  background-color: var(--nim-primary);
  color: var(--nim-on-primary);
}
.session-history-card-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
}
.session-history-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
}
.session-history-card-title {
  flex: 1;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--nim-text);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 1.3;
}
.session-history-card-badges {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
}
.session-history-card-pin-icon {
  flex-shrink: 0;
  color: var(--nim-primary);
  opacity: 0.7;
}
.session-history-card-archive-badge {
  font-size: 0.625rem;
  padding: 2px 6px;
  background-color: color-mix(in srgb, var(--nim-text-faint) 15%, transparent);
  color: var(--nim-text-faint);
  border-radius: 3px;
  font-weight: 500;
  text-transform: lowercase;
}
.session-history-card-info {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: var(--nim-text-muted);
  margin-top: auto;
}
.session-history-card-branch {
  font-family: var(--nim-font-mono);
  padding: 3px 8px;
  background-color: var(--nim-bg-tertiary);
  border-radius: 4px;
  font-size: 0.6875rem;
  align-self: flex-start;
  font-weight: 500;
}
.session-history-card-count {
  opacity: 0.9;
  font-weight: 500;
}
.session-history-card-meta {
  opacity: 0.9;
  font-weight: 500;
}
.session-history-card-uncommitted {
  color: var(--nim-warning);
  font-weight: 500;
}
.session-history-card-uncommitted-badge {
  padding: 2px 6px;
  background-color: color-mix(in srgb, var(--nim-warning) 15%, transparent);
  color: var(--nim-warning);
  border-radius: 3px;
  font-size: 0.6875rem;
  font-weight: 500;
}
.session-history-card-status {
  font-size: 0.6875rem;
  color: var(--nim-text-faint);
  font-family: var(--nim-font-mono);
  margin-top: 0.25rem;
  font-weight: 500;
}
.session-history-card-git-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-bottom: 0.25rem;
}
.session-history-card-git-badge {
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 0.625rem;
  font-weight: 500;
}
.session-history-card-git-badge.ahead {
  background-color: color-mix(in srgb, var(--nim-primary) 15%, transparent);
  color: var(--nim-primary);
}
.session-history-card-git-badge.behind {
  background-color: color-mix(in srgb, var(--nim-warning) 15%, transparent);
  color: var(--nim-warning);
}
.session-history-card-git-badge.uncommitted {
  background-color: color-mix(in srgb, var(--nim-warning) 15%, transparent);
  color: var(--nim-warning);
}
.session-history-card-provider {
  text-transform: capitalize;
  opacity: 0.8;
  font-size: 0.6875rem;
}
.session-history-card-timestamp {
  opacity: 0.7;
  font-size: 0.6875rem;
}
.session-history-card-loaded-dot {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 8px;
  height: 8px;
  background-color: var(--nim-primary);
  border-radius: 50%;
  border: 2px solid var(--nim-bg-secondary);
}
.session-card-status-indicator {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.session-card-status-indicator.waiting-for-input {
  color: var(--nim-warning);
  animation: gentle-pulse 2s ease-in-out infinite;
}
@keyframes gentle-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
.session-card-status-icon {
  display: block;
}
.session-card-status-icon.spinning {
  animation: spin 1s linear infinite;
}
.session-card-status-icon.pulsing {
  animation: pulse 2s ease-in-out infinite;
}
.session-card-status-dot {
  width: 8px;
  height: 8px;
  background-color: var(--nim-primary);
  border-radius: 50%;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.fixed-tab-header-container {
  display: flex;
  flex-direction: column;
  width: 100%;
}
/**
 * Tracker Mode's detail pane. The shared chip row caps its height so a document
 * header stays compact; this pane is a scrolling inspector, so its chips wrap
 * for as many rows as the item's schema needs.
 */

.tracker-field-pills.tracker-detail-field-pills {
  max-height: none;
}
:root{--diff-background-color:initial;--diff-text-color:initial;--diff-font-family:Consolas,Courier,monospace;--diff-selection-background-color:#b3d7ff;--diff-selection-text-color:var(--diff-text-color);--diff-gutter-insert-background-color:#d6fedb;--diff-gutter-insert-text-color:var(--diff-text-color);--diff-gutter-delete-background-color:#fadde0;--diff-gutter-delete-text-color:var(--diff-text-color);--diff-gutter-selected-background-color:#fffce0;--diff-gutter-selected-text-color:var(--diff-text-color);--diff-code-insert-background-color:#eaffee;--diff-code-insert-text-color:var(--diff-text-color);--diff-code-delete-background-color:#fdeff0;--diff-code-delete-text-color:var(--diff-text-color);--diff-code-insert-edit-background-color:#c0dc91;--diff-code-insert-edit-text-color:var(--diff-text-color);--diff-code-delete-edit-background-color:#f39ea2;--diff-code-delete-edit-text-color:var(--diff-text-color);--diff-code-selected-background-color:#fffce0;--diff-code-selected-text-color:var(--diff-text-color);--diff-omit-gutter-line-color:#cb2a1d;}.diff{background-color:var(--diff-background-color);border-collapse:collapse;color:var(--diff-text-color);table-layout:fixed;width:100%;}.diff::-moz-selection{background-color:#b3d7ff;background-color:var(--diff-selection-background-color);color:var(--diff-text-color);color:var(--diff-selection-text-color);}.diff::selection{background-color:#b3d7ff;background-color:var(--diff-selection-background-color);color:var(--diff-text-color);color:var(--diff-selection-text-color);}.diff td{padding-bottom:0;padding-top:0;vertical-align:top;}.diff-line{font-family:Consolas,Courier,monospace;font-family:var(--diff-font-family);line-height:1.5;}.diff-gutter>a{color:inherit;display:block;}.diff-gutter{cursor:pointer;padding:0 1ch;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;}.diff-gutter-insert{background-color:#d6fedb;background-color:var(--diff-gutter-insert-background-color);color:var(--diff-text-color);color:var(--diff-gutter-insert-text-color);}.diff-gutter-delete{background-color:#fadde0;background-color:var(--diff-gutter-delete-background-color);color:var(--diff-text-color);color:var(--diff-gutter-delete-text-color);}.diff-gutter-omit{cursor:default;}.diff-gutter-selected{background-color:#fffce0;background-color:var(--diff-gutter-selected-background-color);color:var(--diff-text-color);color:var(--diff-gutter-selected-text-color);}.diff-code{word-wrap:break-word;padding:0 0 0 .5em;white-space:pre-wrap;word-break:break-all;}.diff-code-edit{color:inherit;}.diff-code-insert{background-color:#eaffee;background-color:var(--diff-code-insert-background-color);color:var(--diff-text-color);color:var(--diff-code-insert-text-color);}.diff-code-insert .diff-code-edit{background-color:#c0dc91;background-color:var(--diff-code-insert-edit-background-color);color:var(--diff-text-color);color:var(--diff-code-insert-edit-text-color);}.diff-code-delete{background-color:#fdeff0;background-color:var(--diff-code-delete-background-color);color:var(--diff-text-color);color:var(--diff-code-delete-text-color);}.diff-code-delete .diff-code-edit{background-color:#f39ea2;background-color:var(--diff-code-delete-edit-background-color);color:var(--diff-text-color);color:var(--diff-code-delete-edit-text-color);}.diff-code-selected{background-color:#fffce0;background-color:var(--diff-code-selected-background-color);color:var(--diff-text-color);color:var(--diff-code-selected-text-color);}.diff-widget-content{vertical-align:top;}.diff-gutter-col{width:7ch;}.diff-gutter-omit{height:0;}.diff-gutter-omit:before{background-color:#cb2a1d;background-color:var(--diff-omit-gutter-line-color);content:" ";display:block;height:100%;margin-left:4.6ch;overflow:hidden;white-space:pre;width:2px;}.diff-decoration{line-height:1.5;-webkit-user-select:none;-moz-user-select:none;user-select:none;}.diff-decoration-content{font-family:Consolas,Courier,monospace;font-family:var(--diff-font-family);padding:0;}/**
 * Theming for PrFileDiff (react-diff-view) — maps the library's `--diff-*`
 * variables onto the nim palette and applies the active theme's Prism tokens.
 * All rules are scoped under `.pr-diff-view` so nothing leaks globally.
 */

.pr-diff-view {
  --diff-background-color: transparent;
  --diff-text-color: var(--nim-text);
  --diff-font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas,
    'Liberation Mono', monospace;

  /* Use the active theme's semantic diff colors. */
  --diff-gutter-insert-background-color: var(--nim-diff-add-bg);
  --diff-gutter-delete-background-color: var(--nim-diff-remove-bg);
  --diff-code-insert-background-color: var(--nim-diff-add-bg);
  --diff-code-delete-background-color: var(--nim-diff-remove-bg);
  --diff-code-insert-edit-background-color: color-mix(in srgb, var(--nim-success) 32%, transparent);
  --diff-code-delete-edit-background-color: color-mix(in srgb, var(--nim-error) 32%, transparent);
  --diff-selection-background-color: var(--nim-bg-active);

  font-size: 12px;
}

.pr-diff-view .diff {
  background-color: transparent;
}

/* Gutter (line numbers): de-emphasized, non-clickable cursor. */

.pr-diff-view .diff-gutter {
  color: var(--nim-text-faint);
  cursor: default;
}

.pr-diff-view .diff-gutter-insert,
.pr-diff-view .diff-gutter-delete {
  color: var(--nim-text-muted);
}

/* Hunk header (`@@ -a,b +c,d @@`) — a quiet section separator. */

.pr-diff-view .diff-hunk-header {
  background-color: var(--nim-bg-secondary);
  color: var(--nim-text-muted);
  border-top: 1px solid var(--nim-border);
  border-bottom: 1px solid var(--nim-border);
}

.pr-diff-view .diff-hunk-header-content {
  padding: 3px 0.75em;
  font-family: var(--diff-font-family);
  font-size: 11px;
}

.pr-diff-view .diff-hunk-header-gutter {
  background-color: var(--nim-bg-secondary);
}

/* Slightly tighter code cells; break only very long lines. */

.pr-diff-view .diff-code {
  padding: 0 0.5em;
  word-break: break-word;
}

/* Prism's default theme adds a translucent background to these tokens. Keep
   token backgrounds transparent so only react-diff-view marks edited text. */

.pr-diff-view .token.operator,
.pr-diff-view .token.entity,
.pr-diff-view .token.url,
.pr-diff-view .language-css .token.string,
.pr-diff-view .style .token.string {
  background: transparent;
}

/* ===== Theme-backed Prism token palette ===== */

.pr-diff-view .token.comment,
.pr-diff-view .token.prolog,
.pr-diff-view .token.doctype,
.pr-diff-view .token.cdata {
  color: var(--nim-code-comment);
  font-style: italic;
}

.pr-diff-view .token.punctuation {
  color: var(--nim-code-punctuation);
}

.pr-diff-view .token.keyword,
.pr-diff-view .token.rule,
.pr-diff-view .token.important,
.pr-diff-view .token.atrule {
  color: var(--nim-code-attr);
}

.pr-diff-view .token.operator,
.pr-diff-view .token.entity,
.pr-diff-view .token.url {
  color: var(--nim-code-operator);
}

.pr-diff-view .token.string,
.pr-diff-view .token.char,
.pr-diff-view .token.attr-value,
.pr-diff-view .token.regex {
  color: var(--nim-code-selector);
}

.pr-diff-view .token.number,
.pr-diff-view .token.boolean,
.pr-diff-view .token.constant,
.pr-diff-view .token.symbol {
  color: var(--nim-code-property);
}

.pr-diff-view .token.property,
.pr-diff-view .token.tag .token.punctuation {
  color: var(--nim-code-property);
}

.pr-diff-view .token.function,
.pr-diff-view .token.class-name,
.pr-diff-view .token.attr-name {
  color: var(--nim-code-function);
}

.pr-diff-view .token.tag,
.pr-diff-view .token.selector,
.pr-diff-view .token.builtin {
  color: var(--nim-code-selector);
}

.pr-diff-view .token.variable,
.pr-diff-view .token.namespace {
  color: var(--nim-code-variable);
}

.pr-diff-view .token.deleted {
  color: var(--nim-error);
}

.pr-diff-view .token.inserted {
  color: var(--nim-success);
}
/**
 * Board card affordances: the milestone chip, the staleness chip, their popovers,
 * and the multi-select checkbox. Colors come from the canonical --nim-* variables
 * so every theme is covered.
 */

.tracker-card-chip {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  max-width: 100%;
  padding: 1px 5px;
  border: 1px solid var(--nim-border);
  border-radius: 4px;
  background: transparent;
  color: var(--nim-text-muted);
  font-size: 10px;
  line-height: 1.4;
  cursor: pointer;
}

.tracker-card-chip:hover {
  background: var(--nim-bg-hover);
  color: var(--nim-text);
}

.tracker-card-chip-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* An unplaced card reads as an invitation rather than a value. */

.tracker-card-chip-empty {
  border-style: dashed;
  color: var(--nim-text-faint);
}

.tracker-card-chip-drift {
  border-color: var(--nim-warning);
  color: var(--nim-warning);
}

.tracker-card-chip-drift:hover {
  background: var(--nim-bg-hover);
  color: var(--nim-warning);
}

/* Shared popover shell for both card chips. */

.tracker-card-popover {
  z-index: 60;
  min-width: 240px;
  max-width: 340px;
  overflow: auto;
  padding: 8px;
  border: 1px solid var(--nim-border);
  border-radius: 6px;
  background: var(--nim-bg-secondary);
  box-shadow: 0 8px 24px rgb(0 0 0 / 35%);
  color: var(--nim-text);
  font-size: 12px;
}

.tracker-milestone-picker-heading,
.tracker-card-drift-headline {
  margin-bottom: 6px;
  color: var(--nim-text);
  font-size: 12px;
  font-weight: 600;
}

.tracker-milestone-picker-footer {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid var(--nim-border);
}

.tracker-milestone-picker-unavailable {
  padding: 6px;
  color: var(--nim-text-muted);
}

.tracker-milestone-picker-search {
  width: 100%;
  padding: 5px 8px;
  border: 1px solid var(--nim-border);
  border-radius: 4px;
  background: var(--nim-bg);
  color: var(--nim-text);
  font: inherit;
  font-size: 12px;
}

.tracker-milestone-picker-search:focus {
  border-color: var(--nim-primary);
  outline: none;
}

.tracker-milestone-picker-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-height: 260px;
  margin-top: 8px;
  overflow-y: auto;
}

.tracker-milestone-picker-row {
  display: flex;
  align-items: center;
  gap: 2px;
}

.tracker-milestone-picker-option {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 7px;
  padding: 6px 8px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--nim-text);
  font: inherit;
  font-size: 12px;
  text-align: left;
  cursor: pointer;
}

.tracker-milestone-picker-option-active {
  background: var(--nim-bg-hover);
}

.tracker-milestone-picker-option:disabled {
  cursor: default;
  opacity: 0.5;
}

.tracker-milestone-picker-option-icon {
  flex: none;
  color: var(--nim-text-faint);
}

.tracker-milestone-picker-option-label {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Some-but-not-all: a count, deliberately not a checkmark, because clicking
   this row still assigns the whole selection rather than undoing anything. */

.tracker-milestone-picker-option-partial {
  flex: none;
  padding: 0 4px;
  border: 1px solid var(--nim-border);
  border-radius: 999px;
  color: var(--nim-text-muted);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

.tracker-milestone-picker-option-open {
  display: inline-flex;
  flex: none;
  align-items: center;
  padding: 4px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--nim-text-faint);
  cursor: pointer;
}

.tracker-milestone-picker-option-open:hover {
  background: var(--nim-bg-hover);
  color: var(--nim-text);
}

.tracker-milestone-picker-empty {
  padding: 8px;
  color: var(--nim-text-faint);
  font-size: 12px;
  font-style: italic;
}

.tracker-milestone-picker-error {
  margin-top: 6px;
  color: var(--nim-error);
  font-size: 11px;
}

.tracker-card-drift-note {
  margin-bottom: 8px;
  color: var(--nim-text-muted);
  line-height: 1.5;
}

.tracker-card-drift-evidence-label {
  margin-bottom: 2px;
  color: var(--nim-text-faint);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.tracker-card-drift-evidence-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 8px;
  /* Shas and session ids exist to be copied into a git or session lookup. */
  -webkit-user-select: text;
     -moz-user-select: text;
          user-select: text;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px;
}

.tracker-card-select-checkbox {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  margin-top: 2px;
  flex-shrink: 0;
  border: 1px solid var(--nim-border);
  border-radius: 3px;
  background: var(--nim-bg);
  color: transparent;
  cursor: pointer;
}

.tracker-kanban-card:hover .tracker-card-select-checkbox,
.tracker-card-select-checkbox:focus-visible {
  border-color: var(--nim-border-focus);
}

.tracker-card-select-checkbox-checked {
  border-color: var(--nim-primary);
  background: var(--nim-primary);
  color: #fff;
}

/* Unchecked boxes stay out of the way until the card is hovered or focused. */

.tracker-card-select-checkbox-unchecked {
  opacity: 0;
}

.tracker-kanban-card:hover .tracker-card-select-checkbox-unchecked,
.tracker-card-select-checkbox-unchecked:focus-visible {
  opacity: 1;
}

.tracker-board-selection-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-top: 1px solid var(--nim-border);
  background: var(--nim-bg-secondary);
  font-size: 12px;
}

.tracker-board-selection-bar-count {
  color: var(--nim-text);
  font-weight: 600;
}

.tracker-board-selection-bar-hint {
  color: var(--nim-text-faint);
}

.tracker-board-selection-bar-status {
  color: var(--nim-text-muted);
}
/**
 * RevoGrid theming for the tracker grid.
 *
 * RevoGrid ships light-only default themes, so every surface color is remapped
 * onto the canonical `--nim-*` tokens; that keeps the grid correct in dark mode
 * and in any custom theme without a per-theme stylesheet.
 */

.tracker-grid-view,
.tracker-grid-view revo-grid {
  --revo-grid-primary: var(--nim-primary);
  --revo-grid-primary-transparent: color-mix(in srgb, var(--nim-primary) 75%, transparent);
  --revo-grid-background: var(--nim-bg);
  --revo-grid-foreground: var(--nim-text);
  --revo-grid-divider: var(--nim-border);
  --revo-grid-shadow: color-mix(in srgb, var(--nim-bg) 55%, transparent);
  --revo-grid-text: var(--nim-text);
  --revo-grid-border: var(--nim-border);
  --revo-grid-header-bg: var(--nim-bg-secondary);
  --revo-grid-header-color: var(--nim-text-muted);
  --revo-grid-header-border: var(--nim-border);
  --revo-grid-cell-border: var(--nim-border);
  --revo-grid-focused-bg: color-mix(in srgb, var(--nim-primary) 10%, var(--nim-bg));
  --revo-grid-row-hover: var(--nim-bg-hover);
  --revo-grid-cell-disabled-bg: color-mix(in srgb, var(--nim-bg-secondary) 55%, transparent);
}

.tracker-grid-view revo-grid {
  height: 100%;
  width: 100%;
  font-size: 12px;
  font-family: inherit;
  color: var(--nim-text);
  background: var(--nim-bg);
  border: 0;
}

/* Header */

.tracker-grid-view revogr-header {
  background: var(--nim-bg-secondary);
  color: var(--nim-text-muted);
  font-weight: 600;
  font-size: 11px;
  line-height: 32px;
  border-bottom: 1px solid var(--nim-border);
}

.tracker-grid-view revogr-header .header-rgRow {
  height: 32px;
}

.tracker-grid-view revogr-header .rgHeaderCell {
  border-right: 1px solid var(--nim-border);
  padding: 0 10px;
  display: flex;
  align-items: center;
}

/* Data cells */

.tracker-grid-view .rgCell {
  border-right: 1px solid var(--nim-border);
  border-bottom: 1px solid var(--nim-border);
  padding: 0 10px;
  display: flex;
  align-items: center;
  color: var(--nim-text);
  background: var(--nim-bg);
}

.tracker-grid-view .rgRow:hover .rgCell {
  background: var(--nim-bg-hover);
}

/* Focus + range selection */

.tracker-grid-view revogr-focus {
  border: 2px solid var(--nim-primary);
}

.tracker-grid-view revogr-temp-range,
.tracker-grid-view .selection-border-range {
  border: 1px solid var(--nim-primary);
  background: color-mix(in srgb, var(--nim-primary) 12%, transparent);
}

/*
 * Drag-to-clone is removed: the handle sits a few pixels from the cell you reach
 * for when extending a selection, and one stray drag rewrites a whole column of
 * tracker items with no undo. Hiding it also stops the drag, since
 * AutoFillService.selectionStart only arms on this element as the pointer target.
 * The `beforeautofill` guard in TrackerGridView is the belt to this suspenders.
 */

.tracker-grid-view revogr-overlay-selection .autofill-handle {
  display: none;
}

/* Readonly cells read as inert rather than merely uneditable */

.tracker-grid-view .rgCell[data-readonly='true'] {
  color: var(--nim-text-muted);
}

/* Cell content */

.tracker-grid-cell-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tracker-grid-cell-badge {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border-radius: 9999px;
  border: 1px solid transparent;
  font-size: 11px;
  line-height: 16px;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tracker-grid-cell-tags {
  display: inline-flex;
  gap: 4px;
  overflow: hidden;
}

/* Title cell: favorite star + text, matching the list view's affordance. */

.tracker-grid-cell-title {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.tracker-grid-cell-title > .tracker-grid-cell-text {
  flex: 1 1 auto;
  min-width: 0;
}

.tracker-grid-cell-favorite {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  cursor: pointer;
  color: var(--nim-text-faint);
  opacity: 0.35;
  transition: opacity 120ms ease, color 120ms ease;
}

.tracker-grid-cell-favorite.is-favorite,
.tracker-grid-cell-favorite:hover {
  opacity: 1;
}

.tracker-grid-cell-favorite.is-favorite {
  color: var(--nim-warning, #f59e0b);
}

.tracker-grid-cell-favorite-icon {
  font-size: 14px;
  line-height: 1;
}

.tracker-grid-cell-menu {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--nim-text-faint);
  cursor: pointer;
  opacity: 0.45;
  transition: opacity 120ms ease, color 120ms ease, background-color 120ms ease;
}

.tracker-grid-view .rgRow:hover .tracker-grid-cell-menu,
.tracker-grid-cell-menu:hover,
.tracker-grid-cell-menu:focus-visible {
  opacity: 1;
}

.tracker-grid-cell-menu:hover,
.tracker-grid-cell-menu:focus-visible {
  color: var(--nim-text);
  background: var(--nim-bg-hover);
  outline: none;
}

.tracker-grid-cell-menu-icon {
  font-size: 17px;
  line-height: 1;
}

.tracker-grid-cell-menu-title {
  opacity: 0;
}

.tracker-grid-view .rgRow:hover .tracker-grid-cell-menu-title,
.tracker-grid-cell-menu-title:hover,
.tracker-grid-cell-menu-title:focus-visible {
  opacity: 1;
}

/* Editors */

.tracker-grid-editor-input,
.tracker-grid-editor-select {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 0 6px;
  border: none;
  outline: 2px solid var(--nim-primary);
  outline-offset: -2px;
  background: var(--nim-bg);
  color: var(--nim-text);
  font-size: 12px;
  font-family: inherit;
}

.tracker-grid-editor-checkbox {
  margin: 0 6px;
  accent-color: var(--nim-primary);
}

/* Column header: label plus compact sort/filter affordances */

.tracker-grid-header {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 100%;
  min-width: 0;
}

.tracker-grid-header-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tracker-grid-header-actions {
  display: inline-flex;
  align-items: center;
  gap: 1px;
  margin-left: auto;
  flex-shrink: 0;
}

/*
 * Header affordances collapse to zero width at rest so the label gets the full
 * column, then expand on hover (or when active). Otherwise the icon boxes
 * reserve layout width on every column and truncate short headers to "K…".
 */

.tracker-grid-header-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0;
  height: 15px;
  border-radius: 3px;
  cursor: pointer;
  line-height: 1;
  opacity: 0;
  overflow: hidden;
  color: var(--nim-text-faint);
  transition: color 120ms ease, opacity 120ms ease, width 120ms ease, background-color 120ms ease;
}

.tracker-grid-header:hover .tracker-grid-header-filter,
.tracker-grid-header-filter:focus-visible,
.tracker-grid-header-filter.is-filtered {
  width: 15px;
  opacity: 1;
}

.tracker-grid-header-filter:hover {
  color: var(--nim-text);
  background: var(--nim-bg-hover);
}

.tracker-grid-header-filter.is-filtered {
  color: var(--nim-primary);
  background: color-mix(in srgb, var(--nim-primary) 12%, transparent);
}

.tracker-grid-header-filter-icon {
  font-size: 11px;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;
}
/**
 * Tracker document view - focused reading/editing layout inside Tracker Mode.
 */

.tracker-document-view-list-pane {
  border-right: 1px solid var(--nim-border);
  background: var(--nim-bg-secondary);
  container-name: tracker-document-list-pane;
  container-type: inline-size;
}

.tracker-document-list-pane-header {
  background: var(--nim-bg-secondary);
}

.tracker-document-view-right-panel {
  border-left: 1px solid var(--nim-border);
  background: var(--nim-bg-secondary);
}

.tracker-document-view-header {
  container-name: tracker-document-header;
  container-type: inline-size;
}

/*
 * The chip row itself is shared (TrackerFieldPills.css in the runtime package).
 * Only the header's own width behaviour is scoped here.
 */

@container tracker-document-header (max-width: 720px) {
  .tracker-document-field-pills .tracker-field-pill {
    max-width: 140px;
  }

  .tracker-document-field-pills .tracker-field-pill-empty {
    max-width: 110px;
  }
}

/*
 * The list pane is deliberately narrow, so its rows have to give up the
 * comfortable padding they carry at full width.
 */

.tracker-document-view-list-pane .tracker-table-row {
  padding-left: 8px;
  padding-right: 8px;
}

/*
 * In the narrow document-list pane, reserve the first line for identity/meta
 * and give the title the entire second line. The ordinary Tracker list keeps
 * its single-row layout because this is scoped to the pane container.
 */

@container tracker-document-list-pane (max-width: 420px) {
  .tracker-document-view-list-pane .tracker-table-row {
    display: grid;
    grid-template-columns: 8px 24px 20px minmax(0, 1fr) auto auto;
    grid-template-rows: minmax(24px, auto) minmax(20px, auto);
    -moz-column-gap: 8px;
         column-gap: 8px;
    row-gap: 2px;
    align-items: center;
    padding-top: 7px;
    padding-bottom: 7px;
  }

  /*
   * Anything the rules below don't place explicitly still belongs on line 1.
   * Without this, a newly added row child auto-places into an implicit third
   * row and every row in the pane grows a band of empty space (NIM-2434).
   */
  .tracker-document-view-list-pane .tracker-table-row > * {
    grid-row: 1;
  }

  .tracker-document-view-list-pane .tracker-table-row > .tracker-unread-dot {
    grid-column: 1;
    grid-row: 1;
  }

  .tracker-document-view-list-pane .tracker-table-row > .tracker-favorite-star {
    grid-column: 2;
    grid-row: 1;
  }

  .tracker-document-view-list-pane .tracker-table-row > span.w-5 {
    grid-column: 3;
    grid-row: 1;
  }

  .tracker-document-view-list-pane .tracker-table-row > .tracker-table-cell.title {
    display: contents;
  }

  .tracker-document-view-list-pane .tracker-table-row > .tracker-table-cell.title > div {
    display: contents;
  }

  .tracker-document-view-list-pane .tracker-table-cell.title .font-mono {
    grid-column: 4;
    grid-row: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .tracker-document-view-list-pane .tracker-table-cell.title span:not(.font-mono) {
    grid-column: 1 / -1;
    grid-row: 2;
    min-width: 0;
  }

  .tracker-document-view-list-pane .tracker-table-cell.title > input {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .tracker-document-view-list-pane .tracker-table-row > .tracker-table-row-meta {
    grid-column: 5;
    grid-row: 1;
  }

  .tracker-document-view-list-pane .tracker-table-row > .tracker-row-more-actions {
    grid-column: 6;
    grid-row: 1;
  }
}
.team-management-window .org-window-drag-region {
  -webkit-app-region: drag;
}

.team-management-window .org-window-no-drag {
  -webkit-app-region: no-drag;
}

/*
 * `-webkit-app-region` is not inherited, and a drag rectangle swallows clicks
 * the OS decides are title-bar drags. The sidebar and the rail are drag regions
 * so their whitespace moves the window, which means every control painted
 * inside one has to subtract itself. Marking each by hand is one forgotten
 * class away from a dead button, so the interactive elements opt out by kind
 * as well.
 */

.team-management-window .org-window-drag-region button,
.team-management-window .org-window-drag-region a,
.team-management-window .org-window-drag-region input,
.team-management-window .org-window-drag-region textarea,
.team-management-window .org-window-drag-region select,
.team-management-window .org-window-drag-region [role='button'],
.team-management-window .org-window-drag-region [role='menuitem'],
.team-management-window .org-window-drag-region [contenteditable='true'] {
  -webkit-app-region: no-drag;
}

/*
 * The window's title bar: one full-width strip above the rail, the sidebar and
 * the main pane, and the window's primary drag handle. On macOS it also holds
 * the traffic lights (`titleBarStyle: hiddenInset`), so the left padding clears
 * the button cluster; `trafficLightPosition` in TeamManagementWindow.ts centres
 * them in this height. Other platforms keep their native title bar above it and
 * only need the ordinary gutter.
 */

.team-management-window .org-window-titlebar {
  height: 38px;
  padding-left: 12px;
}

.team-management-window-mac .org-window-titlebar {
  padding-left: 78px;
}
.org-switcher-button {
  position: relative;
}

.org-switcher-unread-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 17px;
  height: 17px;
  box-sizing: border-box;
  padding: 0 4px;
  color: #ffffff;
  background: var(--nim-error);
  border: 2px solid var(--nim-bg-secondary);
  border-radius: 9px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}

.org-switcher-org-avatar {
  border-radius: 7px;
}

.org-switcher-row-unread-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 17px;
  padding: 0 5px;
  color: #ffffff;
  background: var(--nim-error);
  border-radius: 9px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
}
.project-rail {
  width: 56px;
  height: 100%;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 0 8px;
  gap: 8px;
  background-color: var(--nim-bg-secondary, #1a1a1a);
  border-right: 1px solid var(--nim-border, rgba(255, 255, 255, 0.06));
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-app-region: no-drag;
}

.project-rail-item {
  /*
   * --rail-item-accent is set inline per project (see ProjectRail.tsx:
   * style={{ '--rail-item-accent': accentColor }}). It comes from
   * generateWorkspaceAccentColor(path) so the rail icon shares its color
   * with the workspace summary header bar. Falls back to --nim-primary so
   * the rail still looks correct if the inline variable is ever missing.
   */
  position: relative;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.project-rail-item-main {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--nim-bg-tertiary, #2a2a2a);
  color: var(--rail-item-accent, var(--nim-primary, #3b82f6));
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: 1.5px solid transparent;
  padding: 0;
  transition: border-radius 150ms ease, background-color 150ms ease,
    border-color 150ms ease, color 150ms ease, transform 150ms ease;
}

.project-rail-item-main:hover {
  border-radius: 14px;
  background-color: var(--rail-item-accent, var(--nim-primary, #3b82f6));
  color: #ffffff;
}

.project-rail-item.is-active .project-rail-item-main {
  border-radius: 14px;
  background-color: var(--rail-item-accent, var(--nim-primary, #3b82f6));
  color: #ffffff;
  border-color: transparent;
}

.project-rail-item.is-active::before {
  content: '';
  position: absolute;
  left: -10px;
  top: 8px;
  bottom: 8px;
  width: 4px;
  border-radius: 0 4px 4px 0;
  background-color: var(--rail-item-accent, var(--nim-text, #111827));
}

.project-rail-item-badge {
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  padding: 0;
  border-radius: 50%;
  background-color: var(--nim-primary, #3b82f6);
  border: 2px solid var(--nim-bg-secondary, #1a1a1a);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  color: var(--nim-on-primary, #ffffff);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.project-rail-item-close {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: var(--nim-bg-secondary, #1a1a1a);
  color: var(--nim-text, #111827);
  border: 1px solid var(--nim-border, rgba(255, 255, 255, 0.12));
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}

.project-rail-item:hover .project-rail-item-close {
  display: flex;
}

.project-rail-item-close:hover {
  background-color: var(--nim-error, #ef4444);
  color: #ffffff;
}

.project-rail-divider {
  width: 32px;
  height: 1px;
  background-color: var(--nim-border, rgba(255, 255, 255, 0.06));
  margin: 4px 0;
}

.project-rail-add {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  color: var(--nim-text-muted, #6b7280);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  border: 1px dashed var(--nim-border, rgba(255, 255, 255, 0.18));
  padding: 0;
  transition: border-radius 150ms ease, background-color 150ms ease, color 150ms ease;
}

.project-rail-add:hover:not(:disabled) {
  border-radius: 14px;
  border-style: solid;
  background-color: var(--nim-bg-tertiary, #2a2a2a);
  color: var(--nim-text, #111827);
}

.project-rail-add:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.project-rail-context-menu {
  position: fixed;
  /* The add menu now grows downward from the `+` button (`right-start`) and
     `windowControlsClearance()` keeps any rail popover out from under the OS
     window controls, so it no longer lands in the title bar (#1096). Keep the
     opt-out anyway — declared here as well as globally (see index.css) —
     because a menu shifted into the drag region is the surface issue #1052
     reported: on Windows the OS ate the click on "Open folder…". */
  -webkit-app-region: no-drag;
  min-width: 180px;
  background-color: var(--nim-bg-secondary, #1a1a1a);
  border: 1px solid var(--nim-border, rgba(255, 255, 255, 0.12));
  border-radius: 6px;
  padding: 4px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.32);
  z-index: 2000;
  display: flex;
  flex-direction: column;
}

.project-rail-context-menu-item {
  background: none;
  border: none;
  padding: 6px 12px;
  text-align: left;
  font-size: 13px;
  color: var(--nim-text, #111827);
  border-radius: 4px;
  cursor: pointer;
  white-space: nowrap;
}

.project-rail-context-menu-item:hover {
  background-color: var(--nim-primary, #3b82f6);
  color: var(--nim-on-primary, #ffffff);
}

.project-rail-context-menu-divider {
  height: 1px;
  background-color: var(--nim-border, rgba(255, 255, 255, 0.08));
  margin: 4px 6px;
}

.project-rail-context-menu-heading {
  padding: 6px 12px 2px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--nim-text-muted, #6b7280);
}

.project-rail-add-menu {
  min-width: 260px;
  max-width: 360px;
}

.project-rail-context-menu-item-recent {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-start;
}

.project-rail-context-menu-item-name {
  font-size: 13px;
  font-weight: 500;
}

.project-rail-context-menu-item-path {
  font-size: 11px;
  color: var(--nim-text-muted, #6b7280);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}

.project-rail-context-menu-item-recent:hover .project-rail-context-menu-item-path {
  color: rgba(255, 255, 255, 0.85);
}

/*
 * Tooltip is rendered through @floating-ui/react's FloatingPortal
 * (see ProjectRail.tsx) so it escapes `.project-rail`'s `overflow: hidden`
 * clip. Position + visibility are owned by floating-ui — these rules cover
 * appearance only.
 */

.project-rail-tooltip {
  padding: 6px 10px;
  background-color: var(--nim-bg-tertiary, #2a2a2a);
  color: var(--nim-text, #111827);
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  border-radius: 4px;
  border: 1px solid var(--nim-border, rgba(255, 255, 255, 0.12));
  pointer-events: none;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-width: 320px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.project-rail-tooltip-name {
  font-weight: 600;
  color: var(--nim-text, #111827);
}

.project-rail-tooltip-path {
  font-size: 11px;
  font-weight: 400;
  color: var(--nim-text-muted, #6b7280);
  overflow: hidden;
  text-overflow: ellipsis;
}

.window-menu-bar {
  display: flex;
  align-items: center;
  gap: 1px;
  min-width: 0;
  overflow: hidden;
}

.window-menu-bar__top-item {
  flex: 0 0 auto;
  height: 24px;
  margin: 0;
  padding: 0 7px;
  color: var(--nim-text-muted);
  background: transparent;
  border: 0;
  border-radius: 5px;
  font: inherit;
  font-size: 12px;
  white-space: nowrap;
  cursor: default;
}

.window-menu-bar__top-item:hover,
.window-menu-bar__top-item[data-open='true'] {
  color: var(--nim-text);
  background: var(--nim-bg-hover);
}

.window-menu-bar__top-item:focus-visible {
  outline: 2px solid var(--nim-border-focus);
  outline-offset: -2px;
}

.window-menu-bar__menu {
  z-index: 10000;
  display: flex;
  flex-direction: column;
  min-width: 200px;
  max-width: min(420px, calc(100vw - 24px));
  overflow-y: auto;
  padding: 4px;
  color: var(--nim-text);
  background: var(--nim-bg-secondary);
  border: 1px solid var(--nim-border);
  border-radius: 7px;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--nim-text) 16%, transparent);
}

.window-menu-bar__item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 26px;
  padding: 3px 8px 3px 4px;
  color: var(--nim-text);
  background: transparent;
  border: 0;
  border-radius: 5px;
  font: inherit;
  font-size: 12px;
  text-align: left;
  cursor: default;
}

.window-menu-bar__item:hover:not([data-disabled='true']),
.window-menu-bar__item:focus-visible,
.window-menu-bar__item[data-submenu-open='true'] {
  background: var(--nim-bg-hover);
  outline: none;
}

.window-menu-bar__item[data-disabled='true'] {
  color: var(--nim-text-disabled);
  cursor: default;
}

.window-menu-bar__item-check {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 16px;
  color: var(--nim-primary);
}

.window-menu-bar__item-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.window-menu-bar__item-accelerator {
  flex: 0 0 auto;
  padding-left: 16px;
  color: var(--nim-text-faint);
  font-size: 11px;
  white-space: nowrap;
}

.window-menu-bar__separator {
  height: 1px;
  margin: 4px 2px;
  background: var(--nim-border);
}
/* Inline-embed chrome and body. Lives inside a Lexical DecoratorNode, so
 * margins go on the outer container rather than on internal elements to
 * keep block flow predictable. */

.embed-frame {
  position: relative;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--nim-border);
  border-radius: 6px;
  overflow: hidden;
  background: var(--nim-bg);
  margin: 0.75em 0;
}

.embed-frame--resizing {
  /* While dragging a handle we want the embed body to ignore pointer
   * events so the embedded editor doesn't interpret the drag. */
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.embed-frame--resizing .embed-frame__body {
  pointer-events: none;
}

/* Editor wrapper. Establishes its own stacking context so Excalidraw's
 * internal z-indexes (which go up to 999999 for popovers) can't escape
 * and paint over the click-to-select shield. */

.embed-frame__editor-host {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  position: relative;
  isolation: isolate;
}

/* Click-to-select shield. Sits over the embedded editor whenever the
 * embed is not the active Lexical NodeSelection, swallowing pointer and
 * wheel events so scrolling over the embed scrolls the host document
 * (instead of, say, zooming Excalidraw). A single click selects the
 * node, the shield drops out, and the embedded editor receives input
 * directly until the user clicks elsewhere. */

.embed-frame__shield {
  position: absolute;
  inset: 0;
  z-index: 1;
  cursor: pointer;
  background: transparent;
}

/* Faint outline when this embed is the active NodeSelection -- mirrors
 * the affordance the image plugin gives selected images. */

.embed-frame--selected {
  outline: 2px solid color-mix(in srgb, var(--nim-primary, #60a5fa) 60%, transparent);
  outline-offset: -1px;
}

.embed-frame__chrome {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  background: var(--nim-bg-secondary);
  border-bottom: 1px solid var(--nim-border);
  font-size: 12px;
  color: var(--nim-text-muted);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.embed-frame__breadcrumb {
  flex: 1 1 auto;
}

.embed-frame__path {
  font-family: var(--nim-font-mono, ui-monospace, SFMono-Regular, monospace);
  color: var(--nim-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex-shrink: 1;
  min-width: 0;
}

.embed-frame__label {
  color: var(--nim-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex-shrink: 1;
  min-width: 0;
}

.embed-frame__label::before {
  content: '— ';
  color: var(--nim-text-faint);
}

.embed-frame__spacer {
  flex: 1 1 auto;
}

.embed-frame__edit-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: var(--nim-text);
  font-size: 12px;
  cursor: pointer;
}

.embed-frame__edit-btn:hover {
  background: var(--nim-bg-tertiary);
  border-color: var(--nim-border);
}

.embed-frame__mode-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 6px;
  margin-right: 2px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: var(--nim-text-muted);
  cursor: pointer;
}

.embed-frame__mode-btn:hover {
  background: var(--nim-bg-tertiary);
  border-color: var(--nim-border);
  color: var(--nim-text);
}

.embed-frame__mode-btn[data-mode='edit'] {
  color: var(--nim-primary, #60a5fa);
  background: color-mix(in srgb, var(--nim-primary, #60a5fa) 12%, transparent);
  border-color: color-mix(in srgb, var(--nim-primary, #60a5fa) 30%, transparent);
}

/* Tinted border in edit mode so it's obvious the embed has lit up its
 * editing UI. Edits autosave to the embedded file. */

.embed-frame--edit-mode {
  border-color: color-mix(in srgb, var(--nim-primary, #60a5fa) 35%, var(--nim-border));
}

/* Dirty dot next to the file path. Visible whenever the extension has
 * marked unsaved changes -- clears on the next autosave flush. */

.embed-frame__dirty-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--nim-warning, #fbbf24);
  flex-shrink: 0;
}

.embed-frame__body {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 120px;
  overflow: hidden;
  background: var(--nim-bg);
}

.embed-frame__body > * {
  flex: 1 1 auto;
  min-height: 0;
}

.embed-frame__body--placeholder {
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px;
  color: var(--nim-text-muted);
  text-align: center;
  height: auto !important;
}

.embed-frame__body--placeholder p {
  margin: 0;
  font-size: 13px;
}

.embed-frame__body--placeholder code {
  font-family: var(--nim-font-mono, ui-monospace, SFMono-Regular, monospace);
  padding: 2px 6px;
  background: var(--nim-bg-secondary);
  border-radius: 3px;
  font-size: 12px;
}

.embed-frame__loading {
  padding: 16px;
  text-align: center;
  color: var(--nim-text-muted);
  font-size: 12px;
}

.embed-frame__error {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  color: var(--nim-error);
  background: color-mix(in srgb, var(--nim-error) 10%, transparent);
  font-size: 13px;
}

.embed-frame__error-footer {
  padding: 6px 10px;
  font-size: 12px;
  color: var(--nim-error);
  background: color-mix(in srgb, var(--nim-error) 8%, transparent);
  border-top: 1px solid var(--nim-border);
}

/* Resize handles. Absolutely positioned on the edges of the embed
 * frame, sitting above the embedded editor's pointer events. Match the
 * image resizer's visual style: small, transparent by default, faint
 * highlight on hover, primary highlight while dragging. */

.embed-frame__resizer {
  position: absolute;
  background: transparent;
  z-index: 2;
  transition: background 120ms ease;
}

.embed-frame__resizer::before {
  /* Larger invisible hit-target so the handle is easy to grab without
   * making the visible affordance bigger. */
  content: '';
  position: absolute;
  inset: -4px;
}

.embed-frame__resizer:hover,
.embed-frame--resizing .embed-frame__resizer {
  background: var(--nim-primary, #60a5fa);
}

.embed-frame__resizer--e {
  top: 0;
  right: -1px;
  bottom: 0;
  width: 4px;
  cursor: ew-resize;
}

.embed-frame__resizer--s {
  left: 0;
  right: 0;
  bottom: -1px;
  height: 4px;
  cursor: ns-resize;
}

.embed-frame__resizer--se {
  right: -1px;
  bottom: -1px;
  width: 12px;
  height: 12px;
  cursor: nwse-resize;
  z-index: 3;
  background: var(--nim-border);
  border-top-left-radius: 4px;
}

.embed-frame__resizer--se:hover,
.embed-frame--resizing .embed-frame__resizer--se {
  background: var(--nim-primary, #60a5fa);
}

/* Fallback placeholder rendered by the runtime when no renderer is
 * registered (e.g. inside a share viewer before Phase 6 lands). */

.embedded-file-placeholder {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 12px;
  border: 1px dashed var(--nim-border);
  border-radius: 4px;
  background: var(--nim-bg-secondary);
  margin: 0.5em 0;
  font-size: 13px;
}

.embedded-file-placeholder__label {
  color: var(--nim-text);
}

.embedded-file-placeholder__path {
  font-family: var(--nim-font-mono, ui-monospace, SFMono-Regular, monospace);
  color: var(--nim-text-muted);
  font-size: 11px;
}
/* Import theme CSS - editor class styles and unified CSS variables (--nim-* prefix) */
/**
 * Nimbalyst Editor Theme CSS
 *
 * Lexical editor styles with unified `nim-` class prefixes.
 * Uses `--nim-*` CSS variables from NimbalystTheme.css for theming.
 *
 * This file contains:
 * - Base editor node styles
 * - Code block and syntax highlighting
 * - Table styles
 * - List styles
 * - Diff visualization
 * - Theme-specific overrides
 */
/* Import the unified theme CSS variables */
/**
 * Nimbalyst Unified Theme System
 *
 * This file defines the `--nim-*` CSS variables with DEFAULT (light theme) values.
 *
 * IMPORTANT: Theme colors are applied via inline styles on document.documentElement
 * by the theme system (useTheme.ts). This CSS only provides fallback defaults.
 *
 * DO NOT add theme-specific selectors like [data-theme="dark"] or .dark-theme here.
 * Those would override the inline styles set by the theme system, breaking custom themes.
 *
 * The naming follows CSS/Tailwind conventions:
 * - --nim-bg: Main background (matches Tailwind's `bg-*`)
 * - --nim-text: Main text color (matches Tailwind's `text-*`)
 * - --nim-border: Border color (matches Tailwind's `border-*`)
 * - --nim-primary: Primary action/brand color
 *
 * Usage:
 * - CSS: background-color: var(--nim-bg);
 * - Tailwind: bg-nim, text-nim, border-nim, etc.
 */
/* ===== DEFAULT VALUES (Light Theme Fallbacks) ===== */
:root {
  /* Backgrounds */
  --nim-bg: #ffffff;
  --nim-bg-secondary: #f9fafb;
  --nim-bg-tertiary: #f3f4f6;
  --nim-bg-hover: rgba(0, 0, 0, 0.05);
  --nim-bg-selected: rgba(59, 130, 246, 0.1);
  --nim-bg-active: rgba(59, 130, 246, 0.2);

  /* Text */
  --nim-text: #111827;
  --nim-text-muted: #6b7280;
  --nim-text-faint: #9ca3af;
  --nim-text-disabled: #d1d5db;

  /* Borders */
  --nim-border: #e5e7eb;
  --nim-border-focus: #3b82f6;

  /* Primary (action/brand color) */
  --nim-primary: #3b82f6;
  --nim-primary-hover: #2563eb;
  /* Foreground for use on top of --nim-primary backgrounds. Themes that
     contribute a light/pastel --nim-primary should override this with a
     dark color; the theme system also luminance-derives a fallback when
     a theme contributes `primary` but not `on-primary`. */
  --nim-on-primary: #ffffff;

  /* Links */
  --nim-link: rgb(33, 111, 219);
  --nim-link-hover: rgb(33, 111, 219);

  /* Accent subtle (for override banners, etc.) */
  --nim-accent-subtle: rgba(59, 130, 246, 0.1);

  /* Status */
  --nim-success: #10b981;
  --nim-warning: #f59e0b;
  --nim-error: #ef4444;
  --nim-info: #3b82f6;
  --nim-purple: #7c3aed;

  /* Code blocks */
  --nim-code-bg: rgb(240, 242, 245);
  --nim-code-text: #111827;
  --nim-code-border: #ccc;
  --nim-code-gutter: #eee;

  /* Table */
  --nim-table-border: #bbb;
  --nim-table-header: #f2f3f5;
  --nim-table-cell: #ffffff;
  --nim-table-stripe: #f2f5fb;

  /* Toolbar */
  --nim-toolbar-bg: #ffffff;
  --nim-toolbar-border: #e5e7eb;
  --nim-toolbar-hover: #f3f4f6;
  --nim-toolbar-active: rgba(59, 130, 246, 0.2);

  /* Special */
  --nim-highlight-bg: rgba(255, 212, 0, 0.14);
  --nim-highlight-border: rgba(255, 212, 0, 0.3);
  /* Solid base color for comment-thread marks; states derive from it via color-mix. */
  --nim-comment-mark: #ffd400;
  --nim-quote-text: rgb(101, 103, 107);
  --nim-quote-border: rgb(206, 208, 212);

  /* Scrollbar */
  --nim-scrollbar-thumb: #d1d5db;
  --nim-scrollbar-thumb-hover: #9ca3af;
  --nim-scrollbar-track: transparent;

  /* Diff */
  --nim-diff-add-bg: #e6ffed;
  --nim-diff-add-border: #e6ffed;
  --nim-diff-remove-bg: #ffebe9;
  --nim-diff-remove-border: #ffebe9;

  /* Syntax highlighting */
  --nim-code-comment: slategray;
  --nim-code-punctuation: #999;
  --nim-code-property: #905;
  --nim-code-selector: #690;
  --nim-code-operator: #9a6e3a;
  --nim-code-attr: #07a;
  --nim-code-variable: #e90;
  --nim-code-function: #dd4a68;

  /* File status colors (for FilesEditedSidebar) */
  --nim-file-new: #2d8a6e;
  --nim-file-edited: #4a7ab8;
  --nim-file-deleted: #b85c5c;
  --nim-file-committed: var(--nim-text-muted);
}
/* ===== BASE STYLES ===== */
.nim-ltr {
  text-align: left;
}
.nim-rtl {
  text-align: right;
}
.nim-paragraph {
  margin: 0;
  position: relative;
}
.nim-quote {
  margin: 0;
  margin-left: 20px;
  margin-bottom: 10px;
  font-size: 15px;
  color: var(--nim-quote-text);
  border-left-color: var(--nim-quote-border);
  border-left-width: 4px;
  border-left-style: solid;
  padding-left: 16px;
}
/* ===== HEADINGS ===== */
.nim-h1 {
  font-size: 28px;
  color: var(--nim-text);
  font-weight: 500;
  margin: 0;
}
.nim-h2 {
  font-size: 20px;
  color: var(--nim-text-muted);
  font-weight: 600;
  margin: 0;
}
.nim-h3 {
  font-size: 16px;
  color: var(--nim-text-muted);
  margin: 0;
}
.nim-h4 {
  font-size: 14px;
  color: var(--nim-text-muted);
  margin: 0;
}
.nim-h5 {
  font-size: 12px;
  color: var(--nim-text-muted);
  margin: 0;
}
.nim-h6 {
  font-size: 10px;
  color: var(--nim-text-muted);
  margin: 0;
}
/* ===== TEXT FORMATTING ===== */
.nim-indent {
  --lexical-indent-base-value: 40px;
}
.nim-text-bold {
  font-weight: bold;
}
/* Reset the UA default mark fill, but leave comment marks (.nim-mark) their own styling */
.nim-paragraph mark:not(.nim-mark) {
  background-color: unset;
}
.nim-text-highlight {
  background: var(--nim-highlight-bg);
  border-bottom: 2px solid var(--nim-highlight-border);
}
.nim-text-italic {
  font-style: italic;
}
.nim-text-underline {
  text-decoration: underline;
}
.nim-text-strikethrough {
  text-decoration: line-through;
}
.nim-text-underline-strikethrough {
  text-decoration: underline line-through;
}
.nim-tab-node {
  position: relative;
  text-decoration: none;
}
.nim-tab-node.nim-text-underline::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.15em;
  border-bottom: 0.1em solid currentColor;
}
.nim-tab-node.nim-text-strikethrough::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0.69em;
  border-top: 0.1em solid currentColor;
}
.nim-tab-node.nim-text-underline-strikethrough::before,
.nim-tab-node.nim-text-underline-strikethrough::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
}
.nim-tab-node.nim-text-underline-strikethrough::before {
  top: 0.69em;
  border-top: 0.1em solid currentColor;
}
.nim-tab-node.nim-text-underline-strikethrough::after {
  bottom: 0.05em;
  border-bottom: 0.1em solid currentColor;
}
.nim-text-subscript {
  font-size: 0.8em;
  vertical-align: sub !important;
}
.nim-text-superscript {
  font-size: 0.8em;
  vertical-align: super;
}
.nim-text-code {
  background-color: var(--nim-code-bg);
  padding: 1px 0.25rem;
  font-family: Menlo, Consolas, Monaco, monospace;
  font-size: 94%;
}
.nim-text-lowercase {
  text-transform: lowercase;
}
.nim-text-uppercase {
  text-transform: uppercase;
}
.nim-text-capitalize {
  text-transform: capitalize;
}
/* ===== HASHTAGS ===== */
.nim-hashtag {
  background-color: color-mix(in srgb, var(--nim-primary) 15%, transparent);
  border-radius: 4px;
  padding-left: 3px;
  padding-right: 3px;
  display: inline-block;
}
/* ===== LINKS ===== */
.nim-link {
  color: var(--nim-link);
  text-decoration: none;
}
.nim-link:hover {
  text-decoration: underline;
  cursor: pointer;
}
/* ===== BLOCK CURSOR ===== */
.nim-block-cursor {
  display: block;
  pointer-events: none;
  position: absolute;
}
.nim-block-cursor:after {
  content: '';
  display: block;
  position: absolute;
  top: -2px;
  width: 20px;
  border-top: 1px solid var(--nim-text);
  animation: CursorBlink 1.1s steps(2, start) infinite;
}
@keyframes CursorBlink {
  to {
    visibility: hidden;
  }
}
/* ===== CODE BLOCKS ===== */
.nim-code {
  background-color: var(--nim-code-bg);
  font-family: Menlo, Consolas, Monaco, monospace;
  display: block;
  padding: 8px 8px 8px 52px;
  line-height: 1.53;
  font-size: 13px;
  margin: 0;
  margin-top: 8px;
  margin-bottom: 8px;
  overflow-x: auto;
  position: relative;
  -moz-tab-size: 2;
    -o-tab-size: 2;
       tab-size: 2;
}
.nim-code:before {
  content: attr(data-gutter);
  position: absolute;
  background-color: var(--nim-code-gutter);
  left: 0;
  top: 0;
  border-right: 1px solid var(--nim-code-border);
  padding: 8px;
  color: var(--nim-text-faint);
  white-space: pre-wrap;
  text-align: right;
  min-width: 25px;
}
/* ===== SYNTAX HIGHLIGHTING ===== */
.nim-token-comment {
  color: var(--nim-code-comment);
}
.nim-token-punctuation {
  color: var(--nim-code-punctuation);
}
.nim-token-property {
  color: var(--nim-code-property);
}
.nim-token-selector {
  color: var(--nim-code-selector);
}
.nim-token-operator {
  color: var(--nim-code-operator);
}
.nim-token-attr {
  color: var(--nim-code-attr);
}
.nim-token-variable {
  color: var(--nim-code-variable);
}
.nim-token-function {
  color: var(--nim-code-function);
}
/* ===== TABLES ===== */
.nim-table-scrollable-wrapper {
  overflow-x: auto;
  margin: 0px 25px 30px 0px;
}
.nim-table-scrollable-wrapper > .nim-table {
  margin-top: 0;
  margin-bottom: 0;
}
.nim-table-alignment-center {
  margin-left: auto;
  margin-right: auto;
}
.nim-table-alignment-right {
  margin-left: auto;
}
.nim-table {
  border-collapse: collapse;
  border-spacing: 0;
  overflow-y: scroll;
  overflow-x: scroll;
  table-layout: fixed;
  margin-top: 25px;
  margin-bottom: 30px;
}
.nim-table-scrollable-wrapper.nim-table-frozen-row {
  overflow-x: clip;
}
.nim-table-frozen-row tr:nth-of-type(1) > td {
  overflow: clip;
  background-color: var(--nim-table-cell);
  position: sticky;
  z-index: 2;
  top: 44px;
}
.nim-table-frozen-row tr:nth-of-type(1) > th {
  overflow: clip;
  background-color: var(--nim-table-header);
  position: sticky;
  z-index: 2;
  top: 44px;
}
.nim-table-frozen-row tr:nth-of-type(1) > th:after,
.nim-table-frozen-row tr:nth-of-type(1) > td:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  border-bottom: 1px solid var(--nim-table-border);
}
.nim-table-frozen-column tr > td:first-child {
  background-color: var(--nim-table-cell);
  position: sticky;
  z-index: 2;
  left: 0;
}
.nim-table-frozen-column tr > th:first-child {
  background-color: var(--nim-table-header);
  position: sticky;
  z-index: 2;
  left: 0;
}
.nim-table-frozen-column tr > :first-child::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 100%;
  border-right: 1px solid var(--nim-table-border);
}
.nim-table-row-striping tr:nth-child(even),
.nim-table-frozen-column .nim-table.nim-table-row-striping tr:nth-child(even) > td:first-child {
  background-color: var(--nim-table-stripe);
}
.nim-table-selection *::-moz-selection {
  background-color: transparent;
}
.nim-table-selection *::selection {
  background-color: transparent;
}
.nim-table-selected {
  outline: 2px solid var(--nim-primary);
}
.nim-table-cell {
  border: 1px solid var(--nim-table-border);
  vertical-align: top;
  text-align: start;
  padding: 6px 8px;
  position: relative;
  outline: none;
  overflow: auto;
  min-width: 50px;
}
.nim-table-cell > * {
  overflow: inherit;
}
.nim-table-cell-resizer {
  position: absolute;
  right: -4px;
  height: 100%;
  width: 8px;
  cursor: ew-resize;
  z-index: 10;
  top: 0;
}
.nim-table-cell-header {
  background-color: var(--nim-table-header);
  text-align: start;
}
.nim-table-cell-selected {
  caret-color: transparent;
}
.nim-table-cell-selected::after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background-color: highlight;
  mix-blend-mode: multiply;
  content: '';
  pointer-events: none;
}
.nim-table-add-columns {
  position: absolute;
  background-color: var(--nim-bg-tertiary);
  height: 100%;
  animation: table-controls 0.2s ease;
  border: 0;
  cursor: pointer;
}
.nim-table-add-columns:after {
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='currentColor'%20class='bi%20bi-plus'%3e%3cpath%20d='M8%204a.5.5%200%200%201%20.5.5v3h3a.5.5%200%200%201%200%201h-3v3a.5.5%200%200%201-1%200v-3h-3a.5.5%200%200%201%200-1h3v-3A.5.5%200%200%201%208%204z'/%3e%3c/svg%3e");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  content: ' ';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.4;
}
.nim-table-add-columns:hover,
.nim-table-add-rows:hover {
  background-color: var(--nim-bg-hover);
}
.nim-table-add-rows {
  position: absolute;
  width: calc(100% - 25px);
  background-color: var(--nim-bg-tertiary);
  animation: table-controls 0.2s ease;
  border: 0;
  cursor: pointer;
}
.nim-table-add-rows:after {
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='currentColor'%20class='bi%20bi-plus'%3e%3cpath%20d='M8%204a.5.5%200%200%201%20.5.5v3h3a.5.5%200%200%201%200%201h-3v3a.5.5%200%200%201-1%200v-3h-3a.5.5%200%200%201%200-1h3v-3A.5.5%200%200%201%208%204z'/%3e%3c/svg%3e");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  content: ' ';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.4;
}
@keyframes table-controls {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.nim-table-cell-resize-ruler {
  display: block;
  position: absolute;
  width: 1px;
  background-color: var(--nim-primary);
  height: 100%;
  top: 0;
}
.nim-table-cell-action-button-container {
  display: block;
  right: 5px;
  top: 6px;
  position: absolute;
  z-index: 4;
  width: 20px;
  height: 20px;
}
.nim-table-cell-action-button {
  background-color: var(--nim-bg-tertiary);
  display: block;
  border: 0;
  border-radius: 20px;
  width: 20px;
  height: 20px;
  color: var(--nim-text);
  cursor: pointer;
}
.nim-table-cell-action-button:hover {
  background-color: var(--nim-bg-hover);
}
/* ===== LISTS ===== */
.nim-ol1 {
  padding: 0;
  margin: 0;
  list-style: decimal inside;
}
.nim-ol2 {
  padding: 0;
  margin: 0;
  list-style: upper-alpha inside;
}
.nim-ol3 {
  padding: 0;
  margin: 0;
  list-style: lower-alpha inside;
}
.nim-ol4 {
  padding: 0;
  margin: 0;
  list-style: upper-roman inside;
}
.nim-ol5 {
  padding: 0;
  margin: 0;
  list-style: lower-roman inside;
}
.nim-ul {
  padding: 0;
  margin: 0;
  list-style: disc inside;
  max-width: var(--max-text-width);
}
.nim-list-item {
  margin: 0 24px;
}
.nim-list-item::marker {
  color: var(--nim-text);
}
.nim-list-item-checked,
.nim-list-item-unchecked {
  position: relative;
  margin-left: 8px;
  margin-right: 8px;
  padding-left: 24px;
  padding-right: 24px;
  list-style-type: none;
  outline: none;
}
.nim-list-item-checked {
  text-decoration: line-through;
}
.nim-list-item-unchecked:before,
.nim-list-item-checked:before {
  content: '';
  width: 16px;
  height: 16px;
  top: 2px;
  left: 0;
  cursor: pointer;
  display: block;
  background-size: cover;
  position: absolute;
}
.nim-list-item-unchecked[dir='rtl']:before,
.nim-list-item-checked[dir='rtl']:before {
  left: auto;
  right: 0;
}
.nim-list-item-unchecked:focus:before,
.nim-list-item-checked:focus:before {
  box-shadow: 0 0 0 2px var(--nim-primary);
  border-radius: 2px;
}
.nim-list-item-unchecked:before {
  border: 1px solid var(--nim-text-muted);
  border-radius: 2px;
}
.nim-list-item-checked:before {
  border: 1px solid var(--nim-primary);
  border-radius: 2px;
  background-color: var(--nim-primary);
  background-repeat: no-repeat;
}
.nim-list-item-checked:after {
  content: '';
  cursor: pointer;
  border-color: #fff;
  border-style: solid;
  position: absolute;
  display: block;
  top: 6px;
  width: 3px;
  left: 7px;
  right: 7px;
  height: 6px;
  transform: rotate(45deg);
  border-width: 0 2px 2px 0;
}
.nim-nested-list-item {
  list-style-type: none;
}
.nim-nested-list-item:before,
.nim-nested-list-item:after {
  display: none;
}
/* ===== MARKS (comment thread highlights) ===== */
/* All comment-mark states derive from a single theme-aware token
   (--nim-comment-mark, a solid gold) so they adapt to light/dark instead of
   using hardcoded yellow. color-mix with transparent controls fill/underline
   strength per state. */
.nim-mark {
  /* <mark> UA default is color: black — force document text color so comment
     text stays readable on dark backgrounds. */
  color: inherit;
  background: color-mix(in srgb, var(--nim-comment-mark) 15%, transparent);
  border-bottom: 2px solid color-mix(in srgb, var(--nim-comment-mark) 42%, transparent);
  padding-bottom: 2px;
  transition:
    background 0.12s ease,
    border-color 0.12s ease;
}
.nim-mark-overlap {
  background: color-mix(in srgb, var(--nim-comment-mark) 28%, transparent);
  border-bottom: 2px solid color-mix(in srgb, var(--nim-comment-mark) 65%, transparent);
}
.nim-mark.selected {
  background: color-mix(in srgb, var(--nim-comment-mark) 34%, transparent);
  border-bottom: 2px solid var(--nim-comment-mark);
}
.nim-mark-overlap.selected {
  background: color-mix(in srgb, var(--nim-comment-mark) 46%, transparent);
  border-bottom: 2px solid color-mix(in srgb, var(--nim-comment-mark) 85%, transparent);
}
/* Resolved comment threads keep their mark but render muted (dotted, faint). */
.nim-mark.resolved {
  background: transparent;
  border-bottom: 1px dotted var(--nim-text-faint);
}
.nim-mark.resolved.selected {
  background: color-mix(in srgb, var(--nim-comment-mark) 15%, transparent);
  border-bottom: 1px dotted color-mix(in srgb, var(--nim-comment-mark) 42%, transparent);
}
/* Inline code inside a comment mark: .nim-text-code's background is opaque and, as a
   descendant, paints over the mark's translucent fill — the mark would be invisible over
   the code chip. Re-mix each state's fill against the chip background so the chip keeps its
   own look while still reading as commented. */
.nim-mark .nim-text-code {
  background-color: color-mix(in srgb, var(--nim-comment-mark) 15%, var(--nim-code-bg));
}
.nim-mark-overlap .nim-text-code {
  background-color: color-mix(in srgb, var(--nim-comment-mark) 28%, var(--nim-code-bg));
}
.nim-mark.selected .nim-text-code {
  background-color: color-mix(in srgb, var(--nim-comment-mark) 34%, var(--nim-code-bg));
}
.nim-mark-overlap.selected .nim-text-code {
  background-color: color-mix(in srgb, var(--nim-comment-mark) 46%, var(--nim-code-bg));
}
.nim-mark.resolved .nim-text-code {
  background-color: var(--nim-code-bg);
}
.nim-mark.resolved.selected .nim-text-code {
  background-color: color-mix(in srgb, var(--nim-comment-mark) 15%, var(--nim-code-bg));
}
/* ===== EMBED BLOCKS ===== */
.nim-embed-block {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.nim-embed-block-focus {
  outline: 2px solid var(--nim-primary);
}
/* ===== LAYOUT ===== */
.nim-layout-container {
  display: grid;
  gap: 10px;
  margin: 10px 0;
}
.nim-layout-item {
  border: 1px dashed var(--nim-border);
  padding: 8px 16px;
  min-width: 0;
  max-width: 100%;
}
/* ===== AUTOCOMPLETE ===== */
.nim-autocomplete {
  color: var(--nim-text-faint);
}
/* ===== HORIZONTAL RULE ===== */
.nim-hr {
  padding: 2px 2px;
  border: none;
  margin: 1em 0;
  cursor: pointer;
}
.nim-hr:after {
  content: '';
  display: block;
  height: 2px;
  background-color: var(--nim-border);
  line-height: 2px;
}
.nim-hr.nim-hr-selected {
  outline: 2px solid var(--nim-primary);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
/* ===== SPECIAL TEXT ===== */
.nim-special-text {
  background-color: yellow;
  font-weight: bold;
}
/* ===== CHARACTER LIMIT ===== */
.nim-character-limit {
  display: inline;
  background-color: #ffbbbb !important;
}
/* ===== DIFF VISUALIZATION ===== */
.nim-diff-add {
  background-color: var(--nim-diff-add-bg);
  border-radius: 2px;
  width: -moz-fit-content;
  width: fit-content;
}
table.nim-diff-add {
  width: auto;
}
.nim-diff-remove {
  background-color: var(--nim-diff-remove-bg);
  text-decoration: none;
  border-radius: 2px;
  width: -moz-fit-content;
  width: fit-content;
}
.mermaid-container.nim-diff-remove {
  outline: 3px solid var(--nim-diff-remove-border);
}
.mermaid-container.nim-diff-remove .mermaid-header {
  background: var(--nim-diff-remove-bg);
}
.mermaid-container.nim-diff-add {
  outline: 3px solid var(--nim-diff-add-border);
}
.mermaid-container.nim-diff-add .mermaid-header {
  background: var(--nim-diff-add-bg);
}
/* Mermaid SVG dark theme overrides.
   Mermaid renders inline styles, so !important is needed to override them.
   Uses CSS variables so they adapt to any dark theme variant. */
.dark-theme .mermaid-render-container svg {
  /* Node/box fills */
  & .node rect,
  & .node circle,
  & .node ellipse,
  & .node polygon,
  & .node path {
    fill: var(--nim-bg-tertiary) !important;
    stroke: var(--nim-border) !important;
  }

  /* All text in the diagram */
  & text,
  & .nodeLabel,
  & .label,
  & .edgeLabel,
  & .node .label {
    fill: var(--nim-text) !important;
    color: var(--nim-text) !important;
  }

  /* Edge/arrow lines */
  & .edge path,
  & .flowchart-link,
  & path.transition {
    stroke: var(--nim-text-muted) !important;
  }

  /* Arrowheads */
  & marker path {
    fill: var(--nim-text-muted) !important;
    stroke: var(--nim-text-muted) !important;
  }

  /* Edge labels background */
  & .edgeLabel rect,
  & .edgeLabel span {
    background-color: var(--nim-bg) !important;
    fill: var(--nim-bg) !important;
    color: var(--nim-text) !important;
  }

  /* Cluster/subgraph backgrounds */
  & .cluster rect {
    fill: var(--nim-bg-secondary) !important;
    stroke: var(--nim-border) !important;
  }

  & .cluster text {
    fill: var(--nim-text-muted) !important;
  }

  /* Sequence diagram actors */
  & .actor {
    fill: var(--nim-bg-tertiary) !important;
    stroke: var(--nim-border) !important;
  }

  & .actor-line {
    stroke: var(--nim-text-muted) !important;
  }

  & text.actor > tspan {
    fill: var(--nim-text) !important;
  }

  /* Sequence diagram signals/messages */
  & .messageLine0,
  & .messageLine1 {
    stroke: var(--nim-text-muted) !important;
  }

  & .messageText {
    fill: var(--nim-text) !important;
  }

  /* Notes */
  & .note {
    fill: var(--nim-bg-tertiary) !important;
    stroke: var(--nim-border) !important;
  }

  & .noteText > tspan {
    fill: var(--nim-text) !important;
  }

  /* Activation boxes in sequence diagrams */
  & .activation0,
  & .activation1,
  & .activation2 {
    fill: var(--nim-bg-hover) !important;
    stroke: var(--nim-border) !important;
  }

  /* Loop/alt/opt boxes */
  & .loopLine {
    stroke: var(--nim-border) !important;
  }

  & .loopText > tspan,
  & .labelText > tspan {
    fill: var(--nim-text-muted) !important;
  }

  /* Title text */
  & text.titleText {
    fill: var(--nim-text) !important;
  }
}
.nim-code.nim-diff-add,
.editor-image.nim-diff-add {
  background-color: var(--nim-diff-add-bg);
  outline: 4px solid var(--nim-diff-add-border);
}
.nim-code.nim-diff-remove,
.editor-image.nim-diff-remove {
  background-color: var(--nim-diff-remove-bg);
  outline: 4px solid var(--nim-diff-remove-border);
}
/* Empty paragraphs with diffs */
.nim-diff-add:has(br:only-child),
.nim-diff-remove:has(br:only-child) {
  background-color: transparent;
  outline: none;
}
.nim-diff-add:has(br:only-child) {
  border-left: 10px solid var(--nim-diff-add-border);
}
.nim-diff-remove:has(br:only-child) {
  border-left: 10px solid var(--nim-diff-remove-border);
}
.nim-diff-modify {
  /* Reserved for future use */
}
/* ===== DARK THEME OVERRIDES ===== */
.dark-theme .nim-diff-add {
  outline: 1px solid var(--nim-diff-add-border);
}
.dark-theme .nim-diff-remove {
  outline: 1px solid var(--nim-diff-remove-border);
  text-decoration: line-through;
  text-decoration-color: var(--nim-diff-remove-border);
}
/* Material Symbols is bundled so startup icons never depend on network timing. */
@font-face {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 100 700;
  font-display: block;
  src: url('./material-symbols-outlined-Qyn4GoMO.woff2') format('woff2');
}
/* Tailwind CSS - comes after theme variables so it can reference them */
*, ::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: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 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: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", 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;
}
.\!container {
  width: 100% !important;
}
.container {
  width: 100%;
}
@media (min-width: 640px) {
  .\!container {
    max-width: 640px !important;
  }
  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {
  .\!container {
    max-width: 768px !important;
  }
  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {
  .\!container {
    max-width: 1024px !important;
  }
  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {
  .\!container {
    max-width: 1280px !important;
  }
  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {
  .\!container {
    max-width: 1536px !important;
  }
  .container {
    max-width: 1536px;
  }
}
.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-4 {
  inset: 1rem;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.-bottom-0\.5 {
  bottom: -0.125rem;
}
.-bottom-1 {
  bottom: -0.25rem;
}
.-bottom-2 {
  bottom: -0.5rem;
}
.-bottom-\[3px\] {
  bottom: -3px;
}
.-left-0\.5 {
  left: -0.125rem;
}
.-left-2 {
  left: -0.5rem;
}
.-right-0\.5 {
  right: -0.125rem;
}
.-right-1 {
  right: -0.25rem;
}
.-right-1\.5 {
  right: -0.375rem;
}
.-right-12 {
  right: -3rem;
}
.-right-2 {
  right: -0.5rem;
}
.-right-2\.5 {
  right: -0.625rem;
}
.-right-4 {
  right: -1rem;
}
.-right-8 {
  right: -2rem;
}
.-top-1 {
  top: -0.25rem;
}
.-top-1\.5 {
  top: -0.375rem;
}
.-top-10 {
  top: -2.5rem;
}
.-top-12 {
  top: -3rem;
}
.-top-2 {
  top: -0.5rem;
}
.-top-8 {
  top: -2rem;
}
.-top-\[3px\] {
  top: -3px;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-1 {
  bottom: 0.25rem;
}
.bottom-12 {
  bottom: 3rem;
}
.bottom-2\.5 {
  bottom: 0.625rem;
}
.bottom-3 {
  bottom: 0.75rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-5 {
  bottom: 1.25rem;
}
.bottom-\[calc\(100\%\+8px\)\] {
  bottom: calc(100% + 8px);
}
.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;
}
.left-3\.5 {
  left: 0.875rem;
}
.left-4 {
  left: 1rem;
}
.left-\[46px\] {
  left: 46px;
}
.left-\[50px\] {
  left: 50px;
}
.left-\[calc\(100\%\+8px\)\] {
  left: calc(100% + 8px);
}
.left-\[env\(titlebar-area-x\2c 0px\)\] {
  left: env(titlebar-area-x,0px);
}
.left-auto {
  left: auto;
}
.left-full {
  left: 100%;
}
.left-px {
  left: 1px;
}
.right-0 {
  right: 0px;
}
.right-0\.5 {
  right: 0.125rem;
}
.right-1 {
  right: 0.25rem;
}
.right-1\.5 {
  right: 0.375rem;
}
.right-12 {
  right: 3rem;
}
.right-2 {
  right: 0.5rem;
}
.right-3 {
  right: 0.75rem;
}
.right-3\.5 {
  right: 0.875rem;
}
.right-4 {
  right: 1rem;
}
.right-5 {
  right: 1.25rem;
}
.right-7 {
  right: 1.75rem;
}
.right-full {
  right: 100%;
}
.right-px {
  right: 1px;
}
.top-0 {
  top: 0px;
}
.top-0\.5 {
  top: 0.125rem;
}
.top-1 {
  top: 0.25rem;
}
.top-1\.5 {
  top: 0.375rem;
}
.top-1\/2 {
  top: 50%;
}
.top-10 {
  top: 2.5rem;
}
.top-14 {
  top: 3.5rem;
}
.top-2 {
  top: 0.5rem;
}
.top-2\.5 {
  top: 0.625rem;
}
.top-3 {
  top: 0.75rem;
}
.top-3\.5 {
  top: 0.875rem;
}
.top-4 {
  top: 1rem;
}
.top-\[15\%\] {
  top: 15%;
}
.top-\[calc\(100\%\+4px\)\] {
  top: calc(100% + 4px);
}
.top-full {
  top: 100%;
}
.isolate {
  isolation: isolate;
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-50 {
  z-index: 50;
}
.z-\[10000\] {
  z-index: 10000;
}
.z-\[10001\] {
  z-index: 10001;
}
.z-\[10002\] {
  z-index: 10002;
}
.z-\[1000\] {
  z-index: 1000;
}
.z-\[10010\] {
  z-index: 10010;
}
.z-\[1001\] {
  z-index: 1001;
}
.z-\[100\] {
  z-index: 100;
}
.z-\[101\] {
  z-index: 101;
}
.z-\[1\] {
  z-index: 1;
}
.z-\[2000\] {
  z-index: 2000;
}
.z-\[2\] {
  z-index: 2;
}
.z-\[3000\] {
  z-index: 3000;
}
.z-\[4000\] {
  z-index: 4000;
}
.z-\[60\] {
  z-index: 60;
}
.z-\[900\] {
  z-index: 900;
}
.z-\[901\] {
  z-index: 901;
}
.z-\[99998\] {
  z-index: 99998;
}
.z-\[99999\] {
  z-index: 99999;
}
.z-\[9999\] {
  z-index: 9999;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.float-right {
  float: right;
}
.-m-1 {
  margin: -0.25rem;
}
.m-0 {
  margin: 0px;
}
.m-4 {
  margin: 1rem;
}
.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.-mx-2 {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
.-my-0\.5 {
  margin-top: -0.125rem;
  margin-bottom: -0.125rem;
}
.-my-1 {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
}
.mx-0\.5 {
  margin-left: 0.125rem;
  margin-right: 0.125rem;
}
.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-3 {
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}
.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-5 {
  margin-left: 1.25rem;
  margin-right: 1.25rem;
}
.mx-6 {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
.mx-7 {
  margin-left: 1.75rem;
  margin-right: 1.75rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-0\.5 {
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}
.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-1\.5 {
  margin-top: 0.375rem;
  margin-bottom: 0.375rem;
}
.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-auto {
  margin-top: auto;
  margin-bottom: auto;
}
.-mb-px {
  margin-bottom: -1px;
}
.-ml-1 {
  margin-left: -0.25rem;
}
.-ml-1\.5 {
  margin-left: -0.375rem;
}
.-mr-1 {
  margin-right: -0.25rem;
}
.-mt-0\.5 {
  margin-top: -0.125rem;
}
.-mt-1 {
  margin-top: -0.25rem;
}
.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-2\.5 {
  margin-bottom: 0.625rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-3\.5 {
  margin-bottom: 0.875rem;
}
.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;
}
.mb-\[10px\] {
  margin-bottom: 10px;
}
.mb-\[3px\] {
  margin-bottom: 3px;
}
.ml-0 {
  margin-left: 0px;
}
.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-6 {
  margin-left: 1.5rem;
}
.ml-9 {
  margin-left: 2.25rem;
}
.ml-\[18px\] {
  margin-left: 18px;
}
.ml-\[3px\] {
  margin-left: 3px;
}
.ml-auto {
  margin-left: auto;
}
.mr-0\.5 {
  margin-right: 0.125rem;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-1\.5 {
  margin-right: 0.375rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-3 {
  margin-right: 0.75rem;
}
.mr-4 {
  margin-right: 1rem;
}
.mr-\[3px\] {
  margin-right: 3px;
}
.mr-auto {
  margin-right: auto;
}
.mr-px {
  margin-right: 1px;
}
.mt-0 {
  margin-top: 0px;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-2\.5 {
  margin-top: 0.625rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-3\.5 {
  margin-top: 0.875rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-\[0\.0625rem\] {
  margin-top: 0.0625rem;
}
.mt-\[15px\] {
  margin-top: 15px;
}
.mt-\[2px\] {
  margin-top: 2px;
}
.mt-\[3px\] {
  margin-top: 3px;
}
.mt-auto {
  margin-top: auto;
}
.mt-px {
  margin-top: 1px;
}
.box-border {
  box-sizing: border-box;
}
.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;
}
.\!block {
  display: block !important;
}
.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;
}
.table-cell {
  display: table-cell;
}
.table-row {
  display: table-row;
}
.\!grid {
  display: grid !important;
}
.grid {
  display: grid;
}
.contents {
  display: contents;
}
.list-item {
  display: list-item;
}
.\!hidden {
  display: none !important;
}
.hidden {
  display: none;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.size-11 {
  width: 2.75rem;
  height: 2.75rem;
}
.size-2 {
  width: 0.5rem;
  height: 0.5rem;
}
.size-2\.5 {
  width: 0.625rem;
  height: 0.625rem;
}
.size-4 {
  width: 1rem;
  height: 1rem;
}
.size-5 {
  width: 1.25rem;
  height: 1.25rem;
}
.size-6 {
  width: 1.5rem;
  height: 1.5rem;
}
.size-7 {
  width: 1.75rem;
  height: 1.75rem;
}
.size-8 {
  width: 2rem;
  height: 2rem;
}
.size-9 {
  width: 2.25rem;
  height: 2.25rem;
}
.size-\[14px\] {
  width: 14px;
  height: 14px;
}
.size-\[17px\] {
  width: 17px;
  height: 17px;
}
.size-\[18px\] {
  width: 18px;
  height: 18px;
}
.\!h-8 {
  height: 2rem !important;
}
.\!h-full {
  height: 100% !important;
}
.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-20 {
  height: 5rem;
}
.h-28 {
  height: 7rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-4 {
  height: 1rem;
}
.h-40 {
  height: 10rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-6 {
  height: 1.5rem;
}
.h-64 {
  height: 16rem;
}
.h-7 {
  height: 1.75rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[1\.125rem\] {
  height: 1.125rem;
}
.h-\[12px\] {
  height: 12px;
}
.h-\[14px\] {
  height: 14px;
}
.h-\[150px\] {
  height: 150px;
}
.h-\[15px\] {
  height: 15px;
}
.h-\[18px\] {
  height: 18px;
}
.h-\[200px\] {
  height: 200px;
}
.h-\[24px\] {
  height: 24px;
}
.h-\[2px\] {
  height: 2px;
}
.h-\[30px\] {
  height: 30px;
}
.h-\[34px\] {
  height: 34px;
}
.h-\[3px\] {
  height: 3px;
}
.h-\[42px\] {
  height: 42px;
}
.h-\[46px\] {
  height: 46px;
}
.h-\[52px\] {
  height: 52px;
}
.h-\[5px\] {
  height: 5px;
}
.h-\[70\%\] {
  height: 70%;
}
.h-\[70vh\] {
  height: 70vh;
}
.h-\[80\%\] {
  height: 80%;
}
.h-\[80vh\] {
  height: 80vh;
}
.h-\[85vh\] {
  height: 85vh;
}
.h-\[8px\] {
  height: 8px;
}
.h-\[92vh\] {
  height: 92vh;
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.h-screen {
  height: 100vh;
}
.max-h-20 {
  max-height: 5rem;
}
.max-h-40 {
  max-height: 10rem;
}
.max-h-48 {
  max-height: 12rem;
}
.max-h-64 {
  max-height: 16rem;
}
.max-h-80 {
  max-height: 20rem;
}
.max-h-96 {
  max-height: 24rem;
}
.max-h-\[132px\] {
  max-height: 132px;
}
.max-h-\[150px\] {
  max-height: 150px;
}
.max-h-\[200px\] {
  max-height: 200px;
}
.max-h-\[220px\] {
  max-height: 220px;
}
.max-h-\[22rem\] {
  max-height: 22rem;
}
.max-h-\[240px\] {
  max-height: 240px;
}
.max-h-\[250px\] {
  max-height: 250px;
}
.max-h-\[260px\] {
  max-height: 260px;
}
.max-h-\[280px\] {
  max-height: 280px;
}
.max-h-\[28px\] {
  max-height: 28px;
}
.max-h-\[300px\] {
  max-height: 300px;
}
.max-h-\[30vh\] {
  max-height: 30vh;
}
.max-h-\[320px\] {
  max-height: 320px;
}
.max-h-\[360px\] {
  max-height: 360px;
}
.max-h-\[400px\] {
  max-height: 400px;
}
.max-h-\[430px\] {
  max-height: 430px;
}
.max-h-\[44vh\] {
  max-height: 44vh;
}
.max-h-\[50\%\] {
  max-height: 50%;
}
.max-h-\[600px\] {
  max-height: 600px;
}
.max-h-\[60vh\] {
  max-height: 60vh;
}
.max-h-\[700px\] {
  max-height: 700px;
}
.max-h-\[70vh\] {
  max-height: 70vh;
}
.max-h-\[800px\] {
  max-height: 800px;
}
.max-h-\[80vh\] {
  max-height: 80vh;
}
.max-h-\[85vh\] {
  max-height: 85vh;
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.max-h-\[calc\(100vh-20px\)\] {
  max-height: calc(100vh - 20px);
}
.max-h-\[calc\(100vh-250px\)\] {
  max-height: calc(100vh - 250px);
}
.max-h-\[calc\(100vh-2rem\)\] {
  max-height: calc(100vh - 2rem);
}
.max-h-\[calc\(100vh-300px\)\] {
  max-height: calc(100vh - 300px);
}
.max-h-\[calc\(100vh-32px\)\] {
  max-height: calc(100vh - 32px);
}
.max-h-\[calc\(100vh-48px\)\] {
  max-height: calc(100vh - 48px);
}
.max-h-\[calc\(90vh-60px\)\] {
  max-height: calc(90vh - 60px);
}
.max-h-\[min\(320px\2c calc\(100vh-24px\)\)\] {
  max-height: min(320px, calc(100vh - 24px));
}
.max-h-\[min\(400px\2c calc\(100vh-24px\)\)\] {
  max-height: min(400px, calc(100vh - 24px));
}
.max-h-\[min\(500px\2c calc\(100vh-24px\)\)\] {
  max-height: min(500px, calc(100vh - 24px));
}
.max-h-\[min\(70vh\2c 480px\)\] {
  max-height: min(70vh, 480px);
}
.max-h-full {
  max-height: 100%;
}
.min-h-0 {
  min-height: 0px;
}
.min-h-14 {
  min-height: 3.5rem;
}
.min-h-6 {
  min-height: 1.5rem;
}
.min-h-8 {
  min-height: 2rem;
}
.min-h-9 {
  min-height: 2.25rem;
}
.min-h-\[1\.6em\] {
  min-height: 1.6em;
}
.min-h-\[1\.75rem\] {
  min-height: 1.75rem;
}
.min-h-\[100px\] {
  min-height: 100px;
}
.min-h-\[120px\] {
  min-height: 120px;
}
.min-h-\[140px\] {
  min-height: 140px;
}
.min-h-\[150px\] {
  min-height: 150px;
}
.min-h-\[160px\] {
  min-height: 160px;
}
.min-h-\[18px\] {
  min-height: 18px;
}
.min-h-\[2\.5rem\] {
  min-height: 2.5rem;
}
.min-h-\[200px\] {
  min-height: 200px;
}
.min-h-\[20px\] {
  min-height: 20px;
}
.min-h-\[260px\] {
  min-height: 260px;
}
.min-h-\[300px\] {
  min-height: 300px;
}
.min-h-\[30px\] {
  min-height: 30px;
}
.min-h-\[32px\] {
  min-height: 32px;
}
.min-h-\[400px\] {
  min-height: 400px;
}
.min-h-\[40px\] {
  min-height: 40px;
}
.min-h-\[44px\] {
  min-height: 44px;
}
.min-h-\[48px\] {
  min-height: 48px;
}
.min-h-\[52px\] {
  min-height: 52px;
}
.min-h-\[60px\] {
  min-height: 60px;
}
.min-h-\[68px\] {
  min-height: 68px;
}
.min-h-\[6rem\] {
  min-height: 6rem;
}
.min-h-\[80px\] {
  min-height: 80px;
}
.min-h-\[96px\] {
  min-height: 96px;
}
.\!w-full {
  width: 100% !important;
}
.w-0 {
  width: 0px;
}
.w-0\.5 {
  width: 0.125rem;
}
.w-1 {
  width: 0.25rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-1\/2 {
  width: 50%;
}
.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-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-28 {
  width: 7rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-4 {
  width: 1rem;
}
.w-4\/5 {
  width: 80%;
}
.w-40 {
  width: 10rem;
}
.w-44 {
  width: 11rem;
}
.w-5 {
  width: 1.25rem;
}
.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-\[1\.125rem\] {
  width: 1.125rem;
}
.w-\[100px\] {
  width: 100px;
}
.w-\[14px\] {
  width: 14px;
}
.w-\[150px\] {
  width: 150px;
}
.w-\[18px\] {
  width: 18px;
}
.w-\[190px\] {
  width: 190px;
}
.w-\[200px\] {
  width: 200px;
}
.w-\[220px\] {
  width: 220px;
}
.w-\[240px\] {
  width: 240px;
}
.w-\[250px\] {
  width: 250px;
}
.w-\[260px\] {
  width: 260px;
}
.w-\[268px\] {
  width: 268px;
}
.w-\[272px\] {
  width: 272px;
}
.w-\[280px\] {
  width: 280px;
}
.w-\[300px\] {
  width: 300px;
}
.w-\[30px\] {
  width: 30px;
}
.w-\[320px\] {
  width: 320px;
}
.w-\[340px\] {
  width: 340px;
}
.w-\[34px\] {
  width: 34px;
}
.w-\[350px\] {
  width: 350px;
}
.w-\[360px\] {
  width: 360px;
}
.w-\[380px\] {
  width: 380px;
}
.w-\[38px\] {
  width: 38px;
}
.w-\[390px\] {
  width: 390px;
}
.w-\[400px\] {
  width: 400px;
}
.w-\[420px\] {
  width: 420px;
}
.w-\[42px\] {
  width: 42px;
}
.w-\[440px\] {
  width: 440px;
}
.w-\[450px\] {
  width: 450px;
}
.w-\[460px\] {
  width: 460px;
}
.w-\[46px\] {
  width: 46px;
}
.w-\[500px\] {
  width: 500px;
}
.w-\[50px\] {
  width: 50px;
}
.w-\[520px\] {
  width: 520px;
}
.w-\[58px\] {
  width: 58px;
}
.w-\[5px\] {
  width: 5px;
}
.w-\[600px\] {
  width: 600px;
}
.w-\[60px\] {
  width: 60px;
}
.w-\[620px\] {
  width: 620px;
}
.w-\[640px\] {
  width: 640px;
}
.w-\[80px\] {
  width: 80px;
}
.w-\[80vw\] {
  width: 80vw;
}
.w-\[8px\] {
  width: 8px;
}
.w-\[90\%\] {
  width: 90%;
}
.w-\[90vw\] {
  width: 90vw;
}
.w-\[92\%\] {
  width: 92%;
}
.w-\[96vw\] {
  width: 96vw;
}
.w-\[calc\(100\%-1rem\)\] {
  width: calc(100% - 1rem);
}
.w-\[calc\(100\%_-_32px\)\] {
  width: calc(100% - 32px);
}
.w-\[env\(titlebar-area-width\2c 100\%\)\] {
  width: env(titlebar-area-width,100%);
}
.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-20 {
  min-width: 5rem;
}
.min-w-4 {
  min-width: 1rem;
}
.min-w-40 {
  min-width: 10rem;
}
.min-w-60 {
  min-width: 15rem;
}
.min-w-8 {
  min-width: 2rem;
}
.min-w-80 {
  min-width: 20rem;
}
.min-w-\[100px\] {
  min-width: 100px;
}
.min-w-\[10px\] {
  min-width: 10px;
}
.min-w-\[120px\] {
  min-width: 120px;
}
.min-w-\[140px\] {
  min-width: 140px;
}
.min-w-\[14px\] {
  min-width: 14px;
}
.min-w-\[150px\] {
  min-width: 150px;
}
.min-w-\[15px\] {
  min-width: 15px;
}
.min-w-\[160px\] {
  min-width: 160px;
}
.min-w-\[170px\] {
  min-width: 170px;
}
.min-w-\[180px\] {
  min-width: 180px;
}
.min-w-\[18px\] {
  min-width: 18px;
}
.min-w-\[196px\] {
  min-width: 196px;
}
.min-w-\[200px\] {
  min-width: 200px;
}
.min-w-\[20px\] {
  min-width: 20px;
}
.min-w-\[210px\] {
  min-width: 210px;
}
.min-w-\[220px\] {
  min-width: 220px;
}
.min-w-\[224px\] {
  min-width: 224px;
}
.min-w-\[240px\] {
  min-width: 240px;
}
.min-w-\[250px\] {
  min-width: 250px;
}
.min-w-\[260px\] {
  min-width: 260px;
}
.min-w-\[280px\] {
  min-width: 280px;
}
.min-w-\[3\.5rem\] {
  min-width: 3.5rem;
}
.min-w-\[300px\] {
  min-width: 300px;
}
.min-w-\[320px\] {
  min-width: 320px;
}
.min-w-\[36px\] {
  min-width: 36px;
}
.min-w-\[4\.5rem\] {
  min-width: 4.5rem;
}
.min-w-\[400px\] {
  min-width: 400px;
}
.min-w-\[40px\] {
  min-width: 40px;
}
.min-w-\[440px\] {
  min-width: 440px;
}
.min-w-\[480px\] {
  min-width: 480px;
}
.min-w-\[48px\] {
  min-width: 48px;
}
.min-w-\[500px\] {
  min-width: 500px;
}
.min-w-\[50px\] {
  min-width: 50px;
}
.min-w-\[60px\] {
  min-width: 60px;
}
.min-w-\[70px\] {
  min-width: 70px;
}
.min-w-\[720px\] {
  min-width: 720px;
}
.min-w-\[800px\] {
  min-width: 800px;
}
.min-w-\[80px\] {
  min-width: 80px;
}
.min-w-full {
  min-width: 100%;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-36 {
  max-width: 9rem;
}
.max-w-40 {
  max-width: 10rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-56 {
  max-width: 14rem;
}
.max-w-\[1000px\] {
  max-width: 1000px;
}
.max-w-\[1200px\] {
  max-width: 1200px;
}
.max-w-\[120px\] {
  max-width: 120px;
}
.max-w-\[1400px\] {
  max-width: 1400px;
}
.max-w-\[140px\] {
  max-width: 140px;
}
.max-w-\[14rem\] {
  max-width: 14rem;
}
.max-w-\[150px\] {
  max-width: 150px;
}
.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-\[24rem\] {
  max-width: 24rem;
}
.max-w-\[250px\] {
  max-width: 250px;
}
.max-w-\[260px\] {
  max-width: 260px;
}
.max-w-\[26rem\] {
  max-width: 26rem;
}
.max-w-\[280px\] {
  max-width: 280px;
}
.max-w-\[290px\] {
  max-width: 290px;
}
.max-w-\[300px\] {
  max-width: 300px;
}
.max-w-\[320px\] {
  max-width: 320px;
}
.max-w-\[340px\] {
  max-width: 340px;
}
.max-w-\[35\%\] {
  max-width: 35%;
}
.max-w-\[350px\] {
  max-width: 350px;
}
.max-w-\[360px\] {
  max-width: 360px;
}
.max-w-\[380px\] {
  max-width: 380px;
}
.max-w-\[400px\] {
  max-width: 400px;
}
.max-w-\[420px\] {
  max-width: 420px;
}
.max-w-\[42ch\] {
  max-width: 42ch;
}
.max-w-\[440px\] {
  max-width: 440px;
}
.max-w-\[480px\] {
  max-width: 480px;
}
.max-w-\[50\%\] {
  max-width: 50%;
}
.max-w-\[500px\] {
  max-width: 500px;
}
.max-w-\[520px\] {
  max-width: 520px;
}
.max-w-\[560px\] {
  max-width: 560px;
}
.max-w-\[60\%\] {
  max-width: 60%;
}
.max-w-\[600px\] {
  max-width: 600px;
}
.max-w-\[60ch\] {
  max-width: 60ch;
}
.max-w-\[640px\] {
  max-width: 640px;
}
.max-w-\[700px\] {
  max-width: 700px;
}
.max-w-\[720px\] {
  max-width: 720px;
}
.max-w-\[760px\] {
  max-width: 760px;
}
.max-w-\[800px\] {
  max-width: 800px;
}
.max-w-\[820px\] {
  max-width: 820px;
}
.max-w-\[860px\] {
  max-width: 860px;
}
.max-w-\[90\%\] {
  max-width: 90%;
}
.max-w-\[900px\] {
  max-width: 900px;
}
.max-w-\[90vw\] {
  max-width: 90vw;
}
.max-w-\[92\%\] {
  max-width: 92%;
}
.max-w-\[92vw\] {
  max-width: 92vw;
}
.max-w-\[calc\(100vw-24px\)\] {
  max-width: calc(100vw - 24px);
}
.max-w-\[calc\(100vw-32px\)\] {
  max-width: calc(100vw - 32px);
}
.max-w-\[min\(360px\2c 90vw\)\] {
  max-width: min(360px, 90vw);
}
.max-w-\[min\(40vw\2c 520px\)\] {
  max-width: min(40vw, 520px);
}
.max-w-\[min\(420px\2c calc\(100vw-24px\)\)\] {
  max-width: min(420px, calc(100vw - 24px));
}
.max-w-\[min\(42vw\2c 520px\)\] {
  max-width: min(42vw, 520px);
}
.max-w-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-none {
  max-width: none;
}
.max-w-sm {
  max-width: 24rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-\[0_0_150px\] {
  flex: 0 0 150px;
}
.flex-\[0_0_280px\] {
  flex: 0 0 280px;
}
.flex-\[2\] {
  flex: 2;
}
.flex-auto {
  flex: 1 1 auto;
}
.flex-none {
  flex: none;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink {
  flex-shrink: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.grow {
  flex-grow: 1;
}
.border-collapse {
  border-collapse: collapse;
}
.-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-x-\[10px\] {
  --tw-translate-x: -10px;
  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 {
  --tw-translate-y: -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-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-y-\[10px\] {
  --tw-translate-y: -10px;
  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\.5 {
  --tw-translate-x: 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));
}
.translate-x-\[18px\] {
  --tw-translate-x: 18px;
  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));
}
.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));
}
.animate-\[blitzSlideDown_0\.2s_ease-out\] {
  animation: blitzSlideDown 0.2s ease-out;
}
.animate-\[extension-dev-menu-appear_0\.15s_ease-out\] {
  animation: extension-dev-menu-appear 0.15s ease-out;
}
.animate-\[extension-dev-menu-appear_0\.1s_ease-out\] {
  animation: extension-dev-menu-appear 0.1s ease-out;
}
.animate-\[fadeIn_0\.2s_ease-in\] {
  animation: fadeIn 0.2s ease-in;
}
.animate-\[fadeIn_0\.2s_ease-out\] {
  animation: fadeIn 0.2s ease-out;
}
.animate-\[fadeOut_0\.3s_ease-out\] {
  animation: fadeOut 0.3s ease-out;
}
.animate-\[nim-fade-in_0\.2s_ease-out\] {
  animation: nim-fade-in 0.2s ease-out;
}
.animate-\[nim-slide-up_0\.3s_ease-out\] {
  animation: nim-slide-up 0.3s ease-out;
}
@keyframes pulse {
  50% {
    opacity: .5;
  }
}
.animate-\[pulse_2s_ease-in-out_infinite\] {
  animation: pulse 2s ease-in-out infinite;
}
.animate-\[scaleIn_0\.2s_ease-out\] {
  animation: scaleIn 0.2s ease-out;
}
.animate-\[slideIn_0\.3s_ease-out\] {
  animation: slideIn 0.3s ease-out;
}
.animate-\[slideUp_0\.3s_ease-out\] {
  animation: slideUp 0.3s ease-out;
}
.animate-\[superLoopSlideDown_0\.2s_ease-out\] {
  animation: superLoopSlideDown 0.2s ease-out;
}
.animate-\[trust-menu-appear_0\.15s_ease-out\] {
  animation: trust-menu-appear 0.15s ease-out;
}
.animate-\[walkthrough-fade-in_0\.2s_ease-out_forwards\] {
  animation: walkthrough-fade-in 0.2s ease-out forwards;
}
.animate-\[workstreamSlideDown_0\.2s_ease-out\] {
  animation: workstreamSlideDown 0.2s ease-out;
}
.animate-\[worktree-modal-appear_0\.18s_ease\] {
  animation: worktree-modal-appear 0.18s ease;
}
.animate-\[worktree-modal-appear_0\.2s_ease\] {
  animation: worktree-modal-appear 0.2s ease;
}
@keyframes bash-dot-pulse {
  0%, 60%, 100% {
    transform: scale(1);
    opacity: 0.4;
  }
  30% {
    transform: scale(1.2);
    opacity: 1;
  }
}
.animate-bash-dot-pulse {
  animation: bash-dot-pulse 1.4s ease-in-out infinite;
}
@keyframes focus-flash {
  0% {
    background-color: var(--nim-bg);
  }
  50% {
    background-color: var(--nim-bg-hover);
  }
  100% {
    background-color: var(--nim-bg);
  }
}
.animate-focus-flash {
  animation: focus-flash 0.4s ease-out;
}
@keyframes pulse {
  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-col-resize {
  cursor: col-resize;
}
.cursor-default {
  cursor: default;
}
.cursor-ew-resize {
  cursor: ew-resize;
}
.cursor-grab {
  cursor: grab;
}
.cursor-grabbing {
  cursor: grabbing;
}
.cursor-help {
  cursor: help;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-ns-resize {
  cursor: ns-resize;
}
.cursor-pointer {
  cursor: pointer;
}
.cursor-row-resize {
  cursor: row-resize;
}
.cursor-text {
  cursor: text;
}
.cursor-wait {
  cursor: wait;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.select-text {
  -webkit-user-select: text;
     -moz-user-select: text;
          user-select: text;
}
.select-all {
  -webkit-user-select: all;
     -moz-user-select: all;
          user-select: all;
}
.resize-none {
  resize: none;
}
.resize-y {
  resize: vertical;
}
.resize {
  resize: both;
}
.list-inside {
  list-style-position: inside;
}
.list-decimal {
  list-style-type: decimal;
}
.list-disc {
  list-style-type: disc;
}
.list-none {
  list-style-type: none;
}
.appearance-none {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: 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-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}
.grid-cols-\[10px_1fr_auto_auto\] {
  grid-template-columns: 10px 1fr auto auto;
}
.grid-cols-\[220px_minmax\(420px\2c 1fr\)\] {
  grid-template-columns: 220px minmax(420px,1fr);
}
.grid-cols-\[40px_repeat\(24\2c 1fr\)\] {
  grid-template-columns: 40px repeat(24,1fr);
}
.grid-cols-\[auto_auto_1fr_auto\] {
  grid-template-columns: auto auto 1fr auto;
}
.grid-cols-\[minmax\(0\2c 1fr\)_auto\] {
  grid-template-columns: minmax(0,1fr) auto;
}
.grid-cols-\[minmax\(0\2c 1fr\)_auto_minmax\(0\2c 1fr\)\] {
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
}
.grid-cols-\[minmax\(130px\2c 1fr\)_minmax\(150px\2c 1fr\)_minmax\(150px\2c 1\.25fr\)_24px\] {
  grid-template-columns: minmax(130px,1fr) minmax(150px,1fr) minmax(150px,1.25fr) 24px;
}
.grid-cols-\[repeat\(auto-fill\2c minmax\(150px\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fill,minmax(150px,1fr));
}
.grid-cols-\[repeat\(auto-fill\2c minmax\(200px\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fill,minmax(200px,1fr));
}
.grid-cols-\[repeat\(auto-fill\2c minmax\(220px\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fill,minmax(220px,1fr));
}
.grid-cols-\[repeat\(auto-fill\2c minmax\(260px\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fill,minmax(260px,1fr));
}
.grid-cols-\[repeat\(auto-fill\2c minmax\(300px\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fill,minmax(300px,1fr));
}
.grid-cols-\[repeat\(auto-fit\2c minmax\(150px\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fit,minmax(150px,1fr));
}
.grid-cols-\[repeat\(auto-fit\2c minmax\(250px\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
}
.grid-cols-\[repeat\(auto-fit\2c minmax\(350px\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fit,minmax(350px,1fr));
}
.grid-cols-\[repeat\(auto-fit\2c minmax\(500px\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fit,minmax(500px,1fr));
}
.flex-row {
  flex-direction: row;
}
.flex-row-reverse {
  flex-direction: row-reverse;
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-0 {
  gap: 0px;
}
.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-8 {
  gap: 2rem;
}
.gap-\[10px\] {
  gap: 10px;
}
.gap-\[3px\] {
  gap: 3px;
}
.gap-px {
  gap: 1px;
}
.gap-x-1\.5 {
  -moz-column-gap: 0.375rem;
       column-gap: 0.375rem;
}
.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-y-0\.5 {
  row-gap: 0.125rem;
}
.gap-y-1 {
  row-gap: 0.25rem;
}
.-space-x-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(-0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.-space-x-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(-0.375rem * var(--tw-space-x-reverse));
  margin-left: calc(-0.375rem * calc(1 - var(--tw-space-x-reverse)));
}
.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-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-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));
}
.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-\[var\(--nim-border\)\] > :not([hidden]) ~ :not([hidden]) {
  border-color: var(--nim-border);
}
.divide-nim > :not([hidden]) ~ :not([hidden]) {
  border-color: var(--nim-border);
}
.self-start {
  align-self: flex-start;
}
.self-center {
  align-self: center;
}
.self-stretch {
  align-self: stretch;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.overflow-y-hidden {
  overflow-y: hidden;
}
.overscroll-contain {
  overscroll-behavior: contain;
}
.scroll-smooth {
  scroll-behavior: smooth;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.text-ellipsis {
  text-overflow: ellipsis;
}
.whitespace-normal {
  white-space: normal;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre {
  white-space: pre;
}
.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: 1rem;
}
.rounded-\[0\.25em\] {
  border-radius: 0.25em;
}
.rounded-\[0\.625rem\] {
  border-radius: 0.625rem;
}
.rounded-\[10px\] {
  border-radius: 10px;
}
.rounded-\[18px\] {
  border-radius: 18px;
}
.rounded-\[1em\] {
  border-radius: 1em;
}
.rounded-\[20px\] {
  border-radius: 20px;
}
.rounded-\[24px\] {
  border-radius: 24px;
}
.rounded-\[3px\] {
  border-radius: 3px;
}
.rounded-\[4px\] {
  border-radius: 4px;
}
.rounded-\[5px\] {
  border-radius: 5px;
}
.rounded-\[6px\] {
  border-radius: 6px;
}
.rounded-\[7px\] {
  border-radius: 7px;
}
.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.75rem;
}
.rounded-b-\[10px\] {
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
}
.rounded-b-md {
  border-bottom-right-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}
.rounded-b-none {
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}
.rounded-l {
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.rounded-l-md {
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}
.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 {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.rounded-t-lg {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}
.rounded-t-md {
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}
.rounded-t-xl {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-\[1\.5px\] {
  border-width: 1.5px;
}
.border-\[2px\] {
  border-width: 2px;
}
.border-\[3px\] {
  border-width: 3px;
}
.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-l-0 {
  border-left-width: 0px;
}
.border-l-2 {
  border-left-width: 2px;
}
.border-l-4 {
  border-left-width: 4px;
}
.border-l-\[3px\] {
  border-left-width: 3px;
}
.border-r {
  border-right-width: 1px;
}
.border-r-0 {
  border-right-width: 0px;
}
.border-t {
  border-top-width: 1px;
}
.border-t-0 {
  border-top-width: 0px;
}
.border-t-2 {
  border-top-width: 2px;
}
.border-t-\[3px\] {
  border-top-width: 3px;
}
.border-dashed {
  border-style: dashed;
}
.border-none {
  border-style: none;
}
.\!border-\[color-mix\(in_srgb\2c var\(--nim-error\)_40\%\2c transparent\)\] {
  border-color: color-mix(in srgb,var(--nim-error) 40%,transparent) !important;
}
.\!border-\[var\(--nim-primary\)\] {
  border-color: var(--nim-primary) !important;
}
.border-\[\#27ae60\] {
  --tw-border-opacity: 1;
  border-color: rgb(39 174 96 / var(--tw-border-opacity, 1));
}
.border-\[\#ccc\] {
  --tw-border-opacity: 1;
  border-color: rgb(204 204 204 / var(--tw-border-opacity, 1));
}
.border-\[\#e74c3c\] {
  --tw-border-opacity: 1;
  border-color: rgb(231 76 60 / var(--tw-border-opacity, 1));
}
.border-\[color-mix\(in_srgb\2c var\(--nim-border\)_60\%\2c transparent\)\] {
  border-color: color-mix(in srgb,var(--nim-border) 60%,transparent);
}
.border-\[color-mix\(in_srgb\2c var\(--nim-error\)_30\%\2c transparent\)\] {
  border-color: color-mix(in srgb,var(--nim-error) 30%,transparent);
}
.border-\[color-mix\(in_srgb\2c var\(--nim-error\)_40\%\2c var\(--nim-border\)\)\] {
  border-color: color-mix(in srgb,var(--nim-error) 40%,var(--nim-border));
}
.border-\[color-mix\(in_srgb\2c var\(--nim-error\)_45\%\2c transparent\)\] {
  border-color: color-mix(in srgb,var(--nim-error) 45%,transparent);
}
.border-\[color-mix\(in_srgb\2c var\(--nim-on-primary\)_25\%\2c transparent\)\] {
  border-color: color-mix(in srgb,var(--nim-on-primary) 25%,transparent);
}
.border-\[color-mix\(in_srgb\2c var\(--nim-primary\)_20\%\2c transparent\)\] {
  border-color: color-mix(in srgb,var(--nim-primary) 20%,transparent);
}
.border-\[color-mix\(in_srgb\2c var\(--nim-primary\)_30\%\2c transparent\)\] {
  border-color: color-mix(in srgb,var(--nim-primary) 30%,transparent);
}
.border-\[color-mix\(in_srgb\2c var\(--nim-primary\)_40\%\2c var\(--nim-border\)\)\] {
  border-color: color-mix(in srgb,var(--nim-primary) 40%,var(--nim-border));
}
.border-\[color-mix\(in_srgb\2c var\(--nim-primary\)_45\%\2c var\(--nim-border\)\)\] {
  border-color: color-mix(in srgb,var(--nim-primary) 45%,var(--nim-border));
}
.border-\[color-mix\(in_srgb\2c var\(--nim-success\)_30\%\2c transparent\)\] {
  border-color: color-mix(in srgb,var(--nim-success) 30%,transparent);
}
.border-\[color-mix\(in_srgb\2c var\(--nim-success\)_45\%\2c transparent\)\] {
  border-color: color-mix(in srgb,var(--nim-success) 45%,transparent);
}
.border-\[color-mix\(in_srgb\2c var\(--nim-success\)_48\%\2c transparent\)\] {
  border-color: color-mix(in srgb,var(--nim-success) 48%,transparent);
}
.border-\[color-mix\(in_srgb\2c var\(--nim-text\)_54\%\2c transparent\)\] {
  border-color: color-mix(in srgb,var(--nim-text) 54%,transparent);
}
.border-\[color-mix\(in_srgb\2c var\(--nim-warning\)_30\%\2c transparent\)\] {
  border-color: color-mix(in srgb,var(--nim-warning) 30%,transparent);
}
.border-\[color-mix\(in_srgb\2c var\(--nim-warning\)_45\%\2c transparent\)\] {
  border-color: color-mix(in srgb,var(--nim-warning) 45%,transparent);
}
.border-\[color-mix\(in_srgb\2c var\(--nim-warning\)_50\%\2c transparent\)\] {
  border-color: color-mix(in srgb,var(--nim-warning) 50%,transparent);
}
.border-\[color\:color-mix\(in_srgb\2c var\(--nim-primary\)_32\%\2c var\(--nim-border\)\)\] {
  border-color: color-mix(in srgb,var(--nim-primary) 32%,var(--nim-border));
}
.border-\[rgba\(16\2c 185\2c 129\2c 0\.2\)\] {
  border-color: rgba(16,185,129,0.2);
}
.border-\[rgba\(167\2c 139\2c 250\2c 0\.15\)\] {
  border-color: rgba(167,139,250,0.15);
}
.border-\[rgba\(220\2c 38\2c 38\2c 0\.3\)\] {
  border-color: rgba(220,38,38,0.3);
}
.border-\[rgba\(231\2c 76\2c 60\2c 0\.3\)\] {
  border-color: rgba(231,76,60,0.3);
}
.border-\[rgba\(239\2c 68\2c 68\2c 0\.2\)\] {
  border-color: rgba(239,68,68,0.2);
}
.border-\[rgba\(239\2c 68\2c 68\2c 0\.3\)\] {
  border-color: rgba(239,68,68,0.3);
}
.border-\[rgba\(245\2c 158\2c 11\2c 0\.2\)\] {
  border-color: rgba(245,158,11,0.2);
}
.border-\[rgba\(245\2c 158\2c 11\2c 0\.25\)\] {
  border-color: rgba(245,158,11,0.25);
}
.border-\[rgba\(245\2c 158\2c 11\2c 0\.3\)\] {
  border-color: rgba(245,158,11,0.3);
}
.border-\[rgba\(245\2c 158\2c 11\2c 0\.4\)\] {
  border-color: rgba(245,158,11,0.4);
}
.border-\[rgba\(251\2c 191\2c 36\2c 0\.2\)\] {
  border-color: rgba(251,191,36,0.2);
}
.border-\[rgba\(255\2c 0\2c 0\2c 0\.3\)\] {
  border-color: rgba(255,0,0,0.3);
}
.border-\[rgba\(255\2c 152\2c 0\2c 0\.3\)\] {
  border-color: rgba(255,152,0,0.3);
}
.border-\[rgba\(255\2c 165\2c 0\2c 0\.3\)\] {
  border-color: rgba(255,165,0,0.3);
}
.border-\[rgba\(39\2c 174\2c 96\2c 0\.3\)\] {
  border-color: rgba(39,174,96,0.3);
}
.border-\[rgba\(52\2c 152\2c 219\2c 0\.3\)\] {
  border-color: rgba(52,152,219,0.3);
}
.border-\[rgba\(59\2c 130\2c 246\2c 0\.2\)\] {
  border-color: rgba(59,130,246,0.2);
}
.border-\[rgba\(59\2c 130\2c 246\2c 0\.3\)\] {
  border-color: rgba(59,130,246,0.3);
}
.border-\[rgba\(96\2c 165\2c 250\2c 0\.2\)\] {
  border-color: rgba(96,165,250,0.2);
}
.border-\[rgba\(96\2c 165\2c 250\2c 0\.3\)\] {
  border-color: rgba(96,165,250,0.3);
}
.border-\[rgba\(96\2c 165\2c 250\2c 0\.4\)\] {
  border-color: rgba(96,165,250,0.4);
}
.border-\[rgba\(96\2c 165\2c 250\2c 0\.5\)\] {
  border-color: rgba(96,165,250,0.5);
}
.border-\[var\(--nim-accent\)\] {
  border-color: var(--nim-accent);
}
.border-\[var\(--nim-accent-subtle\)\] {
  border-color: var(--nim-accent-subtle);
}
.border-\[var\(--nim-bg\)\] {
  border-color: var(--nim-bg);
}
.border-\[var\(--nim-bg-secondary\)\] {
  border-color: var(--nim-bg-secondary);
}
.border-\[var\(--nim-bg-tertiary\)\] {
  border-color: var(--nim-bg-tertiary);
}
.border-\[var\(--nim-border\)\] {
  border-color: var(--nim-border);
}
.border-\[var\(--nim-border-accent\)\] {
  border-color: var(--nim-border-accent);
}
.border-\[var\(--nim-border-focus\)\] {
  border-color: var(--nim-border-focus);
}
.border-\[var\(--nim-border-subtle\)\] {
  border-color: var(--nim-border-subtle);
}
.border-\[var\(--nim-border-subtle\2c var\(--nim-border\)\)\] {
  border-color: var(--nim-border-subtle,var(--nim-border));
}
.border-\[var\(--nim-diff-added-border\)\] {
  border-color: var(--nim-diff-added-border);
}
.border-\[var\(--nim-diff-removed-border\)\] {
  border-color: var(--nim-diff-removed-border);
}
.border-\[var\(--nim-error\)\] {
  border-color: var(--nim-error);
}
.border-\[var\(--nim-error-border\)\] {
  border-color: var(--nim-error-border);
}
.border-\[var\(--nim-file-edited\)\] {
  border-color: var(--nim-file-edited);
}
.border-\[var\(--nim-info-border\)\] {
  border-color: var(--nim-info-border);
}
.border-\[var\(--nim-primary\)\] {
  border-color: var(--nim-primary);
}
.border-\[var\(--nim-success\)\] {
  border-color: var(--nim-success);
}
.border-\[var\(--nim-text-faint\)\] {
  border-color: var(--nim-text-faint);
}
.border-\[var\(--nim-warning\)\] {
  border-color: var(--nim-warning);
}
.border-amber-400\/30 {
  border-color: rgb(251 191 36 / 0.3);
}
.border-amber-500\/20 {
  border-color: rgb(245 158 11 / 0.2);
}
.border-amber-500\/45 {
  border-color: rgb(245 158 11 / 0.45);
}
.border-blue-400\/30 {
  border-color: rgb(96 165 250 / 0.3);
}
.border-blue-500\/20 {
  border-color: rgb(59 130 246 / 0.2);
}
.border-current {
  border-color: currentColor;
}
.border-green-500 {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.border-green-500\/20 {
  border-color: rgb(34 197 94 / 0.2);
}
.border-nim {
  border-color: var(--nim-border);
}
.border-nim-border {
  border-color: var(--nim-border);
}
.border-nim-error {
  border-color: var(--nim-error);
}
.border-nim-focus {
  border-color: var(--nim-border-focus);
}
.border-nim-primary {
  border-color: var(--nim-primary);
}
.border-nim-success {
  border-color: var(--nim-success);
}
.border-nim-warning {
  border-color: var(--nim-warning);
}
.border-purple-500\/30 {
  border-color: rgb(168 85 247 / 0.3);
}
.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-red-500\/20 {
  border-color: rgb(239 68 68 / 0.2);
}
.border-red-500\/30 {
  border-color: rgb(239 68 68 / 0.3);
}
.border-red-500\/40 {
  border-color: rgb(239 68 68 / 0.4);
}
.border-red-500\/45 {
  border-color: rgb(239 68 68 / 0.45);
}
.border-transparent {
  border-color: transparent;
}
.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-b-\[var\(--nim-border\)\] {
  border-bottom-color: var(--nim-border);
}
.border-l-\[\#17a2b8\] {
  --tw-border-opacity: 1;
  border-left-color: rgb(23 162 184 / var(--tw-border-opacity, 1));
}
.border-l-\[\#dc3545\] {
  --tw-border-opacity: 1;
  border-left-color: rgb(220 53 69 / var(--tw-border-opacity, 1));
}
.border-l-\[\#ffc107\] {
  --tw-border-opacity: 1;
  border-left-color: rgb(255 193 7 / var(--tw-border-opacity, 1));
}
.border-l-\[var\(--nim-primary\)\] {
  border-left-color: var(--nim-primary);
}
.border-l-\[var\(--nim-warning\)\] {
  border-left-color: var(--nim-warning);
}
.border-l-nim-primary {
  border-left-color: var(--nim-primary);
}
.border-l-transparent {
  border-left-color: transparent;
}
.border-t-\[\#3498db\] {
  --tw-border-opacity: 1;
  border-top-color: rgb(52 152 219 / var(--tw-border-opacity, 1));
}
.border-t-\[var\(--nim-primary\)\] {
  border-top-color: var(--nim-primary);
}
.border-t-nim-on-primary {
  border-top-color: var(--nim-on-primary);
}
.border-t-nim-primary {
  border-top-color: var(--nim-primary);
}
.border-t-transparent {
  border-top-color: transparent;
}
.\!bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_22\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-primary) 22%,transparent) !important;
}
.\!bg-\[var\(--nim-primary\)\] {
  background-color: var(--nim-primary) !important;
}
.bg-\[\#10b981\] {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-\[\#22c55e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-\[\#27ae60\] {
  --tw-bg-opacity: 1;
  background-color: rgb(39 174 96 / var(--tw-bg-opacity, 1));
}
.bg-\[\#3b82f6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}
.bg-\[\#6b728020\] {
  background-color: #6b728020;
}
.bg-\[\#92400e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(146 64 14 / var(--tw-bg-opacity, 1));
}
.bg-\[\#ef4444\] {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f0f9ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f59e0b\] {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-\[\#fbbf24\] {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.bg-\[\#fff5f5\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 245 245 / var(--tw-bg-opacity, 1));
}
.bg-\[\#fffbf0\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 240 / var(--tw-bg-opacity, 1));
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-bg\)_90\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-bg) 90%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-error\)_10\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-error) 10%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-error\)_10\%\2c var\(--nim-bg\)\)\] {
  background-color: color-mix(in srgb,var(--nim-error) 10%,var(--nim-bg));
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-error\)_12\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-error) 12%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-error\)_14\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-error) 14%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-error\)_15\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-error) 15%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-error\)_5\%\2c var\(--nim-bg-secondary\)\)\] {
  background-color: color-mix(in srgb,var(--nim-error) 5%,var(--nim-bg-secondary));
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-error\)_7\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-error) 7%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-error\)_8\%\2c var\(--nim-bg\)\)\] {
  background-color: color-mix(in srgb,var(--nim-error) 8%,var(--nim-bg));
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-on-primary\)_25\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-on-primary) 25%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_10\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-primary) 10%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_12\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-primary) 12%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_14\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-primary) 14%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_14\%\2c var\(--nim-bg-secondary\)\)\] {
  background-color: color-mix(in srgb,var(--nim-primary) 14%,var(--nim-bg-secondary));
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_15\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-primary) 15%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_16\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-primary) 16%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_18\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-primary) 18%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_20\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-primary) 20%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_25\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-primary) 25%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_5\%\2c var\(--nim-bg-secondary\)\)\] {
  background-color: color-mix(in srgb,var(--nim-primary) 5%,var(--nim-bg-secondary));
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_62\%\2c var\(--nim-bg\)\)\] {
  background-color: color-mix(in srgb,var(--nim-primary) 62%,var(--nim-bg));
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_8\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-primary) 8%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_8\%\2c var\(--nim-bg-secondary\)\)\] {
  background-color: color-mix(in srgb,var(--nim-primary) 8%,var(--nim-bg-secondary));
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-purple\)_12\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-purple) 12%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-purple\)_14\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-purple) 14%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-success\)_10\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-success) 10%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-success\)_12\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-success) 12%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-success\)_14\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-success) 14%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-success\)_15\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-success) 15%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-success\)_16\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-success) 16%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-success\)_18\%\2c var\(--nim-bg\)\)\] {
  background-color: color-mix(in srgb,var(--nim-success) 18%,var(--nim-bg));
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-success\)_22\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-success) 22%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-success\)_8\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-success) 8%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-success\)_8\%\2c var\(--nim-bg\)\)\] {
  background-color: color-mix(in srgb,var(--nim-success) 8%,var(--nim-bg));
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-text\)_8\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-text) 8%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-text-faint\)_15\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-text-faint) 15%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-warning\)_10\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-warning) 10%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-warning\)_10\%\2c var\(--nim-bg\)\)\] {
  background-color: color-mix(in srgb,var(--nim-warning) 10%,var(--nim-bg));
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-warning\)_14\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-warning) 14%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-warning\)_15\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-warning) 15%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-warning\)_16\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-warning) 16%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--nim-warning\)_8\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-warning) 8%,transparent);
}
.bg-\[color\:color-mix\(in_srgb\2c var\(--nim-primary\)_14\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--nim-primary) 14%,transparent);
}
.bg-\[rgba\(0\2c 122\2c 255\2c 0\.1\)\] {
  background-color: rgba(0,122,255,0.1);
}
.bg-\[rgba\(0\2c 122\2c 255\2c 0\.12\)\] {
  background-color: rgba(0,122,255,0.12);
}
.bg-\[rgba\(0\2c 122\2c 255\2c 0\.15\)\] {
  background-color: rgba(0,122,255,0.15);
}
.bg-\[rgba\(149\2c 165\2c 166\2c 0\.15\)\] {
  background-color: rgba(149,165,166,0.15);
}
.bg-\[rgba\(156\2c 163\2c 175\2c 0\.15\)\] {
  background-color: rgba(156,163,175,0.15);
}
.bg-\[rgba\(158\2c 158\2c 158\2c 0\.15\)\] {
  background-color: rgba(158,158,158,0.15);
}
.bg-\[rgba\(16\2c 185\2c 129\2c 0\.05\)\] {
  background-color: rgba(16,185,129,0.05);
}
.bg-\[rgba\(16\2c 185\2c 129\2c 0\.08\)\] {
  background-color: rgba(16,185,129,0.08);
}
.bg-\[rgba\(167\2c 139\2c 250\2c 0\.08\)\] {
  background-color: rgba(167,139,250,0.08);
}
.bg-\[rgba\(168\2c 85\2c 247\2c 0\.1\)\] {
  background-color: rgba(168,85,247,0.1);
}
.bg-\[rgba\(168\2c 85\2c 247\2c 0\.15\)\] {
  background-color: rgba(168,85,247,0.15);
}
.bg-\[rgba\(180\2c 180\2c 180\2c 0\.1\)\] {
  background-color: rgba(180,180,180,0.1);
}
.bg-\[rgba\(220\2c 38\2c 38\2c 0\.1\)\] {
  background-color: rgba(220,38,38,0.1);
}
.bg-\[rgba\(231\2c 76\2c 60\2c 0\.1\)\] {
  background-color: rgba(231,76,60,0.1);
}
.bg-\[rgba\(231\2c 76\2c 60\2c 0\.12\)\] {
  background-color: rgba(231,76,60,0.12);
}
.bg-\[rgba\(234\2c 179\2c 8\2c 0\.15\)\] {
  background-color: rgba(234,179,8,0.15);
}
.bg-\[rgba\(239\2c 68\2c 68\2c 0\.05\)\] {
  background-color: rgba(239,68,68,0.05);
}
.bg-\[rgba\(239\2c 68\2c 68\2c 0\.08\)\] {
  background-color: rgba(239,68,68,0.08);
}
.bg-\[rgba\(239\2c 68\2c 68\2c 0\.1\)\] {
  background-color: rgba(239,68,68,0.1);
}
.bg-\[rgba\(239\2c 68\2c 68\2c 0\.12\)\] {
  background-color: rgba(239,68,68,0.12);
}
.bg-\[rgba\(239\2c 68\2c 68\2c 0\.14\)\] {
  background-color: rgba(239,68,68,0.14);
}
.bg-\[rgba\(239\2c 68\2c 68\2c 0\.15\)\] {
  background-color: rgba(239,68,68,0.15);
}
.bg-\[rgba\(239\2c 68\2c 68\2c 0\.30\)\] {
  background-color: rgba(239,68,68,0.30);
}
.bg-\[rgba\(243\2c 156\2c 18\2c 0\.15\)\] {
  background-color: rgba(243,156,18,0.15);
}
.bg-\[rgba\(245\2c 158\2c 11\2c 0\.05\)\] {
  background-color: rgba(245,158,11,0.05);
}
.bg-\[rgba\(245\2c 158\2c 11\2c 0\.08\)\] {
  background-color: rgba(245,158,11,0.08);
}
.bg-\[rgba\(245\2c 158\2c 11\2c 0\.10\)\] {
  background-color: rgba(245,158,11,0.10);
}
.bg-\[rgba\(245\2c 158\2c 11\2c 0\.12\)\] {
  background-color: rgba(245,158,11,0.12);
}
.bg-\[rgba\(245\2c 158\2c 11\2c 0\.14\)\] {
  background-color: rgba(245,158,11,0.14);
}
.bg-\[rgba\(245\2c 158\2c 11\2c 0\.15\)\] {
  background-color: rgba(245,158,11,0.15);
}
.bg-\[rgba\(245\2c 158\2c 11\2c 0\.16\)\] {
  background-color: rgba(245,158,11,0.16);
}
.bg-\[rgba\(245\2c 158\2c 11\2c 0\.35\)\] {
  background-color: rgba(245,158,11,0.35);
}
.bg-\[rgba\(249\2c 115\2c 22\2c 0\.15\)\] {
  background-color: rgba(249,115,22,0.15);
}
.bg-\[rgba\(251\2c 191\2c 36\2c 0\.05\)\] {
  background-color: rgba(251,191,36,0.05);
}
.bg-\[rgba\(251\2c 191\2c 36\2c 0\.08\)\] {
  background-color: rgba(251,191,36,0.08);
}
.bg-\[rgba\(251\2c 191\2c 36\2c 0\.1\)\] {
  background-color: rgba(251,191,36,0.1);
}
.bg-\[rgba\(251\2c 191\2c 36\2c 0\.15\)\] {
  background-color: rgba(251,191,36,0.15);
}
.bg-\[rgba\(255\2c 0\2c 0\2c 0\.1\)\] {
  background-color: rgba(255,0,0,0.1);
}
.bg-\[rgba\(255\2c 107\2c 107\2c 0\.1\)\] {
  background-color: rgba(255,107,107,0.1);
}
.bg-\[rgba\(255\2c 152\2c 0\2c 0\.1\)\] {
  background-color: rgba(255,152,0,0.1);
}
.bg-\[rgba\(255\2c 152\2c 0\2c 0\.15\)\] {
  background-color: rgba(255,152,0,0.15);
}
.bg-\[rgba\(255\2c 165\2c 0\2c 0\.1\)\] {
  background-color: rgba(255,165,0,0.1);
}
.bg-\[rgba\(34\2c 197\2c 94\2c 0\.12\)\] {
  background-color: rgba(34,197,94,0.12);
}
.bg-\[rgba\(34\2c 197\2c 94\2c 0\.15\)\] {
  background-color: rgba(34,197,94,0.15);
}
.bg-\[rgba\(38\2c 139\2c 210\2c 0\.15\)\] {
  background-color: rgba(38,139,210,0.15);
}
.bg-\[rgba\(39\2c 174\2c 96\2c 0\.05\)\] {
  background-color: rgba(39,174,96,0.05);
}
.bg-\[rgba\(39\2c 174\2c 96\2c 0\.1\)\] {
  background-color: rgba(39,174,96,0.1);
}
.bg-\[rgba\(39\2c 174\2c 96\2c 0\.15\)\] {
  background-color: rgba(39,174,96,0.15);
}
.bg-\[rgba\(52\2c 152\2c 219\2c 0\.1\)\] {
  background-color: rgba(52,152,219,0.1);
}
.bg-\[rgba\(52\2c 152\2c 219\2c 0\.15\)\] {
  background-color: rgba(52,152,219,0.15);
}
.bg-\[rgba\(59\2c 130\2c 246\2c 0\.08\)\] {
  background-color: rgba(59,130,246,0.08);
}
.bg-\[rgba\(59\2c 130\2c 246\2c 0\.1\)\] {
  background-color: rgba(59,130,246,0.1);
}
.bg-\[rgba\(59\2c 130\2c 246\2c 0\.12\)\] {
  background-color: rgba(59,130,246,0.12);
}
.bg-\[rgba\(59\2c 130\2c 246\2c 0\.15\)\] {
  background-color: rgba(59,130,246,0.15);
}
.bg-\[rgba\(59\2c 130\2c 246\2c 0\.35\)\] {
  background-color: rgba(59,130,246,0.35);
}
.bg-\[rgba\(74\2c 158\2c 255\2c 0\.15\)\] {
  background-color: rgba(74,158,255,0.15);
}
.bg-\[rgba\(74\2c 222\2c 128\2c 0\.15\)\] {
  background-color: rgba(74,222,128,0.15);
}
.bg-\[rgba\(76\2c 175\2c 80\2c 0\.15\)\] {
  background-color: rgba(76,175,80,0.15);
}
.bg-\[rgba\(83\2c 89\2c 93\2c 0\.4\)\] {
  background-color: rgba(83,89,93,0.4);
}
.bg-\[rgba\(96\2c 165\2c 250\2c 0\.05\)\] {
  background-color: rgba(96,165,250,0.05);
}
.bg-\[rgba\(96\2c 165\2c 250\2c 0\.06\)\] {
  background-color: rgba(96,165,250,0.06);
}
.bg-\[rgba\(96\2c 165\2c 250\2c 0\.08\)\] {
  background-color: rgba(96,165,250,0.08);
}
.bg-\[rgba\(96\2c 165\2c 250\2c 0\.1\)\] {
  background-color: rgba(96,165,250,0.1);
}
.bg-\[rgba\(96\2c 165\2c 250\2c 0\.15\)\] {
  background-color: rgba(96,165,250,0.15);
}
.bg-\[var\(--nim-accent\)\] {
  background-color: var(--nim-accent);
}
.bg-\[var\(--nim-accent-muted\)\] {
  background-color: var(--nim-accent-muted);
}
.bg-\[var\(--nim-accent-purple\)\] {
  background-color: var(--nim-accent-purple);
}
.bg-\[var\(--nim-accent-subtle\)\] {
  background-color: var(--nim-accent-subtle);
}
.bg-\[var\(--nim-bg\)\] {
  background-color: var(--nim-bg);
}
.bg-\[var\(--nim-bg-active\)\] {
  background-color: var(--nim-bg-active);
}
.bg-\[var\(--nim-bg-elevated\2c var\(--nim-bg\)\)\] {
  background-color: var(--nim-bg-elevated,var(--nim-bg));
}
.bg-\[var\(--nim-bg-hover\)\] {
  background-color: var(--nim-bg-hover);
}
.bg-\[var\(--nim-bg-primary\)\] {
  background-color: var(--nim-bg-primary);
}
.bg-\[var\(--nim-bg-secondary\)\] {
  background-color: var(--nim-bg-secondary);
}
.bg-\[var\(--nim-bg-selected\)\] {
  background-color: var(--nim-bg-selected);
}
.bg-\[var\(--nim-bg-tertiary\)\] {
  background-color: var(--nim-bg-tertiary);
}
.bg-\[var\(--nim-border\)\] {
  background-color: var(--nim-border);
}
.bg-\[var\(--nim-code-bg\)\] {
  background-color: var(--nim-code-bg);
}
.bg-\[var\(--nim-diff-added-bg\)\] {
  background-color: var(--nim-diff-added-bg);
}
.bg-\[var\(--nim-diff-removed-bg\)\] {
  background-color: var(--nim-diff-removed-bg);
}
.bg-\[var\(--nim-error\)\] {
  background-color: var(--nim-error);
}
.bg-\[var\(--nim-error\2c \#dc2626\)\] {
  background-color: var(--nim-error,#dc2626);
}
.bg-\[var\(--nim-error-bg\2c rgba\(220\2c 38\2c 38\2c 0\.12\)\)\] {
  background-color: var(--nim-error-bg,rgba(220,38,38,0.12));
}
.bg-\[var\(--nim-error-bg\2c rgba\(239\2c 68\2c 68\2c 0\.08\)\)\] {
  background-color: var(--nim-error-bg,rgba(239,68,68,0.08));
}
.bg-\[var\(--nim-error-light\)\] {
  background-color: var(--nim-error-light);
}
.bg-\[var\(--nim-file-edited\)\] {
  background-color: var(--nim-file-edited);
}
.bg-\[var\(--nim-highlight-bg\)\] {
  background-color: var(--nim-highlight-bg);
}
.bg-\[var\(--nim-info\)\] {
  background-color: var(--nim-info);
}
.bg-\[var\(--nim-info-light\)\] {
  background-color: var(--nim-info-light);
}
.bg-\[var\(--nim-primary\)\] {
  background-color: var(--nim-primary);
}
.bg-\[var\(--nim-primary-bg\2c rgba\(99\2c 102\2c 241\2c 0\.1\)\)\] {
  background-color: var(--nim-primary-bg,rgba(99,102,241,0.1));
}
.bg-\[var\(--nim-success\)\] {
  background-color: var(--nim-success);
}
.bg-\[var\(--nim-success-light\)\] {
  background-color: var(--nim-success-light);
}
.bg-\[var\(--nim-surface\)\] {
  background-color: var(--nim-surface);
}
.bg-\[var\(--nim-surface-hover\)\] {
  background-color: var(--nim-surface-hover);
}
.bg-\[var\(--nim-surface-raised\)\] {
  background-color: var(--nim-surface-raised);
}
.bg-\[var\(--nim-text\)\] {
  background-color: var(--nim-text);
}
.bg-\[var\(--nim-text-disabled\)\] {
  background-color: var(--nim-text-disabled);
}
.bg-\[var\(--nim-text-faint\)\] {
  background-color: var(--nim-text-faint);
}
.bg-\[var\(--nim-text-muted\)\] {
  background-color: var(--nim-text-muted);
}
.bg-\[var\(--nim-warning\)\] {
  background-color: var(--nim-warning);
}
.bg-\[var\(--nim-warning-bg\)\] {
  background-color: var(--nim-warning-bg);
}
.bg-\[var\(--nim-warning-bg\2c rgba\(217\2c 119\2c 6\2c 0\.12\)\)\] {
  background-color: var(--nim-warning-bg,rgba(217,119,6,0.12));
}
.bg-\[var\(--nim-warning-light\)\] {
  background-color: var(--nim-warning-light);
}
.bg-amber-400\/10 {
  background-color: rgb(251 191 36 / 0.1);
}
.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/10 {
  background-color: rgb(245 158 11 / 0.1);
}
.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/10 {
  background-color: rgb(0 0 0 / 0.1);
}
.bg-black\/30 {
  background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/45 {
  background-color: rgb(0 0 0 / 0.45);
}
.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/55 {
  background-color: rgb(0 0 0 / 0.55);
}
.bg-black\/60 {
  background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}
.bg-black\/85 {
  background-color: rgb(0 0 0 / 0.85);
}
.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-400\/10 {
  background-color: rgb(96 165 250 / 0.1);
}
.bg-blue-400\/\[0\.12\] {
  background-color: rgb(96 165 250 / 0.12);
}
.bg-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}
.bg-blue-500\/10 {
  background-color: rgb(59 130 246 / 0.1);
}
.bg-current {
  background-color: currentColor;
}
.bg-emerald-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500\/10 {
  background-color: rgb(16 185 129 / 0.1);
}
.bg-gray-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}
.bg-gray-500\/\[0\.125\] {
  background-color: rgb(107 114 128 / 0.125);
}
.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-green-500\/10 {
  background-color: rgb(34 197 94 / 0.1);
}
.bg-green-500\/15 {
  background-color: rgb(34 197 94 / 0.15);
}
.bg-green-500\/20 {
  background-color: rgb(34 197 94 / 0.2);
}
.bg-neutral-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(115 115 115 / var(--tw-bg-opacity, 1));
}
.bg-neutral-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(82 82 82 / var(--tw-bg-opacity, 1));
}
.bg-nim {
  background-color: var(--nim-bg);
}
.bg-nim-active {
  background-color: var(--nim-bg-active);
}
.bg-nim-border {
  background-color: var(--nim-border);
}
.bg-nim-border-focus {
  background-color: var(--nim-border-focus);
}
.bg-nim-error {
  background-color: var(--nim-error);
}
.bg-nim-hover {
  background-color: var(--nim-bg-hover);
}
.bg-nim-primary {
  background-color: var(--nim-primary);
}
.bg-nim-secondary {
  background-color: var(--nim-bg-secondary);
}
.bg-nim-selected {
  background-color: var(--nim-bg-selected);
}
.bg-nim-success {
  background-color: var(--nim-success);
}
.bg-nim-tertiary {
  background-color: var(--nim-bg-tertiary);
}
.bg-nim-text-muted {
  background-color: var(--nim-text-muted);
}
.bg-nim-warning {
  background-color: var(--nim-warning);
}
.bg-orange-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.bg-orange-500\/10 {
  background-color: rgb(249 115 22 / 0.1);
}
.bg-purple-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}
.bg-purple-500\/10 {
  background-color: rgb(168 85 247 / 0.1);
}
.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
}
.bg-red-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}
.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-500\/10 {
  background-color: rgb(239 68 68 / 0.1);
}
.bg-red-500\/15 {
  background-color: rgb(239 68 68 / 0.15);
}
.bg-red-500\/20 {
  background-color: rgb(239 68 68 / 0.2);
}
.bg-red-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.bg-red-600\/40 {
  background-color: rgb(220 38 38 / 0.4);
}
.bg-teal-500\/10 {
  background-color: rgb(20 184 166 / 0.1);
}
.bg-transparent {
  background-color: transparent;
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/\[0\.06\] {
  background-color: rgb(255 255 255 / 0.06);
}
.bg-yellow-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 204 21 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}
.bg-\[linear-gradient\(135deg\2c rgba\(56\2c 189\2c 248\2c 0\.10\)\2c rgba\(251\2c 191\2c 36\2c 0\.08\)\2c rgba\(255\2c 255\2c 255\2c 0\.02\)\)\] {
  background-image: linear-gradient(135deg,rgba(56,189,248,0.10),rgba(251,191,36,0.08),rgba(255,255,255,0.02));
}
.bg-\[linear-gradient\(180deg\2c var\(--nim-bg-secondary\)\2c var\(--nim-bg\)\)\] {
  background-image: linear-gradient(180deg,var(--nim-bg-secondary),var(--nim-bg));
}
.bg-\[url\(\'data\:image\/svg\+xml\2c \%3Csvg\%20xmlns\%3D\%22http\%3A\%2F\%2Fwww\.w3\.org\%2F2000\%2Fsvg\%22\%20width\%3D\%2212\%22\%20height\%3D\%2212\%22\%20viewBox\%3D\%220\%200\%2012\%2012\%22\%3E\%3Cpath\%20fill\%3D\%22\%236b7280\%22\%20d\%3D\%22M3\%204\.5L6\%207\.5L9\%204\.5\%22\%2F\%3E\%3C\%2Fsvg\%3E\'\)\] {
  background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%3Cpath%20fill%3D%22%236b7280%22%20d%3D%22M3%204.5L6%207.5L9%204.5%22%2F%3E%3C%2Fsvg%3E');
}
.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));
}
.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.bg-none {
  background-image: none;
}
.from-\[\#60a5fa\] {
  --tw-gradient-from: #60a5fa var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[var\(--nim-accent-subtle\)\] {
  --tw-gradient-from: var(--nim-accent-subtle) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[var\(--nim-bg-secondary\)\] {
  --tw-gradient-from: var(--nim-bg-secondary) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[var\(--nim-primary\)\] {
  --tw-gradient-from: var(--nim-primary) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500 {
  --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500 {
  --tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.to-\[\#6366f1\] {
  --tw-gradient-to: #6366f1 var(--tw-gradient-to-position);
}
.to-\[\#a78bfa\] {
  --tw-gradient-to: #a78bfa var(--tw-gradient-to-position);
}
.to-\[var\(--nim-primary-hover\)\] {
  --tw-gradient-to: var(--nim-primary-hover) var(--tw-gradient-to-position);
}
.to-amber-600 {
  --tw-gradient-to: #d97706 var(--tw-gradient-to-position);
}
.to-blue-700 {
  --tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.bg-contain {
  background-size: contain;
}
.bg-\[right_12px_center\] {
  background-position: right 12px center;
}
.bg-\[right_8px_center\] {
  background-position: right 8px center;
}
.bg-center {
  background-position: center;
}
.bg-no-repeat {
  background-repeat: no-repeat;
}
.stroke-green-500 {
  stroke: #22c55e;
}
.stroke-nim-tertiary {
  stroke: var(--nim-bg-tertiary);
}
.stroke-red-500 {
  stroke: #ef4444;
}
.stroke-yellow-500 {
  stroke: #eab308;
}
.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.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-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-8 {
  padding: 2rem;
}
.\!px-2\.5 {
  padding-left: 0.625rem !important;
  padding-right: 0.625rem !important;
}
.\!py-0 {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}
.\!py-1\.5 {
  padding-top: 0.375rem !important;
  padding-bottom: 0.375rem !important;
}
.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}
.px-0\.5 {
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.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;
}
.px-\[0\.5em\] {
  padding-left: 0.5em;
  padding-right: 0.5em;
}
.px-\[10px\] {
  padding-left: 10px;
  padding-right: 10px;
}
.px-\[15px\] {
  padding-left: 15px;
  padding-right: 15px;
}
.px-\[18px\] {
  padding-left: 18px;
  padding-right: 18px;
}
.px-\[30px\] {
  padding-left: 30px;
  padding-right: 30px;
}
.px-\[3px\] {
  padding-left: 3px;
  padding-right: 3px;
}
.px-\[46px\] {
  padding-left: 46px;
  padding-right: 46px;
}
.px-\[5px\] {
  padding-left: 5px;
  padding-right: 5px;
}
.px-\[7px\] {
  padding-left: 7px;
  padding-right: 7px;
}
.py-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}
.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-14 {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}
.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.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-7 {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.py-\[0\.0625rem\] {
  padding-top: 0.0625rem;
  padding-bottom: 0.0625rem;
}
.py-\[0\.25em\] {
  padding-top: 0.25em;
  padding-bottom: 0.25em;
}
.py-\[10px\] {
  padding-top: 10px;
  padding-bottom: 10px;
}
.py-\[13px\] {
  padding-top: 13px;
  padding-bottom: 13px;
}
.py-\[1px\] {
  padding-top: 1px;
  padding-bottom: 1px;
}
.py-\[2px\] {
  padding-top: 2px;
  padding-bottom: 2px;
}
.py-\[3px\] {
  padding-top: 3px;
  padding-bottom: 3px;
}
.py-\[5px\] {
  padding-top: 5px;
  padding-bottom: 5px;
}
.py-\[60px\] {
  padding-top: 60px;
  padding-bottom: 60px;
}
.py-\[7px\] {
  padding-top: 7px;
  padding-bottom: 7px;
}
.py-px {
  padding-top: 1px;
  padding-bottom: 1px;
}
.\!pl-7 {
  padding-left: 1.75rem !important;
}
.\!pl-\[17px\] {
  padding-left: 17px !important;
}
.pb-0 {
  padding-bottom: 0px;
}
.pb-0\.5 {
  padding-bottom: 0.125rem;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-1\.5 {
  padding-bottom: 0.375rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-3\.5 {
  padding-bottom: 0.875rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pb-\[10px\] {
  padding-bottom: 10px;
}
.pb-\[400px\] {
  padding-bottom: 400px;
}
.pe-1 {
  padding-inline-end: 0.25rem;
}
.pl-0 {
  padding-left: 0px;
}
.pl-0\.5 {
  padding-left: 0.125rem;
}
.pl-1 {
  padding-left: 0.25rem;
}
.pl-1\.5 {
  padding-left: 0.375rem;
}
.pl-10 {
  padding-left: 2.5rem;
}
.pl-12 {
  padding-left: 3rem;
}
.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-7 {
  padding-left: 1.75rem;
}
.pl-8 {
  padding-left: 2rem;
}
.pl-9 {
  padding-left: 2.25rem;
}
.pl-\[13px\] {
  padding-left: 13px;
}
.pl-\[21px\] {
  padding-left: 21px;
}
.pl-\[25px\] {
  padding-left: 25px;
}
.pl-\[50px\] {
  padding-left: 50px;
}
.pl-\[60px\] {
  padding-left: 60px;
}
.pl-\[9px\] {
  padding-left: 9px;
}
.pr-0 {
  padding-right: 0px;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pr-10 {
  padding-right: 2.5rem;
}
.pr-14 {
  padding-right: 3.5rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-3\.5 {
  padding-right: 0.875rem;
}
.pr-5 {
  padding-right: 1.25rem;
}
.pr-6 {
  padding-right: 1.5rem;
}
.pr-7 {
  padding-right: 1.75rem;
}
.pr-8 {
  padding-right: 2rem;
}
.pr-9 {
  padding-right: 2.25rem;
}
.pr-\[120px\] {
  padding-right: 120px;
}
.pr-\[156px\] {
  padding-right: 156px;
}
.pt-0\.5 {
  padding-top: 0.125rem;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-1\.5 {
  padding-top: 0.375rem;
}
.pt-10 {
  padding-top: 2.5rem;
}
.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-7 {
  padding-top: 1.75rem;
}
.pt-8 {
  padding-top: 2rem;
}
.pt-\[20vh\] {
  padding-top: 20vh;
}
.pt-\[38px\] {
  padding-top: 38px;
}
.pt-\[3px\] {
  padding-top: 3px;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.align-baseline {
  vertical-align: baseline;
}
.align-middle {
  vertical-align: middle;
}
.font-\[-apple-system\2c BlinkMacSystemFont\2c \'Segoe_UI\'\2c Roboto\2c Oxygen\2c Ubuntu\2c Cantarell\2c sans-serif\] {
  font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;
}
.font-\[inherit\] {
  font-family: inherit;
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-sans {
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.\!text-\[12px\] {
  font-size: 12px !important;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-5xl {
  font-size: 3rem;
  line-height: 1;
}
.text-\[0\.5625rem\] {
  font-size: 0.5625rem;
}
.text-\[0\.625rem\] {
  font-size: 0.625rem;
}
.text-\[0\.65rem\] {
  font-size: 0.65rem;
}
.text-\[0\.6875rem\] {
  font-size: 0.6875rem;
}
.text-\[0\.6rem\] {
  font-size: 0.6rem;
}
.text-\[0\.75rem\] {
  font-size: 0.75rem;
}
.text-\[0\.7rem\] {
  font-size: 0.7rem;
}
.text-\[0\.8125rem\] {
  font-size: 0.8125rem;
}
.text-\[0\.85rem\] {
  font-size: 0.85rem;
}
.text-\[0\.875rem\] {
  font-size: 0.875rem;
}
.text-\[0\.8rem\] {
  font-size: 0.8rem;
}
.text-\[0\.9375rem\] {
  font-size: 0.9375rem;
}
.text-\[0\.95em\] {
  font-size: 0.95em;
}
.text-\[0\.9rem\] {
  font-size: 0.9rem;
}
.text-\[1\.75rem\] {
  font-size: 1.75rem;
}
.text-\[10\.5px\] {
  font-size: 10.5px;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11\.5px\] {
  font-size: 11.5px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12\.5px\] {
  font-size: 12.5px;
}
.text-\[12px\] {
  font-size: 12px;
}
.text-\[13\.5px\] {
  font-size: 13.5px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[14\.5px\] {
  font-size: 14.5px;
}
.text-\[14px\] {
  font-size: 14px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[16px\] {
  font-size: 16px;
}
.text-\[17px\] {
  font-size: 17px;
}
.text-\[18px\] {
  font-size: 18px;
}
.text-\[19px\] {
  font-size: 19px;
}
.text-\[20px\] {
  font-size: 20px;
}
.text-\[22px\] {
  font-size: 22px;
}
.text-\[24px\] {
  font-size: 24px;
}
.text-\[26px\] {
  font-size: 26px;
}
.text-\[28px\] {
  font-size: 28px;
}
.text-\[32px\] {
  font-size: 32px;
}
.text-\[7px\] {
  font-size: 7px;
}
.text-\[8px\] {
  font-size: 8px;
}
.text-\[9\.5px\] {
  font-size: 9.5px;
}
.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-\[var\(--nim-font-mono\)\] {
  font-weight: var(--nim-font-mono);
}
.font-bold {
  font-weight: 700;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.lowercase {
  text-transform: lowercase;
}
.capitalize {
  text-transform: capitalize;
}
.normal-case {
  text-transform: none;
}
.italic {
  font-style: italic;
}
.not-italic {
  font-style: normal;
}
.ordinal {
  --tw-ordinal: ordinal;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.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-3 {
  line-height: .75rem;
}
.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\.1\] {
  line-height: 1.1;
}
.leading-\[1\.35\] {
  line-height: 1.35;
}
.leading-\[1\.45\] {
  line-height: 1.45;
}
.leading-\[1\.4\] {
  line-height: 1.4;
}
.leading-\[1\.5\] {
  line-height: 1.5;
}
.leading-\[1\.62\] {
  line-height: 1.62;
}
.leading-\[1\.6\] {
  line-height: 1.6;
}
.leading-\[15px\] {
  line-height: 15px;
}
.leading-\[18px\] {
  line-height: 18px;
}
.leading-none {
  line-height: 1;
}
.leading-normal {
  line-height: 1.5;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[-0\.02em\] {
  letter-spacing: -0.02em;
}
.tracking-\[-0\.3px\] {
  letter-spacing: -0.3px;
}
.tracking-\[-0\.5px\] {
  letter-spacing: -0.5px;
}
.tracking-\[0\.02em\] {
  letter-spacing: 0.02em;
}
.tracking-\[0\.03em\] {
  letter-spacing: 0.03em;
}
.tracking-\[0\.04em\] {
  letter-spacing: 0.04em;
}
.tracking-\[0\.06em\] {
  letter-spacing: 0.06em;
}
.tracking-\[0\.08em\] {
  letter-spacing: 0.08em;
}
.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}
.tracking-\[0\.5px\] {
  letter-spacing: 0.5px;
}
.tracking-\[1px\] {
  letter-spacing: 1px;
}
.tracking-normal {
  letter-spacing: 0em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-tighter {
  letter-spacing: -0.05em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.\!text-\[var\(--nim-error\)\] {
  color: var(--nim-error) !important;
}
.\!text-\[var\(--nim-primary\)\] {
  color: var(--nim-primary) !important;
}
.\!text-white {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}
.text-\[\#0f1115\] {
  --tw-text-opacity: 1;
  color: rgb(15 17 21 / var(--tw-text-opacity, 1));
}
.text-\[\#22c55e\] {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-\[\#27ae60\] {
  --tw-text-opacity: 1;
  color: rgb(39 174 96 / var(--tw-text-opacity, 1));
}
.text-\[\#3498db\] {
  --tw-text-opacity: 1;
  color: rgb(52 152 219 / var(--tw-text-opacity, 1));
}
.text-\[\#3b82f6\] {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.text-\[\#4ade80\] {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.text-\[\#60a5fa\] {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-\[\#95a5a6\] {
  --tw-text-opacity: 1;
  color: rgb(149 165 166 / var(--tw-text-opacity, 1));
}
.text-\[\#F59E0B\] {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-\[\#a78bfa\] {
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}
.text-\[\#a855f7\] {
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.text-\[\#e74c3c\] {
  --tw-text-opacity: 1;
  color: rgb(231 76 60 / var(--tw-text-opacity, 1));
}
.text-\[\#ef4444\] {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-\[\#f39c12\] {
  --tw-text-opacity: 1;
  color: rgb(243 156 18 / var(--tw-text-opacity, 1));
}
.text-\[\#f59e0b\] {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-\[\#fbbf24\] {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-\[\#ff4444\] {
  --tw-text-opacity: 1;
  color: rgb(255 68 68 / var(--tw-text-opacity, 1));
}
.text-\[\#ff6b6b\] {
  --tw-text-opacity: 1;
  color: rgb(255 107 107 / var(--tw-text-opacity, 1));
}
.text-\[rgb\(158\2c 158\2c 158\)\] {
  --tw-text-opacity: 1;
  color: rgb(158 158 158 / var(--tw-text-opacity, 1));
}
.text-\[rgb\(255\2c 152\2c 0\)\] {
  --tw-text-opacity: 1;
  color: rgb(255 152 0 / var(--tw-text-opacity, 1));
}
.text-\[rgb\(76\2c 175\2c 80\)\] {
  --tw-text-opacity: 1;
  color: rgb(76 175 80 / var(--tw-text-opacity, 1));
}
.text-\[var\(--nim-bg\)\] {
  color: var(--nim-bg);
}
.text-\[var\(--nim-bg-secondary\)\] {
  color: var(--nim-bg-secondary);
}
.text-\[var\(--nim-border\)\] {
  color: var(--nim-border);
}
.text-\[var\(--nim-code-text\)\] {
  color: var(--nim-code-text);
}
.text-\[var\(--nim-diff-added\)\] {
  color: var(--nim-diff-added);
}
.text-\[var\(--nim-diff-removed\)\] {
  color: var(--nim-diff-removed);
}
.text-\[var\(--nim-error\)\] {
  color: var(--nim-error);
}
.text-\[var\(--nim-error\2c \#dc2626\)\] {
  color: var(--nim-error,#dc2626);
}
.text-\[var\(--nim-error\2c \#ff4444\)\] {
  color: var(--nim-error,#ff4444);
}
.text-\[var\(--nim-file-committed\)\] {
  color: var(--nim-file-committed);
}
.text-\[var\(--nim-file-deleted\)\] {
  color: var(--nim-file-deleted);
}
.text-\[var\(--nim-file-edited\)\] {
  color: var(--nim-file-edited);
}
.text-\[var\(--nim-file-new\)\] {
  color: var(--nim-file-new);
}
.text-\[var\(--nim-highlight-text\)\] {
  color: var(--nim-highlight-text);
}
.text-\[var\(--nim-info\)\] {
  color: var(--nim-info);
}
.text-\[var\(--nim-link\)\] {
  color: var(--nim-link);
}
.text-\[var\(--nim-on-primary\)\] {
  color: var(--nim-on-primary);
}
.text-\[var\(--nim-primary\)\] {
  color: var(--nim-primary);
}
.text-\[var\(--nim-purple\)\] {
  color: var(--nim-purple);
}
.text-\[var\(--nim-success\)\] {
  color: var(--nim-success);
}
.text-\[var\(--nim-success\2c \#16a34a\)\] {
  color: var(--nim-success,#16a34a);
}
.text-\[var\(--nim-text\)\] {
  color: var(--nim-text);
}
.text-\[var\(--nim-text-disabled\)\] {
  color: var(--nim-text-disabled);
}
.text-\[var\(--nim-text-faint\)\] {
  color: var(--nim-text-faint);
}
.text-\[var\(--nim-text-muted\)\] {
  color: var(--nim-text-muted);
}
.text-\[var\(--nim-text-secondary\)\] {
  color: var(--nim-text-secondary);
}
.text-\[var\(--nim-warning\)\] {
  color: var(--nim-warning);
}
.text-\[var\(--nim-warning\2c \#d97706\)\] {
  color: var(--nim-warning,#d97706);
}
.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.text-blue-700 {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-emerald-500 {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green-400 {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-900 {
  --tw-text-opacity: 1;
  color: rgb(20 83 45 / var(--tw-text-opacity, 1));
}
.text-inherit {
  color: inherit;
}
.text-neutral-900 {
  --tw-text-opacity: 1;
  color: rgb(23 23 23 / var(--tw-text-opacity, 1));
}
.text-neutral-950 {
  --tw-text-opacity: 1;
  color: rgb(10 10 10 / var(--tw-text-opacity, 1));
}
.text-nim {
  color: var(--nim-text);
}
.text-nim-disabled {
  color: var(--nim-text-disabled);
}
.text-nim-error {
  color: var(--nim-error);
}
.text-nim-faint {
  color: var(--nim-text-faint);
}
.text-nim-info {
  color: var(--nim-info);
}
.text-nim-link {
  color: var(--nim-link);
}
.text-nim-muted {
  color: var(--nim-text-muted);
}
.text-nim-on-primary {
  color: var(--nim-on-primary);
}
.text-nim-primary {
  color: var(--nim-primary);
}
.text-nim-success {
  color: var(--nim-success);
}
.text-nim-text {
  color: var(--nim-text);
}
.text-nim-text-muted {
  color: var(--nim-text-muted);
}
.text-nim-warning {
  color: var(--nim-warning);
}
.text-orange-500 {
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}
.text-orange-600 {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.text-purple-400 {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}
.text-purple-500 {
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.text-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-teal-500 {
  --tw-text-opacity: 1;
  color: rgb(20 184 166 / var(--tw-text-opacity, 1));
}
.text-transparent {
  color: transparent;
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}
.text-yellow-500 {
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.line-through {
  text-decoration-line: line-through;
}
.no-underline {
  text-decoration-line: none;
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.caret-\[var\(--nim-text\)\] {
  caret-color: var(--nim-text);
}
.accent-\[var\(--nim-accent\)\] {
  accent-color: var(--nim-accent);
}
.accent-\[var\(--nim-primary\)\] {
  accent-color: var(--nim-primary);
}
.opacity-0 {
  opacity: 0;
}
.opacity-100 {
  opacity: 1;
}
.opacity-20 {
  opacity: 0.2;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-45 {
  opacity: 0.45;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-55 {
  opacity: 0.55;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-65 {
  opacity: 0.65;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-75 {
  opacity: 0.75;
}
.opacity-80 {
  opacity: 0.8;
}
.opacity-85 {
  opacity: 0.85;
}
.opacity-90 {
  opacity: 0.9;
}
.mix-blend-difference {
  mix-blend-mode: difference;
}
.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-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px 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-\[\#0003_0_0_0_0\.5px\] {
  --tw-shadow: #0003 0 0 0 0.5px;
  --tw-shadow-colored: 0 0 0 0.5px 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-\[0_0_0_1\.5px_var\(--nim-bg-secondary\)\] {
  --tw-shadow: 0 0 0 1.5px var(--nim-bg-secondary);
  --tw-shadow-colored: 0 0 0 1.5px 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-\[0_0_0_2px_var\(--nim-bg-secondary\)\] {
  --tw-shadow: 0 0 0 2px var(--nim-bg-secondary);
  --tw-shadow-colored: 0 0 0 2px 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-\[0_0_0_3px_rgba\(88\2c 166\2c 255\2c 0\.15\)\] {
  --tw-shadow: 0 0 0 3px rgba(88,166,255,0.15);
  --tw-shadow-colored: 0 0 0 3px 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-\[0_0_15px_\#00000026\] {
  --tw-shadow: 0 0 15px #00000026;
  --tw-shadow-colored: 0 0 15px 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-\[0_0_20px_0_rgba\(0\2c 0\2c 0\2c 0\.4\)\] {
  --tw-shadow: 0 0 20px 0 rgba(0,0,0,0.4);
  --tw-shadow-colored: 0 0 20px 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-\[0_10px_25px_-5px_rgba\(0\2c 0\2c 0\2c 0\.3\)\2c 0_4px_10px_-2px_rgba\(0\2c 0\2c 0\2c 0\.2\)\] {
  --tw-shadow: 0 10px 25px -5px rgba(0,0,0,0.3),0 4px 10px -2px rgba(0,0,0,0.2);
  --tw-shadow-colored: 0 10px 25px -5px var(--tw-shadow-color), 0 4px 10px -2px 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-\[0_10px_25px_rgba\(0\2c 0\2c 0\2c 0\.2\)\] {
  --tw-shadow: 0 10px 25px rgba(0,0,0,0.2);
  --tw-shadow-colored: 0 10px 25px 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-\[0_10px_40px_rgba\(0\2c 0\2c 0\2c 0\.2\)\] {
  --tw-shadow: 0 10px 40px rgba(0,0,0,0.2);
  --tw-shadow-colored: 0 10px 40px 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-\[0_12px_32px_rgba\(0\2c 0\2c 0\2c 0\.35\)\] {
  --tw-shadow: 0 12px 32px rgba(0,0,0,0.35);
  --tw-shadow-colored: 0 12px 32px 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-\[0_12px_32px_rgba\(0\2c 0\2c 0\2c 0\.4\)\2c 0_2px_8px_rgba\(0\2c 0\2c 0\2c 0\.2\)\] {
  --tw-shadow: 0 12px 32px rgba(0,0,0,0.4),0 2px 8px rgba(0,0,0,0.2);
  --tw-shadow-colored: 0 12px 32px var(--tw-shadow-color), 0 2px 8px 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-\[0_16px_48px_rgba\(0\2c 0\2c 0\2c 0\.3\)\] {
  --tw-shadow: 0 16px 48px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 16px 48px 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-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.05\)\] {
  --tw-shadow: 0 1px 2px rgba(0,0,0,0.05);
  --tw-shadow-colored: 0 1px 2px 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-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.1\)\] {
  --tw-shadow: 0 1px 2px rgba(0,0,0,0.1);
  --tw-shadow-colored: 0 1px 2px 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-\[0_1px_3px_rgba\(0\2c 0\2c 0\2c 0\.04\)\] {
  --tw-shadow: 0 1px 3px rgba(0,0,0,0.04);
  --tw-shadow-colored: 0 1px 3px 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-\[0_1px_3px_rgba\(0\2c 0\2c 0\2c 0\.1\)\] {
  --tw-shadow: 0 1px 3px rgba(0,0,0,0.1);
  --tw-shadow-colored: 0 1px 3px 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-\[0_20px_40px_rgba\(0\2c 0\2c 0\2c 0\.3\)\] {
  --tw-shadow: 0 20px 40px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 20px 40px 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-\[0_20px_50px_color-mix\(in_srgb\2c var\(--nim-text\)_18\%\2c transparent\)\] {
  --tw-shadow: 0 20px 50px color-mix(in srgb,var(--nim-text) 18%,transparent);
  --tw-shadow-colored: 0 20px 50px 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-\[0_20px_60px_rgba\(0\2c 0\2c 0\2c 0\.3\)\] {
  --tw-shadow: 0 20px 60px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 20px 60px 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-\[0_20px_60px_rgba\(0\2c 0\2c 0\2c 0\.4\)\] {
  --tw-shadow: 0 20px 60px rgba(0,0,0,0.4);
  --tw-shadow-colored: 0 20px 60px 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-\[0_25px_50px_-12px_rgba\(0\2c 0\2c 0\2c 0\.4\)\] {
  --tw-shadow: 0 25px 50px -12px rgba(0,0,0,0.4);
  --tw-shadow-colored: 0 25px 50px -12px 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-\[0_2px_4px_rgba\(0\2c 0\2c 0\2c 0\.1\)\] {
  --tw-shadow: 0 2px 4px rgba(0,0,0,0.1);
  --tw-shadow-colored: 0 2px 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-\[0_2px_8px_rgba\(59\2c 130\2c 246\2c 0\.15\)\] {
  --tw-shadow: 0 2px 8px rgba(59,130,246,0.15);
  --tw-shadow-colored: 0 2px 8px 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-\[0_2px_8px_rgba\(88\2c 166\2c 255\2c 0\.2\)\] {
  --tw-shadow: 0 2px 8px rgba(88,166,255,0.2);
  --tw-shadow-colored: 0 2px 8px 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-\[0_30px_100px_rgba\(0\2c 0\2c 0\2c 0\.35\)\] {
  --tw-shadow: 0 30px 100px rgba(0,0,0,0.35);
  --tw-shadow-colored: 0 30px 100px 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-\[0_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.1\)\] {
  --tw-shadow: 0 4px 12px rgba(0,0,0,0.1);
  --tw-shadow-colored: 0 4px 12px 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-\[0_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.15\)\] {
  --tw-shadow: 0 4px 12px rgba(0,0,0,0.15);
  --tw-shadow-colored: 0 4px 12px 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-\[0_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.18\)\] {
  --tw-shadow: 0 4px 12px rgba(0,0,0,0.18);
  --tw-shadow-colored: 0 4px 12px 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-\[0_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.24\)\] {
  --tw-shadow: 0 4px 12px rgba(0,0,0,0.24);
  --tw-shadow-colored: 0 4px 12px 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-\[0_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.3\)\] {
  --tw-shadow: 0 4px 12px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 4px 12px 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-\[0_4px_12px_rgba\(245\2c 158\2c 11\2c 0\.4\)\] {
  --tw-shadow: 0 4px 12px rgba(245,158,11,0.4);
  --tw-shadow-colored: 0 4px 12px 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-\[0_4px_16px_rgba\(0\2c 0\2c 0\2c 0\.15\)\2c 0_2px_4px_rgba\(0\2c 0\2c 0\2c 0\.1\)\] {
  --tw-shadow: 0 4px 16px rgba(0,0,0,0.15),0 2px 4px rgba(0,0,0,0.1);
  --tw-shadow-colored: 0 4px 16px var(--tw-shadow-color), 0 2px 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-\[0_4px_16px_rgba\(0\2c 0\2c 0\2c 0\.2\)\] {
  --tw-shadow: 0 4px 16px rgba(0,0,0,0.2);
  --tw-shadow-colored: 0 4px 16px 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-\[0_4px_16px_rgba\(0\2c 0\2c 0\2c 0\.3\)\] {
  --tw-shadow: 0 4px 16px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 4px 16px 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-\[0_4px_16px_rgba\(245\2c 158\2c 11\2c 0\.3\)\] {
  --tw-shadow: 0 4px 16px rgba(245,158,11,0.3);
  --tw-shadow-colored: 0 4px 16px 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-\[0_4px_20px_rgba\(0\2c 0\2c 0\2c 0\.15\)\] {
  --tw-shadow: 0 4px 20px rgba(0,0,0,0.15);
  --tw-shadow-colored: 0 4px 20px 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-\[0_4px_24px_rgba\(0\2c 0\2c 0\2c 0\.3\)\] {
  --tw-shadow: 0 4px 24px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 4px 24px 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-\[0_6px_18px_rgba\(0\2c 0\2c 0\2c 0\.22\)\] {
  --tw-shadow: 0 6px 18px rgba(0,0,0,0.22);
  --tw-shadow-colored: 0 6px 18px 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-\[0_8px_20px_color-mix\(in_srgb\2c var\(--nim-primary\)_28\%\2c transparent\)\] {
  --tw-shadow: 0 8px 20px color-mix(in srgb,var(--nim-primary) 28%,transparent);
  --tw-shadow-colored: 0 8px 20px 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-\[0_8px_24px_color-mix\(in_srgb\2c var\(--nim-text\)_16\%\2c transparent\)\] {
  --tw-shadow: 0 8px 24px color-mix(in srgb,var(--nim-text) 16%,transparent);
  --tw-shadow-colored: 0 8px 24px 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-\[0_8px_24px_rgba\(0\2c 0\2c 0\2c 0\.25\)\] {
  --tw-shadow: 0 8px 24px rgba(0,0,0,0.25);
  --tw-shadow-colored: 0 8px 24px 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-\[0_8px_24px_rgba\(0\2c 0\2c 0\2c 0\.3\)\] {
  --tw-shadow: 0 8px 24px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 8px 24px 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-\[0_8px_28px_rgba\(0\2c 0\2c 0\2c 0\.35\)\] {
  --tw-shadow: 0 8px 28px rgba(0,0,0,0.35);
  --tw-shadow-colored: 0 8px 28px 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-\[0_8px_32px_rgba\(0\2c 0\2c 0\2c 0\.24\)\] {
  --tw-shadow: 0 8px 32px rgba(0,0,0,0.24);
  --tw-shadow-colored: 0 8px 32px 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-\[0_8px_32px_rgba\(0\2c 0\2c 0\2c 0\.25\)\2c 0_2px_8px_rgba\(0\2c 0\2c 0\2c 0\.15\)\] {
  --tw-shadow: 0 8px 32px rgba(0,0,0,0.25),0 2px 8px rgba(0,0,0,0.15);
  --tw-shadow-colored: 0 8px 32px var(--tw-shadow-color), 0 2px 8px 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-\[0_8px_32px_rgba\(0\2c 0\2c 0\2c 0\.25\)\] {
  --tw-shadow: 0 8px 32px rgba(0,0,0,0.25);
  --tw-shadow-colored: 0 8px 32px 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-\[0_8px_32px_rgba\(0\2c 0\2c 0\2c 0\.3\)\] {
  --tw-shadow: 0 8px 32px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 8px 32px 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-\[0_8px_32px_rgba\(0\2c 0\2c 0\2c 0\.35\)\2c 0_2px_8px_rgba\(0\2c 0\2c 0\2c 0\.2\)\] {
  --tw-shadow: 0 8px 32px rgba(0,0,0,0.35),0 2px 8px rgba(0,0,0,0.2);
  --tw-shadow-colored: 0 8px 32px var(--tw-shadow-color), 0 2px 8px 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-\[0_8px_32px_rgba\(0\2c 0\2c 0\2c 0\.4\)\] {
  --tw-shadow: 0 8px 32px rgba(0,0,0,0.4);
  --tw-shadow-colored: 0 8px 32px 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-\[0_8px_32px_rgba\(0\2c 0\2c 0\2c 0\.45\)\] {
  --tw-shadow: 0 8px 32px rgba(0,0,0,0.45);
  --tw-shadow-colored: 0 8px 32px 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-\[0px_0px_2px_2px_rgba\(0\2c 0\2c 0\2c 0\.3\)\] {
  --tw-shadow: 0px 0px 2px 2px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0px 0px 2px 2px 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-\[inset_0_0_0_1px_var\(--nim-primary\)\] {
  --tw-shadow: inset 0 0 0 1px var(--nim-primary);
  --tw-shadow-colored: inset 0 0 0 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-\[inset_2px_0_0_var\(--nim-primary\)\] {
  --tw-shadow: inset 2px 0 0 var(--nim-primary);
  --tw-shadow-colored: inset 2px 0 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-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-none {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  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-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.outline-dashed {
  outline-style: dashed;
}
.outline-1 {
  outline-width: 1px;
}
.outline-2 {
  outline-width: 2px;
}
.-outline-offset-1 {
  outline-offset: -1px;
}
.-outline-offset-2 {
  outline-offset: -2px;
}
.outline-\[rgba\(239\2c 68\2c 68\2c 0\.4\)\] {
  outline-color: rgba(239,68,68,0.4);
}
.outline-\[rgba\(96\2c 165\2c 250\2c 0\.3\)\] {
  outline-color: rgba(96,165,250,0.3);
}
.outline-\[var\(--nim-primary\)\] {
  outline-color: var(--nim-primary);
}
.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-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(1px + 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-\[var\(--nim-primary\)\] {
  --tw-ring-color: var(--nim-primary);
}
.ring-offset-1 {
  --tw-ring-offset-width: 1px;
}
.ring-offset-\[var\(--nim-bg-secondary\)\] {
  --tw-ring-offset-color: var(--nim-bg-secondary);
}
.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);
}
.blur-2xl {
  --tw-blur: blur(40px);
  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-\[0_1px_1px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-drop-shadow: drop-shadow(0 1px 1px rgba(0,0,0,0.5));
  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);
}
.grayscale {
  --tw-grayscale: grayscale(100%);
  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) !important;
}
.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-\[10px\] {
  --tw-backdrop-blur: blur(10px);
  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-\[4px\] {
  --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-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);
}
.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-\[background-color\2c opacity\] {
  transition-property: background-color,opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[background\] {
  transition-property: background;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[border-color\] {
  transition-property: border-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[color\2c transform\] {
  transition-property: color,transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[filter\] {
  transition-property: filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[opacity\2c visibility\] {
  transition-property: opacity,visibility;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[stroke-dashoffset\] {
  transition-property: stroke-dashoffset;
  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-100 {
  transition-duration: 100ms;
}
.duration-150 {
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-75 {
  transition-duration: 75ms;
}
.ease-in {
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
.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);
}
.\[-webkit-app-region\:drag\] {
  -webkit-app-region: drag;
}
.\[-webkit-app-region\:no-drag\] {
  -webkit-app-region: no-drag;
}
.\[appearance\:textfield\] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
}
.\[container-name\:comment-surface\] {
  container-name: comment-surface;
}
.\[container-name\:inbox-surface\] {
  container-name: inbox-surface;
}
.\[container-name\:mcp-servers\] {
  container-name: mcp-servers;
}
.\[container-name\:plugin-content\] {
  container-name: plugin-content;
}
.\[container-type\:inline-size\] {
  container-type: inline-size;
}
.\[overflow-wrap\:anywhere\] {
  overflow-wrap: anywhere;
}
.\[scrollbar-width\:none\] {
  scrollbar-width: none;
}
.\[sessions\:createChildSessionAtom\] {
  sessions: createChildSessionAtom;
}
.\[status\:to-do\] {
  status: to-do;
}
/* Shared component utilities are now imported via JS in index.tsx */
/* Reset and base styles */
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: hidden;
}
#root {
  height: 100vh;
  overflow: hidden;
}
/* Menu-bar sessions panel window (`?mode=tray-panel`). The BrowserWindow is
   created with `transparent: true` + `vibrancy: 'popover'`, so nothing in the
   root chain may paint an opaque backdrop or the native material is hidden. */
html.tray-panel-window,
html.tray-panel-window body,
html.tray-panel-window #root {
  background: transparent;
}
/* =============================================================================
   Floating surfaces must opt out of the window drag region
   =============================================================================
   `.window-top-bar` is a full-width 38px `-webkit-app-region: drag` strip. On
   Windows (`titleBarStyle: 'hidden'`) Electron reports that rectangle to the OS
   as HTCAPTION, so the OS consumes the mouse event as a title-bar drag and the
   renderer never sees a click. Anything *painted over* the strip inherits that
   fate: Blink only subtracts rectangles that explicitly declare `no-drag`, and
   `-webkit-app-region` is not an inherited property, so a portalled popup
   overlapping the top 38px is simply dead.

   That is issue #1052 (NIM-2243): the project rail's `+` menu is bottom-aligned
   and grows upward, so once recent projects exist `shift()` clamps it to the top
   of the viewport and its first item, "Open folder…", lands inside the strip.
   The recents below y=38 stayed clickable, which is why it read as one broken
   button rather than a positioning bug.

   `[data-floating-ui-portal]` is the attribute @floating-ui/react stamps on every
   portal root, so this covers every popover/tooltip/menu in the app at once. The
   descendant selector is deliberate: the portal root and any intermediate wrapper
   are usually zero-height boxes around an absolutely-positioned child, so scoping
   to `> *` would subtract an empty rectangle and fix nothing. */
[data-floating-ui-portal],
[data-floating-ui-portal] * {
  -webkit-app-region: no-drag;
}
/* The interactive surfaces that still portal to `document.body` by hand rather
   than through @floating-ui, so they carry no portal attribute to hang the rule
   off. Only interactive ones are listed: a non-interactive overlay (the help
   tooltip is `pointer-events: none`) opting out would needlessly carve a hole in
   the draggable title bar underneath it. */
.generic-typeahead,
.session-context-menu,
.walkthrough-callout {
  -webkit-app-region: no-drag;
}
/* Global scrollbar styles for macOS "Always show scrollbars" setting */
/* These styles ensure scrollbars match the current theme */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: var(--nim-scrollbar-track);
}
::-webkit-scrollbar-thumb {
  background-color: var(--nim-scrollbar-thumb);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background-color: var(--nim-scrollbar-thumb-hover);
}
/* Material Symbols configuration */
.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: 'liga';
}
/* Dev mode indicator - show "DEV MODE" text sideways in navigation gutter */
body[data-dev-mode="true"] .nav-quick-access {
  position: relative;
}
body[data-dev-mode="true"] .nav-quick-access::before {
  content: var(--dev-mode-label, 'DEV MODE');
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
  transform-origin: center;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 1px;
  color: var(--nim-warning);
  opacity: 0.8;
  pointer-events: none;
  white-space: nowrap;
  z-index: 0;
}
/* ============================================= */
/* Update Toast Animations                       */
/* ============================================= */
@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes extension-dev-menu-appear {
  from {
    opacity: 0;
    transform: translateX(-4px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* =============================================================================
 * Lexical Change Group Highlighting
 * These classes are applied to Lexical nodes when navigating through diff changes
 * ============================================================================= */
.diff-group-highlight-removed {
  background-color: rgba(220, 38, 38, 0.15) !important;
}
.diff-group-highlight-added {
  background-color: rgba(22, 163, 74, 0.15) !important;
}
.diff-group-highlight-modified {
  background-color: rgba(59, 130, 246, 0.15) !important;
}
/* =============================================================================
 * Walkthrough Guide Styles
 * Animation and target highlight styles for the walkthrough system
 * ============================================================================= */
@keyframes walkthrough-fade-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes walkthrough-pulse {
  0%, 100% {
    opacity: 1;
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--nim-primary) 40%, transparent);
  }
  50% {
    opacity: 0.8;
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--nim-primary) 0%, transparent);
  }
}
/* Target element highlight - applied dynamically via JS */
.walkthrough-target-highlight {
  position: relative;
  z-index: 10000;
}
.walkthrough-target-highlight::after {
  content: '';
  position: absolute;
  inset: -4px;
  border: 2px solid var(--nim-primary);
  border-radius: 8px;
  pointer-events: none;
  animation: walkthrough-pulse 1.5s ease-in-out infinite;
}
/* =============================================================================
 * Contextual Tips Styles
 * Animation for the tip card system
 * ============================================================================= */
@keyframes tip-slide-in {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* ============================================
   File Tree Styles
   ============================================ */
.file-tree {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 13px;
}
.file-tree-item {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.file-tree-directory,
.file-tree-file {
  display: flex;
  align-items: center;
  padding: 2px 8px;
  cursor: pointer;
  transition: background-color 0.1s;
  white-space: nowrap;
  overflow: hidden;
  height: 28px;
  border-radius: 4px;
  color: var(--nim-text);
}
.file-tree-directory:hover,
.file-tree-file:hover {
  background-color: var(--nim-bg-hover);
}
.file-tree-file.active {
  background-color: var(--nim-bg-selected);
  color: var(--nim-text);
}
.file-tree-directory.selected {
  background-color: var(--nim-bg-selected);
  color: var(--nim-text);
}
/* Multi-selection styles */
.file-tree-file.multi-selected,
.file-tree-directory.multi-selected {
  background-color: var(--nim-bg-selected);
  color: var(--nim-text);
}
.file-tree-chevron {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  margin-right: 2px;
  flex-shrink: 0;
  color: var(--nim-text-muted);
}
.file-tree-spacer {
  width: 18px;
  flex-shrink: 0;
}
.file-tree-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 6px;
  flex-shrink: 0;
  color: var(--nim-text-muted);
}
.file-tree-file.active .file-tree-icon,
.file-tree-directory.selected .file-tree-icon,
.file-tree-directory.selected .file-tree-chevron,
.file-tree-file.multi-selected .file-tree-icon,
.file-tree-directory.multi-selected .file-tree-icon,
.file-tree-directory.multi-selected .file-tree-chevron {
  color: var(--nim-text);
}
/* Special directories (nimbalyst-local) */
.file-tree-directory.special-directory .file-tree-icon {
  color: var(--nim-purple);
}
.file-tree-directory.special-directory.selected .file-tree-icon {
  color: var(--nim-purple);
  opacity: 0.8;
}
.file-tree-name {
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 13px;
  line-height: 1;
  color: var(--nim-text);
}
/* Git Status Badge in File Tree */
.file-tree-git-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  font-size: 0.65rem;
  font-weight: 600;
  border-radius: 2px;
  flex-shrink: 0;
  color: white;
  margin-left: auto;
  margin-right: 4px;
}
.file-tree-git-status--modified {
  background-color: var(--nim-warning);
}
.file-tree-git-status--staged {
  background-color: var(--nim-success);
}
.file-tree-git-status--untracked {
  background-color: var(--nim-text-faint);
}
.file-tree-git-status--deleted {
  background-color: var(--nim-error);
}
.file-tree-git-status--inherited {
  opacity: 0.5;
}
/* Flat virtualized file tree container */
.file-tree-container {
  height: 100%;
  position: relative;
  font-size: 13px;
  outline: none;
}
/* Keyboard focus indicator (distinct from selection) */
.file-tree-file.focused,
.file-tree-directory.focused {
  outline: 1px solid var(--nim-primary);
  outline-offset: -1px;
}
/* Inline rename input */
.file-tree-rename-input {
  background: var(--nim-bg);
  border: 1px solid var(--nim-primary);
  border-radius: 2px;
  color: var(--nim-text);
  font-size: 13px;
  font-family: inherit;
  padding: 0 4px;
  height: 22px;
  width: 100%;
  outline: none;
}
/* Drag and drop styles */
.file-tree-directory.drag-over {
  background-color: var(--nim-bg-selected) !important;
  outline: 2px solid var(--nim-primary);
  outline-offset: -2px;
}
/* Command pills: highlight known /command tokens inside the AI chat input.
   The overlay text sits over a transparent textarea, so a pill must NOT change
   glyph advance -- tint via background + box-shadow spread (no padding/border/
   font-weight change) so the caret stays aligned with the text beneath. */
.command-pill {
  color: var(--nim-primary);
  background-color: color-mix(in srgb, var(--nim-primary) 14%, transparent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--nim-primary) 14%, transparent);
  border-radius: 4px;
}
.command-pill:hover {
  background-color: color-mix(in srgb, var(--nim-primary) 24%, transparent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--nim-primary) 24%, transparent);
}
/* Mention pills: tint `@` file refs and `@@[title](id)` session mentions inside
   the AI chat input. Same glyph-advance constraint as .command-pill (tint only,
   no padding/border/font-weight). Kept visually lighter than the command tint and
   given distinct hues: neutral/gray for files, purple accent for sessions. These
   are pure decoration -- no hover, no pointer events. */
.mention-pill-file {
  color: var(--nim-text);
  background-color: color-mix(in srgb, var(--nim-text-muted) 16%, transparent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--nim-text-muted) 16%, transparent);
  border-radius: 4px;
}
.mention-pill-session {
  color: var(--nim-purple);
  background-color: color-mix(in srgb, var(--nim-purple) 12%, transparent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--nim-purple) 12%, transparent);
  border-radius: 4px;
}
/* Chat sidebar header: on a narrow panel the session title truncates (flex-1)
   while the actions stay pinned (shrink-0), so "New" never clips. Below the
   threshold, collapse the "New" button to an icon-only primary pill to reclaim
   space for the title. The header sets container-type via [container-type:inline-size],
   so this native container query resolves against the header's own width. The
   @tailwindcss/container-queries plugin is not installed, hence hand-written CSS. */
@container (max-width: 230px) {
  .chat-sidebar-new-label {
    display: none;
  }
  .chat-sidebar-new-button {
    padding-left: 0.375rem;
    padding-right: 0.375rem;
  }
}
/* Files empty state: lay the two action cards (New file / Ask the agent) side by
   side once the welcome area is wide enough. The .workspace-welcome wrapper sets
   container-type via [container-type:inline-size], so this native container query
   resolves against the available width. Native CSS because the
   @tailwindcss/container-queries plugin is not installed. */
@container (min-width: 520px) {
  .workspace-welcome-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* Inbox (org-management window): the delivery list and its right-hand context
   pane only both fit once the surface is wide. Below the threshold the pane is
   dropped and the list takes the full width -- the org window's default size
   lands in that narrow band, so this is the common case, not the exception.
   .inbox-surface sets container-type/name via [container-type:inline-size], so
   this resolves against the surface itself rather than the OS window (the left
   nav is 200px of it). Native CSS because the @tailwindcss/container-queries
   plugin is not installed. */
@container inbox-surface (max-width: 900px) {
  .inbox-context-slot {
    display: none;
  }
}
/* Narrow inbox rows: drop the org/project footer and the source glyph before
   the preview text starts wrapping to three lines. Qualified by .inbox-surface
   so it outranks the equal-specificity Tailwind `flex` utility on those
   elements -- an unqualified `.inbox-row-footer { display: none }` loses that
   tie and the rule silently does nothing. */
@container inbox-surface (max-width: 560px) {
  .inbox-surface .inbox-row-footer,
  .inbox-surface .inbox-row-source-icon {
    display: none;
  }
}
/* Shared comment surface (rooms, document discussions, DMs, tracker comments,
   inline document comments): the same rows serve a full-width room and a ~300px
   conversation panel beside a tracker. .comment-thread carries both
   [container-type:inline-size] and [container-name:comment-surface] -- the name
   is a separate utility, and without it these queries match nothing -- so they
   resolve against the panel rather than the OS window. Native CSS because the
   @tailwindcss/container-queries plugin is not installed.

   Selectors are qualified with .comment-thread so they outrank the
   equal-specificity Tailwind utilities on the same elements -- an unqualified
   rule loses that tie and silently does nothing. */
@container comment-surface (max-width: 420px) {
  /* A pill's secondary line and status chip are the first thing to go: the
     primary label still identifies the target, and three-line pills make a
     narrow panel unreadable. */
  .comment-thread .resource-pill-secondary,
  .comment-thread .resource-pill-state {
    display: none;
  }
  /* Reclaim the avatar gutter; the avatar shrinks with it. */
  .comment-thread .comment-row-gutter {
    width: 1.25rem;
  }
  .comment-thread .comment-row-avatar {
    width: 1.25rem;
    height: 1.25rem;
  }
  .comment-thread .comment-row {
    gap: 0.375rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
@container comment-surface (max-width: 340px) {
  /* Below this the composer preview costs more vertical space than it earns;
     the attachment tray still confirms what is referenced. */
  .comment-thread .comment-composer-preview {
    display: none;
  }
  /* The session chip's label is redundant with the row header at this width. */
  .comment-thread .comment-row-session-chip-label {
    display: none;
  }
}
.placeholder\:text-xs::-moz-placeholder {
  font-size: 0.75rem;
  line-height: 1rem;
}
.placeholder\:text-xs::placeholder {
  font-size: 0.75rem;
  line-height: 1rem;
}
.placeholder\:font-normal::-moz-placeholder {
  font-weight: 400;
}
.placeholder\:font-normal::placeholder {
  font-weight: 400;
}
.placeholder\:text-\[var\(--nim-text-faint\)\]::-moz-placeholder {
  color: var(--nim-text-faint);
}
.placeholder\:text-\[var\(--nim-text-faint\)\]::placeholder {
  color: var(--nim-text-faint);
}
.placeholder\:text-\[var\(--nim-text-muted\)\]::-moz-placeholder {
  color: var(--nim-text-muted);
}
.placeholder\:text-\[var\(--nim-text-muted\)\]::placeholder {
  color: var(--nim-text-muted);
}
.placeholder\:text-nim-faint::-moz-placeholder {
  color: var(--nim-text-faint);
}
.placeholder\:text-nim-faint::placeholder {
  color: var(--nim-text-faint);
}
.placeholder\:text-nim-muted::-moz-placeholder {
  color: var(--nim-text-muted);
}
.placeholder\:text-nim-muted::placeholder {
  color: var(--nim-text-muted);
}
.before\:pointer-events-none::before {
  content: var(--tw-content);
  pointer-events: none;
}
.before\:fixed::before {
  content: var(--tw-content);
  position: fixed;
}
.before\:absolute::before {
  content: var(--tw-content);
  position: absolute;
}
.before\:inset-0::before {
  content: var(--tw-content);
  inset: 0px;
}
.before\:inset-x-0::before {
  content: var(--tw-content);
  left: 0px;
  right: 0px;
}
.before\:bottom-0::before {
  content: var(--tw-content);
  bottom: 0px;
}
.before\:bottom-0\.5::before {
  content: var(--tw-content);
  bottom: 0.125rem;
}
.before\:left-0::before {
  content: var(--tw-content);
  left: 0px;
}
.before\:left-0\.5::before {
  content: var(--tw-content);
  left: 0.125rem;
}
.before\:left-1\/2::before {
  content: var(--tw-content);
  left: 50%;
}
.before\:right-0::before {
  content: var(--tw-content);
  right: 0px;
}
.before\:top-0::before {
  content: var(--tw-content);
  top: 0px;
}
.before\:top-0\.5::before {
  content: var(--tw-content);
  top: 0.125rem;
}
.before\:top-1\/2::before {
  content: var(--tw-content);
  top: 50%;
}
.before\:z-\[1000\]::before {
  content: var(--tw-content);
  z-index: 1000;
}
.before\:mr-1\.5::before {
  content: var(--tw-content);
  margin-right: 0.375rem;
}
.before\:h-0\.5::before {
  content: var(--tw-content);
  height: 0.125rem;
}
.before\:h-10::before {
  content: var(--tw-content);
  height: 2.5rem;
}
.before\:h-4::before {
  content: var(--tw-content);
  height: 1rem;
}
.before\:h-5::before {
  content: var(--tw-content);
  height: 1.25rem;
}
.before\:h-8::before {
  content: var(--tw-content);
  height: 2rem;
}
.before\:h-\[38px\]::before {
  content: var(--tw-content);
  height: 38px;
}
.before\:h-px::before {
  content: var(--tw-content);
  height: 1px;
}
.before\:w-0\.5::before {
  content: var(--tw-content);
  width: 0.125rem;
}
.before\:w-4::before {
  content: var(--tw-content);
  width: 1rem;
}
.before\:w-5::before {
  content: var(--tw-content);
  width: 1.25rem;
}
.before\:w-8::before {
  content: var(--tw-content);
  width: 2rem;
}
.before\:flex-1::before {
  content: var(--tw-content);
  flex: 1 1 0%;
}
.before\:-translate-x-1\/2::before {
  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));
}
.before\:-translate-y-1\/2::before {
  content: var(--tw-content);
  --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));
}
.before\:translate-x-4::before {
  content: var(--tw-content);
  --tw-translate-x: 1rem;
  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));
}
.before\:translate-x-5::before {
  content: var(--tw-content);
  --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));
}
.before\:rounded-full::before {
  content: var(--tw-content);
  border-radius: 9999px;
}
.before\:bg-\[var\(--nim-border\)\]::before {
  content: var(--tw-content);
  background-color: var(--nim-border);
}
.before\:bg-\[var\(--nim-primary\)\]::before {
  content: var(--tw-content);
  background-color: var(--nim-primary);
}
.before\:bg-nim::before {
  content: var(--tw-content);
  background-color: var(--nim-bg);
}
.before\:bg-white::before {
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.before\:bg-\[radial-gradient\(circle_at_top\2c color-mix\(in_srgb\2c var\(--nim-purple\)_24\%\2c transparent\)\2c transparent_68\%\)\]::before {
  content: var(--tw-content);
  background-image: radial-gradient(circle at top,color-mix(in srgb,var(--nim-purple) 24%,transparent),transparent 68%);
}
.before\:shadow-\[0_1px_3px_rgba\(0\2c 0\2c 0\2c 0\.2\)\]::before {
  content: var(--tw-content);
  --tw-shadow: 0 1px 3px rgba(0,0,0,0.2);
  --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.before\:shadow-\[0_2px_8px_rgba\(0\2c 0\2c 0\2c 0\.2\)\]::before {
  content: var(--tw-content);
  --tw-shadow: 0 2px 8px rgba(0,0,0,0.2);
  --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.before\:shadow-sm::before {
  content: var(--tw-content);
  --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);
}
.before\:transition-all::before {
  content: var(--tw-content);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.before\:transition-colors::before {
  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;
}
.before\:transition-transform::before {
  content: var(--tw-content);
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.before\:duration-150::before {
  content: var(--tw-content);
  transition-duration: 150ms;
}
.before\:duration-200::before {
  content: var(--tw-content);
  transition-duration: 200ms;
}
.before\:content-\[\'\'\]::before {
  --tw-content: '';
  content: var(--tw-content);
}
.before\:content-\[\'\\00b7\'\]::before {
  --tw-content: '\00b7';
  content: var(--tw-content);
}
.before\:\[-webkit-app-region\:drag\]::before {
  content: var(--tw-content);
  -webkit-app-region: drag;
}
.after\:h-1\.5::after {
  content: var(--tw-content);
  height: 0.375rem;
}
.after\:h-px::after {
  content: var(--tw-content);
  height: 1px;
}
.after\:w-1\.5::after {
  content: var(--tw-content);
  width: 0.375rem;
}
.after\:flex-1::after {
  content: var(--tw-content);
  flex: 1 1 0%;
}
.after\:-rotate-45::after {
  content: var(--tw-content);
  --tw-rotate: -45deg;
  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\:border-b-2::after {
  content: var(--tw-content);
  border-bottom-width: 2px;
}
.after\:border-r-2::after {
  content: var(--tw-content);
  border-right-width: 2px;
}
.after\:border-\[var\(--nim-text-faint\)\]::after {
  content: var(--tw-content);
  border-color: var(--nim-text-faint);
}
.after\:bg-\[var\(--nim-border\)\]::after {
  content: var(--tw-content);
  background-color: var(--nim-border);
}
.after\:transition-transform::after {
  content: var(--tw-content);
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.after\:duration-200::after {
  content: var(--tw-content);
  transition-duration: 200ms;
}
.after\:content-\[\'\'\]::after {
  --tw-content: '';
  content: var(--tw-content);
}
.first\:mt-0:first-child {
  margin-top: 0px;
}
.first\:mt-1:first-child {
  margin-top: 0.25rem;
}
.first\:border-t-0:first-child {
  border-top-width: 0px;
}
.last\:mb-0:last-child {
  margin-bottom: 0px;
}
.last\:border-b-0:last-child {
  border-bottom-width: 0px;
}
.last\:border-r-0:last-child {
  border-right-width: 0px;
}
.last\:pb-0:last-child {
  padding-bottom: 0px;
}
.checked\:border-\[var\(--nim-primary\)\]:checked {
  border-color: var(--nim-primary);
}
.checked\:bg-\[var\(--nim-primary\)\]:checked {
  background-color: var(--nim-primary);
}
.checked\:bg-\[url\(\'data\:image\/svg\+xml\2c \%3Csvg\%20xmlns\=\%27http\:\/\/www\.w3\.org\/2000\/svg\%27\%20viewBox\=\%270\%200\%2024\%2024\%27\%20fill\=\%27white\%27\%3E\%3Cpath\%20d\=\%27M9\%2016\.17L4\.83\%2012l-1\.42\%201\.41L9\%2019\%2021\%207l-1\.41-1\.41L9\%2016\.17z\%27\/\%3E\%3C\/svg\%3E\'\)\]:checked {
  background-image: url('data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27white%27%3E%3Cpath%20d=%27M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41L9%2016.17z%27/%3E%3C/svg%3E');
}
.checked\:bg-\[length\:14px\]:checked {
  background-size: 14px;
}
.checked\:bg-center:checked {
  background-position: center;
}
.checked\:bg-no-repeat:checked {
  background-repeat: no-repeat;
}
.focus-within\:border-\[var\(--nim-border-focus\)\]:focus-within {
  border-color: var(--nim-border-focus);
}
.focus-within\:border-\[var\(--nim-primary\)\]:focus-within {
  border-color: var(--nim-primary);
}
.focus-within\:border-nim-focus:focus-within {
  border-color: var(--nim-border-focus);
}
.focus-within\:opacity-100:focus-within {
  opacity: 1;
}
.focus-within\:shadow-\[0_0_0_2px_rgba\(59\2c 130\2c 246\2c 0\.1\)\]:focus-within {
  --tw-shadow: 0 0 0 2px rgba(59,130,246,0.1);
  --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:z-10:hover {
  z-index: 10;
}
.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\:scale-105:hover {
  --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));
}
.hover\:scale-110:hover {
  --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));
}
.hover\:animate-none:hover {
  animation: none;
}
.hover\:border-\[\#e74c3c\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(231 76 60 / var(--tw-border-opacity, 1));
}
.hover\:border-\[color-mix\(in_srgb\2c var\(--nim-primary\)_30\%\2c transparent\)\]:hover {
  border-color: color-mix(in srgb,var(--nim-primary) 30%,transparent);
}
.hover\:border-\[color-mix\(in_srgb\2c var\(--nim-primary\)_45\%\2c var\(--nim-border\)\)\]:hover {
  border-color: color-mix(in srgb,var(--nim-primary) 45%,var(--nim-border));
}
.hover\:border-\[rgba\(251\2c 191\2c 36\2c 0\.3\)\]:hover {
  border-color: rgba(251,191,36,0.3);
}
.hover\:border-\[var\(--nim-border\)\]:hover {
  border-color: var(--nim-border);
}
.hover\:border-\[var\(--nim-border-focus\)\]:hover {
  border-color: var(--nim-border-focus);
}
.hover\:border-\[var\(--nim-border-hover\)\]:hover {
  border-color: var(--nim-border-hover);
}
.hover\:border-\[var\(--nim-border-secondary\)\]:hover {
  border-color: var(--nim-border-secondary);
}
.hover\:border-\[var\(--nim-error\)\]:hover {
  border-color: var(--nim-error);
}
.hover\:border-\[var\(--nim-primary\)\]:hover {
  border-color: var(--nim-primary);
}
.hover\:border-\[var\(--nim-text-faint\)\]:hover {
  border-color: var(--nim-text-faint);
}
.hover\:border-\[var\(--nim-text-muted\)\]:hover {
  border-color: var(--nim-text-muted);
}
.hover\:border-nim:hover {
  border-color: var(--nim-border);
}
.hover\:border-nim-focus:hover {
  border-color: var(--nim-border-focus);
}
.hover\:border-nim-primary:hover {
  border-color: var(--nim-primary);
}
.hover\:\!bg-\[color-mix\(in_srgb\2c var\(--nim-error\)_14\%\2c transparent\)\]:hover {
  background-color: color-mix(in srgb,var(--nim-error) 14%,transparent) !important;
}
.hover\:bg-\[\#78350f\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(120 53 15 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#e74c3c\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(231 76 60 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[color-mix\(in_srgb\2c var\(--nim-error\)_10\%\2c transparent\)\]:hover {
  background-color: color-mix(in srgb,var(--nim-error) 10%,transparent);
}
.hover\:bg-\[color-mix\(in_srgb\2c var\(--nim-error\)_12\%\2c transparent\)\]:hover {
  background-color: color-mix(in srgb,var(--nim-error) 12%,transparent);
}
.hover\:bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_10\%\2c transparent\)\]:hover {
  background-color: color-mix(in srgb,var(--nim-primary) 10%,transparent);
}
.hover\:bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_15\%\2c transparent\)\]:hover {
  background-color: color-mix(in srgb,var(--nim-primary) 15%,transparent);
}
.hover\:bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_18\%\2c transparent\)\]:hover {
  background-color: color-mix(in srgb,var(--nim-primary) 18%,transparent);
}
.hover\:bg-\[color-mix\(in_srgb\2c var\(--nim-primary\)_5\%\2c transparent\)\]:hover {
  background-color: color-mix(in srgb,var(--nim-primary) 5%,transparent);
}
.hover\:bg-\[color-mix\(in_srgb\2c var\(--nim-text\)_14\%\2c transparent\)\]:hover {
  background-color: color-mix(in srgb,var(--nim-text) 14%,transparent);
}
.hover\:bg-\[rgba\(0\2c 122\2c 255\2c 0\.25\)\]:hover {
  background-color: rgba(0,122,255,0.25);
}
.hover\:bg-\[rgba\(168\2c 85\2c 247\2c 0\.25\)\]:hover {
  background-color: rgba(168,85,247,0.25);
}
.hover\:bg-\[rgba\(239\2c 68\2c 68\2c 0\.1\)\]:hover {
  background-color: rgba(239,68,68,0.1);
}
.hover\:bg-\[rgba\(245\2c 158\2c 11\2c 0\.12\)\]:hover {
  background-color: rgba(245,158,11,0.12);
}
.hover\:bg-\[rgba\(251\2c 191\2c 36\2c 0\.12\)\]:hover {
  background-color: rgba(251,191,36,0.12);
}
.hover\:bg-\[rgba\(251\2c 191\2c 36\2c 0\.15\)\]:hover {
  background-color: rgba(251,191,36,0.15);
}
.hover\:bg-\[var\(--nim-accent-subtle\)\]:hover {
  background-color: var(--nim-accent-subtle);
}
.hover\:bg-\[var\(--nim-bg-active\)\]:hover {
  background-color: var(--nim-bg-active);
}
.hover\:bg-\[var\(--nim-bg-hover\)\]:hover {
  background-color: var(--nim-bg-hover);
}
.hover\:bg-\[var\(--nim-bg-secondary\)\]:hover {
  background-color: var(--nim-bg-secondary);
}
.hover\:bg-\[var\(--nim-bg-tertiary\)\]:hover {
  background-color: var(--nim-bg-tertiary);
}
.hover\:bg-\[var\(--nim-border\)\]:hover {
  background-color: var(--nim-border);
}
.hover\:bg-\[var\(--nim-error\)\]:hover {
  background-color: var(--nim-error);
}
.hover\:bg-\[var\(--nim-error-light\)\]:hover {
  background-color: var(--nim-error-light);
}
.hover\:bg-\[var\(--nim-error-subtle\)\]:hover {
  background-color: var(--nim-error-subtle);
}
.hover\:bg-\[var\(--nim-hover\)\]:hover {
  background-color: var(--nim-hover);
}
.hover\:bg-\[var\(--nim-primary\)\]:hover {
  background-color: var(--nim-primary);
}
.hover\:bg-\[var\(--nim-primary-hover\)\]:hover {
  background-color: var(--nim-primary-hover);
}
.hover\:bg-\[var\(--nim-surface-active\)\]:hover {
  background-color: var(--nim-surface-active);
}
.hover\:bg-\[var\(--nim-surface-hover\)\]:hover {
  background-color: var(--nim-surface-hover);
}
.hover\:bg-\[var\(--nim-text-faint\)\]:hover {
  background-color: var(--nim-text-faint);
}
.hover\:bg-black\/5:hover {
  background-color: rgb(0 0 0 / 0.05);
}
.hover\:bg-blue-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-400\/\[0\.18\]:hover {
  background-color: rgb(96 165 250 / 0.18);
}
.hover\:bg-emerald-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.hover\:bg-nim:hover {
  background-color: var(--nim-bg);
}
.hover\:bg-nim-active:hover {
  background-color: var(--nim-bg-active);
}
.hover\:bg-nim-hover:hover {
  background-color: var(--nim-bg-hover);
}
.hover\:bg-nim-primary-hover:hover {
  background-color: var(--nim-primary-hover);
}
.hover\:bg-nim-secondary:hover {
  background-color: var(--nim-bg-secondary);
}
.hover\:bg-nim-tertiary:hover {
  background-color: var(--nim-bg-tertiary);
}
.hover\:bg-orange-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 215 170 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-500\/10:hover {
  background-color: rgb(239 68 68 / 0.1);
}
.hover\:bg-red-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}
.hover\:bg-transparent:hover {
  background-color: transparent;
}
.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}
.hover\:text-\[\#c084fc\]:hover {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}
.hover\:text-\[\#ef4444\]:hover {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.hover\:text-\[var\(--nim-bg\)\]:hover {
  color: var(--nim-bg);
}
.hover\:text-\[var\(--nim-error\)\]:hover {
  color: var(--nim-error);
}
.hover\:text-\[var\(--nim-link-hover\)\]:hover {
  color: var(--nim-link-hover);
}
.hover\:text-\[var\(--nim-primary\)\]:hover {
  color: var(--nim-primary);
}
.hover\:text-\[var\(--nim-primary-hover\)\]:hover {
  color: var(--nim-primary-hover);
}
.hover\:text-\[var\(--nim-text\)\]:hover {
  color: var(--nim-text);
}
.hover\:text-\[var\(--nim-text-muted\)\]:hover {
  color: var(--nim-text-muted);
}
.hover\:text-\[var\(--nim-warning\)\]:hover {
  color: var(--nim-warning);
}
.hover\:text-green-500:hover {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.hover\:text-nim:hover {
  color: var(--nim-text);
}
.hover\:text-nim-error:hover {
  color: var(--nim-error);
}
.hover\:text-nim-link-hover:hover {
  color: var(--nim-link-hover);
}
.hover\:text-nim-muted:hover {
  color: var(--nim-text-muted);
}
.hover\:text-nim-primary:hover {
  color: var(--nim-primary);
}
.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover {
  text-decoration-line: underline;
}
.hover\:\!opacity-100:hover {
  opacity: 1 !important;
}
.hover\:opacity-100:hover {
  opacity: 1;
}
.hover\:opacity-60:hover {
  opacity: 0.6;
}
.hover\:opacity-70:hover {
  opacity: 0.7;
}
.hover\:opacity-80:hover {
  opacity: 0.8;
}
.hover\:opacity-85:hover {
  opacity: 0.85;
}
.hover\:opacity-90:hover {
  opacity: 0.9;
}
.hover\:shadow-\[0_4px_12px_rgba\(88\2c 166\2c 255\2c 0\.3\)\]:hover {
  --tw-shadow: 0 4px 12px rgba(88,166,255,0.3);
  --tw-shadow-colored: 0 4px 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_6px_16px_rgba\(0\2c 0\2c 0\2c 0\.3\)\]:hover {
  --tw-shadow: 0 6px 16px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 6px 16px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_6px_16px_rgba\(245\2c 158\2c 11\2c 0\.5\)\]:hover {
  --tw-shadow: 0 6px 16px rgba(245,158,11,0.5);
  --tw-shadow-colored: 0 6px 16px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-lg:hover {
  --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);
}
.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:ring-1:hover {
  --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(1px + 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);
}
.hover\:ring-\[var\(--nim-primary\)\]:hover {
  --tw-ring-color: var(--nim-primary);
}
.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\:brightness-125:hover {
  --tw-brightness: brightness(1.25);
  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\:brightness-90:hover {
  --tw-brightness: brightness(.9);
  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\:before\:bg-\[var\(--nim-primary\)\]:hover::before {
  content: var(--tw-content);
  background-color: var(--nim-primary);
}
.hover\:before\:bg-nim-primary:hover::before {
  content: var(--tw-content);
  background-color: var(--nim-primary);
}
.focus\:border-\[var\(--nim-border-focus\)\]:focus {
  border-color: var(--nim-border-focus);
}
.focus\:border-\[var\(--nim-primary\)\]:focus {
  border-color: var(--nim-primary);
}
.focus\:border-nim-focus:focus {
  border-color: var(--nim-border-focus);
}
.focus\:border-nim-primary:focus {
  border-color: var(--nim-primary);
}
.focus\:bg-\[var\(--nim-bg\)\]:focus {
  background-color: var(--nim-bg);
}
.focus\:opacity-100:focus {
  opacity: 1;
}
.focus\:shadow-\[0_0_0_2px_rgba\(59\2c 130\2c 246\2c 0\.1\)\]:focus {
  --tw-shadow: 0 0 0 2px rgba(59,130,246,0.1);
  --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.focus\:shadow-\[0_0_0_3px_color-mix\(in_srgb\2c var\(--nim-primary\)_10\%\2c transparent\)\]:focus {
  --tw-shadow: 0 0 0 3px color-mix(in srgb,var(--nim-primary) 10%,transparent);
  --tw-shadow-colored: 0 0 0 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:outline-2:focus {
  outline-width: 2px;
}
.focus\:-outline-offset-2:focus {
  outline-offset: -2px;
}
.focus\:outline-offset-2:focus {
  outline-offset: 2px;
}
.focus\:outline-offset-\[-2px\]:focus {
  outline-offset: -2px;
}
.focus\:outline-\[var\(--nim-border-focus\)\]:focus {
  outline-color: var(--nim-border-focus);
}
.focus\:outline-\[var\(--nim-primary\)\]:focus {
  outline-color: var(--nim-primary);
}
.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-nim-primary:focus {
  --tw-ring-color: var(--nim-primary);
}
.focus-visible\:rounded:focus-visible {
  border-radius: 0.25rem;
}
.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-1:focus-visible {
  outline-width: 1px;
}
.focus-visible\:outline-2:focus-visible {
  outline-width: 2px;
}
.focus-visible\:outline-offset-2:focus-visible {
  outline-offset: 2px;
}
.focus-visible\:outline-offset-\[-2px\]:focus-visible {
  outline-offset: -2px;
}
.focus-visible\:outline-\[var\(--nim-border-focus\)\]:focus-visible {
  outline-color: var(--nim-border-focus);
}
.focus-visible\:outline-\[var\(--nim-primary\)\]:focus-visible {
  outline-color: var(--nim-primary);
}
.focus-visible\:ring-1: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(1px + 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-\[var\(--nim-border-focus\)\]:focus-visible {
  --tw-ring-color: var(--nim-border-focus);
}
.focus-visible\:\[outline-offset\:-2px\]:focus-visible {
  outline-offset: -2px;
}
.focus-visible\:\[outline\:2px_solid_var\(--nim-border-focus\)\]:focus-visible {
  outline: 2px solid var(--nim-border-focus);
}
.active\:translate-y-0:active {
  --tw-translate-y: 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));
}
.active\:scale-95:active {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  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));
}
.active\:scale-\[0\.97\]:active {
  --tw-scale-x: 0.97;
  --tw-scale-y: 0.97;
  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));
}
.active\:scale-\[0\.98\]:active {
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  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));
}
.active\:cursor-grabbing:active {
  cursor: grabbing;
}
.active\:bg-\[var\(--nim-bg-secondary\)\]:active {
  background-color: var(--nim-bg-secondary);
}
.active\:bg-\[var\(--nim-bg-tertiary\)\]:active {
  background-color: var(--nim-bg-tertiary);
}
.active\:opacity-80:active {
  opacity: 0.8;
}
.hover\:enabled\:scale-105:enabled:hover {
  --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));
}
.hover\:enabled\:border-\[var\(--nim-border-secondary\)\]:enabled:hover {
  border-color: var(--nim-border-secondary);
}
.enabled\:hover\:bg-nim-hover:hover:enabled {
  background-color: var(--nim-bg-hover);
}
.hover\:enabled\:bg-\[\#e74c3c\]:enabled:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(231 76 60 / var(--tw-bg-opacity, 1));
}
.hover\:enabled\:bg-\[color-mix\(in_srgb\2c var\(--nim-warning\)_15\%\2c transparent\)\]:enabled:hover {
  background-color: color-mix(in srgb,var(--nim-warning) 15%,transparent);
}
.hover\:enabled\:bg-\[var\(--nim-bg-hover\)\]:enabled:hover {
  background-color: var(--nim-bg-hover);
}
.hover\:enabled\:bg-\[var\(--nim-bg-tertiary\)\]:enabled:hover {
  background-color: var(--nim-bg-tertiary);
}
.hover\:enabled\:bg-\[var\(--nim-primary-hover\)\]:enabled:hover {
  background-color: var(--nim-primary-hover);
}
.hover\:enabled\:bg-amber-400\/15:enabled:hover {
  background-color: rgb(251 191 36 / 0.15);
}
.hover\:enabled\:bg-nim-hover:enabled:hover {
  background-color: var(--nim-bg-hover);
}
.hover\:enabled\:text-\[var\(--nim-text\)\]:enabled:hover {
  color: var(--nim-text);
}
.hover\:enabled\:text-nim:enabled:hover {
  color: var(--nim-text);
}
.hover\:enabled\:text-white:enabled:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:enabled\:opacity-100:enabled:hover {
  opacity: 1;
}
.hover\:enabled\:opacity-90:enabled:hover {
  opacity: 0.9;
}
.hover\:enabled\:brightness-110:enabled: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\:enabled\:brightness-90:enabled:hover {
  --tw-brightness: brightness(.9);
  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);
}
.active\:enabled\:scale-\[0\.98\]:enabled:active {
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  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));
}
.disabled\:pointer-events-none:disabled {
  pointer-events: none;
}
.disabled\:cursor-default:disabled {
  cursor: default;
}
.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}
.disabled\:cursor-wait:disabled {
  cursor: wait;
}
.disabled\:bg-\[var\(--nim-bg-tertiary\)\]:disabled {
  background-color: var(--nim-bg-tertiary);
}
.disabled\:bg-\[var\(--nim-text-faint\)\]:disabled {
  background-color: var(--nim-text-faint);
}
.disabled\:text-\[var\(--nim-text-disabled\)\]:disabled {
  color: var(--nim-text-disabled);
}
.disabled\:text-\[var\(--nim-text-faint\)\]:disabled {
  color: var(--nim-text-faint);
}
.disabled\:text-nim-disabled:disabled {
  color: var(--nim-text-disabled);
}
.disabled\:no-underline:disabled {
  text-decoration-line: none;
}
.disabled\:opacity-0:disabled {
  opacity: 0;
}
.disabled\:opacity-20:disabled {
  opacity: 0.2;
}
.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;
}
.disabled\:opacity-70:disabled {
  opacity: 0.7;
}
.group:focus-within .group-focus-within\:flex {
  display: flex;
}
.group:hover .group-hover\:visible {
  visibility: visible;
}
.group:hover .group-hover\:invisible {
  visibility: hidden;
}
.group:hover .group-hover\:flex {
  display: flex;
}
.group:hover .group-hover\:bg-\[var\(--nim-primary\)\] {
  background-color: var(--nim-primary);
}
.group:hover .group-hover\:bg-nim-hover {
  background-color: var(--nim-bg-hover);
}
.group:hover .group-hover\:text-\[var\(--nim-primary\)\] {
  color: var(--nim-primary);
}
.group\/session:hover .group-hover\/session\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-60 {
  opacity: 0.6;
}
.group:hover .group-hover\:opacity-70 {
  opacity: 0.7;
}
.group:hover .group-hover\:opacity-80 {
  opacity: 0.8;
}
.group:hover .group-hover\:shadow-\[0_0_0_1\.5px_var\(--nim-bg-hover\)\] {
  --tw-shadow: 0 0 0 1.5px var(--nim-bg-hover);
  --tw-shadow-colored: 0 0 0 1.5px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group:focus-visible .group-focus-visible\:opacity-70 {
  opacity: 0.7;
}
.peer:checked ~ .peer-checked\:bg-\[var\(--nim-primary\)\] {
  background-color: var(--nim-primary);
}
.peer:checked ~ .peer-checked\:before\:translate-x-5::before {
  content: var(--tw-content);
  --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));
}
.has-\[\:focus-visible\]\:outline:has(:focus-visible) {
  outline-style: solid;
}
.has-\[\:focus-visible\]\:outline-2:has(:focus-visible) {
  outline-width: 2px;
}
.has-\[\:focus-visible\]\:outline-offset-2:has(:focus-visible) {
  outline-offset: 2px;
}
.has-\[\:focus-visible\]\:outline-\[var\(--nim-primary\)\]:has(:focus-visible) {
  outline-color: var(--nim-primary);
}
.data-\[selected\=true\]\:bg-nim-selected[data-selected="true"] {
  background-color: var(--nim-bg-selected);
}
.data-\[collapsed\=false\]\:text-nim-primary[data-collapsed="false"] {
  color: var(--nim-primary);
}
.data-\[selected\=true\]\:text-nim-primary[data-selected="true"] {
  color: var(--nim-primary);
}
.data-\[collapsed\=false\]\:hover\:text-nim-primary:hover[data-collapsed="false"] {
  color: var(--nim-primary);
}
.group[data-collapsed="false"] .group-data-\[collapsed\=false\]\:text-nim-primary {
  color: var(--nim-primary);
}
@media (prefers-reduced-motion: no-preference) {
  .motion-safe\:animate-\[tip-slide-in_0\.3s_ease-out_forwards\] {
    animation: tip-slide-in 0.3s ease-out forwards;
  }
}
@media (max-width: 1025px) {
  .max-\[1025px\]\:left-2 {
    left: 0.5rem;
  }
  .max-\[1025px\]\:right-2 {
    right: 0.5rem;
  }
  .max-\[1025px\]\:px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
@media (max-width: 900px) {
  .max-\[900px\]\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media not all and (min-width: 768px) {
  .max-md\:w-full {
    width: 100%;
  }
  .max-md\:flex-col {
    flex-direction: column;
  }
}
@media (max-width: 600px) {
  .max-\[600px\]\:gap-6 {
    gap: 1.5rem;
  }
  .max-\[600px\]\:p-5 {
    padding: 1.25rem;
  }
}
@media (max-width: 400px) {
  .max-\[400px\]\:hidden {
    display: none;
  }
}
@media (min-width: 640px) {
  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lg\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
.dark\:bg-\[\#1a2d35\]:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  --tw-bg-opacity: 1;
  background-color: rgb(26 45 53 / var(--tw-bg-opacity, 1));
}
.dark\:bg-\[\#3d1f1f\]:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  --tw-bg-opacity: 1;
  background-color: rgb(61 31 31 / var(--tw-bg-opacity, 1));
}
.dark\:bg-\[\#3d3419\]:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  --tw-bg-opacity: 1;
  background-color: rgb(61 52 25 / var(--tw-bg-opacity, 1));
}
.dark\:bg-blue-900\/40:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  background-color: rgb(30 58 138 / 0.4);
}
.dark\:bg-green-600\/15:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  background-color: rgb(22 163 74 / 0.15);
}
.dark\:bg-green-600\/25:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  background-color: rgb(22 163 74 / 0.25);
}
.dark\:bg-orange-900\/40:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  background-color: rgb(124 45 18 / 0.4);
}
.dark\:bg-red-600\/15:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  background-color: rgb(220 38 38 / 0.15);
}
.dark\:bg-red-600\/25:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  background-color: rgb(220 38 38 / 0.25);
}
.dark\:text-blue-400:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.dark\:text-green-300:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}
.dark\:text-orange-400:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}
.dark\:text-red-300:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.dark\:shadow-\[0_12px_40px_rgba\(0\2c 0\2c 0\2c 0\.55\)\]:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  --tw-shadow: 0 12px 40px rgba(0,0,0,0.55);
  --tw-shadow-colored: 0 12px 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.dark\:shadow-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.3\)\]:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  --tw-shadow: 0 1px 2px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.dark\:shadow-\[0_2px_4px_rgba\(0\2c 0\2c 0\2c 0\.3\)\]:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  --tw-shadow: 0 2px 4px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 2px 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);
}
.dark\:shadow-\[0_4px_20px_rgba\(0\2c 0\2c 0\2c 0\.5\)\]:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  --tw-shadow: 0 4px 20px rgba(0,0,0,0.5);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.dark\:invert:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  --tw-invert: invert(100%);
  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);
}
.dark\:\[color-scheme\:dark\]:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  color-scheme: dark;
}
.dark\:hover\:bg-blue-900\/60:hover:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  background-color: rgb(30 58 138 / 0.6);
}
.dark\:hover\:bg-orange-900\/60:hover:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  background-color: rgb(124 45 18 / 0.6);
}
.dark\:hover\:bg-white\/10:hover:is([data-theme="dark"] *, [data-theme="crystal-dark"] *) {
  background-color: rgb(255 255 255 / 0.1);
}
.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker {
  display: none;
}
.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button {
  -webkit-appearance: none;
          appearance: none;
}
.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button {
  -webkit-appearance: none;
          appearance: none;
}
.\[\&\:\:-webkit-scrollbar-thumb\]\:rounded-sm::-webkit-scrollbar-thumb {
  border-radius: 0.125rem;
}
.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-\[var\(--nim-bg-tertiary\)\]::-webkit-scrollbar-thumb {
  background-color: var(--nim-bg-tertiary);
}
.\[\&\:\:-webkit-scrollbar\]\:h-1::-webkit-scrollbar {
  height: 0.25rem;
}
.\[\&\:disabled_\.material-symbols-outlined\]\:text-\[var\(--nim-text-faint\)\]:disabled .material-symbols-outlined {
  color: var(--nim-text-faint);
}
.\[\&\:has\(\.diff-preview-editor\)\]\:p-0:has(.diff-preview-editor) {
  padding: 0px;
}
.\[\&\:has\(\.monaco-editor\)\]\:overflow-hidden:has(.monaco-editor) {
  overflow: hidden;
}
.\[\&\:has\(\.nimbalyst-editor-root\)\]\:overflow-hidden:has(.nimbalyst-editor-root) {
  overflow: hidden;
}
.\[\&\:not\(\:last-child\)\]\:border-b:not(:last-child) {
  border-bottom-width: 1px;
}
.\[\&\:not\(\:last-child\)\]\:border-nim:not(:last-child) {
  border-color: var(--nim-border);
}
.\[\&\>\*\:first-child\]\:mt-0>*:first-child {
  margin-top: 0px;
}
.\[\&\>\*\:last-child\]\:mb-0>*:last-child {
  margin-bottom: 0px;
}
.\[\&\>\:last-child\:not\(\:nth-child\(2\)\)\]\:ml-auto>:last-child:not(:nth-child(2)) {
  margin-left: auto;
}
.\[\&\>button\]\:mb-5>button {
  margin-bottom: 1.25rem;
}
.\[\&\>option\]\:bg-\[var\(--nim-bg\)\]>option {
  background-color: var(--nim-bg);
}
.\[\&\>option\]\:text-\[var\(--nim-text\)\]>option {
  color: var(--nim-text);
}
.\[\&\>span\]\:flex-1>span {
  flex: 1 1 0%;
}
.\[\&\>svg\]\:h-3\.5>svg {
  height: 0.875rem;
}
.\[\&\>svg\]\:h-4>svg {
  height: 1rem;
}
.\[\&\>svg\]\:h-6>svg {
  height: 1.5rem;
}
.\[\&\>svg\]\:h-\[18px\]>svg {
  height: 18px;
}
.\[\&\>svg\]\:w-3\.5>svg {
  width: 0.875rem;
}
.\[\&\>svg\]\:w-4>svg {
  width: 1rem;
}
.\[\&\>svg\]\:w-6>svg {
  width: 1.5rem;
}
.\[\&\>svg\]\:w-\[18px\]>svg {
  width: 18px;
}
.\[\&\>svg\]\:text-white>svg {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.\[\&\[open\]\>summary\:\:after\]\:rotate-45[open]>summary::after {
  --tw-rotate: 45deg;
  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));
}
.\[\&\]\:text-\[var\(--nim-primary\)\] {
  color: var(--nim-primary);
}
.\[\&_\.material-symbols-outlined\]\:mt-0\.5 .material-symbols-outlined {
  margin-top: 0.125rem;
}
.\[\&_\.material-symbols-outlined\]\:shrink-0 .material-symbols-outlined {
  flex-shrink: 0;
}
.\[\&_\.material-symbols-outlined\]\:text-base .material-symbols-outlined {
  font-size: 1rem;
  line-height: 1.5rem;
}
.\[\&_\.material-symbols-outlined\]\:text-\[var\(--nim-info\)\] .material-symbols-outlined {
  color: var(--nim-info);
}
.\[\&_\.material-symbols-outlined\]\:text-\[var\(--nim-text-faint\)\] .material-symbols-outlined {
  color: var(--nim-text-faint);
}
.\[\&_\.material-symbols-outlined\]\:text-\[var\(--nim-text-muted\)\] .material-symbols-outlined {
  color: var(--nim-text-muted);
}
.\[\&_\.material-symbols-outlined\]\:text-purple-500 .material-symbols-outlined {
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.\[\&_\.project-selection-item-name\]\:text-white .project-selection-item-name {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.\[\&_\.project-selection-item-path\]\:text-white .project-selection-item-path {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.\[\&_code\]\:rounded code {
  border-radius: 0.25rem;
}
.\[\&_code\]\:bg-\[var\(--nim-bg-tertiary\)\] code {
  background-color: var(--nim-bg-tertiary);
}
.\[\&_code\]\:px-1\.5 code {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.\[\&_code\]\:py-0\.5 code {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.\[\&_code\]\:font-mono code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.\[\&_code\]\:text-xs code {
  font-size: 0.75rem;
  line-height: 1rem;
}
.\[\&_h1\]\:mb-2 h1 {
  margin-bottom: 0.5rem;
}
.\[\&_h1\]\:mt-4 h1 {
  margin-top: 1rem;
}
.\[\&_h1\]\:text-base h1 {
  font-size: 1rem;
  line-height: 1.5rem;
}
.\[\&_h1\]\:text-\[var\(--nim-text\)\] h1 {
  color: var(--nim-text);
}
.\[\&_h2\]\:mb-2 h2 {
  margin-bottom: 0.5rem;
}
.\[\&_h2\]\:mt-4 h2 {
  margin-top: 1rem;
}
.\[\&_h2\]\:text-sm h2 {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.\[\&_h2\]\:text-\[var\(--nim-text\)\] h2 {
  color: var(--nim-text);
}
.\[\&_h3\]\:mb-2 h3 {
  margin-bottom: 0.5rem;
}
.\[\&_h3\]\:mt-4 h3 {
  margin-top: 1rem;
}
.\[\&_h3\]\:text-\[13px\] h3 {
  font-size: 13px;
}
.\[\&_h3\]\:text-\[var\(--nim-text\)\] h3 {
  color: var(--nim-text);
}
.\[\&_img\]\:block img {
  display: block;
}
.\[\&_img\]\:max-h-full img {
  max-height: 100%;
}
.\[\&_img\]\:max-w-full img {
  max-width: 100%;
}
.\[\&_img\]\:object-contain img {
  -o-object-fit: contain;
     object-fit: contain;
}
.\[\&_input\]\:cursor-pointer input {
  cursor: pointer;
}
.\[\&_li\]\:my-1 li {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.\[\&_ol\]\:my-2 ol {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.\[\&_ol\]\:pl-5 ol {
  padding-left: 1.25rem;
}
.\[\&_p\]\:my-2 p {
  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\]\:bg-\[var\(--nim-bg-tertiary\)\] pre {
  background-color: var(--nim-bg-tertiary);
}
.\[\&_pre\]\:p-3 pre {
  padding: 0.75rem;
}
.\[\&_pre_code\]\:bg-transparent pre code {
  background-color: transparent;
}
.\[\&_pre_code\]\:p-0 pre code {
  padding: 0px;
}
.\[\&_strong\]\:text-\[var\(--nim-text\)\] strong {
  color: var(--nim-text);
}
.\[\&_strong\]\:text-nim strong {
  color: var(--nim-text);
}
.\[\&_svg\]\:block svg {
  display: block;
}
.\[\&_svg\]\:h-full svg {
  height: 100%;
}
.\[\&_svg\]\:w-full svg {
  width: 100%;
}
.\[\&_svg\]\:shrink-0 svg {
  flex-shrink: 0;
}
.\[\&_svg\]\:text-\[var\(--nim-primary\)\] svg {
  color: var(--nim-primary);
}
.\[\&_svg\]\:text-\[var\(--nim-text-muted\)\] svg {
  color: var(--nim-text-muted);
}
.\[\&_ul\]\:my-2 ul {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.\[\&_ul\]\:pl-5 ul {
  padding-left: 1.25rem;
}
.history-item-delete:hover .\[\.history-item-delete\:hover_\&\]\:text-\[var\(--nim-error\)\] {
  color: var(--nim-error);
}
.history-item:hover .\[\.history-item\:hover_\&\]\:opacity-60 {
  opacity: 0.6;
}
.session-dropdown-item:hover .\[\.session-dropdown-item\:hover_\&\]\:opacity-100 {
  opacity: 1;
}
.snapshot-item:hover .\[\.snapshot-item\:hover_\&\]\:opacity-100 {
  opacity: 1;
}
/**
 * Shared Component Utilities
 *
 * Common UI patterns extracted from component CSS files to reduce duplication.
 * Import this file in index.css after Tailwind imports.
 *
 * Usage: Apply these classes in JSX alongside Tailwind utilities.
 */

/* ============================================
   MODAL / DIALOG
   ============================================ */

/* Full-screen overlay backdrop */

.nim-overlay {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.5);
  animation: nim-fade-in 0.15s ease-out;
}

/* Modal container */

.nim-modal {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0.75rem;
  background: var(--nim-bg);
  border: 1px solid var(--nim-border);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  animation: nim-slide-up 0.2s ease-out;
}

/* Modal header */

.nim-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  flex-shrink: 0;
  border-bottom: 1px solid var(--nim-border);
  background: var(--nim-bg-secondary);
}

/* Modal body */

.nim-modal-body {
  flex: 1;
  overflow-y: auto;
  padding: 1.25rem;
}

/* Modal footer */

.nim-modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  flex-shrink: 0;
  border-top: 1px solid var(--nim-border);
  background: var(--nim-bg-secondary);
}

/* ============================================
   BUTTONS
   ============================================ */

/* Base button styles */

.nim-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  border: none;
}

.nim-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Primary button */

.nim-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  border: none;
  color: var(--nim-on-primary);
  background: var(--nim-primary);
}

.nim-btn-primary:hover:not(:disabled) {
  background: var(--nim-primary-hover);
}

.nim-btn-primary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Secondary button */

.nim-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  background: var(--nim-bg-tertiary);
  color: var(--nim-text);
  border: 1px solid var(--nim-border);
}

.nim-btn-secondary:hover:not(:disabled) {
  background: var(--nim-bg-hover);
  border-color: var(--nim-primary);
}

.nim-btn-secondary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Ghost button (transparent) */

.nim-btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  border: none;
  background: transparent;
  color: var(--nim-text-muted);
}

.nim-btn-ghost:hover:not(:disabled) {
  background: var(--nim-bg-hover);
  color: var(--nim-text);
}

/* Danger button */

.nim-btn-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  border: none;
  color: white;
  background: var(--nim-error);
}

.nim-btn-danger:hover:not(:disabled) {
  opacity: 0.9;
}

/* Icon button (square, no text) */

.nim-btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: all 0.2s;
  background: transparent;
  border: none;
  color: var(--nim-text-muted);
}

.nim-btn-icon:hover {
  background: var(--nim-bg-hover);
  color: var(--nim-text);
}

/* Small icon button */

.nim-btn-icon-sm {
  width: 1.5rem;
  height: 1.5rem;
}

/* Large icon button */

.nim-btn-icon-lg {
  width: 2.25rem;
  height: 2.25rem;
}

/* ============================================
   FORM INPUTS
   ============================================ */

/* Text input */

.nim-input {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border-radius: 0.375rem;
  outline: none;
  transition: border-color 0.2s;
  background: var(--nim-bg-secondary);
  border: 1px solid var(--nim-border);
  color: var(--nim-text);
}

.nim-input::-moz-placeholder {
  color: var(--nim-text-faint);
}

.nim-input::placeholder {
  color: var(--nim-text-faint);
}

.nim-input:focus {
  border-color: var(--nim-primary);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.nim-input:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ============================================
   BADGES / TAGS
   ============================================ */

/* Base badge */

.nim-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  white-space: nowrap;
}

/* Colored badges */

.nim-badge-primary {
  color: var(--nim-on-primary);
  background: var(--nim-primary);
}

.nim-badge-success {
  color: white;
  background: var(--nim-success);
}

.nim-badge-warning {
  background: var(--nim-warning);
  color: black;
}

.nim-badge-error {
  color: white;
  background: var(--nim-error);
}

.nim-badge-muted {
  background: var(--nim-bg-tertiary);
  color: var(--nim-text-muted);
}

/* Pill badge (fully rounded) */

.nim-pill {
  border-radius: 9999px;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

/* ============================================
   PANELS / CARDS
   ============================================ */

/* Panel with border */

.nim-panel {
  border-radius: 0.5rem;
  overflow: hidden;
  background: var(--nim-bg);
  border: 1px solid var(--nim-border);
}

/* Panel header */

.nim-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--nim-border);
  background: var(--nim-bg-secondary);
}

/* Panel body */

.nim-panel-body {
  padding: 1rem;
}

/* Section label (small uppercase text) */

.nim-section-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--nim-text-faint);
}

/* ============================================
   SCROLLBAR
   ============================================ */

.nim-scrollbar::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.nim-scrollbar::-webkit-scrollbar-track {
  background: transparent;
}

.nim-scrollbar::-webkit-scrollbar-thumb {
  background: var(--nim-scrollbar-thumb);
  border-radius: 4px;
}

.nim-scrollbar::-webkit-scrollbar-thumb:hover {
  background: var(--nim-scrollbar-thumb-hover);
}

/* Thin scrollbar variant */

.nim-scrollbar-thin::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}

/* Hidden scrollbar - content still scrollable but no visible scrollbar */

.nim-scrollbar-hidden {
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}

.nim-scrollbar-hidden::-webkit-scrollbar {
  display: none; /* Chrome/Safari/Opera */
}

/* ============================================
   FOCUS STATES
   ============================================ */

.nim-focus-ring:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--nim-primary);
}

.nim-focus-ring:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--nim-primary);
}

/* ============================================
   ANIMATIONS
   ============================================ */

@keyframes nim-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes nim-slide-up {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes nim-slide-down {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Slide in from right (for toasts) */

@keyframes slideIn {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.nim-animate-fade-in {
  animation: nim-fade-in 0.15s ease-out;
}

.nim-animate-slide-up {
  animation: nim-slide-up 0.2s ease-out;
}

.nim-animate-slide-down {
  animation: nim-slide-down 0.2s ease-out;
}

/* ============================================
   TOGGLE SWITCH
   ============================================ */

/* Toggle switch - requires CSS for pseudo-elements */

.toggle-switch {
  position: relative;
  display: inline-block;
  width: 2.5rem;
  height: 1.25rem;
  flex-shrink: 0;
}

.toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.toggle-switch-slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  border-radius: 9999px;
  transition: all 0.2s;
  background: var(--nim-bg-tertiary);
}

.toggle-switch-slider::before {
  position: absolute;
  content: '';
  height: 1rem;
  width: 1rem;
  left: 0.125rem;
  bottom: 0.125rem;
  border-radius: 50%;
  transition: all 0.2s;
  background: white;
}

.toggle-switch input:checked + .toggle-switch-slider {
  background: var(--nim-primary);
}

.toggle-switch input:checked + .toggle-switch-slider::before {
  transform: translateX(1.25rem);
}

.toggle-switch input:disabled + .toggle-switch-slider {
  opacity: 0.5;
  cursor: not-allowed;
}

