/* ──────────────────────────────────────────────────
   v2 専用スタイル：出走表トーン完全準拠・th配色統一版
────────────────────────────────────────────────── */
.v2-race-container {
    width: 100%;
    margin: 4px 0 8px;
}

/* コース入替レーン：出走表と100%同じ幅・高さ・シャドウ網目ボーダー */
.v2-lane-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    margin-bottom: 0 !important;
}

.v2-lane-table th,
.v2-lane-table td {
    width: 14.2857% !important;
    box-sizing: border-box;
    padding: 0 !important;
    height: 42px;
    text-align: center !important;
    vertical-align: middle !important;
    border: none !important;
    box-shadow:
      1px 0 0 0 rgb(160, 160, 160),
      0 1px 0 0 rgb(160, 160, 160),
      -1px 0 0 0 rgb(160, 160, 160),
      0 -1px 0 0 rgb(160, 160, 160) !important;
}

.v2-lane-header-cell {
    background: #e2fdf4 !important;
}

#v2-apply-course-changes {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #222;
    font-size: 13px;
    font-weight: 800;
    padding: 0 2px;
}

/* 枠番背景カラー */
.v2-lane[data-teino="1"] { background-color: #ffffff !important; color: #000000 !important; }
.v2-lane[data-teino="2"] { background-color: #d7d7d7 !important; color: #000000 !important; }
.v2-lane[data-teino="3"] { background-color: #ffdbdb !important; color: #000000 !important; }
.v2-lane[data-teino="4"] { background-color: #eaf4ff !important; color: #000000 !important; }
.v2-lane[data-teino="5"] { background-color: #ffffd6 !important; color: #000000 !important; }
.v2-lane[data-teino="6"] { background-color: #ccffcc !important; color: #000000 !important; }

.v2-lane {
    cursor: grab;
    user-select: none;
}
.v2-lane:active {
    cursor: grabbing;
}

.v2-lane span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 16px;
    font-weight: 900;
}

/* ──────────────────────────────────────────────────
   追加ブロック共通スタイル（キャッシュ時の .brepT 等にも強制適用）
────────────────────────────────────────────────── */
.v2-style-isolation table.v2-table-custom,
table.brepT,
table.v2-racer-info-table,
table.v2-target-table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    margin: 0 !important;
    background: #ffffff !important;
}

.v2-style-isolation table.v2-table-custom th,
.v2-style-isolation table.v2-table-custom td,
table.brepT th,
table.brepT td,
table.v2-racer-info-table th,
table.v2-racer-info-table td,
table.v2-target-table th,
table.v2-target-table td {
    width: 14.2857% !important;
    box-sizing: border-box !important;
    padding: 6px 4px !important;
    height: 38px !important;
    text-align: center !important;
    vertical-align: middle !important;
    border: none !important;
    margin: 0 !important;
    box-shadow:
      1px 0 0 0 rgb(160, 160, 160),
      0 1px 0 0 rgb(160, 160, 160),
      -1px 0 0 0 rgb(160, 160, 160),
      0 -1px 0 0 rgb(160, 160, 160) !important;
    font-size: 13px !important;
    color: #000000 !important;
}

/* データセルは例外なくすべて完全白背景 */
.v2-style-isolation table.v2-table-custom td.v2-td-custom,
.v2-style-isolation table.v2-table-custom td,
table.brepT td,
table.v2-racer-info-table td,
table.v2-target-table td {
    background-color: #ffffff !important;
    background: #ffffff !important;
    background-image: none !important;
}

/* 枠番背景（元出走表クラス対用） */
table.brepT tbody td.brepT__lane--1 { background-color: #ffffff !important; }
table.brepT tbody td.brepT__lane--2 { background-color: #d7d7d7 !important; }
table.brepT tbody td.brepT__lane--3 { background-color: #ffdbdb !important; }
table.brepT tbody td.brepT__lane--4 { background-color: #eaf4ff !important; }
table.brepT tbody td.brepT__lane--5 { background-color: #ffffd6 !important; }
table.brepT tbody td.brepT__lane--6 { background-color: #ccffcc !important; }

/* 1. 7列ぶち抜きの【大項目】ヘッダー (#e3f2fd) */
.v2-style-isolation table.v2-table-custom th.v2-th-title-major,
.v2-style-isolation table.v2-table-custom tr th[colspan="7"].v2-th-title-major,
#v2-vs-others-data-table th.v2-th-title-major,
table.brepT tr th[colspan="7"],
table.v2-racer-info-table tr th[colspan="7"] {
    width: 100% !important;
    background-color: #e3f2fd !important;
    background: #e3f2fd !important;
    color: #000000 !important;
    font-size: 14px !important;
    font-weight: bold !important;
    text-align: center !important;
    height: 26px !important;
    padding: 2px 0 !important;
    line-height: 1.2 !important;
}

/* 2. 7列ぶち抜きの【中項目】ヘッダー (#e2fdf4) */
.v2-style-isolation table.v2-table-custom th.v2-th-title-minor,
.v2-style-isolation table.v2-table-custom tr th[colspan="7"].v2-th-title-minor,
table.brepT th.v2-th-title-minor,
table.v2-racer-info-table th.v2-th-title-minor {
    width: 100% !important;
    background-color: #e2fdf4 !important;
    background: #e2fdf4 !important;
    color: #000000 !important;
    font-size: 13px !important;
    font-weight: bold !important;
    text-align: center !important;
    height: 24px !important;
    padding: 2px 0 !important;
    line-height: 1.2 !important;
}

/* 3. 最左列の項目名見出し (#e2fdf4) */
.v2-style-isolation table.v2-table-custom th.v2-th-row-custom,
.v2-style-isolation table.v2-table-custom th.brepT__rowHead,
table.brepT th.brepT__rowHead,
table.brepT th:first-child,
table.v2-racer-info-table th:first-child,
table.v2-target-table th:first-child {
    width: 14.2857% !important;
    background-color: #e2fdf4 !important;
    background: #e2fdf4 !important;
    color: #000000 !important;
    font-weight: bold !important;
}

/* モーター号機リンクスタイル */
.v2-motor-link {
    color: #0284c7 !important;
    text-decoration: none !important;
    font-weight: bold !important;
}
.v2-motor-link:hover {
    text-decoration: underline !important;
}

/* マイモーター評価セレクトボックス */
.v2-motor-eval-select {
    width: 90% !important;
    height: 28px !important;
    font-size: 13px !important;
    font-weight: bold !important;
    text-align: center !important;
    text-align-last: center !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    background-color: #ffffff !important;
    padding: 0 2px !important;
    cursor: pointer !important;
}

/* ──────────────────────────────────────────────────
   ★【元出走表から移植】縦書き様式・文字サイズ・枠アイコン
────────────────────────────────────────────────── */

/* 1. 枠アイコンのサイズ（24px / SP 18px） */
.brepT__laneicon {
    width: 24px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
}

/* 2. 選手名行（td上寄せ・Safari安定構造） */
table.brepT tr.brepT__row--name td {
    vertical-align: top !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

table.brepT tr.brepT__row--name td a.brepT__name,
table.brepT tr.brepT__row--name td span.brepT__name,
.brepT__td > a.brepT__name {
    display: inline-block !important;
    margin: 0 auto !important;
    text-decoration: none !important;
}

/* 3. 縦書き指定 ＆ 文字サイズ（18px） */
table.brepT tr.brepT__row--name td .brepT__v,
.brepT__name,
.v2-racer-name-vertical {
    display: inline-block !important;
    writing-mode: vertical-rl !important;
    -webkit-writing-mode: vertical-rl !important;
    text-orientation: upright !important;
    -webkit-text-orientation: upright !important;
    white-space: nowrap !important;
    line-height: 1.4 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

/* 4. 女子選手名（赤文字） */
.brepT__name--female,
table.brepT tr.brepT__row--name td .brepT__name--female .brepT__v {
    color: #f53677 !important;
    font-weight: 900 !important;
}

/* ──────────────────────────────────────────────────
   ハイライト状態の背景色管理
────────────────────────────────────────────────── */
.v2-style-isolation table.v2-table-custom td.v2-highlight-max,
.v2-style-isolation table.v2-table-custom td.v2-highlight-local,
table.brepT td.v2-highlight-max,
table.brepT td.v2-highlight-local,
table.v2-target-table td.v2-highlight-max {
    background-color: #ffd1ff !important;
    background: #ffd1ff !important;
    color: #000000 !important;
}

.v2-style-isolation table.v2-table-custom td.v2-highlight-second,
table.brepT td.v2-highlight-second,
table.v2-target-table td.v2-highlight-second {
    background-color: #ffffb7 !important;
    background: #ffffb7 !important;
    color: #000000 !important;
}

/* スマホ表示対応 */
@media screen and (max-width: 768px) {
    .v2-style-isolation table.v2-table-custom th.v2-th-row-custom,
    .v2-style-isolation table.v2-table-custom th.brepT__rowHead,
    table.brepT th:first-child,
    .v2-lane-header-cell,
    #v2-apply-course-changes {
        font-size: 11px !important;
    }

    /* 選手名 SP文字サイズ (16px) */
    table.brepT tr.brepT__row--name td .brepT__v,
    .brepT__name {
        font-size: 16px !important;
    }

    /* 枠アイコン SPサイズ (18px) */
    .brepT__laneicon {
        width: 18px !important;
    }
}

/* デバイス別 td文字サイズ */
.v2-style-isolation table.v2-table-custom td.v2-td-custom,
.v2-style-isolation table.v2-table-custom td,
table.brepT td,
table.v2-racer-info-table td {
    font-size: 18px !important;
    font-weight: bold !important;
}

.v2-style-isolation table.v2-table-custom td span.v2-percent-small,
table.brepT td span.v2-percent-small {
    font-size: 0.8em !important;
    font-weight: normal !important;
}

@media screen and (max-width: 768px) {
    .v2-style-isolation table.v2-table-custom td.v2-td-custom,
    .v2-style-isolation table.v2-table-custom td,
    table.brepT td,
    table.v2-racer-info-table td {
        font-size: 14px !important;
    }
}

/* 既存出走表の非表示行指定 */
.v2-racer-info-table tr.brepT__row--gen,
.v2-racer-info-table tr.brepT__row--branch,
table.brepT tr.brepT__row--gen,
table.brepT tr.brepT__row--branch {
    display: none !important;
}

/* ──────────────────────────────────────────────────
   選手メモアイコン ＆ モーダル用スタイル
────────────────────────────────────────────────── */
.comment-icon {
    cursor: pointer;
    font-size: 18px;
}

.v2-racer-memo-trigger,
.v2-motor-memo-trigger,
.v2-target-table td.v2-racer-memo-trigger,
.v2-target-table td.v2-motor-memo-trigger,
table.brepT td.v2-racer-memo-trigger {
    cursor: pointer !important;
}

.v2-memo-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 99999;
    align-items: center;
    justify-content: center;
    background: none !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    pointer-events: none;
}

.v2-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: none !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    pointer-events: auto;
}

.v2-modal-content {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    background: #ffffff;
    width: 90vw;
    max-width: 440px;
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.2);
    border: 2px solid #94a3b8 !important;
    padding: 18px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.v2-modal-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    border-bottom: 2px solid #0284c7 !important;
    padding-bottom: 10px;
}

.v2-modal-title {
    font-size: 17px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.v2-modal-close-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    flex: 0 0 28px !important;
    background: #ffffff !important;
    border: 2px solid #cbd5e1 !important;
    border-radius: 6px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer !important;
    color: #475569;
    line-height: 1;
    padding: 0 !important;
    margin: 0 !important;
    transition: all 0.15s ease;
}

.v2-modal-close-btn:hover {
    background-color: #f1f5f9 !important;
    color: #0f172a !important;
    border-color: #0284c7 !important;
}

.v2-racer-info-header {
    background: #f0f9ff;
    padding: 10px 14px;
    border-radius: 8px;
    border: 2px solid #bae6fd !important;
}

.v2-racer-detail-text {
    font-size: 16px;
    font-weight: 800;
    color: #0f172a;
    display: flex;
    gap: 12px;
    align-items: center;
}

#v2-racer-id { color: #334155; }
#v2-racer-class { color: #0f172a; font-weight: 800; }
#v2-racer-name { color: #0f172a; }

.v2-racer-updated {
    font-size: 11px;
    color: #0284c7;
    font-weight: 600;
    margin-top: 4px;
}

.v2-memo-textarea {
    width: 100%;
    height: 150px;
    resize: vertical;
    padding: 12px;
    font-size: 14px;
    color: #0f172a;
    background: #ffffff;
    border: 2px solid #cbd5e1 !important;
    border-radius: 8px;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.15s ease;
}

.v2-memo-textarea:focus {
    border-color: #0284c7 !important;
    box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15);
}

.v2-modal-footer {
    display: flex;
    gap: 10px;
}

.v2-btn-save, 
.v2-btn-close,
.v2-modal-footer button {
    flex: 1;
    padding: 10px;
    font-size: 14px;
    font-weight: 700;
    border-radius: 6px;
    cursor: pointer !important;
    transition: all 0.15s ease;
    box-shadow: none !important;
}

.v2-btn-save,
.v2-modal-footer .v2-btn-save {
    background-color: #1e3a8a !important;
    color: #ffffff !important;
    border: 2px solid #1e3a8a !important;
}

.v2-btn-save:hover,
.v2-modal-footer .v2-btn-save:hover {
    background-color: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
}

.v2-btn-close,
.v2-modal-footer .v2-btn-close {
    background-color: #ffffff !important;
    color: #475569 !important;
    border: 2px solid #cbd5e1 !important;
}

.v2-btn-close:hover,
.v2-modal-footer .v2-btn-close:hover {
    background-color: #f8fafc !important;
    color: #0f172a !important;
    border-color: #94a3b8 !important;
}

.v2-racer-memo-trigger.v2-has-memo,
.v2-motor-memo-trigger.v2-has-memo {
    background-color: #ffd1ff !important;
}




/**
 * レース詳細v2 専用独立スタイルシート
 * 配置先: /features/css/race-detail-v2.css
 */

/* モーダル背景（オーバーレイ） */
.v2-memo-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 99999;
    display: none; /* 初期非表示 */
    align-items: center;
    justify-content: center;
}

/* 表示アクティブ状態 */
.v2-memo-modal.is-active {
    display: flex !important;
}

.v2-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(4px);
}

/* モーダル本体 */
.v2-modal-content {
    position: relative;
    z-index: 2;
    background: #ffffff;
    width: 90%;
    max-width: 480px;
    border-radius: 12px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.v2-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 12px;
    margin-bottom: 12px;
}

.v2-modal-title {
    font-weight: bold;
    font-size: 16px;
    color: #1e293b;
}

.v2-modal-close-btn {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #64748b;
    line-height: 1;
}

/* モーター評価表（モーダル内：三等分固定・センタリング・薄緑th） */
.v2-modal-eval-table {
    width: 100% !important;
    table-layout: fixed !important;
    margin-bottom: 12px !important;
    border-collapse: collapse !important;
    font-size: 13px !important;
}

.v2-modal-eval-table th,
.v2-modal-eval-table td {
    width: 33.333% !important;
    box-sizing: border-box !important;
    padding: 6px 2px !important;
    border: 1px solid #a0a0a0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    
    /* センタリングの完全強致 */
    text-align: center !important;
    vertical-align: middle !important;
}

/* SWELLのスタイルの強制上書き (薄緑背景) */
.v2-modal-eval-table th {
    background-color: #e2fdf4 !important;
    background: #e2fdf4 !important;
    color: #000000 !important;
    font-weight: bold !important;
}

.v2-modal-eval-table td {
    background-color: #ffffff !important;
    background: #ffffff !important;
    color: #0f172a !important;
    font-weight: bold !important;
}

/* テキストエリア */
.v2-memo-textarea {
    width: 100%;
    height: 120px;
    padding: 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    box-sizing: border-box;
    font-size: 14px;
    margin-top: 8px;
    resize: vertical;
}

.v2-memo-textarea:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
}

.v2-modal-footer {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 16px;
}

.v2-btn-save {
    background: #1e3a8a;
    color: #ffffff;
    border: none;
    padding: 8px 18px;
    border-radius: 6px;
    font-weight: bold;
    cursor: pointer;
    font-size: 13px;
}

.v2-btn-close {
    background: #e2e8f0;
    color: #475569;
    border: none;
    padding: 8px 18px;
    border-radius: 6px;
    font-weight: bold;
    cursor: pointer;
    font-size: 13px;
}





/* ──────────────────────────────────────────────────
   V2専用：出走表エリア（.v2-sticky-header-block）追従固定
────────────────────────────────────────────────── */

.v2-sticky-header-block {
    position: -webkit-sticky !important;
    position: sticky !important;

    /* 
       通常時: top 0px
       管理バーあり時: 0px + WP管理バー高さ (自動計算)
    */
    top: calc(0px + var(--wp-admin--admin-bar--height, 0px)) !important;

    z-index: 9999 !important;
    background-color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
}





/* ──────────────────────────────────────────────────
   進入変更と出走表の間の隙間（マージン）設定
────────────────────────────────────────────────── */

.v2-mb-spacing {
    margin-bottom: 10px !important; /* 必要に応じて 8px〜12px で微調整してください */
}






/* ──────────────────────────────────────────────────
   他艇実績・選択選手ハイライトの強制復元スタイル
────────────────────────────────────────────────── */

/* 1. 選択された列全体のハイライト */
#highlightTable td.highlight-col,
table#highlightTable td.highlight-col {
    background-color: #d7efff !important;
    font-weight: bold !important;
}

/* 2. 選手自身の成績セル */
#highlightTable td.self,
table#highlightTable td.self {
    /* 必要に応じた固有スタイルがあればここに */
}

/* 3. 他の選手の成績セル */
#highlightTable td.other,
table#highlightTable td.other {
    /* 必要に応じた固有スタイルがあればここに */
}



/* ──────────────────────────────────────────────────
   「コース別基本データ」専用スタイル（box-shadowトーン完全準拠）
────────────────────────────────────────────────── */

/* 1. 全セル幅を固定（14.2857% 均全分割） */
#v2-course-basic-data-table th,
#v2-course-basic-data-table td {
    width: 14.2857% !important;
    box-sizing: border-box !important;
}

