/* ============================================================
   误入豪门千金的淫乱聚会 — 全套界面美化
   主题：金色 · 奢靡 · 暗夜 · 欲望
   四人独立状态栏，各自身份色
   ============================================================ */

/* ========== 根变量 ========== */
:root {
  --gold: #d4a853;
  --gold-dark: #b8943e;
  --gold-glow: rgba(212, 168, 83, 0.3);
  --champagne: #e8c87a;
  --wine: #8b1a2b;
  --wine-dark: #6b1420;
  --wine-glow: rgba(139, 26, 43, 0.25);
  --velvet: #4a1a3a;
  --silver: #c0c0e0;
  --silver-dark: #9090b0;
  --silver-glow: rgba(192, 192, 224, 0.2);
  --amber: #d4a060;
  --amber-dark: #b88040;
  --amber-glow: rgba(212, 160, 96, 0.25);
  --pink: #e890a0;
  --pink-dark: #c87090;
  --pink-glow: rgba(232, 144, 160, 0.25);
  --cream: #fdf8f2;
  --ink: #e8d8c8;
  --ink-light: #c0b0a0;
  --ink-lighter: #8a7a6a;
  --white: #ffffff;
  --bg: #1a1015;
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.25);
  --shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.5);
  --radius-lg: 18px;
  --radius: 14px;
  --radius-sm: 10px;
  --radius-xs: 8px;
  --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --font-cn: 'Noto Serif SC', 'Source Han Serif SC', 'STSong', 'Songti SC', serif;
  --font-sans: 'PingFang SC', 'Microsoft YaHei', 'Hiragino Sans GB', sans-serif;
}

/* ============================================================
   二、发送按钮美化
   ============================================================ */
.send-btn,
button[type="submit"],
[class*="send"],
[class*="submit-btn"] {
  background: linear-gradient(135deg, #d4a853, #8b1a2b) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 24px !important;
  padding: 10px 24px !important;
  font-family: var(--font-sans) !important;
  font-weight: 600 !important;
  font-size: 0.88rem !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(212, 168, 83, 0.3) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative;
  overflow: hidden;
}

.send-btn:hover,
button[type="submit"]:hover {
  background: linear-gradient(135deg, #e8c87a, #a02035) !important;
  box-shadow: 0 6px 24px rgba(212, 168, 83, 0.45) !important;
  transform: translateY(-2px);
}

.send-btn:active,
button[type="submit"]:active {
  transform: scale(0.96);
  box-shadow: 0 2px 8px rgba(212, 168, 83, 0.2) !important;
}

.send-btn::after,
button[type="submit"]::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -75%;
  width: 50%;
  height: 200%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.25),
    transparent
  );
  transform: skewX(-25deg);
  transition: left 0.6s ease;
}

.send-btn:hover::after,
button[type="submit"]:hover::after {
  left: 125%;
}

/* ============================================================
   三、通用 details 基础样式（所有状态栏共用）
   ============================================================ */
details {
  margin: 14px 0 !important;
  border-radius: var(--radius) !important;
  overflow: hidden;
  border: 1px solid rgba(212, 168, 83, 0.2) !important;
  background: linear-gradient(180deg, #241820, #1a1018) !important;
  box-shadow: var(--shadow-sm) !important;
  transition: all 0.35s ease !important;
}

details[open] {
  box-shadow: var(--shadow) !important;
  border-color: rgba(212, 168, 83, 0.4) !important;
}

details summary {
  padding: 14px 20px !important;
  cursor: pointer !important;
  font-family: var(--font-cn) !important;
  font-weight: 700 !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.05em !important;
  color: #d8d0c8 !important;
  background: linear-gradient(
    135deg,
    #1e1418 0%,
    #1a1016 50%,
    #180e14 100%
  ) !important;
  border-bottom: 1px solid rgba(212, 168, 83, 0.1) !important;
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: all 0.3s ease !important;
  position: relative;
}

details summary:hover {
  background: linear-gradient(
    135deg,
    #241820 0%,
    #1e1418 50%,
    #1a1016 100%
  ) !important;
  color: var(--champagne) !important;
}

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

details summary::after {
  content: '展开 ▼';
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--ink-lighter);
  margin-left: auto;
  letter-spacing: 0.04em;
  font-family: var(--font-sans);
  transition: all 0.3s ease;
}

details[open] summary::after {
  content: '收起 ▲';
  color: var(--champagne);
}

