/* =============================================
   [霓虹夜市 · 浅色方案] (Cleaned & Optimized)
   base-hue:216  base-sat:60%  is-dark:0  accent-hue:221  accent-sat:83%
   ============================================= */

/* ===== 顶部导航 ===== */
.sticky.w-full.top-0.flex.items-center {
  background: rgba(240,247,255,0.96) !important;
  border-bottom: 1px solid rgba(59,130,246,0.12) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

#ai-model-selector .group.flex.items-center {
  background: rgba(59,130,246,0.06) !important;
  border: 1px solid rgba(59,130,246,0.22) !important;
  border-radius: 6px !important;
  color: #1e3a5f !important;
  transition: border-color 0.2s !important;
}

#ai-model-selector .group.flex.items-center:hover {
  border-color: rgba(59,130,246,0.45) !important;
  box-shadow: 0 0 8px rgba(59,130,246,0.12) !important;
}

#ai-model-selector .truncate.text-\[13px\] {
  color: #2563eb !important;
}

#ai-model-selector .shrink-0.flex.items-center svg {
  color: #3b82f6 !important;
}

#header-setting-button {
  color: #1e3a5f !important;
}

#header-setting-button:hover {
  color: #2563eb !important;
}

/* ===== 侧边栏 ===== */
.shadow-lg.border-r.border-gray-200 {
  background: rgba(240,247,255,0.98) !important;
  border-right: 1px solid rgba(59,130,246,0.12) !important;
}

.MuiList-root {
  background: transparent !important;
}

.conversation-text {
  color: #1e3a5f !important;
}

/* ===== 功能按钮 ===== */
#ai-mod-button2 {
  background: transparent !important;
}

#ai-mod-button2 button.MuiButton-root {
  background: rgba(255,255,255,0.70) !important;
  border: 1px solid rgba(59,130,246,0.12) !important;
  color: #1d4ed8 !important;
  border-radius: 6px !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
}

#ai-mod-button2 button.MuiButton-root:hover {
  border-color: rgba(59,130,246,0.35) !important;
  box-shadow: 0 0 10px rgba(59,130,246,0.15) !important;
}

#ai-mod-button2 button.MuiButton-root svg {
  color: #3b82f6 !important;
}

#ai-send-button {
  background: linear-gradient(135deg, #1d4ed8, #1e40af) !important;
  color: #ffffff !important;
  border-radius: 50% !important;
  border: none !important;
  box-shadow: 0 0 10px rgba(29,78,216,0.3) !important;
  transition: box-shadow 0.15s !important;
}

#ai-send-button:hover {
  box-shadow: 0 0 18px rgba(29,78,216,0.5) !important;
}

button.MuiButton-containedPrimary {
  background: linear-gradient(135deg, #1d4ed8, #1e40af) !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  box-shadow: 0 0 8px rgba(29,78,216,0.2) !important;
}

button.MuiButton-containedPrimary:hover {
  box-shadow: 0 0 14px rgba(29,78,216,0.35) !important;
}

button.MuiButton-outlinedPrimary {
  background: rgba(59,130,246,0.05) !important;
  border: 1px solid rgba(59,130,246,0.15) !important;
  color: #1d4ed8 !important;
  border-radius: 6px !important;
}

button.MuiButton-outlinedPrimary:hover {
  border-color: rgba(59,130,246,0.35) !important;
  box-shadow: 0 0 8px rgba(59,130,246,0.1) !important;
}

button.text-gray-400 {
  color: hsl(216,5%,56%) !important;
}

button.text-gray-400:hover {
  color: #3b82f6 !important;
}

button.text-gray-400 svg {
  color: inherit !important;
}

.MuiButton-root,
.MuiButton-contained {
  border-radius: 6px !important;
}

.MuiButton-outlined {
  border-color: rgba(59,130,246,0.15) !important;
  color: #1d4ed8 !important;
}

.MuiIconButton-root {
  color: #1e3a5f !important;
}

.MuiIconButton-root:hover {
  color: #2563eb !important;
  background: rgba(59,130,246,0.06) !important;
}

.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary {
  color: #1d4ed8 !important;
}

.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary:hover {
  background: rgba(59,130,246,0.06) !important;
}

/* ===== 聊天气泡 ===== */
#ai-chat-input {
  background: rgba(248,252,255,0.95) !important;
  color: #1e3a5f !important;
  caret-color: #3b82f6 !important;
  background: rgba(248,252,255,0.95) !important;
  color: #1e3a5f !important;
  caret-color: #3b82f6 !important;
  border-radius: 14px !important;
}

