/* 外部容器 */
ai {
  display: block;
  --sky: linear-gradient(135deg, #4A90E2 0%, #67B8E3 100%);
  --pink: #FFB6C1;
  --danger: linear-gradient(135deg, #E74C3C 0%, #C0392B 100%);
  --bg: #F8F9FA;
  --border: #E1E8ED;
  --text: #2C3E50;
  --text-light: #7F8C8D;
  --shadow: rgba(0,0,0,0.08);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: var(--text);
  max-width: 100%;
  margin: 0;
}
/* details通用样式 */
ai details {
  background: var(--bg);
  border-radius: 8px;
  margin: 8px 0;
  border: 1px solid var(--border);
  overflow: hidden;
  transition: all 0.3s ease;
}
ai details:hover {
  box-shadow: 0 4px 12px var(--shadow);
  transform: translateY(-2px);
}
ai details[open] {
  background: #fff;
}
ai summary {
  padding: 10px 14px;
  cursor: pointer;
  font-weight: 600;
  background: var(--sky);
  color: #fff;
  user-select: none;
  position: relative;
  transition: all 0.2s;
}
ai summary::marker {
  content: '';
}
ai summary::before {
  content: '▶';
  position: absolute;
  right: 14px;
  transition: transform 0.3s;
  font-size: 10px;
}
ai details[open] summary::before {
  transform: rotate(90deg);
}
ai summary:hover {
  padding-left: 18px;
}
/* 时空定位特殊样式 */
ai details:first-of-type summary {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  position: relative;
  overflow: hidden;
}
ai details:first-of-type summary::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0L35 10L30 20L25 10Z M0 30L10 35L20 30L10 25Z M40 30L50 35L60 30L50 25Z M30 40L35 50L30 60L25 50Z' fill='%23ffffff' opacity='0.1'/%3E%3C/svg%3E");
  opacity: 0.3;
  pointer-events: none;
}
/* 正文区域 */
ai text {
  display: block;
  background: #fff;
  padding: 16px;
  margin: 12px 0;
  border-radius: 8px;
  border-left: 4px solid var(--pink);
  box-shadow: 0 2px 8px var(--shadow);
  position: relative;
}
ai text::before {
  content: '📖';
  position: absolute;
  top: 12px;
  left: -14px;
  font-size: 20px;
  filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.2));
}
ai text p {
  margin: 0 0 12px 0;
  text-indent: 2em;
}
ai text p:last-child {
  margin-bottom: 0;
}
/* 状态栏内容区 */
ai details p {
  margin: 8px 14px;
  padding: 6px 0;
  border-bottom: 1px dashed var(--border);
}
ai details p:last-child {
  border-bottom: none;
}
ai strong {
  color: var(--text);
  font-weight: 600;
  margin-right: 6px;
}
ai em {
  color: var(--text-light);
  font-style: normal;
  font-size: 13px;
}
/* 林旭信息 */
ai details:has(summary:contains("林旭")) summary {
  background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
}
/* 慕晚晴数据面板 */
ai details:has(summary:contains("慕晚晴")) summary {
  background: var(--sky);
  position: relative;
}
ai details:has(summary:contains("慕晚晴")) summary::after {
  content: '💕';
  position: absolute;
  right: 40px;
  animation: heartbeat 1.5s ease infinite;
}
@keyframes heartbeat {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.2); }
}
/* 好感度数值样式 */
ai details p:has(strong:contains("好感")) {
  position: relative;
  padding-left: 0;
}
ai details p:has(strong:contains("好感"))::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 14px;
  right: 14px;
  height: 4px;
  background: linear-gradient(90deg, var(--pink) 0%, var(--pink) var(--progress, 0%), var(--border) var(--progress, 0%));
  border-radius: 2px;
}
/* 堕落度样式 */
ai details p:has(strong:contains("堕落度")) {
  background: linear-gradient(90deg, transparent 0%, rgba(231, 76, 60, 0.05) 100%);
  margin: 8px 0;
  padding: 8px 14px;
  border-radius: 4px;
  border-bottom: none;
  position: relative;
}
ai details p:has(strong:contains("堕落度"))::before {
  content: '⚠️';
  position: absolute;
  left: -8px;
  animation: warning 2s ease infinite;
}
@keyframes warning {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}
ai details p:has(strong:contains("堕落度"))::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 14px;
  right: 14px;
  height: 4px;
  background: var(--danger);
  border-radius: 2px;
  opacity: 0.8;
}
/* 私密状态分隔线 */
ai details p:has(strong:contains("私密状态")) {
  background: linear-gradient(90deg, rgba(255, 182, 193, 0.1) 0%, rgba(255, 182, 193, 0.3) 50%, rgba(255, 182, 193, 0.1) 100%);
  text-align: center;
  font-weight: 700;
  color: #E91E63;
  border: none;
  margin: 12px 0 8px 0;
  padding: 8px;
  position: relative;
  overflow: hidden;
}
ai details p:has(strong:contains("私密状态"))::before,
ai details p:has(strong:contains("私密状态"))::after {
  content: '✦';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: var(--pink);
  opacity: 0.6;
}
ai details p:has(strong:contains("私密状态"))::before {
  left: 14px;
}
ai details p:has(strong:contains("私密状态"))::after {
  right: 14px;
}
/* 身体状态项 */
ai details p:has(em:contains("乳房")),
ai details p:has(em:contains("下体")),
ai details p:has(em:contains("肛门")),
ai details p:has(em:contains("整体")) {
  padding-left: 24px;
  position: relative;
  font-size: 13px;
  border-bottom: 1px solid rgba(255, 182, 193, 0.2);
}
ai details p:has(em:contains("乳房"))::before {
  content: '●';
  position: absolute;
  left: 14px;
  color: var(--pink);
}
/* 林曦调查进度 */
ai details:has(summary:contains("林曦")) summary {
  background: linear-gradient(135deg, #A8E6CF 0%, #7EC8A3 100%);
  color: var(--text);
}
ai details:has(summary:contains("林曦")) summary::after {
  content: '🔍';
  position: absolute;
  right: 40px;
  animation: rotate 3s linear infinite;
}
@keyframes rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
/* 即时通讯 */
ai details:has(summary:contains("即时通讯")) summary {
  background: linear-gradient(135deg, #FFD93D 0%, #FFC107 100%);
  color: var(--text);
  position: relative;
}
ai details:has(summary:contains("即时通讯")) summary::after {
  content: '●';
  position: absolute;
  right: 40px;
  color: #E74C3C;
  font-size: 8px;
  animation: blink 1s ease infinite;
}
@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}
ai details:has(summary:contains("即时通讯")) p {
  background: #FFFEF7;
  margin: 6px 10px;
  padding: 8px 12px;
  border-radius: 6px;
  border: 1px solid #FFE57F;
  border-bottom: 1px solid #FFE57F;
}
/* 短期记忆 */
ai details:has(summary:contains("短期记忆")) summary {
  background: linear-gradient(135deg, #B8E6B8 0%, #8DD08D 100%);
  color: var(--text);
}
/* 长期记忆 */
ai details:has(summary:contains("长期记忆")) summary {
  background: linear-gradient(135deg, #D4A5A5 0%, #C17878 100%);
  color: #fff;
}
ai details:has(summary:contains("长期记忆")) p {
  background: linear-gradient(90deg, rgba(212, 165, 165, 0.05) 0%, transparent 100%);
  padding: 10px 14px;
  margin: 8px 10px;
  border-left: 3px solid #D4A5A5;
  border-bottom: none;
  border-radius: 4px;
}
/* 行动推荐 */
ai details:has(summary:contains("行动推荐")) summary {
  background: linear-gradient(135deg, #FF9A8B 0%, #FF6A88 50%, #FF99AC 100%);
}
ai details:has(summary:contains("行动推荐")) p {
  background: linear-gradient(135deg, rgba(255, 154, 139, 0.05) 0%, rgba(255, 106, 136, 0.05) 100%);
  padding: 10px 14px;
  margin: 8px 10px;
  border-left: 3px solid #FF9A8B;
  border-bottom: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s;
}
ai details:has(summary:contains("行动推荐")) p:hover {
  background: linear-gradient(135deg, rgba(255, 154, 139, 0.15) 0%, rgba(255, 106, 136, 0.15) 100%);
  transform: translateX(4px);
  border-left-width: 5px;
}
/* 响应式调整 */
@media (max-width: 480px) {
  ai {
    font-size: 13px;
  }
  ai text {
    padding: 12px;
  }
  ai details p {
    margin: 6px 10px;
  }
  ai summary {
    padding: 8px 12px;
  }
}
/* 装饰性伪元素 */
ai text::after {
  content: '';
  position: absolute;
  bottom: 8px;
  right: 12px;
  width: 40px;
  height: 40px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 10 L70 30 L90 20 L80 40 L100 50 L80 60 L90 80 L70 70 L50 90 L30 70 L10 80 L20 60 L0 50 L20 40 L10 20 L30 30 Z' fill='%23FFB6C1' opacity='0.1'/%3E%3C/svg%3E");
  opacity: 0.3;
  pointer-events: none;
}