.notadmin {
 display:none!important;
}

h2 {
 margin:15px 5px 5px 5px;
 font-size:16px;
}
.wrapper{
  display: flex;
  flex-wrap:wrap;
  padding:0 1%;
  gap: 1%;
  align-items: stretch;
}

.pod{
  flex:0 0 32%;
  background: #fff;
  border: 1px solid gray;
  border-radius: 2px;
  overflow: hidden;
  font-size:12px;
  padding:0;
}

.pod_num{
  padding: 2px 10px;
  font-weight: 700;
  border-bottom: 1px solid #eee;
  background: silver;
  text-align: center;
}

.list.dropzone{
  min-height: 50px; /* 空でもドロップできるように */
  padding:0 2px;
}

/* 基本のカード（色は親podで上書きする） */
.card{
  width:calc(100% - 4px);
  border-radius: 2px;
  padding:1px 1px 0 1px;
  margin:2px 0;
  line-height:18px;
  cursor: grab;
  touch-action: none;
  text-align:center;
  font-size:10px;
  border: 1px solid black;   /* ビブス有：実線 */
 white-space: nowrap;    /* 改行させない */
 overflow: hidden;
 text-overflow: ellipsis; /* 長い名前は省略表示 */
}

/* ビブス無：点線（色はそのまま親podの色が効く） */
.card.no-bibs,
.team_card.no-bibs {
  border-style: dashed;
  opacity: 0.9;
}

/* --- ポッド別カード色（親dropzoneのdata-podで切替） --- */
.dropzone[data-pod="0"] .card { background: silver; }  /* 未割当 */
.dropzone[data-pod="1"] .card,
.team_card[data-pod="1"] { background: tomato; }     /* ポッド1 */
.dropzone[data-pod="2"] .card,
.team_card[data-pod="2"] { background: orange; }     /* ポッド2 */
.dropzone[data-pod="3"] .card,
.team_card[data-pod="3"] { background: gold; }     /* ポッド3 */
.dropzone[data-pod="4"] .card,
.team_card[data-pod="4"] { background: lightgreen; }     /* ポッド4 */
.dropzone[data-pod="5"] .card,
.team_card[data-pod="5"] { background: rgb(144, 179, 255); }     /* ポッド5 */

/* ついで：ドラッグ中の見え方 */
.sortable-ghost{ opacity: .45; }
.sortable-chosen{ cursor: grabbing; }
.sortable-drag{ cursor: grabbing; }

.controls{
  margin-top: 14px;
  background: #fff;
  border-radius: 10px;
  font-size:16px;
}
.controls input {
  width:20px;
  height:20px;
}

.row{
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.container {
 display:flex;
 padding:5px;
}

.container .item_name {
 width:70px;
 padding:10px;
 font-weight:bold;
 font-size:16px;
 line-height:20px;
}

/* 共通：ラジオは隠す */
.team_count input[type="radio"],
.mode_group input[type="radio"]{
  display:none;
}

/* チーム数ボタン */
.team_count{
  display:flex;
  gap:8px;
}
.team_btn{
  display:inline-block;
  min-width:22px;
  padding:5px 10px;
  text-align:center;
  border:2px solid #ccc;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  font-size:16px;
  font-weight:bold;
  user-select:none;
}
.team_count input[type="radio"]:checked + .team_btn{
  background: rgb(255, 44, 79);
  color:#fff;
  border-color:#111;
}

/* モードボタン */
.mode_group{
  display:flex;
  gap:8px;
}
.mode_btn{
  display:inline-block;
  padding:5px 10px;
  border:2px solid #ccc;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  font-size:16px;
  font-weight:700;
  user-select:none;
  white-space:nowrap;
}
.mode_group input[type="radio"]:checked + .mode_btn{
  background: mediumseagreen;
  color:#fff;
  border-color:#111;
}

/* 実行ボタンを目立たせる（任意） */
.exec_btn_container {
 padding:10px 0;
 text-align:center; 
}
.exec_btn{
  background: black;
  color:#fff;
  border-radius:50px;
  font-size:20px;
  padding:10px 50px;
  margin:0 auto;
}

.loadcontent {
  display:block;
  text-align:right;
}
.loaded_at {
  font-size: 14px;
  font-weight: normal;
  color: #666;
  margin-left: 2px;
}
.reload_icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  margin-right:10px;
  vertical-align:-3px;
  cursor:pointer;
  opacity:.7;
  border:1px solid #aaa;
  padding:2px;
  border-radius:4px;
  transition: border-color .2s ease, background-color .2s ease;
}
.reload_icon:hover {
  opacity:1;
}
/* 中の画像 */
.reload_img {
  width:100%;
  height:100%;
}
/* 押された瞬間 */
.reload_icon.is-reloading {
  border-color:#2ecc71;
  background:#eafaf1;
  opacity:1;
}
/* 中の画像だけ回す */
.reload_icon.is-reloading .reload_img {
  animation: reload-spin 1s linear;
}
@keyframes reload-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

#teams-container{
 padding-bottom:20px;
}

.teams_grid{
 padding:0 5px;
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  justify-content: left;
}

.team_box{
  width:calc((100% - 52px) / 3);
  background: #fff;
  border: 2px solid #ddd;
  border-radius: 10px;
  padding: 5px;
  font-size:16px;
  text-align:center;
}
.team_title {
 background:silver;
}

.team_card {
  width:calc(100% - 8px);
  border-radius: 5px;
  padding:0 2px;
  margin:5px 0;
  line-height:28px;
  text-align:center;
  font-size:16px;
  border: 2px solid black;   /* ビブス有：実線 */
 white-space: nowrap;    /* 改行させない */
 overflow: hidden;
 text-overflow: ellipsis; /* 長い名前は省略表示 */
}

.team_title{
  font-weight: 700;
  margin-bottom: 8px;
}

