/**
 * 《粥道崛起》· Reply UI · v3.17 顶栏·天下风候
 * por-top--{free|build|love|war|survive} · por-route--*
 */

:root {
  --por-paper: #f4ead8;
  --por-paper-light: #faf4e8;
  --por-paper-deep: #e8dcc4;
  --por-ink: #3a3228;
  --por-muted: #7a6f62;
  --por-wheat: #d4a84b;
  --por-pickle: #6b7c4a;
  --por-rust: #8b4a3a;
  --por-border: #5c4a36;
  --por-font: "SimSun", "Songti SC", "Noto Serif SC", serif;
  --por-ui: "PingFang SC", "Microsoft YaHei", sans-serif;
  --por-glass: rgba(255, 250, 242, 0.68);
  --por-glass-strong: rgba(255, 252, 246, 0.82);
  --por-glass-border: rgba(92, 74, 54, 0.14);
  --por-glass-shadow: 0 4px 18px rgba(58, 50, 40, 0.06);
  --por-glass-blur: blur(14px) saturate(1.06);
}

img[src="/chat-star.png"],
img[src*="chat-star.png"] {
  display: none !important;
}

.markdown-body,
.prose,
[class*="markdown"] {
  background: transparent !important;
  background-color: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

div.markdown-body p:empty {
  display: none !important;
  margin: 0 !important;
}

.mufy_ai_message_bubble details,
details {
  list-style: none !important;
}

.mufy_ai_message_bubble summary,
.mufy_ai_message_bubble details > summary,
details > summary {
  list-style: none !important;
}

.mufy_ai_message_bubble details > summary::-webkit-details-marker,
details > summary::-webkit-details-marker {
  display: none !important;
}

.mufy_ai_message_bubble {
  color: #3a3228 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 2px 0 !important;
  font-family: var(--por-font) !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}

.mufy_ai_message_bubble::before,
.mufy_ai_message_bubble::after {
  display: none !important;
}

.mufy_ai_message_bubble * {
  box-sizing: border-box;
}

/* 思维链：只隐藏 .thinking-body，勿对 redacted_thinking 本身 display:none（防闭合标签解析失败时误吞正文） */
redacted_thinking,
.mufy_ai_message_bubble redacted_thinking {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

.thinking-body,
redacted_thinking .thinking-body,
.mufy_ai_message_bubble redacted_thinking .thinking-body,
.mufy_ai_message_bubble .thinking-body {
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 兼容旧输出：无 thinking-body 包裹时仍隐藏整段思维链 */
redacted_thinking:not(:has(.thinking-body)),
.mufy_ai_message_bubble redacted_thinking:not(:has(.thinking-body)) {
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

think,
.thinking,
reasoning,
.mufy_ai_message_bubble think,
.mufy_ai_message_bubble .thinking {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
}

status-top,
.por-status-top,
div.por-status-top,
.mufy_ai_message_bubble status-top,
.mufy_ai_message_bubble .por-status-top,
.mufy_ai_message_bubble div.por-status-top {
  display: block !important;
  position: relative !important;
  margin: 0 0 14px !important;
  padding: 14px 16px 12px !important;
  background-color: rgba(255, 248, 240, 0.94) !important;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.72) 0%, rgba(244, 234, 216, 0.45) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.62) !important;
  border-top: 3px solid #d4a84b !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 28px rgba(58, 50, 40, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
  backdrop-filter: blur(12px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.08) !important;
  overflow: hidden !important;
}

por-seal,
.por-seal,
.mufy_ai_message_bubble .por-seal {
  position: absolute !important;
  top: 10px !important;
  right: 12px !important;
  min-width: 28px !important;
  width: auto !important;
  height: 28px !important;
  padding: 0 5px !important;
  line-height: 28px !important;
  text-align: center !important;
  font-family: var(--por-font) !important;
  font-size: 11px !important;
  letter-spacing: 0.05em !important;
  white-space: nowrap !important;
  color: #f4ead8 !important;
  background: #8b4a3a !important;
  border-radius: 4px !important;
}

por-head,
.por-head,
div.por-head,
.mufy_ai_message_bubble .por-head,
.mufy_ai_message_bubble div.por-head,
.mufy_ai_message_bubble status-top .por-head,
status-top .por-head {
  margin: 0 0 10px !important;
  padding: 0 40px 0 8px !important;
  text-align: center !important;
}

por-title,
.por-title,
.mufy_ai_message_bubble .por-title,
.mufy_ai_message_bubble .por-head .por-title,
.mufy_ai_message_bubble .por-head p.por-title,
.mufy_ai_message_bubble status-top .por-title {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--por-font) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: 0.24em !important;
  color: #3a3228 !important;
  text-align: center !important;
  text-indent: 0 !important;
}

por-top-band,
.por-top-band,
.mufy_ai_message_bubble .por-top-band {
  margin: 0 0 10px !important;
  padding: 10px 10px 8px !important;
  border: 1px solid rgba(212, 184, 150, 0.32) !important;
  border-radius: 8px !important;
  background: rgba(255, 252, 246, 0.72) !important;
}

por-top-grid,
.por-top-grid,
.mufy_ai_message_bubble .por-top-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px 8px !important;
}

item.por-top-item,
.por-top-item,
.mufy_ai_message_bubble item.por-top-item,
.mufy_ai_message_bubble .por-top-item {
  display: block !important;
  margin: 0 !important;
  padding: 6px 8px !important;
  border: none !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, 0.55) !important;
  font-family: var(--por-ui) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: #3a3228 !important;
  text-align: left !important;
}

item.por-top-item--wide,
.por-top-item--wide,
.mufy_ai_message_bubble item.por-top-item--wide {
  grid-column: 1 / -1 !important;
}

item.por-top-item[data-l]::before,
.por-top-item[data-l]::before,
.mufy_ai_message_bubble item.por-top-item[data-l]::before {
  display: block !important;
  margin: 0 0 3px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  color: #8b4a3a !important;
  content: attr(data-l) !important;
}

por-strip,
.por-strip,
.mufy_ai_message_bubble .por-strip {
  margin: 0 !important;
  padding-top: 10px !important;
  border-top: 1px dashed rgba(92, 74, 54, 0.22) !important;
}

por-strip__label,
.por-strip__label,
.mufy_ai_message_bubble .por-strip__label {
  margin: 0 0 8px !important;
  font-family: var(--por-ui) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-align: center !important;
  color: #a68b67 !important;
}

por-kpi,
.por-kpi,
.mufy_ai_message_bubble .por-kpi {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 6px !important;
}

item.por-kpi__cell,
.por-kpi__cell,
.mufy_ai_message_bubble item.por-kpi__cell,
.mufy_ai_message_bubble .por-kpi__cell {
  display: block !important;
  margin: 0 !important;
  padding: 7px 4px !important;
  border: none !important;
  border-radius: 6px !important;
  background: rgba(212, 168, 75, 0.1) !important;
  border: 1px solid rgba(212, 168, 75, 0.22) !important;
  font-family: var(--por-ui) !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
  color: #3a3228 !important;
  text-align: center !important;
}

item.por-kpi__cell[data-l]::before,
.por-kpi__cell[data-l]::before,
.mufy_ai_message_bubble item.por-kpi__cell[data-l]::before {
  display: block !important;
  margin: 0 0 3px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: #8b4a3a !important;
  content: attr(data-l) !important;
}

por-strip p,
.por-strip p,
.mufy_ai_message_bubble .por-strip p {
  margin: 0 !important;
  text-indent: 0 !important;
}