/* 2. 決まり手エリアの各th見出しを高さ24px・スリム化 */
#v2-course-basic-data-table tbody th {
    height: 24px !important;
    padding: 2px 0 !important;
    line-height: 1.2 !important;
    font-size: 13px !important;
    vertical-align: middle !important;
}

/* 3. 縦8行結合見出し（「決まり手」親th）のセンタリング */
#v2-course-basic-data-table th[rowspan="8"] {
    vertical-align: middle !important;
    text-align: center !important;
    background-color: #e2fdf4 !important;
    height: auto !important; /* 親の見出しセルのみ8行分の高さを自動保持 */
}

/* ──────────────────────────────────────────────────
   SWELLテーマの rowspan 自動補正CSSを強制無効化・線消え完全防止
────────────────────────────────────────────────── */

/* SWELLが rowspan の次の行に付与する不要なスタイルの無効化 */
#v2-course-basic-data-table tr:has(>[rowspan]:first-child)+tr>td:first-child,
#v2-course-basic-data-table tr:has(>[rowspan="8"]:first-child)+tr+tr>td:first-child,
#v2-course-basic-data-table tr:has(>[rowspan]:first-child)+tr td,
#v2-course-basic-data-table tr:has(>[rowspan]:first-child)+tr th {
    position: static !important;
    z-index: auto !important;
}

