:root {
  --factory-red: #8B0000 !important;
  --rust-orange: #B45309 !important;
  --warm-cream: #FDF6E3 !important;
  --aged-paper: #F5E6D3 !important;
  --industrial-gray: #4A4A4A !important;
  --dark-steel: #2D2D2D !important;
  --shadow-black: rgba(0,0,0,0.35) !important;
  --gold-accent: #D4A017 !important;
  --shame-red: #991B1B !important;
  --notice-blue: #1E3A5F !important;
}

body {
  background: linear-gradient(135deg, #3D3D3D 0%, #2A2A2A 50%, #1F1F1F 100%) !important;
  color: #F5E6D3 !important;
  font-family: "Microsoft YaHei", "PingFang SC", sans-serif !important;
  line-height: 1.8 !important;
}

.rev-main {
  background: linear-gradient(180deg, rgba(45,45,45,0.95) 0%, rgba(35,35,35,0.98) 100%) !important;
  border-left: 4px solid #B45309 !important;
  padding: 24px 28px !important;
  margin: 20px 0 !important;
  border-radius: 0 8px 8px 0 !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.05) !important;
  font-size: 16px !important;
  letter-spacing: 0.3px !important;
  color: #F5E6D3 !important;
}

.char-dialogue {
  color: #FBBF24 !important;
  font-weight: 500 !important;
  text-shadow: 0 0 8px rgba(251,191,36,0.3) !important;
}

.inner-thought {
  color: #94A3B8 !important;
  font-style: italic !important;
  opacity: 0.9 !important;
}

