/* ==============================================
 * 「午夜全息」终极完整版 CSS (包含星空流沙、评论区扩展、深青色输入框)
 * ============================================== */

/* ====== 1. 隐藏默认颜色条 ====== */
[class*="bg-[#F1CBCB]"],
[class*="bg-[#c9e1e9]"] {
    display: none !important;
}

/* ====== 2. 统一聊天框（气泡包裹） ====== */
.bg-gray-100\/90.relative.inline-block {
    background: linear-gradient(135deg, #1a1a3e 0%, #0d2b45 40%, #1a1a3e 100%) !important;
    border-radius: 18px !important;
    border: 1px solid rgba(100, 200, 255, 0.15) !important;
    box-shadow:
        0 0 12px rgba(80, 180, 255, 0.08),
        0 4px 24px rgba(20, 20, 60, 0.4) !important;
    padding: 16px !important;
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

/* 悬停缩放+发光 */
.bg-gray-100\/90.relative.inline-block:hover {
    transform: scale(1.008) !important;
    box-shadow:
        0 0 20px rgba(80, 200, 255, 0.2),
        0 0 40px rgba(180, 100, 255, 0.1),
        0 6px 30px rgba(20, 20, 60, 0.5) !important;
}

/* ====== 3. 星空流沙背景 ::before ====== */
.bg-gray-100\/90.relative.inline-block::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    opacity: 0.6 !important;
    pointer-events: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Crect width='400' height='400' fill='none'/%3E%3Ccircle cx='50' cy='30' r='1.2' fill='%23fff'%3E%3Canimate attributeName='opacity' values='0.2;1;0.2' dur='2.4s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='150' cy='80' r='0.8' fill='%2380dfff'%3E%3Canimate attributeName='opacity' values='0.3;1;0.3' dur='3.1s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='300' cy='50' r='1' fill='%23d4a0ff'%3E%3Canimate attributeName='opacity' values='0.1;0.9;0.1' dur='2.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='80' cy='180' r='0.9' fill='%23fff'%3E%3Canimate attributeName='opacity' values='0.4;1;0.4' dur='3.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='220' cy='150' r='1.1' fill='%2380dfff'%3E%3Canimate attributeName='opacity' values='0.2;0.8;0.2' dur='2.6s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='350' cy='200' r='0.7' fill='%23ffb0d9'%3E%3Canimate attributeName='opacity' values='0.3;1;0.3' dur='4s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='30' cy='300' r='1' fill='%23d4a0ff'%3E%3Canimate attributeName='opacity' values='0.2;0.9;0.2' dur='3.3s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='180' cy='280' r='0.8' fill='%23fff'%3E%3Anima attributeName='opacity' values='0.1;1;0.1' dur='2.9s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='280' cy='350' r='1.3' fill='%2380dfff'%3E%3Canimate attributeName='opacity' values='0.3;0.7;0.3' dur='3.7s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='370' cy='100' r='0.6' fill='%23ffb0d9'%3E%3Canimate attributeName='opacity' values='0.2;1;0.2' dur='2.2s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='120' cy='370' r='1' fill='%23fff'%3E%3Canimate attributeName='opacity' values='0.4;0.9;0.4' dur='3s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") !important;
    background-size: 400px 400px !important;
    border-radius: 18px !important;
}

/* ====== 4. 漂浮光斑+旋转光晕 ::after ====== */
.bg-gray-100\/90.relative.inline-block::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    opacity: 0.35 !important;
    pointer-events: none !important;
    border-radius: 18px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cdefs%3E%3CradialGradient id='g1'%3E%3Cstop offset='0%25' stop-color='%2380dfff' stop-opacity='0.6'/%3E%3Cstop offset='100%25' stop-color='%2380dfff' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='g2'%3E%3Cstop offset='0%25' stop-color='%23d4a0ff' stop-opacity='0.5'/%3E%3Cstop offset='100%25' stop-color='%23d4a0ff' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='g3'%3E%3Cstop offset='0%25' stop-color='%23ffb0d9' stop-opacity='0.5'/%3E%3Cstop offset='100%25' stop-color='%23ffb0d9' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='80' cy='80' r='40' fill='url(%23g1)'%3E%3Canimate attributeName='cx' values='80;220;80' dur='8s' repeatCount='indefinite'/%3E%3Canimate attributeName='cy' values='80;180;80' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='220' cy='200' r='35' fill='url(%23g2)'%3E%3Canimate attributeName='cx' values='220;100;220' dur='10s' repeatCount='indefinite'/%3E%3Canimate attributeName='cy' values='200;60;200' dur='7s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='150' cy='150' r='50' fill='url(%23g3)'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 150 150' to='360 150 150' dur='12s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") !important;
    background-size: 300px 300px !important;
}

