.ccard-message-wrap{display:block;max-width:100%}.ccard-message{display:block;width:244px;max-width:100%;box-sizing:border-box;border:0;border-radius:6px;padding:0;background:#fff;color:#20252b;text-align:left;font:inherit;cursor:pointer}.ccard-message-main{display:flex;gap:12px;align-items:center;padding:12px}.ccard-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 46px;width:46px;height:46px;border-radius:7px;overflow:hidden;background:#edf4fb;color:#367aaf;font-size:20px}.ccard-avatar img{width:100%;height:100%;object-fit:cover}.ccard-message-info,.ccard-option-info{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}.ccard-name,.ccard-option-info strong{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ccard-account,.ccard-option-info small{color:#818993;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ccard-message-footer{display:flex;justify-content:space-between;border-top:1px solid #edf0f4;color:#8b939d;font-size:12px;padding:7px 12px}.ccard-error{display:block;color:#ba4040;font-size:13px;line-height:1.5;padding:8px 12px;margin:0;overflow-wrap:anywhere}.ccard-picker-mask{position:fixed;inset:0;z-index:19000;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.32)}.ccard-picker{display:flex;flex-direction:column;width:420px;max-width:100%;max-height:calc(100vh - 32px);max-height:calc(var(--raim-chat-viewport-height,100vh) - 32px);box-sizing:border-box;border-radius:14px;background:white;color:#252a30;overflow:hidden;font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}.ccard-picker-header{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 16px;border-bottom:1px solid #edf0f4}.ccard-picker-header strong{font-size:17px;font-weight:600}.ccard-close{border:0;background:transparent;font-size:26px;line-height:1;padding:8px;color:#747d88;cursor:pointer}.ccard-picker-tip{margin:0;padding:12px 16px 0;font-size:13px;line-height:1.5;color:#848d98}.ccard-search{box-sizing:border-box;flex:none;width:calc(100% - 32px);margin:12px 16px;border:1px solid #e3e8ef;border-radius:7px;padding:10px 12px;background:#f7f9fc;font-size:16px;color:#252a30;outline:none}.ccard-search:focus{border-color:#2f8bea}.ccard-picker-list{min-height:0;overflow:auto;overscroll-behavior:contain;flex:1}.ccard-option{display:flex;gap:12px;align-items:center;box-sizing:border-box;width:100%;padding:12px 16px;border:0;border-bottom:1px solid #f0f2f5;background:white;text-align:left;font:inherit;color:#20252b;cursor:pointer}.ccard-option.is-selected{background:#eff6ff}.ccard-option-check{width:24px;color:#2b89e8;font-size:20px}.ccard-picker-footer{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid #edf0f4}.ccard-confirm{width:100%;min-height:42px;border:0;border-radius:7px;background:#2789e9;color:white;font-size:15px;cursor:pointer}.ccard-confirm:disabled{opacity:.45;cursor:default}.ccard-state{padding:18px 16px;margin:0;text-align:center;color:#89919c;font-size:13px}.ccard-load-more{display:block;width:100%;padding:12px;border:0;color:#2b89e8;background:#f6f9fc;font-size:14px;cursor:pointer}.ccard-error button{margin-left:8px;border:0;background:transparent;color:#2789e9;font:inherit;cursor:pointer}

/* Chat contact cards only: large title above the smaller account row. */
@supports selector(article:has(.ccard-message-wrap)) {
  .chat-messages > article.chat-line:has(> .chat-message-wrap > .chat-bubble > .ccard-message-wrap) { margin-bottom: 4px !important; }
}
.chat-messages > article.chat-line > .chat-message-wrap > .chat-bubble > .ccard-message-wrap {
  display: block; width: 244px; max-width: 100%; margin: 0;
}
.chat-messages > article.chat-line > .chat-message-wrap > .chat-bubble > .ccard-message-wrap > .ccard-message {
  position: relative; display: block; width: 244px; max-width: 100%; height: 70px; min-height: 70px; max-height: 70px; box-sizing: border-box; overflow: hidden;
}
.chat-messages > article.chat-line > .chat-message-wrap > .chat-bubble > .ccard-message-wrap .ccard-message-main {
  display: flex; width: 100%; height: 70px; min-height: 70px; box-sizing: border-box; align-items: center; gap: 10px; padding: 10px; overflow: hidden;
}
.chat-messages > article.chat-line > .chat-message-wrap > .chat-bubble > .ccard-message-wrap .ccard-avatar {
  flex: 0 0 36px; width: 36px; height: 36px; border-radius: 5px; font-size: 18px;
}
.chat-messages > article.chat-line > .chat-message-wrap > .chat-bubble > .ccard-message-wrap .ccard-message-info {
  display: flex; flex: 1 1 auto; min-width: 0; flex-direction: column; align-items: stretch; justify-content: center; gap: 6px; overflow: hidden; white-space: normal;
}
.chat-messages > article.chat-line > .chat-message-wrap > .chat-bubble > .ccard-message-wrap .ccard-name {
  display: block; flex: 0 0 auto; width: 100%; min-width: 0; max-width: 100%; height: 26px; margin: 0; padding: 0; color: #20252b; font-size: 20px; font-weight: 600; line-height: 26px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.chat-messages > article.chat-line > .chat-message-wrap > .chat-bubble > .ccard-message-wrap .ccard-account {
  display: block; flex: 0 0 auto; width: calc(100% - 62px); min-width: 0; height: 18px; margin: 0; padding: 0; color: #20252b; font-size: 13px; line-height: 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.chat-messages > article.chat-line > .chat-message-wrap > .chat-bubble > .ccard-message-wrap .ccard-message-footer {
  display: block; position: absolute; top: auto; bottom: 10px; right: 10px; z-index: 1; min-height: 0; height: 18px; margin: 0; padding: 0; border: 0; background: transparent; color: transparent; font-size: 0; line-height: 18px; pointer-events: none;
}
.chat-messages > article.chat-line > .chat-message-wrap > .chat-bubble > .ccard-message-wrap .ccard-message-footer::before {
  content: '个人名片'; display: block; color: #20252b; font-size: 13px; line-height: 18px; letter-spacing: 0; white-space: nowrap;
}
.chat-messages > article.chat-line > .chat-message-wrap > .chat-bubble > .ccard-message-wrap .ccard-message-footer::after { content: none; display: none; }
.chat-messages > article.chat-line > .chat-message-wrap > .chat-bubble > .ccard-message-wrap .ccard-message-footer > * { display: none; }

/* Chat contact cards only: sent and received use identical size and spacing. */
@supports selector(.chat-bubble:has(> .ccard-message-wrap)) {
  .chat-messages > article.chat-line > .chat-message-wrap > .chat-bubble:has(> .ccard-message-wrap) {
    padding: 1px;
    border: 0;
    border-radius: 7px;
    box-shadow: none;
  }
}
.chat-messages > article.chat-line > .chat-message-wrap > .chat-bubble > .ccard-message-wrap .ccard-message-info {
  gap: 10px;
}
.chat-messages > article.chat-line > .chat-message-wrap > .chat-bubble > .ccard-message-wrap .ccard-name {
  height: 22px;
  font-size: 14px;
  line-height: 22px;
}

.chat-messages > article.chat-line > .chat-message-wrap > .chat-bubble > .ccard-message-wrap .ccard-message-main {
  gap: 2px;
}