details > :not(summary) {
  padding: 18px 22px !important;
  background: linear-gradient(
    180deg,
    #1e141a 0%,
    #1a1016 40%,
    #160c12 100%
  ) !important;
  font-family: var(--font-sans) !important;
}

details p,
details div {
  font-size: 0.85rem !important;
  color: #c0b0a0 !important;
  line-height: 1.9 !important;
  letter-spacing: 0.03em !important;
}

details strong,
details b {
  color: #e8d8c8 !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  font-family: var(--font-cn) !important;
}

/* ============================================================
   四、👤 你的状态（第1个details）— 中性色
   ============================================================ */
details:nth-of-type(1) summary {
  background: linear-gradient(
    135deg,
    #1e1418 0%,
    #1a1016 50%,
    #180e14 100%
  ) !important;
  border-bottom: 1px solid rgba(212, 168, 83, 0.1) !important;
  color: #d8d0c8 !important;
}

details:nth-of-type(1) summary::before {
  content: '👤';
  display: inline-block;
  font-size: 1rem;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  flex-shrink: 0;
}

details:nth-of-type(1)[open] summary::before {
  animation: iconPulse 1.5s ease infinite;
}

@keyframes iconPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.12); }
}

details:nth-of-type(1) summary:hover {
  color: #e8d8c8 !important;
}

/* ============================================================
   五、👑 沈清澜（第2个details）— 酒红深红
   ============================================================ */
details:nth-of-type(2) {
  border-color: rgba(139, 26, 43, 0.35) !important;
  background: linear-gradient(
    180deg,
    #1e1014 0%,
    #1a0e10 30%,
    #160a0c 100%
  ) !important;
}

details:nth-of-type(2)[open] {
  border-color: #8b1a2b !important;
  box-shadow:
    0 4px 20px rgba(139, 26, 43, 0.18),
    0 8px 36px rgba(139, 26, 43, 0.06) !important;
}

details:nth-of-type(2) summary {
  background: linear-gradient(
    135deg,
    #2a1014 0%,
    #220c10 40%,
    #1c080c 100%
  ) !important;
  border-bottom: 1px solid rgba(139, 26, 43, 0.25) !important;
  color: #d48090 !important;
}

details:nth-of-type(2) summary:hover {
  background: linear-gradient(
    135deg,
    #2e1418 0%,
    #260e12 40%,
    #200a0e 100%
  ) !important;
  color: #e890a0 !important;
}

details:nth-of-type(2) summary::before {
  content: '👑' !important;
  display: inline-block;
  font-size: 1rem;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  flex-shrink: 0;
}

details:nth-of-type(2)[open] summary::before {
  animation: crownGlow 1.5s ease infinite;
}

@keyframes crownGlow {
  0%, 100% { filter: drop-shadow(0 0 2px rgba(200, 100, 100, 0.3)); }
  50% { filter: drop-shadow(0 0 8px rgba(255, 100, 100, 0.6)); }
}

details:nth-of-type(2) summary::after {
  color: #d48090 !important;
}

details:nth-of-type(2)[open] summary::after {
  color: #e890a0 !important;
}

details:nth-of-type(2) > :not(summary) {
  background: linear-gradient(
    180deg,
    #1e1014 0%,
    #1a0e10 40%,
    #160a0c 100%
  ) !important;
}

details:nth-of-type(2) p,
details:nth-of-type(2) div {
  color: #c0a0a0 !important;
}

details:nth-of-type(2) strong,
details:nth-of-type(2) b {
  color: #e890a0 !important;
}

/* ============================================================
   六、💎 白若璃（第3个details）— 银白淡紫
   ============================================================ */
details:nth-of-type(3) {
  border-color: rgba(180, 170, 210, 0.35) !important;
  background: linear-gradient(
    180deg,
    #1a161e 0%,
    #16121a 30%,
    #120e16 100%
  ) !important;
}

details:nth-of-type(3)[open] {
  border-color: #9090c0 !important;
  box-shadow:
    0 4px 20px rgba(160, 150, 200, 0.15),
    0 8px 36px rgba(160, 150, 200, 0.05) !important;
}

details:nth-of-type(3) summary {
  background: linear-gradient(
    135deg,
    #221a24 0%,
    #1c141e 40%,
    #180e1a 100%
  ) !important;
  border-bottom: 1px solid rgba(180, 170, 210, 0.25) !important;
  color: #c0b8d8 !important;
}

