/* 対話形式記事用スタイル */
.message {
  display: flex;
  margin: 20px 0;
  padding: 15px;
  border-radius: 8px;
  background: #f9f9f9;
  border-left: 4px solid #ddd;
}

.message .icon {
  flex-shrink: 0;
  margin-right: 15px;
  text-align: center;
  min-width: 80px;
}

.message .icon img {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  margin-bottom: 5px;
  border: 2px solid #ddd;
}

.message .speaker-name {
  display: block;
  font-weight: bold;
  font-size: 0.9em;
  color: #666;
}

.message .body {
  flex: 1;
  line-height: 1.6;
}

.message .body p {
  margin: 0 0 15px 0;
}

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

.message .body h2,
.message .body h3 {
  margin: 20px 0 10px 0;
  color: #333;
}

.message .body h2 {
  border-bottom: 2px solid #eee;
  padding-bottom: 5px;
}

.message .body ul,
.message .body ol {
  margin: 10px 0;
  padding-left: 20px;
}

.message .body li {
  margin: 5px 0;
}

.message .body blockquote {
  margin: 15px 0;
  padding: 10px 15px;
  background: #f5f5f5;
  border-left: 4px solid #ccc;
  font-style: italic;
}

.message .body blockquote p {
  margin: 0;
}

.message .body strong {
  font-weight: bold;
  color: #333;
}

.message .body em {
  font-style: italic;
}

/* 話者別のスタイル */
.message[data-speaker="SIDENOTE"] {
  border-left-color: #4a90e2;
}

.message[data-speaker="COPILOT"] {
  border-left-color: #7ed321;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .message {
    flex-direction: column;
    text-align: center;
  }
  
  .message .icon {
    margin-right: 0;
    margin-bottom: 10px;
    min-width: auto;
  }
  
  .message .body {
    text-align: left;
  }
}