.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);
}

.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);
  }
}

.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;
}

.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);
}

#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;
}

.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;
}

[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;
}

/* 拖拽线 */
.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;
}

.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;
}

@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;
}
.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__header {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--ot-split-pane-header-height, 32px);
  padding: 4px 12px;
  border-bottom: 1px solid var(--ot-radio-background-color);
  cursor: default;
  overflow: hidden;
  background-color: var(--OT-Color-Fill-Gray-Page-Base);
  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.leaf {
  border: 1px solid var(--OT-Color-Fill-Gray-Page-Base);
}
.orcaterm-split-view.is-selected.leaf {
  border: 1px solid var(--border-active-color, #1784EB);
  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-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;
}
.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-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 > .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: inherit;
  outline: 2px solid var(--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__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;
}
.orcaterm__main .orcaterm-split-view-container.vertical > .orcaterm-split-view-splitter:hover {
  transform: scaleY(2);
  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;
}
.orcaterm__main .orcaterm-split-view-container.horizontal > .orcaterm-split-view-splitter {
  width: var(--splitter-width);
  cursor: col-resize;
}
.orcaterm__main .orcaterm-split-view-container.horizontal > .orcaterm-split-view-splitter:hover {
  transform: scaleX(2);
}
.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-background-color-3);
  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;
}
.ot-terminal-shell {
  /* 修改滚动条宽度 */
}
.ot-terminal-shell .xterm .xterm-scrollable-element > .scrollbar {
  width: 3px !important;
}
.ot-terminal-shell .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 {
  width: 6px !important;
}
.ot-terminal-shell .xterm .xterm-scrollable-element > .xterm-scrollbar {
  width: 3px !important;
}
.ot-terminal-shell .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 {
  width: 6px !important;
}
.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;
}

/**
 * UV 提升活动 - Web 端按钮 + 卡片式提示样式(2026-06-08 照搬归档 Figma 设计稿原型)
 *
 * 行为对应 DownloadClientButton.tsx:
 * - 登录命中白名单 → 0.5s 后 → open(带 --visible 类,弹性入场)
 * - open 4s 后 → collapsed(去掉 --visible,DOM 仍在,等待 hover 唤回)
 * - collapsed + hover wrapper / popover → 重新 --visible
 * - 任何点击 → closed(DOM 卸载)
 *
 * ⚠️ 卡片通过 React Portal 渲染到 document.body,因此:
 *   1. position: fixed 与 viewport 对齐,不受祖先 overflow:hidden 截断
 *   2. top / left 由组件用 getBoundingClientRect 计算后通过 inline style 注入
 *   3. 主题切换由 body 上的 .dark-theme / .light-theme class 驱动
 *      (见 packages/config-sync/useTheme.ts setSkinStyle)—— portal 挂 body 下,
 *      `.light-theme .uv-boost-tip` 选择器天然命中
 *
 * 参数化策略(变量名一致于归档 global.css 的设计 Token):
 * - 不变量(尺寸/字号/字重/动画时长/缓动)用 less 变量(@xxx),编译时确定
 * - 主题相关色值用 CSS 变量,变量名复用归档 Figma 设计 Token:
 *     --color-fill-primary-default  → 卡片背景
 *     --color-border-secondary      → 描边
 *     --color-text-secondary        → 副标题色
 *   作用域限定在 .uv-boost-tip 内(项目尚无全局 Token,避免污染全局空间)
 * - 黄色品牌色 #ff9d00 与盒影直接写值(归档 Header.css 也是直接写值,
 *   未走 Token,保持一致)
 */
