/* ═══ B平台加载动画适配（自动注入）═══ */
.flex.items-center.justify-center.size-6 { opacity: 1 !important; }
.flex.items-center.justify-center.size-6 > .flex.gap-2 { display: none !important; }
.is-assistant.w-fit { width: 100% !important; }
.is-assistant > .border.border-muted:has(.flex.items-center.justify-center.size-6) {
  width: 100% !important; background: transparent !important;
  border: none !important; padding: 0 !important;
}
.is-assistant .space-y-3:has(.flex.items-center.justify-center.size-6) {
  display: flex; justify-content: center; width: 100%;
}

/* ═══ B平台表格修正（自动注入）═══ */
.rili-markdown-renderer table { display:table!important; table-layout:auto!important; width:100%!important; border-collapse:collapse!important; }
.rili-markdown-renderer table caption { display:table-caption!important; caption-side:top!important; text-align:center!important; padding:8px!important; }
.rili-markdown-renderer thead { display:table-header-group!important; }
.rili-markdown-renderer tbody { display:table-row-group!important; }
.rili-markdown-renderer tr { display:table-row!important; }
.rili-markdown-renderer th, .rili-markdown-renderer td { display:table-cell!important; }

/* ═══ B平台按钮组保护（自动注入 — 防止按钮消失）═══ */
.w-full.h-full.flex.group .bg-muted.rounded.flex.p-0\.5,
.is-user .bg-muted.rounded.flex.p-0\.5,
.is-assistant .bg-muted.rounded.flex.p-0\.5 {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
  position: relative !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  pointer-events: auto !important;
  clip: auto !important;
  clip-path: none !important;
}
.w-full.h-full.flex.group .bg-muted.rounded.flex.p-0\.5 > button,
.is-user .bg-muted.rounded.flex.p-0\.5 > button,
.is-assistant .bg-muted.rounded.flex.p-0\.5 > button {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: relative !important;
  clip: auto !important;
  clip-path: none !important;
}
.flex.items-center.gap-1.ml-auto.md\:opacity-0.group-hover\:opacity-100 {
  visibility: visible !important;
  display: flex !important;
  pointer-events: auto !important;
  overflow: visible !important;
}
.flex.w-full.items-center.justify-between.gap-2.px-2 {
  display: flex !important;
  visibility: visible !important;
  overflow: visible !important;
}

/* ═══ B平台顶部栏适配说明（自动注入）═══ */
header.flex.justify-between { position: relative; overflow: visible; }

/* --- 青春校园·视觉方案 --- */
[class*="bg-[#F1CBCB]"], 
[class*="bg-[#c9e1e9]"] {
    display: none !important;
}

.is-user > .border.border-muted,
.is-assistant > .border.border-muted {
    background: rgba(243, 245, 249, 0.92) !important;
    backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(180, 195, 215, 0.25) !important;
    border-radius: 18px !important;
    padding: 16px !important;
    box-shadow: 0 4px 24px rgba(160, 180, 210, 0.15),
                0 1px 4px rgba(140, 160, 195, 0.1) !important;
    margin-bottom: 12px !important;
    transition: all 0.3s ease !important;
}

.rili-markdown-renderer {
    color: #1A1F2B !important;
    font-family: 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', Roboto, sans-serif !important;
    font-weight: 500 !important;
    line-height: 1.7 !important;
    background: transparent !important;
}

/* ========== 积分/Token消耗显示修正（修复被注释导致不可见的问题）========== */
/* 原本被错误嵌套注释的样式现在独立出来，确保橙色数字在任何背景下都清晰可见 */
.text-orange-500 {
    color: #E65100 !important;        /* 深橙色，保证浅色背景下的对比度 */
    font-weight: 600 !important;      /* 加粗增强辨识 */
    text-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; /* 细微阴影提升可读性 */
}

/* 底部模型名/Token等辅助信息保持蓝色调，与主题统一 */
.bg-muted.rounded.flex.p-0\.5 > button.rounded-full.size-7,
.flex.items-center.gap-2.text-xs.font-mono.text-muted-foreground {
    color: #3B6DD4 !important;
    font-weight: 600 !important;
}
/* 注：以上两个选择器原本被一同注释，现已激活（若曾影响按钮请放心，按钮保护规则优先级更高） */

