/* ===== Discord Chat ===== */
.dc-wrap{display:flex;flex-direction:column;height:100%;overflow:hidden;background:#36393f;color:#dcddde;font-family:var(--font-system)}
.dc-upper{display:flex;flex:1;min-height:0}
.dc-sidebar{width:180px;background:#2f3136;display:flex;flex-direction:column;border-right:1px solid #202225;flex-shrink:0;overflow:hidden;transition:width 0.15s,min-width 0.15s,padding 0.15s,border 0.15s}
.dc-sidebar.dc-sidebar-hidden{width:0;min-width:0;border-right:none;overflow:hidden}
.dc-sidebar-hdr{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid #202225;flex-shrink:0}
.dc-guild-name{font-size:14px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dc-sidebar-toggle{background:none;border:none;color:#72767d;cursor:pointer;font-size:16px;padding:0 2px;line-height:1;flex-shrink:0}
.dc-sidebar-toggle:hover{color:#dcddde}
.dc-channel-bar{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#36393f;border-bottom:1px solid #202225;flex-shrink:0;min-height:20px}
.dc-sidebar-show{background:none;border:none;color:#b9bbbe;cursor:pointer;font-size:16px;padding:0;line-height:1}
.dc-sidebar-show:hover{color:#fff}
.dc-channel-bar-name{font-size:13px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dc-channel-list{flex:1;overflow-y:auto;padding:6px 0}
.dc-channel{display:flex;align-items:center;gap:4px;padding:4px 10px;margin:1px 6px;border-radius:4px;cursor:pointer;font-size:13px;color:#8e9297;transition:background 0.1s,color 0.1s;position:relative}
.dc-channel:hover{background:#34373c;color:#dcddde}
.dc-channel.active{background:#393c43;color:#fff;font-weight:600}
.dc-channel-hash{font-size:16px;font-weight:500;color:#72767d;flex-shrink:0;width:16px}
.dc-channel.active .dc-channel-hash{color:#fff}
.dc-channel-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dc-channel-unread{width:6px;height:6px;border-radius:50%;background:#f04747;position:absolute;right:6px;top:50%;transform:translateY(-50%)}
.dc-content{flex:1;display:flex;flex-direction:column;min-width:0}
.dc-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 12px;display:flex;flex-direction:column;gap:2px}
.dc-msg{display:flex;gap:10px;padding:4px 0;border-radius:4px}
.dc-msg:hover{background:rgba(4,4,5,0.07)}
.dc-msg-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;object-fit:cover;margin-top:2px}
.dc-msg-body{min-width:0;flex:1}
.dc-msg-header{display:flex;align-items:baseline;gap:6px;margin-bottom:1px}
.dc-msg-author{font-size:13px;font-weight:600;color:#fff}
.dc-msg-author.dc-bot{color:#7289da}
.dc-bot-badge{font-size:9px;font-weight:600;background:#7289da;color:#fff;padding:1px 4px;border-radius:3px;text-transform:uppercase;vertical-align:middle}
.dc-msg-time{font-size:10px;color:#72767d}
.dc-msg-content{font-size:13px;color:#dcddde;line-height:1.4;word-wrap:break-word;white-space:pre-wrap}
.dc-web-tag{font-size:11px;color:#7289da;font-weight:600}
.dc-attach{margin-top:4px}
.dc-attach img{max-width:300px;max-height:200px;border-radius:4px;cursor:pointer}
.dc-attach a{color:#00aff4;font-size:12px}
.dc-date-sep{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:11px;color:#72767d;font-weight:600}
.dc-date-sep::before,.dc-date-sep::after{content:'';flex:1;height:1px;background:#42454a}
.dc-loading,.dc-empty,.dc-error{text-align:center;color:#72767d;padding:30px;font-size:13px}
.dc-error{color:#f04747}
/* Input area — full width below sidebar+content */
.dc-input-area{flex-shrink:0;background:#40444b;border-top:1px solid #202225;padding:6px 10px;display:flex;flex-direction:column;gap:5px}
.dc-input-row{display:flex;align-items:center;gap:6px}
.dc-label{font-size:11px;font-weight:600;color:#8e9297;flex-shrink:0;min-width:36px}
.dc-name-input{flex:1;padding:5px 8px;border-radius:4px;border:none;background:#303338;color:#dcddde;font-size:12px;font-family:var(--font-system);min-width:0;box-sizing:border-box}
.dc-name-input::placeholder{color:#72767d}
.dc-msg-input{flex:1;padding:6px 10px;border-radius:4px;border:none;background:#303338;color:#dcddde;font-size:13px;font-family:var(--font-system);min-width:0}
.dc-msg-input::placeholder{color:#72767d}
.dc-attach-btn{background:none;border:none;color:#b9bbbe;cursor:pointer;padding:4px;flex-shrink:0;display:flex;align-items:center;border-radius:4px;transition:color 0.15s}
.dc-attach-btn:hover{color:#fff}
.dc-send-btn{padding:5px 12px;background:#7289da;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;font-family:var(--font-system);flex-shrink:0;letter-spacing:0.3px}
.dc-send-btn:hover{background:#677bc4}
.dc-send-btn:disabled{opacity:0.5;cursor:default}
/* File preview bar */
.dc-preview-bar{display:flex;align-items:center;gap:8px;padding:5px 10px;background:#2f3136;border-top:1px solid #202225;flex-shrink:0}
.dc-preview-img{width:40px;height:40px;object-fit:cover;border-radius:4px;flex-shrink:0}
.dc-preview-name{font-size:11px;color:#b9bbbe;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.dc-preview-remove{background:none;border:none;color:#f04747;cursor:pointer;font-size:18px;padding:0 4px;flex-shrink:0;line-height:1}
.dc-preview-remove:hover{color:#ff6b6b}
/* Status bar */
.dc-status-bar{display:flex;align-items:center;gap:8px;padding:4px 10px;background:#2f3136;border-top:1px solid #202225;font-size:11px;color:#72767d;flex-shrink:0}
.dc-status-dot{width:8px;height:8px;border-radius:50%;background:#f04747;flex-shrink:0}
.dc-status-dot.connected{background:#43b581}
.dc-status-channel{font-weight:600;color:#dcddde}
.dc-status-count{margin-left:auto}

@media(max-width:600px){
  .dc-sidebar{width:140px}
  .dc-msg-avatar{width:28px;height:28px}
  .dc-input-area .dc-name-input{font-size:16px}
  .dc-input-area .dc-msg-input{font-size:16px}
}
