/* ========================================
   🌸 少女乐队 · 桜テーマ v1.0 — 全局模块化整合
   GIRL BAND × SAKURA BLOSSOM UI

   核心色彩 (柔粉樱花):
   - 背景: #FFF5F8 (樱雾白 — 柔和底色)
   - 面板: #FFFAFC (花瓣白 — 近白暖粉)
   - 主色调: #D4739A (樱瓣粉 — 核心视觉)
   - 强调色: #A8456E (玫瑰紫 — 醒目点缀)
   - 装饰色: #F0C6D8 (浅樱边 — 柔和边界)
   - 文本: #3D1F33 (深梅紫 — 确保高可读性)
   - 列表文本: #4A2545 (暗葡萄 — 物品/装备专用)
   - 危险: #C62828 (警报赤红)
   - 辅助蓝: #7BA7CC (天空蓝 — 信息提示)
   - 辅助绿: #7BAF7B (嫩叶绿 — 成功/活力)
   ======================================== */

/* =============================================
 * 1. 主题与全局定义 (Theme & Globals)
 * ============================================= */

/* --- 1.1. 核心动画 (Keyframes) --- */
@keyframes float-gentle {
  0%, 100% { transform: translateY(0) scale(1); opacity: 0.95; }
  50% { transform: translateY(-3px) scale(1.01); opacity: 1; }
}
@keyframes petal-drift {
  0% { background-position: 0% 0%; }
  100% { background-position: 0% 100%; }
}
@keyframes sakura-pulse {
  0%, 100% { box-shadow: 0 0 8px rgba(212, 115, 154, 0.25); }
  50% { box-shadow: 0 0 16px rgba(212, 115, 154, 0.55), 0 0 24px rgba(212, 115, 154, 0.3); }
}
@keyframes bloom-glow {
  0%, 100% { text-shadow: 0 0 4px #D4739A, 0 0 8px rgba(212, 115, 154, 0.4); }
  50% { text-shadow: 0 0 8px #D4739A, 0 0 16px rgba(212, 115, 154, 0.7), 0 0 20px rgba(212, 115, 154, 0.3); }
}
@keyframes note-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes petal-fall {
  0%, 100% { opacity: 0.12; }
  50% { opacity: 0.28; }
}
@keyframes scroll-reveal {
  0% { transform: scaleY(0.94); opacity: 0; }
  100% { transform: scaleY(1); opacity: 1; }
}
@keyframes gauge-shimmer {
  0%, 100% { opacity: 0.75; text-shadow: 0 0 6px rgba(212, 115, 154, 0.3); }
  50% { opacity: 1; text-shadow: 0 0 12px rgba(212, 115, 154, 0.6); }
}
@keyframes ribbon-breathe {
  0%, 100% { opacity: 0.7; }
  50% { opacity: 1; }
}
@keyframes cot-text-vanish {
  0% { opacity: 1; }
  70% { opacity: 0; }
  100% { opacity: 0; visibility: hidden; height: 0; margin: 0; padding: 0; overflow: hidden; pointer-events: none; }
}
@keyframes petal-twirl {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes star-flash {
  0%, 50%, 100% { opacity: 1; }
  25%, 75% { opacity: 0.5; }
}
@keyframes petal-rise {
  0% { transform: translateY(0); opacity: 0.8; }
  100% { transform: translateY(-35px); opacity: 0; }
}
@keyframes bloom-shimmer {
  0%, 100% { box-shadow: 0 0 10px rgba(212, 115, 154, 0.2), inset 0 0 8px rgba(212, 115, 154, 0.1); }
  50% { box-shadow: 0 0 20px rgba(212, 115, 154, 0.45), inset 0 0 14px rgba(212, 115, 154, 0.2); }
}
@keyframes panel-light-sweep {
  0% { transform: translateX(-100%) skewX(-25deg); }
  100% { transform: translateX(200%) skewX(-25deg); }
}
@keyframes header-flow-line {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}
@keyframes loading-text-breathe {
  0%, 100% { opacity: 0.6; text-shadow: 0 0 6px rgba(168, 69, 110, 0.4); }
  50% { opacity: 1; text-shadow: 0 0 14px rgba(168, 69, 110, 0.75); }
}
@keyframes k-petal-spin {
  0% { transform: translateY(-50%) rotate(0deg); }
  100% { transform: translateY(-50%) rotate(360deg); }
}
@keyframes k-bar-shimmer {
  0% { left: -100%; }
  100% { left: 100%; }
}
@keyframes k-danger-pulse {
  0%, 100% { border-color: rgba(198, 40, 40, 0.25) !important; box-shadow: inset 0 0 0 rgba(198, 40, 40, 0) !important; }
  50% { border-color: rgba(198, 40, 40, 0.6) !important; box-shadow: inset 0 0 15px rgba(198, 40, 40, 0.15), 0 0 10px rgba(198, 40, 40, 0.2) !important; }
}
@keyframes k-fortune-pulse {
  0%, 100% { border-color: rgba(240, 198, 216, 0.3) !important; box-shadow: inset 0 0 0 rgba(240, 198, 216, 0) !important; }
  50% { border-color: rgba(212, 115, 154, 0.7) !important; box-shadow: inset 0 0 15px rgba(212, 115, 154, 0.2), 0 0 12px rgba(212, 115, 154, 0.25) !important; }
}
@keyframes star-twinkle {
  0%, 100% { opacity: 0.6; transform: translate(-50%, -50%) scale(0.8); }
  50% { opacity: 1; transform: translate(-50%, -50%) scale(1.2); }
}
@keyframes inv-item-glow {
  0%, 100% { box-shadow: 0 0 6px rgba(198, 40, 40, 0.3) !important; }
  50% { box-shadow: 0 0 12px rgba(198, 40, 40, 0.5), 0 0 20px rgba(198, 40, 40, 0.2) !important; }
}
@keyframes user-petal-flicker {
  0%, 100% { opacity: 0.8; transform: scale(1) translateY(0); }
  25% { opacity: 0.9; transform: scale(1.05) translateY(-1px); }
  50% { opacity: 0.75; transform: scale(0.98) translateY(1px); }
  75% { opacity: 0.85; transform: scale(1.02) translateY(-0.5px); }
}
@keyframes user-ribbon-pulse {
  0%, 100% { opacity: 0.65; transform: translateX(0) translateY(0); }
  50% { opacity: 0.75; transform: translateX(3px) translateY(-2px); }
}
@keyframes sakura-fall-bg {
  0%   { transform: translateY(-10%) rotate(0deg); opacity: 0; }
  10%  { opacity: 0.15; }
  90%  { opacity: 0.15; }
  100% { transform: translateY(110%) rotate(720deg); opacity: 0; }
}
@keyframes chuanqi-song-glow {
  0%, 100% { box-shadow: 0 0 6px rgba(212,115,154,0.25); }
  50%       { box-shadow: 0 0 14px rgba(212,115,154,0.55), 0 0 24px rgba(212,115,154,0.20); }
}
/* --- 1.2. 品质颜色变量 --- */
* {
  --color-rumen:     #7A6080;
  --color-zhongduan: #6B8E5A;
  --color-gaoduan:   #5E8DB8;
  --color-zhuanye:   #9B59A8;
  --color-chuanqi:   #D4739A;
}

/* =============================================
 * 2. 系统核心界面 (System Core UI)
 * ============================================= */

/* --- 2.1. CoT 思维助手 --- */
cot {
  display: block; position: relative; width: 100%; aspect-ratio: 3/1;
  overflow: hidden; box-sizing: border-box; contain: size layout paint;
  font-size: 0; line-height: 0; letter-spacing: 0;
}
cot * { display: none !important; }
cot::before {
  content: ""; display: block; width: 100%; height: 100%;
  pointer-events: none; background-repeat: no-repeat;
  background-position: center; background-size: cover;
  animation: float-gentle 7s ease-in-out infinite;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 200'><defs><linearGradient id='paperGrad' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%23FFF5F8'/><stop offset='1' stop-color='%23FFE8F0'/></linearGradient><linearGradient id='bG' x1='0' y1='0' x2='1' y2='1'><stop offset='0%25' stop-color='%23F0C6D8'/><stop offset='50%25' stop-color='%23D4739A'/><stop offset='100%25' stop-color='%23A8456E'/></linearGradient><style>.txt-main{font-family:Georgia,serif;font-weight:bold;font-size:22px;fill:%23A8456E;text-anchor:middle;letter-spacing:6px}.txt-sub{font-family:Courier New,monospace;font-size:10px;fill:%233D1F33;text-anchor:middle;letter-spacing:2px}.txt-gauge{font-family:Courier New,monospace;font-size:7px;fill:%23D4739A;text-anchor:middle}</style></defs><rect width='600' height='200' fill='url(%23paperGrad)'/><rect x='0' y='12' width='600' height='4' rx='2' fill='%23F0C6D8' opacity='0.5'/><rect x='0' y='184' width='600' height='4' rx='2' fill='%23F0C6D8' opacity='0.5'/><circle cx='100' cy='14' r='4' fill='%23D4739A' opacity='0.3'/><circle cx='200' cy='14' r='3' fill='%23F0C6D8' opacity='0.4'/><circle cx='300' cy='14' r='5' fill='%23D4739A' opacity='0.25'/><circle cx='400' cy='14' r='3' fill='%23F0C6D8' opacity='0.4'/><circle cx='500' cy='14' r='4' fill='%23D4739A' opacity='0.3'/><g opacity='0.2' transform='translate(80,100)'><animateTransform attributeName='transform' type='rotate' from='0 80 100' to='360 80 100' dur='30s' repeatCount='indefinite'/><path d='M0,-30 C8,-20 8,-10 0,0 C-8,-10 -8,-20 0,-30' fill='%23D4739A'/><path d='M0,-30 C8,-20 8,-10 0,0 C-8,-10 -8,-20 0,-30' fill='%23D4739A' transform='rotate(72)'/><path d='M0,-30 C8,-20 8,-10 0,0 C-8,-10 -8,-20 0,-30' fill='%23D4739A' transform='rotate(144)'/><path d='M0,-30 C8,-20 8,-10 0,0 C-8,-10 -8,-20 0,-30' fill='%23D4739A' transform='rotate(216)'/><path d='M0,-30 C8,-20 8,-10 0,0 C-8,-10 -8,-20 0,-30' fill='%23D4739A' transform='rotate(288)'/><circle r='6' fill='%23F0C6D8'/></g><g opacity='0.2' transform='translate(520,100)'><animateTransform attributeName='transform' type='rotate' from='360 520 100' to='0 520 100' dur='25s' repeatCount='indefinite'/><path d='M0,-28 C7,-18 7,-9 0,0 C-7,-9 -7,-18 0,-28' fill='%23F0C6D8'/><path d='M0,-28 C7,-18 7,-9 0,0 C-7,-9 -7,-18 0,-28' fill='%23F0C6D8' transform='rotate(72)'/><path d='M0,-28 C7,-18 7,-9 0,0 C-7,-9 -7,-18 0,-28' fill='%23F0C6D8' transform='rotate(144)'/><path d='M0,-28 C7,-18 7,-9 0,0 C-7,-9 -7,-18 0,-28' fill='%23F0C6D8' transform='rotate(216)'/><path d='M0,-28 C7,-18 7,-9 0,0 C-7,-9 -7,-18 0,-28' fill='%23F0C6D8' transform='rotate(288)'/><circle r='5' fill='%23D4739A'/></g><text x='180' y='80' font-size='18' fill='%23D4739A' opacity='0.15'>♪</text><text x='420' y='130' font-size='22' fill='%23A8456E' opacity='0.12'>♫</text><text x='250' y='150' font-size='14' fill='%23F0C6D8' opacity='0.2'>♩</text><text x='370' y='70' font-size='16' fill='%23D4739A' opacity='0.15'>♬</text><text x='300' y='88' class='txt-main'><tspan>🌸 編曲推演中 🌸</tspan><animate attributeName='opacity' values='0.6;1;0.6' dur='3s' repeatCount='indefinite'/></text><text x='300' y='116' class='txt-sub'><tspan>[ COMPOSING IN PROGRESS ]</tspan></text><rect x='218' y='130' width='164' height='7' rx='3.5' fill='none' stroke='%23F0C6D8' stroke-width='0.8' opacity='0.5'/><rect x='220' y='131.5' width='160' height='4' rx='2' fill='%23FFE8F0' opacity='0.5'/><rect x='220' y='131.5' height='4' rx='2' fill='url(%23bG)' opacity='0.6'><animate attributeName='width' values='0;160;0' dur='4s' repeatCount='indefinite'/></rect><text x='205' y='138' class='txt-gauge'>0</text><text x='395' y='138' class='txt-gauge'>MAX</text><circle cx='24' cy='14' r='3' fill='%23D4739A' opacity='0.25'/><circle cx='576' cy='14' r='3' fill='%23D4739A' opacity='0.25'/><circle cx='24' cy='186' r='3' fill='%23F0C6D8' opacity='0.25'/><circle cx='576' cy='186' r='3' fill='%23F0C6D8' opacity='0.25'/></svg>");
}
cot:has(postition[stop]), cot:has(+ postition[stop]), cot:has(~ postition[stop]) {
  animation: cot-text-vanish 800ms ease forwards;
}
cot:has(postition[stop])::before, cot:has(+ postition[stop])::before, cot:has(~ postition[stop])::before {
  animation-play-state: paused !important; opacity: 0;
  transition: opacity 0.6s ease; content: none !important; background: none !important;
}

/* --- 2.2. 载入动画 --- */
.style_dot-flashing__8L91Q { display: none !important; }
div:has(> .style_dot-flashing__8L91Q.style_text__zGhNq) {
  width: 100% !important; height: auto !important; min-height: 140px !important;
  display: flex !important; flex-direction: column !important;
  justify-content: center !important; align-items: center !important;
  background: radial-gradient(circle, rgba(255,250,252,0.95) 0%, rgba(255,245,248,0.9) 100%) !important;
  border: 1px solid rgba(212, 115, 154, 0.2) !important;
  border-radius: 16px !important;
  backdrop-filter: blur(12px) !important;
  box-shadow: 0 6px 20px rgba(61,31,51,0.06), inset 0 0 30px rgba(255,255,255,0.7) !important;
  position: relative !important; overflow: hidden !important;
}
div:has(> .style_dot-flashing__8L91Q.style_text__zGhNq)::before {
  content: '' !important; position: absolute !important;
  top: 50% !important; left: 50% !important;
  transform: translate(-50%, -55%) !important;
  width: 90px !important; height: 90px !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><defs><linearGradient id='sG' x1='0' y1='0' x2='1' y2='1'><stop offset='0%25' stop-color='%23F0C6D8'/><stop offset='50%25' stop-color='%23D4739A'/><stop offset='100%25' stop-color='%23A8456E'/></linearGradient></defs><g opacity='0.6'><animateTransform attributeName='transform' type='rotate' from='0 50 50' to='360 50 50' dur='8s' repeatCount='indefinite'/><path d='M50,15 C58,30 58,40 50,50 C42,40 42,30 50,15' fill='url(%23sG)' opacity='0.7'/><path d='M50,15 C58,30 58,40 50,50 C42,40 42,30 50,15' fill='url(%23sG)' opacity='0.7' transform='rotate(72 50 50)'/><path d='M50,15 C58,30 58,40 50,50 C42,40 42,30 50,15' fill='url(%23sG)' opacity='0.7' transform='rotate(144 50 50)'/><path d='M50,15 C58,30 58,40 50,50 C42,40 42,30 50,15' fill='url(%23sG)' opacity='0.7' transform='rotate(216 50 50)'/><path d='M50,15 C58,30 58,40 50,50 C42,40 42,30 50,15' fill='url(%23sG)' opacity='0.7' transform='rotate(288 50 50)'/></g><circle cx='50' cy='50' r='8' fill='%23D4739A' opacity='0.4'><animate attributeName='r' values='6;10;6' dur='2s' repeatCount='indefinite'/></circle><circle cx='50' cy='50' r='4' fill='%23F0C6D8' opacity='0.9'/></svg>") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  background-position: center !important;
}
div:has(> .style_dot-flashing__8L91Q.style_text__zGhNq)::after {
  content: '🌸 編曲推演中...' !important;
  position: absolute !important; bottom: 18px !important;
  left: 50% !important; transform: translateX(-50%) !important;
  font-family: 'Georgia', 'Noto Serif SC', serif !important;
  font-size: 13px !important; font-weight: 700 !important;
  color: #A8456E !important; letter-spacing: 0.25em !important;
  animation: loading-text-breathe 2.5s ease-in-out infinite !important;
  text-shadow: 0 0 8px rgba(168,69,110,0.4) !important;
}

/* --- 2.3. 顶部导航栏 — 樱花飘落版 --- */
.sticky.w-full.top-0.flex.items-center {
  background: linear-gradient(180deg,
    rgba(255,253,254,0.97) 0%,
    rgba(255,248,251,0.95) 50%,
    rgba(255,240,245,0.93) 100%) !important;
  border-bottom: none !important;
  box-shadow:
    0 1px 0 rgba(212,115,154,0.15),
    0 4px 24px rgba(212,115,154,0.08) !important;
  backdrop-filter: blur(20px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.2) !important;
  z-index: 19 !important; position: relative !important; overflow: hidden !important;
  min-height: 52px !important;
}

/* ── 樱花飘落粒子层 — 8枚花瓣 SVG 随风飘荡 ── */
.sticky.w-full.top-0.flex.items-center::before {
  content: '' !important;
  position: absolute !important; top: 0 !important; left: 0 !important;
  width: 100% !important; height: 100% !important;
  pointer-events: none !important; z-index: 1 !important; opacity: 1 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 56' preserveAspectRatio='xMidYMid slice'%3E%3Cdefs%3E%3CradialGradient id='p1'%3E%3Cstop offset='0%25' stop-color='%23D4739A' stop-opacity='0.85'/%3E%3Cstop offset='70%25' stop-color='%23F0C6D8' stop-opacity='0.5'/%3E%3Cstop offset='100%25' stop-color='%23F0C6D8' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='p2'%3E%3Cstop offset='0%25' stop-color='%23F0C6D8' stop-opacity='0.9'/%3E%3Cstop offset='60%25' stop-color='%23FFD6E8' stop-opacity='0.4'/%3E%3Cstop offset='100%25' stop-color='%23FFD6E8' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='p3'%3E%3Cstop offset='0%25' stop-color='%23E8A0BE' stop-opacity='0.7'/%3E%3Cstop offset='100%25' stop-color='%23E8A0BE' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cg%3E%3Cellipse cx='0' cy='0' rx='5' ry='3.2' fill='url(%23p1)'/%3E%3CanimateMotion dur='7s' repeatCount='indefinite' path='M80,-8 C95,10 115,25 90,50 C85,58 70,62 65,65'/%3E%3Canimate attributeName='opacity' values='0;0.7;0.5;0' dur='7s' repeatCount='indefinite'/%3E%3CanimateTransform attributeName='transform' type='rotate' values='0;80;160;240;360' dur='7s' repeatCount='indefinite'/%3E%3C/g%3E%3Cg%3E%3Cellipse cx='0' cy='0' rx='4.5' ry='2.8' fill='url(%23p2)'/%3E%3CanimateMotion dur='9s' repeatCount='indefinite' path='M220,-12 C240,8 260,22 235,48 C225,55 210,60 200,65' begin='1.5s'/%3E%3Canimate attributeName='opacity' values='0;0.65;0.4;0' dur='9s' repeatCount='indefinite' begin='1.5s'/%3E%3CanimateTransform attributeName='transform' type='rotate' values='20;100;200;300;380' dur='9s' repeatCount='indefinite' begin='1.5s'/%3E%3C/g%3E%3Cg%3E%3Cellipse cx='0' cy='0' rx='5.5' ry='3.5' fill='url(%23p1)'/%3E%3CanimateMotion dur='8s' repeatCount='indefinite' path='M400,-10 C380,12 410,30 385,52 C375,58 360,62 355,65' begin='0.8s'/%3E%3Canimate attributeName='opacity' values='0;0.6;0.45;0' dur='8s' repeatCount='indefinite' begin='0.8s'/%3E%3CanimateTransform attributeName='transform' type='rotate' values='40;130;220;310;400' dur='8s' repeatCount='indefinite' begin='0.8s'/%3E%3C/g%3E%3Cg%3E%3Cellipse cx='0' cy='0' rx='4' ry='2.5' fill='url(%23p3)'/%3E%3CanimateMotion dur='10s' repeatCount='indefinite' path='M560,-6 C575,10 590,28 570,48 C560,55 545,60 540,65' begin='3s'/%3E%3Canimate attributeName='opacity' values='0;0.55;0.35;0' dur='10s' repeatCount='indefinite' begin='3s'/%3E%3CanimateTransform attributeName='transform' type='rotate' values='-30;60;150;240;330' dur='10s' repeatCount='indefinite' begin='3s'/%3E%3C/g%3E%3Cg%3E%3Cellipse cx='0' cy='0' rx='4.8' ry='3' fill='url(%23p2)'/%3E%3CanimateMotion dur='8.5s' repeatCount='indefinite' path='M700,-10 C720,6 710,24 690,46 C680,54 665,58 660,62' begin='2s'/%3E%3Canimate attributeName='opacity' values='0;0.6;0.4;0' dur='8.5s' repeatCount='indefinite' begin='2s'/%3E%3CanimateTransform attributeName='transform' type='rotate' values='60;150;240;330;420' dur='8.5s' repeatCount='indefinite' begin='2s'/%3E%3C/g%3E%3Cg opacity='0.2'%3E%3Cellipse cx='0' cy='0' rx='8' ry='5' fill='%23F0C6D8'/%3E%3CanimateMotion dur='14s' repeatCount='indefinite' path='M150,-15 C180,8 160,30 140,52 C130,60 120,65 110,70' begin='4s'/%3E%3Canimate attributeName='opacity' values='0;0.2;0.15;0' dur='14s' repeatCount='indefinite' begin='4s'/%3E%3CanimateTransform attributeName='transform' type='rotate' values='0;45;90;135;180' dur='14s' repeatCount='indefinite' begin='4s'/%3E%3C/g%3E%3Cg%3E%3Cellipse cx='0' cy='0' rx='3' ry='1.8' fill='url(%23p1)'/%3E%3CanimateMotion dur='5s' repeatCount='indefinite' path='M480,-5 C500,12 510,28 490,50 C485,56 475,60 470,62' begin='5s'/%3E%3Canimate attributeName='opacity' values='0;0.75;0.5;0' dur='5s' repeatCount='indefinite' begin='5s'/%3E%3CanimateTransform attributeName='transform' type='rotate' values='0;120;240;360' dur='5s' repeatCount='indefinite' begin='5s'/%3E%3C/g%3E%3Cg%3E%3Cellipse cx='0' cy='0' rx='4.2' ry='2.6' fill='url(%23p3)'/%3E%3CanimateMotion dur='11s' repeatCount='indefinite' path='M750,-8 C770,6 760,22 740,44 C730,52 720,58 710,62' begin='6.5s'/%3E%3Canimate attributeName='opacity' values='0;0.5;0.3;0' dur='11s' repeatCount='indefinite' begin='6.5s'/%3E%3CanimateTransform attributeName='transform' type='rotate' values='20;110;200;290;380' dur='11s' repeatCount='indefinite' begin='6.5s'/%3E%3C/g%3E%3Ctext x='45' y='38' font-size='11' fill='%23D4739A' opacity='0.12' font-family='Georgia'%3E%E2%99%AA%3C/text%3E%3Ctext x='755' y='20' font-size='9' fill='%23F0C6D8' opacity='0.15' font-family='Georgia'%3E%E2%99%AB%3C/text%3E%3C/svg%3E") !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
}

/* 底部樱色流光线 — 双层 */
.sticky.w-full.top-0.flex.items-center::after {
  content: '' !important; position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important; height: 2px !important;
  background: linear-gradient(90deg,
    transparent 0%, rgba(240,198,216,0.4) 10%,
    rgba(212,115,154,0.65) 25%, rgba(240,198,216,0.8) 40%,
    rgba(168,69,110,0.5) 50%, rgba(240,198,216,0.8) 60%,
    rgba(212,115,154,0.65) 75%, rgba(240,198,216,0.4) 90%,
    transparent 100%) !important;
  background-size: 200% 100% !important;
  animation: header-flow-line 6s linear infinite !important;
  z-index: 10 !important;
  box-shadow: 0 0 6px rgba(212,115,154,0.3), 0 0 12px rgba(240,198,216,0.2) !important;
}

.sticky.w-full.top-0.flex.items-center > * {
  position: relative !important; z-index: 50 !important;
}

/* 模型选择器 */
#ai-model-selector .group {
  background: rgba(255,255,255,0.8) !important;
  border: 1px solid rgba(212,115,154,0.2) !important;
  border-left: 2px solid #D4739A !important;
  border-radius: 12px !important;
  padding: 0 12px !important; height: 2.0rem !important;
  transition: all 0.4s ease !important;
  box-shadow: 0 1px 6px rgba(212,115,154,0.08) !important;
  margin: 0 8px !important;
}
#ai-model-selector .group:hover {
  border-color: #A8456E !important;
  background: rgba(255,255,255,0.98) !important;
  box-shadow: 0 2px 12px rgba(168,69,110,0.18) !important;
}
#ai-model-selector .truncate {
  font-size: 13px !important; font-weight: 700 !important;
  color: #A8456E !important;
  font-family: 'Georgia', 'Noto Serif SC', serif !important;
  letter-spacing: 1.2px !important; transition: color 0.4s ease !important;
}
#ai-model-selector .group:hover .truncate { color: #D4739A !important; }
#ai-model-selector svg { color: #F0C6D8 !important; transition: all 0.4s ease !important; }
#ai-model-selector .group:hover svg { color: #A8456E !important; transform: rotate(180deg) !important; }