/* 加载动画替换为樱花飘落（保持原自定义） */
.style-module__AtdJSq__dot-flashing.style-module__AtdJSq__text {
    display: none !important;
}
.flex.items-center.justify-center.size-6 {
    position: relative !important;
    width: 60px !important;
    height: 20px !important;
}
.flex.items-center.justify-center.size-6::before {
    content: url('data:image/svg+xml;utf8,<svg width="40" height="10" xmlns="http://www.w3.org/2000/svg"><circle cx="5" cy="5" r="3" fill="%233B6DD4"><animate attributeName="opacity" values="1;0.3;1" dur="1s" repeatCount="indefinite"/></circle><circle cx="20" cy="5" r="3" fill="%233B6DD4"><animate attributeName="opacity" values="1;0.3;1" dur="1s" begin="0.2s" repeatCount="indefinite"/></circle><circle cx="35" cy="5" r="3" fill="%233B6DD4"><animate attributeName="opacity" values="1;0.3;1" dur="1s" begin="0.4s" repeatCount="indefinite"/></circle></svg>') !important;
}

@media (max-width: 480px) {
    .is-user > .border.border-muted,
.is-assistant > .border.border-muted {
        border-radius: 12px !important;
        padding: 12px !important;
    }
}

/* ========== 折叠块卡片化 ========== */
details {
    background: rgba(240, 245, 252, 0.85);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(180, 200, 230, 0.28);
    border-radius: 16px;
    margin: 14px 0;
    padding: 0;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 3px 16px rgba(180, 195, 215, 0.12);
}
details[open] {
    background: rgba(238, 244, 254, 0.95);
    border-color: rgba(59, 109, 212, 0.4);
    box-shadow: 0 6px 24px rgba(170, 190, 215, 0.2);
}
summary {
    list-style: none;
    cursor: pointer;
    padding: 14px 18px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #2855B0;
    background: linear-gradient(135deg, rgba(232, 240, 254, 0.7), rgba(240, 248, 254, 0.3));
    border-bottom: 1px solid rgba(180, 200, 230, 0.2);
    display: flex;
    align-items: center;
    gap: 8px;
    user-select: none;
    transition: background 0.25s;
}
summary:hover {
    background: linear-gradient(135deg, rgba(215, 228, 250, 0.8), rgba(235, 245, 254, 0.5));
}
summary::-webkit-details-marker { display: none; }
summary::marker { content: none; }
summary::before {
    content: "✿";
    display: inline-block;
    font-size: 0.85rem;
    transition: transform 0.3s ease;
    color: #3B6DD4;
    opacity: 0.9;
}
details[open] > summary::before {
    transform: rotate(180deg) scale(1.15);
    color: #2855B0;
}
details > .details-content,
details > *:not(summary) {
    padding: 14px 18px;
    color: #1A1F2B;
    line-height: 1.7;
    animation: petalIn 0.3s ease;
}
details details {
    margin: 10px 0 0 0;
    border-radius: 14px;
    background: rgba(238, 244, 254, 0.6);
    border-color: rgba(190, 205, 230, 0.3);
}
details details summary {
    font-size: 0.9rem;
    padding: 10px 14px;
    color: #3B6DD4;
    background: linear-gradient(135deg, rgba(235, 243, 254, 0.6), transparent);
}
@keyframes petalIn {
    from {
        opacity: 0;
        transform: translateY(-8px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}
@media (max-width: 480px) {
    summary {
        padding: 12px 14px;
        font-size: 0.9rem;
    }
    details > .details-content,
    details > *:not(summary) {
        padding: 12px 14px;
    }
}

/* 全局字体 */
* {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif !important;
}

/* 顶部栏美化 */
header.flex.justify-between {
    background: #e0f2f7 !important;
    border-bottom: 2px solid #81d4fa !important;
    color: #333 !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}
#nav-middle .group.flex.items-center {
    background-color: #f0f8fa !important;
    border: 1px solid #90caf9 !important;
    border-radius: 6px !important;
    padding: 4px 8px !important;
    transition: all 0.3s ease !important;
}
#nav-middle .group.flex.items-center:hover {
    background-color: #e3f2fd !important;
    box-shadow: 0 0 0 2px rgba(144, 202, 249, 0.4) !important;
}
#nav-middle button:has(> .flex-1.truncate.text-left) .flex-1.truncate.text-left {
    color: #333 !important;
}
#nav-middle .shrink-0.flex.items-center svg {
    color: #64b5f6 !important;
}
header.flex.justify-between.w-full.top-0 svg.lucide-clock-8,
header.flex.justify-between.w-full.top-0 button.MuiIconButton-root svg.lucide-music-2,
header.flex.justify-between.w-full.top-0 svg:has(use[href="#icon-icon-set"]),
#nav-right button svg {
    color: #64b5f6 !important;
    transition: transform 0.3s ease !important;
}
header.flex.justify-between.w-full.top-0 svg.lucide-clock-8:hover,
header.flex.justify-between.w-full.top-0 button.MuiIconButton-root svg.lucide-music-2:hover,
header.flex.justify-between.w-full.top-0 svg:has(use[href="#icon-icon-set"]):hover,
#nav-right button svg:hover {
    transform: scale(1.1) !important;
}
header.flex.justify-between.w-full.top-0 span.MuiBadge-dot.md\:hidden {
    background-color: #ff8a65 !important;
}

