/* ================================================================
   🖤 落魄少爷 ·毒舌男娘 — 终极完整版
   简约黑白 ·碎钻银丝 · 荆棘羽毛 · 褪色纹章
   高对比度 · 绝对可读
   ================================================================ */

/* ── 0. 移除默认顶部装饰条 ── */
[class*="bg-[#F1CBCB]"],
[class*="bg-[#c9e1e9]"] {
    display: none !important;
}

/* ================================================================
   1. 聊天框主体 — 统一墨色基底
   ================================================================ */
.bg-gray-100\/90.relative.inline-block {
    background: linear-gradient(
        145deg,
        #1A1A1A 0%,
        #222222 18%,
        #1C1C1C 36%,
        #252525 54%,
        #1E1E1E 72%,
        #2A2A2A 88%,
        #1A1A1A 100%
    ) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.06),
        0 4px 20px rgba(0, 0, 0, 0.5),
        0 8px 40px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        inset 0 -1px 0 rgba(0, 0, 0, 0.3) !important;
    border-radius: 6px !important;
    isolation: isolate !important;
    position: relative !important;
    overflow: hidden !important;
    padding: 22px !important;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.bg-gray-100\/90.relative.inline-block:hover {
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.15),
        0 6px 28px rgba(0, 0, 0, 0.6),
        0 12px 52px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        inset 0 -1px 0 rgba(0, 0, 0, 0.4) !important;
    transform: translateY(-1px) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
}

/* ── 1b. 输入框单独区分 — 少爷执笔，墨色略浅 ── */
.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90) {
    background: linear-gradient(
        145deg,
        #1E1E1E 0%,
        #272727 20%,
        #232323 40%,
        #2A2A2A 60%,
        #242424 80%,
        #1E1E1E 100%
    ) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    border-left: 3px solid rgba(255, 255, 255, 0.2) !important;
}

/* ================================================================
   2. 背景装饰层 — 碎钻 ·荆棘 · 羽毛 · 十字星 · 褪色纹章
   ================================================================ */