/* 縦8行結合見出し（決まり手）の配置調整 */
#v2-course-basic-data-table th[rowspan="8"] {
    vertical-align: middle !important;
    text-align: center !important;
    background-color: #e2fdf4 !important;
}


/* ──────────────────────────────────────────────────
   選択選手列の専用ハイライト（水色背景）
────────────────────────────────────────────────── */
#v2-vs-others-data-table td.v2-highlight-col {
    background-color: #d7efff !important;
    font-weight: bold !important;
}


/* ──────────────────────────────────────────────────
   全データテーブル共通：th, td の 網目シャドウ線・ボーダー初期化
────────────────────────────────────────────────── */
#v2-course-basic-data-table th, #v2-course-basic-data-table td,
#v2-multi-period-data-table th, #v2-multi-period-data-table td,
#v2-general-data-table th,      #v2-general-data-table td,
#v2-sg-g1-data-table th,        #v2-sg-g1-data-table td,
#v2-women-course-data-table th, #v2-women-course-data-table td,
#v2-local-course-data-table th, #v2-local-course-data-table td,
#v2-innige-data-table th,       #v2-innige-data-table td,
#v2-vs-others-data-table th,    #v2-vs-others-data-table td,
#v2-st-avg-data-table th,       #v2-st-avg-data-table td,     /* ★追加 */
#v2-stord-avg-data-table th,    #v2-stord-avg-data-table td { /* ★追加 */
    box-sizing: border-box !important;
    border: none !important;
    margin: 0 !important;
    box-shadow:
      1px 0 0 0 rgb(160, 160, 160),
      0 1px 0 0 rgb(160, 160, 160),
      -1px 0 0 0 rgb(160, 160, 160),
      0 -1px 0 0 rgb(160, 160, 160) !important;
}

