/* 底部 Agent 基座：独立组件样式，只使用 app.css 的设计 Token。 */
body{
  --wb-agent-reserve:70px;
  --wb-agent-dock-height:70px;
  --wb-agent-width:min(var(--wb-agent-max-width),calc(100vw - 2 * var(--sp-4)));
}
body:has(#wb-agent-dock) #main{height:calc(100% - 52px);overflow:hidden}
body.warn-on:has(#wb-agent-dock) #main{height:calc(100% - 52px - 44px)}
body.wb-agent-expanded:has(#wb-agent-dock) #main{overflow-y:auto;overflow-x:hidden}
body.wb-agent-expanded:has(#wb-agent-dock) .view.on{padding-bottom:0}
body.wb-agent-expanded:has(#wb-agent-dock) #main::after{content:"";display:block;height:var(--wb-agent-reserve);pointer-events:none}

#wb-agent-root{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:var(--z-menu);
  display:flex;
  justify-content:center;
  pointer-events:none;
}
#wb-agent-dock{
  width:var(--wb-agent-width);
  min-width:0;
  padding:var(--sp-2) var(--sp-3);
  background:var(--panel);
  border:1px solid var(--line);
  border-bottom:0;
  border-radius:var(--r-md) var(--r-md) 0 0;
  box-shadow:var(--shadow-md);
  pointer-events:auto;
}
#wb-agent-root.agent-dock-spacer{height:calc(var(--wb-agent-control-size) + 2 * var(--sp-3))}
#wb-agent-root.agent-dock-spacer #wb-agent-dock{height:100%;min-height:var(--wb-agent-control-size)}
#wb-agent-panel{
  display:none;
  position:fixed;
  left:50%;
  bottom:var(--wb-agent-dock-height);
  z-index:var(--z-modal);
  width:var(--wb-agent-width);
  height:min(var(--wb-agent-panel-height),var(--wb-agent-panel-max),calc(100dvh - var(--wb-agent-dock-height) - 2 * var(--sp-4)));
  min-height:0;
  transform:translateX(-50%);
  margin-bottom:0;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  overflow:hidden;
  pointer-events:auto;
}
#wb-agent-panel.on{display:flex;flex-direction:column}
#wb-agent-panel.is-closing{pointer-events:none}
body.wb-agent-expanded #wb-agent-panel{border-bottom-left-radius:0;border-bottom-right-radius:0}
body.wb-agent-expanded #wb-agent-dock{border-top-left-radius:0;border-top-right-radius:0}
body.wb-agent-maximized{--wb-agent-width:calc(100vw - 2 * var(--sp-3))}
body.wb-agent-maximized #wb-agent-panel{height:calc(100dvh - var(--wb-agent-reserve) - 2 * var(--sp-3));max-height:none}
.wb-agent-head{
  display:flex;
  align-items:center;
  gap:var(--sp-2);
  min-height:42px;
  padding:var(--sp-2) var(--sp-2) 0;
  flex:0 0 auto;
}
.wb-agent-head strong{
  font-size:var(--fs-lg);
  white-space:nowrap;
}
.wb-agent-tabs{
  display:flex;
  align-items:center;
  gap:var(--sp-1);
  min-width:0;
  overflow:auto;
  scrollbar-width:none;
}
.wb-agent-tabs::-webkit-scrollbar{display:none}
.wb-agent-tabs button{
  border:1px solid transparent;
  background:transparent;
  color:var(--gray);
  border-radius:var(--r-sm);
  padding:5px 9px;
  font-size:var(--fs-md);
}
.wb-agent-tabs button{white-space:nowrap}
.wb-agent-tabs button.on{
  background:var(--blue-l);
  border-color:var(--blue);
  color:var(--blue-d);
  font-weight:700;
}
.wb-agent-tabs button:hover{background:var(--surface-3);color:var(--ink)}
.wb-agent-spacer{flex:1;min-width:var(--sp-2)}
.wb-agent-state{
  display:inline-flex;
  align-items:center;
  gap:var(--sp-1);
  white-space:nowrap;
  color:var(--muted);
  font-size:var(--fs-sm);
}
.wb-agent-state::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gray);
}
.wb-agent-state.api::before{background:var(--green)}
.wb-agent-body{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  padding:var(--sp-2);
}
.wb-agent-conversation{
  flex:1;
  min-height:0;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:var(--sp-2);
  padding:var(--sp-1);
  scroll-behavior:smooth;
  overscroll-behavior:contain;
}
.wb-agent-msg{
  max-width:88%;
  padding:var(--sp-2) var(--sp-3);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  background:var(--panel);
  color:var(--ink);
  line-height:1.7;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font-size:var(--fs-md);
}
.wb-agent-msg.user{
  align-self:flex-end;
  background:var(--blue-l);
  border-color:color-mix(in srgb,var(--blue) 28%,var(--line));
}
.wb-agent-msg.assistant{align-self:flex-start}
.wb-agent-msg.loading{color:var(--muted)}
.wb-agent-msg.draft{width:min(100%,680px);max-width:100%}
.wb-agent-msg-meta{
  margin-top:var(--sp-2);
  color:var(--muted);
  font-size:var(--fs-sm);
  line-height:1.5;
}
.wb-agent-sources{
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-1);
  margin-top:var(--sp-2);
}
.wb-agent-source{
  border:1px solid var(--line);
  background:var(--surface-2);
  color:var(--blue-d);
  border-radius:var(--r-sm);
  padding:3px 7px;
  font-size:var(--fs-sm);
}
.wb-agent-source:hover{border-color:var(--blue);background:var(--blue-xl)}
.wb-agent-draft-card{
  margin-top:var(--sp-2);
  padding:var(--sp-3);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  background:var(--blue-xl);
}
.wb-agent-draft-intro{margin-bottom:var(--sp-2)}
.wb-agent-draft-title{
  display:flex;
  align-items:center;
  gap:var(--sp-2);
  margin-bottom:var(--sp-2);
  color:var(--ink);
  font-weight:700;
}
.wb-agent-draft-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--sp-2);
}
.wb-agent-field{
  display:flex;
  flex-direction:column;
  gap:var(--sp-1);
  min-width:0;
  color:var(--gray);
  font-size:var(--fs-sm);
}
.wb-agent-field.full{grid-column:1/-1}
.wb-agent-field input,
.wb-agent-field select,
.wb-agent-field textarea{
  width:100%;
  min-width:0;
}
.wb-agent-preview{
  margin-top:var(--sp-2);
  padding:var(--sp-2);
  border:1px solid color-mix(in srgb,var(--amber) 45%,var(--line));
  border-radius:var(--r-sm);
  background:color-mix(in srgb,var(--amber) 9%,var(--panel));
  color:var(--ink);
}
.wb-agent-actions{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:var(--sp-2);
  margin-top:var(--sp-2);
}
.wb-agent-tabs button:focus-visible,
.wb-agent-source:focus-visible,
#wb-agent-panel button:focus-visible,
#wb-agent-dock .btn:focus-visible,
#wb-agent-dock select:focus-visible,
#wb-agent-dock textarea:focus-visible,
#wb-agent-dock input:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:2px;
}
#wb-agent-dock .btn:disabled,
#wb-agent-dock button:disabled,
#wb-agent-dock input:disabled,
#wb-agent-dock select:disabled,
#wb-agent-dock textarea:disabled{
  opacity:.48;
  cursor:not-allowed;
}
.wb-agent-empty{
  flex:1;
  min-height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:var(--muted);
  line-height:1.8;
  padding:var(--sp-5);
}
.wb-agent-error{
  color:var(--red);
  padding:var(--sp-3);
  border:1px solid color-mix(in srgb,var(--red) 35%,var(--line));
  border-radius:var(--r-sm);
  background:color-mix(in srgb,var(--red) 8%,var(--panel));
}
.wb-agent-skeleton{
  height:38px;
  border-radius:var(--r-sm);
  background:linear-gradient(
    90deg,
    var(--surface-2) 0%,
    var(--surface-3) 42%,
    var(--surface-2) 84%
  );
  background-size:200% 100%;
  animation:wb-agent-shine 1.2s var(--ease,linear) infinite;
}
.wb-agent-skeleton.short{width:72%;height:68px}
.wb-agent-skeleton.long{width:86%;height:50px;align-self:flex-end}
@keyframes wb-agent-shine{
  from{background-position:120% 0}
  to{background-position:-40% 0}
}
.wb-agent-kb{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:var(--sp-2);
}
.wb-agent-kb-toolbar{
  display:flex;
  align-items:center;
  gap:var(--sp-2);
  flex:0 0 auto;
}
.wb-agent-kb-toolbar input{flex:1;min-width:0}
.wb-agent-kb-count{
  color:var(--muted);
  font-size:var(--fs-sm);
  white-space:nowrap;
}
.wb-agent-kb-list{
  flex:1;
  min-height:0;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:var(--sp-2);
}
.wb-agent-kb-item{
  width:100%;
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  background:var(--panel);
  color:var(--ink);
  padding:var(--sp-2) var(--sp-3);
  text-align:left;
}
.wb-agent-kb-item:hover,
.wb-agent-kb-item:focus-visible{
  border-color:var(--blue);
  background:var(--blue-xl);
  outline:none;
}
.wb-agent-kb-item b{display:block;margin-bottom:var(--sp-1)}
.wb-agent-kb-item small{
  display:block;
  color:var(--muted);
  line-height:1.55;
  overflow-wrap:anywhere;
}
.wb-agent-kb-pager{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:var(--sp-2);
  flex:0 0 auto;
  color:var(--muted);
  font-size:var(--fs-sm);
}
.wb-agent-kb-pager select{padding:3px 6px}
.wb-agent-doc{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:var(--sp-2);
}
.wb-agent-doc-head{
  display:flex;
  align-items:flex-start;
  gap:var(--sp-2);
  flex:0 0 auto;
}
.wb-agent-doc-head b{flex:1;line-height:1.5;overflow-wrap:anywhere}
.wb-agent-doc-content{
  flex:1;
  min-height:0;
  overflow:auto;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  padding:var(--sp-3);
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  line-height:1.75;
  font-size:var(--fs-md);
}
.wb-agent-config{
  flex:1;
  min-height:0;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:0;
}
.wb-agent-config-group{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}
.wb-agent-config-group:first-child{padding-top:0}
.wb-agent-config-head{display:flex;align-items:flex-start;gap:var(--sp-2)}
.wb-agent-config-head>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}
.wb-agent-config-head b{color:var(--ink);font-size:var(--fs-lg)}
.wb-agent-config-head span:not(.tag){color:var(--muted);font-size:var(--fs-sm);line-height:1.55}
.wb-agent-config-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}
.wb-agent-profile-row{display:flex;align-items:flex-end;gap:var(--sp-2);min-width:0}
.wb-agent-profile-row>.wb-agent-field{flex:1;min-width:0}
.wb-agent-profile-actions{display:flex;align-items:center;gap:var(--sp-1);padding-bottom:1px}
.wb-agent-profile-actions .icon-btn{width:var(--wb-agent-control-size);height:var(--wb-agent-control-size)}
.wb-agent-config-note{
  color:var(--muted);
  line-height:1.65;
  font-size:var(--fs-sm);
}
.wb-agent-model-status{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}
.wb-agent-model-capabilities{display:flex;flex-wrap:wrap;gap:var(--sp-2);min-height:0}
.wb-agent-model-warning{grid-column:1/-1;color:var(--amber);line-height:1.5}
@media(max-width:620px){
  .wb-agent-profile-row{align-items:stretch;flex-direction:column}
  .wb-agent-profile-actions{justify-content:flex-end}
  .wb-agent-config-fields{grid-template-columns:1fr}
}
.wb-agent-attachments:not(.hidden){flex:0 0 auto;max-width:100%;max-height:16vh;padding:var(--sp-2);overflow:auto;border-bottom:1px solid var(--line)}
.wb-agent-attachments[hidden]{display:none!important}
.wb-agent-compose{position:relative}
.wb-agent-compose.is-drop-target::before{content:"松开后加入当前对话";position:absolute;inset:0;z-index:var(--z-1);display:flex;align-items:center;justify-content:center;background:var(--blue-xl);border:1px dashed var(--blue);border-radius:var(--r-sm);color:var(--blue-d);pointer-events:none}
.wb-agent-clip{flex:0 0 auto;min-width:var(--wb-agent-control-size);height:var(--wb-agent-control-size)}
.ledger-proof-actions.over .ledger-drop{border-color:var(--blue);background:var(--blue-l);outline:var(--bd-w) solid var(--blue)}
.wb-agent-attachments{
  display:flex;
  flex:1 1 100%;
  gap:var(--sp-2);
  max-width:100%;
  overflow:auto;
  padding-bottom:var(--sp-2);
}
.wb-agent-attachment{
  display:flex;
  align-items:center;
  gap:var(--sp-2);
  min-width:150px;
  max-width:240px;
  padding:var(--sp-1) var(--sp-2);
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  background:var(--surface-2);
}
.wb-agent-attachment img{
  width:34px;
  height:34px;
  object-fit:cover;
  border-radius:var(--r-sm);
}
.wb-agent-file{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--r-sm);
  background:var(--blue-l);
  color:var(--blue-d);
  font-size:var(--fs-xs);
  font-weight:700;
}
.wb-agent-attachment-name{
  flex:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:var(--fs-sm);
}
.wb-agent-attachment button{
  border:0;
  background:transparent;
  color:var(--muted);
  padding:2px;
}
.wb-agent-attachment button:hover{color:var(--red)}
.wb-agent-compose{
  position:relative;
  display:flex;
  align-items:stretch;
  gap:var(--sp-2);
  flex-wrap:wrap;
}
.wb-agent-compose textarea{
  flex:1 1 100%;
  min-width:0;
  min-height:var(--wb-agent-input-height);
  max-height:var(--wb-agent-input-max);
  resize:vertical;
  line-height:1.55;
  padding:var(--sp-3) var(--sp-3) calc(var(--wb-agent-control-size) + var(--sp-4));
}
.wb-agent-compose-tools{
  position:absolute;
  right:var(--sp-2);
  bottom:var(--sp-2);
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:var(--sp-2);
  min-width:0;
  max-width:calc(100% - 2 * var(--sp-2));
  padding:var(--sp-1);
  border-radius:var(--r-sm);
  background:color-mix(in srgb,var(--panel) 94%,transparent);
}
.wb-agent-compose-tools select{max-width:220px;min-width:120px;height:var(--wb-agent-control-size);font-size:var(--fs-sm)}
#wb-agent-reasoning{max-width:130px;min-width:92px!important}
#wb-agent-toggle{position:fixed;left:var(--sp-3);top:50%;z-index:calc(var(--z-modal) - 1);border-bottom-left-radius:0;border-bottom-right-radius:0;transition:top var(--t-mid) var(--ease-out),left var(--t-mid) var(--ease-out)}
#wb-agent-root:not(.agent-dock-spacer) #wb-agent-dock{display:flex;flex-direction:column;gap:var(--sp-2)}
#wb-agent-root.agent-dock-spacer #wb-agent-dock{display:flex;align-items:center}
#wb-agent-root.agent-dock-spacer #wb-agent-panel{display:none}
#wb-agent-root.agent-dock-spacer .wb-agent-compose{width:100%;align-items:center;flex-wrap:nowrap;padding:var(--sp-1);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm)}
#wb-agent-root.agent-dock-spacer .wb-agent-compose:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-xl)}
#wb-agent-root.agent-dock-spacer .wb-agent-compose textarea{flex:1 1 0;width:0;min-width:0;min-height:var(--wb-agent-control-size);height:var(--wb-agent-control-size);max-height:var(--wb-agent-control-size);padding:var(--sp-2) var(--sp-3);resize:none;border:0;box-shadow:none}
#wb-agent-root.agent-dock-spacer .wb-agent-compose textarea:focus-visible{outline:none}
#wb-agent-root.agent-dock-spacer .wb-agent-compose-tools{position:static;flex:0 1 auto;max-width:none;padding:0;background:transparent}
#wb-agent-root.agent-dock-spacer .wb-agent-compose-tools select{max-width:190px;min-width:94px}
#wb-agent-root.agent-dock-spacer #wb-agent-reasoning{max-width:110px;min-width:88px!important}
#wb-agent-root.agent-dock-spacer .wb-agent-attachments{display:none!important}
#wb-agent-root.agent-dock-spacer .wb-agent-foot{display:none}
#wb-agent-root.agent-dock-spacer #wb-agent-panel{height:0;overflow:hidden}
.wb-agent-expanded #wb-agent-dock{box-shadow:var(--shadow-md)}
#wb-agent-root.is-drop-target::after{content:"松开后加入当前对话";position:fixed;inset:var(--sp-4);z-index:calc(var(--z-modal) + var(--z-1));display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--blue-xl) 78%,transparent);border:2px dashed var(--blue);border-radius:var(--r-md);color:var(--blue-d);pointer-events:none}
#wb-agent-send{
  height:var(--wb-agent-control-size);
  flex:0 0 auto;
  padding:0 var(--sp-3);
  font-weight:700;
}
#wb-agent-toggle{
  width:var(--wb-agent-control-size);
  height:var(--wb-agent-control-size);
  flex:0 0 var(--wb-agent-control-size);
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  background:var(--panel);
  color:var(--gray);
}
#wb-agent-toggle:hover{border-color:var(--blue);color:var(--blue)}
.wb-agent-foot{
  display:flex;
  align-items:center;
  gap:var(--sp-2);
  padding-top:var(--sp-1);
  color:var(--muted);
  font-size:var(--fs-xs);
}
.wb-agent-foot span:first-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.wb-agent-preview-modal{
  position:fixed;
  inset:0;
  z-index:var(--z-modal);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:var(--sp-4);
  background:color-mix(in srgb,var(--ink) 50%,transparent);
}
.wb-agent-preview-dialog{
  width:min(860px,96vw);
  height:min(820px,88vh);
  display:flex;
  flex-direction:column;
  gap:var(--sp-2);
  padding:var(--sp-3);
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  box-shadow:var(--shadow-md);
}
.wb-agent-preview-dialog iframe{
  flex:1;
  min-height:0;
  width:100%;
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  background:var(--surface-2);
}
.wb-agent-preview-image{
  max-width:100%;
  height:auto;
}
.wb-agent-draft-title{flex-wrap:wrap}
.wb-agent-draft-scope{display:inline-flex;align-items:center;gap:var(--sp-1);margin-left:auto;color:var(--gray);font-size:var(--fs-sm)}
.wb-agent-draft-scope select{height:var(--ctl-h)}
.wb-agent-draft-table-wrap{max-width:100%;overflow:auto}
.wb-agent-draft-table{width:100%;border-collapse:collapse;table-layout:fixed;background:var(--panel)}
.wb-agent-draft-table th,.wb-agent-draft-table td{padding:var(--sp-1);border-bottom:var(--bd-w) solid var(--line);text-align:left;vertical-align:middle;overflow-wrap:anywhere}
.wb-agent-draft-table th{color:var(--gray);font-weight:600}
.wb-agent-draft-table th:first-child,.wb-agent-draft-table td:first-child{width:32px;text-align:center}
.wb-agent-draft-table th:nth-child(2){width:120px}
.wb-agent-draft-table th:nth-child(4){width:104px}
.wb-agent-draft-table th:nth-child(5){width:76px}
.wb-agent-draft-table input,.wb-agent-draft-table select{width:100%;min-width:0}
.wb-agent-draft-table td:nth-child(4){font-variant-numeric:tabular-nums}
.wb-kb-page{
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:var(--sp-3);
}
#view-knowledge{overflow:hidden}
.wb-kb-toolbar{
  flex:0 0 auto;
  margin-bottom:0;
}
.wb-kb-toolbar h3.sec{margin-bottom:0}
.wb-kb-search{
  display:flex;
  align-items:center;
  gap:var(--sp-2);
  min-width:min(420px,48vw);
}
.wb-kb-search input{flex:1;min-width:0}
.wb-kb-tools-panel,
.wb-kb-panel,
.wb-kb-doc-panel{
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
}
.wb-kb-tools-panel{flex:0 0 auto}
.wb-kb-tools{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--sp-2);
}
.wb-kb-tool{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:var(--sp-1) var(--sp-2);
  padding:var(--sp-2);
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  background:var(--surface-2);
}
.wb-kb-tool b{
  min-width:0;
  overflow-wrap:anywhere;
}
.wb-kb-tool span:not(.tag){
  grid-column:1/-1;
  color:var(--muted);
  font-size:var(--fs-sm);
  line-height:1.5;
}
.wb-kb-panel{flex:1}
.wb-kb-panel-head{
  display:flex;
  align-items:center;
  gap:var(--sp-2);
  flex:0 0 auto;
}
.wb-kb-panel-head h3.sec{flex:1;margin-bottom:var(--sp-2)}
.wb-kb-list{
  flex:1;
  min-height:0;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  background:var(--panel);
}
.wb-kb-row{
  width:100%;
  min-height:64px;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  color:var(--ink);
  padding:var(--sp-2) var(--sp-3);
  display:flex;
  align-items:center;
  gap:var(--sp-3);
  text-align:left;
}
.wb-kb-row:last-child{border-bottom:0}
.wb-kb-row:hover,
.wb-kb-row:focus-visible{
  background:var(--blue-xl);
  outline:none;
}
.wb-kb-row:focus-visible{
  box-shadow:inset 0 0 0 2px var(--blue);
}
.wb-kb-row-main{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:var(--sp-1);
}
.wb-kb-row-main b,
.wb-kb-row-main small{
  overflow-wrap:anywhere;
  line-height:1.5;
}
.wb-kb-row-main small{color:var(--muted)}
.wb-kb-pager{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:var(--sp-2);
  padding-top:var(--sp-2);
  color:var(--muted);
  font-size:var(--fs-md);
}
.wb-kb-doc-page{height:100%}
.wb-kb-doc-page>.toolbar{flex:0 0 auto}
.wb-kb-doc-page>.toolbar h3.sec{margin-bottom:0}
.wb-kb-doc-panel{flex:1;padding:0;overflow:hidden}
.wb-kb-doc-body{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:var(--sp-4);
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  line-height:1.8;
  font-size:var(--fs-md);
}
[data-theme="dark"] #wb-agent-dock{
  background:color-mix(in srgb,var(--panel) 94%,var(--surface-2));
}
[data-theme="dark"] #wb-agent-panel,
[data-theme="dark"] .wb-agent-kb-item,
[data-theme="dark"] .wb-agent-doc-content{
  background:var(--panel);
}
@media(max-width:1100px){
  .wb-kb-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  body{--wb-agent-width:100vw;--wb-agent-reserve:70px;--wb-agent-dock-height:70px}
  #wb-agent-dock{
    width:100%;
    padding:var(--sp-2);
    border-left:0;
    border-right:0;
    border-radius:0;
  }
  #wb-agent-panel{left:var(--sp-2);right:var(--sp-2);bottom:var(--wb-agent-dock-height);width:auto;height:min(var(--wb-agent-panel-height),var(--wb-agent-panel-max),calc(100dvh - var(--wb-agent-dock-height) - 2 * var(--sp-3)));min-height:0;transform:none}
  .wb-agent-head{flex-wrap:wrap}
  .wb-agent-state{display:none}
  .wb-agent-msg{max-width:96%}
  #wb-agent-root.agent-dock-spacer{height:calc(var(--wb-agent-control-size) + var(--sp-4))}
  #wb-agent-panel{overflow-y:auto}
  #wb-agent-content{overflow:auto}
  .wb-agent-draft-grid{grid-template-columns:1fr}
  .wb-agent-draft-table{min-width:640px}
  .wb-agent-field.full{grid-column:auto}
  .wb-agent-config-fields{grid-template-columns:1fr}
  .wb-agent-compose{gap:var(--sp-1);flex-wrap:wrap}
  .wb-agent-compose textarea{flex:1 1 100%;min-height:min(var(--wb-agent-input-height),34vh)}
  .wb-agent-compose-tools{width:auto;margin-left:0;justify-content:flex-end}
  .wb-agent-compose-tools select{max-width:145px;min-width:92px}
  #wb-agent-root.agent-dock-spacer .wb-agent-compose{flex-wrap:nowrap}
  #wb-agent-root.agent-dock-spacer .wb-agent-compose textarea{flex:1 1 0;min-height:var(--wb-agent-control-size)}
  #wb-agent-root.agent-dock-spacer .wb-agent-compose-tools{position:static;width:auto;padding:0}
  #wb-agent-root.agent-dock-spacer .wb-agent-compose-tools select{max-width:112px;min-width:76px!important}
  #wb-agent-root.agent-dock-spacer #wb-agent-reasoning{max-width:96px;min-width:72px!important}
  #wb-agent-send{padding:0 var(--sp-2)}
  .wb-agent-foot span:last-child{display:none}
  .wb-kb-search{min-width:0;width:100%}
  .wb-kb-toolbar .sp{display:none}
  .wb-kb-tools{grid-template-columns:1fr}
  .wb-kb-tools-panel{max-height:34vh;overflow:auto}
.wb-kb-row{align-items:flex-start}
}
@media(max-height:620px){
  #wb-agent-panel{height:44vh;min-height:220px}
  .wb-kb-tools-panel{max-height:22vh;overflow:auto}
}
@media(prefers-reduced-motion:reduce){
  .wb-agent-skeleton{animation:none}
  .wb-agent-conversation{scroll-behavior:auto}
  #wb-agent-toggle{transition:none}
}
