@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;700&family=Noto+Sans+SC:wght@400;700&display=swap');

body {
  background-color: #faf6f1 !important;
  color: #3d2b1f !important;
  font-family: 'Noto Sans SC', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

.message {
  background-color: #faf6f1 !important;
  border: none !important;
  padding: 16px 20px !important;
  margin: 8px 0 !important;
}

.rev-main {
  background-color: #fdf9f5 !important;
  color: #3d2b1f !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  padding: 20px 24px !important;
  border-left: 3px solid #c4a0b9 !important;
  border-radius: 4px !important;
  margin: 12px 0 !important;
}

.char-dialogue {
  color: #a03060 !important;
  font-family: 'Noto Serif SC', serif !important;
  font-size: 15px !important;
}

.inner-thought {
  color: #6b4c7a !important;
  font-style: italic !important;
  font-size: 14px !important;
}

.system-alert {
  background-color: #f5ede6 !important;
  color: #5a3e2b !important;
  border: 1px dashed #c4a0b9 !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  margin: 10px 0 !important;
  font-size: 13px !important;
}

.dao-voice {
  background: linear-gradient(135deg, #fdf6e3, #faf0d7) !important;
  color: #7a5c00 !important;
  border: 2px solid #c9a84c !important;
  border-radius: 8px !important;
  padding: 14px 18px !important;
  margin: 16px 0 !important;
  font-family: 'Noto Serif SC', serif !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  position: relative !important;
  box-shadow: 0 2px 8px rgba(180, 150, 60, 0.15) !important;
}

.dao-voice::before {
  content: "✦ 天道心声 ✦" !important;
  display: block !important;
  text-align: center !important;
  color: #b8960a !important;
  font-size: 12px !important;
  letter-spacing: 4px !important;
  margin-bottom: 8px !important;
  font-weight: 700 !important;
}

.dao-guidance {
  background-color: #fdf8ee !important;
  color: #5a4520 !important;
  border: 1px solid #d4b872 !important;
  border-radius: 8px !important;
  padding: 16px 20px !important;
  margin: 16px 0 !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
  box-shadow: 0 1px 4px rgba(180, 150, 60, 0.1) !important;
}

.dao-guidance::before {
  content: "" !important;
  display: block !important;
  height: 1px !important;
  background: linear-gradient(to right, transparent, #d4b872, transparent) !important;
  margin-bottom: 12px !important;
}

details.coser-panel {
  background-color: #fdf9f5 !important;
  border: 1px solid #dcc8d6 !important;
  border-radius: 8px !important;
  margin: 8px 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

details.coser-panel > summary {
  background-color: #f4eae4 !important;
  color: #5a3045 !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  list-style: none !important;
  border-bottom: 1px solid #dcc8d6 !important;
}

details.coser-panel > summary::-webkit-details-marker {
  display: none !important;
}

details.coser-panel > summary::before {
  content: "▸ " !important;
  color: #a03060 !important;
}

details.coser-panel[open] > summary::before {
  content: "▾ " !important;
  color: #a03060 !important;
}

details.coser-panel[open] > summary {
  border-bottom: 1px solid #dcc8d6 !important;
}

details.coser-panel > *:not(summary) {
  padding: 12px 16px !important;
  font-size: 13px !important;
  color: #3d2b1f !important;
  line-height: 1.7 !important;
}

details.coser-panel.thinking-panel {
  border-color: #c8b8d0 !important;
}

details.coser-panel.thinking-panel > summary {
  background-color: #efe6f0 !important;
  color: #5a3d6b !important;
  border-bottom-color: #c8b8d0 !important;
}

details.coser-panel.scene-panel {
  border-color: #c4d4c0 !important;
}

details.coser-panel.scene-panel > summary {
  background-color: #edf3eb !important;
  color: #3d5a35 !important;
  border-bottom-color: #c4d4c0 !important;
}

details.coser-panel.memory-panel {
  border-color: #b8c8d8 !important;
}

details.coser-panel.memory-panel > summary {
  background-color: #e8eff5 !important;
  color: #2e4a5e !important;
  border-bottom-color: #b8c8d8 !important;
}

details.coser-panel.player-panel {
  border-color: #c0c8d4 !important;
}

details.coser-panel.player-panel > summary {
  background-color: #eaecf2 !important;
  color: #3a3f5a !important;
  border-bottom-color: #c0c8d4 !important;
}

details.coser-panel.heroine-panel {
  border-color: #e0b0c0 !important;
}

details.coser-panel.heroine-panel > summary {
  background-color: #faeef2 !important;
  color: #8a2050 !important;
  border-bottom-color: #e0b0c0 !important;
}

details.coser-panel.heroine2-panel {
  border-color: #c8a8d8 !important;
}

details.coser-panel.heroine2-panel > summary {
  background-color: #f2e8f6 !important;
  color: #6a3080 !important;
  border-bottom-color: #c8a8d8 !important;
}

details.coser-panel.rival-panel {
  border-color: #c0b0a0 !important;
}

details.coser-panel.rival-panel > summary {
  background-color: #f0ebe4 !important;
  color: #5a4030 !important;
  border-bottom-color: #c0b0a0 !important;
}

details.coser-panel.anchor-panel {
  border-color: #d4a8a8 !important;
}

details.coser-panel.anchor-panel > summary {
  background-color: #f8eded !important;
  color: #7a3030 !important;
  border-bottom-color: #d4a8a8 !important;
}

details.coser-panel details {
  background-color: #faf6f1 !important;
  border: 1px solid #e0d4cc !important;
  border-radius: 6px !important;
  margin: 6px 0 !important;
  padding: 0 !important;
}

details.coser-panel details > summary {
  background-color: #f5ede6 !important;
  color: #5a3e2b !important;
  padding: 8px 12px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  list-style: none !important;
  border-bottom: 1px solid #e0d4cc !important;
}

details.coser-panel details > summary::-webkit-details-marker {
  display: none !important;
}

details.coser-panel details > summary::before {
  content: "▸ " !important;
  color: #a07060 !important;
}

details.coser-panel details[open] > summary::before {
  content: "▾ " !important;
  color: #a07060 !important;
}

details.coser-panel table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 12px !important;
  margin: 8px 0 !important;
}

details.coser-panel th {
  background-color: #f0e6de !important;
  color: #5a3e2b !important;
  padding: 6px 10px !important;
  text-align: left !important;
  font-weight: 700 !important;
  border-bottom: 2px solid #d4c4b8 !important;
}

details.coser-panel td {
  padding: 5px 10px !important;
  border-bottom: 1px solid #e8ddd4 !important;
  color: #3d2b1f !important;
}

details.coser-panel tr:hover td {
  background-color: #f5ede6 !important;
}

hr {
  border: none !important;
  height: 1px !important;
  background: linear-gradient(to right, transparent, #c4a0b9, #d4b872, #c4a0b9, transparent) !important;
  margin: 20px 0 !important;
}

::-webkit-scrollbar {
  width: 6px !important;
}

::-webkit-scrollbar-track {
  background: #faf6f1 !important;
}

::-webkit-scrollbar-thumb {
  background: #c4a0b9 !important;
  border-radius: 3px !important;
}

::-webkit-scrollbar-thumb:hover {
  background: #a03060 !important;
}
