/* 右侧智能客服 — 跟随页面主题，玻璃质感 +  accent 光晕 */
.seedclaude-support {
  --cs-support-accent: var(--accent, #5b7cfa);
  --cs-support-accent-2: #48b888;
  --cs-support-accent-hover: var(--accent-hover, #7c94fc);
  --cs-support-panel-bg: var(--panel, #1a1a1e);
  --cs-support-surface: var(--sidebar, #161618);
  --cs-support-text: var(--text, #ececf1);
  --cs-support-muted: var(--muted, #9ca3af);
  --cs-support-border: var(--border, #2a2a30);
  --cs-support-glow: color-mix(in srgb, var(--cs-support-accent) 38%, transparent);
  --cs-support-glow-2: color-mix(in srgb, var(--cs-support-accent-2) 28%, transparent);
  position: fixed;
  right: 0;
  bottom: 88px;
  z-index: 9200;
  font-family: inherit;
  pointer-events: none;
}

/* 创作页浅色 */
html[data-theme='light'] .seedclaude-support,
:root[data-theme='light'] .seedclaude-support {
  --cs-support-accent-2: #0891b2;
  --cs-support-glow: color-mix(in srgb, var(--cs-support-accent) 22%, transparent);
  --cs-support-glow-2: color-mix(in srgb, var(--cs-support-accent-2) 18%, transparent);
}

/* API 控制台 */
.api-console-root .seedclaude-support {
  --cs-support-accent: var(--api-accent, #48b888);
  --cs-support-accent-2: #6b9fff;
  --cs-support-accent-hover: var(--api-accent-hover, #58c896);
  --cs-support-panel-bg: var(--api-surface-2, #18181c);
  --cs-support-surface: var(--api-surface, #111113);
  --cs-support-text: var(--api-text, #f2f2f4);
  --cs-support-muted: var(--api-muted, #8e8e98);
  --cs-support-border: var(--api-border-strong, rgba(255, 255, 255, 0.12));
  --cs-support-glow: var(--api-accent-glow, rgba(72, 184, 136, 0.26));
  --cs-support-glow-2: rgba(107, 159, 255, 0.22);
}

.seedclaude-support * {
  box-sizing: border-box;
}

.seedclaude-support-tab {
  position: relative;
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 52px;
  padding: 12px 8px 14px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--cs-support-accent) 36%, var(--cs-support-border) 64%);
  border-right: none;
  border-radius: 12px 0 0 12px;
  background:
    linear-gradient(
      155deg,
      color-mix(in srgb, var(--cs-support-surface) 88%, var(--cs-support-accent) 12%) 0%,
      color-mix(in srgb, var(--cs-support-panel-bg) 92%, var(--cs-support-accent-2) 8%) 100%
    );
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: var(--cs-support-accent);
  box-shadow:
    -4px 0 22px rgba(0, 0, 0, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 0 18px var(--cs-support-glow);
  cursor: pointer;
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}

.seedclaude-support-tab::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 2px;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--cs-support-accent-2), var(--cs-support-accent));
  box-shadow: 0 0 10px var(--cs-support-glow);
}

.seedclaude-support-tab::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    transparent 40%,
    color-mix(in srgb, var(--cs-support-accent) 12%, transparent) 50%,
    transparent 60%
  );
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.seedclaude-support-tab:hover {
  transform: translateX(-3px);
  border-color: color-mix(in srgb, var(--cs-support-accent) 55%, var(--cs-support-border) 45%);
  box-shadow:
    -6px 0 28px rgba(0, 0, 0, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.09),
    0 0 24px var(--cs-support-glow),
    0 0 8px var(--cs-support-glow-2);
}

.seedclaude-support-tab:hover::after {
  opacity: 1;
}

.seedclaude-support.is-open .seedclaude-support-tab {
  border-color: color-mix(in srgb, var(--cs-support-accent) 62%, var(--cs-support-border) 38%);
  box-shadow:
    -3px 0 16px rgba(0, 0, 0, 0.28),
    inset 0 0 0 1px color-mix(in srgb, var(--cs-support-accent) 22%, transparent),
    0 0 20px var(--cs-support-glow);
}

.seedclaude-support-tab-ico-wrap {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--cs-support-accent) 14%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cs-support-accent) 28%, transparent);
}

.seedclaude-support-tab-ico {
  width: 17px;
  height: 17px;
  flex-shrink: 0;
  color: var(--cs-support-accent);
  filter: drop-shadow(0 0 4px var(--cs-support-glow));
}

.seedclaude-support-tab-label {
  position: relative;
  z-index: 1;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.08em;
  color: var(--cs-support-text);
  opacity: 0.82;
}

html[data-theme='light'] .seedclaude-support-tab-label,
:root[data-theme='light'] .seedclaude-support-tab-label {
  opacity: 0.72;
}

.seedclaude-support-backdrop {
  pointer-events: auto;
  position: fixed;
  inset: 0;
  z-index: 9198;
  background: rgba(8, 9, 10, 0.55);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
}

html[data-theme='light'] .seedclaude-support-backdrop,
:root[data-theme='light'] .seedclaude-support-backdrop {
  background: rgba(15, 17, 21, 0.35);
}

.seedclaude-support.is-open .seedclaude-support-backdrop {
  opacity: 1;
  visibility: visible;
}

.seedclaude-support-panel {
  pointer-events: auto;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9199;
  width: min(380px, 92vw);
  height: 100%;
  max-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: var(--cs-support-panel-bg);
  border-left: 1px solid var(--cs-support-border);
  box-shadow: -12px 0 40px rgba(0, 0, 0, 0.35);
  transform: translateX(100%);
  transition: transform 0.24s ease;
}

.seedclaude-support.is-open .seedclaude-support-panel {
  transform: translateX(0);
}

.seedclaude-support-head {
  position: relative;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 14px 12px;
  border-bottom: 1px solid var(--cs-support-border);
}

.seedclaude-support-head-main {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.seedclaude-support-head-avatar {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: var(--cs-support-accent);
  background: color-mix(in srgb, var(--cs-support-accent) 14%, transparent);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--cs-support-accent) 28%, transparent),
    0 0 12px var(--cs-support-glow);
}

.seedclaude-support-head-avatar svg {
  width: 22px;
  height: 22px;
}

.seedclaude-support-head::after {
  content: '';
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--cs-support-accent) 35%,
    var(--cs-support-accent-2) 65%,
    transparent
  );
  opacity: 0.45;
}

.seedclaude-support-head h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 650;
  color: var(--cs-support-text);
}

.seedclaude-support-head p {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--cs-support-muted);
}

