/* subagent_view.css — 子代理任务树 / 步骤时间线 / 只读视图 / 分支操作 (web_assets/subagent_view.js)
 * 只用 app.css 的主题变量, 深色 (默认) / 暖白 (kimi) / 其它主题自动跟随; 工具行样式来自 app.css .ti + chat_timeline.css */

/* ── 面板: 任务树 ── */
.sa-bar{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--bd);position:sticky;top:0;background:var(--bg);z-index:1}
.sa-bar-t{flex:1;min-width:0;font-size:11.5px;color:var(--tx3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sa-item{padding-left:calc(12px + var(--sa-depth,0) * 18px)}
.sa-item.sa-child{border-left:2px solid var(--bd2)}
.sa-acts{flex-wrap:wrap}
.sav-enter{border-color:var(--ac2);color:var(--ac2)}
.sav-enter:hover{background:var(--ac2);color:#fff}
.sav-rowx{margin-top:4px}
.sav-mini{margin-top:6px;max-height:300px;overflow:auto;border:1px solid var(--bd);border-radius:var(--rs,8px);padding:4px;background:var(--sf)}
.sav-mini[hidden],.sav-wt[hidden],.sav-diffbox[hidden]{display:none}
.sav-mini .tg{margin:0;border:none;background:transparent}

/* ── 时间线里的非工具行 ── */
.sav-tg{gap:4px}
.sav-ev{font-size:12.5px;line-height:1.55;padding:3px 8px;border-radius:var(--rs,8px);color:var(--tx2);word-break:break-word;font-family:var(--sans)}
.sav-start{color:var(--tx3);font-size:12px}
.sav-ic{margin-right:6px;color:var(--ac3)}
.sav-think{color:var(--tx3);font-style:italic;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sav-think.open{white-space:pre-wrap}
.sav-text{white-space:pre-wrap;color:var(--tx)}
.sav-ins{border-left:2px solid var(--ac);background:color-mix(in srgb,var(--ac) 7%,transparent);color:var(--tx)}
.sav-wtev{font-family:var(--mono);font-size:11.5px;color:var(--ac2)}
.sav-end{border:1px solid var(--bd2);background:var(--sf);cursor:pointer}
.sav-end.st-done{border-color:color-mix(in srgb,var(--ac3) 45%,var(--bd))}
.sav-end.st-failed,.sav-end.st-interrupted{border-color:color-mix(in srgb,var(--dg) 45%,var(--bd))}
.sav-end-h{font-weight:600;color:var(--tx)}
.sav-res{margin:4px 0 0;font-family:var(--mono);font-size:11.5px;white-space:pre-wrap;word-break:break-word;color:var(--tx2);max-height:4.6em;overflow:hidden;background:transparent;border:none;padding:0}
.sav-res.full{max-height:none;overflow:visible}

/* ── 工作树行 + diff 卡片 ── */
.sav-wt{margin-top:4px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.sav-wt-line{font-family:var(--mono);font-size:11.5px;color:var(--ac2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.sav-wt-acts{display:inline-flex;gap:6px;flex-wrap:wrap}
.sav-wt .sa-note{flex-basis:100%;margin-top:0}
.sav-merge:hover,.sav-merge.armed{border-color:var(--ac3);color:var(--ac3)}
.sav-discard:hover,.sav-discard.armed{border-color:var(--dg);color:var(--dg)}
.sav-merge.armed,.sav-discard.armed{font-weight:600}
.sav-diffbox{flex-basis:100%;min-width:0}
.sav-dcard{border:1px solid var(--bd);border-radius:var(--rr,12px);background:var(--sf);overflow:hidden}
.sav-dhead{padding:6px 10px;font-size:11.5px;color:var(--tx3);border-bottom:1px solid var(--bd)}
.sav-df{border-bottom:1px solid var(--bd)}
.sav-df:last-child{border-bottom:none}
.sav-dfs{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;font-family:var(--mono);font-size:12px;list-style:none}
.sav-dfs::-webkit-details-marker{display:none}
.sav-dfs::before{content:'▸';color:var(--tx3);font-size:10px}
.sav-df[open] > .sav-dfs::before{content:'▾'}
.sav-dfp{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx)}
.sav-dadd{color:var(--ac3)}
.sav-ddel{color:var(--dg)}
.sav-dpre{margin:0;padding:6px 0;max-height:420px;overflow:auto;font-family:var(--mono);font-size:11.5px;line-height:1.5;background:var(--bg);color:var(--tx2)}
.sav-dpre span{display:block;padding:0 10px;white-space:pre}
.sav-dpre .da{background:color-mix(in srgb,var(--ac3) 14%,transparent);color:var(--tx)}
.sav-dpre .dd{background:color-mix(in srgb,var(--dg) 14%,transparent);color:var(--tx)}
.sav-dpre .dh{color:var(--ac2)}

/* ── 进入: 只读视图 (替换 #mw, 主对话 DOM 不动) ── */
#main.sav-on > #mw{display:none}
#main.sav-on #scroll-btn{display:none}
.sav-view{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--bg)}
.sav-top{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--bd);background:var(--sf);font-family:var(--sans);font-size:13px;min-width:0}
.sav-crumb{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx2)}
.sav-home{color:var(--ac2);text-decoration:none}
.sav-home:hover{text-decoration:underline}
.sav-sep{color:var(--tx3)}
.sav-cur{color:var(--tx)}
.sav-time{font-family:var(--mono);font-size:11.5px;color:var(--tx3)}
.sav-scroll{flex:1;overflow-y:auto;padding:14px 10px 6px}
.sav-inner{max-width:860px;margin:0 auto}
.sav-info{padding:10px 12px;margin-bottom:10px;border:1px solid var(--bd);border-radius:var(--rr,12px);background:var(--sf)}
.sav-task{font-size:13.5px;line-height:1.6;color:var(--tx);white-space:pre-wrap;word-break:break-word;max-height:9.6em;overflow:auto}
.sav-meta{margin-top:4px;font-size:11.5px;font-family:var(--mono);color:var(--tx3);word-break:break-all}
.sav-ro{margin-top:6px;font-size:11.5px;color:var(--tx3)}
.sav-body .tg{border-style:solid}
#sav-send{display:none}
#main.sav-on #sav-send{display:flex;align-items:center;justify-content:center}
#main.sav-on #sdb,#main.sav-on #stb,#main.sav-on #upb,#main.sav-on #thk,#main.sav-on #strat{display:none}
#sav-send{width:36px;height:36px;flex-shrink:0;border:none;border-radius:50%;background:var(--ac2);color:#fff;font-size:16px;cursor:pointer;margin-left:6px}
#sav-send:disabled{opacity:.4;cursor:default}
#main.sav-on #mi{border-color:var(--ac2)}

@media(max-width:640px){
  .sa-item{padding-left:calc(8px + var(--sa-depth,0) * 10px)}
  .sa-bar-t{display:none}
  .sav-top{padding:6px 8px;gap:6px;font-size:12.5px}
  .sav-scroll{padding:10px 6px 6px}
  .sav-wt-line{white-space:normal;word-break:break-all}
  .sav-dpre span{white-space:pre-wrap;word-break:break-all}
  #sav-send{width:44px;height:44px}
}
