:root {
    --theme: #1a3a5c;
    --theme-light: #2c5f8a;
    --read: #16a34a;
    --unread: #b45309;
    --unlinked: #6b7280;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
}

.bg-theme {
    background-color: var(--theme);
}

.bg-theme-gradient {
    background: linear-gradient(135deg, var(--theme), var(--theme-light));
}

.text-theme {
    color: var(--theme);
}

.border-theme {
    border-color: var(--theme) !important;
}

/* チェック／ラジオの選択色を theme に統一 */
.form-check-input:checked {
    background-color: var(--theme);
    border-color: var(--theme);
}

.text-read {
    color: var(--read);
}

.text-unread {
    color: var(--unread);
}

/* フォーム要素の focus（枠＋光暈）を theme に統一（Trix も form-control を付与して同列に） */
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    outline: 0;
    border-color: var(--theme-light);
    box-shadow: 0 0 0 .25rem rgba(26, 58, 92, .25);
    /* rgbaは--theme(#1a3a5c) の半透明 */
}

/* アクティブをテーマ色にした nav-pills */
.nav-pills-theme {
    --bs-nav-pills-link-active-bg: var(--theme);
}