| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- /* ============================================================
- * lib/components/chat-window.css · 仿微信一对一聊天窗
- * 只使用 tokens.css 的 --chat-* 与 --bg-*/--text-*/--radius-*,双主题自适应。
- * ============================================================ */
- chat-window { display: block; width: 100%; }
- chat-window .cw {
- max-width: 400px;
- margin: 0 auto;
- background: var(--chat-bg);
- border: 1px solid var(--border-strong);
- border-radius: var(--radius-lg);
- overflow: hidden;
- font-family: var(--font-body);
- font-size: 14px;
- line-height: 1.55;
- color: var(--text-2);
- }
- chat-window .cw-empty { padding: 24px; text-align: center; color: var(--text-4); }
- /* 顶部条 */
- chat-window .cw-bar {
- padding: 10px 14px;
- background: var(--chat-bar-bg);
- border-bottom: 1px solid var(--border-subtle);
- text-align: center;
- color: var(--chat-bar-text);
- font-size: 13px;
- letter-spacing: .05em;
- }
- chat-window .cw-bar .cw-sub {
- display: block;
- font-family: var(--font-mono);
- font-size: 11px;
- opacity: .7;
- letter-spacing: .08em;
- }
- /* 消息区 */
- chat-window .cw-body { padding: 14px 13px; display: flex; flex-direction: column; gap: 7px; }
- chat-window .cw-time {
- text-align: center;
- color: var(--chat-time);
- font-size: 11px;
- font-family: var(--font-mono);
- margin-bottom: 4px;
- }
- chat-window .cw-divider {
- text-align: center;
- color: var(--chat-time);
- font-size: 11px;
- margin: 6px 0;
- letter-spacing: .1em;
- }
- /* 一条消息 */
- chat-window .cw-msg {
- display: flex;
- gap: 8px;
- align-items: flex-end;
- max-width: 100%;
- }
- chat-window .cw-msg.out { flex-direction: row-reverse; }
- chat-window .cw-ava {
- flex: 0 0 32px;
- height: 32px;
- border-radius: 50%;
- background: var(--chat-avatar-bg);
- color: var(--chat-avatar-text);
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 13px;
- font-weight: 700;
- }
- chat-window .cw-bub {
- max-width: 74%;
- padding: 6px 11px;
- border-radius: 2px 8px 8px 8px;
- background: var(--chat-in-bg);
- color: var(--chat-in-text);
- word-break: break-word;
- }
- chat-window .cw-msg.out .cw-bub {
- border-radius: 8px 2px 8px 8px;
- background: var(--chat-out-bg);
- color: var(--chat-out-text);
- }
- chat-window .cw-bub b { font-weight: 700; }
- /* 转账卡 */
- chat-window .cw-bub-transfer {
- border: 1px solid var(--chat-card-border);
- background: var(--chat-card-bg);
- display: flex;
- flex-direction: column;
- gap: 2px;
- }
- chat-window .cw-tf-label { color: var(--chat-link); font-weight: 700; font-size: 12px; }
- chat-window .cw-tf-amt { font-size: 17px; font-weight: 700; color: var(--brand-ok); }
- /* 图片消息 */
- chat-window .cw-img { width: 100%; border-radius: 6px; }
- chat-window .cw-cap { margin-top: 4px; font-size: 12px; color: var(--chat-time); }
- /* 引语 */
- chat-window .cw-bub-quote { border-left: 3px solid var(--chat-link); }
- chat-window .cw-q-src { margin-top: 4px; font-size: 11px; color: var(--chat-time); }
- /* 底部条 */
- chat-window .cw-foot {
- padding: 8px 14px;
- background: var(--chat-bar-bg);
- border-top: 1px solid var(--border-subtle);
- color: var(--chat-time);
- font-size: 11px;
- font-family: var(--font-mono);
- text-align: center;
- letter-spacing: .06em;
- }
|