/* ═══════════════════════════════════════════════
   🔍 Baker Street Fog — Lina Holmes Chat Theme
   Rili平台适配版 · 伦敦侦探聊天框美化
   ═══════════════════════════════════════════════ */

/* ── 隐藏默认顶部装饰（B平台无此元素，保留以防万一） ── */
[class*="bg-[#F1CBCB]"],
[class*="bg-[#c9e1e9]"] {
    display: none !important;
}

/* ══════════════════════════════════════════════
   I. 用户输入框 & AI回复框 · 维多利亚砖墙基底
   ══════════════════════════════════════════════ */

/* ── 统一聊天气泡框容器 ── */
.group.flex.max-w-\[100\%\].flex-col.gap-2 > div[class*="is-user:dark"],
.group.flex.max-w-\[100\%\].flex-col.gap-2 > .is-user\:dark {
    background:
        linear-gradient(
            135deg,
            #1a1410 0%,
            #2a2018 15%,
            #1e1812 30%,
            #2c2219 45%,
            #1a1410 60%,
            #241c14 75%,
            #2a2018 100%
        ) !important;
    border: 1px solid #8b7355 !important;
    border-left: 3px solid #c9a84c !important;
    border-radius: 6px !important;
    box-shadow:
        0 0 15px rgba(201, 168, 76, 0.08),
        0 4px 20px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(201, 168, 76, 0.1),
        inset 0 -1px 0 rgba(0, 0, 0, 0.3) !important;
    padding: 18px 20px 14px 20px !important;
    position: relative !important;
    isolation: isolate !important;
    overflow: visible !important;
}

/* ── 用户输入框特殊标识（左侧金色竖线加粗） ── */
.group.flex.max-w-\[100\%\].flex-col.gap-2.is-user > div[class*="is-user:dark"] {
    border-left: 3px solid #e0c068 !important;
    background:
        linear-gradient(
            135deg,
            #1e1812 0%,
            #2e2418 20%,
            #221a12 50%,
            #2a2018 80%,
            #1e1812 100%
        ) !important;
}

/* ── 聊天框 ::before · 雾气流动层 ── */
.group.flex.max-w-\[100\%\].flex-col.gap-2 > div[class*="is-user:dark"]::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 0 !important;
    opacity: 0.06 !important;
    pointer-events: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='400'%3E%3Cdefs%3E%3CradialGradient id='f1' cx='30%25' cy='50%25' r='50%25'%3E%3Cstop offset='0%25' stop-color='%23c9a84c' stop-opacity='0.6'/%3E%3Cstop offset='100%25' stop-color='%23c9a84c' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='f2' cx='70%25' cy='40%25' r='45%25'%3E%3Cstop offset='0%25' stop-color='%23d4b96a' stop-opacity='0.4'/%3E%3Cstop offset='100%25' stop-color='%23d4b96a' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect fill='url(%23f1)' width='600' height='400'%3E%3Canimate attributeName='opacity' values='0.4;0.8;0.4' dur='8s' repeatCount='indefinite'/%3E%3C/rect%3E%3Crect fill='url(%23f2)' width='600' height='400'%3E%3Canimate attributeName='opacity' values='0.6;0.3;0.6' dur='6s' repeatCount='indefinite'/%3E%3C/rect%3E%3C/svg%3E") !important;
    background-size: cover !important;
    border-radius: 6px !important;
}

/* ── 聊天框 ::after · 煤气灯光晕（右上角） ── */
.group.flex.max-w-\[100\%\].flex-col.gap-2.is-assistant > div[class*="is-user:dark"]::after {
    content: "" !important;
    position: absolute !important;
    top: -2px !important;
    right: 16px !important;
    width: 40px !important;
    height: 40px !important;
    z-index: 0 !important;
    pointer-events: none !important;
    border-radius: 50% !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cdefs%3E%3CradialGradient id='gl' cx='50%25' cy='50%25' r='50%25'%3E%3Cstop offset='0%25' stop-color='%23f0d078' stop-opacity='0.5'%3E%3Canimate attributeName='stop-opacity' values='0.5;0.25;0.5' dur='3s' repeatCount='indefinite'/%3E%3C/stop%3E%3Cstop offset='60%25' stop-color='%23c9a84c' stop-opacity='0.15'/%3E%3Cstop offset='100%25' stop-color='%23c9a84c' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='20' cy='20' r='20' fill='url(%23gl)'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
}