/* ── 2a. ::before — 碎钻微光 + 荆棘纹 + 十字星 ── */
.bg-gray-100\/90.relative.inline-block::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 0 !important;
    pointer-events: none !important;
    opacity: 0.45 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 400'%3E%3Ccircle cx='80' cy='60' r='1.2' fill='%23FFFFFF' opacity='0.6'%3E%3Canimate attributeName='opacity' values='0.2;0.8;0.2' dur='3.2s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='180' cy='120' r='0.8' fill='%23CCCCCC' opacity='0.5'%3E%3Canimate attributeName='opacity' values='0.15;0.7;0.15' dur='4.1s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='320' cy='45' r='1' fill='%23FFFFFF' opacity='0.55'%3E%3Canimate attributeName='opacity' values='0.1;0.75;0.1' dur='2.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='450' cy='90' r='1.3' fill='%23E0E0E0' opacity='0.5'%3E%3Canimate attributeName='opacity' values='0.2;0.85;0.2' dur='3.6s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='540' cy='150' r='0.9' fill='%23FFFFFF' opacity='0.45'%3E%3Canimate attributeName='opacity' values='0.1;0.65;0.1' dur='4.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='130' cy='280' r='1.1' fill='%23D0D0D0' opacity='0.4'%3E%3Canimate attributeName='opacity' values='0.15;0.7;0.15' dur='3.9s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='380' cy='320' r='0.7' fill='%23FFFFFF' opacity='0.5'%3E%3Canimate attributeName='opacity' values='0.2;0.8;0.2' dur='2.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='500' cy='260' r='1' fill='%23E8E8E8' opacity='0.45'%3E%3Canimate attributeName='opacity' values='0.1;0.6;0.1' dur='5s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='250' cy='200' r='0.6' fill='%23FFFFFF' opacity='0.55'%3E%3Canimate attributeName='opacity' values='0.2;0.9;0.2' dur='2.2s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='60' cy='350' r='0.8' fill='%23BBBBBB' opacity='0.35'%3E%3Canimate attributeName='opacity' values='0.1;0.55;0.1' dur='4.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='420' cy='180' r='1.4' fill='%23FFFFFF' opacity='0.3'%3E%3Canimate attributeName='opacity' values='0.05;0.5;0.05' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='290' cy='30' r='0.9' fill='%23FFFFFF' opacity='0.4'%3E%3Canimate attributeName='opacity' values='0.15;0.7;0.15' dur='3.4s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='170' cy='370' r='1.1' fill='%23DDDDDD' opacity='0.35'%3E%3Canimate attributeName='opacity' values='0.1;0.6;0.1' dur='5.2s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='480' cy='340' r='0.7' fill='%23FFFFFF' opacity='0.45'%3E%3Canimate attributeName='opacity' values='0.2;0.75;0.2' dur='2.9s' repeatCount='indefinite'/%3E%3C/circle%3E%3Cg opacity='0.35'%3E%3Cline x1='155' y1='45' x2='155' y2='65' stroke='%23FFFFFF' stroke-width='0.6'%3E%3Canimate attributeName='opacity' values='0.2;0.7;0.2' dur='3s' repeatCount='indefinite'/%3E%3C/line%3E%3Cline x1='145' y1='55' x2='165' y2='55' stroke='%23FFFFFF' stroke-width='0.6'%3E%3Canimate attributeName='opacity' values='0.2;0.7;0.2' dur='3s' repeatCount='indefinite'/%3E%3C/line%3E%3C/g%3E%3Cg opacity='0.3'%3E%3Cline x1='470' y1='42' x2='470' y2='58' stroke='%23DDDDDD' stroke-width='0.5'%3E%3Canimate attributeName='opacity' values='0.15;0.6;0.15' dur='4s' repeatCount='indefinite'/%3E%3C/line%3E%3Cline x1='462' y1='50' x2='478' y2='50' stroke='%23DDDDDD' stroke-width='0.5'%3E%3Canimate attributeName='opacity' values='0.15;0.6;0.15' dur='4s' repeatCount='indefinite'/%3E%3C/line%3E%3C/g%3E%3Cg opacity='0.25'%3E%3Cline x1='350' y1='340' x2='350' y2='358' stroke='%23CCCCCC' stroke-width='0.4'%3E%3Canimate attributeName='opacity' values='0.1;0.5;0.1' dur='5s' repeatCount='indefinite'/%3E%3C/line%3E%3Cline x1='341' y1='349' x2='359' y2='349' stroke='%23CCCCCC' stroke-width='0.4'%3E%3Canimate attributeName='opacity' values='0.1;0.5;0.1' dur='5s' repeatCount='indefinite'/%3E%3C/line%3E%3C/g%3E%3Cpath d='M 30,380 Q 80,360 100,340 Q 110,320 130,330 Q 150,340 160,310 Q 170,290 200,300' fill='none' stroke='%23555555' stroke-width='0.6' opacity='0.35'%3E%3Canimate attributeName='opacity' values='0.2;0.45;0.2' dur='6s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M 400,390 Q 430,370 440,350 Q 445,330 460,340 Q 480,350 490,320 Q 500,300 530,310 Q 560,320 580,290' fill='none' stroke='%23666666' stroke-width='0.5' opacity='0.3'%3E%3Canimate attributeName='opacity' values='0.15;0.4;0.15' dur='7s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M 100,340 L 95,330 M 160,310 L 155,300 M 130,330 L 128,318' fill='none' stroke='%23555555' stroke-width='0.5' opacity='0.3'%3E%3Canimate attributeName='opacity' values='0.15;0.4;0.15' dur='6s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M 440,350 L 435,340 M 490,320 L 485,308M 530,310 L 527,298' fill='none' stroke='%23666666' stroke-width='0.5' opacity='0.25'%3E%3Canimate attributeName='opacity' values='0.12;0.35;0.12' dur='7s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M 0,20 Q 30,35 50,18 Q 65,5 90,22 Q 110,35 130,15 Q 145,2 170,20' fill='none' stroke='%23444444' stroke-width='0.5' opacity='0.22'%3E%3Canimate attributeName='opacity' values='0.12;0.3;0.12' dur='8s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M 50,18 L 48,8 M 90,22 L 88,12 M 130,15 L 128,5' fill='none' stroke='%23444444' stroke-width='0.4' opacity='0.2'%3E%3Canimate attributeName='opacity' values='0.1;0.28;0.1' dur='8s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E") !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

