

/* =========================================================

   Formation board

   ========================================================= */



.formation-board {

  margin-top: 16px;

  padding: 16px;

  border: 1px solid rgba(148, 163, 184, .20);

  border-radius: 14px;

  background: rgba(15, 23, 42, .28);

}



.formation-board-title {

  margin: 0 0 12px;

  font-size: 14px;

  font-weight: 800;

  letter-spacing: -.01em;

}



.formation-board-grid {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 8px;

}



.formation-position {

  min-width: 0;

  min-height: 58px;

  padding: 8px 5px;

  border: 1px solid rgba(148, 163, 184, .18);

  border-radius: 10px;

  display: flex;

  align-items: center;

  justify-content: center;

  text-align: center;

  font-size: 13px;

  font-weight: 700;

  word-break: keep-all;

  overflow-wrap: anywhere;

  transition:

    border-color .18s ease,

    background .18s ease,

    opacity .18s ease;

}



.formation-position.is-inactive {

  opacity: .22;

  background: rgba(15, 23, 42, .16);

}



.formation-position.is-active {

  background: rgba(148, 163, 184, .07);

}



.formation-position.has-general {

  border-color: rgba(148, 163, 184, .50);

  background: rgba(148, 163, 184, .13);

  opacity: 1;

}



.formation-position .empty-slot {

  opacity: .48;

  font-weight: 500;

}



.formation-effects {

  margin-top: 14px;

  padding-top: 12px;

  border-top: 1px solid rgba(148, 163, 184, .16);

}



.formation-effects-title {

  margin-bottom: 7px;

  font-size: 13px;

  font-weight: 800;

}



.formation-effect-line {

  margin: 3px 0;

  font-size: 12px;

  line-height: 1.55;

  opacity: .82;

}



.formation-board-no-data {

  font-size: 12px;

  opacity: .55;

}



@media (max-width: 600px) {

  .formation-board {

    padding: 12px;

  }



  .formation-board-grid {

    gap: 6px;

  }



  .formation-position {

    min-height: 52px;

    font-size: 12px;

  }

}