/* ====== 5. 文本内容（高对比度白字） ====== */
.markdown-body {
    color: #F0F0F0 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    position: relative !important;
    z-index: 1 !important;
    background: transparent !important;
    line-height: 1.7 !important;
}

/* ====== 6. 底部状态栏：气泡内各元素独立配色 ====== */
/* 操作按钮 - 青蓝色调 */
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary {
    color: #7dd8f0 !important;
    border-radius: 8px !important;
    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary:hover {
    background: rgba(125, 216, 240, 0.12) !important;
    transform: scale(1.05) !important;
    box-shadow: 0 0 8px rgba(125, 216, 240, 0.3) !important;
}
/* 模型名称 - 紫粉色调 */
.MuiTypography-root.MuiTypography-body2.css-6c0gf2 {
    color: #d4a0ff !important;
    font-weight: 500 !important;
}
/* Token消耗 - 暖粉色调 */
.text-orange-500 {
    color: #ffb0d9 !important;
    font-weight: bold !important;
}

/* ====== 7. 自定义加载动画 ====== */
.style-module__AtdJSq__dot-flashing.style-module__AtdJSq__text {
    display: none !important;
}
.flex.items-center.justify-center.w-6.h-5 {
    position: relative !important;
    width: 48px !important;
    height: 28px !important;
}
.flex.items-center.justify-center.w-6.h-5::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 40px !important;
    height: 20px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='20'%3E%3Ccircle cx='8' cy='10' r='3.5' fill='%237dd8f0'%3E%3Canimate attributeName='opacity' values='0.3;1;0.3' dur='1s' repeatCount='indefinite'/%3E%3Canimate attributeName='r' values='3;4;3' dur='1s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='20' cy='10' r='3.5' fill='%23d4a0ff'%3E%3Canimate attributeName='opacity' values='0.3;1;0.3' dur='1s' begin='0.2s' repeatCount='indefinite'/%3E%3Canimate attributeName='r' values='3;4;3' dur='1s' begin='0.2s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='32' cy='10' r='3.5' fill='%23ffb0d9'%3E%3Canimate attributeName='opacity' values='0.3;1;0.3' dur='1s' begin='0.4s' repeatCount='indefinite'/%3E%3Canimate attributeName='r' values='3;4;3' dur='1s' begin='0.4s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* ====== 8. 顶部控制栏 (全息生态扩展) ====== */
.sticky.top-0 {
    background: rgba(13, 43, 69, 0.6) !important;
    backdrop-filter: blur(15px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(15px) saturate(150%) !important;
    border-bottom: 1px solid rgba(125, 216, 240, 0.15) !important;
    box-shadow: 0 4px 20px rgba(10, 15, 30, 0.5) !important;
}
#customized-model-selector,
#header-setting-button {
    background: rgba(26, 26, 62, 0.7) !important;
    border: 1px solid rgba(212, 160, 255, 0.3) !important;
    color: #d4a0ff !important;
    border-radius: 12px !important;
    transition: all 0.3s ease !important;
}
#customized-model-selector:hover,
#header-setting-button:hover {
    background: rgba(212, 160, 255, 0.15) !important;
    border-color: rgba(212, 160, 255, 0.8) !important;
    box-shadow: 0 0 12px rgba(212, 160, 255, 0.4) !important;
    transform: translateY(-1px) !important;
}
#customized-model-selector svg,
#header-setting-button svg,
.lucide-clock8.md\:hidden,
button .lucide-music2 {
    color: #7dd8f0 !important;
}