por-text,
.por-text,
div.por-text,
.mufy_ai_message_bubble por-text,
.mufy_ai_message_bubble .por-text,
.mufy_ai_message_bubble div.por-text {
  display: block !important;
  margin: 0 0 14px !important;
  padding: 20px 22px 24px !important;
  background-color: rgba(255, 252, 246, 0.96) !important;
  background-image: linear-gradient(180deg, rgba(255, 250, 242, 0.98) 0%, rgba(250, 244, 232, 0.92) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.65) !important;
  border-left: 4px solid #6b7c4a !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 28px rgba(58, 50, 40, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.75) !important;
  backdrop-filter: blur(10px) saturate(1.06) !important;
  -webkit-backdrop-filter: blur(10px) saturate(1.06) !important;
}

por-text p,
.por-text p,
div.por-text p,
.mufy_ai_message_bubble por-text p,
.mufy_ai_message_bubble .por-text p,
.mufy_ai_message_bubble div.por-text p,
.mufy_ai_message_bubble div.markdown-body .por-text p {
  margin: 0 0 0.85em !important;
  text-align: left !important;
  text-indent: 2em !important;
  font-family: "SimSun", "Songti SC", "Noto Serif SC", serif !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
  color: #3a3228 !important;
  background: transparent !important;
}

por-text p:last-child,
.por-text p:last-child,
.mufy_ai_message_bubble por-text p:last-child,
.mufy_ai_message_bubble .por-text p:last-child {
  margin-bottom: 0 !important;
}

por-text em,
.por-text em,
por-text i,
.por-text i,
.mufy_ai_message_bubble por-text em,
.mufy_ai_message_bubble .por-text em {
  color: #8b4a3a !important;
  font-style: italic !important;
}

divider,
.por-divider,
.mufy_ai_message_bubble divider,
.mufy_ai_message_bubble .por-divider {
  display: block !important;
  height: 2px !important;
  margin: 4px 0 14px !important;
  background: linear-gradient(90deg, transparent, #d4a84b 45%, transparent) !important;
  opacity: 0.5 !important;
}

status-bottom,
.mufy_ai_message_bubble status-bottom {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

status-bottom > details,
.mufy_ai_message_bubble status-bottom > details {
  position: relative !important;
  display: block !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 1px solid rgba(212, 184, 150, 0.45) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background-color: rgba(255, 248, 240, 0.94) !important;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.65) 0%, rgba(244, 234, 216, 0.42) 100%) !important;
  box-shadow: 0 6px 22px rgba(58, 50, 40, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
  backdrop-filter: blur(10px) saturate(1.06) !important;
  -webkit-backdrop-filter: blur(10px) saturate(1.06) !important;
}

status-bottom.por-route,
.mufy_ai_message_bubble status-bottom.por-route {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  align-items: stretch !important;
}

status-bottom details,
.mufy_ai_message_bubble status-bottom details,
details.por-panel,
.mufy_ai_message_bubble details.por-panel {
  margin: 0 !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  border: 1px solid rgba(212, 184, 150, 0.45) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background-color: rgba(255, 248, 240, 0.94) !important;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.65) 0%, rgba(244, 234, 216, 0.42) 100%) !important;
  box-shadow: 0 6px 22px rgba(58, 50, 40, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
  backdrop-filter: blur(10px) saturate(1.06) !important;
  -webkit-backdrop-filter: blur(10px) saturate(1.06) !important;
}

status-bottom details.por-panel[open],
.mufy_ai_message_bubble status-bottom details.por-panel[open] {
  margin-bottom: 12px !important;
}

status-bottom.por-route:not(:has(> details.por-panel[open])),
.mufy_ai_message_bubble status-bottom.por-route:not(:has(> details.por-panel[open])) {
  border: 1px solid rgba(74, 58, 40, 0.55) !important;
  border-radius: 9px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 10px rgba(58, 50, 40, 0.08) !important;
}

status-bottom details.por-panel:not([open]),
.mufy_ai_message_bubble status-bottom details.por-panel:not([open]) {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;
}

status-bottom:has(> details.por-panel[open]) details.por-panel:not([open]):not(:has(+ details.por-panel:not([open]))),
.mufy_ai_message_bubble status-bottom:has(> details.por-panel[open]) details.por-panel:not([open]):not(:has(+ details.por-panel:not([open]))) {
  margin-bottom: 12px !important;
}

status-bottom details > summary,
.mufy_ai_message_bubble status-bottom details > summary,
summary.por-tab,
.por-tab,
.mufy_ai_message_bubble summary.por-tab,
.mufy_ai_message_bubble .por-tab {
  list-style: none !important;
  cursor: pointer !important;
}

summary.por-tab::-webkit-details-marker,
.mufy_ai_message_bubble summary.por-tab::-webkit-details-marker {
  display: none !important;
}