.seedclaude-support-close {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--cs-support-muted);
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}

.seedclaude-support-close:hover {
  background: color-mix(in srgb, var(--cs-support-accent) 10%, transparent);
  border-color: color-mix(in srgb, var(--cs-support-accent) 24%, transparent);
  color: var(--cs-support-text);
}

.seedclaude-support-chat {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.seedclaude-support-messages {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 14px 12px 8px;
  -webkit-overflow-scrolling: touch;
}

.seedclaude-support-loading {
  padding: 24px 12px;
  text-align: center;
  font-size: 13px;
  color: var(--cs-support-muted);
}

.seedclaude-support-msg {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  margin-bottom: 12px;
}

.seedclaude-support-msg--user {
  justify-content: flex-end;
}

.seedclaude-support-msg-avatar {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: var(--cs-support-accent);
  background: color-mix(in srgb, var(--cs-support-accent) 12%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cs-support-accent) 22%, transparent);
}

.seedclaude-support-msg-avatar svg {
  width: 18px;
  height: 18px;
}

.seedclaude-support-msg-bubble {
  max-width: 78%;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.55;
  word-break: break-word;
}

.seedclaude-support-msg--bot .seedclaude-support-msg-bubble {
  color: var(--cs-support-text);
  background: color-mix(in srgb, var(--cs-support-surface) 88%, var(--cs-support-accent) 12%);
  border: 1px solid var(--cs-support-border);
  border-bottom-left-radius: 4px;
}

.seedclaude-support-msg--user .seedclaude-support-msg-bubble {
  color: #fff;
  background: linear-gradient(
    135deg,
    var(--cs-support-accent) 0%,
    color-mix(in srgb, var(--cs-support-accent) 70%, var(--cs-support-accent-2) 30%) 100%
  );
  border-bottom-right-radius: 4px;
  box-shadow: 0 4px 14px var(--cs-support-glow);
}

html[data-theme='light'] .seedclaude-support-msg--user .seedclaude-support-msg-bubble,
:root[data-theme='light'] .seedclaude-support-msg--user .seedclaude-support-msg-bubble {
  color: #fff;
}

.seedclaude-support-msg-bubble--typing {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 36px;
  padding: 10px 14px;
}

.seedclaude-support-msg-bubble--typing span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cs-support-muted);
  animation: cs-support-dot 1.2s infinite ease-in-out;
}

.seedclaude-support-msg-bubble--typing span:nth-child(2) {
  animation-delay: 0.15s;
}

.seedclaude-support-msg-bubble--typing span:nth-child(3) {
  animation-delay: 0.3s;
}

@keyframes cs-support-dot {
  0%, 80%, 100% { opacity: 0.35; transform: translateY(0); }
  40% { opacity: 1; transform: translateY(-3px); }
}