/* 标签按钮 */
.sticky.w-full.top-0.flex.items-center .inline-flex.items-center {
  background: rgba(255,255,255,0.7) !important;
  color: #A8456E !important;
  border: 1px solid rgba(212,115,154,0.2) !important;
  font-size: 0.75rem !important; font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  border-radius: 12px !important;
  padding: 4px 10px !important;
  box-shadow: 0 1px 4px rgba(212,115,154,0.08) !important;
  transition: all 0.4s ease !important;
  position: relative !important; overflow: hidden !important;
}
.sticky.w-full.top-0.flex.items-center .inline-flex.items-center::before {
  content: '' !important; position: absolute !important;
  top: 0 !important; left: -100% !important;
  width: 100% !important; height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(240,198,216,0.25), transparent) !important;
  transition: left 0.7s ease !important;
}
.sticky.w-full.top-0.flex.items-center .inline-flex.items-center:hover {
  background: rgba(255,255,255,0.95) !important;
  border-color: #D4739A !important; color: #D4739A !important;
  text-shadow: 0 0 8px rgba(212,115,154,0.3) !important;
  box-shadow: 0 2px 10px rgba(212,115,154,0.2) !important;
}
.sticky.w-full.top-0.flex.items-center .inline-flex.items-center:hover::before { left: 100% !important; }

/* 设置按钮 */
#header-setting-button {
  border-radius: 50% !important;
  background: rgba(255,255,255,0.8) !important;
  border: 1px solid rgba(168,69,110,0.25) !important;
  transition: all 0.4s ease !important;
  box-shadow: none !important;
}
#header-setting-button:hover {
  border-color: #D4739A !important;
  background: rgba(212,115,154,0.1) !important;
  box-shadow: 0 0 15px rgba(212,115,154,0.25) !important;
}
#header-setting-button svg { color: #A8456E !important; transition: all 0.7s ease !important; }
#header-setting-button:hover svg { color: #D4739A !important; transform: rotate(90deg) !important; }

/* --- 2.4. 输入框与底部按钮 --- */
/* ============================================================
 * 输入框容器 & 输入区 — 原样保留，仅重设计发送按钮
 * ============================================================ */

.p-\[5\.5px\].max-h-\[150px\] {
  background: rgba(255,255,255,0.95) !important;
  border: 1px solid rgba(212,115,154,0.2) !important;
  border-radius: 16px !important;
  box-shadow: 0 -4px 15px rgba(61,31,51,0.06);
  padding: 8px !important;
  backdrop-filter: blur(15px) !important;
  -webkit-backdrop-filter: blur(15px) !important;
  width: 100% !important; max-width: 100% !important; margin: 0 !important;
}

#ai-chat-input {
  background: #FFFAFC !important;
  border-radius: 12px !important;
  border: 1px solid rgba(212,115,154,0.25) !important;
  font-family: 'Georgia', 'Noto Serif SC', serif !important;
  font-size: 15px !important; line-height: 1.5 !important;
  color: #3D1F33 !important; caret-color: #D4739A !important;
  padding: 10px 50px 10px 12px !important;
  height: auto !important; max-height: 150px !important;
  resize: none !important; outline: none !important;
  transition: all 0.4s ease;
  field-sizing: content !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  -webkit-appearance: none !important; appearance: none !important;
  -webkit-text-size-adjust: 100% !important;
  white-space: pre-wrap !important; word-break: break-word !important;
  box-shadow: inset 0 2px 8px rgba(212,115,154,0.04);
}
#ai-chat-input::placeholder { color: #F0C6D8 !important; opacity: 0.8; }
#ai-chat-input:focus {
  border-color: #D4739A !important;
  box-shadow: 0 0 10px rgba(212,115,154,0.2), inset 0 2px 8px rgba(212,115,154,0.04) !important;
  background: #FFFFFF !important;
}

.p-\[5\.5px\].max-h-\[150px\] .flex.items-center.px-1 {
  background: rgba(212,115,154,0.08) !important; color: #A8456E !important;
  border-radius: 8px !important; border: 1px solid rgba(212,115,154,0.2) !important;
}
.p-\[5\.5px\].max-h-\[150px\] .mx-1 { background: rgba(212,115,154,0.15) !important; }

/* ============================================================
 * 🎶 音符发送按钮
 * ============================================================ */

/* 动画 */
@keyframes note-btn-idle {
  0%, 100% { transform: translateY(0) rotate(-3deg); }
  40%       { transform: translateY(-3px) rotate(3deg); }
  70%       { transform: translateY(-1px) rotate(-1deg); }
}
@keyframes note-btn-hover {
  0%   { transform: scale(1.08) rotate(-3deg); }
  50%  { transform: scale(1.13) rotate(5deg); }
  100% { transform: scale(1.08) rotate(-3deg); }
}
@keyframes note-btn-press {
  0%   { transform: scale(1.08); }
  35%  { transform: scale(0.88); }
  75%  { transform: scale(1.05); }
  100% { transform: scale(1); }
}
@keyframes note-btn-ripple {
  0%   { transform: translate(-50%,-50%) scale(0); opacity: 0.55; }
  100% { transform: translate(-50%,-50%) scale(3); opacity: 0; }
}
@keyframes note-glow-pulse {
  0%, 100% {
    box-shadow:
      0 3px 14px rgba(212,115,154,0.38),
      0 0 0 3px rgba(212,115,154,0.08),
      inset 0 1px 0 rgba(255,255,255,0.35);
  }
  50% {
    box-shadow:
      0 5px 22px rgba(168,69,110,0.5),
      0 0 0 5px rgba(212,115,154,0.13),
      inset 0 1px 0 rgba(255,255,255,0.4);
  }
}

/* ── 按钮外壳 ── */
#ai-send-button {
  border-radius: 50% !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  position: relative !important;
  overflow: visible !important;

  /* 樱花渐变底盘 */
  background: linear-gradient(145deg,
    #F0C6D8 0%,
    #D4739A 50%,
    #A8456E 100%) !important;

  border: 2px solid rgba(255,255,255,0.55) !important;

  box-shadow:
    0 3px 14px rgba(212,115,154,0.38),
    0 0 0 3px rgba(212,115,154,0.08),
    inset 0 1px 0 rgba(255,255,255,0.35) !important;

  /* 空闲时上下飘动 */
  animation:
    note-btn-idle   3.6s ease-in-out infinite,
    note-glow-pulse 3.6s ease-in-out infinite !important;

  transition: border-color 0.3s ease !important;
  color: transparent !important;
  cursor: pointer !important;
}

/* 隐藏原 SVG */
#ai-send-button svg {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ── ::before — 双音符 SVG ── */
/*
  音符造型说明：
  左：四分音符（实心符头 + 竖杆 + 小旗）
  右：八分音符（实心符头 + 竖杆 + 连接横梁）
  两者共用连接横梁，形成 𝅘𝅥𝅮𝅘𝅥𝅯 双连音外观
*/
#ai-send-button::before {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 20px !important;
  height: 20px !important;
  pointer-events: none !important;
  z-index: 2 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg fill='%23fff' opacity='0.96'%3E%3C!-- 左音符头 --%3E%3Cellipse cx='5.2' cy='15' rx='3' ry='2.1' transform='rotate(-15 5.2 15)'/%3E%3C!-- 左竖杆 --%3E%3Crect x='7.8' y='5.2' width='1.4' height='9.8' rx='0.7'/%3E%3C!-- 右音符头 --%3E%3Cellipse cx='13.2' cy='13.2' rx='3' ry='2.1' transform='rotate(-15 13.2 13.2)'/%3E%3C!-- 右竖杆 --%3E%3Crect x='15.8' y='3.4' width='1.4' height='9.8' rx='0.7'/%3E%3C!-- 连接横梁（上） --%3E%3Crect x='7.8' y='5.2' width='9.4' height='1.55' rx='0.75'/%3E%3C!-- 连接横梁（下，间距） --%3E%3Crect x='7.8' y='7.7' width='9.4' height='1.45' rx='0.72'/%3E%3C/g%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  transition: transform 0.3s ease, filter 0.3s ease !important;
  filter: drop-shadow(0 1px 2px rgba(100,30,55,0.25)) !important;
}

/* ── ::after — 涟漪层 ── */
#ai-send-button::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle,
    rgba(255,255,255,0.55) 0%,
    rgba(212,115,154,0.3) 50%,
    transparent 70%) !important;
  transform: translate(-50%,-50%) scale(0) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: 1 !important;
  transition: none !important;
}

/* ── Hover ── */
#ai-send-button:hover {
  background: linear-gradient(145deg,
    #E899B8 0%,
    #C9608A 45%,
    #963D62 100%) !important;
  border-color: rgba(255,255,255,0.75) !important;
  box-shadow:
    0 6px 22px rgba(168,69,110,0.52),
    0 0 0 5px rgba(212,115,154,0.16),
    inset 0 1px 0 rgba(255,255,255,0.45) !important;
  animation: note-btn-hover 1s ease-in-out infinite !important;
}
#ai-send-button:hover::before {
  transform: translate(-50%,-50%) scale(1.15) !important;
  filter: drop-shadow(0 2px 4px rgba(80,20,40,0.3)) brightness(1.05) !important;
}

/* ── Active (点击) ── */
#ai-send-button:active {
  animation: note-btn-press 0.38s cubic-bezier(0.36,0.07,0.19,0.97) forwards !important;
  background: linear-gradient(145deg,
    #D4739A 0%,
    #A8456E 50%,
    #7B3355 100%) !important;
  box-shadow:
    0 1px 6px rgba(168,69,110,0.5),
    0 0 0 6px rgba(212,115,154,0.2),
    inset 0 2px 5px rgba(80,20,40,0.2) !important;
}
#ai-send-button:active::after {
  animation: note-btn-ripple 0.48s ease-out forwards !important;
}

/* ── 减弱动效 ── */
@media (prefers-reduced-motion: reduce) {
  #ai-send-button          { animation: none !important; }
  #ai-send-button:hover    { animation: none !important; transform: scale(1.08) !important; }
  #ai-send-button:active   { animation: none !important; transform: scale(0.94) !important; }
  #ai-send-button:active::after { animation: none !important; }
}

/* ── 手机端 ── */
@media (max-width: 768px) {
  #ai-send-button {
    width: 36px !important;
    height: 36px !important;
    animation: none !important;
    box-shadow:
      0 2px 10px rgba(212,115,154,0.35),
      inset 0 1px 0 rgba(255,255,255,0.3) !important;
  }
  #ai-send-button::before {
    width: 18px !important;
    height: 18px !important;
  }
  #ai-send-button:hover    { animation: none !important; transform: none !important; }
  #ai-send-button:active::after { animation: none !important; }
}

div[class*="absolute"][class*="bottom-0"] {
  background: linear-gradient(180deg, rgba(255,255,255,0.85) 0%, rgba(255,240,245,0.98) 100%);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(212,115,154,0.2);
  box-shadow: 0 -4px 15px rgba(61,31,51,0.06); color: #3D1F33;
}
div[class*="absolute"][class*="bottom-0"]::before {
  content: ""; position: absolute; left: 0; right: 0; top: -2px; height: 2px;
  background: linear-gradient(90deg, transparent, rgba(212,115,154,0.4), transparent);
  animation: panel-light-sweep 7s ease-in-out infinite; animation-delay: 1.5s; opacity: 0.6;
}
div[class*="absolute"][class*="bottom-0"]::after {
  content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='dotGrid' width='20' height='20' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='10' cy='10' r='0.8' fill='%23D4739A' opacity='0.05'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='60' height='60' fill='url(%23dotGrid)'/%3E%3C/svg%3E");
  animation: petal-drift 100s linear infinite; opacity: 0.5;
  pointer-events: none; z-index: -1;
}
div[class*="absolute"][class*="bottom-0"] button:not([id="ai-send-button"]) {
  background: #FFFAFC; border: 1px solid rgba(212,115,154,0.25);
  border-radius: 12px; color: #3D1F33;
  font-family: 'Georgia', 'Noto Serif SC', serif;
  font-weight: 600; font-size: 14px; text-shadow: none;
  box-shadow: 0 2px 8px rgba(61,31,51,0.06);
  transition: all 0.3s ease; position: relative; overflow: hidden;
}
div[class*="absolute"][class*="bottom-0"] button:not([id="ai-send-button"])::before {
  content: ''; position: absolute; top: -15%; left: -170%; width: 50%; height: 130%;
  background: linear-gradient(90deg, transparent, rgba(240,198,216,0.25), transparent);
  transform: skewX(-30deg); transition: left 0.8s ease-in-out;
}
div[class*="absolute"][class*="bottom-0"] button:not([id="ai-send-button"]):hover {
  transform: translateY(-2px); color: #A8456E;
  background: #FFFFFF; border-color: #D4739A;
  box-shadow: 0 4px 12px rgba(212,115,154,0.15), 0 0 8px rgba(240,198,216,0.25);
}
div[class*="absolute"][class*="bottom-0"] button:not([id="ai-send-button"]):hover::before { left: 170%; }
div[class*="absolute"][class*="bottom-0"] button:not([id="ai-send-button"]):active {
  transform: translateY(0); background: #FFE8F0; border-color: #D4739A;
  box-shadow: inset 0 0 6px rgba(212,115,154,0.15), 0 2px 6px rgba(61,31,51,0.06);
  transition-duration: 0.15s;
}

/* =============================================
 * 3. 通用 UI 模块
 * ============================================= */

/* --- 3.1. 聊天容器与气泡 --- */
.chat {
  display: flex; flex-direction: column; gap: 14px; padding: 16px 12px;
  background: #FFF5F8;
  border: 1px solid rgba(212,115,154,0.15);
  border-left: 3px solid #D4739A; border-right: 3px solid #A8456E;
  border-radius: 16px; margin: 16px 0; position: relative;
  font-family: 'Georgia', 'Noto Serif SC', serif;
  box-shadow: 0 3px 15px rgba(61,31,51,0.04), inset 0 0 20px rgba(255,250,252,0.9);
  overflow: hidden;
}
.chat::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cdefs%3E%3Cpattern id='petalBg' width='80' height='80' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='40' cy='40' r='1.5' fill='%23D4739A' opacity='0.04'/%3E%3Ccircle cx='10' cy='10' r='1' fill='%23F0C6D8' opacity='0.05'/%3E%3Ccircle cx='70' cy='20' r='1' fill='%23F0C6D8' opacity='0.04'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='80' height='80' fill='url(%23petalBg)'/%3E%3C/svg%3E");
  animation: petal-drift 30s linear infinite; opacity: 0.5;
  pointer-events: none; z-index: 0; will-change: background-position;
}
.chat::after { display: none !important; }
.chat > * { position: relative; z-index: 1; }

.bubble {
  max-width: 90%; padding: 10px 14px; position: relative; line-height: 1.6;
  word-wrap: break-word; border-radius: 16px;
  box-shadow: 0 2px 8px rgba(61,31,51,0.06);
  transition: transform 0.4s ease, box-shadow 0.4s ease; overflow: visible;
}
.bubble:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(61,31,51,0.1); }