/* ── 2b. ::after — 羽毛 · 银丝 · 纹章 ·锁链纹 · 褪色玫瑰 ── */
.bg-gray-100\/90.relative.inline-block::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 0 !important;
    pointer-events: none !important;
    opacity: 0.35 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 400'%3E%3Cg opacity='0.5'%3E%3Cpath d='M 120,80 Q 115,95 118,115 Q 120,125 122,115 Q 125,95 120,80 Z' fill='%23888888' stroke='%23AAAAAA' stroke-width='0.3'%3E%3CanimateTransform attributeName='transform' type='rotate' values='-15 120 100;15 120 100;-15 120 100' dur='5s' repeatCount='indefinite'/%3E%3C/path%3E%3Cline x1='120' y1='80' x2='120' y2='120' stroke='%23999999' stroke-width='0.3' opacity='0.4'%3E%3CanimateTransform attributeName='transform' type='rotate' values='-15 120 100;15 120 100;-15 120 100' dur='5s' repeatCount='indefinite'/%3E%3C/line%3E%3CanimateTransform attributeName='transform' type='translate' values='0,0;8,15;0,0' dur='7s' repeatCount='indefinite'/%3E%3C/g%3E%3Cg opacity='0.4'%3E%3Cpath d='M 380,50 Q 375,68 378,90 Q 380,100 382,90 Q 385,68 380,50 Z' fill='%23777777' stroke='%23999999' stroke-width='0.3'%3E%3CanimateTransform attributeName='transform' type='rotate' values='10 380 72;-20 380 72;10 380 72' dur='6s' repeatCount='indefinite'/%3E%3C/path%3E%3Cline x1='380' y1='50' x2='380' y2='95' stroke='%23888888' stroke-width='0.3' opacity='0.35'%3E%3CanimateTransform attributeName='transform' type='rotate' values='10 380 72;-20 380 72;10 380 72' dur='6s' repeatCount='indefinite'/%3E%3C/line%3E%3CanimateTransform attributeName='transform' type='translate' values='0,0;-6,12;0,0' dur='8s' repeatCount='indefinite'/%3E%3C/g%3E%3Cg opacity='0.35'%3E%3Cpath d='M 520,160 Q 516,175 518,192 Q 520,200 522,192 Q 524,175 520,160 Z' fill='%23999999' stroke='%23BBBBBB' stroke-width='0.3'%3E%3CanimateTransform attributeName='transform' type='rotate' values='-12 520 178;18 520 178;-12 520 178' dur='5.5s' repeatCount='indefinite'/%3E%3C/path%3E%3CanimateTransform attributeName='transform' type='translate' values='0,0;5,10;0,0' dur='6.5s' repeatCount='indefinite'/%3E%3C/g%3E%3Cg opacity='0.3'%3E%3Cpath d='M 260,280 Q 256,295 258,312 Q 260,320 262,312 Q 264,295 260,280 Z' fill='%23777777' stroke='%23999999' stroke-width='0.25'%3E%3CanimateTransform attributeName='transform' type='rotate' values='8 260 300;-18 260 300;8 260 300' dur='7s' repeatCount='indefinite'/%3E%3C/path%3E%3CanimateTransform attributeName='transform' type='translate' values='0,0;-4,8;0,0' dur='9s' repeatCount='indefinite'/%3E%3C/g%3E%3Cg transform='translate(50,160)' opacity='0.18'%3E%3Ccircle cx='0' cy='0' r='4' fill='%23888888'/%3E%3Ccircle cx='5' cy='-3' r='4.5' fill='%23777777'/%3E%3Ccircle cx='-5' cy='-3' r='4.5' fill='%23777777'/%3E%3Ccircle cx='3' cy='-7' r='4' fill='%23888888'/%3E%3Ccircle cx='-3' cy='-7' r='4' fill='%23888888'/%3E%3Ccircle cx='0' cy='-4' r='3' fill='%23999999'/%3E%3Cline x1='0' y1='4' x2='0' y2='22' stroke='%23666666' stroke-width='0.8'/%3E%3Cpath d='M 0,12 Q -6,10 -8,14' fill='none' stroke='%23666666' stroke-width='0.5'/%3E%3Canimate attributeName='opacity' values='0.12;0.25;0.12' dur='8s' repeatCount='indefinite'/%3E%3C/g%3E%3Cg transform='translate(550,310)' opacity='0.14'%3E%3Ccircle cx='0' cy='0' r='3.5' fill='%23777777'/%3E%3Ccircle cx='4' cy='-3' r='4' fill='%23666666'/%3E%3Ccircle cx='-4' cy='-3' r='4' fill='%23666666'/%3E%3Ccircle cx='2.5' cy='-6' r='3.5' fill='%23777777'/%3E%3Ccircle cx='-2.5' cy='-6' r='3.5' fill='%23777777'/%3E%3Ccircle cx='0' cy='-3.5' r='2.5' fill='%23888888'/%3E%3Cline x1='0' y1='3.5' x2='0' y2='18' stroke='%23555555' stroke-width='0.7'/%3E%3Canimate attributeName='opacity' values='0.08;0.2;0.08' dur='9s' repeatCount='indefinite'/%3E%3C/g%3E%3Cline x1='0' y1='0' x2='600' y2='400' stroke='%23FFFFFF' stroke-width='0.3' opacity='0.06'%3E%3Canimate attributeName='opacity' values='0.03;0.1;0.03' dur='8s' repeatCount='indefinite'/%3E%3C/line%3E%3Cline x1='600' y1='0' x2='0' y2='400' stroke='%23FFFFFF' stroke-width='0.2' opacity='0.04'%3E%3Canimate attributeName='opacity' values='0.02;0.08;0.02' dur='10s' repeatCount='indefinite'/%3E%3C/line%3E%3Cg opacity='0.15'%3E%3Cellipse cx='570' cy='180' rx='6' ry='4' fill='none' stroke='%23777777' stroke-width='0.6' transform='rotate(30 570 180)'%3E%3Canimate attributeName='opacity' values='0.1;0.22;0.1' dur='7s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3Cellipse cx='578' cy='186' rx='6' ry='4' fill='none' stroke='%23777777' stroke-width='0.6' transform='rotate(30 578 186)'%3E%3Canimate attributeName='opacity' values='0.1;0.22;0.1' dur='7s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3Cellipse cx='586' cy='192' rx='6' ry='4' fill='none' stroke='%23777777' stroke-width='0.6' transform='rotate(30 586 192)'%3E%3Canimate attributeName='opacity' values='0.1;0.22;0.1' dur='7s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3C/g%3E%3Ccircle cx='565' cy='35' r='18' fill='none' stroke='%23555555' stroke-width='0.5' opacity='0.2'%3E%3Canimate attributeName='opacity' values='0.12;0.28;0.12' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='565' cy='35' r='12' fill='none' stroke='%23666666' stroke-width='0.3' opacity='0.15'%3E%3Canimate attributeName='opacity' values='0.08;0.22;0.08' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3Cpath d='M 559,35 L 565,25 L 571,35 L 565,45 Z' fill='none' stroke='%23777777' stroke-width='0.4' opacity='0.18'%3E%3CanimateTransform attributeName='transform' type='rotate' values='0 565 35;360 565 35' dur='20s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='0.1;0.25;0.1' dur='6s' repeatCount='indefinite'/%3E%3C/path%3E%3Ccircle cx='35' cy='365' r='15' fill='none' stroke='%23555555' stroke-width='0.4' opacity='0.15'%3E%3Canimate attributeName='opacity' values='0.08;0.22;0.08' dur='7s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='35' cy='365' r='9' fill='none' stroke='%23666666' stroke-width='0.3' opacity='0.12'%3E%3Canimate attributeName='opacity' values='0.06;0.18;0.06' dur='7s' repeatCount='indefinite'/%3E%3C/circle%3E%3Cpath d='M 30,365 L 35,357 L 40,365 L 35,373 Z' fill='none' stroke='%23777777' stroke-width='0.35' opacity='0.14'%3E%3CanimateTransform attributeName='transform' type='rotate' values='360 35 365;0 35 365' dur='24s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E") !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

