/* ===== 基础样式 ===== */
._btn_18xm1_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_18xm1_2:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

._variantSend_18xm1_111: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_18xm1_1 {
  to {
    --stopAngle: 360deg;
  }
}

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

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

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

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

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

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

._surface_f1hvo_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_f1hvo_24 {
  max-width: 400px;
}

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

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

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

._header_f1hvo_40,
._footer_f1hvo_41 {
  flex-shrink: 0;
}

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

@media (max-width: 640px) {
  ._surface_f1hvo_11 {
    width: 100vw;
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    border-radius: 0;
    border: none;
  }
}._confirmOverlay_j2tko_1 {
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(2px);
  z-index: 2000;
  animation: _fadeIn_j2tko_1 0.15s ease;
}

@keyframes _fadeIn_j2tko_1 {
  from { opacity: 0; }
  to { opacity: 1; }
}

._confirmDialog_j2tko_13 {
  border-radius: 12px;
  max-width: 400px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.24);
}

._confirmContent_j2tko_19 {
  padding: 24px;
}

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

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

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

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

._spin_j2tko_47 {
  animation: _spin_j2tko_47 1s linear infinite;
}
._toastContainer_tqh7d_1 {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 3000;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
}

._toast_tqh7d_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_tqh7d_1 0.2s ease;
  max-width: 360px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
}

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

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

