.rev-main {
  background: linear-gradient(160deg, #d8e5f2 0%, #cfe0f0 100%) !important;
  color: #16314f !important;
  font-family: "Noto Serif SC", "Songti SC", serif !important;
  font-size: 16px !important;
  line-height: 1.95 !important;
  letter-spacing: 0.3px !important;
  padding: 22px 24px !important;
  margin: 14px 0 !important;
  border: 1px solid #16314f !important;
  border-left: 4px solid #b8862f !important;
  box-shadow: 0 2px 10px rgba(22, 49, 79, 0.18) !important;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)) !important;
  text-align: justify !important;
}

.rev-main p {
  margin: 0 0 14px 0 !important;
  color: #16314f !important;
}

.char-dialogue {
  color: #8b2331 !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-shadow: 0 0 1px rgba(139, 35, 49, 0.25) !important;
}

.inner-thought {
  color: #2f4a6b !important;
  font-style: italic !important;
  opacity: 0.92 !important;
}

.system-alert {
  background: linear-gradient(135deg, #16314f 0%, #1f2b3d 100%) !important;
  color: #e8c87a !important;
  font-family: "Noto Sans SC", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-align: center !important;
  padding: 12px 18px !important;
  margin: 16px 0 !important;
  border: 1px solid #b8862f !important;
  border-radius: 0 !important;
  clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 10px 100%, 0 50%) !important;
  box-shadow: inset 0 0 12px rgba(184, 134, 47, 0.3) !important;
}

.coser-panel {
  background: linear-gradient(150deg, #dce8f4 0%, #ccdcee 100%) !important;
  border: 1px solid #16314f !important;
  margin: 12px 0 !important;
  padding: 0 !important;
  box-shadow: 0 2px 8px rgba(22, 49, 79, 0.15) !important;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px)) !important;
  overflow: hidden !important;
}

.coser-panel > summary {
  background: linear-gradient(90deg, #16314f 0%, #214061 100%) !important;
  color: #e8c87a !important;
  font-family: "Noto Sans SC", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  padding: 11px 16px 11px 20px !important;
  cursor: pointer !important;
  list-style: none !important;
  border-left: 4px solid #b8862f !important;
  position: relative !important;
  transition: all 0.25s ease !important;
}

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

.coser-panel > summary::after {
  content: "◆" !important;
  position: absolute !important;
  right: 16px !important;
  color: #b8862f !important;
  font-size: 11px !important;
  transition: transform 0.25s ease !important;
}

.coser-panel[open] > summary::after {
  transform: rotate(180deg) !important;
  color: #e8c87a !important;
}

.coser-panel > summary:hover {
  border-left: 4px solid #e8c87a !important;
  box-shadow: inset 0 0 14px rgba(184, 134, 47, 0.35) !important;
}

.coser-panel > summary:hover::after {
  text-shadow: 0 0 6px #e8c87a !important;
}

.coser-panel:not(summary) {
  color: #16314f !important;
}

.coser-panel p,
.coser-panel li,
.coser-panel span,
.coser-panel div {
  color: #16314f !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.thinking-panel > summary {
  border-left: 4px solid #5a7596 !important;
}

.scene-panel > summary {
  border-left: 4px solid #2f7d8b !important;
}

.memory-panel > summary {
  border-left: 4px solid #6b4a8b !important;
}

.player-panel > summary {
  border-left: 4px solid #2f8b5a !important;
}

.npc-panel > summary {
  border-left: 4px solid #8b2331 !important;
}

.summon-panel > summary {
  border-left: 4px solid #b8862f !important;
  background: linear-gradient(90deg, #16314f 0%, #3a2f4f 60%, #4a3520 100%) !important;
}

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

.coser-panel th {
  background: #16314f !important;
  color: #e8c87a !important;
  font-family: "Noto Sans SC", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  padding: 8px 10px !important;
  border: 1px solid #b8862f !important;
  text-align: left !important;
}

.coser-panel td {
  background: rgba(255, 255, 255, 0.35) !important;
  color: #16314f !important;
  padding: 7px 10px !important;
  border: 1px solid #5a7596 !important;
}

.coser-panel tr:nth-child(even) td {
  background: rgba(184, 134, 47, 0.1) !important;
}

.coser-panel > *:not(summary) {
  padding-left: 18px !important;
  padding-right: 18px !important;
}

.coser-panel ul {
  padding-left: 36px !important;
  margin: 10px 0 !important;
}

.coser-panel li {
  margin: 5px 0 !important;
  list-style: none !important;
  position: relative !important;
}

.coser-panel li::before {
  content: "◇" !important;
  position: absolute !important;
  left: -18px !important;
  color: #b8862f !important;
  font-size: 10px !important;
}

hr {
  border: none !important;
  height: 1px !important;
  margin: 18px 0 !important;
  background: linear-gradient(90deg, transparent 0%, #b8862f 20%, #b8862f 45%, transparent 50%, #b8862f 55%, #b8862f 80%, transparent 100%) !important;
  position: relative !important;
  overflow: visible !important;
}

hr::after {
  content: "◆" !important;
  position: absolute !important;
  top: -8px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  color: #b8862f !important;
  font-size: 14px !important;
  background: #cfe0f0 !important;
  padding: 0 8px !important;
}

.coser-panel hr {
  background: linear-gradient(90deg, transparent, #5a7596 50%, transparent) !important;
  margin: 12px 0 !important;
}

.coser-panel hr::after {
  display: none !important;
}