/* ══════════════════════════════════════════════
   II. Markdown内容区域 · 高可读性暖白
   ══════════════════════════════════════════════ */

.rili-markdown-renderer {
    color: #e8dcc8 !important;
    font-family: 'Georgia', 'Palatino Linotype', 'Book Antiqua', 'Times New Roman', serif !important;
    font-size: 15px !important;
    line-height: 1.85 !important;
    letter-spacing: 0.3px !important;
    position: relative !important;
    z-index: 1 !important;
    background: transparent !important;
    text-shadow: none !important;
}

.rili-markdown-renderer p {
    margin-bottom: 0.6em !important;
    color: #e8dcc8 !important;
    text-shadow: none !important;
}

.rili-markdown-renderer strong,
.rili-markdown-renderer b {
    color: #d4b96a !important;
    font-weight: bold !important;
    text-shadow: none !important;
}

.rili-markdown-renderer em,
.rili-markdown-renderer i {
    color: #b8b0a0 !important;
    font-style: italic !important;
    text-shadow: none !important;
}

.rili-markdown-renderer h1,
.rili-markdown-renderer h2,
.rili-markdown-renderer h3,
.rili-markdown-renderer h4,
.rili-markdown-renderer h5,
.rili-markdown-renderer h6 {
    color: #d4b96a !important;
    font-family: 'Georgia', 'Palatino Linotype', serif !important;
    font-weight: bold !important;
    border-bottom: 1px solid rgba(201, 168, 76, 0.25) !important;
    padding-bottom: 4px !important;
    text-shadow: none !important;
}

.rili-markdown-renderer blockquote {
    border-left: 3px solid #c9a84c !important;
    background: rgba(201, 168, 76, 0.06) !important;
    color: #c8b898 !important;
    padding: 8px 14px !important;
    margin: 8px 0 !important;
    border-radius: 0 4px 4px 0 !important;
    font-style: italic !important;
}

.rili-markdown-renderer code {
    background: rgba(0, 0, 0, 0.35) !important;
    color: #d4b96a !important;
    padding: 2px 6px !important;
    border-radius: 3px !important;
    font-size: 0.9em !important;
    border: 1px solid rgba(139, 115, 85, 0.3) !important;
}

.rili-markdown-renderer pre {
    background: rgba(0, 0, 0, 0.4) !important;
    border: 1px solid rgba(139, 115, 85, 0.3) !important;
    border-radius: 4px !important;
    padding: 12px !important;
}

.rili-markdown-renderer pre code {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}

.rili-markdown-renderer a {
    color: #d4b96a !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(212, 185, 106, 0.4) !important;
    text-shadow: none !important;
}

.rili-markdown-renderer ul,
.rili-markdown-renderer ol {
    color: #e8dcc8 !important;
}

.rili-markdown-renderer li {
    color: #e8dcc8 !important;
}

.rili-markdown-renderer li::marker {
    color: #c9a84c !important;
}

.rili-markdown-renderer hr {
    border: none !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, #c9a84c, transparent) !important;
    margin: 16px 0 !important;
}

.rili-markdown-renderer table {
    border-collapse: collapse !important;
    width: 100% !important;
}

.rili-markdown-renderer th {
    background: rgba(201, 168, 76, 0.15) !important;
    color: #d4b96a !important;
    border: 1px solid rgba(139, 115, 85, 0.4) !important;
    padding: 6px 10px !important;
    font-weight: bold !important;
}

.rili-markdown-renderer td {
    border: 1px solid rgba(139, 115, 85, 0.25) !important;
    padding: 6px 10px !important;
    color: #e0d4c0 !important;
}

/* ══════════════════════════════════════════════
   III. Details折叠面板 · 牛皮纸侦探档案
   ══════════════════════════════════════════════ */