/* 通常列（7列均分割）の幅指定（colspan="7"は大枠100%を維持するため除外） */
#v2-course-basic-data-table th:not([colspan="7"]), #v2-course-basic-data-table td,
#v2-multi-period-data-table th:not([colspan="7"]), #v2-multi-period-data-table td,
#v2-general-data-table th:not([colspan="7"]),      #v2-general-data-table td,
#v2-sg-g1-data-table th:not([colspan="7"]),        #v2-sg-g1-data-table td,
#v2-women-course-data-table th:not([colspan="7"]), #v2-women-course-data-table td,
#v2-local-course-data-table th:not([colspan="7"]), #v2-local-course-data-table td,
#v2-innige-data-table th:not([colspan="7"]),       #v2-innige-data-table td,
#v2-vs-others-data-table th:not([colspan="7"]),    #v2-vs-others-data-table td,
#v2-st-avg-data-table th:not([colspan="7"]),       #v2-st-avg-data-table td,   
#v2-stord-avg-data-table th:not([colspan="7"]),    #v2-stord-avg-data-table td {
    width: 14.2857% !important;
}

/* 全動的テーブルのデータセル高さ・行高統一 */
#v2-course-basic-data-table td.v2-td-custom,
#v2-multi-period-data-table td.v2-td-custom,
#v2-general-data-table td.v2-td-custom,
#v2-sg-g1-data-table td.v2-td-custom,
#v2-women-course-data-table td.v2-td-custom,
#v2-local-course-data-table td.v2-td-custom,
#v2-innige-data-table td.v2-td-custom,
#v2-vs-others-data-table td.v2-td-custom,
#v2-st-avg-data-table td.v2-td-custom,    /* ★追加 */
#v2-stord-avg-data-table td.v2-td-custom { /* ★追加 */
    min-height: 38px !important;
    line-height: 1.25 !important;
    padding: 5px 2px !important;
    vertical-align: middle !important;
}




















/* ──────────────────────────────────────────────────
   対戦成績モーダル（v2専用スタイル）
────────────────────────────────────────────────── */
.vs-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
}

.vs-modal.is-open {
    display: block;
}

.vs-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}

.vs-modal__panel {
    position: absolute;
    inset: 40px 16px;
    margin: auto;
    max-width: 750px;
    background: #fff;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    overflow: hidden;
    overscroll-behavior: contain;
}

.vs-modal__topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 10px;
    min-height: 36px;
    background: #fff;
    border-bottom: 1px solid #e6e6e6;
    color: #000;
}

.vs-modal__title {
    flex: 1;
    text-align: center;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.2;
}

.vs-modal__close {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 26px;
    padding: 0 8px;
    border: 1px solid #dcdcdc;
    border-radius: 4px;
    background: #fff;
    color: #333;
    cursor: pointer;
}

.vs-modal__close:hover {
    background: #f5f5f5;
}

/* JLC VOD 動画エリア（スクロールバー完全カット） */
.vs-modal__video {
    width: 90%;
    margin: 8px auto 10px;
    aspect-ratio: 16 / 9;
    background: #000;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden !important;
}

.vs-modal__video iframe {
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    overflow: hidden !important;
}

/* モーダル本文・テーブル領域 */
.vs-modal__body {
    padding: 12px;
    overflow-y: auto;
    max-height: calc(100% - 36px - 240px);
    border-top: 1px solid #ddd;
    overscroll-behavior: contain;
}

.vs-cap {
    caption-side: top;
    text-align: left;
    margin: 0 0 6px;
}

/* モーダル内テーブル：全テキスト太字 ＆ 見出しカラー（緑/黒文字） */
#vsRecordsModal .vs-modal__table th,
#vsRecordsModal .vs-modal__table td,
#vsRecordsModal .vs-cap {
    font-weight: bold !important;
}

#vsRecordsModal .vs-modal__table th,
#vsRecordsModal .vs-modal__table.vs-list thead th {
    background-color: #e2fdf4 !important; /* いつもの緑 */
    color: #000000 !important;             /* 文字色：黒 */
    white-space: nowrap;
}

.vs-modal__table {
    width: 100%;
    border-collapse: collapse;
}

.vs-modal__table th,
.vs-modal__table td {
    border: 1px solid #ccc;
    padding: 4px 6px;
    text-align: center;
    font-size: 13px;
    line-height: 1.2;
}