por-tab,
.por-tab,
summary.por-tab,
.mufy_ai_message_bubble summary.por-tab,
.mufy_ai_message_bubble .por-tab {
  display: block !important;
  padding: 11px 14px !important;
  font-family: "SimSun", "Songti SC", "Noto Serif SC", serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-align: center !important;
  color: #f4ead8 !important;
  background: linear-gradient(180deg, #a68b67 0%, #705a40 100%) !important;
  border: none !important;
  border-bottom: 1px solid rgba(92, 74, 54, 0.25) !important;
}

status-bottom details.por-panel:not([open]) > summary.por-tab,
.mufy_ai_message_bubble status-bottom details.por-panel:not([open]) > summary.por-tab {
  padding: 9px 10px !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  border-radius: 0 !important;
  border: none !important;
  border-bottom: 1px solid rgba(212, 168, 75, 0.22) !important;
  margin: 0 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
}

status-bottom details.por-panel:not([open]):last-child > summary.por-tab,
status-bottom details.por-panel:not([open]):not(:has(+ details.por-panel:not([open]))) > summary.por-tab,
.mufy_ai_message_bubble status-bottom details.por-panel:not([open]):last-child > summary.por-tab,
.mufy_ai_message_bubble status-bottom details.por-panel:not([open]):not(:has(+ details.por-panel:not([open]))) > summary.por-tab {
  border-bottom: none !important;
}

status-bottom:has(> details.por-panel[open]) details.por-panel:not([open]) > summary.por-tab,
.mufy_ai_message_bubble status-bottom:has(> details.por-panel[open]) details.por-panel:not([open]) > summary.por-tab {
  border: 1px solid rgba(74, 58, 40, 0.62) !important;
  border-top: none !important;
  margin: 0 !important;
}

status-bottom:has(> details.por-panel[open]) details.por-panel:not([open]) + details.por-panel:not([open]) > summary.por-tab,
.mufy_ai_message_bubble status-bottom:has(> details.por-panel[open]) details.por-panel:not([open]) + details.por-panel:not([open]) > summary.por-tab {
  border-top: 1px solid rgba(212, 168, 75, 0.22) !important;
  margin-top: -1px !important;
}

status-bottom:has(> details.por-panel[open]) details.por-panel:not([open]):is(:first-child, details.por-panel[open] + details.por-panel:not([open])) > summary.por-tab,
.mufy_ai_message_bubble status-bottom:has(> details.por-panel[open]) details.por-panel:not([open]):is(:first-child, details.por-panel[open] + details.por-panel:not([open])) > summary.por-tab {
  border-top: 1px solid rgba(74, 58, 40, 0.62) !important;
  border-radius: 9px 9px 0 0 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    0 2px 8px rgba(58, 50, 40, 0.06) !important;
}

status-bottom:has(> details.por-panel[open]) details.por-panel:not([open]):not(:has(+ details.por-panel:not([open]))) > summary.por-tab,
.mufy_ai_message_bubble status-bottom:has(> details.por-panel[open]) details.por-panel:not([open]):not(:has(+ details.por-panel:not([open]))) > summary.por-tab {
  border-radius: 0 0 9px 9px !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 3px 10px rgba(58, 50, 40, 0.07) !important;
}

status-bottom:has(> details.por-panel[open]) details.por-panel:not([open]):only-child > summary.por-tab,
.mufy_ai_message_bubble status-bottom:has(> details.por-panel[open]) details.por-panel:not([open]):only-child > summary.por-tab {
  border-radius: 9px !important;
  border-top: 1px solid rgba(74, 58, 40, 0.62) !important;
}

status-bottom details[open] > summary.por-tab,
.mufy_ai_message_bubble status-bottom details[open] > summary.por-tab {
  border-bottom: 1px solid rgba(212, 184, 150, 0.45) !important;
}

por-body,
.por-body,
div.por-body,
.mufy_ai_message_bubble .por-body,
.mufy_ai_message_bubble div.por-body {
  padding: 10px 12px 12px !important;
  background-color: rgba(255, 252, 246, 0.88) !important;
  background-image: none !important;
}

hero-card--player,
.hero-card--player,
.mufy_ai_message_bubble .hero-card--player {
  background-color: rgba(250, 244, 232, 0.95) !important;
  border: 1px solid rgba(212, 184, 150, 0.45) !important;
  border-radius: 8px !important;
}

hero-card--player item,
.hero-card--player item,
.mufy_ai_message_bubble .hero-card--player item {
  display: flex !important;
}

item,
.mufy_ai_message_bubble item {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px 8px !important;
  margin: 0 0 8px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px dotted rgba(92, 74, 54, 0.15) !important;
  font-family: var(--por-ui) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

item:last-child,
.mufy_ai_message_bubble item:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

label,
.mufy_ai_message_bubble label {
  flex: 0 0 auto !important;
  color: #8b4a3a !important;
  font-weight: 600 !important;
}

value,
.mufy_ai_message_bubble value {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  color: #3a3228 !important;
}

item[data-l],
.mufy_ai_message_bubble item[data-l] {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px 8px !important;
  align-items: baseline !important;
}

item[data-l]::before,
.mufy_ai_message_bubble item[data-l]::before {
  content: attr(data-l) "：" !important;
  flex: 0 0 auto !important;
  color: #8b4a3a !important;
  font-weight: 600 !important;
  font-family: var(--por-ui) !important;
  font-size: 13px !important;
}

chip,
.chip,
.mufy_ai_message_bubble chip,
.mufy_ai_message_bubble .chip {
  flex: 1 1 auto !important;
  min-width: 120px !important;
  padding: 6px 8px !important;
  background: rgba(244, 234, 216, 0.9) !important;
  border: 1px solid rgba(92, 74, 54, 0.12) !important;
  border-radius: 4px !important;
  font-size: 11px !important;
  color: #3a3228 !important;
  line-height: 1.45 !important;
}

chip[data-l]::before,
.chip[data-l]::before,
.mufy_ai_message_bubble chip[data-l]::before,
.mufy_ai_message_bubble .chip[data-l]::before {
  display: block !important;
  font-weight: 600 !important;
  color: #8b4a3a !important;
  margin-bottom: 2px !important;
  content: attr(data-l) !important;
}

chip.chip--warn,
.chip.chip--warn,
.mufy_ai_message_bubble chip.chip--warn,
.mufy_ai_message_bubble .chip.chip--warn {
  border-color: rgba(139, 74, 58, 0.25) !important;
  background: rgba(139, 74, 58, 0.06) !important;
}

chip.chip--love,
.chip.chip--love,
.mufy_ai_message_bubble chip.chip--love,
.mufy_ai_message_bubble .chip.chip--love {
  border-color: rgba(196, 114, 122, 0.25) !important;
  background: rgba(253, 246, 244, 0.95) !important;
}

intimate-item[data-l]::before,
.intimate-item[data-l]::before,
.mufy_ai_message_bubble intimate-item[data-l]::before,
.mufy_ai_message_bubble .intimate-item[data-l]::before {
  content: attr(data-l) !important;
  flex: 0 0 2.5em !important;
  color: #8b4a3a !important;
  font-weight: 600 !important;
}

build-kpi__tile[data-l]::before,
.build-kpi__tile[data-l]::before,
.mufy_ai_message_bubble .build-kpi__tile[data-l]::before {
  display: block !important;
  font-size: 10px !important;
  color: #6b7c4a !important;
  font-weight: 600 !important;
  content: attr(data-l) !important;
}

war-kpi__tile[data-l]::before,
.war-kpi__tile[data-l]::before,
.mufy_ai_message_bubble .war-kpi__tile[data-l]::before {
  display: block !important;
  font-size: 10px !important;
  color: #8b3a32 !important;
  font-weight: 600 !important;
  content: attr(data-l) !important;
}

survive-strip item[data-l]::before,
.mufy_ai_message_bubble .survive-strip item[data-l]::before {
  content: attr(data-l) !important;
  flex: 0 0 auto !important;
  color: #5a6068 !important;
  font-weight: 600 !important;
  min-width: 2.5em !important;
}

por-reliquary,
.por-reliquary,
.mufy_ai_message_bubble .por-reliquary {
  display: block !important;
}

por-rel-sub,
.por-rel-sub,
details.por-rel-sub,
.mufy_ai_message_bubble details.por-rel-sub {
  margin: 0 0 8px !important;
  border: 1px solid rgba(212, 184, 150, 0.35) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: rgba(255, 252, 246, 0.92) !important;
}

por-rel-sub:last-child,
.por-rel-sub:last-child,
.mufy_ai_message_bubble details.por-rel-sub:last-child {
  margin-bottom: 0 !important;
}

summary.por-rel-subtab,
.por-rel-subtab,
.mufy_ai_message_bubble summary.por-rel-subtab {
  display: block !important;
  padding: 8px 10px !important;
  font-family: "SimSun", "Songti SC", "Noto Serif SC", serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-align: center !important;
  letter-spacing: 0.08em !important;
  color: #5c4a36 !important;
  background: rgba(107, 101, 136, 0.1) !important;
  border-bottom: 1px solid rgba(212, 184, 150, 0.25) !important;
  cursor: pointer !important;
  list-style: none !important;
}

summary.por-rel-subtab::-webkit-details-marker,
.mufy_ai_message_bubble summary.por-rel-subtab::-webkit-details-marker {
  display: none !important;
}

por-rel-body,
.por-rel-body,
.mufy_ai_message_bubble .por-rel-body {
  padding: 10px !important;
}

por-mem-h,
.por-mem-h,
.mufy_ai_message_bubble .por-mem-h {
  margin: 0 0 8px !important;
  font-family: var(--por-ui) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  color: #6b6588 !important;
  text-align: center !important;
}

por-mem-sep,
.por-mem-sep,
.mufy_ai_message_bubble .por-mem-sep {
  margin: 10px 0 !important;
  text-align: center !important;
  font-size: 11px !important;
  color: rgba(107, 101, 136, 0.45) !important;
}

table.por-mem-t,
.por-mem-t,
.mufy_ai_message_bubble table.por-mem-t {
  width: 100% !important;
  border-collapse: collapse !important;
  table-layout: fixed !important;
  font-family: var(--por-ui) !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
  color: #3a3228 !important;
  background: rgba(255, 252, 246, 0.95) !important;
  border: 1px solid rgba(212, 184, 150, 0.35) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}

table.por-mem-t th,
.por-mem-t th,
.mufy_ai_message_bubble table.por-mem-t th {
  padding: 6px 4px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: #6b6588 !important;
  background: rgba(107, 101, 136, 0.08) !important;
  border-bottom: 1px solid rgba(212, 184, 150, 0.3) !important;
  text-align: left !important;
}

table.por-mem-t td,
.por-mem-t td,
.mufy_ai_message_bubble table.por-mem-t td {
  padding: 6px 4px !important;
  vertical-align: top !important;
  border-bottom: 1px dotted rgba(212, 184, 150, 0.22) !important;
  word-break: break-word !important;
}

table.por-mem-t tr:last-child td,
.por-mem-t tr:last-child td,
.mufy_ai_message_bubble table.por-mem-t tr:last-child td {
  border-bottom: none !important;
}

table.por-mem-t th:nth-child(1),
table.por-mem-t td:nth-child(1),
.por-mem-t th:nth-child(1),
.por-mem-t td:nth-child(1) {
  width: 2.2em !important;
}

table.por-mem-t th:nth-child(2),
table.por-mem-t td:nth-child(2),
.por-mem-t th:nth-child(2),
.por-mem-t td:nth-child(2) {
  width: 28% !important;
}

table.por-mem-t th:nth-child(3),
table.por-mem-t td:nth-child(3),
.por-mem-t th:nth-child(3),
.por-mem-t td:nth-child(3) {
  width: 18% !important;
}

suggest,
.mufy_ai_message_bubble suggest {
  display: block !important;
  margin: 0 0 10px !important;
  padding: 8px 10px !important;
  background: rgba(212, 168, 75, 0.12) !important;
  border-radius: 4px !important;
  border-left: 3px solid #d4a84b !important;
}

suggest:last-child,
.mufy_ai_message_bubble suggest:last-child {
  margin-bottom: 0 !important;
}

option,
.mufy_ai_message_bubble option {
  display: block !important;
  font-weight: 600 !important;
  color: #3a3228 !important;
  margin-bottom: 4px !important;
}

desc,
.mufy_ai_message_bubble desc {
  display: block !important;
  font-size: 12px !important;
  color: #7a6f62 !important;
  line-height: 1.55 !important;
}

/* ========== 风月外壳 · 内层白底穿透（对齐 galgame shell-ui） ========== */
div[class*="overflow-y-auto"]:has(div.markdown-body),
div[class*="flex-1"]:has(div.markdown-body),
main:has(div.markdown-body),
div[class*="flex-col"]:has(div.markdown-body):has(#ai-chat-input),
div[class*="flex-col"]:has(div.markdown-body):has(#mufy_chat_input_box) {
  background: transparent !important;
}

#customized-answer-content,
#customized-question-content,
div[class*="relative"][class*="group"]:has(div.markdown-body),
div[class*="relative"][class*="group"]:has(.mufy_ai_message_bubble),
.mufy_user_message_bubble,
div[class*="group"]:has(.mufy_ai_message_bubble) {
  background-color: rgba(255, 248, 240, 0.72) !important;
  background-image: linear-gradient(180deg, rgba(255, 252, 246, 0.55) 0%, transparent 58%) !important;
  border: 1px solid rgba(212, 184, 150, 0.38) !important;
  border-radius: 14px !important;
  backdrop-filter: blur(12px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.08) !important;
  box-shadow: 0 8px 28px rgba(58, 50, 40, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
  padding: 10px 12px !important;
  margin: 8px 0 !important;
  color: #3a3228 !important;
}

div[class*="relative"][class*="group"]:has(div.markdown-body)::before,
div[class*="relative"][class*="group"]:has(div.markdown-body)::after,
div[class*="relative"][class*="group"]:has(.mufy_ai_message_bubble)::before,
div[class*="relative"][class*="group"]:has(.mufy_ai_message_bubble)::after {
  display: none !important;
  content: none !important;
}

div[class*="bg-white"]:has(div.markdown-body),
div[class*="bg-white"]:has(div[class*="markdown"]),
div[class*="relative"][class*="group"]:has(div.markdown-body) > div[class*="bg-white"],
div[class*="relative"][class*="group"]:has(div.markdown-body) > div[class*="rounded"],
div[class*="relative"][class*="group"]:has(div.markdown-body) div[class*="bg-white"]:not([class*="opacity-0"]),
div[class*="bg-white"][class*="p-"]:has(> div.markdown-body),
div[class*="bg-white"][class*="rounded"]:has(div.markdown-body),
div[class*="bg-white"][class*="shadow"]:has(div.markdown-body),
#customized-answer-content > div[class*="bg-white"],
#customized-question-content > div[class*="bg-white"],
.mufy_ai_message_bubble div[class*="bg-white"]:has(div.markdown-body) {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

div[class*="flex-col"]:has(#ai-chat-input) div[class*="bg-white"]:not(:has(div.text-lg.font-bold)),
div[class*="flex-col"]:has(#mufy_chat_input_box) div[class*="bg-white"]:not(:has(div.text-lg.font-bold)) {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.mufy_user_message_bubble,
#customized-question-content,
div.markdown-body,
div.markdown-body p {
  text-shadow: 0 1px 2px rgba(255, 252, 246, 0.45) !important;
}

#mufy_chat_header {
  background-color: rgba(255, 248, 240, 0.92) !important;
  background-image: linear-gradient(180deg, rgba(255, 252, 246, 0.98) 0%, rgba(244, 234, 216, 0.88) 100%) !important;
  backdrop-filter: blur(12px) saturate(1.06) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.06) !important;
  border-bottom: 1px solid rgba(212, 184, 150, 0.35) !important;
}

#mufy_chat_input_container,
#ai-chat-bottom-input {
  background-color: rgba(255, 248, 240, 0.9) !important;
  backdrop-filter: blur(10px) saturate(1.06) !important;
  -webkit-backdrop-filter: blur(10px) saturate(1.06) !important;
  border-top: 1px solid rgba(212, 184, 150, 0.3) !important;
}

status-bottom details details,
.mufy_ai_message_bubble status-bottom details details {
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

por-body > details.por-sub,
.por-body > details.por-sub,
div.por-body > details.por-sub,
.mufy_ai_message_bubble .por-body > details.por-sub {
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

por-body > .hero-card,
.por-body > .hero-card,
por-body > .hero-card--player,
.por-body > .hero-card--player,
.mufy_ai_message_bubble .por-body > .hero-card,
.mufy_ai_message_bubble .por-body > .hero-card--player {
  margin-bottom: 0 !important;
}

por-body > .hero-card + details.por-sub,
.por-body > .hero-card + details.por-sub,
por-body > .hero-card--player + details.por-sub,
.por-body > .hero-card--player + details.por-sub,
.mufy_ai_message_bubble .por-body > .hero-card + details.por-sub,
.mufy_ai_message_bubble .por-body > .hero-card--player + details.por-sub {
  margin-top: 6px !important;
}

por-body > details.por-sub[open],
.por-body > details.por-sub[open],
.mufy_ai_message_bubble .por-body > details.por-sub[open] {
  margin-top: 0 !important;
  border: 1px solid rgba(212, 184, 150, 0.38) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background-color: rgba(250, 244, 232, 0.92) !important;
}

por-body > .hero-card + details.por-sub[open],
.por-body > .hero-card + details.por-sub[open],
por-body > .hero-card--player + details.por-sub[open],
.por-body > .hero-card--player + details.por-sub[open],
.mufy_ai_message_bubble .por-body > .hero-card + details.por-sub[open],
.mufy_ai_message_bubble .por-body > .hero-card--player + details.por-sub[open] {
  margin-top: 6px !important;
}

por-body > details.por-sub[open] + details.por-sub,
.por-body > details.por-sub[open] + details.por-sub,
.mufy_ai_message_bubble .por-body > details.por-sub[open] + details.por-sub {
  margin-top: 0 !important;
}

por-body > details.por-sub[open] + details.por-sub[open],
.por-body > details.por-sub[open] + details.por-sub[open],
.mufy_ai_message_bubble .por-body > details.por-sub[open] + details.por-sub[open] {
  margin-top: 6px !important;
}

por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]),
.por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]),
.mufy_ai_message_bubble .por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]) {
  border: 1px solid rgba(212, 184, 150, 0.38) !important;
  border-top: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]):first-of-type,