/* ================================================================
   3. 主文本 .markdown-body — 纯白高对比 + 排版精修
   ================================================================ */
.markdown-body {
    color: #F0F0F0 !important;
    font-family: "Georgia", "Noto Serif SC", "Source Han Serif", "Times New Roman", system-ui, serif !important;
    background: transparent !important;
    position: relative !important;
    z-index: 1 !important;
    line-height: 1.85 !important;
    letter-spacing: 0.02em !important;
    font-weight: 400 !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
}

.markdown-body > p {
    margin-bottom: 1em !important;
    text-align: justify !important;orphans: 2 !important;
    widows: 2 !important;
}

.markdown-body ::selection {
    background: rgba(255, 255, 255, 0.25) !important;
    color: #FFFFFF !important;
}

.markdown-body::before {
    content: "🖤 " !important;
    filter: none !important;
}

/* ================================================================
   4. 标题 h1 ~ h6 — 六级递进 + 银线装饰
   ================================================================ */
.markdown-body h1 {
    color: #FFFFFF !important;
    font-weight: 800 !important;
    font-size: 1.8em !important;
    letter-spacing: 0.06em !important;
    margin: 1.4em 0 0.7em !important;
    padding-bottom: 0.5em !important;
    border-bottom: 2px solid rgba(255, 255, 255, 0.15) !important;
    position: relative !important;
    text-transform: uppercase !important;
}

.markdown-body h1::after {
    content: "" !important;
    position: absolute !important;
    bottom: -2px !important;
    left: 0 !important;
    width: 60px !important;
    height: 2px !important;
    background: rgba(255, 255, 255, 0.6) !important;
}

.markdown-body h2 {
    color: #F0F0F0 !important;
    font-weight: 700 !important;
    font-size: 1.5em !important;
    letter-spacing: 0.04em !important;
    margin: 1.3em 0 0.6em !important;
    padding-bottom: 0.4em !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    position: relative !important;
}

.markdown-body h2::before {
    content: "— " !important;
    color: rgba(255, 255, 255, 0.35) !important;
    font-weight: 300 !important;
}

.markdown-body h3 {
    color: #E8E8E8 !important;
    font-weight: 700 !important;
    font-size: 1.3em !important;
    letter-spacing: 0.03em !important;
    margin: 1.2em 0 0.5em !important;
}

.markdown-body h3::before {
    content: "◆ " !important;
    color: rgba(255, 255, 255, 0.3) !important;
    font-size: 0.6em !important;
    vertical-align: middle !important;
}

.markdown-body h4 {
    color: #DDDDDD !important;
    font-weight: 700 !important;
    font-size: 1.15em !important;
    letter-spacing: 0.02em !important;
    margin: 1.1em 0 0.4em !important;
}

.markdown-body h4::before {
    content: "◇ " !important;
    color: rgba(255, 255, 255, 0.25) !important;
    font-size: 0.7em !important;
}

.markdown-body h5 {
    color: #D0D0D0 !important;
    font-weight: 600 !important;
    font-size: 1.05em !important;
    margin: 1em 0 0.4em !important;
    font-style: italic !important;
}

.markdown-body h6 {
    color: #BBBBBB !important;
    font-weight: 600 !important;
    font-size: 0.95em !important;
    margin: 1em 0 0.4em !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

/* ================================================================
   5. 文本强调元素 — strong / em / del / mark / kbd / sub / sup
   ================================================================ */
.markdown-body strong {
    color: #FFFFFF !important;
    font-weight: 700 !important;
    background: rgba(255, 255, 255, 0.08) !important;
    padding: 1px 6px !important;
    border-radius: 3px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25) !important;
}