.bubble.npc {
  background: rgba(255,255,255,0.95);
  border: 1px solid rgba(212,115,154,0.2);
  border-left: 3px solid #D4739A; color: #3D1F33; align-self: flex-start;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.bubble.npc::after {
  content: '🌸'; position: absolute; top: 6px; right: 8px;
  font-size: 10px; animation: ribbon-breathe 3s ease-in-out infinite; z-index: 2;
}
.bubble.npc .name { color: #A8456E; }
.bubble.npc .name::before { color: #D4739A; animation: star-flash 3.5s steps(1, end) infinite; }
.bubble.npc .msg { color: #3D1F33; }

.bubble.user {
  background: rgba(255,255,255,0.95);
  border: 1px solid rgba(168,69,110,0.2);
  border-right: 3px solid #A8456E; color: #3D1F33; align-self: flex-end;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.bubble.user::after {
  content: '♪'; position: absolute; top: 6px; left: 8px;
  font-size: 11px; color: #A8456E;
  animation: ribbon-breathe 3s ease-in-out infinite; z-index: 2;
}
.bubble.user .name { color: #A8456E; }
.bubble.user .name::before { color: #A8456E; animation: star-flash 3.5s steps(1, end) infinite 0.3s; }
.bubble.user .msg { color: #3D1F33; }

.bubble .name {
  font-size: 0.8em; font-weight: 700; letter-spacing: 1px;
  text-transform: uppercase; margin-bottom: 6px; display: block;
  position: relative; padding-left: 16px; z-index: 1;
  font-family: 'Georgia', 'Noto Serif SC', serif;
}
.bubble .name::before {
  content: '♪'; position: absolute; left: 0; font-size: 1.1em; display: inline-block;
}
.bubble .msg { margin: 0; font-size: 0.95em; font-weight: 500; position: relative; z-index: 1; }

/* --- 3.2. 通用内容容器 --- */
.styled-prose-container {
  font-family: 'Georgia', 'Noto Serif SC', serif;
  position: relative; z-index: 1; color: #3D1F33;
}
.styled-prose-container br { line-height: 1.4; }

/* =============================================
 * 气泡装饰补丁 — 樱花主题
 * ============================================= */
.bg-gray-100\/90.relative.inline-block {
  position: relative !important; isolation: isolate !important; overflow: visible !important;
}

/* AI回答气泡 */
.chat-answer-container .bg-gray-100\/90.relative.inline-block {
  background: rgba(255,250,252,0.95) !important;
  color: #3D1F33 !important; border-radius: 16px !important;
  border: 1px solid rgba(212,115,154,0.15) !important;
  box-shadow: 0 8px 25px -10px rgba(61,31,51,0.08) !important;
  backdrop-filter: blur(15px) !important; -webkit-backdrop-filter: blur(15px) !important;
}
.chat-answer-container .bg-gray-100\/90.relative.inline-block::before,
.chat-answer-container .bg-gray-100\/90.relative.inline-block::after {
  content: none !important;
}

/* 用户消息气泡 */
.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90) {
  background: linear-gradient(145deg,
    rgba(255,255,255,0.98) 0%,
    rgba(255,250,252,0.95) 50%,
    rgba(255,255,255,0.98) 100%) !important;
  border: 1px solid rgba(168,69,110,0.15) !important;
  box-shadow:
    0 6px 24px rgba(168,69,110,0.08),
    0 0 40px rgba(240,198,216,0.08),
    inset 0 1px 0 rgba(255,255,255,0.95),
    inset 0 -1px 0 rgba(212,115,154,0.04) !important;
  border-radius: 16px !important; color: #3D1F33 !important;
  backdrop-filter: blur(15px) !important; -webkit-backdrop-filter: blur(15px) !important;
}

/* 用户气泡 — 右上角音符+花瓣装饰 */
.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90)::before {
  content: '' !important; position: absolute !important;
  top: -6px !important; right: -6px !important;
  width: 28px !important; height: 28px !important;
  pointer-events: none !important; z-index: 100 !important;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><defs><linearGradient id='eG' x1='0%25' y1='100%25' x2='100%25' y2='0%25'><stop offset='0%25' stop-color='%23D4739A' stop-opacity='0.8'/><stop offset='100%25' stop-color='%23F0C6D8' stop-opacity='0.5'/></linearGradient></defs><g><animateTransform attributeName='transform' type='rotate' from='0 14 14' to='360 14 14' dur='20s' repeatCount='indefinite'/><path d='M14,4 C16,9 16,12 14,14 C12,12 12,9 14,4' fill='url(%23eG)' opacity='0.7'/><path d='M14,4 C16,9 16,12 14,14 C12,12 12,9 14,4' fill='url(%23eG)' opacity='0.7' transform='rotate(72 14 14)'/><path d='M14,4 C16,9 16,12 14,14 C12,12 12,9 14,4' fill='url(%23eG)' opacity='0.7' transform='rotate(144 14 14)'/><path d='M14,4 C16,9 16,12 14,14 C12,12 12,9 14,4' fill='url(%23eG)' opacity='0.7' transform='rotate(216 14 14)'/><path d='M14,4 C16,9 16,12 14,14 C12,12 12,9 14,4' fill='url(%23eG)' opacity='0.7' transform='rotate(288 14 14)'/></g><circle cx='14' cy='14' r='2.5' fill='%23D4739A' opacity='0.6'><animate attributeName='r' values='2;3;2' dur='2s' repeatCount='indefinite'/></circle></svg>") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  opacity: 0.85 !important; animation: user-petal-flicker 3s ease-in-out infinite !important;
}

/* 用户气泡 — 左下角丝带装饰 */
.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90)::after {
  content: '' !important; position: absolute !important;
  bottom: -8px !important; left: -8px !important;
  width: 70px !important; height: 70px !important;
  pointer-events: none !important; z-index: 100 !important;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 70'><defs><linearGradient id='rG' x1='0%25' y1='0%25' x2='100%25' y2='100%25'><stop offset='0%25' stop-color='%23F0C6D8' stop-opacity='0.4'/><stop offset='100%25' stop-color='%23D4739A' stop-opacity='0.2'/></linearGradient></defs><text x='10' y='55' font-size='18' fill='%23D4739A' opacity='0.3' font-family='Georgia'>♪</text><text x='30' y='40' font-size='12' fill='%23F0C6D8' opacity='0.25' font-family='Georgia'>♫</text><circle cx='50' cy='25' r='3' fill='%23D4739A' opacity='0.15'><animate attributeName='cy' values='25;20;25' dur='3s' repeatCount='indefinite'/><animate attributeName='opacity' values='0.15;0.08;0.15' dur='3s' repeatCount='indefinite'/></circle><circle cx='45' cy='15' r='2' fill='%23F0C6D8' opacity='0.2'><animate attributeName='cy' values='15;10;15' dur='2.5s' repeatCount='indefinite'/></circle></svg>") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  opacity: 0.7 !important; animation: user-ribbon-pulse 12s ease-in-out infinite !important;
}

div.group.relative > div.relative.inline-block.bg-gray-100\/90 > * {
  position: relative !important; z-index: 1 !important;
}

/* --- 3.3. 折叠面板 (Details) --- */
.styled-prose-container details {
  background: #FFFAFC; border-radius: 12px; margin: 12px 0; overflow: visible;
  position: relative; border: 1px solid rgba(212,115,154,0.12);
  box-shadow: 0 4px 12px rgba(61,31,51,0.04);
  transition: all 0.4s ease; font-size: 15px; line-height: 1.6;
  padding: 0 16px 12px 16px;
}
.styled-prose-container details:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(61,31,51,0.07);
  border-color: rgba(212,115,154,0.25);
}
.styled-prose-container details:has(T:hover) { z-index: 100; }
.styled-prose-container details summary {
  background: transparent; padding: 12px 40px 12px 16px; margin: 0 -16px;
  font-weight: 700; font-size: 16px; cursor: pointer; color: #3D1F33;
  letter-spacing: 1.2px; position: relative; list-style: none;
  border-bottom: 1px solid rgba(212,115,154,0.08);
  transition: all 0.4s ease; font-family: 'Georgia', 'Noto Serif SC', serif;
}
.styled-prose-container details summary::-webkit-details-marker { display: none; }
.styled-prose-container details summary::before {
  content: ''; position: absolute; right: 16px; top: 50%; width: 8px; height: 8px;
  border-right: 2px solid #D4739A; border-bottom: 2px solid #D4739A;
  transform: translateY(-70%) rotate(45deg);
  transition: transform 0.4s ease, border-color 0.4s ease;
}
.styled-prose-container details summary:hover::before { border-color: #A8456E; }
.styled-prose-container details[open] > summary {
  background: rgba(240,198,216,0.1);
  border-bottom-color: rgba(212,115,154,0.15);
  color: #A8456E; padding-top: 12px; margin-bottom: 12px;
  animation: scroll-reveal 0.5s ease-out;
}
.styled-prose-container details[open] > summary::before { transform: translateY(-50%) rotate(225deg); }
.styled-prose-container details > *:not(summary) {
  padding: 0; line-height: inherit; font-size: inherit; color: inherit; background: transparent;
}
.styled-prose-container details > summary {
  text-align: center !important; justify-content: center !important;
  font-family: 'Georgia', 'Noto Serif SC', serif !important;
  font-weight: 700 !important; letter-spacing: 3px !important;
}
.styled-prose-container details > summary::before {
  position: absolute !important; left: 16px !important; right: auto !important;
}

/* --- 3.4. Tooltip 标签 (T & Ti) --- */
.styled-prose-container T {
  position: static !important; display: inline-block;
  margin-bottom: 4px; margin-right: 6px; cursor: help;
  color: #4A2545 !important; font-weight: 600; text-decoration: none;
  border-bottom: 1px dashed rgba(212,115,154,0.35);
  padding: 2px 8px; background: rgba(212,115,154,0.05);
  border-radius: 6px; transition: all 0.4s ease;
}
.styled-prose-container T::before { content: ""; }
.styled-prose-container T:hover {
  background: rgba(212,115,154,0.12); color: #A8456E !important;
  border-bottom-style: solid; z-index: 100;
}
.styled-prose-container T Ti {
  display: block !important; visibility: hidden; opacity: 0;
  left: 0 !important; right: 0 !important; margin: 0 auto !important;
  width: max-content !important; max-width: 90% !important;
  top: auto !important; bottom: auto !important;
  transform: translateY(-100%) translateY(-10px) !important;
  white-space: normal; text-align: left;
  background: rgba(255,255,255,0.98); color: #3D1F33;
  border-radius: 12px !important;
  border: 1px solid rgba(212,115,154,0.3);
  border-left: 3px solid #D4739A;
  padding: 12px 16px; font-size: 0.85em; font-weight: 500;
  line-height: 1.6; font-family: 'Georgia', 'Noto Serif SC', serif;
  box-shadow: 0 8px 25px rgba(61,31,51,0.12), inset 0 0 15px rgba(255,245,248,0.5);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none; position: absolute; z-index: 99999;
  background-image: linear-gradient(90deg, rgba(212,115,154,0.3) 0%, transparent 50%);
  background-size: 100% 1px; background-repeat: no-repeat; background-position: top left;
}
.styled-prose-container T Ti::before {
  content: '🌸 档案节点 //'; display: block; font-size: 0.75em;
  color: #A8456E; margin-bottom: 8px; padding-bottom: 6px;
  border-bottom: 1px solid rgba(168,69,110,0.2);
  letter-spacing: 2px; font-weight: 700;
  font-family: 'Georgia', 'Noto Serif SC', serif;
}
.styled-prose-container T:hover Ti {
  visibility: visible; opacity: 1;
  transform: translateY(-100%) translateY(-10px) !important;
}
.styled-prose-container T Ti > span {
  display: inline-block; color: #A8456E; font-weight: 700; margin-right: 8px;
}

/* --- 3.5. 列表与卡片品质着色 --- */
.styled-prose-container [class*=card-body-] {
  margin: 2px 0; padding: 0; border-radius: 6px;
  background-color: transparent; border: none; transition: all 0.4s ease;
}
/* 曲目品质 T 着色 */
.styled-prose-container item_list [class*=card-body-rumen] T,
.styled-prose-container spell_card_list [class*=card-body-rumen] T { color: var(--color-rumen) !important; display: inline-block; }
.styled-prose-container item_list [class*=card-body-zhongduan] T,
.styled-prose-container spell_card_list [class*=card-body-zhongduan] T { color: var(--color-zhongduan) !important; display: inline-block; }
.styled-prose-container item_list [class*=card-body-gaoduan] T,
.styled-prose-container spell_card_list [class*=card-body-gaoduan] T { color: var(--color-gaoduan) !important; display: inline-block; }
.styled-prose-container item_list [class*=card-body-zhuanye] T,
.styled-prose-container spell_card_list [class*=card-body-zhuanye] T { color: var(--color-zhuanye) !important; display: inline-block; }
.styled-prose-container item_list [class*=card-body-chuanqi] T,
.styled-prose-container spell_card_list [class*=card-body-chuanqi] T { color: var(--color-chuanqi) !important; display: inline-block; }

/* 曲目品质 Ti 边框 */
.styled-prose-container [class*=card-body-rumen] T Ti     { border-color: rgba(122,96,128,0.30); }
.styled-prose-container [class*=card-body-zhongduan] T Ti  { border-color: rgba(107,142,90,0.35); }
.styled-prose-container [class*=card-body-gaoduan] T Ti    { border-color: rgba(94,141,184,0.35); }
.styled-prose-container [class*=card-body-zhuanye] T Ti    { border-color: rgba(155,89,168,0.35); }
.styled-prose-container [class*=card-body-chuanqi] T Ti    { border-color: rgba(212,115,154,0.40); box-shadow: 0 0 10px rgba(212,115,154,0.18), 0 8px 30px rgba(61,31,51,0.12); }

/* 曲目品质 Ti span 首色 */
.styled-prose-container [class*=card-body-rumen] T Ti span:first-child     { color: var(--color-rumen) !important; }
.styled-prose-container [class*=card-body-zhongduan] T Ti span:first-child  { color: var(--color-zhongduan) !important; }
.styled-prose-container [class*=card-body-gaoduan] T Ti span:first-child    { color: var(--color-gaoduan) !important; }
.styled-prose-container [class*=card-body-zhuanye] T Ti span:first-child    { color: var(--color-zhuanye) !important; }
.styled-prose-container [class*=card-body-chuanqi] T Ti span:first-child    { color: var(--color-chuanqi) !important; }

/* =============================================
 * 4. 特殊内容模块
 * ============================================= */

/* --- 4.1. 侧边栏定位修正 --- */
#ai-chat-answer:last-of-type:has(.env-sidebar, .u, .n, .p, .ship, .m) .chat,
#ai-chat-answer:last-of-type:has(.env-sidebar, .u, .n, .p, .ship, .m) .bubble,
#ai-chat-answer:last-of-type:has(.env-sidebar, .u, .n, .p, .ship, .m) div.group.relative > div.relative.inline-block.bg-gray-100\/90 {
  transform: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}

/* --- 4.2. 顶部信息 --- */
.top-info {
  display: flex !important; flex-direction: column !important; gap: 0 !important;
  margin: 16px 0 !important; padding: 0 !important;
  font-family: 'Georgia', 'Noto Serif SC', serif !important;
  background: linear-gradient(180deg, rgba(255,253,254,0.98) 0%, rgba(255,250,252,0.95) 100%) !important;
  border: 1px solid rgba(212,115,154,0.12) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 15px rgba(61,31,51,0.04), inset 0 0 30px rgba(255,255,255,0.5) !important;
  position: relative !important; overflow: hidden !important;
}
.top-info::before {
  content: '' !important; position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; height: 2px !important;
  background: linear-gradient(90deg, transparent 5%, #F0C6D8 25%, #D4739A 50%, #A8456E 75%, transparent 95%) !important;
  pointer-events: none !important;
}
.top-info > time, .top-info > position, .top-info > env {
  display: block !important; position: relative !important;
  padding: 12px 16px 12px 70px !important;
  font-size: 14px !important; font-weight: 600 !important; color: #3D1F33 !important;
  line-height: 1.7 !important; letter-spacing: 1.5px !important;
  background: transparent !important;
  border-bottom: 1px dashed rgba(212,115,154,0.1) !important;
  transition: all 0.3s ease !important;
}
.top-info > *:last-child { border-bottom: none !important; }
.top-info > *:hover { background: rgba(212,115,154,0.02) !important; }
.top-info > *::before {
  position: absolute !important; left: 14px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 12px !important; font-weight: 700 !important; color: #fff !important;
  letter-spacing: 1px !important; padding: 4px 8px !important;
  border-radius: 8px !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; white-space: nowrap !important;
}
.top-info > time::before {
  content: '時刻' !important;
  background: linear-gradient(135deg, #D4739A, #E08AAE) !important;
  box-shadow: 0 2px 6px rgba(212,115,154,0.3) !important;
}
.top-info > position::before {
  content: '方位' !important;
  background: linear-gradient(135deg, #A8456E, #C06088) !important;
  box-shadow: 0 2px 6px rgba(168,69,110,0.3) !important;
}
.top-info > env::before {
  content: '場景' !important;
  background: linear-gradient(135deg, #7BAF7B, #8EC08E) !important;
  box-shadow: 0 2px 6px rgba(123,175,123,0.3) !important;
}

/* --- 4.3. 侧边栏模块 --- */
@keyframes sidebar-tab-glow {
  0%, 100% { box-shadow: -2px 2px 12px rgba(212,115,154,0.25); }
  50%  { box-shadow: -2px 2px 20px rgba(212,115,154,0.5), inset 0 0 20px rgba(255,255,255,0.08); }
}
@keyframes sidebar-tab-glow-green {
  0%, 100% { box-shadow: -2px 2px 12px rgba(123,175,123,0.25); }
  50%  { box-shadow: -2px 2px 20px rgba(123,175,123,0.5), inset 0 0 20px rgba(255,255,255,0.08); }
}
@keyframes sidebar-tab-glow-blue {
  0%, 100% { box-shadow: -2px 2px 12px rgba(94,141,184,0.25); }
  50%  { box-shadow: -2px 2px 20px rgba(94,141,184,0.5), inset 0 0 20px rgba(255,255,255,0.08); }
}

.styled-prose-container .env-sidebar,
.styled-prose-container .u,
.styled-prose-container .n,
.styled-prose-container details.p,
.styled-prose-container details.ship,
.styled-prose-container details.m {
  position: relative !important; width: 100% !important;
  margin: 16px 0 !important; padding: 0 !important;
  font-family: 'Georgia', 'Noto Serif SC', serif !important;
  background: radial-gradient(circle, rgba(255,255,255,0.95) 0%, rgba(255,240,245,0.9) 100%) !important;
  border: 2px solid rgba(212,115,154,0.25) !important;
  border-radius: 12px !important; overflow: hidden !important;
  transition: all 0.35s ease !important; box-shadow: none !important;
}
/* 差异色: ship绿色, m蓝色 */
.styled-prose-container details.ship {
  background: radial-gradient(circle, rgba(255,255,255,0.95) 0%, rgba(240,255,245,0.9) 100%) !important;
  border-color: rgba(123,175,123,0.25) !important; border-left: 3px solid #7BAF7B !important;
}
.styled-prose-container details.m {
  background: radial-gradient(circle, rgba(255,255,255,0.95) 0%, rgba(240,245,255,0.9) 100%) !important;
  border-color: rgba(94,141,184,0.25) !important; border-left: 3px solid #7BA7CC !important;
}
.styled-prose-container details.p { border-left: 3px solid #D4739A !important; }
.styled-prose-container details.n { border-left: 3px solid #D4739A !important; }

.styled-prose-container .env-sidebar > summary,
.styled-prose-container .u > summary,
.styled-prose-container .n > summary,
.styled-prose-container details.p > summary,
.styled-prose-container details.ship > summary,
.styled-prose-container details.m > summary {
  padding: 12px 16px !important;
  background: linear-gradient(90deg, rgba(212,115,154,0.08), rgba(240,198,216,0.12), rgba(212,115,154,0.08)) !important;
  color: #3D1F33 !important; font-weight: 700 !important; font-size: 14px !important;
  cursor: pointer !important; list-style: none !important; outline: none !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  margin: 0 !important; border-bottom: 1px solid rgba(212,115,154,0.15) !important;
  box-shadow: none !important; letter-spacing: 2px !important;
  writing-mode: horizontal-tb !important; text-orientation: mixed;
}
.styled-prose-container details.ship > summary {
  background: linear-gradient(90deg, rgba(123,175,123,0.08), rgba(180,220,180,0.12), rgba(123,175,123,0.08)) !important;
  color: #2D5A2D !important; border-bottom-color: rgba(123,175,123,0.15) !important;
}
.styled-prose-container details.m > summary {
  background: linear-gradient(90deg, rgba(94,141,184,0.08), rgba(160,195,220,0.12), rgba(94,141,184,0.08)) !important;
  color: #2A4A6A !important; border-bottom-color: rgba(94,141,184,0.15) !important;
}
.styled-prose-container .env-sidebar > summary::-webkit-details-marker,
.styled-prose-container .u > summary::-webkit-details-marker,
.styled-prose-container .n > summary::-webkit-details-marker,
.styled-prose-container details.p > summary::-webkit-details-marker,
.styled-prose-container details.ship > summary::-webkit-details-marker,
.styled-prose-container details.m > summary::-webkit-details-marker { display: none !important; }
.styled-prose-container .env-sidebar > summary:hover,
.styled-prose-container .u > summary:hover,
.styled-prose-container .n > summary:hover,
.styled-prose-container details.p > summary:hover {
  background: linear-gradient(90deg, rgba(212,115,154,0.15), rgba(240,198,216,0.2), rgba(212,115,154,0.15)) !important;
  color: #A8456E !important;
}
.styled-prose-container details.ship > summary:hover {
  background: linear-gradient(90deg, rgba(123,175,123,0.15), rgba(180,220,180,0.2), rgba(123,175,123,0.15)) !important;
  color: #3D7A3D !important;
}
.styled-prose-container details.m > summary:hover {
  background: linear-gradient(90deg, rgba(94,141,184,0.15), rgba(160,195,220,0.2), rgba(94,141,184,0.15)) !important;
  color: #3A6A9A !important;
}

/* 最新消息中侧边栏悬浮 */
#ai-chat-answer:last-of-type .env-sidebar,
#ai-chat-answer:last-of-type .u,
#ai-chat-answer:last-of-type .n,
#ai-chat-answer:last-of-type details.p,
#ai-chat-answer:last-of-type details.ship,
#ai-chat-answer:last-of-type details.m {
  position: fixed !important; right: 0 !important; z-index: 9999 !important;
  width: auto !important; background: transparent !important; border: none !important;
  box-shadow: none !important; margin: 0 !important; padding: 0 !important;
  overflow: visible !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  transform: none !important; filter: none !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
#ai-chat-answer:last-of-type .env-sidebar { top: 60px !important; }
#ai-chat-answer:last-of-type .u { top: 175px !important; }
#ai-chat-answer:last-of-type details.p  { top: 60px !important; }
#ai-chat-answer:last-of-type details.n  { top: 170px !important; }
#ai-chat-answer:last-of-type .n         { top: 170px !important; }
#ai-chat-answer:last-of-type details.ship { top: 280px !important; }
#ai-chat-answer:last-of-type details.m  { top: 395px !important; }

/* ── 折叠标签 — 精美差异化 ── */

/* 通用标签内半透明花瓣纹理层 */
#ai-chat-answer:last-of-type .env-sidebar:not([open]) > summary,
#ai-chat-answer:last-of-type .u:not([open]) > summary,
#ai-chat-answer:last-of-type .n:not([open]) > summary,
#ai-chat-answer:last-of-type details.p:not([open]) > summary,
#ai-chat-answer:last-of-type details.ship:not([open]) > summary,
#ai-chat-answer:last-of-type details.m:not([open]) > summary {
  width: 38px !important; padding: 0 !important; margin: 0 !important;
  color: #fff !important; border-radius: 14px 0 0 14px !important;
  border-right: none !important;
  writing-mode: vertical-rl !important; text-orientation: upright !important;
  letter-spacing: 3px !important; text-align: center !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  height: auto !important; font-size: 13px !important;
  position: relative !important; overflow: hidden !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 200'%3E%3Cdefs%3E%3CradialGradient id='tg'%3E%3Cstop offset='0%25' stop-color='%23fff' stop-opacity='0.15'/%3E%3Cstop offset='100%25' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cellipse cx='19' cy='50' rx='6' ry='4' fill='url(%23tg)' transform='rotate(20 19 50)'%3E%3Canimate attributeName='cy' values='50;55;50' dur='4s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='0.3;0.6;0.3' dur='4s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3Cellipse cx='25' cy='120' rx='5' ry='3' fill='url(%23tg)' transform='rotate(-15 25 120)'%3E%3Canimate attributeName='cy' values='120;126;120' dur='5s' repeatCount='indefinite' begin='1s'/%3E%3Canimate attributeName='opacity' values='0.2;0.5;0.2' dur='5s' repeatCount='indefinite' begin='1s'/%3E%3C/ellipse%3E%3Cellipse cx='14' cy='170' rx='4' ry='2.5' fill='url(%23tg)' transform='rotate(35 14 170)'%3E%3Canimate attributeName='cy' values='170;175;170' dur='3.5s' repeatCount='indefinite' begin='2s'/%3E%3Canimate attributeName='opacity' values='0.25;0.55;0.25' dur='3.5s' repeatCount='indefinite' begin='2s'/%3E%3C/ellipse%3E%3C/svg%3E") !important;
  background-size: 100% 100% !important; background-repeat: no-repeat !important;
}

/* .p 主角状态 — 樱瓣粉渐变 + 五瓣花装饰 */
#ai-chat-answer:last-of-type details.p:not([open]) > summary {
  background-color: transparent !important;
  background: linear-gradient(180deg, #E899B8, #D4739A, #A8456E) !important;
  border: 1px solid rgba(240,198,216,0.5) !important; border-right: none !important;
  text-shadow: 0 1px 3px rgba(120,40,70,0.4) !important;
  animation: sidebar-tab-glow 4s ease-in-out infinite !important;
  min-height: 95px !important;
}
#ai-chat-answer:last-of-type details.p:not([open]) > summary::before {
  content: '' !important; position: absolute !important;
  top: 8px !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 20px !important; height: 20px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg opacity='0.85'%3E%3Cpath d='M10,2 C11.5,5 11.5,8 10,10 C8.5,8 8.5,5 10,2' fill='%23fff' opacity='0.9'/%3E%3Cpath d='M10,2 C11.5,5 11.5,8 10,10 C8.5,8 8.5,5 10,2' fill='%23fff' opacity='0.9' transform='rotate(72 10 10)'/%3E%3Cpath d='M10,2 C11.5,5 11.5,8 10,10 C8.5,8 8.5,5 10,2' fill='%23fff' opacity='0.9' transform='rotate(144 10 10)'/%3E%3Cpath d='M10,2 C11.5,5 11.5,8 10,10 C8.5,8 8.5,5 10,2' fill='%23fff' opacity='0.9' transform='rotate(216 10 10)'/%3E%3Cpath d='M10,2 C11.5,5 11.5,8 10,10 C8.5,8 8.5,5 10,2' fill='%23fff' opacity='0.9' transform='rotate(288 10 10)'/%3E%3Ccircle cx='10' cy='10' r='2' fill='%23FFD6E8' opacity='0.9'/%3E%3C/g%3E%3C/svg%3E") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  border: none !important; border-radius: 0 !important;
}
#ai-chat-answer:last-of-type details.p:not([open]) > summary::after {
  content: '' !important; position: absolute !important;
  bottom: 8px !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 16px !important; height: 16px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ctext x='2' y='13' font-size='12' fill='rgba(255,255,255,0.6)' font-family='Georgia'%3E%E2%99%AA%3C/text%3E%3C/svg%3E") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  border: none !important;
}

/* .n NPC信息 — 樱瓣粉渐变 + 人物图标 */
#ai-chat-answer:last-of-type .n:not([open]) > summary,
#ai-chat-answer:last-of-type details.n:not([open]) > summary {
  background-color: transparent !important;
  background: linear-gradient(180deg, #E899B8, #D4739A, #A8456E) !important;
  border: 1px solid rgba(240,198,216,0.5) !important; border-right: none !important;
  text-shadow: 0 1px 3px rgba(120,40,70,0.4) !important;
  animation: sidebar-tab-glow 4s ease-in-out infinite !important;
  min-height: 80px !important;
}
#ai-chat-answer:last-of-type .n:not([open]) > summary::before,
#ai-chat-answer:last-of-type details.n:not([open]) > summary::before {
  content: '' !important; position: absolute !important;
  top: 8px !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 18px !important; height: 18px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='6' r='3.5' fill='none' stroke='rgba(255,255,255,0.6)' stroke-width='1.2'/%3E%3Cpath d='M3,16 C3,12 5.5,9.5 9,9.5 C12.5,9.5 15,12 15,16' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='1.2'/%3E%3C/svg%3E") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  border: none !important; border-radius: 0 !important;
}

/* .ship 乐队总览 — 嫩叶绿渐变 + 音符装饰 */
#ai-chat-answer:last-of-type details.ship:not([open]) > summary {
  background-color: transparent !important;
  background: linear-gradient(180deg, #A4D4A4, #7BAF7B, #4D8A4D) !important;
  border: 1px solid rgba(180,220,180,0.5) !important; border-right: none !important;
  text-shadow: 0 1px 3px rgba(40,80,40,0.4) !important;
  animation: sidebar-tab-glow-green 4s ease-in-out infinite !important;
  min-height: 100px !important;
}
#ai-chat-answer:last-of-type details.ship:not([open]) > summary::before {
  content: '' !important; position: absolute !important;
  top: 8px !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 18px !important; height: 18px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ctext x='1' y='15' font-size='14' fill='rgba(255,255,255,0.7)' font-family='Georgia'%3E%E2%99%AB%3C/text%3E%3C/svg%3E") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  border: none !important; border-radius: 0 !important;
}
#ai-chat-answer:last-of-type details.ship:not([open]) > summary::after {
  content: '' !important; position: absolute !important;
  bottom: 10px !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 14px !important; height: 14px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Ccircle cx='7' cy='7' r='5' fill='none' stroke='rgba(255,255,255,0.35)' stroke-width='1' stroke-dasharray='2 2'/%3E%3C/svg%3E") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  border: none !important;
}

/* .m 过往记忆 — 天空蓝渐变 + 书本装饰 */
#ai-chat-answer:last-of-type details.m:not([open]) > summary {
  background-color: transparent !important;
  background: linear-gradient(180deg, #A0C3DC, #7BA7CC, #5080A0) !important;
  border: 1px solid rgba(160,195,220,0.5) !important; border-right: none !important;
  text-shadow: 0 1px 3px rgba(30,55,80,0.4) !important;
  animation: sidebar-tab-glow-blue 4s ease-in-out infinite !important;
  min-height: 80px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  gap: 0 !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
#ai-chat-answer:last-of-type details.m:not([open]) > summary::before {
  content: '' !important; position: absolute !important;
  top: 10px !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 18px !important; height: 18px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Crect x='3' y='3' width='12' height='12' rx='1.5' fill='none' stroke='rgba(255,255,255,0.55)' stroke-width='1.2'/%3E%3Cline x1='6' y1='6' x2='12' y2='6' stroke='rgba(255,255,255,0.4)' stroke-width='0.8'/%3E%3Cline x1='6' y1='9' x2='12' y2='9' stroke='rgba(255,255,255,0.35)' stroke-width='0.8'/%3E%3Cline x1='6' y1='12' x2='10' y2='12' stroke='rgba(255,255,255,0.3)' stroke-width='0.8'/%3E%3C/svg%3E") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  border: none !important; border-radius: 0 !important;
  margin-bottom: 2px !important;
}
#ai-chat-answer:last-of-type details.m:not([open]) > summary::after {
  content: '过往记忆' !important;
  display: block !important;
  font-size: 13px !important;
  line-height: 1 !important;
  color: #fff !important;
  writing-mode: vertical-rl !important;
  text-orientation: upright !important;
  letter-spacing: 3px !important;
  font-weight: 700 !important;
  font-family: 'Georgia', 'Noto Serif SC', serif !important;
  text-shadow: 0 1px 3px rgba(30,50,80,0.4) !important;
  position: absolute !important;
  top: 32px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

/* env-sidebar / .u 保持原有粉色 */
#ai-chat-answer:last-of-type .env-sidebar:not([open]) > summary,
#ai-chat-answer:last-of-type .u:not([open]) > summary {
  background-color: transparent !important;
  background: linear-gradient(180deg, #D4739A, #A8456E) !important;
  border: 1px solid rgba(240,198,216,0.4) !important; border-right: none !important;
  box-shadow: -2px 2px 15px rgba(61,31,51,0.2) !important;
  text-shadow: 0 0 5px rgba(240,198,216,0.5) !important;
}

/* ── 展开面板 ── */
#ai-chat-answer:last-of-type .env-sidebar[open],
#ai-chat-answer:last-of-type .u[open],
#ai-chat-answer:last-of-type .n[open],
#ai-chat-answer:last-of-type details.p[open],
#ai-chat-answer:last-of-type details.n[open] {
  top: 60px !important; width: 370px !important; max-height: 60vh !important;
  right: 35px !important; background: rgba(255,255,255,0.98) !important;
  border: 2px solid #D4739A !important; border-right: none !important;
  border-radius: 14px 0 0 14px !important;
  box-shadow: -4px 4px 30px rgba(168,69,110,0.2), 0 0 60px rgba(240,198,216,0.15) !important;
  overflow-y: auto !important; overflow-x: hidden !important;
  backdrop-filter: blur(14px) !important; -webkit-backdrop-filter: blur(14px) !important;
}
#ai-chat-answer:last-of-type details.ship[open] {
  top: 60px !important; width: 380px !important; max-height: 65vh !important;
  right: 35px !important; background: rgba(255,255,255,0.98) !important;
  border: 2px solid #7BAF7B !important; border-right: none !important;
  border-radius: 14px 0 0 14px !important;
  box-shadow: -4px 4px 30px rgba(77,138,77,0.2), 0 0 60px rgba(180,220,180,0.12) !important;
  overflow-y: auto !important; overflow-x: hidden !important;
  backdrop-filter: blur(14px) !important; -webkit-backdrop-filter: blur(14px) !important;
}
#ai-chat-answer:last-of-type details.m[open] {
  top: 60px !important; width: 380px !important; max-height: 60vh !important;
  right: 35px !important; background: rgba(255,255,255,0.98) !important;
  border: 2px solid #7BA7CC !important; border-right: none !important;
  border-radius: 14px 0 0 14px !important;
  box-shadow: -4px 4px 30px rgba(80,128,160,0.2) !important;
  overflow-y: auto !important; overflow-x: hidden !important;
}