._toastInfo_tqh7d_36 {
  background: var(--color-primary, #6366f1);
  color: white;
}

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

._toastMessage_tqh7d_47 {
  flex: 1;
  min-width: 0;
  word-break: break-word;
}

._toastAction_tqh7d_53 {
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.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_tqh7d_53:hover {
  background: rgba(255, 255, 255, 0.4);
}

@keyframes _slideIn_tqh7d_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;
}
._panel_1v9yf_1 {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(680px, 88vw);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
  background: var(--bg-elevated, #1e1e1e);
}

._panelDragging_1v9yf_16 {
  opacity: 0.9;
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5);
}

._resizeHandle_1v9yf_21 {
  height: 6px;
  cursor: row-resize;
  background: transparent;
  flex-shrink: 0;
  transition: background 0.15s;
}

._resizeHandle_1v9yf_21:hover,
._resizeHandleActive_1v9yf_30 {
  background: rgba(255, 255, 255, 0.15);
}

._titleBar_1v9yf_34 {
  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;
  cursor: grab;
  user-select: none;
}

._titleBar_1v9yf_34:active {
  cursor: grabbing;
}

._titleBarAgent_1v9yf_51 {
  background: #1a3a5c;
}

._titleBarAgentFade_1v9yf_55 {
  animation: _fadeToDefault_1v9yf_1 2s ease-out forwards;
}

@keyframes _fadeToDefault_1v9yf_1 {
  from { background: #1a3a5c; }
  to { background: #2d2d2d; }
}

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

._ownerIcon_1v9yf_71 {
  flex-shrink: 0;
}

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

._statusBadge_1v9yf_82 {
  font-size: 10px;
  padding: 1px 5px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.08);
}

._statusBadgeRunning_1v9yf_89 {
  background: rgba(13, 148, 85, 0.2);
  color: #0dbc79;
}

._statusBadgeExited_1v9yf_94 {
  background: rgba(128, 128, 128, 0.2);
  color: #999;
}

._titleRight_1v9yf_99 {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  padding: 2px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

._titleButton_1v9yf_110 {
  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_1v9yf_110:hover {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  transform: translateY(-1px);
}

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

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

._stopButton_1v9yf_144:hover {
  background: rgba(255, 91, 91, 0.16);
  color: #ff7777;
}

._restartButton_1v9yf_149:hover {
  background: rgba(13, 188, 121, 0.16);
  color: #0dbc79;
}

._stopIcon_1v9yf_154 {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: currentColor;
}

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

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

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

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

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

._terminalContainer_1v9yf_193 {
  flex: 1;
  min-height: 0;
  position: relative;
  padding: 4px;
  overflow: hidden;
}

._terminalContainer_1v9yf_193 .xterm {
  height: 100%;
}

._terminalContainer_1v9yf_193 .xterm-viewport {
  overflow-y: auto;
}

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

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

._restartFooterButton_1v9yf_224 {
  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_1v9yf_224:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: #888;
}

/* User (green) title bar state */
._titleBarUser_1v9yf_240 {
  background: #1a4a2c;
}

._titleBarUserFade_1v9yf_244 {
  animation: _fadeUserToDefault_1v9yf_1 2s ease-out forwards;
}

@keyframes _fadeUserToDefault_1v9yf_1 {
  from { background: #1a4a2c; }
  to { background: #2d2d2d; }
}
/* 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_o81re_3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  gap: 16px;
  user-select: none;
}

/* 图标容器 — 紫色轻量背景，区别于系统消息 */
._iconBox_o81re_14 {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: var(--color-primary-light, rgba(168, 85, 247, 0.06));
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary, #a855f7);
  box-shadow: var(--shadow-xs, 0 1px 2px rgba(0,0,0,0.04));
}

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

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

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

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

._memberAvatars_o81re_51 {
  display: flex;
}

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

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

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

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

._message_15zyj_1._fullWidth_15zyj_8 {
  width: 100%;
}

._message_15zyj_1._user_15zyj_12 {
  align-self: flex-end;
  align-items: flex-end;
}

._message_15zyj_1._agent_15zyj_17 {
  align-self: flex-start;
  align-items: flex-start;
}

._message_15zyj_1._agent_15zyj_17._collapsedMessage_15zyj_22 {
  width: 100%;
  max-width: 100%;
}

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

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

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

._virtualSliceContent_15zyj_49,
._virtualSliceContainer_15zyj_50 {
  margin: 0;
}

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

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

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

._virtualCollabShell_15zyj_59 + ._virtualCollabBodySlice_15zyj_67 ._contentCol_15zyj_59 {
  margin-top: -2px;
}

._virtualCollabBodySlice_15zyj_67 ._blockStack_15zyj_79 {
  gap: 6px;
}

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

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

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

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

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

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

._avatarCol_15zyj_116:hover {
  opacity: 0.75;
}

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

._contentCol_15zyj_59 {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 4px;
}

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

._senderLabel_15zyj_157 {
  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_15zyj_157:hover {
  opacity: 0.75;
}

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

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

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

._bubble_15zyj_180 mark,
._textBubble_15zyj_193 mark,
._content_15zyj_59 mark {
  padding: 0 2px;
  border-radius: 3px;
  background: color-mix(in srgb, var(--color-warning) 42%, transparent);
  color: inherit;
}

._bubble_15zyj_180 mark[data-active-search-match='true'],
._textBubble_15zyj_193 mark[data-active-search-match='true'],
._content_15zyj_59 mark[data-active-search-match='true'] {
  background: color-mix(in srgb, var(--color-primary) 48%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-primary) 52%, transparent);
}

._activeSearchMatch_15zyj_208 {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary) 54%, transparent);
}

._activeSearchMatchFocused_15zyj_212 {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 80%, transparent);
  outline-offset: 2px;
}

._message_15zyj_1._user_15zyj_12 ._bubble_15zyj_180 {
  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_15zyj_1._agent_15zyj_17 ._bubble_15zyj_180 {
  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_15zyj_1._agent_15zyj_17 ._bubble_15zyj_180._hasUsage_15zyj_233 {
  padding-bottom: 20px;
}

._message_15zyj_1._agent_15zyj_17 ._bubble_15zyj_180._embeddedBubble_15zyj_237._hasUsage_15zyj_233 {
  padding-bottom: 10px;
}

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

._textBubble_15zyj_193 {
  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_15zyj_193:hover {
  box-shadow: var(--shadow-md);
}

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

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

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

._virtualSliceBubble_15zyj_278 {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  overflow-y: visible;
  /* 允许用户选择气泡内文字；
     长按菜单由 useLongPress 处理，回调中会清除浏览器选区 */
  -webkit-user-select: text;
  user-select: text;
  -webkit-touch-callout: none;
  touch-action: manipulation;
}

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

._virtualSliceAgentBubble_15zyj_292:not(._virtualSliceBubbleContinued_15zyj_300):not(._virtualSliceBubbleContinues_15zyj_300) {
  width: fit-content;
}

._virtualSliceAgentBubble_15zyj_292._virtualSliceBubbleContinued_15zyj_300 {
  padding-top: 0;
}

._virtualSliceUserBubble_15zyj_308 {
  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;
  word-break: break-word;
}

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

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

._virtualCollabShellBubble_15zyj_334 {
  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_15zyj_334:hover {
  box-shadow: none;
}

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

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

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

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

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

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

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

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

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

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

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

._virtualSliceBlockStack_15zyj_438 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._virtualSliceBlockItem_15zyj_444 {
  min-width: 0;
}

._virtualStreamingTail_15zyj_448 {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 10px;
  vertical-align: middle;
}

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

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

._blockMetrics_15zyj_468 {
  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_15zyj_59 {
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
  line-height: 1.5;
  font-size: 14px;
}

._blockStack_15zyj_79 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._blockItem_15zyj_493 {
  min-width: 0;
}

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

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

._runtimeStatus_15zyj_513 {
  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_15zyj_525 {
  color: color-mix(in srgb, var(--color-warning) 72%, var(--text-secondary) 28%);
}

._runtimeStatusIconSpinning_15zyj_529 {
  flex-shrink: 0;
  animation: _spin_15zyj_1 1.4s linear infinite;
}

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

._message_15zyj_1._user_15zyj_12 ._messageFooter_15zyj_498 {
  flex-direction: row-reverse;
}

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

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

._groupMetaFooter_15zyj_508 ._timestamp_15zyj_552 {
  margin-left: 0;
}

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

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

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

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

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

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

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

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

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

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

._errorDetailsCopyButton_15zyj_642 {
  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;
  font-size: 11px;
}

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

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

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

._messageMetrics_15zyj_676 {
  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_15zyj_691 {
  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_15zyj_691 ._fallbackTransitionBanner_15zyj_704 {
  align-self: center;
}

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

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

._messageMetricsMeta_15zyj_721 {
  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_15zyj_691 ._messageMetricsMeta_15zyj_721 {
  justify-content: flex-start;
}

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

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

._metricsStreaming_15zyj_749 {
  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_15zyj_704 {
  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_15zyj_1 180ms ease-out;
}

._fallbackTransitionIcon_15zyj_781 {
  flex-shrink: 0;
  animation: _spin_15zyj_1 1.4s linear infinite;
}

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

@keyframes _fallbackBannerIn_15zyj_1 {
  from {
    opacity: 0;
    transform: translateY(2px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

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

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

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

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

._bubble_15zyj_180:hover ._messageMetrics_15zyj_676 {
  opacity: 1;
}

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

._systemBubble_15zyj_852 {
  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_15zyj_864 {
  color: var(--text-secondary);
  white-space: pre-wrap;
  word-break: break-word;
}

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

@keyframes _spin_15zyj_1 {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

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

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

  ._message_15zyj_1._fullWidth_15zyj_8 {
    width: 100%;
  }

  ._message_15zyj_1._agent_15zyj_17._collapsedMessage_15zyj_22 {
    width: 100%;
    max-width: 100%;
  }

  ._groupLayout_15zyj_103 {
    max-width: 100%;
  }

  ._groupMetaFooter_15zyj_508 {
    flex-wrap: nowrap;
  }

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

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

._savedMessageHighlight_15zyj_931 {
  animation: _savedMessagePulse_15zyj_1 1.8s ease-out;
}

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

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

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

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

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

._dotSending_15zyj_971 {
  animation: _dotPulse_15zyj_1 1.2s ease-in-out infinite;
}

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

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

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

._recallButton_15zyj_990 {
  opacity: 0.6;
}

._recallButton_15zyj_990:hover {
  opacity: 1;
}

@keyframes _dotPulse_15zyj_1 {
  0%, 100% {
    opacity: 0.3;
    transform: scale(1);
  }
  50% {
    opacity: 0.8;
    transform: scale(1.3);
  }
}


._guidanceStatus_15zyj_1010 {
  font-size: 11px;
  line-height: 1.4;
  color: var(--accent-color, #0a84ff);
  white-space: nowrap;
}
._content_yhv2r_1 {
  z-index: 10000;
  max-width: 280px;
  padding: 6px 8px;
  border-radius: 7px;
  background: rgba(24, 24, 27, 0.96);
  color: #fff;
  font-size: 12px;
  line-height: 1.45;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  user-select: none;
  word-break: break-word;
  animation: _tooltipIn_yhv2r_1 120ms ease-out;
}

._arrow_yhv2r_16 {
  fill: rgba(24, 24, 27, 0.96);
}

@keyframes _tooltipIn_yhv2r_1 {
  from {
    opacity: 0;
    transform: translateY(2px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.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;
}

._backdrop_13x7f_1 {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: var(--overlay-bg-strong);
  backdrop-filter: blur(8px);
}

._modal_13x7f_13 {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: min(96vw, 1440px);
  max-height: calc(100vh - 3rem);
  width: fit-content;
}

._toolbar_13x7f_22 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.625rem 0.75rem;
  background: var(--bg-primary);
  border: 1px solid var(--border);
  border-radius: 0.875rem;
  box-shadow: var(--shadow-lg);
}

._titleGroup_13x7f_34 {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

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

._title_13x7f_34 {
  color: var(--text-primary);
  font-size: 0.875rem;
  font-weight: 600;
}

._hint_13x7f_54 {
  color: var(--text-secondary);
  font-size: 0.75rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._closeButton_13x7f_62,
._actionButton_13x7f_63 {
  flex-shrink: 0;
}

._linkAction_13x7f_67 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  text-decoration: none;
}

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

._zoomLabel_13x7f_79 {
  min-width: 3.5rem;
  padding: 0.125rem 0.5rem;
  color: var(--text-secondary);
  font-size: 0.75rem;
  text-align: right;
  background: var(--bg-secondary);
  border-radius: 9999px;
}

._surface_13x7f_89 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: var(--bg-primary);
  border: 1px solid var(--border);
  border-radius: 1rem;
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}

._image_13x7f_102 {
  display: block;
  max-width: min(92vw, 1400px);
  max-height: calc(100vh - 10rem);
  width: auto;
  height: auto;
  object-fit: contain;
  border: 1px solid var(--border);
  border-radius: 0.5rem;
  user-select: none;
  transform-origin: center center;
}

._separator_13x7f_115 {
  width: 1px;
  height: 1.25rem;
  background: var(--border);
  margin: 0 0.25rem;
  flex-shrink: 0;
}

._loading_13x7f_123 {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  color: var(--text-secondary);
  z-index: 1;
}

._loadingSpinner_13x7f_134 {
  animation: _spin_13x7f_1 1s linear infinite;
}

._error_13x7f_138 {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 200px;
  color: var(--text-secondary);
  z-index: 1;
}

._errorIcon_13x7f_151 {
  opacity: 0.5;
}

._errorText_13x7f_155 {
  font-size: 0.875rem;
}

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

._blockWrapper_lva5u_8 {
  position: relative;
}

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

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

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

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

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

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

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

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

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

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

._inlineImage_lva5u_58:hover {
  opacity: 0.95;
}

._brokenImage_lva5u_71 {
  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_lva5u_1 pre:has(._codeBlock_lva5u_83) {
  background: var(--bg-secondary) !important;
}

._codeBlock_lva5u_83 {
  position: relative;
}

._copyButton_lva5u_91 {
  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;
  transition: opacity 0.2s;
  z-index: 1;
}

._previewButton_lva5u_110 {
  right: 5rem;
}

._blockCopyButton_lva5u_115 {
  top: 0;
}

._codeBlock_lva5u_83:hover ._copyButton_lva5u_91,
._codeBlock_lva5u_83:focus-within ._copyButton_lva5u_91 {
  opacity: 1;
}

._blockWrapper_lva5u_8:hover ._blockCopyButton_lva5u_115,
._blockWrapper_lva5u_8:focus-within ._blockCopyButton_lva5u_115 {
  opacity: 1;
}

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

._mermaidContainer_lva5u_134 {
  margin: 0 0;
  padding: 0;
  background: var(--bg-secondary);
  border-radius: 0.5rem;
  overflow: hidden;
  position: relative;
  text-wrap: initial;
  height: 100%;
  cursor: grab;
  touch-action: none;
}

._mermaidContainer_lva5u_134:active {
  cursor: grabbing;
}

._mermaidContainer_lva5u_134 svg {
  max-width: none;
  height: auto;
  display: block;
  transform-origin: 0 0;
  transition: none;
}

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

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

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

._mermaidError_lva5u_174 {
  margin: 0 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_lva5u_185 {
  position: relative;
  cursor: help;
}

._colorPreview_lva5u_190 {
  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_lva5u_185:hover ._colorPreview_lva5u_190 {
  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%;
}
._header_3tatz_1 {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  min-height: 32px;
  cursor: pointer;
  user-select: none;
  transition: background 0.2s ease;
}

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

._header_3tatz_1[data-collapsible='false'] {
  cursor: default;
}

._header_3tatz_1[data-collapsible='false']:hover {
  background: transparent;
}

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

._content_3tatz_29 {
  padding: 0 12px 12px 12px;
  border-top: 1px solid var(--border-color);
}._container_zpadv_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_zpadv_11 ._body_zpadv_11 {
  max-height: none;
}

._header_zpadv_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_zpadv_26 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-tertiary);
}

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

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

._statAdd_zpadv_46 {
  color: #2ea043;
}

._statDel_zpadv_50 {
  color: #cf222e;
}

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

._body_zpadv_11 {
  overflow-x: auto;
  max-height: 400px;
  overflow-y: auto;
}

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

._lineNum_zpadv_70 {
  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_zpadv_81 {
  flex: 1;
  padding: 0 12px;
  white-space: pre;
  min-width: 0;
}

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

._lineAdd_zpadv_95 {
  background: rgba(46, 160, 67, 0.12);
}

._lineAdd_zpadv_95 ._lineNum_zpadv_70 {
  background: rgba(46, 160, 67, 0.08);
  color: #2ea043;
}

._lineAdd_zpadv_95 ._lineContent_zpadv_81 {
  color: #1a7f37;
}

._lineDel_zpadv_108 {
  background: rgba(248, 81, 73, 0.12);
}

._lineDel_zpadv_108 ._lineNum_zpadv_70 {
  background: rgba(248, 81, 73, 0.08);
  color: #cf222e;
}

._lineDel_zpadv_108 ._lineContent_zpadv_81 {
  color: #a40e26;
}

._lineHunk_zpadv_121 {
  background: rgba(84, 130, 185, 0.08);
  color: var(--text-tertiary);
}

._lineHunk_zpadv_121 ._lineNum_zpadv_70 {
  background: rgba(84, 130, 185, 0.05);
}

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

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

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

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

._lineNormal_zpadv_152 ._lineContent_zpadv_81 {
  color: var(--text-secondary);
}
._root_162jn_1 {
  position: relative;
}

._collapsed_162jn_5 {
  position: relative;
  max-height: 80px;
  overflow: hidden;
}

._expanded_162jn_11 {
  /* 展开态无限制 */
}

._fade_162jn_15 {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 32px;
  background: linear-gradient(transparent, var(--bg-primary));
  pointer-events: none;
}

._toggle_162jn_25 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--color-primary);
  font-size: 11px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 4px 0 0;
  margin: 0;
  line-height: 1.4;
  font-family: inherit;
}

._toggle_162jn_25:hover {
  text-decoration: underline;
}

._arrowUp_162jn_44 {
  transform: rotate(180deg);
}
._chip_1e7dd_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_1e7dd_1:hover,
._chip_1e7dd_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_1e7dd_1:active {
  transform: translateY(1px);
}
._container_1qzmy_1 {
  margin-top: 8px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-primary);
  min-width: 0;
  overflow: hidden;
}

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

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

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

._list_1qzmy_33,
._singleItem_1qzmy_34 {
  display: block;
}

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

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

._row_1qzmy_42,
._rowButton_1qzmy_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_1qzmy_42 {
  padding-left: 12px;
  padding-right: 12px;
}

._rowButton_1qzmy_51 {
  min-width: 0;
}

._rowButton_1qzmy_51 {
  cursor: pointer;
}

._statusIcon_1qzmy_76,
._chevron_1qzmy_77 {
  flex-shrink: 0;
}

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

._executor_1qzmy_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_1qzmy_99 {
  min-width: 0;
  flex: 1;
  font-size: 12px;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

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

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

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

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

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

._errorText_1qzmy_137 {
  color: var(--color-error);
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
}
._propList_fkm3h_1 {
  padding: 6px 10px;
}

._propRow_fkm3h_5 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 3px 0;
  font-size: 12px;
  line-height: 1.6;
  position: relative;
  transition: background 0.15s ease;
}
._propRow_fkm3h_5 + ._propRow_fkm3h_5 {
  border-top: 1px solid rgba(0, 0, 0, 0.03);
}
._propRow_fkm3h_5:hover ._copyButton_fkm3h_18 {
  opacity: 1;
}

._copyButton_fkm3h_18 {
  flex-shrink: 0;
  opacity: 0;
  background: none;
  border: none;
  padding: 2px;
  cursor: pointer;
  color: var(--text-tertiary);
  transition: opacity 0.15s, color 0.15s;
  display: flex;
  align-items: center;
  margin-top: 2px;
}
._copyButton_fkm3h_18:hover {
  color: var(--color-primary);
}

._propKey_fkm3h_39 {
  flex-shrink: 0;
  min-width: 70px;
  color: var(--text-tertiary);
  font-family: 'SF Mono', 'Fira Code', 'JetBrains Mono', Menlo, monospace;
  font-size: 11px;
  padding-top: 1px;
  user-select: none;
}

._value_fkm3h_49 {
  flex: 1;
  min-width: 0;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 20px;
  transition: max-height 0.2s ease;
}

._value_fkm3h_49:has(._propList_fkm3h_1) {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  max-height: none;
}

._isString_fkm3h_67 {
  color: var(--text-secondary);
}

._isNumber_fkm3h_71 {
  color: #d97706;
  font-family: 'SF Mono', 'Fira Code', 'JetBrains Mono', Menlo, monospace;
  font-size: 11px;
}

._isBoolTrue_fkm3h_77 {
  color: var(--color-success);
  font-weight: 500;
}

._isBoolFalse_fkm3h_82 {
  color: var(--color-error);
  font-weight: 500;
}

._isUrl_fkm3h_87 {
  color: var(--color-primary);
  text-decoration: none;
  cursor: pointer;
}
._isUrl_fkm3h_87:hover {
  text-decoration: underline;
}

._isPath_fkm3h_96 {
  color: var(--color-primary);
  font-family: 'SF Mono', 'Fira Code', 'JetBrains Mono', Menlo, monospace;
  font-size: 11px;
  cursor: pointer;
}

._isNull_fkm3h_103 {
  color: var(--text-tertiary);
  font-style: italic;
}

._isMarkdown_fkm3h_108 {
  flex: 1;
  min-width: 0;
  white-space: normal;
  overflow: visible;
  max-height: none;
  text-overflow: clip;
}

/*
 * Markdown values are already collapsed by CollapsibleMarkdown.
 * The generic prop value shell must not impose the one-line 20px cap,
 * otherwise the inner “展开全文” control is clipped and cannot be used.
 */
._propRow_fkm3h_5 ._value_fkm3h_49:has(._isMarkdown_fkm3h_108) {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  max-height: none;
}

._isMarkdown_fkm3h_108 .markdown-body {
  background: transparent;
  padding: 0;
  margin: 0;
  font-size: inherit;
  color: inherit;
}

._isMarkdown_fkm3h_108 .markdown-body > :first-child { margin-top: 0; }
._isMarkdown_fkm3h_108 .markdown-body > :last-child { margin-bottom: 0; }

._isObject_fkm3h_140 {
  flex: 1;
  min-width: 0;
  padding: 4px 0 0;
  white-space: normal;
  overflow: visible;
  max-height: none;
  text-overflow: clip;
}

._isObject_fkm3h_140 ._propList_fkm3h_1 {
  padding: 4px 6px;
}
._isObject_fkm3h_140 ._propKey_fkm3h_39 {
  min-width: 50px;
}

/* 展开态 */
._expanded_fkm3h_158 {
  align-items: flex-start;
  background: rgba(99, 102, 241, 0.06);
  border-radius: 4px;
  margin: 0 -4px;
  padding: 6px 8px;
  flex-wrap: wrap;
}
._expanded_fkm3h_158 ._propKey_fkm3h_39 {
  padding-top: 2px;
}
._expanded_fkm3h_158 ._value_fkm3h_49 {
  white-space: pre-wrap;
  overflow-y: auto;
  max-height: 200px;
  transition: max-height 0.2s ease;
}

/* 收起动画阶段 */
._collapsing_fkm3h_177 ._value_fkm3h_49 {
  white-space: pre-wrap;
  max-height: 20px;
  overflow: hidden;
}

/* 截断行可点击 */
._truncated_fkm3h_184 ._value_fkm3h_49 {
  cursor: pointer;
}
._truncated_fkm3h_184 ._value_fkm3h_49:hover {
  background: rgba(0, 0, 0, 0.03);
  border-radius: 2px;
}

/* 未展开的"详情"按钮 */
._detailToggle_fkm3h_193 {
  font-size: 11px;
  color: var(--color-primary);
  background: none;
  border: none;
  padding: 0 0 0 6px;
  cursor: pointer;
  font-family: inherit;
  flex-shrink: 0;
  white-space: nowrap;
}
._detailToggle_fkm3h_193:hover {
  text-decoration: underline;
}

/* 展开后的"收起"按钮 — 独立一行，右对齐 */
._collapseBtn_fkm3h_209 {
  width: 100%;
  text-align: right;
  font-size: 11px;
  color: var(--color-primary);
  background: none;
  border: none;
  padding: 4px 0 0;
  cursor: pointer;
  font-family: inherit;
}
._collapseBtn_fkm3h_209:hover {
  text-decoration: underline;
}
._attachment_flk1p_1 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: min(320px, 100%);
  padding: 8px 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  margin: 4px 0;
}

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

._icon_flk1p_20 {
  color: var(--text-secondary);
  flex-shrink: 0;
}

._info_flk1p_25 {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

._filename_flk1p_32 {
  font-size: 13px;
  color: var(--text-primary);
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._size_flk1p_41 {
  font-size: 11px;
  color: var(--text-tertiary);
}

._imageAttachment_flk1p_46 {
  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_flk1p_46:hover {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-sm);
}

._thumbnail_flk1p_64 {
  display: block;
  width: 100%;
  max-height: 200px;
  object-fit: cover;
  border-bottom: 1px solid var(--border-color);
}

._brokenImage_flk1p_72 {
  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_flk1p_83 {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  padding: 6px 10px;
}
._card_1s112_1 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid var(--border-color, #e0e0e0);
  border-radius: 8px;
  background: var(--bg-secondary, #f8f8f8);
}

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

._icon_1s112_19 {
  color: var(--text-secondary, #666);
  flex-shrink: 0;
}

._command_1s112_24 {
  font-family: var(--font-mono, monospace);
  font-size: 12px;
  color: var(--text-primary, #333);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._badge_1s112_33 {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 500;
  flex-shrink: 0;
}

._badgeRunning_1s112_43 {
  background: rgba(13, 148, 85, 0.12);
  color: var(--color-success, #0d9455);
}

._badgeExited_1s112_48 {
  background: rgba(128, 128, 128, 0.12);
  color: var(--text-tertiary, #999);
}

._badgeKilling_1s112_53 {
  background: rgba(220, 53, 69, 0.12);
  color: var(--color-error, #dc3545);
}

._openButton_1s112_58 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border: 1px solid var(--border-color, #e0e0e0);
  border-radius: 6px;
  background: var(--bg-primary, #fff);
  color: var(--text-secondary, #666);
  font-size: 12px;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s;
}

._openButton_1s112_58:hover {
  background: var(--bg-hover, #f0f0f0);
  color: var(--text-primary, #333);
}
._card_4tlcp_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_4tlcp_9 {
  margin: 0;
  border-color: var(--border-default);
  background: color-mix(in srgb, var(--bg-secondary) 72%, var(--bg-primary) 28%);
  box-shadow: none;
}

._collapse_4tlcp_16 {
  /* Collapse 组件提供 header 和 content 样式 */
}

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

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

._argSummaryWrap_4tlcp_32 {
  position: relative;
  flex: 999 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
}

._argSummary_4tlcp_32 {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 12px;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-left: 4px;
  padding-right: 22px;
  border: none;
  border-bottom: 1px dashed transparent;
  background: transparent;
  text-align: left;
}

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

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

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

._copyPathButton_4tlcp_72 {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: color-mix(in srgb, var(--bg-secondary) 88%, transparent);
  color: var(--text-tertiary);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease, color 0.15s ease, background 0.15s ease;
}

._argSummaryWrap_4tlcp_32:hover ._copyPathButton_4tlcp_72,
._copyPathButton_4tlcp_72:focus-visible {
  opacity: 1;
  pointer-events: auto;
}

._copyPathButton_4tlcp_72:hover,
._copyPathButton_4tlcp_72:focus-visible {
  color: var(--color-primary);
  background: var(--hover-bg);
  outline: none;
}

/* 兜底推手：argSummary 不存在时把 duration/status 推到右侧 */
/* argSummary 存在时，其 flex-grow: 999 压缩 spacer 几乎为零 */
._spacer_4tlcp_108 {
  flex: 1;
}

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

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

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

._success_4tlcp_134 ._status_4tlcp_120 {
  color: var(--color-success);
}

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

._error_4tlcp_138 ._status_4tlcp_120 {
  color: var(--color-error);
}

._section_4tlcp_146 {
  margin-top: 8px;
}

._section_4tlcp_146:first-child {
  margin-top: 0;
}

._label_4tlcp_154 {
  font-size: 11px;
  color: var(--text-tertiary);
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

._errorResult_4tlcp_162 {
  color: var(--color-error);
  background: color-mix(in srgb, var(--color-error) 8%, var(--bg-primary));
  padding: 6px 10px;
  border-radius: 4px;
  font-size: 12px;
  border: 1px solid color-mix(in srgb, var(--color-error) 20%, transparent);
  line-height: 1.5;
}

._plainResult_4tlcp_172 {
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
}

._diffToggleBar_4tlcp_180 {
  margin-bottom: 8px;
}

._diffButton_4tlcp_184 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  font-size: 11px;
  color: var(--color-primary);
  background: transparent;
  border: 1px solid var(--color-primary);
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  white-space: nowrap;
}

._diffButton_4tlcp_184:hover {
  background: var(--color-primary);
  color: #fff;
}

._diffSection_4tlcp_204 {
  margin-top: 8px;
}

._readFileContent_4tlcp_208 {
  max-height: min(560px, 60vh);
  overflow: auto;
  border-radius: 6px;
}

._taskIdList_4tlcp_214 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

._spinning_4tlcp_220 {
  animation: _spin_4tlcp_220 1s linear infinite;
  flex-shrink: 0;
}

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

@keyframes _spin_4tlcp_220 {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* generateImage 结果区域 */
._generatedImage_4tlcp_235 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  cursor: pointer;
  padding: 4px 0;
}

._generatedImageThumb_4tlcp_243 {
  max-width: 200px;
  max-height: 160px;
  border-radius: 6px;
  border: 1px solid var(--border-color);
  object-fit: contain;
}

._brokenImage_4tlcp_251 {
  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_4tlcp_263 {
  font-size: 12px;
  color: var(--text-secondary);
}

/* Tooltip 内完整参数文本 */
._tooltipContent_4tlcp_269 {
  display: block;
  max-height: 120px;
  overflow-y: auto;
  white-space: pre-wrap;
  word-break: break-all;
}
._container_elcsn_1 {
  margin: 8px 0;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-secondary);
  transition: all 0.2s ease;
}

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

._streaming_elcsn_16 ._title_elcsn_16,
._streaming_elcsn_16 ._thinkingDots_elcsn_17 {
  color: var(--text-secondary);
}

._collapse_elcsn_21 {
  /* Collapse 组件不需要额外样式，header 和 content 由 Collapse 提供 */
}

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

._spacer_elcsn_32 {
  flex: 1;
}

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

._thinkingDots_elcsn_17 {
  display: inline-block;
  width: 16px;
  flex-shrink: 0;
  font-size: 12px;
  line-height: 1;
  color: var(--text-tertiary);
}

._thinkingDots_elcsn_17::after {
  content: '.';
  animation: _thinkingDotsText_elcsn_1 1.2s steps(1, end) infinite;
}

@keyframes _thinkingDotsText_elcsn_1 {
  0%, 100% {
    content: '.';
  }
  33% {
    content: '..';
  }
  66% {
    content: '...';
  }
}

._text_elcsn_70 {
  font-size: 12px;
  font-family: system-ui;
  color: color-mix(in srgb, var(--text-secondary) 86%, var(--text-primary));
  padding: 0;
  overflow-x: auto;
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
  line-height: 1.5;
  max-height: 400px;
  overflow-y: auto;
}._tabs_yuwji_1 {
  width: 100%;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--bg-secondary);
}

._header_yuwji_8 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  height: 40px;
  background: var(--bg-primary);
  border-bottom: 1px solid var(--border-color);
}

._tabNav_yuwji_18 {
  flex: 1;
  display: flex;
  gap: 4px;
  overflow-x: auto;
}

._tabButton_yuwji_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_yuwji_25:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

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

._tabButton_yuwji_25._pending_yuwji_47 {
  position: relative;
}

._thinkingDot_yuwji_51 {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 6px;
  background: var(--accent-color);
  border-radius: 50%;
  animation: _pulse_yuwji_1 1.5s ease-in-out infinite;
}

@keyframes _pulse_yuwji_1 {
  0%, 100% {
    opacity: 0.4;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

._tabButton_yuwji_25._active_yuwji_72 {
  background: var(--hover-bg);
  color: var(--accent-color);
  font-weight: 500;
  border-bottom: 2px solid var(--accent-color);
}

._toggleButton_yuwji_79 {
  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_yuwji_79:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._tabContent_yuwji_100 {
  max-height: 200px;
  overflow-y: auto;
  padding: 12px;
  background: var(--color-primary-light);
  animation: _fadeIn_yuwji_1 0.2s ease-in;
}

@keyframes _fadeIn_yuwji_1 {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
._pill_13sl6_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_13sl6_13 {
  background: var(--color-success-light);
  color: var(--color-success);
}

._pill--error_13sl6_18 {
  background: var(--color-error-light);
  color: var(--color-error);
}

._pill--running_13sl6_23 {
  background: var(--color-info-light);
  color: var(--color-info);
}

._pill--idle_13sl6_28 {
  background: var(--color-neutral-light);
  color: var(--color-neutral);
}

._pill--info_13sl6_33 {
  background: var(--color-primary-light);
  color: var(--color-primary);
}
._collab_1m2ky_1 {
  margin: 2px 16px;
  padding-left: 10px;
  border-left: 2px solid var(--color-primary);
}

._collab--compact_1m2ky_7 {
  margin: 0 16px 4px;
  padding-left: 8px;
}

._collab--compact_1m2ky_7._collab--broadcast_1m2ky_12 {
  margin: 0;
  padding-left: 0;
  border-left: 0;
}

/* ===== 类型强调色 ===== */
._collab--task_1m2ky_19 {
  border-left-color: var(--color-primary);
}

._collab--handoff_1m2ky_23 {
  border-left-color: var(--color-info);
}

._collab--broadcast_1m2ky_12 {
  border-left-color: color-mix(in srgb, var(--color-primary) 42%, var(--border-default));
}

._collab--broadcast_1m2ky_12 ._body_1m2ky_31 {
  max-height: 520px;
  overflow: hidden;
}

._collab--supervisor_1m2ky_36 {
  border-left-color: var(--color-warning);
}

/* ===== Header ===== */
._header_1m2ky_41 {
  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_1m2ky_41::before {
  content: '';
  position: absolute;
  inset: 0 -6px;
  z-index: -1;
  border-radius: inherit;
  background: transparent;
}

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

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

._collab--compact_1m2ky_7 ._header_1m2ky_41 {
  min-height: 24px;
  padding: 2px 0;
}

._header--broadcastResponse_1m2ky_77 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 0;
  padding: 10px 0;
}

._header--broadcastResponse_1m2ky_77:hover {
  background: transparent;
}

._header--broadcastResponse_1m2ky_77:hover::before {
  background: transparent;
}

._header--broadcastResponse_1m2ky_77 ._icon_1m2ky_93 {
  display: none;
}

._header--broadcastResponse_1m2ky_77 ._title_1m2ky_97 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
}

._header--broadcastResponse_1m2ky_77 ._participants_1m2ky_106 {
  min-width: 0;
}

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

._header--broadcastResponse_1m2ky_77 ._action_1m2ky_110:empty {
  display: none;
}

._header--broadcastResponse_1m2ky_77 ._meta_1m2ky_122 {
  align-self: end;
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 16px;
}

._header--broadcastResponse_1m2ky_77:hover ._meta_1m2ky_122 {
  color: var(--color-primary);
}

._header--broadcastResponse_1m2ky_77[aria-expanded='false'] {
  align-items: center;
  min-height: 38px;
  padding: 6px 0;
}

._header--broadcastResponse_1m2ky_77[aria-expanded='false']:hover {
  padding: 6px 0;
}

._header--broadcastResponse_1m2ky_77 ._chevron_1m2ky_143 {
  align-self: center;
  color: var(--text-tertiary);
}

._header--broadcastResponse_1m2ky_77:hover ._chevron_1m2ky_143 {
  color: var(--text-secondary);
}

/* ===== 类型图标 ===== */
._icon_1m2ky_93 {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--text-tertiary);
  margin-top: 1px;
}

._icon--task_1m2ky_164 {
  color: var(--color-primary);
}

._icon--handoff_1m2ky_168 {
  color: var(--color-info);
}

._icon--broadcast_1m2ky_172 {
  color: var(--color-primary);
}

._icon--supervisor_1m2ky_176 {
  color: var(--color-warning);
}

/* ===== 标题区（参与者 + 动作文案） ===== */
._title_1m2ky_97 {
  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_1m2ky_106 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  min-width: 0;
}

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

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

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

@media (max-width: 768px) {
  ._meta_1m2ky_122 {
    max-width: 4em;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* ===== 展开箭头 ===== */
._chevron_1m2ky_143 {
  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_1m2ky_244 {
  transform: rotate(90deg);
}

/* ===== Body 折叠区 ===== */
._body_1m2ky_31 {
  max-height: 400px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  opacity: 1;
  transition: max-height 0.22s ease, opacity 0.16s ease;
}

._body--closed_1m2ky_258 {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
}
/* ===== anchor ===== */

._anchor_14gy0_3 {
  scroll-margin-top: 12px;
}

._anchor_14gy0_3.task-block-navigation-target {
  animation: _taskBlockNavigationPulse_14gy0_1 1.6s ease-out;
}

@keyframes _taskBlockNavigationPulse_14gy0_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_14gy0_25 {
  height: 1.5px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--color-primary) 50%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: _progressSweep_14gy0_1 1.8s ease-in-out infinite;
  margin-bottom: 8px;
  border-radius: 1px;
  opacity: 0.12;
}

@keyframes _progressSweep_14gy0_1 {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}

/* ===== process ===== */

._processSection_14gy0_51 {
  margin-top: 4px;
}

._processContent_14gy0_55 {
  padding: 0 0 2px 0;
  overscroll-behavior: contain;
}

._processItem_14gy0_60 {
  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_hxbvf_7 {
  display: flex;
  flex-direction: column;
  margin-top: 0;
  min-height: 0;
  max-height: inherit;
  overflow: hidden;
}

._headerTitle_hxbvf_16 {
  min-width: 0;
  overflow: hidden;
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._questionPanel_hxbvf_27 {
  padding: 2px 0 10px;
}

._questionMeta_hxbvf_31 {
  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_hxbvf_42 {
  display: grid;
  min-height: 0;
  max-height: calc(520px - 34px);
  overflow: hidden auto;
  overscroll-behavior: contain;
  border-top: 1px solid var(--border-default);
}

._responseItem_hxbvf_51 {
  min-width: 0;
  overflow: hidden;
}

._responseItem_hxbvf_51 + ._responseItem_hxbvf_51 {
  border-top: 1px solid var(--border-default);
}

._responseItemExpanded_hxbvf_60 {
  background: transparent;
}

._responseIdentity_hxbvf_64 {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

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

._agentName_hxbvf_78 {
  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_hxbvf_89 {
  color: var(--text-tertiary);
  opacity: 0.7;
  font-size: 12px;
  line-height: 17px;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

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

._statusPill_hxbvf_109 {
  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_hxbvf_123,
._status_thinking_hxbvf_124 {
  background: var(--bg-tertiary);
  color: var(--text-secondary);
}

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

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

._status_failed_hxbvf_139 {
  background: var(--color-error-light);
  color: var(--color-error);
}

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

._statusDot_hxbvf_149 {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--text-tertiary);
}

._dot_pending_hxbvf_157,
._dot_thinking_hxbvf_158 {
  background: var(--text-tertiary);
}

._dot_streaming_hxbvf_162 {
  background: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-light);
  animation: _dotPulse_hxbvf_1 1.5s ease-in-out infinite;
}

._dot_done_hxbvf_168 {
  background: var(--color-success);
  box-shadow: 0 0 0 2px var(--color-success-light);
}

._dot_failed_hxbvf_173 {
  background: var(--color-error);
  box-shadow: 0 0 0 2px var(--color-error-light);
}

._dot_cancelled_hxbvf_178 {
  background: var(--color-warning);
  box-shadow: 0 0 0 2px var(--color-warning-light);
}

._responseDetail_hxbvf_183 {
  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_hxbvf_196 {
  padding: 0;
}

._responseBlockItem_hxbvf_200 {
  min-height: 1px;
}

._placeholder_hxbvf_204 {
  color: var(--text-tertiary);
  font-size: 12px;
  font-style: italic;
}

._errorText_hxbvf_210 {
  color: var(--color-error);
  font-size: 12px;
}

._cancelledText_hxbvf_215 {
  color: var(--color-warning);
  font-size: 12px;
  font-style: italic;
  display: block;
  padding-top: 6px;
}

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

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

@media (max-width: 640px) {
  ._responseAction_hxbvf_237 {
    margin-top: 0;
  }

  ._responseHeaderLine_hxbvf_71 {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  ._responseDetail_hxbvf_183 {
    margin-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  ._dot_streaming_hxbvf_162 {
    animation: none !important;
    opacity: 1;
  }
}
._guidanceBlock_9075o_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_9075o_14 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
  font-size: 12px;
  line-height: 1.4;
}

._title_9075o_23 {
  letter-spacing: 0.02em;
  font-weight: 600;
  color: var(--text-primary, #202124);
}

._status_9075o_29 {
  padding: 1px 6px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent-color, #0a84ff) 9%, transparent);
  color: var(--text-tertiary, #7d858c);
}

._content_9075o_36 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: var(--text-primary, #202124);
  white-space: pre-wrap;
}

._hint_9075o_48 {
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--text-tertiary, #7d858c);
}

._cancelButton_9075o_55 {
  margin-left: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accent-color, #0a84ff);
  font: inherit;
  cursor: pointer;
}

._cancelButton_9075o_55:hover {
  text-decoration: underline;
}

._settled_9075o_69 {
  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_9075o_69 ._status_9075o_29 {
  background: color-mix(in srgb, var(--text-tertiary, #9aa0a6) 8%, transparent);
}
._container_189qy_1 {
  display: flex;
  justify-content: center;
  padding: 8px 0;
}

._inline_189qy_7 {
  display: inline-flex;
  align-items: center;
}

._status_189qy_12 {
  display: inline-flex;
  align-items: center;
}

._dots_189qy_17 {
  display: flex;
  gap: 6px;
  align-items: center;
}

._inline_189qy_7 ._dots_189qy_17 {
  gap: 3px;
}

._status_189qy_12 ._dots_189qy_17 {
  gap: 4px;
}

._dot_189qy_17 {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--text-tertiary);
  animation: _pulse_189qy_1 1.4s ease-in-out infinite;
}

._inline_189qy_7 ._dot_189qy_17 {
  width: 4px;
  height: 4px;
}

._status_189qy_12 ._dot_189qy_17 {
  width: 5px;
  height: 5px;
  background: color-mix(in srgb, var(--color-primary) 62%, var(--text-tertiary) 38%);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-primary) 10%, transparent);
  animation-duration: 1.1s;
}

._dot_189qy_17:nth-child(2) {
  animation-delay: 0.2s;
}

._dot_189qy_17:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes _pulse_189qy_1 {
  0%, 80%, 100% {
    opacity: 0.28;
    transform: translateY(0) scale(0.82);
  }
  40% {
    opacity: 1;
    transform: translateY(-1px) scale(1);
  }
}
._overlay_8hwsr_1 {
  position: fixed;
  inset: 0;
  z-index: 999;
}

._menu_8hwsr_7 {
  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: 1000;
  animation: _contextMenuIn_8hwsr_1 0.12s ease;
}

._item_8hwsr_19 {
  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 在菜单出现后会自动高亮。 */
  -webkit-user-select: none;
  user-select: none;
}

._item_8hwsr_19:hover,
._item_8hwsr_19._highlighted_8hwsr_39 {
  background: var(--hover-bg);
}

._item_8hwsr_19._danger_8hwsr_43 {
  color: var(--color-error);
}

._item_8hwsr_19._danger_8hwsr_43:hover,
._item_8hwsr_19._danger_8hwsr_43._highlighted_8hwsr_39 {
  background: var(--color-error-light);
}

@keyframes _contextMenuIn_8hwsr_1 {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
._title_e97vj_1 {
  margin: 0;
  padding: 20px 20px 16px;
  color: var(--text-primary);
  font-size: 15px;
  font-weight: 600;
}

._body_e97vj_9 {
  padding: 0 20px;
}

._field_e97vj_13 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
  color: var(--text-secondary);
  font-size: 12px;
}

._input_e97vj_22,
._textarea_e97vj_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_e97vj_22 {
  height: 36px;
  padding: 0 10px;
}

._textarea_e97vj_23 {
  min-height: 140px;
  max-height: 42vh;
  padding: 10px;
  line-height: 1.5;
  resize: vertical;
}

._input_e97vj_22:focus,
._textarea_e97vj_23:focus {
  border-color: var(--accent);
}

._hint_e97vj_52 {
  margin: 4px 0 16px;
  color: var(--text-tertiary);
  font-size: 12px;
}

._actions_e97vj_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;
}
._frame_12dwl_1 {
  position: relative;
  flex: 1;
  min-height: 0;
}

._container_12dwl_7 {
  flex: 1;
  height: 100%;
  overflow-y: auto;
  position: relative;
  min-height: 0;
  padding-right: 0;
}

._loadMoreButton_12dwl_16 {
  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_12dwl_16:hover {
  background: var(--hover-bg);
}

._loadMoreButton_12dwl_16:focus-visible,
._searchButton_12dwl_37:focus-visible,
._newMessageHint_12dwl_38:focus-visible,
._scrollToBottom_12dwl_39:focus-visible,
._quoteSelectionButton_12dwl_40:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

._messageWrapper_12dwl_45 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
}

._bottomAnchor_12dwl_52 {
  height: 1px;
  overflow-anchor: none;
}

._virtualListItem_12dwl_57 {
  box-sizing: border-box;
  width: 100%;
  min-height: 1px;
  padding: 0 16px;
}

._virtualBottomReserve_12dwl_64 {
  width: 100%;
  pointer-events: none;
  overflow-anchor: none;
}

._virtualListItemMessageStart_12dwl_70 {
  padding-top: 0;
}

._virtualListItemMessageContinuation_12dwl_74 {
  padding-top: 0;
  padding-bottom: 0;
}

._virtualListItemFirst_12dwl_79 {
  padding-top: 16px;
}

._virtualListItemLast_12dwl_83 {
  padding-bottom: 16px;
}

._searchBar_12dwl_87 {
  position: sticky;
  top: 8px;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 6px;
  width: min(520px, calc(100% - 32px));
  margin: 8px auto 0;
  padding: 6px;
  border: 1px solid var(--border-default);
  border-radius: 10px;
  background: var(--bg-primary);
  box-shadow: var(--shadow-md);
}

._searchInput_12dwl_103 {
  flex: 1;
  min-width: 0;
  height: 28px;
  padding: 0 8px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-primary);
  font-size: 13px;
  outline: none;
}

._searchInput_12dwl_103:focus {
  background: var(--bg-secondary);
}

._searchInput_12dwl_103:focus-visible {
  box-shadow: var(--focus-ring);
}

._searchCount_12dwl_124 {
  min-width: 64px;
  color: var(--text-tertiary);
  font-size: 12px;
  text-align: center;
  white-space: nowrap;
}

._searchButton_12dwl_37 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
}

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

._searchButton_12dwl_37:disabled {
  opacity: 0.35;
  cursor: default;
}

._contextStatusRow_12dwl_156 {
  margin: -4px 0 0;
  padding: 0 4px;
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.5;
  text-align: center;
}

._maintenanceRow_12dwl_165 {
  display: contents;
}

._loadingMore_12dwl_169,
._noMoreMessages_12dwl_170,
._centerState_12dwl_171 {
  text-align: center;
  padding: 12px;
  color: var(--text-secondary);
  font-size: 12px;
}

._centerState_12dwl_171 {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

._newMessageHint_12dwl_38 {
  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_12dwl_38:hover {
  background: var(--hover-bg);
}

._scrollToBottom_12dwl_39 {
  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_12dwl_39:hover {
  background: var(--hover-bg);
  transform: scale(1.05);
}

._quoteSelectionButton_12dwl_40 {
  position: fixed;
  z-index: 30;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 30px;
  border: 1px solid var(--border-color);
  border-radius: 999px;
  background: var(--bg-primary);
  color: var(--text-secondary);
  box-shadow: var(--shadow-md);
  cursor: pointer;
  transition:
    background 0.15s ease,
    color 0.15s ease,
    transform 0.15s ease;
}

._quoteSelectionButton_12dwl_40:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
  transform: translateY(-1px);
}

/* 消息进入动画 */
._messageEnter_12dwl_264 {
  animation: _messageSlideIn_12dwl_1 0.3s ease-out;
}

@keyframes _messageSlideIn_12dwl_1 {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 淡入动画 */
._fadeIn_12dwl_280 {
  animation: _fadeIn_12dwl_280 0.2s ease-out;
}

@keyframes _fadeIn_12dwl_280 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
._row_1nn16_1 {
  display: flex;
  justify-content: center;
  padding: 4px 16px 16px;
}

._card_1nn16_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_1nn16_1 160ms ease-out;
}

._iconWrap_1nn16_19 {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
}

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

._title_1nn16_34 {
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 600;
  line-height: 20px;
}

._description_1nn16_41 {
  margin-top: 2px;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 20px;
}

._actions_1nn16_48 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

._primaryButton_1nn16_57,
._secondaryButton_1nn16_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_1nn16_57 {
  border: 1px solid var(--color-primary);
  background: var(--color-primary);
  color: white;
  font-weight: 500;
}

._primaryButton_1nn16_57:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

._secondaryButton_1nn16_58 {
  border: 1px solid var(--border-color);
  background: var(--surface);
  color: var(--text-secondary);
}

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

._textButton_1nn16_91 {
  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_1nn16_91:hover {
  color: var(--text-secondary);
  text-decoration-color: var(--text-secondary);
  background: none;
}

._spin_1nn16_111 {
  animation: _spin_1nn16_111 900ms linear infinite;
}

@keyframes _spin_1nn16_111 {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes _slideIn_1nn16_1 {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
._container_1m048_1 {
  border-radius: 8px;
  overflow: hidden;
  display: grid;
  flex-shrink: 0;
  color: white;
  font-weight: 700;
  align-items: center;
  justify-items: center;
  user-select: none;
  box-sizing: border-box;
}

._image_1m048_14 {
  border-radius: 8px;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
}

._grid2_1m048_21 {
  grid-template-columns: 1fr 1fr;
}

._grid4_1m048_25 {
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
}

._overflow_1m048_30 {
  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;
}
/* SessionTabs — 群聊线程标签栏
 *
 * 设计文档 §6.2 视觉规格：
 * - 第二层（线程级），浅灰背景
 * - Tab: 12.5px 字号，active 紫色下划线 + 粗体
 * - 状态点：streaming 紫色脉冲，paused 琥珀色
 * - 未读：通过 completed 绿色点表达（已读则无点）
 * - 关闭按钮：hover 时出现，active tab 始终 50% 透明
 * - 新建按钮：实心紫色背景
 * - 横向滚动：隐藏滚动条 + 左右渐变遮罩
 */

._wrapper_1djfl_13 {
  position: relative;
  z-index: 1;
  background: var(--bg-secondary);
  box-shadow: 0 1px 3px rgb(0 0 0 / 6%);
  display: flex;
  align-items: center;
}

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

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

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

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

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

._wrapper_1djfl_13::before {
  left: 0;
  background: linear-gradient(to right, var(--bg-secondary), transparent);
}

._wrapper_1djfl_13::after {
  right: 0;
  background: linear-gradient(to left, var(--bg-secondary), transparent);
}

._canScrollLeft_1djfl_65::before {
  opacity: 1;
}

._canScrollRight_1djfl_69::after {
  opacity: 1;
}

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

._tab_1djfl_24 {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-size: 12.5px;
  color: var(--text-secondary);
  cursor: pointer;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: none;
  transition: color 120ms, background-color 120ms, border-color 120ms;
  white-space: nowrap;
  position: relative;
  user-select: none;
  line-height: 1.4;
}

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

._tabActive_1djfl_99 {
  color: var(--purple-500);
  border-bottom-color: var(--purple-500);
  font-weight: 600;
}

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

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

._statusDotStreaming_1djfl_114 {
  background: var(--purple-500);
  animation: _tab-dot-pulse_1djfl_1 1.5s ease-in-out infinite;
}

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

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

@keyframes _tab-dot-pulse_1djfl_1 {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

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

._tabDefault_1djfl_134 {
  font-weight: 500;
}

._tabActive_1djfl_99._tabDefault_1djfl_134 {
  font-weight: 600;
}

._tabIcon_1djfl_142 {
  flex-shrink: 0;
  opacity: 0.6;
  font-variant-numeric: tabular-nums;
}

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

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

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

._tabInput_1djfl_159 {
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  background: var(--bg-primary);
  border: 1px solid var(--purple-500);
  border-radius: var(--radius-sm);
  padding: 0 4px;
  outline: none;
  min-width: 60px;
  max-width: 180px;
  height: 20px;
  line-height: 1;
}

._tabInput_1djfl_159:focus-visible {
  border-color: var(--purple-500);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--purple-500) 30%, transparent);
}

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

._tabClose_1djfl_182 {
  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_1djfl_24:hover ._tabClose_1djfl_182 {
  opacity: 1;
}

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

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

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

._newBtn_1djfl_215 {
  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_1djfl_215:hover {
  border-color: var(--purple-500);
  color: var(--purple-500);
  background: color-mix(in srgb, var(--purple-500) 8%, transparent);
}

._newBtn_1djfl_215:focus-visible {
  outline: none;
  border-color: var(--purple-500);
  color: var(--purple-500);
  background: color-mix(in srgb, var(--purple-500) 8%, transparent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--purple-500) 18%, transparent);
}
._surface_1vrmq_1 {
  width: 400px;
  max-width: 90vw;
}

/* Header */
._header_1vrmq_7 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 24px 16px;
}

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

/* Form */
._formBody_1vrmq_22 {
  display: flex;
  flex-direction: column;
  padding: 0 24px;
}

/* 副标题 — 群名上下文 */
._subtitle_1vrmq_29 {
  font-size: 12px;
  color: var(--text-tertiary);
  margin: -8px 0 6px;
}

/* 成员行 */
._memberRow_1vrmq_36 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 14px;
}

._memberLabel_1vrmq_43 {
  font-size: 11px;
  color: var(--text-tertiary);
}

._memberAvatars_1vrmq_48 {
  display: flex;
}

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

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

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

/* 标题输入 */
._titleField_1vrmq_69 {
  margin-bottom: 6px;
}

._titleInput_1vrmq_73 {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg, 8px);
  font-size: 13.5px;
  font-family: inherit;
  color: var(--text-primary);
  background: var(--bg-secondary);
  outline: none;
  transition: border-color 0.15s;
}

._titleInput_1vrmq_73:focus {
  border-color: var(--color-primary);
}

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

._titleError_1vrmq_94 {
  font-size: 11px;
  color: var(--red-500, #ef4444);
  margin-top: 4px;
}

/* 提示文案 */
._hint_1vrmq_101 {
  font-size: 11.5px;
  color: var(--text-tertiary);
}

/* 操作按钮 */
._actions_1vrmq_107 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 20px 24px 24px;
}
/* ChatHeaderBar — 紧凑头像 + 名称 */

._wrapper_yp7o3_3 {
  display: flex;
  flex-direction: column;
  background: var(--bg-primary);
  flex-shrink: 0;
}

/* 第一层（群级/单聊）：紧凑头像 + 名称 */
._headerTop_yp7o3_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_yp7o3_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_yp7o3_23:hover {
  box-shadow: 0 0 0 2px var(--color-primary);
}

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

._groupIcon_yp7o3_45 {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ── 右侧信息区 ──────────────────────────────────────── */
._infoCol_yp7o3_56 {
  flex: 1;
  min-width: 0;
}

/* ── 上行：名称 ──────────────────────────────────────── */
._nameRow_yp7o3_62 {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  justify-content: space-between;
}

/* 标题 + 上下文状态容器 */
._titleWrap_yp7o3_71 {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  flex: 1;
}

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

._title_yp7o3_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_yp7o3_71:hover {
  color: var(--color-primary);
}

._title_yp7o3_71:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 4px;
}

._sessionTitle_yp7o3_111 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._contextHealthPill_yp7o3_120 {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border-radius: 999px;
  background: var(--bg-tertiary);
  color: var(--text-tertiary);
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
  flex-shrink: 0;
}

._contextHealthPillWarning_yp7o3_133 {
  background: color-mix(in srgb, var(--color-warning, #eab308) 14%, transparent);
  color: var(--color-warning, #eab308);
}

._contextHealthPillFailed_yp7o3_138 {
  background: color-mix(in srgb, var(--color-danger, #ef4444) 12%, transparent);
  color: var(--color-danger, #ef4444);
}

._contextHealthPillLoading_yp7o3_143 {
  gap: 4px;
  background: color-mix(in srgb, var(--color-primary, #7c3aed) 12%, transparent);
  color: var(--color-primary, #7c3aed);
}

._contextHealthPillSuccess_yp7o3_149 {
  background: color-mix(in srgb, var(--color-success, #22c55e) 12%, transparent);
  color: var(--color-success, #22c55e);
}

._contextHealthSpinner_yp7o3_154 {
  animation: _spin_yp7o3_1 1s linear infinite;
  flex-shrink: 0;
}

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

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

._contextHealthTooltip_yp7o3_169 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 180px;
}

._contextHealthTooltipTitle_yp7o3_176 {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 2px;
}

._contextInspectorButton_yp7o3_183 {
  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_yp7o3_183:hover {
  color: var(--text-primary);
  background: var(--bg-secondary);
}

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

/* ── 汉堡按钮（仅 ≤768px 显示） ──────────────────────── */
._hamburgerBtn_yp7o3_210 {
  display: none; /* 桌面端不显示 */
  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;
}

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

@media (max-width: 768px) {
  ._headerTop_yp7o3_11 {
    height: 48px;
    gap: 12px;
    padding: 6px 12px;
  }

  ._hamburgerBtn_yp7o3_210 {
    display: flex;
  }

  ._avatarCol_yp7o3_23 {
    margin-left: 2px;
  }
}

/* ── 新建线程按钮（单线程群 header 右上角） ─────────── */
._newThreadBtn_yp7o3_247 {
  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_yp7o3_247:hover {
  border-color: var(--purple-500);
  color: var(--purple-500);
  background: color-mix(in srgb, var(--purple-500) 8%, transparent);
}

._newThreadBtn_yp7o3_247:focus-visible {
  outline: 2px solid var(--purple-500);
  outline-offset: 2px;
  border-color: var(--purple-500);
  color: var(--purple-500);
  background: color-mix(in srgb, var(--purple-500) 8%, transparent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--purple-500) 18%, transparent);
}
._dropdown_1o37x_1 {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  max-height: 200px;
  overflow-y: auto;
  box-shadow: var(--shadow-md);
  isolation: isolate;
  z-index: 1100;
}

._dropdownInline_1o37x_12 {
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  margin-bottom: 8px;
}

._dropdownPortal_1o37x_20 {
  position: fixed;
  margin: 0;
  transform: translateY(calc(-100% - 8px));
}

._item_1o37x_26 {
  padding: 8px 12px;
  cursor: pointer;
  transition: background 0.2s ease;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

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

._item_1o37x_26._active_1o37x_40 {
  background: var(--hover-bg);
  border-left: 3px solid var(--color-primary);
  padding-left: 9px;
}

._name_1o37x_46 {
  font-size: 14px;
  color: var(--text-primary);
  font-weight: 500;
}

._description_1o37x_52 {
  font-size: 11px;
  color: var(--text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._commandInfo_1o37x_60 {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  flex: 1;
}

._shortcut_1o37x_68 {
  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_1o37x_79 {
  border: none;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px;
  flex-shrink: 0;
}

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

._defaultLabel_1o37x_91 {
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
}

._switchTrack_1o37x_101 {
  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_1o37x_113 {
  background: var(--color-primary);
  border-color: var(--color-primary);
}

._switchThumb_1o37x_118 {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--bg-primary);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
  transform: translateX(0);
  transition: transform 0.2s ease;
}

._switchTrackOn_1o37x_113 ._switchThumb_1o37x_118 {
  transform: translateX(12px);
}

._agentInfo_1o37x_132 {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

._agentDesc_1o37x_139 {
  font-size: 11px;
  color: var(--text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 200px;
}

/* @all 选项特殊样式 — 更有视觉权重 */
._allItem_1o37x_149 {
  background: var(--color-primary-subtle);
  border-radius: 6px;
  margin: 4px;
  padding: 6px 10px;
}

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

._allItem_1o37x_149 ._name_1o37x_46 {
  color: var(--color-primary);
  font-weight: 600;
}

._allIcon_1o37x_165 {
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}

._hint_1o37x_175 {
  padding: 6px 12px;
  font-size: 11px;
  color: var(--text-tertiary, var(--text-secondary));
  border-top: 1px solid var(--border-color);
  text-align: center;
}
._picker_1dwla_1 {
  position: fixed;
  width: min(440px, calc(100vw - 32px));
  max-height: 320px;
  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 rgba(15, 23, 42, 0.14), 0 2px 8px rgba(15, 23, 42, 0.06);
  z-index: 1100;
  overflow: hidden;
  transform: translateY(calc(-100% - 8px));
  backdrop-filter: blur(12px);
}

._picker_1dwla_1:has(._editor_1dwla_17) {
  max-height: min(420px, calc(100dvh - 24px));
}

._header_1dwla_21 {
  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_1dwla_29 {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

._textButton_1dwla_35 {
  height: 28px;
  padding: 0 8px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  font-size: 12px;
  cursor: pointer;
}

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

._list_1dwla_51 {
  overflow-y: auto;
  padding: 6px;
}

._itemRow_1dwla_56 {
  position: relative;
  display: flex;
  align-items: center;
  border-radius: 9px;
}

._item_1dwla_56 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  width: 100%;
  min-width: 0;
  padding: 7px 8px 7px 12px;
  border: none;
  border-radius: 9px;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

._itemRow_1dwla_56:hover,
._itemRow_1dwla_56:has(._item_1dwla_56:focus-visible),
._itemActive_1dwla_81 {
  background: color-mix(in srgb, var(--color-primary) 9%, var(--hover-bg));
}

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

._itemActive_1dwla_81 ._itemPreview_1dwla_90 {
  font-weight: 500;
}

._activeRail_1dwla_94 {
  position: absolute;
  left: 5px;
  top: 9px;
  bottom: 9px;
  width: 2px;
  border-radius: 999px;
  background: var(--color-primary);
  opacity: 0;
}

._itemActive_1dwla_81 ._activeRail_1dwla_94 {
  opacity: 1;
}

._itemText_1dwla_109 {
  min-width: 0;
  flex: 1;
  overflow: hidden;
}

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

._shortcut_1dwla_124 {
  flex-shrink: 0;
  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;
}

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

._itemRow_1dwla_56:hover ._moreButton_1dwla_135,
._itemActive_1dwla_81 ._moreButton_1dwla_135,
._moreButton_1dwla_135:focus-visible {
  opacity: 1;
}

._moreButton_1dwla_135:hover {
  background: var(--bg-tertiary, var(--hover-bg));
  color: var(--text-primary);
}

._itemMenu_1dwla_161 {
  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_1dwla_161 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_1dwla_161 button:hover {
  background: var(--hover-bg);
}

._itemMenu_1dwla_161 ._dangerAction_1dwla_188 {
  color: var(--color-danger, #ef4444);
}

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

._manageButton_1dwla_203 {
  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_1dwla_203:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._state_1dwla_223,
._emptyState_1dwla_224 {
  min-height: 180px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
  text-align: center;
}

._emptyTitle_1dwla_234 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 6px;
}

._emptyDescription_1dwla_241 {
  font-size: 12px;
  color: var(--text-secondary);
  margin-bottom: 16px;
}

._editor_1dwla_17 {
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._field_1dwla_254 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  color: var(--text-secondary);
}

._field_1dwla_254 input,
._field_1dwla_254 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_1dwla_254 input:focus,
._field_1dwla_254 textarea:focus {
  border-color: var(--color-primary);
}

._field_1dwla_254 textarea {
  min-height: 120px;
  resize: vertical;
  line-height: 1.5;
}

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

._editorHint_1dwla_292 {
  margin-top: -6px;
  color: var(--text-tertiary, var(--text-secondary));
  font-size: 11px;
}

._primaryAction_1dwla_298,
._secondaryAction_1dwla_299 {
  height: 30px;
  border-radius: 7px;
  padding: 0 12px;
  font-size: 12px;
  cursor: pointer;
}

._primaryAction_1dwla_298 {
  border: none;
  background: var(--color-primary);
  color: white;
}

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

._secondaryAction_1dwla_299 {
  border: 1px solid var(--border-color);
  background: transparent;
  color: var(--text-secondary);
}

._secondaryAction_1dwla_299:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}
._attachmentItem_1cs73_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_1cs73_13 {
  width: 32px;
  height: 32px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
  border: 1px solid var(--border-color);
}

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

._fileIcon_1cs73_26 {
  color: var(--text-secondary);
  flex-shrink: 0;
}

._fileInfo_1cs73_31 {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

._fileName_1cs73_39 {
  font-size: 13px;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._fileSize_1cs73_47 {
  font-size: 11px;
  color: var(--text-tertiary);
}

._removeButton_1cs73_52 {
  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_1cs73_52:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._attachmentList_1cs73_71 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 8px;
}

._uploadArea_1cs73_78 {
  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_1cs73_78:hover {
  border-color: var(--accent-color);
  background: var(--hover-bg);
}

._uploadArea_1cs73_78._dragOver_1cs73_93 {
  border-color: var(--accent-color);
  background: var(--active-bg);
}

._uploadIcon_1cs73_98 {
  color: var(--text-tertiary);
  margin-bottom: 8px;
}

._uploadText_1cs73_103 {
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 4px;
}

._uploadHint_1cs73_109 {
  font-size: 11px;
  color: var(--text-tertiary);
}

._hiddenInput_1cs73_114 {
  display: none;
}
._container_n8hrx_1 {
  border-top: 1px solid var(--border);
  background: var(--surface);
  backdrop-filter: var(--backdrop-blur);
}

._containerDropdownOpen_n8hrx_7 {
  background: var(--bg-primary);
  backdrop-filter: none;
}

._wrapper_n8hrx_12 {
  padding: 1rem;
}

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

._inputWrapper_n8hrx_16:focus-within {
  border-color: color-mix(in srgb, var(--color-primary) 28%, var(--border));
}

._inputWrapperMultiline_n8hrx_37 {
  gap: 0.625rem;
}

._inputWrapperDropdownOpen_n8hrx_41 {
  background: var(--bg-secondary);
  backdrop-filter: none;
}

._textarea_n8hrx_46 {
  grid-area: input;
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  color: var(--text-primary);
  font-family: system-ui;
  font-size: 0.875rem;
  line-height: 1.625;
  min-height: 2.5rem;
  max-height: 200px;
  padding: 0.45rem 0;
  min-width: 0;
}

._inputWrapper_n8hrx_16 ._textarea_n8hrx_46 {
  padding: 0.25rem 0;
}

._textarea_n8hrx_46::placeholder {
  color: var(--text-secondary);
}

._icon_n8hrx_70 {
  width: 1.25rem;
  height: 1.25rem;
}

._footer_n8hrx_75 {
  font-size: 0.75rem;
  color: var(--text-secondary);
  margin-top: 0.5rem;
  text-align: center;
}

._attachButton_n8hrx_82 {
  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_n8hrx_95 {
  grid-area: actions;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.5rem;
}

._leftButtonGroup_n8hrx_103 {
  grid-area: left;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.25rem;
}

._commandButton_n8hrx_111 {
  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_n8hrx_111:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._commandButtonActive_n8hrx_135 {
  background: var(--color-info-light);
  border-color: color-mix(in srgb, var(--blue-500) 22%, var(--border));
  color: var(--blue-500);
}

._commandButtonLabel_n8hrx_141 {
  line-height: 1;
}

._commandSlash_n8hrx_145 {
  font-size: 0.9375rem;
  font-weight: 650;
  line-height: 1;
}

._quickReplyButton_n8hrx_151 {
  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_n8hrx_151:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

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

._quickReplyButtonLabel_n8hrx_181 {
  line-height: 1;
}

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

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

._pasteHighlight_n8hrx_195 {
  border-color: color-mix(in srgb, var(--color-primary) 36%, var(--border));
}

._attachmentSection_n8hrx_199 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

/* ── 响应式：≤768px 输入区微调 ─────────────────────── */
@media (max-width: 768px) {
  ._wrapper_n8hrx_12 {
    padding: 0.5rem;
  }

  ._inputWrapper_n8hrx_16 {
    padding: 0.5rem;
  }

  ._inputWrapperMultiline_n8hrx_37 {
    padding-top: 0.75rem;
  }

  ._textarea_n8hrx_46 {
    padding: 0.4rem 0;
    font-size: 16px; /* 防止 iOS Safari 自动缩放 */
  }

  ._commandButton_n8hrx_111 {
    width: 2rem;
    padding: 0;
  }

  ._commandButtonLabel_n8hrx_141 {
    display: none;
  }

  ._quickReplyButton_n8hrx_151 {
    width: 2rem;
    padding: 0;
  }

  ._quickReplyButtonLabel_n8hrx_181 {
    display: none;
  }

  ._attachmentSection_n8hrx_199 {
    margin-bottom: 0.5rem;
  }
}
._inputWrapper_hetsf_1 {
  position: relative;
  flex-shrink: 0;
}
._container_98eal_1 {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: var(--bg-primary);
  overflow: hidden;
}

._mainShell_98eal_11 {
  position: relative;
  flex: 1;
  display: flex;
  min-height: 0;
  overflow: hidden;
}

._conversationPane_98eal_19 {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

._notification_98eal_27 {
  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_98eal_1 0.2s ease;
}

@keyframes _fadeIn_98eal_1 {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}
/* ========== 容器 ========== */
._wrapper_16bmi_2 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  position: relative;
}

/* ========== 主控件（只读展示） ========== */
._control_16bmi_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_16bmi_11:hover {
  border-color: var(--border-strong);
}

._controlOpen_16bmi_27 {
  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_16bmi_36 {
  border-color: var(--color-primary);
  background: var(--bg-primary);
  box-shadow: var(--focus-ring);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: var(--radius-lg, 8px);
  border-bottom-right-radius: var(--radius-lg, 8px);
}

._controlDisabled_16bmi_46 {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* ========== 展示文本 ========== */
._display_16bmi_53 {
  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_16bmi_65 {
  color: var(--text-tertiary);
}

/* ========== 右侧指示器 ========== */
._indicators_16bmi_70 {
  display: flex;
  align-items: center;
  gap: 2px;
  padding-right: var(--space-2, 8px);
  flex-shrink: 0;
}

._clearBtn_16bmi_78 {
  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_16bmi_78:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._chevronWrap_16bmi_99 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  min-width: 24px;
  height: 24px;
  flex-shrink: 0;
}

._chevron_16bmi_99 {
  transition: transform 0.2s ease;
  color: var(--text-tertiary);
}

._chevronUp_16bmi_114 {
  transform: rotate(180deg);
}

/* ========== 加载旋转 ========== */
._spinner_16bmi_119 {
  display: inline-block;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 2px solid var(--border);
  border-top-color: var(--color-primary);
  border-radius: 50%;
  animation: _spin_16bmi_119 0.6s linear infinite;
}

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

/* ========== 下拉面板 ========== */
._dropdown_16bmi_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_16bmi_1 0.15s ease;
  overflow: hidden;
}

/* ---- 向上翻转 ---- */
._dropdownUp_16bmi_149 {
  border-bottom: 1px solid var(--color-primary);
  border-top: 1px solid var(--border);
  border-top-left-radius: var(--radius-lg, 8px);
  border-top-right-radius: var(--radius-lg, 8px);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  animation: _slideUp_16bmi_1 0.12s ease;
}

@keyframes _slideDown_16bmi_1 {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes _slideUp_16bmi_1 {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ========== 搜索框 ========== */
._searchBox_16bmi_182 {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-bottom: 1px solid var(--border);
  background: var(--bg-secondary);
}

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

._searchInput_16bmi_196 {
  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_16bmi_196::placeholder {
  color: var(--text-tertiary);
}

/* ========== 选项列表 ========== */
._optionList_16bmi_212 {
  max-height: 220px;
  overflow-y: auto;
  overflow-x: hidden;
  list-style: none;
  margin: 0;
  padding: 4px 0;
}

/* ========== 选项 ========== */
._option_16bmi_212 {
  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_16bmi_212:hover,
._optionHighlighted_16bmi_235 {
  background: var(--hover-bg);
}

._optionSelected_16bmi_239 {
  color: var(--color-primary);
  font-weight: 500;
}

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

._checkIcon_16bmi_252 {
  flex-shrink: 0;
  color: var(--color-primary);
}

/* ========== Create 选项 ========== */
._optionCreate_16bmi_258 {
  color: var(--text-secondary);
}

._optionCreate_16bmi_258 ._optionText_16bmi_244 {
  font-style: italic;
}

._createIcon_16bmi_266 {
  flex-shrink: 0;
  color: var(--color-primary);
}

._createLabel_16bmi_271 {
  flex-shrink: 0;
  font-size: 11px;
  color: var(--text-tertiary);
  background: var(--bg-secondary);
  padding: 1px 6px;
  border-radius: 4px;
}

/* ========== 高亮匹配 ========== */
._highlight_16bmi_281 {
  background: transparent;
  color: var(--color-primary);
  font-weight: 600;
  border-radius: 2px;
  padding: 0 1px;
}

/* ========== 空状态 ========== */
._emptyState_16bmi_290 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  font-size: var(--font-sm, 13px);
  color: var(--text-tertiary);
  justify-content: center;
}
/* ========== Wrapper ========== */
._wrapper_186v4_2 {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

/* ========== Trigger（主控件） ========== */
._control_186v4_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_186v4_11:hover {
  background-color: var(--bg-tertiary);
  border-color: var(--border-strong);
}

/* ---- Focus ---- */
._control_186v4_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_186v4_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_186v4_53 {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: var(--radius-md, 6px);
  border-bottom-right-radius: var(--radius-md, 6px);
}

/* ---- Disabled ---- */
._controlDisabled_186v4_61 {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ---- Error ---- */
._controlError_186v4_67 {
  border-color: var(--color-error);
}
._controlError_186v4_67:focus-visible {
  border-color: var(--color-error);
  box-shadow: 0 0 0 3px var(--color-error-light);
}

/* ========== Display Text ========== */
._display_186v4_76 {
  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_186v4_89 {
  color: var(--text-tertiary);
}

/* ========== Chevron ========== */
._chevronWrap_186v4_94 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  min-width: 24px;
  height: 24px;
  flex-shrink: 0;
}

._chevron_186v4_94 {
  color: var(--text-tertiary);
  transition: transform 0.2s ease, color 0.15s ease;
}

._control_186v4_11:hover ._chevron_186v4_94 {
  color: var(--text-secondary);
}

._control_186v4_11:focus-visible ._chevron_186v4_94,
._controlOpen_186v4_44 ._chevron_186v4_94 {
  color: var(--color-primary);
}

._controlDisabled_186v4_61 ._chevron_186v4_94 {
  opacity: 0.5;
}

._controlError_186v4_67 ._chevron_186v4_94 {
  color: var(--color-error);
}

._chevronUp_186v4_126 {
  transform: rotate(180deg);
}

/* ========== Error Text ========== */
._error_186v4_131 {
  font-size: var(--font-sm, 12px);
  color: var(--color-error);
}

/* ========== Size Variants ========== */

/* sm — 消息输入区 */
._controlSm_186v4_139 {
  height: 28px;
  border-radius: var(--radius-sm, 4px);
}
._controlSm_186v4_139 ._display_186v4_76 {
  font-size: var(--font-sm, 12px);
  padding-left: var(--space-2, 8px);
}

/* lg — 预留 */
._controlLg_186v4_149 {
  height: 42px;
}
._controlLg_186v4_149 ._display_186v4_76 {
  font-size: var(--font-md, 16px);
}

/* ========== Dropdown Portal ========== */
._dropdown_186v4_157 {
  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_186v4_1 0.12s ease;
  overflow: hidden;
}

/* ---- 向上翻转 ---- */
._dropdownUp_186v4_169 {
  border-bottom: 1px solid var(--color-primary);
  border-top: 1px solid var(--border-default);
  border-top-left-radius: var(--radius-md, 6px);
  border-top-right-radius: var(--radius-md, 6px);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  animation: _slideUp_186v4_1 0.12s ease;
}

@keyframes _slideDown_186v4_1 {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes _slideUp_186v4_1 {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  ._dropdown_186v4_157 {
    animation: none;
  }
  ._chevron_186v4_94 {
    transition: none;
  }
  ._control_186v4_11 {
    transition: none;
  }
}

._dropdownSm_186v4_214 {
  border-bottom-left-radius: var(--radius-sm, 4px);
  border-bottom-right-radius: var(--radius-sm, 4px);
}

/* ========== Option List ========== */
._optionList_186v4_220 {
  max-height: 240px;
  overflow-y: auto;
  overflow-x: hidden;
  list-style: none;
  margin: 0;
  padding: 4px 0;
}

/* ========== Group ========== */
._group_186v4_230 {
  list-style: none;
}

._groupHeader_186v4_234 {
  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_186v4_244 {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ========== Option ========== */
._option_186v4_220 {
  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_186v4_220:hover,
._optionHighlighted_186v4_264 {
  background-color: var(--hover-bg);
}

._optionSelected_186v4_268 {
  color: var(--color-primary);
  font-weight: 500;
}

._optionDisabled_186v4_273 {
  opacity: 0.45;
  cursor: not-allowed;
}
._optionDisabled_186v4_273:hover {
  background-color: transparent;
}

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

._checkIcon_186v4_289 {
  flex-shrink: 0;
  color: var(--color-primary);
}
._header_1x8yc_1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  border-bottom: 1px solid var(--border-color);
}

._header_1x8yc_1 h2 {
  margin: 0;
  font-size: 18px;
}

._form_1x8yc_14 {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

._field_1x8yc_21 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._field_1x8yc_21 label {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
}

._labelRow_1x8yc_33 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

._field_1x8yc_21 input,
._field_1x8yc_21 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_1x8yc_21 textarea {
  min-height: 80px;
  resize: vertical;
}

._field_1x8yc_21 textarea:focus {
  outline: none;
  border-color: var(--color-primary-medium);
  box-shadow: 0 0 0 3px var(--color-primary-light);
}

._field_1x8yc_21 textarea:hover:not(:focus) {
  border-color: var(--text-tertiary);
}

._actions_1x8yc_67 {
  display: flex;
  gap: 8px;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  border-top: 1px solid var(--border-color);
}

._actionButtons_1x8yc_76 {
  display: flex;
  gap: 8px;
}

._optimizeBtn_1x8yc_81 {
  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_1x8yc_81:hover:not(:disabled) {
  background: var(--color-primary-medium);
  border-color: var(--color-primary-medium);
}

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

/* 通道引导 — 邀请感 */
._channelWarning_1x8yc_102 {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.08) 0%, rgba(139, 92, 246, 0.08) 100%);
  border: 1px solid rgba(99, 102, 241, 0.15);
  border-radius: 8px;
  color: var(--text-primary);
}

._channelWarning_1x8yc_102 svg {
  color: var(--color-primary);
  flex-shrink: 0;
  margin-top: 2px;
}

._channelWarningText_1x8yc_119 {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 13px;
}

._channelWarningText_1x8yc_119 strong {
  color: var(--text-primary);
  font-weight: 500;
}

._channelWarningText_1x8yc_119 span {
  color: var(--text-secondary);
  font-size: 12px;
}



._spinning_1x8yc_139 {
  animation: _spin_1x8yc_139 1s linear infinite;
}

/* 内联错误提示条 */
._inlineError_1x8yc_144 {
  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_1x8yc_144 svg {
  flex-shrink: 0;
}

._dismissError_1x8yc_161 {
  margin-left: auto;
  padding: 2px;
  background: none;
  border: none;
  color: var(--color-error);
  cursor: pointer;
  opacity: 0.7;
  display: flex;
  align-items: center;
}

._dismissError_1x8yc_161:hover {
  opacity: 1;
}

@keyframes _spin_1x8yc_139 {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
._root_1hvpo_1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

._menuAnchor_1hvpo_8 {
  position: relative;
}

._avatarButton_1hvpo_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_1hvpo_27 {
  border-radius: 12px;
}

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

._overlay_1hvpo_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_1hvpo_12:hover ._overlay_1hvpo_36,
._avatarButton_1hvpo_12:focus-visible ._overlay_1hvpo_36 {
  opacity: 1;
}

._mobileAction_1hvpo_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_1hvpo_68 {
  cursor: not-allowed;
  opacity: 0.5;
}

._fileInput_1hvpo_73 {
  display: none;
}

._error_1hvpo_77 {
  min-height: 18px;
  color: var(--color-error);
  font-size: 12px;
  text-align: center;
}

._menu_1hvpo_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_1hvpo_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_1hvpo_98:hover,
._menuItem_1hvpo_98:focus-visible {
  background: var(--hover-bg);
  outline: none;
}

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

._backdrop_1hvpo_124 {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgb(0 0 0 / 48%);
}

._dialog_1hvpo_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_1hvpo_134 h3 {
  margin: 0 0 16px;
  color: var(--text-primary);
  font-size: 16px;
}

._previewWrap_1hvpo_149 {
  display: flex;
  justify-content: center;
  margin-bottom: 18px;
}

._previewImage_1hvpo_155 {
  width: 160px;
  height: 160px;
  object-fit: cover;
}

._previewAgent_1hvpo_161 {
  border-radius: 50%;
}

._previewGroup_1hvpo_165 {
  border-radius: 20px;
}

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

._primaryButton_1hvpo_175,
._secondaryButton_1hvpo_176 {
  min-height: 36px;
  border-radius: 8px;
  padding: 0 14px;
  font-size: 13px;
  cursor: pointer;
}

._primaryButton_1hvpo_175 {
  border: 1px solid var(--color-primary);
  color: white;
  background: var(--color-primary);
}

._secondaryButton_1hvpo_176 {
  border: 1px solid var(--border);
  color: var(--text-primary);
  background: var(--bg-secondary);
}

._primaryButton_1hvpo_175:disabled,
._secondaryButton_1hvpo_176:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

@media (hover: none) and (pointer: coarse) {
  ._overlay_1hvpo_36 {
    display: none;
  }

  ._mobileAction_1hvpo_57 {
    display: inline-flex;
  }
}
._surface_e49wf_1 {
  width: 420px;
  max-width: 90vw;
  max-height: 85vh;
}

/* ========== Header ========== */

._header_e49wf_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_e49wf_9 h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}

/* ========== Form Body: flex column, footer 吸底 ========== */

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

/* ========== 群名称输入 ========== */

._titleField_e49wf_34 {
  padding: var(--space-4, 16px) var(--space-5, 20px) var(--space-3, 12px);
  flex-shrink: 0;
}

._titleLabel_e49wf_39 {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-tertiary);
  margin-bottom: 6px;
}

._titleInput_e49wf_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_e49wf_47:focus {
  border-color: var(--color-primary);
}

._titleInput_e49wf_47::placeholder {
  color: var(--text-tertiary);
  font-weight: 400;
}

/* ========== 分隔线 ========== */

._divider_e49wf_71 {
  height: 1px;
  background: var(--border-default);
  margin: 0 var(--space-5, 20px);
  flex-shrink: 0;
}

/* ========== 搜索 + 列表 ========== */

._body_e49wf_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_e49wf_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_e49wf_90:focus-within {
  border-color: var(--color-primary);
}

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

._searchRow_e49wf_90 input {
  flex: 1;
  border: none;
  background: transparent;
  color: var(--text-primary);
  font-size: 13px;
  outline: none;
}

._searchRow_e49wf_90 input::placeholder {
  color: var(--text-tertiary);
}

._selectedBadge_e49wf_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_e49wf_137 {
  display: flex;
  flex-direction: column;
  gap: 2px;
  overflow-y: auto;
  padding: 2px 0;
}

._agentItem_e49wf_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_e49wf_145:hover {
  background: var(--hover-bg);
}

._agentItem_e49wf_145._selected_e49wf_125 {
  background: var(--color-primary-light);
  border-left-color: var(--color-primary);
}

._agentInfo_e49wf_165 {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

._agentName_e49wf_172 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
}

._agentDesc_e49wf_178 {
  font-size: 11px;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ========== 自定义圆形 checkbox ========== */

._checkCircle_e49wf_188 {
  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_e49wf_145._selected_e49wf_125 ._checkCircle_e49wf_188 {
  border-color: var(--color-primary);
  background: var(--color-primary);
}

._checkCircle_e49wf_188 svg {
  opacity: 0;
  transform: scale(0.5);
  transition: all 0.2s ease;
}

._agentItem_e49wf_145._selected_e49wf_125 ._checkCircle_e49wf_188 svg {
  opacity: 1;
  transform: scale(1);
}

/* ========== Footer: 常驻底部 ========== */

._footer_e49wf_218 {
  border-top: 1px solid var(--border-default);
  padding: var(--space-3, 12px) var(--space-5, 20px) var(--space-4, 16px);
}

._hint_e49wf_223 {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-bottom: var(--space-3, 12px);
  display: flex;
  align-items: center;
  gap: 6px;
}

._hintIcon_e49wf_232 {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

._hintReady_e49wf_238 {
  color: var(--green-500, #22c55e);
}

._hintReady_e49wf_238 ._hintIcon_e49wf_232 {
  color: var(--green-500, #22c55e);
}

._footerActions_e49wf_246 {
  display: flex;
  gap: var(--space-2, 8px);
  justify-content: flex-end;
}

._avatarSection_e49wf_252 {
  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_e49wf_261 {
  min-width: 0;
}

._avatarTitle_e49wf_265 {
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._avatarHint_e49wf_274 {
  margin-top: 4px;
  color: var(--text-tertiary);
  font-size: 12px;
}
/* ========== Overlay ========== */

._overlay_1dxxc_3 {
  position: fixed;
  inset: 0;
  background: var(--overlay-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  overflow: hidden;
  animation: _fadeIn_1dxxc_1 0.15s ease;
}

@keyframes _fadeIn_1dxxc_1 {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ========== Dialog shell ========== */

._dialog_1dxxc_22 {
  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 rgba(0,0,0,0.5));
  width: 600px;
  max-width: 90vw;
  max-height: 85vh;
  max-height: 85dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* ========== Header with tabs ========== */

._header_1dxxc_38 {
  display: flex;
  border-bottom: 1px solid var(--border-default);
  flex-shrink: 0;
}

._tab_1dxxc_44 {
  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_1dxxc_44:hover {
  color: var(--text-primary);
}

._tabActive_1dxxc_61 {
  color: var(--text-primary);
  border-bottom-color: var(--color-primary);
}

/* ========== Content area ========== */

._content_1dxxc_68 {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 16px 20px;
  overflow-y: auto;
}

._field_1dxxc_77 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
}

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

._hint_1dxxc_90 {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-tertiary);
}

._errorText_1dxxc_97 {
  margin: 8px 0 0;
  color: var(--danger-color, #ef4444);
  font-size: 12px;
}

._checkboxLabel_1dxxc_103 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-secondary);
}

._policyEditor_1dxxc_111 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._policyEntry_1dxxc_117 {
  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_1dxxc_127 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

._editor_1dxxc_134 {
  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_1dxxc_134:focus {
  border-color: var(--color-primary);
}

._editor_1dxxc_134::placeholder {
  color: var(--text-tertiary);
  font-style: italic;
  font-family: inherit;
}

/* ========== Responsive: mobile ========== */

@media (max-width: 640px) {
  ._dialog_1dxxc_22 {
    width: 100vw;
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    border-radius: 0;
    border: none;
  }

  ._content_1dxxc_68 {
    padding: 12px 12px;
  }

  ._editor_1dxxc_134 {
    min-height: 200px;
    font-size: 14px;
  }

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

/* ========== Responsive: desktop ========== */

@media (min-width: 641px) {
  ._dialog_1dxxc_22 {
    /* Give editor area comfortable vertical space on desktop */
    height: 70vh;
    height: 70dvh;
  }

  ._editor_1dxxc_134 {
    min-height: 280px;
  }
}

/* ========== Footer ========== */

._footer_1dxxc_184 {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 20px 16px;
  border-top: 1px solid var(--border-default);
}
/* ========== Overlay ========== */

._overlay_gpnyh_3 {
  position: fixed;
  inset: 0;
  background: var(--overlay-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  overflow: hidden;
  animation: _fadeIn_gpnyh_1 0.15s ease;
}

@keyframes _fadeIn_gpnyh_1 {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ========== Dialog shell ========== */

._dialog_gpnyh_22 {
  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 rgba(0,0,0,0.5));
  width: 600px;
  max-width: 90vw;
  max-height: 85vh;
  max-height: 85dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

._header_gpnyh_36 {
  display: flex;
  border-bottom: 1px solid var(--border-default);
  flex-shrink: 0;
}

._dialogTitle_gpnyh_42 {
  margin: 0;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.3;
  color: var(--text-primary);
}

._eyebrow_gpnyh_51 {
  margin: 0;
  padding: 10px 20px 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-tertiary);
}

._content_gpnyh_59 {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 16px 20px;
  overflow-y: auto;
}

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

._hint_gpnyh_74 {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-tertiary);
}

._emptyText_gpnyh_81 {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-tertiary);
}

._errorText_gpnyh_88 {
  margin: 8px 0 0;
  color: var(--danger-color, #ef4444);
  font-size: 12px;
}

._checkboxLabel_gpnyh_94 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-secondary);
}

._segmentedGroup_gpnyh_102 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
}

._segmentedGroup_gpnyh_102 ._label_gpnyh_68 {
  grid-column: 1 / -1;
  padding: 0;
}

._segmentedOption_gpnyh_116 {
  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_gpnyh_130 {
  border-color: var(--color-primary);
  background: var(--bg-primary);
  color: var(--text-primary);
  font-weight: 600;
}

._segmentedOption_gpnyh_116 input {
  margin: 0;
}

._policyEditor_gpnyh_141 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._policyEntry_gpnyh_147 {
  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_gpnyh_157 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

._footer_gpnyh_164 {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 20px 16px;
  border-top: 1px solid var(--border-default);
}

@media (max-width: 640px) {
  ._dialog_gpnyh_22 {
    width: 100vw;
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    border-radius: 0;
    border: none;
  }

  ._content_gpnyh_59 {
    padding: 12px 12px;
  }

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

@media (min-width: 641px) {
  ._dialog_gpnyh_22 {
    height: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  ._overlay_gpnyh_3 {
    animation: none;
  }
}
._nav_1r94k_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_1r94k_9 {
  margin-bottom: 5px;
}

._groupTitle_1r94k_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_1r94k_23 {
  height: 1px;
  background: color-mix(in srgb, var(--border) 54%, transparent);
  margin: 5px 8px 4px;
}

/* 导航项基础样式 */
._item_1r94k_30 {
  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;
}

/* hover 状态 */
._item_1r94k_30:hover {
  background: color-mix(in srgb, var(--hover-bg) 72%, transparent);
  color: var(--text-primary);
}

/* active 状态 - 背景 + 颜色 */
._itemActive_1r94k_53 {
  background: color-mix(in srgb, var(--accent-color-light) 74%, transparent);
  color: var(--accent-color);
  font-weight: 500;
}

._itemActive_1r94k_53::before {
  content: '';
  position: absolute;
  left: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 14px;
  background: var(--accent-color);
  border-radius: 999px;
}

/* 图标样式调整 */
._item_1r94k_30 svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  opacity: 0.72;
}

._item_1r94k_30 span {
  padding-left: 2px;
}

._item_1r94k_30:hover svg,
._itemActive_1r94k_53 svg {
  opacity: 1;
}

/* ── 移动端：水平滚动 tab strip ── */
@media (max-width: 768px) {
  ._nav_1r94k_1 {
    width: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2px;
    padding: 8px 12px;
    overflow-x: auto;
    overflow-y: hidden;
    border-right: none;
    border-bottom: 1px solid var(--border);
    -webkit-overflow-scrolling: touch;
  }

  ._group_1r94k_9 {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2px;
    margin-bottom: 0;
  }

  ._groupTitle_1r94k_13 {
    display: none;
  }

  ._divider_1r94k_23 {
    width: 1px;
    height: 20px;
    margin: 0 6px;
  }

  ._item_1r94k_30 {
    white-space: nowrap;
    padding: 6px 10px;
    font-size: 13px;
    gap: 6px;
    flex-shrink: 0;
  }

  ._item_1r94k_30::before,
  ._item_1r94k_30:hover::before {
    display: none;
  }

  ._itemActive_1r94k_53 {
    border-radius: 6px;
  }
}._header_kplji_1 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 24px 14px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

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

._title_kplji_10 {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

._descriptionRow_kplji_24 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

._description_kplji_24 {
  flex: 1;
  min-width: 0;
  font-size: 13px;
  color: var(--text-secondary);
  margin: 0;
  line-height: 1.45;
}

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

._headerActions_kplji_46 {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

@media (max-width: 720px) {
  ._descriptionRow_kplji_24 {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
}
._switch_okn2o_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_okn2o_1:hover:not(._disabled_okn2o_15) {
  opacity: 0.8;
}

._switch_okn2o_1._checked_okn2o_19 {
  background: var(--green-500);
}

._switch_okn2o_1._disabled_okn2o_15 {
  opacity: 0.5;
  cursor: not-allowed;
}

._slider_okn2o_28 {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background: white;
  border-radius: 50%;
  transition: transform 0.2s ease;
}

._switch_okn2o_1._checked_okn2o_19 ._slider_okn2o_28 {
  transform: translateX(20px);
}

@media (max-width: 720px) {
  ._switch_okn2o_1 {
    width: 40px;
    height: 22px;
    border-radius: 11px;
  }

  ._slider_okn2o_28 {
    width: 18px;
    height: 18px;
  }

  ._switch_okn2o_1._checked_okn2o_19 ._slider_okn2o_28 {
    transform: translateX(18px);
  }
}
._field_1nad4_1 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
}

._field_1nad4_1:last-child {
  margin-bottom: 0;
}

._row_1nad4_12 {
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

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

._row_1nad4_12 ._label_1nad4_18 {
  margin-bottom: 0;
}

._hint_1nad4_28,
._error_1nad4_29 {
  font-size: 12px;
  line-height: 1.4;
  margin-top: -2px;
}

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

._error_1nad4_29 {
  color: var(--error);
}/* ChannelPanel — 渠道管理 + 多模态配置 */

._panel_yxv60_3 {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* ── 视图切换 Tab（渠道 / 多模态） ── */

._viewTabs_yxv60_11 {
  display: flex;
  gap: 0;
  padding: 0 24px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

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

._viewTab_yxv60_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_yxv60_11:hover {
  color: var(--text-secondary);
}

._viewTabActive_yxv60_46 {
  color: var(--accent-color);
  border-bottom-color: var(--accent-color);
}

._viewTabDisabled_yxv60_51 {
  opacity: 0.45;
  cursor: not-allowed;
}

/* ── 渠道列表 ── */

._list_yxv60_58 {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._empty_yxv60_67 {
  color: var(--text-tertiary);
  font-size: 14px;
  text-align: center;
  padding: 32px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

._item_yxv60_78 {
  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_yxv60_78:hover {
  border-color: var(--accent-color);
  background: var(--hover-bg);
}

._item_yxv60_78._isDefault_yxv60_93 {
  border-color: var(--accent-color);
}

._itemInfo_yxv60_97 {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  flex: 1;
}

._itemName_yxv60_105 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  font-size: 14px;
  color: var(--text-primary);
}

._defaultBadge_yxv60_114 {
  font-size: 11px;
  font-weight: 500;
  padding: 2px 6px;
  border-radius: 12px;
  background: var(--accent-color);
  color: white;
}

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

._metaTag_yxv60_131 {
  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_yxv60_141 {
  color: var(--text-tertiary);
  font-size: 12px;
}

._metaModel_yxv60_146 {
  font-size: 12px;
  color: var(--text-secondary);
  font-family: 'SF Mono', 'Menlo', monospace;
}

._itemUrl_yxv60_152 {
  font-size: 11px;
  color: var(--text-tertiary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}


/* ── 渠道卡片底部操作 ── */

._itemFooter_yxv60_164 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--border);
}

._footerActions_yxv60_174 {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
}

/* ── 渠道编辑表单 ── */

._formWrapper_yxv60_183 {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
}

._formTitle_yxv60_189 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 16px 0;
}

._field_yxv60_196 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
}

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

._input_yxv60_209 {
  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_yxv60_209:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
}

._formFooter_yxv60_226 {
  display: flex;
  gap: 10px;
  padding: 14px 24px;
  border-top: 1px solid var(--border);
  justify-content: flex-end;
}

._fetchError_yxv60_234 {
  font-size: 12px;
  color: var(--error);
  margin-top: -4px;
}

._loadingHint_yxv60_240 {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-top: -4px;
}

/* ── 多模态配置区（图片分析 / 图片生成 / 视频 / 语音） ── */

._badge_yxv60_248 {
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 4px;
  font-weight: 600;
  line-height: 1.4;
}

._badgeOn_yxv60_256 {
  background: rgba(34, 197, 94, 0.12);
  color: var(--success-color, #22c55e);
}

._badgeOff_yxv60_261 {
  background: var(--bg-tertiary, #ececed);
  color: var(--text-tertiary);
}

._comingSoon_yxv60_266 {
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--bg-tertiary, #ececed);
  color: var(--text-tertiary);
  font-weight: 400;
}

/* ── 多模态 Tab 内容区 ── */

._mmTabContent_yxv60_277 {
  flex: 1;
  overflow-y: auto;
  padding: 24px 32px;
}

/* ── 能力卡片 ── */

._capabilityCard_yxv60_285 {
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  background: var(--bg-primary);
}

._cardHeader_yxv60_292 {
  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_yxv60_292:hover {
  background: var(--bg-tertiary);
}

._cardHeaderDisabled_yxv60_308 {
  opacity: 0.55;
}

._cardIcon_yxv60_312 {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-color-light, rgba(124, 92, 252, 0.10));
  color: var(--accent-color);
  flex-shrink: 0;
}

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

._cardTitle_yxv60_329 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

._cardSummary_yxv60_335 {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-top: 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._cardSummaryWarning_yxv60_344 {
  color: var(--warning-color, #f0a030);
}

._switchLabel_yxv60_348 {
  flex-shrink: 0;
}

/* ── 多模态字段区 ── */

._cardBody_yxv60_354 {
  padding: 18px 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

._mmField_yxv60_361 {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

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

._mmInput_yxv60_373 {
  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_yxv60_373:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
  box-shadow: 0 0 0 3px rgba(124, 92, 252, 0.06);
}

._mmHint_yxv60_392 {
  font-size: 11.5px;
  color: var(--text-tertiary);
  line-height: 1.4;
}

._withUnit_yxv60_398 {
  display: flex;
  align-items: center;
  gap: 6px;
}

._withUnit_yxv60_398 ._mmInput_yxv60_373 {
  flex: 1;
}

._unit_yxv60_408 {
  font-size: 12px;
  color: var(--text-tertiary);
  flex-shrink: 0;
}

/* ── 多模态底部提示 ── */

._mmTip_yxv60_416 {
  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_yxv60_428 {
  font-size: 11px;
  color: var(--text-tertiary);
  margin-left: auto;
  flex-shrink: 0;
}

/* ── 备用模型 ── */

._fallbackSection_yxv60_437 {
  grid-column: 1 / -1;
  margin-top: 4px;
}

._fallbackHeader_yxv60_442 {
  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_yxv60_442:hover {
  background: var(--bg-tertiary, var(--bg-secondary));
  border-color: var(--accent-color);
}

._fallbackChevron_yxv60_463 {
  transition: transform 0.15s;
  flex-shrink: 0;
}

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

._fallbackTitle_yxv60_472 {
  font-weight: 500;
  color: var(--text-secondary);
}

._fallbackCount_yxv60_477 {
  margin-left: auto;
  background: var(--accent-color-light, rgba(124, 92, 252, 0.10));
  color: var(--accent-color);
  font-size: 11px;
  font-weight: 600;
  padding: 1px 7px;
  border-radius: 10px;
}

._fallbackBody_yxv60_487 {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._fallbackItem_yxv60_494 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
}

._fallbackIndex_yxv60_504 {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-tertiary);
  min-width: 16px;
  text-align: center;
  flex-shrink: 0;
}

._fallbackFields_yxv60_513 {
  flex: 1;
  display: flex;
  gap: 8px;
  min-width: 0;
}

._fallbackFields_yxv60_513 > * {
  flex: 1;
  min-width: 0;
}

._fallbackRemove_yxv60_525 {
  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_yxv60_525:hover {
  background: var(--danger-color-light, rgba(239, 68, 68, 0.1));
  color: var(--danger-color, #ef4444);
}

._fallbackAdd_yxv60_545 {
  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_yxv60_545:hover {
  background: var(--accent-color-light, rgba(124, 92, 252, 0.06));
  border-color: var(--accent-color);
}

._fallbackHint_yxv60_567 {
  font-size: 11.5px;
  color: var(--text-tertiary);
  line-height: 1.4;
}
._panel_32o36_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}

._content_32o36_8 {
  flex: 1;
  overflow-y: auto;
  padding: 20px 24px 24px;
}

._tabs_32o36_14 {
  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_32o36_14 {
  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_32o36_14:hover {
  color: var(--text-primary);
  background: color-mix(in srgb, var(--hover-bg) 70%, transparent);
}

._tabActive_32o36_43 {
  color: var(--text-primary);
  background: var(--bg-primary);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--shadow-color, #000) 10%, transparent);
}

._sectionPanel_32o36_49 {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

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

._sectionTitle_32o36_61 {
  margin: 0;
  padding: 0 2px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--text-tertiary);
}

._rows_32o36_70 {
  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_32o36_77 {
  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_32o36_77:last-child {
  border-bottom: none;
}

._settingText_32o36_91 {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

._settingTitle_32o36_99 {
  font-size: 14px;
  font-weight: 550;
  line-height: 1.35;
  color: var(--text-primary);
}

._settingDescription_32o36_106 {
  max-width: 560px;
  font-size: 12px;
  line-height: 1.55;
  color: var(--text-tertiary);
}

._settingAction_32o36_113 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 132px;
  flex-shrink: 0;
}

._selectControl_32o36_121 {
  min-width: 152px;
}

._selectControlWide_32o36_125 {
  min-width: 184px;
}

._notice_32o36_129 {
  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_32o36_139 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.4;
}

._footer_32o36_149 {
  display: flex;
  gap: 12px;
  padding: 16px 24px;
  border-top: 1px solid var(--border);
  justify-content: flex-end;
}

@media (max-width: 768px) {
  ._content_32o36_8 {
    padding: 16px;
  }

  ._tabs_32o36_14 {
    display: flex;
    overflow-x: auto;
    width: 100%;
  }

  ._tab_32o36_14 {
    flex: 1 0 auto;
  }

  ._settingRow_32o36_77 {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  ._settingAction_32o36_113 {
    justify-content: flex-start;
    min-width: 0;
    width: 100%;
  }

  ._selectControl_32o36_121 {
    width: 100%;
  }

  ._selectControlWide_32o36_125 {
    width: 100%;
  }
}
._drawerOverlay_1anj1_1 {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--overlay-bg);
  z-index: 1000;
  display: flex;
  justify-content: flex-end;
}

._drawer_1anj1_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_1anj1_1 0.3s ease-out;
}

@keyframes _slideIn_1anj1_1 {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}

._drawerHeader_1anj1_33 {
  padding: 20px;
  border-bottom: 1px solid var(--border);
}

._drawerTitle_1anj1_38 {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 8px 0;
}

._drawerSubtitle_1anj1_44 {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: 4px;
}

._drawerDesc_1anj1_51 {
  font-size: 0.75rem;
  color: var(--text-secondary);
}

._drawerWarning_1anj1_56 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 12px 20px;
  padding: 10px 12px;
  background: var(--accent-color-light);
  color: var(--text-secondary);
  border-radius: 6px;
  font-size: 0.8125rem;
}

._drawerSearch_1anj1_68 {
  padding: 12px 20px;
  border-bottom: 1px solid var(--border);
}

._searchInput_1anj1_73 {
  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_1anj1_73:focus {
  outline: none;
  border-color: var(--accent-color);
}

._selectAllRow_1anj1_89 {
  padding: 8px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--border);
}

._filteredCount_1anj1_97 {
  font-size: 0.75rem;
  color: var(--text-secondary);
}

._selectAllBtn_1anj1_102 {
  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_1anj1_102:hover {
  background: var(--bg-secondary);
}

._drawerList_1anj1_117 {
  flex: 1;
  overflow-y: auto;
  padding: 12px 20px;
}

._drawerItem_1anj1_123 {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 6px;
  cursor: pointer;
  margin-bottom: 4px;
  transition: background 0.2s ease;
}

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

._drawerItem_1anj1_123 input[type="checkbox"] {
  appearance: none;
  -webkit-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_1anj1_123 input[type="checkbox"]:checked {
  background: var(--accent-color);
  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_1anj1_161 {
  flex: 1;
  min-width: 0;
}

._drawerItemName_1anj1_166 {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-primary);
  display: block;
}

._drawerItemDesc_1anj1_173 {
  font-size: 0.75rem;
  color: var(--text-secondary);
  margin-top: 2px;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._drawerEmpty_1anj1_183 {
  text-align: center;
  padding: 20px;
  color: var(--text-secondary);
  font-size: 0.875rem;
}

._drawerFooter_1anj1_190 {
  padding: 16px 20px;
  border-top: 1px solid var(--border);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

._selectedCount_1anj1_198 {
  font-size: 0.875rem;
  color: var(--text-secondary);
}

._drawerButtons_1anj1_203 {
  display: flex;
  gap: 8px;
}
/* McpPanel 使用 settings-common 公共样式 + Toggle 自定义 */

._panel_518mz_3 {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* List view - header now uses SettingsPanelHeader */
._list_518mz_10 {
  flex: 1;
  overflow-y: auto;
  padding: 18px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._empty_518mz_19 {
  color: var(--text-tertiary);
  font-size: 14px;
  text-align: center;
  padding: 32px 0;
}

._item_518mz_26 {
  display: flex;
  justify-content: stretch;
  align-items: stretch;
  gap: 16px;
  padding: 18px 20px;
  background: var(--bg-secondary);
  border-radius: 14px;
  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;
}

._item_518mz_26:hover {
  border-color: var(--accent-color);
  background: var(--hover-bg);
  box-shadow: 0 8px 24px rgb(15 23 42 / 8%);
}

._itemInfo_518mz_48 {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  flex: 1;
}

._itemHeader_518mz_56 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

._itemTitleBlock_518mz_64 {
  min-width: 0;
}

._itemFooter_518mz_68 {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

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

._itemMeta_518mz_83 {
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._itemActions_518mz_93 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
  width: 100%;
}

/* Toggle switch */
._toggleLabel_518mz_103 {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  cursor: pointer;
}

._toggleInput_518mz_111 {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

._toggleTrack_518mz_118 {
  display: inline-block;
  width: 32px;
  height: 18px;
  background: var(--bg-tertiary);
  border-radius: 9px;
  transition: background 0.2s ease;
  position: relative;
}

._toggleTrack_518mz_118::after {
  content: '';
  position: absolute;
  left: 2px;
  top: 2px;
  width: 14px;
  height: 14px;
  background: white;
  border-radius: 50%;
  transition: transform 0.2s ease;
}

._toggleInput_518mz_111:checked + ._toggleTrack_518mz_118 {
  background: var(--accent-color);
}

._toggleInput_518mz_111:checked + ._toggleTrack_518mz_118::after {
  transform: translateX(14px);
}

/* Form view */
._formWrapper_518mz_149 {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
}

._formTitle_518mz_155 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 16px 0;
}

._field_518mz_162 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
}

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

._input_518mz_175 {
  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_518mz_175:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
  box-shadow: var(--focus-ring);
}

._formFooter_518mz_196 {
  display: flex;
  gap: 10px;
  padding: 14px 24px;
  border-top: 1px solid var(--border);
  justify-content: flex-end;
}

._headerSection_518mz_204 {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

._headerSectionTop_518mz_210 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

._sectionTitle_518mz_218 {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

._sectionDescription_518mz_225 {
  margin: 4px 0 0;
  max-width: 640px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-secondary);
}

._headerActions_518mz_233 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

._headersEmpty_518mz_240 {
  padding: 12px;
  border: 1px dashed var(--border);
  border-radius: 8px;
  color: var(--text-tertiary);
  font-size: 13px;
}

._headersList_518mz_248 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._headerRow_518mz_254 {
  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_518mz_265 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

._headerEnabledLabel_518mz_272 {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 13px;
}

._headerRowActions_518mz_281 {
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

._testHint_518mz_289 {
  margin: 12px 0 0;
  color: var(--text-tertiary);
  font-size: 12px;
}

._testSuccess_518mz_295,
._testError_518mz_296 {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.45;
}

._testSuccess_518mz_295 {
  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_518mz_296 {
  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_518mz_316 {
  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_518mz_316:hover {
  border-color: var(--accent-color);
  background: var(--accent-color-light);
}

._statusRowWarning_518mz_340 {
  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_518mz_345 {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  color: var(--text-secondary);
}

._statusText_518mz_352 {
  color: var(--accent-color);
  font-weight: 600;
}

._statusText_518mz_352:hover {
  text-decoration: none;
}

._disabledBadge_518mz_361 {
  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_518mz_372 {
  color: var(--text-tertiary);
  flex-shrink: 0;
}

@media (max-width: 720px) {
  ._list_518mz_10 {
    padding: 16px;
  }

  ._item_518mz_26 {
    padding: 16px;
  }

  ._itemFooter_518mz_68 {
    align-items: flex-start;
    flex-direction: column;
  }

  ._itemActions_518mz_93 {
    width: 100%;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-left: 0;
  }

  ._statusRow_518mz_316 {
    width: 100%;
    justify-content: flex-start;
  }

  ._headerRow_518mz_254 {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  ._headerRowActions_518mz_281 {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}
._container_u1wgv_1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 48px 24px;
  text-align: center;
}

._icon_u1wgv_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_u1wgv_21 {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 8px;
}

._description_u1wgv_28 {
  font-size: 14px;
  color: var(--text-secondary);
  max-width: 280px;
  line-height: 1.5;
  margin-bottom: 16px;
}._badge_xhqi1_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_xhqi1_12 {
  padding: 2px 6px;
  font-size: 10px;
}

._badge--md_xhqi1_17 {
  padding: 4px 10px;
  font-size: 12px;
}

._dot_xhqi1_22 {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}

._label_xhqi1_29 {
  line-height: 1;
}._card_103rp_1 {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 16px;
  transition: all 0.2s ease;
}

._card_103rp_1:hover {
  border-color: var(--accent);
  box-shadow: var(--shadow-sm);
}

._header_103rp_14 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

._avatar_103rp_21 {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

._name_103rp_29 {
  font-weight: 600;
  font-size: 15px;
  color: var(--text-primary);
}

._description_103rp_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_103rp_47 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

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

._metaSeparator_103rp_63 {
  color: var(--text-tertiary);
  font-size: 12px;
}

._statusLabel_103rp_68 {
  font-size: 11px;
  font-weight: 500;
}

._footer_103rp_73 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

._updateTime_103rp_81 {
  font-size: 11px;
  color: var(--text-tertiary);
}

._actions_103rp_86 {
  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_52t2v_1 {
  display: flex;
  padding: 0 24px;
  gap: 4px;
  border-bottom: 1px solid var(--border);
  background: var(--bg-primary);
  flex-shrink: 0;
}

._tab_52t2v_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: all 0.2s ease;
  margin-bottom: -1px;
}

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

._tabActive_52t2v_27 {
  color: var(--accent);
  border-bottom-color: var(--accent);
}

._tabContent_52t2v_32 {
  flex: 1;
  overflow-y: auto;
}._bar_zvgqy_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_zvgqy_11 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._label_zvgqy_17 {
  font-size: 12px;
  color: var(--text-tertiary);
}

._value_zvgqy_22 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
}

._modelValue_zvgqy_28 {
  /* 模型字段突出显示 */
  font-weight: 600;
}._panel_141gr_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* List view - header now uses SettingsPanelHeader */
._list_141gr_8 {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._empty_141gr_17 {
  color: var(--text-tertiary);
  font-size: 14px;
  text-align: center;
  padding: 32px 0;
}

._item_141gr_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_141gr_24:hover {
  border-color: var(--accent-color);
  background: var(--hover-bg);
}

._itemInfo_141gr_40 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1;
}

._itemName_141gr_48 {
  font-weight: 500;
  font-size: 14px;
  color: var(--text-primary);
}

._itemHeader_141gr_54 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

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

._itemActions_141gr_68 {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
  margin-left: 12px;
}

/* Form Header with Tabs */
._formHeaderNew_141gr_76 {
  flex-shrink: 0;
  border-bottom: 1px solid var(--border);
}

._formHeaderTop_141gr_81 {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 24px;
}

._formTitle_141gr_88 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

/* Tab Bar */
._tabBar_141gr_96 {
  display: flex;
  padding: 0 24px;
  gap: 4px;
  border-bottom: 1px solid var(--border);
  background: var(--bg-primary);
}

._tab_141gr_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_141gr_96:hover {
  color: var(--text-primary);
  background: var(--hover-bg) !important;
}

._tabActive_141gr_124 {
  color: var(--accent-color);
  border-bottom-color: var(--accent-color);
}

/* Form Content */
._formContent_141gr_130 {
  flex: 1;
  overflow-y: auto;
}

._tabPanel_141gr_135 {
  padding: 20px 24px;
}

._identityHeader_141gr_139 {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border);
}

._identityHeaderCopy_141gr_148 {
  min-width: 0;
}

._identityHeaderTitle_141gr_152 {
  color: var(--text-primary);
  font-size: 15px;
  font-weight: 600;
}

._identityHeaderHint_141gr_158 {
  margin-top: 4px;
  color: var(--text-secondary);
  font-size: 13px;
}

/* Form Fields */
._field_141gr_165 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

._fieldHeader_141gr_172 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

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

._selectedCount_141gr_184 {
  font-size: 12px;
  color: var(--text-tertiary);
}

._input_141gr_189,
._textarea_141gr_190 {
  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_141gr_189:focus,
._textarea_141gr_190:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
}

._input_141gr_189::placeholder,
._textarea_141gr_190::placeholder {
  color: var(--text-tertiary);
}

._textarea_141gr_190 {
  resize: vertical;
  width: 100%;
  box-sizing: border-box;
  min-height: 100px;
}

._optimizeBtn_141gr_220 {
  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_141gr_220:hover:not(:disabled) {
  background: var(--accent-color-medium);
}

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

._fieldHint_141gr_242 {
  font-size: 12px;
  color: var(--text-tertiary);
}

/* Advanced Config - Collapsible */
._advancedSection_141gr_248 {
  margin-top: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
}

._advancedHeader_141gr_255 {
  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_141gr_255:hover {
  background: var(--bg-hover);
}

._advancedIcon_141gr_275 {
  display: inline-flex;
  align-items: center;
  transition: transform 0.2s;
}

._advancedSummary_141gr_281 {
  margin-left: auto;
  font-size: 12px;
  color: var(--text-tertiary);
  font-weight: 400;
}

._advancedContent_141gr_288 {
  padding: 16px 14px;
  background: var(--bg-primary);
  border-top: 1px solid var(--border);
}

._checkboxLabel_141gr_294 {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

/* 自定义 checkbox 样式 */
._checkboxLabel_141gr_294 input[type="checkbox"] {
  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;
}

._checkboxLabel_141gr_294 input[type="checkbox"]:hover {
  border-color: var(--accent-color);
}

._checkboxLabel_141gr_294 input[type="checkbox"]:checked {
  background: var(--accent-color);
  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_141gr_328 {
  display: flex;
  align-items: center;
  gap: 12px;
}

._slider_141gr_328 {
  flex: 1;
  height: 4px;
  cursor: pointer;
}

._numberInput_141gr_340 {
  width: 70px;
  padding: 6px 10px;
  font-size: 13px;
  text-align: center;
}

/* Segmented Control */
._segmentedControl_141gr_348 {
  display: flex;
  gap: 0;
  background: var(--bg-secondary);
  border-radius: 8px;
  padding: 3px;
  border: 1px solid var(--border);
}

._segmentBtn_141gr_357 {
  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_141gr_357:hover {
  color: var(--text-primary);
  background: var(--bg-tertiary);
}

._segmentActive_141gr_375 {
  background: var(--accent-color);
  color: white;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

._segmentActive_141gr_375:hover {
  background: var(--accent-color);
  color: white;
}

/* Checkbox List */
._emptyState_141gr_387 {
  font-size: 13px;
  color: var(--text-tertiary);
  padding: 16px;
  text-align: center;
  background: var(--bg-secondary);
  border-radius: 8px;
}

._checkboxList_141gr_396 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._checkboxItem_141gr_402 {
  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_141gr_402:hover {
  border-color: var(--accent-color);
  background: var(--bg-primary);
}

/* 自定义 checkbox 样式 */
._checkboxItem_141gr_402 input[type="checkbox"] {
  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;
  margin-top: 2px;
  flex-shrink: 0;
}

._checkboxItem_141gr_402 input[type="checkbox"]:hover {
  border-color: var(--accent-color);
}

._checkboxItem_141gr_402 input[type="checkbox"]:checked {
  background: var(--accent-color);
  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_141gr_448 {
  flex: 1;
  min-width: 0;
}

._checkboxItemName_141gr_453 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
  display: block;
}

._checkboxItemMeta_141gr_460 {
  font-size: 12px;
  color: var(--text-secondary);
  margin-top: 2px;
  display: block;
}

._checkboxItemDesc_141gr_467 {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-top: 2px;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Search Input */
._searchInput_141gr_478 {
  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_141gr_478:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
}

/* Selected Skills Chips */
._selectedSkills_141gr_497 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}

._skillChip_141gr_504 {
  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_141gr_515 {
  color: var(--accent-color);
  font-weight: 500;
}

._skillChipRemove_141gr_520 {
  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_141gr_520:hover {
  background: var(--accent-color-medium) !important;
  color: var(--accent-color);
}

/* Skill List */
._skillList_141gr_544 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 280px;
  overflow-y: auto;
}

/* Channels Tab */
._channelListBlock_141gr_553 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._channelCard_141gr_559 {
  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_141gr_570 {
  width: 24px;
  flex-shrink: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
  text-align: center;
}

._channelRow_141gr_579 {
  flex: 1;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(160px, 1.4fr);
  gap: 10px;
  align-items: center;
}

@media (max-width: 480px) {
  ._channelRow_141gr_579 {
    grid-template-columns: 1fr;
  }
}

._channelRemoveBtn_141gr_594 {
  min-width: 32px;
  padding: 0 10px !important;
  font-size: 18px;
  line-height: 1;
}

._channelOptions_141gr_601 {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Workspace Tab */
._workspaceHeader_141gr_611 {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 12px;
}

._workspaceTabNav_141gr_617 {
  margin-bottom: 12px;
}

._workspaceEditor_141gr_621 {
  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_141gr_621:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
}

/* Form Footer */
._formFooter_141gr_643 {
  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_141gr_653 {
  animation: _spin_141gr_653 1s linear infinite;
}

@keyframes _spin_141gr_653 {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* ─── Tool Limit Section ─── */
._toolLimitSection_141gr_663 {
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
  margin-top: 16px;
}

._toolLimitHeader_141gr_670 {
  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_141gr_670:hover {
  background: var(--bg-hover);
}

._toolLimitIcon_141gr_690 {
  display: inline-flex;
  transition: transform 0.2s;
  font-size: 10px;
  color: var(--text-tertiary);
}

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

._toolLimitTitle_141gr_701 {
  display: flex;
  align-items: center;
  gap: 6px;
}

._toolLimitTitle_141gr_701 svg {
  opacity: 0.5;
}

._toolLimitSummary_141gr_711 {
  margin-left: auto;
  font-size: 12px;
  color: var(--text-tertiary);
  font-weight: 400;
  white-space: nowrap;
}

._toolLimitSummaryHasItems_141gr_719 {
  color: var(--danger);
  font-weight: 500;
}

._toolLimitContent_141gr_724 {
  padding: 14px;
  background: var(--bg-primary);
  border-top: 1px solid var(--border);
}

._toolLimitContentHidden_141gr_730 {
  display: none;
}

._toolGroup_141gr_734 {
  margin-bottom: 10px;
}

._toolGroup_141gr_734:last-of-type {
  margin-bottom: 0;
}

._toolGroupHeader_141gr_742 {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 0 10px 4px;
}

._toolItem_141gr_751 {
  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_141gr_751:hover {
  background: var(--bg-secondary);
}

._toolItemDisabled_141gr_766 {
  opacity: 0.45;
}

._toolItemDisabled_141gr_766:hover {
  opacity: 0.65;
}

._toolItem_141gr_751 input[type="checkbox"] {
  appearance: none;
  -webkit-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_141gr_751 input[type="checkbox"]:checked {
  background: var(--accent-color);
  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_141gr_766 input[type="checkbox"] {
  border-color: var(--border);
}

._toolName_141gr_800 {
  font-weight: 500;
  color: var(--text-primary);
  font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
  font-size: 12px;
}

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

._toolDesc_141gr_811 {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-left: auto;
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._disabledTag_141gr_821 {
  font-size: 11px;
  color: var(--danger);
  background: var(--danger-light, rgba(239, 68, 68, 0.08));
  padding: 1px 6px;
  border-radius: 3px;
  font-weight: 500;
  margin-left: auto;
  display: none;
}

._toolItemDisabled_141gr_766 ._disabledTag_141gr_821 {
  display: inline;
}

._toolItemDisabled_141gr_766 ._toolDesc_141gr_811 {
  display: none;
}

._toolLimitHint_141gr_840 {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-top: 12px;
  line-height: 1.6;
}

._toolLimitWarning_141gr_847 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 12px;
  background: var(--warning-light, rgba(245, 158, 11, 0.08));
  border: 1px solid rgba(245, 158, 11, 0.15);
  border-radius: 6px;
  font-size: 12px;
  color: var(--warning, #f59e0b);
  line-height: 1.5;
  margin-top: 10px;
}

._toolLimitWarning_141gr_847 svg {
  flex-shrink: 0;
  margin-top: 1px;
}

._toolLimitDanger_141gr_866 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 12px;
  background: var(--danger-light, rgba(239, 68, 68, 0.08));
  border: 1px solid var(--danger-medium, rgba(239, 68, 68, 0.15));
  border-radius: 6px;
  font-size: 12px;
  color: var(--danger);
  line-height: 1.5;
  margin-top: 10px;
}

._toolLimitDanger_141gr_866 svg {
  flex-shrink: 0;
  margin-top: 1px;
}

._inlineError_141gr_885 {
  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_141gr_885 svg {
  flex-shrink: 0;
}._tabPanel_91bp4_1 {
  display: flex;
  flex-direction: column;
  gap: 0;
  height: 100%;
  padding: 20px 24px;
}

._workspaceHeader_91bp4_9 {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 12px;
}

._workspaceFileTabs_91bp4_15 {
  display: flex;
  gap: 4px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

._fileTab_91bp4_22 {
  /* secondary 变体在未选中时是透明背景+边框，颜色足够清晰 */
}

._workspaceEditor_91bp4_26 {
  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_91bp4_26:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
}
._header_1uz3s_1 {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 24px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
._tabBar_14rfv_1 {
  display: flex;
  gap: 4px;
  padding: 0 24px;
  border-bottom: 1px solid var(--border);
  background: var(--bg-primary);
}

._tab_14rfv_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_14rfv_1:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._tabActive_14rfv_28 {
  border-bottom-color: var(--accent-color);
  color: var(--accent-color);
}

._installedView_14rfv_33 {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._toolbar_14rfv_42 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 4px;
}

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

._searchPlaceholder_14rfv_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_14rfv_66,
._cardActions_14rfv_67,
._detailActions_14rfv_68 {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

._toolbarActions_14rfv_66 {
  flex: 0 0 auto;
  flex-wrap: nowrap;
}

._secondaryButton_14rfv_80,
._primarySoftButton_14rfv_81,
._iconButton_14rfv_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_14rfv_80:hover:not(:disabled),
._primarySoftButton_14rfv_81:hover:not(:disabled),
._iconButton_14rfv_82:hover:not(:disabled) {
  border-color: var(--accent-color);
  color: var(--text-primary);
  background: var(--hover-bg);
}

._secondaryButton_14rfv_80:disabled,
._primarySoftButton_14rfv_81:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

._primarySoftButton_14rfv_81 {
  border-color: var(--accent-color);
  background: var(--accent-color-light);
  color: var(--accent-color);
}

._iconButton_14rfv_82 {
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 999px;
  flex-shrink: 0;
}

._skillCard_14rfv_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_14rfv_127:hover {
  border-color: var(--accent-color);
  background: var(--hover-bg);
}

._skillHeader_14rfv_143 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

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

._skillIcon_14rfv_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_14rfv_169 {
  min-width: 0;
}

._skillName_14rfv_173 {
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._sourceBadge_14rfv_182,
._warningBadge_14rfv_183,
._toolBadge_14rfv_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_14rfv_183 {
  margin-top: 0;
  color: var(--warning-color, #b7791f);
  background: var(--warning-bg, rgba(245, 158, 11, 0.12));
}

._globalSwitchLabel_14rfv_203 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 12px;
  white-space: nowrap;
}

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

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

._emptyState_14rfv_226,
._placeholderPanel_14rfv_227 {
  color: var(--text-tertiary);
  font-size: 14px;
  text-align: center;
  padding: 40px 0;
}

._placeholderPanel_14rfv_227 {
  flex: 1;
  padding: 56px 24px;
}

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

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

._drawerOverlay_14rfv_251 {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.32);
  display: flex;
  justify-content: flex-end;
}

._detailDrawer_14rfv_260 {
  width: min(440px, 92vw);
  height: 100%;
  background: var(--bg-primary);
  border-left: 1px solid var(--border);
  box-shadow: -16px 0 40px rgba(0, 0, 0, 0.18);
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 20px;
  overflow-y: auto;
}

._detailHeader_14rfv_273 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}

._detailTitle_14rfv_281 {
  margin: 0 0 6px;
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 600;
}

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

._detailWarning_14rfv_294 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--warning-bg, rgba(245, 158, 11, 0.12));
  color: var(--warning-color, #b7791f);
  font-size: 12px;
}

._detailSection_14rfv_305 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-secondary);
}

._detailSectionTitle_14rfv_315 {
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 600;
}

._detailRow_14rfv_321 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--text-secondary);
  font-size: 12px;
}

._detailRow_14rfv_321 strong {
  color: var(--text-primary);
  font-weight: 500;
  text-align: right;
}

._toolList_14rfv_335 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

._toolBadge_14rfv_184 {
  margin-top: 0;
}

._locationBox_14rfv_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_14rfv_355 {
  margin-top: 4px;
  color: var(--text-tertiary);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._statusPill_14rfv_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_14rfv_375 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 4px;
}

._sourcesTitle_14rfv_383 {
  color: var(--text-primary);
  font-size: 15px;
  font-weight: 600;
}

._sourcesDesc_14rfv_389 {
  margin-top: 4px;
  color: var(--text-secondary);
  font-size: 13px;
}

._dialogOverlay_14rfv_395 {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.32);
}

._dialog_14rfv_395 {
  width: min(420px, 92vw);
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--bg-primary);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
}

._dialogTitle_14rfv_414 {
  margin: 0 0 16px;
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 600;
}

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

._field_14rfv_427 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
}

._fieldCompact_14rfv_434 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

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

._input_14rfv_50 {
  padding: 9px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-size: 13px;
}

._textarea_14rfv_455 {
  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_14rfv_50:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
}

._textarea_14rfv_455:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
}

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

._formError_14rfv_486 {
  margin-top: 10px;
  color: var(--danger-color, #dc2626);
  font-size: 12px;
}

._trustedKeyList_14rfv_492 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._trustedKeyItem_14rfv_498 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-secondary);
}

._trustedKeyHeader_14rfv_508 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 600;
}

._trustedKeyGrid_14rfv_518 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px;
  gap: 10px;
}

._iconButton_14rfv_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_14rfv_82:hover {
  color: var(--danger-color, #dc2626);
  border-color: rgba(220, 38, 38, 0.35);
}

._emptyInline_14rfv_542 {
  padding: 10px;
  border: 1px dashed var(--border);
  border-radius: 10px;
  color: var(--text-tertiary);
  font-size: 12px;
}

._dialogActions_14rfv_550 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 18px;
}

._discoverToolbar_14rfv_557 {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 4px;
}

._discoverToolbar_14rfv_557 ._input_14rfv_50 {
  flex: 1;
}

._statusBar_14rfv_568,
._statusBarWarning_14rfv_569,
._statusBarError_14rfv_570 {
  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_14rfv_569 {
  border-color: rgba(245, 158, 11, 0.35);
  background: var(--warning-bg, rgba(245, 158, 11, 0.12));
  color: var(--warning-color, #b7791f);
}

._statusBarError_14rfv_570 {
  border-color: rgba(220, 38, 38, 0.3);
  background: rgba(220, 38, 38, 0.08);
  color: var(--danger-color, #dc2626);
}

._inlineButton_14rfv_595 {
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  text-decoration: underline;
}
._panel_1s5v1_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

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

._bodyPadded_1s5v1_14 {
  padding: 24px;
}

._footer_1s5v1_18 {
  display: flex;
  gap: 10px;
  padding: 14px 24px;
  border-top: 1px solid var(--border);
  justify-content: flex-end;
  flex-shrink: 0;
}._panel_1s1tm_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
}

._content_1s1tm_7 {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
}

._section_1s1tm_13 {
  margin-bottom: 32px;
}

._engineList_1s1tm_17 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}

._engineItem_1s1tm_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_1s1tm_24:hover {
  border-color: var(--accent-color);
  background: var(--hover-bg);
}

._engineInfo_1s1tm_40 {
  flex: 1;
}

._engineName_1s1tm_44 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: 4px;
}

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

._badge_1s1tm_59 {
  font-size: 11px;
  padding: 2px 6px;
  background: var(--accent-color);
  color: white;
  border-radius: 4px;
}

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

._defaultBadge_1s1tm_73 {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--accent-color);
  font-weight: 500;
}

._checkboxField_1s1tm_82 {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

._checkboxField_1s1tm_82 input {
  cursor: pointer;
}

._editorBackdrop_1s1tm_93 {
  position: fixed;
  inset: 0;
  background: var(--overlay-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

._editorModal_1s1tm_103 {
  background: var(--bg-primary);
  border-radius: 12px;
  width: 500px;
  max-width: 90vw;
  height: auto;
  overflow: hidden;
}

._editorTitle_1s1tm_112 {
  margin: 0;
  color: var(--text-primary);
  font-size: 18px;
  font-weight: 600;
}

._editorBody_1s1tm_119 {
  padding: 24px;
  overflow: visible;
}

._field_1s1tm_124 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}

._field_1s1tm_124 span {
  font-size: 14px;
  color: var(--text-secondary);
}

._field_1s1tm_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_1s1tm_124 input:focus {
  outline: none;
  border-color: var(--accent-color);
}

._hint_1s1tm_151 {
  font-size: 12px;
  color: var(--text-tertiary);
}

._editorActions_1s1tm_156 {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}
._panel_116wy_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
}

._content_116wy_7 {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

._summaryCard_116wy_16 {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--bg-primary);
}

._summaryHeader_116wy_26 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

._summaryTitle_116wy_33 {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
}

._summaryDescription_116wy_39 {
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-secondary);
}

._statusBadge_116wy_46 {
  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_116wy_57 {
  background: color-mix(in srgb, var(--color-success) 14%, transparent);
  color: var(--color-success);
}

._status-disabled_116wy_62 {
  background: color-mix(in srgb, var(--text-secondary) 12%, transparent);
  color: var(--text-secondary);
}

._status-enabling_116wy_67,
._status-restoring_116wy_68,
._status-rotating_116wy_69,
._status-stopping_116wy_70 {
  background: color-mix(in srgb, var(--accent-color) 12%, transparent);
  color: var(--accent-color);
}

._status-error_116wy_75 {
  background: color-mix(in srgb, var(--color-danger) 12%, transparent);
  color: var(--color-danger);
}

._metaGrid_116wy_80 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

._metaItem_116wy_86 {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

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

._metaValue_116wy_97 {
  font-size: 13px;
  color: var(--text-primary);
}

._errorBanner_116wy_102 {
  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_116wy_112 {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-danger);
}

._errorText_116wy_118 {
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-primary);
}

._switch_116wy_124 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}

._switch_116wy_124 input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

._switchTrack_116wy_138 {
  position: relative;
  width: 44px;
  height: 24px;
  border-radius: 999px;
  background: var(--border);
  transition: background 0.2s ease;
  flex-shrink: 0;
}

._switchThumb_116wy_148 {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
  transition: transform 0.2s ease;
}

._switch_116wy_124 input:checked + ._switchTrack_116wy_138 {
  background: var(--accent-color);
}

._switch_116wy_124 input:checked + ._switchTrack_116wy_138 ._switchThumb_116wy_148 {
  transform: translateX(20px);
}

._switch_116wy_124 input:disabled + ._switchTrack_116wy_138 {
  opacity: 0.6;
}

._switchLabel_116wy_172 {
  min-width: 28px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
}

._activeState_116wy_179 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

._qrCode_116wy_186,
._qrPlaceholder_116wy_187 {
  width: 200px;
  height: 200px;
  border-radius: 12px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

._qrCode_116wy_186 {
  border: 1px solid var(--border);
}

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

._linkBlock_116wy_206 {
  width: 100%;
  max-width: 520px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

._url_116wy_215,
._pendingText_116wy_216 {
  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_116wy_215 {
  user-select: text;
}

._pendingText_116wy_216 {
  color: var(--text-secondary);
}

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

._leftGroup_116wy_244 {
  display: flex;
  gap: 8px;
}

._metaRow_116wy_249 {
  width: 100%;
  max-width: 520px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
  color: var(--text-secondary);
}

._sectionLabel_116wy_259 {
  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_116wy_270,
._clientList_116wy_271 {
  width: 100%;
  max-width: 520px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

._addressItem_116wy_279,
._clientItem_116wy_280 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--bg-primary);
  font-size: 13px;
}

._addressItem_116wy_279:hover,
._clientItem_116wy_280:hover {
  background: var(--bg-tertiary, var(--bg-secondary));
}

._addressRecommended_116wy_296 {
  border-color: var(--accent-color, #4f46e5);
}

._addressIp_116wy_300,
._clientIp_116wy_301 {
  font-family: 'SF Mono', 'Menlo', 'Monaco', 'Courier New', monospace;
  font-size: 13px;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 6px;
}

._recommendedBadge_116wy_310 {
  display: inline-flex;
  align-items: center;
  color: var(--color-warning);
}

._addressLabel_116wy_316,
._clientTime_116wy_317 {
  font-size: 12px;
  color: var(--text-secondary);
}

@media (max-width: 720px) {
  ._metaRow_116wy_249 {
    flex-direction: column;
  }
}
._section_vcwqq_1 {
  display: flex;
  flex-direction: column;
  gap: 0;
}

._trigger_vcwqq_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_vcwqq_7:hover {
  color: var(--text-primary);
}

._trigger_vcwqq_7:focus-visible,
._categoryButton_vcwqq_28:focus-visible,
._textarea_vcwqq_29:focus-visible,
._contactInput_vcwqq_30:focus-visible {
  outline: 2px solid var(--color-primary, var(--accent-color));
  outline-offset: 2px;
}

._triggerText_vcwqq_35 {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
}

._triggerIcon_vcwqq_42 {
  flex-shrink: 0;
  transition: transform 0.18s ease;
}

._triggerIconOpen_vcwqq_47 {
  transform: rotate(180deg);
}

._inlineHeader_vcwqq_51 {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding-bottom: 2px;
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 600;
}

._form_vcwqq_61 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 8px;
}

._formInline_vcwqq_68 {
  padding-top: 10px;
}

._textarea_vcwqq_29,
._contactInput_vcwqq_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_vcwqq_29 {
  min-height: 92px;
  resize: vertical;
  line-height: 1.5;
}

._textarea_vcwqq_29::placeholder,
._contactInput_vcwqq_30::placeholder {
  color: var(--text-tertiary);
}

._textarea_vcwqq_29:focus,
._contactInput_vcwqq_30:focus {
  background: var(--bg-primary);
  border-color: var(--color-primary, var(--accent-color));
}

._textarea_vcwqq_29:disabled,
._contactInput_vcwqq_30:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

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

._categoryGroup_vcwqq_115 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

._categoryButton_vcwqq_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_vcwqq_28:hover:not(:disabled) {
  background: var(--hover-bg, var(--bg-hover));
  color: var(--text-primary);
}

._categoryButtonActive_vcwqq_138 {
  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_vcwqq_28:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

._contactToggle_vcwqq_149 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  color: var(--text-secondary);
  font-size: 13px;
  cursor: pointer;
  user-select: none;
}

._contactToggle_vcwqq_149 input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: var(--color-primary, var(--accent-color));
}

._successMessage_vcwqq_167 {
  color: var(--color-success, var(--success));
  font-size: 13px;
  font-weight: 500;
}

._errorMessage_vcwqq_173 {
  color: var(--color-error, var(--error));
  font-size: 13px;
  font-weight: 500;
}

._hiddenLabel_vcwqq_179 {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  ._triggerIcon_vcwqq_42 {
    transition: none;
  }
}

@media (max-width: 720px) {
  ._controlsRow_vcwqq_108 {
    align-items: stretch;
    flex-direction: column;
  }
}
._panel_ltan6_1 {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

._content_ltan6_9 {
  flex: 1;
  overflow-y: auto;
  padding: 18px 24px 22px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

._identityCard_ltan6_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_ltan6_29 {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

._brandMark_ltan6_36 {
  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_ltan6_45 {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

._productName_ltan6_52 {
  color: var(--text-primary);
  font-size: 20px;
  font-weight: 650;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

._version_ltan6_60 {
  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;
  transition: color 0.15s ease;
}

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

._version_ltan6_60:focus-visible,
._releaseNotesLink_ltan6_86:focus-visible,
._historyToggle_ltan6_87:focus-visible,
._sectionHeader_ltan6_88:focus-visible {
  outline: 2px solid var(--color-primary, var(--accent-color));
  outline-offset: 2px;
}

._copiedHint_ltan6_93 {
  font-size: 11px;
  color: var(--color-success, var(--success));
  font-family: inherit;
}

._updateRow_ltan6_99 {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 20px;
}

._updateColumn_ltan6_106 {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 12px;
}

._updateBelowIdentity_ltan6_113 {
  display: flex;
  width: 100%;
}

._updateActions_ltan6_118 {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  min-width: 220px;
  max-width: 320px;
  flex-shrink: 0;
}

._updateAvailableBlock_ltan6_128 {
  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_ltan6_138 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

._newVersionLabel_ltan6_145 {
  min-width: 0;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
  color: var(--text-primary);
}

._updateNotesPreview_ltan6_153 {
  width: 100%;
  border-radius: 10px;
  padding: 11px 13px;
  background: var(--surface-elevated, transparent);
  color: var(--text-primary);
}

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

._updateNotesList_ltan6_168 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding-left: 16px;
  font-size: 12.5px;
  line-height: 1.6;
}

._updateNotesList_ltan6_168 li {
  padding-left: 2px;
}

._releaseNotesLink_ltan6_86 {
  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_ltan6_86:hover {
  text-decoration: underline;
}

._metaLine_ltan6_197 {
  width: 100%;
  font-size: 12px;
  line-height: 1.5;
  text-align: right;
}

._metaSuccess_ltan6_204 {
  color: var(--color-success, #16a34a);
}

._metaError_ltan6_208 {
  max-width: 100%;
  color: var(--color-error, #dc2626);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  word-break: break-word;
}

._releaseDivider_ltan6_218 {
  height: 1px;
  background: var(--border-color, var(--border));
  opacity: 0.55;
}

._releaseNotes_ltan6_86 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._releaseTitle_ltan6_230 {
  font-size: 13px;
  font-weight: 600;
  margin: 2px 0 4px;
  color: var(--text-secondary);
}

._section_ltan6_88 {
  border-bottom: 1px solid color-mix(in srgb, var(--border-color, var(--border)) 72%, transparent);
  overflow: hidden;
}

._latestSection_ltan6_242 {
  border: 1px solid var(--border-color, var(--border));
  border-radius: 12px;
  background: var(--surface-elevated, transparent);
}

._sectionHeader_ltan6_88 {
  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_ltan6_242 ._sectionHeader_ltan6_88 {
  padding: 12px 14px;
  color: var(--text-primary);
  font-weight: 600;
}

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

._latestSection_ltan6_242 ._sectionHeader_ltan6_88:hover {
  background: var(--hover-bg, var(--bg-hover));
}

._sectionBody_ltan6_278 {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease;
}

._sectionBodyOpen_ltan6_284 {
  max-height: 2000px;
}

._sectionBody_ltan6_278 > * {
  padding: 0 2px 14px;
}

._latestSection_ltan6_242 ._sectionBody_ltan6_278 > * {
  padding: 0 14px 14px;
}

._historyToggle_ltan6_87 {
  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_ltan6_87:hover {
  color: var(--text-primary);
}

._footerArea_ltan6_314 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 2px;
}

._techStack_ltan6_321 {
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-tertiary);
  opacity: 0.82;
}

._spinner_ltan6_328 {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid var(--border-color, var(--border));
  border-top-color: var(--color-primary, var(--accent-color));
  border-radius: 50%;
  animation: _spin_ltan6_328 0.6s linear infinite;
  flex-shrink: 0;
}

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

._metaUpdate_ltan6_345 {
  color: var(--color-primary, var(--accent-color));
  font-weight: 500;
}

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

  ._sectionBody_ltan6_278 {
    transition: none;
  }
}

@media (max-width: 720px) {
  ._identityCard_ltan6_18 {
    align-items: stretch;
    flex-direction: column;
  }

  ._updateRow_ltan6_99 {
    justify-content: flex-start;
  }

  ._updateBelowIdentity_ltan6_113 {
    align-items: stretch;
    flex-direction: column;
  }

  ._updateActions_ltan6_118 {
    min-width: 0;
    max-width: none;
    align-items: stretch;
  }

  ._updateAvailableHeader_ltan6_138 {
    align-items: flex-start;
    flex-direction: column;
  }

  ._metaLine_ltan6_197 {
    text-align: left;
  }
}
._container_1ofmj_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

._progress_1ofmj_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_1ofmj_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_1ofmj_18 p {
  margin: 0;
}

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

/* ── Task List ── */

._taskList_1ofmj_41 {
  flex: 1;
  overflow-y: auto;
  padding: 12px 24px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._taskItem_1ofmj_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_1ofmj_50:hover {
  border-color: var(--accent-color);
  background: var(--hover-bg);
}

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

._taskItem_1ofmj_50._disabled_1ofmj_72 {
  opacity: 0.5;
}

/* ── Task Header: name + switch ── */

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

._taskName_1ofmj_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_1ofmj_97 {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--text-secondary);
  flex-wrap: wrap;
}

._typeTag_1ofmj_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, rgba(99, 102, 241, 0.1));
  color: var(--accent-color);
}

._target_1ofmj_118 {
  font-size: 11px;
  color: var(--text-tertiary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 160px;
}

._cronBadge_1ofmj_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_1ofmj_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_1ofmj_147 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

._taskTime_1ofmj_154 {
  font-size: 11px;
  color: var(--text-tertiary);
}

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

/* ── Execution History ── */

._historyHeader_1ofmj_167 {
  padding: 16px 24px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

._backButton_1ofmj_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_1ofmj_176:hover {
  border-color: var(--accent-color);
  color: var(--text-primary);
  background: var(--hover-bg);
}

._historyTitleBlock_1ofmj_197 {
  min-width: 0;
}

._historyLabel_1ofmj_201 {
  margin-bottom: 2px;
  font-size: 12px;
  color: var(--text-tertiary);
}

._historyTitleBlock_1ofmj_197 h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._executionList_1ofmj_217 {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._executionItem_1ofmj_226 {
  padding: 14px 16px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 8px;
}

._executionHeader_1ofmj_233 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

._executionSummary_1ofmj_240 {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  color: var(--text-secondary);
  font-size: 12px;
}

._executionStatus_1ofmj_250 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
}

._executionStatus_1ofmj_250[data-status='success'] {
  background: rgba(34, 197, 94, 0.12);
  color: #22c55e;
}

._executionStatus_1ofmj_250[data-status='failed'] {
  background: rgba(239, 68, 68, 0.12);
  color: #ef4444;
}

._executionStatus_1ofmj_250[data-status='running'] {
  background: rgba(59, 130, 246, 0.12);
  color: #3b82f6;
}

._runningDot_1ofmj_275 {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
  animation: _schedulerPulse_1ofmj_1 1s ease-in-out infinite;
}

._executionTime_1ofmj_283,
._executionDuration_1ofmj_284 {
  color: var(--text-tertiary);
}

._expandButton_1ofmj_288 {
  border: none;
  background: transparent;
  color: var(--accent-color);
  font-size: 12px;
  cursor: pointer;
  padding: 2px 0;
  flex-shrink: 0;
}

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

._executionBlock_1ofmj_302 {
  margin-top: 10px;
}

._executionBlockTitle_1ofmj_306 {
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-tertiary);
}

._outputText_1ofmj_313,
._errorText_1ofmj_314 {
  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;
  word-break: break-word;
  max-height: 220px;
  overflow: auto;
}

._outputText_1ofmj_313 {
  background: var(--bg-tertiary, var(--bg-primary));
  color: var(--text-secondary);
}

._errorText_1ofmj_314 {
  background: rgba(239, 68, 68, 0.1);
  color: #ef4444;
}

@keyframes _schedulerPulse_1ofmj_1 {
  0%,
  100% {
    opacity: 0.35;
    transform: scale(0.8);
  }
  50% {
    opacity: 1;
    transform: scale(1);
  }
}

/* ── Dialog ── */

._dialog_1ofmj_351 {
  z-index: 1000;
}

._dialogContent_1ofmj_355 {
  border-radius: 12px;
  width: 90%;
  max-width: 560px;
  max-height: 86vh;
  box-shadow: var(--shadow-2xl);
}

._dialogContent_1ofmj_355 h4 {
  margin: 0;
  padding: 24px 24px 20px;
  font-size: 16px;
  font-weight: 600;
}

._dialogBody_1ofmj_370 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0 24px;
}

._taskSummary_1ofmj_377 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 16px;
  padding: 12px 14px;
  border: 1px solid var(--accent-color-light, rgba(99, 102, 241, 0.18));
  border-radius: 10px;
  background: var(--accent-color-light, rgba(99, 102, 241, 0.08));
  color: var(--text-primary);
}

._taskSummary_1ofmj_377 strong {
  font-size: 14px;
  font-weight: 600;
}

._taskSummary_1ofmj_377 span {
  font-size: 12px;
  color: var(--text-secondary);
}

._fieldGroup_1ofmj_399 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

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

._fieldGroupCompact_1ofmj_411 {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

._fieldGroupCompact_1ofmj_411 label,
._fieldGroupCompact_1ofmj_411 span {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-tertiary);
}

._scheduleGrid_1ofmj_424 {
  display: grid;
  grid-template-columns: 1fr 132px;
  gap: 8px;
}

._targetGrid_1ofmj_430 {
  display: grid;
  grid-template-columns: 132px 1fr;
  gap: 8px;
}

._scheduleHint_1ofmj_436 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--text-tertiary);
}

._legacyNotice_1ofmj_445 {
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(245, 158, 11, 0.1);
  color: var(--text-secondary);
  font-size: 12px;
}

._dialogContent_1ofmj_355 input,
._dialogContent_1ofmj_355 select,
._dialogContent_1ofmj_355 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_1ofmj_355 input:focus,
._dialogContent_1ofmj_355 select:focus,
._dialogContent_1ofmj_355 textarea:focus {
  outline: none;
  border-color: var(--accent-color);
}

._dialogContent_1ofmj_355 textarea {
  min-height: 80px;
  resize: vertical;
}

._dialogActions_1ofmj_478 {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  padding: 16px 24px 24px;
}

._clearContextRow_1ofmj_485 {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 0;
}

._clearContextLabel_1ofmj_492 {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 14px;
  color: var(--text-primary);
}

._clearContextHint_1ofmj_500 {
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.4;
}
._container_1a6mf_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow-y: auto;
}

._summaryBar_1a6mf_8 {
  margin: 0 24px 0;
  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_1a6mf_23 {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._summaryStatus_1a6mf_30 {
  font-size: 16px;
  font-weight: 650;
  color: var(--text-primary);
}

._summaryStatusEnabled_1a6mf_36 {
  color: var(--accent-color);
}

._summaryMeta_1a6mf_40 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--text-secondary);
}

._summaryMeta_1a6mf_40 span + span::before {
  content: '·';
  margin-right: 12px;
  color: var(--text-tertiary);
}

._summaryActions_1a6mf_55 {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
}

._progress_1a6mf_62 {
  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_1a6mf_75 {
  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_1a6mf_86 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

._cardHeader_1a6mf_86 > :first-child,
._scopeRowHeader_1a6mf_94 > :first-child {
  min-width: 0;
}

._cardHeader_1a6mf_86 > :last-child,
._scopeRowHeader_1a6mf_94 > :last-child {
  flex: 0 0 auto;
}

._cardTitleRow_1a6mf_103 {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-primary);
}

._cardTitleRow_1a6mf_103 h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

._cardDescription_1a6mf_116 {
  margin: 6px 0 0;
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.5;
}

._formGrid_1a6mf_123 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

._formGridMuted_1a6mf_129 {
  opacity: 0.72;
}

._scopeRows_1a6mf_133 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._scopeRow_1a6mf_94 {
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--bg-primary);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

._scopeRowHeader_1a6mf_94 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

._scopeRowTitle_1a6mf_156 {
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 650;
}

._scopeRowDescription_1a6mf_162 {
  margin-top: 4px;
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
}

._scopeControls_1a6mf_169 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

._orderHint_1a6mf_175 {
  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_1a6mf_184 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

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

._timeInput_1a6mf_195 {
  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_1a6mf_205 {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

._saveNotice_1a6mf_212 {
  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_1a6mf_225 {
  font-size: 12px;
  color: var(--text-tertiary);
}

._empty_1a6mf_230 {
  padding: 20px 0;
  color: var(--text-secondary);
}

._executionList_1a6mf_235 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._executionItem_1a6mf_241 {
  background: var(--bg-primary);
  border: 1px solid var(--border);
  border-radius: 12px;
}

._executionToggle_1a6mf_247 {
  width: 100%;
  padding: 14px;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

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

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

._executionTime_1a6mf_269,
._executionCount_1a6mf_270 {
  font-size: 12px;
  color: var(--text-tertiary);
}

._executionSummary_1a6mf_275 {
  margin-top: 8px;
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.5;
}

._executionDetailList_1a6mf_282 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 14px 14px;
}

._executionDetailItem_1a6mf_289 {
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

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

._executionDetailName_1a6mf_301 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

._executionDetailSummary_1a6mf_307 {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-secondary);
}

._advancedToggle_1a6mf_314 {
  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_1a6mf_327 {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--border);
}

._candidateList_1a6mf_333 {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

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

._candidateSummary_1a6mf_346 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

._candidateTargetSummary_1a6mf_353 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

._candidateSummaryChip_1a6mf_359 {
  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_1a6mf_370 {
  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_1a6mf_381 {
  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_1a6mf_387 {
  margin-top: 10px;
}

._budgetChips_1a6mf_391 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

._budgetChip_1a6mf_391 {
  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_1a6mf_409 {
  color: var(--color-success, #22c55e);
  border-color: color-mix(in srgb, var(--color-success, #22c55e) 35%, var(--border));
}

._budgetStatus_warning_1a6mf_414 {
  color: var(--color-warning, #eab308);
  border-color: color-mix(in srgb, var(--color-warning, #eab308) 45%, var(--border));
  background: var(--color-warning-light, rgba(234, 179, 8, 0.1));
}

._budgetStatus_over_1a6mf_420 {
  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_1a6mf_426 {
  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_1a6mf_440 {
  font-weight: 600;
  color: var(--text-primary);
}

._budgetPolicy_conservative_1a6mf_445 {
  border-color: color-mix(in srgb, var(--color-warning, #eab308) 35%, var(--border));
  background: var(--color-warning-light, rgba(234, 179, 8, 0.1));
}

._budgetPolicy_overBudget_1a6mf_450 {
  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_1a6mf_455 {
  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_1a6mf_463 {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
}

._observabilityBlock_1a6mf_469 {
  margin-top: 8px;
}

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

._observabilityChips_1a6mf_479,
._pathList_1a6mf_480 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

._observabilityChip_1a6mf_479,
._observabilityChipStrong_1a6mf_488,
._pathChip_1a6mf_489,
._signalChip_1a6mf_490,
._reviewChip_1a6mf_491,
._decisionChip_1a6mf_492 {
  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_1a6mf_488 {
  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_1a6mf_489 {
  max-width: 100%;
  font-family: 'SF Mono', 'Menlo', 'Monaco', 'Courier New', monospace;
  color: var(--text-tertiary);
}

._signalChip_1a6mf_490 {
  color: var(--color-warning, #eab308);
  border-color: color-mix(in srgb, var(--color-warning, #eab308) 35%, var(--border));
}

._reviewChip_1a6mf_491,
._decision_needs_review_1a6mf_521 {
  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_promoted_1a6mf_527,
._decision_merged_1a6mf_528 {
  color: rgb(16, 185, 129);
  border-color: rgba(16, 185, 129, 0.35);
}

._decision_discarded_1a6mf_533,
._decision_deferred_1a6mf_534 {
  color: var(--text-tertiary);
}

._observabilityNotice_1a6mf_538 {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-tertiary);
}

._decisionList_1a6mf_545,
._diagnosticList_1a6mf_546 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}

._decisionItem_1a6mf_553,
._diagnosticItem_1a6mf_554 {
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-secondary);
}

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

._decisionText_1a6mf_568 {
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-primary);
}

._diagnosticItem_1a6mf_554 {
  display: flex;
  gap: 8px;
  align-items: baseline;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-secondary);
}

._diagnostic_warning_1a6mf_583 {
  border-color: color-mix(in srgb, var(--color-warning, #eab308) 35%, var(--border));
}

._diagnostic_error_1a6mf_587 {
  border-color: color-mix(in srgb, var(--color-danger, #ef4444) 35%, var(--border));
}

._diagnosticCode_1a6mf_591 {
  flex: 0 0 auto;
  font-family: 'SF Mono', 'Menlo', 'Monaco', 'Courier New', monospace;
  font-size: 11px;
  color: var(--text-tertiary);
}

._candidateItem_1a6mf_598 {
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-secondary);
}

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

._candidateText_1a6mf_612 {
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-primary);
}

._candidateDisposition_1a6mf_618 {
  flex: 0 0 auto;
  padding: 2px 6px;
  border-radius: 999px;
  font-size: 11px;
  border: 1px solid var(--border);
  color: var(--text-secondary);
}

._candidateDisposition_promoted_1a6mf_627 {
  color: rgb(16, 185, 129);
  border-color: rgba(16, 185, 129, 0.35);
}

._candidateDisposition_deferred_1a6mf_632 {
  color: rgb(245, 158, 11);
  border-color: rgba(245, 158, 11, 0.35);
}

._candidateDisposition_skipped_1a6mf_637,
._candidateDisposition_duplicate_1a6mf_638 {
  color: var(--text-tertiary);
}

._candidateMeta_1a6mf_642,
._candidateReason_1a6mf_643 {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-tertiary);
}

._candidateMeta_1a6mf_642 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

._fileChipList_1a6mf_656 {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}

._fileChip_1a6mf_656 {
  display: inline-flex;
  align-items: center;
  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_1a6mf_675 {
  background: var(--bg-primary);
  border-color: var(--accent-color);
  color: var(--text-primary);
}

._fileChipDisabled_1a6mf_681 {
  opacity: 0.5;
  cursor: default;
}

._topicEntry_1a6mf_686 {
  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_1a6mf_693 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._topicEntryTitle_1a6mf_699 {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

._topicEntryCount_1a6mf_705 {
  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_1a6mf_719 {
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-secondary);
}

._topicEntryList_1a6mf_726 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

._topicEntryPath_1a6mf_733 {
  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_1a6mf_743 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

._diffHeaderPath_1a6mf_750 {
  font-size: 12px;
  color: var(--text-secondary);
  font-family: 'SF Mono', 'Menlo', 'Monaco', 'Courier New', monospace;
}

._diffCloseButton_1a6mf_756 {
  padding: 0 4px;
  border: none;
  background: transparent;
  color: var(--text-tertiary);
  font-size: 16px;
  cursor: pointer;
  line-height: 1;
}

._fileList_1a6mf_766 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._fileItem_1a6mf_772 {
  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_1a6mf_783 {
  font-size: 14px;
  color: var(--text-primary);
}

._fileSummary_1a6mf_788 {
  margin-top: 4px;
  font-size: 12px;
  color: var(--text-secondary);
}

._diffToggle_1a6mf_794 {
  padding: 0;
  border: none;
  background: transparent;
  color: var(--accent-color);
  font-size: 12px;
  cursor: pointer;
  margin-top: 6px;
}

._diffBlock_1a6mf_804 {
  margin-top: 8px;
  padding: 10px 12px;
  background: var(--bg-primary);
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow-x: auto;
  max-height: 300px;
  overflow-y: auto;
}

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

._diffLineAdd_1a6mf_824 {
  color: rgb(16, 185, 129);
}

._diffLineRemove_1a6mf_828 {
  color: rgb(239, 68, 68);
}

._diffLineMeta_1a6mf_832 {
  color: var(--text-tertiary);
  font-weight: 600;
}

._spinningIcon_1a6mf_837 {
  animation: _spin_1a6mf_837 1s linear infinite;
}

._statusInline_1a6mf_841 {
  color: var(--text-tertiary);
  font-size: 12px;
  margin-left: auto;
}

@media (max-width: 900px) {
  ._summaryBar_1a6mf_8 {
    align-items: stretch;
    flex-direction: column;
  }

  ._summaryActions_1a6mf_55 {
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  ._summaryBar_1a6mf_8,
  ._progress_1a6mf_62,
  ._card_1a6mf_75 {
    margin-left: 16px;
    margin-right: 16px;
  }

  ._card_1a6mf_75 {
    padding: 16px;
  }

  ._cardHeader_1a6mf_86,
  ._scopeRowHeader_1a6mf_94 {
    align-items: center;
    gap: 12px;
  }

  ._scopeRow_1a6mf_94 {
    padding: 12px;
  }
}

._progressDone_1a6mf_881 {
  color: var(--text-success, #22c55e);
}

@keyframes _spin_1a6mf_837 {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

._sourceSection_1a6mf_890 {
  margin-top: 10px;
}

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

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

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

._sourceChips_1a6mf_912 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
  align-items: baseline;
}

._sourceChip_1a6mf_912 {
  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_1a6mf_931 {
  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_1a6mf_942 {
  font-size: 11px;
  color: var(--text-tertiary);
  max-width: 280px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
._wrapper_191f8_1 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

._input_191f8_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_191f8_8::placeholder {
  color: var(--text-tertiary);
}

._input_191f8_8:hover {
  border-color: var(--border-strong);
}

._input_191f8_8:focus {
  outline: none;
  border-color: var(--color-primary);
  background: var(--bg-primary);
  box-shadow: var(--focus-ring);
}

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

._input--error_191f8_40 {
  border-color: var(--color-error);
}

._input--error_191f8_40:focus {
  border-color: var(--color-error);
  box-shadow: 0 0 0 3px var(--color-error-light);
}

._error_191f8_49 {
  font-size: var(--font-sm, 12px);
  color: var(--color-error);
}

._helperText_191f8_54 {
  font-size: var(--font-sm, 12px);
  color: var(--text-tertiary);
}
._container_1rnd8_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
}

._content_1rnd8_7 {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

._loading_1rnd8_16 {
  color: var(--text-tertiary);
  text-align: center;
  padding: 48px 0;
}

/* ---------------------------------------------------------------------------
 * Hint banner
 * --------------------------------------------------------------------------- */

._hint_1rnd8_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_1rnd8_43 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 48px 24px;
  text-align: center;
}

._emptyIcon_1rnd8_52 {
  color: var(--text-tertiary);
  opacity: 0.4;
}

._emptyText_1rnd8_57 {
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.6;
  max-width: 340px;
}

/* ---------------------------------------------------------------------------
 * Channel list
 * --------------------------------------------------------------------------- */

._channelList_1rnd8_68 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._channelCard_1rnd8_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_1rnd8_74:hover {
  border-color: var(--border-focus);
}

._cardHeader_1rnd8_88 {
  display: flex;
  align-items: center;
  gap: 12px;
}

._platformIcon_1rnd8_94 {
  width: 36px;
  height: 36px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

._platformIconWechat_1rnd8_104 {
  background: #07c160;
  color: white;
}

._platformIconWecom_1rnd8_109 {
  background: #2b7ce9;
  color: white;
}

._cardInfo_1rnd8_114 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}

._platformName_1rnd8_122 {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
}

._targetLabel_1rnd8_128 {
  font-size: 12px;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._targetHint_1rnd8_136 {
  font-size: 12px;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._createdAt_1rnd8_144 {
  font-size: 12px;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ---------------------------------------------------------------------------
 * Status badge
 * --------------------------------------------------------------------------- */

._statusBadge_1rnd8_156 {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  padding: 3px 8px;
  border-radius: 10px;
  flex-shrink: 0;
  white-space: nowrap;
}

._status-connected_1rnd8_167 {
  color: var(--green-500);
  background: color-mix(in srgb, var(--green-500) 10%, transparent);
}

._status-disconnected_1rnd8_172,
._status-idle_1rnd8_173 {
  color: var(--text-tertiary);
  background: var(--bg-secondary);
}

._status-connecting_1rnd8_178,
._status-reconnecting_1rnd8_179 {
  color: var(--purple-500);
  background: color-mix(in srgb, var(--purple-500) 10%, transparent);
}

._status-auth_failed_1rnd8_184 {
  color: var(--red-500);
  background: color-mix(in srgb, var(--red-500) 10%, transparent);
}

/* ---------------------------------------------------------------------------
 * Card actions
 * --------------------------------------------------------------------------- */

._cardActions_1rnd8_193 {
  display: flex;
  gap: 8px;
  padding-top: 4px;
  border-top: 1px solid var(--border-primary);
}

/* ---------------------------------------------------------------------------
 * Edit target card
 * --------------------------------------------------------------------------- */

._editTargetCard_1rnd8_204 {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--border-primary);
}

/* ---------------------------------------------------------------------------
 * Bind flow
 * --------------------------------------------------------------------------- */

._bindFlow_1rnd8_216 {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Steps indicator */
._stepsIndicator_1rnd8_223 {
  display: flex;
  gap: 4px;
  align-items: center;
}

._stepDot_1rnd8_229 {
  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_1rnd8_240 {
  color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 10%, transparent);
  font-weight: 500;
}

._stepNum_1rnd8_246 {
  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_1rnd8_240 ._stepNum_1rnd8_246 {
  background: var(--color-primary);
  color: white;
}

._stepTitle_1rnd8_263 {
  font-size: 12px;
}

/* Step content */
._stepContent_1rnd8_268 {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

._field_1rnd8_274 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

._field_1rnd8_274 label {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
}

._fieldHint_1rnd8_286 {
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
  color: var(--text-tertiary);
}

._stepActions_1rnd8_293 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 8px;
}

/* ---------------------------------------------------------------------------
 * Target kind selection
 * --------------------------------------------------------------------------- */

._targetKind_1rnd8_304 {
  display: flex;
  gap: 12px;
}

._kindBtn_1rnd8_309 {
  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_1rnd8_309:hover {
  border-color: var(--border-focus);
}

._kindBtnActive_1rnd8_328 {
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 5%, transparent);
}

._kindBtn_1rnd8_309 > svg {
  margin-top: 2px;
  opacity: 0.3;
}

._kindBtnActive_1rnd8_328 > svg {
  opacity: 1;
  color: var(--color-primary);
}

._kindBtn_1rnd8_309 div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

._kindBtn_1rnd8_309 strong {
  font-size: 13px;
  font-weight: 500;
}

._kindBtn_1rnd8_309 span {
  font-size: 12px;
  color: var(--text-tertiary);
}

/* ---------------------------------------------------------------------------
 * Summary
 * --------------------------------------------------------------------------- */

._summary_1rnd8_363 {
  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_1rnd8_373 {
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-size: 13px;
}

._summaryLabel_1rnd8_380 {
  color: var(--text-tertiary);
  min-width: 70px;
  flex-shrink: 0;
}

._mono_1rnd8_386 {
  font-family: var(--font-mono);
  font-size: 12px;
}

/* ---------------------------------------------------------------------------
 * Test result
 * --------------------------------------------------------------------------- */

._testResult_1rnd8_395 {
  min-height: 48px;
}

._testing_1rnd8_399 {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 13px;
  padding: 12px;
}

._testSuccess_1rnd8_408 {
  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_1rnd8_419 {
  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_1rnd8_419 p {
  margin: 2px 0 0;
  font-size: 12px;
  opacity: 0.8;
}

/* ---------------------------------------------------------------------------
 * Method choice (scan / manual)
 * --------------------------------------------------------------------------- */

._methodChoice_1rnd8_440 {
  display: flex;
  gap: 12px;
}

._methodCard_1rnd8_445 {
  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_1rnd8_445:hover {
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 5%, transparent);
}

._methodCardDisabled_1rnd8_466,
._methodCardDisabled_1rnd8_466:hover,
._methodCard_1rnd8_445:disabled,
._methodCard_1rnd8_445:disabled:hover {
  opacity: 0.6;
  pointer-events: none;
  cursor: not-allowed;
  border-color: var(--border-primary);
  background: transparent;
}

._methodIcon_1rnd8_477 {
  font-size: 28px;
  line-height: 1;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  justify-content: center;
}

._methodTitle_1rnd8_486 {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
}

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

/* ---------------------------------------------------------------------------
 * QR code section
 * --------------------------------------------------------------------------- */

._qrcodeSection_1rnd8_502 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

._qrImage_1rnd8_509 {
  padding: 16px;
  background: white;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
}

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

._qrLoading_1rnd8_524 {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 13px;
  padding: 24px 0;
}

._error_1rnd8_533 {
  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_13w3v_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_13w3v_10 {
  padding: 18px;
  font-size: 13px;
}

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

._error_13w3v_22 {
  color: var(--error, var(--danger-color));
}

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

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

  to {
    transform: rotate(360deg);
  }
}._panel_9eb8i_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_9eb8i_13 {
  color: var(--text-secondary);
  font-size: 13px;
}

._filters_9eb8i_18 {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

._filterGroup_9eb8i_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_9eb8i_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_9eb8i_33:hover {
  background: var(--bg-secondary);
  color: var(--text-primary);
}

._filterButton_9eb8i_33:focus-visible,
._dangerButton_9eb8i_51:focus-visible {
  outline: 2px solid var(--accent-primary);
  outline-offset: 2px;
}

._filterButtonActive_9eb8i_56 {
  background: var(--accent-primary, #2563eb);
  border-color: var(--accent-primary);
  color: var(--accent-foreground, #ffffff);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
}

._filterButtonActive_9eb8i_56:hover {
  background: var(--accent-primary, #2563eb);
  color: var(--accent-foreground, #ffffff);
}

._metricGrid_9eb8i_68 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

._metricCard_9eb8i_74,
._card_9eb8i_75 {
  border: 1px solid var(--border-primary);
  border-radius: 14px;
  background: var(--bg-secondary);
  padding: 16px;
}

._metricLabel_9eb8i_82,
._cardHint_9eb8i_83 {
  color: var(--text-secondary);
  font-size: 12px;
}

._metricValue_9eb8i_88 {
  margin-top: 8px;
  font-size: 24px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

._sectionGrid_9eb8i_95 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

._cardTitle_9eb8i_101 {
  font-weight: 650;
  margin-bottom: 12px;
}

._list_9eb8i_106 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._row_9eb8i_112 {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  font-size: 13px;
}

._row_9eb8i_112 > span:first-child,
._row_9eb8i_112 > div:first-child:not(._sessionCell_9eb8i_121) {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._row_9eb8i_112 > span:last-child,
._row_9eb8i_112 > div:last-child {
  white-space: nowrap;
}

._rowMeta_9eb8i_133 {
  color: var(--text-secondary);
}

._sessionCell_9eb8i_121 {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

._sessionName_9eb8i_144 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-primary);
  font-weight: 550;
}

._numericValue_9eb8i_153 {
  font-variant-numeric: tabular-nums;
  color: var(--text-primary);
}

._insights_9eb8i_158 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 13px;
}

._activityHeader_9eb8i_166 {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 14px;
}

._activityHeader_9eb8i_166 ._cardTitle_9eb8i_101 {
  margin-bottom: 4px;
}

._activityCard_9eb8i_178 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

._activityScroll_9eb8i_184 {
  overflow: hidden;
  padding: 4px 0 4px;
}

._activityHeatMap_9eb8i_189 {
  width: 100%;
  min-width: 0;
  height: auto;
  color: var(--text-secondary);
  font-family: inherit;
}

._activityHeatMap_9eb8i_189 .react-calendar-heatmap {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

._activityHeatMap_9eb8i_189 .react-calendar-heatmap rect {
  rx: 3px;
  stroke: var(--border-primary);
  stroke-width: 1px;
  transition: stroke 120ms ease, stroke-width 120ms ease;
}

._activityHeatMap_9eb8i_189 .react-calendar-heatmap rect:hover {
  stroke: var(--accent-primary, #2563eb);
}

._activityHeatMap_9eb8i_189 .react-calendar-heatmap text {
  fill: var(--text-secondary);
  font-family: inherit;
}

._activityHeatMap_9eb8i_189 .react-calendar-heatmap-month-label {
  transform: translateY(2px);
}

._activityLevel0_9eb8i_224 {
  fill: var(--bg-tertiary, var(--bg-secondary));
}

._activityLevel1_9eb8i_228 {
  fill: rgba(37, 99, 235, 0.28);
}

._activityLevel2_9eb8i_232 {
  fill: rgba(37, 99, 235, 0.48);
}

._activityLevel3_9eb8i_236 {
  fill: rgba(37, 99, 235, 0.68);
}

._activityLevel4_9eb8i_240 {
  fill: var(--accent-primary, #2563eb);
}

._activityLegendCell_9eb8i_244 {
  width: 11px;
  height: 11px;
  border: 1px solid var(--border-primary);
  border-radius: 3px;
  background: var(--bg-tertiary, var(--bg-secondary));
}

._activityLegendCell_9eb8i_244[data-level="1"] {
  background: rgba(37, 99, 235, 0.28);
}

._activityLegendCell_9eb8i_244[data-level="2"] {
  background: rgba(37, 99, 235, 0.48);
}

._activityLegendCell_9eb8i_244[data-level="3"] {
  background: rgba(37, 99, 235, 0.68);
}

._activityLegendCell_9eb8i_244[data-level="4"] {
  background: var(--accent-primary, #2563eb);
}

._activityEmpty_9eb8i_268 {
  border: 1px dashed var(--border-primary);
  border-radius: 12px;
  padding: 18px;
  color: var(--text-secondary);
  font-size: 13px;
  text-align: center;
}

._activityLegend_9eb8i_244,
._activitySummary_9eb8i_278 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 12px;
}

._activityLegend_9eb8i_244 {
  gap: 5px;
}

._activitySummary_9eb8i_278 {
  border-top: 1px solid var(--border-primary);
  padding-top: 12px;
}

._activitySummary_9eb8i_278 > span:not(:last-child)::after {
  content: "·";
  margin-left: 8px;
  color: var(--text-tertiary, var(--text-secondary));
}

._footerActions_9eb8i_302 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--border-primary);
  padding-top: 14px;
}

._dangerButton_9eb8i_51 {
  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_9eb8i_51:hover {
  background: color-mix(in srgb, var(--danger, #ef4444) 10%, transparent);
}

._empty_9eb8i_324 {
  border: 1px dashed var(--border-primary);
  border-radius: 14px;
  padding: 28px;
  color: var(--text-secondary);
  text-align: center;
}

@media (max-width: 900px) {
  ._metricGrid_9eb8i_68,
  ._sectionGrid_9eb8i_95 {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 720px) {
  ._panel_9eb8i_1 {
    gap: 14px;
    padding: 16px;
  }

  ._filters_9eb8i_18 {
    gap: 6px;
  }

  ._filterGroup_9eb8i_24 {
    width: 100%;
  }

  ._filterButton_9eb8i_33 {
    flex: 1;
    min-height: 36px;
    padding: 7px 12px;
  }

  ._metricCard_9eb8i_74,
  ._card_9eb8i_75 {
    border-radius: 12px;
    padding: 14px;
  }

  ._metricValue_9eb8i_88 {
    font-size: 22px;
  }

  ._activityHeader_9eb8i_166 {
    flex-direction: column;
    align-items: stretch;
  }

  ._footerActions_9eb8i_302 {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  ._dangerButton_9eb8i_51 {
    min-height: 40px;
    width: 100%;
  }
}

@media (max-width: 420px) {
  ._panel_9eb8i_1 {
    padding: 12px;
  }

  ._row_9eb8i_112 {
    gap: 8px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  ._activityCell_9eb8i_399 {
    transition: none;
  }

  ._activityCell_9eb8i_399:hover {
    transform: none;
  }
}

/* 常用话术卡片 */
._phraseCell_9eb8i_409 {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

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

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

._addButton_9eb8i_429 {
  border: 1px solid var(--accent-primary);
  border-radius: 8px;
  background: transparent;
  color: var(--accent-primary);
  padding: 5px 10px;
  font-size: 12px;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 120ms ease, color 120ms ease;
}

._addButton_9eb8i_429:hover {
  background: var(--accent-primary);
  color: var(--accent-foreground, #ffffff);
}

._addButton_9eb8i_429:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

._toast_9eb8i_451 {
  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_9eb8i_1 150ms ease;
}

@keyframes _toastFadeIn_9eb8i_1 {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}/**
 * 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_1pmq5_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* ============================================
   列表视图样式
   ============================================ */

._settings-header_1pmq5_1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

._settings-title_1pmq5_1 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

._settings-list_1pmq5_1 {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

._settings-empty_1pmq5_1 {
  color: var(--text-tertiary);
  font-size: 14px;
  text-align: center;
  padding: 32px 0;
}

/* ============================================
   列表项样式
   ============================================ */

._settings-item_1pmq5_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_1pmq5_1:hover {
  border-color: var(--accent-color);
  background: var(--bg-hover);
}

._settings-item_1pmq5_1._is-default_1pmq5_1 {
  border-color: var(--accent-color);
}

._settings-item-info_1pmq5_1 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1;
}

._settings-item-name_1pmq5_1 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  font-size: 14px;
  color: var(--text-primary);
}

._settings-item-meta_1pmq5_1 {
  font-size: 12px;
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 300px;
}

._settings-item-actions_1pmq5_1 {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
  margin-left: 12px;
}

/* ============================================
   默认徽章
   ============================================ */

._settings-badge_1pmq5_1 {
  font-size: 11px;
  font-weight: 500;
  padding: 2px 8px;
  border-radius: 12px;
  background: var(--accent-color);
  color: white;
}

._settings-badge-success_1pmq5_1 {
  background: var(--success);
}

._settings-badge-error_1pmq5_1 {
  background: var(--error);
}

/* ============================================
   表单视图样式
   ============================================ */

._settings-form-wrapper_1pmq5_1 {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
}

._settings-form-title_1pmq5_1 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 20px 0;
}

/* ============================================
   表单字段样式
   ============================================ */

._settings-field_1pmq5_1 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

._settings-field_1pmq5_1:last-child {
  margin-bottom: 0;
}

._settings-field-row_1pmq5_1 {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

._settings-label_1pmq5_1 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
}

._settings-hint_1pmq5_1 {
  font-size: 12px;
  color: var(--text-tertiary);
}

/* ============================================
   输入控件样式
   ============================================ */

._settings-input_1pmq5_1,
._settings-select_1pmq5_1,
._settings-textarea_1pmq5_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_1pmq5_1:focus,
._settings-select_1pmq5_1:focus,
._settings-textarea_1pmq5_1:focus {
  outline: none;
  border-color: var(--accent-color);
  background: var(--bg-primary);
}

._settings-input_1pmq5_1::placeholder,
._settings-textarea_1pmq5_1::placeholder {
  color: var(--text-tertiary);
}

._settings-select_1pmq5_1 {
  cursor: pointer;
}

._settings-textarea_1pmq5_1 {
  resize: vertical;
  width: 100%;
  min-height: 100px;
}

/* ============================================
   Checkbox 自定义样式
   ============================================ */

._settings-checkbox_1pmq5_1 {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

._settings-checkbox-input_1pmq5_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_1pmq5_1:hover {
  border-color: var(--accent-color);
}

._settings-checkbox-input_1pmq5_1:checked {
  background: var(--accent-color);
  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_1pmq5_1:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--accent-color-light);
}

/* ============================================
   Toggle 开关样式
   ============================================ */

._settings-toggle_1pmq5_1 {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 22px;
  cursor: pointer;
}

._settings-toggle-input_1pmq5_1 {
  opacity: 0;
  width: 0;
  height: 0;
}

._settings-toggle-track_1pmq5_1 {
  position: absolute;
  inset: 0;
  background: var(--bg-tertiary);
  border-radius: 11px;
  transition: background 0.2s ease;
}

._settings-toggle-track_1pmq5_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_1pmq5_1:checked + ._settings-toggle-track_1pmq5_1 {
  background: var(--accent-color);
}

._settings-toggle-input_1pmq5_1:checked + ._settings-toggle-track_1pmq5_1::after {
  transform: translateX(18px);
}

/* ============================================
   Footer 样式
   ============================================ */

._settings-footer_1pmq5_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_1pmq5_1 {
  font-size: 12px;
  color: var(--error);
  margin-top: 4px;
}

/* ============================================
   Slider 样式
   ============================================ */

._settings-slider-row_1pmq5_1 {
  display: flex;
  align-items: center;
  gap: 12px;
}

._settings-slider_1pmq5_1 {
  flex: 1;
  height: 6px;
  border-radius: 3px;
  background: var(--bg-tertiary);
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

._settings-slider_1pmq5_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_1pmq5_1::-webkit-slider-thumb:hover {
  transform: scale(1.1);
  box-shadow: 0 0 0 4px var(--accent-color-light);
}

._settings-slider_1pmq5_1::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--accent-color);
  cursor: pointer;
  border: none;
}

._settings-number-input_1pmq5_1 {
  width: 70px;
  padding: 6px 10px;
  font-size: 13px;
  text-align: center;
}

/* ============================================
   空状态样式
   ============================================ */

._settings-empty-state_1pmq5_1 {
  font-size: 13px;
  color: var(--text-tertiary);
  padding: 16px;
  text-align: center;
  background: var(--bg-secondary);
  border-radius: 8px;
}

/* ============================================
   Section 分组标题样式
   ============================================ */

._settings-section_1pmq5_1 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 0;
}

._settings-section_1pmq5_1:first-child {
  padding-top: 0;
}

._settings-section-title_1pmq5_1 {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
  margin: 0;
  letter-spacing: 0.02em;
}

._settings-section_1pmq5_1 + ._settings-section_1pmq5_1 {
  border-top: 1px solid var(--border);
  margin-top: 8px;
  padding-top: 20px;
}

._backdrop_1pmq5_3 {
  backdrop-filter: var(--backdrop-blur);
}

._modal_1pmq5_7 {
  border-radius: 12px;
  width: 90%;
  max-width: 960px;
  max-height: 92vh;
}

._header_1pmq5_14 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 22px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

._title_1pmq5_23 {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

._body_1pmq5_30 {
  display: flex;
  height: clamp(520px, 72vh, 760px);
  overflow: hidden;
}

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

._content_1pmq5_43 {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
}

._section_1pmq5_49 {
  margin-bottom: 24px;
}

._section_1pmq5_49:last-child {
  margin-bottom: 0;
}

._sectionTitle_1pmq5_57 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 16px 0;
}

._field_1pmq5_64 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}

._field_1pmq5_64:last-child {
  margin-bottom: 0;
}

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

._input_1pmq5_81 {
  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_1pmq5_81:focus {
  outline: none;
  border-color: var(--accent-purple);
  background: var(--surface);
}

._footer_1pmq5_98 {
  display: flex;
  gap: 12px;
  padding: 16px 24px;
  border-top: 1px solid var(--border);
  justify-content: flex-end;
}

._slider_1pmq5_106 {
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: var(--bg-secondary);
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

._slider_1pmq5_106::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--accent-purple);
  cursor: pointer;
  transition: all 0.2s;
}

._slider_1pmq5_106::-webkit-slider-thumb:hover {
  transform: scale(1.2);
}

._slider_1pmq5_106::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--accent-purple);
  cursor: pointer;
  border: none;
  transition: all 0.2s;
}

._slider_1pmq5_106::-moz-range-thumb:hover {
  transform: scale(1.2);
}

._checkboxField_1pmq5_145 {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

._checkboxField_1pmq5_145 input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
}

._errorMessage_1pmq5_159 {
  font-size: 13px;
  color: var(--error);
  margin-top: -8px;
  margin-bottom: 8px;
}

._mcpServer_1pmq5_166 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px;
  background: var(--bg-secondary);
  border-radius: 8px;
  margin-bottom: 8px;
}

._mcpServer_1pmq5_166 > div {
  display: flex;
  gap: 8px;
}

._mcpForm_1pmq5_181 {
  margin-top: 16px;
  padding: 16px;
  background: var(--bg-secondary);
  border-radius: 8px;
}

/* ── 移动端：纵向布局，全屏弹框 ── */

@media (max-width: 768px) {
  ._backdrop_1pmq5_3 {
    align-items: stretch;
    justify-content: stretch;
    padding: 0;
  }

  ._modal_1pmq5_7 {
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    border-radius: 0;
    border: none;
  }

  ._body_1pmq5_30 {
    flex-direction: column;
    height: auto;
    flex: 1;
  }
}


._dialog_1budu_1 {
  width: 360px;
  max-width: 90vw;
}

._body_1budu_6 {
  padding: 0 24px;
}

._title_1budu_10 {
  margin: 0;
  padding: 24px 24px 8px;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}

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

._actions_1budu_25 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 0 24px 24px;
}

._cancelBtn_1budu_32 {
  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_1budu_32:hover {
  background: var(--hover-bg);
}

._clearBtn_1budu_46 {
  padding: 6px 16px;
  border-radius: var(--radius-md, 8px);
  border: none;
  background: var(--color-danger, #e53e3e);
  color: #fff;
  font-size: 14px;
  cursor: pointer;
}

._clearBtn_1budu_46:hover {
  background: var(--color-danger-hover, #c53030);
}
._banner_1tooa_1 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  font-size: 13px;
  border-radius: 6px;
  margin: 0 16px 8px;
  animation: _slideDown_1tooa_1 0.2s ease;
}

._degraded_1tooa_12 {
  background: var(--color-warning-light);
  border: 1px solid var(--color-warning);
  color: var(--color-warning);
}

._unhealthy_1tooa_18 {
  background: var(--color-error-light);
  border: 1px solid var(--color-error);
  color: var(--color-error);
}

._message_1tooa_24 { flex: 1; }

._action_1tooa_26 {
  background: transparent;
  border: 1px solid currentColor;
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 12px;
  cursor: pointer;
  color: inherit;
  white-space: nowrap;
}

._action_1tooa_26:hover {
  opacity: 0.7;
}

._close_1tooa_41 {
  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_1tooa_41:hover { opacity: 1; }

@keyframes _slideDown_1tooa_1 {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
._panel_p7xx2_1 {
  position: relative;
  flex: 0 0 300px;
  width: 300px;
  min-width: 268px;
  max-width: 320px;
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--border-default);
  background: var(--bg-primary);
  color: var(--text-primary);
  overflow: hidden;
}

._mobileBackdrop_p7xx2_15 {
  display: none;
}

._iconButton_p7xx2_19 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--text-tertiary);
  background: transparent;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

._iconButton_p7xx2_19:hover {
  color: var(--text-primary);
  background: var(--bg-secondary);
  border-color: var(--border-default);
}

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

._tabsBar_p7xx2_46 {
  flex-shrink: 0;
  box-sizing: border-box;
  height: 42px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  border-bottom: 1px solid var(--border-default);
}

._tabs_p7xx2_46 {
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
}

._tab_p7xx2_41 {
  position: relative;
  height: 30px;
  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;
}

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

._tabActive_p7xx2_83 {
  color: var(--text-primary);
  background: color-mix(in srgb, var(--color-primary) 4%, transparent);
  font-weight: 650;
}

._tabActive_p7xx2_83::after {
  content: '';
  position: absolute;
  right: 18px;
  bottom: 3px;
  left: 18px;
  height: 2px;
  border-radius: 999px;
  background: var(--color-primary);
}

._body_p7xx2_100 {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 12px;
}

._body_p7xx2_100[hidden] {
  display: none;
}

._section_p7xx2_114 {
  padding: 12px;
  border: 1px solid var(--border-default);
  border-radius: 12px;
  background: color-mix(in srgb, var(--bg-secondary) 82%, var(--bg-primary));
}

._currentSection_p7xx2_121 {
  padding: 14px 12px;
  background: var(--bg-primary);
  border-color: color-mix(in srgb, var(--border-default) 58%, transparent);
}

._artifactSection_p7xx2_127 {
  flex: 1 1 160px;
  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_p7xx2_114 + ._section_p7xx2_114 {
  margin-top: 10px;
}

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

._sectionTitle_p7xx2_152 {
  margin: 0;
  font-size: 12px;
  font-weight: 650;
  color: var(--text-primary);
}

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

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

._idleState_p7xx2_170 {
  padding: 2px 0 0;
}

._metricRow_p7xx2_174 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
  line-height: 1.5;
}

._metricRow_p7xx2_174 + ._metricRow_p7xx2_174 {
  margin-top: 6px;
}

._metricInlineRow_p7xx2_187 {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 8px;
}

._metricInlineRow_p7xx2_187 ._metricRow_p7xx2_174 {
  min-width: 0;
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 4px;
}

._metricInlineRow_p7xx2_187 ._metricRow_p7xx2_174 + ._metricRow_p7xx2_174 {
  margin-top: 0;
}

._metricInlineRow_p7xx2_187 ._metricValue_p7xx2_205 {
  max-width: 100%;
  text-align: left;
}

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

._metricValue_p7xx2_205 {
  min-width: 0;
  text-align: right;
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._runTitle_p7xx2_223 {
  margin: 8px 0 10px;
  padding: 8px 10px;
  border-radius: 10px;
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.45;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._statusPill_p7xx2_236 {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 650;
  color: var(--text-secondary);
  background: var(--bg-tertiary);
}

._configBadge_p7xx2_249 {
  display: inline-flex;
  align-items: center;
  height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 650;
  color: var(--text-tertiary);
  background: var(--bg-tertiary);
}

._statusDot_p7xx2_261 {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: currentColor;
}

._statusPill_running_p7xx2_268 {
  color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 10%, transparent);
}

._statusPill_completed_p7xx2_273 {
  color: var(--color-success);
  background: color-mix(in srgb, var(--color-success) 10%, transparent);
}

._statusPill_failed_p7xx2_278 {
  color: var(--color-danger, #ef4444);
  background: color-mix(in srgb, var(--color-danger, #ef4444) 10%, transparent);
}

._statusPill_stopped_p7xx2_283 {
  color: var(--color-warning, #f59e0b);
  background: color-mix(in srgb, var(--color-warning, #f59e0b) 12%, transparent);
}

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

._srOnly_p7xx2_293 {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

._hint_p7xx2_305 {
  margin: 8px 0 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--text-tertiary);
}

._inlineActions_p7xx2_312 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}


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

._needsAttentionTitle_p7xx2_328 {
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
}

._blockerList_p7xx2_335 {
  display: grid;
  gap: 6px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

._blockerItem_p7xx2_343 {
  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_p7xx2_351 {
  border-left-color: color-mix(in srgb, var(--color-danger) 62%, transparent);
}

._blockerItem_guidance_p7xx2_355 {
  border-left-color: color-mix(in srgb, var(--color-primary) 58%, transparent);
}

._blockerLabel_p7xx2_359 {
  color: var(--text-primary);
  font-size: 12px;
  line-height: 1.4;
}

._blockerDetail_p7xx2_365 {
  overflow: hidden;
  color: var(--text-tertiary);
  font-size: 11px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._sessionTools_p7xx2_374 {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid color-mix(in srgb, var(--border-default) 68%, transparent);
}

._sessionToolsLabel_p7xx2_380 {
  display: block;
  color: var(--text-tertiary);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
}

._inlineButton_p7xx2_388 {
  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_p7xx2_388: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_p7xx2_408,
._inlineButtonSuccess_p7xx2_408: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_p7xx2_388:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._linkButton_p7xx2_420 {
  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_p7xx2_420:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

._linkButton_p7xx2_420:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 4px;
}

._ctaButton_p7xx2_446 {
  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_p7xx2_446:hover {
  border-color: var(--color-primary);
  background: var(--bg-tertiary);
}

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

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

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

._headerActionButton_p7xx2_480:hover {
  color: var(--text-primary);
  border-color: var(--color-primary);
  background: var(--bg-tertiary);
}

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

._modelSummary_p7xx2_506 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

._modelSummaryPrimary_p7xx2_513 {
  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_p7xx2_524 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.45;
}

._modelSummaryHint_p7xx2_534 {
  margin: 2px 0 0;
  color: var(--text-tertiary);
  font-size: 12px;
  line-height: 1.45;
}

._artifactScrollArea_p7xx2_541 {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 2px;
}

._artifactScrollAreaFaded_p7xx2_549 {
  -webkit-mask-image: linear-gradient(to bottom, black 0, black calc(100% - 12px), transparent 100%);
  mask-image: linear-gradient(to bottom, black 0, black calc(100% - 12px), transparent 100%);
}

._artifactTreeStack_p7xx2_554 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 0;
}

._artifactTreeScroll_p7xx2_561 {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 2px;
}

._goalProgressTrack_p7xx2_569 {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--bg-tertiary);
}

._goalProgressFill_p7xx2_576 {
  height: 100%;
  border-radius: inherit;
  background: var(--color-primary);
  transition: width 160ms ease;
}

._goalProgressValue_p7xx2_583 {
  flex-shrink: 0;
  color: var(--text-tertiary);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
}

._readOnlyNotice_p7xx2_591 {
  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_p7xx2_601 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

._goalTaskList_p7xx2_610 {
  max-height: 184px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 2px;
  gap: 4px;
}

._goalTaskItem_p7xx2_618 {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  min-height: 24px;
  padding: 1px 0;
}

._goalTaskStatusLabel_p7xx2_627 {
  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_p7xx2_638 {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

._goalTaskStatusIcon_p7xx2_645 {
  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_p7xx2_655 {
  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_p7xx2_666 {
  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_p7xx2_677 ._goalTaskStatusLabel_p7xx2_627 {
  color: var(--color-success, #22c55e);
}

._goalTaskItem_completed_p7xx2_677 ._goalTaskStatusIcon_p7xx2_645 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-color: var(--color-success, #22c55e);
  background: var(--color-success, #22c55e);
}

._goalTaskItem_completed_p7xx2_677 ._goalTaskStatusIcon_p7xx2_645::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_p7xx2_677 ._goalTaskTitle_p7xx2_655 {
  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_p7xx2_706 ._goalTaskStatusLabel_p7xx2_627 {
  color: var(--text-secondary);
}

._goalTaskItem_pending_p7xx2_706 ._goalTaskTitle_p7xx2_655 {
  color: var(--text-primary);
}

._summaryItem_p7xx2_714 {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 28px;
}

._memberAvatar_p7xx2_722 {
  box-shadow: 0 0 0 1px var(--border-default);
}

._summaryMain_p7xx2_726 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-primary);
  font-size: 12px;
  line-height: 1.5;
}

._memberList_p7xx2_736 {
  max-height: 188px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 2px;
}

._memberNameButton_p7xx2_743 {
  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_p7xx2_743:hover {
  color: var(--text-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

._memberNameButton_p7xx2_743:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 6px;
}

._summaryMeta_p7xx2_770 {
  max-width: 72px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-tertiary);
  font-size: 11px;
}

._actionList_p7xx2_779 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

._actionButton_p7xx2_788 {
  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_p7xx2_788:hover,
._actionButtonActive_p7xx2_806 {
  color: var(--text-primary);
  border-color: var(--color-primary);
  background: var(--bg-tertiary);
}

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

._actionButtonDanger_p7xx2_817 {
  color: var(--color-danger, #ef4444);
}

._actionButtonDanger_p7xx2_817:hover {
  border-color: var(--color-danger, #ef4444);
}

._dangerSection_p7xx2_825 {
  border-color: color-mix(in srgb, var(--color-danger, #ef4444) 32%, var(--border-default));
}

._dangerPill_p7xx2_829 {
  flex-shrink: 0;
  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;
}

._actionMeta_p7xx2_839 {
  flex-shrink: 0;
  color: var(--text-tertiary);
  font-size: 11px;
}

._artifactList_p7xx2_845 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

._artifactItem_p7xx2_854 {
  min-width: 0;
}

._artifactReceipt_p7xx2_858 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 0;
}

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

._artifactReceiptLabel_p7xx2_873 {
  flex-shrink: 0;
  color: var(--text-tertiary);
  font-size: 11px;
  font-weight: 600;
}

._artifactReceiptRoot_p7xx2_880 {
  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_p7xx2_891 {
  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_p7xx2_891: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_p7xx2_891:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

._artifactTreeList_p7xx2_917 {
  margin: 0;
  padding: 0;
  list-style: none;
}

._artifactTreeItem_p7xx2_923 {
  min-width: 0;
}

._artifactTreeRow_p7xx2_927 {
  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_p7xx2_927:hover {
  background: color-mix(in srgb, var(--bg-tertiary) 82%, var(--bg-primary));
}

._artifactTreeDirectoryRow_p7xx2_942 {
  color: var(--text-tertiary);
  font-weight: 600;
}

._artifactTreeFileRow_p7xx2_947 {
  color: var(--text-primary);
  font-weight: 580;
}

._artifactTreeFileRowDeleted_p7xx2_952 {
  color: color-mix(in srgb, var(--text-tertiary) 82%, transparent);
}

._artifactTreeFileButton_p7xx2_956 {
  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_p7xx2_969 {
  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_p7xx2_983 {
  flex-shrink: 0;
  color: color-mix(in srgb, var(--text-tertiary) 72%, transparent);
  transition: transform 140ms ease;
}

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

._artifactTreeFileButton_p7xx2_956:hover ._artifactTreeName_p7xx2_993 {
  color: var(--text-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

._artifactTreeFileRowDeleted_p7xx2_952 ._artifactTreeName_p7xx2_993 {
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  text-decoration-color: color-mix(in srgb, var(--text-tertiary) 72%, transparent);
}

._artifactTreeFileRowDeleted_p7xx2_952 ._artifactTreeFileButton_p7xx2_956:hover ._artifactTreeName_p7xx2_993 {
  color: var(--text-secondary);
}

._artifactTreeMain_p7xx2_1009 {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  overflow: hidden;
}

._artifactTreeName_p7xx2_993 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  line-height: 1.35;
}

._artifactTreeType_p7xx2_1026 {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  white-space: nowrap;
}

._artifactTreeType_p7xx2_1026 {
  height: 16px;
  padding: 0 4px;
  color: var(--text-tertiary);
  background: color-mix(in srgb, var(--bg-tertiary) 70%, transparent);
  font-size: 9px;
  font-weight: 680;
  letter-spacing: 0.02em;
}

._artifactTreeChangePill_p7xx2_1044 {
  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_p7xx2_1057 {
  color: color-mix(in srgb, #047857 88%, var(--text-primary));
  background: color-mix(in srgb, #10b981 14%, transparent);
}

._artifactTreeChangePill_edited_p7xx2_1062 {
  color: color-mix(in srgb, #b45309 86%, var(--text-primary));
  background: color-mix(in srgb, #f59e0b 15%, transparent);
}

._artifactTreeChangePill_deleted_p7xx2_1067 {
  color: color-mix(in srgb, #b91c1c 84%, var(--text-primary));
  background: color-mix(in srgb, #ef4444 13%, transparent);
}

._artifactTreeFileButton_p7xx2_956:focus-visible,
._artifactTreeDirectoryButton_p7xx2_969:focus-visible,
._artifactReceiptActionButton_p7xx2_891:focus-visible,
._artifactTreeCopyButton_p7xx2_1075:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 8px;
}

._artifactTreeFileButton_p7xx2_956:disabled {
  cursor: default;
  opacity: 0.65;
}

._artifactTreeCopyButton_p7xx2_1075 {
  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;
  transition: border-color 150ms ease, background 150ms ease, color 150ms ease;
}

._artifactTreeRow_p7xx2_927:hover ._artifactTreeCopyButton_p7xx2_1075,
._artifactTreeRow_p7xx2_927:focus-within ._artifactTreeCopyButton_p7xx2_1075,
._artifactTreeCopyButton_p7xx2_1075._inlineButtonSuccess_p7xx2_408 {
  opacity: 1;
}

._artifactTreeCopyButton_p7xx2_1075: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_p7xx2_1114 {
  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_p7xx2_1114:hover ._artifactText_p7xx2_1129 {
  color: var(--text-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

._artifactButton_p7xx2_1114:disabled {
  cursor: default;
  opacity: 0.65;
}

._artifactButton_p7xx2_1114:disabled ._artifactText_p7xx2_1129 {
  text-decoration: none;
}

._artifactButton_p7xx2_1114:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 8px;
}

._artifactText_p7xx2_1129 {
  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_p7xx2_1161 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.35;
}

@media (max-width: 980px) {
  ._mobileBackdrop_p7xx2_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_p7xx2_1 {
    position: absolute;
    inset: 0 0 0 auto;
    z-index: 30;
    width: min(88vw, 340px);
    flex-basis: auto;
    box-shadow: var(--shadow-lg);
  }

}

@media (max-width: 640px) {
  ._panel_p7xx2_1 {
    width: 100vw;
    max-width: none;
    border-left: 0;
    box-shadow: none;
  }

  ._iconButton_p7xx2_19 {
    width: 40px;
    height: 40px;
  }
}._container_1tkyz_1 {
  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;
}

/* ── 响应式抽屉：≤768px ────────────────────────────── */
/* 桌面端 >768px：以上 .container 规则不受影响 */

@media (max-width: 768px) {
  ._container_1tkyz_1 {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    height: 100vh;
    height: 100dvh; /* 动态视口高度，避免手机地址栏干扰 */
    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_1tkyz_33 {
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.15);
    pointer-events: auto;
    transform: translateX(0);
  }
}

/* Header */
._header_1tkyz_41 {
  flex-shrink: 0;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
  -webkit-app-region: drag;
}

/* Header 左侧：标题与搜索框交叉淡入淡出容器 */
._headerLeft_1tkyz_52 {
  flex: 1;
  min-width: 0;
  position: relative;
}

/* 标题 —— 默认可见，搜索激活时滑出 */
._headerTitle_1tkyz_59 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

._searchActive_1tkyz_71 ._headerTitle_1tkyz_59 {
  opacity: 0;
  transform: translateX(-8px);
  pointer-events: none;
}

/* 搜索框 —— 绝对定位叠在标题上方，默认隐藏，激活时滑入 */
._headerSearch_1tkyz_78 {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  opacity: 0;
  transform: translateX(8px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  pointer-events: none;
  -webkit-app-region: no-drag;
}

._searchActive_1tkyz_71 ._headerSearch_1tkyz_78 {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

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

._searchInput_1tkyz_102 {
  flex: 1;
  min-width: 0;
  height: 26px;
  padding: 0 8px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-primary);
  color: var(--text-primary);
  font-size: 13px;
  outline: none;
}

._searchInput_1tkyz_102:focus {
  border-color: var(--color-primary);
}

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

._searchClear_1tkyz_123 {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--text-tertiary);
  background: transparent;
  border: none;
  padding: 0;
}

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

._headerActions_1tkyz_140 {
  display: flex;
  align-items: center;
  gap: 2px;
  position: relative;
}

._headerBtn_1tkyz_147 {
  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_1tkyz_147:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

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

._savedHeaderBtnActive_1tkyz_171 {
  color: var(--color-primary);
}

/* 搜索按钮：激活搜索时淡出并收回占位 */
._headerBtnHidden_1tkyz_176 {
  opacity: 0;
  width: 0;
  overflow: hidden;
  pointer-events: none;
  transition: opacity 0.15s ease, width 0.15s ease;
}

/* 删除 Tab Bar 相关 CSS */
/* tabBar, tab, tabActive, appDot, appName, createBtn, createMenu 已删除 */

/* List */
._list_1tkyz_188 {
  flex: 1;
  overflow-y: auto;
  padding: 6px;
  scrollbar-color: transparent transparent;
}

._list_1tkyz_188:hover,
._list_1tkyz_188:focus-within {
  scrollbar-color: var(--scrollbar-thumb) transparent;
}

._list_1tkyz_188::-webkit-scrollbar-thumb {
  background: transparent;
}

._list_1tkyz_188:hover::-webkit-scrollbar-thumb,
._list_1tkyz_188:focus-within::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
}

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

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

._item_1tkyz_209._active_1tkyz_226 {
  background: var(--active-bg);
}

/* Active 状态选中条 */
._item_1tkyz_209._active_1tkyz_226::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_1tkyz_209._active_1tkyz_226 ._itemName_1tkyz_243 {
  font-weight: 600;
}

._avatar_1tkyz_247 {
  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_1tkyz_264 {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  padding-right: 0;
}

._itemContentTitleOnly_1tkyz_274 {
  gap: 0;
}

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

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

._itemName_1tkyz_243 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* AI 输出状态指示点 */
._aiStatusDot_1tkyz_302 {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-primary);
  flex-shrink: 0;
  animation: _aiPulse_1tkyz_1 1.8s ease-in-out infinite;
}

/* AI 响应完成 — 静态实心圆点 */
._aiStatusDotCompleted_1tkyz_312 {
  background: var(--color-success);
  animation: none;
}

@keyframes _aiPulse_1tkyz_1 {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.75); }
}

._itemTime_1tkyz_322 {
  font-size: 10px;
  color: var(--text-tertiary);
  white-space: nowrap;
  flex-shrink: 0;
  margin-left: auto;
  display: inline-block;
  min-width: 28px;
  text-align: right;
}

._itemTime_1tkyz_322[data-has-time='false'] {
  opacity: 0;
}

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

._itemSub_1tkyz_337 {
  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_1tkyz_359 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 8px;
  background: var(--purple-50);
  color: var(--purple-600);
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  flex-shrink: 0;
}

/* 多线程预览前缀 — [线程标题] */
._threadTitlePrefix_1tkyz_376 {
  color: #8b5cf6;
  margin-right: 2px;
}

/* Empty State */
._emptyState_1tkyz_382 {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  text-align: center;
  min-height: 0;
}

._emptyTitle_1tkyz_393 {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  margin-bottom: 8px;
}

._emptySubtitle_1tkyz_400 {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-bottom: 16px;
}

._emptyCreateBtn_1tkyz_406 {
  margin-top: 4px;
}

._empty_1tkyz_382 {
  padding: 10px 8px;
  font-size: 12px;
  color: var(--text-tertiary);
  text-align: center;
}

/* Footer */
._footer_1tkyz_418 {
  flex-shrink: 0;
  min-height: 44px;
  border-top: 1px solid var(--border-color);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
  gap: 8px;
}

._footerSettings_1tkyz_431 {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 8px;
  cursor: pointer;
  background: transparent;
  color: var(--text-secondary);
  border: none;
  padding: 6px 0;
  transition: color 0.15s ease;
}

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

._footerLabel_1tkyz_448 {
  font-size: 12px;
  font-weight: 500;
  color: inherit;
}

/* ── 版本号：可点击入口 ── */
._versionWrap_1tkyz_455 {
  display: inline-flex;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
  gap: 6px;
  cursor: pointer;
  background: transparent;
  border: none;
  padding: 4px 6px;
  margin: -4px -6px;
  border-radius: 4px;
  transition: background 0.15s ease;
}

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

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

._versionText_1tkyz_474 {
  font-size: 11px;
  color: var(--text-tertiary);
  transition: color 0.15s ease;
  white-space: nowrap;
}

/* ── 更新可用色点：6px 橙色呼吸动画 ── */
._updateDot_1tkyz_486 {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #F5A623;
  flex-shrink: 0;
  animation: _updateDotPulse_1tkyz_1 2.5s ease-in-out infinite;
}

@keyframes _updateDotPulse_1tkyz_1 {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.35; }
}

/* ── 置顶图标：12px，低对比度 ── */
._pinIcon_1tkyz_501 {
  flex-shrink: 0;
  color: var(--text-tertiary);
  opacity: 0.5;
}

/* ── 置顶/非置顶区分割线 ── */
._pinDivider_1tkyz_508 {
  height: 1px;
  margin: 4px 10px;
  background: var(--border-color);
  opacity: 0.5;
}._container_y6iom_1 {
  position: relative;
  flex-shrink: 0;
}

._trigger_y6iom_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_y6iom_6:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

._dropdown_y6iom_26 {
  position: absolute;
  top: calc(100% + 4px);
  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: 1000;
  animation: _fadeIn_y6iom_1 0.15s ease;
}

._dropdown_y6iom_26._right_y6iom_40 {
  right: 0;
}

._dropdown_y6iom_26._left_y6iom_44 {
  left: 0;
}

._item_y6iom_48 {
  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_y6iom_48:hover,
._item_y6iom_48._highlighted_y6iom_65 {
  background: var(--hover-bg);
}

._item_y6iom_48._danger_y6iom_69 {
  color: var(--color-error);
}

._item_y6iom_48._danger_y6iom_69:hover,
._item_y6iom_48._danger_y6iom_69._highlighted_y6iom_65 {
  background: var(--color-error-light);
}

._header_y6iom_78 {
  padding: 4px 12px 8px;
  border-bottom: 1px solid var(--border-color);
  margin-bottom: 4px;
}

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

@keyframes _fadeIn_y6iom_1 {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
._container_14vuy_1 {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--bg-primary);
  min-width: 0;
}

._header_14vuy_9 {
  flex-shrink: 0;
  padding: 18px 28px 12px;
  border-bottom: 1px solid var(--border-color);
}

._titleWrap_14vuy_15 {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--text-primary);
}

._titleWrap_14vuy_15 h1 {
  margin: 0;
  font-size: 18px;
  font-weight: 650;
}

._list_14vuy_28 {
  flex: 1;
  overflow: auto;
  padding: 18px 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

._item_14vuy_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_14vuy_38:hover {
  border-color: var(--color-primary-border);
  background: var(--hover-bg);
}

._itemMain_14vuy_55 {
  min-width: 0;
  padding: 14px 16px;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

._itemMain_14vuy_55:disabled {
  cursor: default;
}

._itemMeta_14vuy_68 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--text-tertiary);
  font-size: 12px;
  min-width: 0;
  overflow: hidden;
}

._itemMeta_14vuy_68 span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._itemMeta_14vuy_68 span:first-child {
  flex: 1;
}

._itemMeta_14vuy_68 span + span::before {
  content: '·';
  margin-right: 8px;
  color: var(--text-tertiary);
}

._summary_14vuy_96 {
  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_14vuy_107 {
  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_14vuy_107:hover {
  color: var(--text-primary);
  background: var(--hover-bg);
}

._empty_14vuy_127 {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px;
  text-align: center;
  color: var(--text-tertiary);
}

._empty_14vuy_127 h2 {
  margin: 14px 0 8px;
  color: var(--text-primary);
  font-size: 18px;
}

._empty_14vuy_127 p {
  margin: 2px 0;
  font-size: 14px;
}

._dialogBackdrop_14vuy_149 {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgb(15 23 42 / 0.28);
  backdrop-filter: blur(3px);
}

._contextDialog_14vuy_161 {
  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 / 0.2);
  min-width: 0;
}

._dialogHeader_14vuy_174 {
  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_14vuy_174 > div {
  min-width: 0;
}

._dialogHeader_14vuy_174 h2 {
  margin: 2px 0 0;
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 650;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._dialogEyebrow_14vuy_199 {
  color: var(--text-tertiary);
  font-size: 12px;
}

._iconButton_14vuy_204 {
  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_14vuy_204:hover {
  color: var(--text-primary);
  background: var(--hover-bg);
}

._contextList_14vuy_222 {
  flex: 1;
  overflow: auto;
  padding: 4px 0;
  min-width: 0;
  overflow-x: hidden;
}

._savedMessageList_14vuy_230 {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  min-width: 0;
  padding: 12px 16px 16px;
  overflow-x: hidden;
}

._contextMessage_14vuy_241 {
  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_14vuy_252 {
  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_14vuy_258 {
  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_14vuy_258 span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
}

._contextMessageMeta_14vuy_258 time {
  flex-shrink: 0;
  white-space: nowrap;
}

._contextMessageBody_14vuy_283 {
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
  color: var(--text-primary);
  font-size: 14px;
  line-height: 1.65;
  overflow-wrap: anywhere;
  word-break: break-word;
}

._contextMessageBody_14vuy_283 .blockStack {
  gap: 4px;
}

._contextMessageBody_14vuy_283 .blockItem {
  margin: 0;
}

._contextMessageBody_14vuy_283 .blockItem > * {
  margin-top: 0;
  margin-bottom: 0;
}

._contextMessageBody_14vuy_283 pre,
._contextMessageBody_14vuy_283 code,
._contextMessageBody_14vuy_283 table {
  max-width: 100%;
}

._contextMessageBody_14vuy_283 pre {
  overflow-x: auto;
}

._contextMessageUser_14vuy_317 {
  background: color-mix(in srgb, var(--color-primary) 6%, var(--bg-secondary));
}

._contextUnavailable_14vuy_321 {
  padding: 28px 16px;
  text-align: center;
  color: var(--text-tertiary);
  font-size: 14px;
}

._dialogFooter_14vuy_328 {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 20px 18px;
  border-top: 1px solid var(--border-color);
}

._secondaryButton_14vuy_337 {
  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_14vuy_337:hover {
  color: var(--text-primary);
  background: var(--hover-bg);
}

@media (max-width: 640px) {
  ._dialogBackdrop_14vuy_149 {
    align-items: stretch;
    padding: 0;
    background: var(--bg-primary);
    backdrop-filter: none;
  }

  ._contextDialog_14vuy_161 {
    width: 100%;
    max-height: 100dvh;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  ._dialogHeader_14vuy_174 {
    padding: max(14px, env(safe-area-inset-top)) 16px 12px;
    gap: 14px;
  }

  ._dialogHeader_14vuy_174 h2 {
    max-width: calc(100vw - 88px);
    overflow: hidden;
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  ._dialogEyebrow_14vuy_199 {
    font-size: 11px;
  }

  ._contextList_14vuy_222 {
    padding: 0;
    overflow-x: hidden;
  }

  ._savedMessageList_14vuy_230 {
    gap: 6px;
    padding: 10px 10px 14px;
  }

  ._contextMessage_14vuy_241 {
    padding: 10px;
    border-radius: 12px;
  }

  ._contextMessageMeta_14vuy_258 {
    align-items: flex-start;
    gap: 8px;
  }

  ._contextMessageBody_14vuy_283 {
    font-size: 14px;
    line-height: 1.7;
  }

  ._dialogFooter_14vuy_328 {
    flex-direction: column-reverse;
    padding: 12px 16px max(16px, env(safe-area-inset-bottom));
  }

  ._secondaryButton_14vuy_337 {
    width: 100%;
  }
}
._container_1eit3_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_1eit3_13 {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--gradient-primary-end) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.5rem;
}

._icon_1eit3_13 {
  width: 2.5rem;
  height: 2.5rem;
  color: white;
}

._title_1eit3_30 {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

._description_1eit3_37 {
  font-size: 1rem;
  color: var(--text-secondary);
  margin: 0 0 1rem 0;
  max-width: 400px;
}

._secondaryLink_1eit3_44 {
  background: none;
  border: none;
  color: var(--text-tertiary);
  font-size: 12px;
  cursor: pointer;
  padding: 0;
  margin-top: 0.5rem;
  transition: color 0.15s ease;
}

._secondaryLink_1eit3_44:hover {
  color: var(--text-secondary);
}
/* WelcomeState — 安静的过渡空间
 *
 * 居中、有呼吸感、不抢戏。
 * 用户要做的只有一件事：去侧边栏选一个人。
 * 这个页面只是让空白不那么空白。
 */

._container_155b7_8 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  padding: 2rem;
  gap: 1rem;
  user-select: none;
}

/* ── 品牌图标 ── */

._brandIcon_155b7_21 {
  color: var(--text-tertiary);
  opacity: 0.4;
  margin-bottom: 0.5rem;
}

/* ── 主文案 ── */

._title_155b7_29 {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
  letter-spacing: -0.01em;
  opacity: 0.85;
}

/* ── 副文案 ── */

._subtitle_155b7_40 {
  font-size: 0.875rem;
  color: var(--text-tertiary);
  text-align: center;
  margin: 0;
  line-height: 1.5;
}

/* ── 分隔线 ── */

._dividerRow_155b7_50 {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.5rem;
  width: 200px;
  max-width: 100%;
}

._dividerLine_155b7_59 {
  flex: 1;
  height: 1px;
  background: var(--border-default);
}

._dividerText_155b7_65 {
  font-size: 0.75rem;
  color: var(--text-tertiary);
  opacity: 0.7;
}

/* ── 群聊 CTA ── */

._groupCta_155b7_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_155b7_73:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: white;
  box-shadow: 0 4px 12px rgba(168, 85, 247, 0.25);
}

._groupCta_155b7_73:active {
  transform: scale(0.97);
}

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

/* ── Empty State ── */

._empty_155b7_107 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  gap: 1rem;
  color: var(--text-tertiary);
}

._emptyIcon_155b7_117 {
  opacity: 0.3;
}

._emptyText_155b7_121 {
  font-size: 0.9rem;
  text-align: center;
  margin: 0;
}
._container_31t0s_1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  text-align: center;
  padding: 2rem;
  background: radial-gradient(ellipse at center, transparent 0%, var(--bg-secondary) 100%);
}

._loading_31t0s_12 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

._spinner_31t0s_19 {
  width: 32px;
  height: 32px;
  border: 3px solid var(--color-border);
  border-top-color: var(--color-primary);
  border-radius: 50%;
  animation: _spin_31t0s_19 0.8s linear infinite;
}

._loadingText_31t0s_28 {
  font-size: 13px;
  color: var(--text-tertiary);
}

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

/* 引导卡片 — 邀请感而非警告 */
._card_31t0s_40 {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  padding: 2.5rem;
  max-width: 440px;
  width: 100%;
  text-align: center;
}

._iconWrapper_31t0s_50 {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--gradient-primary-end) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
}

._icon_31t0s_50 {
  width: 2rem;
  height: 2rem;
  color: white;
}

._title_31t0s_67 {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 0.75rem 0;
}

._description_31t0s_74 {
  font-size: 1rem;
  color: var(--text-secondary);
  margin: 0 0 2rem 0;
  line-height: 1.5;
}

._steps_31t0s_81 {
  text-align: left;
  margin-bottom: 2rem;
}

._step_31t0s_81 {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 0.75rem 0;
}

._stepNumber_31t0s_93 {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background: var(--color-primary);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 600;
  flex-shrink: 0;
}

._stepContent_31t0s_107 {
  flex: 1;
}

._stepTitle_31t0s_111 {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: 0.25rem;
}

._stepDesc_31t0s_118 {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.4;
}

._stepDivider_31t0s_124 {
  width: 1px;
  height: 1rem;
  background: var(--color-border);
  margin-left: 0.875rem;
}

._actions_31t0s_131 {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: center;
}

._actions_31t0s_131 button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Banner — 从警告改为邀请 */
._banner_31t0s_145 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.08) 0%, rgba(139, 92, 246, 0.08) 100%);
  border: 1px solid rgba(99, 102, 241, 0.15);
  border-radius: 12px;
  margin: 1rem;
}

._bannerContent_31t0s_157 {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  flex: 1;
  min-width: 0;
}

._bannerIcon_31t0s_165 {
  color: var(--color-primary);
  flex-shrink: 0;
  margin-top: 0.125rem;
}

._bannerText_31t0s_171 {
  text-align: left;
  min-width: 0;
}

._bannerTitle_31t0s_176 {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: 0.125rem;
}

._bannerDesc_31t0s_183 {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.4;
}

._bannerActions_31t0s_189 {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* AgentChannelCheck — 轻量提示 */
._checkCard_31t0s_196 {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.06) 0%, rgba(139, 92, 246, 0.06) 100%);
  border: 1px solid rgba(99, 102, 241, 0.12);
  border-radius: 10px;
  margin: 0.5rem 0;
}

._checkIcon_31t0s_207 {
  color: var(--color-primary);
  flex-shrink: 0;
}

._checkText_31t0s_212 {
  flex: 1;
  min-width: 0;
  text-align: left;
}

._checkTitle_31t0s_218 {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: 0.125rem;
}

._checkDesc_31t0s_225 {
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.4;
}

._checkActions_31t0s_231 {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}
/* ── 遮罩 ────────────────────────────────── */
._mask_2ufe9_2 {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1000;
  animation: _fadeIn_2ufe9_1 0.15s ease-out;
}

/* ── 抽屉主体 ────────────────────────────── */
._drawer_2ufe9_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: -4px 0 24px rgba(0, 0, 0, 0.15);
  z-index: 1001;
  display: flex;
  flex-direction: column;
  animation: _slideInRight_2ufe9_1 0.2s ease-out;
}

._resizeHandle_2ufe9_28 {
  position: absolute;
  top: 0;
  left: -4px;
  bottom: 0;
  width: 8px;
  cursor: col-resize;
  z-index: 2;
}

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

._resizeHandle_2ufe9_28:hover::before,
._resizeHandleActive_2ufe9_50::before {
  background: var(--color-primary);
}

@keyframes _fadeIn_2ufe9_1 {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes _fadeOut_2ufe9_1 {
  from { opacity: 1; }
  to { opacity: 0; }
}

@keyframes _slideInRight_2ufe9_1 {
  from { transform: translateX(100%); }
  to { transform: translateX(0); }
}

@keyframes _slideOutRight_2ufe9_1 {
  from { transform: translateX(0); }
  to { transform: translateX(100%); }
}

._maskClosing_2ufe9_74 {
  animation: _fadeOut_2ufe9_1 0.2s ease-in forwards;
}

._drawerClosing_2ufe9_78 {
  animation: _slideOutRight_2ufe9_1 0.2s ease-in forwards;
}

/* ── Header ─────────────────────────────── */
._header_2ufe9_83 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border-default);
  flex-shrink: 0;
  gap: 8px;
}

._headerLeft_2ufe9_93 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  flex: 1;
}

._fileTextColumn_2ufe9_101 {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  flex: 1;
}

._fileTitleRow_2ufe9_109 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  width: 100%;
}

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

._fileName_2ufe9_122 {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._fileSize_2ufe9_131 {
  font-size: 12px;
  color: var(--text-tertiary);
  flex-shrink: 0;
  background: var(--bg-secondary);
  padding: 2px 6px;
  border-radius: 4px;
}

._filePath_2ufe9_140 {
  font-size: 11px;
  line-height: 1.3;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}

._headerRight_2ufe9_150 {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

/* ── 模式切换 ───────────────────────────── */
._modeToggle_2ufe9_158 {
  display: flex;
  border: 1px solid var(--border-default);
  border-radius: 6px;
  overflow: hidden;
}

._modeButton_2ufe9_165 {
  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_2ufe9_165:hover {
  color: var(--text-primary);
  background: var(--hover-bg);
}

._modeButtonActive_2ufe9_183 {
  color: var(--color-primary);
  background: var(--bg-secondary);
}

._modeButton_2ufe9_165 + ._modeButton_2ufe9_165 {
  border-left: 1px solid var(--border-default);
}

/* ── 打开目录按钮 ───────────────────────── */
._folderButton_2ufe9_193 {
  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;
}

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

/* ── 关闭按钮 ───────────────────────────── */
._closeButton_2ufe9_213 {
  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_2ufe9_213:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

/* ── 内容区 ─────────────────────────────── */
._content_2ufe9_233 {
  flex: 1;
  min-height: 0;
  overflow: auto;
  position: relative;
}

._imagePreviewButton_2ufe9_240 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 100%;
  padding: 16px;
  border: none;
  background: transparent;
  cursor: zoom-in;
}

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

._imagePreview_2ufe9_240 {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 96px);
  object-fit: contain;
}

/* ── 加载状态 ───────────────────────────── */
._loading_2ufe9_265 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 200px;
  color: var(--text-tertiary);
  font-size: 14px;
}

._spinner_2ufe9_276 {
  animation: _spin_2ufe9_276 1s linear infinite;
}

@keyframes _spin_2ufe9_276 {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* ── 错误状态 ────────────────────────────── */
._error_2ufe9_286 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px;
  color: var(--color-error, #e53e3e);
  font-size: 14px;
}

/* ── 二进制文件提示 ──────────────────────── */
._binaryPrompt_2ufe9_296 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 300px;
  color: var(--text-tertiary);
}

._binaryIcon_2ufe9_306 {
  opacity: 0.4;
}

._binaryText_2ufe9_310 {
  font-size: 14px;
  margin: 0;
}

/* ── 大文件提示 ─────────────────────────── */
._tooLargePrompt_2ufe9_316 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 300px;
  color: var(--text-tertiary);
}

._tooLargeIcon_2ufe9_326 {
  opacity: 0.4;
  color: var(--color-warning, #f59e0b);
}

._tooLargeTitle_2ufe9_331 {
  font-size: 15px;
  font-weight: 500;
  color: var(--text-secondary);
  margin: 0;
}

._tooLargeDesc_2ufe9_338 {
  font-size: 13px;
  margin: 0;
}

._openExternalButton_2ufe9_343 {
  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_2ufe9_343:hover {
  background: var(--hover-bg);
  border-color: var(--color-primary);
}

/* ── Markdown 预览内容 ───────────────────── */
._previewContent_2ufe9_363 {
  padding: 16px;
  overflow: auto;
}

/* ── HTML 预览 iframe ────────────────────── */
._previewFrame_2ufe9_369 {
  width: 100%;
  height: 100%;
  border: none;
  background: #fff;
}

/* ── Run 内合并 diff ─────────────────────── */
._diffPreview_2ufe9_377 {
  padding: 12px;
  overflow: auto;
}

._diffPreview_2ufe9_377 > * {
  min-width: max-content;
}

/* ── SyntaxHighlighter 微调 ──────────────── */
._content_2ufe9_233 pre {
  margin: 0 !important;
}

/* ── 搜索悬浮栏 ─────────────────────────── */
._searchWidget_2ufe9_392 {
  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 rgba(0, 0, 0, 0.08);
}

._searchIcon_2ufe9_405 {
  color: var(--text-tertiary);
  flex-shrink: 0;
  margin-right: 4px;
}

._searchInput_2ufe9_411 {
  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_2ufe9_411:focus {
  border-color: var(--color-primary);
}

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

._searchBtn_2ufe9_435 {
  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_2ufe9_435:hover:not(:disabled),
._searchBtn_2ufe9_435:focus-visible:not(:disabled) {
  background: var(--hover-bg);
  color: var(--text-primary);
}

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

._searchBtn_2ufe9_435:disabled {
  opacity: 0.4;
  cursor: default;
}

._searchBtnActive_2ufe9_466 {
  color: var(--color-primary);
  background: var(--bg-secondary);
}

._searchCount_2ufe9_471 {
  font-size: 12px;
  color: var(--text-secondary);
  flex-shrink: 0;
  min-width: 36px;
  text-align: center;
  font-family: var(--font-mono, monospace);
}

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

/* ── 搜索高亮源码渲染 ───────────────────── */
._highlightedSource_2ufe9_485 {
  padding: 16px;
  font-size: 13px;
  line-height: 1.6;
  font-family: var(--font-mono, monospace);
}

._codeLine_2ufe9_492 {
  display: flex;
  min-height: 21px;
}

._lineNumber_2ufe9_497 {
  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_2ufe9_510 {
  flex: 1;
  min-width: 0;
  white-space: pre;
  font-family: var(--font-mono, monospace);
  font-size: 13px;
  line-height: 1.6;
}

._searchHighlight_2ufe9_519 {
  background: rgba(255, 200, 0, 0.35);
  border-radius: 2px;
  outline: 1px solid rgba(255, 200, 0, 0.5);
}

._searchHighlightCurrent_2ufe9_525 {
  background: rgba(255, 160, 0, 0.6);
  outline: 2px solid rgba(255, 140, 0, 0.8);
}

/* ── Markdown 预览搜索高亮 ─────────────── */
._markSearchHighlight_2ufe9_531 {
  background-color: rgba(255, 200, 0, 0.4);
  border-radius: 2px;
  padding: 0 1px;
  color: inherit;
}

._markSearchHighlightCurrent_2ufe9_538 {
  background-color: rgba(255, 150, 0, 0.7);
  outline: 1px solid rgba(255, 150, 0, 0.9);
}


._quoteSelectionButtonInDrawer_2ufe9_544 {
  z-index: 1002;
}

._lineNumber_2ufe9_497 {
  user-select: none;
}

.react-syntax-highlighter-line-number {
  user-select: none;
}
._connectionBanner_1j1rw_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_1j1rw_1 0.2s ease-out;
}

@keyframes _slideDown_1j1rw_1 {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
._app_1sbwc_1 {
  display: flex;
  height: 100vh;
  overflow: hidden;
}

/* ── 侧边栏过渡容器 ── */
._sidebarWrap_1sbwc_8 {
  width: 0;
  flex-shrink: 0;
  overflow: hidden;
  opacity: 0;
  transition: width 250ms ease-out, opacity 200ms ease-out;
}

._sidebarOpen_1sbwc_16 {
  width: 240px;
  opacity: 1;
}

/* 主内容区域过渡动画 */
._contentContainer_1sbwc_22 {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}

/* 对话切换动画 */
._conversationEnter_1sbwc_31 {
  animation: _conversationEnter_1sbwc_31 0.25s ease-out;
}

@keyframes _conversationEnter_1sbwc_31 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* ── 响应式：Sidebar 遮罩层 ─────────────────────────── */
/* 桌面端：遮罩不可见，不影响布局 */
._overlay_1sbwc_46 {
  display: none;
}

/* ── 响应式：≤768px ────────────────────────────────── */
@media (max-width: 768px) {
  /* 移动端 sidebar 是 fixed drawer，wrap 不参与布局 */
  ._sidebarWrap_1sbwc_8 {
    width: 0 !important;
    opacity: 1 !important;
  }

  /* 遮罩层：覆盖全屏，点击关闭 sidebar */
  ._overlay_1sbwc_46 {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 900;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
  }

  ._overlayVisible_1sbwc_70 {
    opacity: 1;
    pointer-events: auto;
  }

  /* 移动端无活跃对话时，左上角打开 sidebar 的按钮 */
  ._mobileSidebarBtn_1sbwc_76 {
    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_1sbwc_76:hover {
    background: var(--hover-bg);
    color: var(--text-primary);
  }
}
._container_1s8qy_1 {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  background: var(--bg-primary);
  padding: 2rem;
}

._content_1s8qy_10 {
  text-align: center;
  max-width: 500px;
}

._icon_1s8qy_15 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  color: var(--color-warning);
}

._title_1s8qy_23 {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 0.5rem;
}

._message_1s8qy_30 {
  color: var(--text-secondary);
  margin-bottom: 1.5rem;
}

._error_1s8qy_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_1s8qy_48 {
  position: relative;
  margin-bottom: 1.5rem;
}

._copyButton_1s8qy_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;
  transition: background 0.2s ease;
}

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

._actions_1s8qy_73 {
  display: flex;
  gap: 1rem;
  justify-content: center;
}

._link_1s8qy_79 {
  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_1s8qy_79: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;

  /* ===== 功能色 ===== */
  --green-500: #22c55e;
  --green-600: #16a34a;
  --red-500: #ef4444;
  --red-600: #dc2626;
  --blue-500: #3b82f6;
  --blue-600: #2563eb;
  --yellow-500: #eab308;
  --cyan-500: #06b6d4;

  /* ===== 渐变色 ===== */
  --gradient-primary-start: var(--purple-500);
  --gradient-primary-end: var(--pink-500);
  --gradient-blue-start: var(--blue-500);
  --gradient-blue-end: var(--cyan-500);
}

/**
 * 字体系统
 */

: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-primary: 0 2px 8px rgba(168, 85, 247, 0.15);
  --shadow-primary-lg: 0 4px 16px rgba(168, 85, 247, 0.2);

  /* 焦点环 */
  --ring-width: 3px;
  --ring-offset-width: 2px;
  --ring-color: rgba(168, 85, 247, 0.15);
  --ring-primary: 0 0 0 var(--ring-offset-width) var(--ring-color);
}

/* 暗色主题阴影 */

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

/**
 * 过渡动画系统
 */

: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;

  /* ===== 边框色 ===== */
  --border-default: #e5e7eb;
  --border-strong: #d1d5db;
  --border-focus: var(--purple-500);

  /* ===== 功能色 ===== */
  --color-primary: var(--purple-500);
  --color-primary-hover: var(--purple-600);
  --color-primary-subtle: rgba(168, 85, 247, 0.04);
  --color-primary-muted: rgba(168, 85, 247, 0.08);
  --color-primary-light: rgba(168, 85, 247, 0.1);
  --color-primary-medium: rgba(168, 85, 247, 0.2);
  --color-primary-border: rgba(168, 85, 247, 0.12);
  
  --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-500);
  --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(--purple-500);
  --gradient-primary-end: var(--pink-500);
  --gradient-primary-start-dark: var(--purple-600);
  --gradient-primary-end-dark: var(--pink-600);
  --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);

  /* ===== 终端 ===== */
  --terminal-bg: #1e1e1e;
  --terminal-fg: #d4d4d4;
  --terminal-cursor: #d4d4d4;
}

/* ===== 暗色主题 ===== */

html[data-theme="dark"] {
  --bg-primary: #111827;
  --bg-secondary: #1f2937;
  --bg-tertiary: #374151;
  --bg-hover: #374151;
  --bg-active: #4b5563;
  --bg-elevated: #1f2937;

  --text-primary: #ffffff;
  --text-secondary: #9ca3af;
  --text-tertiary: #6b7280;
  --text-inverse: #111827;

  --border-default: #374151;
  --border-strong: #4b5563;
  --border-focus: var(--purple-400);

  --surface: rgba(31, 41, 55, 0.8);
  --scrollbar-thumb: var(--border-strong);
  --scrollbar-thumb-hover: var(--text-secondary);
  --scrollbar-thumb-active: var(--text-primary);

  --list-item-hover-bg: rgba(255, 255, 255, 0.05);
  --list-item-active-bg: rgba(255, 255, 255, 0.08);
}

/* ===== 系统暗色偏好回退（JS 加载前生效） ===== */

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg-primary: #111827;
    --bg-secondary: #1f2937;
    --bg-tertiary: #374151;
    --bg-hover: #374151;
    --bg-active: #4b5563;
    --bg-elevated: #1f2937;

    --text-primary: #ffffff;
    --text-secondary: #9ca3af;
    --text-tertiary: #6b7280;
    --text-inverse: #111827;

    --border-default: #374151;
    --border-strong: #4b5563;
    --border-focus: var(--purple-400);

    --surface: rgba(31, 41, 55, 0.8);
    --scrollbar-thumb: var(--border-strong);
    --scrollbar-thumb-hover: var(--text-secondary);
    --scrollbar-thumb-active: var(--text-primary);

    --list-item-hover-bg: rgba(255, 255, 255, 0.05);
    --list-item-active-bg: rgba(255, 255, 255, 0.08);
  }
}

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

* {
  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(--purple-500);
  --accent-green: var(--green-500);
  --accent-red: var(--red-500);
  --accent-color-light: var(--color-primary-light);
  --accent-color-medium: var(--color-primary-medium);
  --primary-color: var(--purple-500);

  /* 渐变（旧名） */
  --gradient-purple-from: var(--purple-500);
  --gradient-purple-to: var(--pink-500);
  --gradient-blue-from: var(--blue-500);
  --gradient-blue-to: var(--cyan-500);

  /* 气泡 */
  --user-bubble-from: #fbf8ff;
  --user-bubble-to: #fbf8ff;
  --user-bubble-text: #1f2937;
  --user-bubble-border: rgba(168, 85, 247, 0.14);

  /* Primary 色阶扩展（用于 HandoffCard 等组件） */
  --color-primary-subtle: rgba(168, 85, 247, 0.04);
  --color-primary-muted: rgba(168, 85, 247, 0.08);
  --color-primary-border: rgba(168, 85, 247, 0.12);

  /* 功能语义 */
  --error: var(--color-error);
  --success: var(--color-success);
}

html[data-theme="dark"] {
  --user-bubble-from: rgba(76, 29, 149, 0.28);
  --user-bubble-to: rgba(88, 28, 135, 0.24);
  --user-bubble-text: #ede9fe;
  --user-bubble-border: rgba(216, 180, 254, 0.14);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --user-bubble-from: rgba(76, 29, 149, 0.28);
    --user-bubble-to: rgba(88, 28, 135, 0.24);
    --user-bubble-text: #ede9fe;
    --user-bubble-border: rgba(216, 180, 254, 0.14);
  }
}

/* 
 * 暗色主题和系统偏好回退由 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;
}