.rili-markdown-renderer details {
    background:
        linear-gradient(
            168deg,
            #3d3225 0%,
            #4a3c2c 8%,
            #3b3122 18%,
            #45382a 30%,
            #3d3225 42%,
            #4c3e2e 55%,
            #3a3020 68%,
            #44372a 82%,
            #3d3225 100%
        ) !important;
    border: 1px solid #6b5a3e !important;
    border-radius: 3px !important;
    padding: 0 !important;
    margin: 10px 0 !important;
    position: relative !important;
    overflow: hidden !important;
    box-shadow:
        0 2px 8px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(201, 168, 76, 0.08),
        inset 0 0 30px rgba(0, 0, 0, 0.15) !important;
    border-left: 3px solid transparent !important;
    border-image: linear-gradient(
        180deg,
        #8b6b2e 0%,
        #6b5a3e 30%,
        #8b7355 60%,
        #6b5a3e 100%
    ) 1 !important;
}

.rili-markdown-renderer details::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    pointer-events: none !important;
    z-index: 0 !important;
    opacity: 0.04 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E") !important;
    background-size: 200px 200px !important;
}

.rili-markdown-renderer details::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    pointer-events: none !important;
    z-index: 0 !important;
    background:
        radial-gradient(ellipse at 0% 0%, rgba(0,0,0,0.2) 0%, transparent 50%),
        radial-gradient(ellipse at 100% 100%, rgba(0,0,0,0.25) 0%, transparent 50%),
        radial-gradient(ellipse at 100% 0%, rgba(0,0,0,0.12) 0%, transparent 40%),
        radial-gradient(ellipse at 0% 100%, rgba(0,0,0,0.12) 0%, transparent 40%) !important;
}

.rili-markdown-renderer summary {
    color: #d4b96a !important;
    font-family: 'Georgia', 'Palatino Linotype', 'Book Antiqua', serif !important;
    font-weight: bold !important;
    font-size: 14.5px !important;
    letter-spacing: 1px !important;
    padding: 10px 16px 10px 38px !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 1 !important;
    background:
        linear-gradient(
            90deg,
            rgba(201, 168, 76, 0.12) 0%,
            rgba(201, 168, 76, 0.05) 40%,
            transparent 100%
        ) !important;
    border-bottom: 1px solid rgba(107, 90, 62, 0.5) !important;
    transition: background 0.3s ease !important;
    text-shadow: none !important;
    list-style: none !important;
}

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

.rili-markdown-renderer summary::marker {
    content: "" !important;
    display: none !important;
}

.rili-markdown-renderer summary::before {
    content: "" !important;
    position: absolute !important;
    left: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 18px !important;
    height: 18px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='8' fill='%238b2020' stroke='%236b1515' stroke-width='0.5'/%3E%3Ccircle cx='9' cy='9' r='5.5' fill='none' stroke='%23d4a04a' stroke-width='0.4' opacity='0.6'/%3E%3Ctext x='9' y='12' text-anchor='middle' font-size='8' font-family='Georgia,serif' font-weight='bold' fill='%23d4a04a' opacity='0.8'%3EH%3C/text%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
}

.rili-markdown-renderer summary::after {
    content: "▸" !important;
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #8b7355 !important;
    font-size: 13px !important;
    transition: transform 0.3s ease, color 0.3s ease !important;
}

.rili-markdown-renderer details[open] > summary::after {
    content: "▾" !important;
    color: #d4b96a !important;
}

.rili-markdown-renderer summary:hover {
    background:
        linear-gradient(
            90deg,
            rgba(201, 168, 76, 0.18) 0%,
            rgba(201, 168, 76, 0.08) 40%,
            transparent 100%
        ) !important;
}

.rili-markdown-renderer details[open] {
    border-color: #8b7355 !important;
    box-shadow:
        0 2px 12px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(201, 168, 76, 0.12),
        inset 0 0 30px rgba(0, 0, 0, 0.15),
        0 0 0 1px rgba(201, 168, 76, 0.06) !important;
}