/* 展开面板头部 — 粉色系 */
#ai-chat-answer:last-of-type .env-sidebar[open] > summary,
#ai-chat-answer:last-of-type .u[open] > summary,
#ai-chat-answer:last-of-type .n[open] > summary,
#ai-chat-answer:last-of-type details.p[open] > summary,
#ai-chat-answer:last-of-type details.n[open] > summary {
  writing-mode: horizontal-tb !important; padding: 14px 50px 14px 18px !important;
  background: linear-gradient(135deg, #E899B8, #D4739A, #A8456E) !important;
  color: #fff !important; border-bottom: 2px solid rgba(255,255,255,0.2) !important;
  border-radius: 12px 0 0 0 !important; margin-bottom: 0 !important; box-shadow: none !important;
  position: sticky !important; top: 0 !important; z-index: 100 !important;
  text-align: left !important; display: flex !important; justify-content: flex-start !important;
  font-size: 15px !important; letter-spacing: 2.5px !important;
  text-shadow: 0 1px 4px rgba(100,30,55,0.3) !important;
  animation: none !important; min-height: 0 !important;
}
/* 展开面板头部 — 绿色系 */
#ai-chat-answer:last-of-type details.ship[open] > summary {
  writing-mode: horizontal-tb !important; padding: 14px 50px 14px 18px !important;
  background: linear-gradient(135deg, #A4D4A4, #7BAF7B, #4D8A4D) !important;
  color: #fff !important; border-bottom: 2px solid rgba(255,255,255,0.2) !important;
  border-radius: 12px 0 0 0 !important; margin-bottom: 0 !important; box-shadow: none !important;
  position: sticky !important; top: 0 !important; z-index: 100 !important;
  text-align: left !important; display: flex !important; justify-content: flex-start !important;
  font-size: 15px !important; letter-spacing: 2.5px !important;
  text-shadow: 0 1px 4px rgba(30,60,30,0.3) !important;
  animation: none !important; min-height: 0 !important;
}
/* 展开面板头部 — 蓝色系 */
#ai-chat-answer:last-of-type details.m[open] > summary {
  writing-mode: horizontal-tb !important; padding: 14px 50px 14px 18px !important;
  background: linear-gradient(135deg, #A0C3DC, #7BA7CC, #5080A0) !important;
  color: #fff !important; border-bottom: 2px solid rgba(255,255,255,0.2) !important;
  border-radius: 12px 0 0 0 !important; margin-bottom: 0 !important; box-shadow: none !important;
  position: sticky !important; top: 0 !important; z-index: 100 !important;
  text-align: left !important; display: flex !important; justify-content: flex-start !important;
  font-size: 15px !important; letter-spacing: 2.5px !important;
  text-shadow: 0 1px 4px rgba(30,50,80,0.3) !important;
  animation: none !important; min-height: 0 !important;
}

/* 展开标题前缀图标 */
#ai-chat-answer:last-of-type details.p[open] > summary::before {
  content: '🌸' !important; margin-right: 8px !important; font-size: 14px !important;
  position: static !important; transform: none !important;
  border: none !important; width: auto !important; height: auto !important;
  background: none !important;
}
#ai-chat-answer:last-of-type .n[open] > summary::before,
#ai-chat-answer:last-of-type details.n[open] > summary::before {
  content: '👤' !important; margin-right: 8px !important; font-size: 14px !important;
  position: static !important; transform: none !important;
  border: none !important; width: auto !important; height: auto !important;
  background: none !important;
}
#ai-chat-answer:last-of-type details.ship[open] > summary::before {
  content: '♪' !important; margin-right: 8px !important; font-size: 15px !important;
  position: static !important; transform: none !important;
  border: none !important; width: auto !important; height: auto !important;
  background: none !important;
}
#ai-chat-answer:last-of-type details.m[open] > summary::before {
  content: '📖' !important; margin-right: 8px !important; font-size: 14px !important;
  position: static !important; transform: none !important;
  border: none !important; width: auto !important; height: auto !important;
  background: none !important;
}

/* 关闭按钮 × */
#ai-chat-answer:last-of-type .env-sidebar[open] > summary::after,
#ai-chat-answer:last-of-type .u[open] > summary::after,
#ai-chat-answer:last-of-type .n[open] > summary::after,
#ai-chat-answer:last-of-type details.p[open] > summary::after,
#ai-chat-answer:last-of-type details.n[open] > summary::after,
#ai-chat-answer:last-of-type details.ship[open] > summary::after,
#ai-chat-answer:last-of-type details.m[open] > summary::after {
  content: '×' !important; position: absolute !important; right: 14px; top: 50%;
  transform: translateY(-50%); font-size: 22px !important; line-height: 0.8 !important;
  color: rgba(255,255,255,0.7) !important; text-shadow: none !important;
  font-weight: 300 !important;
}

/* 滚动条 */
#ai-chat-answer:last-of-type .env-sidebar[open]::-webkit-scrollbar,
#ai-chat-answer:last-of-type .u[open]::-webkit-scrollbar,
#ai-chat-answer:last-of-type .n[open]::-webkit-scrollbar,
#ai-chat-answer:last-of-type details.p[open]::-webkit-scrollbar,
#ai-chat-answer:last-of-type details.n[open]::-webkit-scrollbar { width: 5px; }
#ai-chat-answer:last-of-type .env-sidebar[open]::-webkit-scrollbar-track,
#ai-chat-answer:last-of-type .u[open]::-webkit-scrollbar-track,
#ai-chat-answer:last-of-type .n[open]::-webkit-scrollbar-track,
#ai-chat-answer:last-of-type details.p[open]::-webkit-scrollbar-track,
#ai-chat-answer:last-of-type details.n[open]::-webkit-scrollbar-track { background: rgba(212,115,154,0.06); border-radius: 3px; }
#ai-chat-answer:last-of-type .env-sidebar[open]::-webkit-scrollbar-thumb,
#ai-chat-answer:last-of-type .u[open]::-webkit-scrollbar-thumb,
#ai-chat-answer:last-of-type .n[open]::-webkit-scrollbar-thumb,
#ai-chat-answer:last-of-type details.p[open]::-webkit-scrollbar-thumb,
#ai-chat-answer:last-of-type details.n[open]::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(212,115,154,0.4), rgba(168,69,110,0.3));
  border-radius: 3px;
}
#ai-chat-answer:last-of-type details.ship[open]::-webkit-scrollbar { width: 5px; }
#ai-chat-answer:last-of-type details.ship[open]::-webkit-scrollbar-track { background: rgba(123,175,123,0.06); }
#ai-chat-answer:last-of-type details.ship[open]::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(123,175,123,0.35), rgba(77,138,77,0.25)); border-radius: 3px;
}
#ai-chat-answer:last-of-type details.m[open]::-webkit-scrollbar { width: 5px; }
#ai-chat-answer:last-of-type details.m[open]::-webkit-scrollbar-track { background: rgba(94,141,184,0.06); }
#ai-chat-answer:last-of-type details.m[open]::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(94,141,184,0.35), rgba(80,128,160,0.25)); border-radius: 3px;
}

/* 侧边栏面板内NPC卡片 */
#ai-chat-answer:last-of-type .u[open] > .classUI-npc-card,
#ai-chat-answer:last-of-type .n[open] > .classUI-npc-card,
#ai-chat-answer:last-of-type details.n[open] > .classUI-npc-card,
#ai-chat-answer:last-of-type details.ship[open] > .classUI-npc-card {
  background: transparent !important; border: none !important; box-shadow: none !important;
  padding-top: 14px !important; padding-bottom: 14px !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}

