/*底部、输入框*/
.chat-header-bar{
	position:relative;
	display:flex;
	align-items:center;
	gap:8px;
	height:48px;
	padding:0 16px;
	border-bottom:1px solid #f0f0f0;
	background:#fff;
	flex-shrink:0;
}
.chat-header-title{
	font-size:15px;
	font-weight:600;
	color:#333;
	max-width:420px;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.chat-header-title-input{
	width:320px;
	height:30px;
	padding:2px 8px;
	font-size:14px;
	border:1px solid #3855d5;
	border-radius:6px;
	outline:none;
	box-sizing:border-box;
}
.chat-header-more{
	display:flex;
	align-items:center;
	justify-content:center;
	width:26px;
	height:26px;
	border-radius:6px;
	cursor:pointer;
	color:#888;
	font-size:16px;
	letter-spacing:1px;
	user-select:none;
	transition:all 0.15s;
}
.chat-header-more:hover{
	background:#f5f5f5;
	color:#333;
}
.chat-header-menu{
	position:absolute;
	top:44px;
	left:16px;
	background:#fff;
	border:1px solid #ececec;
	border-radius:10px;
	box-shadow:0 8px 30px rgba(0,0,0,0.12);
	padding:6px;
	min-width:150px;
	z-index:130;
	display:none;
}
.chat-header-menu-item{
	padding:8px 12px;
	font-size:14px;
	color:#333;
	border-radius:6px;
	cursor:pointer;
	white-space:nowrap;
}
.chat-header-menu-item:hover{
	background:#f5f5f5;
}

/* ==================== 查看记忆 右侧抽屉 ==================== */
.memory-overlay{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.25);
	z-index: 1200;
}
.memory-drawer{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 960px;
	max-width: 92vw;
	background: #fff;
	box-shadow: -6px 0 24px rgba(0, 0, 0, 0.12);
	display: flex;
	flex-direction: column;
	animation: memoryDrawerIn 0.2s ease;
}
@keyframes memoryDrawerIn{
	from { transform: translateX(30px); opacity: 0; }
	to   { transform: translateX(0); opacity: 1; }
}
.memory-drawer-header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 50px;
	padding: 0 20px;
	border-bottom: 1px solid #f0f0f0;
	flex-shrink: 0;
}
.memory-drawer-title{
	font-size: 15px;
	font-weight: 600;
	color: #333;
}
.memory-drawer-close{
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	color: #999;
	cursor: pointer;
	border-radius: 4px;
	transition: all 0.15s;
	user-select: none;
}
.memory-drawer-close:hover{
	background: #f5f5f5;
	color: #333;
}
.memory-drawer-body{
	flex: 1;
	overflow: auto;
	padding: 12px 16px;
	box-sizing: border-box;
}
.message-footer{
	position:relative;
	background:#fff;
	max-width: 1010px;
    margin: 0 auto;
	overflow: visible;
	padding: 0px 20px;
}
.message-footer-inner{
	display:flex;
	flex-direction:column;
	width: 100%;
	border:1px solid #e5e5e5;
	border-radius:15px;
}
.message-footer .input-area{
	padding: 0px 10px;
    position: relative;
}
.message-footer .input-area .input-textarea{
	overflow: visible;
}
.message-footer .input-area textarea{
	overflow:auto;
	min-height:75px;
	width:100%;
	border:none;
}
/*底部操作栏：+功能菜单 / 深度思考 / 训练模式 | 清除上下文 / 模型选择 / 发送*/
.footer-toolbar{
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:space-between;
	padding:2px 10px 10px 10px;
	position:relative;
}
.footer-toolbar .toolbar-left,
.footer-toolbar .toolbar-right{
	display:flex;
	flex-direction:row;
	align-items:center;
}
.footer-toolbar .toolbar-left{gap:4px;}
.footer-toolbar .toolbar-right{gap:8px;}
.footer-toolbar .toolbar-btn{
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:center;
	height:32px;
	padding:4px 10px;
	font-size:14px;
	line-height:22px;
	color:#333;
	cursor:pointer;
	border-radius:16px;
	overflow:hidden;
	white-space:nowrap;
	transition:background 0.2s;
}
.footer-toolbar .toolbar-btn:hover{
	background:#f5f5f5;
}
.footer-toolbar .toolbar-btn.active{
	background:#f1f1f1;
}
.footer-toolbar .toolbar-btn img{
	width:18px;
	margin-right:3px;
}
/* + 按钮（打开功能菜单） */
.footer-toolbar .btn-plus{
	padding:4px 8px;
	color:#555;
}
.footer-toolbar .btn-plus svg{
	display:block;
}
/* 创作模式切换（active = task_type 为 creation） */
.footer-toolbar .btn-creation-mode{
	gap:6px;
	position:relative;
	z-index:1;
}
.footer-toolbar .btn-creation-mode .mode-switch-icon{
	width:18px;
	height:18px;
	margin-right:0;
	transition:all 0.3s ease;
}
.footer-toolbar .btn-creation-mode .mode-switch-text{
	font-size:14px;
	color:#333;
	transition:all 0.3s ease;
}
.footer-toolbar .btn-creation-mode.active{
	background:#C4D9F5;
	color:#2b6cb0;
	font-weight:bold;
}
.footer-toolbar .btn-creation-mode.active::before{
	content:'';
	position:absolute;
	top:-4px;
	left:-4px;
	right:-4px;
	bottom:-4px;
	border-radius:8px;
	background:linear-gradient(135deg, rgba(196, 217, 245, 0.4), rgba(196, 217, 245, 0.1));
	z-index:-1;
	animation:train-mode-pulse 3s ease-in-out infinite;
}
@keyframes train-mode-pulse{
	0%, 100%{
	opacity:0.3;
	transform:scale(1);
	}
	50%{
	opacity:0.6;
	transform:scale(1.05);
	}
}
/* 模型/深度思考力度选择chip */
.footer-toolbar .used-model .cont,
.footer-toolbar .used-effort .cont,
.footer-toolbar .used-agent .cont{
	max-width:185px;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}
