.artifact-pane{
  flex:0 0 0;width:0;overflow:hidden;background:var(--bg2);
  border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0;
}
.shell.art-open .artifact-pane{flex:0 0 46%;width:46%}
.shell.art-full .artifact-pane{flex:1 1 100%;width:100%}
.shell.art-full .chat-pane{display:none}

.art-top{
  flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:9px 10px;
  border-bottom:1px solid var(--line);background:var(--bg2);
}
.art-titles{flex:1 1 auto;min-width:0}
.art-title{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.art-sub{font-size:11px;color:var(--text3)}
.art-body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}
#backToChat{display:none}

.artifact-error{padding:18px 14px}
.ae-title{font-weight:600;color:var(--crit);margin-bottom:6px}
.ae-msg{font-family:var(--mono);font-size:12px;color:var(--text2);word-break:break-word;margin-bottom:8px}
.ae-note{font-size:12.5px;color:var(--text3);margin-bottom:12px}
.ae-actions{display:flex;gap:8px;flex-wrap:wrap}

/* collections */
.coll{padding-bottom:24px}
.coll-head{font-size:14px;font-weight:600;padding:12px 12px 8px}
.res-list{display:flex;flex-direction:column}
.res,.ver,.find{
  display:flex;align-items:flex-start;gap:9px;padding:9px 12px;
  border-bottom:1px solid var(--line);cursor:pointer;
}
.res:hover,.ver:hover{background:var(--surface)}
.res-i{font-size:11px;color:var(--text3);min-width:16px;font-family:var(--mono);padding-top:2px}
.res-mid{flex:1 1 auto;min-width:0}
.res-title{font-size:13.5px;word-break:break-word}
.res-sub{font-size:11.5px;color:var(--text3);word-break:break-word;font-family:var(--mono)}
.res-kind{font-size:10.5px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;padding-top:2px}

.find{cursor:default}
.find-msg{font-size:13px;word-break:break-word}
.find-meta{font-size:11px;color:var(--text3);font-family:var(--mono)}
.sev-dot{width:7px;height:7px;border-radius:50%;background:var(--text3);margin-top:6px;flex:0 0 auto}
.sev-critical .sev-dot{background:var(--crit)}
.sev-warning .sev-dot{background:var(--warn)}
.sev-suggestion .sev-dot{background:var(--info)}

.ver{cursor:default}
.ver-label{font-size:13.5px}
.ver-meta{font-size:11.5px;color:var(--text3)}

.kn-card{margin:10px 12px;padding:11px;border:1px solid var(--line2);border-radius:var(--r);background:var(--surface)}
.kn-title{font-weight:600;font-size:13.5px}
.kn-meta{font-size:11px;color:var(--text3);margin:3px 0 7px;font-family:var(--mono)}
.kn-edit{
  width:100%;min-height:100px;background:var(--bg);border:1px solid var(--line);
  border-radius:8px;color:var(--text);font-family:var(--mono);font-size:12px;padding:8px;resize:vertical;
}
.kn-prov{font-size:11px;color:var(--text3);margin-top:6px;font-style:italic}
.kn-actions{display:flex;gap:7px;margin-top:9px;flex-wrap:wrap}

/* project */
.proj-head{padding:12px}
.proj-name{font-size:16px;font-weight:600}
.proj-meta{font-size:12px;color:var(--text3);margin-top:3px}
.proj-actions{display:flex;gap:7px;flex-wrap:wrap;padding:0 12px 10px}
.tree{padding:4px 0 10px;font-size:13px}
.tree-dir{padding:5px 12px;color:var(--text2);cursor:pointer;user-select:none}
.tree-dir:hover{color:var(--text)}
.tw{display:inline-block;width:14px;color:var(--text3)}
.tree-file{
  display:flex;align-items:center;gap:8px;padding:5px 12px;cursor:pointer;
}
.tree-file:hover{background:var(--surface)}
.tree-file.bin{color:var(--text3)}
.tf-name{flex:1 1 auto;word-break:break-all}
.tf-meta{font-size:11px;color:var(--text3);font-family:var(--mono);flex:0 0 auto}
.ver-list{padding-bottom:10px}

/* preview */
.preview-artifact{display:flex;flex-direction:column;height:100%}
.preview-label{
  font-size:11px;padding:6px 12px;background:var(--warn-soft);color:var(--warn);
  border-bottom:1px solid rgba(232,165,82,.3);
}
.preview-status{font-size:11.5px;padding:6px 12px;color:var(--text3);font-family:var(--mono);border-bottom:1px solid var(--line)}
.preview-status.warn{color:var(--warn)}
.preview-status.bad{color:var(--crit)}
.preview-frame-host{flex:1 1 auto;min-height:300px;background:#fff}
.preview-frame{width:100%;height:100%;border:0;display:block;min-height:300px}
.preview-log{flex:0 0 auto;max-height:180px;overflow-y:auto;border-top:1px solid var(--line);background:var(--bg)}
.plog-head{font-size:10.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--text3);padding:7px 12px 3px}
.plog-row{font-size:11.5px;font-family:var(--mono);padding:3px 12px;word-break:break-word;color:var(--text2)}
.plog-row.bad{color:var(--crit)}
.plog-row.warn{color:var(--warn)}
.plog-row.ok{color:var(--ok)}

/* documents */
.doc-artifact{padding-bottom:24px}
.pdf-holder{height:58vh;min-height:280px;background:#fff;border-bottom:1px solid var(--line)}
.pdf-frame{width:100%;height:100%;border:0;display:block}
.doc-head{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--text3);padding:14px 12px 6px}
.doc-text{
  white-space:pre-wrap;word-break:break-word;padding:0 12px 12px;font-size:13.5px;
  color:var(--text2);font-family:var(--ui);line-height:1.6;
}
.unit-list{display:flex;flex-direction:column}
.unit{padding:9px 12px;border-bottom:1px solid var(--line)}
.unit-loc{font-size:10.5px;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px}
.unit-text{font-size:13px;color:var(--text2);white-space:pre-wrap;word-break:break-word;line-height:1.55}
.unit-empty{font-size:12px;color:var(--warn);font-style:italic}

/* diffs */
.diff-artifact{padding-bottom:24px}
.diff-box{font-family:var(--mono);font-size:11.5px;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.dl{display:flex;padding:1px 8px;white-space:pre-wrap;word-break:break-word}
.dl-m{width:14px;flex:0 0 auto;color:var(--text3)}
.dl-t{flex:1 1 auto;color:var(--text2)}
.dl.add{background:var(--ok-soft)}
.dl.add .dl-m,.dl.add .dl-t{color:var(--ok)}
.dl.del{background:var(--crit-soft)}
.dl.del .dl-m,.dl.del .dl-t{color:var(--crit)}
.dl.gap{color:var(--text3);justify-content:center;padding:3px 0}