/* --- 4.5. 背包 --- */
details[inv] {
  --grid-size: 56px; --gap: 6px; --panel-h: 1120px;
  --bg-panel: rgba(255,250,252,0.98); --bg-item: rgba(255,255,255,0.9);
  --text-main: #3D1F33; --text-sub: #A8456E;
  --border: rgba(212,115,154,0.2); --accent: #D4739A;
  --q-yiban: #4A2545; --q-youzhi: #6B8E5A; --q-jingliang: #5E8DB8;
  --q-shishi: #9B59A8; --q-chuanshuo: #D4739A; --q-yuangu: #C62828;
  display: block !important; margin: 12px 0 !important;
  font-family: 'Georgia', 'Noto Serif SC', serif !important;
  position: relative !important;
}
details[inv] > summary {
  cursor: pointer !important; list-style: none !important; user-select: none !important;
  display: flex !important; align-items: center !important; gap: 10px !important;
  font-weight: 700 !important; font-size: 14px !important; color: var(--accent) !important;
  padding: 10px 14px 10px 36px !important;
  background: linear-gradient(90deg, rgba(212,115,154,0.06), rgba(240,198,216,0.04), rgba(212,115,154,0.06)) !important;
  border: 1px solid var(--border) !important; border-left: 3px solid var(--accent) !important;
  border-radius: 8px !important; transition: all 0.3s ease !important;
  letter-spacing: 1.5px !important; position: relative !important; z-index: 10 !important;
}
details[inv][open] > summary {
  border-radius: 0 0 8px 8px !important; border-top: none !important;
  background: linear-gradient(90deg, rgba(212,115,154,0.1), rgba(240,198,216,0.06), rgba(212,115,154,0.1)) !important;
}
details[inv] > summary::-webkit-details-marker, details[inv] > summary::marker { display: none !important; content: '' !important; }
details[inv] > summary::before {
  content: '🎒' !important; position: absolute !important; left: 10px !important;
  top: 50% !important; transform: translateY(-50%) !important;
  font-size: 16px !important; transition: all 0.3s ease !important;
}
details[inv] > summary::after {
  content: '' !important; position: absolute !important; right: 14px !important; top: 50% !important;
  width: 8px !important; height: 8px !important;
  border-right: 2px solid var(--accent) !important; border-top: 2px solid var(--accent) !important;
  transform: translateY(-50%) rotate(-45deg) !important; transition: all 0.3s ease !important;
}
details[inv][open] > summary::after { transform: translateY(-50%) rotate(135deg) !important; border-color: #A8456E !important; }
details[inv] > summary:hover {
  background: linear-gradient(90deg, rgba(212,115,154,0.12), rgba(240,198,216,0.08), rgba(212,115,154,0.12)) !important;
  border-color: var(--accent) !important;
}
details[inv] > summary > i {
  font-style: normal !important; background: rgba(212,115,154,0.08) !important;
  padding: 3px 10px !important; border-radius: 8px !important; font-size: 12px !important;
  color: var(--text-sub) !important; border: 1px solid rgba(212,115,154,0.15) !important;
  margin-left: auto !important; margin-right: 20px !important;
}
details[inv] > panel {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(var(--grid-size), 1fr)) !important;
  gap: var(--gap) !important; padding: 36px 12px 12px 12px !important;
  background: var(--bg-panel) !important; border: 1px solid var(--border) !important;
  border-bottom: none !important; border-left: 3px solid var(--accent) !important;
  border-radius: 12px 12px 0 0 !important; max-height: var(--panel-h) !important;
  overflow: visible !important;
  box-shadow: 0 -4px 20px rgba(61,31,51,0.12), inset 0 0 20px rgba(255,245,248,0.5) !important;
  box-sizing: border-box !important; position: absolute !important;
  left: 0 !important; right: 0 !important; bottom: calc(100% - 1px) !important; z-index: 100 !important;
}
details[inv] > panel::before {
  content: '🌸 随身物品' !important; position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; height: 28px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  background: linear-gradient(90deg, rgba(212,115,154,0.1), rgba(240,198,216,0.08), rgba(212,115,154,0.1)) !important;
  border-bottom: 1px solid rgba(212,115,154,0.15) !important;
  border-radius: 12px 12px 0 0 !important; font-size: 11px !important;
  font-weight: 700 !important; color: var(--accent) !important; letter-spacing: 3px !important;
}
details[inv] > panel::after {
  content: '' !important; position: absolute !important; bottom: 0 !important;
  left: 10% !important; right: 10% !important; height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(240,198,216,0.5), transparent) !important;
}
details[inv] > panel > b {
  display: flex !important; align-items: center !important; justify-content: center !important;
  aspect-ratio: 1 / 1 !important; background: var(--bg-item) !important;
  border: 1px solid var(--border) !important; color: var(--text-main) !important;
  font-weight: 600 !important; font-size: 11px !important; text-align: center !important;
  cursor: help !important; position: static !important; transition: all 0.25s ease !important;
  overflow: visible !important; border-radius: 8px !important; padding: 4px !important;
  word-break: break-all !important; line-height: 1.3 !important;
  box-shadow: 0 1px 3px rgba(61,31,51,0.06) !important;
}
details[inv] > panel > b:hover {
  z-index: 10 !important; transform: scale(1.08) !important;
  box-shadow: 0 4px 15px rgba(212,115,154,0.2) !important; background: #FFFFFF !important;
}
details[inv] > panel > b > i {
  position: fixed !important; top: 50% !important; left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 135px !important; max-width: 45vw !important; max-height: 65vh !important;
  overflow-y: auto !important; background: rgba(255,255,255,0.99) !important;
  border: 1px solid rgba(212,115,154,0.35) !important;
  border-left: 3px solid var(--accent) !important;
  padding: 12px 10px !important; border-radius: 12px !important;
  box-shadow: 0 8px 30px rgba(61,31,51,0.3) !important;
  opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
  transition: opacity 0.15s ease, visibility 0.15s ease !important;
  font-style: normal !important; text-align: left !important;
  white-space: normal !important; font-size: 11px !important;
  line-height: 1.7 !important; color: var(--text-main) !important;
  z-index: 2147483647 !important;
  backdrop-filter: blur(10px) !important; -webkit-backdrop-filter: blur(10px) !important;
}
details[inv] > panel > b > i::before {
  content: '🌸 物品档案' !important; display: block !important;
  font-size: 10px !important; font-weight: 700 !important; color: #A8456E !important;
  letter-spacing: 1px !important; margin-bottom: 6px !important;
  padding-bottom: 6px !important; border-bottom: 1px solid rgba(212,115,154,0.2) !important;
}
details[inv] > panel > b:hover > i { opacity: 1 !important; visibility: visible !important; }
details[inv] > panel > b > i > b {
  display: block !important; margin-top: 8px !important; padding-top: 6px !important;
  border-top: 1px dashed rgba(212,115,154,0.2) !important;
  text-align: right !important; color: #A8456E !important;
  font-weight: 700 !important; font-size: 10px !important;
}
details[inv] > panel > b[e] {
  border-color: #F0C6D8 !important;
  box-shadow: inset 0 0 0 1px #F0C6D8, 0 0 8px rgba(240,198,216,0.3) !important;
  background: linear-gradient(135deg, rgba(240,198,216,0.1), rgba(255,255,255,0.9)) !important;
  position: relative !important;
}
details[inv] > panel > b[e]::after {
  content: '♪' !important; position: absolute !important; top: 0 !important; left: 0 !important;
  background: linear-gradient(135deg, #F0C6D8, #D4739A) !important;
  color: #fff !important; font-size: 8px !important; font-weight: 700 !important;
  padding: 1px 3px !important; line-height: 1.2 !important; border-radius: 0 0 6px 0 !important;
}
details[inv] > panel > b[q="yiban"] { color: var(--q-yiban) !important; border-color: var(--q-yiban) !important; }
details[inv] > panel > b[q="youzhi"] { color: var(--q-youzhi) !important; border-color: var(--q-youzhi) !important; }
details[inv] > panel > b[q="jingliang"] { color: var(--q-jingliang) !important; border-color: var(--q-jingliang) !important; }
details[inv] > panel > b[q="shishi"] { color: var(--q-shishi) !important; border-color: var(--q-shishi) !important; }
details[inv] > panel > b[q="chuanshuo"] { color: var(--q-chuanshuo) !important; border-color: var(--q-chuanshuo) !important; box-shadow: 0 0 6px rgba(212,115,154,0.3) !important; }
details[inv] > panel > b[q="yuangu"] { color: var(--q-yuangu) !important; border-color: var(--q-yuangu) !important; box-shadow: 0 0 8px rgba(198,40,40,0.3) !important; animation: inv-item-glow 2.5s ease-in-out infinite !important; }
details[inv] > panel > b[q="yiban"] > i { border-left-color: var(--q-yiban) !important; }
details[inv] > panel > b[q="youzhi"] > i { border-left-color: var(--q-youzhi) !important; }
details[inv] > panel > b[q="jingliang"] > i { border-left-color: var(--q-jingliang) !important; }
details[inv] > panel > b[q="shishi"] > i { border-left-color: var(--q-shishi) !important; }
details[inv] > panel > b[q="chuanshuo"] > i { border-left-color: var(--q-chuanshuo) !important; }
details[inv] > panel > b[q="yuangu"] > i { border-left-color: var(--q-yuangu) !important; }
.styled-prose-container wealth_info, .styled-prose-container wealth_info *,
.styled-prose-container details:has(wealth_info),
.styled-prose-container details:has(wealth_info) > *,
details[inv], details[inv] > panel { overflow: visible !important; }

/* --- 4.6. 因果命盘 / 追踪器 --- */
.k-track {
  border: 1px solid rgba(212,115,154,0.2) !important;
  background: linear-gradient(180deg, rgba(255,250,252,0.98) 0%, rgba(255,240,245,0.95) 100%) !important;
  margin: 14px 0 !important; border-radius: 16px !important;
  font-family: 'Georgia', 'Noto Serif SC', serif !important;
  overflow: hidden !important; position: relative !important;
}
.k-track::before {
  content: '' !important; position: absolute !important; top: 0 !important;
  left: 0 !important; right: 0 !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, #F0C6D8, #D4739A, #C62828, transparent) !important;
  opacity: 0.5 !important;
}
.k-head {
  background: linear-gradient(90deg, rgba(212,115,154,0.06) 0%, rgba(240,198,216,0.08) 25%, rgba(255,255,255,0.9) 50%, rgba(198,40,40,0.04) 75%, rgba(212,115,154,0.06) 100%) !important;
  padding: 12px 16px 12px 42px !important; font-size: 14px !important;
  color: #3D1F33 !important; font-weight: 700 !important;
  border-bottom: 1px solid rgba(212,115,154,0.12) !important;
  display: flex !important; justify-content: space-between !important;
  align-items: center !important; cursor: pointer !important;
  letter-spacing: 2px !important; list-style: none !important;
  position: relative !important; transition: all 0.3s ease !important;
}
.k-head::-webkit-details-marker { display: none !important; }
.k-head::before {
  content: '🌸' !important; position: absolute !important; left: 14px !important;
  top: 50% !important; transform: translateY(-50%) !important; font-size: 16px !important;
  animation: k-petal-spin 12s linear infinite !important;
}
.k-head::after {
  content: '' !important; position: absolute !important; right: 16px !important;
  top: 50% !important; width: 7px !important; height: 7px !important;
  border-right: 2px solid #D4739A !important; border-bottom: 2px solid #D4739A !important;
  transform: translateY(-70%) rotate(45deg) !important; transition: all 0.3s ease !important;
}
.k-track[open] > .k-head::after { transform: translateY(-30%) rotate(-135deg) !important; }
.k-sum {
  font-weight: 700 !important; font-size: 11px !important; letter-spacing: 1px !important;
  padding: 4px 10px !important; border-radius: 10px !important;
  background: rgba(255,255,255,0.7) !important;
  border: 1px solid rgba(212,115,154,0.15) !important;
  margin-right: 20px !important; color: #3D1F33 !important;
}
.k-body { padding: 14px !important; background: rgba(255,255,255,0.5) !important; position: relative !important; }
.k-quote {
  position: relative !important; z-index: 1 !important; text-align: center !important;
  font-size: 11px !important; color: #A8456E !important; letter-spacing: 2px !important;
  padding: 10px 12px !important; margin-bottom: 14px !important;
  background: linear-gradient(90deg, transparent, rgba(212,115,154,0.04), transparent) !important;
  border-top: 1px dashed rgba(212,115,154,0.15) !important;
  border-bottom: 1px dashed rgba(212,115,154,0.15) !important;
  font-weight: 600 !important;
}
.k-row {
  position: relative !important; z-index: 1 !important; margin-bottom: 12px !important;
  padding: 10px 12px 10px 48px !important; border-left: 3px solid var(--k-color) !important;
  background: var(--k-bg) !important; border-radius: 0 12px 12px 0 !important;
  transition: all 0.35s ease !important; overflow: hidden !important;
  display: flex !important; align-items: flex-start !important;
}
.k-row:last-child { margin-bottom: 0 !important; }
.k-row::before {
  content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important;
  width: 100% !important; height: 100% !important;
  background: linear-gradient(90deg, var(--k-glow) 0%, transparent 60%) !important;
  opacity: 0 !important; transition: opacity 0.35s ease !important; pointer-events: none !important;
}
.k-row:hover { transform: translateX(4px) !important; }
.k-row:hover::before { opacity: 1 !important; }
.k-tag {
  position: absolute !important; left: 10px !important; top: 50% !important;
  transform: translateY(-50%) !important; width: 28px !important; height: 28px !important;
  border-radius: 50% !important; display: flex !important; align-items: center !important;
  justify-content: center !important; font-size: 13px !important; font-weight: 900 !important;
  color: #fff !important; text-shadow: 0 1px 2px rgba(0,0,0,0.2) !important;
  z-index: 2 !important; box-shadow: 0 2px 6px var(--k-tag-shadow) !important;
  background: var(--k-tag-bg) !important; border: 2px solid rgba(255,255,255,0.5) !important;
}
.k-main { flex: 1 !important; min-width: 0 !important; }
.k-row.g {
  --k-color: #D4739A !important;
  --k-bg: linear-gradient(90deg, rgba(255,240,245,0.9) 0%, rgba(255,255,255,0.85) 100%) !important;
  --k-glow: rgba(212,115,154,0.2) !important;
  --k-bar-color: linear-gradient(90deg, #D4739A, #A8456E) !important;
  --k-tag-bg: linear-gradient(135deg, #D4739A, #A8456E) !important;
  --k-tag-shadow: rgba(168,69,110,0.4) !important;
  border: 1px solid rgba(212,115,154,0.25) !important;
  border-left: 3px solid #D4739A !important;
}
.k-row.e {
  --k-color: #C62828 !important;
  --k-bg: linear-gradient(90deg, rgba(255,235,238,0.9) 0%, rgba(255,255,255,0.85) 100%) !important;
  --k-glow: rgba(198,40,40,0.15) !important;
  --k-bar-color: linear-gradient(90deg, #C62828, #E53935) !important;
  --k-tag-bg: linear-gradient(135deg, #C62828, #8B0000) !important;
  --k-tag-shadow: rgba(139,0,0,0.4) !important;
  border: 1px solid rgba(198,40,40,0.2) !important;
  border-left: 3px solid #C62828 !important;
}
.k-txt { display: flex !important; flex-direction: column !important; margin-bottom: 8px !important; position: relative !important; z-index: 1 !important; }
.k-txt b { font-size: 13px !important; font-weight: 700 !important; letter-spacing: 1.5px !important; margin-bottom: 3px !important; }
.k-row.g .k-txt b { color: #A8456E !important; }
.k-row.e .k-txt b { color: #8B0000 !important; }
.k-txt i { color: #5D4037 !important; font-size: 11px !important; font-style: normal !important; opacity: 0.9 !important; line-height: 1.5 !important; }
.k-bar {
  height: 12px !important; background: rgba(212,115,154,0.06) !important;
  border-radius: 6px !important; position: relative !important;
  overflow: hidden !important; border: 1px solid rgba(212,115,154,0.1) !important; z-index: 1 !important;
}
.k-bar::after {
  content: '' !important; position: absolute !important; top: 1px !important;
  left: 1px !important; bottom: 1px !important;
  width: calc(var(--p) - 2px) !important; background: var(--k-bar-color) !important;
  border-radius: 5px !important; transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.k-bar::before {
  content: '' !important; position: absolute !important; top: 0 !important; left: -100% !important;
  width: 100% !important; height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent) !important;
  animation: k-bar-shimmer 2.5s ease-in-out infinite !important; z-index: 2 !important;
}
.k-bar span {
  position: absolute !important; width: 100% !important; text-align: center !important;
  font-size: 9px !important; line-height: 12px !important; color: #3D1F33 !important;
  font-weight: 700 !important; z-index: 3 !important; letter-spacing: 1px !important;
  text-shadow: 0 0 3px rgba(255,255,255,0.8) !important;
}
.k-row.e.pulse { animation: k-danger-pulse 1.2s ease-in-out infinite !important; }
.k-row.g.pulse { animation: k-fortune-pulse 2s ease-in-out infinite !important; }
.k-foot {
  text-align: center !important; padding: 10px 12px !important;
  border-top: 1px solid rgba(212,115,154,0.08) !important;
  background: linear-gradient(90deg, rgba(240,198,216,0.04), rgba(255,245,248,0.5), rgba(198,40,40,0.02)) !important;
  font-size: 10px !important; color: #A8456E !important;
  font-weight: 600 !important; letter-spacing: 3px !important;
}
.k-foot::before { content: '🌸' !important; margin-right: 8px !important; font-size: 8px !important; }
.k-foot::after { content: '♪' !important; margin-left: 8px !important; color: #D4739A !important; font-size: 8px !important; }
.k-none {
  text-align: center !important; color: #A8456E !important; font-size: 13px !important;
  padding: 24px 14px !important; font-weight: 600 !important;
  letter-spacing: 2px !important; opacity: 0.8 !important;
}
.k-none::before {
  content: '🌸' !important; display: block !important; font-size: 28px !important;
  margin-bottom: 10px !important; animation: k-petal-spin 10s linear infinite !important;
}

/* --- 4.9. 选项按钮 --- */
.markdown-body { counter-reset: option-counter; }
pre {
  position: relative !important; margin: 8px 0 !important; overflow: hidden !important;
  border-radius: 12px !important; background: transparent !important;
  border: none !important; box-shadow: none !important; padding: 0 !important;
  min-height: 55px;
}
pre div[class*="border-b"] {
  position: absolute !important; top: 0 !important; left: 0 !important;
  width: 100% !important; height: 100% !important; border: none !important;
  background: transparent !important; padding: 0 !important; margin: 0 !important;
  z-index: 2; pointer-events: none;
}
pre div[class*="border-b"] > div:first-child { display: none !important; }
pre div[data-tooltip-id] {
  position: absolute !important; top: 0; left: 0; width: 100% !important;
  height: 100% !important; margin: 0 !important; padding: 0 !important;
  display: block !important; cursor: pointer !important; background: transparent !important;
  border: none !important; pointer-events: auto; z-index: 3;
}
pre div[data-tooltip-id] .style_copyIcon__GJL9e { display: none !important; }
pre div[node="[object Object]"] {
  position: relative; z-index: 1; display: block !important; pointer-events: none;
  background: rgba(255,250,252,0.95) !important;
  border: 1px solid rgba(212,115,154,0.2) !important;
  border-left: 3px solid #D4739A !important;
  box-shadow: 0 4px 15px rgba(61,31,51,0.06) !important;
  color: #3D1F33 !important;
  font-family: 'Georgia', 'Noto Serif SC', serif !important;
  font-size: 1.05em !important; padding: 14px 20px 14px 60px !important;
  margin: 0 !important; border-radius: 12px !important; min-height: 55px;
  white-space: pre-wrap; word-break: break-word; transition: all 0.3s ease;
  counter-increment: option-counter;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
pre div[node="[object Object]"]::before {
  content: counter(option-counter); display: flex; align-items: center;
  justify-content: center; position: absolute; left: 16px; top: 50%;
  transform: translateY(-50%); width: 28px; height: 28px;
  background: linear-gradient(135deg, #D4739A, #A8456E) !important;
  color: #fff; border-radius: 50%; font-size: 0.95em; font-weight: 700;
  border: 2px solid rgba(240,198,216,0.4);
  box-shadow: 0 2px 8px rgba(212,115,154,0.35); z-index: 2;
}
pre div[node="[object Object]"] code {
  display: block; color: inherit !important; background: transparent !important;
  padding: 0 !important; margin: 0 !important;
  font-family: inherit !important; font-size: inherit !important; white-space: pre-wrap;
}
pre div[data-tooltip-id]::before {
  content: '選択'; position: absolute; top: 50%; right: 18px;
  transform: translateY(-50%) scale(0.9);
  background: linear-gradient(135deg, #D4739A, #A8456E);
  color: #ffffff; font-size: 0.85em; font-weight: 700;
  font-family: 'Georgia', serif; padding: 6px 14px; border-radius: 10px;
  letter-spacing: 2px; opacity: 0; visibility: hidden;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none; z-index: 5;
  box-shadow: 0 4px 12px rgba(212,115,154,0.3);
  border: 1px solid rgba(240,198,216,0.3);
}
pre:hover div[data-tooltip-id]::before { opacity: 1; visibility: visible; transform: translateY(-50%) scale(1); }
pre:hover div[node="[object Object]"] {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(61,31,51,0.12) !important;
  background: rgba(255,255,255,0.98) !important; border-color: #D4739A !important;
}
pre:active div[node="[object Object]"] {
  transform: translateY(1px) !important;
  background: rgba(255,240,245,0.95) !important; border-color: #A8456E !important;
}
pre:active div[data-tooltip-id]::before {
  content: '選択完了 ✓'; background: linear-gradient(135deg, #A8456E, #7B3355);
}

/* --- 4.10. 其他UI组件 --- */
.doc {
  background: #FFFAFC; border: 1px solid rgba(212,115,154,0.15);
  border-left: 3px solid #D4739A; border-radius: 12px;
  padding: 16px 20px; margin: 16px 0; position: relative;
  font-family: 'Georgia', serif; box-shadow: 0 3px 12px rgba(61,31,51,0.04);
  overflow: hidden;
}
.doc::before {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: repeating-linear-gradient(0deg, transparent, transparent 1px, rgba(212,115,154,0.02) 1px, rgba(212,115,154,0.02) 2px);
  pointer-events: none; z-index: 0;
}
.doc::after {
  content: '🌸 通信 //'; position: absolute; top: 10px; right: 15px;
  font-size: 0.65em; color: #A8456E; letter-spacing: 3px; font-weight: 700;
  animation: bloom-glow 4s ease-in-out infinite; z-index: 2;
}
.doc > * { position: relative; z-index: 1; }
.doc .title {
  color: #A8456E; font-size: 1.3em; font-weight: 700; margin: 0 0 14px 0;
  padding-bottom: 10px; border-bottom: 1px solid rgba(212,115,154,0.15);
  letter-spacing: 2px; font-family: 'Georgia', serif;
}
.doc .title::before { content: '♪'; margin-right: 12px; color: #D4739A; display: inline-block; }
.doc .content { color: #3D1F33; font-size: 0.95em; line-height: 1.7; }
.doc .content p { margin: 0 0 0.8em 0; text-align: justify; }
.doc .content p:last-child { margin-bottom: 0; }

/* 进度条 */
.progress-bar-container {
  position: relative; width: 100%; height: 20px;
  background: rgba(240,198,216,0.15);
  border: 1px solid rgba(212,115,154,0.15);
  border-radius: 10px; margin: 8px 0; overflow: hidden;
  box-shadow: inset 0 1px 4px rgba(61,31,51,0.04);
}
.progress-bar-container.hp { border-color: rgba(212,115,154,0.25); }
.progress-bar-container.sp { border-color: rgba(94,141,184,0.25); }
.progress-bar-container.armor { border-color: rgba(155,89,168,0.25); }
.progress-bar-fill {
  position: absolute; left: 0; top: 0; height: 100%;
  transition: width 0.7s ease-out;
  box-shadow: inset 0 0 8px rgba(255,255,255,0.4);
}
.progress-bar-container.hp .progress-bar-fill { background: linear-gradient(90deg, #D4739A 0%, #E08AAE 100%); }
.progress-bar-container.sp .progress-bar-fill { background: linear-gradient(90deg, #5E8DB8 0%, #7BA7CC 100%); }
.progress-bar-container.armor .progress-bar-fill { background: linear-gradient(90deg, #9B59A8 0%, #B87CC0 100%); }
.progress-bar-label {
  position: absolute; left: 8px; top: 50%; transform: translateY(-50%);
  font-weight: 700; font-size: 0.75em; color: #fff;
  text-shadow: 0 0 3px rgba(61,31,51,0.5); z-index: 2; font-family: 'Georgia', serif;
}
.progress-bar-value {
  position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
  font-weight: 700; font-size: 0.75em; color: #3D1F33;
  text-shadow: 0 1px 2px rgba(255,255,255,0.8); z-index: 2; font-family: 'Consolas', monospace;
}

.classUI-story {
  background: rgba(255,255,255,0.7);
  border: 1px solid rgba(212,115,154,0.12);
  border-radius: 12px; padding: 16px 20px; margin: 16px 0;
  color: #3D1F33; font-size: 16px; line-height: 1.8;
  box-shadow: 0 4px 12px rgba(61,31,51,0.04);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  position: relative; letter-spacing: 0.5px;
}
.classUI-story::before, .classUI-story::after {
  content: ''; position: absolute; width: 14px; height: 14px;
  border-color: rgba(212,115,154,0.25); border-style: solid; transition: all 0.4s ease;
}
.classUI-story::before { top: 8px; left: 8px; border-width: 2px 0 0 2px; border-radius: 4px 0 0 0; }
.classUI-story::after { bottom: 8px; right: 8px; border-width: 0 2px 2px 0; border-radius: 0 0 4px 0; }
.classUI-story:hover::before, .classUI-story:hover::after { border-color: #D4739A; }

.classUI-subsection {
  font-weight: 700; color: #A8456E; margin: 16px 0 10px 0;
  padding-bottom: 8px; border-bottom: 1px solid rgba(212,115,154,0.15);
  font-size: 15px; letter-spacing: 1.2px; font-family: 'Georgia', serif;
}
.classUI-npc-card {
  background: rgba(255,255,255,0.8); border: 1px solid rgba(212,115,154,0.08);
  border-radius: 12px; padding: 14px; margin: 12px 0;
  box-shadow: 0 2px 8px rgba(61,31,51,0.04);
  backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px);
  transition: all 0.4s ease;
}
.classUI-npc-card:hover { background: rgba(255,255,255,0.95); border-color: rgba(212,115,154,0.2); }
.classUI-npc-name {
  font-size: 17px; font-weight: 700; color: #3D1F33;
  margin-bottom: 12px; padding-bottom: 10px;
  border-bottom: 1px solid rgba(212,115,154,0.15);
  letter-spacing: 1.2px; font-family: 'Georgia', serif;
}
.classUI-memory { background: transparent; border-color: rgba(212,115,154,0.08); padding-bottom: 0; }
.classUI-memory-section { margin: 0 0 16px 0; padding: 0; background: transparent; border: none; }

.classUI-table {
  width: 100%; border-collapse: collapse; margin-top: 10px;
  border-radius: 12px; overflow: hidden; border: 1px solid rgba(212,115,154,0.15);
}
.classUI-table thead th {
  background: #FFE8F0; color: #3D1F33; padding: 10px; font-weight: 700;
  font-size: 14px; text-align: center; border-bottom: 2px solid #D4739A;
  font-family: 'Georgia', serif;
}
.classUI-table tbody td {
  padding: 10px; border-bottom: 1px solid rgba(212,115,154,0.08);
  background: #FFFAFC; font-size: 14px; color: #3D1F33;
  vertical-align: middle; transition: background-color 0.4s ease;
  font-family: 'Consolas', monospace;
}
.classUI-table tbody tr:last-child td { border-bottom: none; }
.classUI-table tbody tr:hover td { background: #FFF5F8; }

.classUI-actions {
  background: rgba(255,255,255,0.85); border: 1px solid rgba(212,115,154,0.15);
  border-radius: 12px; padding: 16px 20px; margin-top: 16px;
  color: #3D1F33; font-weight: 600; font-size: 16px; line-height: 1.8;
  box-shadow: 0 4px 12px rgba(61,31,51,0.04);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); letter-spacing: 0.5px;
}
.styled-prose-container wealth_info,
.styled-prose-container item_list,
.styled-prose-container spell_card_list {
  display: block; margin: 12px 0; padding: 12px 16px;
  background: #FFFAFC; border: 1px solid rgba(212,115,154,0.12);
  border-left: 3px solid #D4739A; border-radius: 12px;
  font-family: 'Georgia', serif; line-height: 1.8;
  box-shadow: inset 0 0 10px rgba(255,245,248,0.8);
  transition: all 0.4s ease; position: relative; overflow: visible;
}
.styled-prose-container wealth_info:hover,
.styled-prose-container item_list:hover,
.styled-prose-container spell_card_list:hover { background: #FFFFFF; border-color: rgba(212,115,154,0.25); }
.styled-prose-container wealth_info > span,
.styled-prose-container item_list > span,
.styled-prose-container spell_card_list > span {
  display: block; color: #A8456E; font-weight: 700; margin-bottom: 8px;
  font-size: 14px; font-family: 'Georgia', serif; letter-spacing: 1.2px;
}
.styled-prose-container spell_card_list info {
  display: inline-block; color: #C62828; font-weight: 600;
  font-size: 14px; margin-right: 6px; font-family: 'Georgia', serif;
}
.tip-r {
  display: block; color: #C62828 !important;
  background: rgba(198,40,40,0.06); border: 1px solid rgba(198,40,40,0.25);
  border-radius: 8px; padding: 8px 12px; margin-bottom: 12px;
  font-weight: 700; font-size: 14px; text-align: center;
  animation: ribbon-breathe 3.5s infinite ease-in-out; font-family: 'Georgia', serif;
}

/* 通讯模块 */
/* ── news: 社交媒体 Timeline — 仿 Twitter/X 精致版 ── */
.styled-prose-container news {
  display: block !important; margin: 20px 0 !important; padding: 0 !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(207,217,222,0.7) !important;
  border-radius: 16px !important;
  position: relative !important; overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
  font-family: -apple-system, 'Helvetica Neue', 'Segoe UI', 'Hiragino Sans', 'Noto Sans JP', sans-serif !important;
}

/* 顶栏 — 毛玻璃标题 */
.styled-prose-container news h3 {
  font-size: 16px !important; font-weight: 800 !important;
  margin: 0 !important; padding: 14px 16px !important;
  background: rgba(255,255,255,0.85) !important;
  backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important;
  color: #0F1419 !important; letter-spacing: 0 !important;
  font-family: -apple-system, 'Helvetica Neue', 'Segoe UI', 'Hiragino Sans', 'Noto Sans JP', sans-serif !important;
  border-bottom: 1px solid rgba(207,217,222,0.6) !important;
  position: sticky !important; top: 0 !important; z-index: 10 !important;
  line-height: 1.3 !important;
}
.styled-prose-container news h3::before {
  content: none !important;
}

/* ── 帖子卡片 ── */
.styled-prose-container news item {
  display: grid !important;
  grid-template-columns: 40px 1fr !important;
  grid-template-rows: auto auto auto !important;
  gap: 0 12px !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  background: #FFFFFF !important;
  border-radius: 0 !important; border-left: none !important;
  border-bottom: 1px solid rgba(207,217,222,0.5) !important;
  position: relative !important;
  line-height: 1.5 !important; font-size: 15px !important;
  color: #0F1419 !important;
  transition: background 0.15s ease !important;
}
.styled-prose-container news item:last-child { border-bottom: none !important; }
.styled-prose-container news item:hover {
  background: rgba(0,0,0,0.015) !important; transform: none !important;
}

/* 头像 — label 变成圆形头像 */
.styled-prose-container news item label {
  grid-column: 1 !important; grid-row: 1 / -1 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 40px !important; height: 40px !important; min-width: 40px !important;
  border-radius: 50% !important;
  margin: 0 !important; padding: 0 !important;
  font-size: 10.5px !important; font-weight: 700 !important;
  letter-spacing: 0 !important; line-height: 1.15 !important;
  text-align: center !important; overflow: hidden !important;
  color: #fff !important;
  box-shadow: none !important;
  position: relative !important; flex-shrink: 0 !important;
  border: none !important;
  transition: transform 0.2s ease !important;
}
.styled-prose-container news item label:hover { transform: scale(1.05) !important; }

/* .h 帖子 — 热门/官方 (玫瑰红头像) */
.styled-prose-container news item.h { border-left: none !important; }
.styled-prose-container news item.h label {
  background: linear-gradient(135deg, #FF6B81 0%, #E84057 100%) !important;
}
/* .h 底部互动栏 */
.styled-prose-container news item.h::after {
  content: '♡ · 💬 · ↻' !important;
  grid-column: 2 !important;
  display: flex !important; gap: 0 !important;
  margin-top: 10px !important;
  font-size: 13px !important; color: #536471 !important;
  letter-spacing: 8px !important;
  position: static !important; transform: none !important;
  width: auto !important; height: auto !important;
  background: none !important; border-radius: 0 !important;
  box-shadow: none !important;
  pointer-events: auto !important;
}

/* .e 帖子 — 圈内动态 (紫蓝头像) */
.styled-prose-container news item.e { border-left: none !important; }
.styled-prose-container news item.e label {
  background: linear-gradient(135deg, #9B72CF 0%, #7B5EAE 100%) !important;
}
.styled-prose-container news item.e::after {
  content: '♡ · 💬 · ↻' !important;
  grid-column: 2 !important;
  display: flex !important; margin-top: 10px !important;
  font-size: 13px !important; color: #536471 !important;
  letter-spacing: 8px !important;
  position: static !important; transform: none !important;
  width: auto !important; height: auto !important;
  background: none !important; border-radius: 0 !important;
  box-shadow: none !important;
}

/* .t 帖子 — 传闻/八卦 (薄荷绿头像) */
.styled-prose-container news item.t { border-left: none !important; }
.styled-prose-container news item.t label {
  background: linear-gradient(135deg, #5BC0A0 0%, #3DA882 100%) !important;
}
.styled-prose-container news item.t::after {
  content: '♡ · 💬 · ↻' !important;
  grid-column: 2 !important;
  display: flex !important; margin-top: 10px !important;
  font-size: 13px !important; color: #536471 !important;
  letter-spacing: 8px !important;
  position: static !important; transform: none !important;
  width: auto !important; height: auto !important;
  background: none !important; border-radius: 0 !important;
  box-shadow: none !important;
}

/* .m 帖子 — 备用 (天蓝头像) */
.styled-prose-container news item.m { border-left: none !important; }
.styled-prose-container news item.m label {
  background: linear-gradient(135deg, #5B9BD5 0%, #4A88C0 100%) !important;
}
.styled-prose-container news item.m::after {
  content: '♡ · 💬 · ↻' !important;
  grid-column: 2 !important;
  display: flex !important; margin-top: 10px !important;
  font-size: 13px !important; color: #536471 !important;
  letter-spacing: 8px !important;
  position: static !important; transform: none !important;
  width: auto !important; height: auto !important;
  background: none !important; border-radius: 0 !important;
  box-shadow: none !important;
}

/* ── 帖子左侧蓝色认证点 (热门帖子) ── */
.styled-prose-container news item.h label::after {
  content: '✓' !important; position: absolute !important;
  bottom: -2px !important; right: -2px !important;
  width: 16px !important; height: 16px !important;
  background: #1D9BF0 !important; border-radius: 50% !important;
  border: 2px solid #fff !important;
  font-size: 8px !important; color: #fff !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  line-height: 1 !important;
}

/* ═══════════════════════════════════════════════
 * board: 私信通讯 — 樱花风格版
 * ═══════════════════════════════════════════════ */
.styled-prose-container board {
  display: block !important; margin: 20px 0 !important; padding: 0 !important;
  background: linear-gradient(180deg, #FFF5F8 0%, #FFE8F0 50%, #FFF0F5 100%) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cdefs%3E%3CradialGradient id='sb1'%3E%3Cstop offset='0%25' stop-color='%23D4739A' stop-opacity='0.06'/%3E%3Cstop offset='100%25' stop-color='%23D4739A' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='sb2'%3E%3Cstop offset='0%25' stop-color='%23F0C6D8' stop-opacity='0.08'/%3E%3Cstop offset='100%25' stop-color='%23F0C6D8' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='80' cy='120' r='60' fill='url(%23sb1)'/%3E%3Ccircle cx='320' cy='80' r='45' fill='url(%23sb2)'/%3E%3Ccircle cx='200' cy='300' r='70' fill='url(%23sb1)'/%3E%3Ccircle cx='350' cy='350' r='40' fill='url(%23sb2)'/%3E%3Cg opacity='0.04'%3E%3Ctext x='50' y='200' font-size='24' fill='%23D4739A' font-family='Georgia'%3E%E2%99%AA%3C/text%3E%3Ctext x='300' y='150' font-size='18' fill='%23A8456E' font-family='Georgia'%3E%E2%99%AB%3C/text%3E%3Ctext x='150' y='350' font-size='20' fill='%23F0C6D8' font-family='Georgia'%3E%E2%99%A9%3C/text%3E%3C/g%3E%3C/svg%3E"),
    linear-gradient(180deg, #FFF5F8 0%, #FFE8F0 50%, #FFF0F5 100%) !important;
  border: 1px solid rgba(212,115,154,0.2) !important; border-radius: 16px !important;
  position: relative !important; overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(61,31,51,0.06) !important;
  font-family: -apple-system, 'Helvetica Neue', 'Hiragino Sans', 'Noto Sans JP', sans-serif !important;
}

/* 顶栏 — 樱花渐变 */
.styled-prose-container board h3 {
  font-size: 16px !important; font-weight: 700 !important;
  margin: 0 !important; padding: 14px 50px !important;
  background: linear-gradient(135deg,
    rgba(212,115,154,0.95) 0%,
    rgba(168,69,110,0.9) 100%) !important;
  backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important;
  color: #fff !important; letter-spacing: 1.5px !important;
  font-family: 'Georgia', 'Noto Serif SC', serif !important;
  border-bottom: 1px solid rgba(168,69,110,0.3) !important;
  text-align: center !important;
  position: relative !important;
  text-shadow: 0 1px 3px rgba(100,30,55,0.3) !important;
}
.styled-prose-container board h3::before {
  content: '🌸' !important; margin-right: 0 !important;
  font-size: 16px !important; font-weight: 300 !important;
  position: absolute !important; left: 16px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  opacity: 0.85 !important;
}
.styled-prose-container board h3::after {
  content: '♪' !important; position: absolute !important;
  right: 16px !important; top: 50% !important; transform: translateY(-50%) !important;
  font-size: 16px !important; color: rgba(255,255,255,0.6) !important;
  font-family: 'Georgia', serif !important;
  width: auto !important; height: auto !important;
  background-image: none !important;
}

/* ── 聊天气泡区 ── */
.styled-prose-container board item {
  display: grid !important;
  grid-template-columns: 40px 1fr !important;
  gap: 0 10px !important;
  margin: 0 !important; padding: 8px 14px !important;
  background: transparent !important;
  border-radius: 0 !important; border-left: none !important;
  position: relative !important; line-height: 1.55 !important;
  font-size: 14px !important; color: #3D1F33 !important;
  transition: none !important;
  align-items: start !important;
}
.styled-prose-container board item:first-of-type { padding-top: 14px !important; }
.styled-prose-container board item:last-of-type { padding-bottom: 16px !important; }
.styled-prose-container board item:hover {
  background: transparent !important; transform: none !important;
}

/* 头像 */
.styled-prose-container board item label {
  grid-column: 1 !important; grid-row: 1 / -1 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 40px !important; height: 40px !important; min-width: 40px !important;
  border-radius: 50% !important;
  margin: 0 !important; padding: 0 !important;
  font-size: 10px !important; font-weight: 700 !important;
  letter-spacing: 0 !important; line-height: 1.15 !important;
  text-align: center !important; overflow: hidden !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(61,31,51,0.1) !important;
  position: relative !important; flex-shrink: 0 !important;
  border: 2px solid rgba(255,255,255,0.8) !important;
  align-self: start !important; margin-top: 2px !important;
  transition: transform 0.2s ease !important;
}
.styled-prose-container board item label:hover { transform: scale(1.05) !important; }

/* 队友 — 樱瓣粉 */
.styled-prose-container board item.c label {
  background: linear-gradient(135deg, #D4739A 0%, #A8456E 100%) !important;
}
/* 其他角色 — 薰衣草紫 */
.styled-prose-container board item.r label {
  background: linear-gradient(135deg, #B07CC6 0%, #9060A8 100%) !important;
}
/* 公告 — 暖橙 */
.styled-prose-container board item.w label {
  background: linear-gradient(135deg, #E8A87C 0%, #D4956A 100%) !important;
}
/* .m 备用 — 天空蓝 */
.styled-prose-container board item.m label {
  background: linear-gradient(135deg, #7BA7CC 0%, #5E8DB8 100%) !important;
}

/* ── 气泡样式 — 白色卡片 + 清晰文字 ── */
.styled-prose-container board item.c,
.styled-prose-container board item.r,
.styled-prose-container board item.m {
  grid-template-rows: auto !important;
}

/* 所有非公告消息添加白色气泡背景 */
.styled-prose-container board item:not(.w)::before {
  content: '' !important;
  position: absolute !important;
  top: 6px !important; left: 58px !important; right: 14px !important; bottom: 6px !important;
  background: rgba(255,255,255,0.92) !important;
  border-radius: 4px 16px 16px 16px !important;
  border: 1px solid rgba(212,115,154,0.1) !important;
  box-shadow: 0 1px 4px rgba(61,31,51,0.05) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

/* 气泡内文字确保在白色背景之上 */
.styled-prose-container board item > *:not(label) {
  position: relative !important;
  z-index: 1 !important;
}

/* 气泡三角 — 左侧小尖角（白色） */
.styled-prose-container board item::after {
  content: '' !important;
  position: absolute !important;
  left: 53px !important; top: 18px !important;
  width: 0 !important; height: 0 !important;
  border-top: 6px solid transparent !important;
  border-bottom: 6px solid transparent !important;
  border-right: 7px solid rgba(255,255,255,0.92) !important;
  background: none !important; transform: none !important;
  box-shadow: none !important; border-radius: 0 !important;
  z-index: 1 !important; pointer-events: none !important;
  margin-top: 0 !important;
}
.styled-prose-container board item:first-of-type::after { top: 24px !important; }

/* 文字颜色确保清晰 */
.styled-prose-container board item:not(.w) {
  color: #3D1F33 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* ── 公告消息 — 居中系统通知 ── */
.styled-prose-container board item.w {
  display: flex !important; justify-content: center !important;
  text-align: center !important;
  padding: 4px 14px !important;
}
.styled-prose-container board item.w::before { display: none !important; }
.styled-prose-container board item.w label {
  width: auto !important; height: auto !important; min-width: 0 !important;
  border-radius: 14px !important; padding: 4px 14px !important;
  font-size: 11px !important; font-weight: 500 !important;
  background: rgba(168,69,110,0.12) !important;
  color: #A8456E !important; border: 1px solid rgba(212,115,154,0.2) !important;
  box-shadow: none !important;
  grid-column: auto !important; grid-row: auto !important;
}
.styled-prose-container board item.w::after { display: none !important; }

/* ── 未读标记 — 小樱花代替红点 ── */
.styled-prose-container board item.c label::after,
.styled-prose-container board item.r label::after {
  content: '🌸' !important; position: absolute !important;
  top: -4px !important; right: -4px !important;
  width: auto !important; height: auto !important;
  font-size: 10px !important;
  background: none !important; border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

/* ── 消息分隔 ── */
.styled-prose-container board item.c + item.c,
.styled-prose-container board item.r + item.r,
.styled-prose-container board item.c + item.r,
.styled-prose-container board item.r + item.c {
  margin-top: 2px !important;
}

/* ── 底部输入栏装饰 — 樱花风格 ── */
.styled-prose-container board::after {
  content: '' !important;
  display: block !important;
  height: 44px !important;
  background: linear-gradient(180deg, rgba(255,240,245,0.95) 0%, rgba(255,232,240,0.98) 100%) !important;
  border-top: 1px solid rgba(212,115,154,0.15) !important;
  position: relative !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 44'%3E%3Crect x='12' y='8' width='240' height='28' rx='14' fill='%23fff' stroke='%23F0C6D8' stroke-width='1'/%3E%3Ctext x='26' y='27' font-size='13' fill='%23D4739A' font-family='Georgia'%3EAa%3C/text%3E%3Ccircle cx='280' cy='22' r='14' fill='%23D4739A'/%3E%3Cpath d='M274,22 L278,26 L286,18' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ctext x='300' y='27' font-size='12' fill='%23F0C6D8' font-family='Georgia'%3E%E2%99%AA%3C/text%3E%3C/svg%3E") !important;
  background-size: 100% 100% !important; background-repeat: no-repeat !important;
  background-position: center !important;
}

/* =============================================
 * 5. 系统覆盖
 * ============================================= */
.group.ml-0 > .flex.items-start.gap-2 {
  font-family: 'Georgia', serif !important;
  background-color: #FFFAFC !important; border-radius: 12px !important;
  padding: 12px 16px !important; width: 100% !important;
  box-shadow: 0 3px 10px rgba(61,31,51,0.04) !important;
  border: 1px solid rgba(212,115,154,0.1) !important;
  transition: all 0.4s ease !important;
}
.group.ml-0 > .flex.items-start.gap-2:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(61,31,51,0.08) !important;
  background-color: #FFFFFF !important;
  border-color: rgba(212,115,154,0.25) !important;
}
.group.ml-0 .break-all { white-space: pre-wrap !important; line-height: 1.6 !important; color: #3D1F33 !important; }
.group.ml-0 > .flex.items-start.gap-2 .text-grey-600,
.group.ml-0 > .flex.items-start.gap-2 .text-gray-500,
.group.ml-0 > .flex.items-start.gap-2 .text-gray-400,
.group.ml-0 > .flex.items-start.gap-2 .font-bold { color: #3D1F33 !important; }
div.style_divider__mW0YX.style_horizontal__UvaHt {
  margin-top: 10px !important; margin-bottom: 10px !important;
  border-top: 1px solid rgba(212,115,154,0.15) !important; background: none !important;
}
.MuiButtonBase-root.MuiButton-root.css-1t7rg57,
.MuiButtonBase-root.MuiButton-root {
  font-family: 'Georgia', serif !important; font-weight: 700 !important;
  font-size: 13px !important; letter-spacing: 1.2px !important;
  color: #A8456E !important; background: transparent !important;
  border: 1px solid rgba(212,115,154,0.3) !important;
  padding: 4px 12px !important; border-radius: 12px !important;
  transition: all 0.4s ease !important; position: relative !important; overflow: hidden !important;
}
.MuiButtonBase-root.MuiButton-root:hover {
  color: #D4739A !important; background: rgba(212,115,154,0.08) !important;
  border-color: #D4739A !important; transform: translateY(-2px);
}

/* 隐藏元素 */
think { display: none !important; }
.mb-2 .shrink-0 { display: none; }
[class*="bg-[#F1CBCB]"], [class*="bg-[#c9e1e9]"] { display: none; }

/* =============================================
 * 6. 响应式 (Responsive)
 * ============================================= */
@media (max-width: 768px) {
  * { transition: none !important; }
  .bubble:hover, .group.ml-0 > .flex.items-start.gap-2:hover,
  .styled-prose-container details:hover,
  pre:hover div[node="[object Object]"] { transform: none !important; }

  .bubble.npc, .bubble.user, .classUI-story, .classUI-npc-card, .classUI-actions,
  div.group.relative > div.relative.inline-block.bg-gray-100\/90,
  .styled-prose-container T Ti, .sticky.w-full.top-0.flex.items-center,
  .p-\[5\.5px\].max-h-\[150px\],
  div:has(> .style_dot-flashing__8L91Q.style_text__zGhNq),
  div[class*="absolute"][class*="bottom-0"] button:not([id="ai-send-button"]),
  div[class*="absolute"][class*="bottom-0"],
  pre div[node="[object Object]"],
  #ai-chat-answer:last-of-type .env-sidebar[open],
  #ai-chat-answer:last-of-type .u[open],
  #ai-chat-answer:last-of-type .n[open],
  #ai-chat-answer:last-of-type details.p[open],
  #ai-chat-answer:last-of-type details.n[open],
  #ai-chat-answer:last-of-type details.ship[open],
  #ai-chat-answer:last-of-type details.m[open],
  #ai-chat-answer:last-of-type details.e[open],
  .chat-answer-container .bg-gray-100\/90.relative.inline-block,
  .bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90) {
    backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  }

  .bubble.npc, .bubble.user { background: #FFFAFC; }
  .classUI-story, div.group.relative > div.relative.inline-block.bg-gray-100\/90 { background: #FFFFFF; }
  div[class*="absolute"][class*="bottom-0"] { background: #FFF5F8; }

  .chat, .bubble, .doc, .styled-prose-container details, .classUI-story,
  .classUI-npc-card, .classUI-table, .classUI-actions,
  .sticky.w-full.top-0.flex.items-center, .p-\[5\.5px\].max-h-\[150px\],
  #ai-chat-input, #ai-send-button,
  div:has(> .style_dot-flashing__8L91Q.style_text__zGhNq),
  .styled-prose-container T Ti, div[class*="absolute"][class*="bottom-0"],
  div[class*="absolute"][class*="bottom-0"] button:not([id="ai-send-button"]),
  #ai-chat-answer:last-of-type .env-sidebar[open],
  #ai-chat-answer:last-of-type .u[open],
  #ai-chat-answer:last-of-type .n[open],
  #ai-chat-answer:last-of-type details.p[open],
  #ai-chat-answer:last-of-type details.n[open],
  #ai-chat-answer:last-of-type details.ship[open],
  #ai-chat-answer:last-of-type details.m[open],
  #ai-chat-answer:last-of-type details.e[open] { box-shadow: none !important; }

  .bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90)::before {
    width: 22px !important; height: 22px !important; top: -4px !important; right: -4px !important;
  }
  .bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90)::after {
    width: 50px !important; height: 50px !important; bottom: -5px !important; left: -5px !important;
  }

  #ai-chat-answer:last-of-type .env-sidebar[open],
  #ai-chat-answer:last-of-type .u[open],
  #ai-chat-answer:last-of-type .n[open],
  #ai-chat-answer:last-of-type details.p[open],
  #ai-chat-answer:last-of-type details.n[open],
  #ai-chat-answer:last-of-type details.ship[open],
  #ai-chat-answer:last-of-type details.m[open] { width: 300px !important; }
  #ai-chat-answer:last-of-type .env-sidebar:not([open]) > summary,
  #ai-chat-answer:last-of-type .u:not([open]) > summary,
  #ai-chat-answer:last-of-type .n:not([open]) > summary,
  #ai-chat-answer:last-of-type details.p:not([open]) > summary,
  #ai-chat-answer:last-of-type details.n:not([open]) > summary,
  #ai-chat-answer:last-of-type details.ship:not([open]) > summary,
  #ai-chat-answer:last-of-type details.m:not([open]) > summary {
    width: 32px !important; min-height: 70px !important; font-size: 11px !important; letter-spacing: 2px !important;
  }

  /* 手机位置调整 */
  #ai-chat-answer:last-of-type details.p  { top: 55px !important; }
  #ai-chat-answer:last-of-type details.n,
  #ai-chat-answer:last-of-type .n         { top: 140px !important; }
  #ai-chat-answer:last-of-type details.ship { top: 225px !important; }
  #ai-chat-answer:last-of-type details.m  { top: 320px !important; }

  /* 手机上减弱标签装饰 */
  #ai-chat-answer:last-of-type details.p:not([open]) > summary::before,
  #ai-chat-answer:last-of-type details.n:not([open]) > summary::before,
  #ai-chat-answer:last-of-type details.ship:not([open]) > summary::before,
  #ai-chat-answer:last-of-type details.m:not([open]) > summary::before {
    width: 14px !important; height: 14px !important; top: 5px !important;
  }
  #ai-chat-answer:last-of-type details.p:not([open]) > summary::after,
  #ai-chat-answer:last-of-type details.ship:not([open]) > summary::after {
    width: 12px !important; height: 12px !important; bottom: 5px !important;
  }
  #ai-chat-answer:last-of-type details.p:not([open]) > summary,
  #ai-chat-answer:last-of-type details.n:not([open]) > summary,
  #ai-chat-answer:last-of-type details.ship:not([open]) > summary,
  #ai-chat-answer:last-of-type details.m:not([open]) > summary { transition: none !important; }

  details[inv] { --grid-size: 50px !important; --gap: 5px !important; --panel-h: 960px !important; }
  details[inv] > summary { font-size: 13px !important; padding: 8px 12px 8px 32px !important; }
  details[inv] > panel { padding: 32px 10px 10px 10px !important; }
  details[inv] > panel > b { font-size: 10px !important; }
  details[inv] > panel > b > i { width: 125px !important; max-width: 50vw !important; font-size: 10px !important; }

  .k-track { margin: 10px 0 !important; }
  .k-head { padding: 10px 14px 10px 38px !important; font-size: 13px !important; }
  .k-row { padding: 8px 10px 8px 44px !important; }
  .k-tag { width: 24px !important; height: 24px !important; font-size: 11px !important; }

  pre div[node="[object Object]"] {
    padding: 12px 16px 12px 52px !important; font-size: 1em !important;
    background: #FFFAFC !important;
  }
  pre div[node="[object Object]"]::before { width: 24px; height: 24px; font-size: 0.85em; left: 14px; }
  pre div[data-tooltip-id]::before { display: none !important; }

  .top-info { margin: 12px 0 !important; background: #FFFAFC !important; }
  .top-info > * { padding: 10px 12px 10px 60px !important; font-size: 13px !important; }
  .top-info > *::before { left: 10px !important; font-size: 11px !important; padding: 3px 6px !important; }

  /* news & board 手机适配 */
  .styled-prose-container news { border-radius: 12px !important; }
  .styled-prose-container news h3 {
    font-size: 15px !important; padding: 12px 14px !important;
    backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  }
  .styled-prose-container news item {
    padding: 12px 14px !important; font-size: 14px !important;
    grid-template-columns: 34px 1fr !important;
  }
  .styled-prose-container news item label {
    width: 34px !important; height: 34px !important; min-width: 34px !important;
    font-size: 9px !important;
  }
  .styled-prose-container news item label:hover { transform: none !important; }
  .styled-prose-container news item:hover { background: #fff !important; }

  .styled-prose-container board { border-radius: 12px !important; }
  .styled-prose-container board h3 {
    font-size: 15px !important; padding: 12px 44px !important;
    backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  }
  .styled-prose-container board item {
    grid-template-columns: 36px 1fr !important; padding: 7px 12px !important;
  }
  .styled-prose-container board item label {
    width: 36px !important; height: 36px !important; min-width: 36px !important;
    font-size: 9px !important;
  }
  .styled-prose-container board item label:hover { transform: none !important; }
  .styled-prose-container board item:not(.w)::before {
    left: 52px !important;
  }
  .styled-prose-container board item::after {
    left: 47px !important;
  }
  .styled-prose-container board::after { height: 38px !important; }
  
  #ai-chat-answer:last-of-type details.m:not([open]) > summary::after {
    font-size: 11px !important;
    letter-spacing: 2px !important;
    top: 28px !important;
  }
}

@media (max-width: 480px) {
  #ai-chat-answer:last-of-type .env-sidebar[open],
  #ai-chat-answer:last-of-type .u[open],
  #ai-chat-answer:last-of-type .n[open],
  #ai-chat-answer:last-of-type details.p[open],
  #ai-chat-answer:last-of-type details.n[open],
  #ai-chat-answer:last-of-type details.ship[open],
  #ai-chat-answer:last-of-type details.m[open] { width: 270px !important; }
  #ai-chat-answer:last-of-type .env-sidebar:not([open]) > summary,
  #ai-chat-answer:last-of-type .u:not([open]) > summary,
  #ai-chat-answer:last-of-type .n:not([open]) > summary,
  #ai-chat-answer:last-of-type details.p:not([open]) > summary,
  #ai-chat-answer:last-of-type details.n:not([open]) > summary,
  #ai-chat-answer:last-of-type details.ship:not([open]) > summary,
  #ai-chat-answer:last-of-type details.m:not([open]) > summary {
    width: 28px !important; min-height: 60px !important; font-size: 10px !important; letter-spacing: 1.5px !important;
  }

  #ai-chat-answer:last-of-type details.p  { top: 50px !important; }
  #ai-chat-answer:last-of-type details.n,
  #ai-chat-answer:last-of-type .n         { top: 120px !important; }
  #ai-chat-answer:last-of-type details.ship { top: 190px !important; }
  #ai-chat-answer:last-of-type details.m  { top: 265px !important; }

  details[inv] { --grid-size: 44px !important; --gap: 4px !important; }
  details[inv] > summary { font-size: 12px !important; padding: 6px 10px 6px 28px !important; }
  details[inv] > panel > b { font-size: 9px !important; }
  details[inv] > panel > b > i { width: 115px !important; font-size: 9px !important; }

  .top-info > * { padding: 8px 10px 8px 55px !important; font-size: 12px !important; }
  .top-info > *::before { left: 8px !important; font-size: 10px !important; }

  .styled-prose-container news item { grid-template-columns: 30px 1fr !important; gap: 0 8px !important; }
  .styled-prose-container news item label { width: 30px !important; height: 30px !important; min-width: 30px !important; }

  /* Sakura board 手机适配 */
  .styled-prose-container board item { grid-template-columns: 34px 1fr !important; gap: 0 8px !important; padding: 6px 10px !important; }
  .styled-prose-container board item label { width: 34px !important; height: 34px !important; min-width: 34px !important; font-size: 9px !important; }
  .styled-prose-container board item:not(.w)::before {
    left: 48px !important; right: 10px !important;
  }
  .styled-prose-container board item::after {
    left: 43px !important;
  }
  .styled-prose-container board::after { height: 34px !important; }
  .styled-prose-container board item:hover { transform: none !important; }
  
  .styled-prose-container news item:hover { transform: none !important; }

  #ai-chat-answer:last-of-type details.m:not([open]) > summary::after {
    font-size: 10px !important;
    letter-spacing: 1.5px !important;
    top: 26px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; }
  .k-row.e.pulse, .k-row.g.pulse, .k-bar::before, .k-head::before,
  .k-none::before, details[inv] > panel > b[q="yuangu"] { animation: none !important; }
  .k-bar::after { transition: none !important; }
  .k-row:hover, details[inv] > panel > b:hover { transform: none !important; }
  .chat-answer-container .bg-gray-100\/90.relative.inline-block::before,
  .chat-answer-container .bg-gray-100\/90.relative.inline-block::after,
  .bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90)::before,
  .bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90)::after { animation: none !important; }
  .sticky.w-full.top-0.flex.items-center::before,
  .sticky.w-full.top-0.flex.items-center::after { animation: none !important; }
  #ai-chat-answer:last-of-type details.p:not([open]) > summary,
  #ai-chat-answer:last-of-type details.n:not([open]) > summary,
  #ai-chat-answer:last-of-type details.ship:not([open]) > summary,
  #ai-chat-answer:last-of-type details.m:not([open]) > summary { animation: none !important; }
}

/* =============================================
 * PATCH: details.p / details.n / details.ship / details.m — 少女乐队专用
 * (侧边栏化已在 §4.3 统一处理, 此处仅保留兜底)
 * ============================================= */

/* =============================================
 * PATCH: details.e (第四侧边栏) — 樱花版 (v2 统一风格)
 * ============================================= */
@keyframes sidebar-tab-glow-red {
  0%, 100% { box-shadow: -2px 2px 12px rgba(198,96,96,0.25); }
  50%  { box-shadow: -2px 2px 20px rgba(198,96,96,0.5), inset 0 0 20px rgba(255,255,255,0.08); }
}

.styled-prose-container details.e {
  position: relative !important; width: 100% !important;
  margin: 16px 0 !important; padding: 0 !important;
  font-family: 'Georgia', 'Noto Serif SC', serif !important;
  background: radial-gradient(circle, rgba(255,255,255,0.95) 0%, rgba(255,240,240,0.9) 100%) !important;
  border: 2px solid rgba(198,96,96,0.25) !important;
  border-left: 3px solid #C66060 !important;
  border-radius: 12px !important; overflow: hidden !important;
  transition: all 0.35s ease !important; box-shadow: none !important;
}
.styled-prose-container details.e > summary {
  padding: 12px 16px !important;
  background: linear-gradient(90deg, rgba(198,96,96,0.08), rgba(230,160,160,0.12), rgba(198,96,96,0.08)) !important;
  color: #5A2020 !important; font-weight: 700 !important; font-size: 14px !important;
  cursor: pointer !important; list-style: none !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  margin: 0 !important; border-bottom: 1px solid rgba(198,96,96,0.15) !important;
  letter-spacing: 2px !important;
}
.styled-prose-container details.e > summary::-webkit-details-marker { display: none !important; }

#ai-chat-answer:last-of-type:has(details.e) .chat,
#ai-chat-answer:last-of-type:has(details.e) .bubble,
#ai-chat-answer:last-of-type:has(details.e) div.group.relative > div.relative.inline-block.bg-gray-100\/90 {
  transform: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}

#ai-chat-answer:last-of-type details.e {
  position: fixed !important; right: 0 !important; z-index: 9998 !important;
  width: auto !important; background: transparent !important; border: none !important;
  box-shadow: none !important; margin: 0 !important; padding: 0 !important;
  overflow: visible !important; top: 510px !important;
  transform: none !important; backdrop-filter: none !important;
}

/* 折叠标签 — 暖红调 + SVG纹理 + 呼吸光晕 */
#ai-chat-answer:last-of-type details.e:not([open]) > summary {
  width: 38px !important; padding: 0 !important; margin: 0 !important;
  background: linear-gradient(180deg, #E89898, #C66060, #A04040) !important;
  color: #fff !important; border-radius: 14px 0 0 14px !important;
  border: 1px solid rgba(230,160,160,0.5) !important; border-right: none !important;
  writing-mode: vertical-rl !important; text-orientation: upright !important;
  letter-spacing: 3px !important; text-align: center !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  height: auto !important; font-size: 13px !important;
  text-shadow: 0 1px 3px rgba(100,30,30,0.4) !important;
  animation: sidebar-tab-glow-red 4s ease-in-out infinite !important;
  min-height: 80px !important;
  position: relative !important; overflow: hidden !important;
  /* 半透明花瓣纹理 */
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 200'%3E%3Cdefs%3E%3CradialGradient id='tg'%3E%3Cstop offset='0%25' stop-color='%23fff' stop-opacity='0.15'/%3E%3Cstop offset='100%25' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cellipse cx='19' cy='50' rx='6' ry='4' fill='url(%23tg)' transform='rotate(20 19 50)'%3E%3Canimate attributeName='cy' values='50;55;50' dur='4s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='0.3;0.6;0.3' dur='4s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3Cellipse cx='25' cy='120' rx='5' ry='3' fill='url(%23tg)' transform='rotate(-15 25 120)'%3E%3Canimate attributeName='cy' values='120;126;120' dur='5s' repeatCount='indefinite' begin='1s'/%3E%3Canimate attributeName='opacity' values='0.2;0.5;0.2' dur='5s' repeatCount='indefinite' begin='1s'/%3E%3C/ellipse%3E%3C/svg%3E") !important;
  background-size: 100% 100% !important; background-repeat: no-repeat !important;
}
#ai-chat-answer:last-of-type details.e:not([open]) > summary::before {
  content: '' !important; position: absolute !important;
  top: 8px !important; left: 50% !important; transform: translateX(-50%) !important;
  width: 16px !important; height: 16px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8,2 L10,6 L14,6.5 L11,9.5 L12,14 L8,11.5 L4,14 L5,9.5 L2,6.5 L6,6 Z' fill='none' stroke='rgba(255,255,255,0.55)' stroke-width='1'/%3E%3C/svg%3E") !important;
  background-size: contain !important; background-repeat: no-repeat !important;
  border: none !important; border-radius: 0 !important;
}

/* 展开面板 */
#ai-chat-answer:last-of-type details.e[open] {
  top: 60px !important; width: 350px !important; max-height: 70vh !important;
  right: 35px !important; background: rgba(255,255,255,0.98) !important;
  border: 2px solid #C66060 !important; border-right: none !important;
  border-radius: 14px 0 0 14px !important;
  box-shadow: -4px 4px 30px rgba(160,64,64,0.2), 0 0 60px rgba(230,160,160,0.12) !important;
  overflow-y: auto !important; overflow-x: hidden !important;
}
#ai-chat-answer:last-of-type details.e[open] > summary {
  writing-mode: horizontal-tb !important; padding: 14px 50px 14px 18px !important;
  background: linear-gradient(135deg, #E89898, #C66060, #A04040) !important;
  color: #fff !important; border-bottom: 2px solid rgba(255,255,255,0.2) !important;
  border-radius: 12px 0 0 0 !important; margin-bottom: 0 !important;
  position: sticky !important; top: 0 !important; z-index: 100 !important;
  text-align: left !important; display: flex !important; justify-content: flex-start !important;
  font-size: 15px !important; letter-spacing: 2.5px !important;
  text-shadow: 0 1px 4px rgba(80,20,20,0.3) !important;
  animation: none !important; min-height: 0 !important; box-shadow: none !important;
}
#ai-chat-answer:last-of-type details.e[open] > summary::before {
  content: '⚡' !important; margin-right: 8px !important; font-size: 14px !important;
  position: static !important; transform: none !important;
  border: none !important; width: auto !important; height: auto !important;
  background: none !important;
}
#ai-chat-answer:last-of-type details.e[open] > summary::after {
  content: '×' !important; position: absolute !important; right: 14px; top: 50%;
  transform: translateY(-50%); font-size: 22px !important;
  color: rgba(255,255,255,0.7) !important; font-weight: 300 !important;
}
#ai-chat-answer:last-of-type details.e[open]::-webkit-scrollbar { width: 5px; }
#ai-chat-answer:last-of-type details.e[open]::-webkit-scrollbar-track { background: rgba(198,96,96,0.06); }
#ai-chat-answer:last-of-type details.e[open]::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(198,96,96,0.35), rgba(160,64,64,0.25)); border-radius: 3px;
}

.ei-h {
  display: flex !important; justify-content: space-between !important;
  align-items: center !important; padding: 10px 14px !important;
  margin: 14px 0 10px 0 !important;
  background: linear-gradient(90deg, rgba(198,40,40,0.04), rgba(255,255,255,0.8), rgba(198,40,40,0.04)) !important;
  border: 1px solid rgba(198,40,40,0.12) !important; border-radius: 8px !important;
  font-size: 12px !important; color: #5D4037 !important; letter-spacing: 1px !important;
}
.ei-h > span:first-child::before { content: '🌸 ' !important; }
.ei-h > span:last-child {
  padding: 2px 10px !important; border-radius: 8px !important;
  font-weight: 700 !important; font-size: 11px !important;
  background: rgba(198,40,40,0.06) !important;
  border: 1px solid rgba(198,40,40,0.15) !important; color: #C62828 !important;
}
.ei {
  position: relative !important; margin: 10px 0 !important; padding: 12px 14px !important;
  background: linear-gradient(135deg, rgba(255,255,255,0.9) 0%, rgba(255,250,252,0.85) 100%) !important;
  border: 1px solid rgba(198,40,40,0.12) !important;
  border-left: 3px solid #C62828 !important; border-radius: 0 12px 12px 0 !important;
  transition: all 0.3s ease !important;
}
.ei:hover { background: rgba(255,255,255,0.98) !important; transform: translateX(3px) !important; }
.ei-n {
  display: flex !important; justify-content: space-between !important;
  font-size: 14px !important; font-weight: 700 !important; color: #3D1F33 !important;
  margin-bottom: 8px !important; padding-bottom: 8px !important;
  border-bottom: 1px dashed rgba(198,40,40,0.15) !important;
}
.ei-t {
  font-size: 11px !important; font-weight: 700 !important; padding: 3px 10px !important;
  border-radius: 8px !important; background: rgba(198,40,40,0.06) !important;
  border: 1px solid rgba(198,40,40,0.2) !important; color: #C62828 !important;
}
.ei > p { font-size: 13px !important; line-height: 1.7 !important; color: #4E3B2A !important; margin: 0 !important; }
.ei-s {
  margin: 14px 0 8px 0 !important; padding: 12px 14px !important;
  background: linear-gradient(135deg, rgba(212,115,154,0.03), rgba(198,40,40,0.03)) !important;
  border: 1px solid rgba(212,115,154,0.15) !important; border-radius: 12px !important;
}
.ei-s .classUI-subsection { color: #C62828 !important; border-bottom-color: rgba(198,40,40,0.15) !important; margin-top: 0 !important; }
.ei-s > p { font-size: 13px !important; line-height: 1.7 !important; color: #3D1F33 !important; margin: 0 !important; }

/* =============================================
 * 据点仓库 details[depot] — 樱花版
 * ============================================= */
details[depot] {
  --grid-size: 56px; --gap: 6px; --panel-h: 1120px;
  --bg-panel: rgba(255,250,252,0.98); --bg-item: rgba(255,255,255,0.9);
  --text-main: #3D1F33; --text-sub: #A8456E;
  --border: rgba(212,115,154,0.2); --accent: #D4739A;
  --q-yiban: #4A2545; --q-youzhi: #6B8E5A; --q-jingliang: #5E8DB8;
  --q-shishi: #9B59A8; --q-chuanshuo: #D4739A; --q-yuangu: #C62828;
  display: block !important; margin: 12px 0 !important;
  font-family: 'Georgia', 'Noto Serif SC', serif !important; position: relative !important;
}
details[depot] > summary {
  cursor: pointer !important; list-style: none !important; display: flex !important;
  align-items: center !important; gap: 10px !important; font-weight: 700 !important;
  font-size: 14px !important; color: var(--accent) !important;
  padding: 10px 14px 10px 36px !important;
  background: linear-gradient(90deg, rgba(212,115,154,0.06), rgba(240,198,216,0.04), rgba(212,115,154,0.06)) !important;
  border: 1px solid var(--border) !important; border-left: 3px solid var(--accent) !important;
  border-radius: 8px !important; position: relative !important; z-index: 10 !important;
}
details[depot] > summary::before {
  content: '🏠' !important; position: absolute !important; left: 10px !important;
  top: 50% !important; transform: translateY(-50%) !important; font-size: 16px !important;
}
details[depot] > summary::after {
  content: '' !important; position: absolute !important; right: 14px !important; top: 50% !important;
  width: 8px !important; height: 8px !important;
  border-right: 2px solid var(--accent) !important; border-top: 2px solid var(--accent) !important;
  transform: translateY(-50%) rotate(-45deg) !important;
}
details[depot][open] > summary::after { transform: translateY(-50%) rotate(135deg) !important; border-color: #A8456E !important; }
details[depot] > panel {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(var(--grid-size), 1fr)) !important;
  gap: var(--gap) !important; padding: 36px 12px 12px 12px !important;
  background: var(--bg-panel) !important; border: 1px solid var(--border) !important;
  border-bottom: none !important; border-left: 3px solid var(--accent) !important;
  border-radius: 12px 12px 0 0 !important; max-height: var(--panel-h) !important;
  overflow: visible !important;
  box-shadow: 0 -4px 20px rgba(61,31,51,0.12) !important;
  position: absolute !important; left: 0 !important; right: 0 !important;
  bottom: calc(100% - 1px) !important; z-index: 100 !important;
}
details[depot] > panel::before {
  content: '🏠 据点仓库' !important; position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; height: 28px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  background: linear-gradient(90deg, rgba(212,115,154,0.08), rgba(240,198,216,0.06), rgba(212,115,154,0.08)) !important;
  border-bottom: 1px solid rgba(212,115,154,0.15) !important;
  font-size: 11px !important; font-weight: 700 !important; color: #A8456E !important; letter-spacing: 3px !important;
}
details[depot] > panel > b {
  display: flex !important; align-items: center !important; justify-content: center !important;
  aspect-ratio: 1/1 !important; background: var(--bg-item) !important;
  border: 1px solid var(--border) !important; color: var(--text-main) !important;
  font-weight: 600 !important; font-size: 11px !important; cursor: help !important;
  position: static !important; border-radius: 8px !important; padding: 4px !important;
  word-break: break-all !important; line-height: 1.3 !important; overflow: visible !important;
}
details[depot] > panel > b:hover { z-index: 10 !important; transform: scale(1.08) !important; background: #FFFFFF !important; }
details[depot] > panel > b > i {
  position: fixed !important; top: 50% !important; left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 90px !important; max-width: 45vw !important; max-height: 85vh !important;
  overflow-y: auto !important; background: rgba(255,255,255,0.99) !important;
  border: 1px solid rgba(212,115,154,0.35) !important;
  border-left: 3px solid #A8456E !important;
  padding: 12px 10px !important; border-radius: 12px !important;
  box-shadow: 0 8px 30px rgba(61,31,51,0.3) !important;
  opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
  font-style: normal !important; font-size: 11px !important; line-height: 1.7 !important;
  color: var(--text-main) !important; z-index: 2147483647 !important;
}
details[depot] > panel > b > i::before {
  content: '🏠 据点存档' !important; display: block !important;
  font-size: 10px !important; font-weight: 700 !important; color: #A8456E !important;
  margin-bottom: 6px !important; padding-bottom: 6px !important;
  border-bottom: 1px solid rgba(168,69,110,0.2) !important;
}
details[depot] > panel > b:hover > i { opacity: 1 !important; visibility: visible !important; }
details[depot] > panel > b[q="yiban"] { color: var(--q-yiban) !important; border-color: var(--q-yiban) !important; }
details[depot] > panel > b[q="youzhi"] { color: var(--q-youzhi) !important; border-color: var(--q-youzhi) !important; }
details[depot] > panel > b[q="jingliang"] { color: var(--q-jingliang) !important; border-color: var(--q-jingliang) !important; }
details[depot] > panel > b[q="shishi"] { color: var(--q-shishi) !important; border-color: var(--q-shishi) !important; }
details[depot] > panel > b[q="chuanshuo"] { color: var(--q-chuanshuo) !important; border-color: var(--q-chuanshuo) !important; }
details[depot] > panel > b[q="yuangu"] { color: var(--q-yuangu) !important; border-color: var(--q-yuangu) !important; animation: inv-item-glow 2.5s ease-in-out infinite !important; }
details[depot], details[depot] > panel { overflow: visible !important; }

/* =============================================
 * 交易终端 — 樱花版
 * ============================================= */
@keyframes sp-blink-dot { 0%, 100% { opacity: 1; } 50% { opacity: 0.2; } }
@keyframes sp-cmd-cursor { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }
@keyframes sp-header-pipe { 0% { background-position: 0% 0; } 100% { background-position: 200% 0; } }
@keyframes sp-yuangu-pulse { 0%, 100% { box-shadow: inset 3px 0 0 var(--color-yuangu), 0 0 6px rgba(198,40,40,0.2); } 50% { box-shadow: inset 3px 0 0 var(--color-yuangu), 0 0 14px rgba(198,40,40,0.4); } }
@keyframes sp-balance-shimmer { 0%, 100% { text-shadow: 0 0 4px rgba(212,115,154,0.3); } 50% { text-shadow: 0 0 10px rgba(212,115,154,0.6); } }

.sp-vendor-ui {
  position: relative; width: 100%; margin: 20px 0;
  font-family: 'Georgia', 'Noto Serif SC', serif; color: #3D1F33;
  background: linear-gradient(180deg, rgba(255,253,254,0.98) 0%, rgba(255,250,252,0.96) 30%, rgba(255,240,245,0.94) 100%);
  border: 2px solid rgba(212,115,154,0.3); border-radius: 16px;
  box-shadow: 0 6px 24px rgba(61,31,51,0.08); overflow: hidden;
}
.sp-vendor-ui::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, transparent 0%, #F0C6D8 15%, #D4739A 35%, #A8456E 50%, #D4739A 65%, #F0C6D8 85%, transparent 100%);
  background-size: 200% 100%; animation: sp-header-pipe 5s linear infinite; z-index: 5;
}
.sp-vendor-ui::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, transparent 0%, rgba(212,115,154,0.4) 20%, rgba(240,198,216,0.6) 50%, rgba(212,115,154,0.4) 80%, transparent 100%);
  z-index: 5;
}
.sp-header {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 8px; padding: 14px 18px 12px;
  background: linear-gradient(135deg, rgba(212,115,154,0.08) 0%, rgba(240,198,216,0.1) 40%, rgba(255,255,255,0.85) 70%, rgba(212,115,154,0.06) 100%);
  border-bottom: 1px solid rgba(212,115,154,0.2); position: relative;
}
.sp-header > * { position: relative; z-index: 1; }
.sp-title-box { display: flex; align-items: center; gap: 10px; }
.sp-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; background: linear-gradient(135deg, #D4739A, #A8456E);
  color: #fff; border-radius: 50%; font-size: 16px;
  border: 2px solid rgba(240,198,216,0.5); box-shadow: 0 2px 8px rgba(212,115,154,0.3);
}
.sp-vendor-name { margin: 0; font-size: 16px; font-weight: 700; color: #3D1F33; letter-spacing: 1.5px; }
.sp-sub { font-size: 13px; font-weight: 600; color: #A8456E; letter-spacing: 1px; }
.sp-connection {
  display: flex; align-items: center; gap: 6px;
  font-size: 11px; font-weight: 700; color: #A8456E;
  padding: 4px 12px; background: rgba(255,255,255,0.7);
  border: 1px solid rgba(212,115,154,0.15); border-radius: 8px;
}
.sp-blink { color: #7BAF7B; font-size: 10px; animation: sp-blink-dot 1.6s ease-in-out infinite; }
.sp-balance-bar {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 8px; padding: 10px 18px;
  background: linear-gradient(90deg, rgba(240,198,216,0.1) 0%, rgba(255,255,255,0.9) 50%, rgba(240,198,216,0.1) 100%);
  border-bottom: 1px solid rgba(212,115,154,0.1);
}
.sp-bal-label { font-size: 12px; font-weight: 600; color: #A8456E; letter-spacing: 2px; }
.sp-bal-value { font-size: 15px; font-weight: 700; color: #D4739A; animation: sp-balance-shimmer 3.5s ease-in-out infinite; }
.sp-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; }
.sp-col { padding: 14px 16px; border-right: 1px dashed rgba(212,115,154,0.1); border-bottom: 1px dashed rgba(212,115,154,0.1); }
.sp-col:nth-child(2n) { border-right: none; }
.sp-col.sp-full-width { grid-column: 1 / -1; border-right: none; border-bottom: none; }
.sp-cat-title {
  margin: 0 0 12px; padding: 8px 12px; font-size: 13px; font-weight: 700;
  letter-spacing: 2px; color: #3D1F33; border-bottom: 2px solid rgba(212,115,154,0.2);
  position: relative;
}
.sp-cat-title::before { content: ''; position: absolute; bottom: -2px; left: 0; width: 40px; height: 2px; }
.sp-cat-title[data-type="core"]::before { background: #D4739A; }
.sp-cat-title[data-type="consumable"]::before { background: #7BAF7B; }
.sp-cat-title[data-type="special"]::before { background: #9B59A8; }
.sp-item-list { list-style: none; margin: 0; padding: 0; }
.sp-item-list.sp-horizontal { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.sp-item {
  position: relative; margin: 0 0 10px; padding: 10px 14px;
  background: linear-gradient(135deg, rgba(255,255,255,0.92) 0%, rgba(255,250,252,0.88) 100%);
  border: 1px solid rgba(212,115,154,0.12); border-left: 3px solid #D4739A;
  border-radius: 0 12px 12px 0; transition: all 0.3s ease; overflow: hidden;
}
.sp-item:last-child { margin-bottom: 0; }
.sp-item:hover { transform: translateX(4px); background: rgba(255,255,255,0.98); box-shadow: 0 3px 12px rgba(61,31,51,0.08); }
.sp-item::after {
  content: ''; position: absolute; top: 0; left: -100%; bottom: 0; width: 60%;
  background: linear-gradient(90deg, transparent, rgba(240,198,216,0.12), transparent);
  transition: left 0.6s ease; pointer-events: none;
}
.sp-item:hover::after { left: 120%; }
.sp-item.tier-yiban { border-left-color: var(--color-yiban); }
.sp-item.tier-youzhi { border-left-color: var(--color-youzhi); }
.sp-item.tier-jingliang { border-left-color: var(--color-jingliang); }
.sp-item.tier-shishi { border-left-color: var(--color-shishi); }
.sp-item.tier-chuanshuo { border-left-color: var(--color-chuanshuo); }
.sp-item.tier-yuangu { border-left-color: var(--color-yuangu); animation: sp-yuangu-pulse 2.5s ease-in-out infinite; }
.sp-item.tier-yiban .sp-i-name { color: var(--color-yiban); }
.sp-item.tier-youzhi .sp-i-name { color: var(--color-youzhi); }
.sp-item.tier-jingliang .sp-i-name { color: var(--color-jingliang); }
.sp-item.tier-shishi .sp-i-name { color: var(--color-shishi); }
.sp-item.tier-chuanshuo .sp-i-name { color: var(--color-chuanshuo); }
.sp-item.tier-yuangu .sp-i-name { color: var(--color-yuangu); }
.sp-i-name::before { display: inline-block; margin-right: 6px; font-size: 0.85em; }
.sp-item.tier-yiban .sp-i-name::before { content: '·'; }
.sp-item.tier-youzhi .sp-i-name::before { content: '◆'; color: var(--color-youzhi); }
.sp-item.tier-jingliang .sp-i-name::before { content: '◆'; color: var(--color-jingliang); }
.sp-item.tier-shishi .sp-i-name::before { content: '◈'; color: var(--color-shishi); }
.sp-item.tier-chuanshuo .sp-i-name::before { content: '♪'; color: var(--color-chuanshuo); }
.sp-item.tier-yuangu .sp-i-name::before { content: '✦'; color: var(--color-yuangu); }
.sp-i-top { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-bottom: 6px; }
.sp-i-name { font-size: 14px; font-weight: 700; letter-spacing: 0.8px; }
.sp-i-price {
  font-size: 13px; font-weight: 700; color: #A8456E; white-space: nowrap;
  padding: 2px 10px; background: rgba(212,115,154,0.05);
  border: 1px solid rgba(212,115,154,0.15); border-radius: 8px;
}
.sp-i-desc { font-size: 12px; line-height: 1.65; color: #5D4037; text-align: justify; }
.sp-footer {
  padding: 14px 18px;
  background: linear-gradient(180deg, rgba(255,240,245,0.6) 0%, rgba(255,250,252,0.95) 100%);
  border-top: 1px solid rgba(212,115,154,0.15); position: relative;
}
.sp-footer::before {
  content: ''; position: absolute; top: -1px; left: 10%; right: 10%; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(240,198,216,0.5), transparent);
}
.sp-cmd { margin: 0 0 10px; font-size: 12px; font-weight: 700; color: #A8456E; letter-spacing: 1.5px; }
.sp-cmd::after { content: '▮'; display: inline-block; margin-left: 2px; color: #D4739A; animation: sp-cmd-cursor 1s steps(1) infinite; }
.sp-quote {
  margin: 0; font-size: 13px; line-height: 1.7; color: #4E3B2A; font-style: normal; /* 修复斜体问题 */
  padding: 10px 14px; background: rgba(255,255,255,0.6);
  border-left: 3px solid #F0C6D8; border-radius: 0 12px 12px 0;
}
.sp-npc-tag { font-style: normal; font-weight: 700; color: #A8456E; }

@media (max-width: 768px) {
  .sp-vendor-ui { margin: 14px 0; }
  .sp-grid { grid-template-columns: 1fr; }
  .sp-col { border-right: none; }
  .sp-header { flex-direction: column; align-items: flex-start; padding: 12px 14px; }
  .sp-item:hover { transform: none; }
  .sp-item::after { display: none; }
  .sp-item-list.sp-horizontal { grid-template-columns: 1fr; }

  .styled-prose-container details.e { transition: none !important; }
  #ai-chat-answer:last-of-type details.e[open] { width: 300px !important; box-shadow: none !important; }
  #ai-chat-answer:last-of-type details.e:not([open]) > summary {
    width: 32px !important; min-height: 65px !important; font-size: 11px !important; letter-spacing: 2px !important;
  }
  #ai-chat-answer:last-of-type details.e { top: 410px !important; }
  .ei:hover { transform: none !important; }

  details[depot] { --grid-size: 50px !important; --gap: 5px !important; }
  details[depot] > summary { font-size: 13px !important; }
  details[depot] > panel > b { font-size: 10px !important; }
}
@media (max-width: 480px) {
  #ai-chat-answer:last-of-type details.e[open] { width: 270px !important; }
  #ai-chat-answer:last-of-type details.e:not([open]) > summary {
    width: 28px !important; min-height: 55px !important; font-size: 10px !important; letter-spacing: 1.5px !important;
  }
  #ai-chat-answer:last-of-type details.e { top: 340px !important; }
  details[depot] { --grid-size: 44px !important; --gap: 4px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .sp-vendor-ui::before, .sp-item.tier-yuangu, .sp-blink, .sp-cmd::after, .sp-bal-value { animation: none !important; }
  .sp-item:hover { transform: none !important; }
  .ei:hover { transform: none !important; }
  details[depot] > panel > b[q="yuangu"] { animation: none !important; }
  #ai-chat-answer:last-of-type details.e:not([open]) > summary { animation: none !important; }
.styled-prose-container [class*=card-body-chuanqi] { animation: none; }
}

/* =============================================
 * PATCH v3: 过往记忆 (.m) 折叠标签 — 文字修正 + 间距收紧
 * ============================================= */

/* ── 折叠态：隐藏 summary 原始文字 ── */
#ai-chat-answer:last-of-type details.m:not([open]) > summary {
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  gap: 0 !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

/* ── 折叠态：书本图标位置下移，紧贴文字 ── */
#ai-chat-answer:last-of-type details.m:not([open]) > summary::before {
  top: 10px !important;
  margin-bottom: 2px !important;
}

/* ── 折叠态：用 ::after 重绘纯净标题 ── */
#ai-chat-answer:last-of-type details.m:not([open]) > summary::after {
  content: '过往记忆' !important;
  display: block !important;
  font-size: 13px !important;
  line-height: 1 !important;
  color: #fff !important;
  writing-mode: vertical-rl !important;
  text-orientation: upright !important;
  letter-spacing: 3px !important;
  font-weight: 700 !important;
  font-family: 'Georgia', 'Noto Serif SC', serif !important;
  text-shadow: 0 1px 3px rgba(30,50,80,0.4) !important;
  position: absolute !important;
  top: 32px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

/* ── 手机端 ── */
@media (max-width: 768px) {
  #ai-chat-answer:last-of-type details.m:not([open]) > summary::after {
    font-size: 11px !important;
    letter-spacing: 2px !important;
    top: 28px !important;
  }
}
@media (max-width: 480px) {
  #ai-chat-answer:last-of-type details.m:not([open]) > summary::after {
    font-size: 10px !important;
    letter-spacing: 1.5px !important;
    top: 26px !important;
  }
}

/* 🎤 演唱歌词 · 樱花明亮版 */
@keyframes lyr-glow {
  0%,100% { text-shadow: 0 0 6px rgba(168,69,110,0.3); }
  50% { text-shadow: 0 0 14px rgba(168,69,110,0.6), 0 0 28px rgba(212,115,154,0.25); }
}
@keyframes lyr-border {
  0%,100% { border-color: rgba(212,115,154,0.25); }
  50% { border-color: rgba(212,115,154,0.5); }
}
.styled-prose-container lyrics {
  display: block; position: relative; margin: 20px 0; padding: 28px 24px;
  background:
    radial-gradient(ellipse at 30% 30%, rgba(212,115,154,0.08) 0%, transparent 60%),
    radial-gradient(ellipse at 70% 70%, rgba(240,198,216,0.1) 0%, transparent 50%),
    linear-gradient(160deg, #FFF5F8 0%, #FFE8F0 40%, #FFFAFC 100%);
  border: 2px solid rgba(212,115,154,0.25); border-radius: 16px;
  text-align: center; font-family: 'Georgia', 'Noto Serif SC', serif;
  line-height: 2.4; color: #A8456E; font-size: 15px;
  letter-spacing: 2px; overflow: hidden;
  animation: lyr-border 4s ease-in-out infinite;
  box-shadow: 0 4px 20px rgba(212,115,154,0.1), inset 0 0 30px rgba(255,255,255,0.6);
}
.styled-prose-container lyrics em {
  display: block; font-style: normal; font-size: 19px; font-weight: 900;
  color: #D4739A; letter-spacing: 4px; padding: 10px 0;
  animation: lyr-glow 2.5s ease-in-out infinite;
}
@media (max-width: 768px) {
  .styled-prose-container lyrics { padding: 20px 16px; font-size: 13px; }
  .styled-prose-container lyrics em { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .styled-prose-container lyrics, .styled-prose-container lyrics em { animation: none; }
}

/* 全局防斜体机制 */
.styled-prose-container em,
.styled-prose-container i:not([class]) {
  font-style: normal !important;
}
/* 修复 LINE/私信 气泡文字被背景遮挡的问题 */
.styled-prose-container board item msg {
  display: inline-block !important;
  position: relative !important;
  z-index: 2 !important; /* 强制提升层级，盖过白色背景 */
  color: #3D1F33 !important; /* 确保字体为深色 */
  font-size: 14px !important;
  font-weight: 500 !important;
  word-break: break-word !important;
  align-self: center !important;
  margin-top: 1px !important;
}
/* =============================================
 * 🎵 BGM播放器 — 少女乐队·桜テーマ
 * 仅作用于 audio.classUI-audio-player
 * ============================================= */

@keyframes bgm-glow-pulse {
  0%, 100% { box-shadow: 0 3px 16px rgba(212,115,154,0.18); }
  50%       { box-shadow: 0 5px 24px rgba(212,115,154,0.38), 0 0 0 3px rgba(212,115,154,0.07); }
}
@keyframes bgm-border-flow {
  0%   { border-color: rgba(212,115,154,0.30); }
  50%  { border-color: rgba(168, 69,110,0.55); }
  100% { border-color: rgba(212,115,154,0.30); }
}

audio.classUI-audio-player {
  display: block !important;
  width: 100% !important;
  height: 44px !important;
  margin: 8px 0 !important;
  border-radius: 22px !important;
  outline: none !important;
  cursor: pointer !important;

  /* 背景 */
  background: linear-gradient(135deg,
    rgba(255,250,252,0.98) 0%,
    rgba(255,240,248,0.95) 50%,
    rgba(255,250,252,0.98) 100%) !important;

  /* 边框 + 光晕 */
  border: 1.5px solid rgba(212,115,154,0.30) !important;
  box-shadow: 0 3px 16px rgba(212,115,154,0.18) !important;

  /* 动画 */
  animation:
    bgm-glow-pulse 4s ease-in-out infinite,
    bgm-border-flow 4s ease-in-out infinite !important;

  /* 进度条/按钮跟主色走 */
  accent-color: #D4739A !important;
  color-scheme: light !important;

  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}

audio.classUI-audio-player:hover {
  box-shadow:
    0 5px 24px rgba(212,115,154,0.30),
    0 0 0 3px rgba(212,115,154,0.08) !important;
  border-color: rgba(168,69,110,0.50) !important;
}

/* 减弱动效模式 */
@media (prefers-reduced-motion: reduce) {
  audio.classUI-audio-player {
    animation: none !important;
    box-shadow: 0 2px 8px rgba(212,115,154,0.15) !important;
  }
}

/* 手机端收窄 */
@media (max-width: 768px) {
  audio.classUI-audio-player {
    height: 40px !important;
    border-radius: 20px !important;
    animation: none !important;
    box-shadow: 0 2px 8px rgba(212,115,154,0.12) !important;
  }
}
/* --- 功能状态栏 (Function Bar) — 樱花版 --- */
.styled-prose-container fbar {
  display: block !important;
  text-align: center !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #A8456E !important;
  letter-spacing: 1.5px !important;
  padding: 8px 14px !important;
  margin: 8px 0 0 0 !important;
  border-top: 1px dashed rgba(212,115,154,0.2) !important;
  font-family: 'Georgia', 'Noto Serif SC', serif !important;
  line-height: 1.8 !important;
}

/* =============================================
 * MOBILE PERFORMANCE OPTIMIZATION
 * P0-1: backdrop-filter removal
 * P0-2: infinite animation disable
 * P1:   multi-layer box-shadow simplification
 * ============================================= */
@media (max-width: 768px) {

  /* ========== P0-1: backdrop-filter ========== */
  *,
  *::before,
  *::after {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .sticky.w-full.top-0.flex.items-center {
    background: rgba(255, 250, 252, 0.97) !important;
  }
  .chat {
    background: rgba(255, 252, 254, 0.98) !important;
  }
  .bubble.npc {
    background: rgba(255, 252, 254, 0.96) !important;
  }
  .bubble.user {
    background: rgba(255, 248, 251, 0.96) !important;
  }
  #ai-chat-input {
    background: rgba(255, 252, 254, 0.97) !important;
  }
  .p-\\[5\\.5px\\].max-h-\\[150px\\] {
    background: rgba(255, 252, 254, 0.97) !important;
  }
  div[class*="absolute"][class*="bottom-0"] {
    background: rgba(255, 250, 252, 0.97) !important;
  }
  div:has(> .style_dot-flashing__8L91Q.style_text__zGhNq) {
    background: rgba(255, 252, 254, 0.97) !important;
  }

  /* ========== P0-2: infinite ========== */
  cot::before,
  div:has(> .style_dot-flashing__8L91Q.style_text__zGhNq)::after,
  .sticky.w-full.top-0.flex.items-center::after,
  #ai-send-button:hover,
  div[class*="absolute"][class*="bottom-0"]::before,
  div[class*="absolute"][class*="bottom-0"]::after,
  .chat::before,
  .bubble.npc::after,
  .bubble.npc .name::before,
  .bubble.user::after,
  .bubble.user .name::before,
  .bg-gray-100\\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\\/90)::before,
  .bg-gray-100\\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\\/90)::after,
  #ai-chat-answer:last-of-type details.p:not([open]) > summary,
  #ai-chat-answer:last-of-type details.n:not([open]) > summary,
  #ai-chat-answer:last-of-type details.ship:not([open]) > summary,
  #ai-chat-answer:last-of-type details.m:not([open]) > summary,
  #ai-chat-answer:last-of-type details.e:not([open]) > summary,
  details[inv] > panel > b[q="yuangu"],
  .k-head::before,
  .k-bar::before,
  .k-row.e.pulse,
  .k-row.g.pulse,
  .k-none::before,
  .doc::after,
  .tip-r,
  details[depot] > panel > b[q="yuangu"],
  .sp-vendor-ui::before,
  .sp-blink,
  .sp-bal-value,
  .sp-item.tier-yuangu,
  .sp-cmd::after,
  .styled-prose-container lyrics,
  .styled-prose-container lyrics em,
  audio.classUI-audio-player {
    animation: none !important;
  }

  /* 移除纯装饰伪元素 */
  .chat::before,
  div[class*="absolute"][class*="bottom-0"]::before,
  div[class*="absolute"][class*="bottom-0"]::after,
  .sticky.w-full.top-0.flex.items-center::after {
    display: none !important;
  }

  /* ========== P1: box-shadow ========== */

  /* --- 顶栏 --- */
  .sticky.w-full.top-0.flex.items-center {
    box-shadow: 0 2px 12px rgba(212, 115, 154, 0.08) !important;
  }
  .sticky.w-full.top-0.flex.items-center .inline-flex.items-center {
    box-shadow: 0 1px 4px rgba(212, 115, 154, 0.08) !important;
  }
  .sticky.w-full.top-0.flex.items-center .inline-flex.items-center:hover {
    box-shadow: 0 2px 8px rgba(212, 115, 154, 0.15) !important;
  }
  #ai-model-selector .group {
    box-shadow: 0 1px 6px rgba(212, 115, 154, 0.08) !important;
  }
  #ai-model-selector .group:hover {
    box-shadow: 0 2px 10px rgba(168, 69, 110, 0.14) !important;
  }
  #header-setting-button:hover {
    box-shadow: 0 2px 8px rgba(212, 115, 154, 0.2) !important;
  }

  /* --- 聊天区 --- */
  .chat {
    box-shadow: 0 2px 10px rgba(61, 31, 51, 0.04) !important;
  }
  .bubble {
    box-shadow: 0 2px 8px rgba(61, 31, 51, 0.06) !important;
  }

  /* --- 消息容器 --- */
  .chat-answer-container .bg-gray-100\\/90.relative.inline-block {
    box-shadow: 0 4px 14px rgba(61, 31, 51, 0.06) !important;
  }
  .bg-gray-100\\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\\/90) {
    box-shadow: 0 3px 14px rgba(168, 69, 110, 0.06) !important;
  }
  div:has(> .style_dot-flashing__8L91Q.style_text__zGhNq) {
    box-shadow: 0 3px 14px rgba(61, 31, 51, 0.05) !important;
  }

  /* --- 输入区 --- */
  .p-\\[5\\.5px\\].max-h-\\[150px\\] {
    box-shadow: 0 -2px 10px rgba(61, 31, 51, 0.05) !important;
  }
  #ai-chat-input {
    box-shadow: inset 0 1px 4px rgba(212, 115, 154, 0.04) !important;
  }
  #ai-chat-input:focus {
    box-shadow: 0 0 8px rgba(212, 115, 154, 0.15) !important;
  }
  #ai-send-button {
    box-shadow: 0 2px 10px rgba(212, 115, 154, 0.25) !important;
  }
  #ai-send-button:hover {
    box-shadow: 0 3px 14px rgba(168, 69, 110, 0.35) !important;
  }
  #ai-send-button:active {
    box-shadow: 0 1px 6px rgba(168, 69, 110, 0.3) !important;
  }

  /* --- 底部按钮 --- */
  div[class*="absolute"][class*="bottom-0"] {
    box-shadow: 0 -2px 10px rgba(61, 31, 51, 0.05) !important;
  }
  div[class*="absolute"][class*="bottom-0"] button:not([id="ai-send-button"]) {
    box-shadow: 0 1px 6px rgba(61, 31, 51, 0.05) !important;
  }
  div[class*="absolute"][class*="bottom-0"] button:not([id="ai-send-button"]):hover {
    box-shadow: 0 2px 10px rgba(212, 115, 154, 0.12) !important;
  }
  div[class*="absolute"][class*="bottom-0"] button:not([id="ai-send-button"]):active {
    box-shadow: 0 1px 4px rgba(61, 31, 51, 0.05) !important;
  }

  /* --- details 面板 --- */
  .styled-prose-container details {
    box-shadow: 0 2px 10px rgba(61, 31, 51, 0.04) !important;
  }
  .styled-prose-container details:hover {
    box-shadow: 0 3px 14px rgba(61, 31, 51, 0.06) !important;
  }
  #ai-chat-answer:last-of-type .u:not([open]) > summary {
    box-shadow: -1px 1px 8px rgba(61, 31, 51, 0.12) !important;
  }
  #ai-chat-answer:last-of-type details.n[open] {
    box-shadow: -2px 2px 16px rgba(168, 69, 110, 0.12) !important;
  }
  #ai-chat-answer:last-of-type details.ship[open] {
    box-shadow: -2px 2px 16px rgba(77, 138, 77, 0.12) !important;
  }
  #ai-chat-answer:last-of-type details.m[open] {
    box-shadow: -2px 2px 16px rgba(80, 128, 160, 0.12) !important;
  }
  #ai-chat-answer:last-of-type details.e[open] {
    box-shadow: -2px 2px 16px rgba(160, 64, 64, 0.12) !important;
  }

  /* --- 背包面板 inv --- */
  details[inv] > panel {
    box-shadow: 0 -2px 12px rgba(61, 31, 51, 0.08) !important;
  }
  details[inv] > panel > b {
    box-shadow: 0 1px 3px rgba(61, 31, 51, 0.05) !important;
  }
  details[inv] > panel > b:hover {
    box-shadow: 0 2px 8px rgba(212, 115, 154, 0.12) !important;
  }
  details[inv] > panel > b > i {
    box-shadow: 0 4px 16px rgba(61, 31, 51, 0.2) !important;
  }
  details[inv] > panel > b[e] {
    box-shadow: 0 0 6px rgba(240, 198, 216, 0.2) !important;
  }
  details[inv] > panel > b[e]::after {
    box-shadow: 0 0 4px rgba(212, 115, 154, 0.2) !important;
  }

  /* --- 仓库面板 depot --- */
  details[depot] > panel {
    box-shadow: 0 -2px 12px rgba(61, 31, 51, 0.08) !important;
  }
  details[depot] > panel > b > i {
    box-shadow: 0 4px 16px rgba(61, 31, 51, 0.2) !important;
  }
  details[depot] > panel > b > i::before {
    box-shadow: none !important;
  }

  /* --- 操作按钮 pre --- */
  pre div[node="[object Object]"] {
    box-shadow: 0 2px 10px rgba(61, 31, 51, 0.05) !important;
  }
  pre div[node="[object Object]"]::before {
    box-shadow: 0 1px 6px rgba(212, 115, 154, 0.25) !important;
  }
  pre div[data-tooltip-id]::before {
    box-shadow: 0 2px 8px rgba(212, 115, 154, 0.2) !important;
  }
  pre:hover div[node="[object Object]"] {
    box-shadow: 0 4px 14px rgba(61, 31, 51, 0.08) !important;
  }

  /* --- 文档/卡片 --- */
  .doc {
    box-shadow: 0 2px 10px rgba(61, 31, 51, 0.04) !important;
  }
  .styled-prose-container T Ti {
    box-shadow: 0 4px 14px rgba(61, 31, 51, 0.08) !important;
  }
  .styled-prose-container [class*=card-body-] {
    box-shadow: 0 4px 14px rgba(61, 31, 51, 0.08) !important;
  }

  /* --- top-info --- */
  .top-info {
    box-shadow: 0 2px 10px rgba(61, 31, 51, 0.04) !important;
  }
  .top-info > time::before {
    box-shadow: 0 1px 4px rgba(212, 115, 154, 0.2) !important;
  }
  .top-info > position::before {
    box-shadow: 0 1px 4px rgba(168, 69, 110, 0.2) !important;
  }
  .top-info > env::before {
    box-shadow: 0 1px 4px rgba(123, 175, 123, 0.2) !important;
  }

  /* --- classUI --- */
  .classUI-story {
    box-shadow: 0 2px 10px rgba(61, 31, 51, 0.04) !important;
  }
  .classUI-npc-card {
    box-shadow: 0 1px 6px rgba(61, 31, 51, 0.04) !important;
  }
  .classUI-actions {
    box-shadow: 0 2px 10px rgba(61, 31, 51, 0.04) !important;
  }

  /* --- 进度条 --- */
  .progress-bar-container {
    box-shadow: none !important;
  }
  .progress-bar-fill {
    box-shadow: none !important;
  }

  /* --- 商店 --- */
  .sp-vendor-ui {
    box-shadow: 0 3px 14px rgba(61, 31, 51, 0.06) !important;
  }
  .sp-icon {
    box-shadow: 0 1px 6px rgba(212, 115, 154, 0.2) !important;
  }
  .sp-item {
    box-shadow: 0 2px 8px rgba(61, 31, 51, 0.06) !important;
  }

  /* --- 歌词/公告/棋盘 --- */
  .styled-prose-container lyrics {
    box-shadow: 0 2px 10px rgba(212, 115, 154, 0.08) !important;
  }
  .styled-prose-container spell_card_list {
    box-shadow: none !important;
  }
  .styled-prose-container news {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  }
  .styled-prose-container board {
    box-shadow: 0 2px 10px rgba(61, 31, 51, 0.05) !important;
  }
  .styled-prose-container board item label {
    box-shadow: 0 1px 6px rgba(61, 31, 51, 0.06) !important;
  }
  .styled-prose-container board item:not(.w)::before {
    box-shadow: none !important;
  }

  /* --- 侧栏历史 --- */
  .group.ml-0 > .flex.items-start.gap-2 {
    box-shadow: 0 2px 8px rgba(61, 31, 51, 0.04) !important;
  }
  .group.ml-0 > .flex.items-start.gap-2:hover {
    box-shadow: 0 3px 12px rgba(61, 31, 51, 0.06) !important;
  }

  /* --- 音频播放器 --- */
  audio.classUI-audio-player {
    box-shadow: 0 2px 10px rgba(212, 115, 154, 0.12) !important;
  }
  audio.classUI-audio-player:hover {
    box-shadow: 0 3px 14px rgba(212, 115, 154, 0.2) !important;
  }
}

/* prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}
/* ── 特定角色头像 — MyGO!!!!! ── */
.styled-prose-container board item.anon label,
.styled-prose-container news item.anon label {
  background: none !important;
  background-image: url("https://tweark.dpdns.org/750a1f26cffc1e173161970c0c90f603728de951.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  font-size: 0 !important;
  color: transparent !important;
}
.styled-prose-container board item.taki label,
.styled-prose-container news item.taki label {
  background: none !important;
  background-image: url("https://tweark.dpdns.org/81e6dea98226cffca4f4a48fff014a90f703ea51.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  font-size: 0 !important;
  color: transparent !important;
}
.styled-prose-container board item.tomo label,
.styled-prose-container news item.tomo label {
  background: none !important;
  background-image: url("https://tweark.dpdns.org/dd672a4543a98226761f301acc82b9014b90eb51.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  font-size: 0 !important;
  color: transparent !important;
}
.styled-prose-container board item.mutsu label,
.styled-prose-container news item.mutsu label {
  background: none !important;
  background-image: url("https://tweark.dpdns.org/86f265198618367a1d5764e068738bd4b21ce551.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  font-size: 0 !important;
  color: transparent !important;
}
.styled-prose-container board item.rana label,
.styled-prose-container news item.rana label {
  background: none !important;
  background-image: url("https://tweark.dpdns.org/ceba1b18367adab4820e007ecdd4b31c8601e451.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  font-size: 0 !important;
  color: transparent !important;
}
.styled-prose-container board item.sakiko label,
.styled-prose-container news item.sakiko label {
  background: none !important;
  background-image: url("https://tweark.dpdns.org/00d947b44aed2e7341379d11c101a18b86d6fa51.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  font-size: 0 !important;
  color: transparent !important;
}
.styled-prose-container board item.soyo label,
.styled-prose-container news item.soyo label {
  background: none !important;
  background-image: url("https://tweark.dpdns.org/070e56ef76094b369c1d03d0e5cc7cd98c109da7.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  font-size: 0 !important;
  color: transparent !important;
}
/* ── 特定角色头像 — Ave Mujica ── */
.styled-prose-container board item.nyamu label,
.styled-prose-container news item.nyamu label {
  background: none !important;
  background-image: url("https://tweark.dpdns.org/700e74f619b3304aa380ab5627af471935433498.png@176w_176h_1c_1s.avif") !important;
  background-size: cover !important;
  background-position: center !important;
  font-size: 0 !important;
  color: transparent !important;
}
.styled-prose-container board item.hatsuka label,
.styled-prose-container news item.hatsuka label {
  background: none !important;
  background-image: url("https://tweark.dpdns.org/246d5760dae792e6f7a1c322ec78ddd035433498.png@1042w_1028h.webp") !important;
  background-size: cover !important;
  background-position: center !important;
  font-size: 0 !important;
  color: transparent !important;
}
.styled-prose-container board item.umiri label,
.styled-prose-container news item.umiri label {
  background: none !important;
  background-image: url("https://tweark.dpdns.org/6a19f136b8aa293afc106bfcf2c0c3db35433498.png@996w_996h.webp") !important;
  background-size: cover !important;
  background-position: center !important;
  font-size: 0 !important;
  color: transparent !important;
}
/* === 過往記憶存档区 === */
.styled-prose-container .s{padding:0!important;font-size:15px!important;line-height:1.8!important;color:#3D1F33!important}
.styled-prose-container .s>.t{font-size:17px!important;font-weight:700!important;color:#A8456E!important;letter-spacing:3px!important;padding:6px 0!important;margin:0!important;text-align:center!important;font-family:'Georgia','Noto Serif SC',serif!important;position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;text-shadow:0 0 10px rgba(212,115,154,.3)!important}
.styled-prose-container .s>.t::before,.styled-prose-container .s>.t::after{content:''!important;flex:1!important;height:1px!important;max-width:90px!important;background:linear-gradient(90deg,transparent,#D4739A)!important}
.styled-prose-container .s>.t::after{background:linear-gradient(90deg,#D4739A,transparent)!important}
.styled-prose-container .s>strong{display:block!important;text-align:right!important;font-size:11px!important;font-weight:600!important;color:#A8456E!important;letter-spacing:.5px!important;margin:4px 0 8px 0!important;padding:3px 10px!important;background:rgba(212,115,154,.05)!important;border-radius:8px!important;font-family:'Consolas','SF Mono',monospace!important;border-right:2px solid rgba(212,115,154,.25)!important;opacity:.7!important}
.styled-prose-container .s>hr{border:none!important;height:1px!important;margin:14px 0 4px 0!important;background:linear-gradient(90deg,transparent 5%,rgba(240,198,216,.2) 30%,rgba(212,115,154,.35) 50%,rgba(240,198,216,.2) 70%,transparent 95%)!important}
@media(max-width:768px){
.styled-prose-container .s>.t{font-size:15px!important;letter-spacing:2px!important;padding:4px 0!important;gap:10px!important}
.styled-prose-container .s>.t::before,.styled-prose-container .s>.t::after{max-width:60px!important}
.styled-prose-container .s>strong{font-size:10px!important;margin:3px 0 6px 0!important}
.styled-prose-container .s>hr{margin:10px 0 2px 0!important}
}
@media(max-width:480px){
.styled-prose-container .s>.t{font-size:13px!important;letter-spacing:1.5px!important;padding:3px 0!important;gap:8px!important}
.styled-prose-container .s>.t::before,.styled-prose-container .s>.t::after{max-width:40px!important}
.styled-prose-container .s>strong{font-size:9px!important;padding:2px 8px!important}
.styled-prose-container .s>hr{margin:8px 0 2px 0!important}
}