.scene-info {
  background: linear-gradient(90deg, #8B0000 0%, #6B0000 100%) !important;
  color: #FDF6E3 !important;
  padding: 16px 24px !important;
  margin: 16px 0 !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  box-shadow: 0 3px 15px rgba(139,0,0,0.4) !important;
  text-align: center !important;
  letter-spacing: 1px !important;
}

.system-alert {
  background: linear-gradient(135deg, #7C2D12 0%, #5C1D0C 100%) !important;
  border: 2px dashed #B45309 !important;
  color: #FED7AA !important;
  padding: 14px 20px !important;
  margin: 14px 0 !important;
  border-radius: 6px !important;
  font-weight: 500 !important;
}

.coser-panel {
  margin: 12px 0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.35) !important;
}

.coser-panel summary {
  padding: 14px 20px !important;
  cursor: pointer !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.5px !important;
  transition: all 0.25s ease !important;
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

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

.coser-panel summary::before {
  content: "▶" !important;
  font-size: 10px !important;
  transition: transform 0.25s ease !important;
}

.coser-panel[open] summary::before {
  transform: rotate(90deg) !important;
}

.coser-panel > :not(summary) {
  padding: 18px 20px !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.thinking-panel {
  background: linear-gradient(135deg, #1E1E1E 0%, #161616 100%) !important;
  border: 1px solid #333 !important;
}

.thinking-panel summary {
  background: linear-gradient(90deg, #252525 0%, #1A1A1A 100%) !important;
  color: #9CA3AF !important;
}

.memo-panel {
  background: linear-gradient(135deg, #2C2416 0%, #231C12 100%) !important;
  border: 1px solid #5C4A32 !important;
}

.memo-panel summary {
  background: linear-gradient(90deg, #B45309 0%, #8B4513 100%) !important;
  color: #FDF6E3 !important;
}

.memo-panel > :not(summary) {
  background: rgba(92,74,50,0.15) !important;
  color: #E5D5C5 !important;
}

.memo-panel pre,
.memo-panel code {
  color: #E5D5C5 !important;
}

.memory-panel {
  background: linear-gradient(135deg, #1A1A2E 0%, #16162A 100%) !important;
  border: 1px solid #3D3D6B !important;
}

.memory-panel summary {
  background: linear-gradient(90deg, #4C1D95 0%, #3B0764 100%) !important;
  color: #E9D5FF !important;
}

.memory-panel > :not(summary) {
  background: rgba(61,61,107,0.15) !important;
  color: #C4B5FD !important;
}

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

.memory-panel th {
  background: rgba(76,29,149,0.4) !important;
  color: #E9D5FF !important;
  padding: 10px 12px !important;
  text-align: left !important;
  font-weight: 600 !important;
  border-bottom: 2px solid #5B21B6 !important;
}

.memory-panel td {
  padding: 10px 12px !important;
  border-bottom: 1px solid rgba(139,92,246,0.2) !important;
  color: #DDD6FE !important;
}

.honor-panel {
  background: linear-gradient(135deg, #2A2308 0%, #211B06 100%) !important;
  border: 1px solid #D4A017 !important;
}

.honor-panel summary {
  background: linear-gradient(90deg, #D4A017 0%, #B8860B 100%) !important;
  color: #FFFBEB !important;
}

.honor-panel > :not(summary) {
  background: rgba(212,160,23,0.1) !important;
  color: #FDE68A !important;
}

.honor-panel pre,
.honor-panel code {
  color: #FDE68A !important;
}

.shame-panel {
  background: linear-gradient(135deg, #2D1515 0%, #251010 100%) !important;
  border: 1px solid #991B1B !important;
}

.shame-panel summary {
  background: linear-gradient(90deg, #991B1B 0%, #7F1D1D 100%) !important;
  color: #FEE2E2 !important;
}

.shame-panel > :not(summary) {
  background: rgba(153,27,27,0.15) !important;
  color: #FECACA !important;
}

.shame-panel pre,
.shame-panel code {
  color: #FECACA !important;
}

.notice-panel {
  background: linear-gradient(135deg, #0F1A2A 0%, #0C1522 100%) !important;
  border: 1px solid #1E3A5F !important;
}

.notice-panel summary {
  background: linear-gradient(90deg, #1E3A5F 0%, #152E4D 100%) !important;
  color: #BFDBFE !important;
}

.notice-panel > :not(summary) {
  background: rgba(30,58,95,0.15) !important;
  color: #93C5FD !important;
}

.notice-panel pre,
.notice-panel code {
  color: #93C5FD !important;
}

.npc-panel {
  background: linear-gradient(135deg, #1F1A1A 0%, #181414 100%) !important;
  border: 1px solid #6B4040 !important;
}

.npc-panel summary {
  background: linear-gradient(90deg, #8B4545 0%, #6B3535 100%) !important;
  color: #FFE4E6 !important;
}

.npc-panel > :not(summary) {
  background: rgba(107,64,64,0.12) !important;
  color: #FECDD3 !important;
}

.npc-panel pre,
.npc-panel code {
  color: #FECDD3 !important;
}

.choice-panel {
  background: linear-gradient(135deg, #1C2520 0%, #151D19 100%) !important;
  border: 2px solid #166534 !important;
  border-radius: 10px !important;
  padding: 20px 24px !important;
  margin: 20px 0 !important;
  box-shadow: 0 4px 20px rgba(22,101,52,0.25) !important;
  color: #86EFAC !important;
}

.choice-panel::before {
  content: "🎯 你的选择" !important;
  display: block !important;
  color: #4ADE80 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  margin-bottom: 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(74,222,128,0.3) !important;
}

.choice-panel pre,
.choice-panel code {
  color: #A7F3D0 !important;
}

hr {
  border: none !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent 0%, #B45309 20%, #B45309 80%, transparent 100%) !important;
  margin: 28px 0 !important;
  opacity: 0.6 !important;
}

pre, code {
  background: transparent !important;
  border: none !important;
  font-family: inherit !important;
  white-space: pre-wrap !important;
  font-size: inherit !important;
}

::-webkit-scrollbar {
  width: 8px !important;
  height: 8px !important;
}

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

::-webkit-scrollbar-thumb {
  background: #B45309 !important;
  border-radius: 4px !important;
}

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