/* 軸テーブル */
.vs-modal__table.vs-axis {
    margin-bottom: 12px;
}

.vs-modal__table.vs-axis th {
    width: 5.5em;
}

.vs-modal__table.vs-axis td {
    text-align: left;
}

/* 相手リスト（スクロール＆ヘッダー固定） */
.vs-list-wrap {
    overflow-x: auto;
}

.vs-modal__table.vs-list {
    min-width: 720px;
}

.vs-modal__table.vs-list thead th {
    position: sticky;
    top: 0;
    z-index: 1;
}

.vs-modal__table.vs-list tbody td:nth-child(5) {
    text-align: left;
}

/* アイコン画像サイズ制御 */
#vsRecordsModal .vs-list td:nth-child(4) img,
#vsRecordsModal .vs-list td:nth-child(8) img {
    height: 18px;
    width: auto;
    vertical-align: middle;
    display: inline-block;
}

#vsRecordsModal .vs-list td:nth-child(8) {
    white-space: nowrap;
}

#vsRecordsModal .vs-list td:nth-child(8) img {
    margin-right: 2px;
}

#vsRecordsModal .vs-list td:nth-child(8) img:last-child {
    margin-right: 0;
}

/* 日付・リンク風表示（1列目のみ） */
#vsRecordsModal .vs-list td:first-child {
    cursor: pointer;
}

#vsRecordsModal .vs-list td:first-child .vs-date-top {
    font-size: 14px;
    color: #0066cc !important;
    text-decoration: underline !important;
}

#vsRecordsModal .vs-list td:first-child .vs-date-top:hover {
    opacity: 0.85;
}

#vsRecordsModal .vs-list td:first-child .vs-date-year {
    font-size: 11px;
    color: #666666 !important;
    text-decoration: none !important;
}

/* 場名セル（2列目）：通常の黒文字表記 */
#vsRecordsModal .vs-list td:nth-child(2) {
    cursor: default !important;
}

#vsRecordsModal .vs-list .vs-place-top {
    font-size: 14px;
    color: #000000 !important;
    text-decoration: none !important;
}

#vsRecordsModal .vs-list .vs-place-sub {
    font-size: 11px;
    color: #000000 !important;
    text-decoration: none !important;
}

/* 背面スクロールロック */
body.vs-modal-open {
    overflow: hidden !important;
}

/* 📱 スマホ対応（767px以下） */
@media (max-width: 767px) {
    .vs-modal__panel {
        inset: 20vh 8px;
        max-height: 60vh;
    }

    .vs-modal__video {
        height: 180px;
        aspect-ratio: auto;
    }

    .vs-modal__body {
        max-height: calc(60vh - 36px - 180px);
    }

    #vsRecordsModal .vs-list-wrap {
        overflow-x: visible;
    }

    #vsRecordsModal .vs-modal__table.vs-list {
        min-width: 0 !important;
        width: 100% !important;
        table-layout: fixed;
    }

    #vsRecordsModal .vs-modal__table th,
    #vsRecordsModal .vs-modal__table td {
        font-size: 11px;
        padding: 2px 2px;
    }

    #vsRecordsModal .vs-list td:first-child .vs-date-top { font-size: 11px; }
    #vsRecordsModal .vs-list td:first-child .vs-date-year { font-size: 9px; }
    #vsRecordsModal .vs-list .vs-place-top { font-size: 11px; }
    #vsRecordsModal .vs-list .vs-place-sub { font-size: 9px; }

    #vsRecordsModal .vs-list td:nth-child(4) img,
    #vsRecordsModal .vs-list td:nth-child(8) img {
        height: 12px;
    }

    /* 各列の固定幅割合 */
    #vsRecordsModal .vs-list thead th:nth-child(1), #vsRecordsModal .vs-list tbody td:nth-child(1) { width: 11%; }
    #vsRecordsModal .vs-list thead th:nth-child(2), #vsRecordsModal .vs-list tbody td:nth-child(2) { width: 15%; }
    #vsRecordsModal .vs-list thead th:nth-child(3), #vsRecordsModal .vs-list tbody td:nth-child(3) { width: 8%; }
    #vsRecordsModal .vs-list thead th:nth-child(4), #vsRecordsModal .vs-list tbody td:nth-child(4) { width: 6%; }
    #vsRecordsModal .vs-list thead th:nth-child(5), #vsRecordsModal .vs-list tbody td:nth-child(5) { width: 22%; }
    #vsRecordsModal .vs-list thead th:nth-child(6), #vsRecordsModal .vs-list tbody td:nth-child(6) { width: 6%; }
    #vsRecordsModal .vs-list thead th:nth-child(7), #vsRecordsModal .vs-list tbody td:nth-child(7) { width: 8%; }
    #vsRecordsModal .vs-list thead th:nth-child(8), #vsRecordsModal .vs-list tbody td:nth-child(8) { width: 15%; }
    #vsRecordsModal .vs-list thead th:nth-child(9), #vsRecordsModal .vs-list tbody td:nth-child(9) { width: 10%; }
}

/* ──────────────────────────────────────────────────
   選択選手別他艇実績：th枠線を破壊しない中央文字＆ボタン右配置
────────────────────────────────────────────────── */

/* 1. th自体の上下余白・配置を垂直中央に固定 */
#v2-vs-others-data-table .v2-th-title-major {
    padding: 0 !important;
    vertical-align: middle !important;
}

/* 2. th内ラッパーをフレキシブルな上下中央揃えに設定 */
#v2-vs-others-data-table .v2-th-title-major > div {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

/* 3. タイトル文字は完全にセル中央に配置 */
#v2-vs-others-data-table #v2-vs-title {
    display: inline-block;
    font-weight: bold;
    line-height: 1 !important;
}

/* ──────────────────────────────────────────────────
   選択選手別他艇実績：「対戦成績」ボタンサイズ調整（微拡大版）
────────────────────────────────────────────────── */

/* 1. PC時：フォント 10px -> 12px / パディング拡大 */
#v2-vs-others-data-table .v2-btn-vs-modal-trigger {
    position: absolute;
    top: 50% !important;
    transform: translateY(-50%) !important; /* ★ 上下方向のみ完全中央揃え */
    left: calc(50% + 88px);                 /* ★ 左右位置はご指定通り維持 */
    
    font-size: 12px !important;
    font-weight: bold !important;
    padding: 3px 8px !important;
    cursor: pointer;
    background: linear-gradient(180deg, #ffffff, #f2f2f2);
    color: #333333;
    
    border: 1px solid #777777;
    border-radius: 4px;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
    transition: all 0.15s ease;
}