/* 开场白 */
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"] {
    border: 1px solid #90caf9 !important;
    background-color: #f8fcfd !important;
    color: #333 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
    transition: all 0.3s ease !important;
}
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"]:hover {
    border-color: #64b5f6 !important;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12) !important;
}
div.flex.items-center.h-9.cursor-pointer.group svg[data-icon="SlidersH"],
div.flex.items-center.h-9.cursor-pointer.group svgbutton:has(> .flex-1.truncate.text-left) svg {
    color: #64b5f6 !important;
}

/* 按钮栏 */
#ai-mod-button2 button.MuiButton-root {
    background-color: #e3f2fd !important;
    color: #333 !important;
    border: 1px solid #90caf9 !important;
    border-radius: 8px !important;
    margin: 0 4px !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.3s ease !important;
}
#ai-mod-button2 button.MuiButton-root:hover {
    background-color: #bbdefb !important;
    border-color: #64b5f6 !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
}
#ai-mod-button2 button.MuiButton-root svg {
    color: #64b5f6 !important;
}

/* 底部输入框 */
#ai-chat-bottom-input {
    border-top: 1px solid #90caf9 !important;
    background-color: #f8fcfd !important;
    padding: 10px 15px !important;
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.08) !important;
}
#ai-chat-input {
    background-color: #ffffff !important;
    border: 1px solid #90caf9 !important;
    border-radius: 8px !important;
    color: #000 !important;
    padding: 10px 12px !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05) !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}
#ai-chat-input:focus {
    border-color: #64b5f6 !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 3px rgba(144, 202, 249, 0.3) !important;
}
#ai-chat-input::placeholder {
    color: #777 !important;
}
#ai-chat-input::selection {
    background: #add8e6 !important;
    color: #000 !important;
}

/* 分页栏 */
.MuiPaginationItem-root {
    color: #333 !important;
    background-color: #f0f8fa !important;
    border: 1px solid #bbdefb !important;
    border-radius: 4px !important;
    margin: 0 3px !important;
    transition: all 0.3s ease !important;
}
.MuiPaginationItem-root:hover {
    background-color: #e3f2fd !important;
    border-color: #90caf9 !important;
}
.MuiPaginationItem-root.Mui-selected {
    background-color: #90caf9 !important;
    color: #ffffff !important;
    border-color: #64b5f6 !important;
    font-weight: bold !important;
}
.MuiPaginationItem-root.Mui-disabled {
    color: #aaa !important;
    background-color: #f5f5f5 !important;
    border-color: #e0e0e0 !important;
}
.MuiPaginationItem-icon {
    color: #64b5f6 !important;
}
.MuiPaginationItem-root.Mui-selected .MuiPaginationItem-icon {
    color: #ffffff !important;
}
.flex.w-full.items-center.justify-between.gap-2.px-2.css-1uwir8f .MuiBox-root {
    color: #333 !important;
}
.flex.w-full.items-center.justify-between.gap-2.px-2.css-1uwir8f .MuiInputBase-input {
    border: 1px solid #90caf9 !important;
    border-radius: 4px !important;
    padding: 4px 8px !important;
    color: #000 !important;
    background-color: #ffffff !important;
    transition: border-color 0.3s ease !important;
}
.flex.w-full.items-center.justify-between.gap-2.px-2.css-1uwir8f .MuiInputBase-input:focus {
    border-color: #64b5f6 !important;
    box-shadow: 0 0 0 2px rgba(144, 202, 249, 0.3) !important;
}

