/* ═══════════════════════════════════════
   中式相亲模拟器 · 内置CSS · 完整版
   白底 · 约会风 · 社交判定 · 相亲仪表盘
   ═══════════════════════════════════════ */

/* ═══ 折叠面板 ═══ */

.markdown-body details {
  background: #fff !important;
  border: 1px solid #e8ddd0 !important;
  border-radius: 10px !important;
  margin: 12px 0 !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
  overflow: visible !important;
  color: #333 !important;
}

.markdown-body details > summary {
  list-style: none !important;
  cursor: pointer !important;
  padding: 10px 16px !important;
  background: linear-gradient(135deg, #fef6f4, #fdf0ec) !important;
  color: #2a2020 !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  border-bottom: 1px solid #e8ddd0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-radius: 10px 10px 0 0 !important;
  letter-spacing: 1px !important;
}

.markdown-body details:not([open]) > summary {
  border-radius: 10px !important;
  border-bottom: none !important;
}

.markdown-body details > summary::before,
.markdown-body details > summary::marker {
  content: none !important;
  display: none !important;
}

.markdown-body details > *:not(summary) {
  padding: 14px 16px !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: #333 !important;
  overflow: visible !important;
  background: #fff !important;
}

/* ═══ 表格 ═══ */

.markdown-body table { border-collapse: collapse !important; width: 100% !important; font-size: 13px !important; margin: 8px 0 !important; background: #fff !important; }
.markdown-body th { background: #e8475f !important; color: #fff !important; padding: 6px 10px !important; text-align: left !important; font-weight: 700 !important; border: 1px solid #c43050 !important; }
.markdown-body td { padding: 5px 10px !important; border: 1px solid #e8ddd0 !important; color: #333 !important; vertical-align: top !important; background: #fff !important; }
.markdown-body tr:nth-child(even) td { background: #fef8f6 !important; }

/* ═══ 对话气泡 ═══ */

.markdown-body .talk {
  position: relative;
  margin: 12px 0;
  padding: 12px 18px;
  border-radius: 2px 14px 14px 14px;
  border-left: 4px solid #ddd;
  background: #fff;
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  border-top: 1px solid #f0f0f0;
  border-right: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
}

.markdown-body .talk::before {
  font-size: 13px;
  font-weight: 700;
  display: block;
  margin-bottom: 4px;
  letter-spacing: 0.5px;
}

.markdown-body .talk-xiaoyu { border-left-color: #f8a4b8; }
.markdown-body .talk-xiaoyu::before { content: '🌸 小雨'; color: #e8475f; }

.markdown-body .talk-suran { border-left-color: #455a64; }
.markdown-body .talk-suran::before { content: '📚 苏然'; color: #263238; }

.markdown-body .talk-tiantian { border-left-color: #ff7043; }
.markdown-body .talk-tiantian::before { content: '🎤 甜甜'; color: #e64a19; }

.markdown-body .talk-linwei { border-left-color: #66bb6a; }
.markdown-body .talk-linwei::before { content: '🎨 林微'; color: #2e7d32; }

.markdown-body .talk-xiahe { border-left-color: #ffd54f; }
.markdown-body .talk-xiahe::before { content: '🏃 夏禾'; color: #f57f17; }

.markdown-body .talk-shenye { border-left-color: #7e57c2; }
.markdown-body .talk-shenye::before { content: '💼 沈夜'; color: #4527a0; }

.markdown-body .talk-mianmian { border-left-color: #f8bbd0; }
.markdown-body .talk-mianmian::before { content: '🧸 棉棉'; color: #c2185b; }

.markdown-body .talk-peiluo { border-left-color: #78909c; }
.markdown-body .talk-peiluo::before { content: '📷 裴洛'; color: #37474f; }

.markdown-body .talk-player { border-left-color: #4db6ac; }
.markdown-body .talk-player::before { content: '🧑 你'; color: #00796b; }

/* ═══ 内心独白 ═══ */

.markdown-body .thought {
  display: inline-block;
  background: #fef6f4;
  color: #c4707a;
  font-style: italic;
  font-size: 13px;
  padding: 4px 12px 4px 20px;
  margin: 4px 0;
  border-left: 3px solid #f0a0b0;
  line-height: 1.5;
  position: relative;
}

.markdown-body .thought::before {
  content: '💭';
  font-size: 0.6em;
  position: absolute;
  top: 2px;
  left: 5px;
  font-style: normal;
}

/* ═══ 拟声词 ═══ */

.markdown-body .sfx {
  display: inline-block;
  font-weight: 700;
  font-size: 15px;
  color: #e8475f;
  padding: 2px 12px;
  margin: 0 3px;
  position: relative;
  letter-spacing: 2px;
  font-style: italic;
}

.markdown-body .sfx::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 110%;
  height: 160%;
  background: radial-gradient(ellipse, rgba(232,71,95,0.06) 0%, transparent 60%);
  border-radius: 50%;
  z-index: -1;
}

.markdown-body .sfx::after {
  content: '';
  position: absolute;
  bottom: 1px;
  left: 10%;
  width: 80%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(232,71,95,0.2), transparent);
}

/* ═══ 场景切割 ═══ */

.markdown-body .scene-cut {
  text-align: center;
  color: #ccc;
  font-size: 13px;
  margin: 28px 0;
  position: relative;
  letter-spacing: 4px;
}

.markdown-body .scene-cut::before,
.markdown-body .scene-cut::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 25%;
  height: 1px;
  background: linear-gradient(90deg, transparent, #e0d8d0, transparent);
}

.markdown-body .scene-cut::before { left: 0; }
.markdown-body .scene-cut::after { right: 0; }

/* ═══ CoT ═══ */

.cot-inner {
  font-size: 14px;
  color: #666;
  line-height: 1.75;
}

.cot-inner strong {
  color: #e8475f;
  display: block;
  margin-top: 10px;
  padding: 3px 0;
  border-bottom: 1px dotted #f0c0c8;
}

/* ═══ 世界信息 ═══ */

.world-panel {
  font-size: 15px;
  line-height: 2;
  padding: 12px 16px;
  background: #fff;
  border-left: 3px solid #e8475f;
  color: #333;
}

/* ═══════════════════════════════════════
   💘 社交判定面板
   ═══════════════════════════════════════ */

.judge-panel {
  background: #fff;
  border: 1px solid #e8ddd0;
  border-radius: 12px;
  margin: 16px 0;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.judge-head {
  background: linear-gradient(135deg, #fce4ec, #f8bbd0);
  padding: 10px 18px;
  font-weight: 700;
  font-size: 15px;
  color: #880e4f;
  letter-spacing: 2px;
  border-bottom: 1px solid #f48fb1;
}

.judge-act {
  padding: 10px 18px 4px;
  font-size: 14px;
  color: #555;
  border-bottom: 1px dashed #fce4ec;
}

.judge-target {
  padding: 4px 18px 10px;
  font-size: 14px;
  color: #555;
  font-weight: 600;
}

.judge-factors {
  padding: 10px 18px;
  font-size: 13px;
  color: #666;
  line-height: 2;
  background: #fefafa;
  border-top: 1px solid #fce4ec;
  border-bottom: 1px solid #fce4ec;
}

.judge-result {
  padding: 12px 18px 4px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.7;
}

.judge-inner {
  padding: 4px 18px 12px;
  font-size: 13px;
  color: #999;
  font-style: italic;
  line-height: 1.6;
}

.judge-s { color: #c2185b; background: linear-gradient(135deg, #fce4ec, #fff); }
.judge-a { color: #e91e63; background: #fff5f7; }
.judge-b { color: #9e9e9e; background: #fafafa; }
.judge-c { color: #ff8f00; background: #fff8f0; }
.judge-d { color: #d32f2f; background: #fff0f0; }

/* ═══════════════════════════════════════
   💘 相亲仪表盘
   ═══════════════════════════════════════ */

.date-dash {
  background: #fff;
  border: 1px solid #e8ddd0;
  border-radius: 12px;
  margin: 16px 0;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.dd-head {
  background: linear-gradient(135deg, #e8475f, #c43050);
  padding: 10px 16px;
  font-weight: 900;
  font-size: 15px;
  color: #fff;
  letter-spacing: 3px;
  text-align: center;
  border-bottom: 2px solid #c43050;
}

.dd-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: #f0e8e0;
}

.dd-block {
  padding: 10px 14px;
  background: #fff;
}

.dd-label {
  font-size: 11px;
  font-weight: 700;
  color: #e8475f;
  letter-spacing: 2px;
  margin-bottom: 3px;
}

.dd-val {
  font-size: 15px;
  font-weight: 700;
  color: #2a2020;
  margin-bottom: 3px;
}

.dd-bar {
  width: 100%;
  height: 5px;
  background: #f5f0ec;
  border-radius: 3px;
  overflow: hidden;
  margin: 3px 0;
}

.dd-fill {
  height: 100%;
  border-radius: 3px;
}

.dd-fill-pink { background: linear-gradient(90deg, #f48fb1, #e91e63); }
.dd-fill-orange { background: linear-gradient(90deg, #ffcc80, #ff9800); }
.dd-fill-red { background: linear-gradient(90deg, #ef9a9a, #e53935); }
.dd-fill-green { background: linear-gradient(90deg, #a5d6a7, #43a047); }
.dd-fill-blue { background: linear-gradient(90deg, #90caf9, #1e88e5); }

.dd-sub {
  font-size: 11px;
  color: #999;
  margin-top: 2px;
}

.dd-section {
  padding: 8px 14px;
  border-top: 1px solid #f0e8e0;
}

.dd-text {
  font-size: 13px;
  color: #555;
  line-height: 1.7;
  margin-top: 3px;
}

/* ═══ 变量面板 ═══ */

.var-panel {
  font-size: 14px;
  line-height: 1.7;
  color: #333;
}

.var-panel strong {
  color: #e8475f;
}

/* ═══ 角色状态 ═══ */

.char-panel {
  font-size: 14px;
  line-height: 1.75;
  color: #333;
}

.char-panel .cp-char {
  padding: 8px 0;
  border-bottom: 1px dashed #e8ddd0;
}

.char-panel .cp-char:last-child {
  border-bottom: none;
}

.char-panel .cp-name {
  font-weight: 700;
  color: #e8475f;
  font-size: 15px;
}

.char-panel .cp-line {
  padding-left: 14px;
  color: #555;
  font-size: 14px;
}

.char-panel .cp-lock {
  padding-left: 14px;
  color: #c2185b;
  font-size: 13px;
  font-style: italic;
}

/* ═══ 瑶记忆 ═══ */

.memory-panel {
  font-size: 14px;
  line-height: 1.7;
  color: #333;
}

.memory-config {
  background: #fef6f4;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 13px;
  color: #666;
  font-family: 'Consolas', 'Monaco', monospace;
  line-height: 1.9;
  border: 1px solid #f0d0d8;
}

/* ═══ 行动选项 ═══ */

.markdown-body .action-box {
  background: linear-gradient(135deg, #fef8f6, #fef0ec);
  border: 1px solid #e8ddd0;
  border-radius: 12px;
  padding: 16px 18px;
  margin: 14px 0;
  position: relative;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
  line-height: 2;
  font-size: 15px;
  color: #333;
}

.markdown-body .action-box::before {
  content: '💬 你打算……';
  display: block;
  font-weight: 700;
  color: #e8475f;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #f0d8d0;
  font-size: 15px;
  letter-spacing: 1px;
}

/* ═══ 手机适配 ═══ */

@media (max-width: 600px) {
  .markdown-body .talk {
    padding: 10px 14px;
    font-size: 14px;
  }

  .markdown-body .sfx {
    font-size: 14px;
  }

  .markdown-body .action-box {
    padding: 12px 14px;
    font-size: 14px;
  }

  .markdown-body details > summary {
    font-size: 14px !important;
    padding: 10px 14px !important;
  }

  .markdown-body details > *:not(summary) {
    font-size: 14px !important;
    padding: 12px 14px !important;
  }

  .dd-row {
    grid-template-columns: 1fr;
  }

  .dd-block {
    padding: 8px 12px;
  }

  .dd-val {
    font-size: 14px;
  }

  .dd-head {
    font-size: 14px;
    padding: 8px 14px;
  }

  .dd-label {
    font-size: 10px;
  }

  .dd-sub {
    font-size: 10px;
  }

  .dd-text {
    font-size: 12px;
  }

  .judge-panel {
    font-size: 13px;
  }

  .judge-head {
    font-size: 14px;
    padding: 8px 14px;
  }

  .judge-factors {
    font-size: 12px;
    padding: 8px 14px;
  }

  .judge-result {
    font-size: 14px;
    padding: 10px 14px 4px;
  }

  .judge-inner {
    font-size: 12px;
    padding: 4px 14px 10px;
  }
}
