/* ═══ 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平台按钮组保护（自动注入 — 防止按钮消失）═══
   原理：B平台消息操作按钮结构为：
   .flex.items-center.gap-1.ml-auto (hover显隐包装)
     └── .bg-muted.rounded.flex.p-0.5 (按钮组容器)
           └── button.rounded-full.size-7 (单个按钮)
   以下规则使用高specificity + !important确保按钮
   不被任何转换后/透传的CSS规则意外隐藏
   ═══════════════════════════════════════════════ */
/* 按钮组容器保护 */
.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;
}
/* hover显隐包装层保护 — 仅保留B平台原生的opacity过渡 */
.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平台顶部栏适配说明（自动注入）═══
   A: div.sticky > div.flex.justify-between
      ├── 左侧空区
      ├── #ai-model-selector (居中)
      └── 右侧工具(设置按钮等)
   B: <header.flex.justify-between>
      ├── #nav-left (侧边栏开关)
      ├── #nav-middle (可能为空)
      └── #nav-right (通知/主题/语言)
   B平台模型按钮不在header内，选择器:
   button:has(> .flex-1.truncate.text-left)
   ═══════════════════════════════════════ */
header.flex.justify-between { position: relative; overflow: visible; }


/* ═══ A-0: 动画定义 ═══ */
@keyframes zn-fade-in{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
@keyframes zn-breath{0%,100%{opacity:.85;filter:brightness(1)}50%{opacity:1;filter:brightness(1.08)}}
@keyframes zn-flow{0%{background-position:0 0}100%{background-position:200% 0}}
@keyframes zn-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes zn-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes zn-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes zn-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes zn-scan{0%{left:-30%}100%{left:130%}}
@keyframes zn-glow-pulse{0%,100%{box-shadow:0 0 4px rgba(196,69,105,.2)}50%{box-shadow:0 0 12px rgba(196,69,105,.4)}}
@keyframes zn-ring-load{from{stroke-dasharray:0,100}}
@keyframes zn-bar-grow{from{width:0}}
@keyframes zn-petal-fall{0%{transform:translateY(-20px) rotate(0deg);opacity:0}10%{opacity:.7}100%{transform:translateY(100vh) rotate(720deg);opacity:0}}
@keyframes zn-silk-wave{0%{background-position:0 0}100%{background-position:100px 50px}}
@keyframes zn-heart-beat{0%,100%{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.1)}70%{transform:scale(1)}}
@keyframes zn-chain-sway{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}
@keyframes zn-alert-blink{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes zn-typing{from{width:0}to{width:100%}}
@keyframes zn-caret-blink{50%{border-color:transparent}}
@keyframes zn-expand{from{max-height:0;opacity:0}to{max-height:2000px;opacity:1}}
@keyframes zn-dot-load{0%,80%,100%{transform:scale(0)}40%{transform:scale(1)}}

/* ═══ A-1: 顶层容器 ═══ */
.zn-wrap{
  background:linear-gradient(180deg,#FFFAF5 0%,#FFF5F0 30%,#FFF0F5 70%,#FFFAF5 100%) !important;
  padding:10px !important;
  font-family:'Noto Serif SC','Georgia','Songti SC','SimSun',serif !important;
  color:#3D3028 !important;
  font-size:14px !important;
  line-height:1.7 !important;
  position:relative !important;
  overflow:hidden !important;
  border-radius:8px !important;
}
.zn-wrap::before{
  content:"";position:absolute;top:0;left:0;width:100%;height:100%;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cpath d='M30 5C25 15 15 25 5 30C15 35 25 45 30 55C35 45 45 35 55 30C45 25 35 15 30 5Z' fill='none' stroke='%23E8A0BF' stroke-width='.3' opacity='.15'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='1' fill='%23FDCB6E' opacity='.12'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cpath d='M10 40Q20 20 40 10Q60 20 70 40Q60 60 40 70Q20 60 10 40Z' fill='none' stroke='%23F5C6D0' stroke-width='.2' opacity='.1'/%3E%3C/svg%3E");
  background-size:60px 60px,40px 40px,80px 80px;
  animation:zn-silk-wave 30s linear infinite;
  pointer-events:none;z-index:0;
}
.zn-wrap>*{position:relative;z-index:1}

/* ═══ A-2: 通用模块卡片 ═══ */
.zn-mod{
  background:#FFFFFF !important;
  border:1.5px solid #F5C6D0 !important;
  border-radius:8px !important;
  margin-bottom:10px !important;
  box-shadow:3px 3px 0 #F5C6D0,0 2px 8px rgba(196,69,105,.06) !important;
  animation:zn-fade-in .6s ease both !important;
  overflow:hidden !important;
  transition:box-shadow .3s ease !important;
}
.zn-mod:hover{box-shadow:4px 4px 0 #E8A0BF,0 4px 16px rgba(196,69,105,.1) !important}

/* ═══ A-3: Summary 标题栏 ═══ */
.zn-sum{
  padding:10px 14px !important;
  font-weight:800 !important;
  cursor:pointer !important;
  list-style:none !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  background:linear-gradient(90deg,#FFFAF5,#FFF5F0) !important;
  border-bottom:1.5px solid transparent !important;
  font-size:13px !important;
  color:#3D3028 !important;
  transition:all .3s ease !important;
  position:relative !important;
  overflow:hidden !important;
}
.zn-sum::-webkit-details-marker{display:none !important}
.zn-sum::after{
  content:"";position:absolute;top:0;left:-30%;width:30%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(253,203,110,.15),transparent);
  animation:zn-scan 4s ease-in-out infinite;
}
.zn-mod[open]>.zn-sum{border-bottom-color:#F5C6D0 !important;color:#C44569 !important}
.zn-ttl{flex:1 !important;letter-spacing:1px !important;font-size:12px !important}
.zn-fold-arrow{
  width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #C44569;
  transition:transform .3s ease;
}
.zn-mod[open] .zn-fold-arrow{transform:rotate(180deg)}

/* ═══ A-4: SVG图标系统（内联SVG模拟） ═══ */
.zn-ico{display:inline-block;width:18px;height:18px;background-size:contain;background-repeat:no-repeat;flex-shrink:0}
.zn-ico-cot{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z' fill='%23C44569'/%3E%3Cpath d='M8 12l2 2 4-4' stroke='%23C44569' stroke-width='2' fill='none'/%3E%3C/svg%3E")}
.zn-ico-env{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='5' stroke='%23FDCB6E' stroke-width='2'/%3E%3Cpath d='M12 2v3M12 19v3M2 12h3M19 12h3M4.93 4.93l2.12 2.12M16.95 16.95l2.12 2.12M4.93 19.07l2.12-2.12M16.95 7.05l2.12-2.12' stroke='%23FDCB6E' stroke-width='1.5'/%3E%3C/svg%3E")}
.zn-ico-news{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='3' y='4' width='18' height='16' rx='2' stroke='%23E8A0BF' stroke-width='2'/%3E%3Cpath d='M7 8h10M7 12h6' stroke='%23E8A0BF' stroke-width='1.5'/%3E%3C/svg%3E")}
.zn-ico-user{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='8' r='4' stroke='%235DADE2' stroke-width='2'/%3E%3Cpath d='M4 20c0-4 3.58-7 8-7s8 3 8 7' stroke='%235DADE2' stroke-width='2'/%3E%3C/svg%3E")}
.zn-ico-char{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='9' cy='7' r='3' stroke='%23C44569' stroke-width='1.5'/%3E%3Ccircle cx='15' cy='7' r='3' stroke='%23E8A0BF' stroke-width='1.5'/%3E%3Cpath d='M2 19c0-3 2.5-5 7-5s7 2 7 5M10 19c0-3 2.5-5 7-5s5 2 5 5' stroke='%23C44569' stroke-width='1.5'/%3E%3C/svg%3E")}
.zn-ico-npc{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='8' cy='6' r='2.5' stroke='%23A0D9B4' stroke-width='1.5'/%3E%3Ccircle cx='16' cy='6' r='2.5' stroke='%23A0D9B4' stroke-width='1.5'/%3E%3Ccircle cx='12' cy='10' r='2.5' stroke='%23A0D9B4' stroke-width='1.5'/%3E%3Cpath d='M3 18c0-2.5 2-4 5-4M13 14c3 0 5 1.5 5 4M8 18c0-2.5 1.8-4 4-4s4 1.5 4 4' stroke='%23A0D9B4' stroke-width='1.5'/%3E%3C/svg%3E")}
.zn-ico-rep{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 3l2.5 5 5.5.8-4 3.9.9 5.3L12 15.5 7.1 18l.9-5.3-4-3.9 5.5-.8L12 3z' stroke='%23FDCB6E' stroke-width='1.5' fill='%23FDCB6E' fill-opacity='.2'/%3E%3C/svg%3E")}
.zn-ico-opinion{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M3 18V6M7 18V10M11 18V8M15 18V12M19 18V4M23 18V9' stroke='%23E8A0BF' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.zn-ico-contract{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='5' y='3' width='14' height='18' rx='2' stroke='%23C44569' stroke-width='1.5'/%3E%3Cpath d='M9 8h6M9 12h4M12 16l-1 2h2l-1-2z' stroke='%23C44569' stroke-width='1.2'/%3E%3C/svg%3E")}
.zn-ico-heart{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z' fill='%23FF6B8A' opacity='.7'/%3E%3C/svg%3E")}
.zn-ico-shield{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 2L4 6v5c0 5.25 3.4 10.2 8 11.6 4.6-1.4 8-6.35 8-11.6V6L12 2z' stroke='%235DADE2' stroke-width='1.5'/%3E%3Cpath d='M9 12l2 2 4-4' stroke='%235DADE2' stroke-width='2'/%3E%3C/svg%3E")}
.zn-ico-flame{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c-1 4-4 6-4 10a4 4 0 008 0c0-4-3-6-4-10z' fill='%23FF6B35' opacity='.6'/%3E%3Cpath d='M12 8c-.5 2-2 3-2 5a2 2 0 004 0c0-2-1.5-3-2-5z' fill='%23FDCB6E' opacity='.8'/%3E%3C/svg%3E")}
.zn-ico-bolt{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2L4 14h7l-2 8 9-12h-7l2-8z' fill='%23FDCB6E'/%3E%3C/svg%3E")}
.zn-ico-flower{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='3' fill='%23FDCB6E' opacity='.5'/%3E%3Cellipse cx='12' cy='6' rx='3' ry='4' fill='%23F5C6D0' opacity='.5'/%3E%3Cellipse cx='12' cy='18' rx='3' ry='4' fill='%23F5C6D0' opacity='.5'/%3E%3Cellipse cx='6' cy='12' rx='4' ry='3' fill='%23E8A0BF' opacity='.5'/%3E%3Cellipse cx='18' cy='12' rx='4' ry='3' fill='%23E8A0BF' opacity='.5'/%3E%3C/svg%3E")}
.zn-ico-butterfly{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 4v16M8 8c-4-2-6 2-4 5s4 3 4 3M16 8c4-2 6 2 4 5s-4 3-4 3' stroke='%23C44569' stroke-width='1.5'/%3E%3C/svg%3E")}
.zn-ico-balance{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 3v18M5 7l7-4 7 4M5 7l-2 8h4L5 7zM19 7l-2 8h4l-2-8z' stroke='%239B59B6' stroke-width='1.5'/%3E%3C/svg%3E")}
.zn-ico-star{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3 6 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z' fill='%23FDCB6E' opacity='.6'/%3E%3C/svg%3E")}
.zn-ico-route{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='5' cy='5' r='2' stroke='%23C44569' stroke-width='1.5'/%3E%3Ccircle cx='19' cy='5' r='2' stroke='%23E8A0BF' stroke-width='1.5'/%3E%3Ccircle cx='12' cy='19' r='2' stroke='%23FDCB6E' stroke-width='1.5'/%3E%3Cpath d='M7 6l5 11M17 6l-5 11' stroke='%23F5C6D0' stroke-width='1' stroke-dasharray='3 2'/%3E%3C/svg%3E")}
.zn-ico-bag{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='3' y='8' width='18' height='13' rx='2' stroke='%23FDCB6E' stroke-width='1.5'/%3E%3Cpath d='M8 8V6a4 4 0 018 0v2' stroke='%23FDCB6E' stroke-width='1.5'/%3E%3C/svg%3E")}
.zn-ico-alert{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2L2 20h20L12 2z' fill='none' stroke='%23FF6B35' stroke-width='2'/%3E%3Cpath d='M12 9v4M12 16v1' stroke='%23FF6B35' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.zn-ico-mem{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='4' y='3' width='16' height='18' rx='2' stroke='%23A0B4D9' stroke-width='1.5'/%3E%3Cpath d='M8 7h8M8 11h6M8 15h4' stroke='%23A0B4D9' stroke-width='1.2'/%3E%3C/svg%3E")}
.zn-ico-time{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='10' cy='10' r='8' stroke='%23C44569' stroke-width='1.5'/%3E%3Cpath d='M10 5v5l3 3' stroke='%23C44569' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.zn-ico-loc{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M10 2C6.5 2 4 4.5 4 7.5 4 12 10 18 10 18s6-6 6-10.5C16 4.5 13.5 2 10 2z' stroke='%23E8A0BF' stroke-width='1.5'/%3E%3Ccircle cx='10' cy='7.5' r='2' stroke='%23E8A0BF' stroke-width='1.5'/%3E%3C/svg%3E")}
.zn-ico-weather{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6 14a4 4 0 01-.5-7.97A5.5 5.5 0 0116.46 8 3.5 3.5 0 0116 14H6z' stroke='%23FDCB6E' stroke-width='1.5'/%3E%3C/svg%3E")}
.zn-ico-scene{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Crect x='2' y='4' width='16' height='12' rx='2' stroke='%23A0D9B4' stroke-width='1.5'/%3E%3Cpath d='M2 12l4-3 3 2 4-4 5 5' stroke='%23A0D9B4' stroke-width='1'/%3E%3C/svg%3E")}

/* ═══ A-5: 思维链模块 ═══ */
.zn-cot{border-color:#F0E0E8 !important;box-shadow:2px 2px 0 #F0E0E8 !important}
.zn-sum-cot{background:linear-gradient(90deg,#FFF8FC,#FFF5F8) !important}
.zn-cot-body{padding:12px 14px !important;font-size:12px !important;color:#8B7B8B !important;line-height:1.6 !important;background:linear-gradient(180deg,#FDFAFE,#FBF5F9) !important}
.zn-cot-sec{font-weight:700 !important;color:#C44569 !important;margin:8px 0 4px !important;padding-left:8px !important;border-left:3px solid #E8A0BF !important;font-size:12px !important}
.zn-cot-line{margin:2px 0 !important;padding-left:12px !important;font-size:11.5px !important}

/* ═══ A-6: 时空环境模块 ═══ */
.zn-sum-env{background:linear-gradient(90deg,#FFFBF0,#FFF8E8) !important}
.zn-env-body{padding:10px 14px !important;display:grid !important;grid-template-columns:1fr 1fr !important;gap:6px !important}
.zn-env-row{display:flex !important;align-items:center !important;gap:6px !important;padding:4px 8px !important;background:#FFFDF8 !important;border-radius:4px !important;border:1px solid #FFF0D0 !important}
.zn-env-ico{width:16px;height:16px;background-size:contain;background-repeat:no-repeat;flex-shrink:0}
.zn-env-label{font-size:11px !important;color:#999 !important;min-width:28px !important}
.zn-env-val{font-size:12px !important;font-weight:600 !important;color:#3D3028 !important}

/* ═══ A-7: 新闻模块 ═══ */
.zn-sum-news{background:linear-gradient(90deg,#FFF5F8,#FFFAF5) !important}
.zn-news-body{padding:10px 14px !important}
.zn-news-ticker{display:flex !important;align-items:center !important;gap:8px !important;padding:6px 10px !important;margin-bottom:4px !important;border-radius:4px !important;background:#FFFBF8 !important;border-left:3px solid #E8A0BF !important;font-size:12px !important}
.zn-news-dot{width:6px !important;height:6px !important;border-radius:50% !important;background:#C44569 !important;animation:zn-breath 2s ease-in-out infinite !important;flex-shrink:0 !important}
.zn-news-text{color:#5D4E60 !important}

/* ═══ A-8: 正文区（核心）═══ */
.zn-story{box-shadow:4px 4px 0 #E8A0BF,0 3px 12px rgba(196,69,105,.08) !important;border-color:#E8A0BF !important}
.zn-story-head{
  background:linear-gradient(90deg,#C44569,#E8A0BF) !important;
  color:#FFF !important;padding:6px 14px !important;
  font-size:11px !important;display:flex !important;justify-content:space-between !important;align-items:center !important;
  letter-spacing:2px !important;font-weight:700 !important;
}
.zn-story-label{font-size:11px !important}
.zn-story-count{font-size:10px !important;opacity:.8 !important}
.zn-story-body{
  max-height:70vh !important;overflow-y:auto !important;
  padding:20px !important;font-size:15px !important;
  line-height:2 !important;text-align:justify !important;
  color:#3D3028 !important;
  scrollbar-width:thin !important;scrollbar-color:#E8A0BF transparent !important;
}
.zn-story-body::-webkit-scrollbar{width:5px !important}
.zn-story-body::-webkit-scrollbar-track{background:transparent !important}
.zn-story-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#E8A0BF,#F5C6D0) !important;border-radius:10px !important}
.zn-story-body p{text-indent:2em !important;margin:0 0 12px !important}

/* ═══ A-9: 通用字段系统 ═══ */
.zn-field{display:flex !important;align-items:flex-start !important;gap:8px !important;padding:4px 0 !important;border-bottom:1px dashed #F5E6E8 !important;font-size:13px !important}
.zn-field:last-child{border-bottom:none !important}
.zn-label{color:#999 !important;font-size:11px !important;min-width:52px !important;flex-shrink:0 !important;padding-top:1px !important}
.zn-val{color:#3D3028 !important;font-size:13px !important;word-break:break-word !important}
.zn-thought{color:#C44569 !important;font-style:italic !important}
.zn-sub-title{font-size:12px !important;font-weight:700 !important;color:#C44569 !important;margin:10px 0 6px !important;padding:4px 8px !important;background:linear-gradient(90deg,#FFF5F8,transparent) !important;border-left:3px solid #E8A0BF !important;border-radius:0 4px 4px 0 !important}
.zn-field-thought{background:#FFFBFC !important;border-radius:4px !important;padding:6px 8px !important;margin:4px 0 !important}

/* ═══ A-10: 性别区块 ═══ */
.zn-male-block{border-left:3px solid #5DADE2 !important;padding-left:10px !important;margin:8px 0 !important;background:#F8FCFF !important;border-radius:0 6px 6px 0 !important}
.zn-female-block{border-left:3px solid #E74C7C !important;padding-left:10px !important;margin:8px 0 !important;background:#FFF8FA !important;border-radius:0 6px 6px 0 !important}
.zn-male-title{color:#2E86C1 !important;border-left-color:#5DADE2 !important}
.zn-female-title{color:#C0392B !important;border-left-color:#E74C7C !important}

/* ═══ A-11: User状态栏 ═══ */
.zn-sum-user{background:linear-gradient(90deg,#F0F8FF,#F5FCFF) !important}
.zn-user-body{padding:12px 14px !important}

/* ═══ A-12: 交互角色模块 ═══ */
.zn-sum-char{background:linear-gradient(90deg,#FFF5F8,#FFF0F2) !important}
.zn-char-body{padding:8px !important}
.zn-char-card{background:#FFFBFC !important;border:1px solid #F5D6E0 !important;border-radius:6px !important;margin-bottom:8px !important;overflow:hidden !important}
.zn-char-name{padding:8px 12px !important;font-weight:700 !important;cursor:pointer !important;list-style:none !important;display:flex !important;align-items:center !important;gap:8px !important;font-size:13px !important;color:#C44569 !important;background:linear-gradient(90deg,#FFF8FA,#FFFAF5) !important}
.zn-char-name::-webkit-details-marker{display:none !important}
.zn-char-avatar{width:24px !important;height:24px !important;border-radius:50% !important;background:linear-gradient(135deg,#E8A0BF,#F5C6D0) !important;flex-shrink:0 !important}
.zn-char-rel{font-size:10px !important;color:#999 !important;margin-left:auto !important;background:#F5F0F2 !important;padding:2px 6px !important;border-radius:10px !important}
.zn-char-info{padding:10px 12px !important}

/* ═══ A-13: 进度条系统 ═══ */
.zn-bar{flex:1 !important;height:10px !important;background:#F0E8EA !important;border-radius:5px !important;overflow:hidden !important;border:1px solid #E8D8DC !important;position:relative !important}
.zn-bar-fill{height:100% !important;border-radius:5px !important;transition:width 1s ease !important;animation:zn-bar-grow 1.2s ease-out both !important;width:calc(var(--v) * 1%) !important}
.zn-bar-aff{background:linear-gradient(90deg,#FFB3C6,#FF6B8A) !important}
.zn-bar-loy{background:linear-gradient(90deg,#87CEEB,#4A90D9) !important}
.zn-bar-pos{background:linear-gradient(90deg,#FFD700,#FF6B35) !important}
.zn-bar-stamina{background:linear-gradient(90deg,#90EE90,#32CD32) !important}
.zn-bar-cor{background:linear-gradient(90deg,#DDA0DD,#8B008B) !important}
.zn-bar-sens{background:linear-gradient(90deg,#FFB6C1,#FF1493) !important}
.zn-bar-s{background:linear-gradient(90deg,#FF7F7F,#CC0000) !important}
.zn-bar-m{background:linear-gradient(90deg,#B19CD9,#6A0DAD) !important}
.zn-bar-num{font-size:11px !important;color:#888 !important;min-width:50px !important;text-align:right !important;flex-shrink:0 !important}
.zn-bar-wide{height:14px !important}
.zn-var-row{display:flex !important;align-items:center !important;gap:6px !important;padding:4px 0 !important;font-size:12px !important}
.zn-var-label{min-width:60px !important;font-size:12px !important;flex-shrink:0 !important}
.zn-var-phase{font-size:10px !important;color:#C44569 !important;background:#FFF0F3 !important;padding:1px 6px !important;border-radius:8px !important;white-space:nowrap !important}

/* ═══ A-14: NPC群像模块 ═══ */
.zn-sum-npc{background:linear-gradient(90deg,#F0FFF5,#F5FFF8) !important}
.zn-npc-body{padding:8px !important;max-height:400px !important;overflow-y:auto !important}
.zn-npc-body::-webkit-scrollbar{width:4px !important}
.zn-npc-body::-webkit-scrollbar-thumb{background:#A0D9B4 !important;border-radius:4px !important}
.zn-npc-card{padding:10px !important;background:#FDFFFD !important;border:1px solid #D0E8D0 !important;border-radius:6px !important;margin-bottom:6px !important}
.zn-npc-header{display:flex !important;align-items:center !important;gap:8px !important;margin-bottom:6px !important}
.zn-npc-avatar{width:20px !important;height:20px !important;border-radius:50% !important;background:linear-gradient(135deg,#A0D9B4,#7BC98A) !important;flex-shrink:0 !important}
.zn-npc-name{font-weight:700 !important;font-size:13px !important;color:#3D6B3D !important}
.zn-npc-tag{font-size:10px !important;background:#E8F5E8 !important;color:#5A8A5A !important;padding:1px 6px !important;border-radius:8px !important;margin-left:auto !important}
.zn-npc-row{display:flex !important;gap:6px !important;padding:2px 0 !important;font-size:12px !important;border-bottom:1px dashed #E8F0E8 !important}
.zn-npc-row:last-child{border-bottom:none !important}
.zn-npc-divider{height:1px !important;background:linear-gradient(90deg,transparent,#A0D9B4,transparent) !important;margin:4px 0 !important}

/* ═══ A-15: 环形图 ═══ */
.zn-ring-chart{width:80px !important;height:80px !important;position:relative !important;margin:0 auto 10px !important}
.zn-ring-svg{width:100% !important;height:100% !important;transform:rotate(-90deg) !important}
.zn-ring-bg{fill:none !important;stroke:#F0E0E8 !important;stroke-width:3 !important}
.zn-ring-fill{fill:none !important;stroke-width:2.5 !important;stroke-linecap:round !important;animation:zn-ring-load 1.5s ease-out forwards !important}
.zn-ring-rep{stroke:#FDCB6E !important}
.zn-ring-stamina{stroke:#32CD32 !important}
.zn-ring-text{position:absolute !important;top:50% !important;left:50% !important;transform:translate(-50%,-50%) !important;font-size:13px !important;font-weight:800 !important;color:#3D3028 !important}
.zn-rep-body,.zn-stamina-body{padding:14px !important;display:flex !important;align-items:center !important;gap:16px !important}
.zn-rep-info,.zn-stamina-info{flex:1 !important}
.zn-stamina-gauge{flex-shrink:0 !important}

/* ═══ A-16: 舆论温度计 ═══ */
.zn-opinion-body{padding:14px !important}
.zn-thermo{position:relative !important;height:20px !important;background:linear-gradient(90deg,#CCC,#87CEEB,#90EE90,#FDCB6E,#FF6B35) !important;border-radius:10px !important;overflow:hidden !important;border:1px solid #DDD !important;margin-bottom:8px !important}
.zn-thermo-fill{position:absolute !important;top:0 !important;left:0 !important;height:100% !important;width:calc(var(--v) * 1%) !important;background:rgba(255,255,255,.4) !important;border-right:3px solid #C44569 !important;transition:width 1s ease !important}
.zn-thermo-marks{display:flex !important;justify-content:space-between !important;font-size:9px !important;color:#888 !important;margin-top:4px !important}

/* ═══ A-17: 契约管理 ═══ */
.zn-sum-contract{background:linear-gradient(90deg,#FFF8F0,#FFF5F5) !important}
.zn-contract-body{padding:10px !important}
.zn-contract-card{padding:10px !important;border:1px solid #F0D8D8 !important;border-radius:6px !important;margin-bottom:8px !important;position:relative !important;overflow:hidden !important;background:#FFFBFB !important}
.zn-contract-card::before{content:"";position:absolute;top:0;right:0;width:40px;height:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M10 2a2 2 0 012 0l0 0a2 2 0 012 0M6 8h12M8 8v8M12 8v8M16 8v8' stroke='%23C44569' stroke-width='1' opacity='.15'/%3E%3C/svg%3E");background-size:contain;opacity:.3;animation:zn-chain-sway 3s ease-in-out infinite}
.zn-contract-header{font-weight:700 !important;color:#C44569 !important;font-size:13px !important;margin-bottom:6px !important;padding-bottom:4px !important;border-bottom:1px solid #F5D6D6 !important}
.zn-contract-type{font-weight:700 !important}

/* ═══ A-18: 堕落值 ═══ */
.zn-corrupt-body{padding:14px !important}
.zn-corrupt-target,.zn-sm-target,.zn-sensitive-target,.zn-fetish-target{font-weight:700 !important;color:#C44569 !important;font-size:13px !important;margin-bottom:8px !important;text-align:center !important}
.zn-corrupt-bar-wrap{margin-bottom:8px !important}
.zn-corrupt-phases{display:flex !important;justify-content:space-between !important;font-size:9px !important;color:#999 !important;margin-top:4px !important}
.zn-cor-phase{text-align:center !important}

/* ═══ A-19: S/M倾向 ═══ */
.zn-sm-body{padding:14px !important}
.zn-sm-dual{display:flex !important;gap:12px !important;margin-bottom:8px !important}
.zn-sm-side{flex:1 !important}
.zn-sm-label{font-size:11px !important;font-weight:700 !important;margin-bottom:4px !important;display:block !important}
.zn-sm-s .zn-sm-label{color:#CC0000 !important}
.zn-sm-m .zn-sm-label{color:#6A0DAD !important}

/* ═══ A-20: 敏感度 ═══ */
.zn-sensitive-body{padding:14px !important}
.zn-sensitive-grid{display:grid !important;grid-template-columns:1fr !important;gap:4px !important}
.zn-sens-item{display:flex !important;align-items:center !important;gap:6px !important;font-size:12px !important}
.zn-sens-part{min-width:60px !important;font-size:11px !important;color:#666 !important}

/* ═══ A-21: 性癖图鉴 ═══ */
.zn-fetish-body{padding:14px !important}
.zn-fetish-grid{display:grid !important;grid-template-columns:1fr 1fr !important;gap:6px !important}
.zn-fetish-card{padding:8px 10px !important;border-radius:6px !important;text-align:center !important;font-size:12px !important;border:1px solid #EEE !important;transition:all .3s ease !important}
.zn-fetish-unlocked{background:#FFF8FA !important;border-color:#F5C6D0 !important}
.zn-fetish-unlocked:hover{transform:translateY(-2px) !important;box-shadow:0 4px 8px rgba(196,69,105,.1) !important}
.zn-fetish-locked{background:#F5F5F5 !important;color:#BBB !important;border-color:#E0E0E0 !important}
.zn-fetish-name{display:block !important;font-weight:600 !important;margin-bottom:2px !important}
.zn-fetish-stars{font-size:10px !important;color:#FDCB6E !important}

/* ═══ A-22: 剧情路线 ═══ */
.zn-route-body{padding:12px !important}
.zn-route-main,.zn-route-sub,.zn-route-rumor{padding:8px 10px !important;margin-bottom:6px !important;border-radius:6px !important;border:1px solid #F0E0E8 !important;position:relative !important;overflow:hidden !important}
.zn-route-main{background:#FFF8FA !important;border-color:#E8A0BF !important}
.zn-route-sub{background:#FFFAF5 !important;border-color:#FDCB6E !important}
.zn-route-rumor{background:#F8FFF8 !important;border-color:#A0D9B4 !important}
.zn-route-label{font-size:10px !important;font-weight:700 !important;color:#C44569 !important;background:#FFF0F3 !important;padding:1px 6px !important;border-radius:8px !important;margin-right:6px !important}
.zn-route-name{font-weight:700 !important;font-size:13px !important;color:#3D3028 !important}
.zn-route-desc{font-size:12px !important;color:#666 !important;margin:4px 0 0 !important}
.zn-route-reward{font-size:11px !important;color:#FDCB6E !important;font-weight:600 !important}

/* ═══ A-23: 背包 ═══ */
.zn-inv-body{padding:12px !important}
.zn-inv-money{text-align:center !important;font-size:14px !important;font-weight:700 !important;margin-bottom:8px !important;padding:6px !important;background:#FFF9E6 !important;border-radius:6px !important;border:1px solid #FDCB6E !important}
.zn-inv-coin{margin-right:4px !important}
.zn-inv-grid{display:grid !important;grid-template-columns:1fr 1fr !important;gap:6px !important}
.zn-inv-slot{padding:6px 8px !important;background:#FFFDF8 !important;border:1px solid #F0E8D8 !important;border-radius:4px !important;display:flex !important;justify-content:space-between !important;font-size:12px !important}
.zn-inv-empty{color:#CCC !important;border-style:dashed !important}
.zn-inv-item{font-weight:600 !important}
.zn-inv-qty{color:#888 !important;font-size:11px !important}

/* ═══ A-24: 预警面板 ═══ */
.zn-sum-alert{background:linear-gradient(90deg,#FFF5F0,#FFF8F5) !important}
.zn-alert-body{padding:10px !important}
.zn-alert-item{display:flex !important;align-items:center !important;gap:8px !important;padding:6px 10px !important;margin-bottom:4px !important;border-radius:4px !important;font-size:12px !important}
.zn-alert-warn{background:#FFF9E6 !important;border-left:3px solid #FDCB6E !important}
.zn-alert-info{background:#F0F8FF !important;border-left:3px solid #5DADE2 !important}
.zn-alert-danger{background:#FFF0F0 !important;border-left:3px solid #E74C3C !important;animation:zn-alert-blink 2s ease-in-out infinite !important}
.zn-alert-icon{font-size:14px !important;flex-shrink:0 !important}
.zn-alert-text{color:#555 !important}
.zn-alert-ranks,.zn-alert-todo{margin-top:8px !important;padding:8px !important;background:#FAFAFA !important;border-radius:4px !important;border:1px solid #EEE !important}

/* ═══ A-25: 记忆区 ═══ */
.zn-sum-mem{background:linear-gradient(90deg,#F0F5FF,#F5F8FF) !important}
.zn-mem-body{padding:10px !important}
.zn-mem-section{margin-bottom:10px !important}
.zn-mem-title{font-size:12px !important;font-weight:700 !important;color:#4A6FA0 !important;margin-bottom:6px !important;padding:4px 8px !important;background:#F0F5FF !important;border-radius:4px !important;border-left:3px solid #4A6FA0 !important}
.zn-mem-table{font-size:11px !important}
.zn-mem-row{display:grid !important;grid-template-columns:30px 1fr 80px 2fr !important;gap:4px !important;padding:4px 6px !important;border-bottom:1px solid #F0F0F0 !important;align-items:start !important}
.zn-mem-header{font-weight:700 !important;color:#666 !important;background:#F8FAFF !important;border-radius:3px !important}
.zn-mem-cell{font-size:11px !important;word-break:break-word !important}

/* ═══ A-26: 行动选项 ═══ */
.zn-options{background:#FFF !important;border:1.5px solid #E8A0BF !important;border-radius:8px !important;padding:12px !important;box-shadow:3px 3px 0 #E8A0BF !important;margin-bottom:10px !important}
.zn-opt-title{font-size:12px !important;font-weight:800 !important;color:#C44569 !important;margin-bottom:8px !important;letter-spacing:1px !important;padding-bottom:6px !important;border-bottom:1px solid #F5D6E0 !important}
.zn-opt-list{display:flex !important;flex-direction:column !important;gap:6px !important}
.zn-opt{padding:10px 14px !important;background:#FFFBFC !important;border:1px solid #F0D8E0 !important;border-radius:6px !important;font-size:13px !important;line-height:1.6 !important;color:#5D4060 !important;cursor:pointer !important;transition:all .3s ease !important;position:relative !important;overflow:hidden !important}
.zn-opt::before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:#C44569;transform:scaleY(0);transform-origin:bottom;transition:transform .3s ease}
.zn-opt:hover{border-color:#C44569 !important;transform:translateX(4px) !important;box-shadow:-3px 0 0 #C44569 !important;background:#FFF5F8 !important}
.zn-opt:hover::before{transform:scaleY(1) !important;transform-origin:top !important}
.zn-opt::after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(232,160,191,.08),transparent);transition:left .5s ease}
.zn-opt:hover::after{left:100% !important}

/* ═══ A-27: 移动端适配 ═══ */
@media(max-width:768px){
  .zn-wrap{padding:6px !important;font-size:13px !important}
  .zn-story-body{max-height:60vh !important;padding:14px !important;font-size:14px !important;line-height:1.85 !important}
  .zn-env-body{grid-template-columns:1fr !important}
  .zn-mem-row{grid-template-columns:24px 1fr !important}
  .zn-mem-row .zn-mem-cell:nth-child(3){display:none !important}
  .zn-fetish-grid{grid-template-columns:1fr !important}
  .zn-inv-grid{grid-template-columns:1fr !important}
  .zn-sum{padding:8px 10px !important;font-size:12px !important}
  .zn-field{font-size:12px !important}
  .zn-sm-dual{flex-direction:column !important}
  .zn-ring-chart{width:65px !important;height:65px !important}
  .zn-rep-body,.zn-stamina-body{flex-direction:column !important;align-items:center !important}
}

/* ═══════════════════════════════════════════════════════════
   PART B: 聊天框美化
   ═══════════════════════════════════════════════════════════ */

/* B-1: 隐藏顶部颜色装饰条 */
[class*="bg-[#F1CBCB]"],[class*="bg-[#c9e1e9]"]{display:none !important}

/* B-2: 统一聊天框美化 */
.is-user > .border.border-muted,
.is-assistant > .border.border-muted{
  background:linear-gradient(135deg,#FFFAF5 0%,#FFF8F0 50%,#FFF5F0 100%) !important;
  border:1.5px solid #F5C6D0 !important;
  border-radius:10px !important;
  box-shadow:4px 4px 0 #E8A0BF,0 3px 15px rgba(196,69,105,.06) !important;
  margin-bottom:16px !important;
  overflow:visible !important;
  transition:all .3s ease !important;
  position:relative !important;
}
.is-user > .border.border-muted::before,
.is-assistant > .border.border-muted::before{
  content:"";position:absolute;top:-1px;left:20px;right:20px;height:2px;
  background:linear-gradient(90deg,transparent,#E8A0BF,#FDCB6E,#E8A0BF,transparent) !important;
  border-radius:2px;
}
.is-user > .border.border-muted:hover,
.is-assistant > .border.border-muted:hover{
  box-shadow:5px 5px 0 #C44569,0 6px 20px rgba(196,69,105,.1) !important;
  transform:translateY(-1px) !important;
}

/* B-3: 输入聊天框单独 */
.is-user > .border.border-muted{
  border-color:#FDCB6E !important;
  box-shadow:4px 4px 0 #FDCB6E,0 3px 15px rgba(253,203,110,.08) !important;
}

/* B-4: 文本内容 */
.rili-markdown-renderer{
  color:#3D3028 !important;
  font-family:'Noto Serif SC','Georgia','SimSun',serif !important;
  line-height:1.8 !important;
}

/* B-5: 底部按钮 */
.bg-muted.rounded.flex.p-0\.5 > button.rounded-full.size-7{
  color:#C44569 !important;
  border-radius:6px !important;
  transition:all .3s ease !important;
}
.bg-muted.rounded.flex.p-0\.5 > button.rounded-full.size-7:hover{
  background:rgba(196,69,105,.08) !important;
  transform:scale(1.05) !important;
}

/* B-6: 模型名称 */
.flex.items-center.gap-2.text-xs.font-mono.text-muted-foreground{
  color:#E8A0BF !important;
  font-size:11px !important;
  font-weight:600 !important;
}

/* B-7: Token消耗 */
/* [Token消耗hover逻辑转换未启用]
.text-orange-500{color:#FDCB6E !important;font-size:11px !important}
*/

/* B-8: 加载动画替换 */
.flex.items-center.justify-center.size-6 > .flex.gap-2{display:none !important}
.flex.items-center.justify-center.size-6::after{
  content:"";display:inline-block;width:20px;height:20px;
  border:2px solid #F5C6D0;border-top-color:#C44569;border-radius:50%;
  animation:zn-spin .8s linear infinite;
}

/* ═══════════════════════════════════════════════════════════
   PART C: 界面美化（顶栏/底栏/评论区）
   ═══════════════════════════════════════════════════════════ */

/* C-1: 顶部栏 */
header.flex.justify-between{
  background:linear-gradient(90deg,#FFFAF5,#FFF5F0,#FFF0F5) !important;
  backdrop-filter:blur(12px) !important;
  border-bottom:2px solid #F5C6D0 !important;
  box-shadow:0 3px 12px rgba(196,69,105,.06) !important;
  position:relative !important;
}
header.flex.justify-between::after{
  content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;
  background:linear-gradient(90deg,#C44569,#E8A0BF,#FDCB6E,#E8A0BF,#C44569);
  background-size:200% 100%;animation:zn-shimmer 4s ease infinite;
}

/* C-2: 模型选择器 */
#nav-middle .group.flex.items-center{
  background:rgba(196,69,105,.06) !important;border-radius:8px !important;
  padding:4px 8px !important;transition:all .3s ease !important;
}
#nav-middle .group.flex.items-center:hover{background:rgba(196,69,105,.12) !important}
#nav-middle button:has(> .flex-1.truncate.text-left) .flex-1.truncate.text-left{color:#C44569 !important;font-weight:700 !important}

/* C-3: 设置按钮 */
#nav-right button{
  color:#C44569 !important;transition:all .3s ease !important;
}
#nav-right button:hover{transform:rotate(30deg) !important;color:#E8A0BF !important}

/* C-4: 按钮栏 */
#ai-mod-button2{background:transparent !important}
#ai-mod-button2 button.MuiButton-root{
  color:#C44569 !important;border:1px solid #F5C6D0 !important;
  border-radius:16px !important;margin:2px !important;font-size:12px !important;
  background:#FFFAF5 !important;transition:all .3s ease !important;
}
#ai-mod-button2 button.MuiButton-root:hover{
  background:#FFF0F5 !important;border-color:#C44569 !important;
  transform:translateY(-1px) !important;box-shadow:0 2px 6px rgba(196,69,105,.15) !important;
}
#ai-mod-button2 button.MuiButton-root svg{color:#E8A0BF !important}

/* C-5: 底部栏 */
.bg-gradient-to-t{background:linear-gradient(to top,#FFFAF5,rgba(255,250,245,.8),transparent) !important}
#ai-chat-bottom-input{
  background:#FFFFFF !important;
  border:2px solid #F5C6D0 !important;
  border-radius:12px !important;
  box-shadow:3px 3px 0 #E8A0BF,0 2px 8px rgba(196,69,105,.06) !important;
  transition:all .3s cubic-bezier(.175,.885,.32,1.275) !important;
}
#ai-chat-bottom-input:focus-within{
  border-color:#C44569 !important;
  box-shadow:4px 4px 0 #C44569,0 4px 16px rgba(196,69,105,.1) !important;
  transform:translateY(-2px) !important;
}
#ai-chat-input{
  color:#3D3028 !important;
  font-family:'Noto Serif SC','Georgia',serif !important;
  font-size:14px !important;
}
#ai-chat-input::placeholder{color:#D0B0B8 !important;font-style:italic !important}
#ai-chat-input::selection{background:#F5C6D0 !important;color:#3D3028 !important}

/* C-6: 分页栏 */
.MuiPaginationItem-root{color:#C44569 !important;border-color:#F5C6D0 !important;transition:all .3s ease !important}
.MuiPaginationItem-root:hover{background:#FFF0F5 !important}
.MuiPaginationItem-root.Mui-selected{background:linear-gradient(135deg,#C44569,#E8A0BF) !important;color:#FFF !important;border-color:transparent !important}
.MuiPaginationItem-root.Mui-disabled{color:#DDD !important}
.MuiPaginationItem-icon{color:#C44569 !important}
.flex.w-full.items-center.justify-between.gap-2.px-2.css-1uwir8f .MuiBox-root{color:#999 !important;font-size:12px !important}
.MuiInputBase-input{border:1px solid #F5C6D0 !important;border-radius:4px !important;color:#C44569 !important}

/* C-7: 评论区 */
div[class*="w-full"][class*="bg-white"][class*="bottom-0"]{
  background:linear-gradient(180deg,#FFFAF5,#FFF5F0) !important;
}
div.text-lg.font-bold{color:#C44569 !important}
p.MuiTypography-body1.text-grey-600{color:#999 !important}
span.MuiRating-iconEmpty svg{color:#F0D8DC !important}
span.MuiRating-iconFilled svg{color:#FDCB6E !important}
/* [Token消耗hover逻辑转换未启用]
span.text-orange-500{color:#FDCB6E !important}
*/
div.flex.flex-col.border-gray-200{border-color:#F5C6D0 !important}
textarea.rc-textarea{
  background:#FFFDF8 !important;border:1px solid #F5C6D0 !important;
  border-radius:8px !important;color:#3D3028 !important;font-size:13px !important;
}
textarea.rc-textarea:focus{border-color:#C44569 !important;box-shadow:0 0 0 2px rgba(196,69,105,.1) !important}
div.bg-gray-100.text-gray-500{background:#FFF5F8 !important;color:#C44569 !important}
div.cursor-pointer.group.flex.items-center.justify-center{
  color:#C44569 !important;transition:all .3s ease !important;
}
div.cursor-pointer.group.flex.items-center.justify-center:hover{transform:scale(1.1) !important}
div.style_divider__mW0YX{background:#F5C6D0 !important}
button.MuiButton-containedPrimary{
  background:linear-gradient(135deg,#C44569,#E8A0BF) !important;
  color:#FFF !important;border:none !important;border-radius:16px !important;
}
button.MuiButton-outlinedPrimary{
  color:#C44569 !important;border-color:#F5C6D0 !important;border-radius:16px !important;
}
button.MuiButton-outlinedPrimary:hover{background:#FFF0F5 !important}
div.p-3.overflow-y-auto{scrollbar-width:thin !important;scrollbar-color:#E8A0BF transparent !important}
div.group.ml-0{border-radius:6px !important;transition:background .2s !important}
div.group.ml-0:hover{background:#FFFAF5 !important}
div.group img.rounded-full{border:2px solid #F5C6D0 !important}
div.text-sm.text-grey-600 span.font-bold{color:#C44569 !important}
span.text-\[10px\]{color:#E8A0BF !important;background:#FFF5F8 !important;border-radius:4px !important;padding:0 3px !important}
div.break-all{color:#3D3028 !important;line-height:1.7 !important}
div.text-xs.text-grey-600{color:#BBB !important}
button.text-gray-400{color:#E8A0BF !important;transition:color .2s !important}
button.text-gray-400:hover{color:#C44569 !important}
button.text-gray-400 svg{transition:transform .2s !important}
button.text-gray-400:hover svg{transform:scale(1.2) !important}
span.cursor-pointer{color:#C44569 !important;font-weight:600 !important}
span.cursor-pointer:hover{text-decoration:underline !important}
div.ml-8.border-l{border-color:#F5C6D0 !important}
/* ═══ 让 details/summary 自动美化，无需任何 class ═══ */

/* 卡片：每个 details 变成卡片 */
details{
  background:#FFFFFF;border:1.5px solid #F5C6D0;border-radius:8px;
  margin-bottom:10px;box-shadow:3px 3px 0 #F5C6D0,0 2px 8px rgba(196,69,105,.06);
  overflow:hidden;animation:zn-fade-in .6s ease both;
}
details:hover{box-shadow:4px 4px 0 #E8A0BF,0 4px 16px rgba(196,69,105,.1)}
details[open]{padding-bottom:8px}

/* 标题栏 */
summary{
  padding:10px 14px;font-weight:800;cursor:pointer;list-style:none;
  display:flex;align-items:center;gap:8px;
  background:linear-gradient(90deg,#FFFAF5,#FFF5F0);
  border-bottom:1.5px solid transparent;font-size:13px;color:#3D3028;
  transition:all .3s ease;user-select:none;
}
summary::-webkit-details-marker{display:none}
details[open]>summary{border-bottom-color:#F5C6D0;color:#C44569}

/* 内容间距 */
details>p,details>div,details>ul,details>table,details details>p,details details>div{
  padding:12px 14px;font-size:13px;line-height:1.8;animation:zn-fade-in .4s ease;
}

/* 嵌套卡片收窄 */
details details{box-shadow:2px 2px 0 #F0D8E0;margin:6px 8px}
details details summary{font-size:12px;padding:8px 12px;background:linear-gradient(90deg,#FFF8FA,#FFF5F5)}
details details details summary{font-size:11px;padding:6px 10px}
/* NPC 人物卡左绿条 */
details details details{border-left:3px solid #A0D9B4;border-radius:0 6px 6px 0;margin:4px 0 4px 8px}

/* 表格 */
table{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0}
th{background:linear-gradient(90deg,#FFF0F3,#FFFAF5);color:#C44569;font-weight:700;padding:8px 10px;text-align:center;border-bottom:2px solid #F5C6D0;font-size:11px;letter-spacing:1px}
td{padding:6px 10px;text-align:center;border-bottom:1px dashed #F0E0E8;color:#3D3028}
tr:nth-child(even) td{background:#FFFDF8}
tr:hover td{background:#FFF5F8}

/* 文本点缀 */
strong{color:#C44569}em{color:#E8A0BF}
code{background:#FFF0F3;color:#C44569;padding:1px 6px;border-radius:3px;font-size:12px}
li::marker{color:#E8A0BF}
hr{border:none;height:1px;background:linear-gradient(90deg,transparent,#F5C6D0,transparent);margin:12px 0}

/* 最后一个 details（行动指引）突出色 */
details:last-of-type{border-color:#E8A0BF;box-shadow:4px 4px 0 #E8A0BF,0 3px 12px rgba(196,69,105,.08)}
details:last-of-type>summary{background:linear-gradient(90deg,#C44569,#E8A0BF);color:#FFF;letter-spacing:2px}
details:last-of-type[open]>summary{color:#FFF}