/* 评论区 */
div[class*="w-full"][class*="bg-white"][class*="bottom-0"] {
    background-color: #fcfdfe !important;
    border-top: 2px solid #bbdefb !important;
    box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.08) !important;
}
div.text-lg.font-bold {
    color: #000 !important;
}
p.MuiTypography-body1.text-grey-600 {
    color: #333 !important;
}
span.MuiRating-iconEmpty svg {
    color: #bbdefb !important;
}
span.MuiRating-iconFilled svg {
    color: #64b5f6 !important;
}

/* 评论区评分数字（原被注释，现已激活） */
span.text-orange-500 {
    color: #E65100 !important;      /* 与上方统一 */
    font-weight: 600 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
}

div.flex.flex-col.border-gray-200 {
    border: 1px solid #90caf9 !important;
    border-radius: 8px !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05) !important;
    background-color: #ffffff !important;
    transition: border-color 0.3s ease !important;
}
div.flex.flex-col.border-gray-200:focus-within {
    border-color: #64b5f6 !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 3px rgba(144, 202, 249, 0.3) !important;
}
textarea.rc-textarea {
    color: #000 !important;
    background-color: transparent !important;
    border: none !important;
    resize: vertical !important;
}
textarea.rc-textarea::placeholder {
    color: #777 !important;
}
div.bg-gray-100.text-gray-500 {
    background-color: #f0f8fa !important;
    color: #555 !important;
    border-top: 1px solid #e0f2f7 !important;
    border-radius: 0 0 8px 8px !important;
}
div.cursor-pointer.group.flex.items-center.justify-center {
    background-color: #90caf9 !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    transition: background-color 0.3s ease, box-shadow 0.3s ease !important;
}
div.cursor-pointer.group.flex.items-center.justify-center:hover {
    background-color: #64b5f6 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
}
div[data-state="closed"] svg[data-icon="Send03"] {
    color: #ffffff !important;
}
div.style_divider__mW0YX {
    background-color: #bbdefb !important;
    height: 1px !important;
    margin: 15px 0 !important;
}
.flex.w-full.items-center.justify-between.gap-2.px-2.css-1dmzxoz button.MuiButton-containedPrimary {
    background-color: #90caf9 !important;
    color: #ffffff !important;
    border-color: #64b5f6 !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}
.flex.w-full.items-center.justify-between.gap-2.px-2.css-1dmzxoz button.MuiButton-outlinedPrimary {
    color: #64b5f6 !important;
    border-color: #90caf9 !important;
    background-color: #f8fcfd !important;
}
.flex.w-full.items-center.justify-between.gap-2.px-2.css-1dmzxoz button.MuiButton-outlinedPrimary:hover {
    background-color: #e3f2fd !important;
}
div.p-3.overflow-y-auto {
    background-color: #fcfdfe !important;
}
div.group.ml-0 {
    border-bottom: 1px solid #e0f2f7 !important;
    padding-bottom: 15px !important;
    margin-bottom: 15px !important;
}
div.group img.rounded-full {
    border: 2px solid #bbdefb !important;
}
div.text-sm.text-grey-600 span.font-bold,
div.break-all,
div.text-xs.text-grey-600 {
    color: #333 !important;
}
span.text-\[10px\] {
    color: #64b5f6 !important;
}
button.text-gray-400 {
    color: #888 !important;
}
button.text-gray-400:hover {
    color: #64b5f6 !important;
}
button.text-gray-400 svg {
    color: #888 !important;
}
button.text-gray-400:hover svg {
    color: #64b5f6 !important;
}
span.cursor-pointer {
    color: #64b5f6 !important;
}
span.cursor-pointer:hover {
    text-decoration: underline !important;
}
div.ml-8.border-l {
    border-left: 2px solid #bbdefb !important;
    padding-left: 10px !important;
}