/* Chat-Animation im Claude-Look. Alle Maße in cqw, damit der Screen auf jeder
   Breite wie ein verkleinertes Fenster wirkt statt umzubrechen.
   Geteilt von / (#ai-connectors) und /ai-connectors. Container: .cchat-host. */
.cchat-host{container-type:inline-size;background:#262624}
.cchat{position:absolute;inset:0;text-align:left;display:flex;flex-direction:column;padding:3.4cqw 6cqw 3cqw;color:#faf9f5;font-size:2.15cqw;line-height:1.5}
.cchat__log{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;gap:1.6cqw;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%);mask-image:linear-gradient(180deg,transparent 0,#000 16%);transition:opacity .4s ease}
.cchat__log.is-out{opacity:0}
.cchat__log>*{flex:none}
.cchat__user{align-self:flex-end;max-width:78%;background:#141413;border-radius:1.6cqw;padding:1.3cqw 2cqw;font-family:var(--sans)}
.cchat__bot{font-family:var(--serif);font-size:2.35cqw;color:#faf9f5}
.cchat__tool{display:flex;align-items:center;gap:1.6cqw;color:#a6a39b;font-family:var(--sans)}
.cchat__tool img{width:3.6cqw;height:3.6cqw;padding:.7cqw .9cqw;border-radius:.8cqw;background:#141413;box-sizing:border-box;object-fit:contain}
.cchat__tool.is-run span{background:linear-gradient(90deg,#a6a39b 0,#a6a39b 40%,#faf9f5 50%,#a6a39b 60%,#a6a39b 100%);background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:cchatShine 1.4s linear infinite}
@keyframes cchatShine{from{background-position:100% 0}to{background-position:-150% 0}}
.cchat__rows{list-style:none;margin:0;padding:0;border:1px solid #3d3d3a;border-radius:1.4cqw;overflow:hidden;font-family:var(--sans);font-size:2cqw}
.cchat__rows li{display:flex;justify-content:space-between;gap:2cqw;padding:1.1cqw 1.8cqw;border-top:1px solid #3d3d3a;animation:cchatIn .35s ease both}
.cchat__rows li:first-child{border-top:0}
.cchat__rows span{color:#a6a39b;font-family:var(--mono);font-size:1.75cqw;white-space:nowrap}
.cchat__in{animation:cchatIn .35s ease both}
@keyframes cchatIn{from{opacity:0;transform:translateY(.8cqw)}to{opacity:1;transform:none}}
.cchat__composer{margin-top:2.4cqw;display:flex;align-items:center;gap:1.6cqw;min-height:6.6cqw;padding:1cqw 1cqw 1cqw 2.2cqw;
  background:#30302e;border:1px solid #3d3d3a;border-radius:2cqw;font-family:var(--sans)}
.cchat__input{flex:1;min-width:0;white-space:nowrap;overflow:hidden;color:#faf9f5}
.cchat__input:empty::before{content:attr(data-ph);color:#8b8984}
.cchat__send{flex:none;width:4.4cqw;height:4.4cqw;border-radius:1.1cqw;background:#c6613f;display:grid;place-items:center;opacity:.45;transition:opacity .2s ease}
.cchat__send.is-on{opacity:1}
.cchat__send svg{width:2.2cqw;height:2.2cqw;stroke:#fff}
