/* =========================================
  boatrace_race_list_v2 (FINAL)
  - 重複なし
  - 行リンク対応
  - 名前：全員太字 / 女子だけ紫ピンク
========================================= */

.br-rl2-root{ margin:10px 0 18px; }
.br-rl2-box{ margin:0 0 14px; }

/* =========================
  タイトル帯（枠線なし・淡い水色）
========================= */
.br-rl2-head{ margin:0 0 10px; }

.br-rl2-headline{
  display:flex;
  align-items:center;
  gap:10px;

  padding:10px 12px;
  background:#e3f2fd;   /* 淡い水色 */
  border:none;
  border-radius:0;
}

.br-rl2-race{
  font-weight:900;
  font-size:16px;
  color:#111;
  white-space:nowrap;
}

.br-rl2-kind{
  font-weight:800;
  font-size:14px;
  color:#111;
  opacity:.85;
}

.br-rl2-deadline{
  margin-left:auto;
  font-weight:900;
  font-size:13px;
  color:#111;

  background:#fff;
  border:1px solid rgba(15,23,42,.14);
  border-radius:999px;
  padding:6px 10px;
  line-height:1;
  white-space:nowrap;
}

/* =========================================================
  layout
========================================================= */
.br-rl2-row{
  display:flex;
  gap:10px;
  align-items:stretch; /* 表の高さにactions追従 */
}

.br-rl2-main{
  flex:1 1 auto;
  max-width:75%;
  min-width:0;
}

.br-rl2-actions{
  order:1;
  flex:0 0 25%;
  max-width:25%;
  min-width:180px;

  display:flex;
  flex-direction:column;
  gap:10px;
}

/* =========================================================
  table
========================================================= */
.br-rl2-players{ width:100%; }

.br-rl2-ptable{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  background:#fff;
}

/* ヘッダは非表示（見た目スッキリ） */
.br-rl2-ptable thead{ display:none; }

/* 横線だけ（縦線なし） */
.br-rl2-ptable tbody td{
  border-left:none;
  border-right:none;
  border-top:1px solid #e5e7eb;
  border-bottom:1px solid #e5e7eb;

  padding:6px 6px;
  font-size:13px;
  line-height:1.2;
  color:#111;
  vertical-align:middle;
  background:#fff;
}

.br-rl2-ptable-empty{
  text-align:center;
  color:#6b7280;
  padding:14px 8px;
}

/* column sizing */
.br-rl2-td-waku{ width:44px; }
.br-rl2-td-cls{ width:64px; text-align:center; white-space:nowrap; }
.br-rl2-td-nki{ width:72px; text-align:center; white-space:nowrap; }
.br-rl2-td-branch{ width:88px; text-align:center; white-space:nowrap; }

.br-rl2-td-name{
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;

  font-weight:900; /* ★男女問わず太字 */
  color:#111;      /* ★男子は黒 */
}

/* 女子だけ紫ピンク */
.br-rl2-td-name.br-rl2-name--female{
  color:#d81b60; /* 濃い紫ピンク */
}

/* icon */
.br-rl2-wakuicon{
  display:block;
  width:20px;
  height:auto;
  margin:0 auto;
}

/* 行ホバー */
.br-rl2-ptable tbody tr:hover td{ background:#fafafa; }

/* 行リンクの操作感 */
.br-rl2-tr[data-href]{ cursor:pointer; }
.br-rl2-tr[data-href]:hover td{ background:#f7fafc; }

/* 枠番セルはリンク対象外（カーソル戻す） */
.br-rl2-td-waku{ cursor:default; }

/* =========================================================
  buttons (B案：下線 + ドット)
========================================================= */
.br-rl2-btn{
  display:flex;
  align-items:center;
  justify-content:center;

  flex:1 1 0;          /* PC：均等割り */
  min-height:44px;

  position:relative;
  background:transparent;
  border:none;

  font-size:13px;
  font-weight:900;
  letter-spacing:.02em;
  text-decoration:none;
  color:#111;
}

.br-rl2-btn::before{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:6px;
  height:2px;
  background:rgba(15,23,42,.18);
}

.br-rl2-btn::after{
  content:"";
  position:absolute;
  top:10px;
  right:10px;
  width:6px;
  height:6px;
  border-radius:999px;
  background:rgba(15,23,42,.18);
}

.br-rl2-btn:hover::before,
.br-rl2-btn:hover::after{
  background:rgba(15,23,42,.30);
}

/* =========================================================
  SP
========================================================= */
@media (max-width:768px){

  .br-rl2-row{ display:block; }

  .br-rl2-main{
    width:100%;
    max-width:none;
  }

  /* SP：ボタン 2x2 */
  .br-rl2-actions{
    width:100%;
    max-width:none;
    min-width:0;

    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:8px;
    margin-top:10px;
  }

  /* SP：均等割り解除（gridで管理） */
  .br-rl2-btn{
    flex:none;
    min-height:0;
    height:38px;
    font-size:13px;
  }

  /* SP：詰め */
  .br-rl2-ptable tbody td{
    font-size:12px;
    padding:6px 4px;
  }

  .br-rl2-td-waku{ width:40px; }
  .br-rl2-wakuicon{ width:18px; }

  .br-rl2-td-branch{
    overflow:hidden;
    text-overflow:ellipsis;
  }
}



@media (max-width:768px){

  /* 選手表の文字サイズを13pxに固定 */
  .br-rl2-ptable tbody td{
    font-size:13px !important;
  }

}