.markdown-body em {
    color: #D8D8D8 !important;
    font-style: italic !important;
}

.markdown-body strong em,
.markdown-body em strong {
    color: #FFFFFF !important;
    font-weight: 700 !important;
    font-style: italic !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35) !important;
}

.markdown-body del,
.markdown-body s {
    color: #777777 !important;
    text-decoration: line-through !important;
    text-decoration-color: rgba(255, 255, 255, 0.3) !important;
    text-decoration-thickness: 1.5px !important;
}

.markdown-body mark {
    background: rgba(255, 255, 255, 0.15) !important;
    color: #FFFFFF !important;
    padding: 2px 6px !important;
    border-radius: 3px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.markdown-body kbd {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #E0E0E0 !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-bottom: 2px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 4px !important;
    padding: 2px 8px !important;
    font-family: 'Consolas', 'Monaco', monospace !important;
    font-size: 0.88em !important;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.06) !important;
    white-space: nowrap !important;
}

.markdown-body sub {
    color: #AAAAAA !important;
    font-size: 0.78em !important;
}

.markdown-body sup {
    color: #BBBBBB !important;
    font-size: 0.78em !important;
}

/* ================================================================
   6. 行内代码 + 代码块 — 深渊墨色 + 语法高亮
   ================================================================ */

/* 行内代码 */
.markdown-body code {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #E0E0E0 !important;
    border-radius: 3px !important;
    padding: 2px 6px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    font-size: 0.92em !important;
    font-weight: 500 !important;
    font-family: 'Fira Code', 'Consolas', 'Monaco', monospace !important;
}

/* 代码块容器 */
.markdown-body pre {
    background: rgba(10, 10, 10, 0.88) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 4px !important;
    box-shadow:
        0 4px 16px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
    overflow: hidden !important;
    margin: 1.5em 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

/* 代码块头部 */
.markdown-body pre > div > div.flex.justify-between.h-8,
.markdown-body pre > div > div.border-b {
    background: linear-gradient(135deg, #1A1A1A, #222222) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 018px !important;
    height: 42px !important;
}

.markdown-body pre > div > div.flex.justify-between > div:first-child {
    color: #888888 !important;
    font-weight: 600 !important;
    font-family: 'Consolas', 'Monaco', monospace !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    letter-spacing: 2px !important;
}

/* 代码块复制按钮 */
.markdown-body pre div[data-tooltip-id^="copy-tooltip"],
.markdown-body pre .copy-btn-legacy {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #888888 !important;
    border-radius: 4px !important;
    transition: all 0.3s ease !important;
}

.markdown-body pre div[data-tooltip-id^="copy-tooltip"]:hover,
.markdown-body pre .copy-btn-legacy:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
    color: #CCCCCC !important;
}

/* 代码块内容区*/
.markdown-body pre > div > div[node] {
    background: #0D0D0D !important;
    color: #D4D4D4 !important;
    padding: 22px !important;
    font-family: 'Fira Code', 'JetBrains Mono', 'Consolas', monospace !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
    overflow-x: auto !important;
}

/* 代码块滚动条 */
.markdown-body pre > div > div[node]::-webkit-scrollbar {
    height: 8px !important;
    width: 8px !important;
}

.markdown-body pre > div > div[node]::-webkit-scrollbar-track {
    background: #111111 !important;
    border-radius: 4px !important;
}

.markdown-body pre > div > div[node]::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.15) !important;
    border-radius: 4px !important;
}

.markdown-body pre > div > div[node]::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.25) !important;
}

/* ── 语法高亮 Token颜色覆盖 ── */

/* 关键字*/
.markdown-body pre .token.keyword,
.markdown-body pre .token.tag,
.markdown-body pre .token.builtin {
    color: #C8C8C8 !important;
    font-weight: 700 !important;
}

/* 字符串 */
.markdown-body pre .token.string,
.markdown-body pre .token.attr-value {
    color: #A0A0A0 !important;
}

/* 注释 */
.markdown-body pre .token.comment,
.markdown-body pre .token.prolog,
.markdown-body pre .token.doctype,
.markdown-body pre .token.cdata {
    color: #606060 !important;
    font-style: italic !important;
}

/* 函数名 */
.markdown-body pre .token.function {
    color: #E0E0E0 !important;
}

/* 数字 */
.markdown-body pre .token.number,
.markdown-body pre .token.boolean {
    color: #B8B8B8 !important;
}

/* 操作符 */
.markdown-body pre .token.operator,
.markdown-body pre .token.punctuation {
    color: #909090 !important;
}

/* 属性名 */
.markdown-body pre .token.property,
.markdown-body pre .token.attr-name {
    color: #CCCCCC !important;
}

/* 类名/类型 */
.markdown-body pre .token.class-name,
.markdown-body pre .token.maybe-class-name {
    color: #D8D8D8 !important;font-weight: 600 !important;
}

/* 正则表达式 */
.markdown-body pre .token.regex {
    color: #B0B0B0 !important;
}

