body {
  background-color: #f5ede1 !important;
  color: #2a1810 !important;
  font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

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

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

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

.message {
  background-color: transparent !important;
  border: none !important;
  padding: 12px 16px !important;
}

.message.assistant {
  background-color: rgba(235, 225, 210, 0.6) !important;
  border-left: 2px solid #b8860b !important;
  border-radius: 0 8px 8px 0 !important;
  margin: 8px 0 !important;
  padding: 16px 20px !important;
}

.message.user {
  background-color: rgba(245, 235, 220, 0.5) !important;
  border-right: 2px solid #8b6914 !important;
  border-radius: 8px 0 0 8px !important;
  margin: 8px 0 !important;
  padding: 16px 20px !important;
}

.rev-main {
  color: #2a1810 !important;
  font-size: 15px !important;
  line-height: 2 !important;
  letter-spacing: 0.3px !important;
  text-align: justify !important;
  padding: 8px 0 !important;
}

.rev-main p {
  margin: 10px 0 !important;
  text-indent: 2em !important;
}

.char-dialogue {
  color: #a0410d !important;
  font-style: normal !important;
  font-weight: 500 !important;
}

.inner-thought {
  color: #6b4c8a !important;
  font-style: italic !important;
  font-weight: normal !important;
}

.char-scripture {
  color: #8b6914 !important;
  font-family: "Noto Serif SC", "SimSun", "STSong", serif !important;
  font-style: normal !important;
  font-weight: normal !important;
  border-left: 2px solid #b8860b !important;
  padding-left: 8px !important;
  margin: 4px 0 !important;
  display: inline !important;
}

.system-alert {
  background-color: rgba(184, 134, 11, 0.1) !important;
  border: 1px solid #b8860b !important;
  border-radius: 4px !important;
  color: #6b5310 !important;
  padding: 10px 14px !important;
  margin: 12px 0 !important;
  font-size: 13px !important;
  text-align: center !important;
}

.social-sim {
  background-color: rgba(235, 225, 210, 0.8) !important;
  border: 1px solid #c9b896 !important;
  border-radius: 8px !important;
  padding: 14px !important;
  margin: 16px 0 !important;
  font-size: 14px !important;
  color: #2a1810 !important;
}

.social-sim div {
  margin: 0 !important;
  padding: 1px 0 !important;
}

details.coser-panel {
  background-color: rgba(245, 237, 225, 0.95) !important;
  border: 1px solid #c9b896 !important;
  border-radius: 6px !important;
  margin: 6px 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

details.coser-panel summary {
  background-color: rgba(230, 218, 200, 0.95) !important;
  color: #6b5310 !important;
  padding: 10px 14px !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-weight: bold !important;
  border-bottom: 1px solid #c9b896 !important;
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

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

details.coser-panel summary::before {
  content: "▸ " !important;
  color: #b8860b !important;
  transition: transform 0.2s !important;
}

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

details.coser-panel > div,
details.coser-panel > p,
details.coser-panel > table,
details.coser-panel > ul,
details.coser-panel > ol {
  padding: 12px 14px !important;
  color: #3a2418 !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

details.coser-panel li {
  color: #3a2418 !important;
  margin: 3px 0 !important;
  font-size: 13px !important;
}

details.thinking-panel {
  border-color: #d4c4a8 !important;
  opacity: 0.85 !important;
}

details.thinking-panel summary {
  background-color: rgba(240, 232, 218, 0.95) !important;
  color: #7a6a50 !important;
}

details.scene-panel {
  border-color: #b8860b !important;
  border-width: 2px !important;
}

details.scene-panel summary {
  background: linear-gradient(90deg, rgba(230, 218, 200, 0.98), rgba(235, 225, 210, 0.95)) !important;
  color: #6b5310 !important;
  font-weight: bold !important;
}

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

details.memory-panel summary {
  color: #6b5310 !important;
}

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

details.player-panel summary {
  color: #5a4530 !important;
}

details.npc-panel {
  border-color: #c97a5f !important;
}

details.npc-panel summary {
  background-color: rgba(245, 225, 215, 0.95) !important;
  color: #8b3a1a !important;
}

details.network-panel {
  border-color: #b8a070 !important;
}

details.network-panel summary {
  color: #6b5a30 !important;
}

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

details.coser-panel table th {
  background-color: rgba(230, 218, 200, 0.8) !important;
  color: #5a4530 !important;
  padding: 6px 8px !important;
  border-bottom: 1px solid #c9b896 !important;
  text-align: left !important;
  font-weight: bold !important;
  font-size: 12px !important;
}

details.coser-panel table td {
  padding: 5px 8px !important;
  border-bottom: 1px solid rgba(201, 184, 150, 0.4) !important;
  color: #3a2418 !important;
  font-size: 12px !important;
}

details.coser-panel table tr:hover td {
  background-color: rgba(230, 218, 200, 0.4) !important;
}

hr {
  border: none !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, #b8860b, #d4a847, #b8860b, transparent) !important;
  margin: 16px 0 !important;
}

a {
  color: #a0410d !important;
  text-decoration: none !important;
}

a:hover {
  color: #c85020 !important;
  text-decoration: underline !important;
}

strong, b {
  color: #6b5310 !important;
  font-weight: bold !important;
}

em, i {
  color: #6b4c8a !important;
}

code {
  background-color: rgba(230, 218, 200, 0.6) !important;
  color: #a0410d !important;
  padding: 2px 6px !important;
  border-radius: 3px !important;
  font-size: 13px !important;
}

blockquote {
  border-left: 3px solid #b8860b !important;
  background-color: rgba(235, 225, 210, 0.5) !important;
  padding: 8px 14px !important;
  margin: 10px 0 !important;
  color: #3a2418 !important;
  font-style: italic !important;
}

input, textarea {
  background-color: #faf7f0 !important;
  color: #2a1810 !important;
  border: 1px solid #c9b896 !important;
  border-radius: 4px !important;
  padding: 8px 12px !important;
}

input:focus, textarea:focus {
  border-color: #b8860b !important;
  outline: none !important;
  box-shadow: 0 0 6px rgba(184, 134, 11, 0.3) !important;
}

button {
  background-color: #e6dac8 !important;
  color: #5a4530 !important;
  border: 1px solid #c9b896 !important;
  border-radius: 4px !important;
  padding: 8px 16px !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}

button:hover {
  background-color: #d4c4a8 !important;
  border-color: #b8860b !important;
  box-shadow: 0 0 8px rgba(184, 134, 11, 0.25) !important;
}

::selection {
  background-color: rgba(184, 134, 11, 0.3) !important;
  color: #2a1810 !important;
}