/* ====== 9. 底部输入区 (深青色文字修正版) ====== */
.bg-gradient-to-t {
    background: linear-gradient(to top, rgba(13, 43, 69, 1) 20%, rgba(13, 43, 69, 0)) !important;
}
/* 输入框主容器：背景大幅加深，边框提亮 */
.bg-white.border-\[1\.5px\] {
    background: rgba(8, 12, 25, 0.95) !important; 
    backdrop-filter: blur(15px) !important;
    border: 1px solid rgba(125, 216, 240, 0.5) !important; 
    border-radius: 18px !important;
    box-shadow: 0 0 15px rgba(125, 216, 240, 0.15), inset 0 0 20px rgba(0, 0, 0, 0.8) !important; 
    transition: all 0.3s ease !important;
}
.bg-white.border-\[1\.5px\]:focus-within {
    background: rgba(5, 8, 18, 0.98) !important; 
    border-color: rgba(125, 216, 240, 1) !important;
    box-shadow: 0 0 20px rgba(125, 216, 240, 0.3), inset 0 0 10px rgba(0, 0, 0, 0.9) !important;
}
/* 输入框文本：全息深青色、抗锯齿微光 */
#ai-chat-input {
    color: #00B8D4 !important; /* 🌟 这里改成了深青色 🌟 */
    font-weight: 500 !important; 
    text-shadow: 0 0 2px rgba(0, 184, 212, 0.4) !important; /* 发光也配合深青色 */
    caret-color: #00B8D4 !important; 
}
#ai-chat-input::placeholder {
    color: rgba(0, 184, 212, 0.5) !important; /* 占位符颜色同步微调 */
    font-weight: normal !important;
}
#ai-chat-input::selection {
    background: rgba(212, 160, 255, 0.6) !important; 
    color: #FFFFFF !important; /* 选中时保持白字，确保高对比度 */
}
/* 字数统计器与发送按钮 */
.absolute.bottom-2.right-2 .bg-gray-100 {
    background: rgba(10, 15, 30, 0.6) !important;
    color: #ffb0d9 !important;
    border: 1px solid rgba(255, 176, 217, 0.3) !important;
}
#ai-send-button {
    background: linear-gradient(135deg, rgba(125, 216, 240, 0.1), rgba(212, 160, 255, 0.1)) !important;
    border: 1px solid rgba(125, 216, 240, 0.5) !important;
    border-radius: 12px !important;
    transition: all 0.3s ease !important;
}
#ai-send-button:hover {
    background: rgba(125, 216, 240, 0.2) !important;
    box-shadow: 0 0 15px rgba(125, 216, 240, 0.4) !important;
    transform: scale(1.05) !important;
}
#ai-send-button .icon-icon-send {
    color: #7dd8f0 !important;
}

