/* ===== ステージヘッダー ===== */
/* ステージヘッダーの背景（奇数） */
.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;
}

/* 下余白のうち、先頭1時間より下の区切り線を覆い隠す（先頭1時間は時刻表示あり） */
.timetable-body-col > .timetable-bottom-spacer-cover {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: max(0rem, calc(var(--timetable-bottom-spacer) - 1rem));
    pointer-events: none;
}

.timetable-body-col:nth-child(odd) > .timetable-bottom-spacer-cover {
    /* gray-100 */
    background-color: #f3f4f6;
}

.timetable-body-col:nth-child(even) > .timetable-bottom-spacer-cover {
    /* gray-200 */
    background-color: #e5e7eb;
}

/* お気に入りマーカー */
.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%);
}