.ot-mul-button {
  position: relative;
}
.ot-mul-button.more-button .tea-btn {
  padding-right: 28px !important;
}
.ot-mul-button .ot-mul-dropdown {
  position: absolute !important;
  right: 8px;
  top: 50%;
  transform: translate(0, -50%);
  cursor: pointer;
}
.ot-mul-button .ot-mul-dropdown svg {
  transition: transform 0.3s;
}
.ot-mul-button .ot-mul-dropdown:hover svg,
.ot-mul-button .ot-mul-dropdown.active svg {
  transform: rotate(180deg);
}
/*# sourceMappingURL=style.css.map */
.ot-refresh-button button {
  padding: 0 6px !important;
}
.ot-refresh-button .ot-refresh-button-icon.active {
  animation-name: refresh;
  animation-duration: 0.5s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
@keyframes refresh {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/*# sourceMappingURL=refreshButtonStyle.css.map */
.ot-status-empty {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 12px;
}
.ot-status-empty .ot-status-empty-title {
  font-size: 1.17em;
  font-weight: 500;
  line-height: 22px;
  color: #000000;
}
.ot-status-empty .ot-status-empty-desc {
  font-weight: 400;
  line-height: 22px;
  color: #0000008C;
  margin-top: 5px;
}
.ot-status-empty .ot-status-empty-op {
  display: flex;
  gap: 5px;
  margin-top: 10px;
}
.ot-empty-icon-command {
  width: 64px;
  height: 64px;
}
.ot-empty-icon-command #ot-empty-icon-command-path {
  fill: #D7DCE3;
}
.ot-empty-icon-command #ot-empty-icon-command-react {
  fill: #A2ADBB;
}
.ot-status-empty-bottom {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #00000066;
  padding: 16px 0;
}
.ot-status-empty-bottom .ot-status-empty-line {
  flex: 1;
  border-top: 1px dashed #D6DBE3;
}
.ot-status-empty-bottom .ot-status-empty-bottom-icon {
  display: flex;
  align-items: center;
  margin-left: 16px;
}
.ot-status-empty-bottom .ot-status-empty-bottom-icon svg {
  font-size: 20px;
  color: var(--ot-icon-color-1);
}
.ot-status-empty-bottom .ot-status-empty-bottom-desc {
  margin-right: 16px;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  color: var(--ot-font-color-secondary);
}
.ot-status-empty-bottom .ot-status-empty-bottom-icon + .ot-status-empty-bottom-desc {
  margin-left: 4px;
}
[theme="dark"] .ot-status-empty .ot-status-empty-title {
  color: #FFFFFFE5;
}
[theme="dark"] .ot-status-empty .ot-status-empty-desc {
  color: #FFFFFF8C;
}
[theme="dark"] .ot-empty-icon-command #ot-empty-icon-command-path {
  fill: #9A9A9A;
}
[theme="dark"] .ot-empty-icon-command #ot-empty-icon-command-react {
  fill: #4B4B4B;
}
[theme="dark"] .ot-status-empty-line {
  border-top-color: #4B4B4B;
}
/*# sourceMappingURL=style.css.map */
.ot-loading-skeleton {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  box-sizing: border-box;
}
.ot-loading-skeleton .ot-loading-skeleton__row {
  display: flex;
  align-items: center;
}
.ot-loading-skeleton .ot-loading-skeleton__row + .ot-loading-skeleton__row {
  margin-top: 12px;
}
.ot-loading-skeleton .ot-loading-skeleton__col {
  background: linear-gradient(90deg, #E3E6EB 0%, #F1F2F5 19.41%, #E3E6EB 34.02%, #E3E6EB 56.99%, #F1F2F5 75.95%, #E3E6EB 87.33%);
  height: 12px;
  position: relative;
  overflow: hidden;
  border-radius: 1px;
}
.ot-loading-skeleton .ot-loading-skeleton__col:after {
  content: " ";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  background: var(--ot-background-color-skeleton-1);
}
/*# sourceMappingURL=style.css.map */
#ot-auto-complate.ot-auto-complate.value .ot-dialog-create-connect__auto-complete {
  padding-left: 8px !important;
}
#ot-auto-complate.ot-auto-complate.value .ot-dialog-create-connect__auto-complete:has(+img) {
  padding-left: 32px !important;
}
#ot-auto-complate.ot-auto-complate.value.lh .ot-dialog-create-connect__auto-complete {
  padding-left: 32px !important;
}
#ot-auto-complate.ot-auto-complate .ot-auto-complate-bubble__content .ot-auto-complate-bubble-status .ot-auto-complate-list {
  max-height: 150px;
}
.ot-auto-complate-bubble .tea-bubble .tea-bubble__inner .ot-auto-complate-bubble__content .ot-auto-complate-list li:not(:has(img)) {
  padding-left: 12px !important;
}
/*# sourceMappingURL=style.css.map */
.orcaterm-nps-service-score {
  width: 100%;
}
.orcaterm-nps-service-score__numbers {
  font-size: 0;
  text-align: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.orcaterm-nps-service-score__numbers > span {
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: middle;
  font-size: 12px;
  font-weight: 700;
  box-sizing: border-box;
  text-align: center;
  line-height: 24px;
  color: var(--ot-font-color-primary);
  cursor: pointer;
  border-radius: 50%;
  background: var(--ot-footer-background-color);
}
.orcaterm-nps-service-score__numbers > span.is-actived {
  background-color: var(--ot-selected-background-color-1);
  color: rgba(var(--cp-color-white-rgb), 0.9);
}
.orcaterm-nps-service-score__numbers > span:hover {
  background: var(--ot-icon-hover-background-1);
}
.orcaterm-nps-service-score__tips {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: 10px;
  color: #888;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
}
/*# sourceMappingURL=npsScore.css.map */
[theme=dark] .monaco-placeholder {
  color: rgba(255, 255, 255, 0.65);
}
[theme=dark] .script-arg {
  background-color: #143a4b;
}
[theme=dark] .script-arg-active {
  background-color: #356992;
}
[theme=light] .tea-btn.command-library-btn:hover:before {
  background-color: var(--ot-icon-hover-background-9) !important;
}
[theme=light] .tea-btn.orcaterm-multiple-servers__header-clear-btn:hover:before {
  background-color: var(--ot-icon-hover-background-9) !important;
}
.command-import-dialog .instance-id-label p {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.command-dialog input:-webkit-autofill {
  -webkit-text-fill-color: var(--ot-font-color-primary);
}
.command-dialog input:autofill {
  -webkit-text-fill-color: var(--ot-font-color-primary);
}
.command-input {
  position: relative;
  padding: 0;
  width: 100%;
}
.monaco-placeholder {
  position: absolute;
  display: none;
  white-space: pre-wrap;
  top: 2px;
  left: 0;
  font-size: 12px;
  font-family: Consolas, 'Courier New', monospace;
  pointer-events: none;
  user-select: none;
  line-height: 18px;
  color: rgba(0, 0, 0, 0.6);
}
.command-detail-content .detail-content .content-item .highlight {
  display: inline-block;
  line-height: 16px;
  opacity: 0.5;
}
.command-detail-content .detail-content .content-item .highlight.active {
  opacity: 1;
}
.script-arg {
  background-color: #c6ecfd;
}
.script-arg-active {
  background-color: #a0d4fc;
}
.orcaterm-right-command .body {
  position: relative;
  max-height: 256px;
  overflow: hidden;
}
.command-library-oper .tea-form--search .tea-input.tea-input--search {
  padding-right: 24px !important;
}
.orcaterm-script-args-table .tea-table__box tr:hover {
  background-color: unset !important;
}
.orcaterm-script-args-table .tea-table__box td span {
  line-height: 30px;
}
.ot-icon-script-list .ot-icon-script-list-path {
  fill: white;
  fill-opacity: 0.55;
}
[theme=light] .ot-icon-script-list .ot-icon-script-list-path {
  fill: black;
  fill-opacity: 0.6;
}
.orcaterm-multiple-servers-drawer__footer .orcaterm-multiple-servers-drawer__footer-overtime {
  left: 8px !important;
}
.orcaterm-multiple-servers__header-clear-btn.tea-btn {
  transition: unset !important;
}
.orcaterm-confirm-modal--warning .tea-dialog__messagetitle {
  line-height: 20px;
}
.orcaterm-confirm-modal--warning .tea-dialog__messagetext {
  color: var(--ot-font-color-secondary) !important;
  margin-top: 10px !important;
}
.orcaterm-confirm-modal--warning .tea-icon-warning {
  width: 20px !important;
  height: 20px !important;
}
.orcaterm-import-script-list .tea-table__tr--blank-new td {
  overflow: unset !important;
}
ul.command-list li.command-item .command-info .name {
  flex: unset !important;
}
ul.command-list li.command-item .command-info .remark {
  flex-shrink: 0;
}
ul.command-list li.command-item .command-info .remark-box {
  color: var(--ot-font-color-placeholder);
  display: inline-flex;
}
.orcaterm-command-bubble .command-list,
.orcaterm-right-command .command-list {
  scroll-behavior: smooth;
}
.orcaterm-command-bubble .command-list .command-item.active,
.orcaterm-right-command .command-list .command-item.active {
  border-radius: 4px;
  background-color: var(--ot-background-color-25);
}
.orcaterm-command-bubble .command-list .command-item.is-disabled,
.orcaterm-right-command .command-list .command-item.is-disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
/*# sourceMappingURL=style.css.map */
.ot-space-markdown-preview {
  height: 100%;
  overflow: auto;
  padding: 16px 24px;
  box-sizing: border-box;
  background: transparent;
}
.ot-space-markdown-preview .wmde-markdown {
  background: transparent;
  word-break: break-word;
}
.ot-space-markdown-preview .wmde-markdown ul {
  list-style-type: disc;
}
.ot-space-markdown-preview .wmde-markdown ol {
  list-style-type: decimal;
}
.ot-space-markdown-preview .wmde-markdown ul ul {
  list-style-type: circle;
}
.ot-space-markdown-preview .wmde-markdown ul ul ul {
  list-style-type: square;
}
.ot-space-markdown-preview .wmde-markdown ol ol,
.ot-space-markdown-preview .wmde-markdown ul ol {
  list-style-type: lower-roman;
}
.ot-space-markdown-preview .wmde-markdown table {
  display: block;
  max-width: 100%;
  overflow: auto;
}
/*# sourceMappingURL=MarkdownPreview.css.map */
/* 拖拽线 */
.ot-resize-container {
  --line-size: 2px;
  --hover-line-scale: 2;
  display: flex;
  position: relative;
  box-sizing: border-box;
}
.ot-resize-container.horizontal {
  height: 100%;
  max-width: 100%;
}
.ot-resize-container.horizontal .ot-resize-line {
  cursor: col-resize;
  width: var(--line-size);
  height: 100%;
}
.ot-resize-container.horizontal .ot-resize-line:hover {
  transform: scaleX(var(--hover-line-scale));
}
.ot-resize-container.vertical {
  width: 100%;
  flex-direction: column;
  max-height: 100%;
}
.ot-resize-container.vertical .ot-resize-line {
  cursor: row-resize;
  height: var(--line-size);
  width: 100%;
}
.ot-resize-container.vertical .ot-resize-line:hover {
  transform: scaleY(var(--hover-line-scale));
}
.ot-resize-container .ot-resize-target {
  position: relative;
  flex-shrink: 1;
  max-height: 100%;
}
.ot-resize-container .ot-resize-line {
  display: none;
  position: relative;
  cursor: ew-resize;
  user-select: none;
  background-color: var(--ot-background-color-3);
  flex-shrink: 0;
  transition: transform 0.3s ease-in;
}
.ot-resize-container .ot-resize-line:hover {
  background-color: var(--ot-font-color-1);
}
.ot-resize-container .ot-resize-line.visible {
  display: block;
}
/*# sourceMappingURL=style.css.map */
.chat-ui-drawer__root {
  z-index: 1000 !important;
}
[theme=dark] .ot-chat-ai-tips__inner .tea-text-label {
  color: hsla(0, 0%, 100%, 0.35) !important;
}
.ot-ai-chat .highlight {
  margin: 0 4px;
  font-size: 12px;
  line-height: 20px;
  min-height: 20px;
  padding: 0 4px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  border-radius: 3px;
  color: var(--ot-font-color-primary);
  background-color: var(--ot-radio-current-background-color);
}
.ot-ai-chat .chat-ui-onboarding__title-2 {
  font-size: 25px;
}
.orcaterm-chat-ai .chat-ui.chat-ui--embedded {
  border: none !important;
  min-width: 380px;
}
.chat-ui-ft {
  padding: 8px !important;
}
.ot-ai-quote-dropdown-content-inner__tree {
  max-width: initial !important;
  padding-right: 4px;
}
.ot-ai-quote-dropdown-content-inner__tree .tea-tree__switcher {
  display: none !important;
}
/* 亮色模式下保存到笔记按钮（tea Button type=text 默认文字色偏深），
 * 与复制/点赞/点踩图标统一为 tertiary 色 */
.orcaterm-chat-ai-save-btn {
  color: var(--tea-color-text-tertiary);
  cursor: pointer;
  padding: 0 15px;
}
/*# sourceMappingURL=style.css.map */

/**
 * Windows 自定义标题栏样式
 * 参考 tauri-plugin-decorum 和 Windows 11 原生风格
 */

/* 标题栏容器 - 位于窗口右上角 */
.ot-window-titlebar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 32px;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: space-between;
  -webkit-app-region: drag;
  pointer-events: auto;
}

/* Logo 容器 */
.ot-window-titlebar__logo {
  display: flex;
  align-items: center;
  height: 100%;
  -webkit-app-region: drag;
}

.ot-window-titlebar__logo img {
  width: auto;
  pointer-events: none;
  user-select: none;
}

/* 控件组容器 */
.ot-window-controls {
  display: flex;
  height: 100%;
}

/* 窗口控制按钮基础样式 */
.ot-window-btn {
  position: relative;
  width: 46px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background-color: transparent;
  cursor: pointer;
  transition: background-color 0.1s ease;
  -webkit-app-region: no-drag;
  outline: none;
  padding: 0;
  margin: 0;
}

/* 自定义 Tooltip 样式 - 模拟 Windows 原生 tooltip */
.ot-window-btn__tooltip {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 4px;
  padding: 4px 8px;
  background-color: #fff;
  color: #1a1a1a;
  font-family: 'Segoe UI', system-ui, sans-serif;
  font-size: 12px;
  line-height: 1.4;
  white-space: nowrap;
  border: 1px solid #d4d4d4;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  z-index: 10000;
  pointer-events: none;
}

/* 深色主题 tooltip */
[data-theme='dark'] .ot-window-btn__tooltip,
.theme-dark .ot-window-btn__tooltip {
  background-color: #2d2d2d;
  color: #fff;
  border-color: #3d3d3d;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

/* 图标样式 - 使用 Windows 系统图标字体 */
.ot-window-btn__icon {
  font-family: 'Segoe Fluent Icons', 'Segoe MDL2 Assets', sans-serif;
  font-size: 10px;
  line-height: 1;
  color: var(--OT-Color-Text-Gray-Primary, #333);
}

/* 深色主题下的图标颜色 */
[data-theme='dark'] .ot-window-btn__icon,
.theme-dark .ot-window-btn__icon {
  color: var(--OT-Color-Text-Gray-Primary, #fff);
}

/* 悬停效果 - 最小化和最大化按钮 */
.ot-window-btn--minimize:hover,
.ot-window-btn--maximize:not(.ot-window-btn--disabled):hover {
  background-color: rgba(128, 128, 128, 0.2);
}

/* 禁用状态 */
.ot-window-btn--disabled {
  cursor: not-allowed;
  opacity: 0.4;
}

/* 悬停效果 - 关闭按钮（红色背景） */
.ot-window-btn--close:hover {
  background-color: rgba(232, 17, 35, 0.9);
}

.ot-window-btn--close:hover .ot-window-btn__icon {
  color: #fff;
}

/* 激活/点击效果 */
.ot-window-btn--minimize:active,
.ot-window-btn--maximize:active {
  background-color: rgba(128, 128, 128, 0.3);
}

.ot-window-btn--close:active {
  background-color: rgba(232, 17, 35, 1);
}

/* 焦点样式 - 使用系统默认焦点指示器 */
.ot-window-btn:focus-visible {
  outline: 2px solid var(--OT-Color-Border-Focus, #0078d4);
  outline-offset: -2px;
}

/* Windows 自定义标题栏存在时，为内容区域添加 padding-top 避免与标题栏重叠 */
/*
 * 重要：fallback 选择器 body.ot-has-window-titlebar 与 :has() 分成两条独立规则。
 * 若合并为一条分组规则（`body:has(...), body.ot-has-window-titlebar`），
 * 旧版 WebView2（Chromium < 105）解析到无法识别的 :has() 会判定整个
 * selector list 无效并丢弃整条规则，连带 padding-top: 32px 一起失效。
 * 拆成独立规则后，:has() 分支在旧浏览器上自行失效，fallback 分支依旧生效。
 */
body:has(.ot-window-titlebar) .orcaterm {
  padding-top: 32px;
  box-sizing: border-box;
}
body.ot-has-window-titlebar .orcaterm {
  padding-top: 32px;
  box-sizing: border-box;
}

/* Onboarding 页面的内容偏移（同样拆成独立规则） */
body:has(.ot-window-titlebar) .ot-app-page {
  margin-top: 32px;
  box-sizing: border-box;
  height: calc(100% - 32px);
}
body.ot-has-window-titlebar .ot-app-page {
  margin-top: 32px;
  box-sizing: border-box;
  height: calc(100% - 32px);
}

.rdp-drive-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 8px 0;
}
.rdp-drive-panel__loading {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 24px 0;
}
.rdp-drive-panel__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 16px;
  color: var(--ot-font-color-secondary, #888);
  font-size: 13px;
  text-align: center;
}
.rdp-drive-panel__empty p {
  margin: 0;
  line-height: 22px;
}
.rdp-drive-panel__empty-tip {
  margin-top: 4px;
  font-size: 12px;
  opacity: 0.6;
}
.rdp-drive-panel__list {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  flex: 1;
}
.rdp-drive-panel__item {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  cursor: default;
  border-radius: 4px;
  transition: background-color 0.15s ease;
}
.rdp-drive-panel__item:hover {
  background-color: var(--ot-background-color-3, rgba(255, 255, 255, 0.06));
}
.rdp-drive-panel__status-dot {
  display: inline-block;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 8px;
  cursor: default;
}
.rdp-drive-panel__status-dot--mounted {
  background-color: #29cc85;
  box-shadow: 0 0 4px rgba(41, 204, 133, 0.4);
}
.rdp-drive-panel__status-dot--error {
  background-color: #e54545;
  box-shadow: 0 0 4px rgba(229, 69, 69, 0.4);
}
.rdp-drive-panel__item-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rdp-drive-panel__item-name {
  font-size: 13px;
  font-weight: 500;
  color: var(--ot-font-color-primary, #e0e0e0);
  line-height: 20px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rdp-drive-panel__item-name--error {
  color: var(--ot-font-color-secondary, #888);
  opacity: 0.7;
}
.rdp-drive-panel__item-path {
  font-size: 12px;
  color: var(--ot-font-color-secondary, #888);
  line-height: 18px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rdp-drive-panel__item-action {
  flex-shrink: 0;
  margin-left: 8px;
  display: flex;
  align-items: center;
}
.rdp-drive-panel__more-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  cursor: pointer;
  color: var(--ot-font-color-secondary, #888);
  transition: color 0.15s ease;
}
.rdp-drive-panel__more-btn:hover {
  background-color: transparent;
  color: var(--ot-font-color-primary, #e0e0e0);
}
.rdp-drive-panel__more-btn svg {
  width: 16px;
  height: 16px;
}
/*# sourceMappingURL=index.css.map */
/* ══════════════════════════════════════════════════════════════════════════
   tmux「新增会话」内联输入行（`.np-tmux-create`）。

   形态（按交互稿）：**只有一个输入框**，没有确认 / 取消按钮 ——
   回车或失焦即提交、失焦且为空即取消、回车且为空则输入框标红（见组件 doc）。

   样式的**唯一来源**为文件管理器「修改文件名」的行内编辑：
     - DOM 结构：client/packages/orcaterm/components/file/EditFileName.tsx
     - 声明原文：@tencent/tea-style-sftp-sdk/index.css

   为什么不能直接复用 FM 的类名：FM 的声明**全部**被祖先链
   `.sftp-ui-table.tea-table .tea-table__body .sftp-ui-table__name-col.is-edit`
   限定（见 index.css 原文），tmux 列表不在该 DOM 链下 → 挂
   `.sftp-ui-table__operation-edit` / `-btns` / `-edit-btn-item` 拿不到任何声明。
   故按原文把输入框那几条声明**搬**成 tmux 自有类名（映射见下），并放在本组件同目录下
   由组件自己 import —— 三处调用方（连接管理器 hover 操作条 / 常驻面板 / desktop header
   ∨ 浮层本地 tmux 区块）跨包跨 chunk，只有随组件走才能保证三处都命中同一份样式。

   类名映射（FM 原文 → 本组）：
     .sftp-ui-table__operation-edit .tea-input → .np-tmux-create__input
   FM 的 `-btns` / `-edit-btn-item`（确认 / 取消两个图标钮）**已按交互稿去掉**，
   故不再映射。

   **有意不搬**（FM 那条是表格行内的 absolute 浮层，tmux 列表是流式布局）：
     - `position:absolute; left:0; top:calc(50% - 15px); z-index:1` → 正常文档流
     - `.tea-input { width:200px }` → 宽度自适应（width:100%）
   色彩 token（--ot-top-background-color-1 / --ot-background-color-2 /
   --ot-background-color-3）逐字保留；聚焦蓝框 / 错误红框为交互稿新增（本特性色值：
   错误红 #e5455b 与 tmuxSessions.less 同源）。
   ══════════════════════════════════════════════════════════════════════════ */
.np-tmux-create {
  display: flex;
  flex-direction: column;
  gap: 2px;
  /* Figma：输入框宽度与 tmux 会话行对齐（左 36 缩进、右 8，即 .np-srow 的内距） */
  padding: 2px 8px 4px 36px;
  /* FM 原文：`.tea-input{width:200px;background-color:var(--ot-top-background-color-1)!important}`
     宽度改自适应：width:100% + min-width:0，覆盖 tea 默认宽度。
     背景色保留 !important（与 FM 同因）：tea 自有 `.tea-input` / `.tea-input.solid` 与
     主题注入规则的背景声明同/更高特异性，不加会被压过。
     tea `Input` 的 className 与 `tea-input` 落在**同一个** <input> 元素上。 */
  /* 提交在飞：输入框降透明度（替代原两个按钮的 disabled 视觉反馈） */
  /* 校验失败 / 提交失败文案行（FM 无此元素——FM 走 drawerMessage 浮层提示；
     tmux 列表贴近输入框，沿用「输入行下方一行错误」的行内提示语义，
     色值沿用本特性既有错误红 #e5455b，见 tmuxSessions.less） */
}
.np-tmux-create__input {
  /* tea 自带 `.tea-input` 的 width:200px / height:30px / padding / font-size，以及主题
       运行时注入的规则，都是同/更高特异性 → 普通声明会被静默压过（实测：宽度停在 200px、
       字号停在 12px，撑不满列表行）。故这几条统一 !important（与本块 background-color 同因）。 */
  width: 100% !important;
  min-width: 0;
  height: 26px !important;
  padding: 0 6px !important;
  border-radius: 3px !important;
  font-size: 13px !important;
  background-color: var(--ot-top-background-color-1) !important;
  /* FM 原文：`.…:hover{background-color:var(--ot-background-color-2)!important;border-color:var(--ot-background-color-3)}` */
  /* 聚焦蓝框沿用 tea 自带 `.tea-input:focus`（与本仓其它输入框同款，不再覆盖）。 */
  /* 回车且为空 / 校验失败：红框（交互稿：回车时为空用红框表示错误）。
       选择器写成 `.…__input.is-error` + `:focus`（特异性 (0,3,0)）+ !important ——
       只写 `.…__input.is-error`（(0,2,0)）会与 tea 的聚焦态规则打平，
       实测「空 Enter」后仍是蓝框（输入框此时仍在焦点中）。 */
}
.np-tmux-create__input:hover {
  background-color: var(--ot-background-color-2) !important;
  border-color: var(--ot-background-color-3);
}
.np-tmux-create__input.is-error,
.np-tmux-create__input.is-error:focus {
  border-color: #e5455b !important;
}
.np-tmux-create.is-submitting .np-tmux-create__input {
  opacity: 0.65;
}
.np-tmux-create__error {
  padding-left: 2px;
  font-size: 11px;
  line-height: 1.5;
  color: #e5455b;
}
/*# sourceMappingURL=tmuxCreateSessionInline.css.map */
.tmux-session-menu-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.tmux-session-menu-item svg {
  flex-shrink: 0;
}
/* ══════════════════════════════════════════════════════════════════════════
   tmux 展开区根容器（唯一一套实现）：
   - .tmux-session-panel：常驻管理面板（TmuxSessionPanel；老入口「会话恢复」程序化
     展开亦走它）
   - .tmux-hover-entry：hover「打开托管」操作条（TmuxHoverEntry）
   两条链路的内部 DOM（表头 / 会话行 / 乐观行 / 空态 / 状态条）由 tmuxSessions.tsx 的
   共享 helper 唯一产出；元素同时携带 np-*（canonical，样式唯一来源＝下方共享块）与
   tmux-session-panel__*（e2e / 单测定位别名，不带样式）两套类名——历史上两套标记各自
   演化出两种视觉（用户反馈 bug），勿再拆成两套。
   ══════════════════════════════════════════════════════════════════════════ */
.tmux-session-panel,
.tmux-hover-entry {
  margin: 0;
  padding: 6px;
  border-radius: 4px;
}
.tmux-session-panel::before,
.tmux-hover-entry::before {
  content: '';
  display: block;
  height: 1px;
  /* ⚠️ 不能用 var(--OT-Color-Border-Gray-Primary)：暗色档它 = --cp-color-grey-17
       = #2c2c2c，而 tmux 展开时连接项卡片化背景 --OT-Color-Base-Fill-Primary-Hover
       暗色档同样是 #2c2c2c —— 分隔线与卡片底完全同色、必然不可见（用户反馈，
       2026-09-23 曾按「与 .np-sep 同源」改成该 token 后复发）。改用中灰半透明：
       明暗两档卡片底（#f1f2f5 / #2c2c2c）上都呈可见浅灰线（同 .lv-spin 边框做法）。 */
  background: rgba(128, 128, 128, 0.35);
  margin: 0 0 6px 18px;
}
/* 收起态（面板 is-collapsed / hover is-folded，均打在根节点）：只收列表体、表头保留。
   status / list 兜底 display:none（面板收起态**仍挂载**列表体，有意不用渲染门）；
   `.np-tmux-create`（内联新建输入行）**必须**用 CSS 而非渲染门：组件卸载会丢用户
   已输入未提交的会话名。 */
.tmux-session-panel.is-collapsed .tmux-session-panel__status,
.tmux-hover-entry.is-folded .tmux-session-panel__status,
.tmux-session-panel.is-collapsed .tmux-session-panel__list,
.tmux-hover-entry.is-folded .tmux-session-panel__list,
.tmux-session-panel.is-collapsed .np-tmux-create,
.tmux-hover-entry.is-folded .np-tmux-create {
  display: none;
}
/* 收起态 chevron：由「∨」转成「＞」（点它展开）。
   同时归零展开态的 top:-1px 上移校正 —— 折叠态尖朝右、笔画垂直对称天然居中。 */
.tmux-session-panel.is-collapsed .np-tmux-head-chevron,
.tmux-hover-entry.is-folded .np-tmux-head-chevron {
  top: 0;
  transform: rotate(-45deg);
}
/* ── 状态条（loading / empty / installing / installed / 版本过低 / 获取失败）──
   先定义（后被 .np-tmux-empty 覆盖 padding）：空态元素另携带 .np-tmux-empty。 */
.tmux-hover-entry,
.tmux-session-panel {
  /* 引导卡片警示色（.tmux-guide 的 ⚠ 前景） */
  --tmux-warn: #e5a84b;
  /* loading 态：spinner 与连接配置图标左对齐（缩进 18，同「＋ 打开托管」行），
     文案「加载中」。`v2-strip is-loading` 是 JSX 上的 e2e 标记类，此处复用为变体钩子 */
  /* 状态条内 CSS 转圈：白色（交互稿 loading 态。tea Loading 的配色样式运行时注入、
     无法染白，故不用）；复用文件末尾 tmux-hover-entry-spin 动画 */
  /* 版本过低 / 获取失败提示条内的「重试」 */
}
.tmux-hover-entry .tmux-session-panel__status,
.tmux-session-panel .tmux-session-panel__status {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 28px;
  /* 文案与 title/列表项左缘对齐（同 36 缩进） */
  padding: 2px 8px 2px 36px;
}
.tmux-hover-entry .tmux-session-panel__status.v2-strip.is-loading,
.tmux-session-panel .tmux-session-panel__status.v2-strip.is-loading {
  padding: 2px 8px 2px 18px;
}
.tmux-hover-entry .tmux-spin,
.tmux-session-panel .tmux-spin {
  display: inline-block;
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  border: 1.4px solid rgba(255, 255, 255, 0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: tmux-hover-entry-spin 0.7s linear infinite;
}
.tmux-hover-entry .tmux-session-panel__status-text,
.tmux-session-panel .tmux-session-panel__status-text {
  font-size: 12px;
  color: var(--ot-font-color-secondary);
}
.tmux-hover-entry .tmux-session-panel__status-text--error,
.tmux-session-panel .tmux-session-panel__status-text--error {
  color: #e5455b;
}
.tmux-hover-entry .tmux-session-panel__status-text--warn,
.tmux-session-panel .tmux-session-panel__status-text--warn {
  color: var(--tmux-warn);
}
.tmux-hover-entry .tmux-session-panel__retry,
.tmux-session-panel .tmux-session-panel__retry {
  margin-left: auto;
  flex-shrink: 0;
  padding: 0 4px;
  border: none;
  background: transparent;
  font-size: 12px;
  color: #006eff;
  cursor: pointer;
}
.tmux-hover-entry .tmux-session-panel__retry:hover,
.tmux-session-panel .tmux-session-panel__retry:hover {
  text-decoration: underline;
}
/* ══════════════════════════════════════════════════════════════════════════
   共享列表样式（canonical np-*，视觉 = 用户确认的第一种样式）：样式唯一来源，
   两条链路（.tmux-hover-entry / .tmux-session-panel）同一份。表头 / 会话行 /
   「＋ 打开托管」行 / 空态 / 乐观行 / 删除 / 编辑规则逐字对齐交互稿，勿在单条
   链路里覆写。色彩：语义前景 token（--ot-font-color-*）+ 警示琥珀 #e5a84b /
   错误红 #e5455b；「＋ 打开托管」行主色 #339CFF。
   ══════════════════════════════════════════════════════════════════════════ */
.tmux-hover-entry,
.tmux-session-panel {
  /* 列表头部（标题 · 数量 + chevron + ＋）：交互稿「托管会话 · N ∨」。
     点表头（非＋区域）收起 / 再展开列表体 → 收起后**表头保留**（只收掉列表体，不再换成
     `.np-tmux-reopen` 那一行「＋ 打开托管」）；收起态类名 `is-folded` 打在**根节点**
     （见文件开头 `.tmux-hover-entry.is-folded .np-tmux-create` 与同处的 chevron 旋转规则）。 */
  /* 会话行（名称 + 状态 + 删除）：Figma 会话行 padding 4px 8px 4px 36px / h32 / radius 4 */
  /* 空态文案（empty：0 会话）——与常驻面板空态「暂无托管会话」逐字同款。
     历史：这里原先渲染「＋ 打开托管」行（empty → 常驻面板入口），用户反馈
     「删掉最后一个会话后列表里冒出『打开托管』按钮」（读起来像托管还没打开）→ 改为直白文案；
     该文案现在只属于 idle（未探测的入口行，类名 .np-srow--open）。 */
  /* 「＋ 打开托管」行（idle 首次入口 / 引导卡片被 ✕ 关掉后的重开行，同一份共享渲染
     TmuxOpenRow）：元素同时携带 .np-srow/.np-srow--open（行布局与 --open 缩进）与本类
     （button 原生样式复位，enabled/disabled 两态都在这里收口）。 */
  /* 乐观行「创建中」（用户确认后立即插入，真实行到达即去重移除）：与 .np-srow 同款排布，
     但**不可点击**（cursor: default、无 hover 高亮——会话尚不存在，点进去无意义）且
     **无删除钮**（.np-del 不渲染）。类名与 .np-srow 有意不共用：既有 e2e 以
     `.np-srow:not(.np-srow--open)` 判 ready 态并按计数断言（NS-04 / waitForHoverSettled），
     共用会在创建在飞窗口内污染这些判据。 */
  /* 删除按钮：交互稿 .np-del */
}
.tmux-hover-entry .np-tmux-head,
.tmux-session-panel .np-tmux-head {
  display: flex;
  align-items: center;
  /* 本仓无全局 border-box（各处均局部声明，见 style/*.less）→ 显式声明，
       否则 min-height 会加在内容区上（真机实测 32 + 上下 padding 12 = 44） */
  box-sizing: border-box;
  gap: 8px;
  min-height: 32px;
  /* 左缩进与 IP 文字对齐：IP.x（相对 item）= inner 左距 20 + 图标 16 + 间距 8 = 44，
       故 4（卡片）+ 6（tmux 区）+ 34 = 44（Figma：title 与 IP 同一起点） */
  padding: 6px 8px 6px 34px;
  border-radius: 4px;
  /* 文字与 chevron（border 用 currentColor）同色：对齐连接配置 ip 行的次级文字色 */
  color: var(--OT-Color-Base-Text-Secondary);
  cursor: pointer;
  user-select: none;
  /* 展开（列表可见）指向下；折叠指向右（旋转规则在根节点层级，见文件开头）。
       位置在数量右侧（交互稿「托管会话 · N ∨」，DOM 顺序 title → count → chevron）。 */
  /* 注：折叠态 chevron 旋转规则写在**根节点**层级（`.tmux-hover-entry.is-folded
       .np-tmux-head-chevron`，见文件开头），不能写在这里——`is-folded` 打在根节点上，
       在此嵌套层用 `&.is-folded &-chevron` 会编译成要求再嵌一层 .tmux-hover-entry 的死选择器。
       （历史坑备忘：嵌套里必须写完整类名 `.np-tmux-head-chevron`，用 `&-chevron` 会拼成
       不存在的类；F1p5c「选择器嵌套注意编译后形态」同型坑，改后须用项目 lessc 验产物。） */
}
.tmux-hover-entry .np-tmux-head-chevron,
.tmux-session-panel .np-tmux-head-chevron {
  display: inline-block;
  flex-shrink: 0;
  /* 垂直校正只作用于展开态（尖朝下）：chevron 由「5×5 内容盒 + 右/下边框」
         旋转 45° 得到，flex 只居中盒子几何中心，而展开态可见笔画重心偏下（尖端在
         下部）→ 视觉偏低，需上移 -1px。折叠态（尖朝右）笔画垂直对称、天然居中，
         top 归零（见文件开头 .is-collapsed/.is-folded 的旋转规则处）。
         用 position:relative + top 而非 translate：不与两态 transform 耦合。
         （口径与 header 浮层侧 App.less .nth-arrow 同款同步。） */
  position: relative;
  top: -1px;
  width: 5px;
  height: 5px;
  border-right: 1.4px solid currentColor;
  border-bottom: 1.4px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.15s ease;
}
.tmux-hover-entry .np-tmux-head-title,
.tmux-session-panel .np-tmux-head-title {
  /* 不伸缩：数量须紧跟在 title 右侧（与常驻面板 __head-toggle 内的形态一致）。
         旧 flex:1 会把 title 撑满整行、把 count 推到 header 最右（用户反馈 bug）。
         剩余空间由 ＋ 按钮的 margin-left:auto 吃掉，＋ 仍靠右。 */
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tmux-hover-entry .np-tmux-head-count,
.tmux-session-panel .np-tmux-head-count {
  /* 数量独立节点紧跟 title：不伸缩，不做占位。
         交互稿「托管会话 · N ∨」：title 与数量之间以「·」分隔（数量未知时本节点
         不渲染，点号随之消失） */
  flex-shrink: 0;
  font-size: 12px;
}
.tmux-hover-entry .np-tmux-head-count::before,
.tmux-session-panel .np-tmux-head-count::before {
  content: '·';
  margin-right: 6px;
}
.tmux-hover-entry .np-tmux-head-add,
.tmux-session-panel .np-tmux-head-add {
  display: flex;
  align-items: center;
  justify-content: center;
  /* 吃掉 title/count 之后的剩余空间，使 ＋ 靠右（title 已不再 flex:1 占位） */
  margin-left: auto;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  /* Figma 标题行「＋」20×20 —— 次级前景 token（原硬编码 rgba(255,255,255,.64)，
         白色主题下不可见；口径与 header 浮层侧 App.less .nth-new 同步） */
  color: var(--ot-font-color-secondary);
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}
.tmux-hover-entry .np-tmux-head-add:hover,
.tmux-session-panel .np-tmux-head-add:hover {
  /* 与删除/编辑钮 hover 高亮色统一 */
  background: var(--ot-top-background-color-1);
}
.tmux-hover-entry .np-srow,
.tmux-session-panel .np-srow {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  gap: 8px;
  min-height: 28px;
  padding: 4px 8px 4px 36px;
  border-radius: 4px;
  font-size: 12px;
  color: var(--ot-font-color-primary);
  cursor: pointer;
  /* 「打开托管」按钮：Figma「打开托管」行 —— 主色 #339CFF，缩进/内距按设计稿单独覆盖
       （设计稿该行为 padding 2px 4px 2px 18px，与会话行的 4px 8px 4px 36px 不同）。
       hover 无背景高亮（设计稿该行无 hover 底色）。
       disabled 态（非自动登录连接无已登录终端）见下方 .np-tmux-reopen.is-disabled ——
       该行同时携带 .np-tmux-reopen，由它统一负责按钮复位与 disabled。 */
}
.tmux-hover-entry .np-srow:hover,
.tmux-session-panel .np-srow:hover {
  background: var(--ot-top-background-color-1);
}
.tmux-hover-entry .np-srow .nm,
.tmux-session-panel .np-srow .nm {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tmux-hover-entry .np-srow .st,
.tmux-session-panel .np-srow .st {
  margin-left: auto;
  flex-shrink: 0;
  font-size: 10px;
  color: var(--ot-font-color-secondary);
}
.tmux-hover-entry .np-srow .plus,
.tmux-session-panel .np-srow .plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 12px;
  line-height: 1;
  /* Figma 入口图标 ICON/Add 16×16（原为文本「＋」） */
}
.tmux-hover-entry .np-srow .plus svg,
.tmux-session-panel .np-srow .plus svg {
  width: 16px;
  height: 16px;
}
.tmux-hover-entry .np-srow--open,
.tmux-session-panel .np-srow--open {
  min-height: 0;
  padding: 2px 4px 2px 18px;
  color: #339cff;
  /* hover 无背景高亮 —— 必须显式 transparent：删掉本规则会落到全局
         button:hover（实测 #383838）上，出现灰色高亮 */
}
.tmux-hover-entry .np-srow--open:hover,
.tmux-session-panel .np-srow--open:hover {
  background: transparent;
}
.tmux-hover-entry .np-tmux-empty,
.tmux-session-panel .np-tmux-empty {
  /* 左缩进与标题行一致（卡片 4 + tmux 区 6 + 34 = 44，对齐 IP/title 起点） */
  padding: 4px 8px 4px 34px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--ot-font-color-secondary);
}
.tmux-hover-entry .np-tmux-reopen,
.tmux-session-panel .np-tmux-reopen {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 2px 4px 2px 18px;
  border: none;
  border-radius: 4px;
  background: transparent;
  font: inherit;
  font-size: 12px;
  text-align: left;
  /* Figma「打开托管」行主色 #339CFF（原 #82bcff 为旧交互稿）；hover 无背景高亮
       （显式 transparent 压全局 button:hover 的 #383838） */
  color: #339cff;
  cursor: pointer;
}
.tmux-hover-entry .np-tmux-reopen:hover,
.tmux-session-panel .np-tmux-reopen:hover {
  background: transparent;
}
.tmux-hover-entry .np-tmux-reopen.is-disabled,
.tmux-session-panel .np-tmux-reopen.is-disabled {
  /* Figma Disable 态：品牌蓝 36% 不透明度（实测 #264C70 = #339CFF @ .36 on #1F1F1F） */
  color: rgba(51, 156, 255, 0.36);
  cursor: not-allowed;
}
.tmux-hover-entry .np-tmux-reopen.is-disabled:hover,
.tmux-session-panel .np-tmux-reopen.is-disabled:hover {
  background: transparent;
}
.tmux-hover-entry .np-tmux-reopen .plus,
.tmux-session-panel .np-tmux-reopen .plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 12px;
  line-height: 1;
  /* Figma 入口图标 ICON/Add 16×16（原为文本「＋」） */
}
.tmux-hover-entry .np-tmux-reopen .plus svg,
.tmux-session-panel .np-tmux-reopen .plus svg {
  width: 16px;
  height: 16px;
}
.tmux-hover-entry .np-tmux-pending-row,
.tmux-session-panel .np-tmux-pending-row {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  gap: 8px;
  min-height: 32px;
  padding: 4px 8px 4px 36px;
  border-radius: 4px;
  font-size: 12px;
  color: var(--ot-font-color-primary);
  cursor: default;
}
.tmux-hover-entry .np-tmux-pending-row .nm,
.tmux-session-panel .np-tmux-pending-row .nm {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0.75;
}
.tmux-hover-entry .np-tmux-pending-row .st,
.tmux-session-panel .np-tmux-pending-row .st {
  margin-left: auto;
  flex-shrink: 0;
  font-size: 10px;
  color: var(--ot-font-color-secondary);
}
.tmux-hover-entry .np-edit,
.tmux-session-panel .np-edit {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--ot-font-color-secondary);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
  /* 收紧与删除钮的间隔：gap 8px - 4px = 4px */
  margin-left: -4px;
}
.tmux-hover-entry .np-edit svg,
.tmux-session-panel .np-edit svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}
.tmux-hover-entry .np-edit:hover,
.tmux-session-panel .np-edit:hover {
  background: var(--ot-top-background-color-1);
  color: var(--ot-font-color-primary);
}
.tmux-hover-entry .np-del,
.tmux-session-panel .np-del {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--ot-font-color-secondary);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
  /* 删除钮右移 2px（与名称拉开），与编辑钮间隔由 8px→4px */
  margin-left: 2px;
}
.tmux-hover-entry .np-del svg,
.tmux-session-panel .np-del svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}
.tmux-hover-entry .np-del:hover,
.tmux-session-panel .np-del:hover {
  /* hover 背景统一高亮（与编辑钮同色），不再用红色底；文字保留警示红语义 */
  background: var(--ot-top-background-color-1);
  color: #e5455b;
}
/* ══════════════════════════════════════════════════════════════════════════
   未安装 tmux 安装引导卡片（对齐交互稿版本二 `.tmux-guide`）。

   两套链路（TmuxHoverEntry / TmuxSessionPanel）共用同一份 DOM（TmuxNotInstalledGuide）。
   类名只在本特性内使用（全仓检索仅本组件 + e2e spec），顶层定义不污染其它模块。
   色彩：`--tmux-warn` 语义变量已随上方共享块在两个根容器档位定义（.tmux-guide 均在
   根容器内部渲染）。
   ══════════════════════════════════════════════════════════════════════════ */
/* 旧交互稿 `.v2-strip` 提示条样式已并入共享块 `.tmux-session-panel__status`；
   `v2-strip`（is-loading / warn / is-error）仅作为 e2e 状态标记类保留在 JSX 上（无样式）。 */
/* 未安装 tmux 引导卡片：交互稿 `.tmux-guide` + `.tg-head` / `.tg-x` / `.tg-body` /
   `.tg-actions`。内层类名逐字对齐 draft（原自造 `__head`/`__warn`/`__x`/`__body`/
   `__actions` 已弃）。
   注：`.tg-x` ✕ 关闭钮 = 关掉卡片（组件侧置 guideDismissed）→ 改出「＋ 打开托管」行，
   点那行重新探测（未安装则卡片回来）——故不是「关掉即无再入口」。 */
.tmux-guide {
  margin-top: 4px;
  padding: 10px 11px;
  border-radius: 8px;
  background: rgba(229, 168, 75, 0.07);
  border: 1px solid rgba(229, 168, 75, 0.3);
  /* ✕ 关闭钮（右上角）：margin-left:auto 推到行尾 */
}
.tmux-guide .tg-head {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ot-font-color-primary);
}
.tmux-guide .tg-head .w {
  display: inline-flex;
  color: var(--tmux-warn);
}
.tmux-guide .tg-x {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-left: auto;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--ot-font-color-secondary);
  cursor: pointer;
  flex-shrink: 0;
}
.tmux-guide .tg-x:hover {
  /* 主题 token（原 rgba(255,255,255,.08) 按暗底设计，亮色主题下不可见） */
  background: var(--ot-top-background-color-1);
  color: var(--ot-font-color-primary);
}
.tmux-guide .tg-body {
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.6;
  color: var(--ot-font-color-secondary);
  /* Figma：「未安装 Tmux」加粗、主色白（其余文字保持次级色） */
}
.tmux-guide .tg-body .tg-em {
  font-weight: 600;
  color: var(--ot-font-color-primary);
}
.tmux-guide .tg-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 9px;
}
/* 引导卡片按钮：交互稿 `.tg-btn` / `.tg-btn.primary`（draft 用裸修饰类 primary） */
.tg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 1 1 0;
  gap: 5px;
  min-height: 26px;
  padding: 3px 12px;
  border: none;
  border-radius: 8px;
  /* 次级按钮：主题 token 实底 + 主文字色（原「半透明白底 + 白字」按暗色卡片底设计，
     白色主题下白字不可见，用户反馈）；口径与 .np-edit/.np-del 的一致 */
  background: var(--ot-top-background-color-1);
  font-size: 12px;
  color: var(--ot-font-color-primary);
  cursor: pointer;
  /* 主按钮：Figma 实心 #1784EB（稿件全局变量 fill_b8681d79），白字 */
  /* loading 态：另一按钮 loading 时本按钮 disabled */
  /* loading 态按钮自身的样式不变，spinner 通过 .tg-spin 展示 */
}
.tg-btn:hover {
  background: var(--ot-background-color-2);
}
.tg-btn.primary {
  background: #1784eb;
  color: #fff;
}
.tg-btn.primary:hover {
  background: #3d97f3;
}
.tg-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.tg-btn:disabled:hover {
  background: var(--ot-top-background-color-1);
  /* 与常态同底（随主题） */
}
.tg-btn:disabled.primary:hover {
  background: #1784eb;
}
.tg-btn.is-loading {
  cursor: default;
  opacity: 1;
}
/* 引导卡片按钮内 spinner（与状态条内 Loading 同风格，尺寸缩小适配按钮） */
.tg-spin {
  display: inline-block;
  width: 12px;
  height: 12px;
  border: 1.5px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: tmux-hover-entry-spin 0.6s linear infinite;
  flex-shrink: 0;
}
/* 安装失败错误信息：红色字体展示在 body 下方 */
.tg-error {
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.5;
  color: #e5455b;
  word-break: break-word;
}
@keyframes tmux-hover-entry-spin {
  to {
    transform: rotate(360deg);
  }
}
/* ══════════════════════════════════════════════════════════════════════════
   连接项底边 2px 边距（用户反馈：相邻配置项在 hover / 常驻卡片化态要有区分，
   否则两张卡片紧贴分不出边界）。base 的 height transition 不受 margin 影响。
   ══════════════════════════════════════════════════════════════════════════ */
.orcaterm-connect-configure-body .mine-server-list .mine-server-item {
  margin-bottom: 2px;
}
/* ══════════════════════════════════════════════════════════════════════════
   Figma 卡片化：tmux 区展开（hover 挂载 .tmux-hover-entry / 常驻 .tmux-session-panel）
   时，连接项整体成为一张圆角卡片，内含连接信息（两行）+ 分隔线 + tmux 区；原 hover
   底色（打在 __inner 上）退场。
   hover 背景与不支持 tmux 的连接（RDP 等，hover 高亮打在 __inner =
   var(--OT-Color-Base-Fill-Primary-Hover)）统一（用户反馈：两者 hover 底色不一致，
   以 RDP 原有为准）→ 卡片背景用同一 token，不再硬编码 #1F1F1F。
   :has() 需 Chrome 105+（web / 桌面端 Chromium 均满足）；
   .is-tmux-pinned 作为不支持 :has 环境的兜底（常驻态必带该 class）。
   ══════════════════════════════════════════════════════════════════════════ */
.orcaterm-connect-configure-body .mine-server-list .mine-server-item:has(> .tmux-hover-entry),
.orcaterm-connect-configure-body .mine-server-list .mine-server-item:has(> .tmux-session-panel),
.orcaterm-connect-configure-body .mine-server-list .mine-server-item.is-tmux-pinned {
  background: var(--OT-Color-Base-Fill-Primary-Hover);
  border-radius: 4px;
  /* 左右留白与普通 hover 高亮对齐（用户反馈：卡片化后贴边）。base 里 hover 高亮打在
     __inner 上，被 item 自身 `padding: 0 4px`（tea 包 node_modules，不可改）内缩出左右
     各 4px 留白；卡片背景打在 item 本身会连 padding box 一起涂满 → 贴边。此处用
     `margin: 0 4px` 等量替换 item 的水平 padding（padding 归零）——内容绝对位置不变
     （44px 缩进口径等全部成立），仅卡片盒左右各内缩 4px；width:auto 抵消 base 的
     width:100%（否则 + 8px margin 溢出）。注意 margin-bottom 2px 在下方通用规则，
     此处 margin 复写会丢掉它 → 显式补回。 */
  margin: 0 4px 2px;
  padding: 0;
  width: auto;
  /* 原 hover 底色在 __inner（来自运行时注入的高特异选择器）——卡片化后由整卡
     承担，内层退场。背景透明无布局副作用，作用面仅 tmux 展开态，!important 安全。 */
}
.orcaterm-connect-configure-body .mine-server-list .mine-server-item:has(> .tmux-hover-entry) > .mine-server-item__inner,
.orcaterm-connect-configure-body .mine-server-list .mine-server-item:has(> .tmux-session-panel) > .mine-server-item__inner,
.orcaterm-connect-configure-body .mine-server-list .mine-server-item.is-tmux-pinned > .mine-server-item__inner {
  background: transparent !important;
}
/* ══════════════════════════════════════════════════════════════════════════
   老入口（会话恢复）跳转高亮 + tip：跳转展开消费完成后点亮对应连接项（黄色描边 +
   右侧迁移提示），点击页面任意处消失（index.tsx 全局 click 监听置 spotlightId）。
   描边用 outline：不占布局，避免 1px 边框挤压内容导致行高抖动；Chrome 跟随圆角。
   ══════════════════════════════════════════════════════════════════════════ */
.mine-server-item.is-tmux-spotlight {
  position: relative;
  outline: 1px solid #ffdd99;
  outline-offset: -1px;
  /* 闪烁 3 次后长亮（用户要求）：keyframes 在 50% 处把描边打透明再回来，
     跑 3 轮后动画结束，回落到基础实色描边 → 长亮。keyframes 全局同名，
     与 App.less 的 `.np-tmux-block.is-tmux-spotlight` 共用同一份定义。 */
  animation: tmux-spotlight-blink 0.45s ease-in-out 3;
}
@keyframes tmux-spotlight-blink {
  0%,
  100% {
    outline-color: #ffdd99;
  }
  50% {
    outline-color: transparent;
  }
}
.tmux-spotlight-tip {
  position: absolute;
  left: calc(100% + 8px);
  top: 56px;
  width: 300px;
  padding: 8px 12px;
  box-sizing: border-box;
  background: #1f1f1f;
  border: 1px solid #4b4b4b;
  border-radius: 4px;
  box-shadow: 0 4px 16px 2px rgba(0, 0, 0, 0.08);
  font-size: 12px;
  line-height: 20px;
  color: rgba(255, 255, 255, 0.92);
  z-index: 10;
  pointer-events: none;
  /* 左缘向左小箭头（指向左侧高亮卡片；border-bottom+left 的 BL 角经 rotate(45deg) 转到左侧） */
}
.tmux-spotlight-tip::before {
  content: '';
  position: absolute;
  left: -4.5px;
  top: 50%;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  background: #1f1f1f;
  border-bottom: 1px solid #4b4b4b;
  border-left: 1px solid #4b4b4b;
  transform: rotate(45deg);
}
/* 变体：tip 位于浮层**左侧**、箭头朝右指向浮层内高亮区块（desktop 本地 tmux 入口链路，
   见 ToolBoxButton.tsx 的 LocalTmuxMigrateTip）。箭头翻到右缘：border-top+right 的
   TR 角经 rotate(45deg) 转到右侧。宽度须与组件内 TIP_WIDTH 常量一致。 */
.tmux-spotlight-tip--right {
  width: 232px;
  /* 终端区/tea 浮层均为高 z-index fixed/absolute 层，tip 须压过页面所有业务层 */
  z-index: 9999;
}
.tmux-spotlight-tip--right::before {
  left: auto;
  right: -4.5px;
  border-bottom: none;
  border-left: none;
  border-top: 1px solid #4b4b4b;
  border-right: 1px solid #4b4b4b;
}
/* ══════════════════════════════════════════════════════════════════════════
   R3：连接项信息随常驻。

   本连接的 tmux 列表处于常驻状态时（hover 列表展开被钉住 / 常驻管理面板展开），
   连接项上的 `ip | 连接协议名`（.mine-server-item__footer）也常驻显示，不随鼠标
   移出而隐藏；非常驻时恢复 base 样式的「hover / is-actived 才显示」。

   base 规则来自第三方包 @tencent/tea-style-orcaterm（node_modules，不可改）：
     .orcaterm-connect-configure-body .mine-server-list .mine-server-item .mine-server-item__footer { opacity: 0 }
     …:hover .…__footer, ….is-actived .…__footer { opacity: 1 }
   base 把 footer（ip|协议名）/ __text（ping 延迟）/ .tea-btn.more-btn（更多）当**同一个
   hover 显隐组**处理（同一条选择器列表），故此处整组覆盖——只覆盖一半会出现「信息行亮了、
   旁边两处还是暗的」半亮破图。特异性 (0,7,0) > base (0,4,0)，无需 !important。
   注意：less 嵌套 `&-suffix` 会编译成死选择器，此处一律写完整类名（选择器仍是普通
   后代选择器，.orcaterm-connect-configure-body 为祖先容器类，非本组件局部）。 */
.orcaterm-connect-configure-body .mine-server-list .mine-server-item.is-tmux-pinned .mine-server-item__inner .mine-server-item__bd .mine-server-item__footer,
.orcaterm-connect-configure-body .mine-server-list .mine-server-item.is-tmux-pinned .mine-server-item__inner .mine-server-item__text,
.orcaterm-connect-configure-body .mine-server-list .mine-server-item.is-tmux-pinned .mine-server-item__inner .tea-btn.more-btn {
  opacity: 1;
}
/*# sourceMappingURL=tmuxSessions.css.map */
/**
 * 连接配置列表「更多」下拉菜单（boxClassName="mine-server-item__dropdown-box"）。
 *
 * 背景：tea 的 List type="option" 对每一项都有
 *   `.tea-list--option > li { white-space: nowrap; overflow: hidden; text-overflow: ellipsis }`
 * 一旦容器宽度装不下文案就会被截断。这个菜单原来的宽度下限只有 108px，
 * 减去容器 padding(4×2) 与 li padding(12×2) 后内容区仅 ≈76px，而
 * 「添加到 AI 对话」约 82px，于是被截成「添加到 AI …」。
 *
 * 修法：宽度改由内容决定，并保留一个观感下限与一个兜底上限。
 *   width: max-content → 后续再加更长的菜单项也不会被截断
 *   min-width          → 短菜单（如仅「登录 / 删除」）不至于窄得不像下拉
 *   max-width          → 异常长文案仍走 ellipsis，避免菜单宽到离谱
 *
 * 选择器带 .tea-dropdown-box 是为了压过同名的既有规则（该下拉通过 portal
 * 渲染到 #tea-overlay-root，无法用祖先选择器限定作用域），!important 则保证
 * 不受样式打包顺序影响。
 */
.tea-dropdown-box.mine-server-item__dropdown-box {
  min-width: 128px !important;
}
/*# sourceMappingURL=index.css.map */
.orcaterm-right-aside,
.orcaterm-command-library,
.orcaterm-command-library__header {
  position: relative;
}
.orcaterm-right-aside-header,
.orcaterm-command-library-header,
.orcaterm-command-library__header-header {
  width: 100%;
  padding: 20px;
  box-sizing: border-box;
  border-bottom: 1px solid var(--ot-background-color-11);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--ot-font-color-primary);
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
}
.orcaterm-right-aside-header .tea-btn,
.orcaterm-command-library-header .tea-btn,
.orcaterm-command-library__header-header .tea-btn {
  padding: 0 !important;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  transition: all 0.3s ease-in-out;
  border-radius: 4px;
}
.orcaterm-right-aside-header__actions,
.orcaterm-command-library-header__actions,
.orcaterm-command-library__header-header__actions {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.orcaterm-right-aside.visible .ot-resize-line,
.orcaterm-command-library.visible .ot-resize-line,
.orcaterm-command-library__header.visible .ot-resize-line {
  display: block;
}
.orcaterm-right-aside .ot-resize-line,
.orcaterm-command-library .ot-resize-line,
.orcaterm-command-library__header .ot-resize-line {
  height: 100%;
  cursor: col-resize;
  position: absolute;
  background-color: unset;
  z-index: 100;
  top: 0;
}
.orcaterm-right-aside .ot-resize-line.hover,
.orcaterm-command-library .ot-resize-line.hover,
.orcaterm-command-library__header .ot-resize-line.hover {
  background-color: var(--ot-font-color-1);
}
.orcaterm-command-library.ot-space .ot-resize-line,
.orcaterm-command-library.orcaterm-tauri-left-library .ot-resize-line,
.orcaterm-command-library.ot-connectionList .ot-resize-line,
.orcaterm-command-library__header .ot-resize-line {
  width: 3px;
  right: 0;
}
.orcaterm-right-aside {
  border-left: 1px solid var(--OT-Color-Border-Gray-Primary);
}
.orcaterm-right-aside .ot-resize-line {
  width: 3px;
  left: 0;
  z-index: 101;
  pointer-events: auto;
}
.orcaterm-right-aside .ot-resize-line::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 10px;
}
.orcaterm-right-aside.is-panel-fullscreen {
  position: fixed !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  left: 0 !important;
  z-index: 1000;
  width: 100vw !important;
  height: 100vh !important;
  flex: none;
  overflow: hidden;
  transition: none;
  background: var(--OT-Color-Fill-Gray-Page-Base, var(--ot-background-color-1));
  border-left: 0;
}
.orcaterm-right-aside.is-panel-fullscreen .ot-resize-line {
  display: none;
}
.orcaterm-command-library.notebook-content .ot-resize-line {
  left: 100%;
  width: 2px;
}
.orcaterm-command-library.ot-space .orcaterm-command-library-inner {
  width: 100%;
}
.orcaterm-command-library.ot-framework-left-container.orcaterm-tauri-left-library .orcaterm-command-library-inner {
  width: 100%;
}
.orcaterm-command-library.ot-framework-left-container.ot-connectionList .orcaterm-command-library-inner {
  width: 100%;
}
.orcaterm-command-library.orcaterm-tauri-left-library.visible {
  width: 280px;
}
/*# sourceMappingURL=style.css.map */

.ot-login-loading-more {
  position: absolute;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  bottom: -30px;
  height: 30px;
  transition: bottom 0.3s linear;
}
.ot-login-loading-more.loading {
  bottom: 0;
}
/*# sourceMappingURL=style.css.map */
.orcaterm-monitor-drawer .tea-drawer__body {
  padding: 20px;
}
.orcaterm-monitor-drawer__list {
  padding: 8px 14px 0 18px !important;
  display: grid !important;
  gap: 8px 40px !important;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  height: 100%;
}
.orcaterm-monitor-drawer__item-info.ot-memo-monitor {
  justify-content: space-between;
}
.orcaterm-monitor-drawer__item-info.ot-memo-monitor > div {
  flex: unset !important;
  padding-left: 0 !important;
}
.orcaterm-monitor-drawer__item-info.ot-memo-monitor > div::after {
  content: none !important;
}
.orcaterm-monitor-drawer__item {
  width: unset !important;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.orcaterm-monitor-drawer__item-chart {
  bottom: 0;
  margin-top: 0 !important;
}
.orcaterm-monitor-drawer__item-header {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: unset !important;
}
.orcaterm-monitor-drawer__item-title {
  width: unset !important;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
}
.orcaterm-monitor-drawer__item-info {
  padding: 2px 10px !important;
}
/*# sourceMappingURL=style.css.map */
@keyframes ot-pane-zoom-enter {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes ot-pane-zoom-exit {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.6);
  }
}
@keyframes ot-pane-backdrop-exit {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
:root {
  --ot-split-pane-min-width: 100px;
  --ot-split-pane-min-height: 50px;
  --ot-split-pane-header-height: 26px;
  --ot-pane-zoom-inset: 20px;
  --ot-pane-bg: #000000;
  --ot-pane-box-bg: #141414;
  --ot-pane-border-active-color: #06A8FF;
  --ot-pane-border-color: rgba(255, 255, 255, 0.2);
}
[theme=light],
[theme=light] :root {
  --ot-pane-bg: #ffffff;
  --ot-pane-box-bg: #f1f2f5;
  --ot-pane-border-color: rgba(0, 0, 0, 0.08);
}
.orcaterm-split-view-container {
  height: 100%;
  position: relative;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.orcaterm-split-view {
  min-width: var(--ot-split-pane-min-width);
  min-height: var(--ot-split-pane-min-height);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.orcaterm-split-view.is-agent-mode {
  --ot-pane-border-active-color: #847DFD;
}
.orcaterm-split-view__header {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--ot-split-pane-header-height, 32px);
  padding: 4px 12px 0 12px;
  cursor: default;
  overflow: hidden;
  box-sizing: border-box;
}
.orcaterm-split-view__header-drag-handle {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  cursor: grab;
}
.orcaterm-split-view__header-drag-handle:active {
  cursor: grabbing;
}
.orcaterm-split-view__header:active .orcaterm-split-view__header-drag-handle {
  cursor: grabbing;
}
.orcaterm-split-view__header-text {
  color: var(--ot-font-color-secondary);
  font-size: 12px;
  font-weight: 400;
  line-height: var(--ot-split-pane-header-height, 32px);
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.orcaterm-split-view__header-text .ruyi-icon {
  color: var(--ot-font-color-secondary);
  flex-shrink: 0;
}
.orcaterm-split-view__header-oper {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: default;
  transition: opacity 0.3s ease-in-out;
  color: var(--ot-font-color-primary);
  height: 100%;
}
.orcaterm-split-view__header-oper .ruyi-icon,
.orcaterm-split-view__header-oper svg {
  color: inherit;
  fill: currentColor;
  width: 14px;
  height: 14px;
}
.orcaterm-split-view__header-oper .orcaterm-header__item {
  width: 20px;
  height: 20px;
  min-width: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ot-font-color-primary);
  border-radius: 4px;
  cursor: pointer;
}
.orcaterm-split-view__header-oper .orcaterm-header__item:hover {
  background-color: var(--ot-top-background-color-1);
}
.orcaterm-split-view__header-oper .orcaterm-header__item .ruyi-icon,
.orcaterm-split-view__header-oper .orcaterm-header__item svg {
  color: inherit;
  fill: currentColor;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.orcaterm-split-view__header-oper .orcaterm-header__item.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.orcaterm-split-view__header-oper .orcaterm-header__item.is-disabled:hover {
  background-color: transparent;
}
.orcaterm-split-view__header-oper .tea-btn.tea-btn--icon.icon-btn.no-border {
  width: 20px;
  height: 20px;
  min-width: 20px;
  padding: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ot-font-color-primary);
  border-radius: 4px;
}
.orcaterm-split-view__header-oper .tea-btn.tea-btn--icon.icon-btn.no-border:hover {
  background-color: var(--ot-top-background-color-1);
}
.orcaterm-split-view__header-oper .tea-btn.tea-btn--icon.icon-btn.no-border .ruyi-icon,
.orcaterm-split-view__header-oper .tea-btn.tea-btn--icon.icon-btn.no-border svg {
  width: 14px;
  height: 14px;
}
.orcaterm-split-view__header-divider {
  width: 1px;
  height: 16px;
  background: var(--OT-Color-Base-Border-Secondary, #383838);
  flex-shrink: 0;
}
.orcaterm-split-view__header--overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 5;
  border-bottom: none;
  background-color: transparent;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease-in-out;
}
.orcaterm-split-view:hover > .orcaterm-split-view__header--overlay,
.orcaterm-pane-fullscreen-overlay:hover > .orcaterm-split-view__header--overlay,
.orcaterm-split-view__header--overlay:focus-within {
  opacity: 1;
}
.orcaterm-split-view:hover > .orcaterm-split-view__header--overlay .orcaterm-split-view__header-text,
.orcaterm-pane-fullscreen-overlay:hover > .orcaterm-split-view__header--overlay .orcaterm-split-view__header-text,
.orcaterm-split-view__header--overlay:focus-within .orcaterm-split-view__header-text {
  background-color: rgba(30, 30, 30, 0.85);
  border-radius: 3px;
  padding: 0 4px;
}
.orcaterm-split-view:hover > .orcaterm-split-view__header--overlay .orcaterm-split-view__header-oper,
.orcaterm-pane-fullscreen-overlay:hover > .orcaterm-split-view__header--overlay .orcaterm-split-view__header-oper,
.orcaterm-split-view__header--overlay:focus-within .orcaterm-split-view__header-oper,
.orcaterm-split-view:hover > .orcaterm-split-view__header--overlay .orcaterm-split-view__header-drag-handle,
.orcaterm-pane-fullscreen-overlay:hover > .orcaterm-split-view__header--overlay .orcaterm-split-view__header-drag-handle,
.orcaterm-split-view__header--overlay:focus-within .orcaterm-split-view__header-drag-handle {
  pointer-events: auto;
}
.orcaterm-split-view.leaf {
  border: 1px solid var(--ot-pane-border-color);
  background-color: var(--ot-pane-item-bg, var(--ot-pane-bg));
  border-radius: 6px;
}
.orcaterm-split-view.is-selected.leaf {
  border: 1px solid var(--ot-pane-border-active-color, #06A8FF);
  border-radius: 6px;
}
.orcaterm-split-view.is-selected .orcaterm-split-view__header-oper {
  opacity: 1;
}
.orcaterm-split-view.is-selected .orcaterm-split-view__header-text .ruyi-icon {
  color: var(--ot-font-color-1);
}
.orcaterm-split-view.drag-source {
  opacity: 0.5;
}
.orcaterm-split-view.drag-source .orcaterm-split-view__header {
  cursor: grabbing;
}
.orcaterm-split-view.is-fullscreen .orcaterm-split-view__header,
.orcaterm-split-view.is-fullscreen .orcaterm-split-view__header:active {
  cursor: default;
}
.orcaterm-drop-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 100;
}
.orcaterm-drop-overlay .orcaterm-drop-indicator {
  position: absolute;
  background: rgba(0, 120, 212, 0.15);
  border: 2px solid rgba(0, 120, 212, 0.6);
  border-radius: 4px;
  transition: all 0.15s ease;
}
.orcaterm-drop-overlay.left .orcaterm-drop-indicator {
  inset: 4px 50% 4px 4px;
}
.orcaterm-drop-overlay.right .orcaterm-drop-indicator {
  inset: 4px 4px 4px 50%;
}
.orcaterm-drop-overlay.top .orcaterm-drop-indicator {
  inset: 4px 4px 50% 4px;
}
.orcaterm-drop-overlay.bottom .orcaterm-drop-indicator {
  inset: 50% 4px 4px 4px;
}
.orcaterm-drop-overlay.invalid .orcaterm-drop-indicator {
  background: rgba(227, 77, 89, 0.15);
  border-color: rgba(227, 77, 89, 0.6);
}
.orcaterm-pane-drop-zone {
  position: absolute;
  top: var(--ot-split-pane-header-height, 20px);
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 50;
  pointer-events: none;
}
body.orcaterm-pane-dragging .orcaterm-pane-drop-zone {
  pointer-events: auto;
}
body.orcaterm-pane-dragging.orcaterm-pane-dragging--tmux .orcaterm-pane-drop-zone--shadow {
  z-index: 49;
}
.orcaterm-drag-image {
  position: fixed;
  top: -1000px;
  left: -1000px;
  background: rgba(0, 120, 212, 0.9);
  color: white;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  pointer-events: none;
  z-index: 10000;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.3);
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
}
:root .orcaterm-split-view.is-selected .orcaterm-split-view__header-oper .tea-btn.tea-btn--icon.icon-btn.no-border:hover,
[theme='dark'] .orcaterm-split-view.is-selected .orcaterm-split-view__header-oper .tea-btn.tea-btn--icon.icon-btn.no-border:hover {
  background: #283D6B;
}
[theme='light'] .orcaterm-split-view.is-selected .orcaterm-split-view__header-oper .tea-btn.tea-btn--icon.icon-btn.no-border:hover {
  background: #B8CCFA;
}
.orcaterm-pane-header__more-dropdown .tea-dropdown__inner {
  padding: 4px;
}
.orcaterm-pane-header__more-list {
  display: flex;
  flex-direction: column;
  min-width: 120px;
  gap: 2px;
}
.orcaterm-pane-header__more-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 4px;
  cursor: pointer;
  color: var(--ot-font-color-primary);
}
.orcaterm-pane-header__more-item:hover {
  background-color: var(--ot-top-background-color-1);
}
.orcaterm-pane-header__more-item .orcaterm-header__item {
  width: 100%;
  height: auto;
  min-width: auto;
  display: flex;
  align-items: center;
  position: relative;
}
.orcaterm-pane-header__more-item .orcaterm-header__item:hover {
  background-color: transparent;
}
.orcaterm-pane-header__more-item .orcaterm-header__item.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.orcaterm-pane-header__more-item .orcaterm-header__item-inner {
  width: 100%;
}
.orcaterm-pane-header__more-item .orcaterm-header__item.tmux {
  width: 100%;
  justify-content: space-between;
}
.orcaterm-pane-header__more-item .orcaterm-header__item .esc-tmux-session {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  color: var(--ot-font-color-primary);
  font-size: 10px;
  font-weight: 600;
  line-height: 10px;
  gap: 2px;
  padding: 2px 4px;
}
.orcaterm-pane-header__more-item .orcaterm-header__item .esc-tmux-session:hover {
  border-radius: 4px;
  background-color: var(--OT-Color-Fill-Gray-Tertiary-Hover);
}
.orcaterm-pane-header__more-item .orcaterm-header__item .esc-tmux-session .label {
  color: var(--ot-font-color-secondary);
  font-size: 7px;
  font-weight: 500;
  line-height: 7px;
}
.orcaterm-pane-header__more-item .ruyi-icon,
.orcaterm-pane-header__more-item svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.orcaterm-pane-header__more-item.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.orcaterm-keep-session-bubble__guide-bar {
  --guide-brand: #82bcff;
  --guide-brand-border: rgba(130, 188, 255, 0.42);
  --guide-brand-border-hover: rgba(130, 188, 255, 0.7);
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 0 calc(-1 * var(--guide-bar-inset-x, 0px)) 0;
  padding: 11px 16px 12px;
  background: rgba(71, 129, 254, 0.09);
  border-top: 1px solid rgba(71, 129, 254, 0.22);
}
#tea-overlay-root .orcaterm-keep-session-bubble.list .tea-bubble .tea-bubble__inner {
  --guide-bar-inset-x: 0px;
  padding-left: var(--guide-bar-inset-x);
  padding-right: var(--guide-bar-inset-x);
  padding-bottom: 0;
  border-bottom-width: 0;
}
[theme='dark'] #tea-overlay-root .orcaterm-keep-session-bubble.list .tea-bubble .tea-bubble__inner,
[theme-mode='dark'] #tea-overlay-root .orcaterm-keep-session-bubble.list .tea-bubble .tea-bubble__inner {
  --guide-bar-inset-x: 12px;
}
[theme='light'] .orcaterm-keep-session-bubble__guide-bar {
  --guide-brand: #006eff;
  --guide-brand-border: rgba(0, 110, 255, 0.42);
  --guide-brand-border-hover: rgba(0, 110, 255, 0.7);
}
.orcaterm-keep-session-bubble__guide-icon {
  display: inline-flex;
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--guide-brand);
}
.orcaterm-keep-session-bubble__guide-icon svg {
  width: 13px;
  height: 13px;
}
.orcaterm-keep-session-bubble__guide-text {
  flex: 1;
  font-size: 11.5px;
  color: var(--ot-font-color-secondary);
  line-height: 1.65;
}
.orcaterm-keep-session-bubble__guide-text b {
  color: var(--ot-font-color-primary);
  font-weight: 600;
}
.orcaterm-keep-session-bubble__guide-btns {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  align-self: center;
}
.orcaterm-keep-session-bubble__guide-btn {
  font-size: 11.5px;
  padding: 5px 11px;
  border-radius: 5px;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1.4;
  font-family: inherit;
}
.orcaterm-keep-session-bubble__guide-btn--go {
  color: var(--guide-brand);
  border-color: var(--guide-brand-border);
}
.orcaterm-keep-session-bubble__guide-btn--go:hover {
  background: rgba(71, 129, 254, 0.14);
  border-color: var(--guide-brand-border-hover);
}
.orcaterm-pane-header__more-loading {
  display: inline-flex;
  align-items: center;
  margin-left: auto;
  font-size: 14px;
  color: var(--ot-font-color-secondary);
}
.orcaterm-pane-header__more-label {
  font-size: 12px;
  line-height: 1;
  color: var(--ot-font-color-primary);
  white-space: nowrap;
}
.orcaterm-pane-header__more-item--text {
  position: relative;
}
.orcaterm-pane-header__more-item--text .orcaterm-pane-header__more-tool {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  opacity: 0;
}
.orcaterm-pane-header__more-item--text .orcaterm-pane-header__more-tool * {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
}
.orcaterm-pane-header__more-item--text .orcaterm-pane-header__more-label {
  position: relative;
  z-index: 1;
  flex: 1;
  pointer-events: none;
}
.orcaterm-pane-header__more-divider {
  height: 1px;
  margin: 4px 0;
  background-color: var(--OT-Color-Base-Border-Secondary, #383838);
}
.ot-pane-split--key {
  width: 100%;
  justify-content: space-between;
}
.orcaterm__main {
  --splitter-width: 2px;
}
.orcaterm__main .orcaterm-pane-container {
  flex: 1;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
.orcaterm__main .orcaterm__body {
  padding: 2px;
  box-sizing: border-box;
  background-color: var(--ot-pane-box-bg);
}
.orcaterm__main .orcaterm__body > .orcaterm-split-view-container {
  background-color: inherit;
  overflow: hidden;
  min-width: 0;
  min-height: 0;
}
.orcaterm__main .orcaterm__body > .orcaterm-split-view.leaf {
  width: 100%;
  height: 100%;
  position: relative;
}
.orcaterm__main .orcaterm__body .orcaterm-pane-fullscreen-overlay {
  position: absolute;
  top: var(--ot-pane-zoom-inset, 20px);
  right: var(--ot-pane-zoom-inset, 20px);
  bottom: var(--ot-pane-zoom-inset, 20px);
  left: var(--ot-pane-zoom-inset, 20px);
  z-index: 10;
  display: none;
  flex-direction: column;
  border-radius: 6px;
  overflow: hidden;
  background-color: var(--ot-pane-item-bg, var(--ot-pane-bg));
  outline: 2px solid var(--ot-pane-border-active-color, #1784EB);
  outline-offset: 0;
  animation: ot-pane-zoom-enter 0.22s cubic-bezier(0.32, 0.72, 0.3, 1) both;
  transform-origin: center center;
}
.orcaterm__main .orcaterm__body .orcaterm-pane-fullscreen-overlay:not(:empty) {
  display: flex;
}
.orcaterm__main .orcaterm__body .orcaterm-pane-fullscreen-overlay.is-exiting {
  display: flex;
  animation: ot-pane-zoom-exit 0.18s cubic-bezier(0.32, 0.72, 0.3, 1) both;
}
.orcaterm__main .orcaterm__body .orcaterm-pane-fullscreen-overlay.is-agent-mode {
  --ot-pane-border-active-color: #847DFD;
}
.orcaterm__main .orcaterm__body .orcaterm-pane-fullscreen-overlay__backdrop {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.orcaterm__main .orcaterm__body .orcaterm-pane-fullscreen-overlay__backdrop.is-exiting {
  animation: ot-pane-backdrop-exit 0.18s ease-out both;
}
.orcaterm__main .orcaterm-split-view-container {
  display: flex;
  background-color: inherit;
  position: relative;
  overflow: visible;
}
.orcaterm__main .orcaterm-split-view-container.vertical {
  flex-direction: column;
}
.orcaterm__main .orcaterm-split-view-container.vertical > .orcaterm-split-view-splitter {
  height: var(--splitter-width);
  cursor: row-resize;
  margin: 1px 0;
}
.orcaterm__main .orcaterm-split-view-container.vertical > .orcaterm-split-view-splitter:hover {
  transform: scaleY(1.5);
  z-index: 1000;
}
.orcaterm__main .orcaterm-split-view-container.vertical > .orcaterm-split-view {
  min-height: var(--ot-split-pane-min-height);
  width: 100%;
  box-sizing: border-box;
  flex: 0 1 0;
}
.orcaterm__main .orcaterm-split-view-container.vertical > .orcaterm-split-view:not(.leaf) {
  min-height: min-content;
}
.orcaterm__main .orcaterm-split-view-container.horizontal {
  flex-direction: row;
  justify-content: space-between;
}
.orcaterm__main .orcaterm-split-view-container.horizontal > .orcaterm-split-view-splitter {
  width: var(--splitter-width);
  cursor: col-resize;
  margin: 0 1px;
}
.orcaterm__main .orcaterm-split-view-container.horizontal > .orcaterm-split-view-splitter:hover {
  transform: scaleX(1.5);
}
.orcaterm__main .orcaterm-split-view-container.horizontal > .orcaterm-split-view {
  min-width: var(--ot-split-pane-min-width);
  height: 100%;
  flex: 0 1 0;
}
.orcaterm__main .orcaterm-split-view-container.horizontal > .orcaterm-split-view:not(.leaf) {
  min-width: min-content;
}
.orcaterm__main .orcaterm-split-view-container .orcaterm-split-view {
  position: relative;
  flex-grow: 1;
  overflow: hidden;
}
.orcaterm__main .orcaterm-split-view-container .orcaterm-split-view:not(.leaf) {
  overflow: visible;
}
.orcaterm__main .orcaterm-split-view-container .orcaterm-split-view.leaf {
  contain: size;
}
.orcaterm__main .orcaterm-split-view-container .orcaterm-split-view.is-hidden {
  pointer-events: none;
}
.orcaterm__main .orcaterm-split-view-container .orcaterm-split-view-splitter {
  flex-shrink: 0;
  background-color: var(--ot-pane-box-bg);
  z-index: 4;
}
.orcaterm__main .orcaterm-split-view-container .orcaterm-split-view-splitter:hover {
  background-color: var(--ot-font-color-1);
}
.orcaterm__main .orcaterm-split-view-container .orcaterm-split-view__header {
  z-index: 4;
}
.orcaterm-cooperation-entry {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex-shrink: 0;
  color: var(--ot-font-color-primary);
  box-sizing: border-box;
}
.orcaterm-cooperation-entry--hidden {
  display: none;
}
.orcaterm-cooperation-entry--disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.orcaterm-cooperation-entry--loading {
  display: inline-flex;
  align-items: center;
  padding: 0 4px;
}
.orcaterm-cooperation-entry__icon {
  color: inherit;
  fill: currentColor;
  transition: color 0.2s ease-in-out;
  flex-shrink: 0;
}
.orcaterm-cooperation-entry__icon.is-active {
  color: #32b25d;
}
.orcaterm-cooperation-entry__icon.is-disabled {
  color: var(--ot-font-color-secondary);
}
.orcaterm-cooperation-entry__icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  cursor: pointer;
  color: inherit;
}
.orcaterm-cooperation-entry__icon-btn:hover {
  background-color: var(--ot-top-background-color-1);
}
.orcaterm-cooperation-entry__icon-btn.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}
.orcaterm-cooperation-entry__label-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 18px;
  padding: 2px 4px;
  border-radius: 4px;
  cursor: pointer;
  color: inherit;
  background-color: transparent;
  transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
  user-select: none;
  white-space: nowrap;
}
.orcaterm-cooperation-entry__label-btn.has-btn-text {
  border-radius: 12px;
  padding: 2px 8px;
}
.orcaterm-cooperation-entry__label-btn:hover {
  background-color: var(--ot-top-background-color-1);
}
.orcaterm-cooperation-entry__label-btn.is-active.has-btn-text {
  background-color: var(--ot-top-background-color-1);
}
.orcaterm-cooperation-entry__label-btn.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.orcaterm-cooperation-entry__label-btn.is-static {
  cursor: default;
  pointer-events: none;
}
.orcaterm-cooperation-entry__label-btn.is-static:hover {
  background-color: transparent;
}
.orcaterm-cooperation-entry__action-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  height: 100% !important;
  line-height: 100% !important;
  padding: 2px 8px !important;
  border-radius: 12px !important;
  font-size: 12px !important;
  background: var(--OT-color-gray-opacity-16, rgba(255, 255, 255, 0.16));
}
.orcaterm-cooperation-entry__label {
  font-size: 12px;
  line-height: 16px;
  color: inherit;
  white-space: nowrap;
}
.orcaterm-cooperation-entry__pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 22px;
  padding: 0 8px;
  border-radius: 12px;
  background-color: var(--ot-top-background-color-1);
  box-sizing: border-box;
}
.orcaterm-cooperation-entry__pill-main {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 100%;
  cursor: pointer;
  color: inherit;
  user-select: none;
  white-space: nowrap;
}
.orcaterm-cooperation-entry__pill-main.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.orcaterm-cooperation-entry__pill-divider {
  width: 1px;
  height: 14px;
  flex-shrink: 0;
  background-color: var(--ot-font-color-secondary);
  opacity: 0.4;
}
.orcaterm-cooperation-entry__avatars {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  height: 100%;
}
.orcaterm-cooperation-entry__avatars .orcaterm__cooperation-item {
  border-radius: 50%;
  overflow: hidden;
  height: 20px;
  width: 20px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.orcaterm-cooperation-entry__avatars .orcaterm__cooperation-item.is-current::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border: 1px dashed #32b25d;
  border-radius: 100%;
  cursor: pointer;
}
.orcaterm-cooperation-entry__avatars .orcaterm__cooperation-item-inner {
  width: calc(100% - 3px);
  height: calc(100% - 3px);
}
.orcaterm-cooperation-entry__avatars .orcaterm__cooperation-item img {
  width: 100%;
  height: 100%;
}
.orcaterm-cooperation-entry__countdown {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: 12px;
  line-height: 16px;
  color: var(--ot-font-color-primary);
}
.orcaterm-cooperation-entry__footer {
  display: flex;
  flex-direction: column;
  padding: 0 !important;
}
.orcaterm-cooperation-entry__footer .tea-btn {
  box-sizing: content-box;
  border-radius: 0 !important;
  padding: 4px 0 !important;
}
.orcaterm-cooperation-entry__split-line {
  height: 1px;
  width: 100%;
  background-color: var(--OT-Color-Base-Border-Primary, #2C2C2C);
}
.orcaterm-cooperation-entry__stop-btn.tea-btn {
  color: var(--OT-Color-Accent-Text-Error-Default, #FF5E4F) !important;
  font-weight: 500;
  line-height: 20px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 4px;
  background-color: transparent;
  border-radius: 0 0 4px 4px !important;
}
.orcaterm-cooperation-entry__stop-btn.tea-btn:hover {
  background-color: rgba(229, 79, 64, 0.16) !important;
}
.orcaterm-cooperation-entry__stop-btn.tea-btn .ruyi-icon {
  color: inherit;
}
/* ── T2.6：tmux pane 终端渲染单元 ────────────────────────────────
   TmuxPaneItem 只做「数据管道 + 终端渲染」，不含 pane 外壳
   （header / leaf 包裹 / drop-zone 归统一 PaneSurface，方案 §5 硬边界）。
   0920 二次/三次修正历史：留白曾从对称（×2）改为左侧单边（×1，为让 xterm
   滚动条贴 pane 右缘、对齐普通会话 .block-container 的左单边 padding）；
   2026-09-23 按用户反馈**恢复左右对称**（`padding: 0 12px`）——右侧内容贴边
   缺少呼吸感，用户要求与左侧一致。取舍：xterm 自身滚动条随之内缩 12px，
   不再贴 pane 右缘（用户知情接受）。
   同步改动（宽度轴闭合换算统一用 TMUX_PANE_H_PADDING_TOTAL_PX = 2×PADDING，
   见 gridMetrics.ts 头注）：树侧 useTmuxPaneTree.sizeWithStructuralInset、
   网格根 PaneTreeView.gridRootStyleFor（maxWidth 加回）、client size 换算
   tmuxClientSize.hPaddingInsetFor——四处同源闭合，因此这里的 padding 不会
   导致内容被裁切（xterm canvas 仍精确渲染 tmux 报告的 cols×charW，只是
   叶子盒子本身比这个尺寸大出 24px，多出的部分正是这里声明的左右 padding）。
   box-sizing: border-box 让 width:100%/height:100%（本元素与其唯一子节点
   container，TmuxPaneItem.tsx 内 JS 创建）在有 padding 时仍精确铺满内容区，
   不溢出。 */
.orcaterm-tmux-pane {
  position: relative;
  width: 100%;
  height: 100%;
}
.orcaterm-tmux-pane .orcaterm-tmux-pane-body {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 0 12px;
  /* xterm 容器（TmuxPaneItem 内 JS 创建的唯一子节点）：宽度 = 内容盒宽 + 右
       padding（12px），伸进右侧留白区 —— xterm 6 滚动条是 overlay 悬浮条
       （.xterm-scrollable-element > .scrollbar，绝对定位、不占布局，shell.less
       已把 3px 薄条样式落到本子树），贴容器右缘 = pane 右缘；canvas
       （cols×charW = 盒宽 - 2×PADDING，宽度轴闭合换算保证）仍距右缘 12px
       （内容右留白，与左对称）——「内容留白 + 滚动条贴边」两全。
       ⚠️ 依赖 canvas 宽度严格 = cols×charW：宽度轴四处闭合换算（见上方头注）
       必须与 TOTAL 同源，否则 canvas 会溢出内容盒、内容重新贴边。body 背景已
       同步终端主题色（TmuxPaneItem.applyTerminalTheme），canvas 与滚动条之间
       的空隙无色差。 */
}
.orcaterm-tmux-pane .orcaterm-tmux-pane-body > .orcaterm-tmux-term-host {
  width: calc(100% + 12px);
  height: 100%;
}
/* ── T2.8：tmux 宿主渲染（方案 §6.3/§6.10-12）───────────────────
   tmuxHost 的 content = 影子 slot，与其 tmux 子树（PaneTreeContainer，
   content 的流内兄弟）同区叠加：
   - stage：绝对定位铺满宿主区域、与子树区域重合（F1p5d 起 tmuxHost
     headerMode='none' 无 host header 需让位，top:0 贴边；此前 top:26px 给
     已移除的 host block header 让位，导致 shadow 量尺矮 26px、tmux xterm
     底部留 26px 空白带）；pointer-events:none（交互穿透到 tmux pane 的
     xterm），z-index 低于全屏 overlay(z-index:10) 与 drop-zone(50)。
     TmuxSessionController（TermItem 内渲染）经 .lh-terminal-box 铺满 shadow，
     其浮层（prefix hint / toast / 状态栏 / 对话框）即锚定在本层、随 stage 可见。
   - shadow：inset:0 铺满 stage，visibility:hidden 隐藏宿主终端但保留布局盒
     （tmux client 尺寸量尺，§3.4-2）；pointer-events:none。子元素可经
     visibility:visible 覆盖继承（TmuxSessionController 浮层即此机制）。 */
.orcaterm-tmux-host__stage {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 5;
  pointer-events: none;
}
.orcaterm-tmux-host__shadow {
  position: absolute;
  inset: 0;
  visibility: hidden;
  pointer-events: none;
}
/* tmuxHost headerMode='none'（F1p5d）：其直接子容器（PaneTreeContainer）铺满宿主
   区域（无 host header 占据空间）。stage 是 renderContent 输出、位于容器之前的
   直接兄弟，用相邻兄弟选择器作用域化。 */
.orcaterm-tmux-host__stage + .orcaterm-split-view-container {
  flex: 1;
  min-height: 0;
  min-width: 0;
  height: auto;
}
.ot-terminal-shell .xterm .xterm-scrollable-element > .scrollbar,
.orcaterm-tmux-pane .xterm .xterm-scrollable-element > .scrollbar {
  width: 3px !important;
}
.ot-terminal-shell .xterm .xterm-scrollable-element > .scrollbar > .slider,
.orcaterm-tmux-pane .xterm .xterm-scrollable-element > .scrollbar > .slider {
  width: 3px !important;
  border-radius: 3px;
  /* 添加圆角 */
  background-color: var(--scroll-bar-color) !important;
  border: none;
  background-clip: unset;
}
.ot-terminal-shell .xterm .xterm-scrollable-element > .scrollbar:hover,
.orcaterm-tmux-pane .xterm .xterm-scrollable-element > .scrollbar:hover {
  width: 6px !important;
}
.ot-terminal-shell .xterm .xterm-scrollable-element > .xterm-scrollbar,
.orcaterm-tmux-pane .xterm .xterm-scrollable-element > .xterm-scrollbar {
  width: 3px !important;
}
.ot-terminal-shell .xterm .xterm-scrollable-element > .xterm-scrollbar > .xterm-slider,
.orcaterm-tmux-pane .xterm .xterm-scrollable-element > .xterm-scrollbar > .xterm-slider {
  width: 3px !important;
  border-radius: 3px;
  /* 添加圆角 */
  background-color: var(--scroll-bar-color) !important;
  border: none;
  background-clip: unset;
}
.ot-terminal-shell .xterm .xterm-scrollable-element > .xterm-scrollbar:hover,
.orcaterm-tmux-pane .xterm .xterm-scrollable-element > .xterm-scrollbar:hover {
  width: 6px !important;
}
.ot-terminal-shell .xterm-viewport,
.orcaterm-tmux-pane .xterm-viewport {
  scrollbar-width: none;
}
.ot-terminal-shell .xterm-viewport::-webkit-scrollbar,
.orcaterm-tmux-pane .xterm-viewport::-webkit-scrollbar {
  width: 0;
  height: 0;
  background: transparent;
  display: none;
}
.orcaterm-header__add-bubble-shells {
  padding-top: 4px;
}
.orcaterm-header__add-bubble-shells__title {
  padding: 4px 8px;
  font-size: 12px;
  line-height: 20px;
  color: var(--ot-font-color-placeholder);
}
.orcaterm-header__add-bubble-shells__list {
  margin: 0;
  padding: 0;
  list-style: none;
  max-height: 220px;
  overflow-y: auto;
}
.orcaterm-header__add-bubble-shells__list > li {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 30px;
  padding: 0 10px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  line-height: 30px;
  white-space: nowrap;
  color: var(--ot-font-color-primary);
  transition: background-color 0.15s ease;
}
.orcaterm-header__add-bubble-shells__list > li:hover {
  background-color: var(--ot-active-background-color);
}
.orcaterm-header__add-bubble-shells__list > li > svg {
  flex-shrink: 0;
  color: var(--ot-font-color-secondary);
}
.orcaterm-header__add-bubble-shells__list > li .shell-name {
  flex: 0 1 auto !important;
  max-width: 40%;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 500;
}
.orcaterm-header__add-bubble-shells__list > li .shell-path {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
  font-size: 11px;
  color: var(--ot-font-color-secondary);
}
.orcaterm-header__add-bubble-shells__list > li .shell-badge {
  flex: 0 1 auto !important;
  padding: 0 4px;
  border-radius: 2px;
  font-size: 10px;
  line-height: 16px;
  color: var(--ot-font-color-secondary);
  background-color: var(--ot-color-gray-opacity-12);
}
.orcaterm__main {
  position: relative;
}
.orcaterm__main .ot-default-page {
  opacity: 0;
  display: none;
  flex: 1;
  transition: all 0.3s ease-in-out;
}
.orcaterm__main .ot-default-page.active {
  display: block;
  opacity: 1;
}
.orcaterm__main .ot-tab-page-list {
  position: relative;
  width: 100%;
  flex: 1;
  overflow: hidden;
  background-color: var(--ot-editor-background-color);
}
.orcaterm__main .ot-tab-page-item {
  opacity: 0;
  z-index: 1;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.orcaterm__main .ot-tab-page-item.active {
  opacity: 1;
  z-index: 10;
}
.orcaterm__main .ot-tab-page-item .ot-login-loading {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.orcaterm__main .ot-terminal-shell {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.orcaterm__main .ot-terminal-shell > div {
  min-width: 200px;
}
.orcaterm__main .ot-terminal-shell.is-fullscreen {
  border-radius: 6px;
  overflow: hidden;
}
.orcaterm__main .orcaterm__screen {
  min-height: 200px;
}
.orcaterm__main .orcaterm__body {
  display: flex;
  height: 100%;
  width: 100%;
  overflow-x: auto;
  position: relative;
}
.orcaterm__main .ot-resize-fold {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
  height: 8px;
  width: 100%;
  cursor: pointer;
  background-color: var(--ot-top-background-color-1);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: height 0.4s cubic-bezier(0.38, 0, 0.24, 1);
}
.orcaterm__main .ot-resize-fold .unfold-btn {
  display: none;
  align-items: center;
  background-color: transparent;
  color: var(--ot-font-color-primary);
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
  gap: 4px;
  padding: 0px !important;
}
.orcaterm__main .ot-resize-fold .unfold-btn .arrow-new-icon {
  width: 15px;
  height: 15px;
  background-repeat: no-repeat;
  background-size: cover;
  animation: 0.4s steps(2) 0s 1 normal forwards running arrowAni;
  background-image: url(https://cloudcache.tencent-cloud.com/qcloud/ui/static/other_external_resource/a4f65cbf-afff-47bb-b0d2-b1456bc1bb26.png);
}
.orcaterm__main .ot-resize-fold:hover {
  height: 32px;
  border-top: 2px solid var(--ot-font-color-1);
}
.orcaterm__main .ot-resize-fold:hover .unfold-btn {
  display: inline-flex;
}
.orcaterm__main .sftp-ui-table.tea-table {
  overflow: hidden;
}
.orcaterm__main .sftp-ui-table.tea-table .tea-table__header {
  overflow: hidden;
}
.orcaterm__main .orcaterm-sub-header .orcaterm-header__item {
  margin-right: unset;
}
.orcaterm__main .orcaterm-sub-header .orcaterm-header__item-network {
  margin: 0;
  padding: 0;
}
[theme="light"] .ot-resize-fold .unfold-btn .arrow-new-icon {
  background-image: url(https://cloudcache.tencent-cloud.com/qcloud/ui/static/other_external_resource/39f29d0c-11c9-4795-875c-92a74c0f6a7d.png);
}
.sftp-ui-btn-groups__left {
  width: 100%;
  overflow-x: auto;
}
.sftp-ui-btn-groups__left button {
  flex-shrink: 0;
}
.orcaterm-main-container__right {
  position: relative;
}
.ot-file-manager-pane__editor-side .sftp-ui-edit-content__inner {
  height: 100%;
}
.ot-bubble-cooperation.collaborator .tea-bubble {
  min-width: unset !important;
  max-width: unset !important;
}
.ot-bubble-cooperation .tea-bubble__inner {
  border-radius: 8px !important;
  box-sizing: content-box;
  max-width: 320px;
  width: 320px;
}
.ot-bubble-cooperation__header {
  padding: 12px 12px 4px 12px !important;
  border-bottom: none !important;
}
.ot-bubble-cooperation .ot-bubble-cooperation__list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ot-bubble-cooperation .ot-bubble-cooperation__list .ot-bubble-cooperation__item {
  padding: 4px 8px !important;
}
.ot-bubble-cooperation .ot-bubble-cooperation__list .ot-bubble-cooperation__item-left .user-avatar {
  width: 32px !important;
  height: 32px !important;
}
.ot-bubble-cooperation .ot-bubble-cooperation__list .ot-bubble-cooperation__item-left .user-avatar-content .user-name {
  line-height: 20px !important;
}
.ot-bubble-cooperation .ot-bubble-cooperation__list .ot-bubble-cooperation__item-left .user-avatar-content .user-id {
  line-height: 18px !important;
}
/*# sourceMappingURL=layout.css.map */
.orcaterm-footer-form-bubble .ot-footer-form-item {
  display: flex;
  align-items: center;
  gap: 2px;
}
.orcaterm-footer-form-bubble.tea-bubble.max-width {
  max-width: 185px !important;
}
/*# sourceMappingURL=style.css.map */
/**
 * DownloadClientPopoverContent 样式 — "客户端 + 小程序"推广 popover 内容。
 *
 * 2026-08-14 改造：原顶栏 banner 自写 portal popover 改用 Bubble 承载浮层后，
 * portal 定位 / .show 动画 / .dl-pop-arrow 由 Bubble 接管；同时按需求去掉
 * popover 外层装饰框（背景/边框/阴影/padding/圆角），列内容直接浮在背景上。
 *
 * .dl-pop 保留作为列内样式的作用域根（主题 CSS 变量 + 列内样式选择器锚点），
 * 但不带视觉装饰。light/dark 主题通过 body class 切换 CSS 变量值。
 */
.dl-pop {
  --dl-pop-text: rgba(255, 255, 255, 0.92);
  --dl-pop-text-secondary: rgba(255, 255, 255, 0.64);
  --dl-pop-border: rgba(255, 255, 255, 0.05);
  color: var(--dl-pop-text);
}
.dl-pop-cols {
  display: flex;
  gap: 16px;
  align-items: stretch;
}
.dl-pop-dive {
  display: block;
  width: 1px;
  height: auto;
  background-color: var(--dl-pop-border);
}
.dl-pop-col {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  padding: 12px;
  gap: 4px;
}
.dl-pop-col-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: var(--dl-pop-text);
  white-space: nowrap;
}
.dl-pop-col-ic {
  flex: none;
  color: rgba(255, 255, 255, 0.8);
}
.dl-pop-col-desc {
  margin: 6px 0 4px;
  font-size: 12px;
  line-height: 18px;
  color: var(--dl-pop-text-secondary);
  white-space: nowrap;
}
.dl-pop-col-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  margin-top: 6px;
}
.dl-pop-appicon {
  display: block;
  width: 48px;
  height: 48px;
  margin: auto;
  line-height: 0;
  text-align: center;
}
.dl-pop-appicon img {
  display: block;
  width: 48px;
  height: 48px;
  object-fit: contain;
}
.dl-pop-appicon .dl-pop-appicon-dark-img {
  display: block;
}
.dl-pop-appicon .dl-pop-appicon-light-img {
  display: none;
}
.dl-pop-qr {
  display: inline-block;
  padding: 10px;
  background: #ffffff;
  border-radius: 4px;
  line-height: 0;
  margin-top: 0;
}
.dl-pop-qr img,
.dl-pop-qr svg {
  display: block;
  width: 100px;
  height: 100px;
  object-fit: contain;
}
.dl-pop-primary {
  display: block;
  width: 120px;
  height: 30px;
  margin: 0 auto;
  background: var(--color-primary-5, #3d7bff);
  border: 1px solid var(--color-primary-5, #3d7bff);
  border-radius: 4px;
  color: #ffffff;
  font-size: 12px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.dl-pop-primary:hover {
  background: var(--color-primary-6, #2f6bf2);
  border-color: var(--color-primary-6, #2f6bf2);
}
.dl-pop-primary:focus-visible {
  outline: 2px solid #5596ff;
  outline-offset: 1px;
}
/* light 主题覆盖 */
.light-theme .dl-pop {
  --dl-pop-text: rgba(0, 0, 0, 0.9);
  --dl-pop-text-secondary: rgba(0, 0, 0, 0.64);
  --dl-pop-border: rgba(0, 0, 0, 0.05);
}
.light-theme .dl-pop .dl-pop-col-ic {
  color: rgba(0, 0, 0, 0.7);
}
.light-theme .dl-pop .dl-pop-appicon .dl-pop-appicon-dark-img {
  display: none;
}
.light-theme .dl-pop .dl-pop-appicon .dl-pop-appicon-light-img {
  display: block;
}
[lang="en"] .dl-pop-col-desc {
  white-space: unset;
}
/*# sourceMappingURL=DownloadClientPopoverContent.css.map */
/**
 * DownloadEntry 样式 — 左侧导航"客户端/小程序"常驻入口。
 *
 * 复用全局 .orcaterm__aside-item / .orcaterm__aside-item-inner 范式（与
 * Menu / Plugin / Collaboration 等一级导航项一致）。icon 颜色继承父级
 * --OT-Color-Text-Gray-Secondary 主题变量（对齐其他 aside icon 的 .ruyi-icon
 * 范式），暗/亮主题自动切换。
 *
 * 下载 popover 用 tea-component Bubble 承载，需覆盖其默认外框样式
 * （tea.css 里 .tea-bubble 有 max-width:300px、.tea-bubble__inner 有白底
 * 阴影 + ::before/::after 箭头），实现"列内容裸露在背景上"的需求。
 */
.download-entry__icon {
  display: block;
  width: 20px;
  height: 20px;
}
/* ----- 覆盖 Bubble 默认外框/阴影/箭头/宽度限制 ----- */
.download-entry__bubble .tea-bubble {
  max-width: 430px;
  display: block;
}
.download-entry__bubble .tea-bubble__inner {
  padding: 8px 24px;
  min-width: 0;
}
.download-entry__bubble .tea-bubble__inner::before,
.download-entry__bubble .tea-bubble__inner::after {
  display: none;
}
/*# sourceMappingURL=DownloadEntry.css.map */
.tea-bubble.ot-custom-avatar-bubble {
  width: unset !important;
}
.tea-bubble.ot-custom-avatar-bubble .ot-custom-avatar-bubble__content {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
.orcaterm-user-account-bubble__center.disable-interaction {
  cursor: default;
}
/*# sourceMappingURL=style.css.map */
[theme=dark] .sftp-ui-edit-content.ot-file-manager-editor {
  --ot-file-editor-background-color: #141414;
}
[theme=light] .sftp-ui-edit-content.ot-file-manager-editor {
  --ot-file-editor-background-color: #F1F2F5;
}
.sftp-ui-edit-content.ot-file-manager-editor.visible {
  height: 100%;
}
.sftp-ui-edit-content.ot-file-manager-editor .sftp-ui-edit-terminal {
  min-height: unset;
}
.sftp-ui-edit-content.ot-file-manager-editor .ot-binary-file-tip.binary-file {
  background-color: var(--ot-file-editor-background-color);
}
.sftp-ui-edit-content.ot-file-manager-editor .ot-binary-file-tip.binary-file .ot-binary-file-tip-icon {
  display: flex;
  justify-content: center;
}
.sftp-ui-edit-content.ot-file-manager-editor .ot-file-loading {
  display: flex;
  justify-content: center;
}
.sftp-ui-edit-content.ot-file-manager-editor .ot-file-loading .loading-file {
  display: flex;
  gap: 2px;
  align-items: center;
}
.sftp-ui-edit-content.ot-file-manager-editor .ot-file-error-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  background-color: var(--ot-file-editor-background-color);
}
.sftp-ui-edit-content.ot-file-manager-editor .loadfile-error.editor-file-error {
  background-color: var(--ot-file-editor-background-color);
}
/*# sourceMappingURL=File.css.map */
[theme='dark'] .orcaterm-mode-switcher {
  --ot-mode-switcher-bg: #141414;
  --ot-mode-switcher-border: #2c2c2c;
  --ot-mode-switcher-active-bg: #1f1f1f;
  --ot-mode-switcher-shell-border: #06a8ff;
  --ot-mode-switcher-agent-border: #847dfd;
  --ot-mode-switcher-agent-icon: #8870ff;
  --ot-mode-switcher-text-active: rgba(255, 255, 255, 0.92);
  --ot-mode-switcher-text-idle: rgba(255, 255, 255, 0.64);
}
[theme='light'] .orcaterm-mode-switcher {
  --ot-mode-switcher-bg: #ffffff;
  --ot-mode-switcher-border: #f1f2f5;
  --ot-mode-switcher-active-bg: #ffffff;
  --ot-mode-switcher-shell-border: #06a8ff;
  --ot-mode-switcher-agent-border: #847dfd;
  --ot-mode-switcher-agent-icon: #5e47d1;
  --ot-mode-switcher-text-active: rgba(0, 0, 0, 0.92);
  --ot-mode-switcher-text-idle: rgba(0, 0, 0, 0.64);
}
.orcaterm-mode-switcher {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  box-sizing: border-box;
  height: 20px;
  margin-left: 12px;
  padding: 0;
  border: 0.6px solid var(--ot-mode-switcher-border);
  border-radius: 12px;
}
.orcaterm-mode-switcher__tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  box-sizing: border-box;
  height: 20px;
  min-width: 0;
  overflow: visible;
  padding: 0 8px;
  color: var(--ot-mode-switcher-text-idle);
  background: transparent;
  border: 0.8px solid transparent;
  border-radius: 12px;
  outline: none;
  cursor: pointer;
  appearance: none;
}
.orcaterm-mode-switcher__tab.is-shell {
  --ot-mode-switcher-active-border: var(--ot-mode-switcher-shell-border);
}
.orcaterm-mode-switcher__tab.is-agent {
  --ot-mode-switcher-active-border: var(--ot-mode-switcher-agent-border);
}
.orcaterm-mode-switcher__tab.is-disabled {
  opacity: 0.48;
}
.orcaterm-mode-switcher__tab.is-active {
  color: var(--ot-mode-switcher-text-active);
  background: var(--ot-mode-switcher-active-bg);
  border-color: var(--ot-mode-switcher-active-border);
}
.orcaterm-mode-switcher__tab.is-active::before,
.orcaterm-mode-switcher__tab.is-active::after {
  position: absolute;
  inset: -0.8px;
  border: 1px solid var(--ot-mode-switcher-active-border);
  border-radius: 12px;
  content: '';
  pointer-events: none;
}
.orcaterm-mode-switcher__tab.is-active::before {
  filter: blur(2px);
}
.orcaterm-mode-switcher__tab.is-active::after {
  opacity: 0.64;
  filter: blur(4px);
}
.orcaterm-mode-switcher__icon {
  display: inline-flex;
  flex: none;
  width: 14px;
  height: 14px;
}
.orcaterm-mode-switcher__icon > svg {
  display: block;
  width: 14px;
  height: 14px;
}
.orcaterm-mode-switcher__agent-icon {
  color: var(--ot-mode-switcher-agent-icon);
}
.orcaterm-mode-switcher__text {
  font-family: 'SF Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: 0;
  white-space: nowrap;
}
/*# sourceMappingURL=ModeSwitcher.css.map */
/**
 * TmuxSessionController 样式（B/components/terminal/TmuxSplitView/styles.less 的
 * controller 层移植，T2.8）。
 *
 * 与 B 的差异：
 *  - 根类 orcaterm-tmux-session 不再承载 pane 树（统一 PaneSurface/PaneTreeView
 *    渲染），改为透明覆盖层：pointer-events:none（交互穿透到 tmux pane 的
 *    xterm），visibility:visible 穿透宿主影子 slot（.orcaterm-tmux-host__shadow）
 *    的 visibility:hidden 继承链（方案 §6.10-12 stage 层，浮层可见性锚点）。
 *  - __panes/__window-layer 等旧渲染层样式不移植（渲染归统一树）。
 *  - __statusbar 由 flex 布局占位改为绝对定位悬浮（stage 为 overlay 锚定，不占
 *    布局空间）；F1-fix 起顶部 window 条（__window-tabs）整体移除，statusbar
 *    承载 session 徽标（当前 window 徽标已移除）。
 *  - 交互浮层（statusbar / 命令框 / 对话框）显式恢复 pointer-events:auto——
 *    根层已 none，子层必须自行恢复。
 *  - tmux-overlay / tmux-dialog / tmux-cmd-prompt 类名与 B 保持一致（组件原样
 *    迁移），z-index 序列沿用 B（命令框 20 < 对话框 25）。
 */
.orcaterm-tmux-session {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  visibility: visible;
  font-family: 'SF Mono', Menlo, monospace;
  /* prefix(Ctrl+B) 已激活：边框高亮提示用户等待下一个命令键 */
  /*
   * 底部 session 徽标（仿 tmux TUI status line 位置）：session 名主文字色，双击 /
   * hover 编辑图标重命名。统一树下为悬浮层（不占布局空间）。
   */
  /*
   * 底部 session 徽标（仿 tmux TUI status line 位置）：session 名主文字色，双击 /
   * hover 编辑图标重命名。统一树下为悬浮层（不占布局空间）。
   *
   * 高度契约（勿动）：底栏总高 = border-top(1px) + padding(3px×2) + 内容 20px = 27px
   * = TMUX_STATUSBAR_HEIGHT_PX（gridMetrics.ts，参与 client size 高度扣减）。原内容
   * 20px 由 `__exit-btn`（height:20px）撑起；按钮删除后改由 `__session-badge` 的
   * `min-height:20px` 承担（该值 = 原按钮高度，故底栏几何与改动前逐像素一致）。
   * 删/改这个 20px 会让底栏从 27px 塌到约 21px，与 gridMetrics 的扣减失配。
   */
  /*
   * session 徽标（交互稿 .tmux-bar .tb-info 的对应物）。现为底栏唯一内容。
   *
   *  - `min-height: 20px`：**高度契约承重项**——原由 `__exit-btn`（height:20px）撑起
   *    底栏 27px 总高，按钮删除后必须由徽标顶上同值，否则底栏塌到约 21px（详见
   *    `__statusbar` 注释）。
   *  - `flex: 0 1 auto` + `min-width: 0`（BUG-EXIT-ALIGN 遗留语义）：徽标可收缩，
   *    窄 tmux host pane / 长 session 名下不撑破底栏（配名称省略号吃溢出）。原用途是
   *    「把自由空间让给右侧 `__exit-btn` 的 margin-left:auto」，按钮已删但仍保留
   *    收缩语义——底栏恒 27px 高、内容单行不溢出。
   */
  /* window 操作成功提示（prefix+n/p/L/0-9/c 等），短暂展示后自动消失 */
}
.orcaterm-tmux-session--prefix-armed {
  box-shadow: inset 0 0 0 2px #4ec9b0;
}
.orcaterm-tmux-session__prefix-hint {
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  padding: 2px 10px;
  background: #4ec9b0;
  color: #1e1e1e;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 600;
  pointer-events: none;
  user-select: none;
}
.orcaterm-tmux-session__statusbar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 3px 10px;
  background: var(--ot-editor-background-color);
  border-top: 1px solid var(--ot-background-color-46);
  font-size: 12px;
  user-select: none;
  /*
     * overflow:hidden（原 auto）：底栏内容按设计恒不滚动，且底栏总高是硬契约
     * （TMUX_STATUSBAR_HEIGHT_PX=27px，见 gridMetrics.ts）。原 auto 下一旦内容溢出
     * （窄 pane / 长 session 名）会出现横向滚动条，把 27px 顶到约 42px
     * （headless Chromium 实测 27→44px），破坏高度契约；hidden 保证底栏高度恒定 27px。
     */
  overflow: hidden;
  white-space: nowrap;
  pointer-events: auto;
}
.orcaterm-tmux-session__session-badge {
  flex: 0 1 auto;
  min-width: 0;
  min-height: 20px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--ot-font-color-primary);
  font-weight: 700;
  letter-spacing: 0.3px;
}
.orcaterm-tmux-session__session-badge .orcaterm-tmux-session__session-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}
.orcaterm-tmux-session__session-badge .orcaterm-tmux-session__session-edit-icon {
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  color: var(--ot-font-color-secondary);
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.12s ease;
}
.orcaterm-tmux-session__session-badge .orcaterm-tmux-session__session-edit-icon:hover {
  color: var(--ot-font-color-primary);
}
.orcaterm-tmux-session__session-badge:hover .orcaterm-tmux-session__session-edit-icon {
  opacity: 1;
}
.orcaterm-tmux-session__session-input {
  width: 120px;
  padding: 1px 4px;
  background: var(--ot-top-background-color-1);
  border: 1px solid var(--ot-radio-background-color);
  border-radius: 2px;
  color: var(--ot-font-color-primary);
  font-size: 12px;
  font-family: inherit;
  outline: none;
}
.orcaterm-tmux-session__session-input:focus {
  border-color: #006eff;
}
.orcaterm-tmux-session__toast {
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  padding: 3px 12px;
  background: #264f78;
  color: #fff;
  border-radius: 3px;
  font-size: 11px;
  pointer-events: none;
  user-select: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
/* tmux 命令提示符浮层（prefix+:）——贴着底部状态栏上方 */
.tmux-cmd-prompt__overlay {
  position: absolute;
  inset: 0;
  z-index: 20;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 32px;
  /* 贴着 statusbar 上方 */
  background: rgba(0, 0, 0, 0.15);
  pointer-events: auto;
}
.tmux-cmd-prompt {
  display: flex;
  flex-direction: column;
  width: min(560px, 80%);
  background: #252526;
  border: 1px solid #4ec9b0;
  border-radius: 4px;
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.4);
  overflow: hidden;
  /* 响应上拉：放在 input 上方 */
}
.tmux-cmd-prompt__response {
  padding: 8px 12px;
  max-height: 160px;
  overflow-y: auto;
  background: #1e1e1e;
  border-bottom: 1px solid #3c3c3c;
  color: #b5cea8;
  font-family: 'SF Mono', Menlo, monospace;
  font-size: 12px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-all;
}
.tmux-cmd-prompt__response--error {
  color: #f48771;
  border-bottom-color: #5a1d1d;
}
.tmux-cmd-prompt__row {
  display: flex;
  align-items: center;
}
.tmux-cmd-prompt__prefix {
  flex: 0 0 auto;
  padding: 0 8px;
  color: #4ec9b0;
  font-family: 'SF Mono', Menlo, monospace;
  font-size: 14px;
  font-weight: 700;
}
.tmux-cmd-prompt__input {
  flex: 1;
  min-width: 0;
  padding: 8px 10px 8px 0;
  background: transparent;
  border: none;
  outline: none;
  color: #d4d4d4;
  font-family: 'SF Mono', Menlo, monospace;
  font-size: 13px;
}
.tmux-cmd-prompt__input::placeholder {
  color: #6a6a6a;
}
/* prefix 快捷键浮层（rename-window / kill-window / help / window-list / session-list） */
.tmux-overlay {
  position: absolute;
  inset: 0;
  z-index: 25;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.35);
  pointer-events: auto;
}
.tmux-dialog {
  width: min(420px, 80%);
  background: #252526;
  border: 1px solid #4ec9b0;
  border-radius: 4px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
  overflow: hidden;
  font-family: 'SF Mono', Menlo, monospace;
}
.tmux-dialog__title {
  padding: 8px 12px;
  color: #4ec9b0;
  font-size: 13px;
  font-weight: 700;
  border-bottom: 1px solid #3c3c3c;
}
.tmux-dialog__desc {
  padding: 8px 12px;
  color: #b5b5b5;
  font-size: 12px;
}
.tmux-dialog__input {
  width: calc(100% - 24px);
  margin: 10px 12px;
  padding: 6px 8px;
  background: #1e1e1e;
  border: 1px solid #4ec9b0;
  border-radius: 2px;
  color: #d4d4d4;
  font-size: 13px;
  font-family: inherit;
  outline: none;
}
.tmux-dialog__input:focus {
  border-color: #6ce0c4;
}
.tmux-dialog__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 8px 12px;
  border-top: 1px solid #3c3c3c;
}
.tmux-dialog__btn {
  padding: 4px 14px;
  background: #3c3c3c;
  border: 1px solid #555;
  border-radius: 3px;
  color: #d4d4d4;
  font-size: 12px;
  font-family: inherit;
  cursor: pointer;
}
.tmux-dialog__btn:hover {
  background: #4a4a4a;
}
.tmux-dialog__btn--primary {
  background: #2d6a5f;
  border-color: #4ec9b0;
  color: #fff;
}
.tmux-dialog__btn--primary:hover {
  background: #357d70;
}
.tmux-dialog__btn--danger {
  background: #5a1d1d;
  border-color: #f48771;
  color: #fff;
}
.tmux-dialog__btn--danger:hover {
  background: #6f2424;
}
.tmux-dialog--help {
  width: min(520px, 85%);
}
.tmux-dialog__help-list {
  max-height: 320px;
  overflow-y: auto;
  padding: 6px 12px;
}
.tmux-dialog__help-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 3px 0;
  font-size: 12px;
}
.tmux-dialog__help-key {
  flex: 0 0 90px;
  color: #4ec9b0;
  font-weight: 600;
}
.tmux-dialog__help-desc {
  color: #b5b5b5;
}
.tmux-dialog--list {
  width: min(360px, 75%);
}
.tmux-dialog__list {
  max-height: 280px;
  overflow-y: auto;
  padding: 4px 0;
}
.tmux-dialog__list-empty {
  padding: 12px;
  color: #6a6a6a;
  font-size: 12px;
  text-align: center;
}
.tmux-dialog__list-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px;
  cursor: pointer;
  font-size: 12px;
  color: #d4d4d4;
}
.tmux-dialog__list-item:hover {
  background: #2d2d2d;
}
.tmux-dialog__list-item--active {
  background: #2d6a5f;
  color: #fff;
}
.tmux-dialog__list-idx {
  flex: 0 0 24px;
  color: #888;
}
.tmux-dialog__list-name {
  flex: 1;
}
.tmux-dialog__list-mark {
  color: #4ec9b0;
}
/*# sourceMappingURL=styles.css.map */
.lh-terminal-box {
  position: relative;
}
.orcaterm-agent-approval {
  position: absolute;
  z-index: 12;
  right: 16px;
  bottom: 16px;
  left: 16px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  box-sizing: border-box;
  min-height: 68px;
  padding: 12px 14px;
  border: 1px solid var(--ot-border-background);
  border-radius: 10px;
  color: var(--ot-font-color-primary);
  background: var(--ot-top-background-color-2);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}
.orcaterm-agent-approval__content {
  min-width: 0;
  flex: 1 1 240px;
}
.orcaterm-agent-approval__provider {
  color: var(--ot-font-color-secondary);
  font-size: 11px;
  line-height: 16px;
}
.orcaterm-agent-approval__title {
  overflow: hidden;
  margin-top: 1px;
  font-size: 13px;
  font-weight: 600;
  line-height: 20px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.orcaterm-agent-approval__preview {
  overflow: hidden;
  margin-top: 2px;
  color: var(--ot-font-color-secondary);
  font-family: Menlo, Monaco, Consolas, monospace;
  font-size: 11px;
  line-height: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.orcaterm-agent-approval__error {
  margin-top: 2px;
  color: var(--OT-Color-Accent-Text-Error-Default, #e54f40);
  font-size: 11px;
  line-height: 16px;
}
.orcaterm-agent-approval__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
  flex: 0 1 auto;
}
.orcaterm-agent-approval__action {
  min-width: 64px;
  height: 30px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--ot-font-color-primary);
  background: var(--ot-background-color-12);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.orcaterm-agent-approval__action.is-warning {
  border-color: rgba(217, 140, 38, 0.6);
  color: #fff;
  background: #d98c26;
}
.orcaterm-agent-approval__action.is-primary {
  color: #151515;
  background: #f1ead9;
}
.orcaterm-agent-approval__action.is-destructive {
  color: var(--OT-Color-Accent-Text-Error-Default, #e54f40);
}
.orcaterm-agent-approval__action:focus-visible {
  outline: 2px solid var(--ot-font-color-1);
  outline-offset: 2px;
}
.orcaterm-agent-approval__action:disabled {
  opacity: 0.52;
  cursor: wait;
}
@media (max-width: 720px) {
  .orcaterm-agent-approval {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }
  .orcaterm-agent-approval__actions {
    width: 100%;
  }
  .orcaterm-agent-approval__action {
    min-width: 0;
    flex: 1;
  }
}
/*# sourceMappingURL=AgentApprovalBar.css.map */
[theme='dark'] .ot-failure-hint {
  --ot-failure-hint-text: #ffffff;
}
[theme='light'] .ot-failure-hint {
  --ot-failure-hint-text: #4b4b4b;
}
.ot-failure-hint {
  --ot-failure-hint-ai-start: #847dfd;
  --ot-failure-hint-ai-end: #feaecb;
  display: flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 0 0 0 12px;
  background: transparent;
  border-left: 2px solid var(--ot-color-gray-opacity-12);
  user-select: none;
  white-space: nowrap;
  transition: opacity 0.6s ease;
}
.ot-failure-hint__info {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.ot-failure-hint__star {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  flex: none;
  width: 14px;
  height: 14px;
}
.ot-failure-hint__star > svg {
  width: 14px;
  height: 14px;
}
.ot-failure-hint__gradient-start {
  stop-color: var(--ot-failure-hint-ai-start);
}
.ot-failure-hint__gradient-end {
  stop-color: var(--ot-failure-hint-ai-end);
}
.ot-failure-hint__message {
  color: var(--ot-failure-hint-text);
  font-family: inherit;
  font-size: 12px;
  line-height: 18px;
}
.ot-failure-hint__ai-text {
  font-family: inherit;
}
.ot-failure-hint__actions {
  display: inline-flex;
  align-items: center;
  flex: none;
  gap: 6px;
}
.ot-failure-hint__divider {
  display: block;
  flex: none;
  width: 1px;
  height: 12px;
  background: var(--ot-color-gray-opacity-12);
}
.ot-failure-hint__close {
  box-sizing: border-box;
  height: 18px;
  padding: 0 4px;
  color: var(--ot-failure-hint-text);
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  appearance: none;
  opacity: 0.55;
  font-family: inherit;
  font-size: 12px;
  line-height: 18px;
  transition: opacity 0.12s;
}
.ot-failure-hint__close:hover {
  opacity: 0.9;
}
.ot-failure-hint__cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  box-sizing: border-box;
  height: 18px;
  padding: 0 6px;
  color: var(--ot-failure-hint-ai-start);
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  appearance: none;
}
.ot-failure-hint__cta:disabled {
  opacity: 0.48;
  cursor: default;
}
.ot-failure-hint__cta-text {
  position: relative;
  z-index: 1;
  display: inline-block;
  color: var(--ot-failure-hint-ai-start);
  background: linear-gradient(90deg, var(--ot-failure-hint-ai-start) 35.621%, var(--ot-failure-hint-ai-end) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
}
.ot-failure-hint__cta-ai {
  font-family: inherit;
}
.ot-failure-hint__cta-label {
  font-family: inherit;
}
.ot-failure-hint.is-dimmed .ot-failure-hint__info,
.ot-failure-hint.is-dimmed .ot-failure-hint__divider {
  opacity: 0.3;
}
.ot-failure-hint.is-dimmed .ot-failure-hint__cta {
  opacity: 0.3;
  transition: opacity 0.6s ease;
}
.ot-failure-hint.is-dimmed .ot-failure-hint__cta:hover:not(:disabled) {
  opacity: 1;
  transition: opacity 0.12s ease;
}
.ot-failure-hint.is-dimmed .ot-failure-hint__close {
  opacity: 0.3;
  transition: opacity 0.6s ease;
}
.ot-failure-hint.is-dimmed .ot-failure-hint__close:hover {
  opacity: 0.9;
  transition: opacity 0.12s ease;
}
/*# sourceMappingURL=FailureHint.css.map */
[theme=dark] {
  --ot-inline-overlay-text: rgba(220, 220, 220, 0.95);
  --ot-inline-overlay-bg: #1e1e1e;
  --ot-inline-overlay-loading-muted: rgba(255, 255, 255, 0.22);
  --ot-inline-overlay-loading-primary: rgba(255, 255, 255, 0.83);
  --ot-inline-overlay-abort: #ff5e4f;
  --ot-inline-overlay-confirm-bg: #000000;
  --ot-inline-overlay-confirm-header-bg: rgba(255, 255, 255, 0.08);
  --ot-inline-overlay-confirm-border: rgba(255, 255, 255, 0.12);
  --ot-inline-overlay-confirm-secondary-bg: rgba(255, 255, 255, 0.12);
  --ot-inline-overlay-confirm-secondary-text: rgba(255, 255, 255, 0.92);
  --ot-inline-overlay-confirm-shortcut: rgba(255, 255, 255, 0.36);
  --ot-inline-overlay-confirm-primary-shortcut: #a6a6a6;
  --ot-inline-overlay-confirm-primary-bg: #ffffff;
  --ot-inline-overlay-confirm-primary-text: #000000;
  --ot-inline-overlay-confirm-prompt: #c5c5c5;
  --ot-inline-overlay-command-text: #95eff1;
  --ot-inline-overlay-command-name: #82bcff;
  --ot-inline-overlay-confirm-success: #3cc76a;
  --ot-inline-overlay-confirm-error: #ff5e4f;
  --ot-inline-overlay-confirm-focus: #339cff;
  --ot-inline-overlay-footer-divider: rgba(255, 255, 255, 0.16);
  --ot-inline-overlay-scrollbar-thumb: rgba(255, 255, 255, 0.15);
  --ot-inline-overlay-code-bg: rgba(60, 60, 60, 0.55);
  --ot-inline-overlay-code-border: rgba(120, 200, 255, 0.25);
  --ot-inline-overlay-code-text: rgba(245, 245, 245, 0.95);
  --ot-inline-overlay-run-text: #1e1e1e;
  --ot-inline-overlay-run-bg: rgba(120, 200, 255, 0.85);
  --ot-inline-overlay-run-bg-hover: #96d7ff;
}
[theme=light] {
  --ot-inline-overlay-text: rgba(0, 0, 0, 0.85);
  --ot-inline-overlay-bg: #ffffff;
  --ot-inline-overlay-loading-muted: rgba(0, 0, 0, 0.22);
  --ot-inline-overlay-loading-primary: rgba(0, 0, 0, 0.83);
  --ot-inline-overlay-abort: #e54537;
  --ot-inline-overlay-confirm-bg: #ffffff;
  --ot-inline-overlay-confirm-header-bg: rgba(0, 0, 0, 0.08);
  --ot-inline-overlay-confirm-border: rgba(0, 0, 0, 0.12);
  --ot-inline-overlay-confirm-secondary-bg: rgba(0, 0, 0, 0.12);
  --ot-inline-overlay-confirm-secondary-text: rgba(0, 0, 0, 0.92);
  --ot-inline-overlay-confirm-shortcut: rgba(0, 0, 0, 0.36);
  --ot-inline-overlay-confirm-primary-shortcut: rgba(255, 255, 255, 0.55);
  --ot-inline-overlay-confirm-primary-bg: #000000;
  --ot-inline-overlay-confirm-primary-text: #ffffff;
  --ot-inline-overlay-confirm-prompt: #000000;
  --ot-inline-overlay-command-text: #249bb2;
  --ot-inline-overlay-command-name: #3d67cc;
  --ot-inline-overlay-confirm-success: #038f32;
  --ot-inline-overlay-confirm-error: #db4739;
  --ot-inline-overlay-confirm-focus: #0f8fff;
  --ot-inline-overlay-footer-divider: rgba(0, 0, 0, 0.16);
  --ot-inline-overlay-scrollbar-thumb: rgba(0, 0, 0, 0.15);
  --ot-inline-overlay-code-bg: rgba(0, 0, 0, 0.05);
  --ot-inline-overlay-code-border: rgba(0, 110, 255, 0.25);
  --ot-inline-overlay-code-text: #24292e;
  --ot-inline-overlay-run-text: #ffffff;
  --ot-inline-overlay-run-bg: rgba(0, 110, 255, 0.85);
  --ot-inline-overlay-run-bg-hover: #006eff;
}
[theme=light] .ot-inline-overlay-thinking-dot__outer,
[theme=light] .ot-inline-overlay-thinking-dot__inner {
  filter: invert(1);
}
.ot-inline-overlay-root {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 5;
  overflow: hidden;
  pointer-events: none;
}
.ot-inline-overlay-streaming {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  color: var(--ot-inline-overlay-text);
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  overflow: hidden;
  pointer-events: auto;
  -webkit-user-select: text;
  user-select: text;
}
.ot-inline-overlay-failure-host {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  font-family: inherit;
  font-size: inherit;
  line-height: 1;
  margin: 0;
  overflow: visible;
  padding: 0;
  pointer-events: auto;
  user-select: none;
  display: flex;
  align-items: center;
}
.ot-inline-overlay-shell {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  margin-top: 5px;
}
.ot-inline-overlay-shell.is-finalized {
  height: calc(100% - 5px);
}
.ot-inline-overlay-shell.is-canceled {
  margin-top: 0;
}
.ot-inline-overlay-shell.is-canceled.is-finalized {
  height: 100%;
}
.ot-inline-overlay-shell.is-canceled > .ot-inline-overlay-spacer {
  display: none;
}
.ot-inline-overlay-shell.is-canceled .ot-inline-overlay-content.is-response {
  min-height: 20px;
}
.ot-inline-overlay-spacer {
  height: 5px;
}
.ot-inline-overlay-loading {
  display: flex;
  flex: none;
  align-items: center;
  gap: 4px;
  min-width: 0;
}
.ot-inline-overlay-loading > :first-child {
  width: 16px;
  height: 16px;
  flex: none;
}
.ot-inline-overlay-thinking-dot {
  position: relative;
  display: block;
  transform-origin: center;
  animation: ot-inline-overlay-thinking-breathe 1.6s ease-in-out infinite;
}
.ot-inline-overlay-thinking-dot__outer,
.ot-inline-overlay-thinking-dot__inner {
  position: absolute;
  display: block;
}
.ot-inline-overlay-thinking-dot__outer {
  top: 1px;
  left: 1px;
  width: 14px;
  height: 14px;
}
.ot-inline-overlay-thinking-dot__inner {
  top: 5px;
  left: 5px;
  width: 6px;
  height: 6px;
}
.ot-inline-overlay-line.ot-inline-overlay-loading-line {
  box-sizing: border-box;
  justify-content: flex-start;
  gap: 12px;
  min-height: 20px;
  padding: 0;
  padding-left: 12px;
  border-left: 2px solid var(--ot-color-gray-opacity-12);
  line-height: 20px;
  text-indent: 0;
}
.ot-inline-overlay-loading-divider {
  display: block;
  flex: none;
  width: 1px;
  height: 16px;
  background: var(--ot-color-gray-opacity-12);
}
.ot-inline-overlay-loading-text {
  color: transparent;
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  white-space: nowrap;
  background: linear-gradient(90deg, var(--ot-inline-overlay-loading-muted) 0%, var(--ot-inline-overlay-loading-primary) 35.577%, var(--ot-inline-overlay-loading-muted) 100%);
  background-size: 200% 100%;
  background-position: 100% 0;
  background-clip: text;
  -webkit-background-clip: text;
  animation: ot-inline-overlay-loading-shimmer 1.6s linear infinite;
}
.ot-inline-overlay-loading-ai {
  font-family: inherit;
}
@keyframes ot-inline-overlay-loading-shimmer {
  from {
    background-position: 100% 0;
  }
  to {
    background-position: -100% 0;
  }
}
@keyframes ot-inline-overlay-thinking-breathe {
  0%,
  100% {
    opacity: 0.45;
    transform: scale(0.88);
  }
  50% {
    opacity: 1;
    transform: scale(1);
  }
}
.ot-inline-overlay-abort {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  color: var(--ot-inline-overlay-abort);
  font-family: inherit;
  font-size: 12px;
  line-height: 20px;
  white-space: nowrap;
  cursor: pointer;
}
.ot-inline-overlay-loading-abort {
  flex: none;
}
.ot-inline-overlay-scroller {
  flex: 1;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  border-radius: 0 4px 4px 0;
  line-height: 22px;
  text-indent: 5px;
}
.ot-inline-overlay-scroller::-webkit-scrollbar {
  width: 3px;
}
.ot-inline-overlay-scroller::-webkit-scrollbar-thumb {
  background-color: var(--scroll-bar-color);
  border: none;
  border-radius: 3px;
}
.ot-inline-overlay-scroller::-webkit-scrollbar-track {
  background: transparent;
}
.ot-inline-overlay-content {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.ot-inline-overlay-content.is-response {
  min-height: 45px;
  border-left: 2px solid var(--ot-color-gray-opacity-12);
  padding-left: 12px;
}
.ot-inline-overlay-content .chat-streaming-markdown.ot-inline-overlay-markdown {
  padding-block: 0;
  padding: 0;
}
.ot-inline-overlay-line {
  white-space: pre-wrap;
  word-break: break-word;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ot-inline-overlay-markdown {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 0 10px;
  text-indent: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.ot-inline-overlay-markdown .code-block-skeleton {
  display: none;
}
.ot-inline-overlay-confirm {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--ot-inline-overlay-confirm-border);
  border-radius: 6px;
  font-size: 12px;
  text-indent: 0;
  outline: none;
}
.ot-inline-overlay-confirm.is-editing {
  border-color: var(--ot-inline-overlay-confirm-focus);
}
.ot-inline-overlay-confirm-command {
  display: flex;
  align-items: baseline;
  width: 100%;
  max-height: 240px;
  box-sizing: border-box;
  overflow: auto;
  padding: 8px 12px;
  color: var(--ot-inline-overlay-command-text);
  font-family: inherit;
  font-size: 12px;
  line-height: 20px;
  white-space: pre-wrap;
  word-break: break-all;
}
.ot-inline-overlay-confirm-header {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
  padding: 6px 6px 6px 12px;
  background: var(--ot-inline-overlay-confirm-header-bg);
}
.ot-inline-overlay-confirm-header.is-executed {
  padding: 0 0 0 12px;
}
.ot-inline-overlay-confirm-title {
  flex: 1;
  min-width: 0;
  padding: 0;
  color: var(--ot-inline-overlay-confirm-secondary-text);
  font-family: inherit;
  font-size: 12px;
  line-height: 24px;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.ot-inline-overlay-confirm-layout {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  width: 100%;
}
.ot-inline-overlay-answer {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
  min-width: 0;
  color: var(--ot-inline-overlay-confirm-prompt);
  line-height: 24px;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  padding-top: 8px;
}
.ot-inline-overlay-answer .ot-inline-overlay-markdown {
  flex: 1;
  min-width: 0;
  padding: 0;
}
.ot-inline-overlay-answer-star {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  margin-top: 5px;
}
.ot-inline-overlay-answer-star svg {
  width: 14px;
  height: 14px;
}
.ot-inline-overlay-confirm-prompt {
  flex: none;
  color: var(--ot-inline-overlay-confirm-prompt);
}
.ot-inline-overlay-confirm-value {
  min-width: 0;
}
.ot-inline-overlay-confirm-name {
  color: var(--ot-inline-overlay-command-name);
}
.ot-inline-overlay-confirm-input {
  flex: 1;
  width: 100%;
  height: 20px;
  min-width: 0;
  box-sizing: border-box;
  margin: 0;
  padding: 0 !important;
  color: var(--ot-inline-overlay-command-text);
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
  caret-color: var(--ot-inline-overlay-confirm-focus);
  outline: none !important;
  appearance: none;
  font: inherit;
  line-height: 20px;
  vertical-align: top;
}
.ot-inline-overlay-confirm-input:hover,
.ot-inline-overlay-confirm-input:focus {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}
.ot-inline-overlay-confirm-actions {
  display: flex;
  flex: none;
  gap: 8px;
  flex-wrap: nowrap;
  align-items: center;
  box-sizing: border-box;
  min-height: 24px;
  overflow: visible;
  padding: 0;
}
.ot-inline-overlay-confirm-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  box-sizing: border-box;
  overflow: hidden;
  padding: 2px 8px;
  color: var(--ot-inline-overlay-confirm-secondary-text);
  background: var(--ot-inline-overlay-confirm-secondary-bg);
  border: 0;
  border-radius: 4px;
  appearance: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  line-height: 20px;
  white-space: nowrap;
}
.ot-inline-overlay-confirm-button:disabled {
  opacity: 0.4;
  cursor: default;
}
.ot-inline-overlay-confirm-button.is-primary {
  color: var(--ot-inline-overlay-confirm-primary-text);
  background: var(--ot-inline-overlay-confirm-primary-bg);
  font-weight: 500;
}
.ot-inline-overlay-confirm-button.is-primary .ot-inline-overlay-confirm-shortcut {
  color: var(--ot-inline-overlay-confirm-primary-shortcut);
}
.ot-inline-overlay-confirm-shortcut {
  color: var(--ot-inline-overlay-confirm-shortcut);
  font-family: inherit;
  font-weight: 400;
}
.ot-inline-overlay-confirm-state,
.ot-inline-overlay-new-session-status {
  font-size: 12px;
  line-height: 20px;
}
.ot-inline-overlay-confirm-state {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 2px 0;
  line-height: 24px;
}
.ot-inline-overlay-confirm-state.is-success {
  color: var(--ot-inline-overlay-confirm-success);
}
.ot-inline-overlay-confirm-state.is-error {
  color: var(--ot-inline-overlay-confirm-error);
}
.ot-inline-overlay-confirm-state-icon {
  display: block;
  flex: none;
  width: 16px;
  height: 16px;
}
.ot-inline-overlay-new-session-status {
  color: var(--ot-inline-overlay-confirm-secondary-text);
}
.ot-inline-overlay-feedback {
  display: flex;
}
.ot-inline-overlay-feedback button {
  padding: 8px !important;
}
.ot-inline-overlay-feedback .chat-action {
  border: none;
}
.ot-inline-overlay-feedback .chat-action > span {
  display: none;
}
.ot-inline-overlay-footer-divider {
  flex: none;
  width: 1px;
  height: 16px;
  margin: 0 4px;
  background: var(--ot-inline-overlay-footer-divider);
}
.ot-inline-overlay-new-session-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  box-sizing: border-box;
  min-width: 0;
  height: 24px;
  padding: 2px 8px;
  color: var(--ot-inline-overlay-confirm-secondary-text);
  background: transparent;
  border: 0;
  border-radius: 4px;
  appearance: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  line-height: 20px;
  white-space: nowrap;
}
.ot-inline-overlay-new-session-button:hover {
  background: var(--ot-inline-overlay-confirm-secondary-bg);
}
.ot-inline-overlay-canceled {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 20px;
  color: var(--ot-inline-overlay-confirm-error);
}
/** 回答完成后的操作栏：点赞/踩 + 新建会话 */
.overlay-footer {
  display: flex;
  align-items: center;
  gap: 4px;
  box-sizing: border-box;
  width: 100%;
  margin-top: 5px;
  margin-bottom: 0;
  padding-bottom: 5px;
}
.ot-inline-overlay-code {
  position: relative;
  margin: 6px 0;
  padding: 8px 36px 8px 10px;
  background: var(--ot-inline-overlay-code-bg);
  border: 1px solid var(--ot-inline-overlay-code-border);
  border-radius: 4px;
}
.ot-inline-overlay-code-body {
  margin: 0;
  white-space: pre;
  color: var(--ot-inline-overlay-code-text);
  font-family: inherit;
  font-size: 12px;
  line-height: 1.45;
  overflow-x: auto;
}
.ot-inline-overlay-run {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 22px;
  height: 22px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: var(--ot-inline-overlay-run-text);
  background: var(--ot-inline-overlay-run-bg);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.12s, transform 0.08s;
}
.ot-inline-overlay-run:hover {
  background: var(--ot-inline-overlay-run-bg-hover);
  transform: scale(1.08);
}
.ot-inline-overlay-run:active {
  transform: scale(0.95);
}
.ot-inline-overlay-root .ot-inline-overlay-shell .ot-inline-overlay-markdown ol,
.ot-inline-overlay-root .ot-inline-overlay-shell .ot-inline-overlay-markdown ul {
  margin-top: 0;
  padding-inline-start: 25px;
}
.ot-inline-overlay-root .ot-inline-overlay-shell .chat-streaming-markdown p,
.ot-inline-overlay-root .ot-inline-overlay-shell .chat-streaming-markdown ul li,
.ot-inline-overlay-root .ot-inline-overlay-shell .chat-streaming-markdown .chat-ui-md-table-wrap,
.ot-inline-overlay-root .ot-inline-overlay-shell .chat-streaming-markdown ol li {
  margin-top: 0;
}
.ot-inline-overlay-root .ot-inline-overlay-shell .chat-streaming-markdown table th {
  padding: 3px 6px;
}
.ot-inline-overlay-shell .chat-streaming-markdown,
.ot-inline-overlay-shell .chat-streaming-markdown *,
.ot-inline-overlay-shell button,
.ot-inline-overlay-shell input {
  font-family: inherit;
}
/*# sourceMappingURL=inline-overlay.css.map */
[theme='dark'] {
  --ot-ps1-placeholder-text: rgba(255, 255, 255, 0.36);
}
[theme='light'] {
  --ot-ps1-placeholder-text: rgba(0, 0, 0, 0.36);
}
.ot-ps1-placeholder {
  display: inline-flex;
  align-items: center;
  height: 100%;
  pointer-events: auto;
  user-select: none;
  font-family: 'PingFang SC', sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 24px;
  color: var(--ot-ps1-placeholder-text, rgba(255, 255, 255, 0.36));
  white-space: nowrap;
}
.ot-ps1-placeholder__mono {
  font-family: 'SF Mono', SFMono-Regular, Menlo, Consolas, monospace;
}
.ot-ps1-placeholder__mono {
  font-weight: 500;
}
.ot-ps1-placeholder__shortcut {
  display: inline-flex;
  align-items: center;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  cursor: pointer;
}
.ot-ps1-placeholder__shortcut.is-agent {
  color: #339cff;
}
.ot-ps1-placeholder__shortcut.is-shell {
  color: #8870ff;
}
.ot-ps1-placeholder__shortcut-key {
  display: inline-block;
}
.ot-ps1-placeholder__shortcut-key + .ot-ps1-placeholder__shortcut-key {
  margin-left: 2px;
}
/* 字母/数字键走等宽字体族：这类字体的 I 带上下横杠、1 带底座，可明显区分 I 与 1 */
.ot-ps1-placeholder__shortcut-key--literal {
  font-family: 'SF Mono', SFMono-Regular, Menlo, Consolas, monospace;
  font-weight: 500;
}
/*# sourceMappingURL=ps1-placeholder.css.map */
.sftp-row-context-menu {
  padding: 4px;
  min-width: 108px;
  border: 1px solid var(--OT-Color-Border-Gray-Secondary);
  background-color: var(--OT-Color-Fill-Gray-Page-Primary);
  border-radius: 4px;
  box-shadow: 0 8px 12px -8px rgba(0, 0, 0, 0.06), 0 4px 24px -4px rgba(0, 0, 0, 0.12);
  overflow: hidden;
}
.sftp-row-context-menu ul.tea-list--option {
  max-height: 600px;
}
.sftp-row-context-menu ul.tea-list--option li {
  padding: 6px 12px;
  line-height: 20px;
  color: var(--OT-Color-Text-Gray-Primary);
  cursor: pointer;
  white-space: nowrap;
}
.sftp-row-context-menu ul.tea-list--option li:hover {
  background-color: var(--OT-Color-Fill-Gray-Primary-Selected);
}
.sftp-ui-table.tea-table .table-header-search.is-selected .tea-form--search {
  top: -2px !important;
}
.ot-file-manager-pane .sftp-ui .sftp-ui-table.tea-table .tea-table__body tr.normal:hover td .sftp-ui-table__operation {
  display: flex;
  left: 100%;
  right: unset;
  height: 30px;
  top: calc(50% - 15px);
  align-items: center;
  z-index: 1;
  background-color: var(--ot-background-color-8);
}
.ot-file-manager-pane .sftp-ui .sftp-ui-table.tea-table.one-col .tea-table__body tr.normal:hover td .sftp-ui-table__operation {
  transform: translate(-100%, 0);
}
.ot-file-manager-pane .sftp-ui .sftp-ui-table.tea-table.one-col .tea-table__body tr.normal:hover td .sftp-ui-table__operation-item:not(.is-more) {
  display: none;
}
.ot-file-manager-pane .orcaterm-command-library.sftp-panel .command-library-header {
  cursor: grab;
}
/*# sourceMappingURL=FileList.css.map */
.ot-file-view {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  --bd-tabs-height-default: 30px;
}
.ot-file-view .bd-tea-tabs__tabpanel {
  height: calc(100% - var(--bd-tabs-height-default));
  padding: 4px;
}
.ot-file-view .sftp-ui-edit-terminal {
  margin-top: 0;
  padding: 10px;
  height: calc(100% - 20px);
  box-sizing: border-box;
}
.ot-file-view .ot-file-markdown-preview {
  position: relative;
  height: 100%;
  overflow: hidden;
}
.ot-file-view .ot-file-markdown-preview .ot-file-markdown-toolbar {
  position: absolute;
  top: 0px;
  right: 12px;
  z-index: 10;
  display: flex;
  gap: 8px;
}
.ot-file-view .ot-file-markdown-preview .ot-file-markdown-toolbar .tea-btn {
  padding: 0 12px!important;
  height: 24px;
  line-height: 24px;
}
.ot-file-view .ot-file-markdown-preview .ot-file-markdown-body {
  height: 100%;
  overflow: auto;
  padding: 16px 24px;
  background: transparent;
  box-sizing: border-box;
}
.ot-file-view .ot-file-markdown-preview .ot-file-markdown-body .wmde-markdown ul {
  list-style-type: disc;
}
.ot-file-view .ot-file-markdown-preview .ot-file-markdown-body .wmde-markdown ol {
  list-style-type: decimal;
}
.ot-file-view .ot-file-markdown-preview .ot-file-markdown-body .wmde-markdown ul ul {
  list-style-type: circle;
}
.ot-file-view .ot-file-markdown-preview .ot-file-markdown-body .wmde-markdown ul ul ul {
  list-style-type: square;
}
.ot-file-view .ot-file-markdown-preview .ot-file-markdown-body .wmde-markdown ol ol,
.ot-file-view .ot-file-markdown-preview .ot-file-markdown-body .wmde-markdown ul ol {
  list-style-type: lower-roman;
}
.ot-file-view .ot-file-markdown-preview .ot-file-markdown-body .wmde-markdown ul ul ol,
.ot-file-view .ot-file-markdown-preview .ot-file-markdown-body .wmde-markdown ul ol ol,
.ot-file-view .ot-file-markdown-preview .ot-file-markdown-body .wmde-markdown ol ul ol,
.ot-file-view .ot-file-markdown-preview .ot-file-markdown-body .wmde-markdown ol ol ol {
  list-style-type: lower-alpha;
}
.ot-file-view .ot-file-markdown-preview .ot-file-markdown-editor {
  height: 100%;
  overflow: hidden;
}
/*# sourceMappingURL=style.css.map */
.ot-file-manager-pane {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background: var(--ot-editor-background-color, #fff);
  overflow: hidden;
}
.ot-file-manager-pane .sftp-panel.ot-file-manager {
  display: flex;
  flex-direction: column;
}
.ot-file-manager-pane__header {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  gap: 8px;
}
.ot-file-manager-pane__header > .text {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ot-file-manager-pane__header .btn-groups {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
}
.ot-file-manager-pane__header .btn-groups > * {
  flex-shrink: 0;
}
.ot-file-manager-pane__header .btn-groups-line {
  flex: 0 0 auto;
  width: 1px;
  height: 16px;
  background-color: var(--OT-Color-Border-Gray-Secondary, #383838);
}
.ot-file-manager-pane__header .ot-file-manager-pane__close-btn,
.ot-file-manager-pane__header .ot-file-manager-pane__zoom-btn {
  flex: 0 0 auto;
}
.ot-file-manager-pane__body {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.ot-file-manager-pane.is-wide .ot-file-manager-pane__body {
  flex-direction: row;
}
.ot-file-manager-pane__body > .sftp-ui {
  flex: 1 1 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.ot-file-manager-pane.has-open-files .ot-file-manager-pane__body > .sftp-ui {
  flex: 0 0 var(--list-size, 260px);
}
.ot-file-manager-pane__loading {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: var(--ot-text-color-secondary, #888);
}
.ot-file-manager-pane__resizer {
  flex-shrink: 0;
  z-index: 3;
  background: var(--ot-background-color-3, #e5e5e5);
  transition: background 0.2s;
  width: 100%;
  height: 2px;
  cursor: row-resize;
}
.ot-file-manager-pane__resizer:hover {
  background: var(--ot-font-color-1, #006eff);
  transform: scaleX(2);
}
.ot-file-manager-pane__resizer.is-wide {
  width: 2px;
  height: 100%;
  cursor: col-resize;
}
.ot-file-manager-pane__editor-side {
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: var(--ot-editor-background-color, #fff);
}
.ot-file-manager-pane__editor-side .binary-file {
  background-color: var(--ot-file-editor-background-color);
}
.ot-file-manager-pane__editor-side .ot-file-loading {
  display: flex;
  justify-content: center;
}
.ot-file-manager-pane__editor-side .ot-file-loading .loading-file {
  display: flex;
  gap: 2px;
  align-items: center;
}
.ot-file-manager-pane__editor-side .ot-file-error-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  background-color: var(--ot-file-editor-background-color);
}
.ot-file-manager-pane__editor-side .loadfile-error.editor-file-error {
  background-color: var(--ot-file-editor-background-color);
}
/*# sourceMappingURL=FileManagerPane.css.map */
.orcaterm-command-library.sftp-panel.ot-file-manager {
  transition: none;
  width: 100%;
  box-sizing: border-box;
  border-right: none;
}
.orcaterm-command-library.sftp-panel.ot-file-manager .orcaterm-command-library-inner {
  width: 100%;
  min-width: 280px;
  max-width: 680px;
  box-sizing: border-box;
}
.orcaterm-command-library.sftp-panel.visible.win-panel {
  width: unset !important;
}
.orcaterm-command-library.sftp-panel.visible.win-panel .orcaterm-command-library-inner {
  width: unset !important;
}
/*# sourceMappingURL=FileList.css.map */
.ot-feature-guide-card {
  --ot-feature-guide-badge-gradient: linear-gradient(90deg, #06a8ff 64%, #0ae0a3 100%);
  position: relative;
  width: 348px;
  overflow: hidden;
  /* 进场动画：挂载时整体自右侧滑入（分镜：无卡帧 → 卡片入位右下角） */
  animation: ot-feature-guide-enter 0.4s cubic-bezier(0.25, 0.1, 0.25, 1) both;
  /* 卡片内容（文字/页码等）不允许被选中 */
  user-select: none;
  background: var(--color-gray-950);
  border: 1px solid var(--color-gray-opacity-8);
  border-radius: 8px;
  box-shadow: 0 4px 24px -4px var(--Color-Other-Shadow-2), 0 8px 12px -8px var(--Color-Other-Shadow-1);
  /* 悬浮形态：固定在视口右下角（设计稿：距右 8px、距底 40px） */
  /* 出场：与进场镜像，向右滑出（点击关闭后播放，结束后触发 onClose） */
  /* 切换动效容器：封面(160) + 信息区(120)。
     overflow 裁剪平移与滚动溢出（平移量 = 卡宽 + 80px 间距，分镜实测 428px） */
  /* 封面层：随卡片水平平移交换 */
  /* 文字层：不随卡横滑，标题/描述级联滚动（间隔 100ms）；
     徽标不参与过渡动画，瞬时切换（所有页共用同一徽标） */
  /* 关闭按钮（设计导出的 Button_ICON PNG：24px 浅色圆盘 + 白色 X，圆盘背景即按钮本体） */
  /* notice 变体：切换为橘色渐变 */
  /* 图标与文字共用同一渐变：渐变作背景，mask 挖出图标形状 */
  /* 操作区（设计：flex gap-12 items-end，内距 上8/下16/左右16；
     pager 占满剩余空间把两个按钮推到右侧相邻排列） */
  /* 当前页码：切换时上滚入场（key 重挂载触发） */
  /* 主按钮（立即体验）——与文档链接按钮平分剩余行宽（各一半，自适应） */
  /* 文档链接按钮：与主按钮平分剩余行宽（各一半，自适应），
     色值取设计变量 Color/Base/Fill/Tertiary/{Default,Hover} */
}
.ot-feature-guide-card--floating {
  position: fixed;
  right: 8px;
  bottom: 40px;
  z-index: 1000;
}
.ot-feature-guide-card--closing {
  animation: ot-feature-guide-exit 0.4s cubic-bezier(0.25, 0.1, 0.25, 1) both;
  pointer-events: none;
}
.ot-feature-guide-card__body {
  position: relative;
  height: 280px;
  overflow: hidden;
}
.ot-feature-guide-card__cover-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 160px;
}
.ot-feature-guide-card__cover-layer--enter-next {
  animation: ot-feature-guide-in-next 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) both;
}
.ot-feature-guide-card__cover-layer--exit-next {
  animation: ot-feature-guide-out-next 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) both;
}
.ot-feature-guide-card__cover-layer--enter-prev {
  animation: ot-feature-guide-in-prev 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) both;
}
.ot-feature-guide-card__cover-layer--exit-prev {
  animation: ot-feature-guide-out-prev 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) both;
}
.ot-feature-guide-card__info-layer {
  position: absolute;
  top: 160px;
  left: 0;
  width: 100%;
  height: 120px;
}
.ot-feature-guide-card__info-layer--enter .ot-feature-guide-card__title {
  animation: ot-feature-guide-text-in 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) 0.1s both;
}
.ot-feature-guide-card__info-layer--enter .ot-feature-guide-card__desc {
  animation: ot-feature-guide-text-in 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) 0.2s both;
}
.ot-feature-guide-card__info-layer--exit .ot-feature-guide-card__title {
  animation: ot-feature-guide-text-out 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) 0.1s both;
}
.ot-feature-guide-card__info-layer--exit .ot-feature-guide-card__desc {
  animation: ot-feature-guide-text-out 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) 0.2s both;
}
.ot-feature-guide-card__cover {
  position: relative;
  height: 160px;
  overflow: hidden;
}
.ot-feature-guide-card__cover-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ot-feature-guide-card__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 162px;
  height: 28px;
  transform: translate(-50%, -50%);
}
.ot-feature-guide-card__close {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  /* 盖在 __body 定位图层之上（DOM 顺序在 body 之前，需显式提升层级） */
  z-index: 1;
  top: 8px;
  right: 8px;
  width: 24px;
  height: 24px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.ot-feature-guide-card__close img {
  display: block;
  width: 100%;
  height: 100%;
}
.ot-feature-guide-card__close:hover {
  transform: scale(1.08);
}
.ot-feature-guide-card:hover .ot-feature-guide-card__close {
  opacity: 1;
}
.ot-feature-guide-card__info {
  padding: 16px 16px 8px;
}
.ot-feature-guide-card__badge {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 20px;
}
.ot-feature-guide-card__badge--notice {
  --ot-feature-guide-badge-gradient: linear-gradient(90deg, #ff9233 36%, #ff5e4f 80%);
}
.ot-feature-guide-card__badge-text {
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  color: transparent;
  background-image: var(--ot-feature-guide-badge-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ot-feature-guide-card__badge-icon {
  width: 12px;
  height: 12px;
  background-image: var(--ot-feature-guide-badge-gradient);
}
.ot-feature-guide-card__badge-icon--feature {
  -webkit-mask: url(https://cloudcache.tencent-cloud.com/qcloud/orcaterm/images/badge-star.5d65696c.svg) center / contain no-repeat;
  mask: url(https://cloudcache.tencent-cloud.com/qcloud/orcaterm/images/badge-star.5d65696c.svg) center / contain no-repeat;
}
.ot-feature-guide-card__badge-icon--notice {
  -webkit-mask: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+CiAgPHBhdGggZD0iTTguNSAyLjAyN1YxaC0xdjEuMDI3YTQuNSA0LjUgMCAwMC00IDQuNDczVjExbC0uOSAxLjJhLjUuNSAwIDAwLjQuOGgyLjU1YTIuNSAyLjUgMCAwMDQuOSAwSDEzYS41LjUgMCAwMC40LS44bC0uOS0xLjJWNi41YTQuNSA0LjUgMCAwMC00LTQuNDczWm0tNCA5LjMwNlY2LjVhMy41IDMuNSAwIDExNyAwdjQuODMzTDEyIDEySDRsLjUtLjY2N1pNOCAxNGExLjUgMS41IDAgMDEtMS40MTUtMWgyLjgzQTEuNSAxLjUgMCAwMTggMTRaIi8+Cjwvc3ZnPgo=) center / contain no-repeat;
  mask: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+CiAgPHBhdGggZD0iTTguNSAyLjAyN1YxaC0xdjEuMDI3YTQuNSA0LjUgMCAwMC00IDQuNDczVjExbC0uOSAxLjJhLjUuNSAwIDAwLjQuOGgyLjU1YTIuNSAyLjUgMCAwMDQuOSAwSDEzYS41LjUgMCAwMC40LS44bC0uOS0xLjJWNi41YTQuNSA0LjUgMCAwMC00LTQuNDczWm0tNCA5LjMwNlY2LjVhMy41IDMuNSAwIDExNyAwdjQuODMzTDEyIDEySDRsLjUtLjY2N1pNOCAxNGExLjUgMS41IDAgMDEtMS40MTUtMWgyLjgzQTEuNSAxLjUgMCAwMTggMTRaIi8+Cjwvc3ZnPgo=) center / contain no-repeat;
}
.ot-feature-guide-card__title {
  margin-top: 4px;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  color: var(--Color-Base-Text-Primary);
}
.ot-feature-guide-card__desc {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 8px;
  font-size: 12px;
  line-height: 20px;
  color: var(--Color-Base-Text-Secondary);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.ot-feature-guide-card__action {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  padding: 8px 16px 16px;
}
.ot-feature-guide-card__pager {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ot-feature-guide-card__pager-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  color: var(--Color-Base-Text-Secondary);
  background: transparent;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
}
.ot-feature-guide-card__pager-btn svg {
  width: 16px;
  height: 16px;
}
.ot-feature-guide-card__pager-btn:hover:not(:disabled) {
  color: var(--Color-Base-Text-Primary);
  background: var(--color-gray-opacity-8);
}
.ot-feature-guide-card__pager-btn.ot-feature-guide-card__pager-btn--prev svg {
  transform: rotate(180deg);
}
.ot-feature-guide-card__pager-indicator {
  font-size: 12px;
  line-height: 24px;
  font-feature-settings: 'tnum';
  color: var(--Color-Base-Text-Primary);
}
.ot-feature-guide-card__pager-current {
  display: inline-block;
  animation: ot-feature-guide-num-in 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) both;
}
.ot-feature-guide-card__pager-total {
  color: var(--Color-Base-Text-Placeholder);
}
.ot-feature-guide-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  height: 30px;
  min-width: 72px;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  color: var(--Color-Base-Fill-Solid-Black);
  background: var(--Color-Base-Fill-Solid-White);
  border: 0;
  border-radius: 4px;
  cursor: pointer;
  transition: opacity 0.15s ease;
}
.ot-feature-guide-card__cta:hover {
  opacity: 0.88;
}
.ot-feature-guide-card__cta:active {
  opacity: 0.8;
}
.ot-feature-guide-card__doc-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  height: 30px;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  /* 设计变量 Color/Base/Text/Primary：暗色 #ffffffeb / 亮色 rgba(0,0,0,0.92)，
       与 Tertiary 灰底（#383838 / #e3e6eb）在两种主题下都有足够对比度 */
  color: var(--Color-Base-Text-Primary);
  /* 语义 token 优先，回退基元 token，避免主题包未定义该语义变量时背景透明 */
  background: var(--Color-Base-Fill-Tertiary-Default, var(--color-gray-800));
  border: 0;
  border-radius: 4px;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.ot-feature-guide-card__doc-link:hover {
  background: var(--Color-Base-Fill-Tertiary-Hover, var(--color-gray-750));
}
.ot-feature-guide-card__close:focus-visible,
.ot-feature-guide-card__pager-btn:focus-visible,
.ot-feature-guide-card__doc-link:focus-visible,
.ot-feature-guide-card__cta:focus-visible {
  outline: 1px solid var(--Color-Base-Border-Focus);
  outline-offset: 1px;
}
/* 进场：自右侧滑入（起始位置 = 完整移出右缘 + 8px 边距） */
@keyframes ot-feature-guide-enter {
  from {
    transform: translateX(calc(100% + 8px));
  }
  to {
    transform: translateX(0);
  }
}
/* 出场：沿进场路径反向滑出右缘 */
@keyframes ot-feature-guide-exit {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(100% + 8px));
  }
}
/* 卡片水平平移交换：平移量 = 卡片宽度(348) + 80px 间距（分镜实测 428px） */
@keyframes ot-feature-guide-in-next {
  from {
    transform: translateX(calc(100% + 80px));
  }
  to {
    transform: translateX(0);
  }
}
@keyframes ot-feature-guide-out-next {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-100% - 80px));
  }
}
@keyframes ot-feature-guide-in-prev {
  from {
    transform: translateX(calc(-100% - 80px));
  }
  to {
    transform: translateX(0);
  }
}
@keyframes ot-feature-guide-out-prev {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(100% + 80px));
  }
}
/* 文字向上滚动：入场自下方滚上，离场向上滚出 */
@keyframes ot-feature-guide-text-in {
  from {
    transform: translateY(16px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes ot-feature-guide-text-out {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(-16px);
    opacity: 0;
  }
}
/* 页码数字上滚入场 */
@keyframes ot-feature-guide-num-in {
  from {
    transform: translateY(8px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ot-feature-guide-card,
  .ot-feature-guide-card__cover-layer,
  .ot-feature-guide-card__info-layer,
  .ot-feature-guide-card__title,
  .ot-feature-guide-card__desc,
  .ot-feature-guide-card__pager-current {
    animation: none;
  }
}
/*# sourceMappingURL=index.css.map */
@keyframes ot-ai-logo-rotate {
  0% {
    transform: rotate(0turn);
  }
  100% {
    transform: rotate(3turn);
  }
}
@keyframes ot-ai-logo-leaf-roll {
  0% {
    transform-origin: 44.5833% 54.75% !important;
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    transform-origin: 44.5833% 54.75% !important;
    transform: translate(23.8333%, 45.1667%) rotate(150deg);
  }
}
@keyframes ot-ai-logo-leaf-roll-back {
  0% {
    transform-origin: 44.5833% 54.75% !important;
    transform: translate(23.8333%, 45.1667%) rotate(150deg);
  }
  100% {
    transform-origin: 44.5833% 54.75% !important;
    transform: translateY(0px) rotate(0deg);
  }
}
@keyframes ot-ai-logo-star1-blink {
  0% {
    transform: scale(0);
  }
  31.25% {
    opacity: 0;
    transform: scale(0);
  }
  34.375% {
    opacity: 1;
    transform: scale(1);
  }
  37.5% {
    opacity: 0;
    transform: scale(0);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes ot-ai-logo-star2-blink {
  0% {
    transform: scale(0);
  }
  23.4375% {
    opacity: 0;
    transform: scale(0);
  }
  26.5625% {
    opacity: 1;
    transform: scale(1);
  }
  29.6875% {
    opacity: 0;
    transform: scale(0);
  }
  100% {
    transform: scale(0);
  }
}
.ot-ai-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  position: relative;
  flex: none;
}
.ot-ai-logo__flower {
  display: inline-block;
  width: 100%;
  height: 100%;
  position: relative;
  animation: ot-ai-logo-rotate 25.2s linear infinite;
}
.ot-ai-logo__star1 {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 62.5%;
  height: 62.5%;
  animation: ot-ai-logo-star1-blink 12.8s linear infinite;
}
.ot-ai-logo__star2 {
  position: absolute;
  right: 0;
  top: 0;
  width: 62.5%;
  height: 62.5%;
  animation: ot-ai-logo-star2-blink 12.8s linear infinite;
}
.ot-ai-logo__leaf {
  display: inline-block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  color: #ff699b;
}
.ot-ai-logo__leaf > svg {
  position: absolute;
  width: 37.5% !important;
  height: 37.5% !important;
  left: 0;
  top: 37.5%;
  animation: ot-ai-logo-leaf-roll 1.6s cubic-bezier(0.6, 0.2, 0.6, 0.7) forwards;
  transform-origin: 44.5833% 54.75% !important;
}
.ot-ai-logo__leaf.is-roll-back > svg {
  animation: ot-ai-logo-leaf-roll-back 1.6s cubic-bezier(0.6, 0.2, 0.6, 0.7) forwards;
}
.ot-ai-logo__leaf:nth-child(2) {
  transform: rotate(60deg);
  color: #ff876e;
}
.ot-ai-logo__leaf:nth-child(3) {
  transform: rotate(120deg);
  color: #f5a61e;
}
.ot-ai-logo__leaf:nth-child(4) {
  transform: rotate(180deg);
  color: #54b8ff;
}
.ot-ai-logo__leaf:nth-child(5) {
  transform: rotate(240deg);
  color: #3b6cff;
}
.ot-ai-logo__leaf:nth-child(6) {
  transform: rotate(300deg);
  color: #5252ff;
}
[theme-mode="dark"][theme-enable="true"] .ot-ai-logo__star1 path,
[theme-mode="dark"][theme-enable="true"] .ot-ai-logo__star2 path {
  fill: #ffd814 !important;
}
[theme-mode="dark"][theme-enable="true"] .ot-ai-logo__star1 path + path,
[theme-mode="dark"][theme-enable="true"] .ot-ai-logo__star2 path + path {
  fill: #181818 !important;
}
[theme-mode="dark"][theme-enable="true"] .ot-ai-logo__leaf {
  color: #ff699b;
}
[theme-mode="dark"][theme-enable="true"] .ot-ai-logo__leaf:nth-child(2) {
  color: #ff876e;
}
[theme-mode="dark"][theme-enable="true"] .ot-ai-logo__leaf:nth-child(3) {
  color: #f5a61e;
}
[theme-mode="dark"][theme-enable="true"] .ot-ai-logo__leaf:nth-child(4) {
  color: #54b8ff;
}
[theme-mode="dark"][theme-enable="true"] .ot-ai-logo__leaf:nth-child(5) {
  color: #5c85ff;
}
[theme-mode="dark"][theme-enable="true"] .ot-ai-logo__leaf:nth-child(6) {
  color: #8175ff;
}
/*# sourceMappingURL=AILogoWithStar.css.map */
.ot-login__oauth-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 272px;
}
.ot-login__oauth-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 272px;
  height: 44px;
  box-sizing: border-box;
  border-radius: 4px;
  border: 1px solid var(--OT-Color-Base-Border-Primary);
  background: var(--OT-Color-Base-Fill-Primary-Default);
  color: var(--OT-Color-Base-Text-Primary);
  font-size: 14px;
  font-weight: 500;
  line-height: 22px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.ot-login__oauth-btn:hover {
  background: var(--OT-Color-Base-Fill-Primary-Hover);
}
.ot-login__protocol.unagreed .tea-form-check .tea-checkbox {
  border-color: var(--OT-Color-Accent-Text-Error-Default) !important;
}
.ot-login .ot-login__right .ot-login__right-body {
  flex: 1;
  justify-content: center;
  padding: 32px 24px 32px;
}
.ot-login__gate-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ot-login__oauth-list .ot-login__gate-cell {
  width: 272px;
}
.ot-login__gate-tip {
  max-width: 272px;
  margin-top: 4px;
  color: var(--OT-Color-Accent-Text-Error-Default);
  font-size: 12px;
  line-height: 16px;
  text-align: center;
}
@keyframes ot-login-protocol-shake {
  0%,
  100% {
    transform: translateX(0);
  }
  20% {
    transform: translateX(-8px);
  }
  40% {
    transform: translateX(8px);
  }
  60% {
    transform: translateX(-6px);
  }
  80% {
    transform: translateX(6px);
  }
}
.ot-login__protocol.ot-shake {
  animation: ot-login-protocol-shake 0.4s ease-in-out;
}
.ot-login__oauth-btn:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.ot-login__oauth-btn:disabled:hover {
  background: var(--OT-Color-Base-Fill-Primary-Default);
}
.ot-login__oauth-btn-wrapper {
  display: block;
  width: 272px;
}
.ot-login__protocol-text {
  word-break: normal;
  overflow-wrap: break-word;
}
.ot-login .ot-login__left .ot-login__left-desc {
  box-sizing: border-box;
  max-width: 100%;
  padding: 0 24px;
  text-align: center;
}
/*# sourceMappingURL=style.css.map */
.pwa-stopped-screen {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  /* 亮色主题（默认） */
  --pwa-bg: #fff;
  --pwa-title-color: #1a1a1a;
  --pwa-desc-color: #666;
}
/* 暗色主题：跟随 html[theme] 属性 */
[theme='dark'] .pwa-stopped-screen,
html[theme='dark'] .pwa-stopped-screen {
  --pwa-bg: #1a1a1a;
  --pwa-title-color: #e8e8e8;
  --pwa-desc-color: #999;
}
.pwa-stopped-screen {
  background: var(--pwa-bg);
  color: var(--pwa-desc-color);
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.pwa-stopped-screen__content {
  text-align: center;
  max-width: 480px;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pwa-stopped-screen__title {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 16px;
  color: var(--pwa-title-color);
}
.pwa-stopped-screen__desc {
  font-size: 16px;
  line-height: 1.7;
  color: var(--pwa-desc-color);
  margin-bottom: 32px;
}
/* 卸载引导：弱化样式，区别于主 CTA */
.pwa-stopped-screen__uninstall {
  max-width: 520px;
  padding: 16px 20px;
  margin-top: 8px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.03);
  font-size: 13px;
  line-height: 1.7;
  color: var(--pwa-desc-color);
  text-align: left;
}
[theme='dark'] .pwa-stopped-screen__uninstall,
html[theme='dark'] .pwa-stopped-screen__uninstall {
  background: rgba(255, 255, 255, 0.05);
}
.pwa-stopped-screen__uninstall-title {
  margin: 0 0 8px;
  font-weight: 500;
  color: var(--pwa-title-color);
}
.pwa-stopped-screen__uninstall-list {
  margin: 0 0 8px;
  padding-left: 20px;
}
.pwa-stopped-screen__uninstall-list li {
  margin: 2px 0;
}
.pwa-stopped-screen__uninstall-note {
  margin: 0;
  font-size: 12px;
  opacity: 0.75;
}
/* 下载客户端 + 网页版 行动入口分组：组内紧凑间距 */
.pwa-stopped-screen__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
/* 「网页版」次要灰色链接 */
.pwa-stopped-screen__web-link {
  font-size: 12px;
  color: var(--pwa-desc-color) !important;
  text-decoration: none;
  cursor: pointer;
}
.pwa-stopped-screen__web-link:hover {
  color: var(--pwa-title-color);
  text-decoration: underline;
}
/*# sourceMappingURL=PwaDeprecationDialog.css.map */
/* TODO：
移除样式：
.ot-help-*
*/
[theme=dark],
[theme=dark] :root {
  --border-active-color: #1784EB;
  --scroll-bar-color: #4B4B4B;
  --ot-active-background-color: #4b4b4b;
  --ot-color-gray-opacity-12: rgba(255, 255, 255, 0.12);
}
[theme=dark] .orcaterm__screen {
  --background-error-color: rgba(61, 29, 28, 0.2);
  --block-active-background-color: rgba(23, 132, 235, 0.2);
  --screen-active-background-color: rgba(0, 0, 0, 0.55);
}
[theme=light],
[theme=light] :root {
  --border-active-color: #0F8FFF;
  --scroll-bar-color: #D6DBE3;
  --ot-active-background-color: #f1f2f5;
  --ot-color-gray-opacity-12: rgba(0, 0, 0, 0.12);
}
[theme=light] .orcaterm__screen {
  --background-error-color: rgba(229, 91, 78, 0.05);
  --block-active-background-color: rgba(15, 143, 255, 0.05);
  --screen-active-background-color: rgba(227, 230, 235, 0.6);
}
.dark-theme .orcaterm-login-cvmtip {
  color: rgba(255, 255, 255, 0.4);
}
.light-theme .orcaterm-login-cvmtip {
  border-top-color: transparent;
  color: rgba(0, 0, 0, 0.4);
}
.dark-theme .orcaterm-alert-link {
  color: white !important;
}
.orcaterm-login-cvm-forget {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 12px;
}
.orcaterm-login-cvm-forget span {
  color: #006eff;
  cursor: pointer;
}
.orcaterm-login-cvm-forget a {
  text-decoration: none;
}
.orcaterm-login-cvm-forget .orcaterm-login-cvm-split {
  width: 1px;
  height: 10px;
  margin: 0 5px;
  background: #3C485C;
}
.lh-webshell-privateKey-upload {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.lh-webshell-privateKey-upload input {
  width: 180px !important;
}
.lh-webshell-privateKey-item .tea-form__controls--text > .tea-icon-valid {
  right: 0;
  top: 7px;
}
.lh-webshell-login-pwd-item .tea-form__controls--text > .tea-icon-valid {
  margin-top: 7px !important;
}
.lh-webshell-login-pwd {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.block-item-enter {
  opacity: 0;
}
.block-item-enter-active {
  opacity: 1;
  transition: opacity 500ms ease-in;
}
.block-item-exit {
  opacity: 1;
}
.block-item-exit-active {
  opacity: 0;
  transition: opacity 500ms ease-in;
}
.orcaterm-ai-command-prediction-menu .tea-list--option {
  max-height: none;
  overflow-y: visible;
}
.orcaterm-ai-command-prediction-menu .orcaterm-ai-command-prediction-menu__disable {
  color: var(--ot-font-color-placeholder);
}
.orcaterm-ai-command-prediction-accept-tip {
  position: relative;
  min-width: 220px;
  padding: 0;
  color: var(--ot-font-color-secondary, #c5c8ce);
  background: var(--ot-bg-color-tooltip, #2a2c33);
  border-radius: 6px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.32);
  overflow: hidden;
  user-select: none;
}
.orcaterm-ai-command-prediction-accept-tip__header {
  display: flex;
  align-items: center;
  padding: 4px 28px 8px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.orcaterm-ai-command-prediction-accept-tip__title {
  font-size: 12px;
  line-height: 1.4;
  color: var(--ot-font-color-secondary, #c5c8ce);
}
.orcaterm-ai-command-prediction-accept-tip__close {
  display: flex;
  position: absolute;
  top: 8px;
  right: 8px;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  line-height: 18px;
  font-size: 16px;
  vertical-align: middle;
  color: var(--ot-font-color-placeholder, #8a8f99);
  cursor: pointer;
  border-radius: 3px;
  transition: background-color 120ms ease, color 120ms ease;
}
.orcaterm-ai-command-prediction-accept-tip__close:hover {
  background-color: rgba(255, 255, 255, 0.08);
  color: var(--ot-font-color-secondary, #c5c8ce);
}
.orcaterm-ai-command-prediction-accept-tip__list {
  list-style: none;
  margin: 0;
  padding: 4px 0;
}
.orcaterm-ai-command-prediction-accept-tip__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.4;
  cursor: pointer;
  color: var(--ot-font-color-secondary, #c5c8ce);
  transition: background-color 120ms ease;
}
.orcaterm-ai-command-prediction-accept-tip__item:hover {
  background-color: rgba(255, 255, 255, 0.06);
}
.orcaterm-ai-command-prediction-accept-tip__item.is-active {
  color: var(--ot-font-color-primary, #e6e8eb);
}
.orcaterm-ai-command-prediction-accept-tip__key {
  flex: 1 1 auto;
}
.orcaterm-ai-command-prediction-accept-tip__indicator {
  flex: 0 0 auto;
  min-width: 16px;
  text-align: right;
  color: var(--ot-font-color-placeholder, #8a8f99);
}
.is-active .orcaterm-ai-command-prediction-accept-tip__indicator {
  color: var(--ot-color-success, #2ba471);
  font-weight: 600;
}
.terminal-container {
  position: relative;
}
.terminal-container .orcaterm-ai-command-prediction-decoration {
  z-index: 20;
  pointer-events: none;
  overflow: visible;
}
.terminal-container .orcaterm-ai-command-prediction-inline {
  display: inline-flex;
  align-items: center;
  pointer-events: none;
  white-space: pre;
  font: inherit;
  line-height: inherit;
  color: var(--ot-font-color-secondary, #8a8f99);
  contain: layout paint style;
}
.terminal-container .orcaterm-ai-command-prediction-inline--hidden {
  display: none;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.terminal-container .orcaterm-ai-command-prediction-inline__suffix {
  white-space: pre;
  color: var(--ot-font-color-placeholder);
}
.terminal-container .orcaterm-ai-command-prediction-inline__accept-key {
  display: inline-flex;
  height: 1.35em;
  align-items: stretch;
  margin-left: 4px;
  pointer-events: auto;
  vertical-align: middle;
}
.terminal-container .orcaterm-ai-command-prediction-inline__accept-key > .tea-dropdown {
  display: block;
  width: 2.5em;
  height: 100%;
  line-height: 1;
  vertical-align: top;
}
.terminal-container .orcaterm-ai-command-prediction-inline__accept-key-trigger {
  position: relative;
  display: inline-flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: space-evenly;
  box-sizing: border-box;
  border: 1px solid rgba(128, 128, 128, 0.38);
  border-radius: 4px;
  color: var(--ot-font-color-placeholder);
  cursor: pointer;
  font: inherit;
  line-height: 1;
  opacity: 0.9;
}
.terminal-container .orcaterm-ai-command-prediction-inline__accept-key-trigger:hover {
  border-color: rgba(128, 128, 128, 0.55);
  background-color: rgba(128, 128, 128, 0.12);
}
.terminal-container .orcaterm-ai-command-prediction-inline__accept-key-label {
  display: block;
  overflow: hidden;
  text-align: center;
  text-overflow: clip;
  width: 50%;
}
.terminal-container .orcaterm-ai-command-prediction-inline__accept-key-label--text {
  font-size: 0.6em;
}
.terminal-container .orcaterm-ai-command-prediction-inline__accept-key-chevron {
  width: 0.25em;
  height: 0.25em;
  box-sizing: border-box;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(0%) rotate(45deg);
  opacity: 0.65;
}
.terminal-container.font-italic .xterm {
  font-style: italic;
}
.terminal-container.font-italic .xterm .xterm-screen,
.terminal-container.font-italic .xterm .xterm-rows {
  font-style: italic;
}
.terminal-container .terminal-list {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.terminal-container .terminal-list .block-container {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 100px;
  flex-shrink: 0;
  overflow: hidden;
  padding: 0 0 0 12px;
}
.terminal-container .terminal-list .block-container .block-item {
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
}
.terminal-container .terminal-list .block-container .block-item.share-session-guest {
  align-items: flex-start;
  justify-content: flex-start;
  overflow: auto;
}
.terminal-container .terminal-list .block-container .block-item.share-session-guest .xterm {
  width: auto;
}
.terminal-container .terminal-list .block-container .block-item .xterm {
  width: 100%;
}
.terminal-container ._lh-webshell-command__block-menu .menu.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.terminal-container .background-image,
.orcaterm-appearance-setting__preview-content .background-image {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.lh-terminal-box {
  width: 100%;
  height: 100%;
}
/* tmux attach 中间态加载提示（bridge READY 已到、pane 树数据未回）：覆盖在仍可见的
   宿主终端之上，告知用户正在接管会话；pane 数据就绪后随 tmux 视图切换一起消失。
   定位基准 = 父级 .lh-terminal-box 的 inline position:relative（tmux 模式时设）。
   pointer-events: none 保持宿主可交互（中间态不接管输入）。 */
.lh-terminal-tmux-loading {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  color: var(--ot-font-color-secondary);
  font-size: 12px;
  letter-spacing: 0.2px;
}
.orcaterm .tea-alert {
  margin-bottom: 0;
  padding: 8px 16px;
}
.orcaterm ._lh-webshell-tabbar__content {
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.orcaterm ._lh-webshell-tabbar__content ul {
  display: flex;
}
.orcaterm ._lh-webshell-command {
  position: relative;
  overflow: hidden;
}
.orcaterm ._lh-webshell-content__item-dockpel-handle {
  position: relative;
  width: 1px;
  flex-shrink: 0;
}
.orcaterm .lh-webshell-terminal {
  flex: 1;
  width: 100%;
}
.orcaterm-appearance-setting__section.bg-setting .orcaterm-appearance-setting__preview-content {
  position: relative;
  height: 100%;
}
.orcaterm-appearance-setting__section.bg-setting .orcaterm-appearance-setting__preview-content .background-image {
  z-index: inherit;
}
.orcaterm-appearance-setting__section.bg-setting .orcaterm-appearance-setting__preview {
  border: unset;
  border-radius: unset;
  padding: 0;
  height: unset;
  margin-top: 34px;
}
.orcaterm__main .term-url-click-tips__bubble::after {
  position: absolute;
  content: '';
  width: 100%;
  height: 4px;
  background: transparent;
}
.xterm .xterm-char-measure-element {
  display: inline-block;
  visibility: hidden;
  line-height: normal;
}
.xterm .xterm-viewport {
  background-color: transparent;
  scrollbar-width: none;
}
.xterm .xterm-viewport::-webkit-scrollbar {
  display: none;
}
.lh-webshell-inslist-status {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 28px;
  width: 100%;
  position: absolute;
  bottom: 0;
  background-color: #fff;
}
.dark-theme .lh-webshell-inslist-status {
  background-color: #232a35;
}
._lh-webshell-dialog__dropdown-list-title {
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lh-webshell-ins-list-loading {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
._lh-webshell-drawer__exa-item.disabled {
  cursor: not-allowed !important;
}
._lh-webshell-drawer__exa-item.disabled ._lh-webshell-drawer__item-left {
  opacity: 0.6;
}
.light-theme .tea-drawer--left {
  top: 48px;
}
.dark-theme .tea-drawer--left {
  top: 48px;
}
._lh-webshell-dialog__dropdown {
  max-width: 442px;
}
/* 实例列表 处理实例名文本过长 */
._lh-webshell-drawer__item-left--text {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.tea-dropdown-box ._lh-webshell-dialog__dropdown-search .tea-input--search {
  border-bottom-color: #cfd5de;
}
.tea-dropdown-box ._lh-webshell-dialog__dropdown-search .tea-input--search:focus {
  border-color: #cfd5de !important;
}
.dark-theme .tea-segment .tea-btn {
  border-color: #344158;
  background-color: #1e222d;
  color: rgba(211, 222, 235, 0.9);
}
.dark-theme .tea-segment .tea-btn.is-selected {
  border-color: #2684ff;
  background: #1e222d;
  color: #2684ff;
}
.dark-theme .tea-segment .tea-btn.is-selected:hover {
  border-color: #2684ff;
  background: #1e222d;
  color: #2684ff;
}
.dark-theme .tea-segment .tea-btn:hover {
  border-color: #344158;
  background-color: #262f3e;
  color: rgba(211, 222, 235, 0.9);
}
.dark-theme .tea-segment .tea-btn.is-disabled {
  color: rgba(211, 222, 235, 0.9) !important;
}
._lh-webshell-dialog__host .tea-dialog__inner .tea-dialog__body ._lh-webshell-dialog__select {
  width: 251px;
}
/**
 * ❗❗❗❗️
 * 覆盖样式的话需要的地方加类搞，不要直接覆盖尤其是通用的样式，这样会造成问题
 */
.orcaterm-fix._lh-webshell-dialog__load .tea-dialog__inner {
  width: 800px;
  max-height: 600px;
}
.orcaterm-fix .tea-dialog__inner {
  border-radius: 0;
}
.orcaterm-fix .tea-form .tea-form__controls {
  padding-right: 0;
}
.orcaterm-fix .tea-alert a {
  color: #abcaff;
  font-weight: unset;
}
.orcaterm-fix .tea-btn {
  padding: 0 15px;
  line-height: 22px;
}
.orcaterm-fix.tea-drawer {
  top: 36px !important;
}
.orcaterm-fix .is-disabled {
  opacity: unset;
}
.orcaterm-fix._lh-webshell-overlay-root {
  z-index: 1000;
  top: 36px;
}
.orcaterm-fix._lh-webshell-overlay-root.terminal-item {
  top: 0px;
}
.orcaterm-fix .tea-input,
.orcaterm-fix .tea-textarea {
  border-radius: 0 !important;
}
.orcaterm-fix .tea-justify-grid__col--left {
  flex: 0 !important;
}
.orcaterm-fix .tea-justify-grid__col--right {
  flex: 1 !important;
}
.orcaterm-fix .tea-justify-grid__col--right .tea-form--search {
  width: 100%;
}
.orcaterm-fix .tea-justify-grid__col--right .tea-search {
  width: 100%;
}
.orcaterm-fix .tea-table__body {
  border-bottom: none;
}
.dark-theme .orcaterm-fix .tea-dialog__inner {
  background-color: #232a35;
}
.dark-theme .orcaterm-fix .tea-form__controls.is-error .tea-input {
  border: 1px solid #fb6e77 !important;
}
.dark-theme .orcaterm-fix .tea-input,
.dark-theme .orcaterm-fix .tea-textarea {
  border: 1px solid #3c485c !important;
  background-color: #232a35 !important;
}
.dark-theme .orcaterm-fix .tea-alert {
  background-color: #1e2c60;
  border: 1px solid #1e2c60;
  color: #abcaff;
}
.dark-theme .orcaterm-fix .tea-btn {
  background-color: #2174ff;
}
.dark-theme .orcaterm-fix .tea-btn.is-disabled {
  border-color: #aacfff;
  background-color: #aacfff;
  color: #fff;
}
.dark-theme .orcaterm-fix .tea-btn--icon {
  background-color: transparent;
  box-sizing: border-box;
  color: #fff;
}
.dark-theme .orcaterm-fix .tea-table__header {
  background-color: #232a35;
  border-bottom: 1px solid #3c485c;
}
.dark-theme .orcaterm-fix._lh-webshell-dialog__load .tea-table__box tr.is-selected {
  background-color: #3c485c;
}
.dark-theme .orcaterm-fix._lh-webshell-dialog__load .tea-table__box tr.is-disabled {
  opacity: 1;
  cursor: default;
  background-color: #232a35 !important;
}
.dark-theme .orcaterm-fix .tea-radio:checked + .tea-radio__dot,
.dark-theme .orcaterm-fix .dark-theme input[type=radio]:checked + .tea-radio__dot {
  background-color: #232a35;
}
.dark-theme .orcaterm-fix .tea-radio:checked,
.dark-theme .orcaterm-fix .dark-theme input[type=radio]:checked {
  background-color: #2174ff !important;
  border: 1px solid #2174ff !important;
}
.dark-theme .orcaterm-fix .tea-radio:checked:hover,
.dark-theme .orcaterm-fix .dark-theme input[type=radio]:checked:hover {
  background-color: #2174ff;
}
.dark-theme .orcaterm-fix .tea-checkbox[disabled],
.dark-theme .orcaterm-fix .dark-theme input[type=checkbox][disabled] {
  background-image: none;
  background-color: #344158;
  border-color: #344158;
  background-position: inherit;
  cursor: not-allowed;
}
.dark-theme .orcaterm-fix .tea-checkbox:checked,
.dark-theme .orcaterm-fix input[type=checkbox]:checked {
  background-color: #2174ff;
  border-color: #2174ff;
}
.dark-theme .orcaterm-fix .tea-checkbox,
.dark-theme .orcaterm-fix input[type=checkbox] {
  width: 16px;
  height: 16px;
  cursor: pointer;
  vertical-align: middle;
  outline: none;
  border: 1px solid #3c485c;
  background-color: #232a35;
  border-radius: 0;
  color: hsla(0, 0%, 100%, 0.9);
}
.dark-theme .orcaterm-fix .tea-table {
  background-color: #232a35;
}
.light-theme .orcaterm-fix .tea-dialog__inner {
  background-color: #fff;
}
.light-theme .orcaterm-fix .tea-form__controls.is-error .tea-input {
  border: 1px solid #e54545 !important;
}
.light-theme .orcaterm-fix .tea-input,
.light-theme .orcaterm-fix .tea-textarea {
  border: 1px solid #cfd5de !important;
  background-color: #fff !important;
}
.light-theme .orcaterm-fix .tea-alert a {
  color: #002da0;
}
:root .tea-drawer__body,
[theme=light] .tea-drawer__body {
  padding: 0;
}
.dark-theme .tea-form .tea-form__label {
  vertical-align: baseline;
  color: hsla(0, 0%, 100%, 0.4);
  padding-right: 20px;
  padding-top: 6px;
  padding-bottom: 6px;
}
._lh-webshell-drawer .tea-drawer__body ._lh-webshell-drawer__list ._lh-webshell-drawer__exa-item ._lh-webshell-drawer__item-right {
  padding: 4px !important;
}
._lh-webshell-dialog__block ._lh-webshell-dialog,
._lh-webshell-dialog__error ._lh-webshell-dialog {
  position: absolute !important;
}
.monaco-inputbox-message.error {
  /* 先隐藏文件管理器的错误提示 */
  display: none !important;
}
.sftp-ui-table.tea-table .tea-table__body .sftp-ui-table__name-col.is-edit .sftp-ui-table__operation-edit .tea-input {
  /* sftp 修改文件名称，输入框宽度调小200->165，仅限桌面端。 后续sftp上了新的版本后，可去除 */
  width: 165px;
}
[theme=dark] .orcaterm-footer__item span.is-warning {
  color: #fb6e77;
}
[theme=dark] .ot-dialog-create-connect__form-error span {
  color: #fb6e77;
}
[theme=dark] .tea-toast {
  background-color: #232a35;
  border-color: #3c485c;
}
.is-disabled {
  opacity: unset;
}
.orcaterm .orcaterm__wrap .orcaterm__main ._lh-webshell-alert .tea-alert {
  border-radius: 0;
}
.orcaterm .orcaterm__wrap .orcaterm__screen {
  flex-direction: column;
}
.orcaterm .orcaterm__wrap .orcaterm__screen-item:not(.current) .orcaterm__body {
  background-color: var(--screen-active-background-color);
}
.orcaterm .orcaterm__wrap .orcaterm__screen-item.current .orcaterm__body {
  background-color: unset;
}
.orcaterm .orcaterm-footer {
  z-index: 500;
}
.orcaterm .orcaterm-footer .orcaterm-footer__item a,
.orcaterm .orcaterm-footer .orcaterm-footer__item span {
  white-space: nowrap;
}
.orcaterm input[type=number] {
  appearance: textfield;
}
.orcaterm .orcaterm-preview {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 12px;
}
.orcaterm .orcaterm-preview .xterm {
  height: 100%;
}
/*右键菜单 ul li 样式调整覆盖*/
.orcaterm__menus-box .orcaterm__menus-list .first-level-list {
  min-width: 132px;
  margin-bottom: 0;
  padding: 0 !important;
}
.orcaterm__menus-box .orcaterm__menus-list .first-level-list .orcaterm__menu-item--inner {
  padding: 5px 12px;
  display: flex;
  justify-content: space-between;
}
.orcaterm__menus-box .orcaterm__menus-list .tea-list__submenu .tea-dropdown-box {
  min-width: 132px;
}
.orcaterm__menus-box .orcaterm__menus-list .tea-list__submenu .tea-list {
  max-width: 129px;
}
.orcaterm__menus-box .orcaterm__menus-list .tea-list__submenu .tea-list li {
  padding: 3px 12px !important;
}
.ot-dialog-create-connect .special-case {
  overflow: hidden;
}
.ot-dialog-create-connect .ot-col-ssh-alert {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.ot-dialog-create-connect .ssh-alert {
  margin-bottom: 0;
}
.ot-dialog-create-connect__form-error {
  margin-top: 8px;
}
.ot-dialog-create-connect__form-error span {
  color: #e54545;
}
.ot-pane-split--key,
.orcaterm-theme-hotkey__item--key,
.orcaterm__menu-item--right {
  display: flex;
}
.ot-pane-split--key span + span,
.orcaterm-theme-hotkey__item--key span + span,
.orcaterm__menu-item--right span + span {
  margin-left: 2px;
}
.ot-pane-split--key span,
.orcaterm-theme-hotkey__item--key span,
.orcaterm__menu-item--right span {
  display: inline-block;
}
.ot-pane-split--key span::first-letter,
.orcaterm-theme-hotkey__item--key span::first-letter,
.orcaterm__menu-item--right span::first-letter {
  text-transform: uppercase;
}
.ot-pane-split--key span:last-child,
.orcaterm-theme-hotkey__item--key span:last-child,
.orcaterm__menu-item--right span:last-child {
  min-width: 8px;
}
.orcaterm-header__tabbar-content {
  scrollbar-width: none;
  flex: unset;
  width: 100%;
}
.orcaterm-header__tabbar-ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: center;
  gap: 4px;
}
.orcaterm-header__tabbar-item--close.orcaterm-header__tabbar-item--agent-unread {
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  visibility: visible;
}
.orcaterm-header__tabbar-item--close.orcaterm-header__tabbar-item--agent-unread .orcaterm-tab-agent-badge {
  background: var(--OT-Color-Accent-Text-Brand-Default, #006eff);
}
.orcaterm-header__tabbar-item--close.orcaterm-header__tabbar-item--agent-unread .orcaterm-tab-agent-close-icon {
  display: none;
  align-items: center;
  justify-content: center;
}
.orcaterm-header__tabbar-item.tab:hover .orcaterm-header__tabbar-item--close.orcaterm-header__tabbar-item--agent-unread .orcaterm-tab-agent-badge {
  display: none;
}
.orcaterm-header__tabbar-item.tab:hover .orcaterm-header__tabbar-item--close.orcaterm-header__tabbar-item--agent-unread .orcaterm-tab-agent-close-icon {
  display: inline-flex;
}
.orcaterm__configure-connection-single {
  height: 100%;
  top: 0;
}
.orcaterm__menus-box {
  bottom: unset;
  left: unset;
}
._lh-webshell-monitor-drawer .tea-h3 {
  white-space: nowrap;
}
._lh-webshell-monitor-drawer .tea-drawer__body {
  padding: 20px 0 16px;
}
._lh-webshell-monitor-drawer .tea-btn {
  padding: 0 !important;
}
._lh-webshell-dialog__load .tea-dialog__footer .tea-dialog__btnwrap .tea-btn {
  margin: 0 5px !important;
}
._lh-webshell-terminal__search {
  z-index: 1000;
}
._lh-webshell-terminal__search ._lh-webshell-terminal__search-input ._lh-webshell-terminal__search-input-element ._lh-webshell-terminal__input {
  border: none !important;
}
.orcaterm-changelog__section {
  display: flex;
  flex-direction: column;
  align-items: self-start;
}
.ot-dialog-create-connect__auto-complete-overlay.is-empty .tea-dropdown-box .tea-list--option > li {
  padding-left: 16px !important;
}
.orcaterm__setting-single {
  position: relative;
  top: unset;
  height: 100%;
}
.login-cam-error {
  margin-top: 10px;
}
.login-cam-error .sdk-cam-icon.sdk-cam-icon-status-no-permission {
  background-size: contain;
  background-repeat: no-repeat;
}
[theme=dark] .login-cam-error .sdk-cam-text-label {
  color: white !important;
}
.ot-plugin-modal .ot-dialog-create-connect__auto-complete {
  width: 100%;
  padding-right: 32px;
}
.ot-other-login-type {
  display: flex;
  margin-top: 12px;
  align-items: center;
}
.ot-other-login-type span {
  display: inline-block;
  white-space: nowrap;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.4);
}
.ot-other-login-type .ot-dialog__login-more-oper {
  margin: 0 !important;
}
[theme=dark] .ot-other-login-type span {
  color: hsla(0, 0%, 100%, 0.4);
}
.orcaterm-multiple-servers-drawer__footer-inner.is-actived {
  height: 150px !important;
}
.orcaterm-start-page {
  background-color: var(--ot-editor-background-color);
}
.orcaterm-multiple-servers__body {
  border-radius: 4px 4px 0 0;
  padding: 8px 0 0 8px;
  background-color: #ebedf1;
}
.orcaterm-multiple-servers__footer {
  border-radius: 0 0 4px 4px;
  background-color: #ebedf1;
  margin: 0;
}
[theme=dark] .orcaterm-multiple-servers__body,
[theme=dark] .orcaterm-multiple-servers__footer {
  background-color: #383838;
}
.orcaterm-multiple-servers-drawer__content-slider-btn {
  width: 20px !important;
  background-color: rgba(56, 56, 56) !important;
}
[theme=light] .orcaterm-multiple-servers-drawer__content-slider-btn {
  background-color: #d8dce3 !important;
}
[theme=light] .orcaterm-multiple-servers-drawer__content-slider-btn:hover {
  background-color: #c5cbd5 !important;
}
.ot-dialog-create-connect__form input:-webkit-autofill,
.connect-login-common-form input:-webkit-autofill {
  -webkit-text-fill-color: var(--ot-font-color-primary);
}
.ot-dialog-create-connect__form input:autofill,
.connect-login-common-form input:autofill {
  -webkit-text-fill-color: var(--ot-font-color-primary);
}
/* 高级配置折叠区（连接级代理配置） */
.ot-advanced-config {
  margin-top: 8px;
  border-top: 1px dashed var(--ot-border-color-default, #e5e6eb);
}
.ot-advanced-config__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  cursor: pointer;
  user-select: none;
}
.ot-advanced-config__header .header-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--ot-font-color-primary);
}
.ot-advanced-config__header .expand-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--ot-font-color-secondary, #4e5969);
}
.ot-advanced-config__header .expand-btn .ot-icon {
  transition: transform 0.2s ease;
}
.ot-advanced-config__header.is-expanded .expand-btn .ot-icon {
  transform: rotate(180deg);
}
.ot-advanced-config__body {
  padding-bottom: 8px;
}
/* 代理类型卡片网格（5 种类型平铺选择） */
.ot-proxy-setting-section__cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 8px;
}
.ot-proxy-setting-section__cards .proxy-card {
  padding: 8px 10px;
  border: 1px solid var(--ot-border-color-default, #e5e6eb);
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.ot-proxy-setting-section__cards .proxy-card__label {
  font-size: 13px;
  font-weight: 500;
  color: var(--ot-font-color-primary);
}
.ot-proxy-setting-section__cards .proxy-card__desc {
  margin-top: 2px;
  font-size: 11px;
  color: var(--ot-font-color-tertiary, #86909c);
}
.ot-proxy-setting-section__cards .proxy-card:hover {
  border-color: var(--ot-color-primary-hover, #4080ff);
}
.ot-proxy-setting-section__cards .proxy-card.is-selected {
  border-color: var(--ot-color-primary, #006eff);
  background: var(--ot-color-primary-bg, #e8f3ff);
}
/* 代理密码输入行（明文/掩码切换） */
.ot-proxy-password-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ot-proxy-host-port-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ot-proxy-host-port-row .ot-proxy-port-input {
  flex-shrink: 0;
  width: 120px;
}
/* ProxyJump 多跳行 */
.ot-proxy-jumps {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ot-proxy-jumps .ot-proxy-jump-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ot-proxy-jumps .ot-proxy-jump-row .jump-index {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  border-radius: 50%;
  background: var(--ot-bg-color-tertiary, #e5e6eb);
  font-size: 12px;
  color: var(--ot-font-color-primary);
}
.ot-proxy-jumps .ot-proxy-jump-row .width-100 {
  width: 100px;
}
.ot-proxy-jumps .ot-proxy-jump-row .width-120 {
  width: 120px;
}
/* 代理连接失败弹窗提示 */
.ot-proxy-fail-dialog__hint {
  margin-top: 8px;
  font-size: 12px;
  color: var(--ot-font-color-tertiary, #86909c);
  line-height: 1.5;
}
.ot-protocol-item-with-beta {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.ot-beta-tag {
  display: inline-block;
  margin-left: 4px;
  padding: 0 4px;
  height: 14px;
  line-height: 14px;
  font-size: 10px;
  font-weight: 500;
  border-radius: 2px;
  background: rgba(74, 144, 226, 0.16);
  color: #4a90e2;
  vertical-align: middle;
  letter-spacing: 0.2px;
  user-select: none;
  white-space: nowrap;
}
.ot-dialog__login .ot-dialog__login-footer .ot-dialog__login-detail-list {
  overflow: hidden;
  height: auto;
  transition: all 0.3s linear;
}
.ot-dialog__login .ot-dialog__login-footer .ot-dialog__login-detail-list.fold {
  max-height: 20px;
  height: 20px;
}
.ot-dialog__login .ot-dialog__login-footer .ot-dialog__login-detail-list .ot-dialog__login-detail-item.tips {
  color: var(--ot-font-color-6) !important;
}
.ot-dialog__login .ot-dialog__login-footer .ot-dialog__login-detail-operation.unfold .ot-icon {
  transform: rotate(180deg) !important;
}
.ot-dialog__login .ot-dialog__login-tips {
  margin-top: 10px !important;
  margin-bottom: 10px;
}
.ot-dialog__login .ot-dialog__login-more-oper .ot-dialog__login-more-item:first-child::before,
.ot-dialog__login .ot-dialog__login-more-oper .ot-dialog__login-more-item:last-child::before {
  display: none;
}
.ot-dialog__login .ot-dialog__login-guide {
  margin-top: 8px !important;
}
.ot-dialog__login .ot-dialog__login-guide .verify-tips {
  margin-top: 0;
}
.tea-dialog.ot-dialog.ot-dialog__login .tea-dialog__inner .tea-dialog__body .ot-dialog__login-more-oper .ot-dialog__login-more-item {
  margin-right: 14px;
}
.ot-contextmenu-fontsize {
  position: static !important;
}
.ot-contextmenu-fontsize .tea-list li {
  display: flex;
  justify-content: space-between;
}
.ot-contextmenu-fontsize .tea-list li div {
  display: flex;
  min-width: 36px;
}
.ot-contextmenu-fontsize .tea-list li div span {
  text-transform: capitalize;
}
.ot-contextmenu-fontsize .tea-list li div span + span {
  margin-left: 2px;
}
.orcaterm-start-page__right {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.orcaterm-start-page__right .orcaterm-start-page__media {
  display: none;
}
/* 大型设备（笔记本电脑/台式机，1025 像素及以上） */
@media only screen and (min-width: 1025px) {
  .orcaterm-start-page__right .orcaterm-start-page__media:not(.is-tablet) {
    display: block;
  }
}
.orcaterm-connect-configure-body .title {
  font-size: 14px;
  padding: 14px 20px 4px;
  font-weight: 600;
  line-height: 24px;
  color: rgba(var(--ot-color-rgb-primary), 0.7);
}
.connect-list-item-enter {
  opacity: 0;
  transform: translate3d(0px, 10px, 0px);
}
.connect-list-item-enter-active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 0.45s ease 0s, transform 0.45s ease 0s;
  transform-origin: center center;
}
.connect-list-item-exit {
  opacity: 1;
  transform: scale(1);
}
.connect-list-item-exit-active {
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 0.45s ease 0s, transform 0.45s ease 0s;
  transform-origin: center center;
}
.server-type-item.is-disabled {
  cursor: not-allowed;
}
.orcaterm-header-special-offer-bubble .protocol.need-agree {
  animation-name: emphasize;
  transform-origin: center bottom;
  animation-duration: 1s;
  animation-fill-mode: both;
}
@keyframes emphasize {
  0% {
    transform: translateX(0);
  }
  10% {
    transform: translateX(-10px);
  }
  20% {
    transform: translateX(10px);
  }
  28% {
    transform: translateX(-10px);
  }
  36% {
    transform: translateX(10px);
  }
  42% {
    transform: translateX(-10px);
  }
  48% {
    transform: translateX(10px);
  }
  52% {
    transform: translateX(-10px);
  }
  56% {
    transform: translateX(-10px);
  }
  60% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}
#tea-overlay-root .tea-dropdown-box .space-operation-wrap {
  max-height: 265px;
}
.ot-binary-file-tip p {
  color: var(--ot-font-color-primary);
}
.orcaterm-command-library.ot-space .tea-tree .tea-tree__node .tea-tree__node-content {
  position: relative;
}
.orcaterm-command-library.ot-space .tea-tree .tea-tree__node .tea-tree__node-content .file-size {
  display: none;
  position: absolute;
  right: 45px;
  top: 50%;
  transform: translateY(-50%);
  line-height: 22px;
  border: none;
}
.orcaterm-command-library.ot-space .tea-tree .tea-tree__node .tea-tree__node-content:hover .file-size {
  display: block;
}
.orcaterm-command-library.ot-space .ot-space-list .orcaterm-empty {
  padding: 100px 0;
}
.orcaterm-command-library.ot-space .tea-accordion-group .tea-accordion .tea-accordion__body {
  overflow-x: hidden;
  position: relative;
}
.orcaterm-command-library.ot-space .tea-tree,
.orcaterm-command-library.ot-space .tea-tree li.tea-tree__node {
  position: static;
}
.space-command-run-tips {
  visibility: hidden;
}
.disabled.space-command-run-icon:hover ~ .space-command-run-tips {
  visibility: visible;
}
.orcaterm-command-library-inner {
  height: 100%;
}
.ot-open-file-wrap {
  height: calc(100% - 44px);
}
.ot-space .tea-accordion-group .tea-accordion {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.ot-space .tea-accordion-group .tea-accordion .tea-accordion__body {
  flex: 1;
}
.ot-space-header-usage {
  display: inline-flex;
  align-items: center;
  flex-shrink: 1;
  gap: 8px;
  margin-left: 8px;
  font-size: 12px;
  color: var(--ot-font-color-secondary);
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
}
.orcaterm-command-library.ot-space .orcaterm-command-library__header .header-info {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
}
.orcaterm-command-library.ot-space .orcaterm-command-library__header .header-info .text {
  flex-shrink: 0;
}
.orcaterm-command-library.ot-space .orcaterm-command-library__header .header-info .header-actions {
  flex-shrink: 0;
  margin-left: auto;
}
.ot-space-content .header-title-size {
  display: flex;
  align-items: baseline;
}
.ot-space-content .header-title-size .title {
  margin-right: 10px;
}
.ot-space-content .header-title-size .size {
  font-size: 12px;
  max-width: 200px;
  color: var(--ot-font-color-secondary);
}
.ot-space-content .header-title-size .ui-percent {
  height: 2px;
  flex: 1;
  display: flex;
}
.ot-space-content .header-title-size .ui-percent .remain {
  flex: 1;
}
[theme=dark] .ot-space-content .header-title-size .ui-percent {
  background-color: #414141;
}
[theme=dark] .ot-space-content .header-title-size .used-bar {
  background-color: #1784eb;
}
[theme=dark] .ot-space-content .file-size {
  font-size: 12px;
  background-color: #3f3f3f;
  color: rgba(255, 255, 255, 0.55);
}
[theme=light] .ot-space-content .header-title-size .ui-percent {
  background-color: #dfe5f0;
}
[theme=light] .ot-space-content .header-title-size .used-bar {
  background-color: #1784eb;
}
[theme=light] .ot-space-content .file-size {
  background-color: #E0E2E6;
  color: rgba(0, 0, 0, 0.55);
}
[theme=dark] .tiptap pre {
  background: #141414;
  border-radius: 5px 5px 0 0;
  color: #fff;
  padding: 0.75rem 1rem;
  /* Code styling */
}
[theme=dark] .tiptap pre code {
  background: none;
  color: inherit;
  font-size: 0.8rem;
  padding: 0;
}
[theme=dark] .tiptap pre .hljs-comment,
[theme=dark] .tiptap pre .hljs-quote {
  color: #616161;
}
[theme=dark] .tiptap pre .hljs-variable,
[theme=dark] .tiptap pre .hljs-template-variable,
[theme=dark] .tiptap pre .hljs-attribute,
[theme=dark] .tiptap pre .hljs-tag,
[theme=dark] .tiptap pre .hljs-name,
[theme=dark] .tiptap pre .hljs-regexp,
[theme=dark] .tiptap pre .hljs-link,
[theme=dark] .tiptap pre .hljs-name,
[theme=dark] .tiptap pre .hljs-selector-id,
[theme=dark] .tiptap pre .hljs-selector-class {
  color: #f98181;
}
[theme=dark] .tiptap pre .hljs-number,
[theme=dark] .tiptap pre .hljs-meta,
[theme=dark] .tiptap pre .hljs-built_in,
[theme=dark] .tiptap pre .hljs-builtin-name,
[theme=dark] .tiptap pre .hljs-literal,
[theme=dark] .tiptap pre .hljs-type,
[theme=dark] .tiptap pre .hljs-params {
  color: #fbbc88;
}
[theme=dark] .tiptap pre .hljs-string,
[theme=dark] .tiptap pre .hljs-symbol,
[theme=dark] .tiptap pre .hljs-bullet {
  color: #b9f18d;
}
[theme=dark] .tiptap pre .hljs-title,
[theme=dark] .tiptap pre .hljs-section {
  color: #faf594;
}
[theme=dark] .tiptap pre .hljs-keyword,
[theme=dark] .tiptap pre .hljs-selector-tag {
  color: #70cff8;
}
[theme=dark] .tiptap pre .hljs-emphasis {
  font-style: italic;
}
[theme=dark] .tiptap pre .hljs-strong {
  font-weight: 700;
}
[theme=light] .tiptap pre {
  background: var(--ot-background-color-41);
  color: #24292e;
  border-radius: 5px 5px 0 0;
  padding: 0.75rem 1rem;
}
[theme=light] .tiptap pre .hljs-comment,
[theme=light] .tiptap pre .hljs-quote {
  color: #6a737d;
}
[theme=light] .tiptap pre .hljs-variable,
[theme=light] .tiptap pre .hljs-template-variable,
[theme=light] .tiptap pre .hljs-attribute,
[theme=light] .tiptap pre .hljs-tag,
[theme=light] .tiptap pre .hljs-name,
[theme=light] .tiptap pre .hljs-regexp,
[theme=light] .tiptap pre .hljs-link,
[theme=light] .tiptap pre .hljs-name,
[theme=light] .tiptap pre .hljs-selector-id,
[theme=light] .tiptap pre .hljs-selector-class {
  color: #d73a49;
}
[theme=light] .tiptap pre .hljs-number,
[theme=light] .tiptap pre .hljs-meta,
[theme=light] .tiptap pre .hljs-built_in,
[theme=light] .tiptap pre .hljs-builtin-name,
[theme=light] .tiptap pre .hljs-literal,
[theme=light] .tiptap pre .hljs-type,
[theme=light] .tiptap pre .hljs-params {
  color: #005cc5;
}
[theme=light] .tiptap pre .hljs-string,
[theme=light] .tiptap pre .hljs-symbol,
[theme=light] .tiptap pre .hljs-bullet {
  color: #032f62;
}
[theme=light] .tiptap pre .hljs-title,
[theme=light] .tiptap pre .hljs-section {
  color: #6f42c1;
}
[theme=light] .tiptap pre .hljs-keyword,
[theme=light] .tiptap pre .hljs-selector-tag {
  color: #d73a49;
}
.orcaterm-command-library.notebook-content {
  width: 100%;
  box-shadow: none;
  border-right: none;
}
.orcaterm-command-library.notebook-content .space-md-editor-wrap,
.orcaterm-command-library.notebook-content .title-ipt-wrap {
  max-width: 1200px;
  min-width: 750px;
  margin: auto;
}
.orcaterm-command-library.notebook-content .title-ipt-wrap {
  padding: 20px 20px 15px 12px;
  box-sizing: border-box;
}
.orcaterm-command-library.notebook-content .title-ipt-wrap .tea-input {
  border: none;
  font-size: 24px;
  font-weight: bold;
  width: 100%;
}
.space-file-edit .title-ipt-wrap {
  position: relative;
}
.space-file-edit .title-ipt-wrap span {
  font-size: 18px;
  line-height: 18px;
  z-index: 10;
  top: 26px;
  cursor: pointer;
  color: var(--ot-font-color-primary);
  position: absolute;
  left: 4px;
  opacity: 0;
}
.space-file-edit .title-ipt-wrap:hover span {
  opacity: 1;
}
#editorMDEditorWrap {
  margin: auto;
  padding: 0 20px;
}
#editorMDEditorWrap .tiptap > * {
  position: relative !important;
}
#editorMDEditorWrap .tiptap > *::before {
  content: '+';
  position: absolute;
  opacity: 0;
  color: var(--ot-font-color-primary);
  font-size: 18px;
  line-height: 18px;
  z-index: 10;
  pointer-events: auto;
  width: 18px;
  height: 18px;
  top: 50%;
  transform: translateY(-50%);
  left: -16px;
  cursor: pointer;
  font-weight: normal;
}
#editorMDEditorWrap .tiptap > *:hover::before {
  opacity: 1;
}
#editorMDEditorWrap .tiptap > *::before:hover {
  opacity: 1;
}
#editorMDEditorWrap .tiptap p.is-editor-empty:first-child:before,
#editorMDEditorWrap .tiptap h1.is-empty:first-child:before {
  color: var(--ot-font-color-secondary);
  content: attr(data-placeholder);
  float: left;
  height: 0;
  pointer-events: none;
  opacity: 1;
  width: 100%;
  font-size: 24px;
  position: static;
}
#editorMDEditorWrap .tiptap h1.is-empty:first-child:before {
  line-height: 36px;
}
#editorMDEditorWrap .bubble-menu {
  box-shadow: var(--ot-box-shadow-1);
  background: var(--ot-editor-background-color);
  padding: 4px;
  border-radius: 4px;
}
#editorMDEditorWrap .bubble-menu .tea-list--option {
  display: flex;
  max-width: min(480px, calc(100vw - 32px));
  overflow-x: auto;
}
#editorMDEditorWrap .bubble-menu .tea-list--option li {
  padding: 5px !important;
}
#editorMDEditorWrap .bubble-menu .menu-button {
  padding: 4px 8px !important;
  margin: 0 2px;
  border: none;
  background: transparent;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}
#editorMDEditorWrap .recording-command-footer {
  max-height: 300px;
  overflow-y: auto;
}
#editorMDEditorWrap .recording-command-time {
  padding: 8px 20px;
  border-top: 1px solid var(--ot-background-color-46);
  background-color: var(--ot-background-color-12);
  font-size: 12px;
  border-radius: 0 0 5px 5px;
}
#editorMDEditorWrap .recording-command-time .time-label {
  font-weight: 500;
  margin-right: 4px;
}
#editorMDEditorWrap .floating-menu {
  box-shadow: var(--ot-box-shadow-1);
  background: var(--ot-editor-background-color);
  border-radius: 4px;
  height: 270px;
}
#editorMDEditorWrap .floating-menu .tea-list--option {
  height: 270px;
  max-height: 270px;
}
#editorMDEditorWrap .floating-menu .menu-button {
  padding: 4px 8px;
  margin: 2px 0;
  border: none;
  background: transparent;
  cursor: pointer;
}
#editorMDEditorWrap .bubble-menu-card {
  position: absolute;
}
#editorMDEditorWrap .recording-command-oper-wrapper {
  padding: 5px 10px;
}
#editorMDEditorWrap .tiptap[contenteditable="false"] .node-codeBlock + .node-codeBlock {
  display: none;
}
#editorMDEditorWrap h1:not(.self-define-style *),
#editorMDEditorWrap h2:not(.self-define-style *),
#editorMDEditorWrap h3:not(.self-define-style *),
#editorMDEditorWrap h4:not(.self-define-style *),
#editorMDEditorWrap h5:not(.self-define-style *),
#editorMDEditorWrap h6:not(.self-define-style *) {
  all: revert;
}
#editorMDEditorWrap u:not(.self-define-style *),
#editorMDEditorWrap i:not(.self-define-style *),
#editorMDEditorWrap var:not(.self-define-style *),
#editorMDEditorWrap em:not(.self-define-style *),
#editorMDEditorWrap s:not(.self-define-style *) {
  all: revert;
}
#editorMDEditorWrap ol:not(.self-define-style *),
#editorMDEditorWrap ul:not(.self-define-style *),
#editorMDEditorWrap li:not(.self-define-style *) {
  all: revert;
}
#editorMDEditorWrap hr:not(.self-define-style *) {
  all: revert;
}
#editorMDEditorWrap .command-content {
  cursor: pointer;
}
#editorMDEditorWrap .command-content.is-disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
#editorMDEditorWrap .space-file-edit-recording-command,
#editorMDEditorWrap .space-file-edit-recording-info {
  cursor: pointer;
  margin-bottom: 10px;
}
#editorMDEditorWrap .space-file-edit-recording-command .recording-command-footer pre,
#editorMDEditorWrap .space-file-edit-recording-info .recording-command-footer pre,
#editorMDEditorWrap .space-file-edit-recording-command .recording-command-body pre,
#editorMDEditorWrap .space-file-edit-recording-info .recording-command-body pre {
  padding: 0;
}
#editorMDEditorWrap .space-file-edit-recording-command .recording-command-body,
#editorMDEditorWrap .space-file-edit-recording-info .recording-command-body {
  padding: 12px 20px;
}
#editorMDEditorWrap .space-file-edit-ai-tool {
  width: 50%;
}
#editorMDEditorWrap .space-file-edit-ai-tool,
#editorMDEditorWrap .space-file-edit-recording-info {
  cursor: pointer;
  margin-bottom: 10px;
}
#editorMDEditorWrap .space-file-edit-ai-tool .tool-name,
#editorMDEditorWrap .space-file-edit-recording-info .tool-name {
  padding: 10px;
  border-bottom: 1px solid var(--ot-background-color-46);
}
#editorMDEditorWrap .space-file-edit-ai-tool .tool-result.recording-command-footer,
#editorMDEditorWrap .space-file-edit-recording-info .tool-result.recording-command-footer {
  padding: 10px;
}
#editorMDEditorWrap .space-file-edit-ai-tool .tool-result.ai-tool-footer,
#editorMDEditorWrap .space-file-edit-recording-info .tool-result.ai-tool-footer {
  padding: 10px;
}
#editorMDEditorWrap .space-file-edit-ai-tool .ai-tool-footer pre,
#editorMDEditorWrap .space-file-edit-recording-info .ai-tool-footer pre,
#editorMDEditorWrap .space-file-edit-ai-tool .ai-tool-body pre,
#editorMDEditorWrap .space-file-edit-recording-info .ai-tool-body pre {
  padding: 0;
}
#editorMDEditorWrap .space-file-edit-ai-tool .recording-command-body,
#editorMDEditorWrap .space-file-edit-recording-info .recording-command-body {
  padding: 12px 20px;
}
#editorMDEditorWrap .add-menu-wrap {
  position: fixed;
  width: 110px;
  height: 270px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  background-color: var(--ot-background-color-12);
  z-index: 1000;
}
#editorMDEditorWrap .add-menu-wrap .tea-list--option {
  max-height: 270px;
}
#editorMDEditorWrap .ot-ai-option .success-option {
  display: flex;
  justify-content: space-between;
}
#editorMDEditorWrap .resizable-image-wrap {
  display: inline-block;
  line-height: 0;
  position: relative;
  outline: var(--ot-font-color-1) solid 2px;
  border-radius: 2px;
}
#editorMDEditorWrap .resizable-image-wrap .handle {
  position: absolute;
  right: -4px;
  bottom: -4px;
  width: 10px;
  height: 10px;
  background: var(--ot-font-color-1);
  border: 1px solid #fff;
  border-radius: 2px;
  cursor: nwse-resize;
  z-index: 10;
  display: none;
}
#editorMDEditorWrap .tiptap p.is-editor-empty:first-child:before {
  font-size: 12px;
}
.orcaterm-command-library.notebook-content .space-file-edit-recording-info.fold .space-file-edit-recording-info__bd {
  padding: 0 20px;
}
.color-picker-wrap.tea-popconfirm {
  min-width: auto;
}
.orcaterm-command-library.notebook-content .space-file-edit-recording-info {
  border: 1px solid var(--ot-background-color-46);
}
.space-code-pop .sketch-picker {
  box-shadow: none !important;
}
.ot-space-list .tea-tree-operation--hover .tea-tree__action:before {
  background: none;
}
.ot-space-content .ot-space-list.ot-space-recycle-list {
  flex: 1;
}
.orcaterm-command-library.ot-space .tea-tree .ruyi-icon.ruyi-icon-ot-script {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 16px 16px;
  vertical-align: -2px;
  margin-right: 6px;
  color: var(--ot-icon-color-1);
}
.is-hide {
  display: none;
}
.grid__item-24 {
  width: 100%;
}
html {
  --box-shadow-default: 0px 10px 30px rgba(0, 0, 0, 0.35);
  --color-text-1: rgba(255, 255, 255, 0.4);
  --color-text-2: rgba(255, 255, 255, 0.6);
  --color-text-3: rgba(255, 255, 255, 0.9);
  --color-text-6: rgba(0, 0, 0, 0.6);
  --color-text-7: rgba(0, 0, 0, 0.9);
  --color-text-8: rgba(0, 0, 0, 0.16);
  --color-text-9: rgba(255, 255, 255, 0.25);
  --color-neutral-0: #FFFFFF;
  --color-neutral-9: #4B5B76;
  --color-neutral-10: #3C485C;
  --color-neutral-11: #2C3645;
  --color-neutral-12: #232A35;
  --color-neutral-15: #e7eaef;
  --color-neutral-16: #cfd5de;
  --color-primary-5: #2174FF;
  --color-primary-6: #478DFF;
  --color-light-primary-5: #006eff;
}
.orcaterm ._lh-webshell-content__item {
  min-width: 300px;
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #ebedf1;
}
/** 自动检测弹窗公共样式 */
.measure-con {
  max-height: 405px;
  overflow-y: scroll;
}
.measure-con .measure-con-item.optimizat {
  border-bottom: 1px solid var(--color-neutral-15);
  padding-bottom: 16px;
}
.measure-con .measure-con-item {
  margin-top: 16px;
}
.measure-con .measure-con-item-hd {
  cursor: pointer;
  display: flex;
  align-items: center;
}
.measure-con .measure-con-item-hd span {
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  color: var(--color-light-primary-5);
}
.measure-con .measure-con-item-hd ._cvm-icon {
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: sub;
}
.measure-con .measure-con-item-hd .icon-arrow.down {
  transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  -o-transform: rotate(0deg);
}
.measure-con .measure-con-item-hd .icon-arrow {
  background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuMjIwMzQgMTBMOCA3LjMzNzY2TDEwLjc3OTcgMTBMMTEuOTk5OSA4LjgzMTE3TDggNUw0IDguODMxMTdMNS4yMjAzNCAxMFoiIGZpbGw9IiMwMDZFRkYiLz4KPC9zdmc+Cg==) no-repeat;
  background-size: 100% 100%;
  margin-left: 8px;
  cursor: pointer;
  transition: all 0.5s;
  transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -o-transform: rotate(180deg);
}
.measure-con .measure-con-item .measure-con-item-bd.is-hide {
  height: 0;
  opacity: 0;
  overflow: hidden;
}
.measure-con .measure-con-item-bd {
  margin-top: 8px;
  transition: all 0.2s;
  height: 100%;
  opacity: 1;
  overflow: visible;
}
.measure-con .measure-con-item-bd .suggest {
  padding: 8px 12px;
  background: #F3F4F7;
  margin-top: 8px;
}
.measure-con .measure-con-item-bd .suggest > p {
  line-height: 20px;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.4);
}
.measure-con .measure-con-item-bd .suggest > p .text-link {
  line-height: 20px;
}
.measure-con .measure-con-item-bd .optimizat-item:not(:last-child) {
  margin-bottom: 16px;
}
.measure-con .measure-con-item-bd .optimizat-item-hd {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  line-height: 22px;
  align-items: center;
}
.measure-con .measure-con-item-bd .mesure-item {
  margin-bottom: 12px;
}
.measure-con .measure-con-item-bd .mesure-item:last-child {
  margin-bottom: 0;
}
.measure-con .measure-con-item-bd .mesure-item-hd {
  cursor: pointer;
  padding: 8px 12px;
  background: #F3F4F7;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.measure-con .measure-con-item-bd .mesure-item-hd .mesure-type-text {
  display: inline-block;
  vertical-align: middle;
  line-height: 22px;
  margin-left: 8px;
}
.measure-con .measure-con-item-bd .mesure-item-hd .status-item {
  margin-right: 12px;
  display: inline-block;
  vertical-align: middle;
}
.measure-con .measure-con-item-bd .mesure-item-hd .status-item:last-child {
  margin-right: 0;
}
.measure-con .measure-con-item-bd .mesure-item-hd .status-item-text {
  display: inline-block;
  vertical-align: middle;
  line-height: 20px;
  color: rgba(0, 0, 0, 0.4);
  margin-left: 4px;
}
.measure-con .measure-con-item-bd .mesure-item-bd {
  margin-top: 10px;
}
.measure-con .measure-con-item-bd .mesure-item-bd ul li {
  line-height: 20px;
  padding: 8px 8px;
  font-size: 12px;
  border-bottom: 1px solid #ddd;
  color: #000;
}
.measure-con .measure-con-item-bd .mesure-item-bd ul li .problem {
  display: flex;
  justify-content: space-between;
}
.measure-con .measure-con-item-bd .mesure-item-bd ul li .problem .warning-text {
  color: #FF7200;
}
.measure-con .measure-con-item-bd .mesure-item-bd ul li:last-child {
  border-bottom: 1px solid transparent;
}
._lh-webshell-dialog .measure-alert {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  box-sizing: border-box;
}
._lh-webshell-dialog .measure-alert-icon {
  margin-right: 10px;
}
._lh-webshell-dialog .measure-alert-text {
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  color: rgba(0, 0, 0, 0.6);
}
._lh-webshell-dialog .measure-alert-tit {
  font-weight: 400;
  font-size: 14px;
  line-height: 22px;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent {
  position: fixed;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-backdrop,
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog {
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-backdrop {
  background-color: rgba(0, 0, 0, 0.8);
  overflow-y: auto;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog {
  text-align: center;
  overflow: auto;
  white-space: nowrap;
  color: rgba(0, 0, 0, 0.9);
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__inner.size-l {
  text-align: left;
  white-space: normal;
  display: inline-block;
  vertical-align: middle;
  min-width: 420px;
  width: 550px;
  background-color: #fff;
  border-radius: 0;
  padding: 25px;
  box-sizing: border-box;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__inner.size-l .sdk-cvm-dialog__header {
  font-size: 14px;
  min-height: 22px;
  color: #000;
  position: relative;
  margin-bottom: 10px;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__inner.size-l .sdk-cvm-dialog__headertitle {
  font-weight: 700;
  margin-bottom: 14px;
  display: inline-block;
  font-size: 14px;
  line-height: 22px;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__inner.size-l .sdk-cvm-dialog__headertitle .sdk-cvm-ml-2n {
  margin-left: 0 !important;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__inner.size-l .sdk-cvm-btn.sdk-cvm-btn--icon:hover {
  background-color: #ebeef2;
  text-decoration: none;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__inner.size-l .sdk-cvm-btn.sdk-cvm-btn--icon {
  display: inline-block;
  font-size: 0;
  border: none;
  padding: 5px;
  height: inherit;
  line-height: inherit;
  background-color: transparent;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  right: -7px;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__inner.size-l .sdk-cvm-btn.sdk-cvm-btn--icon .sdk-cvm-icon.sdk-cvm-icon-close {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+aWNvbi/lhbPpl60t5pqX6ImyLemAmuefpTwvdGl0bGU+CiAgICA8ZyBpZD0iaWNvbi/lhbPpl60t5pqX6ImyLemAmuefpSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Imljb24v5YWz6Zet5aSH5Lu9LTYiPgogICAgICAgICAgICA8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTUiIHg9IjAiIHk9IjAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC9yZWN0PgogICAgICAgICAgICA8cG9seWdvbiBpZD0i6Lev5b6EIiBmaWxsPSIjODY4RTlBIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHBvaW50cz0iMTMuOSAzLjQxNCAxMi40ODYgMiA3Ljk1IDYuNTM2IDMuNDE0IDIgMiAzLjQxNCA2LjUzNiA3Ljk1IDIgMTIuNDg1IDMuNDE0IDEzLjg5OSA3Ljk1IDkuMzY0IDEyLjQ4NiAxMy44OTkgMTMuOSAxMi40ODUgOS4zNjQgNy45NSI+PC9wb2x5Z29uPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+);
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-measure-start {
  padding: 0;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-measure-start .start-con {
  display: flex;
  align-items: center;
  margin-bottom: 18px;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-measure-start .start-con .start-con-icon {
  width: 24px;
  height: 24px;
  background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMS4zODIyIDEzLjVDMjAuNjYzIDE4LjAzNCAxNi43MzYyIDIxLjUgMTEuOTk5OSAyMS41QzcuMjYzNjMgMjEuNSAzLjMzNjg2IDE4LjAzNCAyLjYxNzY4IDEzLjVIMC4wOTI3NzM0QzAuODMwOTIxIDE5LjQxOTUgNS44ODA1MSAyNCAxMS45OTk5IDI0QzE4LjExOTQgMjQgMjMuMTY4OSAxOS40MTk1IDIzLjkwNzEgMTMuNUgyMS4zODIyWk0yLjYxNzY4IDEwLjVDMy4zMzY4NiA1Ljk2NjAyIDcuMjYzNjMgMi41IDExLjk5OTkgMi41QzE2LjczNjIgMi41IDIwLjY2MyA1Ljk2NjAyIDIxLjM4MjIgMTAuNUgyMy45MDcxQzIzLjE2ODkgNC41ODA1MyAxOC4xMTk0IDAgMTEuOTk5OSAwQzUuODgwNTEgMCAwLjgzMDkyMSA0LjU4MDUzIDAuMDkyNzczNCAxMC41SDIuNjE3NjhaIiBmaWxsPSIjMDA2RUZGIi8+CjxyZWN0IHg9IjE1LjkxMjYiIHk9IjIuNzQwMjMiIHdpZHRoPSIyLjUiIGhlaWdodD0iMTEiIHRyYW5zZm9ybT0icm90YXRlKDMwIDE1LjkxMjYgMi43NDAyMykiIGZpbGw9IiMwMDZFRkYiLz4KPGNpcmNsZSBjeD0iMTEuOTk1MSIgY3k9IjEyLjAyNDQiIHI9IjIuNSIgdHJhbnNmb3JtPSJyb3RhdGUoMzAgMTEuOTk1MSAxMi4wMjQ0KSIgZmlsbD0iIzAwNkVGRiIvPgo8L3N2Zz4K) no-repeat;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-measure-start .start-con .start-con-text {
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  color: rgba(0, 0, 0, 0.6);
  margin-left: 12px;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-measure-start .sdk-cvm-form .sdk-cvm-form__controls,
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-measure-start .sdk-cvm-form .sdk-cvm-form__label {
  display: table-cell;
  vertical-align: top;
  padding-bottom: 16px;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-measure-start .sdk-cvm-form {
  display: table;
  font-size: 12px;
  line-height: 1.5;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-measure-start .sdk-cvm-ma-2n {
  margin: 0 !important;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-measure-start .sdk-cvm-ma-2n .sdk-cvm-form__item {
  display: table-row;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-measure-start .sdk-cvm-ma-2n .sdk-cvm-form__item .sdk-cvm-form__label {
  vertical-align: baseline;
  color: rgba(0, 0, 0, 0.4);
  padding-right: 20px;
  padding-top: 6px;
  padding-bottom: 6px;
  width: 1px;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-measure-start .sdk-cvm-ma-2n .sdk-cvm-form__item .sdk-cvm-form__controls {
  color: #000;
  word-wrap: break-word;
  word-break: break-word;
  padding-right: 24px;
  width: 100%;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-measure-start .sdk-cvm-ma-2n .sdk-cvm-form__item .sdk-cvm-form__controls--text {
  padding-top: 6px;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-measure-start .sdk-cvm-form > .sdk-cvm-form__item:last-child .sdk-cvm-form__controls,
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-measure-start .sdk-cvm-form > .sdk-cvm-form__item:last-child .sdk-cvm-form__label {
  padding-bottom: 0;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-measure-start .sdk-cvm-form .sdk-cvm-form__label label,
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-measure-start .sdk-cvm-form .sdk-cvm-form__label legend {
  display: inline-block;
  white-space: nowrap;
  font-size: 12px;
  transform: translateZ(0);
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-checking ._cvm-insta-checking-box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  box-sizing: border-box;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-checking ._cvm-insta-checking-box .checking-box-icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAuNzUiIHN0cm9rZT0iIzAwNkVGRiIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMyAxMlY2SDEwLjVWMTNMMTUuNCAxOEwxNy4yIDE2LjJMMTMgMTJaIiBmaWxsPSIjMDA2RUZGIi8+Cjwvc3ZnPgo=);
  background-size: cover;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: inherit;
  font-size: 0;
  margin-right: 10px;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-checking ._cvm-insta-checking-box .checking-box-value {
  font-weight: 400;
  font-size: 14px;
  line-height: 22px;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-checking ._cvm-insta-checking-box .checking-box-value .checking-box-value__tit {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #002da0;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-checking ._cvm-insta-checking-box .checking-box-value .checking-box-value__desc {
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  color: var(--color-text-6);
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-checking .sdk-cvm-mt-5n {
  margin-left: 36px;
  margin-top: 12px;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-checking .sdk-cvm-mt-5n .sdk-cvm-progress {
  height: 6px;
  margin-bottom: 24px;
  min-width: 100px;
  background-color: #f3f4f7;
  position: relative;
  border: none;
  border-radius: 0;
  color: var(--color-text-7);
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-checking .sdk-cvm-mt-5n .sdk-cvm-progress .sdk-cvm-progress__value {
  position: static;
  top: 0;
  left: 0;
  width: 66.67%;
  transition: width 0.2s ease 0s;
  height: 6px;
  background-color: var(--color-light-primary-5);
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__body._cvm-insta-measure-inner ._cvm-insta-checking .sdk-cvm-mt-5n .sdk-cvm-progress .sdk-cvm-progress__value .sdk-cvm-progress__text {
  display: block;
  position: absolute;
  font-size: 12px;
  line-height: 20px;
  left: 0;
  top: 8px;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__footer {
  border-top: 0;
  position: relative;
  margin-top: 20px;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__footer .sdk-cvm-dialog__btnwrap {
  text-align: center;
  position: relative;
  font-size: 0;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__footer .sdk-cvm-dialog__btnwrap .sdk-cvm-btn {
  height: 24px;
  min-width: 24px;
  padding: 0 16px;
  background-color: var(--color-light-primary-5);
  color: #fff;
  border: 1px solid var(--color-light-primary-5);
  line-height: 24px;
  text-align: center;
  display: inline-block;
  cursor: pointer;
  outline: 0 none;
  box-sizing: border-box;
  text-decoration: none;
  font-size: 12px;
  vertical-align: middle;
  white-space: nowrap;
  border-radius: 0;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__footer .sdk-cvm-dialog__btnwrap .sdk-cvm-btn:hover {
  border-color: #2a86ff;
  background-color: #2a86ff;
  transition: all 0.3s ease-in-out;
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__footer .sdk-cvm-dialog__btnwrap .sdk-cvm-btn.sdk-cvm-btn--weak {
  background-color: #fff;
  border-color: var(--color-neutral-16);
  color: var(--color-light-primary-5);
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__footer .sdk-cvm-dialog__btnwrap .sdk-cvm-btn--weak:hover {
  background-color: #ebeef2;
  border-color: var(--color-neutral-16);
  color: var(--color-light-primary-5);
}
#tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__footer .sdk-cvm-dialog__btnwrap > .sdk-cvm-btn {
  margin: 0 5px;
}
#tea-overlay-root .sdk-cvm-dialog:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 100%;
  vertical-align: middle;
}
._lh-webshell-icon {
  cursor: pointer;
  width: 16px;
  height: 16px;
  background-size: 100% 100%;
  display: inline-block;
  vertical-align: middle;
}
._lh-webshell-icon.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
._lh-webshell-icon.icon-block-add-rectangle {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzU3NzNfMzU3OTkpIj4KPHBhdGggb3BhY2l0eT0iMC40IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEzIDEzTDEzIDNMMyAzTDMgMTNMMTMgMTNaTTE1IDNMMTUgMUwxMyAxTDMgMC45OTk5OTlMMSAwLjk5OTk5OUwxIDNMMC45OTk5OTkgMTNMMC45OTk5OTkgMTVMMyAxNUwxMyAxNUwxNSAxNUwxNSAxM0wxNSAzWk00LjUgN0w1LjUgN0w3IDdMNyA1LjVMNyA0LjVMOSA0LjVMOSA1LjVMOSA3TDEwLjUgN0wxMS41IDdMMTEuNSA5TDEwLjUgOUw5IDlMOSAxMC41TDkgMTEuNUw3IDExLjVMNyAxMC41TDcgOUw1LjUgOUw0LjUgOUw0LjUgN1oiIGZpbGw9ImJsYWNrIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfNTc3M18zNTc5OSI+CjxyZWN0IHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K);
}
._lh-webshell-icon.icon-block-minus-rectangle {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggb3BhY2l0eT0iMC40IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEzIDNMMTMgMTNMMyAxM0wzIDNMMTMgM1pNMTUgMUwxNSAzTDE1IDEzTDE1IDE1TDEzIDE1TDMgMTVMMC45OTk5OTkgMTVMMC45OTk5OTkgMTNMMSAzTDEgMC45OTk5OTlMMyAwLjk5OTk5OUwxMyAxTDE1IDFaTTUuNSA3TDQuNSA3TDQuNSA5TDUuNSA5TDEwLjUgOUwxMS41IDlMMTEuNSA3TDEwLjUgN0w1LjUgN1oiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=);
}
.blcok-right-menu {
  position: absolute;
  right: 12px;
  top: 100px;
  display: flex;
  align-items: center;
}
.blcok-right-menu-item {
  margin-right: 4px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.blcok-right-menu-item:hover {
  background: #E7EAEF;
}
._lh-webshell-overlay-root {
  position: absolute;
  width: 100%;
  top: 36px;
  bottom: 0;
}
._lh-webshell-overlay-root ._lh-webshell-alert {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
}
._lh-webshell-overlay-root ._lh-webshell-alert .tea-btn--icon:hover {
  background: transparent;
}
._lh-webshell-overlay-root ._lh-webshell-alert ._lh-webshell-alert__link {
  color: var(--color-light-primary-5);
  font-size: 12px;
  line-height: inherit;
  text-decoration: none;
}
._lh-webshell-overlay-root ._lh-webshell-tip-container {
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}
._lh-webshell-overlay-root ._lh-webshell-tip {
  display: flex;
  align-items: center;
  padding: 8px 16px;
  background: var(--color-neutral-0);
  font-size: 12px;
  color: var(--color-text-7);
  letter-spacing: 0;
  line-height: 20px;
  font-weight: 400;
  box-shadow: 0px 0px 30px var(--color-text-8);
}
._lh-webshell-overlay-root ._lh-webshell-tip:not(:last-child) {
  margin-bottom: 20px;
}
._lh-webshell-overlay-root ._lh-webshell-tip__icon {
  width: 22px;
  height: 20px;
  display: inline-block;
  position: relative;
  margin-right: 8px;
}
._lh-webshell-overlay-root ._lh-webshell-tip__icon ._lh-webshell-icon {
  margin-right: 0;
}
._lh-webshell-overlay-root ._lh-webshell-tip__icon .icon-block {
  position: absolute;
  top: 0;
  left: 0;
}
._lh-webshell-overlay-root ._lh-webshell-tip__icon .icon-tip-success,
._lh-webshell-overlay-root ._lh-webshell-tip__icon .icon-tip-error {
  position: absolute;
  bottom: 1px;
  right: 1.5px;
}
.orcaterm-old .tea-dialog__inner .tea-dialog__footer .tea-dialog__btnwrap {
  text-align: center !important;
}
.dark-theme {
  /** 自动检测弹窗公共样式 */
}
.dark-theme ._lh-webshell-content__item {
  background-color: #232a35;
}
.dark-theme ._lh-webshell-content__item.is-current {
  border-color: #2174ff;
}
.dark-theme #tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__inner.size-l {
  background-color: var(--color-neutral-12);
}
.dark-theme #tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__inner.size-l .sdk-cvm-btn.sdk-cvm-btn--icon:hover {
  background-color: var(--color-neutral-9);
}
.dark-theme #tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__inner.size-l .sdk-cvm-dialog__headertitle {
  color: var(--color-text-3);
}
.dark-theme #tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__inner.size-l .sdk-cvm-dialog__footer .sdk-cvm-btn {
  background-color: var(--color-primary-5);
  border-color: var(--color-primary-5);
}
.dark-theme #tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__inner.size-l .sdk-cvm-dialog__footer .sdk-cvm-btn--weak {
  background-color: var(--color-neutral-9);
  border-color: var(--color-neutral-9);
  color: var(--color-text-3);
}
.dark-theme #tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-dialog__inner.size-l .sdk-cvm-dialog__footer .sdk-cvm-btn--weak:hover {
  background-color: var(--color-neutral-9);
  border-color: var(--color-neutral-9);
}
.dark-theme #tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-form .sdk-cvm-form__item .sdk-cvm-form__label label {
  color: var(--color-text-1);
}
.dark-theme #tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent .sdk-cvm-dialog._lh-webshell-dialog .sdk-cvm-form .sdk-cvm-form__item .sdk-cvm-form__controls.sdk-cvm-form__controls--text .sdk-cvm-form__text {
  color: var(--color-text-3);
}
.dark-theme #tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent ._lh-webshell-dialog__monitor ._cvm-insta-measure-inner ._cvm-insta-measure-start .start-con .start-con-text {
  color: var(--color-text-2) !important;
}
.dark-theme #tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent ._lh-webshell-dialog__monitor .checking-box-value__tit {
  color: var(--color-primary-6) !important;
}
.dark-theme #tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent ._lh-webshell-dialog__monitor .checking-box-value__desc {
  color: var(--color-text-2) !important;
}
.dark-theme #tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent ._lh-webshell-dialog__monitor .sdk-cvm-progress__text {
  color: var(--color-text-3);
}
.dark-theme #tea-overlay-root .sdk-cvm-overlay.sdk-cvm-dialog-parent ._lh-webshell-dialog__monitor .mesure-type-text {
  color: var(--color-text-3) !important;
}
.dark-theme .measure-alert-text {
  color: var(--color-text-2);
}
.dark-theme .measure-con {
  max-height: 405px;
  overflow-y: scroll;
}
.dark-theme .measure-con .measure-con-item.optimizat {
  border-bottom: 1px solid var(--color-neutral-10);
  padding-bottom: 16px;
}
.dark-theme .measure-con .measure-con-item {
  margin-top: 16px;
}
.dark-theme .measure-con .measure-con-item-hd {
  cursor: pointer;
  display: flex;
  align-items: center;
}
.dark-theme .measure-con .measure-con-item-hd span {
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  color: var(--color-primary-5);
}
.dark-theme .measure-con .measure-con-item-hd ._cvm-icon {
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: sub;
  color: var(--color-primary-5);
}
.dark-theme .measure-con .measure-con-item-hd .icon-arrow.down {
  transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  -o-transform: rotate(0deg);
}
.dark-theme .measure-con .measure-con-item-hd .icon-arrow {
  background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuMjIwMzQgNkw4IDguNjYyMzRMMTAuNzc5NyA2TDExLjk5OTkgNy4xNjg4M0w4IDExTDQgNy4xNjg4M0w1LjIyMDM0IDZaIiBmaWxsPSIjMDA2RUZGIi8+Cjwvc3ZnPgo=) no-repeat;
  background-size: 100% 100%;
  margin-left: 8px;
  cursor: pointer;
  transition: all 0.5s;
  transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -o-transform: rotate(180deg);
}
.dark-theme .measure-con .measure-con-item .monitor-con-item-bd.is-hide {
  height: 0;
  opacity: 0;
  overflow: hidden;
}
.dark-theme .measure-con .measure-con-item-bd {
  margin-top: 8px;
  transition: all 0.2s;
  height: 100%;
  opacity: 1;
  overflow: visible;
}
.dark-theme .measure-con .measure-con-item-bd .suggest {
  padding: 8px 12px;
  background: var(--color-neutral-11);
  margin-top: 8px;
}
.dark-theme .measure-con .measure-con-item-bd .suggest > p {
  line-height: 20px;
  font-size: 12px;
  color: var(--color-text-1);
}
.dark-theme .measure-con .measure-con-item-bd .suggest > p .text-link {
  line-height: 20px;
}
.dark-theme .measure-con .measure-con-item-bd .optimizat-item:not(:last-child) {
  margin-bottom: 16px;
}
.dark-theme .measure-con .measure-con-item-bd .optimizat-item-hd {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  line-height: 22px;
  align-items: center;
}
.dark-theme .measure-con .measure-con-item-bd .optimizat-item-hd-tit {
  color: var(--color-text-3);
}
.dark-theme .measure-con .measure-con-item-bd .mesure-item {
  margin-bottom: 12px;
}
.dark-theme .measure-con .measure-con-item-bd .mesure-item:last-child {
  margin-bottom: 0;
}
.dark-theme .measure-con .measure-con-item-bd .mesure-item-hd {
  cursor: pointer;
  padding: 8px 12px;
  background: var(--color-neutral-11);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.dark-theme .measure-con .measure-con-item-bd .mesure-item-hd .mesure-type-text {
  display: inline-block;
  vertical-align: middle;
  line-height: 22px;
}
.dark-theme .measure-con .measure-con-item-bd .mesure-item-hd .status-item {
  margin-right: 12px;
  display: inline-block;
  vertical-align: middle;
}
.dark-theme .measure-con .measure-con-item-bd .mesure-item-hd .status-item:last-child {
  margin-right: 0;
}
.dark-theme .measure-con .measure-con-item-bd .mesure-item-hd .status-item-text {
  display: inline-block;
  vertical-align: middle;
  line-height: 20px;
  color: var(--color-text-1);
  margin-left: 4px;
}
.dark-theme .measure-con .measure-con-item-bd .mesure-item-bd {
  margin-top: 10px;
}
.dark-theme .measure-con .measure-con-item-bd .mesure-item-bd ul li {
  line-height: 20px;
  padding: 8px 8px;
  font-size: 12px;
  border-bottom: 1px solid var(--color-neutral-10);
  color: #000;
}
.dark-theme .measure-con .measure-con-item-bd .mesure-item-bd ul li .problem {
  display: flex;
  justify-content: space-between;
}
.dark-theme .measure-con .measure-con-item-bd .mesure-item-bd ul li .problem p {
  color: var(--color-text-3);
}
.dark-theme .measure-con .measure-con-item-bd .mesure-item-bd ul li:last-child {
  border-bottom: 1px solid transparent;
}
.dark-theme ._lh-webshell-icon.icon-block-add-rectangle {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggb3BhY2l0eT0iMC40IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEzIDEzTDEzIDNMMyAzTDMgMTNMMTMgMTNaTTE1IDNMMTUgMUwxMyAxTDMgMC45OTk5OTlMMSAwLjk5OTk5OUwxIDNMMC45OTk5OTkgMTNMMC45OTk5OTkgMTVMMyAxNUwxMyAxNUwxNSAxNUwxNSAxM0wxNSAzWk00LjUgN0w1LjUgN0w3IDdMNyA1LjVMNyA0LjVMOSA0LjVMOSA1LjVMOSA3TDEwLjUgN0wxMS41IDdMMTEuNSA5TDEwLjUgOUw5IDlMOSAxMC41TDkgMTEuNUw3IDExLjVMNyAxMC41TDcgOUw1LjUgOUw0LjUgOUw0LjUgN1oiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=);
}
.dark-theme ._lh-webshell-icon.icon-block-minus-rectangle {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggb3BhY2l0eT0iMC40IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEzIDNMMTMgMTNMMyAxM0wzIDNMMTMgM1pNMTUgMUwxNSAzTDE1IDEzTDE1IDE1TDEzIDE1TDMgMTVMMC45OTk5OTkgMTVMMC45OTk5OTkgMTNMMSAzTDEgMC45OTk5OTlMMyAwLjk5OTk5OUwxMyAxTDE1IDFaTTUuNSA3TDQuNSA3TDQuNSA5TDUuNSA5TDEwLjUgOUwxMS41IDlMMTEuNSA3TDEwLjUgN0w1LjUgN1oiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=);
}
.dark-theme .blcok-right-menu-item:hover {
  background: #3C485C;
}
.dark-theme ._lh-webshell-overlay-root ._lh-webshell-command__block-link {
  color: var(--color-primary-6);
}
.dark-theme ._lh-webshell-overlay-root ._lh-webshell-tip {
  background: var(--color-neutral-12);
  color: var(--color-text-3);
  box-shadow: var(--box-shadow-default);
}
html,
body {
  width: 100%;
  height: 100%;
  overscroll-behavior: none;
}
html {
  overflow-y: hidden;
}
body {
  background: unset !important;
}
#container {
  height: 100%;
}
.dark-theme .tea-list--option li.is-disabled {
  color: white;
}
.light-theme .tea-list--option li.is-disabled {
  color: black;
}
.tea-btn.is-loading {
  color: transparent !important;
}
.lh-webshell-link:hover {
  color: #2684ff !important;
}
._lwd__script-content--img {
  position: relative;
}
._lwd__script-content--img img {
  position: absolute;
  left: 0;
  opacity: 0;
}
._lwd__script-content--img img.is-active {
  opacity: 1;
}
.orcaterm__editor {
  height: 100%;
  min-height: 50px;
  position: relative;
}
.orcaterm-editor-loading {
  height: 100%;
  overflow: hidden;
}
.orcaterm-editor__editor-iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.display-hide {
  opacity: 0;
}
.display-none {
  display: none;
}
.padding-right-4 {
  padding-right: 4px;
}
.padding-right-2-child-not-last > :not(:last-child) {
  padding-right: 2px;
}
.not-allowed {
  cursor: not-allowed !important;
}
.text-decoration-none {
  text-decoration: none;
}
.text-capital-case {
  text-transform: capitalize;
}
.ot-menu-setting-box .tea-list--option {
  max-height: none !important;
}
.ot-menu-setting-box .ot-menu-setting.tea-list--option {
  overflow-x: hidden;
}
.ot-auto-complate-bubble .tea-bubble .tea-bubble__inner .ot-auto-complate-bubble__content .ot-auto-complate-list li.ins-list-item {
  padding-left: 8px !important;
}
.ot-auto-complate.value .ot-dialog-create-connect__auto-complete.not-have-icon {
  padding-left: 8px !important;
}
.ot-dialog-create-connect__form-value.verify {
  display: inline-flex !important;
  width: auto !important;
}
.ot-dialog__form-item.password .tea-form__controls {
  display: block !important;
}
.ot-dialog__form-item.key .tea-form__controls {
  display: block !important;
}
.ot-dialog__login-detail + .ot-dialog__login-detail {
  margin-top: 8px !important;
}
.ot-dialog__login-tab {
  flex: 1;
}
.ot-dialog__login.only-one-tab .tea-dialog__header {
  padding-bottom: 0 !important;
}
.tea-alert--error.ot-mul-line-alert {
  align-items: unset !important;
}
.tea-alert--error.ot-mul-line-alert .tea-alert__decoration {
  margin-top: 2px;
}
.tea-alert--error.ot-mul-line-alert a {
  color: #0f8fff;
  font-weight: 400;
}
[theme=dark] .tea-alert.tea-alert--error {
  background-color: #461523;
  border-color: #461523;
}
[theme=dark] .tea-alert.tea-alert--error.ot-mul-line-alert a {
  color: #1784eb;
  font-weight: 400;
}
.tea-drawer.orcaterm-load-drawer {
  width: 650px;
}
.tea-drawer.orcaterm-load-drawer.terminal .tea-drawer__body .tea-drawer__body-inner .orcaterm-load-terminal {
  position: relative;
}
.orcaterm-load-terminal {
  position: relative;
}
.orcaterm-load-terminal .loading-file,
.orcaterm-load-terminal .binary-file,
.orcaterm-load-terminal .loadfile-error {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #f1f2f5;
  z-index: 1;
  flex-direction: column;
}
.orcaterm-load-terminal .monaco-editor {
  position: absolute;
  left: 0;
}
.orcaterm-load-terminal .monaco-hover {
  z-index: 1000;
}
[theme=dark] .orcaterm-load-terminal .loading-file,
[theme=dark] .orcaterm-load-terminal .binary-file,
[theme=dark] .orcaterm-load-terminal .loadfile-error {
  background-color: #141414;
}
[theme=light] .orcaterm-load-terminal .loading-file,
[theme=light] .orcaterm-load-terminal .binary-file,
[theme=light] .orcaterm-load-terminal .loadfile-error {
  background-color: #f1f2f5;
}
/**
  命令面板显示内容自行决定，这里调整高度
 */
.tea-dialog.ot-dialog-command-panel {
  height: 510px;
}
/**
  TODO 临时自行处理，需要重构去掉原来show样式
 */
.file-selection-root__dropdown-box.tea-dropdown-box .file-selection-root__dropdown-loading {
  opacity: 1;
  height: auto;
  padding: 20px 10px;
}
/*
   右侧抽屉位置会在支持拖拽的情况下动态调整
 */
.tea-drawer.orcaterm-ai-drawer {
  top: 36px;
  right: 0;
  bottom: 0;
  min-height: 500px;
}
.tea-drawer.orcaterm-ai-drawer .tea-drawer__footer .orcaterm-ai-drawer__footer-send .orcaterm-ai-drawer__send-right.is-active {
  height: auto;
  max-height: none;
}
.tea-drawer.orcaterm-ai-drawer .tea-drawer__footer .orcaterm-ai-drawer__footer-send .orcaterm-ai-drawer__send-right.is-active .orcaterm-ai-textarea {
  height: 64px;
}
.tea-drawer.orcaterm-ai-drawer.is-generating .tea-drawer__body {
  padding-bottom: 60px;
}
.orcaterm-ai-search-box {
  top: inherit;
}
.tea-form__controls.is-error .tea-icon.tea-icon-valid {
  display: none;
}
.ot-dialog.ot-dialog-hosting .secret-type {
  height: 30px;
  font-size: 12px;
  display: flex;
  align-items: center;
  color: var(--ot-font-color-primary);
}
.ot-dialog-command-panel__common-item .ot-disabled-tip {
  color: var(--ot-font-color-placeholder);
}
/**
 * AI聊天输入框的位置控制
 */
.tea-drawer.orcaterm-ai-drawer .tea-drawer__footer .orcaterm-ai-drawer__footer-send .orcaterm-ai-drawer__send-right .orcaterm-ai-prompt-word {
  left: 0;
  bottom: 90px;
}
.orcaterm-ai-drawer__chat-item-box.from-ai pre:focus-visible {
  outline: none;
}
.orcaterm-drawer__width-resizer {
  width: 10px;
  position: absolute;
  left: 0;
  height: 100%;
  cursor: col-resize;
}
.sdk-mfa-dialog .sdk-mfa-dialog__inner {
  width: 430px;
}
.tea-dialog.ot-dialog.ot-dialog-ai-model .tea-dialog__inner .tea-dialog__body .tea-form .tea-form__item .ot-dialog-ai-model__form-item-terminal {
  height: 300px;
}
.orcaterm-command-completion__bubble .tea-bubble__inner {
  font-size: inherit;
  color: var(--ot-font-color-placeholder);
}
.orcaterm-command-completion__footer .left .icon {
  text-transform: capitalize;
}
.orcaterm-header-hide {
  position: absolute;
  top: -100%;
  left: 0;
  transition: top 0.3s ease-in-out;
  z-index: 1001;
}
.orcaterm-header-hide.orcaterm-header-show {
  top: 0;
}
.orcaterm-subheader-hide {
  position: absolute;
  top: -100%;
  left: 0;
  transition: top 0.3s ease-in-out;
  z-index: 1001;
}
.orcaterm-subheader-hide.orcaterm-subheader-show {
  top: 36px;
}
.orcaterm-footer-hide {
  position: fixed;
  bottom: -100%;
  left: 0;
  transition: bottom 0.6s ease-in-out;
  z-index: 1001;
}
.orcaterm-footer-hide.orcaterm-footer-show {
  bottom: 0;
}
[theme=light] .orcaterm-footer-show {
  background-color: rgba(var(--cp-color-rgb-6), 1);
}
.orcaterm-aside-hide {
  margin-left: -40px;
  opacity: 0;
  pointer-events: none;
  transition: margin-left 0.3s ease-in-out, opacity 0.3s ease-in-out;
  z-index: 1001;
}
.orcaterm-aside-hide.orcaterm-aside-show {
  margin-left: 0;
  opacity: 1;
  pointer-events: auto;
}
.orcaterm-header-fullscreen-tip {
  position: absolute;
  top: 10px;
  z-index: 9999;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 8px;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.2);
}
.orcaterm-ai-search-box__body {
  cursor: move;
}
.orcaterm-ai-search-box__body .orcaterm-ai-reasoning-body {
  display: flex;
  flex-direction: column-reverse;
}
.orcaterm-ai-search-box__body .orcaterm-ai-search-box__body-right {
  cursor: auto;
}
.orcaterm-ai-search-box__body .orcaterm-ai-search-box__body-right * {
  cursor: auto;
}
.orcaterm-ai-search-box__body .orcaterm-ai-search-box__body-logs {
  cursor: pointer;
}
/**
  @see OtInfoCircleOutlinedIcon
 */
.ot-info-icon {
  margin: 0 8px 0 2px;
}
.tea-drawer.orcaterm-load-drawer.upload .ot-upload-table .file-name_drag {
  padding: 10px 0;
  margin: -10px 0;
}
[theme=dark] .drop-active-bg {
  background-color: rgba(255, 255, 255, 0.2);
}
[theme=light] .drop-active-bg {
  background-color: rgba(0, 0, 0, 0.2);
}
.upload-same-file-checkbox .tea-form-check__label {
  vertical-align: top;
}
.file-preview-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.file-preview-container .file-preview-img {
  height: 100%;
  width: 100%;
  object-fit: scale-down;
}
.ot-dialog-command-panel__bubble {
  z-index: 1001 !important;
}
.ot-dialog-command-panel__bubble .tea-list--option > li.is-active {
  background-color: var(--ot-active-background-color);
}
.ot-dialog-command-panel__footer-enter:first-child::before {
  content: none !important;
}
.orcaterm-enhance-function-container .orcaterm-enhance-function-swiper {
  height: 100%;
}
.source-script-msg-wrap {
  font-size: 12px;
  padding: 10px;
  text-align: left;
  color: var(--ot-font-color-primary);
}
.source-script-msg-wrap p {
  padding: 5px;
}
.source-script-msg-wrap .system-tips {
  margin-bottom: 5px;
}
.source-script-msg-wrap pre {
  word-break: break-all;
  white-space: pre-line;
}
.ot-dialog__login-form.connect-login-common-form .custom-form-value.is-error .tea-input {
  color: var(--ot-font-color-primary) !important;
}
.sdk-mfa-dialog .sdk-mfa-dialog__inner .sdk-mfa-dialog__body .sdk-mfa-form .sdk-mfa-form__item .sdk-mfa-form__controls .sdk-mfa-input {
  width: 100%;
}
.sftp-ui-edit-terminal {
  position: relative;
}
.sftp-ui-edit-terminal .editor-file-error,
.sftp-ui-edit-terminal .binary-file {
  position: absolute;
  text-align: center;
  top: 0;
  z-index: 100;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: var(--ot-file-editor-background-color);
}
.orcaterm-load-notification__item:hover .orcaterm-notification__item-cancel-task {
  right: 70px;
}
.space-file-loading {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.space-file-edit {
  height: 100%;
  overflow: auto;
  position: relative;
}
.space-file-edit .space-file-edit-btn-wrap {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 100;
}
.space-binary-file-view-wrap {
  text-align: center;
  padding-top: 100px;
}
.space-file-viewer-root {
  position: relative;
  width: 100%;
  height: 100%;
}
.space-file-viewer-root .space-file-viewer-root__mode-actions {
  position: absolute;
  z-index: 101;
  top: 12px;
  right: 12px;
  display: inline-flex;
  border: 1px solid var(--ot-border-color, var(--ot-background-color-5));
  border-radius: 4px;
  background: var(--ot-background-color);
}
.space-file-viewer-root .space-file-viewer-root__mode-button.tea-btn {
  min-width: 56px;
}
.orcaterm-command-library.ot-space .command-library-body .ot-space-content.recycle-wrap {
  position: absolute;
  top: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  left: -100%;
  background: var(--OT-Color-Fill-Gray-Page-Base);
  display: flex;
  flex-direction: column;
}
.orcaterm-command-library.ot-space .command-library-body .ot-space-content.recycle-wrap .ot-space-recycle-accordion {
  flex: 1;
}
.orcaterm-command-library.ot-space .command-library-body .ot-space-content.recycle-wrap.show-recycle {
  left: 0;
}
.orcaterm-command-library.ot-space .command-library-body .tea-accordion__body {
  min-height: 100px;
}
.orcaterm-command-library.ot-space .command-library-body li.space-operation-drag-hover {
  background-color: var(--ot-background-color-41);
}
.orcaterm-command-library.ot-space .command-library-body .space-drag-over .tea-tree__node-content {
  background-color: var(--ot-footer-background-color);
}
/* 编辑器查找模块上，输入框的title属性，样式错位，先行关闭 */
.react-monaco-editor-container .context-view.monaco-component {
  display: none !important;
}
/* Monaco Editor 滚动条 hover 加粗 ，由于是修改组件样式，不再拉重构修改 */
.monaco-scrollable-element > .scrollbar.vertical > .slider,
.monaco-scrollable-element .scrollbar.horizontal .slider {
  border-radius: 4px !important;
}
/* MonacoEditor 滚动条 垂直滚动条 hover 时加粗 */
.monaco-scrollable-element > .scrollbar.vertical > .slider:hover {
  left: -3px !important;
  width: 6px !important;
}
/*MonacoEditor 滚动条  水平滚动条 hover 时加粗 */
.monaco-scrollable-element .scrollbar.horizontal .slider:hover {
  height: 6px !important;
  top: -3px !important;
}
.orcaterm .orcaterm__wrap .orcaterm-tauri-header-wrapper .orcaterm-header .orcaterm-header__left {
  flex: unset;
}
.orcaterm .orcaterm__wrap .orcaterm-tauri-header-wrapper .orcater_tauri_drag-region {
  flex: 1;
  height: 100%;
  min-width: 40px;
}
.orcaterm .orcaterm__wrap .orcaterm-aside-desktop .orcaterm__aside-top {
  flex: none;
}
.orcaterm .orcaterm__wrap .orcaterm-aside-desktop .orcaterm__wrap_tauri_left_drag-region {
  flex: 1;
}
.orcaterm .orcaterm__wrap .orcaterm-footer .orcaterm-footer__left {
  flex: unset;
  flex-shrink: 0;
}
.orcaterm .orcaterm__wrap .orcaterm-footer .orcater_tauri_drag-region {
  flex: 1;
  height: 100%;
}
.connect-login-common-form .tea-form {
  width: 100%;
}
.tea-tabs.orcaterm-common__tabs .tea-tabs__tablist {
  padding: 0;
}
.tea-tabs.orcaterm-common__tabs .tea-tabs__tablist .tea-tabs__tab {
  padding: 0;
}
.tea-tabs.orcaterm-common__tabs .tea-tabs__tablist .tea-tabs__tab .label {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--ot-font-color-secondary);
  font-size: 14px;
}
.tea-tabs.orcaterm-common__tabs .tea-tabs__tablist .tea-tabs__tab.is-active .label {
  color: var(--ot-font-color-primary);
}
.tea-tabs.orcaterm-common__tabs .tea-tabs__tablist .tea-tabs__tabitem {
  height: 40px;
  line-height: 40px;
  margin-right: 24px;
}
.tea-tabs.orcaterm-common__tabs .tea-tabs__tabpanel {
  padding: 16px 0;
}
.orcaterm-header__add-bubble--tauri .tea-bubble .tea-bubble__inner .orcaterm-header__add-bubble-content .orcaterm-header__add-bubble-footer .tea-btn {
  justify-content: left;
}
/* ══════════════════════════════════════════════════════════════════════════
   Header ∨ 浮层 · 本地 tmux 会话区块（**仅 desktop 渲染**）。

   类名 / DOM 逐字对齐交互稿 orcaterm-tmux-entry-3schemes.html 的
   `.np-tmux-block`（= `.np-tmux-head`(＋`.nth-title` / `.nth-count` / `.nth-new`) +
   `.np-tmux-dyn`）/ `.np-srow`(＋`.nm` / `.st` / `.loading`) /
   `.np-del` / `.np-sep` / `.lv-spin`。
   （交互稿的「＋ 打开托管」空态行已按产品要求移除：打开浮层即自动列出本地 tmux 会话，
   数据源 = headless client，不再需要用户点击开启。）

   【⚠ 选择器必须带 `#tea-overlay-root`】tea `Bubble` 浮层经 createPortal 挂到
   `#tea-overlay-root`，**不在** `.orcaterm-header` 子树内 —— 纯类选择器既命不中
   （若嵌在 header 下写），又会被主题包（main-frame / ot-code-editor）按加载顺序
   压过。id 位稳压任意纯类选择器且与加载顺序无关（同款用法见
   `orcaterm-components/layout/style/split.less` 的 keep-session-bubble 段）。

   【色彩为什么不用交互稿里的 `var(--txt-40)` / `var(--c-brand)`】那是交互稿自身的
   局部 CSS 变量，本仓不存在（直接用会静默失效）。这里取仓库既有 token / 字面值，
   与「同功能的连接管理器实现」保持同源——那套（tmuxSessions.less）已把同一份交互稿
   样式翻译成本仓口径：入口品牌蓝 #82bcff（= 交互稿 `--c-brand` / rgb(130,188,255)，
   用于 ＋ 号等入口件）、错误红 #e5455b、行 hover `--ot-top-background-color-1`、
   次级前景 `--ot-font-color-secondary`。
   ══════════════════════════════════════════════════════════════════════════ */
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content {
  /* 浮层整体限高：取视口高度比例（跟随窗口缩放，不钉死），
     历史连接 + 本地 Shell + tmux 会话区块过多时整体滚动 */
  max-height: 70vh;
  overflow-y: auto;
  /* 未安装 tmux 引导卡片复用连接管理器的全局 `.tmux-guide` 类，其 ⚠ 前景色取
     `var(--tmux-warn)`；该变量在 tmuxSessions.less 里只定义在
     `.tmux-hover-entry, .tmux-session-panel` 作用域内，浮层 portal 内取不到 →
     在此档位补定义一次（同色 #e5a84b，与连接管理器一致），避免 ⚠ 掉色。 */
  --tmux-warn: #e5a84b;
  /* 区块与「快速连接」footer 之间的分隔线。区块**上方**那条由既有历史列表 `ul` 的
     border-bottom 承担（main-frame 基础样式），此处不重复画第二条线。 */
  /* 老入口「会话恢复」（本地终端）跳转高亮：黄描边区块（outline 不占布局，避免挤压
     内容抖动；与连接管理器 `.mine-server-item.is-tmux-spotlight` 同款色彩口径），
     左侧迁移 tip 由 ToolBoxButton 的 LocalTmuxMigrateTip portal 到 body。 */
  /* 头部：tmux 图标 + 标题 + 数量 + ＋（Figma 标题行：h32 / padding 6px 8px 6px 12px） */
  /* 头部「＋ 新建会话」（Figma：20×20、主色 #339CFF） */
  /* 会话行：名称 + 重命名 + 删除（Figma：padding 4px 8px 4px 36px / h32 / radius 4）
     —— 与连接管理器侧会话行对齐：**不渲染**「已连接 / 未连接」状态文案 */
  /* 乐观行「创建中」（用户确认后立即插入，真实行到达即去重移除）：与 `.np-srow` 同款
     排布，但不可点击（cursor: default、无 hover 高亮）且无删除钮。类名与 `.np-srow`
     有意不共用 —— 既有计数/e2e 选择器按 `.np-srow` 定位真实行，共用会在创建在飞窗口内
     被误配（口径同连接配置侧 tmuxSessions.less）。 */
  /* 重命名入口：常显低强调（secondary 色），hover 提亮为主文字色（与删除钮 hover
     警示红区分语义）；其余声明与 .np-del 同款（口径逐字对齐 tmuxSessions.less .np-edit） */
  /* 删除按钮（Figma：20×20）。原生 <button> 复位（padding / border / background /
     font）：本档位样式作用于浮层 portal 内的真实 button，不能依赖 tmuxSessions.less
     里 `.tmux-hover-entry` 作用域内的同名规则（浮层不在该子树内）。 */
  /* 探测中指示器（交互稿 `.lv-spin`）：与连接管理器同款转圈 */
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-sep {
  height: 1px;
  margin: 4px 6px;
  background: var(--OT-Color-Border-Gray-Primary);
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-tmux-block.is-tmux-spotlight {
  position: relative;
  outline: 1px solid #ffdd99;
  outline-offset: -1px;
  /* 闪烁 3 次后长亮（用户要求）：与 tmuxSessions.less 的
       .mine-server-item.is-tmux-spotlight 同款；两份 keyframes 同名同内容，
       重复定义无害，保证两处加载顺序互不依赖。 */
  animation: tmux-spotlight-blink 0.45s ease-in-out 3;
}
@keyframes tmux-spotlight-blink {
  0%,
  100% {
    outline-color: #ffdd99;
  }
  50% {
    outline-color: transparent;
  }
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-tmux-head {
  display: flex;
  align-items: center;
  /* 本仓无全局 border-box → 显式声明，否则 min-height 加在内容区上 */
  box-sizing: border-box;
  gap: 8px;
  min-height: 32px;
  padding: 6px 8px 6px 12px;
  border-radius: 4px;
  /* 主题语义色（非硬编码白）：与连接管理器侧 .np-tmux-head（tmuxSessions.less
       `--OT-Color-Base-Text-Secondary`）同源 —— 硬编码 rgba(255,255,255,.92) 在
       白色主题下不可见（标题/数量/chevron 全白）。chevron 边框取 currentColor，随动。 */
  color: var(--OT-Color-Base-Text-Secondary);
  cursor: pointer;
  user-select: none;
  /* 展开/收起箭头：CSS chevron，跟随标题文字之后（Figma「Tmux 会话 · N ∨」），
       折叠时旋转 -45°（指向右）。
       **垂直校正只作用于展开态（尖朝下）**：chevron 由「5×5 内容盒 + 右/下边框」
       旋转 45° 得到，flex 只居中盒子几何中心，而展开态可见笔画重心偏下（尖端在下部）
       → 视觉偏低，需上移 -1px（历史：-1.5px 偏高、0 偏低，取中间值）。
       折叠态（尖朝右）笔画垂直对称、天然居中 → data-collapsed 时归零（见下方）。
       用 position:relative + top 而非 translate：不与旋转/折叠两态的 transform 耦合。 */
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-tmux-head svg {
  flex-shrink: 0;
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-tmux-head .nth-arrow {
  display: inline-block;
  flex-shrink: 0;
  position: relative;
  top: -1px;
  width: 5px;
  height: 5px;
  margin-left: 0;
  border-right: 1.4px solid currentColor;
  border-bottom: 1.4px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.15s ease;
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-tmux-head .nth-arrow[data-collapsed] {
  top: 0;
  /* 折叠态（尖朝右）笔画垂直对称、天然居中，不带展开态的上移校正 */
  transform: rotate(-45deg);
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-tmux-head .nth-title {
  font-size: 12px;
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-tmux-head .nth-count {
  /* 不占弹性空间：数量紧跟标题，箭头紧跟数量（flex:1 会把箭头推到最右贴＋）。
         交互稿「托管会话 · N ∨」：title 与数量之间以「·」分隔（与连接管理器
         tmuxSessions.less .np-tmux-head-count::before 同款） */
  font-size: 12px;
  font-family: monospace;
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-tmux-head .nth-count::before {
  content: '·';
  margin-right: 6px;
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .nth-new {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  /* ＋单独贴右缘（数量/箭头紧随标题后），色为次级前景（原为硬编码白
       rgba(255,255,255,.64)，白色主题下不可见；改用主题 token，与 .np-edit /
       .np-del 的次级色口径一致） */
  margin-left: auto;
  border-radius: 4px;
  color: var(--ot-font-color-secondary);
  cursor: pointer;
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .nth-new:hover {
  background: var(--ot-top-background-color-1);
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-srow {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  gap: 8px;
  min-height: 32px;
  padding: 4px 8px 4px 36px;
  border-radius: 4px;
  font-size: 12px;
  color: var(--ot-font-color-primary);
  cursor: pointer;
  /* 注：原「已连接 / 未连接」状态文案（.st）已移除 —— 行内只保留名称 + 重命名 + 删除，
       与连接管理器侧会话行对齐。乐观行「创建中」的状态文案在独立类
       `.np-tmux-pending-row .st` 下，不受本行影响。 */
  /* 检测中（交互稿 `.np-srow.loading`）：不可点、无 hover 高亮 */
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-srow:hover {
  background: var(--ot-top-background-color-1);
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-srow .nm {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-srow.loading {
  color: var(--ot-font-color-secondary);
  cursor: default;
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-srow.loading:hover {
  background: transparent;
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-tmux-pending-row {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  gap: 8px;
  min-height: 32px;
  padding: 4px 8px 4px 36px;
  border-radius: 4px;
  font-size: 12px;
  color: var(--ot-font-color-primary);
  cursor: default;
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-tmux-pending-row .nm {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0.75;
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-tmux-pending-row .st {
  margin-left: auto;
  flex-shrink: 0;
  font-size: 10px;
  color: var(--ot-font-color-secondary);
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-edit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  flex-shrink: 0;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  font: inherit;
  color: var(--ot-font-color-secondary);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-edit svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-edit:hover {
  background: var(--ot-top-background-color-1);
  color: var(--ot-font-color-primary);
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-del {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  flex-shrink: 0;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  font: inherit;
  color: var(--ot-font-color-secondary);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-del svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .np-del:hover {
  background: rgba(255, 107, 94, 0.18);
  color: #e5455b;
}
#tea-overlay-root .orcaterm-header__add-bubble .orcaterm-header__add-bubble-content .lv-spin {
  display: inline-block;
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border: 1.4px solid rgba(128, 128, 128, 0.35);
  border-top-color: #006eff;
  border-radius: 50%;
  animation: header-tmux-block-spin 0.7s linear infinite;
}
@keyframes header-tmux-block-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/*# sourceMappingURL=App.css.map */