/* ====== 10. 分页控制与快捷按钮 ====== */
#customized-pagination .MuiPaginationItem-root {
    color: #7dd8f0 !important;
    border-color: rgba(125, 216, 240, 0.3) !important;
    background: rgba(26, 26, 62, 0.6) !important;
}
#customized-pagination .MuiPaginationItem-root:hover {
    background: rgba(125, 216, 240, 0.2) !important;
    box-shadow: 0 0 10px rgba(125, 216, 240, 0.3) !important;
}
#customized-pagination .MuiPaginationItem-root.Mui-selected {
    background: rgba(212, 160, 255, 0.3) !important;
    border-color: rgba(212, 160, 255, 0.8) !important;
    color: #fff !important;
    box-shadow: 0 0 12px rgba(212, 160, 255, 0.5) !important;
}
#customized-pagination .forum-pagination-input-wrapper .MuiInputBase-input {
    color: #ffb0d9 !important;
    background: rgba(10, 15, 30, 0.6) !important;
    border: 1px solid rgba(255, 176, 217, 0.3) !important;
    border-radius: 6px !important;
}
#ai-mod-button2 .MuiButton-outlinedPrimary,
[id^="customized-shortcut-command-button-"] {
    border-color: rgba(125, 216, 240, 0.4) !important;
    color: #7dd8f0 !important;
    background: rgba(26, 26, 62, 0.6) !important;
}
#ai-mod-button2 .MuiButton-outlinedPrimary:hover,
[id^="customized-shortcut-command-button-"]:hover {
    background: rgba(125, 216, 240, 0.15) !important;
    box-shadow: 0 0 10px rgba(125, 216, 240, 0.3) !important;
}