.rili-markdown-renderer details[open] > summary {
    border-bottom: 1px solid rgba(201, 168, 76, 0.2) !important;
    background:
        linear-gradient(
            90deg,
            rgba(201, 168, 76, 0.15) 0%,
            rgba(201, 168, 76, 0.06) 40%,
            transparent 100%
        ) !important;
}

.rili-markdown-renderer details p {
    padding: 2px 16px !important;
    margin: 0 !important;
    color: #d8ccb4 !important;
    font-size: 13.5px !important;
    line-height: 1.75 !important;
    text-shadow: none !important;
}

.rili-markdown-renderer details strong,
.rili-markdown-renderer details b {
    color: #c9a84c !important;
    font-weight: bold !important;
    font-size: 13px !important;
    text-shadow: none !important;
}

.rili-markdown-renderer details em,
.rili-markdown-renderer details i {
    color: #a89878 !important;
    font-style: italic !important;
}

.rili-markdown-renderer details hr {
    border: none !important;
    height: 1px !important;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(201, 168, 76, 0.15) 15%,
        rgba(201, 168, 76, 0.35) 50%,
        rgba(201, 168, 76, 0.15) 85%,
        transparent 100%
    ) !important;
    margin: 6px 16px !important;
}

.rili-markdown-renderer details ul,
.rili-markdown-renderer details ol {
    padding-left: 28px !important;
    margin: 4px 12px !important;
}

.rili-markdown-renderer details li {
    color: #d0c4a8 !important;
    font-size: 13.5px !important;
    line-height: 1.7 !important;
    padding: 1px 0 !important;
}

.rili-markdown-renderer details li::marker {
    color: #8b7355 !important;
}

.rili-markdown-renderer details blockquote {
    border-left: 2px solid #8b6b2e !important;
    background: rgba(139, 107, 46, 0.08) !important;
    color: #b8a888 !important;
    padding: 6px 12px !important;
    margin: 4px 16px !important;
    border-radius: 0 3px 3px 0 !important;
    font-style: italic !important;
    font-size: 13px !important;
}

.rili-markdown-renderer details code {
    background: rgba(139, 32, 32, 0.2) !important;
    color: #d4a84c !important;
    padding: 1px 5px !important;
    border-radius: 2px !important;
    font-size: 0.88em !important;
    border: 1px solid rgba(139, 32, 32, 0.25) !important;
}

.rili-markdown-renderer details > p:first-of-type,
.rili-markdown-renderer details > ul:first-of-type,
.rili-markdown-renderer details > ol:first-of-type {
    padding-top: 8px !important;
}

.rili-markdown-renderer details > p:last-child,
.rili-markdown-renderer details > ul:last-child,
.rili-markdown-renderer details > ol:last-child {
    padding-bottom: 10px !important;
}

.rili-markdown-renderer details details {
    margin: 4px 8px !important;
    background:
        linear-gradient(
            168deg,
            #352c20 0%,
            #3e3326 50%,
            #352c20 100%
        ) !important;
    border-color: #5a4d38 !important;
    box-shadow:
        0 1px 4px rgba(0, 0, 0, 0.25),
        inset 0 0 20px rgba(0, 0, 0, 0.12) !important;
}

.rili-markdown-renderer details details summary {
    font-size: 13px !important;
    padding: 7px 14px 7px 34px !important;
}

.rili-markdown-renderer details details summary::before {
    width: 14px !important;
    height: 14px !important;
    left: 10px !important;
}

.rili-markdown-renderer > details:first-of-type {
    margin-top: 14px !important;
    border-top: 2px solid rgba(201, 168, 76, 0.3) !important;
}

/* ══════════════════════════════════════════════
   IV. 代码块 · 维多利亚密码本
   ══════════════════════════════════════════════ */

.rili-markdown-renderer pre {
    background:
        linear-gradient(
            170deg,
            #1c1710 0%,
            #252018 12%,
            #1e1a12 28%,
            #28221a 45%,
            #1c1710 60%,
            #231e16 78%,
            #1e1a12 100%
        ) !important;
    border: 1px solid #5a4d38 !important; border-left: 3px solid #8b6b2e !important;
    border-radius: 4px !important;
    padding: 0 !important;
    margin: 12px 0 !important;
    position: relative !important;
    overflow: hidden !important;
    box-shadow:
        0 3px 12px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(201, 168, 76, 0.06),
        inset 0 0 40px rgba(0, 0, 0, 0.2) !important;
}

