/* Visual Design Simplified - Bootstrap優先版 */
/* 必要最小限のカスタムスタイルのみ維持 */

/* ==================== ROOT VARIABLES (保持) ==================== */
:root {
    /* 日本語フォント設定のみ保持 */
    --font-family-primary: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "Yu Gothic Medium", "Yu Gothic", "Verdana", sans-serif;
    --font-family-heading: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho Medium", "Yu Mincho", "BIZ UDPMincho", "Times New Roman", serif;
}

/* ==================== 日本語フォント最適化 ==================== */
body {
    font-family: var(--font-family-primary);
    font-feature-settings: "palt" 1; /* 日本語プロポーショナル幅調整 */
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-family-heading);
    letter-spacing: 0.02em; /* 日本語見出し用 */
}

/* ==================== 議事録表示の色コントラスト修正 ==================== */
.speech_record h2,
.list-group-item.speech_record h2 {
    color: #212529 !important; /* Bootstrap text-dark相当 */
    font-weight: 600 !important;
}

.speech_record,
.list-group-item.speech_record {
    color: #495057 !important; /* Bootstrap text-body相当 */
}

/* ==================== ダークモード対応 ==================== */
@media (prefers-color-scheme: dark) {
    .speech_record,
    .list-group-item.speech_record {
        background-color: var(--bs-dark) !important;
        color: var(--bs-light) !important;
    }
    
    .speech_record h2,
    .list-group-item.speech_record h2 {
        color: var(--bs-light) !important;
    }
}

/* ==================== 高コントラストモード ==================== */
@media (prefers-contrast: high) {
    h1, h2, h3, h4, h5, h6 {
        color: #000000;
        font-weight: 700;
    }
}

/* ==================== モーション設定への配慮 ==================== */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}