/* 世界频道（聊天） */
.chat-wrap{display:grid;gap:0;margin-top:22px;border:1px solid var(--line);border-radius:var(--radius,20px);
  background:var(--surface);overflow:hidden}
.chat-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);
  background:var(--surface-2)}
.chat-me{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--muted)}
.chat-me b{color:var(--text);font-weight:600}
.chat-bar .spacer{flex:1}
.chat-mute-tip{padding:10px 16px;font-size:13px;line-height:1.5;background:rgba(255,170,60,.14);
  border-bottom:1px solid var(--line);color:var(--text)}
.chat-list{height:clamp(280px, calc(100vh - 560px), 560px);overflow-y:auto;overscroll-behavior:contain;padding:14px 16px;display:grid;
  gap:4px;align-content:start;scroll-behavior:smooth}
.chat-list:empty{display:none}
.chat-empty{margin:0;padding:26px 16px;text-align:center;color:var(--muted);font-size:14px}
.chat-row{display:flex;gap:10px;padding:7px 8px;border-radius:12px}
.chat-row:hover{background:var(--surface-2)}
.chat-av{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#5aa8ff,#8d6bff);user-select:none}
.chat-av.guest{background:linear-gradient(135deg,#9aa6bd,#6d7a92)}
.chat-main{flex:1;min-width:0}
.chat-top{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.chat-top b{font-size:13.5px;color:var(--text);font-weight:600}
.chat-role{font-size:11px;font-style:normal;padding:1px 6px;border-radius:99px;background:var(--accent-soft);
  color:var(--accent);border:1px solid var(--line)}
.chat-role.owner{background:rgba(255,196,0,.16);color:#c98a00;border-color:rgba(201,138,0,.28)}
.chat-time{font-variant-numeric:tabular-nums}
.chat-body{margin:3px 0 0;font-size:14.5px;line-height:1.62;color:var(--text);white-space:pre-wrap;
  word-break:break-word}
.chat-del{margin-left:auto;font:inherit;font-size:11.5px;padding:1px 7px;border-radius:7px;cursor:pointer;
  border:1px solid var(--line);background:transparent;color:var(--muted);opacity:0;transition:opacity .15s}
.chat-row:hover .chat-del{opacity:1}
.chat-del:hover{color:#e05656;border-color:rgba(224,86,86,.45)}
.chat-composer{border-top:1px solid var(--line);background:var(--surface-2);padding:12px 14px}
.chat-composer textarea{width:100%;resize:vertical;min-height:56px;max-height:180px;padding:10px 12px;
  border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;
  font-size:14.5px;line-height:1.55}
.chat-composer textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.chat-foot{display:flex;align-items:center;gap:12px;margin-top:8px}
.chat-left{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.chat-err{font-size:12.5px;color:#e05656;margin:0 auto 0 0}
.chat-foot .btn{margin-left:auto}
.chat-loading{padding:20px;text-align:center;color:var(--muted);font-size:13.5px}
.mus-art.has-cover{background-size:cover;background-position:center}
.mus-art.has-cover .mus-art-icon{display:none}
@media (max-width:640px){
  .chat-list{height:56vh;padding:10px}
  .chat-del{opacity:1}
}

.chat-bar .btn.warn{border-color:rgba(224,150,40,.45);color:#c8820f;background:rgba(245,177,76,.14)}
.chat-bar .btn.warn:hover{background:rgba(245,177,76,.24)}