details:nth-of-type(3) summary:hover {
  background: linear-gradient(
    135deg,
    #261e28 0%,
    #201820 40%,
    #1c121c 100%
  ) !important;
  color: #d0c8e8 !important;
}

details:nth-of-type(3) summary::before {
  content: '💎' !important;
  display: inline-block;
  font-size: 1rem;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  flex-shrink: 0;
}

details:nth-of-type(3)[open] summary::before {
  animation: gemSparkle 1.8s ease infinite;
}

@keyframes gemSparkle {
  0%, 100% { filter: drop-shadow(0 0 1px rgba(200, 200, 240, 0.3)); transform: scale(1); }
  30% { filter: drop-shadow(0 0 10px rgba(220, 220, 255, 0.7)); transform: scale(1.1); }
  60% { filter: drop-shadow(0 0 3px rgba(200, 200, 240, 0.4)); transform: scale(0.95); }
}

details:nth-of-type(3) summary::after {
  color: #c0b8d8 !important;
}

details:nth-of-type(3)[open] summary::after {
  color: #d0c8e8 !important;
}

details:nth-of-type(3) > :not(summary) {
  background: linear-gradient(
    180deg,
    #1a161e 0%,
    #16121a 40%,
    #120e16 100%
  ) !important;
}

details:nth-of-type(3) p,
details:nth-of-type(3) div {
  color: #b0a8c0 !important;
}

details:nth-of-type(3) strong,
details:nth-of-type(3) b {
  color: #d0c8e8 !important;
}

/* ============================================================
   七、🍷 柳如烟（第4个details）— 琥珀暖金
   ============================================================ */
details:nth-of-type(4) {
  border-color: rgba(200, 150, 90, 0.35) !important;
  background: linear-gradient(
    180deg,
    #1c1610 0%,
    #18120c 30%,
    #140e08 100%
  ) !important;
}

details:nth-of-type(4)[open] {
  border-color: #c89660 !important;
  box-shadow:
    0 4px 20px rgba(200, 150, 90, 0.18),
    0 8px 36px rgba(200, 150, 90, 0.06) !important;
}

details:nth-of-type(4) summary {
  background: linear-gradient(
    135deg,
    #241a10 0%,
    #1e140a 40%,
    #1a1006 100%
  ) !important;
  border-bottom: 1px solid rgba(200, 150, 90, 0.25) !important;
  color: #d4a870 !important;
}

details:nth-of-type(4) summary:hover {
  background: linear-gradient(
    135deg,
    #281e14 0%,
    #22180e 40%,
    #1e1408 100%
  ) !important;
  color: #e8c090 !important;
}

details:nth-of-type(4) summary::before {
  content: '🍷' !important;
  display: inline-block;
  font-size: 1rem;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  flex-shrink: 0;
}

details:nth-of-type(4)[open] summary::before {
  animation: wineSwirl 2s ease infinite;
}

@keyframes wineSwirl {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(-8deg); }
  75% { transform: rotate(8deg); }
}

details:nth-of-type(4) summary::after {
  color: #d4a870 !important;
}

details:nth-of-type(4)[open] summary::after {
  color: #e8c090 !important;
}

details:nth-of-type(4) > :not(summary) {
  background: linear-gradient(
    180deg,
    #1c1610 0%,
    #18120c 40%,
    #140e08 100%
  ) !important;
}

details:nth-of-type(4) p,
details:nth-of-type(4) div {
  color: #b8a080 !important;
}

details:nth-of-type(4) strong,
details:nth-of-type(4) b {
  color: #e8c090 !important;
}

/* ============================================================
   八、🎀 顾灵儿（第5个details）— 粉色梦幻
   ============================================================ */
details:nth-of-type(5) {
  border-color: rgba(220, 140, 160, 0.35) !important;
  background: linear-gradient(
    180deg,
    #1c1416 0%,
    #181012 30%,
    #140c0e 100%
  ) !important;
}

details:nth-of-type(5)[open] {
  border-color: #e890a0 !important;
  box-shadow:
    0 4px 20px rgba(232, 144, 160, 0.18),
    0 8px 36px rgba(232, 144, 160, 0.06) !important;
}

details:nth-of-type(5) summary {
  background: linear-gradient(
    135deg,
    #241418 0%,
    #1e0e12 40%,
    #1a0a0e 100%
  ) !important;
  border-bottom: 1px solid rgba(220, 140, 160, 0.25) !important;
  color: #e8a0b0 !important;
}