.rili-markdown-renderer pre::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    pointer-events: none !important;
    z-index: 0 !important;
    opacity: 0.03 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='150' height='150' filter='url(%23p)'/%3E%3C/svg%3E") !important;
    background-size: 150px 150px !important;
}

.rili-markdown-renderer pre::after {
    content: "" !important;
    position: absolute !important;
    top: 6px !important;
    right: 8px !important;
    width: 22px !important;
    height: 22px !important;
    pointer-events: none !important;
    z-index: 3 !important;
    opacity: 0.35 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='10' fill='%238b2020' stroke='%236b1515' stroke-width='0.5'/%3E%3Ccircle cx='11' cy='11' r='6.5' fill='none' stroke='%23d4a04a' stroke-width='0.3' opacity='0.5'/%3E%3Ctext x='11' y='14.5' text-anchor='middle' font-size='9' font-family='Georgia,serif' font-weight='bold' fill='%23d4a04a' opacity='0.7'%3EH%3C/text%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
}

.rili-markdown-renderer pre code {
    color: #d0c4a0 !important;
    font-family: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'Source Code Pro', 'Consolas', monospace !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
    white-space: pre !important;
    text-shadow: none !important;
    display: block !important;
    padding: 12px 16px !important;
    position: relative !important;
    z-index: 1 !important;
    background: transparent !important;
}

/* ── 代码块语法高亮 · 维多利亚墨水配色 ── */
.rili-markdown-renderer pre code span[style*="color: rgb(167, 29, 93)"],
.rili-markdown-renderer pre code span[style*="color:#a71d5d"],
.rili-markdown-renderer pre code span[style*="color: rgb(215, 58, 73)"] {
    color: #c9a84c !important;
    font-weight: bold !important;
}

.rili-markdown-renderer pre code span[style*="color: rgb(24, 54, 145)"],
.rili-markdown-renderer pre code span[style*="color:#183691"],
.rili-markdown-renderer pre code span[style*="color: rgb(3, 47, 98)"] {
    color: #7aab8a !important;
}

.rili-markdown-renderer pre code span[style*="color: rgb(150, 152, 150)"],
.rili-markdown-renderer pre code span[style*="color:#969896"],
.rili-markdown-renderer pre code span[style*="color: rgb(106, 115, 125)"] {
    color: #7a7060 !important;
    font-style: italic !important;
}

.rili-markdown-renderer pre code span[style*="color: rgb(0, 134, 179)"],
.rili-markdown-renderer pre code span[style*="color:#0086b3"] {
    color: #b8886a !important;
}

.rili-markdown-renderer pre code span[style*="color: rgb(121, 93, 163)"],
.rili-markdown-renderer pre code span[style*="color:#795da3"] {
    color: #a888b8 !important;
}

.rili-markdown-renderer pre code span[style*="color: rgb(99, 163, 92)"],
.rili-markdown-renderer pre code span[style*="color:#63a35c"] {
    color: #b87a6a !important;
}

/* ── 代码块滚动条 ── */
.rili-markdown-renderer pre ::-webkit-scrollbar {
    height: 5px !important;
    background: transparent !important;
}

.rili-markdown-renderer pre ::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.15) !important;
    border-radius: 3px !important;
}