/* ---------- 不变量(尺寸/字号/动画) ---------- */
.orcaterm-header-special-offer-wrapper-legacy {
  display: none;
}
.uv-boost-tip {
  --color-fill-primary-default: #1f1f1f;
  --color-border-secondary: #383838;
  --color-text-secondary: rgba(255, 255, 255, 0.64);
  position: fixed;
  transform: translate(-50%, -8px) scale(0.96);
  transform-origin: top center;
  z-index: 9999;
  width: max-content;
  max-width: 360px;
  white-space: nowrap;
  padding: 12px;
  border-radius: 8px;
  background-color: var(--color-fill-primary-default);
  border: 1px solid var(--color-border-secondary);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.6), 0 2px 8px rgba(0, 0, 0, 0.4);
  opacity: 0;
  pointer-events: none;
  cursor: pointer;
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.2s linear;
}
.uv-boost-tip__arrow {
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  background-color: inherit;
  border-left: 1px solid var(--color-border-secondary);
  border-top: 1px solid var(--color-border-secondary);
}
.uv-boost-tip__content {
  display: flex;
  flex-direction: column;
}
.uv-boost-tip__title {
  margin: 0 0 6px 0;
  font-size: 13.5px;
  line-height: 19px;
  font-weight: 600;
  color: #ff9d00;
}
.uv-boost-tip__desc {
  margin: 0;
  font-size: 11px;
  line-height: 16px;
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.uv-boost-tip--visible {
  transform: translate(-50%, 0) scale(1);
  opacity: 1;
  pointer-events: auto;
}
/* ---------- light 主题覆盖(只覆背景/描边/阴影/副标题色) ---------- */
.light-theme .uv-boost-tip {
  --color-fill-primary-default: #ffffff;
  --color-border-secondary: rgba(0, 0, 0, 0.08);
  --color-text-secondary: rgba(0, 0, 0, 0.64);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.06);
}
/* =========================================================================
 * 顶栏 DownloadClientButton 循环滚动文案 + Portal popover 样式
 * （2026-08-11 新增；1:1 对齐 Figma demo .dl-entry / .xd-pop / .xd-cols）
 *
 * 尺寸/间距完全对齐 demo；颜色适配项目主题（.dark-theme / .light-theme）。
 * 局部变量在组件内声明；.light-theme .xxx 覆盖。
 * ========================================================================= */
/* ---------- 顶栏按钮外壳（对齐 demo .dl-entry） ---------- */
.orcaterm-header-special-offer-wrapper {
  display: inline-flex;
  align-items: center;
  margin-left: auto;
  margin-right: 12px;
}
.orcaterm-header-special-offer.offer {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 28px;
  padding: 0 4px;
  border: 0;
  background: transparent;
  font-size: 12px;
  cursor: pointer;
  --dl-entry-color: #b9a3f7;
  --dl-entry-color-hover: #d8ccff;
  color: var(--dl-entry-color);
  transition: color 0.15s;
}
.orcaterm-header-special-offer.offer:hover,
.orcaterm-header-special-offer.offer:focus-visible,
.orcaterm-header-special-offer.offer.is-active {
  color: var(--dl-entry-color-hover);
  outline: none;
}
.light-theme .orcaterm-header-special-offer.offer {
  --dl-entry-color: #6d4bd0;
  --dl-entry-color-hover: #4b2eae;
}
/* ---------- 按钮内文字循环滚动容器（对齐 demo .dl-rot） ---------- */
.orcaterm-header-special-offer .dl-rot {
  display: inline-block;
  height: 18px;
  line-height: 18px;
  overflow: hidden;
  vertical-align: middle;
}
.orcaterm-header-special-offer .dl-rot-track {
  display: flex;
  flex-direction: column;
  transition: transform 0.5s;
}
.orcaterm-header-special-offer .dl-rot-track > span {
  display: block;
  height: 18px;
  flex: none;
  white-space: nowrap;
}
.orcaterm-header-special-offer .dl-static {
  display: inline-block;
  height: 18px;
  line-height: 18px;
  vertical-align: middle;
  white-space: nowrap;
}
/* ---------- popover 弹层（对齐 demo .xd-pop） ---------- */
.dl-pop {
  --dl-pop-bg: #242424;
  --dl-pop-border: #4b4b4b;
  --dl-pop-text: rgba(255, 255, 255, 0.92);
  --dl-pop-text-secondary: rgba(255, 255, 255, 0.64);
  --dl-pop-fill-secondary: #2c2c2c;
  --dl-pop-fill-tertiary: #383838;
  position: fixed;
  transform: translateY(4px);
  padding: 16px;
  border-radius: 8px;
  background-color: var(--dl-pop-bg);
  border: 1px solid var(--dl-pop-border);
  color: var(--dl-pop-text);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.15s linear;
}
.dl-pop.show {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.dl-pop-arrow {
  position: absolute;
  top: -6px;
  transform: translateX(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  background-color: inherit;
  border-left: 1px solid var(--dl-pop-border);
  border-top: 1px solid var(--dl-pop-border);
}
.dl-pop-cols {
  display: flex;
  gap: 16px;
  align-items: stretch;
}
.dl-pop-col {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.dl-pop-col + .dl-pop-col {
  border-left: 1px solid var(--dl-pop-border);
  padding-left: 16px;
}
.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);
}
.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);
}
.dl-pop-appicon {
  display: block;
  width: 48px;
  height: 48px;
  margin: 8px auto 12px;
  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: 6px;
}
.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: 8px auto 0;
  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 主题覆盖（对齐 demo dark → light 差异） */
