.rev-main {
  background: linear-gradient(180deg,#ece3d0 0%,#e6dcc8 100%) !important;
  color: #0a3a34 !important;
  font-family: "Songti SC","Noto Serif SC",serif !important;
  font-size: 15.5px !important;
  line-height: 2 !important;
  letter-spacing: 0.3px !important;
  padding: 20px 22px !important;
  border: 1px solid #a87b2c !important;
  border-radius: 4px !important;
  box-shadow: inset 0 0 0 4px #e6dcc8, inset 0 0 0 5px #a87b2c, 0 4px 14px rgba(10,58,52,0.25) !important;
  margin: 10px 0 !important;
}

.rev-main p { margin: 0 0 14px 0 !important; }

.char-dialogue {
  color: #d23a26 !important;
  font-weight: 700 !important;
  letter-spacing: 0.4px !important;
}

.inner-thought {
  color: #0a3a34 !important;
  font-style: italic !important;
  opacity: 0.92 !important;
  border-bottom: 1px dotted #a87b2c !important;
}

.system-alert {
  background: #0a3a34 !important;
  color: #a87b2c !important;
  font-family: "Songti SC",serif !important;
  font-size: 14px !important;
  letter-spacing: 1px !important;
  padding: 10px 16px !important;
  margin: 14px 0 !important;
  border-left: 4px solid #d23a26 !important;
  border-radius: 2px !important;
  text-align: center !important;
}

.coser-panel {
  background: linear-gradient(180deg,#ece3d0 0%,#e1d5bd 100%) !important;
  border: 1px solid #a87b2c !important;
  border-radius: 5px !important;
  margin: 12px 0 !important;
  overflow: hidden !important;
  box-shadow: 0 3px 10px rgba(10,58,52,0.22) !important;
}

.coser-panel > summary {
  background: linear-gradient(180deg,#0d433c 0%,#0a3a34 100%) !important;
  color: #c9962f !important;
  font-family: "Songti SC",serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  padding: 12px 18px !important;
  cursor: pointer !important;
  list-style: none !important;
  border-bottom: 2px solid #a87b2c !important;
  box-shadow: inset 0 -1px 0 #0a3a34, inset 0 0 0 2px rgba(168,123,44,0.25) !important;
  position: relative !important;
}

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

.coser-panel > summary::after {
  content: "❖" !important;
  color: #d23a26 !important;
  float: right !important;
  font-size: 12px !important;
  letter-spacing: 0 !important;
}

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

.coser-panel > summary + *,
.coser-panel > *:not(summary) {
  color: #0a3a34 !important;
  font-family: "Songti SC",serif !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
  padding: 4px 18px !important;
}

.coser-panel ul,
.coser-panel li {
  color: #0a3a34 !important;
  list-style: none !important;
}

.coser-panel li {
  padding: 3px 0 !important;
  border-bottom: 1px dashed rgba(168,123,44,0.45) !important;
}

.coser-panel table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 6px 0 10px 0 !important;
  font-size: 13px !important;
}

.coser-panel th {
  background: #0a3a34 !important;
  color: #c9962f !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  padding: 7px 9px !important;
  border: 1px solid #a87b2c !important;
}

.coser-panel td {
  background: #ece3d0 !important;
  color: #0a3a34 !important;
  padding: 7px 9px !important;
  border: 1px solid #a87b2c !important;
}

.memory-panel summary { letter-spacing: 2px !important; }

.shop-panel,
.player-panel { border-left: 5px solid #d23a26 !important; }

.customer-panel { border-left: 5px solid #0a3a34 !important; }

hr {
  height: 0 !important;
  border: 0 !important;
  border-top: 2px solid #a87b2c !important;
  margin: 18px 0 !important;
  position: relative !important;
  background: linear-gradient(90deg,transparent,#a87b2c 20%,#a87b2c 80%,transparent) !important;
  overflow: visible !important;
}

hr::after {
  content: "波" !important;
  position: absolute !important;
  top: -13px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: #e6dcc8 !important;
  color: #d23a26 !important;
  font-family: "Songti SC",serif !important;
  font-size: 13px !important;
  padding: 0 12px !important;
  letter-spacing: 0 !important;
}