.footer-toolbar .used-model .icon,
.footer-toolbar .used-effort .icon,
.footer-toolbar .used-agent .icon{
	display:flex;
	align-items:center;
	overflow:hidden;
}
.footer-toolbar .used-model .icon img,
.footer-toolbar .used-effort .icon img,
/* 会话智能体：圆形图标 + 名称限长 */
.footer-toolbar .used-agent .cont{
	display: flex;
	align-items: center;
}
.used-agent-icon{
	width: 18px;
	height: 18px;
	border-radius: 50%;
	margin-right: 5px;
	object-fit: cover;
	flex-shrink: 0;
	background: #f0f1f3;
	display: block;
}
.used-agent-name{
	max-width: 140px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.footer-toolbar .used-agent.readonly{
	cursor: default;
}
.footer-toolbar .used-agent.readonly:hover{
	background: transparent;
}
.footer-toolbar .used-agent .icon img{
	width:14px;
	margin-right:0;
}
/* 发送按钮 */
.footer-toolbar .send{
	color: #fff;
	border: none;
	cursor: pointer;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:2px;
}
.footer-toolbar .send img{
	width:32px;
	height: 32px;
	margin-right:0;
}
/* + 功能菜单（向上弹出） */
.plus-menu{
	position:absolute;
	left:10px;
	bottom:46px;
	background:#fff;
	border:1px solid #ececec;
	border-radius:12px;
	box-shadow:0 8px 30px rgba(0,0,0,0.12);
	padding:6px;
	min-width:190px;
	z-index:130;
	display:none;
}
.plus-menu-item{
	display:flex;
	align-items:center;
	gap:8px;
	padding:9px 10px;
	font-size:14px;
	color:#333;
	border-radius:8px;
	cursor:pointer;
	white-space:nowrap;
}
.plus-menu-item:hover{
	background:#f5f5f5;
}
.plus-menu-item .pm-icon{
	width:18px;
	height:18px;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:13px;
	color:#666;
	flex-shrink:0;
}

/*文件上传显示*/
.footer-files-main{
	overflow: hidden;
}
.footer-files-wrap{
	overflow-x: auto;
	width: 100%;
	height: 50px;
	padding: 3px 8px;
	display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
}
.footer-files-wrap .footer-show-item{
    border-radius: 5px;
	height: 100%;
	flex-shrink: 0;
	margin-right:10px;
	position:relative;
}
.footer-files-wrap .btn-show-imgs-item{
	background:#f5f5f5;
	text-align:center;
}
.footer-files-wrap .btn-show-imgs-item .imgs{
	width:100%;
	height:100%;
	border-radius:3px;
}

.footer-files-wrap .btn-show-files-item{
	max-width:165px;
	min-width:40px;
	border-radius:5px;
	padding: 7px;
	background:#f5f5f5;
	text-align:center;
	position:relative;
}

.footer-files-wrap .file_wrap{
	overflow:hidden;
}
.footer-files-wrap .file_wrap .file_wrap_icon{
	overflow:hidden;
	width:35px;
	float:left;
}
.footer-files-wrap .file_wrap .file_wrap_icon img{
	width:100%;
	height:100%;
}
.footer-files-wrap .file_wrap .file_wrap_cont{
	overflow:hidden;
	padding-left:5px;
}
.footer-files-wrap .file_wrap .file_wrap_cont .name{
	overflow: hidden;
    color: #2b2b2b;
    font-size: 13px;
    line-height: 19px;
    word-break: break-all;
    text-align: left;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.footer-files-wrap .file_wrap .file_wrap_cont .extra{
	overflow: hidden;
    color: #777;
    font-size: 12px;
    line-height: 17px;
    text-align: left;
	white-space:nowrap;
}
.footer-files-wrap .remove{		
	position:absolute;
	width:20px;
	height:20px;
	top: 0px;
    right: 0px;
	z-index:13;
	cursor:pointer;
}
.footer-files-wrap .remove img{
	width:20px;
	vertical-align:top;
}
.footer-files-wrap .progress_percent{
	position:absolute;
	top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
	margin:auto;
	z-index:12;
	text-align:center;
	color:#fff;
	background:rgba(0, 0, 0, 0.3) none repeat scroll 0 0 !important;
	filter:Alpha(opacity=0); 
	line-height:40px;
	font-size:12px;
}

/*聊天主体*/
.messages-container {
    overflow-y: auto;
	overflow-x:hidden;
	position:relative;
}
.messages-wrap{
	overflow:hidden;
	max-width: 1080px;
    margin: 0px auto;
}
.messages{
	padding:10px 20px;
	min-height:380px;
}

.live-message-item{
	overflow:hidden;
	margin:10px 0px;
	box-sizing: border-box;
}
.messages .question{padding-left:45px;}

.live-message-item .msg-item-headpic{
	width:45px;
	text-align:left;
	float:left;
}
.messages .question .msg-item-headpic{float:right; text-align:right;}
.live-message-item .msg-item-headpic img{
	border-radius:50%;
	width:40px;
	margin-top:2px;
}
.live-message-item .msg-item-main{
	overflow:hidden;
	position:relative;
}
.messages .question .msg-item-main{margin-right:45px; text-align:left;}
.messages .answer .msg-item-main{margin-left:45px;}
.live-message-item .msg-item-name{
	line-height:25px;
	color:#777;
	font-size:0.8rem;
	white-space:nowrap; 
	overflow:hidden; 
	text-overflow:ellipsis;
}
.messages .question .msg-item-name{text-align:right;}

.live-message-item .msg-item-name .identity{
	color:#f85f48;
	margin-left:4px;
	font-size:0.85rem;
}
.live-message-item .msg-item-cont{
	border-radius:5px;
	position:relative;
}
.live-message-item .msg-item-cont h1,.live-message-item .msg-item-cont h2,.live-message-item .msg-item-cont h3,.live-message-item .msg-item-cont h4{
	font-weight: 400;
	font-size: 1rem;
}

.live-message-item .msg-item-cont .pic-img-list{
	overflow:hidden;
}
.live-message-item .msg-item-cont .pic-img-item {
	position: relative;
	overflow: hidden;
	/* margin-right: 15px; */
	margin-bottom: 10px;
	float: left;
	/* background: #e3e3e3; */
	width: 150px;
	height: 150px;
	text-align: center;
}
.msg-item-cont .pic-cont img, .msg-item-cont .text-cont img, .msg-item-cont .video-cont img {
	border-radius: 5px;
	max-width: 100%;
	max-height: 100%;
}
.question .msg-item-cont .pic-img-item{
	float:right;
}
.messages .question .msg-item-cont{text-align:right;}
.live-message-item .msg-item-cont .question-cont{
	overflow:hidden;
	padding:7px 9px;
	font-size:0.95rem;
	line-height:22px;
	word-break:break-all;
	color:#222;
	border-bottom:1px solid #f1f1f1;
}
.live-message-item .msg-item-cont .question-cont .iconfont{
	color:#f85f48;
	margin-right:2px;
}

.live-message-item .msg-item-cont .text-cont{
	font-size:15px;
	display:inline-block;
	color:#1F1F1F;
	text-align:left;
	border-radius:8px;
	padding:10px 10px;
	line-height:27px;
	position:relative;
	z-index:1;
	min-width:35px;
	min-height:35px;
	word-break:break-all;
}
.messages .question .msg-item-cont .text-cont{
	background:#f5f5f5;
	max-width: 650px;
}
.live-message-item .msg-item-cont .voice-cont	{
	line-height:22px;
	display:inline-block;
	padding:8px 9px 3px 9px;
	background:#fff;
	border-radius:5px;
	position:relative;
	max-width:1000px;
}
.live-message-item .msg-item-cont .pic-cont	{
	position:relative;
	border-radius:5px;
	max-width:1000px;
}
.messages .picture{
	cursor:pointer;
}
.messages .question .msg-item-cont .pic-cont{float:right;}
.live-message-item .msg-item-cont .video-cont	{
	background:#f2f2f2;
	border-radius:5px;
	position:relative;
	width:155px;
}
.messages .question .msg-item-cont .video-cont{float:right;}
.msg-item-cont .pic-cont img,.msg-item-cont  .text-cont img,.msg-item-cont  .video-cont img{
	border-radius:5px;
	max-width:100%;
	background:#f2f2f2;
}

.messages .time-tishi{
	text-align:center;
	overflow:hidden;
	margin:10px auto;
}
.messages .time-tishi span{
	padding:3px 10px;
	border-radius:3px;
	font-size:0.8rem;
	color:#aeaeae;
	line-height:19px;
	display:inline-block;	
}

.live-message-item p{
	margin:6px 0px;
}

.copy-main{
	overflow:hidden;
	padding:5px;
}
.copy-main .citem{
	color:#888;
	font-size:0.8rem;
	margin-left:15px;
	cursor:pointer;
}
.question .copy-main .citem{
	margin-left:0px;
	margin-right:15px;
}
.copy-main .copy, .copy-main .download{
	margin-left:0px;
}
.copy-main .copy + .download{
	margin-left:10px;
}
.copy-main .citem img{
	width:16px;
}
.copy-main .citem.zan-active{
	color: #4a90e2;
}
.copy-main .citem.zan.zan-active img{
	filter: none;
}
.copy-main .citem.zan:not(.zan-active) img{
	opacity: 0.5;
	filter: grayscale(30%);
}
.copy-main .join-training-text{
	color:#4a90e2;
	font-size:12px;
	margin-right:4px;
}
.copy-main .words-num{
	color:#999;
	font-size:13px;
	line-height:22px;
}
.live-message-item .load{
	overflow:hidden;
	padding:3px 10px;
	color:#666;
	font-size:12px;
}
.live-message-item .load img{
	width:14px;
	margin-right:3px;
}
.live-message-item .load .succ{
	color:#13CE66;
}
.live-message-item .load .err{
	color:#FF4949;
}
.question .load{
	text-align:right;
}
.answer .load{
	text-align:left;
}
.live-message-item .reasoning-cont{
	overflow:hidden;
	border-left:2px solid #ddd;
}
.live-message-item .text-cont-content{
	overflow:hidden;
}
.live-message-item .text-cont-content img{
	max-width: 420px;
}
/* markdown 表格样式 */
.live-message-item .text-cont h1,.live-message-item .text-cont h2,.live-message-item .text-cont h3,.live-message-item .text-cont h4{
	margin: 6px 0;
}
.live-message-item .text-cont ol,.live-message-item .text-cont ul{
	margin: 6px 0;
}
.live-message-item .text-cont hr{
    border: none;
    height: 0px;
	margin: 4px 0;
    border-top: 1px dashed #bbb;
}
.live-message-item .text-cont table{
	width: 100%;
	max-width: 100%;
	border-collapse: collapse;
	margin: 12px 0;
	font-size: 0.9rem;
	overflow: auto;
	display: block;
	overflow-x: auto;
}
.live-message-item .text-cont thead{
	background: #f5f7fa;
}
.live-message-item .text-cont th{
	padding: 8px 14px;
	text-align: left;
	font-weight: 600;
	color: #333;
	border: 1px solid #dfe2e5;
	white-space: nowrap;
}
.live-message-item .text-cont td{
	padding: 8px 14px;
	border: 1px solid #dfe2e5;
	color: #555;
	vertical-align: top;
}
.live-message-item .text-cont tbody tr:nth-child(even){
	background: #fafbfc;
}
.live-message-item .text-cont tbody tr:hover{
	background: #f0f4ff;
}

/* markdown 代码块样式 */
.live-message-item .text-cont pre{
    width: 100%;
    padding: 10px;
    background-color: #23241f;
    border-radius: 6px;
    color: #f8f8f2;
    box-sizing: border-box;
    overflow-x: auto;
	margin: 10px 0;
}
.live-message-item .text-cont code{
	background: #f4f4f4;
	padding: 2px 6px;
	border-radius: 3px;
	font-size: 0.85rem;
}
.live-message-item .text-cont pre code{
	background: none;
	padding: 0;
	border-radius: 0;
}

.live-message-item .reasoning-cont-cont{
	padding:0px 8px;
	color:#777;
	font-size:0.8rem;
	line-height:21px;
}
.live-message-item .reasoning-cont-loading{
	overflow:hidden;
	padding:10px;
}
.live-message-item .reasoning-cont-loading img{
	width:20px;
}
.live-message-item .peitu-cont-loading{
	overflow:hidden;
	padding:10px;
}
.live-message-item .peitu-cont-loading img{
	width:20px;
}
.live-message-item .reasoning-cont-tishi{
	color:#888;
	font-size:0.75rem;
	line-height:21px;
	background:#eee;
	border-radius:4px;
	padding:4px 8px;
	margin-bottom:8px;
	display:inline-block;
	cursor:pointer;
}
.live-message-item .reasoning-cont-tishi .tip{
	overflow:hidden;
}
.live-message-item .reasoning-cont-tishi .icon{
	overflow:hidden;
	margin-left:5px;
}
.live-message-item .reasoning-cont-tishi .icon img{
	overflow:hidden;
	width:16px;
}
/*文件类型显示*/
.live-message-item .file_wrap{
	overflow:hidden;
    padding: 8px;
    border-radius: 4px;
    background: #f3f3f3;
	min-width:55px;
	max-width:300px;
}
.live-message-item .file_wrap .file_wrap_icon{
	overflow:hidden;
	width:35px;
	height:35px;
	float:left;
}
.live-message-item .file_wrap .file_wrap_icon img{
	width:100%;
	height:100%;
}
.live-message-item .file_wrap .file_wrap_cont{
	overflow:hidden;
	margin-left:10px;
}
.live-message-item .file_wrap .file_wrap_cont .name{
	overflow:hidden;
	color:#2b2b2b;
	font-size:14px;
	line-height:21px;
    word-break: break-all;
	text-align:left;
    height: 42px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.live-message-item .video-list .imgs {
	width: 155px;
	overflow: hidden;
	float: left;
	margin-right: 15px;
	margin-bottom: 10px;
	cursor: pointer;
	border-radius: 5px;
	position: relative;
}
.live-message-item .video-list .play {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	z-index: 1;
	cursor: pointer;
	border-radius: 8px;
	text-align: center;
	background: rgba(0, 0, 0, 0.1) none repeat scroll 0 0 !important;
	filter: Alpha(opacity=0);
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.live-message-item .video-list .play img{
	background:none;
	width: 35px !important;
	text-align: center !important;
}


/**提示语*/
.show-prompt-list{
	overflow: hidden;
    background: #fff;
    padding: 10px;
    border-radius: 10px;
    margin: 10px 50px;
	max-width:800px;
}
.prompt-list-item{
	overflow:hidden;
	margin-top:10px;
	
}
.prompt-list-item .cont{
	overflow:hidden;
	line-height:21px;
	color:#333;
	font-size:14px;
	border-radius:12px;
	padding:3px 10px;
	border:1px solid #eee;
	display:inline-block;
	cursor:pointer;
	background:#fff;
}


/*新增聊天样式*/
.workflow-content-part {
	overflow: hidden;
	padding: 8px 0;
	line-height: 24px;
}
.live-message-item .workflow-content-part img,.live-message-item .text-cont-content img{
	max-width: 155px !important;
	height: auto;
}
.workflow-cont-part {
	overflow: hidden;
	padding: 5px 0;
	font-size: 0.95rem;
	color: #444;
}
.workflow-cont-part img{
	max-width: 105px;
	height: auto;
}
.reasoning-cont-part {
	overflow: hidden;
}
.reasoning-cont-title {
	font-size: 14px;
	font-weight: 500;
	color: #666;
	margin-top: 4px;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 4px;
}
.reasoning-cont-title:hover {
	color: #333;
}
.reasoning-use-time{
	font-size: 13px;
	color: #999;
}
.reasoning-cont-cont {
	font-size: 13px;
	color: #aaa;
	line-height: 22px;
	padding: 6px 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
}
/* 推理内容默认折叠：最多显示2行（line-height * 2 = 44px） */
.reasoning-cont-part.collapsed .reasoning-cont-cont {
	max-height: 29px;
	position: relative;
	overflow-y: auto;
	padding: 5px 0;
}

/* 展开状态 */
.reasoning-cont-part.expanded .reasoning-cont-cont {
	max-height: none;
}
/* 展开/折叠图标旋转 */
.reasoning-cont-part.collapsed .reasoning-cont-title .icon img {
	transform: rotate(0deg);
	transition: transform 0.2s;
}
.reasoning-cont-part.expanded .reasoning-cont-title .icon img {
	transform: rotate(90deg);
	transition: transform 0.2s;
}
.workflow-cont-title {
	font-size: 14px;
	font-weight: 500;
	line-height: 22px;
	color: #666;
	margin-top: 6px;
}
.reasoning-cont-part .icon{
	overflow:hidden;
	margin-left:5px;
	display: inline-flex;
}
.reasoning-cont-part .icon img{
	overflow:hidden;
	width:16px;
	height:16px;
	vertical-align: middle;
}

/* agent_core 新版智能体工作流样式 */
.workflow-cont-terminated {
	font-size: 13px;
	color: #ff4d4f;
}
.workflow-cont-failed {
	overflow: hidden;
	padding: 5px 0;
	font-size: 0.95rem;
	color: #333;
}
.workflow-cont-error {
	overflow: hidden;
	padding: 5px 0;
	font-size: 0.95rem;
	color: #333;
}
.workflow-cont-paused {
	overflow: hidden;
	padding: 5px 0;
	color: #999;
	font-size: 0.95rem;
}
.workflow-cont-step {
	font-size: 0.95rem;
	color: #333;
	line-height: 23px;
	padding-left: 6px;
	margin-top: 4px;
}
.workflow-cont-reason {
	font-size: 14px;
	color: #444;
	line-height: 21px;
	padding: 5px 0;
}
.workflow-cont-quality {
	font-size: 14px;
	color: #444;
	line-height: 21px;
	padding: 5px 0;
}
.workflow-cont-tool {
	font-size: 13px;
	color: #666;
	line-height: 21px;
	padding: 3px 0;
}
/* 让内部的p标签显示在一行 */
.workflow-cont-tool p {
	display: inline;
	margin: 0;
}
.workflow-cont-skill {
	font-size: 13px;
	color: #666;
	line-height: 21px;
	padding: 3px 0;
}

/* 工作流事件状态圆点 */
.workflow-status-dot {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	margin-right: 4px;
	vertical-align: middle;
	flex-shrink: 0;
}
.workflow-status-dot.dot-success { background: #52c41a; }
.workflow-status-dot.dot-error { background: #ff4d4f; }
.workflow-status-dot.dot-info { background: #1890ff; }
.workflow-status-dot.dot-warn { background: #faad14; }

/* 规划步骤列表（planning_complete 渲染） */
.plan-steps-list {
	padding: 2px 0;
}
.plan-step-item {
	padding: 6px 0;
}
.plan-step-item:last-child {
	border-bottom: none;
}
.plan-step-header {
	display: flex;
	align-items: center;
	gap: 8px;
	line-height: 1.4;
}
.plan-step-icon {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	min-width: 14px;
	min-height: 14px;
}
.plan-step-name {
	flex: 1;
	font-size: 14px;
	font-weight: 500;
	color: #333;
	word-break: break-all;
}
.plan-step-status {
	font-size: 12px;
	color: #999;
	flex-shrink: 0;
	padding: 1px 6px;
	border-radius: 3px;
	background: #f5f5f5;
}
.plan-step-desc {
	padding-left: 22px;
	margin-top: 4px;
	font-size: 13px;
	color: #666;
	line-height: 1.5;
	word-break: break-all;
}
.plan-step-output {
	padding-left: 22px;
	margin-top: 2px;
	font-size: 12px;
	color: #999;
	line-height: 1.4;
	word-break: break-all;
}
.plan-step-running .plan-step-name { font-weight: 600; }

/* 工具调用 loading 旋转动画 */
.workflow-tool-loading {
	display: inline-block;
	width: 12px;
	height: 12px;
	border: 2px solid #d9d9d9;
	border-top-color: #1890ff;
	border-radius: 50%;
	margin-right: 4px;
	vertical-align: middle;
	animation: workflow-spin 0.8s linear infinite;
	flex-shrink: 0;
}
@keyframes workflow-spin {
	to { transform: rotate(360deg); }
}

/* 工具行 flex 布局 */
.workflow-cont-tool,
.workflow-cont-skill {
	display: flex;
	align-items: center;
}
.workflow-cont-tool p,
.workflow-cont-skill p {
	flex: 1;
}

/* 工具结果折叠区域 */
.tool-result-collapse {
	margin: 2px 0 2px 16px;
	padding: 4px 8px;
	background: #f8f9fa;
	border-left: 3px solid #d9d9d9;
	border-radius: 0 4px 4px 0;
	cursor: pointer;
	position: relative;
	font-size: 12px;
	color: #888;
	line-height: 18px;
	transition: border-color 0.2s;
}
.tool-result-collapse:hover {
	border-left-color: #1890ff;
	background: #f0f5ff;
}
.tool-result-content {
	max-height: 36px; /* 2行: 18px * 2 */
	overflow: hidden;
	word-break: break-all;
	transition: max-height 0.3s ease;
}
.tool-result-collapse.expanded .tool-result-content {
	max-height: 200px;
	overflow-y: auto;
}

/* 工作过程折叠容器（思考内容 + 工具调用 + 子智能体过程等）
 * 默认折叠，点击 header 展开
 * 最终结果（workflow-content-part / 任务状态）不进入此容器
 */
.workflow-process-wrap {
	margin: 2px 0;
	overflow: hidden;
}
.workflow-process-toggle {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 2px 0 6px;
	font-size: 14px;
	color: #888;
	cursor: pointer;
	user-select: none;
	transition: color 0.2s;
	border-bottom: 1px solid #ececec;
}

.workflow-process-toggle .toggle-arrow {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-right: 1.5px solid #bbb;
	border-bottom: 1.5px solid #bbb;
	transform: rotate(-45deg);
	transition: transform 0.2s;
}
.workflow-process-wrap.expanded .workflow-process-toggle .toggle-arrow {
	transform: rotate(45deg);
}
.workflow-process-toggle .toggle-label {
	flex: 1;
}
.workflow-process-toggle .toggle-status {
	font-size: 12px;
	color: #999;
}
/* 任务计时（折叠容器 header 内，Agent 任务进行中每秒刷新） */
.workflow-process-toggle .toggle-elapsed {
	white-space: nowrap;
}

.workflow-process-body {
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: opacity 0.25s ease, max-height 0.25s ease;
}
.workflow-process-wrap.expanded .workflow-process-body {
	max-height: none;
	opacity: 1;
}
/* 子智能体派发事件样式（v1.4） */
.workflow-cont-sub-agent {
	font-size: 13px;
	color: #555;
	line-height: 21px;
	padding: 4px 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
}
.workflow-cont-sub-agent .sub-agent-label {
	font-weight: bold;
	color: #1890ff;
}

/* ============================================================
 * Agent 动作流（主流 Agent 工具风格，v1.5 新增）
 * 极简风格：无图标、无背景色、无边框，仅用字体颜色/大小区分
 * ============================================================ */

/* 动作流容器 */
.agent-stream {
	margin: 4px 0;
}

/* 单行动作摘要（思考/工具/子任务等） */
.agent-action-row {
	padding: 4px 0;
	color: #888;
	font-size: 14px;
	line-height: 22px;
	cursor: pointer;
	user-select: none;
	transition: color 0.2s;
}
.agent-action-row:hover {
	color: #666;
}

/* "展开/收起" 标记（CSS 箭头：▸ 折叠 / ▾ 展开） */
.agent-action-toggle {
	position: relative;
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-left: 4px;
	color: inherit;
	vertical-align: middle;
	overflow: hidden;
	font-size: 0;
	margin-bottom: 2px;
	opacity: 0;                 /* 默认隐藏 */
	transition: opacity 0.15s;
}
.agent-action-row:hover .agent-action-toggle {
	opacity: 1;                 /* 鼠标移到行上时显示 */
}
.agent-action-toggle::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 6px;
	height: 6px;
	border-right: 1.5px solid currentColor;
	border-top: 1.5px solid currentColor;
	transform: translate(-50%, -50%) rotate(45deg);
}
.agent-action-row.expanded .agent-action-toggle::after {
	transform: translate(-50%, -60%) rotate(135deg);
}

/* 动作详情（默认隐藏，点击展开） */
.agent-action-detail {
	padding: 4px 0 8px 10px;
	color: #888;
	font-size: 14px;
	line-height: 1.7;
	display: none;
}
.agent-action-detail.expanded {
	display: block;
}

/* 工具详情项（详情区内每个工具一行） */
.agent-tool-item {
	padding: 4px 0 4px 10px;
	margin-bottom: 2px;
	border-left: 2px solid #eee;
}
/* bash 命令面板（命令 + 结果） */
.tool-command-line {
	font-family: Consolas, Monaco, monospace;
	font-size: 12px;
	color: #888;
	margin-bottom: 6px;
	padding-bottom: 4px;
	border-bottom: 1px dashed #eee;
}
.agent-tool-item:last-child {
	margin-bottom: 0;
}

/* 工具详情 - 标题行（图标 + 动作名称 + 状态标记，可点击展开内容） */
.tool-item-title {
	color: #888;
	font-size: 14px;
	line-height: 1.6;
	cursor: pointer;
	user-select: none;
	transition: color 0.2s;
}
.tool-item-title:hover {
	color: #666;
}
.tool-item-toggle {
	position: relative;
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-left: 4px;
	color: inherit;
	vertical-align: middle;
	overflow: hidden;
	font-size: 0;
	opacity: 0;                 /* 默认隐藏 */
	transition: opacity 0.15s;
}
.agent-tool-item:hover .tool-item-toggle {
	opacity: 1;                 /* 鼠标移到工具项上时显示 */
}
.tool-item-toggle::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 6px;
	height: 6px;
	border-right: 1.5px solid currentColor;
	border-top: 1.5px solid currentColor;
	transform: translate(-50%, -50%) rotate(45deg);
}
.agent-tool-item.expanded .tool-item-toggle::after {
	transform: translate(-50%, -60%) rotate(135deg);
}

/* 工具详情 - 内容区（默认折叠，点击标题展开）
 * 含背景色 + 边框 + 最大高度（超出滚动）
 */
.tool-item-content {
	margin-top: 4px;
	padding: 8px 10px;
	background: #fafafa;
	border: 1px solid #f2f2f2;
	border-radius: 4px;
	color: #999;
	font-size: 13px;
	line-height: 24px;
	max-height: 200px;
	overflow-y: auto;
	word-break: break-all;
	white-space: pre-wrap;
	display: none;
}
.agent-tool-item.expanded .tool-item-content {
	display: block;
}
.agent-tool-item.expanded .tool-item-toggle {
	color: #777;
}

/* 单工具独立渲染（历史消息中使用，与 agent-action-row 样式一致） */
.agent-tool-item.standalone { padding:4px 0;margin-bottom:0;border-left:none; }
.agent-tool-item.standalone .tool-item-title { cursor:pointer;color:#888;font-size:14px;padding:0; }
.agent-tool-item.standalone .tool-item-title:hover { color:#666; }
.agent-tool-item.standalone .tool-item-content {
	margin-left: 0;
}

/* 工具图标（灰色，与文字颜色一致） */
.agent-action-icon {
	display: inline-flex;
	align-items: center;
	margin-right: 5px;
	color: inherit;
	vertical-align: middle;
	line-height: 1;
}
.agent-action-icon svg {
	display: block;
}

/* 流式 content 区块（模型中间输出，非最终结果） */
.agent-content-stream {
	padding: 6px 0;
	color: #2b2b2b;
	font-size: 0.95rem;
	line-height: 24px;
}
.agent-divider {
	padding: 10px 0 4px;
	margin-top: 5px;
	color: #999;
	font-size: 13px;
	text-align: left;
}

/* 最终结果分隔线 */
.agent-final-divider {
	padding: 10px 0 4px;
	margin-top: 8px;
	color: #aaa;
	font-size: 13px;
	text-align: left;
}

/* 最终结果内容（模型最终输出，突出显示） */
.agent-final-result {
	padding: 6px 0;
	color: #222;
	font-size: 1rem;
	line-height: 25px;
}

/* 任务完成状态行 */
.agent-task-status {
	padding: 8px 0 4px;
	color: #52c41a;
	font-size: 13px;
}
.agent-task-status.failed {
	color: #ff4d4f;
}
.agent-task-status.paused {
	color: #faad14;
}
.agent-task-status.terminated {
	color: #999;
}

/* 用户交互 UI（__needUserInput 协议） */
.workflow-cont-user-input { padding: 6px 0; }
.user-input-header { font-size: 13px; color: #666; margin-bottom: 6px; display: flex; align-items: center; gap: 6px; }
.user-input-question { font-size: 14px; color: #333; padding: 6px 10px; background: #f0f5ff; border-left: 3px solid #1890ff; border-radius: 2px; margin-bottom: 8px; line-height: 20px; word-break: break-all; }
.user-input-area { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; }
.user-input-options { flex-direction: column; }
.user-input-text { flex: 1; min-width: 200px; padding: 8px 10px; border: 1px solid #d9d9d9; border-radius: 6px; font-size: 13px; resize: vertical; font-family: inherit; outline: none; transition: border-color 0.2s; }
.user-input-text:focus { border-color: #1890ff; box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1); }
.user-input-btn { padding: 6px 16px; border: 1px solid #d9d9d9; border-radius: 6px; font-size: 13px; cursor: pointer; background: #fff; color: #333; transition: all 0.2s; }
.user-input-btn:hover:not(:disabled) { border-color: #1890ff; color: #1890ff; }
.user-input-btn:disabled { cursor: not-allowed; }
.user-input-confirm-yes, .user-input-submit { background: #1890ff; color: #fff; border-color: #1890ff; }
.user-input-confirm-yes:hover:not(:disabled), .user-input-submit:hover:not(:disabled) { background: #40a9ff; border-color: #40a9ff; color: #fff; }
.user-input-confirm-no, .user-input-cancel { color: #999; border-color: #d9d9d9; }
.user-input-confirm-no:hover:not(:disabled), .user-input-cancel:hover:not(:disabled) { color: #ff4d4f; border-color: #ff4d4f; }
.user-input-option { text-align: left; width: 100%; }
.user-input-option:hover:not(:disabled) { background: #f0f5ff; }
.user-input-status { font-size: 13px; color: #999; display: flex; align-items: center; gap: 6px; }
.user-input-submitted { font-size: 13px; color: #52c41a; display: flex; align-items: center; gap: 6px; }

/* 推理过程列表样式 */
.reasoning-list-container {
	margin-bottom: 10px;
	border-left: 2px solid #ddd;
}
.reasoning-list-title {
	font-size: 0.75rem;
	color: #888;
	padding: 4px 8px;
	background: #eee;
	border-radius: 4px;
	display: inline-block;
	margin-bottom: 8px;
}
.reasoning-list-content {
	padding: 0 8px;
}
.reasoning-item {
	margin-bottom: 8px;
	padding: 6px 0;
	border-bottom: 1px dashed #eee;
}
.reasoning-item:last-child {
	border-bottom: none;
}
.reasoning-item-header {
	font-size: 0.8rem;
	color: #666;
	line-height: 21px;
}
.reasoning-item-icon {
	font-size: 12px;
	margin-right: 6px;
}
.reasoning-item-type {
	font-weight: 500;
	color: #555;
	margin-right: 6px;
}
.reasoning-item-content {
	color: #777;
	display: block;
	margin-top: 4px;
	word-break: break-all;
}
.reasoning-item-reason {
	margin-top: 6px;
	padding-left: 22px;
	font-size: 0.8rem;
	color: #777;
	line-height: 21px;
}
.reasoning-reason-content {
	color: #777;
}
.reasoning-reason-content p {
	margin: 4px 0;
}
/* 推理列表中的图片缩小处理 */
.reasoning-reason-content img.reasoning-img {
	max-width: 180px;
	height: auto;
	border-radius: 4px;
	object-fit: cover;
}
.reasoning-item.running .reasoning-item-header {
	color: #1890ff;
}
.reasoning-item.completed .reasoning-item-header {
	color: #52c41a;
}

.creation-doc-card {
	width: 360px;
	display: flex;
	align-items: flex-start;
	background: #f8f9fc;
	border: 1px solid #e8ecf4;
	border-radius: 8px;
	padding: 10px 12px;
	margin: 0;
	overflow: hidden;
	cursor: pointer;
}
.creation-doc-card .creation-doc-icon {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	margin-right: 8px;
	margin-top: 2px;
}
.creation-doc-info {
	flex: 1;
	min-width: 0;
	overflow: hidden;
}
.creation-doc-excerpt {
	font-size: 14px;
	color: #333;
	line-height: 1.5;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.creation-doc-time {
	font-size: 11px;
	color: #b0b8c8;
	margin-top: 4px;
}
/* ==================== 输入框上方标签（文档+技能） ==================== */
.input-tags-wrap {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    padding: 0 0 4px 0;
    min-height: 0;
}
.input-tags-wrap > * {
    pointer-events: auto;
}

/* 编辑器内嵌标签（文档/技能/智能体），contenteditable="false" 行内显示 */
.input-tag {
    display: inline-flex !important;
    vertical-align: middle;
    margin: 0 3px;
    user-select: none;
}
/* 文档标签 */
.doc-tag-item {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 6px 2px 4px;
    background: #F0F5FF;
    border: 1px solid #D6E4FF;
    border-radius: 5px;
    font-size: 11px;
    color: #3855d5;
    max-width: 200px;
    transition: all 0.2s ease;
    cursor: default;
    line-height: 1.4;
}
.doc-tag-item:hover {
    border-color: #3855d5;
    box-shadow: 0 1px 4px rgba(56, 85, 213, 0.12);
}
.doc-tag-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.doc-tag-icon svg {
    width: 12px;
    height: 12px;
}
.doc-tag-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
    line-height: 16px;
}
.doc-tag-close {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    color: #999;
    font-size: 12px;
    line-height: 1;
    transition: all 0.2s ease;
    margin-left: 1px;
}
.doc-tag-close:hover {
    background: rgba(255, 77, 79, 0.1);
    color: #ff4d4f;
}

/* 技能标签 */
.skill-tag-item {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 6px 2px 4px;
    background: #F0FFF4;
    border: 1px solid #D6F0D6;
    border-radius: 5px;
    font-size: 11px;
    color: #389e0d;
    max-width: 200px;
    transition: all 0.2s ease;
    cursor: default;
    line-height: 1.4;
}
.skill-tag-item:hover {
    border-color: #389e0d;
    box-shadow: 0 1px 4px rgba(56, 158, 13, 0.12);
}
.skill-tag-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
}
.skill-tag-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
    line-height: 16px;
}
.skill-tag-close {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    color: #999;
    font-size: 12px;
    line-height: 1;
    transition: all 0.2s ease;
    margin-left: 1px;
}
.skill-tag-close:hover {
    background: rgba(255, 77, 79, 0.1);
    color: #ff4d4f;
}

/* 智能体标签 */
.agent-tag-item {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 6px 2px 4px;
    background: #FFF7E6;
    border: 1px solid #FFE7BA;
    border-radius: 5px;
    font-size: 11px;
    color: #d46b08;
    max-width: 200px;
    transition: all 0.2s ease;
    cursor: default;
    line-height: 1.4;
}
.agent-tag-item:hover {
    border-color: #d46b08;
    box-shadow: 0 1px 4px rgba(212, 107, 8, 0.12);
}
.agent-tag-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
}
.agent-tag-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
    line-height: 16px;
}
.agent-tag-close {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    color: #999;
    font-size: 12px;
    line-height: 1;
    transition: all 0.2s ease;
    margin-left: 1px;
}
.agent-tag-close:hover {
    background: rgba(255, 77, 79, 0.1);
    color: #ff4d4f;
}

/* 云盘文件标签 */
.disk-tag-item {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 6px 2px 4px;
    background: #F0F7FF;
    border: 1px solid #D6E8FF;
    border-radius: 5px;
    font-size: 11px;
    color: #1d6fd5;
    max-width: 200px;
    transition: all 0.2s ease;
    cursor: default;
    line-height: 1.4;
}
.disk-tag-item:hover {
    border-color: #1d6fd5;
    box-shadow: 0 1px 4px rgba(29, 111, 213, 0.12);
}
.disk-tag-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
}
.disk-tag-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
    line-height: 16px;
}
.disk-tag-close {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    color: #999;
    font-size: 12px;
    line-height: 1;
    transition: all 0.2s ease;
    margin-left: 1px;
}
.disk-tag-close:hover {
    background: rgba(255, 77, 79, 0.1);
    color: #ff4d4f;
}

/* ==================== 知识库选择弹窗 Tab（文档 / 云盘） ==================== */
.kbs-tabs{
    display: flex;
    gap: 24px;
    padding: 0 24px;
    border-bottom: 1px solid #f0f0f0;
    flex-shrink: 0;
}
.kbs-tab{
    position: relative;
    padding: 10px 2px;
    font-size: 14px;
    color: #666;
    cursor: pointer;
    user-select: none;
    transition: color 0.15s;
}
.kbs-tab:hover{
    color: #333;
}
.kbs-tab.active{
    color: #3855d5;
    font-weight: 600;
}
.kbs-tab.active::after{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: #3855d5;
    border-radius: 1px;
}

/* 知识库弹窗底部（已选数量 + 确定/取消） */
.doc-selector-footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 24px;
    border-top: 1px solid #f0f0f0;
    flex-shrink: 0;
    background: #fff;
}
.doc-selector-count{
    font-size: 13px;
    color: #666;
}
.doc-selector-count b{
    color: #3855d5;
    font-weight: 600;
    margin: 0 2px;
}
.doc-selector-footer-btns{
    display: flex;
    gap: 10px;
}
.kbs-btn{
    padding: 7px 24px;
    border-radius: 6px;
    font-size: 13px;
    cursor: pointer;
    user-select: none;
    transition: all 0.15s;
    line-height: 20px;
}
.kbs-btn-cancel{
    background: #fff;
    border: 1px solid #dcdfe6;
    color: #666;
    box-sizing: border-box;
}
.kbs-btn-cancel:hover{
    color: #3855d5;
    border-color: #3855d5;
}
.kbs-btn-ok{
    background: #3855d5;
    border: 1px solid #3855d5;
    color: #fff;
    box-sizing: border-box;
}
.kbs-btn-ok:hover{
    background: #2a44bb;
}

/* ==================== 文档选择弹窗 ==================== */
.doc-selector-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.35);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}
.doc-selector-modal {
    background: #fff;
    border-radius: 12px;
    width: 900px;
    max-width: 94vw;
    max-height: 580px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.18);
    overflow: hidden;
    animation: docSelectorIn 0.2s ease;
}
@keyframes docSelectorIn {
    from { opacity: 0; transform: scale(0.95) translateY(-10px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}
.doc-selector-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 24px;
    border-bottom: 1px solid #f0f0f0;
    flex-shrink: 0;
}
.doc-selector-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
}
.doc-selector-close-btn {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    font-size: 20px;
    color: #999;
    transition: all 0.2s ease;
    line-height: 1;
}
.doc-selector-close-btn:hover {
    background: #f5f5f5;
    color: #333;
}
.doc-selector-search {
    padding: 14px 24px;
    border-bottom: 1px solid #f5f5f5;
    flex-shrink: 0;
}
.doc-selector-search input {
    width: 100%;
    height: 38px;
    padding: 0 14px;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    font-size: 14px;
    outline: none;
    box-sizing: border-box;
    background: #fafafa;
    transition: all 0.2s ease;
}
.doc-selector-search input:focus {
    border-color: #3855d5;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(56, 85, 213, 0.08);
}
.doc-selector-search input::placeholder {
    color: #bbb;
}
.doc-selector-body {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 16px 24px;
    min-height: 240px;
}
.doc-selector-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.doc-selector-empty {
    text-align: center;
    padding: 50px 0;
    color: #999;
    font-size: 14px;
}
.doc-selector-empty::before {
    content: '📄';
    display: block;
    font-size: 48px;
    margin-bottom: 12px;
    opacity: 0.4;
}
.doc-selector-loading {
    text-align: center;
    padding: 40px 0;
    color: #999;
    font-size: 13px;
}

/* ==================== 文档选择卡片 ==================== */
.doc-selector-card {
    border: 2px solid #eee;
    border-radius: 10px;
    padding: 16px;
    background: #fff;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    min-height: 120px;
    position: relative;
}
.doc-selector-card:hover {
    border-color: #3855d5;
    box-shadow: 0 4px 16px rgba(56, 85, 213, 0.12);
    transform: translateY(-2px);
}
.doc-selector-card.selected {
    border-color: #3855d5;
    background: #F8FAFF;
    box-shadow: 0 0 0 3px rgba(56, 85, 213, 0.12), 0 4px 16px rgba(56, 85, 213, 0.1);
}
.doc-selector-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.doc-selector-card-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #ecf5ff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 18px;
    color: #3855d5;
}
.doc-selector-card-title {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
}
.doc-selector-card-body {
    flex: 1;
    margin-bottom: 10px;
    min-height: 36px;
}
.doc-selector-card-desc {
    font-size: 12px;
    color: #888;
    line-height: 18px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-all;
}
.doc-selector-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 10px;
    border-top: 1px solid #f5f5f5;
    font-size: 12px;
    color: #999;
}
.doc-selector-card-time {
    color: #bbb;
}
.doc-selector-card-check {
    position: absolute;
    top: 8px;
    right: 10px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #3855d5;
    color: #fff;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}
.doc-selector-card.selected .doc-selector-card-check {
    display: flex;
}

/* ==================== 文档/子智能体/云盘 选择列表 ==================== */
.doc-selector-list{
    display: flex;
    flex-direction: column;
}
.doc-selector-item{
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid #f4f5f7;
    cursor: pointer;
    transition: background 0.12s ease;
    position: relative;
}
.doc-selector-item:last-child{
    border-bottom: none;
}
.doc-selector-item:hover{
    background: #f6f8fc;
}
.doc-selector-item.selected{
    background: #eef3ff;
}
.doc-selector-item-icon{
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #f4f6f9;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 14px;
    font-weight: 600;
    color: #5b7bd5;
}
/* 云盘图片文件：图标位显示真实缩略图 */
.doc-selector-item-thumb{
    width: 32px;
    height: 32px;
    border-radius: 6px;
    object-fit: cover;
    flex-shrink: 0;
    background: #f4f6f9;
    display: block;
}

.doc-selector-item-main{
    flex: 1;
    min-width: 0;
    overflow: hidden;
}
.doc-selector-item-title{
    font-size: 14px;
    font-weight: 400;
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 20px;
}
.doc-selector-item-desc{
    font-size: 12px;
    color: #9aa1ad;
    line-height: 17px;
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.doc-selector-item-cate{
    width: 72px;
    flex-shrink: 0;
    font-size: 12px;
    color: #667085;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.doc-selector-item-creater{
    width: 72px;
    flex-shrink: 0;
    font-size: 12px;
    color: #667085;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.doc-selector-item-type{
    width: 48px;
    flex-shrink: 0;
    font-size: 12px;
    color: #667085;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.doc-selector-item-size{
    width: 64px;
    flex-shrink: 0;
    font-size: 12px;
    color: #667085;
}
.doc-selector-item-time{
    width: 100px;
    flex-shrink: 0;
    font-size: 12px;
    color: #9aa1ad;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.doc-selector-item-check{
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #3855d5;
    color: #fff;
    /* 始终占位（visibility隐藏），保证未选中行与表头/选中行列对齐 */
    visibility: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
}
.doc-selector-item:hover .doc-selector-item-check,
.doc-selector-item.selected .doc-selector-item-check{
    visibility: visible;
}

/* 列表头（文档/云盘 列名行，与行内列宽对应） */
.doc-list-header{
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px 6px;
    font-size: 12px;
    color: #9aa1ad;
    border-bottom: 1px solid #f0f1f3;
    user-select: none;
}
.doc-list-header .col-title{
    flex: 1;
    min-width: 0;
    /* 与行内图标列对齐：行标题前有 32px 图标 + 12px 间距 */
    padding-left: 40px;
    box-sizing: border-box;
}
.doc-list-header .col-cate{
    width: 72px;
    flex-shrink: 0;
}
.doc-list-header .col-creater{
    width: 72px;
    flex-shrink: 0;
}
.doc-list-header .col-type{
    width: 48px;
    flex-shrink: 0;
}
.doc-list-header .col-size{
    width: 64px;
    flex-shrink: 0;
}
.doc-list-header .col-time{
    width: 100px;
    flex-shrink: 0;
}
.doc-list-header .col-check{
    width: 20px;
    flex-shrink: 0;
}

/* 聊天流文件列表（zcode风格整行列表；点击行打开分屏预览/编辑） */
.chat-file-list{
	margin-top: 10px;
	border: 1px solid #f0f0f0;
	border-radius: 8px;
	overflow: hidden;
	max-width: 480px;
	background: #fff;
}
.chat-file-item{
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	background: #fff;
	border-bottom: 1px solid #f5f5f5;
	cursor: pointer;
	transition: background 0.15s;
}
.chat-file-item:last-child{
	border-bottom: none;
}
.chat-file-item:hover{
	background: #f7f9ff;
}
.chat-file-item .chat-file-icon{
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.chat-file-item .chat-file-icon img{
	width: 18px;
	height: 18px;
	display: block;
}
.chat-file-item .chat-file-name{
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 13px;
	color: #333;
}
.chat-file-item .chat-file-ext{
	flex-shrink: 0;
	font-size: 11px;
	color: #999;
	background: #f5f5f5;
	padding: 1px 6px;
	border-radius: 3px;
	text-transform: uppercase;
}
.chat-file-item .chat-file-open{
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #777;
	opacity: 0.7;
	transition: opacity 0.15s;
}
.chat-file-item:hover .chat-file-open{
	opacity: 1;
}

/* ==================== 任务清单固定面板（浮动在输入框上方，todo_updated 流式推送） ==================== */
/* 定位上下文：任务清单面板绝对定位的父级基准 */
.message-main{
	position: relative;
}
/* 绝对定位：不占用消息区空间，浮在消息区底部之上 */
.chat-todo-panel{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 8px;              /* JS 动态设为「底栏高度 + 8px」 */
	padding: 0 20px;
	box-sizing: border-box;
	z-index: 30;
	pointer-events: none;     /* 面板容器不拦截消息区滚动/点击 */
}
.chat-todo-panel > *{
	pointer-events: auto;
}
.chat-todo-bar{
	display: flex;
	align-items: center;
	gap: 8px;
	height: 38px;
	max-width: 970px;
	margin: 0 auto;
	padding: 0 14px;
	box-sizing: border-box;
	background: #f2f3f5;
	border-radius: 8px;
	cursor: pointer;
	user-select: none;
	font-size: 13px;
	color: #555;
	box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.06);
	transition: background 0.15s;
}
.chat-todo-bar:hover{
	background: #ebedf0;
}
.chat-todo-icon{
	display: inline-flex;
	align-items: center;
	color: #777;
	flex-shrink: 0;
}
.chat-todo-title{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.chat-todo-progress{
	margin-left: auto;
	color: #888;
	flex-shrink: 0;
}
.chat-todo-arrow{
	width: 8px;
	height: 8px;
	border-right: 1.5px solid #999;
	border-top: 1.5px solid #999;
	transform: rotate(-45deg);
	transition: transform 0.2s;
	flex-shrink: 0;
	margin: 2px 0 0 2px;
}
.chat-todo-panel.expanded .chat-todo-arrow{
	transform: rotate(135deg);
	margin-top: -2px;
}
/* 展开的任务明细（在横条上方上拉显示） */
.chat-todo-list{
	display: none;
	max-width: 970px;
	margin: 0 auto 6px auto;
	max-height: 260px;
	overflow-y: auto;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 8px;
	padding: 4px 14px;
	box-sizing: border-box;
	box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.06);
}
.chat-todo-panel.expanded .chat-todo-list{
	display: block;
}

/* ==================== 新会话欢迎引导（居中，ZCode风格） ==================== */
/* hero模式：消息容器变为flex使hero居中；隐藏空的消息wrap */
.messages-container.hero-mode{
	display: flex;
	align-items: center;
	justify-content: center;
}
.messages-container.hero-mode .messages-wrap{
	display: none;
}
.chat-hero{
	width: 100%;
	max-width: 560px;
	padding-bottom: 16vh;
	text-align: center;
}
.chat-hero-title{
	font-size: 30px;
	font-weight: 700;
	color: #222;
	line-height: 44px;
	margin-bottom: 30px;
}
.chat-hero-reco{
	max-width: 470px;
	margin: 0 auto;
	text-align: left;
}
.chat-hero-reco-label{
	font-size: 12px;
	color: #bbb;
	display: inline-block;
	margin-bottom: 10px;
}
.chat-hero-prompts .prompt-list-item{
	margin: 0 0 12px 0;
}
.chat-hero-prompts .prompt-list-item .cont{
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 10px;
	padding: 9px 14px;
	font-size: 13px;
	color: #333;
	transition: all 0.15s;
}
.chat-hero-prompts .prompt-list-item .cont:hover{
	border-color: #d5d5d5;
	background: #fafafa;
}

/*下拉modal*/
.CU-select-modal .select-item{
	padding:8px 4px;
	overflow:hidden;
	cursor:pointer;
	display:flex;
	align-items:center;
	gap:10px;
}
.CU-select-modal .select-item-icon{
	width:26px;
	height:26px;
	flex-shrink:0;
	display:flex;
	align-items:center;
	justify-content:center;
}
.CU-select-modal .select-item-icon img{
	width:26px;
	height:26px;
	border-radius:50%;
	display:block;
	background:#f5f5f5;
}
.CU-select-modal .select-item-icon-letter{
	font-size:12px;
	font-weight:600;
	color:#fff;
	background:#7f8be8;
	border-radius:50%;
	width:26px;
	height:26px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.CU-select-modal .select-item-name{
	flex:1;
	min-width:0;
}
.CU-select-modal .select-item-check{
	margin-left:auto;
	flex-shrink:0;
	color:#3855d5;
	font-weight:600;
	font-size:13px;
}
.CU-select-modal .select-item:hover{
	background:#f3f3f3;
}
.CU-select-modal .select-item-name{	
	color:#222;
	line-height:21px;
	font-size:14px;
	overflow:hidden;
	white-space: nowrap;
    text-overflow: ellipsis;
}
.CU-select-modal .select-item-desc{
	color:#888;
	line-height:21px;
	font-size:14px;
	margin-top:5px;
	max-height:42px;
	overflow:hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.CU-select-modal .icon{
	width:52px;
	float:left;
	overflow:hidden;
	text-align:left;
}
.CU-select-modal .icon img{
	width:42px;
	height:42px;
	border-radius:50%;
}
.CU-select-modal .cont{
	overflow:hidden;
}
.CU-select-modal .title{
	overflow:hidden;
	color:#333;
	font-size:0.95rem;
	font-weight:600;
	line-height:21px;
}

.CU-select-modal .desc{
	color:#888;
	font-size:0.85rem;
	line-height:21px;
	margin-top:3px;
	overflow:hidden;
	white-space:nowrap;
	text-overflow: ellipsis;
}