.bg-gray-100\/90.relative.inline-block {
  background: linear-gradient(135deg, #ffffff, #f0f7ff) !important;
  border: 1px solid rgba(59,130,246,0.15) !important;
  border-radius: 8px !important;
  box-shadow: 0 0 0px rgba(59,130,246,0.06) !important;
  padding: 10px 14px !important;
}

.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90) {
  background: linear-gradient(135deg, #ffffff, #f0f7ff) !important;
}

#ai-chat-bottom-input {
  background: rgba(248,252,255,0.95) !important;
  border: 1px solid rgba(59,130,246,0.20) !important;
  border-radius: 14px !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

#ai-chat-bottom-input:focus-within {
  border-color: rgba(37,99,235,0.50) !important;
  box-shadow: 0 0 12px rgba(59,130,246,0.12) !important;
}

#ai-chat-input::placeholder {
  color: rgba(59,130,246,0.30) !important;
}

#ai-chat-input::selection {
  background: hsl(221,29%,90%) !important;
  color: hsl(221,66%,30%) !important;
}

div.bg-gray-100.text-gray-500 {
  background: rgba(59,130,246,0.05) !important;
  color: hsl(216,6%,35%) !important;
}

/* ===== Markdown 内容 ===== */
.markdown-body pre {
  background: rgba(219,234,254,0.80) !important;
  border: 1px solid rgba(59,130,246,0.18) !important;
  border-left: 3px solid #3b82f6 !important;
  border-radius: 6px !important;
  padding: 1em 1.2em !important;
  overflow-x: auto !important;
}

.markdown-body pre code {
  background: transparent !important;
  color: #1e3a5f !important;
}

.markdown-body :not(pre)&gt;code {
  background: rgba(37,99,235,0.10) !important;
  color: #2563eb !important;
  padding: 0.15em 0.45em !important;
  border-radius: 4px !important;
}

.markdown-body details {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  background: rgba(59,130,246,0.03) !important;
  border: 1px solid rgba(59,130,246,0.12) !important;
  border-radius: 6px !important;
  margin: 8px 0 !important;
  overflow: hidden !important;
  transition: border-color 0.15s !important;
}

.markdown-body details[open] {
  border-color: rgba(59,130,246,0.35) !important;
}

.markdown-body details summary {
  display: block !important;
  width: 100% !important;
  list-style: none !important;
  position: relative !important;
  background: rgba(59,130,246,0.06) !important;
  color: #1d4ed8 !important;
  padding: 8px 12px 8px 32px !important;
  border-bottom: 1px solid rgba(59,130,246,0.12) !important;
  cursor: pointer !important;
  font-weight: 600 !important;
  user-select: none !important;
}

.markdown-body details summary::before {
  content: '\25B6' !important;
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #3b82f6 !important;
  font-size: 11px !important;
  transition: transform 0.2s ease !important;
}

.markdown-body details[open] summary::before {
  transform: translateY(-50%) rotate(90deg) !important;
}

.markdown-body details summary::-webkit-details-marker {
  display: none !important;
}

.markdown-body {
  color: #1e3a5f !important;
  line-height: 1.8 !important;
  letter-spacing: 0.02em !important;
}

.markdown-body h1,
.markdown-body h2,
.markdown-body h3 {
  color: #1d4ed8 !important;
  font-weight: 700 !important;
  border-bottom: none !important;
}

.markdown-body ul,
.markdown-body ol,
.markdown-body li {
  color: #1e3a5f !important;
}