#v2-vs-others-data-table .v2-btn-vs-modal-trigger:hover {
    background: #e8e8e8;
    border-color: #333333;
}

/* 2. 📱 スマホ時（767px以下）：フォント 9px -> 11px */
@media (max-width: 767px) {
    #v2-vs-others-data-table .v2-btn-vs-modal-trigger {
        font-size: 11px !important;
        padding: 2px 6px !important;
        left: calc(50% + 72px);              /* ★ スマホ時の元の左右位置も維持 */
    }
}

/* ──────────────────────────────────────────────────
   節間情報（サマリー ＆ レース結果）完全一体型CSS
────────────────────────────────────────────────── */

/* 1. 一体化ブロック内の余白排除 */
#v2-series-combined-block {
    margin-bottom: 10px !important;
}

#v2-series-summary-table {
    margin-bottom: 0 !important;
    border-bottom: none !important;
}

#v2-series-results-table {
    margin-top: 0 !important;
    border-top: none !important;
}

/* 2. セル基本スタイル・シャドウ網目ボーダー */
#v2-series-summary-table th, #v2-series-summary-table td,
#v2-series-results-table th, #v2-series-results-table td {
    box-sizing: border-box !important;
    border: none !important;
    margin: 0 !important;
    box-shadow:
      1px 0 0 0 rgb(160, 160, 160),
      0 1px 0 0 rgb(160, 160, 160),
      -1px 0 0 0 rgb(160, 160, 160),
      0 -1px 0 0 rgb(160, 160, 160) !important;
}

/* ★ 前半ブロック（節間サマリー）：選択選手別他艇実績と同じテキストサイズ（PC: 18px） */
#v2-series-summary-table td {
    height: auto !important;
    min-height: 38px !important;
    line-height: 1.25 !important;
    padding: 5px 2px !important;
    font-size: 18px !important; /* 他艇実績表と統一 */
    font-weight: bold !important;
    text-align: center !important;
    vertical-align: middle !important;
}

/* 後半ブロック（レース結果）：既存の標準13pxを維持 */
#v2-series-results-table td {
    height: auto !important;
    min-height: 38px !important;
    line-height: 1.25 !important;
    padding: 3px 2px !important;
    font-size: 13px !important;
    font-weight: bold !important;
    text-align: center !important;
    vertical-align: middle !important;
}

/* 3. リンクテキスト（青色 ＆ 下線なし） */
#v2-series-results-table a.v2-series-race-link,
#v2-series-results-table td a {
    color: #0066cc !important;
    text-decoration: none !important;
    font-weight: bold !important;
    display: inline-block !important;
    line-height: 1.25 !important;
}

#v2-series-results-table a.v2-series-race-link:hover,
#v2-series-results-table td a:hover {
    text-decoration: none !important;
    opacity: 0.8;
}

/* 着順数字と決まり手（強調表記） */
#v2-series-results-table .rank {
    font-size: 17px !important;
    font-weight: 900 !important;
    color: #0066cc !important;
    text-decoration: none !important;
    line-height: 1.1 !important;
}

/* 2行目・3行目のテキスト */
.v2-series-detail-line {
    color: #0066cc !important;
    text-decoration: none !important;
    font-weight: bold !important;
}

/* 4. 枠背景カラー */
#v2-series-results-table td.brepT__lane--1 { background-color: #ffffff !important; }
#v2-series-results-table td.brepT__lane--2 { background-color: #d7d7d7 !important; }
#v2-series-results-table td.brepT__lane--3 { background-color: #ffdbdb !important; }
#v2-series-results-table td.brepT__lane--4 { background-color: #eaf4ff !important; }
#v2-series-results-table td.brepT__lane--5 { background-color: #ffffd6 !important; }
#v2-series-results-table td.brepT__lane--6 { background-color: #ccffcc !important; }

#v2-series-results-table td.no-race-data-cell {
    background-color: #f5f5f5 !important;
}

/* 5. 📱 スマホ（768px以下）表示微調整 */
@media screen and (max-width: 768px) {
    /* ★ 前半ブロック（節間サマリー）：選択選手別他艇実績と同じテキストサイズ（SP: 14px） */
    #v2-series-summary-table td {
        font-size: 14px !important; /* 他艇実績表と統一 */
        padding: 3px 1px !important;
    }

    #v2-series-results-table td {
        font-size: 11px !important;
        padding: 2px 1px !important;
    }
    
    #v2-series-results-table .rank {
        font-size: 15px !important;
    }
}




/* ──────────────────────────────────────────────────
   SWELLの rowspan 2行目セル線消しバグの完全無効化
────────────────────────────────────────────────── */

/* 1. SWELLが2行目先頭tdに付与する位置ズレ・背景被りをリセット */
tr:has(>[rowspan]:first-child)+tr>td:first-child,
tr:has(>[rowspan="2"]:first-child)+tr>td:first-child {
    position: static !important;
    z-index: auto !important;
}

/* 2. SWELLが生成する「線を消すための疑似要素」を消滅させる */
tr:has(>[rowspan]:first-child)+tr>td:first-child::before,
tr:has(>[rowspan]:first-child)+tr>td:first-child::after {
    display: none !important;
    content: none !important;
}

/* 3. 節間結果テーブルの全セルに網目シャドウ線を強制再付与 */
#v2-series-results-table td {
    box-shadow: 
      1px 0 0 0 rgb(160, 160, 160), 
      0 1px 0 0 rgb(160, 160, 160), 
      -1px 0 0 0 rgb(160, 160, 160), 
      0 -1px 0 0 rgb(160, 160, 160) !important;
}



/* ──────────────────────────────────────────────────
   最左th（項目名見出し）の左右パディング最小化（なるべく1行化）
────────────────────────────────────────────────── */

/* 全テーブルの最左th共通指定 */
.v2-style-isolation table.v2-table-custom th.v2-th-row-custom,
.v2-style-isolation table.v2-table-custom th.brepT__rowHead,
table.brepT th.brepT__rowHead,
table.brepT th:first-child,
table.v2-racer-info-table th:first-child,
table.v2-target-table th:first-child,
#v2-series-summary-table th:first-child,
#v2-series-results-table th:first-child {
    padding-left: 1px !important;  /* 左右余白を1pxに最小化 */
    padding-right: 1px !important;
    line-height: 1.15 !important;  /* 2行に落ちた場合の行間調整 */
    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* 📱 スマホ表示調整（文字間隔をわずかに詰めて1行化をアシスト） */