.light-theme .dl-pop {
  --dl-pop-bg: #ffffff;
  --dl-pop-border: rgba(0, 0, 0, 0.08);
  --dl-pop-text: rgba(0, 0, 0, 0.9);
  --dl-pop-text-secondary: rgba(0, 0, 0, 0.64);
  --dl-pop-fill-secondary: rgba(0, 0, 0, 0.04);
  --dl-pop-fill-tertiary: rgba(0, 0, 0, 0.08);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12), 0 4px 12px rgba(0, 0, 0, 0.06);
}
.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;
}

.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;
}

.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);
}

[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);
}

[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;
  background: var(--ot-mode-switcher-bg);
  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;
}

.sftp-row-context-menu {
  background: var(--ot-editor-background-color, #fff);
  border: 1px solid var(--ot-border-color, #e5e5e5);
  border-radius: 4px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  padding: 4px 0;
  min-width: 100px;
  overflow: hidden;
}
.sftp-row-context-menu li {
  padding: 6px 16px;
  cursor: pointer;
  white-space: nowrap;
}
.sftp-row-context-menu li:hover {
  background: var(--ot-primary-color-light, #e6f0ff);
}
.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 .orcaterm-command-library.sftp-panel .command-library-header {
  cursor: grab;
}

.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;
}

.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, 40%);
}
.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);
}

.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;
  }
}

[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-top: 4px;
  padding: 6px 0 6px 12px;
  background: transparent;
  border-left: 2px solid var(--ot-color-gray-opacity-12);
  user-select: none;
  white-space: nowrap;
}
.ot-failure-hint__info {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.ot-failure-hint__star,
.ot-failure-hint__cta-star {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  flex: none;
  width: 14px;
  height: 14px;
}
.ot-failure-hint__star > svg,
.ot-failure-hint__cta-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: 24px;
}
.ot-failure-hint__ai-text {
  font-family: inherit;
}
.ot-failure-hint__cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  isolation: isolate;
  box-sizing: border-box;
  height: 22px;
  padding: 2px 6px;
  color: var(--ot-failure-hint-ai-start);
  background: transparent;
  border: 1px solid var(--ot-failure-hint-ai-start);
  border-radius: 12px;
  cursor: pointer;
  appearance: none;
}
.ot-failure-hint__cta:disabled {
  opacity: 0.48;
  cursor: default;
}
.ot-failure-hint__glow {
  position: absolute;
  inset: -1px;
  opacity: 0.64;
  border: 1px solid var(--ot-failure-hint-ai-start);
  border-radius: 12px;
  pointer-events: none;
}
.ot-failure-hint__glow--near {
  filter: blur(2px);
}
.ot-failure-hint__glow--far {
  filter: blur(4px);
}
.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: 20px;
}
.ot-failure-hint__cta-ai {
  font-family: inherit;
}
.ot-failure-hint__cta-label {
  font-family: inherit;
}

[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;
}
.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;
}

[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;
}

.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;
}

.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;
}

