/* ===== 基础样式 ===== */
._btn_1a69t_2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-weight: 500;
  white-space: nowrap;
  transition:
    background 0.2s ease,
    opacity 0.2s ease,
    color 0.2s ease;
}

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

/* ===== 大小 ===== */

._sizeLg_1a69t_25 {
  padding: 8px 18px;
  font-size: 14px;
  border-radius: 7px;
}

._sizeMd_1a69t_31 {
  padding: 6px 14px;
  font-size: 13px;
  border-radius: 6px;
}

._sizeSm_1a69t_37 {
  padding: 4px 10px;
  font-size: 12px;
  border-radius: 5px;
}

._sizeIcon_1a69t_43 {
  padding: 5px;
  border-radius: 5px;
}

/* ===== 变体 ===== */

/* primary: 紫粉渐变，白色文字（默认） */
._variantPrimary_1a69t_51 {
  background: linear-gradient(135deg, var(--gradient-primary-start), var(--gradient-primary-end));
  color: var(--text-on-primary);
  border: none;
}

._variantPrimary_1a69t_51:hover:not(:disabled) {
  opacity: 0.9;
}

/* secondary: 透明背景 + 边框 */
._variantSecondary_1a69t_62 {
  background: transparent;
  border: 1px solid var(--border-color);
  color: var(--text-primary);
}

._variantSecondary_1a69t_62:hover:not(:disabled) {
  background: var(--hover-bg);
}

/* ghost: 无背景无边框，图标按钮 */
._variantGhost_1a69t_73 {
  background: none;
  border: none;
  color: var(--text-tertiary);
}

._variantGhost_1a69t_73:hover:not(:disabled) {
  background: var(--hover-bg);
  color: var(--text-primary);
}

/* danger: 红色文字，悬停时红色半透明背景 */
._variantDanger_1a69t_85 {
  background: transparent;
  border: none;
  color: var(--color-error);
}

._variantDanger_1a69t_85:hover:not(:disabled) {
  background: var(--color-error-light);
}

/* link: 文字链接样式，下划线 */
._variantLink_1a69t_96 {
  background: none;
  border: none;
  padding: 0;
  color: var(--color-primary);
  font-size: 13px;
  text-decoration: underline;
}

._variantLink_1a69t_96:hover:not(:disabled) {
  opacity: 0.7;
}

/* send: 粉紫渐变（MessageInput 专用） */
._variantSend_1a69t_110 {
  background: linear-gradient(
    to bottom right,
    var(--gradient-primary-start),
    var(--gradient-primary-end)
  );
  color: var(--text-on-primary);
  border: none;
  border-radius: 0.75rem;
}

._variantSend_1a69t_110:hover:not(:disabled) {
  background: linear-gradient(
    to bottom right,
    var(--gradient-primary-start-dark),
    var(--gradient-primary-end-dark)
  );
}

/* stop: 沿方形边框旋转的加载弧线（MessageInput 停止按钮） */
@property --stopAngle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}

@keyframes _stopBorderRun_1a69t_1 {
  to {
    --stopAngle: 360deg;
  }
}

._variantStop_1a69t_142 {
  position: relative;
  background: var(--color-error-light);
  color: var(--color-error);
  border: none;
  overflow: visible;
}

._variantStop_1a69t_142::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: conic-gradient(
    from var(--stopAngle),
    transparent 0%,
    transparent 40%,
    rgb(249 115 22 / 8%) 55%,
    rgb(249 115 22 / 28%) 70%,
    rgb(249 115 22 / 8%) 85%,
    transparent 100%
  );
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask-composite: xor;
  mask-composite: exclude;
  animation: _stopBorderRun_1a69t_1 1.4s linear infinite;
  pointer-events: none;
}

._variantStop_1a69t_142:hover:not(:disabled) {
  background: var(--color-error-medium);
}

@media (prefers-reduced-motion: reduce) {
  ._variantStop_1a69t_142::after {
    animation: none;
    opacity: 0;
  }
}

/* ===== 宽度 ===== */
._fullWidth_1a69t_186 {
  width: 100%;
}

/* ===== 可访问性：焦点样式 ===== */
._btn_1a69t_2:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
._overlay_1mnr7_1 {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--overlay-bg);
}

._surface_1mnr7_11 {
  width: 90vw;
  max-height: 90vh;
  max-height: 90dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--border-default, var(--border));
  border-radius: var(--radius-2xl, 12px);
  background: var(--bg-primary);
  box-shadow: var(--shadow-lg);
}

._surface--sm_1mnr7_24 {
  max-width: 400px;
}

._surface--md_1mnr7_28 {
  max-width: 520px;
}

._surface--lg_1mnr7_32 {
  max-width: 720px;
}

._surface--xl_1mnr7_36 {
  max-width: 960px;
}

._header_1mnr7_40,
._footer_1mnr7_41 {
  flex-shrink: 0;
}

._body_1mnr7_45 {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

/*
 * 结构槽位默认内边距（20px）：新弹窗无需自带留白，忘写也不会贴边。
 * 用 :where() 保持零特异性：调用方通过 headerClassName/contentClassName/footerClassName
 * 传入的 padding 始终优先，避免由样式表加载顺序决定胜负（同一元素上的两个同名类）。
 * 整台弹窗要退掉默认时：<Dialog padding={false} />；要改默认值：<Dialog padding={16} />。
 *
 * 前提：全局 `*` reset 必须待在 @layer（见 src/client/src/index.css）。否则它与本规则
 * 同为 0 特异性，谁在后谁赢——reset 会把这里的默认留白清零。
 */
:where(._header_1mnr7_40),
:where(._body_1mnr7_45),
:where(._footer_1mnr7_41) {
  padding: var(--dialog-padding, 20px);
}

@media (width <= 640px) {
  ._overlay_1mnr7_1 {
    align-items: center;
    padding: 16px;
    background: transparent;
  }

  ._surface_1mnr7_11 {
    width: 100%;
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    border-radius: var(--radius-2xl, 12px);
    box-shadow: 0 8px 32px rgb(0 0 0 / 18%);
  }
}
._confirmOverlay_1qd2n_1 {
  background: rgb(0 0 0 / 40%);
  backdrop-filter: blur(2px);
  z-index: 2000;
  animation: _fadeIn_1qd2n_1 0.15s ease;
}

@keyframes _fadeIn_1qd2n_1 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

._confirmDialog_1qd2n_18 {
  border-radius: 12px;
  max-width: 400px;
  box-shadow: 0 8px 32px rgb(0 0 0 / 24%);
}

._confirmContent_1qd2n_24 {
  padding: 24px;
}

._confirmTitle_1qd2n_28 {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 8px;
}

._confirmMessage_1qd2n_35 {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5;
  margin: 0 0 20px;
}

._confirmActions_1qd2n_42 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

@keyframes _spin_1qd2n_54 {
  to {
    transform: rotate(360deg);
  }
}

._spin_1qd2n_54 {
  animation: _spin_1qd2n_54 1s linear infinite;
}

@media (width <= 640px) {
  ._confirmOverlay_1qd2n_1 {
    background: transparent;
    backdrop-filter: none;
  }
}
._toastContainer_cpmi4_1 {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 3000;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
}

._toast_cpmi4_1 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  pointer-events: auto;
  animation: _slideIn_cpmi4_1 0.2s ease;
  max-width: 360px;
  box-shadow: 0 4px 16px rgb(0 0 0 / 16%);
}

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

._toastSuccess_cpmi4_31 {
  background: var(--color-success, #22c55e);
  color: white;
}

._toastInfo_cpmi4_36 {
  background: var(--color-info);
  color: white;
}

._toastWarning_cpmi4_41 {
  background: var(--color-warning, #d97706);
  color: white;
}

._toastIcon_cpmi4_46 {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

._toastMessage_cpmi4_52 {
  flex: 1;
  min-width: 0;
  overflow-wrap: break-word;
}

._toastAction_cpmi4_58 {
  flex-shrink: 0;
  background: rgb(255 255 255 / 25%);
  border: none;
  border-radius: 4px;
  color: white;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  padding: 3px 10px;
  transition: background 0.15s;
  white-space: nowrap;
}

._toastAction_cpmi4_58:hover {
  background: rgb(255 255 255 / 40%);
}

@keyframes _slideIn_cpmi4_1 {
  from {
    opacity: 0;
    transform: translateX(20px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */

/**
 *  Default styles for xterm.js
 */

.xterm {
    cursor: text;
    position: relative;
    user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
}

.xterm.focus,
.xterm:focus {
    outline: none;
}

.xterm .xterm-helpers {
    position: absolute;
    top: 0;
    /**
     * The z-index of the helpers must be higher than the canvases in order for
     * IMEs to appear on top.
     */
    z-index: 5;
}

.xterm .xterm-helper-textarea {
    padding: 0;
    border: 0;
    margin: 0;
    /* Move textarea out of the screen to the far left, so that the cursor is not visible */
    position: absolute;
    opacity: 0;
    left: -9999em;
    top: 0;
    width: 0;
    height: 0;
    z-index: -5;
    /** Prevent wrapping so the IME appears against the textarea at the correct position */
    white-space: nowrap;
    overflow: hidden;
    resize: none;
}

.xterm .composition-view {
    /* TODO: Composition position got messed up somewhere */
    background: #000;
    color: #FFF;
    display: none;
    position: absolute;
    white-space: nowrap;
    z-index: 1;
}

.xterm .composition-view.active {
    display: block;
}

.xterm .xterm-viewport {
    /* On OS X this is required in order for the scroll bar to appear fully opaque */
    background-color: #000;
    overflow-y: scroll;
    cursor: default;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
}

.xterm .xterm-screen {
    position: relative;
}

.xterm .xterm-screen canvas {
    position: absolute;
    left: 0;
    top: 0;
}

.xterm-char-measure-element {
    display: inline-block;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: -9999em;
    line-height: normal;
}

.xterm.enable-mouse-events {
    /* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */
    cursor: default;
}

.xterm.xterm-cursor-pointer,
.xterm .xterm-cursor-pointer {
    cursor: pointer;
}

.xterm.column-select.focus {
    /* Column selection mode */
    cursor: crosshair;
}

.xterm .xterm-accessibility:not(.debug),
.xterm .xterm-message {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 10;
    color: transparent;
    pointer-events: none;
}

.xterm .xterm-accessibility-tree:not(.debug) *::selection {
  color: transparent;
}

.xterm .xterm-accessibility-tree {
  font-family: monospace;
  user-select: text;
  white-space: pre;
}

.xterm .xterm-accessibility-tree > div {
  transform-origin: left;
  width: fit-content;
}

.xterm .live-region {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.xterm-dim {
    /* Dim should not apply to background, so the opacity of the foreground color is applied
     * explicitly in the generated class and reset to 1 here */
    opacity: 1 !important;
}

.xterm-underline-1 { text-decoration: underline; }
.xterm-underline-2 { text-decoration: double underline; }
.xterm-underline-3 { text-decoration: wavy underline; }
.xterm-underline-4 { text-decoration: dotted underline; }
.xterm-underline-5 { text-decoration: dashed underline; }

.xterm-overline {
    text-decoration: overline;
}

.xterm-overline.xterm-underline-1 { text-decoration: overline underline; }
.xterm-overline.xterm-underline-2 { text-decoration: overline double underline; }
.xterm-overline.xterm-underline-3 { text-decoration: overline wavy underline; }
.xterm-overline.xterm-underline-4 { text-decoration: overline dotted underline; }
.xterm-overline.xterm-underline-5 { text-decoration: overline dashed underline; }

.xterm-strikethrough {
    text-decoration: line-through;
}

.xterm-screen .xterm-decoration-container .xterm-decoration {
	z-index: 6;
	position: absolute;
}

.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer {
	z-index: 7;
}

.xterm-decoration-overview-ruler {
    z-index: 8;
    position: absolute;
    top: 0;
    right: 0;
    pointer-events: none;
}

.xterm-decoration-top {
    z-index: 2;
    position: relative;
}



/* Derived from vs/base/browser/ui/scrollbar/media/scrollbar.css */

/* xterm.js customization: Override xterm's cursor style */
.xterm .xterm-scrollable-element > .scrollbar {
    cursor: default;
}

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

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

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

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

/* Scrollable Content Inset Shadow */
.xterm .xterm-scrollable-element > .shadow {
	position: absolute;
	display: none;
}
.xterm .xterm-scrollable-element > .shadow.top {
	display: block;
	top: 0;
	left: 3px;
	height: 3px;
	width: 100%;
	box-shadow: var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset;
}
.xterm .xterm-scrollable-element > .shadow.left {
	display: block;
	top: 3px;
	left: 0;
	height: 100%;
	width: 3px;
	box-shadow: var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset;
}
.xterm .xterm-scrollable-element > .shadow.top-left-corner {
	display: block;
	top: 0;
	left: 0;
	height: 3px;
	width: 3px;
}
.xterm .xterm-scrollable-element > .shadow.top.left {
	box-shadow: var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset;
}
/* TerminalPane — inline pane (no floating shell)
 *
 * Layout responsibility belongs to the parent container (SplitChatLayout).
 * This component just fills 100% of whatever box it's given.
 */

._pane_1001o_7 {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background: var(--bg-primary);
}

/* ── Title bar ── */

._titleBar_1001o_18 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 10px;
  background: var(--bg-secondary, #2d2d2d);
  color: var(--text-primary, #d4d4d4);
  font-size: 12px;
  flex-shrink: 0;
  user-select: none;
}

._titleBarAgent_1001o_30 {
  background: #1a3a5c;
}

._titleBarAgentFade_1001o_34 {
  animation: _fadeToDefault_1001o_1 2s ease-out forwards;
}

@keyframes _fadeToDefault_1001o_1 {
  from {
    background: #1a3a5c;
  }

  to {
    background: var(--bg-secondary);
  }
}

._titleBarUser_1001o_48 {
  background: #1a4a2c;
}

._titleBarUserFade_1001o_52 {
  animation: _fadeUserToDefault_1001o_1 2s ease-out forwards;
}

@keyframes _fadeUserToDefault_1001o_1 {
  from {
    background: #1a4a2c;
  }

  to {
    background: var(--bg-secondary);
  }
}

._titleLeft_1001o_66 {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

._ownerIcon_1001o_73 {
  flex-shrink: 0;
}

._commandName_1001o_77 {
  font-family: var(--font-mono, monospace);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._statusBadge_1001o_84 {
  font-size: 10px;
  padding: 1px 5px;
  border-radius: 3px;
  background: rgb(255 255 255 / 8%);
}

._statusBadgeRunning_1001o_91 {
  background: rgb(13 148 85 / 20%);
  color: #0dbc79;
}

._statusBadgeExited_1001o_96 {
  background: rgb(128 128 128 / 20%);
  color: #999;
}

._titleRight_1001o_101 {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  padding: 2px;
  border-radius: 999px;
  background: rgb(255 255 255 / 5%);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 6%);
}

._titleButton_1001o_112 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: var(--text-tertiary, #999);
  cursor: pointer;
  padding: 0;
  transition:
    background 0.16s ease,
    color 0.16s ease,
    transform 0.16s ease;
}

._titleButton_1001o_112:hover {
  background: rgb(255 255 255 / 14%);
  color: #fff;
  transform: translateY(-1px);
}

._titleButton_1001o_112:active {
  transform: translateY(0);
}

._titleButton_1001o_112:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent-color, #0dbc79) 70%, transparent);
  outline-offset: 2px;
}

._stopButton_1001o_146:hover {
  background: rgb(255 91 91 / 16%);
  color: #f77;
}

._restartButton_1001o_151:hover {
  background: rgb(13 188 121 / 16%);
  color: #0dbc79;
}

._stopIcon_1001o_156 {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: currentcolor;
}

._closeIcon_1001o_163 {
  position: relative;
  width: 12px;
  height: 12px;
}

._closeIcon_1001o_163::before,
._closeIcon_1001o_163::after {
  content: '';
  position: absolute;
  top: 5px;
  left: 1px;
  width: 10px;
  height: 1.5px;
  border-radius: 999px;
  background: currentcolor;
}

._closeIcon_1001o_163::before {
  transform: rotate(45deg);
}

._closeIcon_1001o_163::after {
  transform: rotate(-45deg);
}

._restartIcon_1001o_189 {
  font-size: 15px;
  line-height: 1;
  transform: translateY(-0.5px);
}

/* ── Terminal container ── */

._terminalContainer_1001o_197 {
  flex: 1;
  min-height: 0;
  position: relative;
  padding: var(--space-2, 8px);
  overflow: hidden;
}

._terminalContainer_1001o_197 .xterm {
  height: 100%;
}

._terminalContainer_1001o_197 .xterm-viewport {
  overflow-y: auto;
  background-color: var(--terminal-bg, transparent);
}

._terminalContainer_1001o_197 .xterm [class*='xterm-dom-renderer-owner-'] {
  overflow: hidden;
}

/* ── Mobile control keys ── */

._mobileControlBar_1001o_220 {
  display: none;
}

._mobileControlButton_1001o_224 {
  border: 1px solid var(--border-default, rgb(255 255 255 / 10%));
  border-radius: 7px;
  background: var(--bg-secondary, #2d2d2d);
  color: var(--text-primary, #d4d4d4);
  flex: 0 0 auto;
  font-family: var(--font-mono, monospace);
  font-size: 12px;
  font-weight: 600;
  min-width: 38px;
  height: 32px;
  padding: 0 8px;
  touch-action: manipulation;
}

._mobileControlButton_1001o_224:active {
  background: var(--list-item-active-bg, rgb(255 255 255 / 12%));
  transform: translateY(1px);
}

._mobileControlButton_1001o_224:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent-color, #0dbc79) 70%, transparent);
  outline-offset: 2px;
}

@media (width <= 767px) {
  ._mobileControlBar_1001o_220 {
    display: flex;
    align-items: center;
    gap: 6px;
    overflow-x: auto;
    padding: 6px 8px;
    border-top: 1px solid var(--border-default, rgb(255 255 255 / 8%));
    background: var(--bg-primary);
    flex-shrink: 0;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  ._mobileControlBar_1001o_220::-webkit-scrollbar {
    display: none;
  }
}

/* ── Exit footer ── */

._exitFooter_1001o_270 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 10px;
  background: var(--bg-secondary, #2d2d2d);
  border-top: 1px solid var(--border-default, rgb(255 255 255 / 8%));
  flex-shrink: 0;
}

._exitFooterText_1001o_280 {
  color: var(--text-tertiary, #999);
  font-size: 11px;
}

._restartFooterButton_1001o_285 {
  padding: 2px 10px;
  border: 1px solid var(--border-strong, #555);
  border-radius: 4px;
  background: transparent;
  color: var(--text-primary, #d4d4d4);
  cursor: pointer;
  font-size: 11px;
}

._restartFooterButton_1001o_285:hover {
  background: rgb(255 255 255 / 8%);
  border-color: #888;
}

/* ── New terminal button ── */

._newButton_1001o_302:hover {
  background: rgb(13 188 121 / 16%);
  color: #0dbc79;
}

/* ── Terminal tabs ── */

._tabs_1001o_309 {
  display: flex;
  align-items: center;
  gap: 1px;
  flex: 1;
  min-width: 0;
  overflow: auto hidden;
  scrollbar-width: none;
}

._tabs_1001o_309::-webkit-scrollbar {
  display: none;
}

._tab_1001o_309 {
  display: flex;
  align-items: center;
  gap: 5px;
  max-width: 140px;
  border: none;
  border-radius: 5px;
  background: transparent;
  color: var(--text-secondary, #999);
  cursor: pointer;
  padding: 3px 6px;
  font-size: 11px;
  font-family: var(--font-mono, monospace);
  transition:
    background 0.12s ease,
    color 0.12s ease;
  flex-shrink: 0;
}

._tab_1001o_309:hover {
  background: var(--list-item-hover-bg, rgb(255 255 255 / 6%));
  color: var(--text-primary, #d4d4d4);
}

._tabActive_1001o_347 {
  background: var(--list-item-active-bg, rgb(255 255 255 / 8%));
  color: var(--text-primary, #d4d4d4);
}

._tabDot_1001o_352 {
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}

._tabDotActive_1001o_359 {
  background: #0dbc79;
}

._tabDotExited_1001o_363 {
  background: #666;
}

._tabLabel_1001o_367 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._tabClose_1001o_373 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  border-radius: 3px;
  opacity: 0.4;
  cursor: pointer;
  transition:
    opacity 0.12s,
    background 0.12s;
}

._tabClose_1001o_373:hover {
  opacity: 1;
  background: var(--list-item-hover-bg, rgb(255 255 255 / 10%));
}
._container_164e1_1 {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 0;
  position: relative;
  background: var(--bg-elevated, #1e1e1e);
}

._closeButton_164e1_11 {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-tertiary, #999);
  cursor: pointer;
  font-size: 13px;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}

._closeButton_164e1_11:hover {
  background: rgb(255 255 255 / 10%);
  color: var(--text-primary, #d4d4d4);
}

._content_164e1_36 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 24px;
}

._icon_164e1_44 {
  color: var(--text-tertiary, #555);
  opacity: 0.6;
}

._title_164e1_49 {
  margin: 0;
  font-size: 13px;
  color: var(--text-tertiary, #999);
}

._createButton_164e1_55 {
  padding: 8px 20px;
  border: 1px solid rgb(13 188 121 / 40%);
  border-radius: 8px;
  background: rgb(13 188 121 / 8%);
  color: #0dbc79;
  cursor: pointer;
  font-size: 13px;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}

._createButton_164e1_55:hover {
  background: rgb(13 188 121 / 16%);
  border-color: rgb(13 188 121 / 60%);
}
/* SplitChatLayout — 消息列表 + 终端分屏布局
 *
 * Desktop: [ Messages | Terminal ]  (horizontal, side by side)
 * Mobile:  [ Terminal / Messages ]  (vertical, stacked)
 */

._container_1k5vf_7 {
  flex: 1;
  display: flex;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

/* ── Horizontal split (desktop, default) ── */

._horizontal_1k5vf_17 {
  flex-direction: row;
}

._messages_1k5vf_21 {
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
}

._terminal_1k5vf_28 {
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  border-left: 1px solid var(--border-default, rgb(255 255 255 / 8%));
}

/* ── Vertical split (mobile) ── */

._vertical_1k5vf_38 {
  flex-direction: column;
}

/* Terminal on top, messages below */
._vertical_1k5vf_38 ._messages_1k5vf_21 {
  order: 2;
}

._vertical_1k5vf_38 ._splitter_1k5vf_47 {
  order: 1;
}

._vertical_1k5vf_38 ._terminal_1k5vf_28 {
  order: 0;
  border-left: none;
  border-bottom: 1px solid var(--border-default, rgb(255 255 255 / 8%));
}

/* ── Splitter handle ── */

._splitter_1k5vf_47 {
  flex-shrink: 0;
  position: relative;
  background: transparent;
}

._splitter_1k5vf_47:focus-visible {
  outline: none;
}

/* Horizontal splitter (between left and right) */
._splitterHorizontal_1k5vf_70 {
  width: 4px;
  cursor: col-resize;
}

._splitterHorizontal_1k5vf_70::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1px;
  width: 2px;
  background: transparent;
  transition: background-color 0.15s ease;
}

._splitterHorizontal_1k5vf_70:hover::after,
._splitterHorizontal_1k5vf_70:active::after,
._splitterHorizontal_1k5vf_70:focus-visible::after {
  background: var(--color-primary);
  box-shadow: 0 0 0 1px var(--bg-primary);
}

/* Vertical splitter (between top and bottom) */
._splitterVertical_1k5vf_94 {
  height: 4px;
  cursor: row-resize;
}

._splitterVertical_1k5vf_94::after {
  content: '';
  position: absolute;
  inset: 1px 0;
  height: 2px;
  background: transparent;
  transition: background-color 0.15s ease;
}

._splitterVertical_1k5vf_94:hover::after,
._splitterVertical_1k5vf_94:active::after,
._splitterVertical_1k5vf_94:focus-visible::after {
  background: var(--color-primary);
  box-shadow: 0 0 0 1px var(--bg-primary);
}
/* 菜单 portal 到 body，与移动端抽屉（ChatSidebar .container，z-index 1000）同处
   root 层叠上下文：overlay 必须高于抽屉，否则点击抽屉内的空白处不会关闭菜单。 */
._overlay_sx4uf_3 {
  position: fixed;
  inset: 0;
  z-index: 1001;
}

._menu_sx4uf_9 {
  position: fixed;
  min-width: 140px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  box-shadow: var(--shadow-lg);
  padding: 4px;
  z-index: 1002;
  animation: _contextMenuIn_sx4uf_1 0.12s ease;
}

._itemContainer_sx4uf_21 {
  position: relative;
}

._item_sx4uf_21 {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 12px;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: var(--text-primary);
  font-size: 13px;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s ease;

  /* 菜单按钮文字不能被选中，否则 iOS 在菜单出现后会自动高亮。 */
  user-select: none;
}

._item_sx4uf_21:hover,
._item_sx4uf_21._highlighted_sx4uf_45,
._item_sx4uf_21:focus-visible {
  background: var(--hover-bg);
}

._item_sx4uf_21._danger_sx4uf_50 {
  color: var(--color-error);
}

._item_sx4uf_21._danger_sx4uf_50:hover,
._item_sx4uf_21._danger_sx4uf_50._highlighted_sx4uf_45,
._item_sx4uf_21._danger_sx4uf_50:focus-visible {
  background: var(--color-error-light);
}

._submenuChevron_sx4uf_60 {
  margin-left: auto;
}

._submenu_sx4uf_60 {
  position: fixed;
  min-width: 140px;
  max-width: calc(100vw - 8px);
  padding: 4px;
  overflow-y: auto;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  box-shadow: var(--shadow-lg);
  animation: _contextMenuIn_sx4uf_1 0.12s ease;
}

._separator_sx4uf_77 {
  height: 1px;
  margin: 4px 8px;
  background: var(--border-color);
}

@keyframes _contextMenuIn_sx4uf_1 {
  from {
    opacity: 0;
    transform: scale(0.96);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}
._content_6az7o_1 {
  z-index: 10000;
  max-width: 280px;
  padding: 6px 8px;
  border-radius: 7px;
  background: rgb(24 24 27 / 96%);
  color: #fff;
  font-size: 12px;
  line-height: 1.45;
  box-shadow: 0 8px 24px rgb(0 0 0 / 18%);
  user-select: none;
  overflow-wrap: break-word;
  animation: _tooltipIn_6az7o_1 120ms ease-out both;
}

._scrollable_6az7o_16 {
  max-height: 200px;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

._arrow_6az7o_22 {
  fill: rgb(24 24 27 / 96%);
}

@keyframes _tooltipIn_6az7o_1 {
  from {
    opacity: 0;
    transform: translateY(2px) scale(0.98);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
/* SessionTabs — 群聊线程标签栏
 *
 * 设计文档 §6.2 视觉规格：
 * - 第二层（线程级），浅灰背景
 * - Tab: 12.5px 字号，active 使用内容表面 + 主文字（字重与未激活一致，避免宽度重排）
 * - 状态点：streaming 半透明中性灰脉冲，paused 琥珀色，completed 绿色
 * - 活跃 tab streaming 使用 1px 半透明主题色静态状态线（2026-08-10 起移除扫光动画）
 * - 未读：通过 completed 绿色点表达（已读则无点）
 * - 关闭按钮：hover 时出现，active tab 始终 50% 透明
 * - 新建按钮：实心主题色背景
 * - 横向滚动：隐藏滚动条 + 左右渐变遮罩
 */

._wrapper_1vib0_14 {
  --session-tabs-background: var(--bg-tertiary);
  --session-tab-hover-background: var(--bg-active);
  --session-tab-inactive-text: color-mix(in oklch, var(--text-secondary) 85%, var(--text-primary));

  position: relative;
  z-index: 1;
  background: var(--session-tabs-background);
  box-shadow: 0 1px 3px rgb(0 0 0 / 6%);
  display: flex;
  align-items: center;
}

html[data-theme='dark'] ._wrapper_1vib0_14 {
  --session-tabs-background: var(--bg-secondary);
  --session-tab-hover-background: var(--bg-hover);
  --session-tab-inactive-text: var(--text-secondary);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) ._wrapper_1vib0_14 {
    --session-tabs-background: var(--bg-secondary);
    --session-tab-hover-background: var(--bg-hover);
    --session-tab-inactive-text: var(--text-secondary);
  }
}

/* ── 滚动容器 ─────────────────────────────────────── */

._tabs_1vib0_43 {
  display: flex;
  align-items: center;
  padding: 0;
  gap: 2px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  flex: 1;
  min-width: 0;
}

._tabs_1vib0_43::-webkit-scrollbar {
  display: none;
}

/* ── 渐变遮罩指示器 ─────────────────────────────── */

._wrapper_1vib0_14::before,
._wrapper_1vib0_14::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 24px;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  transition: opacity 200ms;
}

._wrapper_1vib0_14::before {
  left: 0;
  background: linear-gradient(to right, var(--session-tabs-background), transparent);
}

._wrapper_1vib0_14::after {
  right: 0;
  background: linear-gradient(to left, var(--session-tabs-background), transparent);
}

._canScrollLeft_1vib0_84::before {
  opacity: 1;
}

._canScrollRight_1vib0_88::after {
  opacity: 1;
}

/* ── Tab 按钮 ────────────────────────────────────── */

._tab_1vib0_43 {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 6px;
  padding: 8px 14px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--session-tab-inactive-text);
  cursor: pointer;
  border: none;
  border-bottom: none;
  border-radius: 0;
  background: none;
  transition:
    color 120ms,
    background-color 120ms;
  white-space: nowrap;
  position: relative;
  user-select: none;
  line-height: 1.4;
}

._tab_1vib0_43:hover {
  color: var(--text-primary);
  background: var(--session-tab-hover-background);
}

._tabActive_1vib0_122 {
  color: var(--text-primary);
  background: var(--bg-primary);
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}

._tabActive_1vib0_122:hover {
  color: var(--text-primary);
  background: var(--bg-primary);
}

._tabActive_1vib0_122 ._defaultIcon_1vib0_133,
._tabActive_1vib0_122 ._tabClose_1vib0_134 {
  color: var(--text-primary);
}

/* ── 状态点 ──────────────────────────────────────── */

._statusDot_1vib0_140 {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}

._statusDotStreaming_1vib0_147 {
  background: var(--color-info);
  animation: _tab-dot-pulse_1vib0_1 1.5s ease-in-out infinite;
}

._statusDotCompleted_1vib0_152 {
  background: var(--color-success);
}

._statusDotPaused_1vib0_156 {
  background: var(--color-warning);
}

@keyframes _tab-dot-pulse_1vib0_1 {
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.6;
  }
}

/* ── 活跃 tab streaming 状态线 ────────────────────────
 * 活跃表面表达当前选择，1px 半透明主题色静态状态线只表达正在运行；
 * 非活跃 tab 的 streaming 状态点继续使用独立状态色。
 *
 * 2026-08-10：移除 underline-sweep 无限扫光动画。激活态必须"切换即稳定"，
 * 切到正在输出的会话后下划线持续往复扫动会被感知为闪烁。 */

._tabStreamingActive_1vib0_178::after {
  content: '';
  position: absolute;
  left: 4px;
  right: 4px;
  bottom: 0;
  height: 1px;
  border-radius: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    color-mix(in oklch, var(--color-primary) 65%, transparent),
    transparent
  );
}

@media (prefers-reduced-motion: reduce) {
  ._statusDotStreaming_1vib0_147 {
    animation: none;
  }
}

/* ── 默认线程 Tab ────────────────────────────────── */

._tabDefault_1vib0_202 {
  font-weight: 500;
}

._tabActive_1vib0_122._tabDefault_1vib0_202 {
  font-weight: 500;
}

/* ── Tab 标题文本 ────────────────────────────────── */

._tabTitle_1vib0_212 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100px;
}

/* ── 默认标签 ────────────────────────────────────── */

._defaultIcon_1vib0_133 {
  flex-shrink: 0;
  color: var(--text-tertiary);
}

/* ── 内联编辑输入框 ──────────────────────────────── */

._tabInput_1vib0_228 {
  box-sizing: border-box;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  background: var(--bg-primary);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-sm);
  padding: 0 4px;
  outline: none;
  min-width: 60px;
  max-width: 180px;
  height: 1.4em;
  line-height: inherit;
}

._tabInput_1vib0_228:focus-visible {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px color-mix(in oklch, var(--color-primary) 30%, transparent);
}

/* ── 关闭按钮 ────────────────────────────────────── */

._tabClose_1vib0_134 {
  width: 14px;
  height: 14px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-tertiary);
  opacity: 0;
  transition: all 120ms;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
}

._tab_1vib0_43:hover ._tabClose_1vib0_134 {
  opacity: 1;
}

/* 活跃 tab 的关闭按钮始终 50% 可见 */
._tabCloseActive_1vib0_274 {
  opacity: 0.5;
}

._tabClose_1vib0_134:hover {
  background: var(--bg-tertiary);
  color: var(--red-500);
}

/* ── 新建线程按钮 ────────────────────────────────── */

._newBtn_1vib0_285 {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  border: 1px solid var(--gray-300);
  background: transparent;
  color: var(--gray-500);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  transition: all 150ms ease;
  flex-shrink: 0;
  padding: 0;
}

._newBtn_1vib0_285:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: var(--color-primary-muted);
}

._newBtn_1vib0_285:focus-visible {
  outline: none;
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: var(--color-primary-muted);
  box-shadow: 0 0 0 2px var(--color-primary-medium);
}
._container_1mje5_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

/* ── Search bar ── */

._searchBar_1mje5_10 {
  display: flex;
  align-items: center;
  padding: 6px;
  flex-shrink: 0;
  position: relative;
}

._searchIcon_1mje5_18 {
  position: absolute;
  left: 16px;
  color: var(--text-muted, var(--gray-500));
  flex-shrink: 0;
  pointer-events: none;
}

._searchInput_1mje5_26 {
  flex: 1;
  min-width: 0;
  height: 30px;
  border: 1px solid var(--border-color, rgb(0 0 0 / 6%));
  border-radius: 7px;
  background: var(--bg-tertiary, rgb(0 0 0 / 3%));
  color: var(--text-primary);
  font-size: 12.5px;
  outline: none;
  padding: 0 10px 0 32px;
  transition:
    border-color 0.15s,
    background-color 0.15s;
}

._searchInput_1mje5_26:focus {
  border-color: color-mix(in oklch, var(--color-primary) 40%, transparent);
  background: var(--bg-primary, transparent);
}

._searchInput_1mje5_26::placeholder {
  color: var(--text-muted, var(--gray-500));
}

._searchClear_1mje5_51 {
  position: absolute;
  right: 20px;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--text-muted, var(--gray-500));
  background: transparent;
  border: none;
  padding: 0;
  flex-shrink: 0;
  transition: color 0.12s ease;
}

._searchClear_1mje5_51:hover {
  color: var(--text-primary);
}

/* ── Session list ── */

._list_1mje5_74 {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 2px -0 8px 0;
  scrollbar-color: var(--scrollbar-thumb) transparent;
}

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

/* ── Session item ── */

._item_1mje5_88 {
  box-sizing: border-box;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 48px;
  padding: 7px 10px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.1s ease;
  margin-bottom: 1px;
}

._item_1mje5_88:hover {
  background: var(--hover-bg, rgb(0 0 0 / 3.5%));
}

._itemActive_1mje5_111 {
  background: var(--color-primary-light);
}

._itemActive_1mje5_111:hover {
  background: color-mix(in oklch, var(--color-primary) 14%, transparent);
}

._itemTitle_1mje5_119 {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.35;
}

._itemTitleText_1mje5_129 {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._itemActive_1mje5_111 ._itemTitleText_1mje5_129 {
  color: var(--color-primary);
}

._itemPreview_1mje5_141 {
  font-size: 11.5px;
  color: var(--text-muted, var(--gray-500));
  margin-top: 1px;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}

._itemPreviewText_1mje5_154 {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._itemTime_1mje5_162 {
  flex-shrink: 0;
  font-size: 11px;
  color: var(--text-muted, var(--gray-500));
  opacity: 0.7;
}

/* ── Empty / no-results state ── */

._emptyState_1mje5_171 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 40px 20px;
  text-align: center;
}

._emptyText_1mje5_181 {
  margin: 0;
  font-size: 12.5px;
  color: var(--text-muted, var(--gray-500));
}

._newSessionBtn_1mje5_187,
._clearSearchBtn_1mje5_188 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 7px;
  border: 1px solid var(--border-color, rgb(0 0 0 / 8%));
  background: var(--bg-tertiary, rgb(0 0 0 / 3%));
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.12s ease;
}

._newSessionBtn_1mje5_187:hover,
._clearSearchBtn_1mje5_188:hover {
  background: var(--hover-bg, rgb(0 0 0 / 6%));
}

/* ── Status dot ── */

._itemStatusDot_1mje5_210 {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}

._dotStreaming_1mje5_217 {
  background: var(--color-info);
  animation: _session-dot-pulse_1mje5_1 1.5s ease-in-out infinite;
}

._dotCompleted_1mje5_222 {
  background: var(--color-success);
}

._dotPaused_1mje5_226 {
  background: var(--color-warning);
}

@keyframes _session-dot-pulse_1mje5_1 {
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.6;
  }
}
/* GroupEmptyState — 安静的起步引导 */

._container_kw9ug_3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  user-select: none;
}

._icon_kw9ug_12 {
  color: var(--text-tertiary);
  opacity: 0.5;
  margin-bottom: 16px;
}

._title_kw9ug_18 {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 8px;
}

._hint_kw9ug_25 {
  font-size: 12px;
  color: var(--text-tertiary);
  max-width: 280px;
  text-align: center;
  line-height: 1.5;
}
._image_xuo2k_1 {
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

._fallback_xuo2k_7 {
  border-radius: 50%;
  color: white;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  user-select: none;
}
/* EmptySessionGuide — 空 Session 引导态 */

._container_o1hsl_3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  gap: 16px;
  user-select: none;
}

/* 图标容器 — 主题色轻量背景，区别于系统消息 */
._iconBox_o1hsl_14 {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: var(--color-primary-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  box-shadow: var(--shadow-xs, 0 1px 2px rgb(0 0 0 / 4%));
}

/* 标题区 */
._info_o1hsl_27 {
  text-align: center;
}

._threadTitle_o1hsl_31 {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 4px;
}

._groupName_o1hsl_38 {
  font-size: 13px;
  color: var(--text-secondary);
}

/* 成员行 */
._memberRow_o1hsl_44 {
  display: flex;
  align-items: center;
  gap: 4px;
  padding-left: 4px;
}

._memberAvatars_o1hsl_51 {
  display: flex;
}

._memberAvatar_o1hsl_51 {
  margin-left: -4px;
  border-radius: var(--radius-md, 6px);
  border: 2px solid var(--bg-primary);
}

._memberAvatar_o1hsl_51:first-child {
  margin-left: 0;
}

._memberCount_o1hsl_65 {
  font-size: 11px;
  color: var(--text-tertiary);
  margin-left: 6px;
}

/* 引导文案 */
._hint_o1hsl_72 {
  font-size: 13px;
  color: var(--text-tertiary);
  margin-top: 4px;
}
._message_umnu8_1 {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 100%;
  animation: _messageSlideIn_umnu8_1 0.3s ease-out;
}

._message_umnu8_1._fullWidth_umnu8_9 {
  width: 100%;
}

._message_umnu8_1._user_umnu8_13 {
  align-self: flex-end;
  align-items: flex-end;
}

._message_umnu8_1._agent_umnu8_18 {
  align-self: flex-start;
  align-items: stretch;

  /* agent 消息恒定全宽（卡片化）：宽度锚定列宽而非内容，流式期间不抖动 */
  width: 100%;
  max-width: 100%;
}

._message_umnu8_1._agent_umnu8_18._collapsedMessage_umnu8_27 {
  width: 100%;
  max-width: 100%;
}

._dotOnlyPlaceholderSpacing_umnu8_32 {
  padding-bottom: 12px;
}

._virtualSliceMessage_umnu8_36 {
  width: 100%;
  max-width: 100%;
  animation: none;
}

._virtualSliceFragment_umnu8_42 {
  box-sizing: border-box;
  display: flex;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  flex-direction: column;
  overflow: clip visible;
}

._virtualSliceHeader_umnu8_52 {
  margin-top: 10px;
  margin-bottom: 2px;
}

._virtualSliceContent_umnu8_57,
._virtualSliceContainer_umnu8_58 {
  margin: 0;
}

._virtualSliceFooter_umnu8_62 {
  margin-top: 2px;
  margin-bottom: 10px;
}

._virtualCollabShell_umnu8_67 ._contentCol_umnu8_67 {
  box-sizing: border-box;
  width: calc(100% - 32px);
  margin: 2px 16px;
  padding-left: 10px;
  border-left: 2px solid var(--color-primary);
}

._virtualCollabBodySlice_umnu8_75 ._contentCol_umnu8_67 {
  box-sizing: border-box;
  width: calc(100% - 32px);
  margin: 0 16px 2px;
  padding-left: 10px;
  border-left: 2px solid var(--color-primary);
}

._virtualCollabShell_umnu8_67 + ._virtualCollabBodySlice_umnu8_75 ._contentCol_umnu8_67 {
  margin-top: -2px;
}

._virtualCollabBodySlice_umnu8_75 ._blockStack_umnu8_87 {
  gap: 6px;
}

._virtualCollabBodyContent_umnu8_91 {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: clip visible;
  padding: 0;
  color: var(--text-primary);
  font-size: 0.875rem;
  line-height: 1.6;
}

._virtualCollabShell_umnu8_67[data-container-type='handoff'] ._contentCol_umnu8_67 {
  border-left-color: var(--color-info);
}

/* ── Agent 消息壳布局 ── */

/* 群聊：上头像 + 下内容，竖向排列 */
._groupLayout_umnu8_110 {
  flex-direction: column;
  gap: 4px;
  max-width: 100%;
  align-items: flex-start;
}

/* 单聊：无头像列，contentCol 占满宽度 */
._agentShellCompact_umnu8_118 {
  flex-direction: column;
  align-items: flex-start;
}

._avatarCol_umnu8_123 {
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  border-radius: 4px;
  transition: opacity 0.15s ease;
}

._avatarCol_umnu8_123:hover {
  opacity: 0.75;
}

/* 头像行：头像 + 名称 水平排列 */
._senderHeader_umnu8_137 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._contentCol_umnu8_67 {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 4px;
  container: message-content / inline-size;
}

._delegatedMessageContent_umnu8_153 {
  align-items: flex-end;
}

._delegatedMessageContent_umnu8_153 > ._virtualSliceUserBubble_umnu8_157 {
  max-width: min(560px, 100%);
}

/* 消息进入动画 */
@keyframes _messageSlideIn_umnu8_1 {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

._senderLabel_umnu8_174 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  border-radius: 4px;
  transition: opacity 0.15s ease;
}

._senderLabel_umnu8_174:hover {
  opacity: 0.75;
}

._senderName_umnu8_191 {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
}

._bubble_umnu8_197 {
  padding: 10px 14px;
  border-radius: 12px;
  max-width: 100%;
  transition: box-shadow 0.2s ease;
  position: relative;
}

._bubble_umnu8_197:hover {
  box-shadow: var(--shadow-md);
}

._message_umnu8_1._user_umnu8_13 ._bubble_umnu8_197 {
  background: linear-gradient(to bottom right, var(--user-bubble-from), var(--user-bubble-to));
  color: var(--user-bubble-text);
  border: 1px solid var(--user-bubble-border);
  border-bottom-right-radius: 4px;
}

._message_umnu8_1._agent_umnu8_18 ._bubble_umnu8_197 {
  background: var(--bg-secondary);
  color: var(--text-primary);
  border-bottom-left-radius: 4px;
  border: 1px solid var(--border-default);
  padding: 12px 16px;
  padding-bottom: 10px;
}

._message_umnu8_1._agent_umnu8_18 ._bubble_umnu8_197._hasUsage_umnu8_225 {
  padding-bottom: 20px;
}

._message_umnu8_1._agent_umnu8_18 ._bubble_umnu8_197._embeddedBubble_umnu8_229._hasUsage_umnu8_225 {
  padding-bottom: 10px;
}

/* ── Block 级渲染：Agent 消息的 TextBubble / TextSection ── */

._textBubble_umnu8_235 {
  padding: 12px 16px;
  border-radius: 12px;
  border-bottom-left-radius: 4px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  border: 1px solid var(--border-default);
  max-width: 100%;
  margin: 4px 0;
  transition: box-shadow 0.2s ease;
}

._textBubble_umnu8_235:hover {
  box-shadow: var(--shadow-md);
}

._textSection_umnu8_251 {
  padding: 2px 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

._textSection_umnu8_251:hover {
  box-shadow: none;
}

._embeddedBubble_umnu8_229 {
  padding: 12px 16px;
  width: fit-content;
  max-width: 100%;
}

._virtualSliceBubble_umnu8_270 {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow: clip visible;

  /* 允许用户选择气泡内文字；
     长按菜单由 useLongPress 处理，回调中会清除浏览器选区 */
  user-select: text;
  -webkit-touch-callout: none;
  touch-action: manipulation;
}

._virtualSliceAgentBubble_umnu8_283 {
  background: var(--bg-secondary);
  color: var(--text-primary);
  border: 1px solid var(--border-default);
  border-bottom-left-radius: 4px;
  padding: 12px 16px 10px;
}

._emptyAgentBubble_umnu8_291 {
  padding: 7px 10px;
  background: transparent;
  border-color: color-mix(in srgb, var(--border-default) 65%, transparent);
  box-shadow: none;

  /* 三点占位/空消息例外：无内容可锚定，保持内容宽，不参与全宽卡片化（空框拉满整行很怪） */
  width: fit-content;
}

._emptyAgentBubble_umnu8_291:hover {
  box-shadow: none;
}

._emptyAgentContent_umnu8_305 {
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 18px;
}

._virtualSliceAgentBubble_umnu8_283._virtualSliceBubbleContinued_umnu8_311 {
  padding-top: 0;
}

._virtualSliceUserBubble_umnu8_157 {
  width: fit-content;
  align-self: flex-end;
  background: linear-gradient(to bottom right, var(--user-bubble-from), var(--user-bubble-to));
  color: var(--user-bubble-text);
  border: 1px solid var(--user-bubble-border);
  border-bottom-right-radius: 4px;
  font-size: 14px;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: break-word;
}

._virtualSliceBubbleContinued_umnu8_311 {
  margin-top: -1px;
  border-top-color: transparent;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

._virtualSliceBubbleContinues_umnu8_335 {
  border-bottom-color: transparent;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

._virtualCollabShellBubble_umnu8_341 {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 5px 0;
  width: 100%;
  min-width: 0;
  border-radius: var(--radius-sm);
  border: none;
  background: transparent;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 18px;
  box-shadow: none;
}

._virtualCollabShellBubble_umnu8_341:hover {
  box-shadow: none;
}

._virtualCollabShellToggle_umnu8_362 {
  appearance: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

._virtualCollabShellToggle_umnu8_362:hover {
  background: var(--bg-hover);
  margin: 0 -6px;
  padding: 5px 6px;
  box-shadow: none;
}

._virtualCollabShellToggle_umnu8_362:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

._virtualContainerChevron_umnu8_381 {
  display: inline-flex;
  width: 12px;
  flex: 0 0 12px;
  justify-content: center;
  color: var(--text-tertiary);
  font-size: 11px;
}

._virtualCollabShellIcon_umnu8_390 {
  display: inline-flex;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
}

._virtualCollabShellTitle_umnu8_400 {
  display: inline-flex;
  flex: 1;
  min-width: 0;
  align-items: center;
  gap: 4px;
  overflow: hidden;
  color: var(--text-secondary);
  white-space: nowrap;
}

._virtualCollabShellParticipants_umnu8_411 {
  display: inline-flex;
  flex-shrink: 0;
  min-width: 0;
  align-items: center;
  gap: 4px;
}

._virtualCollabShellParticipants_umnu8_411 strong {
  color: var(--text-primary);
  font-weight: 600;
}

._virtualCollabShellAction_umnu8_424 {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  color: var(--text-secondary);
  text-overflow: ellipsis;
  white-space: nowrap;
}

._virtualCollabShellArrow_umnu8_433 {
  color: var(--text-tertiary);
}

._virtualCollabShellMeta_umnu8_437 {
  flex-shrink: 0;
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 18px;
  white-space: nowrap;
}

._virtualSliceBlockStack_umnu8_445 {
  display: flex;
  min-width: 0;
  max-width: 100%;
  flex-direction: column;
  gap: 6px;
}

._virtualSliceBlockItem_umnu8_453 {
  min-width: 0;
}

._virtualStreamingTail_umnu8_457 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-top: 8px;
  height: 18px;
  vertical-align: middle;
}

._embeddedBubbleContent_umnu8_467 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._pendingPlaceholder_umnu8_473 {
  display: flex;
  align-items: center;
  padding: 6px 0;
}

._blockMetrics_umnu8_479 {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 2px 4px;
  font-size: 0.7rem;
  color: var(--text-tertiary);
  opacity: 0.8;
  margin: 2px 0;
}

._content_umnu8_67 {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  line-height: 1.5;
  font-size: 14px;
}

._blockStack_umnu8_87 {
  display: flex;
  min-width: 0;
  max-width: 100%;
  flex-direction: column;
  gap: 6px;
}

._blockItem_umnu8_506 {
  min-width: 0;
}

/* 消息折叠相关样式 */
._messageFooter_umnu8_511 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
  padding: 0 4px;
  user-select: none;
}

._groupMetaFooter_umnu8_520 {
  justify-content: space-between;
  gap: 12px;
}

._runtimeStatus_umnu8_525 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  max-width: 100%;
  padding: 2px 4px;
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.4;
}

._runtimeStatusSwitching_umnu8_537 {
  color: color-mix(in srgb, var(--color-warning) 72%, var(--text-secondary) 28%);
}

._runtimeStatusIconSpinning_umnu8_541 {
  flex-shrink: 0;
  animation: _spin_umnu8_1 1.4s linear infinite;
}

._messageFooterActions_umnu8_546 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  min-width: 0;
}

._message_umnu8_1._user_umnu8_13 ._messageFooter_umnu8_511 {
  flex-direction: row-reverse;
}

/* 用户消息：默认显示操作按钮（重发、复制），避免 footer 内容被隐藏 */
._message_umnu8_1._user_umnu8_13 ._messageFooterActions_umnu8_546 {
  opacity: 1;
  pointer-events: auto;
}

._timestamp_umnu8_564 {
  margin-left: auto;
  font-size: 11px;
  color: var(--text-tertiary);
  white-space: nowrap;
  user-select: none;
}

._groupMetaFooter_umnu8_520 ._timestamp_umnu8_564 {
  margin-left: 0;
}

._copyButton_umnu8_576 {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  font-size: 12px;
  white-space: nowrap;
  color: var(--text-tertiary);
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  user-select: none;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    opacity 0.2s ease;
  opacity: 0.6;
}

._copyButton_umnu8_576:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
  opacity: 1;
}

._copyButton_umnu8_576:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._errorBlock_umnu8_607 {
  margin-top: 8px;
  padding: 8px;
  border: 1px solid var(--color-error-strong);
  border-radius: 6px;
  background: var(--color-error-faint);
}

._errorHeader_umnu8_615 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
  color: var(--color-error);
}

._errorType_umnu8_623 {
  font-size: 12px;
  font-weight: 500;
}

._errorMessage_umnu8_628 {
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.5;
}

._errorDetails_umnu8_634 {
  margin-top: 8px;
  font-size: 11px;
  color: var(--text-tertiary);
}

._errorDetailsSummary_umnu8_640 {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  cursor: pointer;
  user-select: none;
}

._errorDetailsSummaryRow_umnu8_648 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

._errorDetailsCopyButton_umnu8_655 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 6px;
  border: 1px solid var(--border-default);
  border-radius: 4px;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  user-select: none;
  font-size: 11px;
}

._errorDetailsCopyButton_umnu8_655:hover {
  background: var(--color-bg-secondary);
}

._errorDetailsCopyButton_umnu8_655:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._errorDetailsContent_umnu8_678 {
  margin: 6px 0 0;
  padding: 8px;
  max-height: 220px;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  border-radius: 4px;
  background: var(--color-bg-secondary);
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
}

._messageMetrics_umnu8_690 {
  position: absolute;
  bottom: 4px;
  right: 8px;
  font-size: 0.7rem;
  color: var(--text-tertiary);
  opacity: 0.8;
  z-index: 1;
  padding: 1px 4px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 6px;
}

._embeddedMessageMetrics_umnu8_705 {
  position: static;
  margin-top: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  opacity: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
}

._embeddedMessageMetrics_umnu8_705 ._fallbackTransitionBanner_umnu8_718 {
  align-self: center;
}

._messageMetricsPrimary_umnu8_722 {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  flex: 0 1 auto;
}

._embeddedMessageMetricsPrimary_umnu8_730 {
  padding-top: 10px;
  justify-content: center;
}

._messageMetricsMeta_umnu8_735 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  min-width: 0;
  flex: 1;
  flex-wrap: nowrap;
  overflow: hidden;
  color: var(--text-tertiary);
  font-size: 11px;
}

._embeddedMessageMetrics_umnu8_705 ._messageMetricsMeta_umnu8_735 {
  justify-content: flex-start;
}

._messageMetricsMeta_umnu8_735 > * {
  display: inline-flex;
  align-items: center;
}

._messageMetricsMeta_umnu8_735 > * + *::before {
  content: '·';
  margin: 0 6px;
  color: color-mix(in srgb, var(--text-tertiary) 72%, transparent);
}

._metricsStreaming_umnu8_763 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: color-mix(in srgb, var(--text-secondary) 82%, var(--text-tertiary) 18%);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.01em;
}

._fallbackTransitionBanner_umnu8_718 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  max-width: 100%;
  min-height: 24px;
  padding: 4px 9px;
  border: 1px solid color-mix(in srgb, var(--color-warning) 26%, transparent);
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--color-warning-light) 72%, var(--bg-primary) 28%),
    color-mix(in srgb, var(--color-warning-light) 42%, var(--bg-primary) 58%)
  );
  color: color-mix(in srgb, var(--color-warning) 72%, var(--text-secondary) 28%);
  font-size: 12px;
  line-height: 1.3;
  font-weight: 500;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--color-warning) 8%, transparent);
  animation: _fallbackBannerIn_umnu8_1 180ms ease-out;
}

._runtimeDetails_umnu8_796 {
  max-width: min(100%, 360px);
}

._runtimeDetails_umnu8_796 > summary {
  list-style: none;
  cursor: pointer;
}

._runtimeDetails_umnu8_796 > summary::-webkit-details-marker {
  display: none;
}

._runtimeDetailsContent_umnu8_809 {
  display: grid;
  gap: 4px;
  margin-top: 4px;
  padding: 7px 9px;
  border: 1px solid color-mix(in srgb, var(--color-warning) 20%, var(--border-default));
  border-radius: 6px;
  background: var(--color-bg-secondary);
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.35;
}

._runtimeDetail_umnu8_796 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

._runtimeDetail_umnu8_796 strong {
  min-width: 0;
  color: var(--text-secondary);
  font-weight: 500;
  text-align: right;
  overflow-wrap: anywhere;
}

._fallbackTransitionIcon_umnu8_836 {
  flex-shrink: 0;
  animation: _spin_umnu8_1 1.4s linear infinite;
}

._fallbackTransitionText_umnu8_841 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@keyframes _fallbackBannerIn_umnu8_1 {
  from {
    opacity: 0;
    transform: translateY(2px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

._tokenUsage_umnu8_859 {
  cursor: help;
  font-variant-numeric: tabular-nums;
  min-width: 3.5em;
  text-align: right;
  white-space: nowrap;
  flex-shrink: 0;
}

._duration_umnu8_868 {
  color: inherit;
  opacity: 0.68;
  font-variant-numeric: tabular-nums;
  min-width: 3.2em;
  text-align: right;
  white-space: nowrap;
  flex-shrink: 0;
}

._modelLabel_umnu8_878 {
  cursor: help;
  color: inherit;
  opacity: 0.9;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

._modelLabelFallback_umnu8_888 {
  color: var(--color-warning);
  background: var(--color-warning-light);
  padding: 0 3px;
  border-radius: 3px;
}

._bubble_umnu8_197:hover ._messageMetrics_umnu8_690 {
  opacity: 1;
}

/* ── 系统消息（如 /compact 状态） ── */
._message_umnu8_1._system_umnu8_900 {
  align-self: center;
  align-items: center;
  max-width: 90%;
  margin-bottom: 10px;
  animation: none;
}

._systemBubble_umnu8_908 {
  padding: 6px 16px;
  border-radius: 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-default);
  font-size: 13px;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 6px;
}

._systemContent_umnu8_920 {
  color: var(--text-secondary);
  white-space: pre-wrap;
  overflow-wrap: break-word;
}

/* 加载旋转动画（用于 /compact 等异步系统消息） */
._loadingSpinner_umnu8_927 {
  animation: _spin_umnu8_1 1s linear infinite;
  color: var(--text-tertiary);
  flex-shrink: 0;
}

@keyframes _spin_umnu8_1 {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/* 监督者标签 — 用户消息 footer */
._supervisorTag_umnu8_944 {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: 11px;
  color: var(--text-tertiary);
  opacity: 0.7;
}

@container message-content (max-width: 420px) {
  ._messageFooter_umnu8_511 ._embeddedMessageMetrics_umnu8_705 {
    display: none;
  }
}

/* ── 响应式：≤768px ────────────────────────────────── */
@media (width <= 768px) {
  ._message_umnu8_1 {
    max-width: 100%;
  }

  ._message_umnu8_1._fullWidth_umnu8_9 {
    width: 100%;
  }

  ._message_umnu8_1._agent_umnu8_18._collapsedMessage_umnu8_27 {
    width: 100%;
    max-width: 100%;
  }

  ._groupLayout_umnu8_110 {
    max-width: 100%;
  }

  ._groupMetaFooter_umnu8_520 {
    flex-wrap: nowrap;
  }

  ._embeddedMessageMetrics_umnu8_705 {
    position: static;
    padding: 0;
    background: transparent;
  }
}

._memoryWriteButton_umnu8_989:disabled {
  opacity: 0.45;
  cursor: default;
}

._savedMessageHighlight_umnu8_994 {
  animation: _savedMessagePulse_umnu8_1 1.8s ease-out;
}

@keyframes _savedMessagePulse_umnu8_1 {
  0% {
    background: color-mix(in srgb, var(--color-primary) 16%, transparent);
  }

  100% {
    background: transparent;
  }
}

/* ── 用户消息发送状态指示器 ── */

._statusArea_umnu8_1010 {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  flex-shrink: 0;
}

._statusDot_umnu8_1018 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

._dot_umnu8_32 {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--text-tertiary);
  opacity: 0.5;
}

._dotSending_umnu8_1035 {
  animation: _dotPulse_umnu8_1 1.2s ease-in-out infinite;
}

._dotError_umnu8_1039 {
  color: var(--color-error);
  cursor: help;
}

._retryButton_umnu8_1044 {
  color: var(--color-error) !important;
  opacity: 0.8;
}

._retryButton_umnu8_1044:hover {
  opacity: 1;
  background: color-mix(in srgb, var(--color-error) 10%, transparent) !important;
}

._recallButton_umnu8_1054 {
  opacity: 0.6;
}

._recallButton_umnu8_1054:hover {
  opacity: 1;
}

@keyframes _dotPulse_umnu8_1 {
  0%,
  100% {
    opacity: 0.3;
    transform: scale(1);
  }

  50% {
    opacity: 0.8;
    transform: scale(1.3);
  }
}

._guidanceStatus_umnu8_1075 {
  font-size: 11px;
  line-height: 1.4;
  color: var(--color-info);
  white-space: nowrap;
}

._broadcastContextDisclosure_umnu8_1082 {
  width: min(100%, 520px);
  margin: 4px 4px 0 auto;
  color: var(--text-tertiary);
  font-size: 11px;
}

._broadcastContextSummary_umnu8_1089 {
  width: fit-content;
  margin-left: auto;
  cursor: pointer;
  font-weight: 600;
  line-height: 1.4;
}

._broadcastContextText_umnu8_1097 {
  margin-top: 6px;
  padding: 8px 10px;
  border-left: 2px solid color-mix(in srgb, var(--color-info) 45%, transparent);
  color: var(--text-secondary);
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.markdown-body {
  --base-size-16: 1rem;
  --base-size-24: 1.5rem;
  --base-size-4: 0.25rem;
  --base-size-40: 2.5rem;
  --base-size-8: 0.5rem;
  --base-text-weight-medium: 500;
  --base-text-weight-normal: 400;
  --base-text-weight-semibold: 600;
  --fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  --fontStack-sansSerif: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  --fgColor-accent: Highlight;
}
@media (prefers-color-scheme: dark) {
  .markdown-body, [data-theme="dark"] {
    /*dark */
    color-scheme: dark;
    --fgColor-accent: #4493f8;
    --bgColor-attention-muted: #bb800926;
    --bgColor-default: #0d1117;
    --bgColor-muted: #151b23;
    --bgColor-neutral-muted: #656c7633;
    --borderColor-accent-emphasis: #1f6feb;
    --borderColor-attention-emphasis: #9e6a03;
    --borderColor-danger-emphasis: #da3633;
    --borderColor-default: #3d444d;
    --borderColor-done-emphasis: #8957e5;
    --borderColor-success-emphasis: #238636;
    --color-prettylights-syntax-brackethighlighter-angle: #9198a1;
    --color-prettylights-syntax-brackethighlighter-unmatched: #f85149;
    --color-prettylights-syntax-carriage-return-bg: #b62324;
    --color-prettylights-syntax-carriage-return-text: #f0f6fc;
    --color-prettylights-syntax-comment: #9198a1;
    --color-prettylights-syntax-constant: #79c0ff;
    --color-prettylights-syntax-constant-other-reference-link: #a5d6ff;
    --color-prettylights-syntax-entity: #d2a8ff;
    --color-prettylights-syntax-entity-tag: #7ee787;
    --color-prettylights-syntax-keyword: #ff7b72;
    --color-prettylights-syntax-markup-bold: #f0f6fc;
    --color-prettylights-syntax-markup-changed-bg: #5a1e02;
    --color-prettylights-syntax-markup-changed-text: #ffdfb6;
    --color-prettylights-syntax-markup-deleted-bg: #67060c;
    --color-prettylights-syntax-markup-deleted-text: #ffdcd7;
    --color-prettylights-syntax-markup-heading: #1f6feb;
    --color-prettylights-syntax-markup-ignored-bg: #1158c7;
    --color-prettylights-syntax-markup-ignored-text: #f0f6fc;
    --color-prettylights-syntax-markup-inserted-bg: #033a16;
    --color-prettylights-syntax-markup-inserted-text: #aff5b4;
    --color-prettylights-syntax-markup-italic: #f0f6fc;
    --color-prettylights-syntax-markup-list: #f2cc60;
    --color-prettylights-syntax-meta-diff-range: #d2a8ff;
    --color-prettylights-syntax-storage-modifier-import: #f0f6fc;
    --color-prettylights-syntax-string: #a5d6ff;
    --color-prettylights-syntax-string-regexp: #7ee787;
    --color-prettylights-syntax-sublimelinter-gutter-mark: #3d444d;
    --color-prettylights-syntax-variable: #ffa657;
    --fgColor-attention: #d29922;
    --fgColor-danger: #f85149;
    --fgColor-default: #f0f6fc;
    --fgColor-done: #ab7df8;
    --fgColor-muted: #9198a1;
    --fgColor-success: #3fb950;
    --borderColor-muted: #3d444db3;
    --color-prettylights-syntax-invalid-illegal-bg: var(--bgColor-danger-muted);
    --color-prettylights-syntax-invalid-illegal-text: var(--fgColor-danger);
    --focus-outlineColor: var(--borderColor-accent-emphasis);
    --borderColor-neutral-muted: var(--borderColor-muted);
  }
}
@media (prefers-color-scheme: light) {
  .markdown-body, [data-theme="light"] {
    /*light */
    color-scheme: light;
    --fgColor-danger: #d1242f;
    --bgColor-attention-muted: #fff8c5;
    --bgColor-muted: #f6f8fa;
    --bgColor-neutral-muted: #818b981f;
    --borderColor-accent-emphasis: #0969da;
    --borderColor-attention-emphasis: #9a6700;
    --borderColor-danger-emphasis: #cf222e;
    --borderColor-default: #d1d9e0;
    --borderColor-done-emphasis: #8250df;
    --borderColor-success-emphasis: #1a7f37;
    --color-prettylights-syntax-brackethighlighter-angle: #59636e;
    --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;
    --color-prettylights-syntax-carriage-return-bg: #cf222e;
    --color-prettylights-syntax-carriage-return-text: #f6f8fa;
    --color-prettylights-syntax-comment: #59636e;
    --color-prettylights-syntax-constant: #0550ae;
    --color-prettylights-syntax-constant-other-reference-link: #0a3069;
    --color-prettylights-syntax-entity: #6639ba;
    --color-prettylights-syntax-entity-tag: #0550ae;
    --color-prettylights-syntax-invalid-illegal-text: var(--fgColor-danger);
    --color-prettylights-syntax-keyword: #cf222e;
    --color-prettylights-syntax-markup-changed-bg: #ffd8b5;
    --color-prettylights-syntax-markup-changed-text: #953800;
    --color-prettylights-syntax-markup-deleted-bg: #ffebe9;
    --color-prettylights-syntax-markup-deleted-text: #82071e;
    --color-prettylights-syntax-markup-heading: #0550ae;
    --color-prettylights-syntax-markup-ignored-bg: #0550ae;
    --color-prettylights-syntax-markup-ignored-text: #d1d9e0;
    --color-prettylights-syntax-markup-inserted-bg: #dafbe1;
    --color-prettylights-syntax-markup-inserted-text: #116329;
    --color-prettylights-syntax-markup-list: #3b2300;
    --color-prettylights-syntax-meta-diff-range: #8250df;
    --color-prettylights-syntax-string: #0a3069;
    --color-prettylights-syntax-string-regexp: #116329;
    --color-prettylights-syntax-sublimelinter-gutter-mark: #818b98;
    --color-prettylights-syntax-variable: #953800;
    --fgColor-accent: #0969da;
    --fgColor-attention: #9a6700;
    --fgColor-done: #8250df;
    --fgColor-muted: #59636e;
    --fgColor-success: #1a7f37;
    --bgColor-default: #ffffff;
    --borderColor-muted: #d1d9e0b3;
    --color-prettylights-syntax-invalid-illegal-bg: var(--bgColor-danger-muted);
    --color-prettylights-syntax-markup-bold: #1f2328;
    --color-prettylights-syntax-markup-italic: #1f2328;
    --color-prettylights-syntax-storage-modifier-import: #1f2328;
    --fgColor-default: #1f2328;
    --focus-outlineColor: var(--borderColor-accent-emphasis);
    --borderColor-neutral-muted: var(--borderColor-muted);
  }
}

.markdown-body {
  /** CSS default easing. Use for hover state changes and micro-interactions. */
  /** Accelerating motion. Use for elements exiting the viewport (moving off-screen). */
  /** Smooth acceleration and deceleration. Use for elements moving or morphing within the viewport. */
  /** Decelerating motion. Use for elements entering the viewport or appearing on screen. */
  /** Constant motion with no acceleration. Use for continuous animations like progress bars or loaders. */
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  font-weight: var(--base-text-weight-normal, 400);
  color: var(--fgColor-default);
  background-color: var(--bgColor-default);
  font-family: var(--fontStack-sansSerif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji");
  font-size: 16px;
  line-height: 1.5;
  word-wrap: break-word;
}

.markdown-body a {
  text-decoration: underline;
  text-underline-offset: .2rem;
}

.markdown-body .octicon {
  display: inline-block;
  fill: currentColor;
  vertical-align: text-bottom;
}

.markdown-body h1:hover .anchor .octicon-link:before,
.markdown-body h2:hover .anchor .octicon-link:before,
.markdown-body h3:hover .anchor .octicon-link:before,
.markdown-body h4:hover .anchor .octicon-link:before,
.markdown-body h5:hover .anchor .octicon-link:before,
.markdown-body h6:hover .anchor .octicon-link:before {
  width: 16px;
  height: 16px;
  content: ' ';
  display: inline-block;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");
  mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");
}

.markdown-body details,
.markdown-body figcaption,
.markdown-body figure {
  display: block;
}

.markdown-body summary {
  display: list-item;
}

.markdown-body [hidden] {
  display: none !important;
}

.markdown-body a {
  background-color: rgba(0,0,0,0);
  color: var(--fgColor-accent);
  text-decoration: none;
}

.markdown-body abbr[title] {
  border-bottom: none;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

.markdown-body b,
.markdown-body strong {
  font-weight: var(--base-text-weight-semibold, 600);
}

.markdown-body dfn {
  font-style: italic;
}

.markdown-body h1 {
  margin: .67em 0;
  font-weight: var(--base-text-weight-semibold, 600);
  padding-bottom: .3em;
  font-size: 2em;
  border-bottom: 1px solid var(--borderColor-muted);
}

.markdown-body mark {
  background-color: var(--bgColor-attention-muted);
  color: var(--fgColor-default);
}

.markdown-body small {
  font-size: 90%;
}

.markdown-body sub,
.markdown-body sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

.markdown-body sub {
  bottom: -0.25em;
}

.markdown-body sup {
  top: -0.5em;
}

.markdown-body img {
  border-style: none;
  max-width: 100%;
  box-sizing: content-box;
}

.markdown-body code,
.markdown-body kbd,
.markdown-body pre,
.markdown-body samp {
  font-family: monospace;
  font-size: 1em;
}

.markdown-body figure {
  margin: 1em var(--base-size-40);
}

.markdown-body hr {
  box-sizing: content-box;
  overflow: hidden;
  background: rgba(0,0,0,0);
  border-bottom: 1px solid var(--borderColor-muted);
  height: .25em;
  padding: 0;
  margin: var(--base-size-24) 0;
  background-color: var(--borderColor-default);
  border: 0;
}

.markdown-body input {
  font: inherit;
  margin: 0;
  overflow: visible;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.markdown-body [type=button],
.markdown-body [type=reset],
.markdown-body [type=submit] {
  -webkit-appearance: button;
  appearance: button;
}

.markdown-body [type=checkbox],
.markdown-body [type=radio] {
  box-sizing: border-box;
  padding: 0;
}

.markdown-body [type=number]::-webkit-inner-spin-button,
.markdown-body [type=number]::-webkit-outer-spin-button {
  height: auto;
}

.markdown-body [type=search]::-webkit-search-cancel-button,
.markdown-body [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}

.markdown-body ::-webkit-input-placeholder {
  color: inherit;
  opacity: .54;
}

.markdown-body ::-webkit-file-upload-button {
  -webkit-appearance: button;
  appearance: button;
  font: inherit;
}

.markdown-body a:hover {
  text-decoration: underline;
}

.markdown-body ::placeholder {
  color: var(--fgColor-muted);
  opacity: 1;
}

.markdown-body hr::before {
  display: table;
  content: "";
}

.markdown-body hr::after {
  display: table;
  clear: both;
  content: "";
}

.markdown-body table {
  border-spacing: 0;
  border-collapse: collapse;
  display: block;
  width: max-content;
  max-width: 100%;
  overflow: auto;
  font-variant: tabular-nums;
}

.markdown-body td,
.markdown-body th {
  padding: 0;
}

.markdown-body details summary {
  cursor: pointer;
}

.markdown-body a:focus,
.markdown-body [role=button]:focus,
.markdown-body input[type=radio]:focus,
.markdown-body input[type=checkbox]:focus {
  outline: 2px solid var(--focus-outlineColor);
  outline-offset: -2px;
  box-shadow: none;
}

.markdown-body a:focus:not(:focus-visible),
.markdown-body [role=button]:focus:not(:focus-visible),
.markdown-body input[type=radio]:focus:not(:focus-visible),
.markdown-body input[type=checkbox]:focus:not(:focus-visible) {
  outline: solid 1px rgba(0,0,0,0);
}

.markdown-body a:focus-visible,
.markdown-body [role=button]:focus-visible,
.markdown-body input[type=radio]:focus-visible,
.markdown-body input[type=checkbox]:focus-visible {
  outline: 2px solid var(--focus-outlineColor);
  outline-offset: -2px;
  box-shadow: none;
}

.markdown-body a:not([class]):focus,
.markdown-body a:not([class]):focus-visible,
.markdown-body input[type=radio]:focus,
.markdown-body input[type=radio]:focus-visible,
.markdown-body input[type=checkbox]:focus,
.markdown-body input[type=checkbox]:focus-visible {
  outline-offset: 0;
}

.markdown-body kbd {
  display: inline-block;
  padding: var(--base-size-4);
  font: 11px var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);
  line-height: 10px;
  color: var(--fgColor-default);
  vertical-align: middle;
  background-color: var(--bgColor-muted);
  border: solid 1px var(--borderColor-neutral-muted);
  border-bottom-color: var(--borderColor-neutral-muted);
  border-radius: 6px;
  box-shadow: inset 0 -1px 0 var(--borderColor-neutral-muted);
}

.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
  margin-top: var(--base-size-24);
  margin-bottom: var(--base-size-16);
  font-weight: var(--base-text-weight-semibold, 600);
  line-height: 1.25;
}

.markdown-body h2 {
  font-weight: var(--base-text-weight-semibold, 600);
  padding-bottom: .3em;
  font-size: 1.5em;
  border-bottom: 1px solid var(--borderColor-muted);
}

.markdown-body h3 {
  font-weight: var(--base-text-weight-semibold, 600);
  font-size: 1.25em;
}

.markdown-body h4 {
  font-weight: var(--base-text-weight-semibold, 600);
  font-size: 1em;
}

.markdown-body h5 {
  font-weight: var(--base-text-weight-semibold, 600);
  font-size: .875em;
}

.markdown-body h6 {
  font-weight: var(--base-text-weight-semibold, 600);
  font-size: .85em;
  color: var(--fgColor-muted);
}

.markdown-body p {
  margin-top: 0;
  margin-bottom: 10px;
}

.markdown-body blockquote {
  margin: 0;
  padding: 0 1em;
  color: var(--fgColor-muted);
  border-left: .25em solid var(--borderColor-default);
}

.markdown-body ul,
.markdown-body ol {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 2em;
}

.markdown-body ol ol,
.markdown-body ul ol {
  list-style-type: lower-roman;
}

.markdown-body ul ul ol,
.markdown-body ul ol ol,
.markdown-body ol ul ol,
.markdown-body ol ol ol {
  list-style-type: lower-alpha;
}

.markdown-body dd {
  margin-left: 0;
}

.markdown-body tt,
.markdown-body code,
.markdown-body samp {
  font-family: var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);
  font-size: 12px;
}

.markdown-body pre {
  margin-top: 0;
  margin-bottom: 0;
  font-family: var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);
  font-size: 12px;
  word-wrap: normal;
}

.markdown-body .octicon {
  display: inline-block;
  overflow: visible !important;
  vertical-align: text-bottom;
  fill: currentColor;
}

.markdown-body input::-webkit-outer-spin-button,
.markdown-body input::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

.markdown-body .mr-2 {
  margin-right: var(--base-size-8, 8px) !important;
}

.markdown-body::before {
  display: table;
  content: "";
}

.markdown-body::after {
  display: table;
  clear: both;
  content: "";
}

.markdown-body>*:first-child {
  margin-top: 0 !important;
}

.markdown-body>*:last-child {
  margin-bottom: 0 !important;
}

.markdown-body a:not([href]) {
  color: inherit;
  text-decoration: none;
}

.markdown-body .absent {
  color: var(--fgColor-danger);
}

.markdown-body .anchor {
  float: left;
  padding-right: var(--base-size-4);
  margin-left: -20px;
  line-height: 1;
}

.markdown-body .anchor:focus {
  outline: none;
}

.markdown-body p,
.markdown-body blockquote,
.markdown-body ul,
.markdown-body ol,
.markdown-body dl,
.markdown-body table,
.markdown-body pre,
.markdown-body details {
  margin-top: 0;
  margin-bottom: var(--base-size-16);
}

.markdown-body blockquote>:first-child {
  margin-top: 0;
}

.markdown-body blockquote>:last-child {
  margin-bottom: 0;
}

.markdown-body h1 .octicon-link,
.markdown-body h2 .octicon-link,
.markdown-body h3 .octicon-link,
.markdown-body h4 .octicon-link,
.markdown-body h5 .octicon-link,
.markdown-body h6 .octicon-link {
  color: var(--fgColor-default);
  vertical-align: middle;
  visibility: hidden;
}

.markdown-body h1:hover .anchor,
.markdown-body h2:hover .anchor,
.markdown-body h3:hover .anchor,
.markdown-body h4:hover .anchor,
.markdown-body h5:hover .anchor,
.markdown-body h6:hover .anchor {
  text-decoration: none;
}

.markdown-body h1:hover .anchor .octicon-link,
.markdown-body h2:hover .anchor .octicon-link,
.markdown-body h3:hover .anchor .octicon-link,
.markdown-body h4:hover .anchor .octicon-link,
.markdown-body h5:hover .anchor .octicon-link,
.markdown-body h6:hover .anchor .octicon-link {
  visibility: visible;
}

.markdown-body h1 tt,
.markdown-body h1 code,
.markdown-body h2 tt,
.markdown-body h2 code,
.markdown-body h3 tt,
.markdown-body h3 code,
.markdown-body h4 tt,
.markdown-body h4 code,
.markdown-body h5 tt,
.markdown-body h5 code,
.markdown-body h6 tt,
.markdown-body h6 code {
  padding: 0 .2em;
  font-size: inherit;
}

.markdown-body summary h1,
.markdown-body summary h2,
.markdown-body summary h3,
.markdown-body summary h4,
.markdown-body summary h5,
.markdown-body summary h6 {
  display: inline-block;
}

.markdown-body summary h1 .anchor,
.markdown-body summary h2 .anchor,
.markdown-body summary h3 .anchor,
.markdown-body summary h4 .anchor,
.markdown-body summary h5 .anchor,
.markdown-body summary h6 .anchor {
  margin-left: -40px;
}

.markdown-body summary h1,
.markdown-body summary h2 {
  padding-bottom: 0;
  border-bottom: 0;
}

.markdown-body ul.no-list,
.markdown-body ol.no-list {
  padding: 0;
  list-style-type: none;
}

.markdown-body ol[type="a s"] {
  list-style-type: lower-alpha;
}

.markdown-body ol[type="A s"] {
  list-style-type: upper-alpha;
}

.markdown-body ol[type="i s"] {
  list-style-type: lower-roman;
}

.markdown-body ol[type="I s"] {
  list-style-type: upper-roman;
}

.markdown-body ol[type="1"] {
  list-style-type: decimal;
}

.markdown-body div>ol:not([type]) {
  list-style-type: decimal;
}

.markdown-body ul ul,
.markdown-body ul ol,
.markdown-body ol ol,
.markdown-body ol ul {
  margin-top: 0;
  margin-bottom: 0;
}

.markdown-body li>p {
  margin-top: var(--base-size-16);
}

.markdown-body li+li {
  margin-top: .25em;
}

.markdown-body dl {
  padding: 0;
}

.markdown-body dl dt {
  padding: 0;
  margin-top: var(--base-size-16);
  font-size: 1em;
  font-style: italic;
  font-weight: var(--base-text-weight-semibold, 600);
}

.markdown-body dl dd {
  padding: 0 var(--base-size-16);
  margin-bottom: var(--base-size-16);
}

.markdown-body table th {
  font-weight: var(--base-text-weight-semibold, 600);
}

.markdown-body table th,
.markdown-body table td {
  padding: 6px 13px;
  border: 1px solid var(--borderColor-default);
}

.markdown-body table td>:last-child {
  margin-bottom: 0;
}

.markdown-body table tr {
  background-color: var(--bgColor-default);
  border-top: 1px solid var(--borderColor-muted);
}

.markdown-body table tr:nth-child(2n) {
  background-color: var(--bgColor-muted);
}

.markdown-body table img {
  background-color: rgba(0,0,0,0);
}

.markdown-body img[align=right] {
  padding-left: 20px;
}

.markdown-body img[align=left] {
  padding-right: 20px;
}

.markdown-body .emoji {
  max-width: none;
  vertical-align: text-top;
  background-color: rgba(0,0,0,0);
}

.markdown-body span.frame {
  display: block;
  overflow: hidden;
}

.markdown-body span.frame>span {
  display: block;
  float: left;
  width: auto;
  padding: 7px;
  margin: 13px 0 0;
  overflow: hidden;
  border: 1px solid var(--borderColor-default);
}

.markdown-body span.frame span img {
  display: block;
  float: left;
}

.markdown-body span.frame span span {
  display: block;
  padding: 5px 0 0;
  clear: both;
  color: var(--fgColor-default);
}

.markdown-body span.align-center {
  display: block;
  overflow: hidden;
  clear: both;
}

.markdown-body span.align-center>span {
  display: block;
  margin: 13px auto 0;
  overflow: hidden;
  text-align: center;
}

.markdown-body span.align-center span img {
  margin: 0 auto;
  text-align: center;
}

.markdown-body span.align-right {
  display: block;
  overflow: hidden;
  clear: both;
}

.markdown-body span.align-right>span {
  display: block;
  margin: 13px 0 0;
  overflow: hidden;
  text-align: right;
}

.markdown-body span.align-right span img {
  margin: 0;
  text-align: right;
}

.markdown-body span.float-left {
  display: block;
  float: left;
  margin-right: 13px;
  overflow: hidden;
}

.markdown-body span.float-left span {
  margin: 13px 0 0;
}

.markdown-body span.float-right {
  display: block;
  float: right;
  margin-left: 13px;
  overflow: hidden;
}

.markdown-body span.float-right>span {
  display: block;
  margin: 13px auto 0;
  overflow: hidden;
  text-align: right;
}

.markdown-body code,
.markdown-body tt {
  padding: .2em .4em;
  margin: 0;
  font-size: 85%;
  white-space: break-spaces;
  background-color: var(--bgColor-neutral-muted);
  border-radius: 6px;
}

.markdown-body code br,
.markdown-body tt br {
  display: none;
}

.markdown-body del code {
  text-decoration: inherit;
}

.markdown-body samp {
  font-size: 85%;
}

.markdown-body pre code {
  font-size: 100%;
}

.markdown-body pre>code {
  padding: 0;
  margin: 0;
  word-break: normal;
  white-space: pre;
  background: rgba(0,0,0,0);
  border: 0;
}

.markdown-body .highlight {
  margin-bottom: var(--base-size-16);
}

.markdown-body .highlight pre {
  margin-bottom: 0;
  word-break: normal;
}

.markdown-body .highlight pre,
.markdown-body pre {
  padding: var(--base-size-16);
  overflow: auto;
  font-size: 85%;
  line-height: 1.45;
  color: var(--fgColor-default);
  background-color: var(--bgColor-muted);
  border-radius: 6px;
}

.markdown-body pre code,
.markdown-body pre tt {
  display: inline;
  padding: 0;
  margin: 0;
  overflow: visible;
  line-height: inherit;
  word-wrap: normal;
  background-color: rgba(0,0,0,0);
  border: 0;
}

.markdown-body .csv-data td,
.markdown-body .csv-data th {
  padding: 5px;
  overflow: hidden;
  font-size: 12px;
  line-height: 1;
  text-align: left;
  white-space: nowrap;
}

.markdown-body .csv-data .blob-num {
  padding: 10px var(--base-size-8) 9px;
  text-align: right;
  background: var(--bgColor-default);
  border: 0;
}

.markdown-body .csv-data tr {
  border-top: 0;
}

.markdown-body .csv-data th {
  font-weight: var(--base-text-weight-semibold, 600);
  background: var(--bgColor-muted);
  border-top: 0;
}

.markdown-body [data-footnote-ref]::before {
  content: "[";
}

.markdown-body [data-footnote-ref]::after {
  content: "]";
}

.markdown-body .footnotes {
  font-size: 12px;
  color: var(--fgColor-muted);
  border-top: 1px solid var(--borderColor-default);
}

.markdown-body .footnotes ol {
  padding-left: var(--base-size-16);
}

.markdown-body .footnotes ol ul {
  display: inline-block;
  padding-left: var(--base-size-16);
  margin-top: var(--base-size-16);
}

.markdown-body .footnotes li {
  position: relative;
}

.markdown-body .footnotes li:target::before {
  position: absolute;
  top: calc(var(--base-size-8)*-1);
  right: calc(var(--base-size-8)*-1);
  bottom: calc(var(--base-size-8)*-1);
  left: calc(var(--base-size-24)*-1);
  pointer-events: none;
  content: "";
  border: 2px solid var(--borderColor-accent-emphasis);
  border-radius: 6px;
}

.markdown-body .footnotes li:target {
  color: var(--fgColor-default);
}

.markdown-body .footnotes .data-footnote-backref g-emoji {
  font-family: monospace;
}

.markdown-body .pl-c {
  color: var(--color-prettylights-syntax-comment);
}

.markdown-body .pl-c1,
.markdown-body .pl-s .pl-v {
  color: var(--color-prettylights-syntax-constant);
}

.markdown-body .pl-e,
.markdown-body .pl-en {
  color: var(--color-prettylights-syntax-entity);
}

.markdown-body .pl-smi,
.markdown-body .pl-s .pl-s1 {
  color: var(--color-prettylights-syntax-storage-modifier-import);
}

.markdown-body .pl-ent {
  color: var(--color-prettylights-syntax-entity-tag);
}

.markdown-body .pl-k {
  color: var(--color-prettylights-syntax-keyword);
}

.markdown-body .pl-s,
.markdown-body .pl-pds,
.markdown-body .pl-s .pl-pse .pl-s1,
.markdown-body .pl-sr,
.markdown-body .pl-sr .pl-cce,
.markdown-body .pl-sr .pl-sre,
.markdown-body .pl-sr .pl-sra {
  color: var(--color-prettylights-syntax-string);
}

.markdown-body .pl-v,
.markdown-body .pl-smw {
  color: var(--color-prettylights-syntax-variable);
}

.markdown-body .pl-bu {
  color: var(--color-prettylights-syntax-brackethighlighter-unmatched);
}

.markdown-body .pl-ii {
  color: var(--color-prettylights-syntax-invalid-illegal-text);
  background-color: var(--color-prettylights-syntax-invalid-illegal-bg);
}

.markdown-body .pl-c2 {
  color: var(--color-prettylights-syntax-carriage-return-text);
  background-color: var(--color-prettylights-syntax-carriage-return-bg);
}

.markdown-body .pl-sr .pl-cce {
  font-weight: bold;
  color: var(--color-prettylights-syntax-string-regexp);
}

.markdown-body .pl-ml {
  color: var(--color-prettylights-syntax-markup-list);
}

.markdown-body .pl-mh,
.markdown-body .pl-mh .pl-en,
.markdown-body .pl-ms {
  font-weight: bold;
  color: var(--color-prettylights-syntax-markup-heading);
}

.markdown-body .pl-mi {
  font-style: italic;
  color: var(--color-prettylights-syntax-markup-italic);
}

.markdown-body .pl-mb {
  font-weight: bold;
  color: var(--color-prettylights-syntax-markup-bold);
}

.markdown-body .pl-md {
  color: var(--color-prettylights-syntax-markup-deleted-text);
  background-color: var(--color-prettylights-syntax-markup-deleted-bg);
}

.markdown-body .pl-mi1 {
  color: var(--color-prettylights-syntax-markup-inserted-text);
  background-color: var(--color-prettylights-syntax-markup-inserted-bg);
}

.markdown-body .pl-mc {
  color: var(--color-prettylights-syntax-markup-changed-text);
  background-color: var(--color-prettylights-syntax-markup-changed-bg);
}

.markdown-body .pl-mi2 {
  color: var(--color-prettylights-syntax-markup-ignored-text);
  background-color: var(--color-prettylights-syntax-markup-ignored-bg);
}

.markdown-body .pl-mdr {
  font-weight: bold;
  color: var(--color-prettylights-syntax-meta-diff-range);
}

.markdown-body .pl-ba {
  color: var(--color-prettylights-syntax-brackethighlighter-angle);
}

.markdown-body .pl-sg {
  color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);
}

.markdown-body .pl-corl {
  text-decoration: underline;
  color: var(--color-prettylights-syntax-constant-other-reference-link);
}

.markdown-body [role=button]:focus:not(:focus-visible),
.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),
.markdown-body button:focus:not(:focus-visible),
.markdown-body summary:focus:not(:focus-visible),
.markdown-body a:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

.markdown-body [tabindex="0"]:focus:not(:focus-visible),
.markdown-body details-dialog:focus:not(:focus-visible) {
  outline: none;
}

.markdown-body g-emoji {
  display: inline-block;
  min-width: 1ch;
  font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  font-size: 1em;
  font-style: normal !important;
  font-weight: var(--base-text-weight-normal, 400);
  line-height: 1;
  vertical-align: -0.075em;
}

.markdown-body g-emoji img {
  width: 1em;
  height: 1em;
}

.markdown-body a:has(>p,>div,>pre,>blockquote) {
  display: block;
}

.markdown-body a:has(>p,>div,>pre,>blockquote):not(:has(.snippet-clipboard-content,>pre)) {
  width: fit-content;
}

.markdown-body a:has(>p,>div,>pre,>blockquote):has(.snippet-clipboard-content,>pre):focus-visible {
  outline: 2px solid var(--focus-outlineColor);
  outline-offset: 2px;
}

.markdown-body .task-list-item {
  list-style-type: none;
}

.markdown-body .task-list-item label {
  font-weight: var(--base-text-weight-normal, 400);
}

.markdown-body .task-list-item.enabled label {
  cursor: pointer;
}

.markdown-body .task-list-item+.task-list-item {
  margin-top: var(--base-size-4);
}

.markdown-body .task-list-item .handle {
  display: none;
}

.markdown-body .task-list-item-checkbox {
  margin: 0 .2em .25em -1.4em;
  vertical-align: middle;
}

.markdown-body ul:dir(rtl) .task-list-item-checkbox {
  margin: 0 -1.6em .25em .2em;
}

.markdown-body ol:dir(rtl) .task-list-item-checkbox {
  margin: 0 -1.6em .25em .2em;
}

.markdown-body .contains-task-list:hover .task-list-item-convert-container,
.markdown-body .contains-task-list:focus-within .task-list-item-convert-container {
  display: block;
  width: auto;
  height: 24px;
  overflow: visible;
  clip-path: none;
}

.markdown-body ::-webkit-calendar-picker-indicator {
  filter: invert(50%);
}

.markdown-body .markdown-alert {
  padding: var(--base-size-8) var(--base-size-16);
  margin-bottom: var(--base-size-16);
  color: inherit;
  border-left: .25em solid var(--borderColor-default);
}

.markdown-body .markdown-alert>:first-child {
  margin-top: 0;
}

.markdown-body .markdown-alert>:last-child {
  margin-bottom: 0;
}

.markdown-body .markdown-alert .markdown-alert-title {
  display: flex;
  font-weight: var(--base-text-weight-medium, 500);
  align-items: center;
  line-height: 1;
}

.markdown-body .markdown-alert.markdown-alert-note {
  border-left-color: var(--borderColor-accent-emphasis);
}

.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title {
  color: var(--fgColor-accent);
}

.markdown-body .markdown-alert.markdown-alert-important {
  border-left-color: var(--borderColor-done-emphasis);
}

.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title {
  color: var(--fgColor-done);
}

.markdown-body .markdown-alert.markdown-alert-warning {
  border-left-color: var(--borderColor-attention-emphasis);
}

.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title {
  color: var(--fgColor-attention);
}

.markdown-body .markdown-alert.markdown-alert-tip {
  border-left-color: var(--borderColor-success-emphasis);
}

.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title {
  color: var(--fgColor-success);
}

.markdown-body .markdown-alert.markdown-alert-caution {
  border-left-color: var(--borderColor-danger-emphasis);
}

.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title {
  color: var(--fgColor-danger);
}

.markdown-body>*:first-child>.heading-element:first-child {
  margin-top: 0 !important;
}

.markdown-body .highlight pre:has(+.zeroclipboard-container) {
  min-height: 52px;
}

.PhotoView-Portal{direction:ltr;height:100%;left:0;overflow:hidden;position:fixed;top:0;touch-action:none;width:100%;z-index:2000}@keyframes PhotoView__rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes PhotoView__delayIn{0%,50%{opacity:0}to{opacity:1}}.PhotoView__Spinner{animation:PhotoView__delayIn .4s linear both}.PhotoView__Spinner svg{animation:PhotoView__rotate .6s linear infinite}.PhotoView__Photo{cursor:grab;max-width:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.PhotoView__Photo:active{cursor:grabbing}.PhotoView__icon{display:inline-block;left:0;position:absolute;top:0;transform:translate(-50%,-50%)}.PhotoView__PhotoBox,.PhotoView__PhotoWrap{bottom:0;direction:ltr;left:0;position:absolute;right:0;top:0;touch-action:none;width:100%}.PhotoView__PhotoWrap{overflow:hidden;z-index:10}.PhotoView__PhotoBox{transform-origin:left top}@keyframes PhotoView__fade{0%{opacity:0}to{opacity:1}}.PhotoView-Slider__clean .PhotoView-Slider__ArrowLeft,.PhotoView-Slider__clean .PhotoView-Slider__ArrowRight,.PhotoView-Slider__clean .PhotoView-Slider__BannerWrap,.PhotoView-Slider__clean .PhotoView-Slider__Overlay,.PhotoView-Slider__willClose .PhotoView-Slider__BannerWrap:hover{opacity:0}.PhotoView-Slider__Backdrop{background:#000;height:100%;left:0;position:absolute;top:0;transition-property:background-color;width:100%;z-index:-1}.PhotoView-Slider__fadeIn{animation:PhotoView__fade linear both;opacity:0}.PhotoView-Slider__fadeOut{animation:PhotoView__fade linear reverse both;opacity:0}.PhotoView-Slider__BannerWrap{align-items:center;background-color:rgba(0,0,0,.5);color:#fff;display:flex;height:44px;justify-content:space-between;left:0;position:absolute;top:0;transition:opacity .2s ease-out;width:100%;z-index:20}.PhotoView-Slider__BannerWrap:hover{opacity:1}.PhotoView-Slider__Counter{font-size:14px;opacity:.75;padding:0 10px}.PhotoView-Slider__BannerRight{align-items:center;display:flex;height:100%}.PhotoView-Slider__toolbarIcon{fill:#fff;box-sizing:border-box;cursor:pointer;opacity:.75;padding:10px;transition:opacity .2s linear}.PhotoView-Slider__toolbarIcon:hover{opacity:1}.PhotoView-Slider__ArrowLeft,.PhotoView-Slider__ArrowRight{align-items:center;bottom:0;cursor:pointer;display:flex;height:100px;justify-content:center;margin:auto;opacity:.75;position:absolute;top:0;transition:opacity .2s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:70px;z-index:20}.PhotoView-Slider__ArrowLeft:hover,.PhotoView-Slider__ArrowRight:hover{opacity:1}.PhotoView-Slider__ArrowLeft svg,.PhotoView-Slider__ArrowRight svg{fill:#fff;background:rgba(0,0,0,.3);box-sizing:content-box;height:24px;padding:10px;width:24px}.PhotoView-Slider__ArrowLeft{left:0}.PhotoView-Slider__ArrowRight{right:0}._toolbar_48y7e_1 {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
  box-sizing: border-box;
  padding: 0.625rem 0.75rem;
  background: rgb(0 0 0 / 55%);
  color: #fff;
}

._titleGroup_48y7e_18 {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

._actions_48y7e_27 {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-shrink: 0;
}

._title_48y7e_18 {
  display: block;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._hint_48y7e_44 {
  color: rgb(255 255 255 / 65%);
  font-size: 0.75rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._closeButton_48y7e_52,
._actionButton_48y7e_53 {
  flex-shrink: 0;
  color: rgb(255 255 255 / 85%);
}

._closeButton_48y7e_52:hover:not(:disabled),
._actionButton_48y7e_53:hover:not(:disabled) {
  background: rgb(255 255 255 / 14%);
  color: #fff;
}

._linkAction_48y7e_64 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgb(255 255 255 / 85%);
  text-decoration: none;
}

._linkAction_48y7e_64:hover {
  color: #fff;
}

._zoomLabel_48y7e_76 {
  min-width: 3.5rem;
  padding: 0.125rem 0.5rem;
  color: rgb(255 255 255 / 85%);
  font-size: 0.75rem;
  text-align: right;
  background: rgb(255 255 255 / 14%);
  border-radius: 9999px;
}

._separator_48y7e_86 {
  width: 1px;
  height: 1.25rem;
  background: rgb(255 255 255 / 30%);
  margin: 0 0.25rem;
  flex-shrink: 0;
}

._loading_48y7e_94 {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgb(255 255 255 / 85%);
}

._loadingSpinner_48y7e_101 {
  animation: _spin_48y7e_1 1s linear infinite;
}

._error_48y7e_105 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  color: rgb(255 255 255 / 85%);
}

._errorIcon_48y7e_114 {
  opacity: 0.6;
}

._errorText_48y7e_118 {
  font-size: 0.875rem;
}

@keyframes _spin_48y7e_1 {
  to {
    transform: rotate(360deg);
  }
}
._markdownBody_pg6r0_1 {
  background: transparent !important;
  font-size: 0.875rem;
  color: var(--text-primary);
  white-space-collapse: collapse;
  overflow-wrap: anywhere;
}

._blockWrapper_pg6r0_9 {
  position: relative;
}

._markdownBody_pg6r0_1 :where(h1, h2, h3, h4, h5, h6) {
  color: var(--text-primary);
  border-bottom-color: var(--border);
}

._markdownBody_pg6r0_1 blockquote {
  color: var(--text-secondary);
  border-left-color: var(--border);
}

._markdownBody_pg6r0_1 hr {
  background-color: var(--border);
}

._markdownBody_pg6r0_1 table tr {
  background-color: transparent;
  border-color: var(--border);
}

._markdownBody_pg6r0_1 table tr:nth-child(2n) {
  background-color: var(--bg-secondary);
}

._markdownBody_pg6r0_1 table td,
._markdownBody_pg6r0_1 table th {
  border-color: var(--border);
}

._frontmatterTable_pg6r0_41 {
  display: table;
  width: 100%;
  margin: 0 0 1rem;
  font-size: 0.8125rem;
}

._frontmatterTable_pg6r0_41 th {
  color: var(--text-secondary);
  font-weight: 600;
  white-space: nowrap;
}

._frontmatterTable_pg6r0_41 td:first-child {
  width: 28%;
  color: var(--text-secondary);
  font-family: var(--font-mono, monospace);
  white-space: nowrap;
}

._frontmatterTable_pg6r0_41 td:last-child {
  color: var(--text-primary);
  overflow-wrap: break-word;
}

._markdownBody_pg6r0_1 a {
  color: var(--accent-purple);
}

._inlinePathCode_pg6r0_70 {
  cursor: pointer;
  text-decoration: none;
  transition:
    color 0.15s ease,
    text-decoration-color 0.15s ease;
}

._inlinePathCode_pg6r0_70:hover,
._inlinePathCode_pg6r0_70:focus-visible {
  color: var(--accent-purple);
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--accent-purple) 60%, transparent);
  outline: none;
}

._inlineImage_pg6r0_86 {
  max-width: 100%;
  max-height: 320px;
  object-fit: contain;
  border-radius: 6px;
  cursor: zoom-in;
  transition: opacity 0.2s ease;
}

._inlineImage_pg6r0_86:hover {
  opacity: 0.95;
}

._brokenImage_pg6r0_99 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 80px;
  min-width: 120px;
  max-width: 100%;
  background: var(--bg-tertiary);
  border-radius: 6px;
  color: var(--text-tertiary);
}

._markdownBody_pg6r0_1 pre._codePre_pg6r0_111 {
  background: var(--bg-secondary);
  color: var(--text-primary);
}

._codeBlock_pg6r0_116 {
  position: relative;
}

._copyButton_pg6r0_120 {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.375rem;
  font-size: 0.75rem;
  color: var(--text-secondary);
  cursor: pointer;
  opacity: 0;
  user-select: none;
  transition: opacity 0.2s;
  z-index: 1;
}

._previewButton_pg6r0_140 {
  right: 5rem;
}

._blockCopyButton_pg6r0_145 {
  top: 0;
}

._codeBlock_pg6r0_116:hover ._copyButton_pg6r0_120,
._codeBlock_pg6r0_116:focus-within ._copyButton_pg6r0_120 {
  opacity: 1;
}

._blockWrapper_pg6r0_9:hover ._blockCopyButton_pg6r0_145,
._blockWrapper_pg6r0_9:focus-within ._blockCopyButton_pg6r0_145 {
  opacity: 1;
}

._copyButton_pg6r0_120:hover {
  background: var(--backdrop-blur);
  color: var(--text-primary);
}

._mermaidContainer_pg6r0_164 {
  margin: 0;
  padding: 0;
  background: var(--bg-secondary);
  border-radius: 0.5rem;
  position: relative;
  text-wrap: initial;
  cursor: pointer;
}

._mermaidContainer_pg6r0_164:focus-visible {
  outline: 2px solid var(--accent-color);
  outline-offset: -2px;
}

._mermaidImage_pg6r0_179 {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 600px;
  margin: 0 auto;
}

._mermaidBlock_pg6r0_188 {
  position: relative;
  margin: 0;
}

._mermaidViewport_pg6r0_193 {
  border-radius: 0.5rem;
  overflow: hidden;
}

._mermaidSource_pg6r0_198 {
  height: 100%;
  overflow: auto;
}

._mermaidError_pg6r0_203 {
  margin: 0;
  padding: 1em;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 0.5rem;
  color: var(--text-secondary);
  font-family: monospace;
  font-size: 0.875rem;
}

._colorValue_pg6r0_214 {
  position: relative;
  cursor: help;
}

._colorPreview_pg6r0_219 {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 4px);
  transform: translateX(-50%);
  width: 24px;
  height: 24px;
  border: 1px solid var(--border-color);
  border-radius: 2px;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
  box-shadow: var(--shadow-sm);
}

._colorValue_pg6r0_214:hover ._colorPreview_pg6r0_219 {
  opacity: 1;
}
._container_hajav_1 {
  position: relative;
  padding: 0;
}

._toggleButton_hajav_6 {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 2;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text-secondary);
  opacity: 0;
  transition: opacity 0.15s ease;
}

._container_hajav_1:hover ._toggleButton_hajav_6 {
  opacity: 1;
}

._toggleButton_hajav_6:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._viewport_hajav_27 {
  border-radius: 0.5rem;
  overflow: hidden;
}

._panel_hajav_32 {
  height: 100%;
}
._container_16f6i_1 {
  font-family: 'SF Mono', Menlo, Monaco, 'Courier New', monospace;
  font-size: 12px;
  line-height: 1.5;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  overflow: hidden;
  background: var(--bg-primary);
}

._containerFullHeight_16f6i_11 ._body_16f6i_11 {
  max-height: none;
}

._header_16f6i_15 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--border-color);
  font-size: 11px;
  color: var(--text-secondary);
}

._headerHint_16f6i_26 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-tertiary);
}

._stats_16f6i_34 {
  display: flex;
  gap: 12px;
  margin-left: auto;
}

._stat_16f6i_34 {
  display: flex;
  align-items: center;
  gap: 4px;
}

._statAdd_16f6i_46 {
  color: #2ea043;
}

._statDel_16f6i_50 {
  color: #cf222e;
}

._statPlaceholder_16f6i_54 {
  color: var(--text-tertiary);
}

._body_16f6i_11 {
  overflow-x: auto;
}

._line_16f6i_62 {
  display: flex;
  min-height: 20px;
  min-width: max-content;
}

._lineNum_16f6i_68 {
  flex-shrink: 0;
  width: 48px;
  padding: 0 8px;
  text-align: right;
  color: var(--text-tertiary);
  background: var(--bg-secondary);
  user-select: none;
  border-right: 1px solid var(--border-color);
}

._lineContent_16f6i_79 {
  flex: 1;
  padding: 0 12px;
  white-space: pre;
  min-width: 0;
}

._marker_16f6i_86 {
  display: inline-block;
  width: 16px;
  margin-left: -4px;
  user-select: none;
}

._lineAdd_16f6i_93 {
  background: rgb(46 160 67 / 12%);
}

._lineAdd_16f6i_93 ._lineNum_16f6i_68 {
  background: rgb(46 160 67 / 8%);
  color: #2ea043;
}

._lineAdd_16f6i_93 ._lineContent_16f6i_79 {
  color: #1a7f37;
}

._lineDel_16f6i_106 {
  background: rgb(248 81 73 / 12%);
}

._lineDel_16f6i_106 ._lineNum_16f6i_68 {
  background: rgb(248 81 73 / 8%);
  color: #cf222e;
}

._lineDel_16f6i_106 ._lineContent_16f6i_79 {
  color: #a40e26;
}

._lineHunk_16f6i_119 {
  background: rgb(84 130 185 / 8%);
  color: var(--text-tertiary);
}

._lineHunk_16f6i_119 ._lineNum_16f6i_68 {
  background: rgb(84 130 185 / 5%);
}

._lineCollapsed_16f6i_128 {
  background: var(--bg-secondary);
  color: var(--text-tertiary);
}

._lineCollapsed_16f6i_128 ._lineContent_16f6i_79 {
  color: var(--text-tertiary);
}

._linePlaceholder_16f6i_137 {
  background: var(--bg-primary);
}

._placeholderText_16f6i_141 {
  display: inline-block;
  width: min(420px, 55vw);
  height: 10px;
  border-radius: 999px;
  background: var(--bg-secondary);
  opacity: 0.7;
}

._lineNormal_16f6i_150 ._lineContent_16f6i_79 {
  color: var(--text-secondary);
}
._chip_18u37_1 {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  max-width: 100%;
  padding: 3px 8px;
  border: 1px solid color-mix(in srgb, var(--color-primary) 24%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-primary) 8%, var(--bg-primary));
  color: var(--color-primary);
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    transform 0.15s ease;
}

._chip_18u37_1:hover,
._chip_18u37_1:focus-visible {
  background: color-mix(in srgb, var(--color-primary) 14%, var(--bg-primary));
  border-color: color-mix(in srgb, var(--color-primary) 40%, transparent);
  outline: none;
}

._chip_18u37_1:active {
  transform: translateY(1px);
}
._container_q3znu_1 {
  margin-top: 8px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-primary);
  min-width: 0;
  overflow: hidden;
}

._header_q3znu_10 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border-color);
}

._title_q3znu_19 {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
}

._summary_q3znu_25 {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--text-tertiary);
}

._list_q3znu_33,
._singleItem_q3znu_34 {
  display: block;
}

._item_q3znu_38:not(:last-child) {
  border-bottom: 1px solid var(--border-color);
}

._rowGroup_q3znu_42 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  min-width: 0;
}

._row_q3znu_42,
._rowButton_q3znu_51 {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 0;
  background: transparent;
  border: 0;
  text-align: left;
}

._row_q3znu_42 {
  padding-left: 12px;
  padding-right: 12px;
}

._rowButton_q3znu_51 {
  min-width: 0;
}

._rowButton_q3znu_51 {
  cursor: pointer;
}

._statusIcon_q3znu_76,
._chevron_q3znu_77 {
  flex-shrink: 0;
}

._chevron_q3znu_77 {
  color: var(--text-tertiary);
}

._executor_q3znu_85 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  max-width: 42%;
  font-size: 12px;
  color: var(--text-secondary);
  flex-shrink: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._taskSummary_q3znu_99 {
  min-width: 0;
  flex: 1;
  font-size: 12px;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._jumpButton_q3znu_109 {
  /* Layout only. Visual chip behavior lives in TaskIdJumpChip. */
  flex-shrink: 0;
  min-width: 0;
  max-width: min(160px, 36%);
}

._content_q3znu_116 {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease;
}

._contentOpen_q3znu_122 {
  max-height: 300px;
  overflow-y: auto;
}

._contentInner_q3znu_127 {
  padding: 0 12px 12px 34px;
}

._singleItem_q3znu_34 ._contentOpen_q3znu_122 {
  max-height: 300px;
  overflow-y: auto;
  padding: 0 12px 12px 34px;
}

._taskDetail_q3znu_137 {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  margin: 0 0 8px;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.5;
}

._taskDetail_q3znu_137 > span {
  color: var(--text-tertiary);
}

._taskDetail_q3znu_137 p {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

._emptyResult_q3znu_157,
._emptyList_q3znu_158 {
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.5;
}

._emptyList_q3znu_158 {
  padding: 12px;
}

._errorText_q3znu_168 {
  color: var(--color-error);
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
}
._container_1mjp2_1 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._artifactButton_1mjp2_7 {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 6px;
  max-width: 100%;
  padding: 4px 7px;
  border: 1px solid var(--border-color);
  border-radius: 5px;
  background: var(--bg-secondary);
  color: var(--text-secondary);
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

._artifactButton_1mjp2_7:hover {
  border-color: var(--color-primary);
  color: var(--text-primary);
}

._artifactButton_1mjp2_7 span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
._container_1hver_1 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 8px;
  padding: 11px 12px;
  border: 1px solid color-mix(in srgb, var(--color-primary) 22%, var(--border-color));
  border-radius: 7px;
  background: color-mix(in srgb, var(--color-primary) 4%, var(--bg-primary));
}

._hero_1hver_12,
._agent_1hver_13 {
  display: flex;
  align-items: center;
}

._hero_1hver_12 {
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

._agent_1hver_13 {
  flex: 1 1 auto;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
}

._heroText_1hver_31 {
  flex: 1 1 auto;
  min-width: 0;
}

._title_1hver_36 {
  overflow: hidden;
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._meta_1hver_46 {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 2px;
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.35;
}

._spinning_1hver_56 {
  flex-shrink: 0;
  color: var(--color-info);
  animation: _spin_1hver_56 1s linear infinite;
}

._successIcon_1hver_62 {
  flex-shrink: 0;
  color: var(--color-success);
}

._failedIcon_1hver_67 {
  flex-shrink: 0;
  color: var(--color-error);
}

._taskBlock_1hver_72 {
  padding: 8px 10px;
  border-left: 2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
  border-radius: 0 5px 5px 0;
  background: color-mix(in srgb, var(--bg-secondary) 74%, transparent);
}

._label_1hver_79 {
  color: var(--text-tertiary);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-transform: uppercase;
}

._taskText_1hver_88 {
  margin-top: 4px;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

._contextDisclosure_1hver_97 {
  border-top: 1px solid var(--border-color);
  padding-top: 8px;
}

._contextSummary_1hver_102 {
  width: fit-content;
  cursor: pointer;
  color: var(--text-tertiary);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
}

._contextText_1hver_111 {
  margin-top: 6px;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

._taskIdRow_1hver_120 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._result_1hver_126 {
  padding-top: 2px;
  color: var(--text-secondary);
  font-size: 12px;
}

._error_1hver_132 {
  color: var(--color-error);
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
}

@keyframes _spin_1hver_56 {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}
._container_jq76c_1 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 8px;
  padding: 11px 12px;
  border: 1px solid color-mix(in srgb, var(--color-primary) 20%, var(--border-color));
  border-radius: 7px;
  background: color-mix(in srgb, var(--color-primary) 4%, var(--bg-primary));
}

._hero_jq76c_12,
._heroTitle_jq76c_13,
._personRow_jq76c_14,
._responseSummary_jq76c_15,
._taskRow_jq76c_16,
._metaRow_jq76c_17 {
  display: flex;
  align-items: center;
}

._hero_jq76c_12 {
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

._heroTitle_jq76c_13 {
  flex: 1 1 auto;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
  color: var(--text-primary);
}

._heroTitle_jq76c_13 > div {
  flex: 1 1 auto;
  min-width: 0;
}

._title_jq76c_41 {
  overflow: hidden;
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._meta_jq76c_17,
._metaRow_jq76c_17 {
  margin-top: 2px;
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.35;
}

._metaRow_jq76c_17 {
  gap: 6px;
}

._field_jq76c_63 {
  padding: 8px 10px;
  border-left: 2px solid color-mix(in srgb, var(--color-primary) 42%, transparent);
  border-radius: 0 5px 5px 0;
  background: color-mix(in srgb, var(--bg-secondary) 74%, transparent);
}

._label_jq76c_70 {
  color: var(--text-tertiary);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-transform: uppercase;
}

._fieldContent_jq76c_79 {
  margin-top: 4px;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

._correctionNotice_jq76c_88 {
  padding: 8px 10px;
  border-left: 2px solid color-mix(in srgb, var(--color-primary) 60%, transparent);
  border-radius: 0 5px 5px 0;
  background: color-mix(in srgb, var(--color-primary) 8%, var(--bg-secondary));
}

._correctionTitle_jq76c_95 {
  color: var(--text-primary);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
}

._correctionItems_jq76c_102 {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin-top: 4px;
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

._peopleGrid_jq76c_113,
._taskList_jq76c_114,
._responseList_jq76c_115 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._personRow_jq76c_14 {
  gap: 7px;
  min-width: 0;
  padding: 6px 8px;
  border-radius: 5px;
  background: color-mix(in srgb, var(--bg-secondary) 62%, transparent);
}

._personName_jq76c_129 {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  color: var(--text-secondary);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._statusPill_jq76c_139 {
  flex-shrink: 0;
  padding: 1px 6px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 10px;
  line-height: 1.4;
}

._statusPending_jq76c_148 {
  color: color-mix(in srgb, var(--color-info) 82%, var(--text-primary));
  border-color: color-mix(in srgb, var(--color-info) 20%, transparent);
  background: var(--color-info-light);
}

._statusSuccess_jq76c_154 {
  color: color-mix(in srgb, var(--color-success) 88%, var(--text-primary));
  border-color: color-mix(in srgb, var(--color-success) 20%, transparent);
  background: color-mix(in srgb, var(--color-success) 8%, transparent);
}

._statusError_jq76c_160 {
  color: var(--color-error);
  border-color: color-mix(in srgb, var(--color-error) 20%, transparent);
  background: color-mix(in srgb, var(--color-error) 8%, transparent);
}

._responseItem_jq76c_166 {
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--border-color) 80%, transparent);
  border-radius: 6px;
  background: var(--bg-primary);
}

._responseSummary_jq76c_15 {
  gap: 7px;
  padding: 8px 9px;
  cursor: pointer;
  list-style: none;
}

._responseSummary_jq76c_15::-webkit-details-marker {
  display: none;
}

._responseContent_jq76c_184 {
  max-height: min(280px, 42vh);
  overflow-y: auto;
  padding: 0 10px 10px 34px;
  color: var(--text-secondary);
  font-size: 12px;
}

._taskRow_jq76c_16 {
  gap: 8px;
  padding: 8px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--bg-secondary) 68%, transparent);
}

._taskMain_jq76c_199 {
  min-width: 0;
  flex: 1;
}

._taskTitle_jq76c_204 {
  overflow: hidden;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._taskChip_jq76c_213 {
  max-width: min(150px, 32%);
}

._spinning_jq76c_217,
._statusErrorIcon_jq76c_218,
._statusSuccessIcon_jq76c_219 {
  flex-shrink: 0;
}

._spinning_jq76c_217 {
  color: var(--color-info);
  animation: _spin_jq76c_217 1s linear infinite;
}

._statusErrorIcon_jq76c_218 {
  color: var(--color-error);
}

._statusSuccessIcon_jq76c_219 {
  color: var(--color-success);
}

._error_jq76c_236,
._empty_jq76c_237 {
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
}

._error_jq76c_236 {
  color: var(--color-error);
}

@keyframes _spin_jq76c_217 {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}
._card_1gztx_1 {
  margin: 8px 0;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-secondary);
  overflow: hidden;
}

._embedded_1gztx_9 {
  margin: 0;
  border-color: var(--border-default);
  background: color-mix(in srgb, var(--bg-secondary) 72%, var(--bg-primary) 28%);
  box-shadow: none;
}

._toolHead_1gztx_16 {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  box-sizing: border-box;
  height: 32px;
  min-height: 32px;
  overflow: hidden;
  background: var(--color-bg-secondary);
  border-bottom: 1px solid var(--border-color);
  cursor: pointer;
  user-select: none;
  transition: background 0.15s ease;
}

._toolHead_1gztx_16:hover {
  background: var(--hover-bg);
}

._collapsed_1gztx_36 ._toolHead_1gztx_16 {
  border-bottom: none;
}

._toolIcon_1gztx_40 {
  color: var(--text-tertiary);
  flex-shrink: 0;
}

._toolName_1gztx_45 {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
  flex-shrink: 0;
}

._argSummaryWrap_1gztx_52 {
  position: relative;
  flex: 1 1 0%;
  min-width: 0;
  max-width: 100%;
  display: flex;
  align-items: center;
  overflow: hidden;
}

._argSummary_1gztx_52 {
  /* 文件预览按钮随文本收缩，避免整段标题空白都触发打开文件。 */
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  font-size: 12px;
  line-height: 16px;
  color: var(--text-tertiary);
  overflow: hidden;
  white-space: nowrap;
  margin-left: 4px;
  padding: 0 12px 0 0;
  border: none;
  border-bottom: 1px dashed transparent;
  background: transparent;
  font-family: inherit;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 2px;
}

._argSummaryHint_1gztx_84 {
  flex: 0 0 auto;
  margin-right: 8px;
  font-size: 12px;
  line-height: 16px;
  color: var(--text-secondary);
  white-space: nowrap;
}

._argSummaryPath_1gztx_93 {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._argSummaryCounts_1gztx_101 {
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  gap: 5px;
  flex-shrink: 0;
  white-space: nowrap;
  margin-left: 8px;
}

._argSummaryClickable_1gztx_111 {
  color: var(--color-primary);
  cursor: pointer;
  transition:
    border-color 0.15s ease,
    outline-color 0.15s ease;
}

._argSummaryClickable_1gztx_111:hover,
._argSummaryClickable_1gztx_111:focus-visible {
  border-bottom-color: var(--color-primary);
}

._argSummaryClickable_1gztx_111:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
  outline-offset: 2px;
}

._copyFilePathButton_1gztx_129 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  margin-left: 2px;
  padding: 0;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: var(--text-tertiary);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition:
    color 0.15s ease,
    background 0.15s ease,
    opacity 0.15s ease;
}

._argSummaryWrap_1gztx_52:hover ._copyFilePathButton_1gztx_129,
._copyFilePathButton_1gztx_129:focus-visible {
  opacity: 1;
  pointer-events: auto;
}

._copyFilePathButton_1gztx_129:hover {
  color: var(--color-primary);
  background: var(--hover-bg);
}

._copyFilePathButton_1gztx_129:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
  outline-offset: 1px;
}

@media (hover: none), (any-pointer: coarse) {
  ._copyFilePathButton_1gztx_129 {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
    opacity: 1;
    pointer-events: auto;
  }
}

._argLineCount_1gztx_177 {
  color: color-mix(in srgb, var(--color-success) 74%, var(--text-tertiary));
  padding: 0;
  font-weight: 600;
  line-height: 1;
}

._argLineRemoved_1gztx_184 {
  color: color-mix(in srgb, var(--color-error) 72%, var(--text-tertiary));
  padding: 0;
  font-weight: 600;
  line-height: 1;
}

._spacer_1gztx_191 {
  flex: 1;
}

._duration_1gztx_195 {
  font-size: 0.85em;
  color: var(--text-tertiary);
  margin-left: 8px;
  flex-shrink: 0;
  white-space: nowrap;
}

._status_1gztx_203 {
  font-size: 12px;
  color: var(--text-secondary);
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  margin-left: 6px;
}

._pending_1gztx_213 ._status_1gztx_203 {
  color: var(--text-tertiary);
}

._success_1gztx_217 ._status_1gztx_203 {
  color: var(--color-success);
}

._error_1gztx_221 {
  border-color: var(--color-error-strong);
}

._error_1gztx_221 ._status_1gztx_203 {
  color: var(--color-error);
}

._body_1gztx_229 {
  padding: 10px 12px 12px;
}

._loadingDetail_1gztx_233 {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding-left: 9px;
  border-left: 2px solid color-mix(in srgb, var(--color-info) 32%, var(--border-color));
}

._loadingTitle_1gztx_241 {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 500;
}

._loadingStatus_1gztx_250 {
  display: grid;
  gap: 7px;
}

._loadingFacts_1gztx_255 {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 4px 10px;
  min-width: 0;
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
}

._loadingFacts_1gztx_255 dt {
  color: var(--text-tertiary);
}

._loadingFacts_1gztx_255 dd {
  min-width: 0;
  margin: 0;
  color: var(--text-secondary);
  overflow-wrap: anywhere;
}

._loadingHint_1gztx_276 {
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.45;
}

._label_1gztx_282 {
  font-size: 10px;
  color: var(--text-tertiary);
  margin-bottom: 4px;
}

._result_1gztx_288 {
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.45;
}

._resultIcon_1gztx_294 {
  display: inline;
  margin-right: 4px;
  vertical-align: -2px;
  flex-shrink: 0;
}

._errorResult_1gztx_301 {
  max-height: min(120px, 20vh);
  min-width: 0;
  overflow: auto;
  padding: 5px 8px;
  border-left: 2px solid color-mix(in srgb, var(--color-error) 45%, transparent);
  border-radius: 4px;
  color: color-mix(in srgb, var(--color-error) 78%, var(--text-secondary));
  background: color-mix(in srgb, var(--color-error) 4%, var(--bg-primary));
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
  overscroll-behavior: contain;
}

._sqlTableWrap_1gztx_316 {
  margin-top: 8px;
  max-height: min(240px, 40vh);
  overflow: auto;
  border-radius: 4px;
  border: 1px solid var(--border-color);
}

._sqlTable_1gztx_316 {
  border-collapse: collapse;
  font-size: 12px;
  width: 100%;
}

._sqlTable_1gztx_316 th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--color-bg-secondary);
  color: var(--text-secondary);
  font-weight: 600;
  padding: 6px 10px;
  text-align: left;
  white-space: nowrap;
  border-bottom: 1px solid var(--border-color);
}

._sqlTable_1gztx_316 td {
  padding: 5px 10px;
  color: var(--text-secondary);
  border-bottom: 1px solid color-mix(in srgb, var(--border-color) 50%, transparent);
  white-space: nowrap;
}

._sqlTable_1gztx_316 tbody tr:hover td {
  background: var(--hover-bg);
}

._diffSection_1gztx_354 {
  margin-top: 8px;
  max-height: min(160px, 30vh);
  overflow: auto;
}

._readFileContent_1gztx_360 {
  max-height: min(160px, 30vh);
  overflow: auto;
  border-radius: 6px;
}

._directoryListing_1gztx_366 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr));
  gap: 2px 12px;
  margin-top: 8px;
  max-height: min(180px, 30vh);
  overflow: auto;
  padding: 6px 8px;
  border: 1px solid color-mix(in srgb, var(--border-color) 72%, transparent);
  border-radius: 6px;
  background: color-mix(in srgb, var(--color-bg-secondary) 72%, transparent);
  font-family: var(--font-mono);
  font-size: 11px;
}

._directoryEntry_1gztx_381 {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  padding: 4px 5px;
  color: var(--text-secondary);
  border-radius: 3px;
}

._directoryEntry_1gztx_381:hover {
  color: var(--text-primary);
  background: var(--hover-bg);
}

._directoryEntry_1gztx_381 svg {
  flex: 0 0 auto;
  color: var(--text-tertiary);
}

._directoryEntry_1gztx_381 span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._directoryEmpty_1gztx_407 {
  grid-column: 1 / -1;
  padding: 4px 5px;
  color: var(--text-tertiary);
}

._shellOutput_1gztx_413 {
  margin-top: 8px;
  max-height: min(200px, 60vh);
  overflow: auto;
  border: 1px solid color-mix(in srgb, var(--border-color) 76%, transparent);
  border-radius: 4px;
  background: color-mix(in srgb, var(--color-bg-secondary) 82%, var(--bg-primary));
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-all;
}

/* ═══════════════════════════════════════════
   所有带滚动区域：默认隐藏滚动条，hover 显示
   ═══════════════════════════════════════════ */
._sqlTableWrap_1gztx_316,
._diffSection_1gztx_354,
._readFileContent_1gztx_360,
._directoryListing_1gztx_366,
._shellOutput_1gztx_413,
._shellCommandText_1gztx_435,
._patchDiffPanel_1gztx_436 {
  scrollbar-color: transparent transparent;
}

._sqlTableWrap_1gztx_316::-webkit-scrollbar,
._diffSection_1gztx_354::-webkit-scrollbar,
._readFileContent_1gztx_360::-webkit-scrollbar,
._directoryListing_1gztx_366::-webkit-scrollbar,
._shellOutput_1gztx_413::-webkit-scrollbar,
._shellCommandText_1gztx_435::-webkit-scrollbar,
._patchDiffPanel_1gztx_436::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

._sqlTableWrap_1gztx_316::-webkit-scrollbar-track,
._diffSection_1gztx_354::-webkit-scrollbar-track,
._readFileContent_1gztx_360::-webkit-scrollbar-track,
._directoryListing_1gztx_366::-webkit-scrollbar-track,
._shellOutput_1gztx_413::-webkit-scrollbar-track,
._shellCommandText_1gztx_435::-webkit-scrollbar-track,
._patchDiffPanel_1gztx_436::-webkit-scrollbar-track {
  background: transparent;
}

._sqlTableWrap_1gztx_316::-webkit-scrollbar-thumb,
._diffSection_1gztx_354::-webkit-scrollbar-thumb,
._readFileContent_1gztx_360::-webkit-scrollbar-thumb,
._directoryListing_1gztx_366::-webkit-scrollbar-thumb,
._shellOutput_1gztx_413::-webkit-scrollbar-thumb,
._shellCommandText_1gztx_435::-webkit-scrollbar-thumb,
._patchDiffPanel_1gztx_436::-webkit-scrollbar-thumb {
  background: transparent;
}

._sqlTableWrap_1gztx_316:hover,
._diffSection_1gztx_354:hover,
._readFileContent_1gztx_360:hover,
._directoryListing_1gztx_366:hover,
._shellOutput_1gztx_413:hover,
._shellCommandText_1gztx_435:hover,
._patchDiffPanel_1gztx_436:hover {
  scrollbar-color: auto;
}

._sqlTableWrap_1gztx_316:hover::-webkit-scrollbar-thumb,
._diffSection_1gztx_354:hover::-webkit-scrollbar-thumb,
._readFileContent_1gztx_360:hover::-webkit-scrollbar-thumb,
._directoryListing_1gztx_366:hover::-webkit-scrollbar-thumb,
._shellOutput_1gztx_413:hover::-webkit-scrollbar-thumb,
._shellCommandText_1gztx_435:hover::-webkit-scrollbar-thumb,
._patchDiffPanel_1gztx_436:hover::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--text-tertiary) 30%, transparent);
  border-radius: 3px;
}

/* SyntaxHighlighter 内部 div（内联 overflow-x:auto）—— 同样默认隐藏 */
._shellOutput_1gztx_413 div::-webkit-scrollbar,
._shellCommandText_1gztx_435 div::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

._shellOutput_1gztx_413 div::-webkit-scrollbar-track,
._shellCommandText_1gztx_435 div::-webkit-scrollbar-track {
  background: transparent;
}

._shellOutput_1gztx_413 div::-webkit-scrollbar-thumb,
._shellCommandText_1gztx_435 div::-webkit-scrollbar-thumb {
  background: transparent;
}

/* SyntaxHighlighter 内部 div：hover 外层时显示 */
._shellOutput_1gztx_413:hover div::-webkit-scrollbar-thumb,
._shellCommandText_1gztx_435:hover div::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--text-tertiary) 30%, transparent);
  border-radius: 3px;
}

._shellCommand_1gztx_435 {
  margin-top: 8px;
}

._shellCommandHeader_1gztx_520 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 4px;
}

._shellCommandMeta_1gztx_528 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

._statusTip_1gztx_535 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.45;
}

._statusTipText_1gztx_545 {
  white-space: nowrap;
}

._copyBtn_1gztx_549 {
  padding: 0;
  border: 0;
  background: none;
  color: var(--text-tertiary);
  font-size: 10px;
  cursor: pointer;
  white-space: nowrap;
}

._copyBtn_1gztx_549:hover {
  color: var(--color-link);
}

._shellCommandText_1gztx_435 {
  margin: 0;
  max-height: min(120px, 24vh);
  overflow: auto;
  border: 1px solid color-mix(in srgb, var(--border-color) 76%, transparent);
  border-radius: 4px;
  background: color-mix(in srgb, var(--color-bg-secondary) 82%, var(--bg-primary));
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 1.5;
  padding: 6px 10px;
  white-space: pre-wrap;
  word-break: break-all;
}

._stderrOutput_1gztx_579 {
  background: color-mix(in srgb, var(--color-error) 8%, transparent);
}

._shellExpandLink_1gztx_583 {
  display: inline;
  padding: 0;
  border: 0;
  background: none;
  color: var(--color-link);
  font: inherit;
  cursor: pointer;
}

._shellExpandLink_1gztx_583:hover {
  text-decoration: underline;
}

._actions_1gztx_597 {
  display: flex;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
}

._action_1gztx_597 {
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--text-tertiary);
  font-size: 11px;
  border-bottom: 1px dashed transparent;
  cursor: pointer;
  transition:
    color 0.15s ease,
    border-color 0.15s ease;
}

._action_1gztx_597:hover {
  color: var(--text-secondary);
  border-bottom-color: var(--text-tertiary);
}

._action_1gztx_597:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
  outline-offset: 2px;
}

/* file_patch 可点击文件 chips */
._fileChips_1gztx_628 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

._fileChip_1gztx_628 {
  max-width: 100%;
  border: 1px solid rgb(255 255 255 / 8%);
  background: rgb(255 255 255 / 4.5%);
  border-radius: 999px;
  padding: 4px 8px;
  color: var(--text-secondary);
  font-size: 11px;
  font-family: inherit;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  transition:
    border-color 0.15s ease,
    background 0.15s ease,
    color 0.15s ease;
}

._fileChip_1gztx_628:hover {
  color: var(--color-primary);
  border-color: color-mix(in srgb, var(--color-primary) 30%, transparent);
  background: color-mix(in srgb, var(--color-primary) 8%, transparent);
}

._fileChip_1gztx_628:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
  outline-offset: 2px;
}

._patchSummaryList_1gztx_665 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 8px;
}

._patchSummaryItem_1gztx_672 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

._patchSummaryRow_1gztx_679 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--border-color) 70%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--color-bg-secondary) 75%, transparent);
  color: var(--text-secondary);
  padding: 7px 9px;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition:
    border-color 0.15s ease,
    background 0.15s ease;
}

._patchSummaryRow_1gztx_679:hover {
  border-color: color-mix(in srgb, var(--color-primary) 28%, var(--border-color));
  background: color-mix(in srgb, var(--color-primary) 7%, var(--color-bg-secondary));
}

._patchSummaryRow_1gztx_679:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
  outline-offset: 2px;
}

._patchFileButton_1gztx_709 {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;

  /* 网格首列会拉伸子项；文件预览仅由路径文字本身触发。 */
  justify-self: start;
  max-width: 100%;
  border: 0;
  background: transparent;
  padding: 0;
  overflow: hidden;
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: 11px;
  text-align: left;
  cursor: pointer;
}

._patchFileButton_1gztx_709 > svg {
  flex: 0 0 auto;
}

._patchFilePath_1gztx_733 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  direction: rtl;
}

._patchFileButton_1gztx_709:hover,
._patchFileButton_1gztx_709:focus-visible {
  color: var(--color-primary);
}

._patchFileButton_1gztx_709:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
  outline-offset: 2px;
}

._patchMeta_1gztx_750 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  color: var(--text-tertiary);
  font-size: 11px;
  white-space: nowrap;
}

._patchAdd_1gztx_760 {
  color: var(--color-success);
  font-variant-numeric: tabular-nums;
  font-weight: 650;
}

._patchRemove_1gztx_766 {
  color: var(--color-error);
  font-variant-numeric: tabular-nums;
  font-weight: 650;
}

._patchErrorBadge_1gztx_772 {
  padding: 1px 5px;
  border-radius: 4px;
  color: color-mix(in srgb, var(--color-error) 78%, var(--text-secondary));
  background: color-mix(in srgb, var(--color-error) 7%, transparent);
  font-size: 10px;
  font-weight: 600;
}

._patchErrorDetail_1gztx_781 {
  min-width: 0;
  overflow: hidden;
  margin: -2px 9px 0;
  padding-left: 8px;
  border-left: 2px solid color-mix(in srgb, var(--color-error) 25%, transparent);
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._patchErrorDetailExpanded_1gztx_794 {
  overflow: visible;
  text-overflow: clip;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

._patchActionHint_1gztx_801 {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: var(--text-tertiary);
  font-size: 11px;
  white-space: nowrap;
  opacity: 0.7;
  transition: opacity 0.15s ease;
}

._patchSummaryRow_1gztx_679:hover ._patchActionHint_1gztx_801 {
  opacity: 1;
}

._patchDiffPanel_1gztx_436 {
  max-height: min(180px, 34vh);
  overflow: auto;
  padding-left: 8px;
  border-left: 2px solid color-mix(in srgb, var(--color-primary) 30%, transparent);
}

._taskIdList_1gztx_823 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

._taskWaitPending_1gztx_830 {
  margin-top: 8px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--color-info) 24%, var(--border-color));
  border-radius: 6px;
  background: color-mix(in srgb, var(--color-info) 5%, var(--bg-primary));
}

._taskWaitPendingTitle_1gztx_838 {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 500;
}

._taskWaitPendingHint_1gztx_847 {
  margin-top: 4px;
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.45;
}

._spinning_1gztx_854 {
  animation: _spin_1gztx_854 1s linear infinite;
  flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
  ._spinning_1gztx_854 {
    animation: none;
  }
}

._trailingSpinner_1gztx_865 {
  color: var(--text-tertiary);
  margin-left: 6px;
}

._collapseIcon_1gztx_870 {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-tertiary);
  flex-shrink: 0;
  margin-left: auto;
}

@media (width <= 768px) {
  ._argSummaryPath_1gztx_93 {
    text-overflow: clip;
  }

  ._collapseIcon_1gztx_870 {
    margin-left: 0;
  }
}

@keyframes _spin_1gztx_854 {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/* ───────── pty_* 展开面板 ───────── */
._ptyDetail_1gztx_900 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
  padding: 9px 10px;
  border: 1px solid color-mix(in srgb, var(--border-color) 72%, transparent);
  border-radius: 6px;
  background: color-mix(in srgb, var(--color-bg-secondary) 62%, var(--bg-primary));
}

._ptyHeroRow_1gztx_911 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

._ptyHeroMain_1gztx_919 {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

._ptyHeroIcon_1gztx_926 {
  color: var(--text-tertiary);
  flex-shrink: 0;
}

._ptyCommand_1gztx_931 {
  min-width: 0;
  overflow: hidden;
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: 12px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._ptyStatusPill_1gztx_942 {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding: 2px 7px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 10px;
  line-height: 1.3;
  white-space: nowrap;
}

._ptyStatusRunning_1gztx_954 {
  color: color-mix(in srgb, var(--color-success) 88%, var(--text-primary));
  border-color: color-mix(in srgb, var(--color-success) 25%, transparent);
  background: color-mix(in srgb, var(--color-success) 12%, transparent);
}

._ptyStatusExited_1gztx_960 {
  color: var(--text-tertiary);
  border-color: var(--border-color);
  background: color-mix(in srgb, var(--bg-tertiary) 60%, transparent);
}

._ptyStatusKilling_1gztx_966 {
  color: var(--color-error);
  border-color: color-mix(in srgb, var(--color-error) 24%, transparent);
  background: color-mix(in srgb, var(--color-error) 10%, transparent);
}

._ptyStatusCreating_1gztx_972 {
  color: color-mix(in srgb, var(--color-info) 82%, var(--text-primary));
  border-color: color-mix(in srgb, var(--color-info) 24%, transparent);
  background: var(--color-info-light);
}

._ptyFieldGrid_1gztx_978 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 12px;
}

._ptyField_1gztx_978 {
  display: flex;
  align-items: baseline;
  gap: 7px;
  min-width: 0;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.45;
}

._ptyFieldIcon_1gztx_994 {
  color: var(--text-tertiary);
  flex-shrink: 0;
  align-self: center;
}

._ptyFieldLabel_1gztx_1000 {
  color: var(--text-tertiary);
  flex-shrink: 0;
  font-size: 11px;
  min-width: 46px;
}

._ptyFieldValue_1gztx_1007 {
  min-width: 0;
  overflow: hidden;
  color: var(--text-primary);
  text-overflow: ellipsis;
  white-space: nowrap;
}

._ptyField_success_1gztx_1015 ._ptyFieldValue_1gztx_1007 {
  color: color-mix(in srgb, var(--color-success) 90%, var(--text-primary));
}

._ptyField_error_1gztx_1019 ._ptyFieldValue_1gztx_1007 {
  color: var(--color-error);
}

._ptyMono_1gztx_1023 {
  padding: 1px 5px;
  border-radius: 3px;
  background: color-mix(in srgb, var(--bg-tertiary) 70%, transparent);
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 11px;
  word-break: break-all;
}

._ptyMetricStrip_1gztx_1033 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.45;
}

._ptyMetricStrip_1gztx_1033 strong {
  color: var(--text-secondary);
  font-weight: 500;
}

._ptyWarning_1gztx_1047 {
  color: var(--color-error);
}

._ptyOutput_1gztx_1051,
._ptyInput_1gztx_1052 {
  margin: 0;
  max-height: min(180px, 34vh);
  overflow: auto;
  padding: 7px 9px;
  border: 1px solid color-mix(in srgb, var(--border-color) 70%, transparent);
  border-radius: 5px;
  background: color-mix(in srgb, var(--bg-primary) 55%, transparent);
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: break-word;
}

._ptyInput_1gztx_1052 {
  border-left: 2px solid color-mix(in srgb, var(--color-primary) 38%, transparent);
}

._ptyKeyChain_1gztx_1072 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

._ptyKeyChip_1gztx_1078 {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border: 1px solid color-mix(in srgb, var(--border-color) 70%, transparent);
  border-radius: 5px;
  background: color-mix(in srgb, var(--bg-primary) 52%, transparent);
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: 11px;
}

._ptyActionsRow_1gztx_1090 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

._ptyPrimaryAction_1gztx_1097 {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 9px;
  border: 1px solid color-mix(in srgb, var(--color-primary) 24%, var(--border-color));
  border-radius: 5px;
  background: color-mix(in srgb, var(--color-primary) 7%, var(--bg-primary));
  color: var(--color-primary);
  font-size: 11px;
  cursor: pointer;
  transition:
    border-color 0.15s ease,
    background 0.15s ease;
}

._ptyPrimaryAction_1gztx_1097:hover {
  border-color: color-mix(in srgb, var(--color-primary) 44%, var(--border-color));
  background: color-mix(in srgb, var(--color-primary) 12%, var(--bg-primary));
}

._ptyPrimaryAction_1gztx_1097:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
  outline-offset: 2px;
}

._ptySessionList_1gztx_1123 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

._ptySessionItem_1gztx_1132 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 10px;
  align-items: center;
  padding: 7px 9px;
  border: 1px solid color-mix(in srgb, var(--border-color) 62%, transparent);
  border-radius: 5px;
  background: color-mix(in srgb, var(--bg-primary) 50%, transparent);
}

._ptySessionMain_1gztx_1143 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

._ptySessionMeta_1gztx_1150 {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--text-tertiary);
  font-size: 11px;
}

._ptyEmpty_1gztx_1159 {
  margin: 0;
  color: var(--text-tertiary);
  font-size: 12px;
}

@media (width <= 768px) {
  ._ptyFieldGrid_1gztx_978 {
    grid-template-columns: 1fr;
  }

  ._ptyHeroRow_1gztx_911,
  ._ptySessionItem_1gztx_1132 {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  ._ptyActionsRow_1gztx_1090 {
    justify-content: flex-start;
  }
}

/* ───────── cron_job_* 展开面板 ───────── */
._cronDetail_1gztx_1182 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 8px;
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb, var(--border-color) 70%, transparent);
  border-radius: 6px;
  background: color-mix(in srgb, var(--color-bg-secondary) 60%, transparent);
}

._cronFieldRow_1gztx_1193 {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-secondary);
  flex-wrap: wrap;
}

._cronFieldIcon_1gztx_1203 {
  color: var(--text-tertiary);
  flex-shrink: 0;
  align-self: center;
}

._cronFieldLabel_1gztx_1209 {
  font-size: 11px;
  color: var(--text-tertiary);
  flex-shrink: 0;
  min-width: 48px;
}

._cronFieldValue_1gztx_1216 {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
  color: var(--text-primary);
}

._cronFieldTone_success_1gztx_1225 ._cronFieldValue_1gztx_1216 {
  color: color-mix(in srgb, var(--color-success) 90%, var(--text-primary));
}

._cronFieldTone_error_1gztx_1229 ._cronFieldValue_1gztx_1216 {
  color: var(--color-error);
}

._cronScheduleHuman_1gztx_1233 {
  color: var(--text-primary);
}

._cronScheduleRaw_1gztx_1237 {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text-tertiary);
  padding: 1px 6px;
  border-radius: 3px;
  background: color-mix(in srgb, var(--bg-tertiary) 70%, transparent);
}

._cronMono_1gztx_1246 {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text-primary);
  padding: 1px 6px;
  border-radius: 3px;
  background: color-mix(in srgb, var(--bg-tertiary) 70%, transparent);
  word-break: break-all;
}

._cronMessage_1gztx_1256 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 2px;
  padding-top: 8px;
  border-top: 1px dashed color-mix(in srgb, var(--border-color) 60%, transparent);
}

._cronMessageBody_1gztx_1266 {
  flex: 1 1 100%;
  margin: 0;
  padding: 6px 10px;
  border-left: 2px solid color-mix(in srgb, var(--color-primary) 40%, transparent);
  background: color-mix(in srgb, var(--bg-tertiary) 50%, transparent);
  border-radius: 0 4px 4px 0;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: break-word;
}

._cronEmpty_1gztx_1280 {
  margin: 0;
  font-size: 12px;
  color: var(--text-tertiary);
}

._cronListHeader_1gztx_1286 {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

._cronList_1gztx_1286 {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._cronListItem_1gztx_1301 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 7px 9px;
  border: 1px solid color-mix(in srgb, var(--border-color) 60%, transparent);
  border-radius: 5px;
  background: color-mix(in srgb, var(--bg-primary) 50%, transparent);
}

._cronListItemMain_1gztx_1311 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

._cronTaskName_1gztx_1318 {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

._cronStatusBadge_1gztx_1328 {
  font-size: 10px;
  padding: 2px 7px;
  border-radius: 999px;
  white-space: nowrap;
  border: 1px solid transparent;
}

._cronStatusEnabled_1gztx_1336 {
  color: color-mix(in srgb, var(--color-success) 90%, var(--text-primary));
  background: color-mix(in srgb, var(--color-success) 12%, transparent);
  border-color: color-mix(in srgb, var(--color-success) 25%, transparent);
}

._cronStatusDisabled_1gztx_1342 {
  color: var(--text-tertiary);
  background: color-mix(in srgb, var(--bg-tertiary) 60%, transparent);
  border-color: var(--border-color);
}

._cronListItemMeta_1gztx_1348 {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 11px;
  color: var(--text-tertiary);
}

._cronListItemId_1gztx_1357 {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 2px;
}

._cronChangeList_1gztx_1364 {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._cronChangeRow_1gztx_1373 {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 6px 8px;
  border-radius: 4px;
  background: color-mix(in srgb, var(--bg-primary) 50%, transparent);
  border-left: 2px solid color-mix(in srgb, var(--color-primary) 35%, transparent);
}

._cronChangeValue_1gztx_1383 {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--text-primary);
}

/* image_generate 结果区域 */
._generatedImage_1gztx_1393 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  cursor: pointer;
  padding: 4px 0;
}

._generatedImageThumb_1gztx_1401 {
  max-width: 200px;
  max-height: 160px;
  border-radius: 6px;
  border: 1px solid var(--border-color);
  object-fit: contain;
}

._brokenImage_1gztx_1409 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 80px;
  border-radius: 6px;
  border: 1px solid var(--border-color);
  background: var(--bg-tertiary);
  color: var(--text-tertiary);
}

._generatedImageLabel_1gztx_1421 {
  font-size: 12px;
  color: var(--text-secondary);
}

._generatedImagePath_1gztx_1426 {
  display: block;
  margin-top: 4px;
  border: 0;
  background: none;
  padding: 0;
  color: var(--text-tertiary);
  font-family: var(--font-mono);
  font-size: 11px;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color 0.15s ease;
}

._generatedImagePath_1gztx_1426:hover {
  color: var(--color-primary);
}

._generatedImagePath_1gztx_1426:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
  outline-offset: 2px;
}

/* Tooltip 内完整参数文本 */
._tooltipContent_1gztx_1453 {
  display: block;
  max-height: 120px;
  overflow-y: auto;
  white-space: pre-wrap;
  word-break: break-all;
}

/* 弹窗内纯文本 */
._modalPre_1gztx_1462 {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  font-family: 'SF Mono', 'Fira Code', 'JetBrains Mono', Menlo, monospace;
  font-size: 12px;
  line-height: 1.6;
  color: var(--text-secondary);
}
._container_786f3_1 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 8px;
  padding: 11px 12px;
  border: 1px solid color-mix(in srgb, var(--color-primary) 20%, var(--border-color));
  border-radius: 7px;
  background: color-mix(in srgb, var(--color-primary) 4%, var(--bg-primary));
}

._hero_786f3_12,
._identity_786f3_13,
._sectionTitle_786f3_14,
._field_786f3_15,
._resourceItem_786f3_16 {
  display: flex;
  align-items: center;
}

._hero_786f3_12 {
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

._identity_786f3_13 {
  flex: 1 1 auto;
  gap: 9px;
  min-width: 0;
  overflow: hidden;
}

._skillIcon_786f3_34 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border: 1px solid color-mix(in srgb, var(--color-primary) 22%, transparent);
  border-radius: 6px;
  color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 9%, transparent);
}

._heroText_786f3_47 {
  flex: 1 1 auto;
  min-width: 0;
}

._skillName_786f3_52 {
  overflow: hidden;
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._stateText_786f3_63,
._hint_786f3_64,
._fieldLabel_786f3_65,
._sectionTitle_786f3_14,
._resourceItem_786f3_16 {
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.4;
}

._stateText_786f3_63 {
  margin-top: 1px;
}

._hint_786f3_64 {
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.5;
}

._field_786f3_15 {
  gap: 9px;
  min-width: 0;
  padding: 7px 9px;
  border-radius: 5px;
  background: color-mix(in srgb, var(--bg-secondary) 70%, transparent);
}

._fieldLabel_786f3_65 {
  flex-shrink: 0;
}

._path_786f3_95 {
  min-width: 0;
  overflow: hidden;
  color: var(--text-secondary);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._section_786f3_14 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._sectionTitle_786f3_14 {
  gap: 5px;
  font-weight: 600;
}

._chipList_786f3_115 {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

._chip_786f3_115 {
  padding: 2px 6px;
  border: 1px solid color-mix(in srgb, var(--border-color) 82%, transparent);
  border-radius: 4px;
  color: var(--text-secondary);
  background: color-mix(in srgb, var(--bg-secondary) 68%, transparent);
  font-size: 10px;
  line-height: 1.4;
}

._resourceGrid_786f3_131 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

._resourceItem_786f3_16 {
  gap: 6px;
  min-width: 0;
  padding: 6px 8px;
  border-radius: 5px;
  background: color-mix(in srgb, var(--bg-secondary) 60%, transparent);
}

._spinning_786f3_145,
._failedIcon_786f3_146,
._successIcon_786f3_147 {
  flex-shrink: 0;
}

._spinning_786f3_145 {
  color: var(--color-info);
  animation: _spin_786f3_145 1s linear infinite;
}

._failedIcon_786f3_146 {
  color: var(--color-error);
}

._successIcon_786f3_147 {
  color: var(--color-success);
}

._error_786f3_164 {
  padding: 8px 10px;
  border-left: 2px solid color-mix(in srgb, var(--color-error) 50%, transparent);
  color: var(--color-error);
  background: color-mix(in srgb, var(--color-error) 6%, transparent);
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

@media (width <= 520px) {
  ._resourceGrid_786f3_131 {
    grid-template-columns: 1fr;
  }
}

@keyframes _spin_786f3_145 {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}
._container_y4164_1,
._compactContainer_y4164_2 {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-top: 8px;
  padding: 11px 12px;
  border: 1px solid color-mix(in srgb, var(--color-primary) 18%, var(--border-color));
  border-radius: 7px;
  background: color-mix(in srgb, var(--color-primary) 3%, var(--bg-primary));
}

._compactContainer_y4164_2 {
  gap: 6px;
}

._hero_y4164_17,
._heroMain_y4164_18,
._field_y4164_19,
._metaRow_y4164_20 {
  display: flex;
  align-items: center;
}

._hero_y4164_17 {
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

._heroMain_y4164_18 {
  flex: 1 1 auto;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
  color: var(--text-primary);
}

._heroMain_y4164_18 > div {
  flex: 1 1 auto;
  min-width: 0;
}

._title_y4164_44 {
  overflow: hidden;
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._meta_y4164_20,
._label_y4164_55,
._metaRow_y4164_20 {
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.4;
}

._meta_y4164_20 {
  overflow: hidden;
  margin-top: 1px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._field_y4164_19 {
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}

._label_y4164_55 {
  flex-shrink: 0;
  min-width: 52px;
}

._fieldValue_y4164_80 {
  min-width: 0;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

._codeValue_y4164_88 {
  color: var(--text-secondary);
  font-size: 11px;
  overflow-wrap: anywhere;
}

._metaRow_y4164_20 {
  flex-wrap: wrap;
  gap: 6px;
}

._metaRow_y4164_20 > span {
  padding: 2px 6px;
  border-radius: 4px;
  background: color-mix(in srgb, var(--bg-secondary) 72%, transparent);
}

._webResult_y4164_105 {
  max-height: 360px;
  overflow: auto;
  margin: 0;
  padding: 9px 10px;
  border: 1px solid var(--border-color);
  border-radius: 5px;
  color: var(--text-secondary);
  background: var(--bg-primary);
  font-family: inherit;
  font-size: 12px;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  overscroll-behavior: contain;
}

._json_y4164_122 {
  max-height: 180px;
  overflow: auto;
  margin: 0;
  padding: 7px 9px;
  border-radius: 5px;
  color: var(--text-secondary);
  background: color-mix(in srgb, var(--bg-secondary) 68%, transparent);
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 1.45;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  overscroll-behavior: contain;
}

._controlSummary_y4164_138 {
  display: -webkit-box;
  max-width: 68ch;
  overflow: hidden;
  margin-top: 2px;
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

._spinning_y4164_150,
._errorIcon_y4164_151,
._successIcon_y4164_152 {
  flex-shrink: 0;
}

._spinning_y4164_150 {
  color: var(--color-info);
  animation: _spin_y4164_150 1s linear infinite;
}

._errorIcon_y4164_151 {
  color: var(--color-error);
}

._successIcon_y4164_152 {
  color: var(--color-success);
}

._error_y4164_151 {
  padding: 7px 9px;
  border-left: 2px solid color-mix(in srgb, var(--color-error) 50%, transparent);
  color: var(--color-error);
  background: color-mix(in srgb, var(--color-error) 6%, transparent);
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

@media (prefers-reduced-motion: reduce) {
  ._spinning_y4164_150 {
    animation: none;
  }
}

@keyframes _spin_y4164_150 {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}
._container_12yp4_1 {
  display: flex;
  justify-content: center;
  padding: 14px 0 8px;
}

._inline_12yp4_7 {
  display: inline-flex;
  align-items: center;
}

._status_12yp4_12 {
  display: inline-flex;
  align-items: center;
}

._dots_12yp4_17 {
  display: flex;
  gap: 6px;
  align-items: center;
}

._inline_12yp4_7 ._dots_12yp4_17 {
  gap: 3px;
}

._status_12yp4_12 ._dots_12yp4_17 {
  gap: 4px;
}

._dot_12yp4_17 {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--text-tertiary);
  animation: _pulse_12yp4_1 1.4s ease-in-out infinite;
}

._inline_12yp4_7 ._dot_12yp4_17 {
  width: 4px;
  height: 4px;
}

._status_12yp4_12 ._dot_12yp4_17 {
  width: 5px;
  height: 5px;
  background: color-mix(in srgb, var(--color-info) 62%, var(--text-tertiary) 38%);
  box-shadow: 0 0 0 1px var(--color-info-light);
  animation-duration: 1.1s;
}

._dot_12yp4_17:nth-child(2) {
  animation-delay: 0.2s;
}

._dot_12yp4_17:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes _pulse_12yp4_1 {
  0%,
  80%,
  100% {
    opacity: 0.28;
    transform: translateY(0) scale(0.82);
  }

  40% {
    opacity: 1;
    transform: translateY(-1px) scale(1);
  }
}
._icon_1dc2m_1 {
  color: var(--text-secondary);
  flex-shrink: 0;
}

._filename_1dc2m_6 {
  font-size: 13px;
  color: var(--text-primary);
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._size_1dc2m_15 {
  font-size: 11px;
  color: var(--text-tertiary);
}

._audioAttachment_1dc2m_20 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: min(340px, 100%);
  padding: 9px 10px;
  margin: 4px 0;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--bg-secondary);
}

._audioInfo_1dc2m_32 {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

._audioInfo_1dc2m_32 ._filename_1dc2m_6 {
  flex: 1;
}

._audioPlayer_1dc2m_43 {
  width: 100%;
  height: 34px;
}

._videoAttachment_1dc2m_48 {
  display: flex;
  flex-direction: column;
  width: min(420px, 100%);
  margin: 4px 0;
  overflow: hidden;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--bg-secondary);
}

._videoPlayer_1dc2m_59 {
  display: block;
  width: 100%;
  max-height: 320px;
  background: #000;
  object-fit: contain;
}

._videoInfo_1dc2m_67 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 7px 10px;
}

._videoInfo_1dc2m_67 ._filename_1dc2m_6 {
  flex: 1;
}

._imageAttachment_1dc2m_79 {
  display: flex;
  flex-direction: column;
  max-width: 280px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  cursor: pointer;
  overflow: hidden;
  transition: all 0.2s ease;
  margin: 4px 0;
}

._imageAttachment_1dc2m_79:hover {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-sm);
}

._thumbnail_1dc2m_97 {
  display: block;
  width: 100%;
  max-height: 200px;
  object-fit: cover;
  border-bottom: 1px solid var(--border-color);
}

._brokenImage_1dc2m_105 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 80px;
  background: var(--bg-tertiary);
  border-bottom: 1px solid var(--border-color);
  color: var(--text-tertiary);
}

._imageInfo_1dc2m_116 {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  padding: 6px 10px;
}

/* ── 附件组：媒体段 + 文件列表段 ── */

._group_1dc2m_126 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  max-width: 100%;
  margin: 4px 0;
}

._mediaRun_1dc2m_135 {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  max-width: 100%;
}

/* 媒体单元自带 margin，聚合容器统一用 gap 控制节奏 */
._mediaRun_1dc2m_135 > * {
  margin: 0;
}

/*
 * 文件列表：所有行等宽 = 最宽行的宽度，右缘一条直线。
 * width: fit-content 让单文件/短列表保持紧凑，不做无意义的撑满。
 */
._fileList_1dc2m_152 {
  display: flex;
  flex-direction: column;
  width: fit-content;
  min-width: 240px;
  max-width: min(480px, 100%);
  overflow: hidden;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 10px;
}

._fileRow_1dc2m_164 {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 10px 0 12px;
  cursor: pointer;
  transition: background 0.15s ease;
}

._fileRow_1dc2m_164 + ._fileRow_1dc2m_164 {
  border-top: 1px solid var(--border-color);
}

._fileRow_1dc2m_164:hover {
  background: var(--hover-bg);
}

._fileRow_1dc2m_164:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}

._fileRowIcon_1dc2m_187 {
  color: var(--text-secondary);
  flex-shrink: 0;
}

._fileRowInfo_1dc2m_192 {
  display: flex;
  flex: 1 1 auto;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}

._fileRowName_1dc2m_200 {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  font-size: 13px;
  color: var(--text-primary);
  text-overflow: ellipsis;
  white-space: nowrap;
}

._fileRowSize_1dc2m_210 {
  flex-shrink: 0;
  font-size: 11px;
  color: var(--text-tertiary);
}

._fileRowActions_1dc2m_216 {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 2px;
}

._fileRowAction_1dc2m_216 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  color: var(--text-tertiary);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  transition:
    color 0.15s ease,
    background 0.15s ease;
}

._fileRow_1dc2m_164:hover ._fileRowAction_1dc2m_216 {
  color: var(--text-secondary);
}

._fileRowAction_1dc2m_216:hover:not(:disabled) {
  color: var(--text-primary);
  background: var(--active-bg);
}

._fileRowAction_1dc2m_216:disabled {
  cursor: default;
  opacity: 0.4;
}

._fileRowAction_1dc2m_216:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
}
._header_1plqe_1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--border-color);
}

._title_1plqe_8 {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._actions_1plqe_18 {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

._iconBtn_1plqe_25 {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-tertiary);
  cursor: pointer;
  transition:
    color 0.15s ease,
    background 0.15s ease;
}

._iconBtn_1plqe_25:hover {
  color: var(--text-primary);
  background: var(--hover-bg);
}

._card_kystk_1 {
  margin: 8px 0;
  overflow: hidden;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-secondary);
}

._embedded_kystk_9 {
  margin: 0;
  border-color: var(--border-default);
  background: color-mix(in srgb, var(--bg-secondary) 72%, var(--bg-primary) 28%);
}

._header_kystk_15 {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 34px;
  padding: 7px 10px;
  gap: 6px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  font: inherit;
  cursor: pointer;
}

._header_kystk_15:hover:not(:disabled) {
  background: var(--hover-bg);
}

._header_kystk_15:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
  outline-offset: -2px;
}

._header_kystk_15:disabled {
  cursor: default;
}

._kindIcon_kystk_43 {
  display: inline-flex;
  flex: 0 0 auto;
  color: var(--text-tertiary);
}

._provider_kystk_49 {
  flex: 0 0 auto;
  padding: 1px 5px;
  border-radius: 3px;
  background: color-mix(in srgb, var(--color-primary) 10%, transparent);
  color: var(--color-primary);
  font-size: 11px;
  font-weight: 600;
  line-height: 16px;
}

._kind_kystk_43 {
  flex: 0 0 auto;
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 500;
}

._title_kystk_67 {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  color: var(--text-tertiary);
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 12px;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._status_kystk_79 {
  display: inline-flex;
  flex: 0 0 auto;
  color: var(--text-tertiary);
}

._card_kystk_1[data-status='completed'] ._status_kystk_79 {
  color: var(--color-success);
}

._card_kystk_1[data-status='failed'] ._status_kystk_79,
._card_kystk_1[data-status='unknown'] ._status_kystk_79 {
  color: var(--color-error);
}

._card_kystk_1[data-status='declined'] ._status_kystk_79,
._card_kystk_1[data-status='interrupted'] ._status_kystk_79 {
  color: var(--color-warning);
}

._statusLabel_kystk_99 {
  flex: 0 0 auto;
  color: var(--text-tertiary);
  font-size: 11px;
  white-space: nowrap;
}

._chevron_kystk_106 {
  flex: 0 0 auto;
  color: var(--text-tertiary);
}

._spinner_kystk_111 {
  animation: _spin_kystk_111 0.9s linear infinite;
}

._details_kystk_115 {
  display: grid;
  gap: 10px;
  padding: 10px 12px 12px;
  border-top: 1px solid var(--border-color);
  background: color-mix(in srgb, var(--bg-primary) 45%, transparent);
}

._detail_kystk_115 {
  min-width: 0;
}

._declineNote_kystk_127 {
  margin: 0;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.5;
}

._detailLabel_kystk_134 {
  margin-bottom: 5px;
  color: var(--text-tertiary);
  font-size: 11px;
  font-weight: 600;
}

._code_kystk_141 {
  max-height: 280px;
  margin: 0;
  overflow: auto;
  padding: 8px 10px;
  border-radius: 4px;
  background: var(--bg-primary);
  color: var(--text-secondary);
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 11px;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

@keyframes _spin_kystk_111 {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  ._spinner_kystk_111 {
    animation: none;
  }
}
._header_ns84h_1 {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  height: 32px;
  cursor: pointer;
  user-select: none;
  transition: background 0.2s ease;
}

._header_ns84h_1:hover {
  background: var(--hover-bg);
}

._header_ns84h_1[data-collapsible='false'] {
  cursor: default;
}

._header_ns84h_1[data-collapsible='false']:hover {
  background: transparent;
}

._chevron_ns84h_24 {
  color: var(--text-tertiary);
  flex-shrink: 0;
}

._content_ns84h_29 {
  padding: 0 12px 12px;
  border-top: 1px solid var(--border-color);
}
._container_t7468_1 {
  margin: 8px 0;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-secondary);
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease;
}

._embedded_t7468_12 {
  margin: 0;
  border-color: var(--border-default);
  background: color-mix(in srgb, var(--bg-secondary) 72%, var(--bg-primary) 28%);
  box-shadow: none;
}

._streaming_t7468_19 ._title_t7468_19 {
  color: var(--text-secondary);
}

._collapse_t7468_23 {
  /* Collapse 组件不需要额外样式，header 和 content 由 Collapse 提供 */
}

._icon_t7468_27 {
  width: 14px;
  height: 14px;
  color: var(--text-tertiary);
  flex-shrink: 0;
}

._title_t7468_19 {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
  flex-shrink: 0;
}

._duration_t7468_41 {
  font-size: 0.85em;
  color: var(--text-tertiary);
  margin-left: 8px;
  flex-shrink: 0;
  white-space: nowrap;
}

/* 流式期间 header 行开启 paint containment：时长 200ms tick 与摘要淡入的
   重绘失效被截断在 header 行内，不再触发整块气泡重绘（诊断实验：缺失时
   每 tick 一次 575x4552 气泡全高重绘；开启后收敛为 header 小块）。
   header 行内容已由 ellipsis 保证不溢出，contain 的裁剪无可见影响。
   仅流式期间生效，结束随类名移除。 */
._streaming_t7468_19 ._headerRowStreaming_t7468_54 {
  contain: paint;
}

@keyframes _summary-in_t7468_1 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

._summary_t7468_68 {
  /* 占满标题与时长之间的弹性空间：宽度与摘要内容解耦，流式期间 header 宽度恒定 */
  flex: 1 1 0;
  min-width: 0;
  font-size: 11px;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-left: 8px;

  /* key 变化时 remount 触发淡入，行内变长不重播 */
  animation: _summary-in_t7468_1 160ms ease-out;
}

@keyframes _line-in_t7468_1 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

._line_t7468_93 {
  /* 占位：动画只挂在 lineStreaming 上，历史消息展开不播 */
}

._lineStreaming_t7468_97 {
  animation: _line-in_t7468_1 160ms ease-out;
}

@media (prefers-reduced-motion: reduce) {
  ._summary_t7468_68,
  ._lineStreaming_t7468_97 {
    animation: none;
  }
}

._text_t7468_108 {
  font-size: 12px;
  font-family: system-ui;
  color: color-mix(in srgb, var(--text-secondary) 86%, var(--text-primary));
  padding: 0;
  overflow: auto;
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  line-height: 1.5;
  max-height: 260px;
}
._tabs_utw7u_1 {
  width: 100%;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--bg-secondary);
}

._header_utw7u_8 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  height: 40px;
  background: var(--bg-primary);
  border-bottom: 1px solid var(--border-color);
}

._tabNav_utw7u_18 {
  flex: 1;
  display: flex;
  gap: 4px;
  overflow-x: auto;
}

._tabButton_utw7u_25 {
  flex-shrink: 0;
  padding: 6px 12px;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  font-size: 13px;
  border-radius: 4px;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s;
}

._tabButton_utw7u_25:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._tabButton_utw7u_25:focus-visible {
  outline: 2px solid var(--accent-color);
  outline-offset: 2px;
}

._tabButton_utw7u_25._pending_utw7u_49 {
  position: relative;
}

._thinkingDot_utw7u_53 {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 6px;
  background: var(--color-info);
  border-radius: 50%;
  animation: _pulse_utw7u_1 1.5s ease-in-out infinite;
}

@keyframes _pulse_utw7u_1 {
  0%,
  100% {
    opacity: 0.4;
    transform: scale(1);
  }

  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

._tabButton_utw7u_25._active_utw7u_76 {
  background: var(--hover-bg);
  color: var(--accent-color);
  font-weight: 500;
  border-bottom: 2px solid var(--accent-color);
}

._toggleButton_utw7u_83 {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  border-radius: 4px;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s;
}

._toggleButton_utw7u_83:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._tabContent_utw7u_106 {
  max-height: 200px;
  overflow-y: auto;
  padding: 12px;
  background: var(--color-primary-light);
  animation: _fadeIn_utw7u_1 0.2s ease-in;
}

@keyframes _fadeIn_utw7u_1 {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}
._pill_66yzu_1 {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1.4;
}

._pill--success_66yzu_13 {
  background: var(--color-success-light);
  color: var(--color-success);
}

._pill--error_66yzu_18 {
  background: var(--color-error-light);
  color: var(--color-error);
}

._pill--running_66yzu_23 {
  background: var(--color-info-light);
  color: var(--color-info);
}

._pill--idle_66yzu_28 {
  background: var(--color-neutral-light);
  color: var(--color-neutral);
}

._pill--info_66yzu_33 {
  background: var(--color-info-light);
  color: var(--color-info);
}
._collab_1y2sp_1 {
  margin: 2px 16px;
  padding-left: 10px;
  border-left: 2px solid var(--color-primary);
}

._collab--compact_1y2sp_7 {
  margin: 0 16px 4px;
  padding-left: 8px;
}

._collab--compact_1y2sp_7._collab--broadcast_1y2sp_12 {
  margin: 0;
  padding-left: 0;
  border-left: 0;
}

/* ===== 类型强调色 ===== */
._collab--task_1y2sp_19 {
  border-left-color: var(--color-primary);
}

._collab--handoff_1y2sp_23 {
  border-left-color: var(--color-info);
}

._collab--broadcast_1y2sp_12 {
  border-left-color: color-mix(in srgb, var(--color-primary) 42%, var(--border-default));
}

._collab--broadcast_1y2sp_12 ._body_1y2sp_31 {
  overflow: hidden;
}

._collab--supervisor_1y2sp_35 {
  border-left-color: var(--color-warning);
}

/* ===== Header ===== */
._header_1y2sp_40 {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 5px 0;
  cursor: pointer;
  user-select: none;
  border-radius: var(--radius-sm);
}

._header_1y2sp_40::before {
  content: '';
  position: absolute;
  inset: 0 -6px;
  z-index: -1;
  border-radius: inherit;
  background: transparent;
}

._header_1y2sp_40:hover::before {
  background: var(--bg-hover);
}

._header_1y2sp_40:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._collab--compact_1y2sp_7 ._header_1y2sp_40 {
  min-height: 24px;
  padding: 2px 0;
}

._header--broadcastResponse_1y2sp_76 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 0;
  padding: 10px 0;
}

._header--broadcastResponse_1y2sp_76:hover {
  background: transparent;
}

._header--broadcastResponse_1y2sp_76:hover::before {
  background: transparent;
}

._header--broadcastResponse_1y2sp_76 ._icon_1y2sp_92 {
  display: none;
}

._header--broadcastResponse_1y2sp_76 ._title_1y2sp_96 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
}

._header--broadcastResponse_1y2sp_76 ._participants_1y2sp_105 {
  min-width: 0;
}

._header--broadcastResponse_1y2sp_76 ._action_1y2sp_109 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}

._header--broadcastResponse_1y2sp_76 ._action_1y2sp_109:empty {
  display: none;
}

._header--broadcastResponse_1y2sp_76 ._meta_1y2sp_121 {
  align-self: end;
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 16px;
}

._header--broadcastResponse_1y2sp_76:hover ._meta_1y2sp_121 {
  color: var(--color-primary);
}

._header--broadcastResponse_1y2sp_76[aria-expanded='false'] {
  align-items: center;
  min-height: 38px;
  padding: 6px 0;
}

._header--broadcastResponse_1y2sp_76[aria-expanded='false']:hover {
  padding: 6px 0;
}

._header--broadcastResponse_1y2sp_76 ._chevron_1y2sp_142 {
  align-self: center;
  color: var(--text-tertiary);
}

._header--broadcastResponse_1y2sp_76:hover ._chevron_1y2sp_142 {
  color: var(--text-secondary);
}

/* ===== 类型图标 ===== */
._icon_1y2sp_92 {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--text-tertiary);
  margin-top: 1px;
}

._icon--task_1y2sp_163 {
  color: var(--color-primary);
}

._icon--handoff_1y2sp_167 {
  color: var(--color-info);
}

._icon--broadcast_1y2sp_171 {
  color: var(--color-primary);
}

._icon--supervisor_1y2sp_175 {
  color: var(--color-warning);
}

/* ===== 标题区（参与者 + 动作文案） ===== */
._title_1y2sp_96 {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 18px;
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
}

._participants_1y2sp_105 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  min-width: 0;
}

._action_1y2sp_109 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._title_1y2sp_96 strong {
  color: var(--text-primary);
  font-weight: 600;
}

._meta_1y2sp_121 {
  flex-shrink: 0;
  font-size: 11px;
  color: var(--text-tertiary);
  white-space: nowrap;
  line-height: 18px;
}

@media (width <= 768px) {
  ._meta_1y2sp_121 {
    max-width: 4em;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* ===== 展开箭头 ===== */
._chevron_1y2sp_142 {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--text-tertiary);
  transition: transform 0.18s ease;
  margin-top: 1px;
}

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

/* ===== Body 折叠区 ===== */
._body_1y2sp_31 {
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  opacity: 1;
  transition: opacity 0.16s ease;
}

._body--closed_1y2sp_256 {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
}
/* ===== anchor ===== */

._detailRetry_yt96k_3 {
  display: inline-flex;
  align-items: center;
  padding: 0;
  border: none;
  background: none;
  color: var(--text-tertiary);
  font-size: 12px;
  cursor: pointer;
}

._detailRetry_yt96k_3:hover {
  color: var(--text-secondary);
}

._anchor_yt96k_18 {
  scroll-margin-top: 12px;
}

._anchor_yt96k_18.task-block-navigation-target {
  animation: _taskBlockNavigationPulse_yt96k_1 1.6s ease-out;
}

@keyframes _taskBlockNavigationPulse_yt96k_1 {
  0% {
    background: color-mix(in srgb, var(--color-primary) 12%, transparent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary) 28%, transparent);
  }

  100% {
    background: transparent;
    box-shadow: 0 0 0 0 transparent;
  }
}

/* ===== 动画 ===== */

._activityBar_yt96k_40 {
  height: 1.5px;
  background: linear-gradient(90deg, transparent 0%, var(--color-primary) 50%, transparent 100%);
  background-size: 200% 100%;
  animation: _progressSweep_yt96k_1 1.8s ease-in-out infinite;
  margin-bottom: 8px;
  border-radius: 1px;
  opacity: 0.12;
}

@keyframes _progressSweep_yt96k_1 {
  0% {
    background-position: 100% 0;
  }

  100% {
    background-position: -100% 0;
  }
}

/* ===== process ===== */

._processSection_yt96k_62 {
  margin-top: 4px;
}

._processContent_yt96k_66 {
  padding: 0 0 2px;
  overscroll-behavior: contain;
}

._processItem_yt96k_71 {
  min-height: 1px;
}
/* HandoffCard — 信号条风格
 *
 * 一条水平线穿过，两端 agent chip，中间圆形传输图标。
 * reason 浮在中间图标下方。
 */

._signal_t0d1d_7 {
  position: relative;
  display: flex;
  align-items: center;
  margin: 8px 32px;
  height: 32px;
}

/* 背景水平线 */
._line_t0d1d_16 {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: var(--border-default);
  transform: translateY(-50%);
}

/* Agent chip — 头像 + 名字 */
._chip_t0d1d_27 {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px 2px 4px;
  border-radius: var(--radius-full);
  background: var(--bg-primary);
  z-index: 1;
  flex-shrink: 0;
}

._chipTo_t0d1d_38 {
  margin-left: auto;
}

._chipName_t0d1d_42 {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-primary);
}

/* 中间传输图标 */
._transferIcon_t0d1d_49 {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 22px;
  height: 22px;
  border-radius: var(--radius-full);
  background: var(--bg-primary);
  border: 1px solid var(--border-default);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  color: var(--text-tertiary);
}

/* Reason 浮在中间下方 */
._reason_t0d1d_67 {
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  font-size: 10px;
  color: var(--text-tertiary);
  white-space: nowrap;
  margin-top: 2px;
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* BroadcastCard — 广播咨询列装折叠布局
 *
 * 外壳由 CollaborationShell 提供。这里仅定义广播问题、状态汇总、
 * Agent 回应列表与单项详情的内部布局。
 */

._broadcastBody_1dpjn_7 {
  display: flex;
  flex-direction: column;
  margin-top: 0;
  min-height: 0;
  max-height: inherit;
  overflow: hidden;
}

._detailRetry_1dpjn_16 {
  display: inline-flex;
  align-items: center;
  padding: 0;
  border: none;
  background: none;
  color: var(--text-tertiary);
  font-size: 12px;
  cursor: pointer;
}

._detailRetry_1dpjn_16:hover {
  color: var(--text-secondary);
}

._headerTitle_1dpjn_31 {
  min-width: 0;
  overflow: hidden;
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 700;
  line-height: 19px;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

._questionPanel_1dpjn_44 {
  padding: 2px 0 10px;
}

._questionMeta_1dpjn_48 {
  margin: 0;
  color: var(--text-tertiary);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._responseList_1dpjn_59 {
  display: grid;
  min-height: 0;
  max-height: calc(520px - 34px);
  overflow: hidden auto;
  overscroll-behavior: contain;
  border-top: 1px solid var(--border-default);
}

._responseItem_1dpjn_68 {
  min-width: 0;
  overflow: hidden;
}

._responseItem_1dpjn_68 + ._responseItem_1dpjn_68 {
  border-top: 1px solid var(--border-default);
}

._responseItemExpanded_1dpjn_77 {
  background: transparent;
}

._responseIdentity_1dpjn_81 {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

._responseHeaderLine_1dpjn_88 {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

._agentName_1dpjn_95 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 600;
  line-height: 17px;
}

._preview_1dpjn_106 {
  color: var(--text-tertiary);
  opacity: 0.7;
  font-size: 12px;
  line-height: 17px;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 流式思考摘要：key 变化 remount 播一次淡入，与 ReasoningBlock 摘要同族动画 */
._previewStreaming_1dpjn_118 {
  animation: _preview-in_1dpjn_1 160ms ease-out;
}

@keyframes _preview-in_1dpjn_1 {
  from {
    opacity: 0;
  }

  to {
    opacity: 0.7;
  }
}

@media (prefers-reduced-motion: reduce) {
  ._previewStreaming_1dpjn_118 {
    animation: none;
  }
}

._statusPill_1dpjn_138 {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 4px;
  min-height: 18px;
  padding: 1px 6px;
  border-radius: var(--radius-full);
  font-size: 11px;
  font-weight: 600;
  line-height: 14px;
  white-space: nowrap;
}

._status_pending_1dpjn_152,
._status_thinking_1dpjn_153 {
  background: var(--bg-tertiary);
  color: var(--text-secondary);
}

._status_streaming_1dpjn_158 {
  background: var(--color-info-light);
  color: var(--color-info);
}

._status_done_1dpjn_163 {
  background: var(--bg-tertiary);
  color: var(--text-secondary);
}

._status_failed_1dpjn_168 {
  background: var(--color-error-light);
  color: var(--color-error);
}

._status_cancelled_1dpjn_173 {
  background: var(--color-warning-light);
  color: var(--color-warning);
}

._statusDot_1dpjn_178 {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--text-tertiary);
}

._dot_pending_1dpjn_186,
._dot_thinking_1dpjn_187 {
  background: var(--text-tertiary);
}

._dot_streaming_1dpjn_191 {
  background: var(--color-info);
  box-shadow: 0 0 0 2px var(--color-info-light);
  animation: _dotPulse_1dpjn_1 1.5s ease-in-out infinite;
}

._dot_done_1dpjn_197 {
  background: var(--color-success);
  box-shadow: 0 0 0 2px var(--color-success-light);
}

._dot_failed_1dpjn_202 {
  background: var(--color-error);
  box-shadow: 0 0 0 2px var(--color-error-light);
}

._dot_cancelled_1dpjn_207 {
  background: var(--color-warning);
  box-shadow: 0 0 0 2px var(--color-warning-light);
}

._responseDetail_1dpjn_212 {
  margin: 0 0 12px 38px;
  padding-top: 10px;
  border-top: 1px solid var(--border-default);
  color: var(--text-primary);
  font-size: 13px;
  line-height: 1.6;
  max-height: min(240px, 42vh);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 6px;
}

._responseBlocksViewport_1dpjn_225 {
  padding: 0;
}

._responseBlockItem_1dpjn_229 {
  min-height: 1px;
}

._placeholder_1dpjn_233 {
  color: var(--text-tertiary);
  font-size: 12px;
  font-style: italic;
}

._errorText_1dpjn_239 {
  color: var(--color-error);
  font-size: 12px;
}

._cancelledText_1dpjn_244 {
  color: var(--color-warning);
  font-size: 12px;
  font-style: italic;
  display: block;
  padding-top: 6px;
}

@keyframes _dotPulse_1dpjn_1 {
  0%,
  100% {
    opacity: 0.5;
    transform: scale(1);
  }

  50% {
    opacity: 1;
    transform: scale(1.3);
  }
}

@media (width <= 640px) {
  ._responseAction_1dpjn_266 {
    margin-top: 0;
  }

  ._responseHeaderLine_1dpjn_88 {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  ._responseItem_1dpjn_68 .header--broadcastResponse {
    min-height: 48px;
    padding: 8px 0;
  }

  ._responseIdentity_1dpjn_81 {
    align-items: flex-start;
  }

  ._preview_1dpjn_106 {
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    white-space: normal;
  }

  ._responseDetail_1dpjn_212 {
    margin-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  ._dot_streaming_1dpjn_191 {
    animation: none !important;
    opacity: 1;
  }
}
._guidanceBlock_cstbi_1 {
  position: relative;
  margin: 6px 0;
  padding: 9px 10px 9px 14px;
  border: 1px solid color-mix(in srgb, var(--accent-color, #0a84ff) 16%, transparent);
  border-left: 2px solid var(--accent-color, #0a84ff);
  border-radius: 10px;
  background:
    linear-gradient(
      90deg,
      color-mix(in srgb, var(--accent-color, #0a84ff) 8%, transparent),
      transparent 72%
    ),
    color-mix(in srgb, var(--bg-secondary, #f7f8fa) 88%, transparent);
  color: var(--text-secondary, #5f6368);
}

._header_cstbi_18 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
  font-size: 12px;
  line-height: 1.4;
}

._title_cstbi_27 {
  letter-spacing: 0.02em;
  font-weight: 600;
  color: var(--text-primary, #202124);
}

._status_cstbi_33 {
  padding: 1px 6px;
  border-radius: 999px;
  background: var(--color-info-light);
  color: var(--text-tertiary, #7d858c);
}

._content_cstbi_40 {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: var(--text-primary, #202124);
  white-space: pre-wrap;
}

._cancelButton_cstbi_48 {
  margin-left: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accent-color, #0a84ff);
  font: inherit;
  cursor: pointer;
}

._cancelButton_cstbi_48:hover {
  text-decoration: underline;
}

._settled_cstbi_62 {
  border-color: color-mix(in srgb, var(--text-tertiary, #9aa0a6) 14%, transparent);
  border-left-color: color-mix(in srgb, var(--text-tertiary, #9aa0a6) 72%, transparent);
  background: color-mix(in srgb, var(--text-tertiary, #9aa0a6) 5%, transparent);
}

._settled_cstbi_62 ._status_cstbi_33 {
  background: color-mix(in srgb, var(--text-tertiary, #9aa0a6) 8%, transparent);
}
/* 运行时事件注记：内容流内的一行安静旁注。遵循 status-visual-spec 走 design token。 */

._note_1ax59_3 {
  display: block;
  padding: 1px 0;
  font-size: 0.75rem; /* 12px */
  line-height: 1.6;
  color: var(--text-tertiary, #9ca3af);
}

/* 状态视觉：只由 severity 决定颜色。icon 形状先行，色盲可辨。 */
._neutral_1ax59_12 { color: var(--text-tertiary, #9ca3af); }
._notice_1ax59_13  { color: var(--color-info, #3b82f6); }
._warning_1ax59_14 { color: var(--runtime-event-warning, #8a6f35); }
._error_1ax59_15   { color: var(--color-error, #ef4444); }

._summaryRow_1ax59_17 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  max-width: 100%;
}

._summaryRow_1ax59_17:disabled { cursor: default; }

._icon_1ax59_33 {
  display: inline-flex;
  flex-shrink: 0;
}

._icon_1ax59_33 svg {
  width: 13px;
  height: 13px;
  opacity: 0.82;
}

._summary_1ax59_17 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._chevron_1ax59_50 {
  display: inline-flex;
  flex-shrink: 0;
  transition: transform 0.15s ease;
}

._chevron_1ax59_50 svg {
  width: 12px;
  height: 12px;
  opacity: 0.7;
}
._chevronOpen_1ax59_61 { transform: rotate(180deg); }

._detail_1ax59_63 {
  margin: 4px 0 2px;
  padding: 8px 12px;
  border: 1px solid var(--border-default, #e5e7eb);
  border-radius: 10px;
  background: color-mix(in srgb, var(--bg-secondary, #f7f8fa) 88%, transparent);
  font-size: 0.75rem;
  line-height: 1.7;
  color: var(--text-secondary, #5f6368);
}

._kv_1ax59_74 {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  max-width: 420px;
}
._label_1ax59_80 { color: var(--text-tertiary, #9ca3af); }
._value_1ax59_81 { color: var(--text-primary, #1f2328); font-weight: 500; }
._root_kgknx_1 {
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

._root_kgknx_1[data-has-input='false'] ._name_kgknx_7,
._root_kgknx_1[data-invocation-kind='skill'] ._name_kgknx_7 {
  overflow: visible;
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
}

._label_kgknx_15 {
  position: relative;
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 2px 4px;
  border: 1px solid transparent;
  border-radius: 4px;
  color: inherit;
  cursor: pointer;
  line-height: 1.25;
  vertical-align: baseline;
  transition: border-color 140ms ease;
}

._chip_kgknx_33 {
  display: contents;
}

._label_kgknx_15:hover,
._label_kgknx_15:focus-visible {
  border-color: color-mix(in srgb, currentcolor 24%, transparent);
}

._label_kgknx_15:focus-visible {
  outline: 2px solid color-mix(in srgb, currentcolor 45%, transparent);
  outline-offset: 2px;
}

._name_kgknx_7 {
  min-width: 0;
  overflow: hidden;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 12px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._input_kgknx_57 {
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

@media (width <= 768px) {
  ._label_kgknx_15 {
    padding: 0;
    border-color: transparent;
    background: transparent;
  }

  ._label_kgknx_15::before {
    position: absolute;
    inset: -9px 0;
    content: '';
  }

  ._label_kgknx_15:hover,
  ._label_kgknx_15:focus-visible {
    border-color: transparent;
    background: transparent;
  }

  ._chip_kgknx_33 {
    display: flex;
    width: 100%;
    min-width: 0;
    height: 26px;
    align-items: center;
    gap: 5px;
    padding: 0 7px 0 6px;
    border: 1px solid color-mix(in srgb, #666b76 18%, transparent);
    border-radius: 5px;
    background: transparent;
    color: #666b76;
  }

  ._root_kgknx_1[data-has-input='false'] ._chip_kgknx_33,
  ._root_kgknx_1[data-invocation-kind='skill'] ._chip_kgknx_33 {
    width: auto;
    max-width: 100%;
    height: auto;
    min-height: 26px;
  }

  ._name_kgknx_7 {
    font-weight: 500;
  }

  ._input_kgknx_57 {
    color: #30343b;
    font-size: 15px;
    font-weight: 400;
  }
}
._root_1ekjj_1 {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin-top: 9px;
  padding-top: 7px;
  border-top: 1px solid color-mix(in srgb, currentcolor 14%, transparent);
  color: inherit;
}

._trigger_1ekjj_11 {
  display: flex;
  align-items: center;
  gap: 5px;
  width: 100%;
  min-height: 24px;
  min-width: 0;
  padding: 1px 0;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 11px;
  line-height: 16px;
  text-align: left;
  cursor: pointer;
  opacity: 0.72;
  transition: opacity 0.15s ease;
}

._trigger_1ekjj_11:hover {
  opacity: 1;
}

._trigger_1ekjj_11:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._provider_1ekjj_41 {
  flex-shrink: 0;
  font-weight: 600;
}

._separator_1ekjj_46 {
  flex-shrink: 0;
  opacity: 0.55;
}

._resource_1ekjj_51 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._secondary_1ekjj_58,
._count_1ekjj_59 {
  flex-shrink: 0;
  opacity: 0.68;
  white-space: nowrap;
}

._secondary_1ekjj_58::before {
  margin-right: 5px;
  content: '·';
}

._count_1ekjj_59 {
  padding: 0 4px;
  border-radius: 4px;
  background: color-mix(in srgb, currentcolor 9%, transparent);
}

._chevron_1ekjj_76,
._chevronExpanded_1ekjj_77 {
  flex-shrink: 0;
  margin-left: auto;
  transition: transform 0.15s ease;
}

._chevronExpanded_1ekjj_77 {
  transform: rotate(180deg);
}

._panel_1ekjj_87 {
  box-sizing: border-box;
  width: 100%;
  max-height: 320px;
  margin-top: 6px;
  overflow-y: auto;
  border-top: 1px solid color-mix(in srgb, currentcolor 11%, transparent);
  color: inherit;
  white-space: normal;
}

._source_1ekjj_98 {
  padding: 9px 0 2px;
}

._source_1ekjj_98 + ._source_1ekjj_98 {
  margin-top: 8px;
  border-top: 1px solid color-mix(in srgb, currentcolor 11%, transparent);
}

._sourceHeader_1ekjj_107 {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin-bottom: 3px;
  font-size: 12px;
  font-weight: 600;
}

._sourceKind_1ekjj_117 {
  min-width: 0;
  margin-left: auto;
  overflow: hidden;
  font-size: 11px;
  font-weight: 400;
  opacity: 0.62;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._resourceUri_1ekjj_128 {
  margin-bottom: 8px;
  overflow-wrap: anywhere;
  font-size: 11px;
  line-height: 16px;
  opacity: 0.62;
}

._factRow_1ekjj_136,
._fragmentRow_1ekjj_137 {
  display: grid;
  grid-template-columns: minmax(90px, 0.35fr) minmax(0, 1fr);
  gap: 10px;
  padding: 5px 0;
  border-top: 1px solid color-mix(in srgb, currentcolor 9%, transparent);
}

._detailLabel_1ekjj_145 {
  display: flex;
  align-items: flex-start;
  gap: 5px;
  min-width: 0;
  font-size: 11px;
  line-height: 17px;
  opacity: 0.68;
}

._detailLabel_1ekjj_145 svg {
  flex-shrink: 0;
  margin-top: 2px;
}

._detailValue_1ekjj_160 {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 12px;
  line-height: 17px;
}

._fragmentContent_1ekjj_167 {
  min-width: 0;
  max-height: 120px;
  margin: 0;
  overflow: auto;
  color: inherit;
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 16px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

._locatorValue_1ekjj_180 {
  display: flex;
  align-items: flex-start;
  gap: 5px;
  min-width: 0;
}

._locatorValue_1ekjj_180 code {
  min-width: 0;
  overflow-wrap: anywhere;
  color: inherit;
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 17px;
}

._copyButton_1ekjj_196 {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  opacity: 0.62;
}

._copyButton_1ekjj_196:hover {
  background: color-mix(in srgb, currentcolor 9%, transparent);
  opacity: 1;
}

@media (width <= 768px) {
  ._trigger_1ekjj_11 {
    min-height: 44px;
  }

  ._secondary_1ekjj_58 {
    display: none;
  }

  ._panel_1ekjj_87 {
    max-height: min(50vh, 360px);
  }

  ._copyButton_1ekjj_196 {
    width: 44px;
    height: 44px;
  }

  ._factRow_1ekjj_136,
  ._fragmentRow_1ekjj_137 {
    grid-template-columns: 1fr;
    gap: 3px;
  }
}
._title_148tp_1 {
  margin: 0;
  padding: 20px 20px 16px;
  color: var(--text-primary);
  font-size: 15px;
  font-weight: 600;
}

._body_148tp_9 {
  padding: 0 20px;
}

._field_148tp_13 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
  color: var(--text-secondary);
  font-size: 12px;
}

._input_148tp_22,
._textarea_148tp_23 {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  font: inherit;
  outline: none;
}

._input_148tp_22 {
  height: 36px;
  padding: 0 10px;
}

._textarea_148tp_23 {
  min-height: 140px;
  max-height: 42vh;
  padding: 10px;
  line-height: 1.5;
  resize: vertical;
}

._input_148tp_22:focus,
._textarea_148tp_23:focus {
  border-color: var(--accent);
}

._hint_148tp_52 {
  margin: 4px 0 16px;
  color: var(--text-tertiary);
  font-size: 12px;
}

._actions_148tp_58 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 0 20px 20px;
}
._contextMarker_q1ref_1 {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 0;
  margin: 8px 0;
}

._markerLine_q1ref_9 {
  flex: 1;
  height: 1px;
  background: var(--border-color);
  opacity: 0.5;
}

._markerText_q1ref_16 {
  font-size: 12px;
  color: var(--text-tertiary);
  white-space: nowrap;
}
._card_ljld9_1 {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  width: 100%;
  min-width: 0;
  padding: 11px 12px;
  border: 1px dashed color-mix(in srgb, var(--color-primary) 32%, var(--border-default));
  border-radius: 10px;
  background: color-mix(in srgb, var(--color-primary) 4%, var(--bg-primary));
  color: var(--text-primary);
}

._icon_ljld9_16 {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 8px;
  background: color-mix(in srgb, var(--color-primary) 10%, var(--bg-secondary));
  color: var(--color-primary);
}

._body_ljld9_26 {
  min-width: 0;
}

._metaRow_ljld9_30 {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 3px;
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.35;
}

._typeLabel_ljld9_40 {
  font-weight: 600;
  letter-spacing: 0.02em;
}

._size_ljld9_45::before {
  content: '·';
  margin-right: 7px;
}

._title_ljld9_50 {
  display: block;
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
}

._description_ljld9_58,
._preview_ljld9_59,
._feedback_ljld9_60 {
  margin: 4px 0 0;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.5;
}

._feedback_ljld9_60 {
  overflow-wrap: anywhere;
  color: var(--text-primary);
}

._preview_ljld9_59 {
  display: -webkit-box;
  overflow: hidden;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

._action_ljld9_80 {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 5px 10px;
  border: 1px solid color-mix(in srgb, var(--color-primary) 45%, var(--border-default));
  border-radius: 8px;
  background: var(--bg-primary);
  color: var(--color-primary);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}

._action_ljld9_80:hover:not(:disabled) {
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 8%, var(--bg-primary));
}

._action_ljld9_80:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._action_ljld9_80:disabled {
  cursor: wait;
  opacity: 0.72;
}

._spinner_ljld9_115 {
  animation: _deferredBlockSpin_ljld9_1 0.8s linear infinite;
}

@keyframes _deferredBlockSpin_ljld9_1 {
  to {
    transform: rotate(360deg);
  }
}

@media (width <= 520px) {
  ._card_ljld9_1 {
    grid-template-columns: auto minmax(0, 1fr);
  }

  ._action_ljld9_80 {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  ._spinner_ljld9_115 {
    animation-duration: 1.6s;
  }
}
._group_mhsgf_1 {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin: 2px 0;
  padding: 5px 2px;
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.5;
}

._label_mhsgf_14 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._size_mhsgf_20::before {
  content: '·';
  margin-right: 6px;
}

._retry_mhsgf_25 {
  display: inline-flex;
  align-items: center;
  margin-left: auto;
  padding: 2px 10px;
  border: 1px solid color-mix(in srgb, var(--color-primary) 45%, var(--border-default));
  border-radius: 999px;
  background: transparent;
  color: var(--color-primary);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

/* waiting 态不显示提示也不占版面：保留 1px 高度与布局盒，
   保证 IntersectionObserver 观察目标非空、auto-load 照常触发。 */
._idle_mhsgf_42 {
  height: 1px;
  margin: 0;
  padding: 0;
  visibility: hidden;
}

._retry_mhsgf_25:hover {
  background: color-mix(in srgb, var(--color-primary) 8%, transparent);
}

._retry_mhsgf_25:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._spinner_mhsgf_58 {
  flex: none;
  animation: _deferredBlockGroupSpin_mhsgf_1 0.8s linear infinite;
}

@keyframes _deferredBlockGroupSpin_mhsgf_1 {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  ._spinner_mhsgf_58 {
    animation-duration: 1.6s;
  }
}
/* DelegateCard — 委托代答脚注 */

._card_4djab_3 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px;
  align-items: center;
  gap: 4px 8px;
  width: min(560px, calc(100% - 12px));
  margin: 0 0 2px auto;
  padding: 5px 2px 5px 12px;
  font-size: 11px;
  line-height: 1.5;
  color: var(--text-tertiary);
  animation: _fadeIn_4djab_1 0.2s ease-out;
}

._card_4djab_3._intercepted_4djab_17 {
  color: var(--color-warning, #f59e0b);
}

._summary_4djab_21 {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--text-tertiary);
}

._identityCopy_4djab_28 {
  display: flex;
  min-width: 0;
  align-items: baseline;
  justify-content: flex-end;
  gap: 5px;
}

._identityMeta_4djab_36 {
  color: var(--text-tertiary);
  font-size: 10px;
  line-height: 1.2;
  opacity: 0.72;
  white-space: nowrap;
}

._warnIcon_4djab_44 {
  flex-shrink: 0;
}

._lowConfidenceDot_4djab_48 {
  white-space: nowrap;
  opacity: 0.65;
  flex-shrink: 0;
}

._reason_4djab_54 {
  grid-column: 1 / -1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0.55;
  text-align: right;
}

._reasonLabel_4djab_63 {
  margin-right: 5px;
  opacity: 0.78;
}

@keyframes _fadeIn_4djab_1 {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}
._frame_18imp_1 {
  position: relative;
  flex: 1;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

._currentTaskAnchor_18imp_10 {
  display: flex;
  min-height: 35px;
  align-items: center;
  gap: 8px;
  padding: 3px 14px 3px 16px;
  border-bottom: 1px solid var(--border-default);
  background: color-mix(in srgb, var(--bg-primary) 99%, var(--accent-color));
}

._currentTaskStatus_18imp_20 {
  width: 6px;
  height: 6px;
  flex: none;
  border-radius: 50%;
  background: var(--text-tertiary);
}

._currentTaskStatusActive_18imp_28 {
  background: var(--color-info);
}

._currentTaskLabel_18imp_32 {
  flex: none;
  color: var(--text-secondary);
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}

._currentTaskSummary_18imp_40 {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  color: var(--text-secondary);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._currentTaskLocate_18imp_50 {
  display: inline-flex;
  height: 28px;
  flex: none;
  align-items: center;
  gap: 6px;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  color: var(--text-secondary);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
}

._currentTaskLocate_18imp_50 span {
  display: none;
}

._currentTaskLocate_18imp_50:hover {
  border-color: var(--border-default);
  background: var(--hover-bg);
  color: var(--text-primary);
}

._currentTaskLocate_18imp_50:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

._currentTaskActions_18imp_81 {
  position: relative;
  display: flex;
  flex: none;
  align-items: center;
  gap: 2px;
}

._recentUserMessagesTrigger_18imp_89 {
  position: relative;
}

._recentUserMessagesPopover_18imp_93 {
  position: absolute;
  z-index: 40;
  top: 28px;
  right: 0;
  width: min(332px, calc(100vw - 24px));
  padding: 4px;
  border: 1px solid var(--border-default);
  border-radius: 7px;
  background: var(--bg-primary);
  box-shadow: var(--shadow-lg);
}

._recentUserMessageItem_18imp_106 {
  width: 100%;
  height: 38px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 0 8px 0 9px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--text-primary);
  cursor: pointer;
  text-align: left;
}

._recentUserMessageItem_18imp_106:hover,
._recentUserMessageItem_18imp_106:focus-visible {
  outline: none;
  background: var(--hover-bg);
}

._recentUserMessageItemCurrent_18imp_128 {
  background: color-mix(in srgb, var(--accent-color) 9%, transparent);
}

._recentUserMessageSummary_18imp_132 {
  min-width: 0;
  overflow: hidden;
  font-size: 12px;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._recentUserMessageTime_18imp_141 {
  color: var(--text-tertiary);
  font-size: 10px;
  white-space: nowrap;
}

._recentUserMessagesState_18imp_147 {
  padding: 12px 10px;
  color: var(--text-tertiary);
  font-size: 11px;
  text-align: center;
}

@media (width <= 640px) {
  ._currentTaskAnchor_18imp_10 {
    gap: 6px;
    padding-right: 8px;
    padding-left: 10px;
  }

  ._currentTaskLocate_18imp_50 {
    width: 32px;
    padding: 0;
  }

  ._currentTaskLocate_18imp_50 span {
    display: none;
  }
}

._messageNavigationHighlight_18imp_171 {
  position: relative;
  z-index: 1;
  background: color-mix(in srgb, var(--accent-color) 10%, transparent);
  box-shadow: inset 3px 0 var(--accent-color);
  animation: _messageNavigationHighlightPulse_18imp_1 1.8s ease-out both;
}

/* 消息高亮时，一条消息被虚拟化为多个 slice（消息体 content + footer）独立容器，
   两个容器之间的间距区域没有 slice 背景，高亮色与左侧竖条会在气泡与 footer 之间断开。
   footer slice 是消息最后一个 slice，用 ::before 向上延伸高亮背景与竖条，
   让整条消息的高亮视觉连续。 */
._messageNavigationHighlight_18imp_171._virtualListItemMessageContinuation_18imp_183._virtualListItemLast_18imp_183::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -6px;
  height: 6px;
  background: inherit;
  box-shadow: inset 3px 0 var(--accent-color);
  pointer-events: none;
}

@keyframes _messageNavigationHighlightPulse_18imp_1 {
  0% {
    background: color-mix(in srgb, var(--accent-color) 24%, transparent);
  }

  100% {
    background: color-mix(in srgb, var(--accent-color) 10%, transparent);
  }
}

._messageViewport_18imp_205 {
  flex: 1;
  min-width: 0;
  position: relative;
  min-height: 0;
  display: flex;
}

._container_18imp_213 {
  flex: 1;
  min-width: 0;
  overflow-y: auto;
  min-height: 0;
  padding-right: 0;
  outline: none;
  transition: opacity 0.15s ease-out;

  /* 虚拟列表由 Virtuoso + useScrollAnchor 显式管理滚动位置；禁用浏览器原生
     scroll anchoring，避免 slice 重挂载（新 block 追加）时浏览器按视口锚点
     把 scrollTop 弹回旧位置，与流式追尾写入形成单帧往返闪烁。 */
  overflow-anchor: none;
}

._containerSwitching_18imp_228 {
  /* Keep the latched viewport mounted as a stable size reference while the
     switching skeleton hides its stale content. */
  pointer-events: none;
  user-select: none;
  scrollbar-width: none; /* Firefox */
}

._containerSwitching_18imp_228::-webkit-scrollbar {
  display: none; /* Chromium / Electron */
}

._loadMoreButton_18imp_240 {
  display: block;
  margin: 12px auto;
  padding: 8px 16px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 6px;
  color: var(--text-primary);
  font-size: 13px;
  cursor: pointer;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

._loadMoreButton_18imp_240:hover {
  background: var(--hover-bg);
}

._loadMoreButton_18imp_240:focus-visible,
._newMessageHint_18imp_261:focus-visible,
._scrollToBottom_18imp_262:focus-visible,
._quoteSelectionToolbarBtn_18imp_263:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

._messageWrapper_18imp_268 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
}

._bottomAnchor_18imp_275 {
  height: 1px;
  overflow-anchor: none;
}

._virtualListItem_18imp_183 {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 1px;
  padding: 0 8px 0 16px;
}

._virtualBottomReserve_18imp_289 {
  width: 100%;
  pointer-events: none;
  overflow-anchor: none;
}

._virtualListItemMessageStart_18imp_295 {
  padding-top: 0;
}

._virtualListItemMessageContinuation_18imp_183 {
  padding-top: 0;
  padding-bottom: 0;
}

._virtualListItemFirst_18imp_304 {
  padding-top: 16px;
}

._virtualListItemLast_18imp_183 {
  padding-bottom: 4px;
}

._contextStatusRow_18imp_312 {
  margin: -4px 0 0;
  padding: 0 4px;
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.5;
  text-align: center;
}

._maintenanceRow_18imp_321 {
  display: contents;
}

._loadingMore_18imp_325,
._noMoreMessages_18imp_326,
._centerState_18imp_327 {
  text-align: center;
  padding: 12px;
  color: var(--text-secondary);
  font-size: 12px;
}

._centerState_18imp_327 {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

._loadErrorState_18imp_341 {
  flex-direction: column;
  gap: 12px;
}

._loadErrorRetry_18imp_346 {
  margin: 0;
}

._switchingSkeleton_18imp_350 {
  position: absolute;
  z-index: 30;
  inset: 0;
  width: 100%;
  pointer-events: none;
  padding: 16px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: var(--bg-primary);
}

._switchingSkeletonRow_18imp_364 {
  width: min(72%, 520px);
  height: 14px;
  margin: 0 0 14px;
  border-radius: 7px;
  background: var(--bg-tertiary);
  animation: _switchingSkeletonPulse_18imp_1 1.2s ease-in-out infinite;
}

._switchingSkeletonRow_18imp_364:nth-child(2) {
  width: min(58%, 420px);
  animation-delay: 120ms;
}

._switchingSkeletonRow_18imp_364:nth-child(3) {
  width: min(66%, 480px);
  animation-delay: 240ms;
}

@keyframes _switchingSkeletonPulse_18imp_1 {
  0%,
  100% {
    opacity: 0.7;
  }

  50% {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  ._switchingSkeletonRow_18imp_364,
  ._currentTaskStatusActive_18imp_28,
  ._messageNavigationHighlight_18imp_171 {
    animation: none;
  }

  ._switchingSkeletonRow_18imp_364 {
    opacity: 0.85;
  }
}

._newMessageHint_18imp_261 {
  position: absolute;
  left: 50%;
  bottom: 16px;
  z-index: 10;
  transform: translateX(-50%);
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 16px;
  border: 1px solid var(--border-color);
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-size: 13px;
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  transition: background 0.2s ease;
}

._newMessageHint_18imp_261:hover {
  background: var(--hover-bg);
}

._scrollToBottom_18imp_262 {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 10;
  margin: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border-color);
  background: var(--bg-secondary);
  color: var(--text-primary);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-sm);
  transition:
    background 0.2s ease,
    transform 0.2s ease;
}

._scrollToBottom_18imp_262:hover {
  background: var(--hover-bg);
  transform: scale(1.05);
}

._quoteSelectionToolbar_18imp_263:focus-within {
  outline: none;
  box-shadow: var(--focus-ring);
}

._quoteSelectionToolbar_18imp_263 {
  position: fixed;
  z-index: 30;
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--border-color);
  border-radius: 999px;
  background: var(--bg-primary);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  animation: _quoteToolbarPop_18imp_1 0.18s ease-out;
}

@keyframes _quoteToolbarPop_18imp_1 {
  from {
    opacity: 0;
    transform: translateY(4px) scale(0.92);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

._quoteSelectionToolbarBtn_18imp_263 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 28px;
  padding: 0 10px;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  font-family: inherit;
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
  transition:
    background 0.12s ease,
    color 0.12s ease;
}

._quoteSelectionToolbarBtn_18imp_263:first-child {
  padding-left: 12px;
}

._quoteSelectionToolbarBtn_18imp_263:last-child {
  padding-right: 12px;
}

._quoteSelectionToolbarBtn_18imp_263:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._quoteSelectionToolbarBtn_18imp_263:active {
  transform: scale(0.95);
}

._quoteSelectionToolbarBtnSend_18imp_525:hover {
  color: var(--accent-blue, #3b82f6);
}

._quoteSelectionToolbarBtnOpen_18imp_529:hover {
  color: var(--accent-blue, #3b82f6);
}

._quoteSelectionToolbarDivider_18imp_533 {
  width: 1px;
  flex-shrink: 0;
  margin: 5px 0;
  background: var(--border-color);
}

/* 消息进入动画 */
._messageEnter_18imp_541 {
  animation: _messageSlideIn_18imp_1 0.3s ease-out;
}

@keyframes _messageSlideIn_18imp_1 {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 淡入动画 */
._fadeIn_18imp_558 {
  animation: _fadeIn_18imp_558 0.2s ease-out;
}

@keyframes _fadeIn_18imp_558 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* Queued message preview — separated from the virtual list */
._queuedPreviewArea_18imp_573 {
  flex-shrink: 0;
  padding: 0 16px 8px;
  max-height: 200px;
  overflow-y: auto;
}
._row_36v9t_1 {
  display: flex;
  justify-content: center;
  padding: 4px 16px 16px;
}

._card_36v9t_7 {
  display: flex;
  gap: 10px;
  width: min(560px, 100%);
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--color-primary) 24%, var(--border-color));
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface) 94%, var(--color-primary) 6%);
  box-shadow: var(--shadow-sm);
  animation: _slideIn_36v9t_1 160ms ease-out;
}

._iconWrap_36v9t_19 {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
}

._body_36v9t_29 {
  min-width: 0;
  flex: 1;
}

._title_36v9t_34 {
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 600;
  line-height: 20px;
}

._description_36v9t_41 {
  margin-top: 2px;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 20px;
}

._actions_36v9t_48 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

._primaryButton_36v9t_57,
._secondaryButton_36v9t_58 {
  height: 28px;
  padding: 0 10px;
  border-radius: 7px;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
  transition:
    background 120ms ease,
    border-color 120ms ease,
    color 120ms ease;
}

._primaryButton_36v9t_57 {
  border: 1px solid var(--color-primary);
  background: var(--color-primary-solid);
  color: var(--text-on-primary);
  font-weight: 500;
}

._primaryButton_36v9t_57:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

._secondaryButton_36v9t_58 {
  border: 1px solid var(--border-color);
  background: var(--surface);
  color: var(--text-secondary);
}

._secondaryButton_36v9t_58:hover {
  color: var(--text-primary);
  background: var(--hover-bg);
}

._textButton_36v9t_94 {
  border: none;
  background: none;
  color: var(--text-tertiary);
  font-size: 11px;
  padding: 0;
  height: auto;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 2px;
  transition:
    color 120ms ease,
    text-decoration-color 120ms ease;
}

._textButton_36v9t_94:hover {
  color: var(--text-secondary);
  text-decoration-color: var(--text-secondary);
  background: none;
}

._spin_36v9t_116 {
  animation: _spin_36v9t_116 900ms linear infinite;
}

@keyframes _spin_36v9t_116 {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes _slideIn_36v9t_1 {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}
._container_p1l48_1 {
  border-radius: 8px;
  overflow: hidden;
  display: grid;
  flex-shrink: 0;
  color: white;
  font-weight: 700;
  place-items: center center;
  user-select: none;
  box-sizing: border-box;
}

._image_p1l48_13 {
  border-radius: 8px;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
}

._grid2_p1l48_20 {
  grid-template-columns: 1fr 1fr;
}

._grid4_p1l48_24 {
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
}

._overflow_p1l48_29 {
  width: 100%;
  height: 100%;
  border-radius: 6px;
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  line-height: 1;
}
/* ChatHeaderBar — 紧凑头像 + 名称 */

._wrapper_1o31t_3 {
  display: flex;
  flex-direction: column;
  background: var(--bg-primary);
  flex-shrink: 0;
}

/* 第一层（群级/单聊）：紧凑头像 + 名称 */
._headerTop_1o31t_11 {
  box-sizing: border-box;
  height: 42px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px;
  border-bottom: 1px solid var(--border-default);
}

/* ── 左侧头像 ────────────────────────────────────────── */
._avatarCol_1o31t_23 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  border-radius: 50%;
  transition: box-shadow 0.15s ease;
}

._avatarCol_1o31t_23:hover {
  box-shadow: 0 0 0 2px var(--color-primary);
}

._avatarCol_1o31t_23:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._groupIcon_1o31t_45 {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ── 右侧信息区 ──────────────────────────────────────── */
._infoCol_1o31t_56 {
  flex: 1;
  min-width: 0;
}

/* ── 上行：名称 ──────────────────────────────────────── */
._nameRow_1o31t_62 {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  justify-content: space-between;
}

/* 标题 + 上下文状态容器 */
._titleWrap_1o31t_71 {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  flex: 1;
}

._headerTitleGroup_1o31t_79 {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

._title_1o31t_71 {
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  text-align: left;
}

._title_1o31t_71:hover {
  color: var(--color-primary);
}

._title_1o31t_71:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 4px;
}

._sessionTitle_1o31t_111 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._contextInspectorButton_1o31t_120 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 7px;
  color: var(--text-tertiary);
  background: transparent;
  cursor: pointer;
  flex-shrink: 0;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}

._contextInspectorButton_1o31t_120:hover {
  color: var(--text-primary);
  background: var(--bg-secondary);
}

._contextInspectorButton_1o31t_120:disabled {
  color: var(--text-tertiary);
  cursor: default;
  opacity: 0.45;
}

._contextInspectorButton_1o31t_120:disabled:hover {
  background: transparent;
}

._panelButtonTooltipTrigger_1o31t_153 {
  display: inline-flex;
  flex-shrink: 0;
}

._contextInspectorButton_1o31t_120:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._contextInspectorButtonActive_1o31t_163 {
  color: var(--color-primary, #0dbc79);
  background: color-mix(in srgb, var(--color-primary, #0dbc79) 12%, transparent);
}

._meetingButton_1o31t_168 {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 26px;
  padding: 0 7px;
  border: 1px solid var(--border-default);
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
}

._meetingButton_1o31t_168:hover {
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 8%, transparent);
  color: var(--color-primary);
}

._meetingButton_1o31t_168:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._meetingButtonBusy_1o31t_196 {
  border-color: var(--border-default);
  background: var(--bg-secondary);
  color: var(--text-tertiary);
}

._recordingBusyMessage_1o31t_202 {
  max-width: 240px;
  overflow: hidden;
  color: var(--text-secondary);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._contextInspectorIcon_1o31t_211 {
  position: relative;
  display: inline-flex;
}

._contextInspectorStatusDot_1o31t_216 {
  position: absolute;
  top: -3px;
  right: -4px;
  width: 5px;
  height: 5px;
  border: 1px solid var(--bg-primary);
  border-radius: 50%;
  background: var(--color-info);
}

._contextInspectorStatusDot_1o31t_216[data-status='running'] {
  background: var(--color-success, #22c55e);
}

._contextInspectorStatusDot_1o31t_216[data-status='attention'] {
  background: var(--color-warning);
}

/* ── 汉堡按钮（仅 ≤768px 显示） ──────────────────────── */
._hamburgerBtn_1o31t_236 {
  display: none; /* 桌面端不显示 */
  position: relative; /* 运行中会话数角标的定位基准 */
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  border-radius: 9px;
  flex-shrink: 0;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}

/*
 * 运行中会话数角标：**数字计数**，承载原底栏左组「n 运行中」的跨会话聚合信号。
 * 移动端底栏已下线（契约 §3），此角标是该信号唯一的常驻落点——挂在「去看它」
 * 那个动作的控件（抽屉开关）上，用户一瞥即可顺势点开，动作闭环。
 * 类名避开 accent 令牌守卫的状态词表（见底栏样式表同名说明）。
 */
._sessionCountBadge_1o31t_260 {
  position: absolute;
  top: 1px;
  right: 1px;
  box-sizing: border-box;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 8px;
  background: var(--color-primary);
  color: var(--text-on-primary);
  font-size: 10px;
  font-weight: 600;
  line-height: 16px;
  text-align: center;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 0 0 2px var(--bg-secondary);
}

._hamburgerBtn_1o31t_236:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

@media (width <= 768px) {
  ._headerTop_1o31t_11 {
    height: 48px;
    gap: 12px;
    padding: 6px 12px;
  }

  ._hamburgerBtn_1o31t_236 {
    display: flex;
  }

  ._avatarCol_1o31t_23 {
    margin-left: 2px;
  }
}

/* ── 新建线程按钮（单线程群 header 右上角） ─────────── */
._newThreadBtn_1o31t_301 {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: 1px solid var(--gray-300);
  background: transparent;
  color: var(--gray-500);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  transition:
    border-color 150ms ease,
    color 150ms ease,
    background 150ms ease,
    box-shadow 150ms ease;
}

._newThreadBtn_1o31t_301:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: var(--color-primary-muted);
}

._newThreadBtn_1o31t_301:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: var(--color-primary-muted);
  box-shadow: 0 0 0 2px var(--color-primary-medium);
}
._dropdown_wtu5j_1 {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  max-height: 280px;
  overflow-y: auto;
  box-shadow: var(--shadow-md);
  isolation: isolate;
  z-index: 1100;
}

._dropdownInline_wtu5j_12 {
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  margin-bottom: 8px;
}

._dropdownPortal_wtu5j_20 {
  position: fixed;
  margin: 0;
  transform: translateY(calc(-100% - 8px));
}

._item_wtu5j_26 {
  padding: 8px 12px;
  cursor: pointer;
  transition: background 0.2s ease;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

._item_wtu5j_26:hover {
  background: var(--hover-bg);
}

._item_wtu5j_26._active_wtu5j_40 {
  background: var(--hover-bg);
  border-left: 3px solid var(--color-primary);
  padding-left: 9px;
}

._name_wtu5j_46 {
  font-size: 14px;
  color: var(--text-primary);
  font-weight: 500;
}

._commandHeading_wtu5j_52 {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

._typeBadge_wtu5j_59 {
  flex-shrink: 0;
  padding: 1px 5px;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  background: var(--bg-tertiary, var(--hover-bg));
  color: var(--text-tertiary, var(--text-secondary));
  font-size: 10px;
  line-height: 15px;
  font-weight: 500;
  white-space: nowrap;
}

._sectionLabel_wtu5j_72 {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 7px 12px 4px;
  background: var(--bg-secondary);
  color: var(--text-tertiary, var(--text-secondary));
  font-size: 10px;
  line-height: 14px;
  font-weight: 600;
  text-transform: uppercase;
}

._browserHeader_wtu5j_85 {
  position: sticky;
  top: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 8px;
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--border-color);
}

._backButton_wtu5j_98 {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid var(--border-color);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
}

._backButton_wtu5j_98:hover,
._backButton_wtu5j_98:focus-visible {
  color: var(--text-primary);
  background: var(--hover-bg);
}

._browserTitle_wtu5j_120 {
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

._browserChevron_wtu5j_127 {
  flex-shrink: 0;
  color: var(--text-tertiary, var(--text-secondary));
}

._filterInput_wtu5j_132 {
  min-width: 0;
  width: 100%;
  height: 28px;
  padding: 4px 8px;
  border: 1px solid var(--border-color);
  border-radius: 5px;
  background: var(--bg-primary);
  color: var(--text-primary);
  font: inherit;
  font-size: 12px;
  outline: none;
}

._filterInput_wtu5j_132:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-subtle);
}

._emptyState_wtu5j_151 {
  padding: 20px 12px;
  color: var(--text-secondary);
  font-size: 12px;
  text-align: center;
}

._description_wtu5j_158 {
  font-size: 11px;
  color: var(--text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._commandInfo_wtu5j_166 {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  flex: 1;
}

._shortcut_wtu5j_174 {
  font-size: 11px;
  color: var(--text-tertiary, var(--text-secondary));
  background: var(--bg-tertiary, var(--hover-bg));
  border: 1px solid var(--border-color);
  border-radius: 4px;
  padding: 1px 5px;
  white-space: nowrap;
  flex-shrink: 0;
}

._defaultSwitch_wtu5j_185 {
  border: none;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px;
  flex-shrink: 0;
}

._defaultSwitch_wtu5j_185:hover ._defaultLabel_wtu5j_197 {
  color: var(--text-primary);
}

._defaultLabel_wtu5j_197 {
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
}

._switchTrack_wtu5j_207 {
  width: 28px;
  height: 16px;
  border-radius: 999px;
  background: var(--bg-tertiary, var(--hover-bg));
  border: 1px solid var(--border-color);
  display: inline-flex;
  align-items: center;
  padding: 1px;
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}

._switchTrackOn_wtu5j_221 {
  background: var(--color-primary-solid);
  border-color: var(--color-primary);
}

._switchThumb_wtu5j_226 {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--bg-primary);
  box-shadow: 0 1px 2px rgb(0 0 0 / 18%);
  transform: translateX(0);
  transition: transform 0.2s ease;
}

._switchTrackOn_wtu5j_221 ._switchThumb_wtu5j_226 {
  transform: translateX(12px);
}

._agentInfo_wtu5j_240 {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

._agentDesc_wtu5j_247 {
  font-size: 11px;
  color: var(--text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 200px;
}

/* @all 选项特殊样式 — 更有视觉权重 */
._allItem_wtu5j_257 {
  background: var(--color-primary-subtle);
  border-radius: 6px;
  margin: 4px;
  padding: 6px 10px;
}

._allItem_wtu5j_257:hover {
  background: var(--color-primary-muted);
}

._allItem_wtu5j_257 ._name_wtu5j_46 {
  color: var(--color-primary);
  font-weight: 600;
}

._allIcon_wtu5j_273 {
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}

._hint_wtu5j_283 {
  padding: 6px 12px;
  font-size: 11px;
  color: var(--text-tertiary, var(--text-secondary));
  border-top: 1px solid var(--border-color);
  text-align: center;
}
._picker_1f1d2_1 {
  position: fixed;
  width: min(440px, calc(100vw - 32px));
  max-height: 300px;
  display: flex;
  flex-direction: column;
  background: color-mix(in srgb, var(--bg-secondary) 96%, transparent);
  border: 1px solid color-mix(in srgb, var(--border-color) 72%, transparent);
  border-radius: 12px;
  box-shadow:
    0 12px 32px rgb(15 23 42 / 14%),
    0 2px 8px rgb(15 23 42 / 6%);
  z-index: 1100;
  overflow: hidden;
  transform: translateY(calc(-100% - 8px));
  backdrop-filter: blur(12px);
}

._picker_1f1d2_1:has(._editor_1f1d2_19) {
  max-height: min(420px, calc(100dvh - 24px));
}

._header_1f1d2_23 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--border-color) 72%, transparent);
}

._title_1f1d2_31 {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

._textButton_1f1d2_37 {
  height: 28px;
  padding: 0 8px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  font-size: 12px;
  cursor: pointer;
}

._textButton_1f1d2_37:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._list_1f1d2_53 {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 6px;
}

._itemRow_1f1d2_60 {
  position: relative;
  display: flex;
  align-items: center;
  border-radius: 9px;
}

._item_1f1d2_60 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  width: auto;
  flex: 1;
  min-width: 0;
  padding: 7px 8px 7px 12px;
  border: none;
  border-radius: 9px;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

._itemRow_1f1d2_60:hover,
._itemRow_1f1d2_60:has(._item_1f1d2_60:focus-visible),
._itemRowActive_1f1d2_86 {
  background: color-mix(in srgb, var(--color-primary) 9%, var(--hover-bg));
}

._item_1f1d2_60:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 55%, transparent);
  outline-offset: 1px;
}

._itemActive_1f1d2_95 ._itemPreview_1f1d2_95 {
  font-weight: 500;
}

._itemText_1f1d2_99 {
  min-width: 0;
  flex: 1;
  overflow: hidden;
}

._itemPreview_1f1d2_95 {
  font-size: 13px;
  line-height: 1.4;
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._shortcut_1f1d2_114 {
  flex: 0 0 38px;
  padding: 1px 5px;
  border-radius: 5px;
  background: color-mix(in srgb, var(--bg-tertiary, var(--hover-bg)) 76%, transparent);
  color: var(--text-tertiary, var(--text-secondary));
  font-size: 10px;
  line-height: 16px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  text-align: center;
  white-space: nowrap;
}

._moreButton_1f1d2_127 {
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-tertiary, var(--text-secondary));
  opacity: 0;
  cursor: pointer;
  flex-shrink: 0;
}

._fillButton_1f1d2_142 {
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-tertiary, var(--text-secondary));
  opacity: 0;
  cursor: pointer;
  flex-shrink: 0;
}

._fillButton_1f1d2_142:hover,
._fillButton_1f1d2_142:focus-visible {
  background: var(--bg-tertiary, var(--hover-bg));
  color: var(--text-primary);
}

._fillButton_1f1d2_142:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 55%, transparent);
  outline-offset: 1px;
}

._itemRow_1f1d2_60:hover ._fillButton_1f1d2_142,
._itemRowActive_1f1d2_86 ._fillButton_1f1d2_142,
._fillButton_1f1d2_142:focus-visible {
  opacity: 1;
}

@media (hover: none) {
  ._fillButton_1f1d2_142 {
    opacity: 1;
  }
}

._itemRow_1f1d2_60:hover ._moreButton_1f1d2_127,
._itemRowActive_1f1d2_86 ._moreButton_1f1d2_127,
._moreButton_1f1d2_127:focus-visible {
  opacity: 1;
}

._moreButton_1f1d2_127:hover {
  background: var(--bg-tertiary, var(--hover-bg));
  color: var(--text-primary);
}

._itemMenu_1f1d2_191 {
  position: fixed;
  min-width: 96px;
  padding: 4px;
  background: var(--bg-primary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  box-shadow: var(--shadow-md);
  z-index: 1200;
}

._itemMenu_1f1d2_191 button {
  width: 100%;
  border: none;
  background: transparent;
  color: var(--text-primary);
  text-align: left;
  padding: 7px 8px;
  border-radius: 6px;
  font-size: 12px;
  cursor: pointer;
}

._itemMenu_1f1d2_191 button:hover {
  background: var(--hover-bg);
}

._itemMenu_1f1d2_191 ._dangerAction_1f1d2_218 {
  color: var(--color-danger, #ef4444);
}

._footer_1f1d2_222 {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 10px 8px 12px;
  border-top: 1px solid color-mix(in srgb, var(--border-color) 66%, transparent);
  color: var(--text-tertiary, var(--text-secondary));
  font-size: 11px;
  white-space: nowrap;
}

._footer_1f1d2_222 > span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

._manageButton_1f1d2_241 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 24px;
  padding: 0 7px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  font-size: 11px;
  white-space: nowrap;
  cursor: pointer;
}

._manageButton_1f1d2_241:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._state_1f1d2_261,
._emptyState_1f1d2_262 {
  min-height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
  text-align: center;
}

._emptyTitle_1f1d2_272 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 6px;
}

._emptyDescription_1f1d2_279 {
  font-size: 12px;
  color: var(--text-secondary);
  margin-bottom: 16px;
}

._editor_1f1d2_19 {
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._field_1f1d2_292 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  color: var(--text-secondary);
}

._field_1f1d2_292 input,
._field_1f1d2_292 textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--bg-primary);
  color: var(--text-primary);
  padding: 8px 10px;
  font-size: 13px;
  outline: none;
}

._field_1f1d2_292 input:focus,
._field_1f1d2_292 textarea:focus {
  border-color: var(--color-primary);
}

._field_1f1d2_292 textarea {
  min-height: 120px;
  resize: vertical;
  line-height: 1.5;
}

._editorActions_1f1d2_324 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

._editorHint_1f1d2_330 {
  margin-top: -6px;
  color: var(--text-tertiary, var(--text-secondary));
  font-size: 11px;
}

._primaryAction_1f1d2_336,
._secondaryAction_1f1d2_337 {
  height: 30px;
  border-radius: 7px;
  padding: 0 12px;
  font-size: 12px;
  cursor: pointer;
}

._primaryAction_1f1d2_336 {
  border: none;
  background: var(--color-primary-solid);
  color: var(--text-on-primary);
}

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

._secondaryAction_1f1d2_337 {
  border: 1px solid var(--border-color);
  background: transparent;
  color: var(--text-secondary);
}

._secondaryAction_1f1d2_337:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

/* ---- scope badge (list item) ---- */

._scopeBadge_1f1d2_369 {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin-left: 6px;
  padding: 0 5px;
  border-radius: 4px;
  background: color-mix(in srgb, var(--color-primary) 12%, transparent);
  color: var(--color-primary);
  font-size: 10px;
  line-height: 16px;
  white-space: nowrap;
}

/* ---- scope checkbox (editor) ---- */

._scopeCheckbox_1f1d2_385 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--text-secondary);
  cursor: pointer;
  user-select: none;
}

._scopeCheckbox_1f1d2_385 input[type='checkbox'] {
  width: 15px;
  height: 15px;
  accent-color: var(--color-primary);
  cursor: pointer;
}

@media (width <= 768px) {
  ._picker_1f1d2_1 {
    left: 8px !important;
    width: calc(100vw - 16px) !important;
    max-height: min(304px, 52dvh);
    border-radius: 14px;
    background: var(--bg-secondary);
    box-shadow:
      0 14px 36px rgb(15 23 42 / 20%),
      0 3px 10px rgb(15 23 42 / 8%);
    transform: translateY(calc(-100% - 10px));
  }

  ._picker_1f1d2_1:has(._editor_1f1d2_19) {
    max-height: min(304px, calc(100dvh - 24px));
  }

  ._header_1f1d2_23 {
    flex-shrink: 0;
  }

  ._editor_1f1d2_19 {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  ._list_1f1d2_53 {
    padding: 4px 6px;
    overscroll-behavior: contain;
  }

  ._itemRow_1f1d2_60 {
    min-height: 48px;
    gap: 2px;
    border-radius: 10px;
  }

  ._item_1f1d2_60 {
    min-height: 48px;
    padding: 4px 6px 4px 14px;
    border-radius: 10px;
  }

  ._itemPreview_1f1d2_95 {
    font-size: 14px;
    line-height: 1.35;
  }

  ._shortcut_1f1d2_114 {
    display: none;
  }

  ._fillButton_1f1d2_142,
  ._moreButton_1f1d2_127 {
    width: 44px;
    height: 44px;
    opacity: 1;
    border-radius: 8px;
    touch-action: manipulation;
  }

  ._fillButton_1f1d2_142 {
    margin-left: 2px;
  }

  ._moreButton_1f1d2_127 {
    margin-right: 2px;
  }

  ._footer_1f1d2_222 {
    box-sizing: border-box;
    height: 48px;
    min-height: 48px;
    padding: 0 8px;
    background: var(--bg-secondary);
    justify-content: flex-end;
  }

  ._footer_1f1d2_222 > span:first-child {
    display: none;
  }

  ._manageButton_1f1d2_241 {
    height: 44px;
    padding: 0 10px;
    font-size: 12px;
  }

  ._textButton_1f1d2_37,
  ._itemMenu_1f1d2_191 button,
  ._primaryAction_1f1d2_336,
  ._secondaryAction_1f1d2_337 {
    min-height: 44px;
  }

  ._primaryAction_1f1d2_336,
  ._secondaryAction_1f1d2_337 {
    height: 44px;
  }
}
._attachmentItem_1kg1p_1 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 6px;
  transition: background 0.2s ease;
  min-width: 0;
}

._imagePreview_1kg1p_13 {
  width: 32px;
  height: 32px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
  border: 1px solid var(--border-color);
}

._attachmentItem_1kg1p_1:hover {
  background: var(--hover-bg);
}

._attachmentPreviewButton_1kg1p_26 {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

._attachmentPreviewButton_1kg1p_26:disabled {
  cursor: default;
}

._attachmentPreviewButton_1kg1p_26:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 4px;
}

._audioAttachment_1kg1p_50 {
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  width: min(100%, 420px);
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid color-mix(in srgb, var(--color-primary) 18%, var(--border-color));
  border-radius: 8px;
  background: color-mix(in srgb, var(--color-primary) 5%, var(--bg-secondary));
}

._audioHeader_1kg1p_62 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  min-width: 0;
}

._audioPlayer_1kg1p_70 {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 36px;
}

._fileIcon_1kg1p_78 {
  color: var(--text-secondary);
  flex-shrink: 0;
}

._fileInfo_1kg1p_83 {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

._fileName_1kg1p_91 {
  font-size: 13px;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._fileSize_1kg1p_99 {
  font-size: 11px;
  color: var(--text-tertiary);
}

._removeButton_1kg1p_104 {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: var(--text-tertiary);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

._removeButton_1kg1p_104:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._attachmentList_1kg1p_123 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 8px;
}

._uploadArea_1kg1p_130 {
  border: 2px dashed var(--border-color);
  border-radius: 8px;
  padding: 16px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease;
  background: var(--bg-secondary);
}

._uploadArea_1kg1p_130:hover {
  border-color: var(--accent-color);
  background: var(--hover-bg);
}

._uploadArea_1kg1p_130._dragOver_1kg1p_145 {
  border-color: var(--accent-color);
  background: var(--active-bg);
}

._uploadIcon_1kg1p_150 {
  color: var(--text-tertiary);
  margin-bottom: 8px;
}

._uploadText_1kg1p_155 {
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 4px;
}

._uploadHint_1kg1p_161 {
  font-size: 11px;
  color: var(--text-tertiary);
}

._hiddenInput_1kg1p_166 {
  display: none;
}
._container_19kur_1 {
  border-top: 1px solid var(--border);
  background: var(--surface);
  backdrop-filter: var(--backdrop-blur);
}

._containerDropdownOpen_19kur_7 {
  background: var(--bg-primary);
  backdrop-filter: none;
}

/*
 * 输入区容器：输入卡片夹在两条细线之间——上方是消息列表的分隔线，
 * 下方是底栏（StatusBar）的上边线。四边留白相等：单侧偏大或偏小都会让卡片
 * 看着重心失衡（上松下挤、或左右比上下宽一截）。整体收紧，卡片停靠在底栏之上。
 */
._wrapper_19kur_17 {
  padding: 0.5rem;
}

._inputWrapper_19kur_21 {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    'input input'
    'left actions';
  align-items: end;
  gap: 0.5rem;
  padding: 0.75rem;
  background: var(--surface);
  backdrop-filter: var(--backdrop-blur);
  border-radius: 1rem;
  border: 1px solid var(--border);
  transition:
    border-color 0.2s ease,
    background 0.2s ease;
}

._inputWrapperWithProjectStatus_19kur_40 {
  grid-template-areas:
    'project project'
    'input input'
    'left actions';
}

._inputWrapper_19kur_21:focus-within {
  border-color: color-mix(in srgb, var(--color-primary) 28%, var(--border));
}

._inputWrapperMultiline_19kur_51 {
  gap: 0.625rem;
}

._inputWrapperDropdownOpen_19kur_55 {
  background: var(--bg-secondary);
  backdrop-filter: none;
}

._textarea_19kur_60 {
  grid-area: input;
  display: block;
  width: 100%;
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  color: var(--text-primary);
  font-family: var(--input-font, system-ui);
  font-size: var(--input-font-size, 0.875rem);
  line-height: var(--input-line-height, 1.625);
  min-height: 2.5rem;
  max-height: 200px;
  padding: 0.45rem 0;
  min-width: 0;
}

._inputWrapper_19kur_21 ._textarea_19kur_60 {
  padding: 0.25rem 0;
}

/* textarea 无法渲染富文本：命令前缀的 token 底色由同源 overlay 绘制，
   半透明色块盖在文字上方（页内查找高亮同款视觉），pointer-events 放行交互。 */
._inputShell_19kur_84 {
  /* overlay 与 textarea 的字体三元组必须逐像素一致，token 底色才能对准文字；
     单一事实源在此，textarea 与 commandTokenLayer 通过变量消费。 */
  --input-font: system-ui;
  --input-font-size: 0.875rem;
  --input-line-height: 1.625;

  position: relative;
  grid-area: input;
  min-width: 0;
}

._commandTokenLayer_19kur_96 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 0.25rem 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
  font-family: var(--input-font, system-ui);
  font-size: var(--input-font-size, 0.875rem);
  line-height: var(--input-line-height, 1.625);
}

._commandToken_19kur_96 {
  color: transparent;
  white-space: pre;
  background: color-mix(in srgb, var(--color-primary) 14%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-primary) 18%, transparent);
  border-radius: 0.375rem;
  padding: 0.05rem 0.4rem;
  margin: -0.05rem -0.4rem;
}

._textarea_19kur_60::placeholder {
  color: var(--text-secondary);
}

._textareaRecording_19kur_124 {
  display: none;
}

._icon_19kur_128 {
  width: 1.25rem;
  height: 1.25rem;
}

._footer_19kur_133 {
  font-size: 0.75rem;
  color: var(--text-secondary);
  margin-top: 0.5rem;
  text-align: center;
}

._attachButton_19kur_140 {
  background: none;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  color: var(--text-secondary);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}

._buttonGroup_19kur_155 {
  grid-area: actions;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.5rem;
}

._plusMenu_19kur_163 {
  position: absolute;
  right: 3.5rem;
  bottom: 2.75rem;
  z-index: 20;
  display: grid;
  gap: 2px;
  min-width: 150px;
  padding: 4px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-primary);
  box-shadow: 0 8px 24px rgb(0 0 0 / 15%);
}

._plusMenu_19kur_163 button {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 5px;
  padding: 8px 10px;
  background: transparent;
  color: var(--text-primary);
  text-align: left;
  cursor: pointer;
}

._plusMenu_19kur_163 button:hover,
._plusMenu_19kur_163 button:focus-visible {
  background: var(--hover-bg);
  outline: none;
}

._plusMenu_19kur_163 button:disabled {
  opacity: 0.5;
  cursor: default;
}

/* 「项目」父项右侧的展开箭头 */
._plusMenuArrow_19kur_203 {
  margin-left: auto;
  color: var(--text-secondary);
}

/* 「项目」标准二级子菜单：向左弹出——「+」菜单贴输入框右缘，向右会被右侧面板遮挡 */
._plusSubmenu_19kur_209 {
  position: absolute;
  right: calc(100% + 4px);
  bottom: -4px;
  z-index: 21;
  display: grid;
  gap: 2px;
  min-width: 220px;
  padding: 4px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-primary);
  box-shadow: 0 8px 24px rgb(0 0 0 / 15%);
}

._plusSubmenu_19kur_209 button {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 5px;
  padding: 8px 10px;
  background: transparent;
  color: var(--text-primary);
  text-align: left;
  cursor: pointer;
}

._plusSubmenu_19kur_209 button:hover,
._plusSubmenu_19kur_209 button:focus-visible {
  background: var(--hover-bg);
  outline: none;
}

._plusSubmenu_19kur_209 button:disabled {
  opacity: 0.5;
  cursor: default;
}

/* 子菜单：加载中/空态提示（不可聚焦，不参与键盘导航） */
._plusMenuHint_19kur_249 {
  padding: 8px 10px;
  color: var(--text-secondary);
  font-size: 12px;
}

/* 最近项目条目：目录名 + 完整路径两行展示 */
._plusMenuProjectText_19kur_256 {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

._plusMenuProjectName_19kur_262 {
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._plusMenuProjectPath_19kur_269 {
  color: var(--text-secondary);
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 260px;
}

._leftButtonGroup_19kur_278 {
  grid-area: left;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.25rem;
}

._commandButton_19kur_286 {
  height: 2rem;
  padding: 0 0.75rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
  background: color-mix(in srgb, var(--bg-secondary) 58%, transparent);
  color: var(--text-secondary);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

._commandButton_19kur_286:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._commandButtonActive_19kur_313 {
  background: var(--color-info-light);
  border-color: color-mix(in srgb, var(--blue-500) 22%, var(--border));
  color: var(--blue-500);
}

._commandButtonLabel_19kur_319 {
  line-height: 1;
}

._commandSlash_19kur_323 {
  font-size: 0.9375rem;
  font-weight: 650;
  line-height: 1;
}

._quickReplyButton_19kur_329 {
  height: 2rem;
  padding: 0 0.75rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
  background: color-mix(in srgb, var(--bg-secondary) 58%, transparent);
  color: var(--text-secondary);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

._quickReplyButton_19kur_329:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._quickReplyButtonActive_19kur_356 {
  background: color-mix(in srgb, var(--green-500, #4ade80) 10%, transparent);
  border-color: color-mix(in srgb, var(--green-500, #4ade80) 22%, var(--border));
  color: var(--green-500, #4ade80);
}

/* ── 项目目录状态芯片（输入框内弱化展示） ── */
._projectStatusRow_19kur_363 {
  grid-area: project;
  min-width: 0;
  padding: 0 0 2px;
}

._projectStatusChip_19kur_369 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  padding: 2px 4px 2px 0; /* 左侧 0：图标与输入框文本严格对齐 */
  border-radius: 999px;
  background: color-mix(in srgb, var(--bg-secondary) 55%, transparent);
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 18px;
}

._projectStatusMain_19kur_382 {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-align: left;
}

._projectStatusMain_19kur_382:hover:not(:disabled) {
  color: var(--text-secondary);
}

._projectStatusMain_19kur_382:disabled {
  cursor: default;
}

._projectStatusName_19kur_404 {
  color: var(--text-secondary);
  font-weight: 600;
  white-space: nowrap;
}

._projectStatusRemove_19kur_410 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1.25rem;
  height: 1.25rem;
  margin-left: 2px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--text-tertiary);
  cursor: pointer;
}

._projectStatusRemove_19kur_410:hover,
._projectStatusRemove_19kur_410:focus-visible {
  background: var(--hover-bg);
  color: var(--text-primary);
  outline: none;
}

._projectStatusRemove_19kur_410:disabled {
  opacity: 0.5;
  cursor: default;
}

/* ── 项目技能入口（会话内关闭项目级技能的把手） ── */
._projectSkillsButton_19kur_439 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 6px;
  padding: 1px 8px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 18px;
  cursor: pointer;
}

._projectSkillsButton_19kur_439:hover,
._projectSkillsButton_19kur_439:focus-visible {
  background: var(--hover-bg);
  color: var(--text-secondary);
  outline: none;
}

._projectSkillsCount_19kur_461 {
  padding: 0 5px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--bg-secondary) 80%, transparent);
  color: var(--text-tertiary);
  font-size: 10px;
  line-height: 15px;
}

._quickReplyButtonLabel_19kur_470 {
  line-height: 1;
}

._attachButton_19kur_140:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._attachButton_19kur_140:disabled {
  cursor: default;
  opacity: 0.55;
}

._recordButtonActive_19kur_484 {
  background: color-mix(in srgb, var(--red-500, #ef4444) 10%, transparent);
  color: var(--red-500, #ef4444);
}

._dragOver_19kur_489 {
  border-color: var(--color-primary);
  background: var(--hover-bg);
}

._pasteHighlight_19kur_494 {
  border-color: color-mix(in srgb, var(--color-primary) 36%, var(--border));
}

._attachmentSection_19kur_498 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

._contextDraft_19kur_505 {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  margin-bottom: 0.5rem;
  padding: 0.4rem 0.55rem;
  border: 1px solid color-mix(in srgb, var(--color-primary) 24%, var(--border));
  border-radius: 0.5rem;
  background: color-mix(in srgb, var(--color-primary) 7%, var(--surface));
  color: var(--text-secondary);
  font-size: 0.75rem;
}

._contextDraftText_19kur_519 {
  min-width: 0;
  overflow: hidden;
  color: var(--text-primary);
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._contextDraftHint_19kur_528 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._contextDraftRemove_19kur_534 {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  margin-left: auto;
  border: 0;
  border-radius: 0.35rem;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
}

._contextDraftRemove_19kur_534:hover,
._contextDraftRemove_19kur_534:focus-visible {
  background: var(--hover-bg);
  color: var(--text-primary);
}

/* ── 响应式：≤768px 输入区微调 ─────────────────────── */
@media (width <= 768px) {
  ._wrapper_19kur_17 {
    padding: 0.5rem;
  }

  ._inputWrapper_19kur_21 {
    padding: 0.5rem;
  }

  ._inputWrapperMultiline_19kur_51 {
    padding-top: 0.75rem;
  }

  ._textarea_19kur_60 {
    padding: 0.4rem 0;
    font-size: 16px; /* 防止 iOS Safari 自动缩放 */
  }

  ._commandButton_19kur_286 {
    width: 2rem;
    padding: 0;
  }

  ._commandButtonLabel_19kur_319 {
    display: none;
  }

  ._quickReplyButton_19kur_329 {
    width: 2rem;
    padding: 0;
  }

  ._quickReplyButtonLabel_19kur_470 {
    display: none;
  }

  ._attachmentSection_19kur_498 {
    margin-bottom: 0.5rem;
  }
}

._polishIconBusy_19kur_597 {
  animation: _polishSpin_19kur_1 1.2s linear infinite;
}

@keyframes _polishSpin_19kur_1 {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
._bar_1kixt_1 {
  grid-area: input;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  min-width: 0;
  min-height: 2.5rem;
}

._status_1kixt_10 {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.4rem;
  color: var(--text-secondary);
  font-size: 0.8125rem;
  font-weight: 500;
}

._recordingDot_1kixt_20 {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--red-500, #ef4444);
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--red-500, #ef4444) 14%, transparent);
}

._waitingDot_1kixt_28 {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--text-tertiary);
}

._duration_1kixt_35 {
  flex-shrink: 0;
  color: var(--text-primary);
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
}

._waveform_1kixt_42 {
  flex: 1;
  min-width: 2.5rem;
  height: 1.75rem;
  display: flex;
  align-items: center;
  gap: 1px;
  overflow: hidden;
}

._waveformBar_1kixt_52 {
  flex: 1;
  min-width: 1px;
  max-width: 3px;
  border-radius: 999px;
  background: var(--color-error);
}

._transcript_1kixt_60 {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  color: var(--text-primary);
  font-size: 0.8125rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._transcriptError_1kixt_70 {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  color: var(--warning-text, #b45309);
  font-size: 0.8125rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._keepAudio_1kixt_80 {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: var(--space-1);
  color: var(--text-secondary);
  cursor: pointer;
  font-size: 0.75rem;
  white-space: nowrap;
}

._keepAudio_1kixt_80 input {
  width: 0.875rem;
  height: 0.875rem;
  accent-color: var(--color-primary);
}

._keepAudio_1kixt_80 input:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  ._recordingDot_1kixt_20 {
    box-shadow: none;
  }

  ._waveformBar_1kixt_52 {
    transition: none;
  }
}

._cancelButton_1kixt_112,
._finishButton_1kixt_113 {
  cursor: pointer;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: var(--radius-button-md);
  transition: var(--transition-button), var(--transition-transform);
}

._cancelButton_1kixt_112 {
  min-width: 44px;
  border: 0;
  background: transparent;
  color: var(--text-secondary);
}

._cancelButton_1kixt_112:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._finishButton_1kixt_113 {
  gap: var(--space-1);
  padding: 0 var(--space-2);
  border: 1px solid color-mix(in srgb, var(--color-primary) 28%, var(--border));
  background: color-mix(in srgb, var(--color-primary) 8%, var(--surface));
  color: color-mix(in srgb, var(--color-primary) 72%, var(--text-primary));
  font-size: 0.8125rem;
  font-weight: 600;
}

._finishButton_1kixt_113:hover {
  border-color: color-mix(in srgb, var(--color-primary) 48%, var(--border));
  background: color-mix(in srgb, var(--color-primary) 13%, var(--surface));
}

._cancelButton_1kixt_112:focus-visible,
._finishButton_1kixt_113:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._finishButton_1kixt_113:active {
  transform: translateY(1px);
}

@media (prefers-reduced-motion: reduce) {
  ._finishButton_1kixt_113 {
    transition: none;
  }

  ._finishButton_1kixt_113:active {
    transform: none;
  }
}

@media (width <= 480px) {
  ._bar_1kixt_1 {
    flex-wrap: wrap;
    row-gap: var(--space-1);
  }

  ._status_1kixt_10 {
    max-width: calc(100% - 3.5rem);
  }

  ._transcript_1kixt_60,
  ._transcriptError_1kixt_70,
  ._waveform_1kixt_42 {
    order: 5;
    flex-basis: 100%;
  }

  ._keepAudio_1kixt_80 {
    min-height: 44px;
  }

  ._keepAudio_1kixt_80 span {
    font-size: 0.75rem;
  }
}
._switch_ca0k3_1 {
  position: relative;
  flex: 0 0 auto;
  display: inline-block;
  width: 44px;
  height: 24px;
  background: var(--gray-400);
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.2s ease;
  padding: 0;
}

._switch_ca0k3_1:hover:not(._disabled_ca0k3_15) {
  opacity: 0.8;
}

._switch_ca0k3_1._checked_ca0k3_19 {
  background: var(--green-500);
}

._switch_ca0k3_1._disabled_ca0k3_15 {
  opacity: 0.5;
  cursor: not-allowed;
}

._slider_ca0k3_28 {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background: white;
  border-radius: 50%;
  transition: transform 0.2s ease;
}

._switch_ca0k3_1._checked_ca0k3_19 ._slider_ca0k3_28 {
  transform: translateX(20px);
}

@media (width <= 720px) {
  ._switch_ca0k3_1 {
    width: 40px;
    height: 22px;
    border-radius: 11px;
  }

  ._slider_ca0k3_28 {
    width: 18px;
    height: 18px;
  }

  ._switch_ca0k3_1._checked_ca0k3_19 ._slider_ca0k3_28 {
    transform: translateX(18px);
  }
}
/* Dialog 的 header/body/footer 不自带内边距，留白由调用方在 surface 上给出。 */
._dialog_1k816_2 {
  padding: 20px;
}

._header_1k816_6 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  margin-bottom: 14px;
}

._title_1k816_14 {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
}

._subtitle_1k816_21 {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px;
  color: var(--text-tertiary);
}

._body_1k816_31 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 96px;
}

._summary_1k816_38 {
  margin: 0;
  font-size: 12px;
  color: var(--text-tertiary);
}

._list_1k816_44 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

._row_1k816_53 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--bg-secondary) 45%, transparent);
}

._rowMain_1k816_63 {
  min-width: 0;
}

._nameLine_1k816_67 {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

._name_1k816_67 {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  word-break: break-all;
}

._badge_1k816_81 {
  flex: 0 0 auto;
  padding: 1px 6px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent-color, #4b8bf5) 18%, transparent);
  color: var(--accent-color, #4b8bf5);
  font-size: 10px;
  line-height: 16px;
}

._description_1k816_91 {
  margin: 3px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-secondary);
  word-break: break-word;
}

._empty_1k816_99 {
  margin: 0;
  font-size: 12px;
  color: var(--text-tertiary);
}

._hint_1k816_105 {
  margin: 0;
  padding-top: 8px;
  border-top: 1px solid var(--border-color, rgba(128, 128, 128, 0.2));
  font-size: 11px;
  line-height: 1.5;
  color: var(--text-tertiary);
}

._actions_1k816_114 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 16px;
}

._closeButton_1k816_121 {
  padding: 6px 14px;
  border: 1px solid var(--border-color, rgba(128, 128, 128, 0.3));
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  font-size: 13px;
  cursor: pointer;
}

._closeButton_1k816_121:hover,
._closeButton_1k816_121:focus-visible {
  background: var(--hover-bg);
  color: var(--text-primary);
  outline: none;
}
._inputWrapper_hetsf_1 {
  position: relative;
  flex-shrink: 0;
}
._bar_1s5q3_1 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-height: 68px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--border-color);
  background: var(--bg-primary);
  box-shadow: inset 3px 0 0 transparent;
}

._recording_1s5q3_13 {
  box-shadow: inset 3px 0 0 var(--color-error);
}

._preparing_1s5q3_17 {
  box-shadow: inset 3px 0 0 var(--text-tertiary);
}

._finalizing_1s5q3_21 {
  box-shadow: inset 3px 0 0 var(--color-info);
}

._error_1s5q3_25 {
  box-shadow: inset 3px 0 0 var(--color-warning, #d97706);
}

._summary_1s5q3_29 {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

._symbol_1s5q3_36 {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-error) 9%, var(--bg-secondary));
  color: var(--color-error);
}

._recording_1s5q3_13 ._symbol_1s5q3_36 {
  position: relative;
}

._recording_1s5q3_13 ._symbol_1s5q3_36::before {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid var(--color-error);
  opacity: 0;
  animation: _recording-pulse_1s5q3_1 2s ease-out infinite;
}

._finalizing_1s5q3_21 ._symbol_1s5q3_36 {
  color: var(--color-info);
  background: color-mix(in srgb, var(--color-info) 12%, var(--bg-secondary));
}

._error_1s5q3_25 ._symbol_1s5q3_36 {
  color: var(--color-warning, #d97706);
  background: color-mix(in srgb, var(--color-warning, #d97706) 12%, var(--bg-secondary));
}

._copy_1s5q3_71 {
  min-width: 0;
}

._title_1s5q3_75 {
  display: flex;
  align-items: baseline;
  gap: 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 650;
}

._sessionName_1s5q3_87 {
  min-width: 0;
  overflow: hidden;
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 500;
  text-overflow: ellipsis;
}

._sessionName_1s5q3_87::before {
  margin-right: 8px;
  color: var(--text-tertiary);
  content: '·';
}

._note_1s5q3_102 {
  margin-top: 3px;
  overflow: hidden;
  color: var(--text-secondary);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._meter_1s5q3_111 {
  width: min(96px, 12vw);
  height: 24px;
  display: flex;
  align-items: center;
  gap: 2px;
  margin-left: auto;
  overflow: hidden;
}

._meter_1s5q3_111 span {
  width: 3px;
  min-height: 3px;
  flex: 0 0 auto;
  border-radius: 2px;
  background: var(--color-error);
}

._time_1s5q3_129 {
  min-width: 48px;
  flex: 0 0 auto;
  color: var(--text-primary);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  font-weight: 650;
}

._actions_1s5q3_138 {
  display: flex;
  align-items: center;
  gap: 6px;
}

._keepAudio_1s5q3_144 {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 8px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-primary);
  color: var(--text-secondary);
  cursor: pointer;
  font-size: 11px;
  font-weight: 650;
  white-space: nowrap;
}

._keepAudio_1s5q3_144 input {
  width: 16px;
  height: 16px;
  accent-color: var(--color-primary);
}

._keepAudio_1s5q3_144 input:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._textBtn_1s5q3_171 {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 11px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
  touch-action: manipulation;
}

._primaryAction_1s5q3_186 {
  min-height: 36px;
}

._textBtn_1s5q3_171 {
  border: 1px solid var(--border-color);
  background: var(--bg-primary);
  color: var(--text-secondary);
}

._textBtn_1s5q3_171:hover {
  border-color: var(--text-tertiary);
  background: var(--bg-secondary);
  color: var(--text-primary);
}

._dangerBtn_1s5q3_202 {
  border-color: transparent;
  background: transparent;
  color: var(--text-secondary);
}

._dangerBtn_1s5q3_202:hover {
  border-color: color-mix(in srgb, var(--color-error) 24%, transparent);
  background: color-mix(in srgb, var(--color-error) 7%, transparent);
  color: var(--color-error);
}

._textBtn_1s5q3_171:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._finalizingHint_1s5q3_219 {
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 600;
}

._spinner_1s5q3_225 {
  width: 14px;
  height: 14px;
  border: 2px solid color-mix(in srgb, var(--color-info) 28%, transparent);
  border-top-color: var(--color-info);
  border-radius: 50%;
  animation: _spin_1s5q3_225 0.8s linear infinite;
}

@keyframes _spin_1s5q3_225 {
  to {
    transform: rotate(360deg);
  }
}

@keyframes _recording-pulse_1s5q3_1 {
  0% {
    transform: scale(0.85);
    opacity: 0.5;
  }

  100% {
    transform: scale(1.4);
    opacity: 0;
  }
}

@media (width <= 820px) {
  ._bar_1s5q3_1 {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 10px 12px;
  }

  ._meter_1s5q3_111 {
    display: none;
  }

  ._actions_1s5q3_138 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
  }

  ._returnBtn_1s5q3_269 {
    grid-column: 1 / -1;
  }

  ._actions_1s5q3_138 ._textBtn_1s5q3_171,
  ._actions_1s5q3_138 ._primaryAction_1s5q3_186,
  ._actions_1s5q3_138 ._keepAudio_1s5q3_144 {
    width: 100%;
    min-height: 44px;
  }

  ._note_1s5q3_102 {
    white-space: normal;
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  ._spinner_1s5q3_225,
  ._recording_1s5q3_13 ._symbol_1s5q3_36::before {
    animation: none;
  }
}
._container_1tplo_1 {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  background: var(--bg-primary);
  overflow: hidden;
}

._mainShell_1tplo_12 {
  position: relative;
  flex: 1;
  display: flex;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

._conversationPane_1tplo_21 {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

._footerWrapper_1tplo_29 {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  min-width: 0;
}

._messageListWrapper_1tplo_36 {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

._messageAreaRow_1tplo_43 {
  flex: 1;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: row;
  overflow: hidden;
}

._notification_1tplo_52 {
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  padding: 8px 16px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 13px;
  box-shadow: var(--shadow-md);
  z-index: 1000;
  animation: _fadeIn_1tplo_1 0.2s ease;
}

._mobileTerminalDialogOverlay_1tplo_68 {
  padding: 0;
  background: var(--overlay-bg);
}

._mobileTerminalDialogSurface_1tplo_73 {
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  max-width: none;
  max-height: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

._mobileTerminalDialogBody_1tplo_84 {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

@keyframes _fadeIn_1tplo_1 {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}
/* ========== 容器 ========== */
._wrapper_idan5_2 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  position: relative;
}

/* ========== 主控件（只读展示） ========== */
._control_idan5_11 {
  display: flex;
  align-items: center;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 8px);
  transition:
    border-color var(--duration-fast, 0.15s) ease,
    box-shadow var(--duration-fast, 0.15s) ease;
  cursor: pointer;
  user-select: none;
}

._control_idan5_11:hover {
  border-color: var(--border-strong);
}

._controlOpen_idan5_28 {
  border-color: var(--color-primary);
  background: var(--bg-primary);
  box-shadow: var(--focus-ring);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/* ---- Open (向上翻转) — trigger top radius 清零 ---- */
._controlOpenUp_idan5_37 {
  border-color: var(--color-primary);
  background: var(--bg-primary);
  box-shadow: var(--focus-ring);
  border-radius: 0 0 var(--radius-lg, 8px) var(--radius-lg, 8px);
}

._controlDisabled_idan5_44 {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* ========== 展示文本 ========== */
._display_idan5_51 {
  flex: 1;
  padding: var(--space-2, 8px) 0 var(--space-2, 8px) var(--space-3, 12px);
  color: var(--text-primary);
  font-size: var(--font-md, 14px);
  font-family: inherit;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._displayPlaceholder_idan5_63 {
  color: var(--text-tertiary);
}

/* ========== 右侧指示器 ========== */
._indicators_idan5_68 {
  display: flex;
  align-items: center;
  gap: 2px;
  padding-right: var(--space-2, 8px);
  flex-shrink: 0;
}

._clearBtn_idan5_76 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 4px;
  color: var(--text-tertiary);
  font-size: 10px;
  cursor: pointer;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}

._clearBtn_idan5_76:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._chevronWrap_idan5_99 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  min-width: 24px;
  height: 24px;
  flex-shrink: 0;
}

._chevron_idan5_99 {
  transition: transform 0.2s ease;
  color: var(--text-tertiary);
}

._chevronUp_idan5_114 {
  transform: rotate(180deg);
}

/* ========== 加载旋转 ========== */
._spinner_idan5_119 {
  display: inline-block;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 2px solid var(--border);
  border-top-color: var(--color-info);
  border-radius: 50%;
  animation: _spin_idan5_119 0.6s linear infinite;
}

@keyframes _spin_idan5_119 {
  to {
    transform: rotate(360deg);
  }
}

/* ========== 下拉面板 ========== */
._dropdown_idan5_137 {
  background: var(--bg-primary);
  border: 1px solid var(--color-primary);
  border-top: 1px solid var(--border);
  border-bottom-left-radius: var(--radius-lg, 8px);
  border-bottom-right-radius: var(--radius-lg, 8px);
  box-shadow: var(--focus-ring);
  animation: _slideDown_idan5_1 0.15s ease;
  overflow: hidden;
}

/* ---- 向上翻转 ---- */
._dropdownUp_idan5_149 {
  border-bottom: 1px solid var(--color-primary);
  border-top: 1px solid var(--border);
  border-radius: var(--radius-lg, 8px) var(--radius-lg, 8px) 0 0;
  animation: _slideUp_idan5_1 0.12s ease;
}

@keyframes _slideDown_idan5_1 {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes _slideUp_idan5_1 {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ========== 搜索框 ========== */
._searchBox_idan5_181 {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-bottom: 1px solid var(--border);
  background: var(--bg-secondary);
}

._searchIcon_idan5_190 {
  flex-shrink: 0;
  color: var(--text-tertiary);
}

._searchInput_idan5_195 {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  color: var(--text-primary);
  font-size: var(--font-sm, 13px);
  font-family: inherit;
  min-width: 0;
}

._searchInput_idan5_195::placeholder {
  color: var(--text-tertiary);
}

/* ========== 选项列表 ========== */
._optionList_idan5_211 {
  max-height: 220px;
  overflow: hidden auto;
  list-style: none;
  margin: 0;
  padding: 4px 0;
}

/* ========== 选项 ========== */
._option_idan5_211 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 12px;
  cursor: pointer;
  font-size: var(--font-sm, 13px);
  color: var(--text-primary);
  transition: background 0.1s ease;
  gap: 8px;
}

._option_idan5_211:hover,
._optionHighlighted_idan5_233 {
  background: var(--hover-bg);
}

._optionSelected_idan5_237 {
  color: var(--color-primary);
  font-weight: 500;
}

._optionText_idan5_242 {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._checkIcon_idan5_250 {
  flex-shrink: 0;
  color: var(--color-primary);
}

/* ========== Create 选项 ========== */
._optionCreate_idan5_256 {
  color: var(--text-secondary);
}

._optionCreate_idan5_256 ._optionText_idan5_242 {
  font-style: italic;
}

._createIcon_idan5_264 {
  flex-shrink: 0;
  color: var(--color-primary);
}

._createLabel_idan5_269 {
  flex-shrink: 0;
  font-size: 11px;
  color: var(--text-tertiary);
  background: var(--bg-secondary);
  padding: 1px 6px;
  border-radius: 4px;
}

/* ========== 高亮匹配 ========== */
._highlight_idan5_279 {
  background: transparent;
  color: var(--color-primary);
  font-weight: 600;
  border-radius: 2px;
  padding: 0 1px;
}

/* ========== 空状态 ========== */
._emptyState_idan5_288 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  font-size: var(--font-sm, 13px);
  color: var(--text-tertiary);
  justify-content: center;
}
/* ========== Wrapper ========== */
._wrapper_79d0e_2 {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

/* ========== Trigger（主控件） ========== */
._control_79d0e_11 {
  display: flex;
  align-items: center;
  background: var(--bg-secondary);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md, 6px);
  cursor: pointer;
  user-select: none;
  outline: none;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease;

  /* md 默认 */
  height: 36px;
  padding-right: var(--space-2, 8px);
}

/* ---- Hover ---- */
._control_79d0e_11:hover {
  background-color: var(--bg-tertiary);
  border-color: var(--border-strong);
}

/* ---- Focus ---- */
._control_79d0e_11:focus-visible {
  background-color: var(--bg-primary);
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-primary-muted);
}

/* ---- Open (向下) ---- */
._controlOpen_79d0e_44 {
  border-color: var(--color-primary);
  background-color: var(--bg-primary);
  box-shadow: 0 0 0 3px var(--color-primary-muted);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/* ---- Open (向上翻转) — trigger top radius 清零 ---- */
._controlOpenUp_79d0e_53 {
  border-radius: 0 0 var(--radius-md, 6px) var(--radius-md, 6px);
}

/* ---- Disabled ---- */
._controlDisabled_79d0e_58 {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ---- Error ---- */
._controlError_79d0e_64 {
  border-color: var(--color-error);
}

._controlError_79d0e_64:focus-visible {
  border-color: var(--color-error);
  box-shadow: 0 0 0 3px var(--color-error-light);
}

/* ========== Display Text ========== */
._display_79d0e_74 {
  flex: 1;
  padding: 0 0 0 var(--space-3, 12px);
  color: var(--text-primary);
  font-size: var(--font-md, 14px);
  font-family: inherit;
  line-height: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._displayPlaceholder_79d0e_87 {
  color: var(--text-tertiary);
}

/* ========== Chevron ========== */
._chevronWrap_79d0e_92 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  min-width: 24px;
  height: 24px;
  flex-shrink: 0;
}

._chevron_79d0e_92 {
  color: var(--text-tertiary);
  transition:
    transform 0.2s ease,
    color 0.15s ease;
}

._control_79d0e_11:hover ._chevron_79d0e_92 {
  color: var(--text-secondary);
}

._control_79d0e_11:focus-visible ._chevron_79d0e_92,
._controlOpen_79d0e_44 ._chevron_79d0e_92 {
  color: var(--color-primary);
}

._controlDisabled_79d0e_58 ._chevron_79d0e_92 {
  opacity: 0.5;
}

._controlError_79d0e_64 ._chevron_79d0e_92 {
  color: var(--color-error);
}

._chevronUp_79d0e_126 {
  transform: rotate(180deg);
}

/* ========== Error Text ========== */
._error_79d0e_131 {
  font-size: var(--font-sm, 12px);
  color: var(--color-error);
}

/* ========== Size Variants ========== */

/* sm — 消息输入区 */
._controlSm_79d0e_139 {
  height: 28px;
  border-radius: var(--radius-sm, 4px);
}

._controlSm_79d0e_139 ._display_79d0e_74 {
  font-size: var(--font-sm, 12px);
  padding-left: var(--space-2, 8px);
}

/* lg — 预留 */
._controlLg_79d0e_150 {
  height: 42px;
}

._controlLg_79d0e_150 ._display_79d0e_74 {
  font-size: var(--font-md, 16px);
}

/* ========== Dropdown Portal ========== */
._dropdown_79d0e_159 {
  background: var(--bg-primary);
  border: 1px solid var(--color-primary);
  border-top: 1px solid var(--border-default);
  border-bottom-left-radius: var(--radius-md, 6px);
  border-bottom-right-radius: var(--radius-md, 6px);
  box-shadow: 0 0 0 3px var(--color-primary-muted);
  animation: _slideDown_79d0e_1 0.12s ease;
  overflow: hidden;
}

/* ---- 向上翻转 ---- */
._dropdownUp_79d0e_171 {
  border-bottom: 1px solid var(--color-primary);
  border-top: 1px solid var(--border-default);
  border-radius: var(--radius-md, 6px) var(--radius-md, 6px) 0 0;
  animation: _slideUp_79d0e_1 0.12s ease;
}

@keyframes _slideDown_79d0e_1 {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes _slideUp_79d0e_1 {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  ._dropdown_79d0e_159 {
    animation: none;
  }

  ._chevron_79d0e_92 {
    transition: none;
  }

  ._control_79d0e_11 {
    transition: none;
  }
}

._dropdownSm_79d0e_217 {
  border-bottom-left-radius: var(--radius-sm, 4px);
  border-bottom-right-radius: var(--radius-sm, 4px);
}

/* ========== Option List ========== */
._optionList_79d0e_223 {
  max-height: 240px;
  overflow: hidden auto;
  list-style: none;
  margin: 0;
  padding: 4px 0;
}

/* ========== Group ========== */
._group_79d0e_232 {
  list-style: none;
}

._groupHeader_79d0e_236 {
  padding: 8px 12px 4px;
  font-size: var(--font-sm, 12px);
  font-weight: 600;
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  user-select: none;
}

._groupItems_79d0e_246 {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ========== Option ========== */
._option_79d0e_223 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 12px;
  cursor: pointer;
  font-size: var(--font-md, 14px);
  color: var(--text-primary);
  transition: background-color 0.08s ease;
  gap: 8px;
}

._option_79d0e_223:hover,
._optionHighlighted_79d0e_266 {
  background-color: var(--hover-bg);
}

._optionSelected_79d0e_270 {
  color: var(--color-primary);
  font-weight: 500;
}

._optionDisabled_79d0e_275 {
  opacity: 0.45;
  cursor: not-allowed;
}

._optionDisabled_79d0e_275:hover {
  background-color: transparent;
}

._optionText_79d0e_284 {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._checkIcon_79d0e_292 {
  flex-shrink: 0;
  color: var(--color-primary);
}
._header_63tlr_1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--border-color);
}

._header_63tlr_1 h2 {
  margin: 0;
  font-size: 18px;
}

._form_63tlr_13 {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

._field_63tlr_19 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._field_63tlr_19 label {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
}

._labelRow_63tlr_31 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

._field_63tlr_19 input,
._field_63tlr_19 textarea {
  padding: 10px 12px;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-family: inherit;
  font-size: 14px;
  line-height: 1.6;
  transition: all 0.2s ease;
}

._field_63tlr_19 textarea {
  min-height: 80px;
  resize: vertical;
}

._field_63tlr_19 textarea:focus {
  outline: none;
  border-color: var(--color-primary-medium);
  box-shadow: 0 0 0 3px var(--color-primary-light);
}

._field_63tlr_19 textarea:hover:not(:focus) {
  border-color: var(--text-tertiary);
}

._actions_63tlr_65 {
  display: flex;
  gap: 8px;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--border-color);
}

._actionButtons_63tlr_73 {
  display: flex;
  gap: 8px;
}

._optimizeBtn_63tlr_78 {
  background: var(--color-primary-light);
  border: 1px solid var(--color-primary-light);
  border-radius: 6px;
  padding: 4px 8px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}

._optimizeBtn_63tlr_78:hover:not(:disabled) {
  background: var(--color-primary-medium);
  border-color: var(--color-primary-medium);
}

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

/* 通道引导 — 邀请感 */
._channelWarning_63tlr_99 {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  background: var(--color-warning-light);
  border: 1px solid color-mix(in srgb, var(--color-warning) 24%, transparent);
  border-radius: 8px;
  color: var(--text-primary);
}

._channelWarning_63tlr_99 svg {
  color: var(--color-warning);
  flex-shrink: 0;
  margin-top: 2px;
}

._channelWarningText_63tlr_116 {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 13px;
}

._channelWarningText_63tlr_116 strong {
  color: var(--text-primary);
  font-weight: 500;
}

._channelWarningText_63tlr_116 span {
  color: var(--text-secondary);
  font-size: 12px;
}

._spinning_63tlr_134 {
  animation: _spin_63tlr_134 1s linear infinite;
}

/* 内联错误提示条 */
._inlineError_63tlr_139 {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  background: var(--color-error-faint);
  border: 1px solid var(--color-error-strong);
  border-radius: 6px;
  color: var(--color-error);
  font-size: 13px;
  line-height: 1.4;
}

._inlineError_63tlr_139 svg {
  flex-shrink: 0;
}

._dismissError_63tlr_156 {
  margin-left: auto;
  padding: 2px;
  background: none;
  border: none;
  color: var(--color-error);
  cursor: pointer;
  opacity: 0.7;
  display: flex;
  align-items: center;
}

._dismissError_63tlr_156:hover {
  opacity: 1;
}

@keyframes _spin_63tlr_134 {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}
._section_4y5zv_1,
._compact_4y5zv_2 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._headingRow_4y5zv_8 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._label_4y5zv_14 {
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 600;
}

._badge_4y5zv_20 {
  padding: 2px 7px;
  border: 1px solid color-mix(in srgb, var(--color-primary) 35%, transparent);
  border-radius: 999px;
  color: var(--color-primary);
  font-size: 11px;
  font-weight: 600;
}

._backendGrid_4y5zv_29,
._providerGrid_4y5zv_30,
._twoColumns_4y5zv_31 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

._card_4y5zv_37,
._selectedCard_4y5zv_38 {
  display: flex;
  min-width: 0;
  padding: 12px;
  flex-direction: column;
  gap: 4px;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  text-align: left;
  cursor: pointer;
}

._selectedCard_4y5zv_38 {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-light);
}

._card_4y5zv_37 span,
._selectedCard_4y5zv_38 span,
._codexFields_4y5zv_59 small,
._hint_4y5zv_60 {
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.45;
}

._codexFields_4y5zv_59 {
  display: flex;
  padding: 12px;
  flex-direction: column;
  gap: 10px;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: color-mix(in srgb, var(--bg-secondary) 82%, transparent);
}

._codexFields_4y5zv_59 label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 500;
}

._codexFields_4y5zv_59 input,
._codexFields_4y5zv_59 select {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--bg-primary);
  color: var(--text-primary);
  font: inherit;
}

._summary_4y5zv_96 {
  display: flex;
  padding: 10px;
  flex-direction: column;
  gap: 3px;
  border-radius: 8px;
  background: var(--color-primary-light);
  color: var(--text-primary);
  font-size: 12px;
}

._summary_4y5zv_96 span {
  color: var(--text-secondary);
  line-height: 1.45;
}

._hint_4y5zv_60 {
  margin: 0;
}

@media (width <= 640px) {
  ._backendGrid_4y5zv_29,
  ._providerGrid_4y5zv_30,
  ._twoColumns_4y5zv_31 {
    grid-template-columns: 1fr;
  }
}
/* ========== Content body ========== */

._content_7mc44_3 {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

/* ========== Header ========== */

._header_7mc44_13 {
  border-bottom: 1px solid var(--border-default);
}

._dialogTitle_7mc44_17 {
  margin: 0;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.3;
  color: var(--text-primary);
}

/* ========== Footer ========== */

._footer_7mc44_27 {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid var(--border-default);
}

/* ========== Loading skeleton ========== */

._loadingState_7mc44_37 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._skeletonItem_7mc44_43 {
  display: flex;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  background: var(--bg-secondary);
}

._skeletonCheck_7mc44_52 {
  width: 18px;
  height: 18px;
  border-radius: var(--radius-sm, 4px);
  background: var(--bg-tertiary);
  flex-shrink: 0;
}

._skeletonText_7mc44_60 {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._skeletonBar_7mc44_67 {
  height: 12px;
  border-radius: var(--radius-sm, 4px);
  background: var(--bg-tertiary);
}

._skeletonShort_7mc44_73 {
  width: 40%;
}

._skeletonLong_7mc44_77 {
  width: 80%;
}

/* ========== Empty state ========== */

._emptyState_7mc44_83 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  padding: 48px 24px;
}

._emptyTitle_7mc44_92 {
  font-size: 14px;
  color: var(--text-secondary);
  margin-bottom: 8px;
}

._emptyHint_7mc44_98 {
  font-size: 12px;
  color: var(--text-tertiary);
  line-height: 1.6;
}

._errorBanner_7mc44_104 {
  margin-bottom: 12px;
  padding: 10px 12px;
  border: 1px solid var(--color-error-strong);
  border-radius: var(--radius-lg, 8px);
  background: var(--color-error-light);
  color: var(--color-error);
  font-size: 12px;
  line-height: 1.5;
}

/* ========== Config hint ========== */

._configHint_7mc44_117 {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  background: var(--bg-secondary);
  border-radius: var(--radius-lg, 8px);
  border: 1px solid var(--border-default);
  font-size: 12px;
  line-height: 1.6;
  color: var(--text-tertiary);
  margin-bottom: 16px;
}

._infoIcon_7mc44_131 {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  opacity: 0.6;
}

/* ========== Search ========== */

._searchBox_7mc44_141 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  margin-bottom: 12px;
}

._searchBox_7mc44_141:focus-within {
  border-color: var(--color-primary);
}

._searchBox_7mc44_141 svg {
  width: 14px;
  height: 14px;
  color: var(--text-tertiary);
  flex-shrink: 0;
}

._searchBox_7mc44_141 input {
  flex: 1;
  background: none;
  border: none;
  color: var(--text-primary);
  font-size: 13px;
  font-family: inherit;
  outline: none;
}

._searchBox_7mc44_141 input::placeholder {
  color: var(--text-tertiary);
}

/* ========== Selected bar ========== */

._selectedBar_7mc44_179 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
  padding: 0 2px;
}

._selectedCount_7mc44_187 {
  font-size: 12px;
  color: var(--text-secondary);
  font-weight: 500;
}

._selectedCount_7mc44_187 strong {
  color: var(--color-primary);
  font-weight: 650;
}

._clearBtn_7mc44_198 {
  background: none;
  border: none;
  color: var(--text-tertiary);
  font-size: 12px;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: var(--radius-sm, 4px);
  transition:
    color 0.15s,
    background 0.15s;
}

._clearBtn_7mc44_198:hover {
  background: var(--bg-hover);
  color: var(--text-secondary);
}

/* ========== Skill list ========== */

._skillList_7mc44_218 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  overflow-y: auto;
  padding-right: 4px;
}

._skillList_7mc44_218::-webkit-scrollbar {
  width: 6px;
}

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

._skillList_7mc44_218::-webkit-scrollbar-thumb {
  background: var(--border-default);
  border-radius: 3px;
}

._skillItem_7mc44_240 {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  background: var(--bg-secondary);
  cursor: pointer;
  transition:
    border-color 0.15s,
    background 0.15s;
  min-width: 0;
}

._skillItem_7mc44_240:hover {
  border-color: var(--border-strong, var(--border-default));
  background: var(--bg-hover, var(--bg-secondary));
}

._skillItem_7mc44_240:focus-within {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._itemDisabled_7mc44_265 {
  opacity: 0.65;
  cursor: default;
}

._itemDisabled_7mc44_265:hover {
  border-color: var(--border-default);
  background: var(--bg-secondary);
}

._itemDisabled_7mc44_265:focus-within {
  outline: none;
}

._checked_7mc44_279 {
  border-color: var(--color-primary);
}

._checked_7mc44_279:hover {
  background: var(--bg-secondary);
}

._skillCheck_7mc44_287 {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--border-strong, var(--border-default));
  border-radius: var(--radius-sm, 4px);
  background: var(--bg-primary);
  margin-top: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    background 0.15s,
    border-color 0.15s;
}

._skillCheck_7mc44_287._checked_7mc44_279,
._checked_7mc44_279 ._skillCheck_7mc44_287 {
  background: var(--color-primary-solid);
  border-color: var(--color-primary);
}

._skillCheck_7mc44_287 svg {
  width: 12px;
  height: 12px;
  color: var(--text-on-primary);
  opacity: 0;
  transition: opacity 0.1s;
}

._skillCheck_7mc44_287._checked_7mc44_279 svg,
._checked_7mc44_279 ._skillCheck_7mc44_287 svg {
  opacity: 1;
}

._skillInfo_7mc44_322 {
  flex: 1;
  min-width: 0;
}

._skillName_7mc44_327 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: 3px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._skillDesc_7mc44_337 {
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* ========== Origin tags ========== */

._originTags_7mc44_350 {
  display: flex;
  gap: 4px;
  margin-top: 6px;
  flex-wrap: wrap;
}

._originTag_7mc44_350 {
  font-size: 10px;
  font-weight: 500;
  padding: 1px 6px;
  border-radius: 99px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

._originGroup_7mc44_367 {
  background: var(--color-primary-soft, rgb(107 140 255 / 12%));
  color: var(--color-primary);
  border: 1px solid rgb(107 140 255 / 20%);
}

._originAgent_7mc44_373 {
  background: var(--bg-tertiary, var(--bg-secondary));
  color: var(--text-secondary);
  border: 1px solid var(--border-default);
}

._originBuiltin_7mc44_379 {
  background: var(--bg-tertiary, var(--bg-secondary));
  color: var(--text-tertiary, var(--text-secondary));
  border: 1px dashed var(--border-strong, var(--border-default));
}

._hiddenInput_7mc44_385 {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

._noResults_7mc44_391 {
  text-align: center;
  padding: 24px;
  color: var(--text-tertiary);
  font-size: 13px;
}

._errorText_7mc44_398 {
  margin: 12px 0 0;
  color: var(--danger-color, #ef4444);
  font-size: 12px;
}

/* ========== Mobile ========== */

@media (width <= 640px) {
  ._content_7mc44_3 {
    padding: 16px;
  }

  ._header_7mc44_13 {
    padding: 12px 16px;
  }

  ._footer_7mc44_27 {
    padding: 10px 16px 14px;
  }
}

/* ========== Tab bar (unified dialog) ========== */

._tabBar_7mc44_422 {
  display: flex;
  gap: 4px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--border-default);
  padding-bottom: 0;
}

._tabButton_7mc44_430 {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--text-tertiary);
  font-size: 13px;
  font-weight: 500;
  padding: 8px 14px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition:
    color 0.15s,
    border-color 0.15s;
}

._tabButton_7mc44_430:hover {
  color: var(--text-secondary);
}

._tabActive_7mc44_451 {
  color: var(--text-primary);
  border-bottom-color: var(--color-primary);
}

._tabBadge_7mc44_456 {
  font-size: 10px;
  font-weight: 600;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 99px;
  background: var(--color-primary-soft, rgb(107 140 255 / 12%));
  color: var(--color-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ========== Disabled tools (warning variant) ========== */

._toolDisabled_7mc44_472 {
  background: var(--color-error-light);
}

._toolDisabled_7mc44_472:hover {
  background: var(--color-error-medium);
}

/* Compact tool list — grouped rows, no gap between items */
._toolList_7mc44_481 {
  gap: 0;
}

._toolGroup_7mc44_485 {
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md, 6px);
  margin-bottom: 8px;
}

._toolItem_7mc44_491 {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  background: var(--bg-secondary);
  cursor: pointer;
  transition: background 0.15s;
  min-height: 32px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-bottom: 1px solid var(--border-subtle, rgb(0 0 0 / 4%));
}

._toolItem_7mc44_491:last-child {
  border-bottom: none;
}

._toolItem_7mc44_491:hover {
  background: var(--bg-hover, var(--bg-secondary));
}

._toolItem_7mc44_491:focus-within {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}

._toolCheckIcon_7mc44_522 {
  width: 12px;
  height: 12px;
  color: var(--text-on-primary);
  opacity: 0;
  transition: opacity 0.1s;
}

._skillCheck_7mc44_287._checked_7mc44_279 ._toolCheckIcon_7mc44_522 {
  opacity: 1;
}

._toolGroupHeader_7mc44_534 {
  font-size: 11px;
  font-weight: 650;
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 8px 4px 4px;
}

._selectedWarning_7mc44_543 {
  color: var(--color-error);
}

._selectedWarning_7mc44_543 strong {
  color: var(--color-error);
}

._warningBanner_7mc44_551 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid var(--color-error-strong);
  border-radius: var(--radius-lg, 8px);
  background: var(--color-error-light);
  color: var(--color-error);
  font-size: 12px;
  line-height: 1.5;
}
._root_frfgs_1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

._menuAnchor_frfgs_8 {
  position: relative;
}

._avatarButton_frfgs_12 {
  position: relative;
  width: 72px;
  height: 72px;
  border: 0;
  border-radius: 50%;
  padding: 0;
  background: transparent;
  cursor: pointer;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

._groupButton_frfgs_27 {
  border-radius: 12px;
}

._avatarButton_frfgs_12:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}

._overlay_frfgs_36 {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  opacity: 0;
  color: white;
  background: rgb(0 0 0 / 52%);
  font-size: 12px;
  font-weight: 600;
  transition: opacity 120ms ease;
}

._avatarButton_frfgs_12:hover ._overlay_frfgs_36,
._avatarButton_frfgs_12:focus-visible ._overlay_frfgs_36 {
  opacity: 1;
}

._mobileAction_frfgs_57 {
  display: none;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  color: var(--color-primary);
  font-size: 13px;
  cursor: pointer;
}

._disabledAction_frfgs_68 {
  cursor: not-allowed;
  opacity: 0.5;
}

._fileInput_frfgs_73 {
  display: none;
}

._error_frfgs_77 {
  min-height: 18px;
  color: var(--color-error);
  font-size: 12px;
  text-align: center;
}

._menu_frfgs_8 {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  z-index: 20;
  min-width: 180px;
  padding: 4px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-secondary);
  box-shadow: 0 12px 32px rgb(0 0 0 / 20%);
  transform: translateX(-50%);
}

._menuItem_frfgs_98 {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 34px;
  padding: 0 10px;
  border: 0;
  border-radius: 7px;
  color: var(--text-primary);
  background: transparent;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}

._menuItem_frfgs_98:hover,
._menuItem_frfgs_98:focus-visible {
  background: var(--hover-bg);
  outline: none;
}

._dangerItem_frfgs_120 {
  color: var(--color-error);
}

._backdrop_frfgs_124 {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgb(0 0 0 / 48%);
}

._dialog_frfgs_134 {
  width: min(320px, calc(100vw - 32px));
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--bg-primary);
  box-shadow: 0 20px 60px rgb(0 0 0 / 24%);
}

._dialog_frfgs_134 h3 {
  margin: 0 0 16px;
  color: var(--text-primary);
  font-size: 16px;
}

._previewWrap_frfgs_149 {
  display: flex;
  justify-content: center;
  margin-bottom: 18px;
}

._previewImage_frfgs_155 {
  width: 160px;
  height: 160px;
  object-fit: cover;
}

._previewAgent_frfgs_161 {
  border-radius: 50%;
}

._previewGroup_frfgs_165 {
  border-radius: 20px;
}

._dialogActions_frfgs_169 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

._primaryButton_frfgs_175,
._secondaryButton_frfgs_176 {
  min-height: 36px;
  border-radius: 8px;
  padding: 0 14px;
  font-size: 13px;
  cursor: pointer;
}

._primaryButton_frfgs_175 {
  border: 1px solid var(--color-primary);
  color: var(--text-on-primary);
  background: var(--color-primary-solid);
}

._secondaryButton_frfgs_176 {
  border: 1px solid var(--border);
  color: var(--text-primary);
  background: var(--bg-secondary);
}

._primaryButton_frfgs_175:disabled,
._secondaryButton_frfgs_176:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

@media (hover: none) and (pointer: coarse) {
  ._overlay_frfgs_36 {
    display: none;
  }

  ._mobileAction_frfgs_57 {
    display: inline-flex;
  }
}
._surface_1ndmz_1 {
  width: 420px;
  max-width: 90vw;
  max-height: 85vh;
}

/* ========== Header ========== */

._header_1ndmz_9 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-4, 16px) var(--space-5, 20px);
  border-bottom: 1px solid var(--border-default);
}

._header_1ndmz_9 h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}

/* ========== Form Body: flex column, footer 吸底 ========== */

._formBody_1ndmz_26 {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

/* ========== 群名称输入 ========== */

._titleField_1ndmz_34 {
  padding: var(--space-4, 16px) var(--space-5, 20px) var(--space-3, 12px);
  flex-shrink: 0;
}

._titleLabel_1ndmz_39 {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-tertiary);
  margin-bottom: 6px;
}

._titleInput_1ndmz_47 {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 500;
  outline: none;
  transition: border-color 0.15s;
}

._titleInput_1ndmz_47:focus {
  border-color: var(--color-primary);
}

._titleInput_1ndmz_47::placeholder {
  color: var(--text-tertiary);
  font-weight: 400;
}

/* ========== 分隔线 ========== */

._divider_1ndmz_71 {
  height: 1px;
  background: var(--border-default);
  margin: 0 var(--space-5, 20px);
  flex-shrink: 0;
}

/* ========== 搜索 + 列表 ========== */

._body_1ndmz_80 {
  padding: var(--space-3, 12px) var(--space-5, 20px);
  display: flex;
  flex-direction: column;
  gap: var(--space-2, 8px);
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

._searchRow_1ndmz_90 {
  display: flex;
  align-items: center;
  gap: var(--space-2, 8px);
  padding: 0 var(--space-3, 12px);
  height: 36px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  transition: border-color 0.15s;
  flex-shrink: 0;
}

._searchRow_1ndmz_90:focus-within {
  border-color: var(--color-primary);
}

._searchIcon_1ndmz_107 {
  flex-shrink: 0;
  color: var(--text-tertiary);
}

._searchRow_1ndmz_90 input {
  flex: 1;
  border: none;
  background: transparent;
  color: var(--text-primary);
  font-size: 13px;
  outline: none;
}

._searchRow_1ndmz_90 input::placeholder {
  color: var(--text-tertiary);
}

._selectedBadge_1ndmz_125 {
  background: var(--color-primary-light);
  color: var(--color-primary);
  font-size: 11px;
  font-weight: 600;
  padding: 1px 7px;
  border-radius: var(--radius-full, 9999px);
  flex-shrink: 0;
}

/* ========== Agent 列表 ========== */

._agentList_1ndmz_137 {
  display: flex;
  flex-direction: column;
  gap: 2px;
  overflow-y: auto;
  padding: 2px 0;
}

._agentItem_1ndmz_145 {
  display: flex;
  align-items: center;
  gap: var(--space-3, 12px);
  padding: var(--space-2, 8px) var(--space-3, 12px);
  border-radius: var(--radius-lg, 8px);
  cursor: pointer;
  transition: background 0.15s;
  border-left: 3px solid transparent;
}

._agentItem_1ndmz_145:hover {
  background: var(--hover-bg);
}

._agentItem_1ndmz_145._selected_1ndmz_125 {
  background: var(--color-primary-light);
  border-left-color: var(--color-primary);
}

._agentItem_1ndmz_145._external_1ndmz_165 {
  background: var(--bg-secondary);
}

._agentItem_1ndmz_145._external_1ndmz_165:hover {
  background: var(--hover-bg);
}

._agentItem_1ndmz_145._disabled_1ndmz_173 {
  cursor: default;
  background: var(--bg-secondary);
  border-left-color: var(--border-strong);
}

._agentItem_1ndmz_145._disabled_1ndmz_173:hover {
  background: var(--bg-secondary);
}

._agentInfo_1ndmz_183 {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

._agentName_1ndmz_190 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
}

._agentDesc_1ndmz_196 {
  font-size: 11px;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._agentRestriction_1ndmz_204 {
  margin-top: 2px;
  color: var(--status-warning-text, var(--text-secondary));
  font-size: 11px;
}

/* ========== 自定义圆形 checkbox ========== */

._checkCircle_1ndmz_212 {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid var(--border-strong, #4b5563);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

._agentItem_1ndmz_145._selected_1ndmz_125 ._checkCircle_1ndmz_212 {
  border-color: var(--color-primary);
  background: var(--color-primary-solid);
}

._checkCircle_1ndmz_212 svg {
  opacity: 0;
  transform: scale(0.5);
  transition: all 0.2s ease;
}

._agentItem_1ndmz_145._selected_1ndmz_125 ._checkCircle_1ndmz_212 svg {
  opacity: 1;
  transform: scale(1);
}

/* ========== Footer: 常驻底部 ========== */

._footer_1ndmz_242 {
  border-top: 1px solid var(--border-default);
  padding: var(--space-3, 12px) var(--space-5, 20px) var(--space-4, 16px);
}

._hint_1ndmz_247 {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-bottom: var(--space-3, 12px);
  display: flex;
  align-items: center;
  gap: 6px;
}

._hintIcon_1ndmz_256 {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

._hintReady_1ndmz_262 {
  color: var(--green-500, #22c55e);
}

._hintReady_1ndmz_262 ._hintIcon_1ndmz_256 {
  color: var(--green-500, #22c55e);
}

._footerActions_1ndmz_270 {
  display: flex;
  gap: var(--space-2, 8px);
  justify-content: flex-end;
}

._avatarSection_1ndmz_276 {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: var(--space-4, 16px) var(--space-5, 20px);
  border-bottom: 1px solid var(--border-default);
  flex-shrink: 0;
}

._avatarCopy_1ndmz_285 {
  min-width: 0;
}

._avatarTitle_1ndmz_289 {
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._avatarHint_1ndmz_298 {
  margin-top: 4px;
  color: var(--text-tertiary);
  font-size: 12px;
}
._dialog_6lnvr_1 {
  max-height: min(760px, calc(100vh - 48px));
}

._header_6lnvr_5 {
  padding: 16px 20px;
  border-bottom: 1px solid var(--border-default);
}

._content_6lnvr_10 {
  min-height: 0;
  padding: 16px 20px;
  overflow: auto;
}

._footer_6lnvr_16 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 20px 16px;
  border-top: 1px solid var(--border-default);
}

._title_6lnvr_24 {
  margin: 0;
  color: var(--text-primary);
  font-size: 16px;
  line-height: 1.4;
}

._description_6lnvr_31 {
  margin: 4px 0 0;
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.5;
}

._changeList_6lnvr_38 {
  display: grid;
  gap: 16px;
}

._change_6lnvr_38 {
  min-width: 0;
}

._fileName_6lnvr_47 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 8px;
  color: var(--text-primary);
  font-family: 'SF Mono', Monaco, Inconsolata, 'Fira Code', monospace;
  font-size: 12px;
  line-height: 1.4;
}
/* ========== Overlay ========== */

._overlay_19w1g_3 {
  position: fixed;
  inset: 0;
  background: var(--overlay-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  overflow: hidden;
  animation: _fadeIn_19w1g_1 0.15s ease;
}

@keyframes _fadeIn_19w1g_1 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* ========== Dialog shell ========== */

._dialog_19w1g_27 {
  background: var(--bg-primary);
  border-radius: var(--radius-2xl, 16px);
  border: 1px solid var(--border-default);
  box-shadow: var(--shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 50%));
  width: 600px;
  max-width: 90vw;
  max-height: 85vh;
  max-height: 85dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* ========== Header with tabs ========== */

._header_19w1g_43 {
  display: flex;
  border-bottom: 1px solid var(--border-default);
  flex-shrink: 0;
  /* 制表符自身带内边距并铺满整行，header 槽位不参与默认留白 */
  padding: 0;
}

._tab_19w1g_51 {
  flex: 1;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition:
    color 0.15s,
    border-color 0.15s;
}

._tab_19w1g_51:hover {
  color: var(--text-primary);
}

._tabActive_19w1g_70 {
  color: var(--text-primary);
  border-bottom-color: var(--color-primary);
}

/* ========== Content area ========== */

._content_19w1g_77 {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow-y: auto;
}

._field_19w1g_85 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
}

._label_19w1g_92 {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
}

._hint_19w1g_98 {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-tertiary);
}

._fileContext_19w1g_105 {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}

._fileContextHeader_19w1g_111 {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

._fileContextHeader_19w1g_111 strong {
  flex: 0 0 auto;
  color: var(--text-primary);
  font-size: 13px;
}

._fileContextHeader_19w1g_111 span {
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.45;
}

._ruleBoundary_19w1g_130 {
  margin: 0;
  padding: 8px 10px;
  border-left: 2px solid var(--color-warning);
  background: color-mix(in srgb, var(--color-warning) 8%, transparent);
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.5;
}

._errorText_19w1g_140 {
  margin: 8px 0 0;
  color: var(--danger-color, #ef4444);
  font-size: 12px;
}

._checkboxLabel_19w1g_146 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-secondary);
}

._policyEditor_19w1g_154 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._policyEntry_19w1g_160 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  background: var(--bg-secondary);
}

._policyEntryHeader_19w1g_170 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

._editor_19w1g_177 {
  flex: 1;
  min-height: 120px;
  width: 100%;
  padding: 12px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-family: 'SF Mono', Menlo, Monaco, Consolas, monospace;
  font-size: 13px;
  line-height: 1.6;
  resize: none;
  outline: none;
  transition: border-color 0.15s;
}

._editor_19w1g_177:focus {
  border-color: var(--color-primary);
}

._editor_19w1g_177::placeholder {
  color: var(--text-tertiary);
  font-style: italic;
  font-family: inherit;
}

/* ========== Responsive: mobile ========== */

@media (width <= 640px) {
  ._dialog_19w1g_27 {
    width: 100vw;
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    border-radius: 0;
    border: none;
  }

  ._content_19w1g_77 {
    padding: 12px;
  }

  ._editor_19w1g_177 {
    min-height: 200px;
    font-size: 14px;
  }

  ._footer_19w1g_227 {
    padding: 10px 12px 12px;
  }
}

/* ========== Responsive: desktop ========== */

@media (width >= 641px) {
  ._dialog_19w1g_27 {
    /* Give editor area comfortable vertical space on desktop */
    height: 70vh;
    height: 70dvh;
  }

  ._editor_19w1g_177 {
    min-height: 280px;
  }
}

/* ========== Footer ========== */

._footer_19w1g_227 {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid var(--border-default);
}
/* ========== Overlay ========== */

._overlay_1j6gw_3 {
  position: fixed;
  inset: 0;
  background: var(--overlay-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  overflow: hidden;
  animation: _fadeIn_1j6gw_1 0.15s ease;
}

@keyframes _fadeIn_1j6gw_1 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* ========== Dialog shell ========== */

._dialog_1j6gw_27 {
  background: var(--bg-primary);
  border-radius: var(--radius-2xl, 16px);
  border: 1px solid var(--border-default);
  box-shadow: var(--shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 50%));
  width: 600px;
  max-width: 90vw;
  max-height: 85vh;
  max-height: 85dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

._header_1j6gw_41 {
  display: flex;
  border-bottom: 1px solid var(--border-default);
  flex-shrink: 0;
}

._dialogTitle_1j6gw_47 {
  margin: 0;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.3;
  color: var(--text-primary);
}

._eyebrow_1j6gw_55 {
  margin: 0;
  padding: 10px 20px 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-tertiary);
}

._content_1j6gw_63 {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow-y: auto;
}

._label_1j6gw_71 {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
}

._hint_1j6gw_77 {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-tertiary);
}

._emptyText_1j6gw_84 {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-tertiary);
}

._errorText_1j6gw_91 {
  margin: 8px 0 0;
  color: var(--danger-color, #ef4444);
  font-size: 12px;
}

._checkboxLabel_1j6gw_97 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-secondary);
}

._segmentedGroup_1j6gw_105 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
}

._segmentedGroup_1j6gw_105 ._label_1j6gw_71 {
  grid-column: 1 / -1;
  padding: 0;
}

._segmentedOption_1j6gw_119 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  background: var(--bg-secondary);
  color: var(--text-secondary);
  font-size: 13px;
  cursor: pointer;
}

._segmentedOptionActive_1j6gw_133 {
  border-color: var(--color-primary);
  background: var(--bg-primary);
  color: var(--text-primary);
  font-weight: 600;
}

._segmentedOption_1j6gw_119 input {
  margin: 0;
}

._policyEditor_1j6gw_144 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._policyEntry_1j6gw_150 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  background: var(--bg-secondary);
}

._policyEntryHeader_1j6gw_160 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

._entryActions_1j6gw_167 {
  display: flex;
  align-items: center;
  gap: 2px;
}

._moveBtn_1j6gw_173 {
  min-width: 26px;
  padding: 0 6px !important;
}

._srOnly_1j6gw_178 {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

._reasoningSection_1j6gw_190 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  background: var(--bg-secondary);
}

._segmentedControl_1j6gw_200 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}

._segmentBtn_1j6gw_206 {
  min-height: 32px;
  padding: 5px 8px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md, 6px);
  background: var(--bg-primary);
  color: var(--text-secondary);
  font-size: 12px;
  cursor: pointer;
}

._segmentActive_1j6gw_217 {
  border-color: var(--color-primary);
  background: var(--color-primary-soft, var(--bg-primary));
  color: var(--color-primary);
  font-weight: 600;
}

._footer_1j6gw_224 {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid var(--border-default);
}

@media (width <= 640px) {
  ._dialog_1j6gw_27 {
    width: 100vw;
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    border-radius: 0;
    border: none;
  }

  ._content_1j6gw_63 {
    padding: 12px;
  }

  ._footer_1j6gw_224 {
    padding: 10px 12px 12px;
  }
}

@media (width >= 641px) {
  ._dialog_1j6gw_27 {
    height: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  ._overlay_1j6gw_3 {
    animation: none;
  }
}
._nav_1dtlt_1 {
  width: 168px;
  background: color-mix(in srgb, var(--bg-secondary) 82%, var(--bg-primary));
  border-right: 1px solid var(--border);
  padding: 10px 8px;
  overflow-y: auto;
}

._group_1dtlt_9 {
  margin-bottom: 5px;
}

._groupTitle_1dtlt_13 {
  display: block;
  font-size: 10px;
  font-weight: 600;
  color: color-mix(in srgb, var(--text-secondary) 82%, transparent);
  padding: 4px 10px 3px;
  letter-spacing: 0.24px;
  line-height: 1.1;
}

._divider_1dtlt_23 {
  height: 1px;
  background: color-mix(in srgb, var(--border) 54%, transparent);
  margin: 5px 8px 4px;
}

/* 导航项基础样式 */
._item_1dtlt_30 {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  min-height: 29px;
  border-radius: 8px;
  cursor: pointer;
  transition:
    background 0.16s ease,
    color 0.16s ease;
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.2;
  margin-bottom: 1px;
  position: relative;
  border: 0;
  background: transparent;
  font-family: inherit;
  text-align: left;
}

/* hover 状态 */
._item_1dtlt_30:hover {
  background: color-mix(in srgb, var(--hover-bg) 72%, transparent);
  color: var(--text-primary);
}

._item_1dtlt_30:focus-visible {
  outline: 2px solid var(--accent-color);
  outline-offset: -2px;
}

/* active 状态 - 背景 + 颜色 */
._itemActive_1dtlt_65 {
  background: color-mix(in srgb, var(--accent-color-light) 74%, transparent);
  color: var(--accent-color);
  font-weight: 500;
}

._itemActive_1dtlt_65::before {
  content: '';
  position: absolute;
  left: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 14px;
  background: var(--accent-color);
  border-radius: 999px;
}

/* 图标样式调整 */
._item_1dtlt_30 svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  opacity: 0.72;
}

._item_1dtlt_30 > span {
  padding-left: 2px;
}

/* 导航项的主行 + 副行（副行只在有去向说明时出现：目前是「已移至扩展」）。
   `min-width: 0` 是为了长标签能正常省略，不被 flex 撑破 168px 的导航宽度。 */
._itemLabels_1dtlt_97 {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

._movedTag_1dtlt_104 {
  padding-left: 0;
  color: var(--text-tertiary);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.2;
}

._item_1dtlt_30 ._alertBadge_1dtlt_112 {
  min-width: 18px;
  margin-left: auto;
  padding: 1px 5px;
  border-radius: 999px;
  color: var(--bg-primary);
  background: var(--orange-500);
  font-size: 10px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
}

._item_1dtlt_30:hover svg,
._itemActive_1dtlt_65 svg {
  opacity: 1;
}

/* ── 移动端：水平滚动 tab strip ── */
@media (width <= 768px) {
  ._nav_1dtlt_1 {
    width: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2px;
    padding: 8px 12px;
    overflow: auto hidden;
    border-right: none;
    border-bottom: 1px solid var(--border);
    -webkit-overflow-scrolling: touch;
  }

  ._group_1dtlt_9 {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2px;
    margin-bottom: 0;
  }

  ._groupTitle_1dtlt_13 {
    display: none;
  }

  ._divider_1dtlt_23 {
    width: 1px;
    height: 20px;
    margin: 0 6px;
  }

  ._item_1dtlt_30 {
    width: auto;
    white-space: nowrap;
    padding: 6px 10px;
    font-size: 13px;
    gap: 6px;
    flex-shrink: 0;
  }

  ._item_1dtlt_30::before,
  ._item_1dtlt_30:hover::before {
    display: none;
  }

  ._itemActive_1dtlt_65 {
    border-radius: 6px;
  }

  /* 横向 strip 里空间是按字数算的，副行会把整条 tab 撑得参差不齐；
     移动端收起这一行——点进去看到的仍是路牌，损失只是「提前知道」这一步。 */
  ._movedTag_1dtlt_104 {
    display: none;
  }
}
._header_12zzk_1 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 24px 14px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

._titleRow_12zzk_10 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

._title_12zzk_10 {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

._descriptionRow_12zzk_24 {
  display: flex;
  /* 说明与右侧动作居中对齐：这一行通常是「一句话 + 一个按钮」，顶对齐会让
     小字看起来矮半截（唯一的实际调用方是内嵌形态的 MCP 段）。 */
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

._description_12zzk_24 {
  flex: 1;
  min-width: 0;
  font-size: 13px;
  color: var(--text-secondary);
  margin: 0;
  line-height: 1.45;
}

._descriptionActions_12zzk_42 {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

._headerActions_12zzk_48 {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

@media (width <= 720px) {
  ._descriptionRow_12zzk_24 {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
}
._field_ce8ov_1 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
}

._field_ce8ov_1:last-child {
  margin-bottom: 0;
}

._row_ce8ov_12 {
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

._label_ce8ov_18 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
}

._row_ce8ov_12 ._label_ce8ov_18 {
  margin-bottom: 0;
}

._hint_ce8ov_28,
._error_ce8ov_29 {
  font-size: 12px;
  line-height: 1.4;
  margin-top: -2px;
}

._hint_ce8ov_28 {
  color: var(--text-tertiary);
}

._error_ce8ov_29 {
  color: var(--error);
}
/* ChannelPanel — 渠道管理 + 多模态配置 */

._panel_1e1kx_3 {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* ── 视图切换 Tab（渠道 / 多模态） ── */

._viewTabs_1e1kx_11 {
  display: flex;
  gap: 0;
  padding: 0 24px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

._viewTabs_1e1kx_11::-webkit-scrollbar {
  display: none;
}

._viewTab_1e1kx_11 {
  padding: 10px 20px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--text-tertiary);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition:
    color 0.15s,
    border-color 0.15s;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  flex-shrink: 0;
}

._viewTab_1e1kx_11:hover {
  color: var(--text-secondary);
}

._viewTabActive_1e1kx_48 {
  color: var(--accent-color);
  border-bottom-color: var(--accent-color);
}

._viewTabDisabled_1e1kx_53 {
  opacity: 0.45;
  cursor: not-allowed;
}

/* ── 渠道列表 ── */

._list_1e1kx_60 {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._empty_1e1kx_69 {
  color: var(--text-tertiary);
  font-size: 14px;
  text-align: center;
  padding: 32px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

._item_1e1kx_80 {
  display: flex;
  flex-direction: column;
  padding: 12px 14px;
  background: var(--bg-secondary);
  border-radius: 8px;
  border: 1px solid var(--border);
  transition: all 0.2s ease;
}

._item_1e1kx_80:hover {
  border-color: var(--accent-color);
  background: var(--hover-bg);
}

._item_1e1kx_80._isDefault_1e1kx_95 {
  border-color: var(--accent-color);
}

._itemInfo_1e1kx_99 {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  flex: 1;
}

._itemName_1e1kx_107 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  font-size: 14px;
  color: var(--text-primary);
}

._defaultBadge_1e1kx_116 {
  font-size: 11px;
  font-weight: 500;
  padding: 2px 6px;
  border-radius: 12px;
  background: var(--color-primary-solid);
  color: var(--text-on-primary);
}

._itemMeta_1e1kx_125 {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--text-secondary);
}

._metaTag_1e1kx_133 {
  font-size: 11px;
  font-weight: 500;
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--bg-primary);
  color: var(--text-secondary);
  border: 1px solid var(--border);
}

._metaSep_1e1kx_143 {
  color: var(--text-tertiary);
  font-size: 12px;
}

._metaModel_1e1kx_148 {
  font-size: 12px;
  color: var(--text-secondary);
  font-family: 'SF Mono', Menlo, monospace;
}

._itemUrl_1e1kx_154 {
  font-size: 11px;
  color: var(--text-tertiary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* ── 渠道卡片底部操作 ── */

._itemFooter_1e1kx_165 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--border);
}

._footerActions_1e1kx_175 {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
}

/* ── 渠道编辑表单 ── */

._formWrapper_1e1kx_184 {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
}

._formTitle_1e1kx_190 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 16px;
}

._field_1e1kx_197 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
}

._label_1e1kx_204 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
}

._input_1e1kx_210 {
  padding: 10px 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
  font-family: inherit;
  transition: all 0.2s ease;
}

._input_1e1kx_210:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
}

._formFooter_1e1kx_227 {
  display: flex;
  gap: 10px;
  padding: 14px 24px;
  border-top: 1px solid var(--border);
  justify-content: flex-end;
}

._fetchError_1e1kx_235 {
  font-size: 12px;
  color: var(--error);
  margin-top: -4px;
}

._loadingHint_1e1kx_241 {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-top: -4px;
}

/* ── 多模态配置区（图片分析 / 图片生成 / 视频 / 语音） ── */

._badge_1e1kx_249 {
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 4px;
  font-weight: 600;
  line-height: 1.4;
}

._badgeOn_1e1kx_257 {
  background: rgb(34 197 94 / 12%);
  color: var(--success-color, #22c55e);
}

._badgeOff_1e1kx_262 {
  background: var(--bg-tertiary, #ececed);
  color: var(--text-tertiary);
}

._comingSoon_1e1kx_267 {
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--bg-tertiary, #ececed);
  color: var(--text-tertiary);
  font-weight: 400;
}

/* ── 多模态 Tab 内容区 ── */

._mmTabContent_1e1kx_278 {
  flex: 1;
  overflow-y: auto;
  padding: 24px 32px;
}

/* ── 能力卡片 ── */

._capabilityCard_1e1kx_286 {
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  background: var(--bg-primary);
}

._cardHeader_1e1kx_293 {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--border);
  cursor: pointer;
  user-select: none;
  transition: background 0.15s;
}

._cardHeader_1e1kx_293:hover {
  background: var(--bg-tertiary);
}

._cardHeaderDisabled_1e1kx_309 {
  opacity: 0.55;
}

._cardIcon_1e1kx_313 {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-color-light);
  color: var(--accent-color);
  flex-shrink: 0;
}

._cardHeaderInfo_1e1kx_325 {
  flex: 1;
  min-width: 0;
}

._cardTitle_1e1kx_330 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

._cardSummary_1e1kx_336 {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-top: 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._cardSummaryWarning_1e1kx_345 {
  color: var(--warning-color, #f0a030);
}

._switchLabel_1e1kx_349 {
  flex-shrink: 0;
}

/* ── 多模态字段区 ── */

._cardBody_1e1kx_355 {
  padding: 18px 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

._mmField_1e1kx_362 {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

._mmLabel_1e1kx_368 {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
}

._mmInput_1e1kx_374 {
  padding: 9px 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 13px;
  font-family: inherit;
  transition: all 0.15s;
  width: 100%;
}

._mmInput_1e1kx_374:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
  box-shadow: 0 0 0 3px var(--color-primary-subtle);
}

._mmHint_1e1kx_393 {
  font-size: 11.5px;
  color: var(--text-tertiary);
  line-height: 1.4;
}

._withUnit_1e1kx_399 {
  display: flex;
  align-items: center;
  gap: 6px;
}

._withUnit_1e1kx_399 ._mmInput_1e1kx_374 {
  flex: 1;
}

._unit_1e1kx_409 {
  font-size: 12px;
  color: var(--text-tertiary);
  flex-shrink: 0;
}

/* ── 多模态底部提示 ── */

._mmTip_1e1kx_417 {
  margin-top: 16px;
  padding: 14px 16px;
  background: var(--bg-secondary);
  border-radius: 8px;
  font-size: 12px;
  color: var(--text-tertiary);
  line-height: 1.5;
}

/* ── 多模态保存状态 ── */

._mmSaveStatus_1e1kx_429 {
  font-size: 11px;
  color: var(--text-tertiary);
  margin-left: auto;
  flex-shrink: 0;
}

/* ── 备用模型 ── */

._fallbackSection_1e1kx_438 {
  grid-column: 1 / -1;
  margin-top: 4px;
}

._fallbackHeader_1e1kx_443 {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 8px 10px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
  cursor: pointer;
  color: var(--text-secondary);
  font-size: 12.5px;
  font-family: inherit;
  transition: all 0.15s;
}

._fallbackHeader_1e1kx_443:hover {
  background: var(--bg-tertiary, var(--bg-secondary));
  border-color: var(--accent-color);
}

._fallbackChevron_1e1kx_464 {
  transition: transform 0.15s;
  flex-shrink: 0;
}

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

._fallbackTitle_1e1kx_473 {
  font-weight: 500;
  color: var(--text-secondary);
}

._fallbackCount_1e1kx_478 {
  margin-left: auto;
  background: var(--accent-color-light);
  color: var(--accent-color);
  font-size: 11px;
  font-weight: 600;
  padding: 1px 7px;
  border-radius: 10px;
}

._fallbackBody_1e1kx_488 {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._fallbackItem_1e1kx_495 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
}

._fallbackIndex_1e1kx_505 {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-tertiary);
  min-width: 16px;
  text-align: center;
  flex-shrink: 0;
}

._fallbackFields_1e1kx_514 {
  flex: 1;
  display: flex;
  gap: 8px;
  min-width: 0;
}

._fallbackFields_1e1kx_514 > * {
  flex: 1;
  min-width: 0;
}

._fallbackRemove_1e1kx_526 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  background: transparent;
  border-radius: 6px;
  color: var(--text-tertiary);
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.15s;
}

._fallbackRemove_1e1kx_526:hover {
  background: var(--danger-color-light, rgb(239 68 68 / 10%));
  color: var(--danger-color, #ef4444);
}

._fallbackAdd_1e1kx_546 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  padding: 7px;
  border: 1px dashed var(--border);
  border-radius: 8px;
  background: transparent;
  color: var(--accent-color);
  font-size: 12px;
  font-family: inherit;
  cursor: pointer;
  transition: all 0.15s;
}

._fallbackAdd_1e1kx_546:hover {
  background: var(--color-primary-subtle);
  border-color: var(--accent-color);
}

._fallbackHint_1e1kx_568 {
  font-size: 11.5px;
  color: var(--text-tertiary);
  line-height: 1.4;
}

/* ── Context Token Limit 滑条 ── */

._sliderContainer_1e1kx_576 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._sliderHeader_1e1kx_582 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

._sliderRangeLabel_1e1kx_589 {
  font-size: 11px;
  color: var(--text-tertiary);
  flex-shrink: 0;
}

._sliderValue_1e1kx_595 {
  font-size: 13px;
  font-weight: 600;
  color: var(--accent-color);
  font-variant-numeric: tabular-nums;
}

._slider_1e1kx_576 {
  flex: 1;
  height: 6px;
  border-radius: 3px;
  background: var(--bg-tertiary);
  outline: none;
  appearance: none;
  cursor: pointer;
}

._slider_1e1kx_576::-webkit-slider-thumb {
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--accent-color);
  cursor: pointer;
  transition: all 0.2s ease;
}

._slider_1e1kx_576::-webkit-slider-thumb:hover {
  transform: scale(1.1);
  box-shadow: 0 0 0 4px var(--accent-color-light);
}

._slider_1e1kx_576::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--accent-color);
  cursor: pointer;
  border: none;
}

/* ── FunASR 语音服务 ── */

._voiceContent_1e1kx_638 {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 24px 32px 0;
  display: flex;
  flex-direction: column;
}

._voiceServiceSection_1e1kx_647,
._voiceEndpointSection_1e1kx_648,
._voiceCapabilitiesSection_1e1kx_649 {
  max-width: 760px;
  width: 100%;
  margin: 0 auto;
}

._voiceServiceHeader_1e1kx_655 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

._voiceServiceIdentity_1e1kx_662 {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}

._voiceServiceIcon_1e1kx_669 {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--accent-color);
  background: var(--accent-color-light);
}

._voiceServiceTitle_1e1kx_681,
._voiceSectionTitle_1e1kx_682 {
  margin: 0;
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 600;
}

._voiceServiceDescription_1e1kx_689 {
  margin: 4px 0 0;
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.5;
}

._voiceCapabilitiesSection_1e1kx_649 {
  margin-top: 24px;
}

._voiceCapabilities_1e1kx_649 {
  margin-top: 12px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

._voiceCapabilityRow_1e1kx_706 {
  min-height: 42px;
  padding: 9px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: var(--text-secondary);
  font-size: 12.5px;
}

._voiceCapabilityRow_1e1kx_706 + ._voiceCapabilityRow_1e1kx_706 {
  border-top: 1px solid var(--border);
}

._voiceCapabilityStatus_1e1kx_721 {
  color: var(--text-tertiary);
  text-align: right;
}

._voiceCapabilityAvailable_1e1kx_726 {
  color: var(--success-color, #22c55e);
  font-weight: 500;
}

._voiceEndpointSection_1e1kx_648 {
  margin-top: 24px;
}

._voiceFields_1e1kx_735 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px 16px;
  margin-top: 14px;
}

._voiceApiKeyField_1e1kx_742 {
  grid-column: 1 / -1;
}

._voiceSecretInput_1e1kx_746 {
  display: flex;
  align-items: stretch;
  gap: 6px;
}

._voiceSecretInput_1e1kx_746 ._mmInput_1e1kx_374 {
  flex: 1;
  min-width: 0;
}

._voiceFooter_1e1kx_757 {
  position: sticky;
  bottom: 0;
  max-width: 824px;
  width: calc(100% + 64px);
  margin: auto -32px 0;
  padding: 14px 32px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  border-top: 1px solid var(--border);
  background: var(--bg-primary);
}

._voiceSaveFeedback_1e1kx_772 {
  min-height: 18px;
  margin-right: auto;
  color: var(--text-tertiary);
  font-size: 12px;
}

@media (width <= 680px) {
  ._voiceContent_1e1kx_638 {
    padding: 20px 20px 0;
  }

  ._voiceFields_1e1kx_735 {
    grid-template-columns: minmax(0, 1fr);
  }

  ._voiceApiKeyField_1e1kx_742 {
    grid-column: auto;
  }

  ._voiceFooter_1e1kx_757 {
    width: calc(100% + 40px);
    margin-right: -20px;
    margin-left: -20px;
    padding: 12px 20px;
  }
}
._panel_1ohn2_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}

._content_1ohn2_8 {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 20px 24px 24px;
}

._tabs_1ohn2_15 {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  margin-bottom: 22px;
  border: 1px solid color-mix(in srgb, var(--border) 78%, transparent);
  border-radius: 11px;
  background: color-mix(in srgb, var(--bg-secondary) 84%, var(--bg-primary));
}

._tab_1ohn2_15 {
  min-height: 32px;
  padding: 0 14px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition:
    color 0.16s ease,
    background 0.16s ease,
    box-shadow 0.16s ease;
}

._tab_1ohn2_15:hover {
  color: var(--text-primary);
  background: color-mix(in srgb, var(--hover-bg) 70%, transparent);
}

._tabActive_1ohn2_47 {
  color: var(--text-primary);
  background: var(--bg-primary);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--shadow-color, #000) 10%, transparent);
}

._sectionPanel_1ohn2_53 {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

._sectionGroup_1ohn2_59 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._sectionTitle_1ohn2_65 {
  margin: 0;
  padding: 0 2px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--text-tertiary);
}

._rows_1ohn2_74 {
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--bg-primary) 94%, var(--bg-secondary));
}

._settingRow_1ohn2_81 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 68px;
  padding: 14px 16px;
  border-bottom: 1px solid color-mix(in srgb, var(--border) 68%, transparent);
}

._settingRow_1ohn2_81:last-child {
  border-bottom: none;
}

._settingText_1ohn2_95 {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

._settingTitle_1ohn2_103 {
  font-size: 14px;
  font-weight: 550;
  line-height: 1.35;
  color: var(--text-primary);
}

._settingDescription_1ohn2_110 {
  max-width: 560px;
  font-size: 12px;
  line-height: 1.55;
  color: var(--text-tertiary);
}

._settingAction_1ohn2_117 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 132px;
  flex-shrink: 0;
}

._selectControl_1ohn2_125 {
  min-width: 152px;
}

._selectControlWide_1ohn2_129 {
  min-width: 184px;
}

._accentPicker_1ohn2_133 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 190px;
  margin: 0;
  padding: 2px;
  border: 0;
}

._accentOption_1ohn2_143 {
  position: relative;
  display: inline-flex;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  cursor: pointer;
}

._accentInput_1ohn2_152 {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
}

._accentSwatch_1ohn2_160 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 3px solid var(--bg-primary);
  border-radius: 50%;
  background: var(--swatch-color);
  color: #fff;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--swatch-color) 40%, var(--border));
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease;
}

._accentOption_1ohn2_143:hover ._accentSwatch_1ohn2_160 {
  transform: scale(1.08);
}

/* 未设置自定义色时的"任选颜色"符号：彩虹环，与预设色块明确区分。 */
._accentSwatchCustomEmpty_1ohn2_181 {
  background: conic-gradient(
    from 90deg,
    #e5484d,
    #f5a524,
    #e2c541,
    #46a758,
    #3aa5c9,
    #5b8def,
    #9d5bd2,
    #e5484d
  );
}

@media (prefers-reduced-motion: reduce) {
  ._accentSwatch_1ohn2_160 {
    transition: none;
  }

  ._accentOption_1ohn2_143:hover ._accentSwatch_1ohn2_160 {
    transform: none;
  }
}

._accentInput_1ohn2_152:checked + ._accentSwatch_1ohn2_160 {
  box-shadow:
    0 0 0 2px var(--bg-primary),
    0 0 0 4px var(--swatch-color);
}

._accentInput_1ohn2_152:focus-visible + ._accentSwatch_1ohn2_160 {
  outline: 2px solid var(--text-primary);
  outline-offset: 4px;
}

._accentPickerColumn_1ohn2_216 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._accentCustomControls_1ohn2_222 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 190px;
}

._accentHexInput_1ohn2_229 {
  width: 96px;
  padding: 4px 8px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-primary);
  color: var(--text-primary);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 13px;
  line-height: 1.4;
}

._accentHexInput_1ohn2_229:focus-visible {
  outline: 2px solid var(--text-primary);
  outline-offset: 2px;
}

._accentHexInput_1ohn2_229[aria-invalid='true'] {
  border-color: var(--color-error, #e5484d);
}

._accentContrastWarning_1ohn2_250 {
  margin: 0;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.4;
}

._visuallyHidden_1ohn2_257 {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

._notice_1ohn2_266 {
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--accent-color) 24%, var(--border));
  border-radius: 12px;
  background: color-mix(in srgb, var(--accent-color-light) 38%, transparent);
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.55;
}

._inlineMeta_1ohn2_276 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.4;
}

._footer_1ohn2_286 {
  display: flex;
  gap: 12px;
  padding: 16px 24px;
  border-top: 1px solid var(--border);
  justify-content: flex-end;
}

@media (width <= 768px) {
  ._content_1ohn2_8 {
    padding: 16px;
  }

  ._tabs_1ohn2_15 {
    display: flex;
    overflow-x: auto;
    width: 100%;
  }

  ._tab_1ohn2_15 {
    flex: 1 0 auto;
  }

  ._settingRow_1ohn2_81 {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  ._settingAction_1ohn2_117 {
    justify-content: flex-start;
    min-width: 0;
    width: 100%;
  }

  ._selectControl_1ohn2_125 {
    width: 100%;
  }

  ._selectControlWide_1ohn2_129 {
    width: 100%;
  }

  ._accentPicker_1ohn2_133 {
    min-width: 0;
  }
}

._navLink_1ohn2_334 {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border: 1px solid color-mix(in srgb, var(--accent, #6c5ce7) 30%, transparent);
  border-radius: 6px;
  background: transparent;
  color: var(--accent, #6c5ce7);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s ease;
}

._navLink_1ohn2_334:hover {
  background: color-mix(in srgb, var(--accent, #6c5ce7) 8%, transparent);
}
._sectionPanel_rrce0_1 {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* Master switch card */
._masterSwitchCard_rrce0_8 {
  padding: 16px 18px;
  border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--bg-primary) 94%, var(--bg-secondary));
}

._masterSwitchHeader_rrce0_15 {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

._masterIcon_rrce0_21 {
  margin-top: 2px;
  flex-shrink: 0;
  color: var(--accent, #6c5ce7);
}

._masterSwitchText_rrce0_27 {
  flex: 1;
  min-width: 0;
}

._masterSwitchTitle_rrce0_32 {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

._masterSwitchDesc_rrce0_39 {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--text-secondary);
}

._masterDisabledNotice_rrce0_46 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  padding: 8px 10px;
  font-size: 12px;
  color: var(--text-secondary);
  border-radius: 8px;
  background: color-mix(in srgb, var(--warning-color, #f59e0b) 8%, transparent);
}

/* Provider grid */
._providerGrid_rrce0_59 {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Provider card */
._providerCard_rrce0_66 {
  padding: 16px 18px;
  border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--bg-primary) 96%, var(--bg-secondary));
  transition: border-color 0.15s ease;
}

._providerCard_rrce0_66:hover {
  border-color: color-mix(in srgb, var(--border) 60%, transparent);
}

._providerHeader_rrce0_78 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

._providerIdentity_rrce0_85 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._providerName_rrce0_91 {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-primary);
}

/* Status badge */
._statusBadge_rrce0_98 {
  display: inline-flex;
  align-items: center;
  padding: 1px 7px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.6;
}

._statusReady_rrce0_108 {
  color: #10b981;
  background: color-mix(in srgb, #10b981 10%, transparent);
}

._statusUnavailable_rrce0_113 {
  color: #f59e0b;
  background: color-mix(in srgb, #f59e0b 10%, transparent);
}

._statusError_rrce0_118 {
  color: #ef4444;
  background: color-mix(in srgb, #ef4444 10%, transparent);
}

._statusLoading_rrce0_123 {
  color: var(--text-secondary);
  background: color-mix(in srgb, var(--text-secondary) 8%, transparent);
}

._statusUnknown_rrce0_128 {
  color: var(--text-tertiary);
  background: color-mix(in srgb, var(--text-tertiary) 8%, transparent);
}

/* Provider body */
._providerBody_rrce0_134 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._loadingRow_rrce0_140,
._errorRow_rrce0_141 {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  color: var(--text-secondary);
}

._errorRow_rrce0_141 {
  color: #ef4444;
}

._spinIcon_rrce0_153 {
  animation: _spin_rrce0_153 0.8s linear infinite;
}

@keyframes _spin_rrce0_153 {
  to { transform: rotate(360deg); }
}

._muted_rrce0_161 {
  font-size: 12px;
  color: var(--text-tertiary);
}

/* Status grid */
._statusGrid_rrce0_167 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 6px;
}

._statusItem_rrce0_173 {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
}

._statusItemIcon_rrce0_180 {
  flex-shrink: 0;
  color: var(--text-tertiary);
}

._statusItemLabel_rrce0_185 {
  color: var(--text-tertiary);
  margin-right: 2px;
}

._statusItemValue_rrce0_190 {
  font-weight: 500;
  color: var(--text-primary);
}

/* Value colors */
._good_rrce0_196 { color: #10b981; }
._bad_rrce0_197 { color: #ef4444; }
._warn_rrce0_198 { color: #f59e0b; }

/* Property table (capabilities, enforcement) */
._propertyTable_rrce0_201 {
  margin-top: 2px;
  padding: 8px 10px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--bg-secondary) 40%, transparent);
}

._propertyTableTitle_rrce0_208 {
  margin-bottom: 5px;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

._propertyRow_rrce0_217 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2px 0;
  font-size: 12px;
}

._propertyKey_rrce0_225 {
  color: var(--text-secondary);
}

._enforcementValue_rrce0_229 {
  font-size: 11px;
  color: var(--text-tertiary);
}

/* Constraints list */
._constraintList_rrce0_235 {
  margin-top: 2px;
  padding: 8px 10px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--bg-secondary) 40%, transparent);
}

._constraintTitle_rrce0_242 {
  margin-bottom: 5px;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

._constraintItems_rrce0_251 {
  margin: 0;
  padding: 0 0 0 16px;
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.6;
}

._constraintItems_rrce0_251 li {
  margin-bottom: 2px;
}

/* Diagnostic banner */
._diagnosticBanner_rrce0_264 {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 7px 9px;
  border-radius: 8px;
  font-size: 12px;
  color: #f59e0b;
  background: color-mix(in srgb, #f59e0b 8%, transparent);
}

/* Actions */
._providerActions_rrce0_276 {
  display: flex;
  gap: 6px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid color-mix(in srgb, var(--border) 60%, transparent);
}

._probeTime_rrce0_284 {
  margin-top: 8px;
  color: var(--text-tertiary);
  font-size: 11px;
}

._diagnosticsCard_rrce0_290 {
  padding: 16px 18px;
  border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--bg-primary) 96%, var(--bg-secondary));
}

._diagnosticsHeader_rrce0_297 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

._diagnosticsHeader_rrce0_297 h3 {
  margin: 0 0 4px;
  color: var(--text-primary);
  font-size: 14px;
}

._diagnosticsHeader_rrce0_297 p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.5;
}

._diagnosticsCountRow_rrce0_317,
._uncertainRow_rrce0_318 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

._diagnosticsCountRow_rrce0_317 {
  margin-top: 12px;
  padding: 8px 10px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--bg-secondary) 55%, transparent);
  color: var(--text-secondary);
  font-size: 12px;
}

._diagnosticsCountRow_rrce0_317 strong {
  color: var(--text-primary);
}

._uncertainList_rrce0_338 {
  margin-top: 8px;
}

._uncertainRow_rrce0_318 {
  padding: 6px 2px;
  border-bottom: 1px solid var(--border-default);
  color: var(--text-secondary);
  font-size: 12px;
}
._container_avm4p_1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 48px 24px;
  text-align: center;
}

._icon_avm4p_9 {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: var(--bg-secondary);
  color: var(--text-tertiary);
  margin-bottom: 16px;
}

._title_avm4p_21 {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 8px;
}

._description_avm4p_28 {
  font-size: 14px;
  color: var(--text-secondary);
  max-width: 280px;
  line-height: 1.5;
  margin-bottom: 16px;
}
._badge_qllyl_1 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
  border: 1px solid;
}

._badge--sm_qllyl_12 {
  padding: 2px 6px;
  font-size: 10px;
}

._badge--md_qllyl_17 {
  padding: 4px 10px;
  font-size: 12px;
}

._dot_qllyl_22 {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}

._label_qllyl_29 {
  line-height: 1;
}
._card_14b3b_1 {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 16px;
  transition: all 0.2s ease;
}

._card_14b3b_1:hover {
  border-color: var(--accent);
  box-shadow: var(--shadow-sm);
}

._header_14b3b_14 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

._avatar_14b3b_21 {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

._name_14b3b_29 {
  font-weight: 600;
  font-size: 15px;
  color: var(--text-primary);
}

._description_14b3b_35 {
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 12px;
  line-height: 1.4;

  /* 限制两行 */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

._meta_14b3b_48 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

._metaItem_14b3b_56 {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--text-tertiary);
}

._metaSeparator_14b3b_64 {
  color: var(--text-tertiary);
  font-size: 12px;
}

._statusLabel_14b3b_69 {
  font-size: 11px;
  font-weight: 500;
}

._footer_14b3b_74 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

._updateTime_14b3b_82 {
  font-size: 11px;
  color: var(--text-tertiary);
}

._actions_14b3b_87 {
  display: flex;
  gap: 6px;
}
._container_gx6xl_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
}

._header_gx6xl_7 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

._title_gx6xl_16 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
  flex-shrink: 0;
}

._headerActions_gx6xl_24 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._searchBox_gx6xl_30 {
  position: relative;
  display: flex;
  align-items: center;
}

._searchIcon_gx6xl_36 {
  position: absolute;
  left: 8px;
  color: var(--text-tertiary);
  pointer-events: none;
}

._searchInput_gx6xl_43 {
  width: 160px;
  padding: 5px 8px 5px 26px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text-primary);
  font-size: 12px;
  transition: all 0.2s ease;
}

._searchInput_gx6xl_43:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
}

._searchInput_gx6xl_43::placeholder {
  color: var(--text-tertiary);
}

._list_gx6xl_64 {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._noResults_gx6xl_73 {
  text-align: center;
  padding: 32px 0;
  color: var(--text-tertiary);
  font-size: 13px;
}
._tabBar_1iopw_1 {
  display: flex;
  padding: 0 24px;
  gap: 4px;
  border-bottom: 1px solid var(--border);
  background: var(--bg-primary);
  flex-shrink: 0;
  overflow-x: auto;
  scrollbar-width: thin;
}

._tab_1iopw_1 {
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition:
    color 0.2s ease,
    border-color 0.2s ease;
  margin-bottom: -1px;
  white-space: nowrap;
}

._tab_1iopw_1:hover {
  color: var(--text-primary);
}

._tabActive_1iopw_32 {
  color: var(--accent);
  border-bottom-color: var(--accent);
}

._tab_1iopw_1:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
}

._tabContent_1iopw_42 {
  flex: 1;
  overflow-y: auto;
}
._bar_1oc60_1 {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 12px 24px;
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

._item_1oc60_11 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._label_1oc60_17 {
  font-size: 12px;
  color: var(--text-tertiary);
}

._value_1oc60_22 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
}

._modelValue_1oc60_28 {
  /* 模型字段突出显示 */
  font-weight: 600;
}
._panel_mqft7_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* List view - header now uses SettingsPanelHeader */
._list_mqft7_8 {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._empty_mqft7_17 {
  color: var(--text-tertiary);
  font-size: 14px;
  text-align: center;
  padding: 32px 0;
}

._item_mqft7_24 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px;
  background: var(--bg-secondary);
  border-radius: 8px;
  border: 1px solid var(--border);
  transition: all 0.2s ease;
}

._item_mqft7_24:hover {
  border-color: var(--accent-color);
  background: var(--hover-bg);
}

._itemInfo_mqft7_40 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1;
}

._itemName_mqft7_48 {
  font-weight: 500;
  font-size: 14px;
  color: var(--text-primary);
}

._itemHeader_mqft7_54 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

._itemMeta_mqft7_60 {
  font-size: 12px;
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._itemActions_mqft7_68 {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
  margin-left: 12px;
}

/* Form Header with Tabs */
._formHeaderNew_mqft7_76 {
  flex-shrink: 0;
  border-bottom: 1px solid var(--border);
}

._formHeaderTop_mqft7_81 {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 24px;
}

._formTitle_mqft7_88 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

/* Tab Bar */
._tabBar_mqft7_96 {
  display: flex;
  padding: 0 24px;
  gap: 4px;
  border-bottom: 1px solid var(--border);
  background: var(--bg-primary);
}

._tab_mqft7_96 {
  /* 覆盖 Button 基础样式 */
  padding: 10px 16px !important;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  background: transparent !important;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0 !important;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-bottom: -1px;
}

._tab_mqft7_96:hover {
  color: var(--text-primary);
  background: var(--hover-bg) !important;
}

._tabActive_mqft7_124 {
  color: var(--accent-color);
  border-bottom-color: var(--accent-color);
}

/* Form Content */
._formContent_mqft7_130 {
  flex: 1;
  overflow-y: auto;
}

._tabPanel_mqft7_135 {
  min-width: 0;
  margin: 0;
  padding: 20px 24px;
  border: 0;
}

._readOnlyNotice_mqft7_142 {
  display: flex;
  margin-bottom: 16px;
  padding: 10px 12px;
  flex-direction: column;
  gap: 4px;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--bg-secondary);
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
}

._readOnlyNotice_mqft7_142 strong {
  color: var(--text-primary);
  font-weight: 600;
}

._identityHeader_mqft7_161 {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border);
}

._identityHeaderCopy_mqft7_170 {
  min-width: 0;
}

._identityHeaderTitle_mqft7_174 {
  color: var(--text-primary);
  font-size: 15px;
  font-weight: 600;
}

._identityHeaderHint_mqft7_180 {
  margin-top: 4px;
  color: var(--text-secondary);
  font-size: 13px;
}

/* Form Fields */
._field_mqft7_187 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

._fieldHeader_mqft7_194 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

._label_mqft7_200 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
}

._selectedCount_mqft7_206 {
  font-size: 12px;
  color: var(--text-tertiary);
}

._input_mqft7_211,
._textarea_mqft7_212 {
  padding: 10px 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
  font-family: inherit;
  transition: all 0.2s ease;
}

._input_mqft7_211:focus,
._textarea_mqft7_212:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
}

._input_mqft7_211::placeholder,
._textarea_mqft7_212::placeholder {
  color: var(--text-tertiary);
}

._textarea_mqft7_212 {
  resize: vertical;
  width: 100%;
  box-sizing: border-box;
  min-height: 100px;
}

._optimizeBtn_mqft7_242 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-color-light) !important;
  border: 1px solid var(--accent-color-medium);
  border-radius: 6px !important;
  padding: 4px 8px !important;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.2s ease;
}

._optimizeBtn_mqft7_242:hover:not(:disabled) {
  background: var(--accent-color-medium);
}

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

._fieldHint_mqft7_264 {
  font-size: 12px;
  color: var(--text-tertiary);
}

/* Advanced Config - Collapsible */
._advancedSection_mqft7_270 {
  margin-top: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
}

._advancedHeader_mqft7_277 {
  width: 100%;
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding: 12px 14px !important;
  background: var(--bg-secondary) !important;
  border: none;
  border-radius: 0 !important;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  transition: background-color 0.2s;
}

._advancedHeader_mqft7_277:hover {
  background: var(--bg-hover);
}

._advancedIcon_mqft7_297 {
  display: inline-flex;
  align-items: center;
  transition: transform 0.2s;
}

._advancedSummary_mqft7_303 {
  margin-left: auto;
  font-size: 12px;
  color: var(--text-tertiary);
  font-weight: 400;
}

._advancedContent_mqft7_310 {
  padding: 16px 14px;
  background: var(--bg-primary);
  border-top: 1px solid var(--border);
}

._checkboxLabel_mqft7_316 {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

/* 自定义 checkbox 样式 */
._checkboxLabel_mqft7_316 input[type='checkbox'] {
  appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid var(--border);
  border-radius: 4px;
  background: var(--bg-secondary);
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}

._checkboxLabel_mqft7_316 input[type='checkbox']:hover {
  border-color: var(--accent-color);
}

._checkboxLabel_mqft7_316 input[type='checkbox']:checked {
  background: var(--color-primary-solid);
  border-color: var(--accent-color);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
}

._sliderRow_mqft7_349 {
  display: flex;
  align-items: center;
  gap: 12px;
}

._slider_mqft7_349 {
  flex: 1;
  height: 4px;
  cursor: pointer;
}

._numberInput_mqft7_361 {
  width: 70px;
  padding: 6px 10px;
  font-size: 13px;
  text-align: center;
}

/* Segmented Control */
._segmentedControl_mqft7_369 {
  display: flex;
  gap: 0;
  background: var(--bg-secondary);
  border-radius: 8px;
  padding: 3px;
  border: 1px solid var(--border);
}

._segmentBtn_mqft7_378 {
  flex: 1;
  padding: 6px 12px;
  font-size: 13px;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.2s ease;
  font-weight: 500;
}

._segmentBtn_mqft7_378:hover {
  color: var(--text-primary);
  background: var(--bg-tertiary);
}

._segmentActive_mqft7_396 {
  background: var(--color-primary-solid);
  color: var(--text-on-primary);
  box-shadow: 0 1px 3px rgb(0 0 0 / 15%);
}

._segmentActive_mqft7_396:hover {
  background: var(--color-primary-solid);
  color: var(--text-on-primary);
}

/* Checkbox List */
._emptyState_mqft7_408 {
  font-size: 13px;
  color: var(--text-tertiary);
  padding: 16px;
  text-align: center;
  background: var(--bg-secondary);
  border-radius: 8px;
}

/*
 * 空态里的出路按钮：文案在上、按钮在下各占一行。空态本身是居中的说明文字，
 * 按钮跟在句尾会被读成句子的一部分（而它是个动作，不是对情况的描述）。
 */
._emptyStateAction_mqft7_421 {
  margin-top: 10px;
}

._checkboxList_mqft7_425 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._checkboxItem_mqft7_431 {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--bg-secondary);
  transition: all 0.2s ease;
}

._checkboxItem_mqft7_431:hover {
  border-color: var(--accent-color);
  background: var(--bg-primary);
}

._checkboxItemDisabled_mqft7_448 {
  opacity: 0.65;
  cursor: default;
}

._checkboxItemDisabled_mqft7_448:hover {
  border-color: var(--border);
  background: var(--bg-secondary);
}

/* 自定义 checkbox 样式 */
._checkboxItem_mqft7_431 input[type='checkbox'] {
  appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid var(--border);
  border-radius: 4px;
  background: var(--bg-secondary);
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  margin-top: 2px;
  flex-shrink: 0;
}

._checkboxItem_mqft7_431 input[type='checkbox']:hover {
  border-color: var(--accent-color);
}

._checkboxItem_mqft7_431 input[type='checkbox']:checked {
  background: var(--color-primary-solid);
  border-color: var(--accent-color);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
}

._checkboxItemInfo_mqft7_486 {
  flex: 1;
  min-width: 0;
}

._checkboxItemName_mqft7_491 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
  display: block;
}

._checkboxItemMeta_mqft7_498 {
  font-size: 12px;
  color: var(--text-secondary);
  margin-top: 2px;
  display: block;
}

._checkboxItemDesc_mqft7_505 {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-top: 2px;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Search Input */
._searchInput_mqft7_516 {
  width: 100%;
  padding: 10px 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 13px;
  margin-bottom: 12px;
  transition: all 0.2s ease;
}

._searchInput_mqft7_516:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
}

/* Selected Skills Chips */
._selectedSkills_mqft7_535 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}

._skillChip_mqft7_542 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px 4px 12px;
  background: var(--accent-color-light);
  border: 1px solid var(--accent-color-medium);
  border-radius: 16px;
  font-size: 12px;
}

._skillChipName_mqft7_553 {
  color: var(--accent-color);
  font-weight: 500;
}

._skillChipRemove_mqft7_558 {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  border: none;
  background: transparent !important;
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  border-radius: 50% !important;
  padding: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

._skillChipRemove_mqft7_558:hover {
  background: var(--accent-color-medium) !important;
  color: var(--accent-color);
}

/* Skill List */
._skillList_mqft7_582 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 280px;
  overflow-y: auto;
}

/* Channels Tab */
._channelListBlock_mqft7_591 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._channelCard_mqft7_597 {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
  min-width: 0;
}

._channelOrder_mqft7_608 {
  width: 24px;
  flex-shrink: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
  text-align: center;
}

._channelRow_mqft7_617 {
  flex: 1;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(160px, 1.4fr);
  gap: 10px;
  align-items: center;
}

@media (width <= 480px) {
  ._channelRow_mqft7_617 {
    grid-template-columns: 1fr;
  }
}

._channelRemoveBtn_mqft7_632 {
  min-width: 32px;
  padding: 0 10px !important;
  font-size: 18px;
  line-height: 1;
}

._entryActions_mqft7_639 {
  display: flex;
  align-items: center;
  gap: 2px;
}

._moveBtn_mqft7_645 {
  min-width: 26px;
  padding: 0 6px !important;
}

._lockedBadge_mqft7_650 {
  display: inline-flex;
  align-items: center;
  min-width: 20px;
  color: var(--text-secondary);
}

._channelCardDisabled_mqft7_657 {
  opacity: 0.65;
}

._srOnly_mqft7_661 {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

._channelOptions_mqft7_673 {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Workspace Tab */
._workspaceHeader_mqft7_683 {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 12px;
}

._workspaceTabNav_mqft7_689 {
  margin-bottom: 12px;
}

._workspaceEditor_mqft7_693 {
  width: 100%;
  min-height: 300px;
  padding: 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-primary);
  font-family: 'SF Mono', Monaco, Inconsolata, 'Fira Code', monospace;
  font-size: 13px;
  line-height: 1.6;
  resize: vertical;
  transition: all 0.2s ease;
}

._workspaceEditor_mqft7_693:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
}

/* Form Footer */
._formFooter_mqft7_715 {
  display: flex;
  gap: 10px;
  padding: 14px 24px;
  border-top: 1px solid var(--border);
  justify-content: flex-end;
  flex-shrink: 0;
  background: var(--bg-primary);
}

._spinning_mqft7_725 {
  animation: _spin_mqft7_725 1s linear infinite;
}

@keyframes _spin_mqft7_725 {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/* ─── Tool Limit Section ─── */
._toolLimitSection_mqft7_740 {
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
  margin-top: 16px;
}

._toolLimitHeader_mqft7_747 {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  background: var(--bg-secondary);
  border: none;
  border-radius: 0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  transition: background-color 0.2s;
}

._toolLimitHeader_mqft7_747:hover {
  background: var(--bg-hover);
}

._toolLimitIcon_mqft7_767 {
  display: inline-flex;
  transition: transform 0.2s;
  font-size: 10px;
  color: var(--text-tertiary);
}

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

._toolLimitTitle_mqft7_778 {
  display: flex;
  align-items: center;
  gap: 6px;
}

._toolLimitTitle_mqft7_778 svg {
  opacity: 0.5;
}

._toolLimitSummary_mqft7_788 {
  margin-left: auto;
  font-size: 12px;
  color: var(--text-tertiary);
  font-weight: 400;
  white-space: nowrap;
}

._toolLimitSummaryHasItems_mqft7_796 {
  color: var(--danger);
  font-weight: 500;
}

._toolLimitContent_mqft7_801 {
  padding: 14px;
  background: var(--bg-primary);
  border-top: 1px solid var(--border);
}

._toolLimitContentHidden_mqft7_807 {
  display: none;
}

._toolGroup_mqft7_811 {
  margin-bottom: 10px;
}

._toolGroup_mqft7_811:last-of-type {
  margin-bottom: 0;
}

._toolGroupHeader_mqft7_819 {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 0 10px 4px;
}

._toolItem_mqft7_828 {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition:
    background 0.15s,
    opacity 0.2s;
  font-size: 13px;
}

._toolItem_mqft7_828:hover {
  background: var(--bg-secondary);
}

._toolItemDisabled_mqft7_845 {
  opacity: 0.45;
}

._toolItemDisabled_mqft7_845:hover {
  opacity: 0.65;
}

._toolItem_mqft7_828 input[type='checkbox'] {
  appearance: none;
  width: 16px;
  height: 16px;
  border: 2px solid var(--border-light, var(--border));
  border-radius: 4px;
  background: var(--bg-secondary);
  cursor: pointer;
  transition: all 0.15s;
  flex-shrink: 0;
}

._toolItem_mqft7_828 input[type='checkbox']:checked {
  background: var(--color-primary-solid);
  border-color: var(--accent-color);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
}

._toolItemDisabled_mqft7_845 input[type='checkbox'] {
  border-color: var(--border);
}

._toolName_mqft7_878 {
  font-weight: 500;
  color: var(--text-primary);
  font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
  font-size: 12px;
}

._toolItemDisabled_mqft7_845 ._toolName_mqft7_878 {
  color: var(--text-tertiary);
}

._toolDesc_mqft7_889 {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-left: auto;
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._disabledTag_mqft7_899 {
  font-size: 11px;
  color: var(--danger);
  background: var(--danger-light, rgb(239 68 68 / 8%));
  padding: 1px 6px;
  border-radius: 3px;
  font-weight: 500;
  margin-left: auto;
  display: none;
}

._toolItemDisabled_mqft7_845 ._disabledTag_mqft7_899 {
  display: inline;
}

._toolItemDisabled_mqft7_845 ._toolDesc_mqft7_889 {
  display: none;
}

._toolLimitHint_mqft7_918 {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-top: 12px;
  line-height: 1.6;
}

._toolLimitWarning_mqft7_925 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 12px;
  background: var(--warning-light, rgb(245 158 11 / 8%));
  border: 1px solid rgb(245 158 11 / 15%);
  border-radius: 6px;
  font-size: 12px;
  color: var(--warning, #f59e0b);
  line-height: 1.5;
  margin-top: 10px;
}

._toolLimitWarning_mqft7_925 svg {
  flex-shrink: 0;
  margin-top: 1px;
}

._toolLimitDanger_mqft7_944 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 12px;
  background: var(--danger-light, rgb(239 68 68 / 8%));
  border: 1px solid var(--danger-medium, rgb(239 68 68 / 15%));
  border-radius: 6px;
  font-size: 12px;
  color: var(--danger);
  line-height: 1.5;
  margin-top: 10px;
}

._toolLimitDanger_mqft7_944 svg {
  flex-shrink: 0;
  margin-top: 1px;
}

._inlineError_mqft7_963 {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  background: var(--color-error-faint);
  border: 1px solid var(--color-error-strong);
  border-radius: 6px;
  color: var(--color-error);
  font-size: 13px;
  line-height: 1.4;
  margin-top: 6px;
}

._inlineError_mqft7_963 svg {
  flex-shrink: 0;
}
._layout_xhglq_1 {
  display: grid;
  gap: 14px;
}

._loadingState_xhglq_6,
._errorState_xhglq_7 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 10px;
  color: var(--text-secondary);
  background: var(--bg-secondary);
  font-size: 13px;
}

._errorState_xhglq_7 {
  color: var(--error-color, #dc2626);
}

._card_xhglq_23 {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--bg-primary);
}

._cardHeader_xhglq_30 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
}

._cardHeader_xhglq_30 h3,
._cardHeader_xhglq_30 p {
  margin: 0;
}

._cardHeader_xhglq_30 h3 {
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 650;
}

._cardHeader_xhglq_30 p {
  margin-top: 4px;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.5;
}

._headingRow_xhglq_57 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._index_xhglq_63 {
  width: 21px;
  height: 21px;
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  color: var(--accent-color);
  background: var(--accent-color-light);
  font-size: 11px;
  font-weight: 700;
}

._cardBody_xhglq_76 {
  padding: 14px 16px;
}

._installationMeta_xhglq_80 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  margin-bottom: 12px;
  color: var(--text-secondary);
  font-size: 12px;
}

._installationMeta_xhglq_80 strong {
  color: var(--text-primary);
  font-size: 13px;
}

._capabilityGrid_xhglq_95 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}

._probeWarning_xhglq_101 {
  display: flex;
  gap: 6px;
  align-items: flex-start;
  margin-top: 10px;
  padding: 8px 10px;
  color: var(--warning-color, #d97706);
  background: color-mix(in srgb, var(--warning-color, #d97706) 9%, transparent);
}

._capabilityItem_xhglq_111 {
  padding: 9px 10px;
  border-radius: 8px;
  background: var(--bg-secondary);
}

._capabilityTop_xhglq_117 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--text-primary);
  font-size: 12px;
}

._supported_xhglq_126,
._unsupported_xhglq_127 {
  padding: 1px 6px;
  border-radius: 999px;
  font-size: 10px;
}

._supported_xhglq_126 {
  color: var(--success-color, #16a34a);
  background: color-mix(in srgb, var(--success-color, #16a34a) 10%, transparent);
}

._unsupported_xhglq_127 {
  color: var(--error-color, #dc2626);
  background: color-mix(in srgb, var(--error-color, #dc2626) 9%, transparent);
}

._enforcement_xhglq_143 {
  display: block;
  margin-top: 5px;
  color: var(--text-tertiary);
  font-size: 11px;
}

._kai-enforced_xhglq_150 {
  color: var(--success-color, #16a34a);
}

._provider-enforced_xhglq_154 {
  color: var(--info-color, #2563eb);
}

._unverified_xhglq_158 {
  color: var(--warning-color, #d97706);
}

._blockerSummary_xhglq_162,
._saveError_xhglq_163,
._saveSuccess_xhglq_164,
._noBlockers_xhglq_165 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.5;
}

._diagnostic_xhglq_174 {
  margin-top: 10px;
  padding: 8px 10px;
  color: var(--warning-color, #d97706);
  background: color-mix(in srgb, var(--warning-color, #d97706) 9%, transparent);
  font-size: 12px;
  line-height: 1.5;
}

._diagnostic_xhglq_174 summary {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-weight: 600;
}

._diagnostic_xhglq_174 > span {
  display: block;
  margin-top: 7px;
}

._policyList_xhglq_196 {
  display: grid;
}

._policyRow_xhglq_200 {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(280px, 1.35fr);
  align-items: center;
  gap: 16px;
  padding: 11px 0;
  border-bottom: 1px solid var(--border);
}

._policyCopy_xhglq_209 {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

._policyCopy_xhglq_209 strong {
  color: var(--text-primary);
  font-size: 13px;
}

._policyCopy_xhglq_209 span {
  color: var(--text-secondary);
  font-size: 11px;
}

._segmented_xhglq_226 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 3px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-secondary);
}

._segment_xhglq_226 {
  min-height: 30px;
  padding: 0 6px;
  border: 0;
  border-radius: 6px;
  color: var(--text-secondary);
  background: transparent;
  cursor: pointer;
  font-size: 11px;
}

._segment_xhglq_226:hover {
  color: var(--text-primary);
}

._segmentActive_xhglq_250 {
  color: var(--accent-color);
  background: var(--bg-primary);
  box-shadow: 0 1px 4px rgb(15 23 42 / 9%);
  font-weight: 600;
}

._workspaceEditor_xhglq_257 {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(220px, 1.5fr);
  gap: 10px;
  margin-top: 12px;
}

._workspaceEditor_xhglq_257 label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  color: var(--text-secondary);
  font-size: 12px;
}

._workspaceEditor_xhglq_257 select,
._workspaceEditor_xhglq_257 input {
  width: 100%;
  min-height: 34px;
  padding: 6px 9px;
  border: 1px solid var(--border);
  border-radius: 7px;
  color: var(--text-primary);
  background: var(--bg-secondary);
  font: inherit;
  font-size: 12px;
}

._fieldError_xhglq_285 {
  color: var(--error-color, #dc2626);
  font-size: 11px;
}

._workspaceEditor_xhglq_257 select:focus-visible,
._workspaceEditor_xhglq_257 input:focus-visible,
._segment_xhglq_226:focus-visible,
._effectDetails_xhglq_293 summary:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

._effectiveList_xhglq_298 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

._effectiveRow_xhglq_304 {
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-secondary);
}

._effectiveRow_xhglq_304 p {
  margin: 6px 0 0;
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.45;
}

._effectiveHeader_xhglq_318,
._effectiveMeta_xhglq_319 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

._effectiveHeader_xhglq_318 {
  color: var(--text-primary);
  font-size: 12px;
}

._effectiveMeta_xhglq_319,
._sourceList_xhglq_332 {
  margin-top: 6px;
  color: var(--text-tertiary);
  font-size: 10.5px;
}

._decisionAllow_xhglq_338,
._decisionAsk_xhglq_339,
._decisionDeny_xhglq_340 {
  font-weight: 650;
}

._decisionAllow_xhglq_338 {
  color: var(--success-color, #16a34a);
}

._decisionAsk_xhglq_339 {
  color: var(--warning-color, #d97706);
}

._decisionDeny_xhglq_340 {
  color: var(--error-color, #dc2626);
}

._recommendation_xhglq_356 {
  color: var(--text-primary) !important;
}

._effectDetails_xhglq_293 {
  margin-top: 8px;
  color: var(--text-secondary);
  font-size: 11px;
}

._effectDetails_xhglq_293 summary {
  cursor: pointer;
}

._effectDetails_xhglq_293 ul {
  display: grid;
  gap: 4px;
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
}

._effectDetails_xhglq_293 li {
  display: grid;
  grid-template-columns: minmax(80px, 1fr) auto auto;
  gap: 8px;
  align-items: center;
}

._effectDetails_xhglq_293 li span:nth-child(n + 4) {
  grid-column: 1 / -1;
  color: var(--text-tertiary);
}

._saveArea_xhglq_390 {
  display: grid;
  gap: 9px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-primary);
}

._blockerSummary_xhglq_162 {
  padding: 9px 10px;
  color: var(--warning-color, #d97706);
  background: color-mix(in srgb, var(--warning-color, #d97706) 9%, transparent);
}

._blockerSummary_xhglq_162 ul {
  margin: 4px 0 0;
  padding-left: 16px;
}

._saveError_xhglq_163 {
  padding: 8px 10px;
  color: var(--error-color, #dc2626);
  background: color-mix(in srgb, var(--error-color, #dc2626) 8%, transparent);
}

._overwriteWarning_xhglq_416 {
  padding: 8px 10px;
  color: var(--error-color, #dc2626);
  background: color-mix(in srgb, var(--error-color, #dc2626) 8%, transparent);
}

._saveSuccess_xhglq_164,
._noBlockers_xhglq_165 {
  padding: 8px 10px;
  color: var(--success-color, #16a34a);
  background: color-mix(in srgb, var(--success-color, #16a34a) 8%, transparent);
}

._saveActions_xhglq_429 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

._saveStatus_xhglq_437 {
  margin-right: auto;
  color: var(--text-secondary);
  font-size: 11px;
}

._spin_xhglq_443 {
  animation: _spin_xhglq_443 0.8s linear infinite;
}

@keyframes _spin_xhglq_443 {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  ._spin_xhglq_443 {
    animation: none;
  }
}

@media (width <= 760px) {
  ._policyRow_xhglq_200,
  ._workspaceEditor_xhglq_257,
  ._effectiveList_xhglq_298 {
    grid-template-columns: 1fr;
  }

  ._policyRow_xhglq_200 {
    gap: 9px;
  }

  ._cardHeader_xhglq_30 {
    flex-direction: column;
  }
}
._tabPanel_eqb47_1 {
  display: flex;
  flex-direction: column;
  gap: 0;
  height: 100%;
  padding: 20px 24px;
}

._workspaceHeader_eqb47_9 {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 12px;
}

._workspaceFileTabs_eqb47_15 {
  display: flex;
  gap: 4px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

._fileTab_eqb47_22 {
  /* secondary 变体在未选中时是透明背景+边框，颜色足够清晰 */
}

._fileContext_eqb47_26 {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}

._fileContextHeader_eqb47_32 {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

._fileContextHeader_eqb47_32 strong {
  flex: 0 0 auto;
  color: var(--text-primary);
  font-size: 13px;
}

._fileContextHeader_eqb47_32 span {
  min-width: 0;
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.45;
}

._ruleBoundary_eqb47_52 {
  margin: 0;
  padding: 8px 10px;
  border-left: 2px solid var(--color-warning);
  background: color-mix(in srgb, var(--color-warning) 8%, transparent);
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.5;
}

._workspaceEditor_eqb47_62 {
  flex: 1;
  width: 100%;
  min-height: 300px;
  padding: 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-primary);
  font-family: 'SF Mono', Monaco, Inconsolata, 'Fira Code', monospace;
  font-size: 13px;
  line-height: 1.6;
  resize: vertical;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

._workspaceEditor_eqb47_62:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
}
._header_1weed_1 {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 24px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

._workspaceError_1weed_10 {
  margin: 0;
  padding: 10px 24px;
  border-top: 1px solid color-mix(in srgb, var(--color-danger) 28%, var(--border));
  background: color-mix(in srgb, var(--color-danger) 8%, var(--bg-primary));
  color: var(--color-danger);
  font-size: 12px;
  line-height: 1.5;
}
._panel_9f3sb_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

._body_9f3sb_8 {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

._bodyPadded_9f3sb_14 {
  padding: 24px;
}

._footer_9f3sb_18 {
  display: flex;
  gap: 10px;
  padding: 14px 24px;
  border-top: 1px solid var(--border);
  justify-content: flex-end;
  flex-shrink: 0;
}
._panel_1ho48_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
}

._content_1ho48_7 {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
}

._section_1ho48_13 {
  margin-bottom: 32px;
}

._engineList_1ho48_17 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}

._engineItem_1ho48_24 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
  transition: all 0.2s ease;
}

._engineItem_1ho48_24:hover {
  border-color: var(--accent-color);
  background: var(--hover-bg);
}

._engineInfo_1ho48_40 {
  flex: 1;
}

._engineName_1ho48_44 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: 4px;
}

._engineUrl_1ho48_53 {
  font-size: 13px;
  color: var(--text-secondary);
  font-family: monospace;
}

._badge_1ho48_59 {
  font-size: 11px;
  padding: 2px 6px;
  background: var(--color-primary-solid);
  color: var(--text-on-primary);
  border-radius: 4px;
}

._engineActions_1ho48_67 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._defaultBadge_1ho48_73 {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--accent-color);
  font-weight: 500;
}

._checkboxField_1ho48_82 {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

._checkboxField_1ho48_82 input {
  cursor: pointer;
}

._editorBackdrop_1ho48_93 {
  position: fixed;
  inset: 0;
  background: var(--overlay-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

._editorModal_1ho48_103 {
  background: var(--bg-primary);
  border-radius: 12px;
  width: 500px;
  max-width: 90vw;
  height: auto;
  overflow: hidden;
}

._editorTitle_1ho48_112 {
  margin: 0;
  color: var(--text-primary);
  font-size: 18px;
  font-weight: 600;
}

._editorBody_1ho48_119 {
  padding: 24px;
  overflow: visible;
}

._field_1ho48_124 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}

._field_1ho48_124 span {
  font-size: 14px;
  color: var(--text-secondary);
}

._field_1ho48_124 input {
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-size: 14px;
  transition: all 0.2s ease;
}

._field_1ho48_124 input:focus {
  outline: none;
  border-color: var(--accent-color);
}

._hint_1ho48_151 {
  font-size: 12px;
  color: var(--text-tertiary);
}

._editorActions_1ho48_156 {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}
._panel_18y2c_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
}

._content_18y2c_7 {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

._readOnlyBanner_18y2c_16 {
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--accent-color) 24%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--accent-color) 8%, transparent);
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
}

._summaryCard_18y2c_26 {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--bg-primary);
}

._summaryHeader_18y2c_36 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

._summaryTitle_18y2c_43 {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
}

._summaryDescription_18y2c_49 {
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-secondary);
}

._statusBadge_18y2c_56 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

._status-enabled_18y2c_67 {
  background: color-mix(in srgb, var(--color-success) 14%, transparent);
  color: var(--color-success);
}

._status-disabled_18y2c_72 {
  background: color-mix(in srgb, var(--text-secondary) 12%, transparent);
  color: var(--text-secondary);
}

._status-enabling_18y2c_77,
._status-restoring_18y2c_78,
._status-rotating_18y2c_79,
._status-stopping_18y2c_80 {
  background: var(--color-info-light);
  color: var(--color-info);
}

._status-error_18y2c_85 {
  background: color-mix(in srgb, var(--color-danger) 12%, transparent);
  color: var(--color-danger);
}

._metaGrid_18y2c_90 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

._metaItem_18y2c_96 {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

._metaLabel_18y2c_102 {
  font-size: 12px;
  color: var(--text-secondary);
}

._metaValue_18y2c_107 {
  font-size: 13px;
  color: var(--text-primary);
}

._errorBanner_18y2c_112 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--color-danger) 22%, transparent);
  background: color-mix(in srgb, var(--color-danger) 8%, transparent);
}

._errorTitle_18y2c_122 {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-danger);
}

._errorText_18y2c_128 {
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-primary);
}

._configCard_18y2c_134 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--bg-primary);
}

._configText_18y2c_145 {
  min-width: 0;
}

._configTitle_18y2c_149 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

._configDescription_18y2c_155,
._configError_18y2c_156 {
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.5;
}

._configDescription_18y2c_155 {
  color: var(--text-secondary);
}

._configError_18y2c_156 {
  grid-column: 1 / -1;
  color: var(--color-danger);
}

._configControl_18y2c_171 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._numberInput_18y2c_177 {
  width: 88px;
  height: 32px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-size: 13px;
  outline: none;
}

._numberInput_18y2c_177:focus {
  border-color: var(--accent-color);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-color) 18%, transparent);
}

._numberInput_18y2c_177:disabled {
  opacity: 0.7;
}

._inputInvalid_18y2c_198 {
  border-color: var(--color-danger);
}

._switch_18y2c_202 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}

._switch_18y2c_202 input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

._switchTrack_18y2c_216 {
  position: relative;
  width: 44px;
  height: 24px;
  border-radius: 999px;
  background: var(--border);
  transition: background 0.2s ease;
  flex-shrink: 0;
}

._switchThumb_18y2c_226 {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgb(0 0 0 / 18%);
  transition: transform 0.2s ease;
}

._switch_18y2c_202 input:checked + ._switchTrack_18y2c_216 {
  background: var(--color-primary-solid);
}

._switch_18y2c_202 input:checked + ._switchTrack_18y2c_216 ._switchThumb_18y2c_226 {
  transform: translateX(20px);
}

._switch_18y2c_202 input:disabled + ._switchTrack_18y2c_216 {
  opacity: 0.6;
}

._switchLabel_18y2c_250 {
  min-width: 28px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
}

._activeState_18y2c_257 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

._qrCode_18y2c_264,
._qrPlaceholder_18y2c_265 {
  width: 200px;
  height: 200px;
  border-radius: 12px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

._qrCode_18y2c_264 {
  border: 1px solid var(--border);
}

._qrPlaceholder_18y2c_265 {
  color: var(--text-secondary);
  font-size: 13px;
}

._linkBlock_18y2c_284 {
  width: 100%;
  max-width: 520px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

._url_18y2c_293,
._pendingText_18y2c_294 {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--bg-primary);
  color: var(--text-primary);
  font-size: 13px;
  line-height: 1.5;
  word-break: break-all;
}

._url_18y2c_293 {
  user-select: text;
}

._pendingText_18y2c_294 {
  color: var(--text-secondary);
}

._actions_18y2c_315 {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
}

._leftGroup_18y2c_322 {
  display: flex;
  gap: 8px;
}

._metaRow_18y2c_327 {
  width: 100%;
  max-width: 520px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
  color: var(--text-secondary);
}

._sectionLabel_18y2c_337 {
  width: 100%;
  max-width: 520px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}

._addressList_18y2c_348,
._clientList_18y2c_349 {
  width: 100%;
  max-width: 520px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

._addressItem_18y2c_357,
._clientItem_18y2c_358 {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--bg-primary);
  font-size: 13px;
}

._addressItem_18y2c_357:hover,
._clientItem_18y2c_358:hover {
  background: var(--bg-tertiary, var(--bg-secondary));
}

._addressItem_18y2c_357 {
  justify-content: space-between;
}

._clientItem_18y2c_358 {
  justify-content: flex-start;
}

._addressRecommended_18y2c_382 {
  border-color: var(--accent-color, #4f46e5);
}

._addressIp_18y2c_386,
._clientIp_18y2c_387 {
  font-family: 'SF Mono', Menlo, Monaco, 'Courier New', monospace;
  font-size: 13px;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 6px;
}

._clientIp_18y2c_387 {
  min-width: 0;
  flex: 1;
}

._recommendedBadge_18y2c_401 {
  display: inline-flex;
  align-items: center;
  color: var(--color-warning);
}

._addressLabel_18y2c_407,
._clientTime_18y2c_408 {
  font-size: 12px;
  color: var(--text-secondary);
  white-space: nowrap;
}

@media (width <= 720px) {
  ._configCard_18y2c_134 {
    grid-template-columns: 1fr;
  }

  ._configControl_18y2c_171 {
    justify-content: flex-start;
  }

  ._metaRow_18y2c_327 {
    flex-direction: column;
  }
}
._section_1kxxs_1 {
  display: flex;
  flex-direction: column;
  gap: 0;
}

._trigger_1kxxs_7 {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  border: none;
  background: none;
  color: var(--text-tertiary);
  font-size: 12.5px;
  font-family: inherit;
  cursor: pointer;
  transition: color 0.15s ease;
}

._trigger_1kxxs_7:hover {
  color: var(--text-primary);
}

._trigger_1kxxs_7:focus-visible,
._categoryButton_1kxxs_28:focus-visible,
._textarea_1kxxs_29:focus-visible,
._contactInput_1kxxs_30:focus-visible {
  outline: 2px solid var(--color-primary, var(--accent-color));
  outline-offset: 2px;
}

._triggerText_1kxxs_35 {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
}

._triggerIcon_1kxxs_42 {
  flex-shrink: 0;
  transition: transform 0.18s ease;
}

._triggerIconOpen_1kxxs_47 {
  transform: rotate(180deg);
}

._inlineHeader_1kxxs_51 {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding-bottom: 2px;
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 600;
}

._form_1kxxs_61 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 8px;
}

._formInline_1kxxs_68 {
  padding-top: 10px;
}

._messageField_1kxxs_72,
._messagePrompt_1kxxs_73 {
  display: flex;
  flex-direction: column;
}

._messageField_1kxxs_72 {
  gap: 7px;
}

._messagePrompt_1kxxs_73 {
  gap: 3px;
}

._messageLabel_1kxxs_86 {
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 600;
}

._messageHint_1kxxs_92 {
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.5;
}

._textarea_1kxxs_29,
._contactInput_1kxxs_30 {
  width: 100%;
  padding: 10px 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color, var(--border));
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 13px;
  font-family: inherit;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}

._textarea_1kxxs_29 {
  min-height: 92px;
  resize: vertical;
  line-height: 1.5;
}

._textarea_1kxxs_29::placeholder,
._contactInput_1kxxs_30::placeholder {
  color: var(--text-tertiary);
}

._textarea_1kxxs_29:focus,
._contactInput_1kxxs_30:focus {
  background: var(--bg-primary);
  border-color: var(--color-primary, var(--accent-color));
}

._textarea_1kxxs_29:disabled,
._contactInput_1kxxs_30:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

._controlsRow_1kxxs_136 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

._categoryGroup_1kxxs_143 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

._categoryButton_1kxxs_28 {
  padding: 5px 11px;
  border: 1px solid var(--border-color, var(--border));
  border-radius: 999px;
  background: transparent;
  color: var(--text-secondary);
  font-size: 12px;
  font-family: inherit;
  cursor: pointer;
  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

._categoryButton_1kxxs_28:hover:not(:disabled) {
  background: var(--hover-bg, var(--bg-hover));
  color: var(--text-primary);
}

._categoryButtonActive_1kxxs_169 {
  border-color: var(--color-primary, var(--accent-color));
  background: var(--color-primary-light, var(--accent-color-light));
  color: var(--color-primary, var(--accent-color));
}

._categoryButton_1kxxs_28:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

._contactToggle_1kxxs_180 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  color: var(--text-secondary);
  font-size: 13px;
  cursor: pointer;
  user-select: none;
}

._contactToggle_1kxxs_180 input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: var(--color-primary, var(--accent-color));
}

._successMessage_1kxxs_198 {
  color: var(--color-success, var(--success));
  font-size: 13px;
  font-weight: 500;
}

._errorMessage_1kxxs_204 {
  color: var(--color-error, var(--error));
  font-size: 13px;
  font-weight: 500;
}

._hiddenLabel_1kxxs_210 {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  ._triggerIcon_1kxxs_42 {
    transition: none;
  }
}

@media (width <= 720px) {
  ._controlsRow_1kxxs_136 {
    align-items: stretch;
    flex-direction: column;
  }
}
._panel_9meib_1 {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

._content_9meib_9 {
  flex: 1;
  overflow-y: auto;
  padding: 18px 24px 22px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

._identityCard_9meib_18 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 20px;
  border: 1px solid var(--border-color, var(--border));
  border-radius: 16px;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--surface-elevated, var(--bg-secondary)) 88%, transparent),
    transparent
  );
}

._identityMain_9meib_33 {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

._brandMark_9meib_40 {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border-radius: 13px;
  object-fit: cover;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--text-primary) 14%, transparent);
}

._identityText_9meib_49 {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

._productName_9meib_56 {
  color: var(--text-primary);
  font-size: 20px;
  font-weight: 650;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

._version_9meib_64 {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  min-height: 22px;
  background: none;
  border: none;
  border-radius: 6px;
  padding: 2px 0;
  font-size: 12.5px;
  line-height: 1;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-variant-numeric: tabular-nums;
  color: var(--text-tertiary);
  cursor: pointer;
  white-space: nowrap;
  user-select: none;
  transition: color 0.15s ease;
}

._version_9meib_64:hover {
  color: var(--text-primary);
}

._version_9meib_64:focus-visible,
._releaseNotesLink_9meib_91:focus-visible,
._historyToggle_9meib_92:focus-visible,
._sectionHeader_9meib_93:focus-visible {
  outline: 2px solid var(--color-primary, var(--accent-color));
  outline-offset: 2px;
}

._copiedHint_9meib_98 {
  font-size: 11px;
  color: var(--color-success, var(--success));
  font-family: inherit;
}

._updateRow_9meib_104 {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 20px;
}

._updateColumn_9meib_111 {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 12px;
}

._updateBelowIdentity_9meib_118 {
  display: flex;
  width: 100%;
}

._updateActions_9meib_123 {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  min-width: 220px;
  max-width: 320px;
  flex-shrink: 0;
}

._updateActionRow_9meib_133 {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

._downloadProgressBlock_9meib_140 {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 8px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--color-info) 22%, transparent);
  border-radius: 14px;
  background: var(--color-info-light);
}

._downloadProgressHeader_9meib_151 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--text-primary);
  font-size: 13px;
  line-height: 1.5;
}

._downloadProgressHeader_9meib_151 strong {
  font-variant-numeric: tabular-nums;
}

._downloadProgressTrack_9meib_165 {
  width: 100%;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--border-color, var(--border)) 72%, transparent);
}

._downloadProgressValue_9meib_173 {
  height: 100%;
  border-radius: inherit;
  background: var(--color-info);
  transition: width 0.2s ease;
}

._downloadProgressMeta_9meib_180 {
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.4;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

._updateAvailableBlock_9meib_188 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--color-primary, var(--accent-color)) 22%, transparent);
  border-radius: 14px;
  background: color-mix(in srgb, var(--color-primary, var(--accent-color)) 7%, transparent);
}

._updateAvailableHeader_9meib_198 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

._newVersionLabel_9meib_205 {
  min-width: 0;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
  color: var(--text-primary);
}

._updateNotesPreview_9meib_213 {
  width: 100%;
  border-radius: 10px;
  padding: 11px 13px;
  background: var(--surface-elevated, transparent);
  color: var(--text-primary);
}

._updateNotesTitle_9meib_221 {
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary);
}

._updateNotesList_9meib_228 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding-left: 16px;
  font-size: 12.5px;
  line-height: 1.6;
}

._updateNotesList_9meib_228 li {
  padding-left: 2px;
}

._releaseNotesLink_9meib_91 {
  margin-top: 8px;
  padding: 0;
  border: none;
  background: none;
  color: var(--color-primary, var(--accent-color));
  font-size: 12px;
  line-height: 1.5;
  cursor: pointer;
}

._releaseNotesLink_9meib_91:hover {
  text-decoration: underline;
}

._metaLine_9meib_257 {
  width: 100%;
  font-size: 12px;
  line-height: 1.5;
  text-align: right;
}

._metaSuccess_9meib_264 {
  color: var(--color-success, #16a34a);
}

._metaError_9meib_268 {
  max-width: 100%;
  color: var(--color-error, #dc2626);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  overflow-wrap: break-word;
}

._releaseDivider_9meib_278 {
  height: 1px;
  background: var(--border-color, var(--border));
  opacity: 0.55;
}

._releaseNotes_9meib_91 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._releaseTitle_9meib_290 {
  font-size: 13px;
  font-weight: 600;
  margin: 2px 0 4px;
  color: var(--text-secondary);
}

._section_9meib_93 {
  border-bottom: 1px solid color-mix(in srgb, var(--border-color, var(--border)) 72%, transparent);
  overflow: hidden;
}

._latestSection_9meib_302 {
  border: 1px solid var(--border-color, var(--border));
  border-radius: 12px;
  background: var(--surface-elevated, transparent);
}

._sectionHeader_9meib_93 {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 2px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 13px;
  font-weight: 560;
  color: var(--text-secondary);
  text-align: left;
  transition:
    color 0.15s ease,
    background 0.15s ease;
}

._latestSection_9meib_302 ._sectionHeader_9meib_93 {
  padding: 12px 14px;
  color: var(--text-primary);
  font-weight: 600;
}

._sectionHeader_9meib_93:hover {
  color: var(--text-primary);
}

._latestSection_9meib_302 ._sectionHeader_9meib_93:hover {
  background: var(--hover-bg, var(--bg-hover));
}

._sectionBody_9meib_340 {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease;
}

._sectionBodyOpen_9meib_346 {
  max-height: 2000px;
}

._sectionBody_9meib_340 > * {
  padding: 0 2px 14px;
}

._latestSection_9meib_302 ._sectionBody_9meib_340 > * {
  padding: 0 14px 14px;
}

._historyToggle_9meib_92 {
  width: fit-content;
  margin-top: 4px;
  padding: 4px 0;
  border: none;
  background: none;
  color: var(--text-tertiary);
  font-size: 12px;
  font-family: inherit;
  line-height: 1.5;
  cursor: pointer;
  transition: color 0.15s ease;
}

._historyToggle_9meib_92:hover {
  color: var(--text-primary);
}

._footerArea_9meib_376 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 2px;
}

._techStack_9meib_383 {
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-tertiary);
  opacity: 0.82;
}

._websiteLink_9meib_390 {
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-tertiary);
  opacity: 0.82;
  text-decoration: none;
  transition:
    color 0.15s ease,
    opacity 0.15s ease;
}

._websiteLink_9meib_390:hover {
  color: var(--color-primary, var(--accent-color));
  opacity: 1;
}

._spinner_9meib_406 {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid var(--border-color, var(--border));
  border-top-color: var(--color-info);
  border-radius: 50%;
  animation: _spin_9meib_406 0.6s linear infinite;
  flex-shrink: 0;
}

@keyframes _spin_9meib_406 {
  to {
    transform: rotate(360deg);
  }
}

._metaUpdate_9meib_423 {
  color: var(--color-primary, var(--accent-color));
  font-weight: 500;
}

@media (prefers-reduced-motion: reduce) {
  ._spinner_9meib_406 {
    animation: none;
  }

  ._sectionBody_9meib_340,
  ._downloadProgressValue_9meib_173 {
    transition: none;
  }
}

@media (width <= 720px) {
  ._identityCard_9meib_18 {
    align-items: stretch;
    flex-direction: column;
  }

  ._updateRow_9meib_104 {
    justify-content: flex-start;
  }

  ._updateBelowIdentity_9meib_118 {
    align-items: stretch;
    flex-direction: column;
  }

  ._updateActions_9meib_123 {
    min-width: 0;
    max-width: none;
    align-items: stretch;
  }

  ._updateAvailableHeader_9meib_198 {
    align-items: flex-start;
    flex-direction: column;
  }

  ._metaLine_9meib_257 {
    text-align: left;
  }
}
._container_90563_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

._progress_90563_8 {
  padding: 12px 24px;
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--border);
  font-size: 13px;
  color: var(--text-secondary);
  display: flex;
  gap: 8px;
}

._empty_90563_18 {
  flex: 1;
  text-align: center;
  padding: 60px 20px;
  color: var(--text-secondary);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

._empty_90563_18 p {
  margin: 0;
}

._hint_90563_33 {
  margin-top: 8px;
  font-size: 13px;
  color: var(--text-tertiary);
}

/* ── Task List ── */

._taskList_90563_41 {
  flex: 1;
  overflow-y: auto;
  padding: 12px 24px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._taskItem_90563_50 {
  display: flex;
  flex-direction: column;
  padding: 12px 16px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 10px;
  transition: all 0.15s ease;
  cursor: pointer;
  gap: 6px;
}

._taskItem_90563_50:hover {
  border-color: var(--accent-color);
  background: var(--hover-bg);
}

._taskItem_90563_50:focus-visible {
  outline: 2px solid var(--accent-color);
  outline-offset: 2px;
}

._taskItem_90563_50._disabled_90563_72 {
  opacity: 0.5;
}

/* ── Task Header: name + switch ── */

._taskHeader_90563_78 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

._taskName_90563_85 {
  font-weight: 500;
  font-size: 14px;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

/* ── Task Meta: type tag + cron + target ── */

._taskMeta_90563_97 {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--text-secondary);
  flex-wrap: wrap;
}

._typeTag_90563_106 {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 1px 6px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 500;
  background: var(--accent-color-light);
  color: var(--accent-color);
}

._target_90563_118 {
  font-size: 11px;
  color: var(--text-tertiary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 160px;
}

._cronBadge_90563_127 {
  font-family: 'SF Mono', Monaco, Consolas, monospace;
  font-size: 11px;
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--bg-tertiary, var(--bg-secondary));
  color: var(--text-secondary);
}

._taskMessage_90563_136 {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── Task Footer: time + action buttons ── */

._taskFooter_90563_147 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

._taskTime_90563_154 {
  font-size: 11px;
  color: var(--text-tertiary);
}

._taskActions_90563_159 {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* ── Execution History ── */

._historyHeader_90563_167 {
  padding: 16px 24px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

._backButton_90563_176 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-secondary);
  color: var(--text-secondary);
  font-size: 13px;
  cursor: pointer;
  transition: all 0.15s ease;
}

._backButton_90563_176:hover {
  border-color: var(--accent-color);
  color: var(--text-primary);
  background: var(--hover-bg);
}

._historyTitleBlock_90563_197 {
  min-width: 0;
}

._historyLabel_90563_201 {
  margin-bottom: 2px;
  font-size: 12px;
  color: var(--text-tertiary);
}

._historyTitleBlock_90563_197 h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._executionList_90563_217 {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._executionItem_90563_226 {
  padding: 14px 16px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
}

._executionHeader_90563_233 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

._executionSummary_90563_240 {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  color: var(--text-secondary);
  font-size: 12px;
}

._executionStatus_90563_250 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
}

._executionStatus_90563_250[data-status='success'] {
  background: rgb(34 197 94 / 12%);
  color: #22c55e;
}

._executionStatus_90563_250[data-status='failed'] {
  background: rgb(239 68 68 / 12%);
  color: #ef4444;
}

._executionStatus_90563_250[data-status='partial'] {
  background: rgb(245 158 11 / 12%);
  color: #d97706;
}

._executionStatus_90563_250[data-status='running'] {
  background: rgb(59 130 246 / 12%);
  color: #3b82f6;
}

._runningDot_90563_280 {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentcolor;
  animation: _schedulerPulse_90563_1 1s ease-in-out infinite;
}

._executionTime_90563_288,
._executionDuration_90563_289 {
  color: var(--text-tertiary);
}

._expandButton_90563_293 {
  border: none;
  background: transparent;
  color: var(--accent-color);
  font-size: 12px;
  cursor: pointer;
  padding: 2px 0;
  flex-shrink: 0;
}

._expandButton_90563_293:hover {
  color: var(--text-primary);
}

._executionBlock_90563_307 {
  margin-top: 10px;
}

._executionBlockTitle_90563_311 {
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-tertiary);
}

._outputText_90563_318,
._errorText_90563_319 {
  margin: 0;
  padding: 10px 12px;
  border-radius: 8px;
  font-family: 'SF Mono', Monaco, Consolas, monospace;
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  max-height: 220px;
  overflow: auto;
}

._outputText_90563_318 {
  background: var(--bg-tertiary, var(--bg-primary));
  color: var(--text-secondary);
}

._errorText_90563_319 {
  background: rgb(239 68 68 / 10%);
  color: #ef4444;
}

@keyframes _schedulerPulse_90563_1 {
  0%,
  100% {
    opacity: 0.35;
    transform: scale(0.8);
  }

  50% {
    opacity: 1;
    transform: scale(1);
  }
}

/* ── Dialog ── */

._dialog_90563_357 {
  z-index: 1000;
}

._dialogContent_90563_361 {
  border-radius: 12px;
  width: 90%;
  max-width: 560px;
  max-height: 86vh;
  box-shadow: var(--shadow-2xl);
}

._dialogContent_90563_361 h4 {
  margin: 0;
  padding: 24px 24px 20px;
  font-size: 16px;
  font-weight: 600;
}

._dialogBody_90563_376 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0 24px;
}

._taskSummary_90563_383 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 16px;
  padding: 12px 14px;
  border: 1px solid var(--color-primary-medium);
  border-radius: 10px;
  background: var(--color-primary-muted);
  color: var(--text-primary);
}

._taskSummary_90563_383 strong {
  font-size: 14px;
  font-weight: 600;
}

._taskSummary_90563_383 span {
  font-size: 12px;
  color: var(--text-secondary);
}

._fieldGroup_90563_405 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._fieldGroup_90563_405 label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
}

._fieldGroupCompact_90563_417 {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

._fieldGroupCompact_90563_417 label,
._fieldGroupCompact_90563_417 span {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-tertiary);
}

._scheduleGrid_90563_430 {
  display: grid;
  grid-template-columns: 1fr 132px;
  gap: 8px;
}

._targetGrid_90563_436 {
  display: grid;
  grid-template-columns: 132px 1fr;
  gap: 8px;
}

._scheduleHint_90563_442 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--text-tertiary);
}

._legacyNotice_90563_451 {
  padding: 8px 10px;
  border-radius: 8px;
  background: rgb(245 158 11 / 10%);
  color: var(--text-secondary);
  font-size: 12px;
}

._dialogContent_90563_361 input,
._dialogContent_90563_361 select,
._dialogContent_90563_361 textarea {
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-size: 14px;
  font-family: inherit;
  transition: all 0.15s ease;
}

._dialogContent_90563_361 input:focus,
._dialogContent_90563_361 select:focus,
._dialogContent_90563_361 textarea:focus {
  outline: none;
  border-color: var(--accent-color);
}

._dialogContent_90563_361 textarea {
  min-height: 80px;
  resize: vertical;
}

._dialogActions_90563_484 {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  padding: 16px 24px 24px;
}

._clearContextRow_90563_491 {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 0;
}

._clearContextLabel_90563_498 {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 14px;
  color: var(--text-primary);
}

._clearContextHint_90563_506 {
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.4;
}
._wrapper_o8w25_1 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

._input_o8w25_8 {
  padding: var(--space-2, 8px) var(--space-3, 12px);
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 8px);
  color: var(--text-primary);
  font-size: var(--font-md, 14px);
  font-family: inherit;
  transition:
    border-color var(--duration-fast, 0.15s) var(--ease-out, ease),
    box-shadow var(--duration-fast, 0.15s) var(--ease-out, ease);
}

._input_o8w25_8::placeholder {
  color: var(--text-tertiary);
}

._input_o8w25_8:hover {
  border-color: var(--border-strong);
}

._input_o8w25_8:focus {
  outline: none;
  border-color: var(--color-primary);
  background: var(--bg-primary);
  box-shadow: var(--focus-ring);
}

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

._input--error_o8w25_41 {
  border-color: var(--color-error);
}

._input--error_o8w25_41:focus {
  border-color: var(--color-error);
  box-shadow: 0 0 0 3px var(--color-error-light);
}

._error_o8w25_50 {
  font-size: var(--font-sm, 12px);
  color: var(--color-error);
}

._helperText_o8w25_55 {
  font-size: var(--font-sm, 12px);
  color: var(--text-tertiary);
}
._section_d3xob_1 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--orange-500) 38%, var(--border-primary));
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--orange-500) 5%, var(--bg-primary));
}

._heading_d3xob_11 {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

._headingRow_d3xob_17 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

._headingIcon_d3xob_24 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  border-radius: var(--radius-md);
  color: var(--orange-500);
  background: color-mix(in srgb, var(--orange-500) 12%, transparent);
}

._title_d3xob_36 {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 600;
}

._count_d3xob_46 {
  min-width: 20px;
  padding: 1px 6px;
  border-radius: 999px;
  color: var(--orange-500);
  background: color-mix(in srgb, var(--orange-500) 12%, transparent);
  font-size: 11px;
  text-align: center;
}

._description_d3xob_56 {
  margin: 3px 0 0;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.5;
}

._loading_d3xob_63 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  color: var(--text-tertiary);
  font-size: 12px;
}

._error_d3xob_72 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--danger-color, #dc2626) 32%, var(--border-primary));
  border-radius: var(--radius-md);
  color: var(--text-primary);
  background: color-mix(in srgb, var(--danger-color, #dc2626) 7%, var(--bg-primary));
  font-size: 12px;
}

._error_d3xob_72 > div {
  display: grid;
  gap: 3px;
}

._error_d3xob_72 span {
  color: var(--text-secondary);
}

._recovery_d3xob_94 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--orange-500) 48%, var(--border-primary));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--orange-500) 9%, var(--bg-primary));
}

._recoveryCopy_d3xob_105 {
  display: grid;
  min-width: 0;
  gap: 4px;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.5;
}

._recoveryCopy_d3xob_105 strong {
  color: var(--text-primary);
}

._recoveryDetails_d3xob_118 {
  display: grid;
  gap: 4px;
  margin: 5px 0 0;
}

._recoveryDetails_d3xob_118 > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 6px;
}

._recoveryDetails_d3xob_118 dt {
  color: var(--text-tertiary);
  font-size: 11px;
}

._recoveryDetails_d3xob_118 dd {
  overflow: hidden;
  margin: 0;
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._recoveryActions_d3xob_145 {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

._recoveryDialog_d3xob_153 {
  display: grid;
  gap: 12px;
}

._recoveryDialog_d3xob_153 h4,
._recoveryDialog_d3xob_153 p {
  margin: 0;
}

._recoveryDialog_d3xob_153 h4 {
  color: var(--text-primary);
  font-size: 15px;
}

._recoveryDialog_d3xob_153 p {
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.55;
}

._dialogFilePath_d3xob_174 {
  overflow-wrap: anywhere;
  font-family: var(--font-mono);
  font-size: 11px !important;
}

._dialogContext_d3xob_180 {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 10px;
  border-radius: var(--radius-sm);
  background: var(--bg-secondary);
}

._dialogContext_d3xob_180 > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
}

._dialogContext_d3xob_180 dt {
  color: var(--text-tertiary);
  font-size: 11px;
}

._dialogContext_d3xob_180 dd {
  overflow: hidden;
  margin: 0;
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._recoveryAcknowledgement_d3xob_210 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--text-primary);
  font-size: 12px;
  line-height: 1.5;
  cursor: pointer;
}

._recoveryAcknowledgement_d3xob_210 input {
  margin: 2px 0 0;
}

._recoveryDialogActions_d3xob_224 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

._list_d3xob_230 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._card_d3xob_236 {
  overflow: hidden;
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-md);
  background: var(--bg-primary);
}

._cardBody_d3xob_243 {
  padding: 12px;
}

._cardTopline_d3xob_247 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--text-primary);
  font-size: 13px;
}

._preview_d3xob_256 {
  display: -webkit-box;
  overflow: hidden;
  margin: 10px 0;
  color: var(--text-primary);
  font-size: 13px;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

._destinations_d3xob_267 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

._destinations_d3xob_267 > div {
  min-width: 0;
  padding: 8px;
  border-radius: var(--radius-sm);
  background: var(--bg-secondary);
}

._destinations_d3xob_267 dt {
  margin-bottom: 2px;
  color: var(--text-tertiary);
  font-size: 10px;
}

._destinations_d3xob_267 dd {
  overflow: hidden;
  margin: 0;
  color: var(--text-secondary);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._status_d3xob_296 {
  color: var(--orange-500);
  font-size: 11px;
  font-weight: 500;
}

._meta_d3xob_302 {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 5px;
  color: var(--text-tertiary);
  font-size: 11px;
}

._progress_d3xob_311 {
  color: var(--orange-500);
  font-weight: 500;
}

._risk_d3xob_316 {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 8px 0 0;
  color: var(--orange-500);
  font-size: 11px;
}

._actions_d3xob_325 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  padding: 8px;
  border-top: 1px solid var(--border-primary);
  background: var(--bg-secondary);
}

@media (width <= 640px) {
  ._cardTopline_d3xob_247 {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  ._actions_d3xob_325 > button {
    flex: 1 1 auto;
  }

  ._headingRow_d3xob_17,
  ._error_d3xob_72,
  ._recovery_d3xob_94 {
    align-items: stretch;
    flex-direction: column;
  }

  ._destinations_d3xob_267 {
    grid-template-columns: 1fr;
  }
}
._container_nh938_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
}

._content_nh938_7 {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

._loading_nh938_16 {
  color: var(--text-tertiary);
  text-align: center;
  padding: 48px 0;
}

/* ---------------------------------------------------------------------------
 * Hint banner
 * --------------------------------------------------------------------------- */

._hint_nh938_26 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: var(--radius-md);
  background: var(--bg-secondary);
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.5;
  flex-shrink: 0;
}

/* ---------------------------------------------------------------------------
 * Empty state
 * --------------------------------------------------------------------------- */

._empty_nh938_43 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 48px 24px;
  text-align: center;
}

._emptyIcon_nh938_52 {
  color: var(--text-tertiary);
  opacity: 0.4;
}

._emptyText_nh938_57 {
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.6;
  max-width: 340px;
}

/* ---------------------------------------------------------------------------
 * Channel list
 * --------------------------------------------------------------------------- */

._channelList_nh938_68 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._channelCard_nh938_74 {
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-lg);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: border-color 0.15s;
}

._channelCard_nh938_74:hover {
  border-color: var(--border-focus);
}

._cardHeader_nh938_88 {
  display: flex;
  align-items: center;
  gap: 12px;
}

._platformIcon_nh938_94 {
  width: 36px;
  height: 36px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

._platformIconWechat_nh938_104 {
  background: #07c160;
  color: white;
}

._platformIconWecom_nh938_109 {
  background: #2b7ce9;
  color: white;
}

._platformIconFeishu_nh938_114 {
  background: color-mix(in srgb, var(--bg-secondary) 72%, transparent);
  color: inherit;
}

._cardInfo_nh938_119 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}

._platformName_nh938_127 {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
}

._targetLabel_nh938_133 {
  font-size: 12px;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._targetHint_nh938_141 {
  font-size: 12px;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._createdAt_nh938_149 {
  font-size: 12px;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ---------------------------------------------------------------------------
 * Status badge
 * --------------------------------------------------------------------------- */

._statusBadge_nh938_161 {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  padding: 3px 8px;
  border-radius: 10px;
  flex-shrink: 0;
  white-space: nowrap;
}

._status-connected_nh938_172 {
  color: var(--green-500);
  background: color-mix(in srgb, var(--green-500) 10%, transparent);
}

._status-disconnected_nh938_177,
._status-idle_nh938_178 {
  color: var(--text-tertiary);
  background: var(--bg-secondary);
}

._status-connecting_nh938_183,
._status-reconnecting_nh938_184 {
  color: var(--color-info);
  background: var(--color-info-light);
}

._status-auth_failed_nh938_189 {
  color: var(--red-500);
  background: color-mix(in srgb, var(--red-500) 10%, transparent);
}

/* ---------------------------------------------------------------------------
 * Card actions
 * --------------------------------------------------------------------------- */

._cardActions_nh938_198 {
  display: flex;
  gap: 8px;
  padding-top: 4px;
  border-top: 1px solid var(--border-primary);
}

/* ---------------------------------------------------------------------------
 * Edit target card
 * --------------------------------------------------------------------------- */

._editTargetCard_nh938_209 {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--border-primary);
}

/* ---------------------------------------------------------------------------
 * Bind flow
 * --------------------------------------------------------------------------- */

._bindFlow_nh938_221 {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Steps indicator */
._stepsIndicator_nh938_228 {
  display: flex;
  gap: 4px;
  align-items: center;
}

._stepDot_nh938_234 {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: var(--radius-md);
  font-size: 12px;
  color: var(--text-tertiary);
  background: var(--bg-secondary);
}

._stepDotActive_nh938_245 {
  color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 10%, transparent);
  font-weight: 500;
}

._stepNum_nh938_251 {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 600;
  background: var(--bg-tertiary);
}

._stepDotActive_nh938_245 ._stepNum_nh938_251 {
  background: var(--color-primary-solid);
  color: var(--text-on-primary);
}

._stepTitle_nh938_268 {
  font-size: 12px;
}

/* Step content */
._stepContent_nh938_273 {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

._field_nh938_279 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._field_nh938_279 label {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
}

._fieldHint_nh938_291 {
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
  color: var(--text-tertiary);
}

._stepActions_nh938_298 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 8px;
}

/* ---------------------------------------------------------------------------
 * Target kind selection
 * --------------------------------------------------------------------------- */

._targetKind_nh938_309 {
  display: flex;
  gap: 12px;
}

._kindBtn_nh938_314 {
  flex: 1;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-lg);
  background: transparent;
  cursor: pointer;
  text-align: left;
  color: var(--text-primary);
  transition: all 0.15s;
}

._kindBtn_nh938_314:hover {
  border-color: var(--border-focus);
}

._kindBtnActive_nh938_333 {
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 5%, transparent);
}

._kindBtn_nh938_314 > svg {
  margin-top: 2px;
  opacity: 0.3;
}

._kindBtnActive_nh938_333 > svg {
  opacity: 1;
  color: var(--color-primary);
}

._kindBtn_nh938_314 div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

._kindBtn_nh938_314 strong {
  font-size: 13px;
  font-weight: 500;
}

._kindBtn_nh938_314 span {
  font-size: 12px;
  color: var(--text-tertiary);
}

/* ---------------------------------------------------------------------------
 * Summary
 * --------------------------------------------------------------------------- */

._summary_nh938_368 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-lg);
  background: var(--bg-secondary);
}

._summaryRow_nh938_378 {
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-size: 13px;
}

._summaryLabel_nh938_385 {
  color: var(--text-tertiary);
  min-width: 70px;
  flex-shrink: 0;
}

._mono_nh938_391 {
  font-family: var(--font-mono);
  font-size: 12px;
}

/* ---------------------------------------------------------------------------
 * Test result
 * --------------------------------------------------------------------------- */

._testResult_nh938_400 {
  min-height: 48px;
}

._testing_nh938_404 {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 13px;
  padding: 12px;
}

._testSuccess_nh938_413 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--green-500) 10%, transparent);
  color: var(--green-500);
  font-size: 13px;
}

._testFailed_nh938_424 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 12px 14px;
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--red-500) 10%, transparent);
  color: var(--red-500);
  font-size: 13px;
}

._testFailed_nh938_424 p {
  margin: 2px 0 0;
  font-size: 12px;
  opacity: 0.8;
}

/* ---------------------------------------------------------------------------
 * Method choice (scan / manual)
 * --------------------------------------------------------------------------- */

._methodChoice_nh938_445 {
  display: flex;
  gap: 12px;
}

._methodCard_nh938_450 {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 24px 16px;
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-lg);
  background: transparent;
  cursor: pointer;
  font: inherit;
  text-align: center;
  transition: all 0.15s;
}

._methodCard_nh938_450:hover {
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 5%, transparent);
}

._methodCardDisabled_nh938_471,
._methodCardDisabled_nh938_471:hover,
._methodCard_nh938_450:disabled,
._methodCard_nh938_450:disabled:hover {
  opacity: 0.6;
  pointer-events: none;
  cursor: not-allowed;
  border-color: var(--border-primary);
  background: transparent;
}

._methodIcon_nh938_482 {
  font-size: 28px;
  line-height: 1;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  justify-content: center;
}

._methodTitle_nh938_491 {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
}

._methodDesc_nh938_497 {
  font-size: 12px;
  color: var(--text-tertiary);
  line-height: 1.5;
}

/* ---------------------------------------------------------------------------
 * QR code section
 * --------------------------------------------------------------------------- */

._qrcodeSection_nh938_507 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

._qrImage_nh938_514 {
  padding: 16px;
  background: white;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
}

._qrHint_nh938_523 {
  font-size: 13px;
  color: var(--text-secondary);
  text-align: center;
}

._qrLoading_nh938_529 {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 13px;
  padding: 24px 0;
}

._error_nh938_538 {
  font-size: 13px;
  color: var(--red-500);
  text-align: center;
  padding: 8px 12px;
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--red-500) 10%, transparent);
}
._state_kis9a_1 {
  border: 1px dashed var(--border-primary, var(--border));
  border-radius: 14px;
  padding: 28px;
  color: var(--text-secondary);
  text-align: center;
  font-size: 14px;
}

._compact_kis9a_10 {
  padding: 18px;
  font-size: 13px;
}

._loading_kis9a_15 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

._error_kis9a_22 {
  color: var(--error, var(--danger-color));
}

._spin_kis9a_26 {
  animation: _spin_kis9a_26 1s linear infinite;
}

@keyframes _spin_kis9a_26 {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}
._panel_okr65_1 {
  display: flex;
  flex-direction: column;
  gap: 18px;
  height: 100%;
  min-height: 0;
  overflow-y: auto;
  padding: 24px;
  box-sizing: border-box;
  color: var(--text-primary);
}

._trustLine_okr65_13 {
  color: var(--text-secondary);
  font-size: 13px;
}

._filters_okr65_18 {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

._filterGroup_okr65_24 {
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  border: 1px solid var(--border-primary);
  border-radius: 999px;
  background: var(--bg-tertiary, var(--bg-secondary));
}

._filterButton_okr65_33 {
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: var(--text-secondary);
  padding: 6px 11px;
  font-size: 13px;
  line-height: 1.2;
  cursor: pointer;
  transition:
    background-color 120ms ease,
    border-color 120ms ease,
    color 120ms ease,
    box-shadow 120ms ease;
}

._filterButton_okr65_33:hover {
  background: var(--bg-secondary);
  color: var(--text-primary);
}

._filterButton_okr65_33:focus-visible,
._dangerButton_okr65_55:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}

._filterButtonActive_okr65_60 {
  background: var(--color-primary-solid);
  border-color: var(--color-primary-solid);
  color: var(--text-on-primary);
  box-shadow: 0 1px 3px rgb(0 0 0 / 18%);
}

._filterButtonActive_okr65_60:hover {
  background: var(--color-primary-solid);
  color: var(--text-on-primary);
}

._metricGrid_okr65_72 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

._tokenBreakdown_okr65_78 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

._tokenStat_okr65_85 {
  padding: 12px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--text-primary) 4%, transparent);
}

._metricCard_okr65_91,
._card_okr65_92 {
  border: 1px solid var(--border-primary);
  border-radius: 14px;
  background: var(--bg-secondary);
  padding: 16px;
}

._metricLabel_okr65_99,
._cardHint_okr65_100 {
  color: var(--text-secondary);
  font-size: 12px;
}

._metricValue_okr65_105 {
  margin-top: 8px;
  font-size: 24px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

._metricHint_okr65_112 {
  margin-top: 4px;
  color: var(--text-secondary);
  font-size: 12px;
}

._sectionGrid_okr65_118 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

._cardTitle_okr65_124 {
  font-weight: 650;
  margin-bottom: 12px;
}

._list_okr65_129 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._row_okr65_135 {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  font-size: 13px;
}

._row_okr65_135 > span:first-child,
._row_okr65_135 > div:first-child:not(._sessionCell_okr65_144) {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._row_okr65_135 > span:last-child,
._row_okr65_135 > div:last-child {
  white-space: nowrap;
}

._rowMeta_okr65_156 {
  color: var(--text-secondary);
}

._sessionCell_okr65_144 {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

._sessionName_okr65_167 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-primary);
  font-weight: 550;
}

._numericValue_okr65_176 {
  font-variant-numeric: tabular-nums;
  color: var(--text-primary);
}

._insights_okr65_181 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 13px;
}

._activityHeader_okr65_189 {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 14px;
}

._activityHeader_okr65_189 ._cardTitle_okr65_124 {
  margin-bottom: 4px;
}

._activityCard_okr65_201 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._activityScroll_okr65_207 {
  overflow: hidden;
  padding: 4px 0;
}

._activityHeatMap_okr65_212 {
  width: 100%;
  min-width: 0;
  height: auto;
  color: var(--text-secondary);
  font-family: inherit;
}

._activityHeatMap_okr65_212 .react-calendar-heatmap {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

._activityHeatMap_okr65_212 .react-calendar-heatmap rect {
  rx: 3px;
  stroke: var(--border-primary);
  stroke-width: 1px;
  transition:
    stroke 120ms ease,
    stroke-width 120ms ease;
}

._activityHeatMap_okr65_212 .react-calendar-heatmap rect:hover {
  stroke: var(--color-primary-solid);
}

._activityHeatMap_okr65_212 .react-calendar-heatmap text {
  fill: var(--text-secondary);
  font-family: inherit;
}

._activityHeatMap_okr65_212 .react-calendar-heatmap-month-label {
  transform: translateY(2px);
}

._activityLevel0_okr65_249 {
  fill: var(--bg-tertiary, var(--bg-secondary));
}

._activityLevel1_okr65_253 {
  fill: color-mix(in srgb, var(--color-primary-solid) 28%, transparent);
}

._activityLevel2_okr65_257 {
  fill: color-mix(in srgb, var(--color-primary-solid) 48%, transparent);
}

._activityLevel3_okr65_261 {
  fill: color-mix(in srgb, var(--color-primary-solid) 68%, transparent);
}

._activityLevel4_okr65_265 {
  fill: var(--color-primary-solid);
}

._activityLegendCell_okr65_269 {
  width: 11px;
  height: 11px;
  border: 1px solid var(--border-primary);
  border-radius: 3px;
  background: var(--bg-tertiary, var(--bg-secondary));
}

._activityLegendCell_okr65_269[data-level='1'] {
  background: color-mix(in srgb, var(--color-primary-solid) 28%, transparent);
}

._activityLegendCell_okr65_269[data-level='2'] {
  background: color-mix(in srgb, var(--color-primary-solid) 48%, transparent);
}

._activityLegendCell_okr65_269[data-level='3'] {
  background: color-mix(in srgb, var(--color-primary-solid) 68%, transparent);
}

._activityLegendCell_okr65_269[data-level='4'] {
  background: var(--color-primary-solid);
}

._activityEmpty_okr65_293 {
  border: 1px dashed var(--border-primary);
  border-radius: 12px;
  padding: 18px;
  color: var(--text-secondary);
  font-size: 13px;
  text-align: center;
}

._activityLegend_okr65_269,
._activitySummary_okr65_303 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 12px;
}

._activityLegend_okr65_269 {
  gap: 5px;
}

._activitySummary_okr65_303 {
  border-top: 1px solid var(--border-primary);
  padding-top: 12px;
}

._activitySummary_okr65_303 > span:not(:last-child)::after {
  content: '·';
  margin-left: 8px;
  color: var(--text-tertiary, var(--text-secondary));
}

._footerActions_okr65_327 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--border-primary);
  padding-top: 14px;
}

._dangerButton_okr65_55 {
  border: 1px solid var(--danger, #ef4444);
  border-radius: 10px;
  background: transparent;
  color: var(--danger, #ef4444);
  padding: 8px 12px;
  cursor: pointer;
  transition:
    background-color 120ms ease,
    color 120ms ease,
    border-color 120ms ease;
}

._dangerButton_okr65_55:hover {
  background: color-mix(in srgb, var(--danger, #ef4444) 10%, transparent);
}

._empty_okr65_352 {
  border: 1px dashed var(--border-primary);
  border-radius: 14px;
  padding: 28px;
  color: var(--text-secondary);
  text-align: center;
}

@media (width <= 900px) {
  ._metricGrid_okr65_72,
  ._sectionGrid_okr65_118 {
    grid-template-columns: 1fr;
  }

  ._tokenBreakdown_okr65_78 {
    grid-template-columns: 1fr;
  }
}

@media (width <= 720px) {
  ._panel_okr65_1 {
    gap: 14px;
    padding: 16px;
  }

  ._filters_okr65_18 {
    gap: 6px;
  }

  ._filterGroup_okr65_24 {
    width: 100%;
  }

  ._filterButton_okr65_33 {
    flex: 1;
    min-height: 36px;
    padding: 7px 12px;
  }

  ._metricCard_okr65_91,
  ._card_okr65_92 {
    border-radius: 12px;
    padding: 14px;
  }

  ._metricValue_okr65_105 {
    font-size: 22px;
  }

  ._activityHeader_okr65_189 {
    flex-direction: column;
    align-items: stretch;
  }

  ._footerActions_okr65_327 {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  ._dangerButton_okr65_55 {
    min-height: 40px;
    width: 100%;
  }
}

@media (width <= 420px) {
  ._panel_okr65_1 {
    padding: 12px;
  }

  ._row_okr65_135 {
    gap: 8px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  ._activityCell_okr65_430 {
    transition: none;
  }

  ._activityCell_okr65_430:hover {
    transform: none;
  }
}

/* 常用话术卡片 */
._phraseCell_okr65_440 {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

._phraseContent_okr65_447 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-primary);
}

._phraseMeta_okr65_455 {
  color: var(--text-secondary);
  font-size: 12px;
}

._addButton_okr65_460 {
  border: 1px solid var(--color-primary-solid);
  border-radius: 8px;
  background: transparent;
  color: var(--color-primary-solid);
  padding: 5px 10px;
  font-size: 12px;
  cursor: pointer;
  white-space: nowrap;
  transition:
    background-color 120ms ease,
    color 120ms ease;
}

._addButton_okr65_460:hover {
  background: var(--color-primary-solid);
  color: var(--text-on-primary);
}

._addButton_okr65_460:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

._toast_okr65_484 {
  position: absolute;
  top: 12px;
  right: 16px;
  background: var(--bg-tertiary, var(--bg-secondary));
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 12px;
  color: var(--text-primary);
  z-index: 10;
  animation: _toastFadeIn_okr65_1 150ms ease;
}

@keyframes _toastFadeIn_okr65_1 {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}
._panel_1holc_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  color: var(--text-primary);
}

._content_1holc_9 {
  flex: 1;
  overflow-y: auto;
  padding: 20px 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

._section_1holc_18 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._sectionHeading_1holc_24 {
  display: flex;
  min-height: 32px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

._sectionTitle_1holc_32 {
  margin: 0;
  padding: 0 2px;
  color: var(--text-tertiary);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}

._locationCard_1holc_41 {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 88px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--bg-primary) 94%, var(--bg-secondary));
}

._locationIcon_1holc_53 {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 8px;
  background: var(--bg-secondary);
  color: var(--text-secondary);
}

._locationContent_1holc_63 {
  min-width: 0;
}

._locationDescription_1holc_67 {
  margin: 0 0 7px;
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.4;
}

._locationPaths_1holc_74 {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

._locationPathRow_1holc_80 {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}

._pathLabel_1holc_87 {
  color: var(--text-tertiary);
  font-size: 11px;
  font-weight: 500;
}

._pathRow_1holc_93 {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

._pathValue_1holc_100 {
  min-width: 0;
  overflow: hidden;
  color: var(--text-primary);
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 12px;
  line-height: 1.5;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._pendingPath_1holc_111 {
  min-width: 0;
  overflow: hidden;
  color: var(--color-info);
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 12px;
  line-height: 1.5;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._defaultBadge_1holc_122 {
  flex-shrink: 0;
  padding: 2px 6px;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: var(--bg-secondary);
  color: var(--text-tertiary);
  font-size: 11px;
  font-weight: 500;
}

._locationActions_1holc_133 {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  max-width: 280px;
}

._pathChange_1holc_143 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  padding: 9px 10px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--bg-secondary);
}

._pathChange_1holc_143 > div {
  min-width: 0;
}

._pathChange_1holc_143 span {
  display: block;
  margin-bottom: 3px;
  color: var(--text-tertiary);
  font-size: 11px;
}

._pathChange_1holc_143 code {
  display: block;
  overflow-wrap: anywhere;
  color: var(--text-primary);
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 12px;
  line-height: 1.5;
}

._migrateOption_1holc_175 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  margin-bottom: 20px;
  color: var(--text-secondary);
  font-size: 13px;
  cursor: pointer;
  user-select: none;
}

._migrationStatus_1holc_187 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: -8px 0 20px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-secondary);
  color: var(--text-secondary);
  font-size: 13px;
}

._migrationError_1holc_200 {
  margin: -8px 0 20px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--danger-color, #ef4444) 40%, var(--border));
  border-radius: 8px;
  background: color-mix(in srgb, var(--danger-color, #ef4444) 8%, transparent);
  color: var(--danger-color, #ef4444);
  font-size: 12px;
  line-height: 1.5;
}

._progressTrack_1holc_211 {
  height: 4px;
  overflow: hidden;
  border-radius: 2px;
  background: var(--border);
}

._progressValue_1holc_218 {
  height: 100%;
  border-radius: inherit;
  background: var(--color-info);
  transition: width 0.2s ease;
}

._progressFile_1holc_225 {
  overflow: hidden;
  color: var(--text-tertiary);
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ─── Loading state ─── */

._loadingState_1holc_236 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 72px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-secondary);
  color: var(--text-secondary);
  font-size: 13px;
}

/* ─── Error state ─── */

._errorState_1holc_252 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 56px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-secondary);
  color: var(--text-secondary);
  font-size: 13px;
}

._errorState_1holc_252 span {
  min-width: 0;
  flex: 1;
}

/* ─── Total usage ─── */

._totalSection_1holc_272 {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 12px 16px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-secondary);
}

._totalLabel_1holc_282 {
  font-size: 13px;
  color: var(--text-secondary);
}

._totalValue_1holc_287 {
  font-size: 20px;
  font-weight: 600;
  color: var(--text-primary);
}

/* ─── Region cards ─── */

._regionsList_1holc_295 {
  display: flex;
  flex-direction: column;
  gap: 0;
}

._regionCard_1holc_301 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px;
  border-radius: 10px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  transition: border-color 0.15s ease;
}

._regionCard_1holc_301 + ._regionCard_1holc_301 {
  margin-top: 10px;
}

._regionCard_1holc_301:hover {
  border-color: var(--border-hover, var(--border));
}

/* ─── Region header row ─── */

._regionHeader_1holc_322 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._regionIcon_1holc_328 {
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
}

._regionName_1holc_334 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._regionTotal_1holc_345 {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}

/* ─── Safety badge ─── */

._safetyBadge_1holc_355 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 500;
  flex-shrink: 0;
}

._safetySafe_1holc_366 {
  background: color-mix(in srgb, var(--green, #22c55e) 12%, transparent);
  color: var(--green, #22c55e);
}

._safetyCaution_1holc_371 {
  background: color-mix(in srgb, var(--yellow, #eab308) 12%, transparent);
  color: var(--yellow, #eab308);
}

._safetyText_1holc_376 {
  line-height: 1;
}

/* ─── Region description ─── */

._regionDescription_1holc_382 {
  margin: 0;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.4;
}

/* ─── Region action row ─── */

._regionAction_1holc_391 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  flex-wrap: wrap;
}

._daysPrefix_1holc_399 {
  font-size: 13px;
  color: var(--text-tertiary, var(--text-secondary));
  white-space: nowrap;
}

/* ─── Days selector ─── */

._daysSelector_1holc_407 {
  position: relative;
  display: inline-flex;
  align-items: center;
}

._daysSelect_1holc_407 {
  appearance: none;
  padding: 4px 28px 4px 10px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: var(--bg-tertiary, var(--bg-primary));
  color: var(--text-primary);
  font-size: 13px;
  font-family: inherit;
  cursor: pointer;
  outline: none;
  transition: border-color 0.15s ease;
}

._daysSelect_1holc_407:hover {
  border-color: var(--border-hover, var(--accent, #4f9cf7));
}

._daysSelect_1holc_407:focus-visible {
  border-color: var(--accent, #4f9cf7);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent, #4f9cf7) 30%, transparent);
}

._daysSelect_1holc_407:disabled {
  opacity: 0.5;
  cursor: default;
}

._daysChevron_1holc_441 {
  position: absolute;
  right: 8px;
  pointer-events: none;
  color: var(--text-tertiary, var(--text-secondary));
}

/* ─── Cleanable amount ─── */

._cleanableAmount_1holc_450 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  font-variant-numeric: tabular-nums;
  flex: 1;
  min-width: 60px;
}

/* ─── Orphan cleanup row (conversation_logs 专属) ─── */

._orphanIcon_1holc_461 {
  font-size: 13px;
  color: var(--green, #22c55e);
  flex-shrink: 0;
}

._orphanLabel_1holc_467 {
  font-size: 13px;
  color: var(--text-tertiary, var(--text-secondary));
  white-space: nowrap;
}

/* ─── Region note ─── */

._regionNote_1holc_475 {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--text-tertiary, var(--text-secondary));
  line-height: 1.4;
}

/* ─── Refresh button ─── */

._refreshLabel_1holc_484 {
  font-size: 13px;
}

/* ─── Animation ─── */

._spin_1holc_490 {
  animation: _spin_1holc_490 1s linear infinite;
}

@keyframes _spin_1holc_490 {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/* ─── Dark theme adjustments ─── */

@media (prefers-color-scheme: dark) {
  ._daysSelect_1holc_407 {
    /* Ensure dropdown is readable in dark mode */
    background: var(--bg-tertiary, #2a2a2a);
  }
}

@media (width <= 768px) {
  ._content_1holc_9 {
    padding: 16px;
  }

  ._locationCard_1holc_41 {
    grid-template-columns: auto minmax(0, 1fr);
  }

  ._locationActions_1holc_133 {
    grid-column: 1 / -1;
    padding-left: 48px;
  }
}

@media (width <= 520px) {
  ._locationCard_1holc_41 {
    grid-template-columns: 1fr;
  }

  ._locationIcon_1holc_53 {
    display: none;
  }

  ._locationActions_1holc_133 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding-left: 0;
  }

  ._pathRow_1holc_93 {
    align-items: flex-start;
    flex-direction: column;
  }

  ._locationPathRow_1holc_80 {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  ._pathChange_1holc_143 {
    grid-template-columns: 1fr;
  }

  ._pathChange_1holc_143 > svg {
    transform: rotate(90deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  ._progressValue_1holc_218,
  ._spin_1holc_490 {
    transition: none;
    animation: none;
  }
}
/**
 * Settings 公共样式
 * 所有 settings panel 共用的样式变量和类
 */

/* ============================================
   Legacy 变量补充（映射到 Design Tokens）
   ============================================ */

:root {
  /* 颜色层级 */
  --bg-hover: var(--hover-bg);
  --bg-active: var(--active-bg);

  /* Border 统一使用 --border */

  /* Accent 颜色 */
  --accent-color: var(--accent-purple);
  --accent-color-light: var(--color-primary-light);
  --accent-color-medium: var(--color-primary-medium);

  /* 状态颜色 */
  --success: var(--accent-green);
  --error: var(--accent-red);
}

/* --bg-tertiary 由 tokens/semantic.css 定义，无需在此重复 */

/* ============================================
   Panel 基础布局
   ============================================ */

._settings-panel_1smkj_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* ============================================
   列表视图样式
   ============================================ */

._settings-header_1smkj_1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

._settings-title_1smkj_1 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

._settings-list_1smkj_1 {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._settings-empty_1smkj_1 {
  color: var(--text-tertiary);
  font-size: 14px;
  text-align: center;
  padding: 32px 0;
}

/* ============================================
   列表项样式
   ============================================ */

._settings-item_1smkj_1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px;
  background: var(--bg-secondary);
  border-radius: 8px;
  border: 1px solid var(--border);
  transition: all 0.2s ease;
}

._settings-item_1smkj_1:hover {
  border-color: var(--accent-color);
  background: var(--bg-hover);
}

._settings-item_1smkj_1._is-default_1smkj_1 {
  border-color: var(--accent-color);
}

._settings-item-info_1smkj_1 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1;
}

._settings-item-name_1smkj_1 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  font-size: 14px;
  color: var(--text-primary);
}

._settings-item-meta_1smkj_1 {
  font-size: 12px;
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 300px;
}

._settings-item-actions_1smkj_1 {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
  margin-left: 12px;
}

/* ============================================
   默认徽章
   ============================================ */

._settings-badge_1smkj_1 {
  font-size: 11px;
  font-weight: 500;
  padding: 2px 8px;
  border-radius: 12px;
  background: var(--color-primary-solid);
  color: var(--text-on-primary);
}

._settings-badge-success_1smkj_1 {
  background: var(--success);
}

._settings-badge-error_1smkj_1 {
  background: var(--error);
}

/* ============================================
   表单视图样式
   ============================================ */

._settings-form-wrapper_1smkj_1 {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
}

._settings-form-title_1smkj_1 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 20px 0;
}

/* ============================================
   表单字段样式
   ============================================ */

._settings-field_1smkj_1 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

._settings-field_1smkj_1:last-child {
  margin-bottom: 0;
}

._settings-field-row_1smkj_1 {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

._settings-label_1smkj_1 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
}

._settings-hint_1smkj_1 {
  font-size: 12px;
  color: var(--text-tertiary);
}

/* ============================================
   输入控件样式
   ============================================ */

._settings-input_1smkj_1,
._settings-select_1smkj_1,
._settings-textarea_1smkj_1 {
  padding: 10px 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
  font-family: inherit;
  transition: all 0.2s ease;
}

._settings-input_1smkj_1:focus,
._settings-select_1smkj_1:focus,
._settings-textarea_1smkj_1:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
}

._settings-input_1smkj_1::placeholder,
._settings-textarea_1smkj_1::placeholder {
  color: var(--text-tertiary);
}

._settings-select_1smkj_1 {
  cursor: pointer;
}

._settings-textarea_1smkj_1 {
  resize: vertical;
  width: 100%;
  min-height: 100px;
}

/* ============================================
   Checkbox 自定义样式
   ============================================ */

._settings-checkbox_1smkj_1 {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

._settings-checkbox-input_1smkj_1 {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid var(--border);
  border-radius: 4px;
  background: var(--bg-secondary);
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}

._settings-checkbox-input_1smkj_1:hover {
  border-color: var(--accent-color);
}

._settings-checkbox-input_1smkj_1:checked {
  background: var(--color-primary-solid);
  border-color: var(--accent-color);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
}

._settings-checkbox-input_1smkj_1:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--accent-color-light);
}

/* ============================================
   Toggle 开关样式
   ============================================ */

._settings-toggle_1smkj_1 {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 22px;
  cursor: pointer;
}

._settings-toggle-input_1smkj_1 {
  opacity: 0;
  width: 0;
  height: 0;
}

._settings-toggle-track_1smkj_1 {
  position: absolute;
  inset: 0;
  background: var(--bg-tertiary);
  border-radius: 11px;
  transition: background 0.2s ease;
}

._settings-toggle-track_1smkj_1::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  background: white;
  border-radius: 50%;
  transition: transform 0.2s ease;
}

._settings-toggle-input_1smkj_1:checked + ._settings-toggle-track_1smkj_1 {
  background: var(--color-primary-solid);
}

._settings-toggle-input_1smkj_1:checked + ._settings-toggle-track_1smkj_1::after {
  transform: translateX(18px);
}

/* ============================================
   Footer 样式
   ============================================ */

._settings-footer_1smkj_1 {
  display: flex;
  gap: 10px;
  padding: 14px 24px;
  border-top: 1px solid var(--border);
  justify-content: flex-end;
  flex-shrink: 0;
  background: var(--bg-primary);
}

/* ============================================
   错误提示样式
   ============================================ */

._settings-error_1smkj_1 {
  font-size: 12px;
  color: var(--error);
  margin-top: 4px;
}

/* ============================================
   Slider 样式
   ============================================ */

._settings-slider-row_1smkj_1 {
  display: flex;
  align-items: center;
  gap: 12px;
}

._settings-slider_1smkj_1 {
  flex: 1;
  height: 6px;
  border-radius: 3px;
  background: var(--bg-tertiary);
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

._settings-slider_1smkj_1::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--accent-color);
  cursor: pointer;
  transition: all 0.2s ease;
}

._settings-slider_1smkj_1::-webkit-slider-thumb:hover {
  transform: scale(1.1);
  box-shadow: 0 0 0 4px var(--accent-color-light);
}

._settings-slider_1smkj_1::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--accent-color);
  cursor: pointer;
  border: none;
}

._settings-number-input_1smkj_1 {
  width: 70px;
  padding: 6px 10px;
  font-size: 13px;
  text-align: center;
}

/* ============================================
   空状态样式
   ============================================ */

._settings-empty-state_1smkj_1 {
  font-size: 13px;
  color: var(--text-tertiary);
  padding: 16px;
  text-align: center;
  background: var(--bg-secondary);
  border-radius: 8px;
}

/* ============================================
   Section 分组标题样式
   ============================================ */

._settings-section_1smkj_1 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 0;
}

._settings-section_1smkj_1:first-child {
  padding-top: 0;
}

._settings-section-title_1smkj_1 {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
  margin: 0;
  letter-spacing: 0.02em;
}

._settings-section_1smkj_1 + ._settings-section_1smkj_1 {
  border-top: 1px solid var(--border);
  margin-top: 8px;
  padding-top: 20px;
}

._backdrop_1smkj_3 {
  backdrop-filter: var(--backdrop-blur);
}

._modal_1smkj_7 {
  border-radius: 12px;
  width: 90%;
  max-width: 960px;
  max-height: 92vh;
  height: clamp(560px, 76vh, 800px);
}

._header_1smkj_15 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 22px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

._title_1smkj_24 {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

._body_1smkj_31 {
  display: flex;
  height: clamp(520px, 72vh, 760px);
  overflow: hidden;
}

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

._content_1smkj_44 {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
}

._section_1smkj_50 {
  margin-bottom: 24px;
}

._section_1smkj_50:last-child {
  margin-bottom: 0;
}

._sectionTitle_1smkj_58 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 16px;
}

._field_1smkj_65 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}

._field_1smkj_65:last-child {
  margin-bottom: 0;
}

._label_1smkj_76 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
}

._input_1smkj_82 {
  padding: 10px 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
  font-family: inherit;
  transition: all 0.2s;
}

._input_1smkj_82:focus {
  outline: none;
  border-color: var(--accent-purple);
  background: var(--surface);
}

._footer_1smkj_99 {
  display: flex;
  gap: 12px;
  padding: 16px 24px;
  border-top: 1px solid var(--border);
  justify-content: flex-end;
}

._slider_1smkj_107 {
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: var(--bg-secondary);
  outline: none;
  appearance: none;
}

._slider_1smkj_107::-webkit-slider-thumb {
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--accent-purple);
  cursor: pointer;
  transition: all 0.2s;
}

._slider_1smkj_107::-webkit-slider-thumb:hover {
  transform: scale(1.2);
}

._slider_1smkj_107::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--accent-purple);
  cursor: pointer;
  border: none;
  transition: all 0.2s;
}

._slider_1smkj_107::-moz-range-thumb:hover {
  transform: scale(1.2);
}

._checkboxField_1smkj_144 {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

._checkboxField_1smkj_144 input[type='checkbox'] {
  width: 18px;
  height: 18px;
  cursor: pointer;
}

._errorMessage_1smkj_158 {
  font-size: 13px;
  color: var(--error);
  margin-top: -8px;
  margin-bottom: 8px;
}

._mcpServer_1smkj_165 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px;
  background: var(--bg-secondary);
  border-radius: 8px;
  margin-bottom: 8px;
}

._mcpServer_1smkj_165 > div {
  display: flex;
  gap: 8px;
}

._mcpForm_1smkj_180 {
  margin-top: 16px;
  padding: 16px;
  background: var(--bg-secondary);
  border-radius: 8px;
}

/* ── 移动端：纵向布局，全屏弹框 ── */
@media (width <= 768px) {
  ._backdrop_1smkj_3 {
    align-items: stretch;
    justify-content: stretch;
    padding: 0;
  }

  ._modal_1smkj_7 {
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    border-radius: 0;
    border: none;
  }

  ._body_1smkj_31 {
    flex-direction: column;
    height: auto;
    flex: 1;
  }
}
/* ========== Overlay ========== */

._overlay_1cnap_3 {
  position: fixed;
  inset: 0;
  background: var(--overlay-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  overflow: hidden;
  animation: _fadeIn_1cnap_1 0.15s ease;
}

@keyframes _fadeIn_1cnap_1 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* ========== Dialog shell ========== */

._dialog_1cnap_27 {
  background: var(--bg-primary);
  border-radius: var(--radius-2xl, 16px);
  border: 1px solid var(--border-default);
  box-shadow: var(--shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 50%));
  width: 600px;
  max-width: 90vw;
  max-height: 85vh;
  max-height: 85dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

._header_1cnap_41 {
  display: flex;
  border-bottom: 1px solid var(--border-default);
  flex-shrink: 0;
}

._dialogTitle_1cnap_47 {
  margin: 0;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.3;
  color: var(--text-primary);
}

._eyebrow_1cnap_55 {
  margin: 0;
  padding: 10px 20px 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-tertiary);
}

._content_1cnap_63 {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow-y: auto;
  gap: 12px;
}

._label_1cnap_72 {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
}

._emptyText_1cnap_78 {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-tertiary);
}

._errorText_1cnap_85 {
  margin: 8px 0 0;
  color: var(--danger-color, #ef4444);
  font-size: 12px;
}

._checkboxLabel_1cnap_91 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-secondary);
}

/* ========== Model entries ========== */

._policyEntry_1cnap_101 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  background: var(--bg-secondary);
}

._policyEntryHeader_1cnap_111 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

._entryActions_1cnap_118 {
  display: flex;
  align-items: center;
  gap: 2px;
}

._moveBtn_1cnap_124 {
  min-width: 26px;
  padding: 0 6px !important;
}

._lockedBadge_1cnap_129 {
  margin-left: 8px;
  padding: 1px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 400;
  color: var(--text-secondary);
  background: var(--bg-tertiary, rgb(127 127 127 / 15%));
}

._policyEntryDisabled_1cnap_139 ._policyEntryHeader_1cnap_111 {
  opacity: 0.65;
}

._srOnly_1cnap_143 {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* ========== Reasoning ========== */

._reasoningSection_1cnap_157 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  background: var(--bg-secondary);
}

._segmentedControl_1cnap_167 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}

._segmentBtn_1cnap_173 {
  min-height: 32px;
  padding: 5px 8px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md, 6px);
  background: var(--bg-primary);
  color: var(--text-secondary);
  font-size: 12px;
  cursor: pointer;
}

._segmentActive_1cnap_184 {
  border-color: var(--color-primary);
  background: var(--color-primary-soft, var(--bg-primary));
  color: var(--color-primary);
  font-weight: 600;
}

/* ========== Advanced ========== */

._advancedToggle_1cnap_193 {
  background: none;
  border: none;
  color: var(--text-secondary);
  font-size: 13px;
  cursor: pointer;
  padding: 4px 0;
  text-align: left;
}

._advancedGrid_1cnap_203 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

._field_1cnap_209 {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

._field_1cnap_209 input {
  padding: 6px 8px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md, 6px);
  background: var(--bg-primary);
  color: var(--text-primary);
  font-size: 13px;
  width: 100%;
  box-sizing: border-box;
}

/* ========== Footer ========== */

._footer_1cnap_228 {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid var(--border-default);
}

@media (width <= 640px) {
  ._dialog_1cnap_27 {
    width: 100vw;
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    border-radius: 0;
    border: none;
  }

  ._content_1cnap_63 {
    padding: 12px;
  }

  ._footer_1cnap_228 {
    padding: 10px 12px 12px;
  }

  ._advancedGrid_1cnap_203 {
    grid-template-columns: 1fr;
  }
}

@media (width >= 641px) {
  ._dialog_1cnap_27 {
    height: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  ._overlay_1cnap_3 {
    animation: none;
  }
}
._overlay_1cmb6_1 {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--overlay-bg);
}

._dialog_1cmb6_12 {
  display: flex;
  flex-direction: column;
  width: 720px;
  max-width: 92vw;
  height: 72vh;
  height: 72dvh;
  max-height: 88vh;
  max-height: 88dvh;
  overflow: hidden;
  background: var(--bg-primary);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-2xl, 16px);
  box-shadow: var(--shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 50%));
}

._header_1cmb6_28 {
  flex-shrink: 0;
  border-bottom: 1px solid var(--border-default);
}

._title_1cmb6_33 {
  margin: 0;
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.3;
}

._content_1cmb6_41 {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

._toolbar_1cmb6_49 {
  display: flex;
  flex-shrink: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

._tabs_1cmb6_58 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

._tab_1cmb6_58 {
  padding: 6px 10px;
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 500;
  background: var(--bg-secondary);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md, 6px);
  cursor: pointer;
}

._tab_1cmb6_58:hover {
  color: var(--text-primary);
  border-color: var(--border-strong, var(--text-tertiary));
}

._tabActive_1cmb6_80 {
  color: var(--text-on-primary);
  background: var(--color-primary-solid);
  border-color: var(--color-primary);
}

._fileContext_1cmb6_86 {
  display: grid;
  flex-shrink: 0;
  gap: 8px;
  margin-bottom: 12px;
}

._fileContextHeader_1cmb6_93 {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

._fileContextHeader_1cmb6_93 strong {
  flex: 0 0 auto;
  color: var(--text-primary);
  font-size: 13px;
}

._fileContextHeader_1cmb6_93 span {
  min-width: 0;
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.45;
}

._ruleBoundary_1cmb6_113 {
  margin: 0;
  padding: 8px 10px;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.5;
  background: color-mix(in srgb, var(--color-warning) 8%, transparent);
  border-left: 2px solid var(--color-warning);
}

._editor_1cmb6_123 {
  flex: 1;
  width: 100%;
  min-height: 240px;
  padding: 12px;
  resize: none;
  color: var(--text-primary);
  font-family: 'SF Mono', Menlo, Monaco, Consolas, monospace;
  font-size: 13px;
  line-height: 1.6;
  background: var(--bg-secondary);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  outline: none;
}

._editor_1cmb6_123:focus {
  border-color: var(--color-primary);
}

._loading_1cmb6_143 {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 13px;
}

._error_1cmb6_153 {
  color: var(--danger-color, #ef4444);
  font-size: 13px;
}

._footer_1cmb6_158 {
  display: flex;
  flex-shrink: 0;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid var(--border-default);
}

._spin_1cmb6_166 {
  animation: _spin_1cmb6_166 1s linear infinite;
}

@keyframes _spin_1cmb6_166 {
  to {
    transform: rotate(360deg);
  }
}

@media (width <= 640px) {
  ._dialog_1cmb6_12 {
    width: 100vw;
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    border: none;
    border-radius: 0;
  }

  ._content_1cmb6_41 {
    padding: 12px;
  }

  ._toolbar_1cmb6_49 {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  ._editor_1cmb6_123 {
    min-height: 200px;
    font-size: 14px;
  }

  ._footer_1cmb6_158 {
    padding: 10px 12px 12px;
  }
}
._container_xt9j4_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow-y: auto;
}

._summaryBar_xt9j4_8 {
  margin: 0 24px;
  padding: 16px 18px;
  border: 1px solid color-mix(in srgb, var(--accent-color) 20%, var(--border));
  border-radius: 16px;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--accent-color) 8%, var(--bg-secondary)),
    var(--bg-secondary)
  );
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

._summaryMain_xt9j4_24 {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._summaryStatus_xt9j4_31 {
  font-size: 16px;
  font-weight: 650;
  color: var(--text-primary);
}

._summaryStatusEnabled_xt9j4_37 {
  color: var(--color-success);
}

._summaryMeta_xt9j4_41 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--text-secondary);
}

._summaryMeta_xt9j4_41 span + span::before {
  content: '·';
  margin-right: 12px;
  color: var(--text-tertiary);
}

._summaryActions_xt9j4_56 {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
}

._progress_xt9j4_63 {
  margin: 0 24px;
  padding: 12px 16px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 12px;
  font-size: 14px;
  color: var(--text-secondary);
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

._card_xt9j4_76 {
  margin: 16px 24px 0;
  padding: 20px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

._cardHeader_xt9j4_87 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

._cardHeader_xt9j4_87 > :first-child,
._scopeRowHeader_xt9j4_95 > :first-child {
  min-width: 0;
}

._cardHeader_xt9j4_87 > :last-child,
._scopeRowHeader_xt9j4_95 > :last-child {
  flex: 0 0 auto;
}

._cardTitleRow_xt9j4_104 {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-primary);
}

._cardTitleRow_xt9j4_104 h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

._cardDescription_xt9j4_117 {
  margin: 6px 0 0;
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.5;
}

._formGrid_xt9j4_124 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

._formGridMuted_xt9j4_130 {
  opacity: 0.72;
}

._scopeRows_xt9j4_134 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._scopeRow_xt9j4_95 {
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--bg-primary);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

._scopeRowHeader_xt9j4_95 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

._scopeRowTitle_xt9j4_157 {
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 650;
}

._scopeRowDescription_xt9j4_163 {
  margin-top: 4px;
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
}

._scopeControls_xt9j4_170 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

._orderHint_xt9j4_176 {
  padding: 10px 12px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--accent-color) 7%, var(--bg-primary));
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
}

._field_xt9j4_185 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._label_xt9j4_191 {
  font-size: 13px;
  color: var(--text-secondary);
}

._timeInput_xt9j4_196 {
  min-width: 180px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-primary);
  color: var(--text-primary);
  font-size: 14px;
}

._actionsRow_xt9j4_206 {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

._saveNotice_xt9j4_213 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--accent-color) 24%, var(--border));
  border-radius: 12px;
  background: color-mix(in srgb, var(--accent-color) 7%, var(--bg-primary));
  color: var(--text-secondary);
  font-size: 13px;
}

._helperText_xt9j4_226 {
  font-size: 12px;
  color: var(--text-tertiary);
}

._empty_xt9j4_231 {
  padding: 20px 0;
  color: var(--text-secondary);
}

._executionList_xt9j4_236 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._executionItem_xt9j4_242 {
  background: var(--bg-primary);
  border: 1px solid var(--border);
  border-radius: 12px;
}

._executionToggle_xt9j4_248 {
  width: 100%;
  padding: 14px;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

._executionHeader_xt9j4_257 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

._executionHeaderLeft_xt9j4_264 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._executionTime_xt9j4_270,
._executionCount_xt9j4_271 {
  font-size: 12px;
  color: var(--text-tertiary);
}

._executionSummary_xt9j4_276 {
  margin-top: 8px;
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.5;
}

._executionDetailList_xt9j4_283 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 14px 14px;
}

._executionDetailItem_xt9j4_290 {
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

._executionDetailHeader_xt9j4_295 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

._executionDetailName_xt9j4_302 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

._ownerTypeLabel_xt9j4_308 {
  display: block;
  margin-bottom: 2px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-tertiary);
}

._partialResult_xt9j4_318 {
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--color-warning, #eab308) 40%, var(--border));
  border-radius: 12px;
  background: color-mix(
    in srgb,
    var(--color-warning-light, rgb(234 179 8 / 10%)) 60%,
    transparent
  );
}

._partialStatusPill_xt9j4_329 {
  color: var(--color-warning, #b7791f);
  background: var(--color-warning-light, rgb(234 179 8 / 12%));
}

._executionDetailSummary_xt9j4_334 {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-secondary);
}

._advancedToggle_xt9j4_341 {
  margin-top: 12px;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--accent-color);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  cursor: pointer;
}

._advancedPanel_xt9j4_354 {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--border);
}

._candidateList_xt9j4_360 {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._candidateTitle_xt9j4_367 {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
}

._candidateSummary_xt9j4_373 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

._candidateTargetSummary_xt9j4_380 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

._candidateSummaryChip_xt9j4_386 {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  border-radius: 999px;
  border: 1px solid var(--border);
  font-size: 11px;
  color: var(--text-secondary);
  background: var(--bg-primary);
}

._candidateTargetChip_xt9j4_397 {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  border-radius: 999px;
  border: 1px solid var(--border);
  font-size: 11px;
  color: var(--text-tertiary);
  background: var(--bg-secondary);
}

._candidateTarget_topic_xt9j4_408 {
  color: var(--accent-color);
  border-color: color-mix(in srgb, var(--accent-color) 35%, var(--border));
  background: color-mix(in srgb, var(--accent-color) 8%, var(--bg-secondary));
}

._budgetStatusList_xt9j4_414 {
  margin-top: 10px;
}

._budgetChips_xt9j4_418 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

._budgetChip_xt9j4_418 {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  border-radius: 999px;
  border: 1px solid var(--border);
  font-size: 11px;
  color: var(--text-secondary);
  background: var(--bg-secondary);
}

._budgetStatus_healthy_xt9j4_436 {
  color: var(--color-success, #22c55e);
  border-color: color-mix(in srgb, var(--color-success, #22c55e) 35%, var(--border));
}

._budgetStatus_warning_xt9j4_441 {
  color: var(--color-warning, #eab308);
  border-color: color-mix(in srgb, var(--color-warning, #eab308) 45%, var(--border));
  background: var(--color-warning-light, rgb(234 179 8 / 10%));
}

._budgetStatus_over_xt9j4_447 {
  color: var(--color-danger, #ef4444);
  border-color: color-mix(in srgb, var(--color-danger, #ef4444) 45%, var(--border));
  background: color-mix(in srgb, var(--color-danger, #ef4444) 10%, var(--bg-secondary));
}

._budgetPolicyNotice_xt9j4_453 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid var(--border);
  font-size: 12px;
  line-height: 1.4;
  color: var(--text-secondary);
}

._budgetPolicyMode_xt9j4_467 {
  font-weight: 600;
  color: var(--text-primary);
}

._budgetPolicy_conservative_xt9j4_472 {
  border-color: color-mix(in srgb, var(--color-warning, #eab308) 35%, var(--border));
  background: var(--color-warning-light, rgb(234 179 8 / 10%));
}

._budgetPolicy_overBudget_xt9j4_477 {
  border-color: color-mix(in srgb, var(--color-danger, #ef4444) 35%, var(--border));
  background: color-mix(in srgb, var(--color-danger, #ef4444) 8%, var(--bg-secondary));
}

._observabilitySection_xt9j4_482 {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: color-mix(in srgb, var(--bg-secondary) 72%, var(--bg-primary));
}

._observabilityTitle_xt9j4_490 {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
}

._observabilityBlock_xt9j4_496 {
  margin-top: 8px;
}

._observabilityLabel_xt9j4_500 {
  margin-bottom: 6px;
  font-size: 11px;
  color: var(--text-tertiary);
}

._observabilityChips_xt9j4_506,
._pathList_xt9j4_507 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

._observabilityChip_xt9j4_506,
._observabilityChipStrong_xt9j4_515,
._pathChip_xt9j4_516,
._signalChip_xt9j4_517,
._reviewChip_xt9j4_518,
._decisionChip_xt9j4_519 {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  border-radius: 999px;
  border: 1px solid var(--border);
  font-size: 11px;
  color: var(--text-secondary);
  background: var(--bg-primary);
}

._observabilityChipStrong_xt9j4_515 {
  color: var(--accent-color);
  border-color: color-mix(in srgb, var(--accent-color) 30%, var(--border));
  background: color-mix(in srgb, var(--accent-color) 7%, var(--bg-primary));
}

._pathChip_xt9j4_516 {
  max-width: 100%;
  font-family: 'SF Mono', Menlo, Monaco, 'Courier New', monospace;
  color: var(--text-tertiary);
}

._signalChip_xt9j4_517 {
  color: var(--color-warning, #eab308);
  border-color: color-mix(in srgb, var(--color-warning, #eab308) 35%, var(--border));
}

._reviewChip_xt9j4_518,
._decision_needs_review_xt9j4_548 {
  color: var(--color-danger, #ef4444);
  border-color: color-mix(in srgb, var(--color-danger, #ef4444) 35%, var(--border));
  background: color-mix(in srgb, var(--color-danger, #ef4444) 7%, var(--bg-primary));
}

._decision_add_xt9j4_554,
._decision_revise_xt9j4_555,
._decision_supersede_xt9j4_556,
._decision_merge_xt9j4_557,
._decision_promoted_xt9j4_558,
._decision_merged_xt9j4_559 {
  color: rgb(16 185 129);
  border-color: rgb(16 185 129 / 35%);
}

._decision_discard_xt9j4_564,
._decision_discarded_xt9j4_565,
._decision_deferred_xt9j4_566 {
  color: var(--text-tertiary);
}

._observabilityNotice_xt9j4_570 {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-tertiary);
}

._sessionSourceList_xt9j4_577 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
  margin-top: 10px;
}

._sessionSourceItem_xt9j4_584 {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-primary);
}

._sessionSourceHeader_xt9j4_592,
._sessionSourceMeta_xt9j4_593 {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

._sessionSourceTitle_xt9j4_599 {
  overflow: hidden;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary);
  text-overflow: ellipsis;
  white-space: nowrap;
}

._sessionSourceCount_xt9j4_608 {
  flex: 0 0 auto;
  font-size: 11px;
  color: var(--text-tertiary);
}

._sessionSourceMeta_xt9j4_593 {
  margin-top: 5px;
  overflow: hidden;
  font-family: 'SF Mono', Menlo, Monaco, 'Courier New', monospace;
  font-size: 10px;
  color: var(--text-tertiary);
}

._sessionSourceMeta_xt9j4_593 span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._stepGrid_xt9j4_628 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
  margin-top: 10px;
}

._stepSection_xt9j4_635 {
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-secondary);
}

._stepSection_complete_xt9j4_642 {
  border-color: color-mix(in srgb, var(--color-success, #22c55e) 28%, var(--border));
}

._stepSection_pending_xt9j4_646 {
  border-color: color-mix(in srgb, var(--color-warning, #eab308) 40%, var(--border));
  background: var(--color-warning-light, rgb(234 179 8 / 8%));
}

._stepList_xt9j4_651 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 7px;
}

._stepChip_xt9j4_658 {
  padding: 2px 7px;
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 11px;
  color: var(--text-secondary);
  background: var(--bg-primary);
}

._recoveryNotice_xt9j4_667 {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--color-warning, #eab308) 45%, var(--border));
  border-radius: 10px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-secondary);
  background: var(--color-warning-light, rgb(234 179 8 / 10%));
}

._recoveryTitle_xt9j4_678 {
  margin-bottom: 3px;
  font-weight: 700;
  color: var(--text-primary);
}

._recoveryError_xt9j4_684 {
  margin-top: 5px;
  color: var(--color-danger, #ef4444);
}

._decisionList_xt9j4_689,
._diagnosticList_xt9j4_690 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}

._decisionItem_xt9j4_697,
._diagnosticItem_xt9j4_698 {
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-secondary);
}

._decisionHeader_xt9j4_705 {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: flex-start;
}

._decisionText_xt9j4_712 {
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-primary);
}

._diagnosticItem_xt9j4_698 {
  display: flex;
  gap: 8px;
  align-items: baseline;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-secondary);
}

._diagnostic_warning_xt9j4_727 {
  border-color: color-mix(in srgb, var(--color-warning, #eab308) 35%, var(--border));
}

._diagnostic_error_xt9j4_731 {
  border-color: color-mix(in srgb, var(--color-danger, #ef4444) 35%, var(--border));
}

._diagnosticCode_xt9j4_735 {
  flex: 0 0 auto;
  font-family: 'SF Mono', Menlo, Monaco, 'Courier New', monospace;
  font-size: 11px;
  color: var(--text-tertiary);
}

._candidateItem_xt9j4_742 {
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-secondary);
}

._candidateHeader_xt9j4_749 {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: flex-start;
}

._candidateText_xt9j4_756 {
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-primary);
}

._candidateDisposition_xt9j4_762 {
  flex: 0 0 auto;
  padding: 2px 6px;
  border-radius: 999px;
  font-size: 11px;
  border: 1px solid var(--border);
  color: var(--text-secondary);
}

._candidateDisposition_promoted_xt9j4_771 {
  color: rgb(16 185 129);
  border-color: rgb(16 185 129 / 35%);
}

._candidateDisposition_deferred_xt9j4_776 {
  color: rgb(245 158 11);
  border-color: rgb(245 158 11 / 35%);
}

._candidateDisposition_skipped_xt9j4_781,
._candidateDisposition_duplicate_xt9j4_782 {
  color: var(--text-tertiary);
}

._candidateMeta_xt9j4_786,
._candidateReason_xt9j4_787 {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-tertiary);
}

._candidateMeta_xt9j4_786 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

._fileChipList_xt9j4_800 {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}

._fileChip_xt9j4_800 {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  font-size: 12px;
  color: var(--text-secondary);
  cursor: pointer;
}

._fileChipActive_xt9j4_820 {
  background: var(--bg-primary);
  border-color: var(--accent-color);
  color: var(--text-primary);
}

._fileChipDisabled_xt9j4_826 {
  opacity: 0.5;
  cursor: default;
}

._topicEntry_xt9j4_831 {
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--accent-color) 30%, var(--border));
  border-radius: 12px;
  background: color-mix(in srgb, var(--accent-color) 7%, var(--bg-primary));
}

._topicEntryHeader_xt9j4_838 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._topicEntryTitle_xt9j4_844 {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

._topicEntryCount_xt9j4_850 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent-color) 14%, var(--bg-secondary));
  color: var(--accent-color);
  font-size: 11px;
  font-weight: 600;
}

._topicEntryDescription_xt9j4_864 {
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-secondary);
}

._topicEntryList_xt9j4_871 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

._topicEntryPath_xt9j4_878 {
  padding: 3px 7px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--accent-color) 28%, var(--border));
  background: var(--bg-secondary);
  color: var(--text-secondary);
  font-family: 'SF Mono', Menlo, Monaco, 'Courier New', monospace;
  font-size: 11px;
}

._diffHeader_xt9j4_888 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

._diffHeaderPath_xt9j4_895 {
  font-size: 12px;
  color: var(--text-secondary);
  font-family: 'SF Mono', Menlo, Monaco, 'Courier New', monospace;
}

._diffCloseButton_xt9j4_901 {
  padding: 0 4px;
  border: none;
  background: transparent;
  color: var(--text-tertiary);
  font-size: 16px;
  cursor: pointer;
  line-height: 1;
}

._fileList_xt9j4_911 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._fileItem_xt9j4_917 {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 14px;
  background: var(--bg-primary);
  border: 1px solid var(--border);
  border-radius: 12px;
}

._filePath_xt9j4_928 {
  font-size: 14px;
  color: var(--text-primary);
}

._fileSummary_xt9j4_933 {
  margin-top: 4px;
  font-size: 12px;
  color: var(--text-secondary);
}

._diffToggle_xt9j4_939 {
  padding: 0;
  border: none;
  background: transparent;
  color: var(--accent-color);
  font-size: 12px;
  cursor: pointer;
  margin-top: 6px;
}

._diffBlock_xt9j4_949 {
  margin-top: 8px;
  padding: 10px 12px;
  background: var(--bg-primary);
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: auto;
  max-height: 300px;
}

._diffContent_xt9j4_959 {
  margin: 0;
  font-family: 'SF Mono', Menlo, Monaco, 'Courier New', monospace;
  font-size: 12px;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-all;
}

._backupRef_xt9j4_968 {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--border);
  color: var(--text-secondary);
  font-family: 'SF Mono', Menlo, Monaco, 'Courier New', monospace;
  font-size: 11px;
  overflow-wrap: anywhere;
}

._diffLineAdd_xt9j4_978 {
  color: rgb(16 185 129);
}

._diffLineRemove_xt9j4_982 {
  color: rgb(239 68 68);
}

._diffLineMeta_xt9j4_986 {
  color: var(--text-tertiary);
  font-weight: 600;
}

._spinningIcon_xt9j4_991 {
  animation: _spin_xt9j4_991 1s linear infinite;
}

._statusInline_xt9j4_995 {
  color: var(--text-tertiary);
  font-size: 12px;
  margin-left: auto;
}

@media (width <= 900px) {
  ._summaryBar_xt9j4_8 {
    align-items: stretch;
    flex-direction: column;
  }

  ._summaryActions_xt9j4_56 {
    justify-content: flex-start;
  }
}

@media (width <= 720px) {
  ._summaryBar_xt9j4_8,
  ._progress_xt9j4_63,
  ._card_xt9j4_76 {
    margin-left: 16px;
    margin-right: 16px;
  }

  ._card_xt9j4_76 {
    padding: 16px;
  }

  ._cardHeader_xt9j4_87,
  ._scopeRowHeader_xt9j4_95 {
    align-items: center;
    gap: 12px;
  }

  ._scopeRow_xt9j4_95 {
    padding: 12px;
  }
}

._progressDone_xt9j4_1035 {
  color: var(--text-success, #22c55e);
}

@keyframes _spin_xt9j4_991 {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

._sourceSection_xt9j4_1049 {
  margin-top: 10px;
}

._sourceTitle_xt9j4_1053 {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
}

._sourceText_xt9j4_1059 {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-left: 6px;
}

._sourceDate_xt9j4_1065 {
  font-size: 11px;
  color: var(--text-tertiary);
  margin-left: 6px;
}

._sourceChips_xt9j4_1071 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
  align-items: baseline;
}

._sourceChip_xt9j4_1071 {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  border-radius: 999px;
  border: 1px solid var(--border);
  font-size: 11px;
  color: var(--text-secondary);
  background: var(--bg-secondary);
}

._sourceChipGroup_xt9j4_1090 {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--accent-color) 28%, var(--border));
  background: color-mix(in srgb, var(--accent-color) 7%, var(--bg-secondary));
  font-size: 11px;
  color: var(--accent-color);
}

._sourceChipDetail_xt9j4_1101 {
  font-size: 11px;
  color: var(--text-tertiary);
  max-width: 280px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
._panel_7fp29_1 {
  position: relative;
  flex: 0 0 300px;
  width: 300px;
  min-width: 268px;
  max-width: 420px;
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--border-default);
  background: var(--bg-primary);
  color: var(--text-primary);
  overflow: hidden;
}

._mobileBackdrop_7fp29_15 {
  display: none;
}

._tab_7fp29_19:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._tabsBar_7fp29_24 {
  flex-shrink: 0;
  box-sizing: border-box;
  height: 42px;
  display: flex;
  align-items: center;
  padding: 5px 10px;
  border-bottom: 1px solid var(--border-default);
}

._panelCloseButton_7fp29_34 {
  flex: 0 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  transition:
    background-color 0.15s ease,
    color 0.15s ease;
}

._panelCloseButton_7fp29_34:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._panelCloseButton_7fp29_34:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._desktopCloseButton_7fp29_62 {
  margin-inline-end: 8px;
}

._mobileCloseButton_7fp29_66 {
  display: none;
}

._tabs_7fp29_24 {
  flex: 1;
  min-width: 0;
  display: grid;
  /* Segments derive from the actual tab count, so adding/removing a tab
     never leaves an orphan column. */
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 2px;
}

._tab_7fp29_19 {
  position: relative;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--text-tertiary);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}

/* The label is its own box so the active indicator can match the label width
   instead of a fixed inset that is unrelated to the text. */
._tabLabel_7fp29_102 {
  position: relative;
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

._tab_7fp29_19:hover {
  color: var(--text-primary);
  background: var(--bg-secondary);
}

._tabActive_7fp29_114 {
  color: var(--text-primary);
  background: color-mix(in srgb, var(--color-primary) 4%, transparent);
  font-weight: 650;
}

._tabActive_7fp29_114 ._tabLabel_7fp29_102::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: -5.5px;
  left: 0;
  height: 2px;
  border-radius: 999px;
  background: var(--color-primary);
}

._body_7fp29_131 {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 12px;
  scrollbar-color: var(--scrollbar-thumb) transparent;
}

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

._body_7fp29_131[hidden] {
  display: none;
}

/* ── Current tab panel: flex column with scroll area + fixed footer ── */
._currentPanel_7fp29_151 {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

._currentPanel_7fp29_151[hidden] {
  display: none;
}

._currentScrollArea_7fp29_163 {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 10px 12px;
  scrollbar-color: var(--scrollbar-thumb) transparent;
}

._currentScrollArea_7fp29_163::-webkit-scrollbar {
  width: 6px;
}

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

._section_7fp29_180 {
  padding: 8px 10px;
  border: 1px solid var(--border-default);
  border-radius: 12px;
  background: color-mix(in srgb, var(--bg-secondary) 82%, var(--bg-primary));
}

._currentSection_7fp29_187 {
  padding: 10px 12px 12px;
  background: var(--bg-primary);
  border-color: color-mix(in srgb, var(--border-default) 58%, transparent);
}

._artifactSection_7fp29_193 {
  box-sizing: border-box;
  max-height: min(320px, 40vh);
  min-width: 0;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--color-primary) 14%, var(--border-default));
  background:
    radial-gradient(
      circle at 18px 18px,
      color-mix(in srgb, var(--color-primary) 7%, transparent),
      transparent 34px
    ),
    color-mix(in srgb, var(--bg-secondary) 76%, var(--bg-primary));
}

._section_7fp29_180 + ._section_7fp29_180 {
  margin-top: 10px;
}

._sectionHeader_7fp29_215 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--management-action-column-width, 48px);
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

._runStatusHeader_7fp29_223 {
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 32px;
  margin-bottom: 6px;
}

._sectionTitle_7fp29_229 {
  margin: 0;
  font-size: 12px;
  font-weight: 650;
  color: var(--text-primary);
}

._memoryLockRow_7fp29_236 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 32px;
  margin: 2px 0 0;
  padding: 4px;
  border-radius: 6px;
}

._memoryLockLabel_7fp29_247 {
  min-width: 0;
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 650;
}

._memoryLockSwitch_7fp29_254 {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
}

._emptyText_7fp29_261 {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-secondary);
}

._idleState_7fp29_268 {
  padding: 2px 0 0;
}

._metricRow_7fp29_272 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
  line-height: 1.5;
}

._metricRow_7fp29_272 + ._metricRow_7fp29_272 {
  margin-top: 6px;
}

._metricInlineRow_7fp29_285 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

._metricInlineRow_7fp29_285 ._metricRow_7fp29_272 {
  min-width: 0;
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 4px;
}

._metricInlineRow_7fp29_285 ._metricRow_7fp29_272 + ._metricRow_7fp29_272 {
  margin-top: 0;
}

._metricInlineRow_7fp29_285 ._metricRow_7fp29_272:last-child {
  justify-content: flex-end;
}

._metricInlineRow_7fp29_285 ._metricValue_7fp29_307 {
  max-width: 100%;
  text-align: left;
}

._metricInlineRow_7fp29_285 ._metricRow_7fp29_272:last-child ._metricValue_7fp29_307 {
  text-align: right;
}

._metricLabel_7fp29_316 {
  color: var(--text-tertiary);
  white-space: nowrap;
  flex-shrink: 0;
}

._metricValue_7fp29_307 {
  min-width: 0;
  text-align: right;
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._runTitle_7fp29_331 {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 10px;
  color: var(--text-secondary);
  cursor: default;
  outline: none;
}

._runTitle_7fp29_331:focus-visible {
  border-radius: 4px;
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._runTitleText_7fp29_348 {
  min-width: 0;
  flex: 1;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.45;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._runTitleLabel_7fp29_359 {
  display: inline-block;
  margin-right: 6px;
  padding: 1px 6px;
  border-radius: 4px;
  background: color-mix(in srgb, var(--color-primary) 8%, transparent);
  color: var(--color-primary);
  font-size: 10px;
  font-weight: 600;
  vertical-align: 1px;
}

._statusRowRight_7fp29_371 {
  grid-column: 2;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

._statusRowLeft_7fp29_380 {
  min-width: 0;
  display: inline-flex;
  align-items: center;
}

._statusModel_7fp29_386 {
  flex: 1;
  min-width: 0;
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._stopButton_7fp29_397 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 4px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  flex-shrink: 0;
  transition:
    border-color 0.15s ease,
    color 0.15s ease,
    background 0.15s ease;
}

._stopButton_7fp29_397:hover {
  color: var(--color-danger, #ef4444);
  background: color-mix(in srgb, var(--color-danger, #ef4444) 8%, transparent);
}

._stopButton_7fp29_397:active {
  transform: scale(0.92);
}

._stopButton_7fp29_397:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._statusPill_7fp29_429 {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 5px;
  min-height: 32px;
  padding: 0;
  font-size: 11px;
  font-weight: 650;
  color: var(--text-secondary);
  background: transparent;
  white-space: nowrap;
}

._configBadge_7fp29_443 {
  display: inline-flex;
  align-items: center;
  justify-self: end;
  height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 650;
  white-space: nowrap;
  color: var(--text-tertiary);
  background: var(--bg-tertiary);
}

._capabilityList_7fp29_457 {
  display: grid;
  gap: 2px;
  margin-top: 8px;
}

._capabilityRow_7fp29_463 {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) var(--management-action-column-width, 48px);
  gap: 4px 6px;
  align-items: center;
  min-width: 0;
  padding: 6px 4px;
  border-radius: 6px;
}

._capabilityRow_7fp29_463:not(:last-child) {
  padding-bottom: 8px;
}

._capabilityActions_7fp29_477 {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
}

._capabilityActionsInline_7fp29_485 {
  grid-column: 2 / -1;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  justify-self: stretch;
  gap: 8px;
  min-width: 0;
}

._automationTimeRow_7fp29_496 {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 8px;
  align-items: center;
  color: var(--text-secondary);
  font-size: 11px;
}

._automationTimeInput_7fp29_506 {
  width: 88px;
  min-height: 28px;
  padding: 3px 6px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  font: inherit;
}

._automationTimeInput_7fp29_506:focus-visible {
  border-color: var(--color-primary);
  outline: 2px solid color-mix(in srgb, var(--color-primary) 24%, transparent);
  outline-offset: 1px;
}

._automationTimeHint_7fp29_523 {
  grid-column: 1 / -1;
  color: var(--text-tertiary);
  line-height: 1.4;
}

._capabilityProgress_7fp29_529 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  margin-right: auto;
  color: var(--color-info);
  font-size: 11px;
  line-height: 1.4;
  white-space: nowrap;
}

._capabilityProgressSpinner_7fp29_541 {
  flex: 0 0 auto;
  animation: _capabilityProgressSpin_7fp29_541 0.9s linear infinite;
}

@keyframes _capabilityProgressSpin_7fp29_541 {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  ._capabilityProgressSpinner_7fp29_541 {
    animation: none;
  }
}

._capabilityActionColumn_7fp29_558 {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  min-width: 0;
}

._capabilityLink_7fp29_566 {
  display: inline-flex;
  align-items: center;
  padding: 2px 4px;
  border: none;
  background: transparent;
  color: var(--color-primary);
  font-size: 11px;
  line-height: 1.4;
  cursor: pointer;
  white-space: nowrap;
}

._capabilityLink_7fp29_566:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

._capabilityLabel_7fp29_584 {
  color: var(--text-tertiary);
  font-size: 12px;
  font-weight: 650;
}

._capabilityValue_7fp29_590 {
  min-width: 0;
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.4;
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._workspaceFileRow_7fp29_601 {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) var(
      --management-action-column-width,
      48px
    );
}

._workspaceFileName_7fp29_608 {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  color: var(--text-primary);
  font-size: 12px;
  line-height: 1.4;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._workspaceFileName_7fp29_608 > svg {
  flex: 0 0 auto;
  color: var(--text-tertiary);
}

._workspaceFileDescription_7fp29_627 {
  min-width: 0;
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._workspaceFileDescription_7fp29_627:focus-visible {
  border-radius: 3px;
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

@media (width <= 768px) {
  ._workspaceFileDescription_7fp29_627:focus {
    overflow: visible;
    white-space: normal;
  }
}

._capabilityValueFull_7fp29_650 {
  grid-column: 1 / 3;
  min-width: 0;
  color: var(--text-primary);
  font-size: 12px;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._capabilityMeta_7fp29_661 {
  justify-self: end;
  color: var(--text-tertiary);
  font-size: 11px;
  white-space: nowrap;
}

._statusDot_7fp29_668 {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: currentcolor;
}

._statusPill_running_7fp29_675 {
  color: var(--color-info);
  background: transparent;
}

._statusPill_completed_7fp29_680 {
  color: var(--color-success);
  background: transparent;
}

._statusPill_failed_7fp29_685 {
  color: var(--color-danger, #ef4444);
  background: transparent;
}

._statusPill_stopped_7fp29_690 {
  color: var(--color-warning, #f59e0b);
  background: transparent;
}

._statusPill_idle_7fp29_695 {
  color: var(--text-tertiary);
  background: transparent;
}

._tokenMetric_7fp29_700 {
  cursor: default;
  outline: none;
}

._tokenMetricRow_7fp29_705 {
  margin-top: 8px;
}

._tokenMetricRow_7fp29_705 ._tokenMetric_7fp29_700 {
  width: 100%;
}

._tokenMetric_7fp29_700:focus-visible {
  border-radius: 4px;
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._tokenTooltip_7fp29_719 {
  display: grid;
  gap: 3px;
}

._srOnly_7fp29_724 {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

._hint_7fp29_736 {
  margin: 8px 0 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--text-tertiary);
}

._capabilityHint_7fp29_743 {
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--text-tertiary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._inlineActions_7fp29_753 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

._needsAttention_7fp29_760 {
  margin-top: 12px;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--color-warning) 34%, var(--border-default));
  border-radius: 10px;
  background: color-mix(in srgb, var(--color-warning) 7%, var(--bg-primary));
  overflow: hidden;
  min-width: 0;
}

._needsAttentionTitle_7fp29_770 {
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
}

._blockerList_7fp29_777 {
  display: grid;
  gap: 6px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

._blockerItem_7fp29_785 {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding-left: 9px;
  border-left: 2px solid color-mix(in srgb, var(--color-warning) 54%, transparent);
}

._blockerItem_error_7fp29_793 {
  border-left-color: color-mix(in srgb, var(--color-danger) 62%, transparent);
}

._blockerItem_guidance_7fp29_797 {
  border-left-color: color-mix(in srgb, var(--color-primary) 58%, transparent);
}

._blockerLabel_7fp29_801 {
  color: var(--text-primary);
  font-size: 12px;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._blockerDetail_7fp29_810 {
  overflow: hidden;
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── Fixed footer ───────────────────────────────────────── */
._panelFooter_7fp29_820 {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 8px 12px;
  border-top: 1px solid var(--border-default);
  background: var(--bg-primary);
}

._footerLink_7fp29_831 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border: none;
  background: none;
  color: var(--text-tertiary);
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
  border-radius: 6px;
  transition:
    color 0.15s ease,
    background 0.15s ease;
}

._footerLink_7fp29_831:hover {
  color: var(--text-primary);
  background: var(--bg-secondary);
}

._footerLink_7fp29_831:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 4px;
}

._footerLinkSuccess_7fp29_859 {
  color: var(--color-success);
}

._footerDivider_7fp29_863 {
  width: 1px;
  height: 14px;
  background: var(--border-default);
  flex-shrink: 0;
}

._sessionTools_7fp29_870 {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid color-mix(in srgb, var(--border-default) 68%, transparent);
}

._sessionToolsLabel_7fp29_876 {
  display: block;
  color: var(--text-tertiary);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
}

._inlineButton_7fp29_884 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 7px;
  border: 1px solid color-mix(in srgb, var(--border-default) 78%, transparent);
  border-radius: 7px;
  background: color-mix(in srgb, var(--bg-primary) 70%, transparent);
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.45;
  cursor: pointer;
}

._inlineButton_7fp29_884:hover {
  color: var(--text-primary);
  border-color: color-mix(in srgb, var(--color-primary) 45%, var(--border-default));
  background: color-mix(in srgb, var(--bg-tertiary) 80%, var(--bg-primary));
}

._inlineButtonSuccess_7fp29_904,
._inlineButtonSuccess_7fp29_904:hover {
  color: var(--color-success);
  border-color: color-mix(in srgb, var(--color-success) 38%, var(--border-default));
  background: color-mix(in srgb, var(--color-success) 9%, var(--bg-primary));
}

._inlineButton_7fp29_884:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._linkButton_7fp29_916 {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  margin: 8px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-primary);
  font-size: 11px;
  line-height: 1.45;
  text-align: left;
  cursor: pointer;
}

._linkButton_7fp29_916:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

._linkButton_7fp29_916:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 4px;
}

._ctaButton_7fp29_942 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 10px 0 0;
  padding: 6px 14px;
  border: 1px solid var(--border-default);
  border-radius: 8px;
  background: var(--bg-primary);
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 550;
  line-height: 1.45;
  cursor: pointer;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}

._ctaButton_7fp29_942:hover {
  border-color: var(--color-primary);
  background: var(--bg-tertiary);
}

._ctaButton_7fp29_942:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._sectionHeaderActions_7fp29_971 {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  gap: 6px;
  min-width: 0;
}

._sectionHeaderLeft_7fp29_980 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

._headerActionButton_7fp29_987 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  padding: 2px 7px;
  border: 1px solid var(--border-default);
  border-radius: 999px;
  background: var(--bg-primary);
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.4;
  cursor: pointer;
  justify-self: end;
  white-space: nowrap;
}

._headerActionButton_7fp29_987:hover:not(:disabled) {
  color: var(--text-primary);
  border-color: var(--color-primary);
  background: var(--bg-tertiary);
}

._headerActionButton_7fp29_987:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

._headerActionButton_7fp29_987:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._modelSummary_7fp29_1020 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

._modelSummaryPrimary_7fp29_1027 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

._modelSummaryMeta_7fp29_1038 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.45;
}

._modelSummaryHint_7fp29_1048 {
  margin: 2px 0 0;
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.45;
}

._artifactScrollArea_7fp29_1055 {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 2px;
}

._artifactScrollAreaFaded_7fp29_1063 {
  mask-image: linear-gradient(to bottom, black 0, black calc(100% - 12px), transparent 100%);
}

._artifactTreeStack_7fp29_1067 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 0;
}

._artifactTreeScroll_7fp29_1074 {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 2px;
}

._unscopedArtifacts_7fp29_1082 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 8px;
  border-top: 1px solid var(--border-subtle);
}

._unscopedArtifactsLabel_7fp29_1090 {
  color: var(--text-tertiary);
  font-size: 11px;
  font-weight: 600;
}

._goalProgressTrack_7fp29_1096 {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--bg-tertiary);
}

._goalProgressFill_7fp29_1103 {
  height: 100%;
  border-radius: inherit;
  background: var(--color-info);
  transition: width 160ms ease;
}

._goalSection_7fp29_1110 {
  gap: 10px;
}

._goalReadModelHeader_7fp29_1114 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

._goalHeadingGroup_7fp29_1121 {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

._goalTitle_7fp29_1128 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}

._goalSummary_7fp29_1139 {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

._goalStatus_7fp29_1146 {
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  font-size: 10px;
  font-weight: 650;
  line-height: 1.4;
}

._goalStatus_7fp29_1146[data-status='completed'] {
  background: color-mix(in srgb, var(--color-success) 12%, transparent);
  color: var(--color-success);
}

._goalStatus_7fp29_1146[data-status='blocked'] {
  background: color-mix(in srgb, var(--color-warning) 14%, transparent);
  color: var(--color-warning);
}

._goalStatus_7fp29_1146[data-status='stale'] {
  background: color-mix(in srgb, var(--color-warning) 14%, transparent);
  color: var(--color-warning);
}

._goalNotice_7fp29_1171 {
  margin: 0;
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.45;
}

._goalBlocked_7fp29_1178 {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  padding: 8px 9px;
  border-left: 2px solid var(--color-warning);
  background: color-mix(in srgb, var(--color-warning) 7%, transparent);
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.45;
}

._goalBlocked_7fp29_1178 svg {
  margin-top: 1px;
  color: var(--color-warning);
}

._goalBlocked_7fp29_1178 strong,
._goalBlocked_7fp29_1178 p {
  margin: 0;
}

._goalResumeAction_7fp29_1200 {
  color: var(--text-tertiary);
}

._goalOutcomeList_7fp29_1204 {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

._goalOutcome_7fp29_1204 {
  border-top: 1px solid var(--border-subtle);
}

._goalOutcomeButton_7fp29_1214,
._goalOutcomeRow_7fp29_1215 {
  width: 100%;
  min-height: 32px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 5px 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

._goalOutcomeRow_7fp29_1215 {
  cursor: default;
}

._goalOutcomeButton_7fp29_1214:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._goalOutcomeIcon_7fp29_1239 {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--text-tertiary);
}

._goalOutcomeChecked_7fp29_1248 ._goalOutcomeIcon_7fp29_1239 {
  color: var(--color-success);
}

._goalOutcomeTitle_7fp29_1252 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
}

._goalOutcomeChecked_7fp29_1248 ._goalOutcomeTitle_7fp29_1252 {
  color: var(--text-tertiary);
  text-decoration: line-through;
}

._goalOutcomeChevron_7fp29_1268 {
  color: var(--text-tertiary);
  transition: transform 140ms ease;
}

._goalOutcomeChevronOpen_7fp29_1273 {
  transform: rotate(180deg);
}

._goalOutcomeDetails_7fp29_1277 {
  display: grid;
  gap: 6px;
  margin: 0 0 8px 24px;
  padding: 7px 8px;
  background: var(--bg-tertiary);
}

._goalOutcomeDetail_7fp29_1277 {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 7px;
  font-size: 11px;
  line-height: 1.45;
}

._goalOutcomeDetail_7fp29_1277 dt {
  color: var(--text-tertiary);
  font-weight: 600;
}

._goalOutcomeDetail_7fp29_1277 dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--text-secondary);
}

._goalProgressValue_7fp29_1305 {
  flex-shrink: 0;
  color: var(--text-tertiary);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
}

._goalProgressHeaderMeta_7fp29_1313 {
  min-width: 0;
  display: inline-flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 8px;
}

._goalTodoLink_7fp29_1321 {
  flex-shrink: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-primary);
  font: inherit;
  font-size: 11px;
  line-height: 1.2;
  cursor: pointer;
}

._goalTodoLink_7fp29_1321:hover {
  text-decoration: underline;
}

._goalTodoLink_7fp29_1321:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._readOnlyNotice_7fp29_1342 {
  margin: 8px 0 0;
  padding: 8px 10px;
  border-radius: 10px;
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.45;
}

._summaryList_7fp29_1352 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

._goalTaskList_7fp29_1361 {
  max-height: 184px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 2px;
  gap: 4px;
}

._goalTaskItem_7fp29_1369 {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  min-height: 24px;
  padding: 1px 0;
}

._goalTaskStatusLabel_7fp29_1378 {
  min-width: 48px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--text-secondary);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.35;
}

._goalTaskContent_7fp29_1389 {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

._goalTaskStatusIcon_7fp29_1396 {
  position: relative;
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border: 1.5px solid color-mix(in srgb, var(--text-tertiary) 78%, transparent);
  border-radius: 999px;
  box-sizing: border-box;
}

._goalTaskTitle_7fp29_1406 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
}

._goalTaskMeta_7fp29_1417 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-tertiary);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.35;
}

._goalTaskItem_completed_7fp29_1428 ._goalTaskStatusLabel_7fp29_1378 {
  color: var(--color-success, #22c55e);
}

._goalTaskItem_completed_7fp29_1428 ._goalTaskStatusIcon_7fp29_1396 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-color: var(--color-success, #22c55e);
  background: var(--color-success, #22c55e);
}

._goalTaskItem_completed_7fp29_1428 ._goalTaskStatusIcon_7fp29_1396::after {
  content: '';
  width: 5px;
  height: 3px;
  border-left: 1.5px solid var(--bg-primary);
  border-bottom: 1.5px solid var(--bg-primary);
  transform: rotate(-45deg) translate(0.5px, -0.5px);
}

._goalTaskItem_completed_7fp29_1428 ._goalTaskTitle_7fp29_1406 {
  color: var(--text-tertiary);
  font-weight: 400;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  text-decoration-color: color-mix(in srgb, var(--text-tertiary) 42%, transparent);
}

._goalTaskItem_pending_7fp29_1457 ._goalTaskStatusLabel_7fp29_1378 {
  color: var(--text-secondary);
}

._goalTaskItem_pending_7fp29_1457 ._goalTaskTitle_7fp29_1406 {
  color: var(--text-primary);
}

._summaryItem_7fp29_1465 {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  min-height: 24px;
}

._memberAvatar_7fp29_1473 {
  box-shadow: 0 0 0 1px var(--border-default);
}

._summaryMain_7fp29_1477 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-primary);
  font-size: 12px;
  line-height: 1.5;
}

._memberList_7fp29_1487 {
  max-height: 188px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 2px;
  gap: 2px;
  scrollbar-width: none;
}

._memberList_7fp29_1487::-webkit-scrollbar {
  width: 0;
  background: transparent;
}

._memberList_7fp29_1487:hover {
  scrollbar-width: thin;
}

._memberList_7fp29_1487:hover::-webkit-scrollbar {
  width: 4px;
}

._memberList_7fp29_1487:hover::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--text-tertiary) 36%, transparent);
  border-radius: 4px;
}

._memberList_7fp29_1487:hover::-webkit-scrollbar-track {
  background: transparent;
}

._memberNameButton_7fp29_1518 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text-primary);
  font-size: 12px;
  line-height: 1.5;
  text-align: left;
  cursor: pointer;
}

._memberNameButton_7fp29_1518:hover {
  color: var(--text-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

._memberNameButton_7fp29_1518:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 6px;
}

._summaryMeta_7fp29_1545 {
  max-width: 72px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-tertiary);
  font-size: 11px;
}

._actionList_7fp29_1554 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

._actionButton_7fp29_1563 {
  width: 100%;
  min-height: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 8px;
  border: 1px solid var(--border-default);
  border-radius: 9px;
  background: var(--bg-primary);
  color: var(--text-secondary);
  font-size: 12px;
  text-align: left;
  cursor: pointer;
}

._actionButton_7fp29_1563:hover,
._actionButtonActive_7fp29_1581 {
  color: var(--text-primary);
  border-color: var(--color-primary);
  background: var(--bg-tertiary);
}

._actionButton_7fp29_1563:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._actionButtonDanger_7fp29_1592 {
  color: var(--color-danger, #ef4444);
}

._actionButtonDanger_7fp29_1592:hover {
  border-color: var(--color-danger, #ef4444);
}

._dangerSection_7fp29_1600 {
  border-color: color-mix(in srgb, var(--color-danger, #ef4444) 32%, var(--border-default));
}

._dangerPill_7fp29_1604 {
  flex-shrink: 0;
  justify-self: end;
  padding: 2px 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-danger, #ef4444) 12%, transparent);
  color: var(--color-danger, #ef4444);
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}

._actionMeta_7fp29_1616 {
  flex-shrink: 0;
  color: var(--text-tertiary);
  font-size: 11px;
}

._artifactList_7fp29_1622 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

._artifactItem_7fp29_1631 {
  min-width: 0;
}

._artifactReceipt_7fp29_1635 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 0;
}

._artifactReceiptContext_7fp29_1642 {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 2px;
}

._artifactReceiptLabel_7fp29_1650 {
  flex-shrink: 0;
  color: var(--text-tertiary);
  font-size: 11px;
  font-weight: 600;
}

._artifactReceiptRoot_7fp29_1657 {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 650;
}

._artifactReceiptActionButton_7fp29_1668 {
  flex-shrink: 0;
  min-width: 34px;
  min-height: 20px;
  padding: 2px 6px;
  border: 1px solid color-mix(in srgb, var(--border-default) 80%, transparent);
  border-radius: 7px;
  background: color-mix(in srgb, var(--bg-secondary) 70%, var(--bg-primary));
  color: var(--text-secondary);
  font-size: 10px;
  font-weight: 600;
  cursor: pointer;
  transition:
    border-color 150ms ease,
    background 150ms ease,
    color 150ms ease;
}

._artifactReceiptActionButton_7fp29_1668:hover {
  border-color: color-mix(in srgb, var(--color-primary) 42%, var(--border-default));
  background: color-mix(in srgb, var(--color-primary) 8%, var(--bg-primary));
  color: var(--color-primary);
}

._artifactReceiptActionButton_7fp29_1668:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._artifactTreeList_7fp29_1697 {
  margin: 0;
  padding: 0;
  list-style: none;
}

._artifactTreeItem_7fp29_1703 {
  min-width: 0;
}

._artifactTreeRow_7fp29_1707 {
  min-width: 0;
  min-height: 23px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px;
  padding: 0 2px;
  border-radius: 6px;
}

._artifactTreeRow_7fp29_1707:hover {
  background: color-mix(in srgb, var(--bg-tertiary) 82%, var(--bg-primary));
}

._artifactTreeDirectoryRow_7fp29_1722 {
  color: var(--text-tertiary);
  font-weight: 600;
}

._artifactTreeFileRow_7fp29_1727 {
  color: var(--text-primary);
  font-weight: 580;
}

._artifactTreeFileRowDeleted_7fp29_1732 {
  color: color-mix(in srgb, var(--text-tertiary) 82%, transparent);
}

._artifactTreeFileButton_7fp29_1736 {
  min-width: 0;
  min-height: 23px;
  display: flex;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

._artifactTreeDirectoryButton_7fp29_1749 {
  min-width: 0;
  min-height: 23px;
  display: flex;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

._artifactTreeChevron_7fp29_1763 {
  flex-shrink: 0;
  color: color-mix(in srgb, var(--text-tertiary) 72%, transparent);
  transition: transform 140ms ease;
}

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

._artifactTreeFileButton_7fp29_1736:hover ._artifactTreeName_7fp29_1773 {
  color: var(--text-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

._artifactTreeFileRowDeleted_7fp29_1732 ._artifactTreeName_7fp29_1773 {
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  text-decoration-color: color-mix(in srgb, var(--text-tertiary) 72%, transparent);
}

._artifactTreeFileRowDeleted_7fp29_1732 ._artifactTreeFileButton_7fp29_1736:hover ._artifactTreeName_7fp29_1773 {
  color: var(--text-secondary);
}

._artifactTreeMain_7fp29_1789 {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  overflow: hidden;
}

._artifactTreeMain_7fp29_1789 > svg {
  flex: 0 0 auto;
  color: var(--text-tertiary);
}

._artifactTreeName_7fp29_1773 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  line-height: 1.35;
}

._artifactTreeChangePill_7fp29_1811 {
  flex-shrink: 0;
  height: 16px;
  display: inline-flex;
  align-items: center;
  padding: 0 5px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 720;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

._artifactTreeChangePill_created_7fp29_1824 {
  color: color-mix(in srgb, #047857 88%, var(--text-primary));
  background: color-mix(in srgb, #10b981 14%, transparent);
}

._artifactTreeChangePill_edited_7fp29_1829 {
  color: color-mix(in srgb, #b45309 86%, var(--text-primary));
  background: color-mix(in srgb, #f59e0b 15%, transparent);
}

._artifactTreeChangePill_deleted_7fp29_1834 {
  color: color-mix(in srgb, #b91c1c 84%, var(--text-primary));
  background: color-mix(in srgb, #ef4444 13%, transparent);
}

._artifactTreeFileButton_7fp29_1736:focus-visible,
._artifactTreeDirectoryButton_7fp29_1749:focus-visible,
._artifactReceiptActionButton_7fp29_1668:focus-visible,
._artifactTreeCopyButton_7fp29_1842:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 8px;
}

._artifactTreeFileButton_7fp29_1736:disabled {
  cursor: default;
  opacity: 0.65;
}

._artifactTreeCopyButton_7fp29_1842 {
  flex-shrink: 0;
  min-width: 34px;
  min-height: 20px;
  padding: 2px 6px;
  border: 1px solid color-mix(in srgb, var(--border-default) 80%, transparent);
  border-radius: 7px;
  background: color-mix(in srgb, var(--bg-secondary) 70%, var(--bg-primary));
  color: var(--text-secondary);
  font-size: 10px;
  font-weight: 600;
  cursor: pointer;
  opacity: 0;
  user-select: none;
  transition:
    border-color 150ms ease,
    background 150ms ease,
    color 150ms ease;
}

._artifactTreeRow_7fp29_1707:hover ._artifactTreeCopyButton_7fp29_1842,
._artifactTreeRow_7fp29_1707:focus-within ._artifactTreeCopyButton_7fp29_1842,
._artifactTreeCopyButton_7fp29_1842._inlineButtonSuccess_7fp29_904 {
  opacity: 1;
}

._artifactTreeCopyButton_7fp29_1842:hover {
  border-color: color-mix(in srgb, var(--color-primary) 42%, var(--border-default));
  background: color-mix(in srgb, var(--color-primary) 8%, var(--bg-primary));
  color: var(--color-primary);
}

._artifactButton_7fp29_1885 {
  width: 100%;
  min-height: 42px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 3px;
  padding: 6px 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

._artifactButton_7fp29_1885:hover ._artifactText_7fp29_1900 {
  color: var(--text-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

._artifactButton_7fp29_1885:disabled {
  cursor: default;
  opacity: 0.65;
}

._artifactButton_7fp29_1885:disabled ._artifactText_7fp29_1900 {
  text-decoration: none;
}

._artifactButton_7fp29_1885:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 8px;
}

._artifactText_7fp29_1900 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.35;
}

._artifactMeta_7fp29_1932 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.35;
}

@media (width <= 768px) {
  ._mobileBackdrop_7fp29_15 {
    position: absolute;
    inset: 0;
    z-index: 29;
    display: block;
    border: 0;
    background: color-mix(in srgb, var(--bg-primary) 55%, transparent);
    cursor: default;
  }

  ._panel_7fp29_1 {
    position: absolute;
    inset: 0 0 0 auto;
    z-index: 30;
    width: min(88vw, 340px);
    flex-basis: auto;
    box-shadow: var(--shadow-lg);
  }

  ._mobileCloseButton_7fp29_66 {
    display: inline-flex;
    margin-inline-start: 8px;
  }
}

@media (width <= 640px) {
  ._panel_7fp29_1 {
    width: 100vw;
    min-width: 0;
    max-width: none;
    border-left: 0;
    box-shadow: none;
  }
}
/* Shared dialog header / content / footer styles for Automation dialogs.
   槽位内边距交回 common/Dialog 默认 20px（--dialog-padding），此处只保留
   分隔线与布局，避免与默认值重复声明。 */

._header_4ffj6_5 {
  border-bottom: 1px solid var(--border-default);
}

._headerInner_4ffj6_9 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}

._dialogTitle_4ffj6_17 {
  margin: 0;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.3;
  color: var(--text-primary);
}

._content_4ffj6_25 {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow-y: auto;
}

._footer_4ffj6_33 {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid var(--border-default);
}

/* ========== Task list ========== */

._taskList_4ffj6_43 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._taskItem_4ffj6_49 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--border-default);
  border-radius: 8px;
  background: var(--bg-secondary);
}

._taskInfo_4ffj6_60 {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

._taskName_4ffj6_67 {
  font-size: 13px;
  font-weight: 550;
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._taskCron_4ffj6_76 {
  font-size: 11px;
  color: var(--text-tertiary);
}

._taskActions_4ffj6_81 {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

._iconBtn_4ffj6_88 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid var(--border-default);
  border-radius: 6px;
  background: transparent;
  color: var(--text-tertiary);
  font-size: 12px;
  cursor: pointer;
  transition:
    background 0.15s ease,
    color 0.15s ease,
    border-color 0.15s ease;
}

._iconBtn_4ffj6_88:hover {
  color: var(--text-secondary);
  border-color: var(--text-tertiary);
}

._iconBtn_4ffj6_88:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._deleteBtn_4ffj6_117:hover {
  color: var(--color-danger);
  border-color: var(--color-danger);
  background: color-mix(in srgb, var(--color-danger) 8%, transparent);
}

/* ========== Create / edit form ========== */

._formBody_4ffj6_125 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._formBody_4ffj6_125 input,
._formBody_4ffj6_125 select,
._formBody_4ffj6_125 textarea {
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-size: 14px;
  font-family: inherit;
  transition: all 0.15s ease;
}

._formBody_4ffj6_125 input:focus,
._formBody_4ffj6_125 select:focus,
._formBody_4ffj6_125 textarea:focus {
  outline: none;
  border-color: var(--accent-color);
}

._formBody_4ffj6_125 textarea {
  min-height: 80px;
  resize: vertical;
}

._clearContextRow_4ffj6_156 {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 0;
}

._clearContextLabel_4ffj6_163 {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 14px;
  color: var(--text-primary);
}

._clearContextHint_4ffj6_171 {
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.4;
}
._overlay_j7zx3_1 {
  z-index: 1003;
}

._dialog_j7zx3_5 {
  height: min(520px, 84vh);
  height: min(520px, 84dvh);
  overscroll-behavior: contain;
}

._header_j7zx3_11 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 18px 12px;
  border-bottom: 1px solid var(--border-color);
}

._titleRow_j7zx3_19,
._titleGroup_j7zx3_20,
._languageControls_j7zx3_21,
._panelHeader_j7zx3_22,
._status_j7zx3_23,
._errorState_j7zx3_24 {
  display: flex;
  align-items: center;
}

._titleRow_j7zx3_19 {
  justify-content: space-between;
  gap: 16px;
}

._titleGroup_j7zx3_20 {
  min-width: 0;
  gap: 8px;
  color: var(--text-primary);
}

._title_j7zx3_19 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
}

._modelBadge_j7zx3_47 {
  min-width: 0;
  max-width: 220px;
  overflow: hidden;
  padding: 3px 7px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-secondary);
  color: var(--text-secondary);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._languageControls_j7zx3_21 {
  justify-content: center;
  gap: 8px;
}

._languageSelect_j7zx3_66 {
  width: min(240px, calc(50% - 24px));
}

._iconButton_j7zx3_70,
._swapButton_j7zx3_71,
._copyButton_j7zx3_72 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  touch-action: manipulation;
}

._iconButton_j7zx3_70 {
  width: 32px;
  height: 32px;
  border-radius: 6px;
}

._swapButton_j7zx3_71 {
  width: 36px;
  height: 36px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
}

._copyButton_j7zx3_72 {
  width: 30px;
  height: 30px;
  border-radius: 5px;
}

._iconButton_j7zx3_70:hover,
._swapButton_j7zx3_71:hover,
._copyButton_j7zx3_72:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._iconButton_j7zx3_70:focus-visible,
._swapButton_j7zx3_71:focus-visible,
._copyButton_j7zx3_72:focus-visible,
._retryButton_j7zx3_113:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

._columns_j7zx3_118 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  height: 100%;
  min-height: 0;
}

._panel_j7zx3_22 {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
}

._panel_j7zx3_22 + ._panel_j7zx3_22 {
  border-left: 1px solid var(--border-color);
}

._panelHeader_j7zx3_22 {
  justify-content: space-between;
  flex-shrink: 0;
  min-height: 44px;
  padding: 6px 14px 6px 18px;
  border-bottom: 1px solid var(--border-color);
  background: var(--bg-secondary);
}

._panelHeader_j7zx3_22 h3 {
  margin: 0;
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
}

._sourceInput_j7zx3_153,
._textContent_j7zx3_154 {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 18px;
  color: var(--text-primary);
  font-family: inherit;
  font-size: 14px;
  line-height: 1.7;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

._sourceInput_j7zx3_153 {
  box-sizing: border-box;
  width: 100%;
  border: none;
  border-radius: 0;
  background: transparent;
  cursor: text;
  resize: none;
}

._sourceInput_j7zx3_153:hover {
  background: var(--hover-bg);
}

._sourceInput_j7zx3_153:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--accent-color);
}

._status_j7zx3_23,
._errorState_j7zx3_24 {
  min-height: 100%;
  justify-content: center;
  gap: 8px;
  color: var(--text-secondary);
}

._errorState_j7zx3_24 {
  flex-direction: column;
  text-align: center;
}

._spinner_j7zx3_199 {
  animation: _translationSpin_j7zx3_1 0.8s linear infinite;
}

@keyframes _translationSpin_j7zx3_1 {
  to {
    transform: rotate(360deg);
  }
}

._retryButton_j7zx3_113 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-primary);
  color: var(--text-primary);
  cursor: pointer;
  touch-action: manipulation;
}

@media (prefers-reduced-motion: reduce) {
  ._spinner_j7zx3_199 {
    animation: none;
  }
}

@media (width <= 640px) {
  ._dialog_j7zx3_5 {
    height: calc(100vh - 32px);
    height: calc(100dvh - 32px);
  }

  ._header_j7zx3_11 {
    padding: 14px;
  }

  ._modelBadge_j7zx3_47 {
    max-width: 120px;
  }

  ._languageControls_j7zx3_21 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
    justify-content: stretch;
  }

  ._languageSelect_j7zx3_66 {
    width: 100%;
    min-width: 0;
    min-height: 44px;
  }

  ._iconButton_j7zx3_70,
  ._swapButton_j7zx3_71,
  ._copyButton_j7zx3_72 {
    width: 44px;
    height: 44px;
  }

  ._columns_j7zx3_118 {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
  }

  ._panel_j7zx3_22 + ._panel_j7zx3_22 {
    border-top: 1px solid var(--border-color);
    border-left: none;
  }

  ._sourceInput_j7zx3_153,
  ._textContent_j7zx3_154 {
    padding: 14px;
  }
}
._dialog_6ttrp_1 {
  width: 360px;
  max-width: 90vw;
}

._title_6ttrp_6 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}

._desc_6ttrp_13 {
  margin: 0 0 20px;
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.5;
}

._actions_6ttrp_20 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

._cancelBtn_6ttrp_26 {
  padding: 6px 16px;
  border-radius: var(--radius-md, 8px);
  border: 1px solid var(--border-default);
  background: transparent;
  color: var(--text-primary);
  font-size: 14px;
  cursor: pointer;
}

._cancelBtn_6ttrp_26:hover {
  background: var(--hover-bg);
}

._clearBtn_6ttrp_40 {
  padding: 6px 16px;
  border-radius: var(--radius-md, 8px);
  border: none;
  background: var(--color-danger, #e53e3e);
  color: #fff;
  font-size: 14px;
  cursor: pointer;
}

._clearBtn_6ttrp_40:hover {
  background: var(--color-danger-hover, #c53030);
}
._banner_1dzik_1 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  font-size: 13px;
  border-radius: 6px;
  margin: 0 16px 8px;
  animation: _slideDown_1dzik_1 0.2s ease;
}

._degraded_1dzik_12 {
  background: var(--color-warning-light);
  border: 1px solid var(--color-warning);
  color: var(--color-warning);
}

._unhealthy_1dzik_18 {
  background: var(--color-error-light);
  border: 1px solid var(--color-error);
  color: var(--color-error);
}

._message_1dzik_24 {
  flex: 1;
}

._action_1dzik_28 {
  background: transparent;
  border: 1px solid currentcolor;
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 12px;
  cursor: pointer;
  color: inherit;
  white-space: nowrap;
}

._action_1dzik_28:hover {
  opacity: 0.7;
}

._close_1dzik_43 {
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  color: inherit;
  opacity: 0.6;
  padding: 0 2px;
  line-height: 1;
}

._close_1dzik_43:hover {
  opacity: 1;
}

@keyframes _slideDown_1dzik_1 {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* DelegateBanner — 委托状态条 */

._banner_1gq2j_3 {
  position: relative;
  display: grid;
  grid-template-rows: auto auto;
  gap: 3px;
  min-height: 50px;
  padding: 8px 10px 8px 13px;
  overflow: hidden;
  background: var(--bg-primary);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-sm, 4px) var(--radius-sm, 4px) 0 0;
  box-shadow: 0 -1px 5px rgb(15 23 42 / 5%);
}

._banner_1gq2j_3::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: color-mix(in srgb, var(--accent) 72%, var(--border-default));
}

._hasReason_1gq2j_25 {
  background: var(--bg-primary);
}

._banner_1gq2j_3._paused_1gq2j_29::before {
  background: var(--color-warning, #f59e0b);
}

._thinking_1gq2j_33 {
  border-color: color-mix(in srgb, var(--color-info) 28%, var(--border-default));
}

._silent_1gq2j_37 {
  background: var(--bg-primary);
  border-color: var(--border-default);
}

._silent_1gq2j_37::before {
  background: var(--text-tertiary);
}

._failed_1gq2j_46::before {
  background: var(--color-error, #ef4444);
}

._topRow_1gq2j_50,
._detailRow_1gq2j_51,
._statusGroup_1gq2j_52,
._detailTextGroup_1gq2j_53,
._chain_1gq2j_54,
._label_1gq2j_55,
._prompt_1gq2j_56,
._counterGroup_1gq2j_57,
._actions_1gq2j_58,
._actionButton_1gq2j_59,
._delegatePreview_1gq2j_60,
._stepper_1gq2j_61,
._stepperButton_1gq2j_62 {
  display: flex;
  align-items: center;
}

._topRow_1gq2j_50 {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

._detailRow_1gq2j_51 {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

._statusGroup_1gq2j_52 {
  min-width: 0;
  gap: 7px;
}

._detailTextGroup_1gq2j_53 {
  min-width: 0;
  gap: 7px;
}

._chain_1gq2j_54 {
  min-width: 0;
  gap: 6px;
  flex-shrink: 1;
}

._agentName_1gq2j_99 {
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-primary);
}

._label_1gq2j_55 {
  gap: 4px;
  min-width: 0;
  max-width: min(48vw, 560px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0;
  border: 0;
  border-radius: var(--radius-full);
  font-size: 11px;
  line-height: 1.3;
  color: color-mix(in srgb, var(--accent) 82%, var(--text-secondary));
  font-weight: 600;
  background: transparent;
}

._silent_1gq2j_37 ._label_1gq2j_55 {
  color: var(--text-tertiary);
}

._failed_1gq2j_46 ._label_1gq2j_55 {
  color: var(--color-error, #ef4444);
}

._banner_1gq2j_3._paused_1gq2j_29 ._label_1gq2j_55 {
  color: var(--color-warning, #f59e0b);
}

._spinner_1gq2j_138 {
  animation: _spin_1gq2j_138 0.9s linear infinite;
}

._progressIcon_1gq2j_142 {
  flex-shrink: 0;
  animation: _progress-pulse_1gq2j_1 1.4s ease-in-out infinite;
}

._label_1gq2j_55[data-progress-stage='thinking'] {
  color: color-mix(in srgb, var(--color-info) 72%, var(--text-secondary));
}

._label_1gq2j_55[data-progress-stage='tool'] {
  color: color-mix(in srgb, var(--color-warning, #d97706) 58%, var(--text-secondary));
}

._label_1gq2j_55[data-progress-stage='tool-failed'] {
  color: var(--color-error, #ef4444);
}

._label_1gq2j_55[data-progress-stage='drafting'] {
  color: color-mix(in srgb, var(--color-success, #16a34a) 62%, var(--text-secondary));
}

._label_1gq2j_55[data-progress-stage='submitting'],
._label_1gq2j_55[data-progress-stage='replying'] {
  color: color-mix(in srgb, var(--color-success, #16a34a) 82%, var(--text-secondary));
}

._prompt_1gq2j_56 {
  min-width: 0;
  max-width: min(42vw, 520px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  line-height: 1.35;
  color: var(--text-secondary);
}

._statusReason_1gq2j_179 {
  min-width: 0;
  flex-shrink: 0;
  max-width: min(28vw, 360px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  line-height: 1.35;
  color: var(--color-warning, #f59e0b);
}

._failed_1gq2j_46 ._statusReason_1gq2j_179 {
  color: var(--color-error, #ef4444);
}

._failed_1gq2j_46 ._detailRow_1gq2j_51 {
  grid-template-columns: minmax(0, 1fr);
}

._failed_1gq2j_46 ._counterGroup_1gq2j_57 {
  display: none;
}

._counterGroup_1gq2j_57 {
  gap: 5px;
  min-width: max-content;
}

._counterPill_1gq2j_208 {
  padding: 0;
  border: 0;
  border-radius: 0;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  color: var(--text-tertiary);
  background: transparent;
  white-space: nowrap;
}

._counterPill_1gq2j_208 + ._counterPill_1gq2j_208::before {
  content: '·';
  margin-right: 5px;
  color: var(--border-strong);
}

._actions_1gq2j_58 {
  gap: 4px;
  flex-shrink: 0;
}

._actionButton_1gq2j_59 {
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-tertiary);
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  cursor: pointer;
  white-space: nowrap;
  transition:
    color 0.15s ease,
    border-color 0.15s ease,
    background 0.15s ease;
}

._progressAction_1gq2j_249 {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 24px;
  padding: 0 2px 0 4px;
  border: 0;
  border-radius: var(--radius-sm, 4px);
  color: var(--text-tertiary);
  background: transparent;
  font-size: 10.5px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition:
    color 0.15s ease,
    background 0.15s ease;
}

._progressAction_1gq2j_249:hover {
  color: var(--text-secondary);
  background: var(--bg-hover);
}

._progressAction_1gq2j_249[aria-expanded='true'] {
  color: var(--text-secondary);
}

._progressAction_1gq2j_249:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-info-light);
}

._actionButton_1gq2j_59:hover:not(:disabled) {
  color: var(--text-primary);
  border-color: var(--border-default);
  background: var(--bg-hover);
}

._actionText_1gq2j_289 {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

._actionButton_1gq2j_59:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--accent-light, rgb(59 130 246 / 20%));
}

._actionButton_1gq2j_59:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

._terminate_1gq2j_308 {
  color: var(--color-warning, #f59e0b);
}

._terminate_1gq2j_308:hover:not(:disabled) {
  color: var(--color-error, #ef4444);
  border-color: var(--color-error, #ef4444);
  background: var(--color-error-light, rgb(239 68 68 / 8%));
}

._progressList_1gq2j_318 {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin: 5px 0 0;
  padding: 7px 0 1px 25px;
  border-top: 1px solid var(--border-default);
  list-style: none;
}

._progressItem_1gq2j_329 {
  display: grid;
  grid-template-columns: 6px minmax(0, 1fr);
  align-items: baseline;
  gap: 7px;
  min-width: 0;
  font-size: 11px;
  line-height: 1.4;
  color: var(--text-secondary);
}

._progressItem_1gq2j_329 span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._progressDot_1gq2j_346 {
  width: 5px;
  height: 5px;
  border-radius: var(--radius-full);
  background: var(--text-tertiary);
}

._progressItem_1gq2j_329:last-child {
  color: var(--text-primary);
}

._progressItem_1gq2j_329:last-child ._progressDot_1gq2j_346 {
  background: var(--color-info);
}

._progressItem_1gq2j_329[data-progress-stage='tool'] ._progressDot_1gq2j_346 {
  background: var(--color-warning, #d97706);
}

._progressItem_1gq2j_329[data-progress-stage='tool-failed'] {
  color: var(--color-error, #ef4444);
}

._progressItem_1gq2j_329[data-progress-stage='tool-failed'] ._progressDot_1gq2j_346 {
  background: var(--color-error, #ef4444);
}

._progressItem_1gq2j_329[data-progress-stage='submitting'] ._progressDot_1gq2j_346,
._progressItem_1gq2j_329[data-progress-stage='replying'] ._progressDot_1gq2j_346 {
  background: var(--color-success, #16a34a);
}

@keyframes _progress-pulse_1gq2j_1 {
  0%,
  100% {
    opacity: 0.55;
    transform: scale(0.94);
  }

  50% {
    opacity: 1;
    transform: scale(1);
  }
}

._dialogTitle_1gq2j_391 {
  margin: 0;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.3;
  color: var(--text-primary);
}

._dialogDescription_1gq2j_399 {
  margin: 2px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-tertiary);
}

._editDialog_1gq2j_406 {
  width: 560px;
  max-width: 92vw;
  max-height: min(720px, 88vh);
  max-height: min(720px, 88dvh);
}

._editDialogHeader_1gq2j_413 {
  border-bottom: 1px solid var(--border-default);
}

._editHeaderContent_1gq2j_417 {
  min-width: 0;
}

._editDialogBody_1gq2j_421 {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

._editDialogFooter_1gq2j_427 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid var(--border-default);
}

._delegatePreview_1gq2j_60 {
  gap: 10px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  background: var(--bg-secondary);
}

._previewFallback_1gq2j_443 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--radius-full);
  color: var(--text-tertiary);
  background: var(--bg-primary);
  border: 1px solid var(--border-default);
  font-size: 13px;
  font-weight: 600;
  flex-shrink: 0;
}

._previewText_1gq2j_458 {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
  flex: 1;
}

._previewLabel_1gq2j_466 {
  font-size: 11px;
  color: var(--text-tertiary);
}

._previewName_1gq2j_471 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

._previewMeta_1gq2j_480 {
  flex-shrink: 0;
  font-size: 11px;
  color: var(--text-tertiary);
  white-space: nowrap;
}

._formGrid_1gq2j_487 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px;
  gap: 12px;
}

._field_1gq2j_493 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

._promptField_1gq2j_500,
._errorText_1gq2j_501,
._formMessage_1gq2j_502 {
  grid-column: 1 / -1;
}

._fieldLabel_1gq2j_506 {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
}

._fieldHelp_1gq2j_512 {
  font-size: 11px;
  line-height: 1.4;
  color: var(--text-tertiary);
}

._instructionDetails_1gq2j_518 {
  grid-column: 1 / -1;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  background: var(--bg-secondary);
}

._instructionSummary_1gq2j_525 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 38px;
  padding: 0 12px;
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

._instructionSummary_1gq2j_525::-webkit-details-marker {
  display: none;
}

._instructionSummaryMeta_1gq2j_543 {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
}

._instructionSummaryStatus_1gq2j_550 {
  overflow: hidden;
  color: var(--text-tertiary);
  font-size: 11px;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._instructionChevron_1gq2j_559 {
  flex: none;
  transition: transform 160ms ease;
}

._instructionDetails_1gq2j_518[open] ._instructionChevron_1gq2j_559 {
  transform: rotate(180deg);
}

._instructionPanel_1gq2j_568 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 12px 12px 28px;
}

._instructionHelp_1gq2j_575,
._instructionUnavailable_1gq2j_576 {
  margin: 0;
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.4;
}

._instructionText_1gq2j_583 {
  max-height: 220px;
  margin: 0;
  overflow: auto;
  padding: 10px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md, 6px);
  color: var(--text-secondary);
  background: var(--bg-primary);
  font: inherit;
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

._instructionMeta_1gq2j_599 {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  color: var(--text-tertiary);
  font-size: 10px;
  line-height: 1.4;
}

._select_1gq2j_608,
._textarea_1gq2j_609 {
  width: 100%;
  color: var(--text-primary);
  background: var(--bg-secondary);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  font: inherit;
  font-size: 13px;
  transition:
    border-color 0.15s ease,
    background-color 0.15s ease,
    box-shadow 0.15s ease;
}

._select_1gq2j_608 {
  height: 36px;
  padding: 0 34px 0 12px;
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--text-tertiary) 50%),
    linear-gradient(135deg, var(--text-tertiary) 50%, transparent 50%);
  background-position:
    calc(100% - 16px) 15px,
    calc(100% - 11px) 15px;
  background-size:
    5px 5px,
    5px 5px;
  background-repeat: no-repeat;
}

._textarea_1gq2j_609 {
  min-height: 132px;
  resize: vertical;
  padding: 10px 12px;
  line-height: 1.5;
}

._select_1gq2j_608:focus,
._textarea_1gq2j_609:focus,
._stepper_1gq2j_61:focus-within {
  outline: none;
  border-color: var(--color-primary);
  background: var(--bg-primary);
  box-shadow: var(--focus-ring, 0 0 0 3px var(--color-primary-muted));
}

._select_1gq2j_608:hover:not(:disabled),
._textarea_1gq2j_609:hover:not(:disabled),
._stepper_1gq2j_61:hover:not(:focus-within) {
  border-color: var(--border-strong);
}

._select_1gq2j_608:disabled,
._textarea_1gq2j_609:disabled {
  opacity: 0.6;
}

._stepperDisabled_1gq2j_666 {
  opacity: 0.6;
}

._stepper_1gq2j_61 {
  height: 36px;
  overflow: hidden;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  background: var(--bg-secondary);
  transition:
    border-color 0.15s ease,
    background-color 0.15s ease,
    box-shadow 0.15s ease;
}

._stepperButton_1gq2j_62 {
  justify-content: center;
  width: 34px;
  height: 100%;
  padding: 0;
  border: 0;
  color: var(--text-secondary);
  background: transparent;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}

._stepperButton_1gq2j_62:hover:not(:disabled) {
  color: var(--text-primary);
  background: var(--hover-bg);
}

._stepperButton_1gq2j_62:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

._stepperInput_1gq2j_705 {
  min-width: 0;
  flex: 1;
  height: 100%;
  padding: 0 4px;
  border: 0;
  border-inline: 1px solid var(--border-default);
  background: transparent;
  color: var(--text-primary);
  font: inherit;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  text-align: center;
  outline: none;
}

._stepperInput_1gq2j_705::-webkit-outer-spin-button,
._stepperInput_1gq2j_705::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

._errorText_1gq2j_501 {
  padding: 8px 10px;
  border-radius: var(--radius-md);
  color: var(--color-error, #ef4444);
  background: var(--color-error-light, rgb(239 68 68 / 8%));
  font-size: 12px;
}

._formMessage_1gq2j_502 {
  font-size: 12px;
  line-height: 1.4;
  color: var(--text-tertiary);
}

@media (width <= 720px) {
  ._banner_1gq2j_3 {
    padding: 7px 9px 7px 12px;
  }

  ._topRow_1gq2j_50,
  ._detailRow_1gq2j_51 {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
  }

  ._prompt_1gq2j_56,
  ._statusReason_1gq2j_179 {
    max-width: 100%;
  }

  ._counterGroup_1gq2j_57 {
    justify-content: flex-end;
  }

  ._formGrid_1gq2j_487 {
    grid-template-columns: minmax(0, 1fr);
  }

  ._editDialog_1gq2j_406 {
    width: min(100%, 560px);
  }
}

@media (width <= 640px) {
  ._editDialog_1gq2j_406 {
    max-width: 100%;
  }

  ._editDialogHeader_1gq2j_413,
  ._editDialogBody_1gq2j_421,
  ._editDialogFooter_1gq2j_427 {
    padding-left: 14px;
    padding-right: 14px;
  }

  ._editDialogFooter_1gq2j_427 {
    flex-wrap: wrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  ._spinner_1gq2j_138 {
    animation: none;
  }
}

@media (width <= 420px) {
  ._banner_1gq2j_3 {
    min-height: 48px;
    padding-right: 8px;
  }

  ._topRow_1gq2j_50 {
    display: block;
    padding-right: 94px;
  }

  ._actions_1gq2j_58 {
    position: absolute;
    top: 7px;
    right: 8px;
  }

  ._statusGroup_1gq2j_52,
  ._detailTextGroup_1gq2j_53 {
    gap: 6px;
  }

  ._statusGroup_1gq2j_52 {
    flex-wrap: wrap;
    row-gap: 3px;
  }

  ._label_1gq2j_55 {
    flex-basis: 100%;
    max-width: 100%;
  }

  ._agentName_1gq2j_99 {
    max-width: 132px;
  }

  ._label_1gq2j_55,
  ._prompt_1gq2j_56,
  ._statusReason_1gq2j_179 {
    font-size: 10.5px;
  }

  ._counterGroup_1gq2j_57 {
    gap: 4px;
  }

  ._counterPill_1gq2j_208 {
    font-size: 9.5px;
  }

  ._actionButton_1gq2j_59 {
    width: 26px;
    height: 26px;
  }

  ._progressAction_1gq2j_249 {
    width: auto;
    height: 26px;
  }
}

@keyframes _spin_1gq2j_138 {
  to {
    transform: rotate(360deg);
  }
}
._stack_wr835_1 {
  display: grid;
  grid-auto-rows: max-content;
  gap: var(--space-2);
  align-content: start;
  max-height: min(42vh, 360px);
  padding: 0 var(--space-4) var(--space-2);
  overflow-y: auto;
  overscroll-behavior: contain;
}

._card_wr835_12 {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: start;
  padding: var(--space-3);
  overflow: hidden;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xs);
}

._card_wr835_12::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  content: '';
  background: var(--color-warning);
}

._card_wr835_12[data-state='expired']::before,
._card_wr835_12[data-state='cancelled']::before,
._card_wr835_12[data-state='denied']::before,
._card_wr835_12[data-state='continuation-unknown']::before {
  background: var(--text-tertiary);
}

._card_wr835_12[data-state='continuation-unknown'] ._icon_wr835_41 {
  color: var(--text-secondary);
  background: var(--bg-hover);
}

._icon_wr835_41 {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: var(--color-warning);
  background: var(--color-warning-light);
  border-radius: var(--radius-md);
}

._content_wr835_56 {
  min-width: 0;
}

._headingRow_wr835_60 {
  display: flex;
  gap: var(--space-2);
  align-items: center;
  justify-content: space-between;
  color: var(--text-primary);
  font-size: 13px;
}

._title_wr835_69 {
  margin: 0;
  font: inherit;
  font-weight: 600;
}

._status_wr835_75 {
  flex: none;
  color: var(--text-secondary);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

._summary_wr835_83 {
  margin: 3px 0 0;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

._scope_wr835_91 {
  display: flex;
  flex-wrap: wrap;
  gap: 2px var(--space-3);
  margin: var(--space-1) 0 0;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

._elevationWarning_wr835_102 {
  margin: var(--space-2) 0 0;
  color: var(--color-warning);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
}

._actions_wr835_110 {
  display: flex;
  gap: var(--space-2);
  align-self: center;
}

._actions_wr835_110 button {
  min-height: 36px;
  padding: 0 12px;
  border-radius: var(--radius-md);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

._actions_wr835_110 button:disabled {
  cursor: wait;
  opacity: 0.55;
}

._denyButton_wr835_130 {
  color: var(--text-primary);
  background: transparent;
  border: 1px solid var(--border-strong);
}

._denyButton_wr835_130:hover:not(:disabled) {
  background: var(--bg-hover);
}

._allowButton_wr835_140 {
  color: var(--text-primary);
  background: var(--color-warning-light);
  border: 1px solid var(--color-warning);
}

._allowButton_wr835_140:hover:not(:disabled) {
  background: color-mix(in srgb, var(--color-warning-light) 70%, var(--color-warning) 30%);
}

._actions_wr835_110 button:focus-visible,
._details_wr835_151 summary:focus-visible,
._title_wr835_69:focus-visible,
._loadError_wr835_153 button:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}

._details_wr835_151 {
  margin-top: var(--space-2);
  color: var(--text-secondary);
  font-size: 12px;
}

._details_wr835_151 summary {
  width: max-content;
  cursor: pointer;
  color: var(--text-tertiary);
}

._detailGrid_wr835_170 {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 4px var(--space-3);
  margin: var(--space-2) 0 0;
  padding: var(--space-2);
  background: var(--bg-tertiary);
  border-radius: var(--radius-md);
}

._detailGrid_wr835_170 dt {
  color: var(--text-tertiary);
}

._detailGrid_wr835_170 dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

._detailGrid_wr835_170 code {
  font-family: var(--font-mono);
  font-size: 12px;
}

._error_wr835_196,
._loadError_wr835_153 {
  color: var(--color-error);
  font-size: 12px;
}

._error_wr835_196 {
  margin: var(--space-2) 0 0;
}

._loadError_wr835_153 {
  display: flex;
  gap: var(--space-3);
  align-items: center;
  justify-content: space-between;
  padding: var(--space-3);
  background: var(--color-error-faint);
  border: 1px solid var(--color-error-medium);
  border-radius: var(--radius-md);
}

._loadError_wr835_153 button {
  min-height: 36px;
  padding: 0 var(--space-3);
  color: var(--text-primary);
  cursor: pointer;
  background: var(--bg-primary);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-md);
}

@media (width <= 640px) {
  ._stack_wr835_1 {
    padding-inline: var(--space-2);
  }

  ._card_wr835_12 {
    grid-template-columns: auto minmax(0, 1fr);
  }

  ._actions_wr835_110 {
    grid-column: 1 / -1;
    justify-self: stretch;
  }

  ._actions_wr835_110 button {
    flex: 1;
    min-height: 44px;
  }
}
._handle_vplpk_1 {
  position: absolute;
  z-index: 4;
  top: 0;
  bottom: 0;
  width: 8px;
  cursor: col-resize;
  touch-action: none;
}

._left_vplpk_11 {
  right: 0;
}

._right_vplpk_15 {
  left: 0;
}

._handle_vplpk_1::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 3px;
  width: 2px;
  background: transparent;
  transition: background-color 0.15s ease;
}

._handle_vplpk_1:hover::before,
._active_vplpk_31::before {
  background: var(--color-primary);
}

._handle_vplpk_1:focus-visible {
  outline: none;
}

._handle_vplpk_1:focus-visible::before {
  background: var(--color-primary);
  box-shadow: 0 0 0 1px var(--bg-primary);
}
._container_bb0fq_1 {
  width: var(--sidebar-expanded-width, 240px);
  flex-shrink: 0;
  background: var(--bg-secondary);
  border-right: 1px solid var(--border-color);
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
}

/* 桌面折叠（收起）态：sidebarWrap 宽度归零（见 App.module.css.sidebarCollapsed），
   容器内不再有任何"半展开"裁切态；视图切换与状态点由常驻 ActivityBar 承担。 */
._collapsed_bb0fq_14 {
  visibility: hidden;
}

/* ── 响应式抽屉：≤768px ────────────────────────────── */

/* 桌面端 >768px：以上 .container 规则不受影响 */

@media (width <= 768px) {
  ._container_bb0fq_1 {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    height: auto; /* 与 ActivityBar 共用 top/bottom 边界，避免抽屉高度漂移 */
    border-right: none;
    box-shadow: none;
    pointer-events: none;
    transform: translateX(-100%);
    transition:
      transform 0.25s ease,
      box-shadow 0.25s ease;

    /* 桌面端 flex 布局中的占位取消 */
    flex-shrink: 0;
    width: 280px; /* 手机端稍宽一点，更易触控 */
  }

  ._drawerOpen_bb0fq_43 {
    box-shadow: 4px 0 24px rgb(0 0 0 / 15%);
    pointer-events: auto;
    /* 全宽展开：ActivityBar 以横排底部条渲染在抽屉容器内（footer 插槽），
       滑入滑出只有抽屉一个 transform，不再需要为左列预留 48px 停位 */
    transform: translateX(0);
  }
}

/* Header */
._header_bb0fq_53 {
  flex-shrink: 0;
  display: flex;

  /* 切换器独占首行（导航模式），搜索与操作占第二行 */
  flex-direction: column;
  align-items: stretch;
  height: auto;
  padding: 8px 8px 6px;
  -webkit-app-region: drag;
}

._headerRow_bb0fq_65 {
  display: flex;
  align-items: center;
}

/* Header 左侧：搜索框常驻 */
._headerSearch_bb0fq_71 {
  flex: 1;
  min-width: 0;
  position: relative;
  display: flex;
  align-items: center;
  -webkit-app-region: no-drag;

  /* 与右侧操作组留出呼吸，建立「搜索区 | 操作组」的分组节奏 */
  margin-right: 6px;
}

/* 搜索图标绝对定位在 input 内部左侧 */
._searchIcon_bb0fq_84 {
  position: absolute;
  left: 6px;
  color: var(--text-tertiary);
  flex-shrink: 0;
  pointer-events: none;
}

._searchInput_bb0fq_92 {
  flex: 1;
  min-width: 0;
  height: 24px;
  padding: 0 7px 0 22px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-primary);
  color: var(--text-primary);
  font-size: 13px;
  outline: none;
}

._searchInput_bb0fq_92:focus {
  border-color: var(--color-primary);
}

._searchInput_bb0fq_92:focus-visible {
  outline: 1px solid var(--color-primary);
  outline-offset: -1px;
}

._searchInput_bb0fq_92::placeholder {
  color: var(--text-tertiary);
}

._searchClear_bb0fq_118 {
  position: absolute;
  right: 4px;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--text-tertiary);
  background: transparent;
  border: none;
  padding: 0;
}

._searchClear_bb0fq_118:hover {
  color: var(--text-primary);
}

._headerActions_bb0fq_137 {
  display: flex;
  align-items: center;

  /* 组内间距小于与搜索框的组外间距（6px），让按钮被感知为一组 */
  gap: 4px;
  position: relative;
  -webkit-app-region: no-drag;
}

/*
 * 块间距必须显著大于行间距（会话行 pitch 29px），分组才成立。
 * 12px 顶距 + 4px 底距，配下方桶内缩进，替代原先贴住首行的 1px 分隔线。
 */
._projectParentRow_bb0fq_151 {
  position: relative;
  margin: 12px 0 4px;
}

/* 第一个项目桶不留顶部 margin：header 自带 6px 底距，再叠 12px 比普通视图首个行远一倍 */
._projectParentRowFirst_bb0fq_157 {
  margin-top: 0;
}

._projectParentRow_bb0fq_151 > div > button {
  /* 右侧为 projectCreateButton 预留流式空间（18px 按钮 + 缓冲），hover 浮现时不挤压项目名 */
  padding: 4px 28px 4px 7px;
  border-radius: 6px;
}

._projectParentRow_bb0fq_151 > div > button ._itemName_bb0fq_167 {
  font-size: 13px;
  font-weight: 600;
}

/* Codex 风格：裸图标不套色块 chip，层级靠排版而非底色 */
._projectParentRow_bb0fq_151 > div > button ._avatar_bb0fq_173 {
  width: 16px;
  height: 16px;
  border-radius: 0;
  color: var(--text-tertiary);
  background: transparent;
}

/* 项目桶头无激活态：当前会话所在项目不再染主题色/加背景，层级仅靠排版 */

/* 桶头点击 = 折叠切换，不选中，hover 背景保留作为可点暗示 */
._item_bb0fq_167._projectBucketItem_bb0fq_184._active_bb0fq_184 {
  background: transparent;
}

._item_bb0fq_167._projectBucketItem_bb0fq_184._active_bb0fq_184::before {
  display: none;
}

._projectSessionRow_bb0fq_192 {
  /*
   * link 风格：无树状竖线，纯缩进表达层级。
   * 子项文字起点必须落在项目名起点上：桶头 6(list) + 7(padding) + 16(图标) + 8(gap) = 37px，
   * 故此处 6 + 24 + 7(item padding) = 37px。原先 17px 是漏算了图标与 gap，子项比父项左 7px。
   */
  padding-left: 24px;
}

/*
 * 桶内 session 区限高滚动：单个项目会话再多也不挤占其他项目的可见性。
 * max-height ≈ 6 行（31px 行高 + 1px item 间距）×6 = 192px。
 * overscroll-behavior: contain 防止内层滚动链式劫持外层 Virtuoso 列表。
 */
._projectSessionList_bb0fq_206 {
  max-height: 192px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: transparent transparent;
}

._projectSessionList_bb0fq_206:hover,
._projectSessionList_bb0fq_206:focus-within {
  scrollbar-color: var(--scrollbar-thumb) transparent;
}

._projectSessionList_bb0fq_206::-webkit-scrollbar-thumb {
  background: transparent;
}

._projectSessionList_bb0fq_206:hover::-webkit-scrollbar-thumb,
._projectSessionList_bb0fq_206:focus-within::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
}

/*
 * session 行：单行 link 列表，hover/active 仅背景变化。
 * 行 pitch 32px（31px 行高 + 1px 间距）：13px 字下字间净空 19.5px ≈ 1.5× 字号，
 * 是扫描型列表的舒适下限；28px 时净空只有 16.5px（1.27×），相邻标题糊成一片。
 */

/* 双 class 提 specificity：必须压过文件后方的 .item（min-height 42px / padding 6px） */
._item_bb0fq_167._projectSessionItem_bb0fq_235 {
  min-height: 31px;
  padding: 6px 7px;
  border-radius: 5px;
  gap: 6px;
}

/* link 效果：session 行不用左侧主色选中条，active 靠背景与字重区分 */

/* 双 class 提高 specificity，压过文件后方的 .item.active::before */
._item_bb0fq_167._projectSessionItem_bb0fq_235._active_bb0fq_184::before {
  display: block;
}

._projectSessionItem_bb0fq_235 ._itemName_bb0fq_167 {
  /* 13px 与普通对话视图标题一致：同类信息跨视图不变字号，且是 macOS 平台默认 */
  font-size: 13px;

  /* unset 跟随系统默认字重：450 仍偏重，link 行不引入任何字重 */
  font-weight: unset;
  /* 亮色下用户指定 #333：比 secondary 加黑一档，保持 link 行弱于普通行的层级 */
  color: #333;
}

/* 暗色下 #333 不可读，回落 secondary；跟随系统暗色（:root 无 light 标记）同样回落 */
html[data-theme='dark'] ._projectSessionItem_bb0fq_235 ._itemName_bb0fq_167 {
  color: var(--text-secondary);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) ._projectSessionItem_bb0fq_235 ._itemName_bb0fq_167 {
    color: var(--text-secondary);
  }
}

/* session 行 active 不加粗（.item.active .itemName 会抬到 600），选中态仅靠背景区分 */
._item_bb0fq_167._projectSessionItem_bb0fq_235._active_bb0fq_184 ._itemName_bb0fq_167 {
  font-weight: unset;
}

/* 项目名右侧的弱化路径：尾部截断（rtl 头部省略号），完整路径见 hover title */
._projectPathHint_bb0fq_276 {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  direction: rtl;
  text-align: left;
  font-size: 11px;
  font-weight: 400;
  color: var(--text-tertiary);
}

._projectCreateButton_bb0fq_289 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 8px;
  z-index: 1;
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;

  /* 随原型：默认隐藏，hover / 键盘聚焦桶头时浮现，避免常驻噪音 */
  opacity: 0;
  transition: opacity 0.12s ease;
}

._projectParentRow_bb0fq_151:hover ._projectCreateButton_bb0fq_289,
._projectParentRow_bb0fq_151:focus-within ._projectCreateButton_bb0fq_289,
._projectCreateButton_bb0fq_289:focus-visible {
  opacity: 1;
}

._projectCreateButton_bb0fq_289:hover,
._projectCreateButton_bb0fq_289:focus-visible {
  background: var(--bg-tertiary);
  color: var(--text-primary);
}

/*
 * 统一 header 操作按钮规格：收藏按钮（headerBtn）基准为 26×26/圆角 4px，
 * 而 DropdownMenu trigger 默认 28×28/圆角 6px，两套规格并存是视觉不均的根源。
 * header 区域统一收窄到 24×24，与 34px 高的紧凑 header 匹配；
 * footer 的 sidebarToggle 等其他 headerBtn 使用方不受影响。
 * 选择器限定直接子代，不影响 DropdownMenu 下拉面板内的 item 按钮。
 */
._headerActions_bb0fq_137 > button,
._headerActions_bb0fq_137 > div > button {
  width: 24px;
  height: 24px;
  border-radius: 4px;
}

._headerBtn_bb0fq_336 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  border-radius: 4px;
  -webkit-app-region: no-drag;
  transition:
    background 0.15s ease,
    color 0.15s ease,
    opacity 0.15s ease;
}

._headerBtn_bb0fq_336:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._savedHeaderBtn_bb0fq_359 {
  color: var(--text-tertiary);
}

._savedHeaderBtnActive_bb0fq_363 {
  color: var(--color-primary);
}

/* 删除 Tab Bar 相关 CSS */

/* tabBar, tab, tabActive, appDot, appName, createBtn, createMenu 已删除 */

/* List */
._list_bb0fq_372 {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  scrollbar-color: transparent transparent;
}

._list_bb0fq_372 > div {
  padding: 0 6px;
}

._list_bb0fq_372:hover,
._list_bb0fq_372:focus-within {
  scrollbar-color: var(--scrollbar-thumb) transparent;
}

._list_bb0fq_372::-webkit-scrollbar-thumb {
  background: transparent;
}

._list_bb0fq_372:hover::-webkit-scrollbar-thumb,
._list_bb0fq_372:focus-within::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
}

._item_bb0fq_167 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 7px;
  min-height: 42px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s ease;
  margin-bottom: 1px;
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
}

._item_bb0fq_167:hover {
  background: var(--hover-bg);
}

._item_bb0fq_167:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}

._item_bb0fq_167._active_bb0fq_184 {
  background: var(--active-bg);
}

/* Active 状态选中条 */
._item_bb0fq_167._active_bb0fq_184::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  background: var(--color-primary);
  border-radius: 0 2px 2px 0;
}

/* Active 状态 Title 字重变化 */
._item_bb0fq_167._active_bb0fq_184 ._itemName_bb0fq_167 {
  font-weight: 600;
}

._avatar_bb0fq_173 {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  color: white;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  letter-spacing: 0;
}

/* 移除 avatar hover 编辑触发样式 */

/* avatar:hover 已删除 */

._itemContent_bb0fq_464 {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  padding-right: 0;
}

._itemContentTitleOnly_bb0fq_475 {
  gap: 0;
}

._itemHeader_bb0fq_479 {
  display: flex;
  align-items: center;
  gap: 4px;
}

._itemTitleWrap_bb0fq_485 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: 1;
  /* 标题是行的身份信息：极窄侧边栏下也保住状态点加一个字形的位置，
     不允许 status dot 被压出行外与时间列重叠（见 recordingBadge 不可收缩注释）。 */
  min-width: 18px;
}

._itemName_bb0fq_167 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* AI 输出状态指示点 */
._aiStatusDot_bb0fq_505 {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-info);
  flex-shrink: 0;
  animation: _aiPulse_bb0fq_1 1.8s ease-in-out infinite;
}

/* AI 响应完成 — 静态实心圆点 */
._aiStatusDotCompleted_bb0fq_515 {
  background: var(--color-success);
  animation: none;
}

@keyframes _aiPulse_bb0fq_1 {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: 0.4;
    transform: scale(0.75);
  }
}

._itemTime_bb0fq_533 {
  font-size: 10px;
  color: var(--text-secondary);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  flex-shrink: 0;
  margin-left: auto;
  display: inline-block;
  min-width: 28px;
  text-align: right;
}

._itemTime_bb0fq_533[data-has-time='false'] {
  opacity: 0;
}

._itemSubRow_bb0fq_549 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

._itemSub_bb0fq_549 {
  display: block;
  flex: 1;
  min-width: 0;
  min-height: 14px;
  line-height: 14px;
  font-size: 11px;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 0;
}

/* 项目桶不显示会话数：裸数字容易被误读成未读信号，层级由缩进与竖线表达 */

/* 线程数量 badge — 活跃线程 >1 时显示，使用主题强调色 */
._threadBadge_bb0fq_573 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 8px;
  background: var(--color-primary-light);
  color: var(--color-primary);
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  flex-shrink: 0;
}

/* 多线程预览前缀 — [线程标题] */
._threadTitlePrefix_bb0fq_590 {
  color: var(--color-primary);
  margin-right: 2px;
}

/* Empty State */
._emptyState_bb0fq_596 {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  text-align: center;
  min-height: 0;
}

._emptyTitle_bb0fq_607 {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  margin-bottom: 8px;
}

._emptySubtitle_bb0fq_614 {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-bottom: 16px;
}

._emptyCreateBtn_bb0fq_620 {
  margin-top: 4px;
}

._empty_bb0fq_596 {
  padding: 10px 8px;
  font-size: 12px;
  color: var(--text-tertiary);
  text-align: center;
}

/* ── 置顶图标：12px，低对比度 ── */
._pinIcon_bb0fq_632 {
  flex-shrink: 0;
  color: var(--text-tertiary);
  opacity: 0.5;
}

/* ── 置顶/非置顶区分割线 ── */
._pinDividerRow_bb0fq_639::before {
  content: '';
  display: block;
  height: 1px;
  margin: 4px 10px;
  background: var(--border-color);
  opacity: 0.5;
}

/* ── 录音 Badge ── */
/*
 * 状态芯片不参与收缩：它一旦可收缩，就会和可收缩的标题互抢行宽——
 * 结果是标题被压到一个字形、status dot 挤出行外压住时间列（窄侧边栏上的渲染 bug）。
 * 因此这里固定芯片宽度，行宽让给标题；文案必须是短状态，见 ChatSidebarItem。
 */
._recordingBadge_bb0fq_654 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  color: var(--color-danger, #dc3c46);
  font-size: 10px;
  font-weight: 700;
}

._recordingBadgeDot_bb0fq_664 {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-danger, #dc3c46);
  animation: _recordingPulse_bb0fq_1 1.7s ease-in-out infinite;
}

._recordingBadgeText_bb0fq_672 {
  white-space: nowrap;
}

/*
 * 项目桶头的录音聚合标记：桶折叠时子行不可见，这点说明「这一桶里有会话正在录音」。
 * 归属判定见 ChatSidebarItem（只有正在录音的 session 属于本桶才点亮）。点只表意，
 * 状态文本视觉隐藏（.srOnly）、由按钮 aria-describedby 指到这里供读屏。
 */
._recordingBucketDot_bb0fq_681 {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

._srOnly_bb0fq_679 {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

@keyframes _recordingPulse_bb0fq_1 {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: 0.42;
    transform: scale(0.84);
  }
}

@media (prefers-reduced-motion: reduce) {
  ._aiStatusDot_bb0fq_505,
  ._recordingBadgeDot_bb0fq_664 {
    animation: none;
  }
}
._container_5u3eh_1 {
  position: relative;
  flex-shrink: 0;
}

._trigger_5u3eh_6 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: var(--text-tertiary);
  cursor: pointer;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}

._trigger_5u3eh_6:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

/* 菜单 portal 到 body，坐标由组件按 trigger 位置计算（fixed 相对视口）。
   z-index 与 ContextMenu 对齐，且需高于移动端抽屉（ChatSidebar .container = 1000）。 */
._dropdown_5u3eh_30 {
  position: fixed;
  min-width: 220px;
  max-width: 320px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  box-shadow: var(--shadow-lg);
  padding: 4px;
  z-index: 1002;
  animation: _fadeIn_5u3eh_1 0.15s ease;
}

._item_5u3eh_43 {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 12px;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: var(--text-primary);
  font-size: 13px;
  text-align: left;
  cursor: pointer;
  transition: background 0.2s ease;
}

._item_5u3eh_43:hover,
._item_5u3eh_43._highlighted_5u3eh_60 {
  background: var(--hover-bg);
}

._item_5u3eh_43._danger_5u3eh_64 {
  color: var(--color-error);
}

._item_5u3eh_43._danger_5u3eh_64:hover,
._item_5u3eh_43._danger_5u3eh_64._highlighted_5u3eh_60 {
  background: var(--color-error-light);
}

._header_5u3eh_73 {
  padding: 4px 12px 8px;
  border-bottom: 1px solid var(--border-color);
  margin-bottom: 4px;
}

._separator_5u3eh_79 {
  height: 1px;
  background: var(--border-color);
  margin: 4px 8px;
}

@keyframes _fadeIn_5u3eh_1 {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}
._header_1rwmj_1 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border-default);
}

._header_1rwmj_1 h2,
._header_1rwmj_1 p {
  margin: 0;
  letter-spacing: 0;
}

._header_1rwmj_1 h2 {
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 600;
}

._header_1rwmj_1 p {
  margin-top: 4px;
  color: var(--text-tertiary);
  font-size: 12px;
}

._body_1rwmj_28 {
  padding: 20px;
}

._label_1rwmj_32 {
  display: block;
  margin-bottom: 7px;
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 500;
}

._progress_1rwmj_40 {
  margin-top: 20px;
  min-height: 72px;
}

._track_1rwmj_45 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
  height: 4px;
}

._segment_1rwmj_52,
._segmentActive_1rwmj_53 {
  display: block;
  border-radius: 2px;
  background: var(--bg-tertiary);
}

._segmentActive_1rwmj_53 {
  background: var(--color-primary);
}

._stageRow_1rwmj_63 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  min-height: 20px;
  color: var(--text-secondary);
  font-size: 13px;
}

._spinner_1rwmj_73 {
  flex: 0 0 auto;
  animation: _spin_1rwmj_73 0.9s linear infinite;
}

._successIcon_1rwmj_78 {
  color: var(--color-success);
}

._errorIcon_1rwmj_82,
._errorText_1rwmj_83 {
  color: var(--color-danger);
}

._errorText_1rwmj_83 {
  margin: 8px 0 0 24px;
  overflow-wrap: anywhere;
  font-size: 12px;
}

._footer_1rwmj_93 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 20px 16px;
  border-top: 1px solid var(--border-default);
}

@keyframes _spin_1rwmj_73 {
  to {
    transform: rotate(360deg);
  }
}._surface_10jw2_1 {
  width: 420px;
}

._header_10jw2_5 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--border-color);
}

._header_10jw2_5 h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

._footer_10jw2_18 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

._path_10jw2_24 {
  overflow: hidden;
  margin-bottom: 16px;
  color: var(--text-secondary);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._label_10jw2_33 {
  display: block;
  margin: 12px 0 6px;
  color: var(--text-secondary);
  font-size: 12px;
}

._input_10jw2_40 {
  box-sizing: border-box;
  width: 100%;
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid var(--border-color);
  border-radius: 5px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  font: inherit;
}

._error_10jw2_52 {
  margin: 12px 0 0;
  color: var(--danger, #d14343);
  font-size: 12px;
}
/* ActivityBar — 48px 常驻导航栏：视图切换 + 设置。永不参与折叠。 */

._activityBar_nsxu6_3 {
  background-color: var(--bg-secondary);
  width: 48px;
  flex-shrink: 0;
  /* 高度取容器（.appBody）而非视口：底栏是同级的独立行，100vh 会让底部一组
     入口被裁到视口下沿、看起来像被底栏盖住。 */
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  border-right: 1px solid var(--border-color);
  /* 顶部 6px 与首个图标保持原距；底部收紧到 2px，让齿轮（设置）
     贴向底栏——否则它在底栏上方悬出一段，看着和底栏不成一体。 */
  padding: 6px 0 2px;
}

._viewGroup_nsxu6_20 {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

._bottomGroup_nsxu6_26 {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

._viewButton_nsxu6_32 {
  position: relative;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  border-radius: 8px;
  transition: background 140ms ease;
}

/* 插件宿主进程崩溃警示点：唯一的状态角标（进程挂掉时提醒用户进管理面板处理）。 */
._crashBadge_nsxu6_48 {
  position: absolute;
  top: 7px;
  right: 7px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--status-danger-fg, #c62828);
  box-shadow: 0 0 0 2px var(--bg-secondary, #fff);
}

/* 更新提示点：有新版本且用户尚未查看（右下角 accent 点，与右上角红色崩溃警示点区分）。 */
._updateBadge_nsxu6_60 {
  position: absolute;
  right: 7px;
  bottom: 7px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-primary);
  box-shadow: 0 0 0 2px var(--bg-secondary, #fff);
}

/* 插件 view 图标：manifest 声明的静态资源，尺寸与内置 lucide 图标（20px）对齐。 */
._pluginViewIcon_nsxu6_72 {
  width: 20px;
  height: 20px;
  object-fit: contain;
  /* 未提供/加载失败的图标资源由 fallback 图标兜底（ActivityBar 侧 <Puzzle> 分支）。 */
  opacity: 0.92;
}

._viewButton_nsxu6_32:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._viewButton_nsxu6_32:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}

/* 选中态：左缘 2px 指示条 + 图标提亮（VSCode 语义） */
._viewButtonActive_nsxu6_91 {
  color: var(--text-primary);
}

._viewButtonActive_nsxu6_91:hover {
  background: transparent;
}

._indicator_nsxu6_99 {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%) scaleY(0);
  width: 2px;
  height: 20px;
  border-radius: 1px;
  background: var(--color-primary);
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1);
}

._viewButtonActive_nsxu6_91 ._indicator_nsxu6_99 {
  transform: translateY(-50%) scaleY(1);
}

/* ── 移动端底部条变体（≤768px）：横排一行，作为抽屉容器内的 footer，
      显隐与滑入滑出随抽屉整体（单一 transform），不再独立 fixed。 ── */
._mobileBar_nsxu6_117 {
  width: 100%;
  height: 56px;
  flex-direction: row;
  justify-content: stretch;
  align-items: center;
  border-right: none;
  border-top: 1px solid var(--border-color);
  padding: 0 8px;
  /* 为将来 iOS 形态预留：底部 home indicator 安全区 */
  padding-bottom: max(0px, env(safe-area-inset-bottom));
}

/* 主导航组（会话/项目/插件视图）：占满剩余宽度，图标均分。 */
._mobileBar_nsxu6_117 ._viewGroup_nsxu6_20 {
  flex: 1;
  flex-direction: row;
  justify-content: space-around;
}

/* 工具入口组（插件管理/设置）：不再和主导航各占半屏——收紧靠右，左侧留出
   空档并加一条竖分隔线，让「主导航 / 工具」左右分组一眼可辨。 */
._mobileBar_nsxu6_117 ._bottomGroup_nsxu6_26 {
  flex: 0 0 auto;
  flex-direction: row;
  justify-content: flex-end;
  gap: 4px;
  margin-left: 8px;
  padding-left: 8px;
  border-left: 1px solid var(--border-color);
}

/* 选中指示条随布局转轴：底部短横条（下划线语义），替代桌面左缘竖条 */
._mobileBar_nsxu6_117 ._indicator_nsxu6_99 {
  left: 50%;
  top: auto;
  bottom: 0;
  transform: translateX(-50%) scaleX(0);
  width: 20px;
  height: 2px;
}

._mobileBar_nsxu6_117 ._viewButtonActive_nsxu6_91 ._indicator_nsxu6_99 {
  transform: translateX(-50%) scaleX(1);
}
._container_17luk_1 {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--bg-primary);
  min-width: 0;
}

._header_17luk_9 {
  flex-shrink: 0;
  padding: 18px 28px 12px;
  border-bottom: 1px solid var(--border-color);
}

._titleWrap_17luk_15 {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--text-primary);
}

._titleWrap_17luk_15 h1 {
  margin: 0;
  font-size: 18px;
  font-weight: 650;
}

._list_17luk_28 {
  flex: 1;
  overflow: auto;
  padding: 18px 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

._item_17luk_38 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 8px;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  background: var(--bg-secondary);
  transition:
    border-color 0.15s ease,
    background 0.15s ease;
  min-width: 0;
}

._item_17luk_38:hover {
  border-color: var(--color-primary-border);
  background: var(--hover-bg);
}

._itemMain_17luk_57 {
  min-width: 0;
  padding: 14px 16px;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

._itemMain_17luk_57:disabled {
  cursor: default;
}

._itemMeta_17luk_70 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--text-tertiary);
  font-size: 12px;
  min-width: 0;
  overflow: hidden;
}

._itemMeta_17luk_70 span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._itemMeta_17luk_70 span:first-child {
  flex: 1;
}

._itemMeta_17luk_70 span + span::before {
  content: '·';
  margin-right: 8px;
  color: var(--text-tertiary);
}

._summary_17luk_98 {
  margin: 0;
  color: var(--text-primary);
  font-size: 14px;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

._unsaveButton_17luk_109 {
  align-self: start;
  margin: 10px 10px 0 0;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--text-tertiary);
  cursor: pointer;
}

._unsaveButton_17luk_109:hover {
  color: var(--text-primary);
  background: var(--hover-bg);
}

._empty_17luk_129 {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px;
  text-align: center;
  color: var(--text-tertiary);
}

._empty_17luk_129 h2 {
  margin: 14px 0 8px;
  color: var(--text-primary);
  font-size: 18px;
}

._empty_17luk_129 p {
  margin: 2px 0;
  font-size: 14px;
}

._dialogBackdrop_17luk_151 {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgb(15 23 42 / 28%);
  backdrop-filter: blur(3px);
}

._contextDialog_17luk_163 {
  width: min(680px, 100%);
  max-height: min(720px, calc(100vh - 48px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--border-color);
  border-radius: 18px;
  background: var(--bg-primary);
  box-shadow: 0 24px 70px rgb(15 23 42 / 20%);
  min-width: 0;
}

._dialogHeader_17luk_176 {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px 14px;
  border-bottom: 1px solid var(--border-color);
  min-width: 0;
}

._dialogHeader_17luk_176 > div {
  min-width: 0;
}

._dialogHeader_17luk_176 h2 {
  margin: 2px 0 0;
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 650;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._dialogEyebrow_17luk_201 {
  color: var(--text-tertiary);
  font-size: 12px;
}

._iconButton_17luk_206 {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--text-tertiary);
  cursor: pointer;
}

._iconButton_17luk_206:hover {
  color: var(--text-primary);
  background: var(--hover-bg);
}

._contextList_17luk_224 {
  flex: 1;
  overflow: auto;
  padding: 4px 0;
  min-width: 0;
  overflow-x: hidden;
}

._savedMessageList_17luk_232 {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  min-width: 0;
  padding: 12px 16px 16px;
  overflow-x: hidden;
}

._contextMessage_17luk_243 {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  background: var(--bg-secondary);
  overflow: hidden;
}

._contextMessageHighlighted_17luk_254 {
  border-color: color-mix(in srgb, var(--color-primary) 55%, var(--border-color));
  background: color-mix(in srgb, var(--color-primary) 7%, var(--bg-secondary));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-primary) 18%, transparent);
}

._contextMessageMeta_17luk_260 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  margin-bottom: 6px;
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.3;
}

._contextMessageMeta_17luk_260 span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
}

._contextMessageMeta_17luk_260 time {
  flex-shrink: 0;
  white-space: nowrap;
}

._contextMessageBody_17luk_285 {
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
  color: var(--text-primary);
  font-size: 14px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

._contextMessageBody_17luk_285 .blockStack {
  gap: 4px;
}

._contextMessageBody_17luk_285 .blockItem {
  margin: 0;
}

._contextMessageBody_17luk_285 .blockItem > * {
  margin-top: 0;
  margin-bottom: 0;
}

._contextMessageBody_17luk_285 pre,
._contextMessageBody_17luk_285 code,
._contextMessageBody_17luk_285 table {
  max-width: 100%;
}

._contextMessageBody_17luk_285 pre {
  overflow-x: auto;
}

._contextMessageUser_17luk_318 {
  background: color-mix(in srgb, var(--color-primary) 6%, var(--bg-secondary));
}

._contextUnavailable_17luk_322 {
  padding: 28px 16px;
  text-align: center;
  color: var(--text-tertiary);
  font-size: 14px;
}

._dialogFooter_17luk_329 {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 20px 18px;
  border-top: 1px solid var(--border-color);
}

._secondaryButton_17luk_338 {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 10px;
  padding: 0 13px;
  font-size: 13px;
  font-weight: 550;
  cursor: pointer;
  border: 1px solid var(--border-color);
  background: transparent;
  color: var(--text-secondary);
}

._secondaryButton_17luk_338:hover {
  color: var(--text-primary);
  background: var(--hover-bg);
}

@media (width <= 640px) {
  ._dialogBackdrop_17luk_151 {
    align-items: stretch;
    padding: 0;
    background: var(--bg-primary);
    backdrop-filter: none;
  }

  ._contextDialog_17luk_163 {
    width: 100%;
    max-height: 100dvh;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  ._dialogHeader_17luk_176 {
    padding: max(14px, env(safe-area-inset-top)) 16px 12px;
    gap: 14px;
  }

  ._dialogHeader_17luk_176 h2 {
    max-width: calc(100vw - 88px);
    overflow: hidden;
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  ._dialogEyebrow_17luk_201 {
    font-size: 11px;
  }

  ._contextList_17luk_224 {
    padding: 0;
    overflow-x: hidden;
  }

  ._savedMessageList_17luk_232 {
    gap: 6px;
    padding: 10px 10px 14px;
  }

  ._contextMessage_17luk_243 {
    padding: 10px;
    border-radius: 12px;
  }

  ._contextMessageMeta_17luk_260 {
    align-items: flex-start;
    gap: 8px;
  }

  ._contextMessageBody_17luk_285 {
    font-size: 14px;
    line-height: 1.7;
  }

  ._dialogFooter_17luk_329 {
    flex-direction: column-reverse;
    padding: 12px 16px max(16px, env(safe-area-inset-bottom));
  }

  ._secondaryButton_17luk_338 {
    width: 100%;
  }
}
._container_kv3t1_1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  text-align: center;
  padding: 2rem;
  gap: 1rem;
  background: radial-gradient(ellipse at center, transparent 0%, var(--bg-secondary) 100%);
}

._iconWrapper_kv3t1_13 {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: linear-gradient(
    135deg,
    var(--color-primary-solid) 0%,
    var(--gradient-primary-end) 100%
  );
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.5rem;
}

._icon_kv3t1_13 {
  width: 2.5rem;
  height: 2.5rem;
  color: var(--text-on-primary);
}

._title_kv3t1_34 {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

._description_kv3t1_41 {
  font-size: 1rem;
  color: var(--text-secondary);
  margin: 0 0 1rem;
  max-width: 400px;
}

._secondaryLink_kv3t1_48 {
  background: none;
  border: none;
  color: var(--text-secondary);
  font-size: 12px;
  cursor: pointer;
  padding: 0;
  margin-top: 0.5rem;
  transition: color 0.15s ease;
}

._secondaryLink_kv3t1_48:hover {
  color: var(--text-primary);
}
/* WelcomeState — 安静的过渡空间
 *
 * 居中、有呼吸感、不抢戏。
 * 用户要做的只有一件事：去侧边栏选一个人。
 * 这个页面只是让空白不那么空白。
 */

._container_145fn_8 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  padding: 2rem;
  gap: 1rem;
  user-select: none;
}

/* ── 品牌图标 ── */

._brandIcon_145fn_21 {
  color: var(--text-tertiary);
  opacity: 0.4;
  margin-bottom: 0.5rem;
}

/* ── 主文案 ── */

._title_145fn_29 {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
  letter-spacing: -0.01em;
  opacity: 0.85;
}

/* ── 副文案 ── */

._subtitle_145fn_40 {
  font-size: 0.875rem;
  color: var(--text-tertiary);
  text-align: center;
  margin: 0;
  line-height: 1.5;
}

/* ── 分隔线 ── */

._dividerRow_145fn_50 {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.5rem;
  width: 200px;
  max-width: 100%;
}

._dividerLine_145fn_59 {
  flex: 1;
  height: 1px;
  background: var(--border-default);
}

._dividerText_145fn_65 {
  font-size: 0.75rem;
  color: var(--text-tertiary);
  opacity: 0.7;
}

/* ── 群聊 CTA ── */

._groupCta_145fn_73 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0.625rem 1.25rem;
  border-radius: 2rem;
  border: 1px solid var(--border-default);
  background: var(--bg-secondary);
  color: var(--text-secondary);
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}

._groupCta_145fn_73:hover {
  background: var(--color-primary-solid);
  border-color: var(--color-primary);
  color: var(--text-on-primary);
  box-shadow: var(--shadow-primary-lg);
}

._groupCta_145fn_73:active {
  transform: scale(0.97);
}

._groupCta_145fn_73:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* ── Empty State ── */

._empty_145fn_107 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  gap: 1rem;
  color: var(--text-tertiary);
}

._emptyIcon_145fn_117 {
  opacity: 0.3;
}

._emptyText_145fn_121 {
  font-size: 0.9rem;
  text-align: center;
  margin: 0;
}
._container_1fq33_1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  text-align: center;
  padding: 2rem;
  background: var(--bg-primary);
}

._loading_1fq33_12 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

._spinner_1fq33_19 {
  width: 32px;
  height: 32px;
  border: 3px solid var(--color-border);
  border-top-color: var(--color-info);
  border-radius: 50%;
  animation: _spin_1fq33_19 0.8s linear infinite;
}

._loadingText_1fq33_28 {
  font-size: 13px;
  color: var(--text-tertiary);
}

@keyframes _spin_1fq33_19 {
  to {
    transform: rotate(360deg);
  }
}

._intro_1fq33_39 {
  max-width: 440px;
  width: 100%;
  text-align: center;
}

._iconWrapper_1fq33_45 {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: var(--color-primary-solid);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
}

._icon_1fq33_45 {
  width: 2rem;
  height: 2rem;
  color: var(--text-on-primary);
}

._title_1fq33_62 {
  font-size: 2rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 0.75rem;
}

._description_1fq33_69 {
  font-size: 1rem;
  color: var(--text-secondary);
  margin: 0 0 2rem;
  line-height: 1.5;
}

._actions_1fq33_76 {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: center;
}

._actions_1fq33_76 button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Banner — 从警告改为邀请 */
._banner_1fq33_90 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: linear-gradient(135deg, var(--color-primary-subtle), var(--color-primary-muted));
  border: 1px solid var(--color-primary-border);
  border-radius: 12px;
  margin: 1rem;
}

._bannerContent_1fq33_102 {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  flex: 1;
  min-width: 0;
}

._bannerIcon_1fq33_110 {
  color: var(--color-primary);
  flex-shrink: 0;
  margin-top: 0.125rem;
}

._bannerText_1fq33_116 {
  text-align: left;
  min-width: 0;
}

._bannerTitle_1fq33_121 {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: 0.125rem;
}

._bannerDesc_1fq33_128 {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.4;
}

._bannerActions_1fq33_134 {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* AgentChannelCheck — 轻量提示 */
._checkCard_1fq33_141 {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: linear-gradient(135deg, var(--color-primary-subtle), var(--color-primary-muted));
  border: 1px solid var(--color-primary-border);
  border-radius: 10px;
  margin: 0.5rem 0;
}

._checkIcon_1fq33_152 {
  color: var(--color-primary);
  flex-shrink: 0;
}

._checkText_1fq33_157 {
  flex: 1;
  min-width: 0;
  text-align: left;
}

._checkTitle_1fq33_163 {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: 0.125rem;
}

._checkDesc_1fq33_170 {
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.4;
}

._checkActions_1fq33_176 {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}
._dialog_18ufu_1 {
  max-height: min(680px, calc(100dvh - 32px));
}

._header_18ufu_5 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 24px 16px;
}

._headerCopy_18ufu_13 {
  flex: 1;
  min-width: 0;
}

._closeButton_18ufu_18 {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  margin-top: -4px;
}

._title_18ufu_25 {
  margin: 0;
  font-size: 20px;
  font-weight: 650;
  color: var(--text-primary);
  letter-spacing: 0;
  line-height: 1.4;
  text-wrap: balance;
}

._description_18ufu_35 {
  margin: 6px 0 0;
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
}

._content_18ufu_42 {
  padding: 4px 24px 20px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

._fieldGrid_18ufu_48 {
  display: grid;
  gap: 16px;
}

._field_18ufu_48 {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 500;
}

._field_18ufu_48 input {
  width: 100%;
  min-width: 0;
  height: 38px;
  box-sizing: border-box;
  padding: 0 12px;
  color: var(--text-primary);
  background: var(--bg-secondary);
  border: 1px solid var(--border-default);
  border-radius: 6px;
  outline: 2px solid transparent;
  font: inherit;
  font-weight: 400;
  font-size: 14px;
}

._field_18ufu_48 input:focus-visible {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-primary-muted);
}

._field_18ufu_48 [role='combobox'] {
  min-height: 38px;
  border-radius: 6px;
}

._secretField_18ufu_88 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 36px;
  gap: 6px;
}

._secretField_18ufu_88 button {
  width: 36px;
  height: 38px;
}

._connectionStatus_18ufu_99 {
  display: flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  min-height: 28px;
  padding: 4px 8px;
  border-radius: 5px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
}

._connectionStatus_18ufu_99 svg {
  flex: 0 0 auto;
}

._connectionStatusLoading_18ufu_116 {
  color: var(--text-secondary);
  background: var(--bg-secondary);
}

._connectionStatusSuccess_18ufu_121 {
  color: var(--color-success);
  background: var(--color-success-light);
}

._connectionStatusWarning_18ufu_126 {
  color: var(--color-warning);
  background: var(--color-warning-light);
}

._successNote_18ufu_131,
._error_18ufu_132 {
  margin: 16px 0 0;
  padding: 10px 12px;
  border-radius: 6px;
  font-size: 13px;
  line-height: 1.5;
}

._successNote_18ufu_131 {
  color: var(--color-success);
  background: var(--color-success-light);
}

._error_18ufu_132 {
  color: var(--color-error);
  background: var(--color-error-light);
}

._footer_18ufu_150 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 16px 24px 20px;
  border-top: 1px solid var(--border-default, var(--border));
}

._primaryAction_18ufu_159 {
  min-width: 132px;
}

@media (width <= 600px) {
  ._dialog_18ufu_1 {
    width: 100%;
    max-height: calc(100dvh - 32px);
  }

  ._header_18ufu_5 {
    padding: 20px 18px 14px;
  }

  ._content_18ufu_42 {
    padding: 4px 18px 16px;
  }

  ._footer_18ufu_150 {
    padding: 12px 18px 16px;
  }

  ._closeButton_18ufu_18,
  ._secretField_18ufu_88 button {
    width: 40px;
    height: 40px;
  }

  ._field_18ufu_48 input,
  ._field_18ufu_48 [role='combobox'] {
    min-height: 40px;
  }

  ._secretField_18ufu_88 {
    grid-template-columns: minmax(0, 1fr) 40px;
  }

  ._primaryAction_18ufu_159 {
    flex: 1;
    min-width: 0;
  }
}
/* ── 遮罩 ────────────────────────────────── */
._mask_9zlmn_2 {
  position: fixed;
  inset: 0;
  background: rgb(0 0 0 / 30%);
  z-index: 1000;
  animation: _fadeIn_9zlmn_1 0.15s ease-out;
}

/* ── 抽屉主体 ────────────────────────────── */
._drawer_9zlmn_11 {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 520px;
  min-width: 360px;
  max-width: 80vw;
  background: var(--bg-primary);
  border-left: 1px solid var(--border-default);
  box-shadow: var(--shadow-drawer);
  z-index: 1001;
  display: flex;
  flex-direction: column;
  animation: _slideInRight_9zlmn_1 0.2s ease-out;
}

._drawerDocked_9zlmn_28 {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  /* 与主内容区同为 appBody 的行内兄弟，高度跟随该行（= 视口减底栏），
     不再按视口取值——100vh 会连带底栏一起算进去。 */
  height: 100%;
  max-width: min(65vw, calc(100vw - 640px));
  flex: 0 0 auto;
  box-shadow: none;
  z-index: 1;
  animation: none;
}

/* 移动端预览占满可用内容区，不保留桌面抽屉的露底效果。 */
._drawerCompact_9zlmn_44 {
  width: 100%;
  min-width: 0;
  max-width: none;
  border-left: none;
  box-shadow: none;
}

._drawerCompact_9zlmn_44 ._resizeHandle_9zlmn_52 {
  display: none;
}

._resizeHandle_9zlmn_52 {
  position: absolute;
  top: 0;
  left: -4px;
  bottom: 0;
  width: 8px;
  cursor: col-resize;
  z-index: 2;
}

._resizeHandle_9zlmn_52::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 3px;
  width: 2px;
  background: transparent;
  transition: background-color 0.15s ease;
}

._resizeHandle_9zlmn_52:hover::before,
._resizeHandleActive_9zlmn_78::before {
  background: var(--color-primary);
}

@keyframes _fadeIn_9zlmn_1 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes _fadeOut_9zlmn_1 {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes _slideInRight_9zlmn_1 {
  from {
    transform: translateX(100%);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes _slideOutRight_9zlmn_1 {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(100%);
  }
}

._maskClosing_9zlmn_122 {
  animation: _fadeOut_9zlmn_1 0.2s ease-in forwards;
}

._drawerClosing_9zlmn_126 {
  animation: _slideOutRight_9zlmn_1 0.2s ease-in forwards;
}

/* ── Header ─────────────────────────────── */
._header_9zlmn_131 {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  height: 42px;
  padding: 4px 16px;
  flex-shrink: 0;
  gap: 12px;
}

._fileIdentity_9zlmn_141 {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1;
  padding-left: 12px;
  border-left: 1px solid var(--border-default);
}

._fileTextColumn_9zlmn_151 {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

._fileTitleRow_9zlmn_159 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  width: 100%;
}

._fileIcon_9zlmn_167 {
  color: var(--text-tertiary);
  flex-shrink: 0;
}

._fileName_9zlmn_172 {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._fileSize_9zlmn_183 {
  font-size: 12px;
  color: var(--text-tertiary);
  flex-shrink: 0;
}

._filePath_9zlmn_189 {
  font-size: 11px;
  line-height: 1.3;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}

._filePathCompact_9zlmn_199 {
  display: none;
}

._toolbar_9zlmn_203 {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 6px 12px;
  border-top: 1px solid var(--border-default);
  border-bottom: 1px solid var(--border-default);
  background: var(--bg-secondary);
  flex-shrink: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

._toolbar_9zlmn_203::-webkit-scrollbar {
  display: none;
}

._toolbarGroup_9zlmn_220 {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

._toolbarGroup_9zlmn_220 + ._toolbarGroup_9zlmn_220 {
  margin-left: 12px;
}

._toolbarGroup_9zlmn_220._layoutActionGroup_9zlmn_231 {
  position: relative;
  margin-left: auto;
  padding-left: 13px;
}

._layoutActionGroup_9zlmn_231::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 20px;
  background: var(--border-default);
  transform: translateY(-50%);
}

/* ── 模式切换 ───────────────────────────── */
._modeToggle_9zlmn_249 {
  display: flex;
  border: 1px solid var(--border-default);
  border-radius: 6px;
  overflow: hidden;
}

._modeButton_9zlmn_256 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  background: transparent;
  color: var(--text-tertiary);
  cursor: pointer;
  transition:
    background-color 0.15s ease,
    color 0.15s ease,
    opacity 0.15s ease;
}

._modeButton_9zlmn_256:hover {
  color: var(--text-primary);
  background: var(--hover-bg);
}

._modeButtonActive_9zlmn_277 {
  color: var(--color-primary);
  background: var(--active-bg);
}

._modeButton_9zlmn_256 + ._modeButton_9zlmn_256 {
  border-left: 1px solid var(--border-default);
}

/* ── 工具栏按钮 ─────────────────────────── */
._toolbarButton_9zlmn_287 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  transition:
    background-color 0.15s ease,
    color 0.15s ease,
    opacity 0.15s ease;
}

._toolbarButton_9zlmn_287:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._toolbarButton_9zlmn_287:disabled {
  opacity: 0.45;
  cursor: default;
}

/* 不可用但仍在位：aria-disabled 保留可聚焦 / 可悬停以留住说明，
   因此不能只靠 :disabled 置灰，也不能沿用悬停高亮（那会看回可点）。 */
._toolbarButton_9zlmn_287[aria-disabled='true'] {
  opacity: 0.45;
  cursor: default;
}

._toolbarButton_9zlmn_287[aria-disabled='true']:hover {
  background: transparent;
  color: var(--text-secondary);
}

._tooltipTrigger_9zlmn_326 {
  display: flex;
  flex-shrink: 0;
}

._srOnly_9zlmn_331 {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

._toolbarButton_9zlmn_287:focus-visible,
._modeButton_9zlmn_256:focus-visible,
._closeButton_9zlmn_345:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
}

/* ── 关闭按钮 ───────────────────────────── */
._closeButton_9zlmn_345 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  transition:
    background-color 0.15s ease,
    color 0.15s ease,
    opacity 0.15s ease;
}

._closeButton_9zlmn_345:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._drawerCompact_9zlmn_44 ._header_9zlmn_131 {
  align-items: center;
  min-height: 56px;
  padding: 8px max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left));
  gap: 10px;
  border-bottom: 1px solid var(--border-default);
}

._drawerCompact_9zlmn_44 ._closeButton_9zlmn_345 {
  order: 2;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  margin-left: auto;
}

._drawerCompact_9zlmn_44 ._fileIdentity_9zlmn_141 {
  order: 1;
  gap: 8px;
  padding-left: 0;
  border-left: none;
}

._drawerCompact_9zlmn_44 ._fileIcon_9zlmn_167 {
  margin-top: 0;
}

._drawerCompact_9zlmn_44 ._fileTextColumn_9zlmn_151 {
  gap: 2px;
}

._drawerCompact_9zlmn_44 ._fileSize_9zlmn_183,
._drawerCompact_9zlmn_44 ._filePath_9zlmn_189 {
  display: none;
}

._drawerCompact_9zlmn_44 ._filePathCompact_9zlmn_199 {
  display: block;
  max-width: 100%;
  overflow: hidden;
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._drawerCompact_9zlmn_44 ._toolbar_9zlmn_203 {
  min-height: 48px;
  justify-content: flex-start;
  padding: 6px max(12px, env(safe-area-inset-right)) 6px max(12px, env(safe-area-inset-left));
  overflow-x: auto;
}

._drawerCompact_9zlmn_44 ._toolbarGroup_9zlmn_220 {
  gap: 4px;
}

._drawerCompact_9zlmn_44 ._toolbarGroup_9zlmn_220 + ._toolbarGroup_9zlmn_220,
._drawerCompact_9zlmn_44 ._toolbarGroup_9zlmn_220._fileActionGroup_9zlmn_432 {
  margin-left: 0;
}

._drawerCompact_9zlmn_44 ._toolbarGroup_9zlmn_220 + ._toolbarGroup_9zlmn_220 {
  padding-left: 12px;
}

._drawerCompact_9zlmn_44 ._toolbarButton_9zlmn_287,
._drawerCompact_9zlmn_44 ._modeButton_9zlmn_256 {
  width: 36px;
  height: 36px;
}

._drawerCompact_9zlmn_44 ._modeToggle_9zlmn_249 {
  border-radius: 8px;
}

._drawerCompact_9zlmn_44 ._content_9zlmn_450 {
  overscroll-behavior: contain;
}

@media (width <= 380px) {
  ._drawerCompact_9zlmn_44 ._header_9zlmn_131 {
    padding-inline: 8px;
  }

  ._drawerCompact_9zlmn_44 ._toolbar_9zlmn_203 {
    padding-inline: 8px;
  }

  ._drawerCompact_9zlmn_44 ._toolbarGroup_9zlmn_220 + ._toolbarGroup_9zlmn_220 {
    padding-left: 8px;
  }

  ._drawerCompact_9zlmn_44 ._toolbarButton_9zlmn_287,
  ._drawerCompact_9zlmn_44 ._modeButton_9zlmn_256 {
    width: 32px;
    height: 32px;
  }
}

/* ── 内容区 ─────────────────────────────── */
._content_9zlmn_450 {
  flex: 1;
  min-height: 0;
  overflow: auto;
  position: relative;
}

._imagePreviewButton_9zlmn_482 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 100%;
  padding: 16px;
  border: none;
  background: transparent;
  cursor: zoom-in;
}

._imagePreviewButton_9zlmn_482:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -4px;
}

._imagePreview_9zlmn_482 {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 96px);
  object-fit: contain;
}

._videoPreviewContainer_9zlmn_506 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 100%;
  padding: 16px;
}

._videoPreview_9zlmn_506 {
  display: block;
  width: 100%;
  max-height: calc(100vh - 128px);
  background: #000;
  object-fit: contain;
}

._audioPreviewContainer_9zlmn_523 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 100%;
  padding: 24px;
}

._audioPreview_9zlmn_523 {
  width: min(640px, 100%);
}

/* ── 加载状态 ───────────────────────────── */
._loading_9zlmn_537 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 200px;
  color: var(--text-tertiary);
  font-size: 14px;
}

._spinner_9zlmn_548 {
  animation: _spin_9zlmn_548 1s linear infinite;
}

@keyframes _spin_9zlmn_548 {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/* ── 错误状态 ────────────────────────────── */
._error_9zlmn_563 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px;
  color: var(--color-error, #e53e3e);
  font-size: 14px;
}

/* ── 二进制文件提示 ──────────────────────── */
._binaryPrompt_9zlmn_573 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  height: 300px;
  color: var(--text-tertiary);
}

._binaryIcon_9zlmn_583 {
  opacity: 0.65;
}

._binaryFilename_9zlmn_587 {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  margin: 0;
  max-width: 80%;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._binaryText_9zlmn_599 {
  font-size: 14px;
  margin: 0;
}

/* ── 大文件提示 ─────────────────────────── */
._tooLargePrompt_9zlmn_605 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 300px;
  color: var(--text-tertiary);
}

._tooLargeIcon_9zlmn_615 {
  opacity: 0.4;
  color: var(--color-warning, #f59e0b);
}

._tooLargeTitle_9zlmn_620 {
  font-size: 15px;
  font-weight: 500;
  color: var(--text-secondary);
  margin: 0;
}

._tooLargeDesc_9zlmn_627 {
  font-size: 13px;
  margin: 0;
}

._openExternalButton_9zlmn_632 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border: 1px solid var(--border-default);
  border-radius: 8px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-size: 13px;
  cursor: pointer;
  transition:
    background-color 0.15s ease,
    color 0.15s ease,
    opacity 0.15s ease;
}

._openExternalButton_9zlmn_632:hover {
  background: var(--hover-bg);
  border-color: var(--color-primary);
}

/* ── Markdown 预览内容 ───────────────────── */
._previewContent_9zlmn_655 {
  padding: 16px;
  overflow: auto;
}

/* ── HTML iframe / 原生网页预览占位区域 ─── */
._previewFrame_9zlmn_661 {
  position: relative;
  width: 100%;
  height: 100%;
  border: none;
  background: #fff;
}

._browserOfficePreviewFrame_9zlmn_669 {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
  background: #fff;
}

._officePreviewRoot_9zlmn_677 {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  flex-direction: column;
}

._officePreviewUpdate_9zlmn_685 {
  display: flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 6px 12px;
  border-bottom: 1px solid var(--border-default);
  background: var(--bg-secondary);
  color: var(--text-secondary);
  font-size: 12px;
}

._officePreviewUpdateButton_9zlmn_698 {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 8px;
  border: 1px solid var(--border-default);
  border-radius: 6px;
  background: var(--bg-primary);
  color: var(--text-primary);
  cursor: pointer;
}

._officePreviewUpdateButton_9zlmn_698:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

._officePreviewRoot_9zlmn_677 ._previewFrame_9zlmn_661 {
  min-height: 0;
  flex: 1;
}

._officePreviewRoot_9zlmn_677 ._urlPreviewLoading_9zlmn_720 {
  z-index: 1;
  background: var(--bg-primary);
}

._urlPreviewLoading_9zlmn_720 {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--text-tertiary);
  font-size: 13px;
}

._urlPreviewLoadingSpinner_9zlmn_737 {
  animation: _urlPreviewSpin_9zlmn_1 0.9s linear infinite;
}

@keyframes _urlPreviewSpin_9zlmn_1 {
  to {
    transform: rotate(360deg);
  }
}

._urlPreviewError_9zlmn_747 {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 24px;
  color: var(--text-tertiary);
  text-align: center;
}

._urlPreviewErrorIcon_9zlmn_759 {
  color: var(--text-tertiary);
  opacity: 0.55;
}

._urlPreviewErrorTitle_9zlmn_764 {
  margin: 2px 0 0;
  color: var(--text-primary);
  font-size: 15px;
  font-weight: 600;
}

._urlPreviewErrorDesc_9zlmn_771 {
  max-width: 360px;
  margin: 0 0 4px;
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
}

/* ── Run 内合并 diff ─────────────────────── */
._diffPreview_9zlmn_780 {
  padding: 12px;
  overflow: auto;
}

._diffPreview_9zlmn_780 > * {
  min-width: max-content;
}

/* ── SyntaxHighlighter 微调 ──────────────── */
._content_9zlmn_450 pre {
  margin: 0 !important;
}

/* ── 搜索悬浮栏 ─────────────────────────── */
._searchWidget_9zlmn_795 {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 6px 8px;
  background: var(--bg-primary);
  border-bottom: 1px solid var(--border-default);
  box-shadow: 0 2px 8px rgb(0 0 0 / 8%);
}

._searchIcon_9zlmn_808 {
  color: var(--text-tertiary);
  flex-shrink: 0;
  margin-right: 4px;
}

._searchInput_9zlmn_814 {
  flex: 1;
  min-width: 0;
  height: 26px;
  padding: 0 6px;
  border: 1px solid var(--border-default);
  border-radius: 4px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-size: 13px;
  font-family: var(--font-mono, monospace);
  outline: none;
  transition: border-color 0.15s ease;
}

._searchInput_9zlmn_814:focus {
  border-color: var(--color-primary);
}

._searchInput_9zlmn_814:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
  outline-offset: 1px;
}

._searchBtn_9zlmn_838 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--text-tertiary);
  cursor: pointer;
  flex-shrink: 0;
  transition:
    background-color 0.15s ease,
    color 0.15s ease,
    opacity 0.15s ease;
}

._searchBtn_9zlmn_838:hover:not(:disabled),
._searchBtn_9zlmn_838:focus-visible:not(:disabled) {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._searchBtn_9zlmn_838:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
  outline-offset: 1px;
}

._searchBtn_9zlmn_838:disabled {
  opacity: 0.4;
  cursor: default;
}

._searchBtnActive_9zlmn_872 {
  color: var(--color-primary);
  background: var(--bg-secondary);
}

._searchCount_9zlmn_877 {
  font-size: 12px;
  color: var(--text-secondary);
  flex-shrink: 0;
  min-width: 36px;
  text-align: center;
  font-family: var(--font-mono, monospace);
}

._searchCountEmpty_9zlmn_886 {
  color: var(--text-tertiary);
}

/* ── 搜索高亮源码渲染 ───────────────────── */
._highlightedSource_9zlmn_891 {
  padding: 16px;
  font-size: 13px;
  line-height: 1.6;
  font-family: var(--font-mono, monospace);
}

._codeLine_9zlmn_898 {
  display: flex;
  min-height: 21px;
}

._lineNumber_9zlmn_903 {
  display: inline-block;
  width: 40px;
  min-width: 40px;
  padding-right: 12px;
  text-align: right;
  color: var(--text-tertiary);
  opacity: 0.5;
  user-select: none;
  font-size: 13px;
  line-height: 1.6;
}

._codeContent_9zlmn_916 {
  flex: 1;
  min-width: 0;
  white-space: pre;
  font-family: var(--font-mono, monospace);
  font-size: 13px;
  line-height: 1.6;
}

._searchHighlight_9zlmn_925 {
  background: rgb(255 200 0 / 35%);
  border-radius: 2px;
  outline: 1px solid rgb(255 200 0 / 50%);
}

._searchHighlightCurrent_9zlmn_931 {
  background: rgb(255 160 0 / 60%);
  outline: 2px solid rgb(255 140 0 / 80%);
}

/* ── Markdown 预览搜索高亮 ─────────────── */
._markSearchHighlight_9zlmn_937 {
  background-color: rgb(255 200 0 / 40%);
  border-radius: 2px;
  padding: 0 1px;
  color: inherit;
}

._markSearchHighlightCurrent_9zlmn_944 {
  background-color: rgb(255 150 0 / 70%);
  outline: 1px solid rgb(255 150 0 / 90%);
}

._quoteSelectionButtonInDrawer_9zlmn_949 {
  z-index: 1002;
}

._lineNumber_9zlmn_903 {
  user-select: none;
}

.react-syntax-highlighter-line-number {
  user-select: none;
}

/* ── 文件树面板 ─────────────────────── */
._body_9zlmn_962 {
  flex: 1;
  display: flex;
  flex-direction: row;
  min-height: 0;
  overflow: hidden;
}

._fileTreePanel_9zlmn_970 {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--border-default);
  background: var(--bg-secondary);
  overflow: hidden;
}

._treeHeader_9zlmn_979 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 8px 6px;
  border-bottom: 1px solid var(--border-default);
  gap: 4px;
  flex-shrink: 0;
}

._treeHeaderTitle_9zlmn_989 {
  font-size: 11px;
  font-weight: 500;
  color: var(--text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
}

._treeBody_9zlmn_1000 {
  flex: 1;
  overflow: auto;
  padding: 4px 0;
}

/* ── 文件树拖拽 handle ────────────────── */
._treeResizeHandle_9zlmn_1007 {
  position: relative;
  width: 6px;
  cursor: col-resize;
  flex-shrink: 0;
  z-index: 1;
}

._treeResizeHandle_9zlmn_1007::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2px;
  width: 2px;
  background: transparent;
  transition: background-color 0.15s ease;
}

._treeResizeHandle_9zlmn_1007:hover::before,
._treeResizeHandleActive_9zlmn_1027::before {
  background: var(--color-primary);
}

/* ── 工具栏按钮激活态 ────────────────── */
._toolbarButtonActive_9zlmn_1032 {
  color: var(--color-primary);
  background: var(--active-bg);
}

._treeItem_9zlmn_1037 {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 2px 8px 2px 4px;
  cursor: pointer;
  font-size: 12px;
  color: var(--text-primary);
  user-select: none;
  white-space: nowrap;
  width: max-content;
  min-width: 100%;
  box-sizing: border-box;
  transition: background-color 0.1s ease;
}

._treeItem_9zlmn_1037:hover {
  background: var(--hover-bg);
}

._treeItemActive_9zlmn_1057 {
  background: color-mix(in srgb, var(--color-primary) 12%, transparent);
  color: var(--color-primary);
}

._treeArrow_9zlmn_1062 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--text-tertiary);
  transition: transform 0.15s ease;
}

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

._treeArrowSpacer_9zlmn_1077 {
  width: 16px;
  flex-shrink: 0;
}

._treeIcon_9zlmn_1082 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--text-tertiary);
}

._treeName_9zlmn_1092 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._treeLoading_9zlmn_1098 {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  color: var(--text-tertiary);
}
/**
 * 锚定动作面板（契约 §6/§9）。
 *
 * - `position: fixed`：面板是浮层，绝不参与文档流——底栏贴窗口下沿，
 *   唯一能长的方向正是输入区/PTY 的生命线；尺寸恒定是被迫约束（§10）。
 * - 限宽 400px、body 限高 288px 超出滚动：一屏原则。
 * - 只消费语义令牌，亮/暗主题由 tokens 层给值。
 * - 类名避开 accentTokensCssGuard 状态词表（与 statusbar 同一纪律）。
 */

._panel_1pf9q_11 {
  position: fixed;
  z-index: 1000;
  width: 400px;
  max-width: calc(100vw - 16px);
  display: flex;
  flex-direction: column;
  background: var(--bg-elevated);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
  color: var(--text-primary);
  font-size: var(--font-sm);
  outline: none;
  user-select: none;
}

._header_1pf9q_28 {
  display: flex;
  align-items: center;
  min-height: 28px;
  padding: var(--space-1) var(--space-2);
  border-bottom: 1px solid var(--border-default);
}

._header_1pf9q_28:empty {
  display: none;
}

._title_1pf9q_40 {
  font-weight: var(--font-semibold);
  color: var(--text-secondary);
  font-size: var(--font-xs);
}

._crumbs_1pf9q_46 {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  border: none;
  background: none;
  color: var(--text-secondary);
  font-size: var(--font-xs);
  cursor: pointer;
  padding: 2px 4px;
  border-radius: var(--radius-sm);
  max-width: 100%;
}

._crumbs_1pf9q_46 span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._crumbs_1pf9q_46:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}

._filter_1pf9q_71 {
  margin: var(--space-2) var(--space-2) 0;
  padding: 4px 8px;
  font-size: var(--font-xs);
  color: var(--text-primary);
  background: var(--bg-tertiary);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  outline: none;
}

._filter_1pf9q_71:focus {
  border-color: var(--border-strong);
}

._body_1pf9q_86 {
  /* 高度恒定：busy / 空态 / 内容都占同一容器，面板不随状态跳尺寸。 */
  max-height: 288px;
  min-height: 40px;
  overflow-y: auto;
  padding: var(--space-1) 0;
}

._groupLabel_1pf9q_94 {
  padding: 6px var(--space-3) 2px;
  font-size: var(--font-xs);
  color: var(--text-tertiary);
}

._row_1pf9q_100 {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  width: 100%;
  min-height: 30px;
  padding: 4px var(--space-3);
  border: none;
  background: none;
  color: var(--text-primary);
  font-size: var(--font-sm);
  text-align: left;
  cursor: pointer;
}

._row_1pf9q_100:hover:not(:disabled) {
  background: var(--bg-hover);
}

._row_1pf9q_100:focus-visible {
  outline: 2px solid var(--border-strong);
  outline-offset: -2px;
}

._rowStatic_1pf9q_124 {
  cursor: default;
  color: var(--text-secondary);
}

._rowStatic_1pf9q_124:hover {
  background: none;
}

._rowIcon_1pf9q_133 {
  flex: 0 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--text-tertiary);
}

._rowText_1pf9q_141 {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

._rowLabel_1pf9q_149 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._rowDesc_1pf9q_155 {
  font-size: var(--font-xs);
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._rowDetail_1pf9q_163 {
  flex: 0 0 auto;
  font-size: var(--font-xs);
  color: var(--text-tertiary);
}

._rowChevron_1pf9q_169 {
  flex: 0 0 auto;
  display: inline-flex;
  color: var(--text-tertiary);
}

._busy_1pf9q_175 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: 40px;
  color: var(--text-secondary);
  font-size: var(--font-xs);
}

._spin_1pf9q_185 {
  animation: _panel-spin_1pf9q_1 1s linear infinite;
}

@keyframes _panel-spin_1pf9q_1 {
  to {
    transform: rotate(360deg);
  }
}

._empty_1pf9q_195 {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: var(--space-2) var(--space-3);
  color: var(--text-tertiary);
  font-size: var(--font-xs);
  text-align: center;
}

._footer_1pf9q_206 {
  display: flex;
  gap: var(--space-1);
  padding: var(--space-1) var(--space-2);
  border-top: 1px solid var(--border-default);
}

._footerButton_1pf9q_213 {
  padding: 3px 10px;
  font-size: var(--font-xs);
  color: var(--text-secondary);
  background: none;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  cursor: pointer;
}

._footerButton_1pf9q_213:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}

._footerButton_1pf9q_213:focus-visible {
  outline: 2px solid var(--border-strong);
  outline-offset: -1px;
}

/**
 * 行的状态词（`ActionPanelItem.stateText`）：只给辅助技术读。
 *
 * 视觉隐藏但不 `display:none`——后者会把节点从无障碍树里摘掉，等于没写。
 * 用与 `ChatSidebar` 同一套视觉隐藏手法（1px + clip），保持仓库里只有一种写法。
 */
._rowStateSr_1pf9q_239 {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
._connectionBanner_se1wi_1 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text-primary, #fff);
  background: var(--color-warning-bg, #f59e0b);
  animation: _slideDown_se1wi_1 0.2s ease-out;
}

@keyframes _slideDown_se1wi_1 {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}
._banner_1enc2_1 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 36px;
  padding: 6px 16px;
  color: var(--text-primary);
  background: color-mix(in srgb, var(--orange-500) 13%, var(--bg-primary));
  border-bottom: 1px solid color-mix(in srgb, var(--orange-500) 35%, var(--border));
  font-size: 13px;
}

._message_1enc2_14,
._action_1enc2_15 {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

._message_1enc2_14 svg {
  flex-shrink: 0;
  color: var(--orange-500);
}

._action_1enc2_15 {
  padding: 3px 7px;
  border: 0;
  border-radius: 6px;
  color: var(--accent-color);
  background: transparent;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

._action_1enc2_15:hover:not(:disabled) {
  background: color-mix(in srgb, var(--accent-color) 10%, transparent);
}

._action_1enc2_15:disabled {
  cursor: default;
  opacity: 0.6;
}

._action_1enc2_15:focus-visible {
  outline: 2px solid var(--accent-color);
  outline-offset: 2px;
}

@media (width <= 768px) {
  ._banner_1enc2_1 {
    justify-content: space-between;
    gap: 8px;
    padding-inline: 10px;
  }
}
._banner_1kd8g_1 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 36px;
  padding: 6px 16px;
  color: var(--text-primary);
  background: color-mix(in srgb, var(--orange-500) 13%, var(--bg-primary));
  border-bottom: 1px solid color-mix(in srgb, var(--orange-500) 35%, var(--border));
  font-size: 13px;
}

._message_1kd8g_14,
._action_1kd8g_15 {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

._message_1kd8g_14 svg {
  flex-shrink: 0;
  color: var(--orange-500);
}

._action_1kd8g_15 {
  padding: 3px 7px;
  border: 0;
  border-radius: 6px;
  color: var(--accent-color);
  background: transparent;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

._action_1kd8g_15:hover {
  background: color-mix(in srgb, var(--accent-color) 10%, transparent);
}

._action_1kd8g_15:focus-visible {
  outline: 2px solid var(--accent-color);
  outline-offset: 2px;
}

@media (width <= 768px) {
  ._banner_1kd8g_1 {
    justify-content: space-between;
    gap: 8px;
    padding-inline: 10px;
  }
}
._container_170td_1 {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: auto;
  padding: 24px;
}

._error_170td_11 {
  color: var(--error, #d33);
  font-size: 13px;
  margin: 8px 0;
}

._retryButton_170td_17 {
  align-self: flex-start;
  padding: 4px 10px;
  border: 1px solid var(--border, rgba(128, 128, 128, 0.25));
  border-radius: 6px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: 12px;
}

._retryButton_170td_17:hover {
  background: var(--bg-hover, rgba(128, 128, 128, 0.12));
}

._iframeWrap_170td_32 {
  flex: 1;
  min-height: 0;
  border: 1px solid var(--border, rgba(128, 128, 128, 0.25));
  border-radius: 8px;
  overflow: hidden;
}
/* 段内容：滚动由 ExtensionsView 的滚动容器承担，这里只提供本段自己的呼吸边距
   （左右与 MCP 段同为 24px，切段时内容左右边缘不跳）。 */
._panel_kstvj_3 {
  display: flex;
  flex-direction: column;
  padding: 16px 24px 24px;
}

/* 宿主进程运行状态徽标：工具栏左侧常驻三态（点色区分，文案中性）。 */
._hostBadge_kstvj_10 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 400;
  color: var(--text-secondary, #888);
}

._hostDot_kstvj_19 {
  width: 7px;
  height: 7px;
  border-radius: 50%;
}

._hostDotRunning_kstvj_25 {
  background: var(--status-success-fg, #2e7d32);
}

._hostDotIdle_kstvj_29 {
  background: var(--text-tertiary, rgba(128, 128, 128, 0.45));
}

._hostDotCrashed_kstvj_33 {
  background: var(--status-danger-fg, #c62828);
}

._toolbar_kstvj_37 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
}

/* 宿主状态未下发且没有插件时工具栏是空的：不留那 12px 的空档（真实 App 里徽标恒在）。 */
._toolbar_kstvj_37:empty {
  margin-bottom: 0;
}

._toolbarActions_kstvj_49 {
  display: flex;
  gap: 8px;
  margin-left: auto;
}

/* 宿主进程崩溃警示条：只负责告知；恢复动作走工具栏"重启插件进程"。 */
._hostAlert_kstvj_56 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  padding: 8px 12px;
  border-radius: 8px;
  background: var(--status-danger-bg, rgba(244, 67, 54, 0.14));
  color: var(--status-danger-fg, #c62828);
  font-size: 12px;
}

._hostAlertText_kstvj_68 {
  flex: 1;
  min-width: 0;
}

._listWrap_kstvj_73 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._emptyState_kstvj_79 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  /* 空态落在一整屏高的滚动区里：给一个与视口感相称的最小高度，几行字不至于贴顶。 */
  min-height: 320px;
  padding: 40px 32px;
}

._emptyIcon_kstvj_90 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 12px;
  border-radius: 50%;
  background: var(--bg-hover, rgba(128, 128, 128, 0.12));
  color: var(--text-secondary, #888);
}

._emptyTitle_kstvj_102 {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
}

._emptyHint_kstvj_108 {
  max-width: 320px;
  margin: 6px 0 18px;
  color: var(--text-secondary, #888);
  font-size: 12px;
  line-height: 1.5;
}

._placeholder_kstvj_116 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 24px;
  color: var(--text-secondary, #888);
  font-size: 13px;
}

._spin_kstvj_126 {
  animation: _pluginManagerSpin_kstvj_1 1s linear infinite;
}

@keyframes _pluginManagerSpin_kstvj_1 {
  to {
    transform: rotate(360deg);
  }
}

._row_kstvj_136 {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--border-default, rgba(128, 128, 128, 0.25));
  border-radius: 8px;
}

._rowMain_kstvj_145 {
  flex: 1;
  min-width: 0;
}

._rowTitle_kstvj_150 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._name_kstvj_156 {
  font-weight: 600;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._version_kstvj_164 {
  color: var(--text-secondary, #888);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

._badge_kstvj_170 {
  padding: 1px 8px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 18px;
  white-space: nowrap;
}

._badgeLoaded_kstvj_178 {
  background: var(--status-success-bg, rgba(76, 175, 80, 0.16));
  color: var(--status-success-fg, #2e7d32);
}

._badgeFailed_kstvj_183 {
  background: var(--status-danger-bg, rgba(244, 67, 54, 0.14));
  color: var(--status-danger-fg, #c62828);
}

._badgeDisabled_kstvj_188 {
  background: var(--bg-hover, rgba(128, 128, 128, 0.15));
  color: var(--text-secondary, #888);
}

._badgePending_kstvj_193 {
  background: var(--status-warning-bg, rgba(255, 152, 0, 0.16));
  color: var(--status-warning-fg, #b26a00);
}

._rowMeta_kstvj_198 {
  display: flex;
  gap: 12px;
  margin-top: 2px;
  color: var(--text-secondary, #888);
  font-size: 12px;
}

._rowError_kstvj_206 {
  margin: 6px 0 0;
  color: var(--status-danger-fg, #c62828);
  font-size: 12px;
  word-break: break-all;
}

._rowActions_kstvj_213 {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
}

._error_kstvj_219 {
  margin: 0 0 12px;
  color: var(--status-danger-fg, #c62828);
  font-size: 12px;
  word-break: break-all;
}
._drawerOverlay_1edej_1 {
  position: fixed;
  inset: 0;
  background: var(--overlay-bg);
  z-index: 1000;
  display: flex;
  justify-content: flex-end;
}

._drawer_1edej_1 {
  width: 360px;
  max-width: 90vw;
  height: 100%;
  background: var(--bg-primary);
  box-shadow: -4px 0 24px var(--shadow-lg);
  display: flex;
  flex-direction: column;
  animation: _slideIn_1edej_1 0.3s ease-out;
}

@keyframes _slideIn_1edej_1 {
  from {
    transform: translateX(100%);
  }

  to {
    transform: translateX(0);
  }
}

._drawerHeader_1edej_31 {
  padding: 20px;
  border-bottom: 1px solid var(--border);
}

._drawerTitle_1edej_36 {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 8px;
}

._drawerSubtitle_1edej_42 {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: 4px;
}

._drawerDesc_1edej_49 {
  font-size: 0.75rem;
  color: var(--text-secondary);
}

._drawerWarning_1edej_54 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 12px 20px;
  padding: 10px 12px;
  background: var(--color-warning-light);
  color: var(--text-secondary);
  border-radius: 6px;
  font-size: 0.8125rem;
}

._drawerSearch_1edej_66 {
  padding: 12px 20px;
  border-bottom: 1px solid var(--border);
}

._searchInput_1edej_71 {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-size: 0.875rem;
  transition: all 0.2s ease;
}

._searchInput_1edej_71:focus {
  outline: none;
  border-color: var(--accent-color);
}

._selectAllRow_1edej_87 {
  padding: 8px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--border);
}

._filteredCount_1edej_95 {
  font-size: 0.75rem;
  color: var(--text-secondary);
}

._selectAllBtn_1edej_100 {
  padding: 4px 8px;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: transparent;
  color: var(--accent-color);
  font-size: 0.75rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

._selectAllBtn_1edej_100:hover {
  background: var(--bg-secondary);
}

._drawerList_1edej_115 {
  flex: 1;
  overflow-y: auto;
  padding: 12px 20px;
}

._drawerItem_1edej_121 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 6px;
  margin-bottom: 4px;
  transition: background 0.2s ease;
}

._drawerItem_1edej_121:hover {
  background: var(--bg-secondary);
}

/* 勾选区：整行可点范围就是这里——原来是整块 label，现在要给右侧的动作按钮让位。 */
._drawerItemMain_1edej_136 {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  flex: 1;
  min-width: 0;
  cursor: pointer;
}

/* 第二动作（打开该 Agent 配置）：图形按钮，文字通路走 aria-label / title。 */
._drawerItemAction_1edej_146 {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  margin-top: 1px;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}

._drawerItemAction_1edej_146:hover {
  background: var(--bg-secondary);
  color: var(--accent-color);
}

._drawerItem_1edej_121 input[type='checkbox'] {
  appearance: none;
  width: 16px;
  height: 16px;
  border: 2px solid var(--border);
  border-radius: 4px;
  background: var(--bg-secondary);
  cursor: pointer;
  margin-top: 2px;
  transition: all 0.2s ease;
  position: relative;
}

._drawerItem_1edej_121 input[type='checkbox']:checked {
  background: var(--color-primary-solid);
  border-color: var(--accent-color);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
}

._drawerItemInfo_1edej_190 {
  flex: 1;
  min-width: 0;
}

._drawerItemName_1edej_195 {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-primary);
  display: block;
}

._drawerItemDesc_1edej_202 {
  font-size: 0.75rem;
  color: var(--text-secondary);
  margin-top: 2px;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._drawerEmpty_1edej_212 {
  text-align: center;
  padding: 20px;
  color: var(--text-secondary);
  font-size: 0.875rem;
}

._drawerFooter_1edej_219 {
  padding: 16px 20px;
  border-top: 1px solid var(--border);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

._selectedCount_1edej_227 {
  font-size: 0.875rem;
  color: var(--text-secondary);
}

._drawerButtons_1edej_232 {
  display: flex;
  gap: 8px;
}

@media (prefers-reduced-motion: reduce) {
  ._drawer_1edej_1 {
    animation: none;
  }

  ._searchInput_1edej_71,
  ._selectAllBtn_1edej_100,
  ._drawerItem_1edej_121,
  ._drawerItemAction_1edej_146,
  ._drawerItem_1edej_121 input[type='checkbox'] {
    transition: none;
  }
}
/* McpPanel 使用 settings-common 公共样式 + Toggle 自定义 */

._panel_1r78u_3 {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* List view - header now uses SettingsPanelHeader */
._list_1r78u_10 {
  flex: 1;
  overflow-y: auto;
  padding: 18px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._empty_1r78u_19 {
  color: var(--text-tertiary);
  font-size: 14px;
  text-align: center;
  padding: 32px 0;
}

._item_1r78u_26 {
  position: relative;
  display: flex;
  justify-content: stretch;
  align-items: stretch;
  gap: 0;

  /* 列表容器是 flex column + overflow-y: auto；不加 shrink:0 时空间不足会压缩卡片而不是滚动 */
  flex-shrink: 0;
  padding: 18px 20px 18px 24px;
  background: var(--bg-secondary);
  border-radius: 8px;
  border: 1px solid var(--border);
  box-shadow: 0 1px 2px rgb(15 23 42 / 4%);
  transition:
    border-color 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease;
  overflow: hidden;
}

/* 状态强调条 */
._itemAccentBar_1r78u_48 {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: transparent;
  transition: background 0.2s ease;
}

._itemConnected_1r78u_58 ._itemAccentBar_1r78u_48 {
  background: var(--color-success, var(--green-500));
}

._itemError_1r78u_62 ._itemAccentBar_1r78u_48 {
  background: var(--color-error, var(--red-500));
}

._itemDisabled_1r78u_66 ._itemAccentBar_1r78u_48 {
  background: var(--border-strong, var(--text-tertiary));
}

._itemDisabled_1r78u_66 {
  opacity: 0.6;
}

/* 类型不被运行时支持（当前只有 websocket）：中性色而非错误红——它不是「这次没连上」，
   重试不会好，也不会自己恢复（见 `McpPanel.tsx` 的 RUNTIME_UNSUPPORTED_TYPES）。 */
._itemUnsupported_1r78u_76 ._itemAccentBar_1r78u_48 {
  background: var(--border-strong, var(--text-tertiary));
}

._item_1r78u_26:hover {
  border-color: var(--accent-color);
  background: var(--hover-bg);
  box-shadow: 0 8px 24px rgb(15 23 42 / 8%);
}

._itemInfo_1r78u_86 {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  flex: 1;
}

._itemHeader_1r78u_94 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

._itemTitleBlock_1r78u_102 {
  min-width: 0;
}

._itemTitleRow_1r78u_106 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

._typeIcon_1r78u_113 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: var(--color-primary-muted);
  color: var(--accent-color);
}

._typeBadge_1r78u_125 {
  flex-shrink: 0;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--text-secondary);
  background: var(--bg-tertiary);
  white-space: nowrap;
}

._itemFooter_1r78u_137 {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

._itemName_1r78u_145 {
  font-weight: 600;
  font-size: 16px;
  line-height: 1.4;
  color: var(--text-primary);
}

._itemMeta_1r78u_152 {
  margin-top: 4px;
  margin-left: 36px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--text-tertiary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: 'SF Mono', 'Fira Code', 'JetBrains Mono', monospace;
}

._itemActions_1r78u_164 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-shrink: 0;
  width: 100%;
  flex-wrap: wrap;
}

._itemActionButtons_1r78u_174 {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

._itemMetaRow_1r78u_181 {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* 连接状态药丸 */
._connPill_1r78u_189 {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

._connPillOn_1r78u_200 {
  color: var(--green-600, #16a34a);
  background: var(--color-success-light, rgb(34 197 94 / 10%));
}

._connPillErr_1r78u_205 {
  color: var(--red-600, #dc2626);
  background: var(--color-error-light, rgb(239 68 68 / 10%));
}

._connPillOff_1r78u_210 {
  color: var(--text-tertiary);
  background: var(--bg-tertiary);
}

/* 工具数量徽章 — 可点击展开 */
._toolBadge_1r78u_216 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
  background: var(--bg-tertiary);
  white-space: nowrap;
  cursor: pointer;
  border: 1px solid transparent;
  font-family: inherit;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}

._toolBadge_1r78u_216:hover {
  background: var(--color-primary-muted);
  border-color: var(--color-primary-border);
}

._toolCountBadge_1r78u_240 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
  background: var(--bg-tertiary);
  white-space: nowrap;
}

._toolBadgeArrow_1r78u_253 {
  transition: transform 0.15s ease;
  transform: rotate(0deg);
  color: var(--text-tertiary);
}

._toolBadgeArrowExpanded_1r78u_259 {
  transition: transform 0.15s ease;
  transform: rotate(90deg);
  color: var(--text-tertiary);
}

/* 展开的工具列表 */
._toolList_1r78u_266 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px 10px;
  background: var(--bg-primary);
  border-radius: 8px;
  border: 1px solid var(--border);
}

._toolNameTag_1r78u_276 {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-family: 'SF Mono', 'Fira Code', 'JetBrains Mono', monospace;
  color: var(--text-secondary);
  background: var(--bg-tertiary);
  white-space: nowrap;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 错误行 */

/* Toggle switch */
._toggleLabel_1r78u_294 {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  cursor: pointer;
}

._toggleInput_1r78u_302 {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

._toggleTrack_1r78u_309 {
  display: inline-block;
  width: 32px;
  height: 18px;

  /* 关闭态轨道用 text-tertiary：在卡片背景上有明确对比（border-strong 仍偏浅），明暗主题都可见 */
  background: var(--text-tertiary);
  border-radius: 9px;
  transition: background 0.2s ease;
  position: relative;
}

._toggleTrack_1r78u_309::after {
  content: '';
  position: absolute;
  left: 2px;
  top: 2px;
  width: 14px;
  height: 14px;
  background: white;
  border-radius: 50%;
  transition: transform 0.2s ease;
}

._toggleInput_1r78u_302:checked + ._toggleTrack_1r78u_309 {
  background: var(--color-primary-solid);
}

._toggleInput_1r78u_302:checked + ._toggleTrack_1r78u_309::after {
  transform: translateX(14px);
}

/* Form view */
._formWrapper_1r78u_342 {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
}

._formTitle_1r78u_348 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 16px;
}

._field_1r78u_355 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
}

._label_1r78u_362 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
}

._input_1r78u_368 {
  padding: 10px 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
  font-family: inherit;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

._input_1r78u_368:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
  box-shadow: var(--focus-ring);
}

._inputHint_1r78u_389,
._inputError_1r78u_390 {
  font-size: 12px;
  line-height: 1.4;
}

._inputHint_1r78u_389 {
  color: var(--text-tertiary);
}

._inputError_1r78u_390 {
  color: var(--danger-color);
}

._input_1r78u_368[aria-invalid='true'] {
  border-color: var(--danger-color);
}

._argsPreview_1r78u_407 {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  min-width: 0;
}

._argValue_1r78u_414 {
  overflow: hidden;
  max-width: min(100%, 280px);
  padding: 2px 5px;
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--text-secondary);
  background: var(--bg-secondary);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._formFooter_1r78u_427 {
  display: flex;
  gap: 10px;
  padding: 14px 24px;
  border-top: 1px solid var(--border);
  justify-content: flex-end;
}

._headerSection_1r78u_435 {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

._headerSectionTop_1r78u_441 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

._sectionTitle_1r78u_449 {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

._sectionDescription_1r78u_456 {
  margin: 4px 0 0;
  max-width: 640px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-secondary);
}

._headerActions_1r78u_464 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

._headersEmpty_1r78u_471 {
  padding: 12px;
  border: 1px dashed var(--border);
  border-radius: 8px;
  color: var(--text-tertiary);
  font-size: 13px;
}

._headersList_1r78u_479 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._headerRow_1r78u_485 {
  display: grid;
  grid-template-columns: minmax(80px, 0.55fr) minmax(140px, 1fr) minmax(180px, 1.35fr) auto;
  align-items: end;
  gap: 10px;
  padding: 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
}

._headerField_1r78u_496 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

._headerEnabledLabel_1r78u_503 {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 13px;
}

._headerRowActions_1r78u_512 {
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

._testHint_1r78u_520 {
  margin: 12px 0 0;
  color: var(--text-tertiary);
  font-size: 12px;
}

._testSuccess_1r78u_526,
._testError_1r78u_527 {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.45;
}

._testSuccess_1r78u_526 {
  color: var(--success-color, #15803d);
  background: color-mix(in srgb, var(--success-color, #16a34a) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--success-color, #16a34a) 28%, var(--border));
}

._testError_1r78u_527 {
  color: var(--danger-color, #b91c1c);
  background: color-mix(in srgb, var(--danger-color, #dc2626) 9%, transparent);
  border: 1px solid color-mix(in srgb, var(--danger-color, #dc2626) 28%, var(--border));
}

._statusRow_1r78u_547 {
  width: fit-content;
  min-height: 40px;
  min-width: 0;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--bg-primary);
  border: 1px solid var(--border);
  border-radius: 10px;
  cursor: pointer;
  font-size: 13px;
  font-family: inherit;
  transition:
    border-color 0.2s ease,
    background 0.2s ease;
}

._statusRow_1r78u_547:hover {
  border-color: var(--border-strong);
  background: var(--bg-hover);
}

._statusRowWarning_1r78u_571 {
  border-color: color-mix(in srgb, var(--warning-color, #f59e0b) 45%, var(--border));
  background: color-mix(in srgb, var(--warning-color, #f59e0b) 8%, var(--bg-primary));
}

._statusIcon_1r78u_576 {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  color: var(--text-secondary);
}

._statusText_1r78u_583 {
  color: var(--color-info);
  font-weight: 600;
}

._statusText_1r78u_583:hover {
  text-decoration: none;
}

._disabledBadge_1r78u_592 {
  flex-shrink: 0;
  padding: 3px 8px;
  background: color-mix(in srgb, var(--warning-color, #f59e0b) 16%, transparent);
  color: var(--warning-color, #b45309);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}

._statusArrow_1r78u_603 {
  color: var(--text-tertiary);
  flex-shrink: 0;
}

@media (width <= 720px) {
  ._list_1r78u_10 {
    padding: 16px;
  }

  ._item_1r78u_26 {
    padding: 14px 16px 14px 20px;
  }

  ._itemFooter_1r78u_137 {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  ._itemActions_1r78u_164 {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  ._itemMetaRow_1r78u_181 {
    width: 100%;
  }

  ._statusRow_1r78u_547 {
    width: 100%;
    justify-content: flex-start;
  }

  ._itemMeta_1r78u_152 {
    margin-left: 0;
  }

  ._headerRow_1r78u_485 {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  ._headerRowActions_1r78u_512 {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  ._item_1r78u_26,
  ._itemAccentBar_1r78u_48,
  ._toolBadge_1r78u_216,
  ._toolBadgeArrow_1r78u_253,
  ._toolBadgeArrowExpanded_1r78u_259,
  ._toggleTrack_1r78u_309,
  ._toggleTrack_1r78u_309::after {
    transition: none;
  }
}

/* Env vars editor — same row layout as headers but without the enabled checkbox column */
._envVarRow_1r78u_666 {
  display: grid;
  grid-template-columns: minmax(120px, 0.6fr) minmax(160px, 1fr) auto;
  align-items: end;
  gap: 10px;
  padding: 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
}

._inputWarning_1r78u_677 {
  border-color: var(--warning-color, #f59e0b);
}

._fieldHint_1r78u_681 {
  grid-column: 1 / -1;
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--warning-color, #b45309);
  line-height: 1.4;
}
._tabBar_1mz7d_1 {
  display: flex;
  gap: 4px;
  padding: 0 24px;
  border-bottom: 1px solid var(--border);
  background: var(--bg-primary);
}

._tab_1mz7d_1 {
  padding: 10px 16px;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  margin-bottom: -1px;
  transition: all 0.2s ease;
}

._tab_1mz7d_1:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._tabActive_1mz7d_28 {
  border-bottom-color: var(--accent-color);
  color: var(--accent-color);
}

._installedView_1mz7d_33 {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._toolbar_1mz7d_42 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 4px;
}

._toolbar_1mz7d_42 ._input_1mz7d_50 {
  flex: 1 1 auto;
  min-width: 0;
}

._searchPlaceholder_1mz7d_55 {
  flex: 1;
  min-width: 180px;
  padding: 9px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-secondary);
  color: var(--text-tertiary);
  font-size: 13px;
}

._toolbarActions_1mz7d_66,
._cardActions_1mz7d_67,
._detailActions_1mz7d_68 {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

._toolbarActions_1mz7d_66 {
  flex: 0 0 auto;
  flex-wrap: nowrap;
}

._secondaryButton_1mz7d_80,
._primarySoftButton_1mz7d_81,
._iconButton_1mz7d_82 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 7px 10px;
  background: var(--bg-secondary);
  color: var(--text-secondary);
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.2s ease;
  white-space: nowrap;
}

._secondaryButton_1mz7d_80:hover:not(:disabled),
._primarySoftButton_1mz7d_81:hover:not(:disabled),
._iconButton_1mz7d_82:hover:not(:disabled) {
  border-color: var(--accent-color);
  color: var(--text-primary);
  background: var(--hover-bg);
}

._secondaryButton_1mz7d_80:disabled,
._primarySoftButton_1mz7d_81:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

._primarySoftButton_1mz7d_81 {
  border-color: var(--accent-color);
  background: var(--accent-color-light);
  color: var(--accent-color);
}

._iconButton_1mz7d_82 {
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 999px;
  flex-shrink: 0;
}

._skillCard_1mz7d_127 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--bg-secondary);
  transition: all 0.2s ease;
}

._skillCard_1mz7d_127:hover {
  border-color: var(--accent-color);
  background: var(--hover-bg);
}

._skillHeader_1mz7d_143 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

._skillTitleBlock_1mz7d_150 {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

._skillIcon_1mz7d_157 {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--bg-primary);
  border: 1px solid var(--border);
  flex-shrink: 0;
}

._skillTitleText_1mz7d_169 {
  min-width: 0;
}

._skillName_1mz7d_173 {
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._sourceBadge_1mz7d_182,
._warningBadge_1mz7d_183,
._toolBadge_1mz7d_184 {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 4px;
  padding: 2px 6px;
  border-radius: 999px;
  background: var(--bg-primary);
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.4;
}

._warningBadge_1mz7d_183 {
  margin-top: 0;
  color: var(--warning-color, #b7791f);
  background: var(--warning-bg, rgb(245 158 11 / 12%));
}

._globalSwitchLabel_1mz7d_203 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 12px;
  white-space: nowrap;
}

._skillDescription_1mz7d_212 {
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
}

._skillMetaRow_1mz7d_218 {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-tertiary);
  font-size: 12px;
}

._emptyState_1mz7d_226,
._placeholderPanel_1mz7d_227 {
  color: var(--text-tertiary);
  font-size: 14px;
  text-align: center;
  padding: 40px 0;
}

._placeholderPanel_1mz7d_227 {
  flex: 1;
  padding: 56px 24px;
}

._placeholderTitle_1mz7d_239 {
  color: var(--text-primary);
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 8px;
}

._placeholderDesc_1mz7d_246 {
  color: var(--text-secondary);
  font-size: 13px;
}

._drawerOverlay_1mz7d_251 {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgb(0 0 0 / 32%);
  display: flex;
  justify-content: flex-end;
}

._detailDrawer_1mz7d_260 {
  width: min(440px, 92vw);
  height: 100%;
  background: var(--bg-primary);
  border-left: 1px solid var(--border);
  box-shadow: -16px 0 40px rgb(0 0 0 / 18%);
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 20px;
  overflow-y: auto;
}

._detailHeader_1mz7d_273 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}

._detailTitle_1mz7d_281 {
  margin: 0 0 6px;
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 600;
}

._detailDescription_1mz7d_288 {
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
}

._detailWarning_1mz7d_294 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--warning-bg, rgb(245 158 11 / 12%));
  color: var(--warning-color, #b7791f);
  font-size: 12px;
}

._detailSection_1mz7d_305 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-secondary);
}

._detailSectionTitle_1mz7d_315 {
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 600;
}

._detailRow_1mz7d_321 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--text-secondary);
  font-size: 12px;
}

._detailRow_1mz7d_321 strong {
  color: var(--text-primary);
  font-weight: 500;
  text-align: right;
}

._toolList_1mz7d_335 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

._toolBadge_1mz7d_184 {
  margin-top: 0;
}

._locationBox_1mz7d_345 {
  padding: 8px;
  border-radius: 8px;
  background: var(--bg-primary);
  color: var(--text-tertiary);
  font-family: var(--font-mono, monospace);
  font-size: 12px;
  overflow-wrap: anywhere;
}

._sourceUrl_1mz7d_355 {
  margin-top: 4px;
  color: var(--text-tertiary);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._statusPill_1mz7d_364 {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  border-radius: 999px;
  background: var(--bg-primary);
  border: 1px solid var(--border);
  color: var(--text-secondary);
  font-size: 11px;
}

._sourcesHeader_1mz7d_375 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 4px;
}

._sourcesTitle_1mz7d_383 {
  color: var(--text-primary);
  font-size: 15px;
  font-weight: 600;
}

._sourcesDesc_1mz7d_389 {
  margin-top: 4px;
  color: var(--text-secondary);
  font-size: 13px;
}

._dialogOverlay_1mz7d_395 {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgb(0 0 0 / 32%);
}

._dialog_1mz7d_395 {
  width: min(420px, 92vw);
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--bg-primary);
  box-shadow: 0 18px 48px rgb(0 0 0 / 22%);
}

._dialogTitle_1mz7d_414 {
  margin: 0 0 16px;
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 600;
}

._dialogBody_1mz7d_421 {
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
}

._field_1mz7d_427 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
}

._fieldCompact_1mz7d_434 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._fieldLabel_1mz7d_440 {
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 500;
}

._checkboxLabel_1mz7d_446 {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

._input_1mz7d_50 {
  padding: 9px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-size: 13px;
}

._textarea_1mz7d_462 {
  min-height: 128px;
  padding: 9px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-size: 12px;
  line-height: 1.5;
  font-family: var(--font-mono, 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace);
  resize: vertical;
}

._input_1mz7d_50:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
}

._textarea_1mz7d_462:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
}

._formHint_1mz7d_487 {
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.5;
}

._formError_1mz7d_493 {
  margin-top: 10px;
  color: var(--danger-color, #dc2626);
  font-size: 12px;
}

._trustedKeyList_1mz7d_499 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._trustedKeyItem_1mz7d_505 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-secondary);
}

._trustedKeyHeader_1mz7d_515 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 600;
}

._trustedKeyGrid_1mz7d_525 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px;
  gap: 10px;
}

._iconButton_1mz7d_82 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-primary);
  color: var(--text-secondary);
  cursor: pointer;
}

._iconButton_1mz7d_82:hover {
  color: var(--danger-color, #dc2626);
  border-color: rgb(220 38 38 / 35%);
}

._emptyInline_1mz7d_549 {
  padding: 10px;
  border: 1px dashed var(--border);
  border-radius: 10px;
  color: var(--text-tertiary);
  font-size: 12px;
}

._dialogActions_1mz7d_557 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 18px;
}

._discoverToolbar_1mz7d_564 {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 4px;
}

._discoverToolbar_1mz7d_564 ._input_1mz7d_50 {
  flex: 1;
}

._statusBar_1mz7d_575,
._statusBarWarning_1mz7d_576,
._statusBarError_1mz7d_577 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--bg-secondary);
  color: var(--text-secondary);
  font-size: 12px;
}

._statusBarWarning_1mz7d_576 {
  border-color: rgb(245 158 11 / 35%);
  background: var(--warning-bg, rgb(245 158 11 / 12%));
  color: var(--warning-color, #b7791f);
}

._statusBarError_1mz7d_577 {
  border-color: rgb(220 38 38 / 30%);
  background: rgb(220 38 38 / 8%);
  color: var(--danger-color, #dc2626);
}

._inlineButton_1mz7d_602 {
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  text-decoration: underline;
}

._loadMoreContainer_1mz7d_612 {
  display: flex;
  justify-content: center;
  padding: 16px 0 8px;
}
/* 主区「扩展」容器：标题 + 分段 tab + 生效语义条固定，内容区自己滚。 */
._container_hsl35_2 {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--bg-primary);
  min-width: 0;
}

._header_hsl35_10 {
  flex-shrink: 0;
  padding: 18px 24px 12px;
  border-bottom: 1px solid var(--border-color);
}

._titleWrap_hsl35_16 {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--text-primary);
}

._titleWrap_hsl35_16 h1 {
  margin: 0;
  font-size: 18px;
  font-weight: 650;
}

._tabs_hsl35_29 {
  display: flex;
  gap: 4px;
  margin-top: 14px;
}

._tab_hsl35_29 {
  padding: 5px 12px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  font-size: 13px;
  cursor: pointer;
}

._tab_hsl35_29:hover {
  background: var(--bg-hover);
}

._tabActive_hsl35_49 {
  background: var(--bg-hover);
  color: var(--text-primary);
  font-weight: 600;
}

/* 生效语义条：固定在内容之上，切段时先看见「何时生效」再看见列表。 */
._semantics_hsl35_56 {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 9px 24px;
  border-bottom: 1px solid var(--border-color);
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.5;
}

/* 唯一滚动容器。留白归**段自己**：三段原本各有自己的呼吸边距（MCP 24px、
   插件段 24px、技能段自有），容器再加一层就变成双份。 */
._body_hsl35_71 {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

/*
 * 段位容器在布局上不存在（`display: contents`）：段内容直接按 `.body` 定位，
 * 于是 MCP 面板自带的 `height: 100%` 与内层滚动照旧成立，插件段的自然高度也
 * 照旧交给 `.body` 滚。只负责「非激活段不可见」这一件事。
 *
 * `[hidden]` 必须显式压掉 `display: contents`——两者特异性同级，作者样式在
 * UA 之后，不写这行 `hidden` 属性就失效了（非激活段会直接叠着显示）。
 *
 * 元素上仍带 `role="tabpanel"`：`display: contents` 只把它移出**盒子**树，
 * 语义按 CSS 规范保留给无障碍树。万一某个引擎仍按老行为丢弃它，退化的结果也
 * 只是「tab 没有可引用的面板」，与不写 role 相同——不会更差。
 */
._segmentPane_hsl35_89 {
  display: contents;
}

._segmentPane_hsl35_89[hidden] {
  display: none;
}
/**
 * 底栏单项。令牌同 StatusBar.module.css：两套主题由 semantic.css 供值。
 *
 * `.clickable:focus-visible` 是唯一引用 accent 令牌的规则块；其选择器不含
 * `accentTokensCssGuard` 的状态词，守卫不会误判。
 */

._item_1fn2i_8 {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: 0 var(--space-2);
  border: none;
  background: transparent;
  color: var(--text-secondary);
  font: inherit;
  font-size: var(--font-xs);
  line-height: 1;
  white-space: nowrap;
  text-align: left;
}

._clickable_1fn2i_4 {
  cursor: pointer;
}

._clickable_1fn2i_4:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}

._clickable_1fn2i_4:focus-visible {
  outline: 1px solid var(--color-primary);
  outline-offset: -1px;
  color: var(--text-primary);
}

._icon_1fn2i_38 {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  opacity: 0.85;
}

/*
 * 项的语气（契约 §3）：**只上图形**，正文一律保持常规文字色。
 *
 * warning 黄在浅底上只有 1.8:1 对比度，写 11px 正文等于不可读——仓库已有明文规矩
 * （`specs/status-visual-spec.md`「色盲友好」）：warning 黄色文本在浅背景上对比度
 * 不足时，文字色改用 `--text-primary`，warning 色只用于 icon / 边框。高保真原型
 * 把正文染成警告色，那一条在亮色主题下测不过，故实现只染图标。
 *
 * `.icon` 的 `opacity: 0.85` 会稀释语义色，语气态提到 1——状态色要能一眼分辨。
 * 选择器含 `warning` / `danger` / `success` 状态词，故只许引用非 accent 令牌
 * （`accentTokensCssGuard`）。
 */
._iconWarning_1fn2i_57,
._iconDanger_1fn2i_58,
._iconSuccess_1fn2i_59 {
  opacity: 1;
}

._iconWarning_1fn2i_57 {
  color: var(--color-warning);
}

._iconDanger_1fn2i_58 {
  color: var(--color-error);
}

._iconSuccess_1fn2i_59 {
  color: var(--color-success);
}

/* 复合自述：段间留白比段内大，靠间距读出「这是三读，不是一长串数字」。 */
._segments_1fn2i_76 {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

._segment_1fn2i_76 {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

._segmentIcon_1fn2i_88 {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  opacity: 0.7;
}

/*
 * 比例条（契约 §3「进度自述」）。只消费非 accent 令牌——选择器含 `progress`
 * 这个词，正是 `accentTokensCssGuard` 的状态词表成员，引用 accent 令牌即违规。
 */
._progress_1fn2i_99 {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

._progressTrack_1fn2i_105 {
  position: relative;
  display: block;
  width: 34px;
  height: 5px;
  border-radius: 999px;
  background: var(--bg-tertiary);
  box-shadow: inset 0 0 0 1px var(--border-default);
}

._progressFill_1fn2i_115 {
  position: absolute;
  inset: 0 auto 0 0;
  border-radius: 999px;
  background: var(--text-tertiary);
}

._progressFillWarning_1fn2i_122 {
  background: var(--color-warning);
}

._progressFillDanger_1fn2i_126 {
  /* `--color-danger` 是个并不存在的令牌，此前只靠 fallback 的硬编码值撑着
   * （违反「颜色必须走 design token」）。语气现在有两个消费点（图标 / 条），先归位。 */
  background: var(--color-error);
}

._progressFillSuccess_1fn2i_132 {
  background: var(--color-success);
}

/*
 * 阈值刻度：条外凸出 1px 上下边，比填充分界更易分辨——它盖在填充之上，
 * 若与背景同色就会在「已越过阈值」时消失，而那一刻恰恰最需要被看到。
 * 凸出到条外的两小段也正是它在危险色填充上仍可辨认的原因（不靠与填充的对比度）。
 *
 * 用 --text-primary 而非 --text-secondary：刻度只在逼近 / 越过阈值时出现（§8 ②），
 * 已经不再与日常读数争视觉预算，那点稀缺的凸显度此刻用得上。
 */
._progressThreshold_1fn2i_144 {
  position: absolute;
  top: -2px;
  bottom: -2px;
  width: 1px;
  background: var(--text-primary);
}
/**
 * 底栏容器（契约 §3 表面定义）。
 *
 * 只消费语义令牌：亮色（:root）与暗色（html[data-theme='dark'] /
 * prefers-color-scheme 回退）由 semantic.css 各自给值，本文件不写任何色值。
 *
 * 类名刻意避开 `accentTokensCssGuard` 的状态词表（status/running/loading/…），
 * 以免「选择器命中状态词 + 声明引用 accent 令牌」被守卫判为违规。
 */

._bar_1vpv9_11 {
  flex: 0 0 auto;
  display: flex;
  align-items: stretch;
  height: 24px;
  background: var(--bg-secondary);
  border-top: 1px solid var(--border-default);
  color: var(--text-secondary);
  font-size: var(--font-xs);
  line-height: 1;
  user-select: none;
}

/*
 * 底栏只在桌面渲染（契约 §3）：移动端（≤768px）不渲染本表面，故此处不再有
 * 移动端分支——原先的 safe-area 预留随「移动端不再贴底」一并移除。
 */

/* 左组：全局。占据剩余宽度，溢出即裁剪（契约 §3 永不换行）。 */
._groupLeft_1vpv9_30 {
  position: relative;
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: stretch;
  overflow: hidden;
}

._groupInner_1vpv9_39 {
  display: flex;
  align-items: stretch;
  flex: 0 0 auto;
}

/* 右组：上下文 + 每插件项；不压缩，右侧末端是宿主保留位（契约 §3）。 */
._groupRight_1vpv9_46 {
  flex: 0 0 auto;
  display: flex;
  align-items: stretch;
}

/*
 * 溢出指示：贴左组右端。绝对定位而非参与排布——若它自己进 flex 流，
 * 一旦真的溢出就会被一起裁掉，用户永远看不到「还有更多」。
 * 用底栏同色背景遮住被裁剪内容的残余，视觉上收成一处。
 */
._overflow_1vpv9_57 {
  position: absolute;
  inset: 0 0 0 auto;
  display: flex;
  align-items: center;
  padding: 0 var(--space-2);
  background: var(--bg-secondary);
  color: var(--text-tertiary);
}
._app_9qgct_1 {
  --sidebar-expanded-width: 240px;

  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
}

/* ── 主体行（底栏之上一整块）：ActivityBar | sidebarWrap | contentContainer ── */
._appBody_9qgct_11 {
  flex: 1;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

/* ── 侧边栏过渡容器 ── */
._sidebarWrap_9qgct_19 {
  position: relative;
  width: 0;
  flex-shrink: 0;
  overflow: hidden;
  opacity: 0;
  transition:
    width 250ms ease-out,
    opacity 200ms ease-out;
}

._sidebarOpen_9qgct_30 {
  width: var(--sidebar-expanded-width);
  opacity: 1;
}

._sidebarCollapsed_9qgct_35 {
  /* 折叠 = 侧栏完全收起：宽度归零，visibility 延迟到动画结束，保证焦点不可达 */
  width: 0;
  opacity: 0;
  visibility: hidden;
  transition:
    width 250ms ease-out,
    opacity 200ms ease-out,
    visibility 0s linear 250ms;
}

._sidebarResizing_9qgct_46 {
  transition: none;
}

/* 主内容区域过渡动画 */
._contentContainer_9qgct_51 {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}

/* ── 响应式：Sidebar 遮罩层 ─────────────────────────── */

/* 桌面端：遮罩不可见，不影响布局 */
._overlay_9qgct_63 {
  display: none;
}

/* ── 响应式：≤768px ────────────────────────────────── */
@media (width <= 768px) {
  /* 移动端 sidebar 是 fixed drawer，wrap 不参与布局 */
  ._sidebarWrap_9qgct_19 {
    width: 0 !important;
    opacity: 1 !important;
  }

  /* 遮罩层：覆盖全屏，点击关闭 sidebar */
  ._overlay_9qgct_63 {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 900;
    background: rgb(0 0 0 / 50%);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
  }

  ._overlayVisible_9qgct_87 {
    opacity: 1;
    pointer-events: auto;
  }

  /* 移动端无活跃对话时，左上角打开 sidebar 的按钮 */
  ._mobileSidebarBtn_9qgct_93 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    border-radius: 6px;
    flex-shrink: 0;
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 10;
    transition:
      background 0.15s ease,
      color 0.15s ease;
  }

  ._mobileSidebarBtn_9qgct_93:hover {
    background: var(--hover-bg);
    color: var(--text-primary);
  }

  /*
   * 运行中会话数角标：与 ChatHeaderBar 的 .sessionCountBadge 同形，承载原底栏
   * 左组「n 运行中」的跨会话聚合信号（移动端底栏已下线，契约 §3）。按钮本身已
   * absolute 定位，角标相对按钮落右上角。类名避开 accent 令牌守卫的状态词表。
   */
  ._sidebarSessionCountBadge_9qgct_124 {
    position: absolute;
    top: 1px;
    right: 1px;
    box-sizing: border-box;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 8px;
    background: var(--color-primary);
    color: var(--text-on-primary);
    font-size: 10px;
    font-weight: 600;
    line-height: 16px;
    text-align: center;
    font-variant-numeric: tabular-nums;
  }
}
._container_nmiwc_1 {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  background: var(--bg-primary);
  padding: 2rem;
}

._content_nmiwc_10 {
  text-align: center;
  max-width: 500px;
}

._icon_nmiwc_15 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  color: var(--color-warning);
}

._title_nmiwc_23 {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 0.5rem;
}

._message_nmiwc_30 {
  color: var(--text-secondary);
  margin-bottom: 1.5rem;
}

._error_nmiwc_35 {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 1rem;
  padding-right: 3rem;
  margin-bottom: 1.5rem;
  text-align: left;
  font-size: 0.875rem;
  color: var(--text-secondary);
  overflow-x: auto;
}

._errorContainer_nmiwc_48 {
  position: relative;
  margin-bottom: 1.5rem;
}

._copyButton_nmiwc_53 {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  padding: 0.5rem;
  background: transparent;
  border: none;
  border-radius: 4px;
  color: var(--text-secondary);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  transition: background 0.2s ease;
}

._copyButton_nmiwc_53:hover {
  background: var(--hover-bg);
}

._actions_nmiwc_74 {
  display: flex;
  gap: 1rem;
  justify-content: center;
}

._link_nmiwc_80 {
  padding: 0.5rem 1.5rem;
  color: var(--text-secondary);
  text-decoration: none;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  font-size: 0.875rem;
  transition: background 0.2s ease;
}

._link_nmiwc_80:hover {
  background: var(--hover-bg);
}
/**
 * CassClaw Design Tokens
 * 
 * 视觉设计语言基础
 * 使用方式: var(--token-name)
 */

/**
 * 颜色系统
 */

:root {
  /* ===== 灰色系 ===== */
  --gray-50: #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;
  --gray-800: #1f2937;
  --gray-900: #111827;
  --gray-950: #030712;

  /* ===== 主色系 - 紫色 ===== */
  --purple-50: #faf5ff;
  --purple-100: #f3e8ff;
  --purple-200: #e9d5ff;
  --purple-300: #d8b4fe;
  --purple-400: #c084fc;
  --purple-500: #a855f7;
  --purple-600: #9333ea;
  --purple-700: #7e22ce;
  --purple-800: #6b21a8;
  --purple-900: #581c87;

  /* ===== 粉色调 ===== */
  --pink-500: #ec4899;
  --pink-600: #db2777;

  /* ===== 莓果色调 ===== */
  --berry-700: #b83280;

  /* ===== 功能色 ===== */
  --green-500: #22c55e;
  --green-600: #16a34a;
  --red-500: #ef4444;
  --red-600: #dc2626;
  --blue-500: #3b82f6;
  --blue-600: #2563eb;
  --blue-400: #60a5fa;
  --yellow-500: #eab308;
  --cyan-500: #06b6d4;
}
/**
 * 字体系统
 */

:root {
  /* ===== 字号 ===== */
  --font-xs: 0.6875rem; /* 11px */
  --font-sm: 0.75rem; /* 12px */
  --font-base: 0.8125rem; /* 13px */
  --font-md: 0.875rem; /* 14px */
  --font-lg: 1rem; /* 16px */
  --font-xl: 1.125rem; /* 18px */
  --font-2xl: 1.25rem; /* 20px */
  --font-3xl: 1.5rem; /* 24px */

  /* ===== 字重 ===== */
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;

  /* ===== 字体族 ===== */
  --font-sans:
    -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',
    'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Monaco, 'Courier New', monospace;

  /* ===== 行高 ===== */
  --leading-tight: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.75;

  /* ===== 字间距 ===== */
  --tracking-tight: -0.025em;
  --tracking-normal: 0;
  --tracking-wide: 0.025em;
}
/**
 * 间距系统 (基于 4px 网格)
 */

:root {
  /* ===== 基础间距 ===== */
  --space-0: 0;
  --space-1: 0.25rem; /* 4px */
  --space-2: 0.5rem; /* 8px */
  --space-3: 0.75rem; /* 12px */
  --space-4: 1rem; /* 16px */
  --space-5: 1.25rem; /* 20px */
  --space-6: 1.5rem; /* 24px */
  --space-8: 2rem; /* 32px */
  --space-10: 2.5rem; /* 40px */
  --space-12: 3rem; /* 48px */
  --space-16: 4rem; /* 64px */

  /* ===== 内边距组合 ===== */
  --padding-xs: var(--space-1) var(--space-2);
  --padding-sm: var(--space-2) var(--space-3);
  --padding-md: var(--space-3) var(--space-4);
  --padding-lg: var(--space-4) var(--space-6);
  --padding-xl: var(--space-6) var(--space-8);

  /* ===== 组件内间距 ===== */
  --gap-xs: var(--space-1);
  --gap-sm: var(--space-2);
  --gap-md: var(--space-3);
  --gap-lg: var(--space-4);

  /* ===== 侧边栏 ===== */
  --sidebar-width: 260px;
  --sidebar-min-width: 200px;
  --sidebar-max-width: 320px;

  /* ===== 头部 ===== */
  --header-height: 48px;
  --header-sm: 40px;

  /* ===== 模态框 ===== */
  --modal-sm: 400px;
  --modal-md: 560px;
  --modal-lg: 720px;
  --modal-xl: 960px;
  --modal-2xl: 1200px;

  /* ===== 输入框 ===== */
  --input-height-sm: 32px;
  --input-height-md: 36px;
  --input-height-lg: 40px;

  /* ===== 按钮 ===== */
  --button-height-sm: 28px;
  --button-height-md: 32px;
  --button-height-lg: 40px;
  --button-height-xl: 48px;

  /* ===== 图标 ===== */
  --icon-xs: 12px;
  --icon-sm: 14px;
  --icon-md: 16px;
  --icon-lg: 18px;
  --icon-xl: 20px;
  --icon-2xl: 24px;

  /* ===== 头像 ===== */
  --avatar-xs: 20px;
  --avatar-sm: 24px;
  --avatar-md: 32px;
  --avatar-lg: 40px;
  --avatar-xl: 56px;
}
/**
 * 圆角系统
 */

:root {
  --radius-none: 0;
  --radius-sm: 0.25rem; /* 4px */
  --radius-md: 0.375rem; /* 6px */
  --radius-lg: 0.5rem; /* 8px */
  --radius-xl: 0.75rem; /* 12px */
  --radius-2xl: 1rem; /* 16px */
  --radius-full: 9999px;

  /* 组件级圆角 */
  --radius-input: var(--radius-lg);
  --radius-button-sm: var(--radius-md);
  --radius-button-md: var(--radius-lg);
  --radius-button-lg: var(--radius-xl);
  --radius-card: var(--radius-xl);
  --radius-modal: var(--radius-2xl);
  --radius-avatar: var(--radius-full);
  --radius-bubble: var(--radius-lg);
}
/**
 * 阴影系统
 */

:root {
  /* 基础阴影 */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.04);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.2);
  --shadow-drawer: -14px 0 36px rgba(15, 23, 42, 0.18), -1px 0 0 rgba(15, 23, 42, 0.08);

  /* 焦点环尺寸；主题颜色由 semantic.css 定义 */
  --ring-width: 3px;
  --ring-offset-width: 2px;
}

/* 暗色主题阴影 */
html[data-theme='dark'] {
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
  --shadow-drawer: -20px 0 48px rgba(0, 0, 0, 0.48), -1px 0 0 rgba(220, 224, 229, 0.08);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) {
    --shadow-drawer: -20px 0 48px rgba(0, 0, 0, 0.48), -1px 0 0 rgba(220, 224, 229, 0.08);
  }
}
/**
 * 过渡动画系统
 */

:root {
  /* ===== 过渡时长 ===== */
  --duration-instant: 50ms;
  --duration-fast: 150ms;
  --duration-normal: 200ms;
  --duration-slow: 300ms;
  --duration-slower: 500ms;

  /* ===== 缓动函数 ===== */
  --ease-linear: linear;
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);

  /* ===== 组合过渡 ===== */
  --transition-colors:
    color var(--duration-fast) var(--ease-in-out),
    background-color var(--duration-fast) var(--ease-in-out),
    border-color var(--duration-fast) var(--ease-in-out);

  --transition-opacity: opacity var(--duration-fast) var(--ease-in-out);

  --transition-transform: transform var(--duration-fast) var(--ease-out);

  --transition-all: all var(--duration-normal) var(--ease-in-out);

  /* ===== 组件过渡 ===== */
  --transition-button: var(--transition-colors);
  --transition-input:
    border-color var(--duration-fast) var(--ease-in-out),
    box-shadow var(--duration-fast) var(--ease-in-out);
  --transition-modal:
    opacity var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out);
}
/**
 * 语义化 Token
 * 
 * 这些 Token 引用颜色基础 Token，支持亮色/暗色主题自动切换
 */

/* ===== 背景色 ===== */
:root {
  /* 亮色主题 */
  --bg-primary: #ffffff;
  --bg-secondary: #f9fafb;
  --bg-tertiary: #f3f4f6;
  --bg-hover: #f3f4f6;
  --bg-active: #e5e7eb;
  --bg-elevated: #ffffff;

  /* ===== 文字色 ===== */
  --text-primary: #111827;
  --text-secondary: #6b7280;
  --text-tertiary: #9ca3af;
  --text-inverse: #ffffff;
  --text-on-primary: #ffffff;

  /* ===== 边框色 ===== */
  --border-default: #e5e7eb;
  --border-strong: #d1d5db;
  --border-focus: var(--color-primary);

  /* ===== 主题强调色 ===== */
  --accent-base: var(--berry-700);
  --color-primary-solid: var(--accent-base);
  --color-primary: var(--accent-base);
  --color-primary-hover: color-mix(in oklch, var(--accent-base) 84%, black);
  --color-primary-active: color-mix(in oklch, var(--accent-base) 72%, black);
  --color-primary-subtle: color-mix(in oklch, var(--accent-base) 4%, transparent);
  --color-primary-muted: color-mix(in oklch, var(--accent-base) 8%, transparent);
  --color-primary-light: color-mix(in oklch, var(--accent-base) 10%, transparent);
  --color-primary-medium: color-mix(in oklch, var(--accent-base) 20%, transparent);
  --color-primary-border: color-mix(in oklch, var(--accent-base) 12%, transparent);
  --shadow-primary: 0 2px 8px color-mix(in oklch, var(--accent-base) 15%, transparent);
  --shadow-primary-lg: 0 4px 16px color-mix(in oklch, var(--accent-base) 20%, transparent);
  --ring-color: color-mix(in oklch, var(--accent-base) 15%, transparent);
  --ring-primary: 0 0 0 var(--ring-offset-width) var(--ring-color);

  /* ===== 状态色 ===== */
  --color-success: var(--green-500);
  --color-success-light: rgba(34, 197, 94, 0.1);

  --color-error: var(--red-500);
  --color-error-faint: rgba(239, 68, 68, 0.05);
  --color-error-light: rgba(239, 68, 68, 0.1);
  --color-error-medium: rgba(239, 68, 68, 0.2);
  --color-error-strong: rgba(239, 68, 68, 0.3);

  --color-warning: var(--yellow-500);
  --color-warning-light: rgba(234, 179, 8, 0.1);

  --color-info: var(--blue-600);
  --color-info-light: rgba(59, 130, 246, 0.1);

  --color-neutral: var(--gray-500);
  --color-neutral-light: rgba(107, 114, 128, 0.1);

  /* ===== 渐变色 ===== */
  --gradient-primary-start: var(--color-primary-solid);
  --gradient-primary-end: var(--color-primary-hover);
  --gradient-primary-start-dark: var(--color-primary-hover);
  --gradient-primary-end-dark: var(--color-primary-solid);
  --gradient-blue-start: var(--blue-500);
  --gradient-blue-end: var(--cyan-500);

  /* ===== 覆盖层 ===== */
  --overlay-bg: rgba(0, 0, 0, 0.5);
  --overlay-bg-strong: rgba(0, 0, 0, 0.72);
  --surface: rgba(255, 255, 255, 0.8);
  --backdrop-blur: blur(8px);

  /* ===== 交互状态 ===== */
  --hover-bg: var(--bg-hover);
  --active-bg: var(--bg-active);
  --focus-ring: var(--ring-primary);

  /* ===== 特殊元素 ===== */
  --scrollbar-track: transparent;
  --scrollbar-thumb: var(--border-default);
  --scrollbar-thumb-hover: var(--text-tertiary);
  --scrollbar-thumb-active: var(--text-secondary);

  /* ===== 列表项 ===== */
  --list-item-hover-bg: var(--bg-hover);
  --list-item-active-bg: var(--bg-tertiary);
  --list-item-padding: var(--space-2);

  /* ===== 用户消息气泡 ===== */
  --user-bubble-from: color-mix(in oklch, var(--accent-base) 4%, var(--bg-primary));
  --user-bubble-to: var(--user-bubble-from);
  --user-bubble-text: var(--text-primary);
  --user-bubble-border: color-mix(in oklch, var(--accent-base) 14%, transparent);

  /* ===== 终端 ===== */
  --terminal-bg: var(--bg-primary);
  --terminal-fg: var(--text-primary);
  --terminal-cursor: var(--text-primary);
}

/* ===== 暗色主题 ===== */
html[data-theme='dark'] {
  --bg-primary: #282c33;
  --bg-secondary: #2f343e;
  --bg-tertiary: #363c46;
  --bg-hover: #363c46;
  --bg-active: #454a56;
  --bg-elevated: #2f343e;

  --text-primary: #dce0e5;
  --text-secondary: #a9afbc;
  --text-tertiary: #878a98;
  --text-inverse: #282c33;

  --border-default: #3b414d;
  --border-strong: #464b57;
  --border-focus: var(--color-primary);

  --color-info: var(--blue-400);
  --color-primary: color-mix(in oklch, var(--accent-base) 45%, white);

  --surface: rgba(47, 52, 62, 0.9);
  --scrollbar-thumb: rgba(200, 204, 212, 0.18);
  --scrollbar-thumb-hover: rgba(200, 204, 212, 0.3);
  --scrollbar-thumb-active: rgba(200, 204, 212, 0.42);

  --list-item-hover-bg: var(--bg-hover);
  --list-item-active-bg: var(--bg-active);

  --user-bubble-from: color-mix(in oklch, var(--accent-base) 10%, var(--bg-secondary));
  --user-bubble-to: var(--user-bubble-from);
  --user-bubble-text: var(--text-primary);
  --user-bubble-border: color-mix(in oklch, var(--accent-base) 16%, var(--border-default));

  /* ===== 终端 ===== */
  --terminal-bg: var(--bg-primary);
  --terminal-fg: var(--text-primary);
  --terminal-cursor: var(--text-primary);
}

/* ===== 系统暗色偏好回退（JS 加载前生效） ===== */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) {
    --bg-primary: #282c33;
    --bg-secondary: #2f343e;
    --bg-tertiary: #363c46;
    --bg-hover: #363c46;
    --bg-active: #454a56;
    --bg-elevated: #2f343e;

    --text-primary: #dce0e5;
    --text-secondary: #a9afbc;
    --text-tertiary: #878a98;
    --text-inverse: #282c33;

    --border-default: #3b414d;
    --border-strong: #464b57;
    --border-focus: var(--color-primary);

    --color-info: var(--blue-400);
    --color-primary: color-mix(in oklch, var(--accent-base) 45%, white);

    --surface: rgba(47, 52, 62, 0.9);
    --scrollbar-thumb: rgba(200, 204, 212, 0.18);
    --scrollbar-thumb-hover: rgba(200, 204, 212, 0.3);
    --scrollbar-thumb-active: rgba(200, 204, 212, 0.42);

    --list-item-hover-bg: var(--bg-hover);
    --list-item-active-bg: var(--bg-active);

    --user-bubble-from: color-mix(in oklch, var(--accent-base) 10%, var(--bg-secondary));
    --user-bubble-to: var(--user-bubble-from);
    --user-bubble-text: var(--text-primary);
    --user-bubble-border: color-mix(in oklch, var(--accent-base) 16%, var(--border-default));

    /* ===== 终端 ===== */
    --terminal-bg: var(--bg-primary);
    --terminal-fg: var(--text-primary);
    --terminal-cursor: var(--text-primary);
  }
}
@layer scrollbars {
  html[data-theme='dark'] {
    color-scheme: dark;
  }

  html[data-theme='light'] {
    color-scheme: light;
  }

  * {
    scrollbar-width: thin;
    scrollbar-color: var(--scrollbar-thumb) transparent;
  }

  *::-webkit-scrollbar {
    width: 6px;
    height: 6px;
  }

  *::-webkit-scrollbar-track {
    background: transparent;
  }

  *::-webkit-scrollbar-thumb {
    background: var(--scrollbar-thumb);
    border-radius: 999px;
  }

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

  *::-webkit-scrollbar-thumb:active {
    background: var(--scrollbar-thumb-active);
  }
}
@keyframes kai-spin {
  to {
    transform: rotate(360deg);
  }
}

.kai-spin {
  animation: kai-spin 1s linear infinite;
}

/*
 * reset 必须待在 @layer 内。
 *
 * `*` 选择器特异性为 0，与组件里用 `:where()` 写的零特异性默认值（如 Dialog
 * 槽位默认留白 `:where(.header)`）平手——两者只能由源顺序决定胜负。打包后
 * reset 在组件 CSS 之后，会把默认留白清零（2026-09-12 事故）。
 *
 * 分层后：未分层规则（`:where(...)` 默认值、调用方单类）一律优先于 reset，
 * 覆盖链变为 reset(层) < `:where` 默认(0,0,0) < 调用方单类(0,1,0)，不再依赖顺序。
 * 详见 docs/decisions/dialog-spacing.md。
 */
@layer reset {
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
}

/**
 * Legacy 变量别名
 * 
 * 现有组件使用的旧变量名，映射到新的 Design Token。
 * 新组件请直接使用新 Token（如 --border-default、--color-primary）。
 */
:root {
  /* 边框 */
  --border: var(--border-default);
  --border-color: var(--border-default);

  /* 强调色 */
  --accent: var(--color-primary);
  --accent-color: var(--color-primary);
  --accent-purple: var(--color-primary);
  --accent-green: var(--color-success);
  --accent-red: var(--color-error);
  --accent-color-light: var(--color-primary-light);
  --accent-color-medium: var(--color-primary-medium);
  --primary-color: var(--color-primary);

  /* 渐变（旧名） */
  --gradient-purple-from: var(--gradient-primary-start);
  --gradient-purple-to: var(--gradient-primary-end);
  --gradient-blue-from: var(--blue-500);
  --gradient-blue-to: var(--cyan-500);

  /* 功能语义 */
  --error: var(--color-error);
  --success: var(--color-success);
}

/* 
 * 暗色主题和系统偏好回退由 tokens/semantic.css 处理。
 */

body {
  font-family:
    -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',
    'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: var(--bg-primary);
  color: var(--text-primary);
}

#root {
  height: 100vh;
  width: 100vw;
}