.por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]):first-of-type,
.mufy_ai_message_bubble .por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]):first-of-type {
  border-top: 1px solid rgba(212, 184, 150, 0.38) !important;
  border-radius: 8px 8px 0 0 !important;
}

por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]):last-of-type,
.por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]):last-of-type,
.mufy_ai_message_bubble .por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]):last-of-type {
  border-radius: 0 0 8px 8px !important;
}

por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]):only-of-type,
.por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]):only-of-type,
.mufy_ai_message_bubble .por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]):only-of-type {
  border-radius: 8px !important;
  border-top: 1px solid rgba(212, 184, 150, 0.38) !important;
}

summary.por-subtab,
.por-subtab,
.mufy_ai_message_bubble summary.por-subtab,
.mufy_ai_message_bubble .por-subtab {
  display: block !important;
  padding: 8px 12px !important;
  font-family: "SimSun", "Songti SC", "Noto Serif SC", serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-align: center !important;
  letter-spacing: 0.08em !important;
  color: #5c4a36 !important;
  background-color: rgba(212, 168, 75, 0.14) !important;
  border-bottom: 1px solid rgba(212, 184, 150, 0.25) !important;
  cursor: pointer !important;
  list-style: none !important;
}

summary.por-subtab::-webkit-details-marker,
.mufy_ai_message_bubble summary.por-subtab::-webkit-details-marker {
  display: none !important;
}