/* 变量 */
.markdown-body pre .token.variable {
    color: #D0D0D0 !important;
}

/* 选择器 (CSS) */
.markdown-body pre .token.selector {
    color: #C0C0C0 !important;
    font-weight: 600 !important;
}

/* 重要标记 */
.markdown-body pre .token.important {
    color: #FFFFFF !important;
    font-weight: 700 !important;
}

/* ================================================================
   7. 引用块 — 燕尾服折边
   ================================================================ */
.markdown-body blockquote {
    border-left: 3px solid rgba(255, 255, 255, 0.3) !important;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.04) 0%, transparent 100%) !important;
    padding: 14px 18px !important;
    margin: 18px 0 !important;
    border-radius: 0 4px 4px 0 !important;
    color: #C8C8C8 !important;
    font-style: italic !important;
    position: relative !important;
    z-index: 1 !important;
}

.markdown-body blockquote::before {
    content: "\201C" !important;
    position: absolute !important;
    top: -8px !important;
    left: 12px !important;
    font-size: 2.5em !important;
    color: rgba(255, 255, 255, 0.1) !important;
    font-family: Georgia, serif !important;
    line-height: 1 !important;
}

.markdown-body blockquote p {
    margin: 0.4em 0 !important;
}

/*嵌套引用 */
.markdown-body blockquote blockquote {
    border-left-color: rgba(255, 255, 255, 0.18) !important;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.02) 0%, transparent 100%) !important;
    margin-left: 0 !important;
}

/* ================================================================
   8. 列表 — 有序 / 无序 / 嵌套
   ================================================================ */
.markdown-body ul,
.markdown-body ol {
    padding-left: 1.8em !important;
    margin: 0.8em 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

.markdown-body li {
    margin: 0.35em 0 !important;line-height: 1.75 !important;
    color: #E8E8E8 !important;
}

.markdown-body li::marker {
    color: #666666 !important;
}

.markdown-body ul > li::marker {
    content: "◇ " !important;
    font-size: 0.7em !important;
}

/* 嵌套列表标记递变 */
.markdown-body ul ul > li::marker {
    content: "· " !important;
    color: #555555 !important;
}

.markdown-body ul ul ul > li::marker {
    content: "- " !important;
    color: #444444 !important;
}

/* 有序列表 */
.markdown-body ol > li::marker {
    color: #888888 !important;
    font-weight: 600 !important;
    font-family: 'Consolas', monospace !important;
}

/* 任务列表复选框 */
.markdown-body li input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 16px !important;
    height: 16px !important;
    border: 1.5px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 3px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    vertical-align: middle !important;
    margin-right: 8px !important;
    position: relative !important;
    cursor: default !important;
    transition: all 0.2s ease !important;
}

.markdown-body li input[type="checkbox"]:checked {
    background: rgba(255, 255, 255, 0.15) !important;
    border-color: rgba(255, 255, 255, 0.45) !important;
}

.markdown-body li input[type="checkbox"]:checked::after {
    content: "\2713" !important;
    position: absolute !important;
    top: -1px !important;
    left: 2px !important;
    font-size: 12px !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
}

/* ================================================================
   9. 链接
   ================================================================ */
.markdown-body a {
    color: #CCCCCC !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25) !important;
    transition: all 0.3s ease !important;
    font-weight: 500 !important;
}

.markdown-body a:hover {
    color: #FFFFFF !important;
    border-bottom-color: rgba(255, 255, 255, 0.6) !important;
}

.markdown-body a:active {
    color: #AAAAAA !important;
    border-bottom-color: rgba(255, 255, 255, 0.15) !important;
}

/* ================================================================
   10. 分割线 — 银丝一缕
   ================================================================ */
.markdown-body hr {
    height: 1px !important;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.08) 15%,
        rgba(255, 255, 255, 0.25) 40%,
        rgba(255, 255, 255, 0.4) 50%,
        rgba(255, 255, 255, 0.25) 60%,
        rgba(255, 255, 255, 0.08) 85%,
        transparent 100%
    ) !important;
    border: none !important;
    margin: 2em 0 !important;
    box-shadow: none !important;
    position: relative !important;
    z-index: 1 !important;
}

/* ================================================================
   11. 图片 — 银框 + hover 微放大
   ================================================================ */
.markdown-body img {
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 1.2em auto !important;
    position: relative !important;
    z-index: 1 !important;
}

.markdown-body img:hover {
    border-color: rgba(255, 255, 255, 0.25) !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.55) !important;
    transform: scale(1.02) !important;
}

/*================================================================
   12. 表格 — 冷冽棋盘
   ================================================================ */
.markdown-body table {
    display: block !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    border-collapse: collapse !important;
    width: 100% !important;
    margin: 1.5em 0 !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3) !important;
    position: relative !important;
    z-index: 1 !important;
}

.markdown-body thead {
    position: sticky !important;
    top: 0 !important;
    z-index: 2 !important;
}

.markdown-body th {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #D0D0D0 !important;
    font-weight: 700 !important;
    padding: 12px 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    text-transform: uppercase !important;
    font-size: 0.82em !important;
    letter-spacing: 1.5px !important;
    white-space: nowrap !important;
}