details:nth-of-type(5) summary:hover {
  background: linear-gradient(
    135deg,
    #28181c 0%,
    #221216 40%,
    #1e0e10 100%
  ) !important;
  color: #f0b8c8 !important;
}

details:nth-of-type(5) summary::before {
  content: '🎀' !important;
  display: inline-block;
  font-size: 1rem;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  flex-shrink: 0;
}

details:nth-of-type(5)[open] summary::before {
  animation: ribbonBounce 1.2s ease infinite;
}

@keyframes ribbonBounce {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-3px) rotate(-4deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-2px) rotate(4deg); }
}

details:nth-of-type(5) summary::after {
  color: #e8a0b0 !important;
}

details:nth-of-type(5)[open] summary::after {
  color: #f0b8c8 !important;
}

details:nth-of-type(5) > :not(summary) {
  background: linear-gradient(
    180deg,
    #1c1416 0%,
    #181012 40%,
    #140c0e 100%
  ) !important;
}

details:nth-of-type(5) p,
details:nth-of-type(5) div {
  color: #c0a0a8 !important;
}

details:nth-of-type(5) strong,
details:nth-of-type(5) b {
  color: #f0b8c8 !important;
}

/* ============================================================
   九、📖 记忆区（第6个details）— 酒金双色
   ============================================================ */
details:nth-of-type(6) {
  border-color: rgba(139, 26, 43, 0.3) !important;
  background: linear-gradient(
    180deg,
    #1e141a 0%,
    #1a1016 30%,
    #160c12 100%
  ) !important;
}

details:nth-of-type(6)[open] {
  border-color: rgba(212, 168, 83, 0.45) !important;
}

details:nth-of-type(6) summary {
  background: linear-gradient(
    135deg,
    #1e1216 0%,
    #1a0e12 50%,
    #160a0e 100%
  ) !important;
  border-bottom: 1px solid rgba(139, 26, 43, 0.18) !important;
  color: #c08090 !important;
}

details:nth-of-type(6) summary:hover {
  background: linear-gradient(
    135deg,
    #241418 0%,
    #1e1014 50%,
    #1a0c10 100%
  ) !important;
  color: #d4a853 !important;
}

details:nth-of-type(6) summary::before {
  content: '📖' !important;
  display: inline-block;
  font-size: 1rem;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  flex-shrink: 0;
}

details:nth-of-type(6)[open] summary::before {
  animation: bookOpen 2s ease infinite;
}

@keyframes bookOpen {
  0%, 100% { transform: rotateY(0deg); }
  50% { transform: rotateY(15deg); }
}

details:nth-of-type(6) summary::after {
  color: #c08090 !important;
}

details:nth-of-type(6)[open] summary::after {
  color: #d4a853 !important;
}

details:nth-of-type(6) > :not(summary) {
  background: linear-gradient(
    180deg,
    #1e141a 0%,
    #1a1016 40%,
    #160c12 100%
  ) !important;
}

details:nth-of-type(6) table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
  border-radius: var(--radius-sm);
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

