css
.ctn {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  color: #e8e8e8;
  font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
  border: 2px solid #0f3460;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  max-width: 900px;
  margin: 0 auto;
  line-height: 1.6;
}

.ctn details {
  margin-bottom: 16px;
  border: 1px solid #0f3460;
  border-radius: 8px;
  background: #16213e;
  overflow: hidden;
}

.ctn summary {
  cursor: pointer;
  padding: 14px 18px;
  font-weight: 600;
  font-size: 16px;
  background: linear-gradient(90deg, #0f3460 0%, #16213e 100%);
  color: #00d4ff;
  user-select: none;
  position: relative;
  padding-left: 40px;
}

.ctn summary::-webkit-details-marker {
  display: none;
}

.ctn summary::before {
  content: "[+]";
  position: absolute;
  left: 14px;
  color: #00d4ff;
  font-weight: bold;
}

.ctn details[open] > summary::before {
  content: "[-]";
}

.ctn summary:hover {
  background: linear-gradient(90deg, #16213e 0%, #0f3460 100%);
}

.ctn .main-body {
  padding: 16px;
  background: #1a2332;
  border-left: 4px solid #00d4ff;
  margin: 12px 16px;
  border-radius: 6px;
  font-size: 15px;
  line-height: 1.8;
  color: #f0f0f0;
}

.ctn .info-grid {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 16px;
  padding: 16px;
  font-size: 14px;
}

.ctn .info-grid > span:nth-child(odd) {
  color: #00d4ff;
  font-weight: 500;
}

.ctn .section-title {
  color: #00d4ff;
  font-weight: 600;
  margin: 12px 16px 8px;
  font-size: 15px;
}

.ctn .text-content {
  padding: 8px 16px;
  font-size: 14px;
  color: #d0d0d0;
}

.ctn .npc-card {
  padding: 16px;
}

.ctn .status-item {
  margin: 12px 0;
  padding: 0 16px;
}

.ctn .status-item > span:first-child {
  color: #00d4ff;
  font-weight: 500;
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
}

.ctn .progress-bar {
  border: 2px solid #0f3460;
  background: #0d1b2a;
  border-radius: 10px;
  overflow: hidden;
  height: 20px;
  margin-bottom: 6px;
}

.ctn .progress-fill {
  height: 100%;
  border-radius: 8px;
  transition: width 0.3s ease;
}

.ctn .progress-affection {
  background: linear-gradient(90deg, #ff6b9d 0%, #c44569 100%);
}

.ctn .progress-obedience {
  background: linear-gradient(90deg, #a29bfe 0%, #6c5ce7 100%);
}

.ctn .progress-shame {
  background: linear-gradient(90deg, #ffeaa7 0%, #fdcb6e 100%);
}

.ctn .progress-urgency {
  background: linear-gradient(90deg, #ff7675 0%, #d63031 100%);
}

.ctn .status-text {
  font-size: 13px;
  color: #b0b0b0;
}

.ctn .thought-box {
  padding: 12px 16px;
  background: #1a2e3d;
  border-left: 3px solid #00d4ff;
  border-radius: 4px;
  font-style: italic;
  color: #d0d0d0;
  margin: 8px 16px;
  font-size: 14px;
}

.ctn .message-box {
  padding: 12px 16px;
  background: #0f2537;
  border-radius: 6px;
  margin: 8px 16px;
  font-size: 14px;
  color: #d0d0d0;
}

.ctn .divider {
  border: none;
  border-top: 1px solid #0f3460;
  margin: 16px 0;
}

@media (max-width: 768px) {
  .ctn {
    padding: 16px;
    border-radius: 8px;
  }
  
  .ctn summary {
    font-size: 15px;
    padding: 12px 16px 12px 36px;
  }
  
  .ctn .main-body {
    font-size: 14px;
    padding: 12px;
    margin: 10px 12px;
  }
  
  .ctn .info-grid {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 12px;
  }
  
  .ctn .section-title {
    font-size: 14px;
  }
  
  .ctn .text-content,
  .ctn .message-box,
  .ctn .thought-box {
    font-size: 13px;
  }
}