.markdown-body td {
    background: rgba(0, 0, 0, 0.2) !important;
    padding: 12px 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    transition: background 0.3s ease !important;
    color: #D4D4D4 !important;
}

.markdown-body tr:nth-child(even) td {
    background: rgba(255, 255, 255, 0.02) !important;
}

.markdown-body tr:hover td {
    background: rgba(255, 255, 255, 0.06) !important;
}

.markdown-body table::-webkit-scrollbar {
    height: 6px !important;
}

.markdown-body table::-webkit-scrollbar-track {
    background: #111111 !important;
}

.markdown-body table::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.12) !important;
    border-radius: 3px !important;
}

/* ================================================================
   13. 折叠块 details/summary —暗匣
   ================================================================ */
.markdown-body details {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 4px !important;
    padding: 14px 18px !important;
    margin: 1.2em 0 !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    z-index: 1 !important;
}

.markdown-body details:hover {
    border-color: rgba(255, 255, 255, 0.2) !important;
    background: rgba(255, 255, 255, 0.05) !important;
}

.markdown-body summary {
    cursor: pointer !important;
    color: #CCCCCC !important;
    font-weight: 600 !important;
    list-style: none !important;
    display: flex !important;
    align-items: center !important;
    outline: none !important;
    transition: color 0.3s ease !important;
    user-select: none !important;
}

.markdown-body summary:hover {
    color: #FFFFFF !important;
}

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

.markdown-body summary::before {
    content: "\25C6" !important;
    font-size: 10px !important;
    margin-right: 12px !important;
    color: #555555 !important;
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.markdown-body details[open] summary::before {
    transform: rotate(90deg) !important;
    color: #888888 !important;
}

.markdown-body details[open] summary {
    margin-bottom: 14px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding-bottom: 10px !important;
}

/* ================================================================
   14. 脚注 — 旧书页脚注释
   ================================================================ */
.markdown-body .footnotes {
    margin-top: 2em !important;
    padding-top: 1em !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    font-size: 0.88em !important;
    color: #999999 !important;
    position: relative !important;
    z-index: 1 !important;
}

.markdown-body .footnotes ol {
    padding-left: 1.5em !important;
}

.markdown-body .footnotes li {
    color: #999999 !important;
    margin: 0.3em 0 !important;
}

.markdown-body sup a[href^="#fn"] {
    color: #AAAAAA !important;
    font-size: 0.8em !important;
    border-bottom: none !important;
    font-weight: 700 !important;
}

.markdown-body sup a[href^="#fn"]::before {
    content: "[" !important;
    color: #666666 !important;
}

.markdown-body sup a[href^="#fn"]::after {
    content: "]" !important;
    color: #666666 !important;
}

/* ================================================================
   15. 底部附加元素 — 银灰统一
   ================================================================ */
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary,
button {
    color: #AAAAAA !important;
    border-radius: 4px !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    z-index: 1 !important;
    font-weight: 500 !important;
}

.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary:hover,
button:hover {
    color: #FFFFFF !important;
    background: rgba(255, 255, 255, 0.08) !important;
    transform: translateY(-1px) !important;
}

.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary:active,
button:active {
    color: #CCCCCC !important;
    background: rgba(255, 255, 255, 0.12) !important;
    transform: translateY(0) scale(0.98) !important;transition-duration: 0.1s !important;
}

.MuiTypography-root.MuiTypography-body2.css-6c0gf2 {
    color: #777777 !important;
    font-style: italic !important;
    position: relative !important;
    z-index: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0.5px !important;
    font-family: 'Consolas', 'Monaco', monospace !important;font-size: 0.82em !important;
}

.text-orange-500 {
    color: #888888 !important;
    position: relative !important;
    z-index: 1 !important;
    font-weight: 500 !important;
    font-family: 'Consolas', monospace !important;
    font-size: 0.85em !important;
}

/* ================================================================
   16. 加载动画 — 三枚碎钻明灭(SVG SMIL)
   ================================================================ */
.style-module__AtdJSq__dot-flashing.style-module__AtdJSq__text {
    display: none !important;
}

.flex.items-center.justify-center.w-6.h-5{
    position: relative !important;
    min-height: 48px !important;
    min-width: 48px !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: 48px !important;
    height: 48px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg%3E%3Cpath d='M 20,40 L 24,32 L 28,40 L 24,48 Z' fill='%23CCCCCC' stroke='%23FFFFFF' stroke-width='0.5'%3E%3Canimate attributeName='opacity' values='0.3;1;0.3' dur='1.4s' repeatCount='indefinite' begin='0s'/%3E%3C/path%3E%3CanimateTransform attributeName='transform' type='translate' values='0,0;0,-6;0,0' dur='1.4s' repeatCount='indefinite' begin='0s'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M 38,40 L 42,30 L 46,40 L 42,50 Z' fill='%23FFFFFF' stroke='%23DDDDDD' stroke-width='0.5'%3E%3Canimate attributeName='opacity' values='0.3;1;0.3' dur='1.4s' repeatCount='indefinite' begin='0.2s'/%3E%3C/path%3E%3CanimateTransform attributeName='transform' type='translate' values='0,0;0,-8;0,0' dur='1.4s' repeatCount='indefinite' begin='0.2s'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M 56,40 L 60,32 L 64,40 L 60,48 Z' fill='%23AAAAAA' stroke='%23CCCCCC' stroke-width='0.5'%3E%3Canimate attributeName='opacity' values='0.3;1;0.3' dur='1.4s' repeatCount='indefinite' begin='0.4s'/%3E%3C/path%3E%3CanimateTransform attributeName='transform' type='translate' values='0,0;0,-6;0,0' dur='1.4s' repeatCount='indefinite' begin='0.4s'/%3E%3C/g%3E%3Cellipse cx='24' cy='56' rx='5' ry='1.5' fill='%23FFFFFF' opacity='0.06'%3E%3Canimate attributeName='opacity' values='0.08;0.02;0.08' dur='1.4s' repeatCount='indefinite' begin='0s'/%3E%3C/ellipse%3E%3Cellipse cx='42' cy='56' rx='5' ry='1.5' fill='%23FFFFFF' opacity='0.06'%3E%3Canimate attributeName='opacity' values='0.08;0.02;0.08' dur='1.4s' repeatCount='indefinite' begin='0.2s'/%3E%3C/ellipse%3E%3Cellipse cx='60' cy='56' rx='5' ry='1.5' fill='%23FFFFFF' opacity='0.06'%3E%3Canimate attributeName='opacity' values='0.08;0.02;0.08' dur='1.4s' repeatCount='indefinite' begin='0.4s'/%3E%3C/ellipse%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    z-index: 2 !important;
}

.flex.items-center.justify-center.w-6.h-5::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 56px !important;
    height: 56px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Ccircle cx='40' cy='40' r='30' fill='none' stroke='%23555555' stroke-width='0.5' opacity='0.2' stroke-dasharray='2 8'%3E%3CanimateTransform attributeName='transform' type='rotate' values='0 40 40;360 40 40' dur='12s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='0.15;0.05;0.15' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='40' cy='40' r='24' fill='none' stroke='%23444444' stroke-width='0.4' opacity='0.12' stroke-dasharray='1 6'%3E%3CanimateTransform attributeName='transform' type='rotate' values='360 40 40;0 40 40' dur='15s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    z-index: 1 !important;
}