por-body > details.por-sub:not([open]) > summary.por-subtab,
.por-body > details.por-sub:not([open]) > summary.por-subtab,
.mufy_ai_message_bubble .por-body > details.por-sub:not([open]) > summary.por-subtab {
  border-bottom: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  font-size: 12px !important;
  background-color: rgba(212, 168, 75, 0.12) !important;
}

por-body > details.por-sub:not([open]) + details.por-sub:not([open]) > summary.por-subtab,
.por-body > details.por-sub:not([open]) + details.por-sub:not([open]) > summary.por-subtab,
.mufy_ai_message_bubble .por-body > details.por-sub:not([open]) + details.por-sub:not([open]) > summary.por-subtab {
  border-top: 1px solid rgba(212, 168, 75, 0.18) !important;
  margin-top: -1px !important;
}

por-body > details.por-sub[open] > summary.por-subtab,
.por-body > details.por-sub[open] > summary.por-subtab,
.mufy_ai_message_bubble .por-body > details.por-sub[open] > summary.por-subtab {
  border-bottom: 1px solid rgba(212, 184, 150, 0.28) !important;
}

details.por-sub,
.mufy_ai_message_bubble details.por-sub {
  margin: 0 !important;
}

hero-card,
.hero-card,
div.hero-card,
.mufy_ai_message_bubble hero-card,
.mufy_ai_message_bubble .hero-card,
.mufy_ai_message_bubble div.hero-card {
  display: block !important;
  margin: 0 0 10px !important;
  padding: 10px 12px !important;
  background-color: rgba(107, 124, 74, 0.08) !important;
  border: 1px solid rgba(107, 124, 74, 0.22) !important;
  border-radius: 8px !important;
}

hero-card__head,
.hero-card__head,
.mufy_ai_message_bubble .hero-card__head {
  margin-bottom: 8px !important;
}

hero-card__title,
.hero-card__title,
.mufy_ai_message_bubble .hero-card__title {
  margin: 0 !important;
  font-family: var(--por-font) !important;
  font-size: 15px !important;
  color: #3a3228 !important;
}

hero-card__meta,
.hero-card__meta,
.mufy_ai_message_bubble .hero-card__meta {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #7a6f62 !important;
}

hero-card__grid,
.hero-card__grid,
.mufy_ai_message_bubble .hero-card__grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px 10px !important;
  margin-bottom: 8px !important;
}

hero-card__grid item,
.hero-card__grid item,
.mufy_ai_message_bubble .hero-card__grid item {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-size: 12px !important;
}

hero-card__chips,
.hero-card__chips,
.mufy_ai_message_bubble .hero-card__chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin: 0 0 8px !important;
}

.hero-card__chips chip,
.hero-card__chips .chip,
.mufy_ai_message_bubble .hero-card__chips chip,
.mufy_ai_message_bubble .hero-card__chips .chip {
  flex: 1 1 auto !important;
}

hero-chip,
.hero-chip,
.mufy_ai_message_bubble .hero-chip {
  flex: 1 1 auto !important;
  min-width: 120px !important;
  padding: 6px 8px !important;
  background: rgba(244, 234, 216, 0.9) !important;
  border: 1px solid rgba(92, 74, 54, 0.12) !important;
  border-radius: 4px !important;
  font-size: 11px !important;
}

hero-chip--warn,
.hero-chip--warn,
.mufy_ai_message_bubble .hero-chip--warn {
  border-color: rgba(139, 74, 58, 0.25) !important;
  background: rgba(139, 74, 58, 0.06) !important;
}

hero-chip__label,
.hero-chip__label,
.mufy_ai_message_bubble .hero-chip__label {
  display: block !important;
  font-weight: 600 !important;
  color: #8b4a3a !important;
  margin-bottom: 2px !important;
}

hero-chip__value,
.hero-chip__value,
.mufy_ai_message_bubble .hero-chip__value {
  display: block !important;
  color: #3a3228 !important;
  line-height: 1.45 !important;
}

hero-card__quote,
.hero-card__quote,
.mufy_ai_message_bubble .hero-card__quote {
  margin: 0 !important;
  padding: 8px 10px !important;
  font-family: var(--por-font) !important;
  font-size: 13px !important;
  font-style: italic !important;
  color: #8b4a3a !important;
  background: rgba(139, 74, 58, 0.05) !important;
  border-left: 3px solid #8b4a3a !important;
  border-radius: 0 4px 4px 0 !important;
  text-indent: 0 !important;
}

por-panel--focus,
.por-panel--focus,
.por-panel.por-panel--focus,
.mufy_ai_message_bubble .por-panel--focus,
.mufy_ai_message_bubble .por-panel.por-panel--focus {
  border-color: rgba(107, 124, 74, 0.35) !important;
}

por-memory__section,
.por-memory__section,
.mufy_ai_message_bubble .por-memory__section {
  margin: 0 0 12px !important;
  padding: 10px 12px !important;
  background: rgba(250, 244, 232, 0.75) !important;
  border: 1px solid rgba(212, 184, 150, 0.3) !important;
  border-radius: 8px !important;
}

por-memory__section:last-child,
.por-memory__section:last-child,
.mufy_ai_message_bubble .por-memory__section:last-child {
  margin-bottom: 0 !important;
}

por-memory__title,
.por-memory__title,
.mufy_ai_message_bubble .por-memory__title {
  margin: 0 0 8px !important;
  padding-bottom: 6px !important;
  font-family: var(--por-ui) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  color: #6b6588 !important;
  border-bottom: 1px dashed rgba(107, 101, 136, 0.25) !important;
}

mem-item,
.mem-item,
.mufy_ai_message_bubble .mem-item {
  display: block !important;
  margin: 0 0 8px !important;
  padding: 8px 10px !important;
  background: rgba(255, 252, 246, 0.9) !important;
  border-left: 3px solid rgba(107, 101, 136, 0.45) !important;
  border-radius: 0 6px 6px 0 !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  color: #3a3228 !important;
}

mem-item:last-child,
.mem-item:last-child,
.mufy_ai_message_bubble .mem-item:last-child {
  margin-bottom: 0 !important;
}

mem-item[data-day]::before,
.mem-item[data-day]::before,
.mufy_ai_message_bubble .mem-item[data-day]::before {
  content: attr(data-day) " · " !important;
  display: block !important;
  margin-bottom: 4px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: #6b6588 !important;
  letter-spacing: 0.04em !important;
}