/* ====== 11. 评论区 (深邃全息面板) ====== */
.absolute.bottom-0.z-20.inset-x-0.bg-white {
    background: linear-gradient(180deg, #1a1a3e 0%, #0d2b45 100%) !important;
    border-top: 1px solid rgba(125, 216, 240, 0.3) !important;
    box-shadow: 0 -10px 40px rgba(10, 15, 30, 0.8) !important;
    border-top-left-radius: 20px !important;
    border-top-right-radius: 20px !important;
}
.text-lg.font-bold.pl-3 {
    color: #d4a0ff !important;
    text-shadow: 0 0 10px rgba(212, 160, 255, 0.3) !important;
}
button[aria-label="close"] {
    color: #7dd8f0 !important;
    transition: transform 0.3s ease, text-shadow 0.3s ease !important;
}
button[aria-label="close"]:hover {
    transform: rotate(90deg) scale(1.1) !important;
    text-shadow: 0 0 10px rgba(125, 216, 240, 0.8) !important;
}
.MuiStack-root.px-3 p.text-grey-600 {
    color: rgba(232, 244, 248, 0.7) !important;
}
.MuiRating-iconEmpty {
    color: rgba(125, 216, 240, 0.2) !important;
}
.MuiRating-iconFilled {
    color: #ffb0d9 !important;
    filter: drop-shadow(0 0 4px rgba(255, 176, 217, 0.6)) !important;
}
.text-orange-500.w-14 {
    color: #ffb0d9 !important;
}
.flex.flex-col.border-\[1\.5px\].border-gray-200 {
    background: rgba(10, 15, 30, 0.5) !important;
    border: 1px solid rgba(212, 160, 255, 0.3) !important;
    border-radius: 12px !important;
}
textarea[placeholder="发表评论"] {
    color: #00B8D4 !important; /* 评论区输入框也同步深青色 */
}
textarea[placeholder="发表评论"]::placeholder {
    color: rgba(0, 184, 212, 0.5) !important;
}
.bg-gray-100.text-xs.font-medium {
    background: rgba(212, 160, 255, 0.1) !important;
    color: #d4a0ff !important;
    border: 1px solid rgba(212, 160, 255, 0.2) !important;
}
svg[data-icon="Send03"] {
    color: #7dd8f0 !important;
}
.group.ml-0 {
    background: rgba(26, 26, 62, 0.4) !important;
    border: 1px solid rgba(125, 216, 240, 0.05) !important;
    border-radius: 12px !important;
    padding: 10px !important;
    margin-bottom: 8px !important;
    transition: background 0.2s ease !important;
}
.group.ml-0:hover {
    background: rgba(26, 26, 62, 0.8) !important;
    border-color: rgba(125, 216, 240, 0.2) !important;
}
.group.ml-0 .text-sm.text-grey-600 span.font-bold {
    color: #7dd8f0 !important; 
}
.group.ml-0 div.break-all {
    color: #F0F0F0 !important; 
}
.group.ml-0 .text-xs.text-grey-600 {
    color: rgba(212, 160, 255, 0.6) !important; 
}
.group.ml-0 button.text-gray-400,
.group.ml-0 span.cursor-pointer {
    color: rgba(125, 216, 240, 0.6) !important;
}
.group.ml-0 button.text-gray-400:hover,
.group.ml-0 span.cursor-pointer:hover {
    color: #ffb0d9 !important;
    text-shadow: 0 0 8px rgba(255, 176, 217, 0.5) !important;
}
.group.ml-0 div.ml-8.border-l {
    border-left: 2px solid rgba(125, 216, 240, 0.3) !important;
}
.p-3.overflow-y-auto.h-full::-webkit-scrollbar {
    width: 6px !important;
}
.p-3.overflow-y-auto.h-full::-webkit-scrollbar-track {
    background: rgba(10, 15, 30, 0.5) !important;
    border-radius: 4px !important;
}
.p-3.overflow-y-auto.h-full::-webkit-scrollbar-thumb {
    background: rgba(125, 216, 240, 0.3) !important;
    border-radius: 4px !important;
}
.p-3.overflow-y-auto.h-full::-webkit-scrollbar-thumb:hover {
    background: rgba(212, 160, 255, 0.6) !important;
}

/* ====== 12. 「午夜全息」内联词汇悬浮解释 ====== */
.glossary-word {
  color: #8CE0FF !important;          
  font-weight: 700 !important;        
  border-bottom: 1px dashed rgba(140, 224, 255, 0.4); 
  position: relative;                 
  display: inline-block;
  cursor: help;                       
  z-index: 1;                         
  transition: color 0.3s ease, text-shadow 0.3s ease;
}
.glossary-word:hover,
.glossary-word:focus {
  color: #FFFFFF !important;
  text-shadow: 0 0 8px rgba(140, 224, 255, 0.6);
  border-bottom-color: rgba(255, 255, 255, 0.8);
}
.glossary-word::after {
  content: attr(title);
  position: absolute;
  bottom: calc(100% + 18px);
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  white-space: nowrap; 
  background: rgba(10, 15, 30, 0.85);
  backdrop-filter: blur(10px) saturate(150%);
  -webkit-backdrop-filter: blur(10px) saturate(150%);
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid rgba(44, 166, 201, 0.6);
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.7), 0 0 15px rgba(44, 166, 201, 0.2);
  font-weight: normal;
  font-size: 13px;
  line-height: 1.4;
  color: #E8F4F8;
  letter-spacing: 0.5px;
  max-width: 300px; 
  opacity: 0;
  visibility: hidden;
  pointer-events: none; 
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.glossary-word:hover::after,
.glossary-word:focus::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0px); 
  transition-delay: 0.1s; 
}
@media (max-width: 600px) {
  .glossary-word::after {
    white-space: normal;   
    max-width: 250px;      
    bottom: calc(100% + 12px);
    font-size: 12px;
  }
}

/* ====== 13. 移动端适配与动效降级 ====== */
@media (max-width: 480px) {
    .bg-gray-100\/90.relative.inline-block {
        border-radius: 14px !important;
        padding: 12px !important;
    }
    .bg-gray-100\/90.relative.inline-block::before {
        background-size: 250px 250px !important;
    }
    .bg-gray-100\/90.relative.inline-block::after {
        background-size: 200px 200px !important;
    }
    .flex.items-center.justify-center.w-6.h-5 {
        width: 36px !important;
        height: 22px !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .bg-gray-100\/90.relative.inline-block:hover {
        transform: none !important;
    }
    .bg-gray-100\/90.relative.inline-block::before {
        opacity: 0.3 !important;
    }
    .bg-gray-100\/90.relative.inline-block::after {
        opacity: 0.15 !important;
    }
}