details:nth-of-type(6) table thead th {
  background: linear-gradient(135deg, #2a1418, #1e0e12) !important;
  color: #c08090 !important;
  font-weight: 700 !important;
  font-family: var(--font-cn) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.05em !important;
  padding: 10px 14px !important;
  text-align: center !important;
  border-bottom: 2px solid rgba(139, 26, 43, 0.25) !important;
}

details:nth-of-type(6) table tbody td {
  padding: 10px 14px !important;
  text-align: center !important;
  border-bottom: 1px solid rgba(180, 150, 130, 0.1) !important;
  color: #c0b0a0 !important;
  letter-spacing: 0.02em;
}

details:nth-of-type(6) table tbody tr:nth-child(odd) {
  background: rgba(212, 168, 83, 0.03);
}

details:nth-of-type(6) table tbody tr:nth-child(even) {
  background: rgba(212, 168, 83, 0.05);
}

details:nth-of-type(6) table tbody tr:hover {
  background: rgba(212, 168, 83, 0.1);
  transition: background 0.25s ease;
}

details:nth-of-type(6) blockquote {
  background: linear-gradient(135deg, #1e1416, #1a0e10) !important;
  border-left: 4px solid var(--gold) !important;
  padding: 12px 16px !important;
  margin: 10px 0 !important;
  border-radius: 0 10px 10px 0 !important;
  font-family: var(--font-cn) !important;
  font-size: 0.85rem !important;
  color: #c0a870 !important;
  letter-spacing: 0.03em;
  line-height: 1.7;
}

details:nth-of-type(6) blockquote::before {
  content: '📜 ';
  font-size: 0.9rem;
}

/* ============================================================
   十、选项按钮美化
   ============================================================ */
.option-btn,
.choice-btn,
[class*="option"],
[class*="choice"] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 22px;
  background: linear-gradient(
    135deg,
    #241a18 0%,
    #1e1412 40%,
    #1a100e 100%
  );
  border: 2px solid rgba(212, 168, 83, 0.25);
  border-radius: 26px;
  font-family: var(--font-sans);
  font-size: 0.88rem;
  font-weight: 600;
  color: #c0b0a0;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  position: relative;
  overflow: hidden;
  text-decoration: none;
  white-space: nowrap;
}

.option-btn:hover,
.choice-btn:hover {
  border-color: var(--gold);
  color: var(--champagne);
  background: linear-gradient(
    135deg,
    #2a1e1a 0%,
    #241814 40%,
    #1e1410 100%
  );
  box-shadow:
    0 4px 18px rgba(212, 168, 83, 0.2),
    0 2px 6px rgba(0, 0, 0, 0.4);
  transform: translateY(-2px);
}

.option-btn:active,
.choice-btn:active {
  transform: scale(0.96);
  border-color: var(--gold);
  transition: all 0.1s ease;
}

.option-btn.selected,
.option-btn.active,
.choice-btn.selected,
.choice-btn.active {
  background: linear-gradient(135deg, #d4a853, #8b1a2b) !important;
  color: #fff !important;
  border-color: var(--gold) !important;
  box-shadow: 0 4px 18px rgba(212, 168, 83, 0.35) !important;
}

.option-btn::before {
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
  transition: all 0.3s ease;
  opacity: 0.6;
}

.option-btn:hover::before {
  opacity: 1;
  box-shadow: 0 0 8px rgba(212, 168, 83, 0.5);
  animation: dotGlow 1.5s ease infinite;
}

@keyframes dotGlow {
  0%, 100% { box-shadow: 0 0 4px rgba(212, 168, 83, 0.3); }
  50% { box-shadow: 0 0 14px rgba(212, 168, 83, 0.7); }
}

.option-btn.selected::before,
.option-btn.active::before {
  background: #fff;
  opacity: 1;
}

.option-btn::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -75%;
  width: 50%;
  height: 200%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.15),
    transparent
  );
  transform: skewX(-25deg);
  transition: left 0.6s ease;
}

.option-btn:hover::after {
  left: 125%;
}

.option-btn:first-child {
  border-color: rgba(212, 168, 83, 0.45);
}

.option-btn:first-child:hover {
  border-color: var(--gold);
  box-shadow: 0 4px 22px rgba(212, 168, 83, 0.3);
}

.option-btn:last-child {
  border-color: rgba(139, 26, 43, 0.3);
}

.option-btn:last-child:hover {
  border-color: var(--wine);
  box-shadow: 0 4px 18px rgba(139, 26, 43, 0.25);
}

/* ============================================================
   十一、消息气泡/回复区域
   ============================================================ */
.message-bubble,
.chat-bubble,
[class*="message"],
[class*="bubble"] {
  background: linear-gradient(
    180deg,
    #241a18 0%,
    #1e1412 50%,
    #1a100e 100%
  ) !important;
  border-radius: var(--radius) !important;
  padding: 20px 24px !important;
  box-shadow: var(--shadow) !important;
  border: 1px solid rgba(212, 168, 83, 0.15) !important;
  line-height: 1.85 !important;
  font-size: 0.9rem !important;
  color: #e8d8c8 !important;
  letter-spacing: 0.03em !important;
  position: relative;
}

.message-bubble::before {
  content: '';
  position: absolute;
  left: 0;
  top: 20px;
  bottom: 20px;
  width: 3px;
  background: linear-gradient(
    180deg,
    transparent,
    var(--gold) 30%,
    var(--champagne) 50%,
    var(--gold) 70%,
    transparent
  );
  border-radius: 3px;
  opacity: 0.6;
}

/* ============================================================
   十二、全局滚动条
   ============================================================ */
::-webkit-scrollbar {
  width: 7px;
}

::-webkit-scrollbar-track {
  background: #1a1015;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #5a4030, #3a2020);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #8a6040, #5a3030);
}

/* ============================================================
   十三、金色对话标签
   ============================================================ */
