.ds-logo { width: 20px; height: 20px; object-fit: contain; display: block; border-radius: 4px; }
.ds-section { margin: 0 0 22px 0; color: #f2f3f5; font-family: "Segoe UI", Tahoma, sans-serif; }
.ds-panel {
  margin: 0; padding: 14px 16px 16px 16px; border-radius: 20px 0 0 0;
  background: linear-gradient(180deg, rgba(107,60,224,0.18), rgba(107,60,224,0.07));
  border: 1px solid rgba(107,60,224,0.55);
}
.ds-section .ds-panel + .ds-panel { margin-top: 16px; }
.ds-badge {
  display: block; font-size: 11px; font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; color: #c5b8f0; background: none; border: 0;
  border-radius: 0; padding: 0; margin: 0 0 8px 0;
}
.ds-panel h3 { margin: 0 0 4px 0; font-size: 16px; color: #fff; }
.ds-panel p { margin: 0 0 12px 0; font-size: 13px; color: #b5bac1; }
.ds-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.ds-btn {
  cursor: pointer; border-radius: 20px 0 0 0;
  background: transparent; border: 1px solid rgba(107,60,224,0.7); color: #fff; font-weight: 500;
  padding: 8px 12px; font-size: 14px; font-family: inherit;
}
.ds-btn:hover { background: rgba(107,60,224,0.22); }
.ds-btn.ghost { background: transparent; border: 1px solid rgba(107,60,224,0.7); }
.ds-btn.sel { background: #6b3ce0; border-color: #6b3ce0; }
.ds-file { color: #c5b8f0; font-size: 13px; }
.ds-vol, .ds-zoom, .ds-gap, .ds-size {
  flex: 1; min-width: 140px; height: 8px; border-radius: 4px;
  -webkit-appearance: none; appearance: none; background: #1e1f22; outline: none;
}
.ds-vol::-webkit-slider-thumb, .ds-zoom::-webkit-slider-thumb,
.ds-gap::-webkit-slider-thumb, .ds-size::-webkit-slider-thumb {
  -webkit-appearance: none; width: 16px; height: 16px; margin-top: -5px; border-radius: 50%;
  background: #2b2d31; border: 2px solid #6b3ce0; cursor: pointer;
}
.ds-vol-label, .ds-gap-label, .ds-size-label, .ds-zoom-label { font-size: 12px; color: #c5b8f0; min-width: 40px; }
[data-ds-settings-page] {
  overflow-y: auto; overflow-x: hidden; padding: 28px 28px 48px 28px;
  color: #f2f3f5; font-family: inherit; height: 100%; box-sizing: border-box;
  background: #121214;
}
[data-ds-settings-page] .ds-page-title {
  display: flex; align-items: center; gap: 10px;
  margin: 0 0 4px 0; font-size: 20px; font-weight: 600; color: #fff;
}
[data-ds-settings-page] .ds-page-brand { margin: 0 0 10px 0; font-size: 13px; color: #c5b8f0; }
[data-ds-settings-page] .ds-page-brand .ds-link { color: #a78bfa; text-decoration: none; font-weight: 600; }
[data-ds-settings-page] .ds-page-brand .ds-link:hover { text-decoration: underline; color: #c4b5fd; }
[data-ds-settings-page] .ds-page-sub { margin: 0 0 6px 0; font-size: 14px; color: #b5bac1; }
[data-ds-settings-page] .ds-page-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px 0; }
[data-ds-settings-page] .ds-section { max-width: 660px; }
.ds-choice { display: flex; gap: 8px; flex-wrap: wrap; }
[data-ds-size-choice] { margin-top: 18px; }
[data-ds-settings-page] .ds-toggle,
[data-ds-settings-page] .ds-row { padding-top: 6px; padding-bottom: 6px; }
.ds-toggle {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.06);
}
.ds-toggle:last-child { border-bottom: 0; }
.ds-toggle .ds-tg-text { font-size: 14px; color: #f2f3f5; }
.ds-toggle .ds-tg-text small { display: block; font-size: 12px; color: #b5bac1; margin-top: 2px; }
.ds-switch {
  flex: 0 0 auto; width: 40px; height: 24px; border-radius: 12px; border: 0;
  background: #3f4147; position: relative; cursor: pointer; transition: background 120ms;
}
.ds-switch:after {
  content: ''; position: absolute; top: 4px; left: 4px;
  width: 16px; height: 16px; border-radius: 50%; background: #1e1f22;
  border: 1px solid #111214; transition: transform 120ms;
}
.ds-switch.on { background: #6b3ce0; }
.ds-switch.on:after { transform: translateX(16px); background: #2b2d31; }
.ds-switch:disabled { opacity: 0.55; cursor: default; }
.ds-gpt-status { font-size: 13px; color: #c5b8f0; }
.ds-font {
  flex: 1; min-width: 180px; height: 32px; border-radius: 4px;
  border: 1px solid rgba(107,60,224,0.7); background: #1e1f22; color: #f2f3f5;
  padding: 0 10px; font-size: 14px;
}
.ds-whisper-msg {
  display: flex; gap: 16px; padding: 2px 48px 2px 72px; position: relative;
  font-family: inherit; list-style: none; margin: 1.0625rem 0 0; flex: 0 0 auto;
  overflow: visible !important; z-index: 3;
}
.ds-whisper-msg + .ds-whisper-msg { margin-top: 1.0625rem; }
.ds-whisper-avatar {
  position: absolute; left: 16px; top: 2px; width: 40px; height: 40px;
  border-radius: 50%; object-fit: cover; background: transparent;
}
.ds-whisper-avatar.ds-whisper-fallback {
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 600; color: #80848e; background: #2b2d31;
  filter: none; opacity: 0.85;
}
.ds-whisper-avatar.ds-sn-av-net {
  display: flex !important; align-items: center; justify-content: center; box-sizing: border-box;
  background: #140c22 !important; border: 1px solid #6b3ce0;
  color: #c5b8f0 !important; font-size: 11px; font-weight: 800; letter-spacing: 0;
  font-family: Tahoma, "Segoe UI", sans-serif; text-transform: lowercase; line-height: 1;
  filter: none; opacity: 1; object-fit: unset;
}
.ds-whisper-name { font-weight: 500; font-size: 16px; color: #80848e; margin-right: 8px; }
.ds-whisper-tag {
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
  background: #3f4147; color: #949ba4; border-radius: 3px; padding: 1px 5px; vertical-align: middle;
}
.ds-whisper-time { font-size: 12px; color: #6d6f78; margin-left: 8px; }
.ds-whisper-to { font-size: 12px; color: #6d6f78; margin-left: 6px; }
.ds-whisper-body { font-size: 16px; line-height: 1.375; white-space: pre-wrap; word-break: break-word; color: #8b8e94; }
.ds-whisper-head { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.ds-whisper-actions {
  position: absolute; right: 8px; top: 4px; display: none; z-index: 100;
  height: 32px; overflow: hidden;
  background: var(--background-floating, #2b2d31);
  border: 1px solid var(--border-subtle, rgba(0,0,0,0.24)); border-radius: 8px;
}
.ds-whisper-msg:hover .ds-whisper-actions { display: flex; }
.ds-whisper-del, .ds-whisper-pin, .ds-whisper-edit, .ds-whisper-reply, .ds-whisper-open {
  border: 0; background: transparent; color: #b5bac1;
  width: 32px; height: 32px; padding: 0; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.ds-whisper-del:hover { background: #da373c; color: #fff; }
.ds-whisper-dock {
  flex: 0 0 auto; width: auto; padding: 0; margin: 0;
  background: transparent; border: 0; position: relative; z-index: 2;
  display: flex; flex-direction: column;
}
.ds-whisper-dock-head {
  display: flex; align-items: center; gap: 8px; cursor: pointer;
  padding: 4px 16px 4px 20px; margin: 0;
  color: #949ba4; font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.02em;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.ds-whisper-dock-title { flex: 0 0 auto; }
.ds-whisper-dock-count { font-weight: 600; color: #6d6f78; margin-left: 6px; }
.ds-whisper-dock-filters {
  flex: 1 1 auto; display: flex; align-items: center; gap: 4px;
  overflow-x: auto; min-width: 0;
}
.ds-whisper-dock-chip {
  flex: 0 0 auto; display: flex; align-items: center; gap: 5px;
  border: 0; cursor: pointer; font-size: 11px; font-weight: 600;
  padding: 2px 8px; border-radius: 10px;
  background: rgba(255,255,255,0.06); color: #b5bac1;
}
.ds-whisper-dock-chip.ds-active { background: #6b3ce0; color: #fff; }
.ds-whisper-dock-chip .ds-chip-count {
  min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,0.35); color: #fff; font-size: 10px;
}
.ds-whisper-dock-body { padding: 4px 0 8px; }
.ds-whisper-dock .ds-whisper-msg { margin-top: 0.4rem; }
.ds-wl-bar {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  margin: 0 16px 0; padding: 6px 12px; border-radius: 8px 8px 0 0;
  background: #1e1f22; color: #b5bac1; font-size: 13px; font-family: inherit;
}
.ds-wl-bar button {
  border: 0; background: #3f4147; color: #dbdee1; border-radius: 4px;
  padding: 3px 8px; font-size: 12px; cursor: pointer;
}
.ds-reply-bar {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  margin: 0 16px; padding: 8px 16px; border-radius: 8px 8px 0 0;
  background: #2b2d31; color: #b5bac1; font-size: 14px;
}
.ds-ai-bar { display: flex; align-items: center; gap: 4px; padding: 0 2px; }
.ds-ai-btn {
  width: 20px; height: 20px; min-width: 20px; border: 0; cursor: pointer;
  background: transparent; color: #fff; padding: 0; margin: 0 2px 0 0;
  display: flex; align-items: center; justify-content: center;
}
.ds-ai-btn svg { width: 18px; height: 18px; display: block; overflow: visible; }
.ds-ai-btn.ds-vanish-btn svg { width: 20px; height: 20px; overflow: visible; }
.ds-ai-btn svg path { fill: #fff; }
.ds-ai-btn.busy svg { animation: ds-ai-spin 0.8s linear infinite; }
@keyframes ds-ai-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.ds-header-btn {
  margin-right: 8px; height: 32px; min-width: 32px; padding: 0 8px;
  border: 0; border-radius: 4px; cursor: pointer;
  background: rgba(107,60,224,0.22); color: #c5b8f0;
  font-size: 12px; font-weight: 600;
}
.ds-header-btn:hover { background: rgba(107,60,224,0.4); color: #fff; }
.ds-header-member-count {
  display: inline-flex; align-items: center; gap: 8px;
  color: #c4a6ff; font-size: 12px; font-weight: 600; opacity: 0.95;
  white-space: nowrap; flex-shrink: 0; line-height: 20px;
}
.ds-hc-item { display: inline-flex; align-items: center; gap: 4px; }
.ds-hc-icon { width: 12px; height: 12px; display: block; flex-shrink: 0; }
.ds-hc-dot {
  width: 7px; height: 7px; border-radius: 50%; background: #23a55a;
  flex-shrink: 0; box-shadow: 0 0 0 2px rgba(35,165,90,0.2);
}
li[data-ds-sidebar-item] .ds-nav-item {
  display: flex; align-items: center; gap: 10px; cursor: pointer;
  border-radius: 6px; padding: 6px 10px; margin: 0 0 2px 0;
  background: linear-gradient(180deg, rgba(107,60,224,0.18), rgba(107,60,224,0.07));
  border: 1px solid rgba(107,60,224,0.55);
  color: #f2f3f5; font-size: 15px; font-weight: 500;
}
li[data-ds-sidebar-item] .ds-nav-item.ds-active {
  background: rgba(107,60,224,0.45); border-color: #6b3ce0; color: #fff;
}
.ds-ai-msg { display: flex; gap: 16px; padding: 2px 16px 10px 72px; position: relative; margin: 1.0625rem 0 0; }
.ds-ai-msg + .ds-ai-msg { margin-top: 0.25rem; }
.ds-ai-avatar {
  position: absolute; left: 16px; top: 2px; width: 40px; height: 40px;
  border-radius: 50%; object-fit: cover; background: transparent;
  display: flex; align-items: center; justify-content: center; color: #fff;
}
.ds-ai-avatar svg { width: 40px; height: 40px; display: block; color: #fff; }
.ds-ai-avatar svg path { fill: currentColor; }
.ds-ai-name { font-weight: 500; font-size: 1rem; line-height: 1.375rem; color: #f2f3f5; margin-right: 4px; }
.ds-ai-gpt-mark {
  display: inline-flex; align-items: center; justify-content: center;
  width: 15px; height: 15px; margin: 0 4px 0 2px; vertical-align: text-bottom;
}
.ds-ai-gpt-mark svg { width: 14px; height: 14px; display: block; color: #fff; }
.ds-ai-gpt-mark svg path { fill: currentColor; }
.ds-ai-time { font-size: 0.75rem; line-height: 1.375rem; color: #949ba4; margin-left: 4px; font-weight: 500; }
.ds-ai-body { font-size: 1rem; line-height: 1.375rem; color: #dbdee1; white-space: pre-wrap; word-break: break-word; }
