/*  ============================================================
   🌸 校园喜剧风 · 全局美化 v4（真·全局）
   覆盖：背景 / 正文 / 思维链 / 状态栏 / 列表 / 引用 / 标题
   / 强调 / 链接 / 代码 / 表格 / 立绘(仅自适应) / 角色专属色
   ============================================================ */

/* ========== 🌈 整体背景（正文模块） ========== */
.mes,.message,.message-content,.mes_block{
  background:
    radial-gradient(circle at 12% 18%,rgba(255,200,220,.32) 0,transparent 38%),
    radial-gradient(circle at 88% 82%,rgba(180,220,255,.32) 0,transparent 38%),
    radial-gradient(circle at 50% 50%,rgba(255,240,180,.18) 0,transparent 55%),
    linear-gradient(135deg,#fff6fa 0%,#f4faff 50%,#fffef0 100%)!important;
  border-radius:20px;
}

/* ========== 📝 正文模块 ========== */
.mes_text,.message-content,.mes_block{
  font-family:"LXGW WenKai","霞鹜文楷","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:15px;line-height:1.9;color:#3a2a44;letter-spacing:.4px;
  background:linear-gradient(180deg,#fffdfb 0%,#fff7fa 100%)!important;
  border:2px solid #ffd5e3;border-radius:18px;padding:16px 18px!important;
  box-shadow:0 4px 0 #ffe0ec,0 8px 22px rgba(255,143,177,.18);
  position:relative;
}
.mes_text::before,.message-content::before{
  content:"";position:absolute;top:-6px;left:24px;right:24px;height:4px;
  background:linear-gradient(90deg,#ff8fb1,#ffd86b,#9be38d,#7ec8ff,#c89aff,#ff8fb1);
  background-size:200% 100%;border-radius:2px;animation:rb 7s linear infinite;
}
.mes_text::after,.message-content::after{
  content:"❀";position:absolute;top:-14px;right:18px;
  background:#fff;width:24px;height:24px;line-height:22px;text-align:center;
  border:2px solid #ff8fb1;border-radius:50%;color:#ff5a8a;font-size:12px;
  box-shadow:0 2px 6px rgba(255,143,177,.3);
}
@keyframes rb{to{background-position:-200% 0}}

.mes_text p{margin:8px 0;text-indent:2em}
.mes_text h1,.mes_text h2,.mes_text h3,.mes_text h4{
  font-family:"ZCOOL KuaiLe","LXGW WenKai",sans-serif;color:#d6336c;
  padding:6px 12px 6px 32px;margin:14px 0 10px;position:relative;
  background:linear-gradient(90deg,rgba(255,213,227,.6),transparent);
  border-left:5px solid #ff8fb1;border-radius:0 12px 12px 0;
}
.mes_text h1{font-size:20px}.mes_text h2{font-size:18px}.mes_text h3{font-size:16px}.mes_text h4{font-size:15px}
.mes_text h1::before,.mes_text h2::before,.mes_text h3::before,.mes_text h4::before{
  content:"✦";position:absolute;left:10px;color:#ffd86b;
  text-shadow:0 0 4px #ff8fb1;animation:spin 6s linear infinite;display:inline-block;
}
@keyframes spin{to{transform:rotate(360deg)}}

.mes_text em,.mes_text i{color:#a0527a;font-style:italic;font-weight:500}
.mes_text strong,.mes_text b{
  color:#d6336c;font-weight:800;
  background:linear-gradient(180deg,transparent 60%,rgba(255,216,107,.5) 60%);
  padding:0 2px;
}
.mes_text q,.mes_text blockquote{
  display:block;margin:10px 4px;padding:10px 16px;
  background:linear-gradient(90deg,#fff2f6,#fffdf5);
  border-left:5px solid #ff8fb1;border-radius:0 12px 12px 0;
  color:#6b3a5c;font-style:normal;
  box-shadow:0 2px 8px rgba(255,143,177,.1);
}
.mes_text q::before{content:"「";color:#ff8fb1;font-weight:800;margin-right:2px}
.mes_text q::after{content:"」";color:#ff8fb1;font-weight:800;margin-left:2px}

.mes_text a{
  color:#3aa0ff;text-decoration:none;border-bottom:2px dashed #7ec8ff;
  padding:0 2px;transition:all .2s;
}
.mes_text a:hover{background:#e8f4ff;border-bottom-style:solid}

.mes_text code{
  font-family:"JetBrains Mono",monospace;font-size:13px;
  background:#fff2f6;color:#d6336c;padding:1px 6px;border-radius:6px;
  border:1px solid #ffc4d6;
}
.mes_text pre{
  background:#2d2438;color:#f7e8ff;padding:14px 16px;border-radius:12px;
  border:2px solid #5a4b8a;font-family:"JetBrains Mono",monospace;
  font-size:13px;line-height:1.7;overflow-x:auto;
  box-shadow:inset 0 0 0 3px #3d3450,0 4px 12px rgba(90,75,138,.25);
}

.mes_text ul,.mes_text ol{padding-left:24px;margin:8px 0}
.mes_text ul li{list-style:none;position:relative;padding-left:16px;margin:4px 0}
.mes_text ul li::before{
  content:"✿";position:absolute;left:-2px;top:2px;color:#ff8fb1;font-size:12px;
  animation:spin 5s linear infinite;display:inline-block;
}
.mes_text ol li{margin:4px 0;padding-left:6px}
.mes_text ol li::marker{color:#d6336c;font-weight:800}

.mes_text table{
  border-collapse:separate;border-spacing:0;width:100%;margin:10px 0;
  border:2px solid #ff8fb1;border-radius:12px;overflow:hidden;
  box-shadow:0 4px 12px rgba(255,143,177,.15);
}
.mes_text th{
  background:linear-gradient(90deg,#ffd5e3,#fff2c2);color:#5a2a4a;
  font-weight:800;padding:8px 12px;border-bottom:2px dashed #ff8fb1;
}
.mes_text td{padding:7px 12px;border-bottom:1px solid #ffe0ec;background:#fffdfb}
.mes_text tr:last-child td{border-bottom:none}
.mes_text tr:hover td{background:#fff2f6}

.mes_text hr{
  border:none;height:8px;margin:14px 0;
  background:repeating-linear-gradient(90deg,#ff8fb1 0 4px,transparent 4px 8px,#ffd86b 8px 12px,transparent 12px 16px,#7ec8ff 16px 20px,transparent 20px 24px);
  opacity:.7;
}

/* ========== 🧠 思维链 ========== */
thinking,think,reasoning,.thinking,.think,details.think{
  display:block;margin:12px 0;padding:14px 18px 14px 50px;
  background:
    repeating-linear-gradient(135deg,rgba(126,200,255,.06) 0 10px,transparent 10px 20px),
    linear-gradient(135deg,#eef6ff 0%,#f4f0ff 100%);
  border:2px dashed #a8c8ff;border-radius:16px;
  font-family:"JetBrains Mono","LXGW WenKai",monospace;
  font-size:13px;line-height:1.75;color:#4a5a88;
  position:relative;
  box-shadow:inset 0 0 0 4px #fff,0 4px 12px rgba(126,200,255,.15);
}
thinking::before,think::before,reasoning::before,.thinking::before,.think::before{
  content:"🧠";position:absolute;left:12px;top:12px;
  width:28px;height:28px;line-height:28px;text-align:center;font-size:17px;
  background:#fff;border:2px solid #7ec8ff;border-radius:50%;
  animation:pulse 2.4s ease-in-out infinite;
}
thinking::after,think::after,reasoning::after,.thinking::after,.think::after{
  content:"THINKING · 内部推理";position:absolute;top:-11px;left:46px;
  background:linear-gradient(90deg,#7ec8ff,#c89aff);color:#fff;
  padding:3px 12px;border-radius:10px;font-size:10px;font-weight:800;
  letter-spacing:2px;box-shadow:0 2px 6px rgba(126,200,255,.4);
}
@keyframes pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(126,200,255,.5)}50%{transform:scale(1.1);box-shadow:0 0 0 10px rgba(126,200,255,0)}}

/* ========== 📚 状态栏（重新美化） ========== */
details:not(.think){
  margin:12px 0;border:2px solid #ff8fb1;border-radius:18px;
  background:
    radial-gradient(circle at 10% 10%,rgba(255,216,107,.16),transparent 42%),
    radial-gradient(circle at 90% 90%,rgba(155,227,141,.13),transparent 42%),
    radial-gradient(circle at 50% 100%,rgba(200,154,255,.12),transparent 45%),
    linear-gradient(135deg,#fff9fc 0%,#ffffff 50%,#f4fbff 100%);
  box-shadow:0 4px 0 #ffc4d6,0 10px 22px rgba(255,143,177,.2);
  transition:all .3s;overflow:hidden;
}
details:not(.think):hover{transform:translateY(-2px);box-shadow:0 6px 0 #ffc4d6,0 14px 28px rgba(255,143,177,.28)}
details:not(.think)[open]{border-color:#7ec8ff;box-shadow:0 4px 0 #b8e0ff,0 12px 26px rgba(126,200,255,.3)}

details:not(.think) summary{
  cursor:pointer;list-style:none;padding:14px 50px 14px 50px;
  font-family:"ZCOOL KuaiLe","LXGW WenKai","Microsoft YaHei",sans-serif;
  font-weight:800;font-size:16px;color:#5a2a4a;
  background:linear-gradient(90deg,#ffd5e3 0%,#fff2c2 35%,#d9f2ff 70%,#e8d9ff 100%);
  background-size:200% 100%;
  border-bottom:2px dashed #ff8fb1;position:relative;
  text-shadow:1px 1px 0 #fff,2px 2px 0 rgba(255,143,177,.25);
  transition:all .3s;animation:flow 12s linear infinite;
}
@keyframes flow{to{background-position:-200% 0}}
details:not(.think) summary::-webkit-details-marker{display:none}
details:not(.think) summary::before{
  content:"▶";position:absolute;left:16px;top:50%;transform:translateY(-50%);
  width:24px;height:24px;line-height:24px;text-align:center;font-size:11px;
  background:#fff;border:2px solid #ff8fb1;border-radius:50%;color:#ff5a8a;
  transition:transform .35s cubic-bezier(.5,1.7,.4,1);
  box-shadow:0 2px 5px rgba(255,143,177,.35);
}
details:not(.think) summary::after{
  content:"";position:absolute;right:16px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;border-radius:50%;
  background:conic-gradient(#ffd86b,#ff8fb1,#c89aff,#7ec8ff,#9be38d,#ffd86b);
  opacity:.75;animation:spin2 10s linear infinite;
}
@keyframes spin2{to{transform:translateY(-50%) rotate(360deg)}}
details:not(.think)[open] summary::before{transform:translateY(-50%) rotate(90deg);background:#7ec8ff;border-color:#3aa0ff;color:#fff}
details:not(.think) summary:hover{filter:brightness(1.06) saturate(1.15)}

details:not(.think) > *:not(summary){padding:0 18px}
details:not(.think)[open] > *:not(summary){padding:14px 18px 18px}

details p{
  margin:6px 0;font-size:14px;line-height:1.85;color:#3d2c44;
  font-family:"LXGW WenKai","Microsoft YaHei",sans-serif;
}
details strong{color:#d6336c;font-weight:800}
details hr{
  border:none;height:6px;margin:12px 0;
  background:repeating-linear-gradient(90deg,#ffc4d6 0 6px,transparent 6px 12px);
  opacity:.85;
}
details ul{padding-left:24px;margin:6px 0}
details li{
  font-size:13.5px;line-height:1.85;list-style:none;
  position:relative;padding-left:18px;margin:3px 0;
}
details li::before{
  content:"❀";position:absolute;left:-2px;top:3px;color:#ff8fb1;font-size:12px;
  animation:spin 5s linear infinite;display:inline-block;
}

/* ========== 🖼 立绘（仅自适应，零装饰） ========== */
c-c{display:block;margin:10px auto;max-width:360px}
.c-top-box{
  position:relative;width:100%;aspect-ratio:2/3;
  border-radius:12px;overflow:hidden;background:#fff;
}
.c-img{
  display:block;width:100%;height:100%;
  background-size:contain;background-repeat:no-repeat;
  background-position:center center;background-color:#fff;
}
.c-img[data-name="贝塔+女性"]{background-image:url("https://catai.wiki/7a18921a-9f23-4a9a-aa62-6778c7ed0900/w=3000")}
.c-img[data-name="慕容小依+男性"]{background-image:url("https://catai.wiki/95bb50ec-bc3b-4b93-dd48-d25519822100/w=3000")}
.c-img[data-name="慕容小依+女性"]{background-image:url("https://catai.wiki/43a0279b-003d-4c68-726c-6fe7cd47c000/w=3000")}
.c-img[data-name="露露卡+女性"]{background-image:url("https://catai.wiki/9c875387-3474-4f0c-b572-eda55be7f600/w=3000")}
.c-img[data-name="楠枫+女性"]{background-image:url("https://catai.wiki/3cb689f4-c6d7-46e0-d55a-96b358287b00/w=3000")}
.c-img[data-name="苏糖糖+女性"]{background-image:url("https://catai.wiki/2f5cec3f-02a8-46aa-1222-13fb7b05ce00/w=3000")}
.c-img[data-name="夜魂歌+女性"]{background-image:url("https://catai.wiki/951a3bf6-5246-4610-55e3-5c228b6e2200/w=3000")}
.c-img[data-name="施奈雪+女性"]{background-image:url("https://catai.wiki/4b278ce8-0c3e-47dc-5af0-c0850a931700/w=3000")}
.c-img[data-name="白向沅+女性"]{background-image:url("https://catai.wiki/0615cc4c-aace-46e5-db2a-554623dffd00/w=3000")}
.c-img[data-name="彭于晏+女性"]{background-image:url("https://catai.wiki/b443c29e-d786-4fb7-fa7e-33f9bccdf600/w=3000")}
.c-img[data-name="彭于晏+男性"]{background-image:url("https://catai.wiki/7ce823e2-0d18-4aed-e7f8-0508e96ad400/w=3000")}
.c-img[data-name="落久天+女性"]{background-image:url("https://catai.wiki/3296805c-69d1-4bb9-1628-f54ed7124500/w=3000")}
.c-img[data-name="落久天+男性"]{background-image:url("https://catai.wiki/8634c2b1-10c4-4c04-98b3-f875fa6e2700/w=3000")}
.c-img[data-name="秋沐+女性"]{background-image:url("https://catai.wiki/edb88797-607d-4c37-e228-18944ca1e300/w=3000")}

/* ============================================================
   🎨 角色专属说话颜色（直接由名字触发）
   实现原理：用角色名本身作为自定义HTML标签
   AI 输出对话/状态栏中角色名字时，把名字外面套上同名标签即可：
     <贝塔>贝塔</贝塔>「早安！」
     <慕容小依>慕容小依</慕容小依>「……」
   名字 + 颜色 + 投影 全部自动应用，无需任何属性
   ============================================================ */
贝塔,慕容小依,露露卡,楠枫,苏糖糖,夜魂歌,施奈雪,白向沅,彭于晏,落久天,秋沐,玩家{
  font-family:"ZCOOL KuaiLe","LXGW WenKai",sans-serif;
  font-weight:800;padding:0 3px;border-radius:4px;
  transition:all .2s;
}
贝塔:hover,慕容小依:hover,露露卡:hover,楠枫:hover,苏糖糖:hover,
夜魂歌:hover,施奈雪:hover,白向沅:hover,彭于晏:hover,落久天:hover,秋沐:hover{
  background:rgba(255,255,255,.7);box-shadow:0 1px 4px rgba(0,0,0,.1);
}

贝塔     {color:#e84c88;text-shadow:0 0 2px rgba(232,76,136,.25)}  /* 樱桃粉 */
慕容小依 {color:#7f5cd6;text-shadow:0 0 2px rgba(127,92,214,.25)}  /* 薰衣紫 */
露露卡   {color:#ff9a3c;text-shadow:0 0 2px rgba(255,154,60,.25)}  /* 蜜橙 */
楠枫     {color:#2aa876;text-shadow:0 0 2px rgba(42,168,118,.25)}  /* 竹青 */
苏糖糖   {color:#ff6fa3;text-shadow:0 0 2px rgba(255,111,163,.25)} /* 棉花糖 */
夜魂歌   {color:#5a4b8a;text-shadow:0 0 2px rgba(90,75,138,.3)}    /* 夜幕紫 */
施奈雪   {color:#4aa8d8;text-shadow:0 0 2px rgba(74,168,216,.25)}  /* 雪青蓝 */
白向沅   {color:#8a93b3;text-shadow:0 0 2px rgba(138,147,179,.25)} /* 月白 */
彭于晏   {color:#c4614b;text-shadow:0 0 2px rgba(196,97,75,.25)}   /* 赤铜 */
落久天   {color:#3d7a9e;text-shadow:0 0 2px rgba(61,122,158,.25)}  /* 深海蓝 */
秋沐     {color:#c89a3d;text-shadow:0 0 2px rgba(200,154,61,.25)}  /* 秋金 */
玩家     {color:#333;font-weight:800}

/* ========== 📱 移动端 ========== */
@media(max-width:480px){
  c-c{max-width:280px}
  .mes_text,.mes_text p{font-size:14px;line-height:1.85}
  details p,details li{font-size:13px}
  details summary{font-size:14.5px;padding:11px 44px 11px 44px}
  thinking,think,reasoning,.thinking,.think{font-size:12px;padding:11px 14px 11px 42px}
  .mes_text h1{font-size:18px}.mes_text h2{font-size:16px}.mes_text h3{font-size:15px}
}

/* —— 角色立绘映射（按 NPC姓名+性别 自动切换）—— */
/* 状态栏 NPC 性别判断逻辑由 AI 在生成 data-name 时执行：
   · 默认按当前呈现性别填入（女扮男装未曝光→"角色名+男性"）
   · 一旦触发曝光条件（脱光/直接性交/主动告知/被发现）→ 永久切到真实性别
   · 扶她默认女性图，曝光后仍用女性图（带男性器官部分由文字描述）
   AI 只需在 <div class="c-img" data-name="XXX+性别"> 中填正确值，CSS 自动匹配下方对应图 */

.c-img[data-name="贝塔+女性"]{background-image:url("https://catai.wiki/7a18921a-9f23-4a9a-aa62-6778c7ed0900/w=3000")}
.c-img[data-name="慕容小依+男性"]{background-image:url("https://catai.wiki/95bb50ec-bc3b-4b93-dd48-d25519822100/w=3000")}
.c-img[data-name="慕容小依+女性"]{background-image:url("https://catai.wiki/43a0279b-003d-4c68-726c-6fe7cd47c000/w=3000")}
.c-img[data-name="露露卡+女性"]{background-image:url("https://catai.wiki/9c875387-3474-4f0c-b572-eda55be7f600/w=3000")}
.c-img[data-name="楠枫+女性"]{background-image:url("https://catai.wiki/3cb689f4-c6d7-46e0-d55a-96b358287b00/w=3000")}
.c-img[data-name="苏糖糖+女性"]{background-image:url("https://catai.wiki/2f5cec3f-02a8-46aa-1222-13fb7b05ce00/w=3000")}
.c-img[data-name="夜魂歌+女性"]{background-image:url("https://catai.wiki/951a3bf6-5246-4610-55e3-5c228b6e2200/w=3000")}
.c-img[data-name="施奈雪+女性"]{background-image:url("https://catai.wiki/4b278ce8-0c3e-47dc-5af0-c0850a931700/w=3000")}
.c-img[data-name="白向沅+女性"]{background-image:url("https://catai.wiki/0615cc4c-aace-46e5-db2a-554623dffd00/w=3000")}
.c-img[data-name="彭于晏+女性"]{background-image:url("https://catai.wiki/b443c29e-d786-4fb7-fa7e-33f9bccdf600/w=3000")}
.c-img[data-name="彭于晏+男性"]{background-image:url("https://catai.wiki/7ce823e2-0d18-4aed-e7f8-0508e96ad400/w=3000")}
.c-img[data-name="落久天+女性"]{background-image:url("https://catai.wiki/3296805c-69d1-4bb9-1628-f54ed7124500/w=3000")}
.c-img[data-name="落久天+男性"]{background-image:url("https://catai.wiki/8634c2b1-10c4-4c04-98b3-f875fa6e2700/w=3000")}
.c-img[data-name="秋沐+女性"]{background-image:url("https://catai.wiki/edb88797-607d-4c37-e228-18944ca1e300/w=3000")}

/* 移动端 */
@media (max-width:480px){
  c-c{max-width:280px}
  details p,details li{font-size:13px}
  summary{font-size:14px;padding:9px 12px 9px 34px}
}