/* ===== ステージヘッダー ===== */
/* ステージヘッダーの背景（奇数） */
.stage-header-col:nth-child(odd) {
    /* gray-200 */
    background-color: #e5e7eb;
}

/* ステージヘッダーの背景（偶数） */
.stage-header-col:nth-child(even) {
    /* gray-300 */
    background-color: #d1d5db;
}

/* ===== テーブルボディ部分の背景 ===== */
/* テーブルボディ部分の背景色（偶数） */
.timetable-body-col:nth-child(odd) {
    /* gray-100 */
    background-color: #f3f4f6;
}

/* テーブルボディ部分の背景色（奇数） */
.timetable-body-col:nth-child(even) {
    /* gray-200 */
    background-color: #e5e7eb;
}

/* タイムテーブルの区切り線（10分・1時間） */
.timetable-body-col {
    /* 必ず表示させるために強制GPUレイヤー化 */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);

    background-image:
        /* 1時間ごとの太線 */
        linear-gradient(to bottom,
            rgba(0, 0, 0, 0.12) 0px,
            rgba(0, 0, 0, 0.12) 1px,
            transparent 1.1px),
        /* 10分ごとの細線 */
        linear-gradient(to bottom,
            rgba(0, 0, 0, 0.06) 0px,
            rgba(0, 0, 0, 0.06) 1px,
            transparent 1.1px);

    background-size:
        /* 1時間 */
        100% 6rem,
        /* 10分 */
        100% 1rem;

    background-repeat: repeat-y;
    background-position: top left;
}

/* お気に入りマーカー */
.favorite-marker {
    background-image: linear-gradient(transparent 50%,
            rgba(245, 73, 0, 0.2) 50%,
            oklch(64.6% 0.222 41.116 / 0.2) 50%);
}

/* タイムテーブル共有モーダル用マーカー */
.share-timetable-marker {
    background-image: linear-gradient(transparent 50%,
            rgba(31, 41, 55, 0.2) 50%,
            oklch(27.8% 0.033 256.848 / 0.2) 50%);
}