.rili-markdown-renderer pre ::-webkit-scrollbar-thumb {
    background: linear-gradient(90deg, #5a4d38, #8b6b2e, #5a4d38) !important;
    border-radius: 3px !important;
}

.rili-markdown-renderer pre ::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(90deg, #6b5a3e, #c9a84c, #6b5a3e) !important;
}

/* ── 代码块选中文本 ── */
.rili-markdown-renderer pre code::selection,
.rili-markdown-renderer pre code span::selection {
    background: rgba(201, 168, 76, 0.25) !important;
    color: #f0e8d0 !important;
}

.rili-markdown-renderer pre code::-moz-selection,
.rili-markdown-renderer pre code span::-moz-selection {
    background: rgba(201, 168, 76, 0.25) !important;
    color: #f0e8d0 !important;
}

/* ══════════════════════════════════════════════
   V. 底部按钮组 · 暗金色交互
   ══════════════════════════════════════════════ */

/* ── 按钮容器背景 ── */
.group.flex.max-w-\[100\%\].flex-col.gap-2 .bg-muted.rounded.flex {
    background: rgba(42, 32, 24, 0.5) !important;
    border-radius: 4px !important;
    padding: 2px !important;
}

/* ── 单个按钮 ── */
.bg-muted.rounded.flex button {
    color: #a89878 !important;
    transition: color 0.3s ease, background 0.3s ease !important;
    border-radius: 4px !important;
}

.bg-muted.rounded.flex button:hover {
    color: #d4b96a !important;
    background: rgba(201, 168, 76, 0.1) !important;
}

/* ── 按钮图标 ── */
.bg-muted.rounded.flex button svg {
    stroke: currentColor !important;
}

/* ── Token统计区域 ── */
.flex.items-center.gap-2.text-xs.font-mono.text-muted-foreground {
    color: #7a6e58 !important;
    font-family: 'Georgia', serif !important;
    font-size: 11px !important;
}

.flex.items-center.gap-2.text-xs.font-mono.text-muted-foreground span {
    color: #8b7355 !important;
}

/* ── 输入Token标识（蓝点） ── */
.flex.items-center.gap-2 span .w-1.h-1.rounded-full.bg-blue-500\/60 {
    background-color: rgba(139, 107, 46, 0.6) !important;
}

/* ── 输出Token标识（绿点） ── */
.flex.items-center.gap-2 span .w-1.h-1.rounded-full.bg-green-500\/60 {
    background-color: rgba(201, 168, 76, 0.6) !important;
}

/* ══════════════════════════════════════════════
   VI. 加载动画 · 侦探放大镜搜索
   ══════════════════════════════════════════════ */

/* ── 隐藏B平台默认加载动画（三个跳动圆球） ── */
.flex.gap-2.w-full.h-full.items-center.justify-center > span {
    display: none !important;
}

/* ── 加载容器 ── */
.flex.gap-2.w-full.h-full.items-center.justify-center {
    position: relative !important;
    width: 48px !important;
    height: 48px !important;
    overflow: visible !important;
    gap: 0 !important;
}

/* ── 放大镜主体动画 ::before ── */
.flex.gap-2.w-full.h-full.items-center.justify-center::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 44px !important;
    height: 44px !important;
    transform: translate(-50%, -50%) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Cdefs%3E%3ClinearGradient id='gg' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%23d4b96a'/%3E%3Cstop offset='100%25' stop-color='%23a08850'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%3E%3Ccircle cx='18' cy='18' r='10' fill='none' stroke='url(%23gg)' stroke-width='2.5' stroke-linecap='round'%3E%3Canimate attributeName='r' values='10;11;10' dur='1.2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' values='1;0.6;1' dur='1.2s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='18' cy='18' r='3.5' fill='%23d4b96a' opacity='0.25'%3E%3Canimate attributeName='opacity' values='0.25;0.5;0.25' dur='0.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='r' values='3.5;4.5;3.5' dur='1.2s' repeatCount='indefinite'/%3E%3C/circle%3E%3Cline x1='25.5' y1='25.5' x2='35' y2='35' stroke='url(%23gg)' stroke-width='3' stroke-linecap='round'%3E%3Canimate attributeName='x2' values='35;36;35' dur='1.2s' repeatCount='indefinite'/%3E%3Canimate attributeName='y2' values='35;36;35' dur='1.2s' repeatCount='indefinite'/%3E%3C/line%3E%3CanimateTransform attributeName='transform' type='rotate' values='-8 18 18;8 18 18;-8 18 18' dur='2s' repeatCount='indefinite'/%3E%3C/g%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* ── 搜索光斑粒子 ::after ── */
.flex.gap-2.w-full.h-full.items-center.justify-center::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 48px !important;
    height: 48px !important;
    transform: translate(-50%, -50%) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Ccircle cx='10' cy='12' r='1.2' fill='%23d4b96a'%3E%3Canimate attributeName='opacity' values='0;0.8;0' dur='1.8s' begin='0s' repeatCount='indefinite'/%3E%3Canimate attributeName='cy' values='12;8;12' dur='1.8s' begin='0s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='32' cy='8' r='1' fill='%23c9a84c'%3E%3Canimate attributeName='opacity' values='0;0.7;0' dur='2.2s' begin='0.4s' repeatCount='indefinite'/%3E%3Canimate attributeName='cy' values='8;4;8' dur='2.2s' begin='0.4s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='24' cy='36' r='0.8' fill='%23e0c068'%3E%3Canimate attributeName='opacity' values='0;0.6;0' dur='1.5s' begin='0.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='cx' values='24;28;24' dur='1.5s' begin='0.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='38' cy='28' r='0.9' fill='%23d4b96a'%3E%3Canimate attributeName='opacity' values='0;0.5;0' dur='2s' begin='1.2s' repeatCount='indefinite'/%3E%3Canimate attributeName='cy' values='28;24;28' dur='2s' begin='1.2s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    pointer-events: none !important;
}

