/* Claude 4 ハイブリッド推論記事 専用スタイル */

/* UML図コンテナ */
.uml-container {
    margin: 30px 0;
    text-align: center;
}

.uml-container h5.uml-title {
    margin-bottom: 15px;
    font-size: 1.1em;
    color: #333;
    font-weight: bold;
}

.uml-container .uml-image {
    max-width: 100%;
    height: auto;
    cursor: pointer;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.uml-container .uml-image:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.uml-error {
    color: #d32f2f;
    background-color: #ffebee;
    padding: 10px;
    border-radius: 4px;
    margin: 10px 0;
}

/* 比較表コンテナ */
.comparison-table-container {
    margin: 30px 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* モデル比較表 */
.model-comparison-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    font-size: 14px;
}

.model-comparison-table thead {
    background-color: #f5f5f5;
}

.model-comparison-table th {
    padding: 15px;
    text-align: left;
    font-weight: bold;
    border-bottom: 2px solid #e0e0e0;
    background-color: #fafafa;
}

.model-comparison-table td {
    padding: 15px;
    border-bottom: 1px solid #e0e0e0;
    vertical-align: top;
}

.model-comparison-table tbody tr:hover {
    background-color: #f9f9f9;
}

.model-comparison-table tbody tr:nth-child(even) {
    background-color: #f8f8f8;
}

/* 最初の列（項目名）を強調 */
.model-comparison-table td:first-child {
    font-weight: bold;
    background-color: #fafafa;
    min-width: 150px;
}

/* セクション見出しのスタイル */
.article-content h4 {
    margin-top: 25px;
    margin-bottom: 15px;
    font-size: 1.2em;
    color: #333;
    border-left: 4px solid #2196F3;
    padding-left: 10px;
}

/* リスト内の強調テキスト */
.article-content ul li strong,
.article-content ol li strong {
    color: #1976D2;
}

/* 独自分析セクションの背景 */
#original-analysis {
    background-color: #f0f7ff;
    padding: 20px;
    border-radius: 8px;
    margin: 30px 0;
}

/* 用語集セクションのスタイル */
.glossary-section {
    background-color: #f5f5f5;
    padding: 20px;
    border-radius: 8px;
    margin: 30px 0;
}

.glossary-section h3 {
    margin-top: 0;
    color: #333;
}

.glossary-list {
    list-style: none;
    padding: 0;
}

.glossary-list li {
    margin-bottom: 15px;
    padding: 10px;
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.glossary-list li strong {
    color: #1976D2;
}

/* 記事タグのスタイル */
.article-tags {
    margin: 30px 0;
    padding: 20px 0;
    border-top: 1px solid #e0e0e0;
}

.article-tags .tag {
    display: inline-block;
    padding: 5px 15px;
    margin: 5px;
    background-color: #e3f2fd;
    color: #1976D2;
    border-radius: 20px;
    font-size: 14px;
}

/* 出典情報のスタイル */
.article-source {
    background-color: #f5f5f5;
    padding: 15px;
    border-radius: 4px;
    margin: 30px 0;
    font-size: 14px;
}

.article-source a {
    color: #1976D2;
    text-decoration: none;
}

.article-source a:hover {
    text-decoration: underline;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .model-comparison-table {
        font-size: 12px;
    }
    
    .model-comparison-table th,
    .model-comparison-table td {
        padding: 10px;
    }
    
    .model-comparison-table td:first-child {
        min-width: 120px;
    }
}