.seedclaude-support-chips {
  flex-shrink: 0;
  padding: 0 12px 10px;
}

.seedclaude-support-chips-label {
  margin: 0 0 8px;
  font-size: 11px;
  color: var(--cs-support-muted);
}

.seedclaude-support-chips-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.seedclaude-support-chip {
  max-width: 100%;
  padding: 6px 10px;
  border: 1px solid color-mix(in srgb, var(--cs-support-accent) 30%, var(--cs-support-border) 70%);
  border-radius: 999px;
  background: color-mix(in srgb, var(--cs-support-accent) 8%, transparent);
  color: var(--cs-support-text);
  font: inherit;
  font-size: 12px;
  line-height: 1.35;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}

.seedclaude-support-chip:hover {
  border-color: color-mix(in srgb, var(--cs-support-accent) 50%, var(--cs-support-border) 50%);
  background: color-mix(in srgb, var(--cs-support-accent) 14%, transparent);
  box-shadow: 0 0 10px var(--cs-support-glow);
}

.seedclaude-support-compose {
  flex-shrink: 0;
  display: flex;
  align-items: flex-end;
  gap: 8px;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--cs-support-border);
  background: color-mix(in srgb, var(--cs-support-panel-bg) 92%, var(--cs-support-surface) 8%);
}

.seedclaude-support-input-wrap {
  flex: 1;
  min-width: 0;
}

.seedclaude-support-input {
  display: block;
  width: 100%;
  min-height: 40px;
  max-height: 96px;
  padding: 10px 12px;
  border: 1px solid var(--cs-support-border);
  border-radius: 10px;
  resize: none;
  background: color-mix(in srgb, var(--cs-support-surface) 90%, transparent);
  color: var(--cs-support-text);
  font: inherit;
  font-size: 13px;
  line-height: 1.45;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.seedclaude-support-input::placeholder {
  color: var(--cs-support-muted);
}

.seedclaude-support-input:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--cs-support-accent) 55%, var(--cs-support-border) 45%);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cs-support-accent) 18%, transparent);
}

.seedclaude-support-input:disabled {
  opacity: 0.65;
}

.seedclaude-support-send {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: none;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(
    145deg,
    var(--cs-support-accent) 0%,
    color-mix(in srgb, var(--cs-support-accent) 75%, var(--cs-support-accent-2) 25%) 100%
  );
  box-shadow: 0 4px 14px var(--cs-support-glow);
  cursor: pointer;
  transition: transform 0.15s, opacity 0.15s, box-shadow 0.15s;
}

.seedclaude-support-send svg {
  width: 18px;
  height: 18px;
}

.seedclaude-support-send:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px var(--cs-support-glow);
}

.seedclaude-support-send:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.seedclaude-support-body {
  display: none;
}

.seedclaude-support-item {
  border: 1px solid var(--cs-support-border);
  border-radius: 10px;
  margin-bottom: 8px;
  overflow: hidden;
  background: color-mix(in srgb, var(--cs-support-panel-bg) 90%, var(--cs-support-accent) 10%);
  transition: border-color 0.15s ease;
}

.seedclaude-support-item.is-open {
  border-color: color-mix(in srgb, var(--cs-support-accent) 38%, var(--cs-support-border) 62%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cs-support-accent) 12%, transparent);
}

.seedclaude-support-q {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 12px 12px;
  border: none;
  background: transparent;
  text-align: left;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--cs-support-text);
  cursor: pointer;
}

.seedclaude-support-q-ico {
  flex-shrink: 0;
  margin-top: 2px;
  width: 14px;
  height: 14px;
  color: var(--cs-support-accent);
  transition: transform 0.2s;
}

.seedclaude-support-item.is-open .seedclaude-support-q-ico {
  transform: rotate(90deg);
}

.seedclaude-support-a {
  display: none;
  padding: 0 12px 12px 34px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--cs-support-muted);
  white-space: pre-wrap;
}

.seedclaude-support-item.is-open .seedclaude-support-a {
  display: block;
}

@media (max-width: 720px) {
  .seedclaude-support {
    bottom: 72px;
  }
  .seedclaude-support-tab {
    min-width: 46px;
    padding: 10px 7px 12px;
  }
  .seedclaude-support-tab-ico-wrap {
    width: 26px;
    height: 26px;
  }
  .seedclaude-support-tab-ico {
    width: 15px;
    height: 15px;
  }
  .seedclaude-support-tab-label {
    font-size: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .seedclaude-support-tab,
  .seedclaude-support-tab::after,
  .seedclaude-support-panel,
  .seedclaude-support-backdrop {
    transition: none;
  }
}