/* ══════════════════════════════════════════════
   VII. 📱 移动端适配
   ══════════════════════════════════════════════ */

@media (max-width: 480px) {
    .group.flex.max-w-\[100\%\].flex-col.gap-2 > div[class*="is-user:dark"] {
        padding: 14px 12px 10px 12px !important;
        border-left-width: 2px !important;
    }

    .rili-markdown-renderer {
        font-size: 14px !important;
        line-height: 1.75 !important;
    }

    .flex.gap-2.w-full.h-full.items-center.justify-center {
        width: 36px !important;
        height: 36px !important;
    }

    .flex.gap-2.w-full.h-full.items-center.justify-center::before {
        width: 32px !important;
        height: 32px !important;
    }

    .flex.gap-2.w-full.h-full.items-center.justify-center::after {
        width: 36px !important;
        height: 36px !important;
    }

    .rili-markdown-renderer details summary {
        font-size: 13.5px !important;
        padding: 8px 12px 8px 32px !important;
        letter-spacing: 0.5px !important;
    }

    .rili-markdown-renderer details summary::before {
        width: 15px !important;
        height: 15px !important;
        left: 10px !important;
    }

    .rili-markdown-renderer details p {
        padding: 2px 10px !important;
        font-size: 13px !important;
    }

    .rili-markdown-renderer details li {
        font-size: 13px !important;
    }

    .rili-markdown-renderer pre code {
        font-size: 12px !important;
        line-height: 1.6 !important;
        padding: 10px 10px !important;
    }

    .rili-markdown-renderer pre::after {
        width: 16px !important;
        height: 16px !important;
        top: 4px !important;
        right: 5px !important;
        opacity: 0.25 !important;
    }
}

/* ══════════════════════════════════════════════
   VIII. ♿ 低动效模式
   ══════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
    .group.flex.max-w-\[100\%\].flex-col.gap-2 > div[class*="is-user:dark"]::before {
        opacity: 0.03 !important;
    }

    .group.flex.max-w-\[100\%\].flex-col.gap-2 > div[class*="is-user:dark"]::after {
        opacity: 0.3 !important;
    }

    .rili-markdown-renderer summary {
        transition: none !important;
    }

    .rili-markdown-renderer summary::after {
        transition: none !important;
    }

    .bg-muted.rounded.flex button {
        transition: none !important;
    }
}

/* ══════════════════════════════════════════════
   IX. 全局文本选中效果
   ══════════════════════════════════════════════ */

.rili-markdown-renderer ::selection {
    background: rgba(201, 168, 76, 0.25) !important;
    color: #f0e8d0 !important;
}

.rili-markdown-renderer ::-moz-selection {
    background: rgba(201, 168, 76, 0.25) !important;
    color: #f0e8d0 !important;
}