@media screen and (max-width: 768px) {
    .v2-style-isolation table.v2-table-custom th.v2-th-row-custom,
    .v2-style-isolation table.v2-table-custom th.brepT__rowHead,
    table.brepT th:first-child,
    table.v2-racer-info-table th:first-child,
    table.v2-target-table th:first-child,
    #v2-series-summary-table th:first-child,
    #v2-series-results-table th:first-child {
        font-size: 11px !important;
        letter-spacing: -0.04em !important; /* 文字間を詰め気味にする */
        padding-left: 1px !important;
        padding-right: 1px !important;
    }
}



/* ──────────────────────────────────────────────────
   入力フォーム調整（ズーム防止 ＆ PCセレクトボックス拡大）
────────────────────────────────────────────────── */

/* 1. PCのみ：マイモーター評価セレクトボックス内の文字を拡大 */
@media screen and (min-width: 769px) {
    .v2-motor-eval-select {
        font-size: 16px !important; /* 13px -> 16px へ拡大 */
        height: 32px !important;    /* フォントに合わせて高さを少し確保 */
        font-weight: bold !important;
    }
}

/* 2. スマホ（768px以下）：メモ入力テキストエリアのズーム防止（16px化） */
@media screen and (max-width: 768px) {
    .v2-memo-textarea,
    textarea.v2-memo-textarea,
    #v2-user-racer-memo,
    #v2-user-motor-memo,
    .memo-modal textarea.user-memo {
        font-size: 16px !important; /* iOSの自動ズーム発動（16px未満）を完全防止 */
    }
}












#br-top-left-btn{
  position: fixed;
  right: calc(20px + env(safe-area-inset-right, 0px));
  /* bottom は JS が #br-fixed-menu-btn から同期して入れる */
  z-index: 99990;

  width: 38px;
  height: 38px;
  border-radius: 999px;

  border: 1px solid rgba(255, 255, 255, .22);
  background: rgba(30, 41, 59, 0.65);
  color: rgba(255, 255, 255, .85);

  box-shadow: 0 6px 14px rgba(0, 0, 0, .14);

  display: flex;
  align-items: center;
  justify-content: center;

  -webkit-tap-highlight-color: transparent;
  backdrop-filter: blur(8px);

  text-decoration: none;
  user-select: none;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .25s ease, transform .2s ease;
}
#br-top-left-btn.is-show{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
#br-top-left-btn:active{ transform: scale(.95); }
.br-top-left__icon{ display:block; }




/* ──────────────────────────────────────────────────
   スマホ時：節間情報 大項目ヘッダー文字サイズ統一
────────────────────────────────────────────────── */
@media screen and (max-width: 768px) {
    #v2-series-summary-table th.v2-th-title-major,
    #v2-series-summary-table tr th[colspan="7"].v2-th-title-major {
        font-size: 13px !important;
        height: 24px !important;
        padding: 2px 0 !important;
    }
}





/* 節間レース結果：高さの確保と上下中央揃え */
#v2-series-results-table td.v2-td-custom {
    height: 52px !important;
    vertical-align: middle !important;
    text-align: center !important;
}

#v2-series-results-table .v2-series-race-link {
    display: block !important;
}


#v2-innige-data-table tbody th {
    height: 24px !important;
    padding: 2px 0 !important;
    line-height: 1.2 !important;
    font-size: 13px !important;
    vertical-align: middle !important;
}





/* ──────────────────────────────────────────────────
   イン逃げ時データ表：th 文字サイズ指定（PC: 13px / SP: 11px）
────────────────────────────────────────────────── */

/* 【PC時】最左列の見出しth ＆ 中項目ヘッダーth (13px) */
#v2-innige-data-table tbody th.v2-th-row-custom,
#v2-innige-data-table tr:nth-child(3) th {
    font-size: 13px !important;
    font-weight: bold !important;
    line-height: 1.2 !important;
    vertical-align: middle !important;
    padding: 2px 2px !important;
}

#v2-innige-data-table tr:nth-child(3) th {
    height: 26px !important;
    background-color: #e2fdf4 !important;
}

/* 📱 【スマホ時（768px以下）】11px に切り替え */
@media screen and (max-width: 768px) {
    #v2-innige-data-table tbody th.v2-th-row-custom,
    #v2-innige-data-table tr:nth-child(3) th {
        font-size: 11px !important;
        padding-left: 1px !important;
        padding-right: 1px !important;
        letter-spacing: -0.02em !important;
    }
    
    #v2-innige-data-table tr:nth-child(3) th {
        height: 24px !important;
    }
}



/* ──────────────────────────────────────────────────
   コース別基本データ表：すべての見出しth（親・子）のフォントサイズ調整
────────────────────────────────────────────────── */

/* 1. PC時：最左th・決まり手(親th)・逃げ/差し等の(子th)すべて 13px */
#v2-course-basic-data-table tbody th,
#v2-course-basic-data-table tbody th.v2-th-row-custom {
    font-size: 13px !important;
    font-weight: bold !important;
    line-height: 1.2 !important;
    vertical-align: middle !important;
    padding: 2px 2px !important;
    height: 24px !important;
}

/* 2. 📱 スマホ時（768px以下）：すべて 11px に切り替え */
@media screen and (max-width: 768px) {
    #v2-course-basic-data-table tbody th,
    #v2-course-basic-data-table tbody th.v2-th-row-custom {
        font-size: 11px !important;
        padding-left: 1px !important;
        padding-right: 1px !important;
        letter-spacing: -0.02em !important;
    }
}



/* ──────────────────────────────────────────────────
   選択選手別他艇実績：ラジオボタンの完全中央揃え
────────────────────────────────────────────────── */

/* 1. ラジオボタンセル自体の配置を整える */
#v2-vs-others-data-table td.v2-radio-cell {
    padding: 0 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

/* 2. label 要素を Flexbox で上下左右完全中央寄せ */
#v2-vs-others-data-table td.v2-radio-cell label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
}

/* 3. input(ラジオボタン) の余計な余白・位置ズレを打ち消す */
#v2-vs-others-data-table td.v2-radio-cell input[type="radio"] {
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
    position: static !important;
    cursor: pointer !important;
    transform: none !important; /* スケールや位置ズレの打ち消し */
}


/* ──────────────────────────────────────────────────
   非会員向けメッセージボックス用スタイル
────────────────────────────────────────────────── */
.v2-msg-box-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(3px);
}

.v2-msg-box-overlay.is-active {
    display: flex !important;
}