mem-item p,
.mem-item p,
.mufy_ai_message_bubble .mem-item p {
  margin: 0 !important;
  text-indent: 0 !important;
}

mem-item--long,
.mem-item--long,
.mufy_ai_message_bubble .mem-item--long {
  border-left-color: rgba(90, 138, 122, 0.5) !important;
}

por-panel--suggest suggest,
.por-panel--suggest suggest,
.mufy_ai_message_bubble .por-panel--suggest suggest {
  background: rgba(90, 138, 122, 0.08) !important;
  border-left-color: #5a8a7a !important;
}

/* ── 通用自由路线 ── */
free-strip,
.free-strip,
.mufy_ai_message_bubble .free-strip {
  display: grid !important;
  gap: 6px !important;
  margin: 0 0 10px !important;
  padding: 10px 12px !important;
  background: rgba(212, 168, 75, 0.1) !important;
  border: 1px dashed rgba(92, 74, 54, 0.22) !important;
  border-radius: 6px !important;
}

por-route,
.por-route,
.mufy_ai_message_bubble .por-route {
  display: block !important;
}

route-head,
.route-head,
.mufy_ai_message_bubble .route-head {
  margin: 0 0 10px !important;
  padding: 10px 12px !important;
  border-radius: 6px !important;
  text-align: center !important;
}

route-head__title,
.route-head__title,
.mufy_ai_message_bubble .route-head__title {
  margin: 0 0 4px !important;
  font-family: var(--por-font) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
}

route-head__sub,
.route-head__sub,
.mufy_ai_message_bubble .route-head__sub {
  margin: 0 !important;
  font-family: var(--por-ui) !important;
  font-size: 12px !important;
  opacity: 0.85 !important;
}

/* ── free ── */
.por-top--free,
.mufy_ai_message_bubble .por-top--free {
  border-top-color: #d4a84b !important;
}

.por-top--free .por-seal,
.mufy_ai_message_bubble .por-top--free .por-seal {
  background: #a68b67 !important;
}

.por-route--free .por-tab,
.mufy_ai_message_bubble .por-route--free .por-tab {
  background: linear-gradient(180deg, #a68b67 0%, #705a40 100%) !important;
}

/* ── build 麦绿账册 ── */
.por-top--build,
.mufy_ai_message_bubble .por-top--build {
  border-top-color: #6b7c4a !important;
}

.por-top--build .por-seal,
.mufy_ai_message_bubble .por-top--build .por-seal {
  background: #6b7c4a !important;
}

build-kpi,
.build-kpi,
.mufy_ai_message_bubble .build-kpi {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 6px !important;
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px dashed rgba(107, 124, 74, 0.25) !important;
}

build-kpi__tile,
.build-kpi__tile,
.mufy_ai_message_bubble .build-kpi__tile {
  padding: 6px 4px !important;
  text-align: center !important;
  background: rgba(107, 124, 74, 0.1) !important;
  border: 1px solid rgba(107, 124, 74, 0.18) !important;
  border-radius: 4px !important;
}

build-kpi__label,
.build-kpi__label,
.mufy_ai_message_bubble .build-kpi__label {
  display: block !important;
  font-size: 10px !important;
  color: #6b7c4a !important;
  font-weight: 600 !important;
}

build-kpi__val,
.build-kpi__val,
.mufy_ai_message_bubble .build-kpi__val {
  display: block !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #3a3228 !important;
}

.por-route--build,
.mufy_ai_message_bubble .por-route--build {
  padding: 10px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.route-head--build,
.mufy_ai_message_bubble .route-head--build {
  background: rgba(107, 124, 74, 0.12) !important;
  border: 1px solid rgba(107, 124, 74, 0.2) !important;
  color: #4a5532 !important;
}

build-grid,
.build-grid,
.mufy_ai_message_bubble .build-grid {
  display: grid !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
}

.por-tab--build,
.mufy_ai_message_bubble .por-tab--build {
  background: linear-gradient(180deg, #8a9b5e 0%, #6b7c4a 100%) !important;
  color: #f5f2e4 !important;
}

build-meter,
.build-meter,
.mufy_ai_message_bubble .build-meter {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 8px !important;
  padding: 6px 8px !important;
  background: rgba(107, 124, 74, 0.08) !important;
  border-radius: 4px !important;
  font-size: 11px !important;
}

build-meter__bar,
.build-meter__bar,
.mufy_ai_message_bubble .build-meter__bar {
  flex: 1 !important;
  height: 8px !important;
  background: rgba(92, 74, 54, 0.12) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}

build-meter__bar i,
.build-meter__bar i,
.mufy_ai_message_bubble .build-meter__bar i {
  display: block !important;
  height: 100% !important;
  background: linear-gradient(90deg, #8a9b5e, #6b7c4a) !important;
  border-radius: 4px !important;
}

.por-top--build + .por-text,
.mufy_ai_message_bubble .por-top--build + .por-text {
  border-left-color: #6b7c4a !important;
}

/* ── love 暖玫瑰 ── */
.por-top--love,
.mufy_ai_message_bubble .por-top--love {
  border-top-color: #c4727a !important;
}

.por-top--love .por-seal,
.mufy_ai_message_bubble .por-top--love .por-seal {
  background: #c4727a !important;
}

love-scene,
.love-scene,
.mufy_ai_message_bubble love-scene,
.mufy_ai_message_bubble .love-scene {
  display: block !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
  padding: 10px 12px !important;
  border-top: 1px dashed rgba(196, 114, 122, 0.25) !important;
  text-align: center !important;
}

love-scene__mood,
.love-scene__mood,
.mufy_ai_message_bubble love-scene__mood,
.mufy_ai_message_bubble .love-scene__mood,
.mufy_ai_message_bubble .love-scene p.love-scene__mood {
  display: block !important;
  width: 100% !important;
  margin: 0 auto 6px !important;
  padding: 0 !important;
  text-align: center !important;
  text-indent: 0 !important;
  font-family: var(--por-font) !important;
  font-size: 13px !important;
  font-style: italic !important;
  color: #8b4a52 !important;
}

love-scene__tag,
.love-scene__tag,
.mufy_ai_message_bubble love-scene__tag,
.mufy_ai_message_bubble .love-scene__tag,
.mufy_ai_message_bubble .love-scene p.love-scene__tag {
  display: inline-block !important;
  width: auto !important;
  margin: 0 auto !important;
  padding: 3px 12px !important;
  text-align: center !important;
  text-indent: 0 !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  color: #c4727a !important;
  background-color: rgba(196, 114, 122, 0.1) !important;
  border: 1px solid rgba(196, 114, 122, 0.28) !important;
  border-radius: 20px !important;
}

.por-route--love,
.mufy_ai_message_bubble .por-route--love {
  padding: 10px 0 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.route-head--love,
.mufy_ai_message_bubble .route-head--love {
  background: rgba(196, 114, 122, 0.1) !important;
  border: 1px solid rgba(196, 114, 122, 0.2) !important;
  color: #8b4a52 !important;
}

.hero-card--love,
.mufy_ai_message_bubble .hero-card--love {
  background: rgba(196, 114, 122, 0.06) !important;
  border-color: rgba(196, 114, 122, 0.28) !important;
}

love-heartbar,
.love-heartbar,
.mufy_ai_message_bubble .love-heartbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px 8px !important;
  margin: 0 0 10px !important;
  padding: 8px !important;
  background: rgba(196, 114, 122, 0.08) !important;
  border-radius: 6px !important;
  font-size: 11px !important;
}

love-heartbar__track,
.love-heartbar__track,
.mufy_ai_message_bubble .love-heartbar__track {
  flex: 1 1 80px !important;
  height: 8px !important;
  background: rgba(139, 74, 82, 0.12) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}

love-heartbar__track i,
.love-heartbar__track i,
.mufy_ai_message_bubble .love-heartbar__track i {
  display: block !important;
  height: 100% !important;
  background: linear-gradient(90deg, #e8a0a8, #c4727a) !important;
}

love-heartbar__label,
.love-heartbar__label,
.mufy_ai_message_bubble .love-heartbar__label {
  flex: 0 0 auto !important;
  font-weight: 600 !important;
  color: #8b4a52 !important;
}

love-heartbar__note,
.love-heartbar__note,
.mufy_ai_message_bubble .love-heartbar__note {
  flex: 0 0 auto !important;
  color: #6b5344 !important;
  font-size: 10px !important;
}

hero-chip--love,
.hero-chip--love,
.mufy_ai_message_bubble .hero-chip--love {
  border-color: rgba(196, 114, 122, 0.25) !important;
  background: rgba(253, 246, 244, 0.95) !important;
}

.hero-card__quote--love,
.mufy_ai_message_bubble .hero-card__quote--love {
  border-left-color: #c4727a !important;
  color: #8b4a52 !important;
  background: rgba(196, 114, 122, 0.06) !important;
}

details.love-harem,
.mufy_ai_message_bubble details.love-harem {
  margin: 0 0 10px !important;
}

details.love-harem > .por-body,
.mufy_ai_message_bubble details.love-harem > .por-body {
  padding: 10px 10px 6px !important;
}

details.love-harem__member,
.mufy_ai_message_bubble details.love-harem__member,
details.love-harem > .por-body > details.love-harem__member,
.mufy_ai_message_bubble details.love-harem > .por-body > details.love-harem__member {
  margin: 0 0 8px !important;
  border: 1px solid rgba(196, 114, 122, 0.2) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background-color: rgba(253, 246, 244, 0.92) !important;
}

details.love-harem__member > summary.por-subtab,
.mufy_ai_message_bubble details.love-harem__member > summary.por-subtab,
details.love-harem > .por-body > details.love-harem__member > summary.por-subtab,
.mufy_ai_message_bubble details.love-harem > .por-body > details.love-harem__member > summary.por-subtab {
  color: #8b4a52 !important;
  background-color: rgba(196, 114, 122, 0.1) !important;
  border-bottom: 1px solid rgba(196, 114, 122, 0.15) !important;
}

details.love-harem__member[open] > summary.por-subtab,
.mufy_ai_message_bubble details.love-harem__member[open] > summary.por-subtab {
  border-bottom-color: rgba(196, 114, 122, 0.22) !important;
}

details.love-harem__member > .por-body,
.mufy_ai_message_bubble details.love-harem__member > .por-body {
  padding: 10px 10px 8px !important;
}

details.love-harem__member > .por-body > .hero-card,
.mufy_ai_message_bubble details.love-harem__member > .por-body > .hero-card {
  margin-bottom: 0 !important;
  border-color: rgba(196, 114, 122, 0.18) !important;
}

details.love-harem__member > .por-body > .hero-card + details.por-sub,
.mufy_ai_message_bubble details.love-harem__member > .por-body > .hero-card + details.por-sub {
  margin-top: 6px !important;
}

details.love-harem__member > .por-body > details.por-sub,
.mufy_ai_message_bubble details.love-harem__member > .por-body > details.por-sub {
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

details.love-harem__member > .por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]),
.mufy_ai_message_bubble details.love-harem__member > .por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]) {
  border: 1px solid rgba(212, 184, 150, 0.38) !important;
  border-top: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

details.love-harem__member > .por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]):first-of-type,
.mufy_ai_message_bubble details.love-harem__member > .por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]):first-of-type {
  border-top: 1px solid rgba(212, 184, 150, 0.38) !important;
  border-radius: 8px 8px 0 0 !important;
}