/* ================================================================
   17. 全局聊天区滚动条美化
   ================================================================ */
.bg-gray-100\/90.relative.inline-block::-webkit-scrollbar {
    width: 6px !important;
    height: 6px !important;
}

.bg-gray-100\/90.relative.inline-block::-webkit-scrollbar-track {
    background: transparent !important;
}

.bg-gray-100\/90.relative.inline-block::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 3px !important;
}

.bg-gray-100\/90.relative.inline-block::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.2) !important;
}

/* ================================================================
   18. 移动端适配
   ================================================================ */
@media (max-width: 480px) {
    .bg-gray-100\/90.relative.inline-block {
        margin: 6px !important;
        border-radius: 4px !important;
        padding: 14px !important;
    }

    .markdown-body {
        font-size: 15px !important;
        line-height: 1.75 !important;
        letter-spacing: 0.01em !important;
    }

    .markdown-body h1 {
        font-size: 1.5em !important;
    }

    .markdown-body h2 {
        font-size: 1.3em !important;
    }

    .markdown-body h3 {
        font-size: 1.15em !important;
    }

    .markdown-body pre {
        border-radius: 4px !important;
        margin: 1em 0 !important;
    }

    .markdown-body pre > div > div[node] {
        padding: 14px !important;
        font-size: 12.5px !important;
    }

    .markdown-body blockquote {
        padding: 10px 14px !important;
        margin: 12px 0 !important;}

    .markdown-body table th,
    .markdown-body table td {
        padding: 8px 10px !important;
        font-size: 0.9em !important;
    }

    .markdown-body img:hover {
        transform: none !important;
    }

    .flex.items-center.justify-center.w-6.h-5 {
        min-height: 40px !important;
        min-width: 40px !important;
    }

    .flex.items-center.justify-center.w-6.h-5::before {
        width: 40px !important;
        height: 40px !important;
    }

    .flex.items-center.justify-center.w-6.h-5::after {
        width: 48px !important;
        height: 48px !important;
    }
}

/* ================================================================
   19. 低动效偏好适配
   ================================================================ */
@media (prefers-reduced-motion: reduce) {
    .bg-gray-100\/90.relative.inline-block::before {
        opacity: 0.3 !important;
    }

    .bg-gray-100\/90.relative.inline-block::after {
        opacity: 0.22 !important;
    }

    .bg-gray-100\/90.relative.inline-block:hover {
        transform: none !important;
    }

    .markdown-body img:hover {
        transform: none !important;
    }

    .MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary:hover,
    button:hover {
        transform: none !important;
    }

    .MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary:active,
    button:active {
        transform: none !important;
    }
}