span[style*="color:#d4a853"] {
  text-shadow: 0 0 5px rgba(212, 168, 83, 0.3);
  font-weight: 500;
  font-style: italic;
}

/* ============================================================
   十四、响应式
   ============================================================ */
@media (max-width: 600px) {
  details summary {
    padding: 12px 16px !important;
    font-size: 0.82rem !important;
  }

  details > :not(summary) {
    padding: 14px 16px !important;
  }

  .option-btn,
  .choice-btn {
    padding: 10px 16px;
    font-size: 0.8rem;
    border-radius: 22px;
  }

  .message-bubble,
  .chat-bubble {
    padding: 16px 18px;
    font-size: 0.85rem;
  }
}


/* =========================================
   「深邃黑曜石」— 风月平台内置CSS
   使用方式：AI输出HTML时引用对应class名
   主容器：.ob-wrap
   正文区：.ob-body
   加载点：.ob-loading
   ========================================= */

/* === 主容器：深色磨砂玻璃 === */
.ob-wrap {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: rgba(20, 22, 26, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 18px 20px;
  margin: 10px 0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4),
              inset 0 1px 0 rgba(255, 255, 255, 0.06);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

/* 降级方案：不支持backdrop-filter时加深背景 */
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .ob-wrap {
    background: rgba(20, 22, 26, 0.97);
  }
}

/* === 背景光晕：CSS渐变动画（兼容所有平台） === */
.ob-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 10% 10%, rgba(80, 120, 200, 0.04) 0%, transparent 60%),
    radial-gradient(ellipse at 90% 90%, rgba(150, 80, 200, 0.04) 0%, transparent 50%);
  animation: ob-aura 18s ease-in-out infinite;
}

@keyframes ob-aura {
  0%, 100% {
    background:
      radial-gradient(ellipse at 10% 10%, rgba(80, 120, 200, 0.04) 0%, transparent 60%),
      radial-gradient(ellipse at 90% 90%, rgba(150, 80, 200, 0.04) 0%, transparent 50%);
  }
  50% {
    background:
      radial-gradient(ellipse at 85% 15%, rgba(80, 120, 200, 0.05) 0%, transparent 60%),
      radial-gradient(ellipse at 15% 85%, rgba(150, 80, 200, 0.05) 0%, transparent 50%);
  }
}

/* === 正文文字：高对比度白色 === */
.ob-body {
  position: relative;
  z-index: 1;
  color: #ffffff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.02em;
  text-shadow: none;
  background: transparent;
  word-break: break-word;
}

.ob-body p {
  margin: 0 0 12px;
}

.ob-body p:last-child {
  margin-bottom: 0;
}

.ob-body b,
.ob-body strong {
  color: #ffffff;
  font-weight: 700;
}

.ob-body i,
.ob-body em {
  color: #e0e0e0;
}

.ob-body blockquote {
  margin: 12px 0;
  padding: 8px 0 8px 14px;
  border-left: 3px solid rgba(150, 130, 200, 0.4);
  color: rgba(220, 210, 240, 0.85);
}

/* === 环境气氛句（可选） === */
.ob-atmo {
  color: rgba(200, 190, 220, 0.6);
  font-style: italic;
  font-size: 0.9em;
  padding-bottom: 10px;
  margin-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  letter-spacing: 0.04em;
}

/* === 分隔线 === */
.ob-divider {
  width: 40px;
  height: 1px;
  margin: 14px 0;
  background: linear-gradient(90deg, rgba(150, 130, 200, 0.4), transparent);
  border: none;
}

/* === 加载动画（AI流式输出时显示） === */
.ob-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 0;
}

.ob-loading-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ffffff;
  animation: ob-dot-breathe 1.2s ease-in-out infinite;
}

.ob-loading-dot:nth-child(2) {
  animation-delay: 0.3s;
}

.ob-loading-dot:nth-child(3) {
  animation-delay: 0.6s;
}

@keyframes ob-dot-breathe {
  0%, 100% { opacity: 0.2; transform: scale(1); }
  50%      { opacity: 1;   transform: scale(1.3); }
}

/* === 移动端适配 === */
@media (max-width: 480px) {
  .ob-wrap {
    padding: 14px 14px;
    border-radius: 12px;
    margin: 6px 0;
  }
  .ob-body {
    font-size: 14px;
    line-height: 1.75;
  }
  .ob-atmo {
    font-size: 0.85em;
  }
}