details.love-harem__member > .por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]):last-of-type,
.mufy_ai_message_bubble details.love-harem__member > .por-body:not(:has(> details.por-sub[open])) > details.por-sub:not([open]):last-of-type {
  border-radius: 0 0 8px 8px !important;
}

details.love-harem__member > .por-body > details.por-sub:not([open]) > summary.por-subtab,
.mufy_ai_message_bubble details.love-harem__member > .por-body > details.por-sub:not([open]) > summary.por-subtab {
  color: #5c4a36 !important;
  background-color: rgba(212, 168, 75, 0.12) !important;
  border-bottom: none !important;
}

details.love-harem__member > .por-body > details.por-sub[open],
.mufy_ai_message_bubble details.love-harem__member > .por-body > details.por-sub[open] {
  margin-top: 6px !important;
  border: 1px solid rgba(212, 184, 150, 0.38) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background-color: rgba(250, 244, 232, 0.92) !important;
}

details.love-harem__member > .por-body > details.por-sub[open] > summary.por-subtab,
.mufy_ai_message_bubble details.love-harem__member > .por-body > details.por-sub[open] > summary.por-subtab {
  color: #5c4a36 !important;
  background-color: rgba(212, 168, 75, 0.14) !important;
}

.por-tab--love,
.mufy_ai_message_bubble .por-tab--love {
  background: linear-gradient(180deg, #d89098 0%, #c4727a 100%) !important;
  color: #fdf6f4 !important;
}

.por-top--love + .por-text,
.mufy_ai_message_bubble .por-top--love + .por-text,
.mufy_ai_message_bubble .por-top--love + div.por-text {
  border-left-color: #c4727a !important;
}

/* ── war 铁红军帐 ── */
.por-top--war,
.mufy_ai_message_bubble .por-top--war {
  border-top-color: #8b3a32 !important;
}

.por-top--war .por-seal,
.mufy_ai_message_bubble .por-top--war .por-seal {
  background: #8b3a32 !important;
}

war-kpi,
.war-kpi,
.mufy_ai_message_bubble .war-kpi {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 6px !important;
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px dashed rgba(139, 58, 50, 0.25) !important;
}

war-kpi__tile,
.war-kpi__tile,
.mufy_ai_message_bubble .war-kpi__tile {
  padding: 6px 4px !important;
  text-align: center !important;
  background: rgba(139, 58, 50, 0.08) !important;
  border: 1px solid rgba(139, 58, 50, 0.18) !important;
  border-radius: 4px !important;
}

war-kpi__tile--alert,
.war-kpi__tile--alert,
.mufy_ai_message_bubble .war-kpi__tile--alert {
  background: rgba(139, 58, 50, 0.15) !important;
  border-color: rgba(139, 58, 50, 0.35) !important;
}

war-kpi__label,
.war-kpi__label,
.mufy_ai_message_bubble .war-kpi__label {
  display: block !important;
  font-size: 10px !important;
  color: #8b3a32 !important;
  font-weight: 600 !important;
}

war-kpi__val,
.war-kpi__val,
.mufy_ai_message_bubble .war-kpi__val {
  display: block !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.por-route--war,
.mufy_ai_message_bubble .por-route--war {
  padding: 10px 0 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.route-head--war,
.mufy_ai_message_bubble .route-head--war {
  background: rgba(139, 58, 50, 0.1) !important;
  border: 1px solid rgba(139, 58, 50, 0.22) !important;
  color: #6b2a24 !important;
}

war-grid,
.war-grid,
.mufy_ai_message_bubble .war-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
}

war-card,
.war-card,
.mufy_ai_message_bubble .war-card {
  border: 1px solid rgba(139, 58, 50, 0.18) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: rgba(244, 234, 216, 0.6) !important;
}

war-card--alert,
.war-card--alert,
.mufy_ai_message_bubble .war-card--alert {
  border-color: rgba(139, 58, 50, 0.4) !important;
  background: rgba(139, 58, 50, 0.06) !important;
}

war-card__head,
.war-card__head,
.mufy_ai_message_bubble .war-card__head {
  margin: 0 !important;
  padding: 8px !important;
  font-family: var(--por-font) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-align: center !important;
  letter-spacing: 0.1em !important;
  color: #f4ece8 !important;
  background: linear-gradient(180deg, #a04a42 0%, #8b3a32 100%) !important;
}

.por-tab--war,
.mufy_ai_message_bubble .por-tab--war {
  background: linear-gradient(180deg, #a04a42 0%, #8b3a32 100%) !important;
  color: #f4ece8 !important;
}

.por-top--war + .por-text,
.mufy_ai_message_bubble .por-top--war + .por-text {
  border-left-color: #8b3a32 !important;
}

/* ── survive 冷灰危局 ── */
.por-top--survive,
.mufy_ai_message_bubble .por-top--survive {
  border-top-color: #5a6068 !important;
}

.por-top--survive .por-seal,
.mufy_ai_message_bubble .por-top--survive .por-seal {
  background: #5a6068 !important;
}

survive-alert,
.survive-alert,
.mufy_ai_message_bubble .survive-alert {
  margin-top: 8px !important;
  padding: 8px 10px !important;
  border-radius: 4px !important;
  border-left: 4px solid #5a6068 !important;
  background: rgba(90, 96, 104, 0.08) !important;
  text-align: center !important;
}

survive-alert__level,
.survive-alert__level,
.mufy_ai_message_bubble .survive-alert__level {
  margin: 0 0 4px !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  color: #5a6068 !important;
  text-align: center !important;
  text-indent: 0 !important;
}

survive-alert__msg,
.survive-alert__msg,
.mufy_ai_message_bubble .survive-alert__msg {
  margin: 0 !important;
  font-size: 12px !important;
  color: #3a3228 !important;
  text-align: center !important;
  text-indent: 0 !important;
}

.survive-alert--高,
.survive-alert--极,
.mufy_ai_message_bubble .survive-alert--高,
.mufy_ai_message_bubble .survive-alert--极 {
  border-left-color: #8b3a32 !important;
  background: rgba(139, 58, 50, 0.1) !important;
}

.survive-alert--高 .survive-alert__level,
.survive-alert--极 .survive-alert__level,
.mufy_ai_message_bubble .survive-alert--高 .survive-alert__level,
.mufy_ai_message_bubble .survive-alert--极 .survive-alert__level {
  color: #8b3a32 !important;
}

.por-route--survive,
.mufy_ai_message_bubble .por-route--survive {
  padding: 10px 0 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

survive-strip,
.survive-strip,
.mufy_ai_message_bubble .survive-strip {
  display: grid !important;
  gap: 4px !important;
  margin: 0 0 8px !important;
  padding: 8px 10px !important;
  background: rgba(90, 96, 104, 0.08) !important;
  border: 1px solid rgba(90, 96, 104, 0.15) !important;
  border-radius: 4px !important;
  font-size: 12px !important;
}

survive-strip item label,
.survive-strip item label,
.mufy_ai_message_bubble .survive-strip item label {
  color: #5a6068 !important;
  min-width: 2.5em !important;
}

.por-tab--survive,
.mufy_ai_message_bubble .por-tab--survive {
  background: linear-gradient(180deg, #6a7078 0%, #5a6068 100%) !important;
  color: #eef0f2 !important;
}

.por-top--survive + .por-text,
.mufy_ai_message_bubble .por-top--survive + .por-text {
  border-left-color: #5a6068 !important;
}

@media (max-width: 520px) {
  por-kpi,
  .por-kpi,
  .mufy_ai_message_bubble .por-kpi {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  por-top-grid,
  .por-top-grid,
  .mufy_ai_message_bubble .por-top-grid {
    grid-template-columns: 1fr !important;
  }

  build-kpi,
  .build-kpi,
  war-kpi,
  .war-kpi,
  .mufy_ai_message_bubble .build-kpi,
  .mufy_ai_message_bubble .war-kpi {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  war-grid,
  .war-grid,
  .mufy_ai_message_bubble .war-grid {
    grid-template-columns: 1fr !important;
  }
}

hero-card--focus,
.hero-card--focus,
.mufy_ai_message_bubble .hero-card--focus {
  margin-bottom: 0 !important;
}

hero-card--male .por-intimate,
.hero-card--male .por-intimate,
hero-card--male details.por-intimate,
.hero-card--male details.por-intimate,
.mufy_ai_message_bubble .hero-card--male .por-intimate,
.mufy_ai_message_bubble .hero-card--male details.por-intimate {
  display: none !important;
}

/* ── 私密状态 por-intimate ── */
details.por-intimate,
.por-intimate,
.mufy_ai_message_bubble details.por-intimate,
.mufy_ai_message_bubble .por-intimate {
  margin: 8px 0 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(139, 74, 58, 0.18) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  background: rgba(244, 234, 216, 0.5) !important;
}

summary.por-intimate__head,
.por-intimate__head,
.mufy_ai_message_bubble summary.por-intimate__head,
.mufy_ai_message_bubble .por-intimate__head {
  display: block !important;
  padding: 8px 10px !important;
  font-family: var(--por-ui) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #8b4a3a !important;
  background: linear-gradient(90deg, rgba(139, 74, 58, 0.12) 0%, rgba(212, 168, 75, 0.08) 100%) !important;
  cursor: pointer !important;
  list-style: none !important;
}

summary.por-intimate__head::-webkit-details-marker,
.mufy_ai_message_bubble summary.por-intimate__head::-webkit-details-marker {
  display: none !important;
}

summary.por-intimate__head::after,
.mufy_ai_message_bubble summary.por-intimate__head::after {
  content: "▸" !important;
  float: right !important;
  font-size: 10px !important;
  opacity: 0.6 !important;
}

details.por-intimate[open] > summary.por-intimate__head::after,
.mufy_ai_message_bubble details.por-intimate[open] > summary.por-intimate__head::after {
  transform: rotate(90deg) !important;
}

por-intimate__badge,
.por-intimate__badge,
.mufy_ai_message_bubble .por-intimate__badge {
  display: inline-block !important;
  margin-left: 6px !important;
  padding: 0 5px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #f4ead8 !important;
  background: #8b4a3a !important;
  border-radius: 3px !important;
  vertical-align: middle !important;
}

por-intimate__body,
.por-intimate__body,
.mufy_ai_message_bubble .por-intimate__body {
  padding: 8px 10px !important;
  background: rgba(250, 244, 232, 0.95) !important;
}

intimate-item,
.intimate-item,
.mufy_ai_message_bubble intimate-item,
.mufy_ai_message_bubble .intimate-item {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px 8px !important;
  margin: 0 0 6px !important;
  padding-bottom: 6px !important;
  border-bottom: 1px dotted rgba(139, 74, 58, 0.12) !important;
  font-size: 12px !important;
}

intimate-item:last-child,
.intimate-item:last-child,
.mufy_ai_message_bubble intimate-item:last-child,
.mufy_ai_message_bubble .intimate-item:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

intimate-item label,
.intimate-item label,
.mufy_ai_message_bubble intimate-item label,
.mufy_ai_message_bubble .intimate-item label {
  flex: 0 0 2.5em !important;
  color: #8b4a3a !important;
  font-weight: 600 !important;
}

.por-intimate--love,
.mufy_ai_message_bubble .por-intimate--love {
  border-color: rgba(196, 114, 122, 0.28) !important;
}

.por-intimate--love summary.por-intimate__head,
.mufy_ai_message_bubble .por-intimate--love summary.por-intimate__head {
  color: #8b4a52 !important;
  background: linear-gradient(90deg, rgba(196, 114, 122, 0.15) 0%, rgba(253, 246, 244, 0.9) 100%) !important;
}

.por-intimate--love .por-intimate__badge,
.mufy_ai_message_bubble .por-intimate--love .por-intimate__badge {
  background: #c4727a !important;
}