.markdown-body blockquote {
  border-left: 3px solid transparent !important;
  border-image: linear-gradient(180deg, #3b82f6, #60a5fa, #93c5fd, #60a5fa, #3b82f6) 1 !important;
  background: rgba(59,130,246,0.04) !important;
  color: #1d4ed8 !important;
  padding: 10px 16px !important;
  margin: 8px 0 !important;
  border-radius: 0 6px 6px 0 !important;
  box-shadow: -2px 0 12px rgba(59,130,246,0.08), inset 2px 0 8px rgba(59,130,246,0.03) !important;
  font-style: italic !important;
}

.markdown-body table {
  border-collapse: collapse !important;
  border: 1px solid rgba(59,130,246,0.15) !important;
}

.markdown-body th {
  background: rgba(59,130,246,0.06) !important;
  color: #1d4ed8 !important;
  border: 1px solid rgba(59,130,246,0.15) !important;
  padding: 6px 12px !important;
}

.markdown-body td {
  color: #1e3a5f !important;
  border: 1px solid rgba(59,130,246,0.12) !important;
  padding: 6px 12px !important;
}

.markdown-body strong {
  color: #1d4ed8 !important;
  font-weight: 700 !important;
}

.markdown-body em {
  color: #2563eb !important;
}

.markdown-body a {
  color: #2563eb !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(37,99,235,0.3) !important;
}

.markdown-body a:hover {
  color: #1d4ed8 !important;
  text-decoration-color: #1d4ed8 !important;
}

/* ===== 加载动画 ===== */
.style_dot-flashing__8L91Q.style_text__zGhNq {
  display: none !important;
}

.flex.items-center.justify-center.w-6.h-5 {
  position: relative !important;
  width: 24px !important;
  height: 20px !important;
}

.flex.items-center.justify-center.w-6.h-5::before {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 20px !important;
  height: 20px !important;
  margin-left: -10px !important;
  margin-top: -10px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='8' fill='none' stroke='%2393c5fd' stroke-width='1.5' stroke-dasharray='12 38' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 10 10' to='360 10 10' dur='1.2s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='10' cy='10' r='4.5' fill='none' stroke='%233b82f6' stroke-width='1.5' stroke-dasharray='8 20' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='360 10 10' to='0 10 10' dur='0.9s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='10' cy='10' r='1.2' fill='%232563eb'%3E%3Canimate attributeName='opacity' values='1;0.3;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}

.flex.items-center.justify-center.w-6.h-5::after {
  content: '' !important;
  display: none !important;
}

/* ===== 底部输入区 ===== */
textarea.rc-textarea {
  background: rgba(248,252,255,0.95) !important;
  color: #1e3a5f !important;
  border: 1px solid rgba(59,130,246,0.20) !important;
  background: rgba(248,252,255,0.95) !important;
  color: #1e3a5f !important;
  border: 1px solid rgba(59,130,246,0.20) !important;
  border-radius: 6px !important;
}

textarea.rc-textarea:focus {
  border-color: rgba(37,99,235,0.50) !important;
  box-shadow: 0 0 8px rgba(59,130,246,0.12) !important;
}

.MuiInputBase-input {
  color: #1e3a5f !important;
  background: rgba(248,252,255,0.95) !important;
}

.MuiOutlinedInput-root {
  background: rgba(248,252,255,0.95) !important;
  color: #1e3a5f !important;
}

.MuiOutlinedInput-notchedOutline {
  border-color: rgba(59,130,246,0.20) !important;
}

.MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline {
  border-color: rgba(59,130,246,0.35) !important;
}

.MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline {
  border-color: rgba(37,99,235,0.50) !important;
}

/* ===== 评论区 ===== */
span.MuiRating-root {
  color: #3b82f6 !important;
}

span.MuiRating-iconEmpty svg {
  color: hsl(216,5%,56%) !important;
}

span.MuiRating-iconFilled svg {
  color: #3b82f6 !important;
}

div.style_divider__mW0YX {
  height: 1px !important;
  border: none !important;
  background: linear-gradient(90deg, transparent, rgba(59,130,246,0.35) 20%, rgba(96,165,250,0.5) 50%, rgba(59,130,246,0.35) 80%, transparent) !important;
  margin: 12px 0 !important;
  box-shadow: 0 0 6px rgba(59,130,246,0.15) !important;
}

.MuiDivider-root {
  border-color: rgba(59,130,246,0.12) !important;
}

.MuiRating-icon {
  color: #3b82f6 !important;
}

/* ===== 分页 ===== */
.MuiPaginationItem-root {
  color: #1e3a5f !important;
  border-color: rgba(59,130,246,0.15) !important;
}

.MuiPaginationItem-root:hover {
  background: rgba(59,130,246,0.06) !important;
  border-color: rgba(59,130,246,0.3) !important;
}

.MuiPaginationItem-root.Mui-selected {
  background: linear-gradient(135deg, #1d4ed8, #2563eb) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 0 8px rgba(29,78,216,0.25) !important;
}

.MuiPaginationItem-root.Mui-disabled {
  color: hsl(216,5%,56%) !important;
  opacity: 0.5 !important;
}

.MuiPaginationItem-icon {
  color: #3b82f6 !important;
}

/* ===== MUI 全局 ===== */
p.MuiTypography-body1.text-grey-600 {
  color: hsl(216,6%,35%) !important;
}

.MuiStack-root.css-1dmzxoz {
  background: transparent !important;
}

.MuiStack-root.css-1uwir8f {
  background: transparent !important;
}

.MuiDialog-paper {
  background: #f4f8ff !important;
  color: #1e3a5f !important;
  border: 1px solid rgba(59,130,246,0.15) !important;
}

.MuiDrawer-paper {
  background: rgba(240,247,255,0.98) !important;
  color: #1e3a5f !important;
}

.MuiBackdrop-root {
  background: rgba(30,58,95,0.3) !important;
}

.MuiTypography-root {
  color: #1e3a5f !important;
}

.MuiTouchRipple-root {
  color: rgba(59,130,246,0.2) !important;
}

.MuiTypography-root.MuiTypography-body2.css-6c0gf2 {
  color: hsl(216,6%,35%) !important;
}

/* ===== 其他 ===== */
[class*="bg-[#F1CBCB]"],
[class*="bg-[#c9e1e9]"] {
  display: none !important;
}

::-webkit-scrollbar {
  width: 3px !important;
  height: 3px !important;
}

::-webkit-scrollbar-track {
  background: #f4f8ff !important;
}

::-webkit-scrollbar-thumb {
  background: #60a5fa !important;
  border-radius: 3px !important;
}

::-webkit-scrollbar-thumb:hover {
  background: #3b82f6 !important;
}

::placeholder {
  color: rgba(59,130,246,0.30) !important;
  opacity: 1 !important;
}

::selection {
  background: hsl(221,29%,90%) !important;
  color: hsl(221,66%,30%) !important;
}

body,
html,
#root,
.app-root,
.h-screen {
  background: #f4f8ff !important;
  color: #1e3a5f !important;
}

body,
#root,
.h-screen {
  background: #f4f8ff !important;
  color: #1e3a5f !important;
}

div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"] {
  background: rgba(240,247,255,0.96) !important;
  border-color: rgba(59,130,246,0.15) !important;
  color: #1e3a5f !important;
}

div.flex.items-center.h-9.cursor-pointer.group svg[data-icon="SlidersH"] {
  color: #3b82f6 !important;
}

div.flex.items-center.h-9.cursor-pointer.group svg[data-icon="ChevronDown"] {
  color: #3b82f6 !important;
}

.bg-gradient-to-t {
  background: linear-gradient(to top, #f4f8ff, rgba(244,248,255,0)) !important;
}

div[class*="w-full"][class*="bg-white"][class*="bottom-0"] {
  background: rgba(240,247,255,0.98) !important;
}

div.text-lg.font-bold {
  color: #1d4ed8 !important;
}

span.text-orange-500 {
  color: #2563eb !important;
}

div.flex.flex-col.border-gray-200 {
  border-color: rgba(59,130,246,0.12) !important;
}

div.cursor-pointer.group.flex.items-center.justify-center {
  color: #1d4ed8 !important;
}

div[data-state="closed"] svg[data-icon="Send03"] {
  color: #3b82f6 !important;
}

div.p-3.overflow-y-auto {
  background: transparent !important;
}

div.group.ml-0 {
  background: transparent !important;
}

div.group img.rounded-full {
  border: 1px solid rgba(59,130,246,0.15) !important;
}

div.text-sm.text-grey-600 span.font-bold {
  color: #1d4ed8 !important;
}

span.text-\[10px\] {
  color: hsl(216,5%,56%) !important;
}

div.break-all {
  color: #1e3a5f !important;
}

div.text-xs.text-grey-600 {
  color: hsl(216,6%,35%) !important;
}

span.cursor-pointer {
  color: #2563eb !important;
}

span.cursor-pointer:hover {
  color: #1d4ed8 !important;
}

div.ml-8.border-l {
  border-left-color: rgba(59,130,246,0.12) !important;
}

.text-orange-500 {
  color: #2563eb !important;
}

/* ===== 响应式 ===== */
@media (max-width: 480px) {
  .bg-gray-100\/90.relative.inline-block {
    padding: 8px 10px !important;
    border-radius: 6px !important;
  }

  .markdown-body {
    line-height: 1.75 !important;
  }

  #ai-chat-bottom-input {
    border-radius: 10px !important;
  }

  #ai-chat-input {
    border-radius: 10px !important;
  }

  .markdown-body details summary {
    padding: 6px 10px 6px 28px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .flex.items-center.justify-center.w-6.h-5::before,
  .flex.items-center.justify-center.w-6.h-5::after {
    animation-duration: 4s !important;
  }
}