.v2-msg-box-card {
    position: relative;
    background: #ffffff;
    width: 88%;
    max-width: 320px;
    padding: 28px 20px 20px;
    border-radius: 12px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.2), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    border: 1px solid #e2e8f0;
    text-align: center;
    box-sizing: border-box;
}

/* 右上の × 閉じるボタン */
.v2-msg-box-close {
    position: absolute;
    top: 8px;
    right: 10px;
    background: none;
    border: none;
    font-size: 22px;
    font-weight: bold;
    color: #94a3b8;
    cursor: pointer;
    line-height: 1;
    padding: 4px;
}

.v2-msg-box-close:hover {
    color: #475569;
}

.v2-msg-box-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.v2-msg-box-text {
    font-size: 15px;
    font-weight: bold;
    color: #1e293b;
    margin: 0;
    line-height: 1.4;
}

/* 「ログインはこちら」ボタン */
.v2-msg-box-btn {
    display: inline-block;
    width: 100%;
    padding: 10px 16px;
    background: #0284c7;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
    border-radius: 6px;
    box-sizing: border-box;
    transition: background 0.15s ease;
    box-shadow: 0 2px 4px rgba(2, 132, 199, 0.2);
}

.v2-msg-box-btn:hover {
    background: #0369a1;
    color: #ffffff !important;
}









/* ──────────────────────────────────────────────────
   スマホ時：全動的テーブルのセル高さ・パディング完全統一
────────────────────────────────────────────────── */
@media screen and (max-width: 768px) {
    #v2-course-basic-data-table td.v2-td-custom,
    #v2-multi-period-data-table td.v2-td-custom,
    #v2-general-data-table td.v2-td-custom,
    #v2-sg-g1-data-table td.v2-td-custom,
    #v2-women-course-data-table td.v2-td-custom,
    #v2-local-course-data-table td.v2-td-custom,
    #v2-innige-data-table td.v2-td-custom,
    #v2-vs-others-data-table td.v2-td-custom,
    #v2-st-avg-data-table td.v2-td-custom,    /* ★追加！ */
    #v2-stord-avg-data-table td.v2-td-custom { /* ★追加！ */
        height: 38px !important;       /* min-height ではなく height で完全固定 */
        padding: 2px 1px !important;   /* 上下余白を詰めて溢れを防止 */
        line-height: 1.15 !important;  /* 2行表示時の行間をきゅっと詰める */
        font-size: 14px !important;    /* 文字サイズをわずかに調整 */
    }


}













/* ──────────────────────────────────────────────────
   スマホ時：1行データ表示（高さ30px ＆ td数値のみ14px化）
────────────────────────────────────────────────── */
@media screen and (max-width: 768px) {

    /* 1. 基本情報ブロック */
    .v2-style-isolation #v2-basic-info-table tr[data-row-id] td.v2-td-custom,
    .v2-style-isolation #v2-basic-info-table tr[data-row-id] td,

    /* 2. モーター情報ブロック（号機〜優勝数 ※マイモーター評価除く） */
    .v2-style-isolation #v2-motor-info-table tr[data-row-id] td.v2-td-custom,
    .v2-style-isolation #v2-motor-info-table tr[data-row-id] td,

    /* 3. コース別平均ST ＆ コース別平均ST順 */
    .v2-style-isolation #v2-st-avg-data-table tr[data-row-id] td.v2-td-custom,
    .v2-style-isolation #v2-st-avg-data-table tr[data-row-id] td,
    .v2-style-isolation #v2-stord-avg-data-table tr[data-row-id] td.v2-td-custom,
    .v2-style-isolation #v2-stord-avg-data-table tr[data-row-id] td,

    /* 4. 選択選手別他艇実績（データ数値行のみ） */
    .v2-style-isolation #v2-vs-others-data-table tr[data-row-type] td.v2-td-custom,
    .v2-style-isolation #v2-vs-others-data-table tr[data-row-type] td,

    /* 5. イン逃げ時直近1年（2連対率・3連対率・出目発生率） */
    .v2-style-isolation #v2-innige-data-table tr[data-row-id="innige-2ren"] td,
    .v2-style-isolation #v2-innige-data-table tr[data-row-id="innige-3ren"] td,
    .v2-style-isolation #v2-innige-data-table tr[data-row-id="innige-deme-rate"] td,

    /* 6. 節間情報サマリー（順位・得点率・平均ST・平均ST順） */
    .v2-style-isolation #v2-series-summary-table tr[data-row-id] td.v2-td-custom,
    .v2-style-isolation #v2-series-summary-table tr[data-row-id] td {
        height: 30px !important;
        min-height: 30px !important;
        padding: 0 1px !important;
        line-height: 30px !important;
        font-size: 14px !important; /* ★ td（数値セル）のみ14px適用 */
    }

    /* 最左列の見出しthは高さ30pxだけ合わせて、文字サイズはそのまま維持 */
    .v2-style-isolation #v2-basic-info-table tr[data-row-id] th,
    .v2-style-isolation #v2-motor-info-table tr[data-row-id] th,
    .v2-style-isolation #v2-st-avg-data-table tr[data-row-id] th,
    .v2-style-isolation #v2-stord-avg-data-table tr[data-row-id] th,
    .v2-style-isolation #v2-vs-others-data-table tr[data-row-type] th,
    .v2-style-isolation #v2-innige-data-table tr[data-row-id="innige-2ren"] th,
    .v2-style-isolation #v2-innige-data-table tr[data-row-id="innige-3ren"] th,
    .v2-style-isolation #v2-innige-data-table tr[data-row-id="innige-deme-rate"] th,
    .v2-style-isolation #v2-series-summary-table tr[data-row-id] th {
        height: 30px !important;
        min-height: 30px !important;
        line-height: 30px !important;
        padding: 0 1px !important;
    }

}











/* ──────────────────────────────────────────────────
   スマホ時：出走表（枠・登録番号・級）の高さスリム化（30px）
────────────────────────────────────────────────── */
@media screen and (max-width: 768px) {

    /* 枠（.brepT__row--waku） */
    table.brepT tr.brepT__row--waku th,
    table.brepT tr.brepT__row--waku td,
    
    /* 登録番号（.brepT__row--entno） */
    table.brepT tr.brepT__row--entno th,
    table.brepT tr.brepT__row--entno td,
    
    /* 級（.brepT__row--cls） */
    table.brepT tr.brepT__row--cls th,
    table.brepT tr.brepT__row--cls td {
        height: 30px !important;
        min-height: 30px !important;
        line-height: 30px !important;
        padding: 0 1px !important;
    }

}




