* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}





html, body {
  height: 100%;
  margin: 0;

}


body {
  margin-top: 20px;
  font-family: 'Josefin Slab', sans-serif;
  font-size: 12pt;
  font-weight: 700;
  line-height: 15pt;
  
 cursor: none;

  
  display: flex;
  justify-content: center; /* 가로 중앙 */
  align-items: center;     /* 세로 중앙 */



}


h1 {
  text-align: center;
  font-size: pt;
}

table {
  width: 800px;
  
  text-align: center;
  table-layout: fixed; 
   border-collapse: collapse;
}
th {
  font-weight: normal;
}

.nam
{border-top: 3px solid black;}

table, tr, td, th {

  color: #f2855a;
  background-color: ;
  border: 4px solid #97649a;

  

  padding: 10px;
}
td{width: 140px;          /* 원하는 셀 폭 */
  height: 140px;         /* 원하는 셀 높이 */
  text-align: center;
  vertical-align: middle;
  }
th {
  font-weight: bold;
}

li {
  margin-left: 20px;
}

footer {
  font-size: 9pt;
  margin: 10px;
  text-align: center;
  color: #fe6f1a;
}


a {
  text-decoration: none;
  color: inherit;
}

a:hover {
  text-decoration: none;
  color: blue;
}

#start-random {
  cursor: none;       /* 마우스 올리면 클릭 가능해 보이게 (선택) */
}

/* 호버하면 글자색 파란색 */
#start-random:hover {
  color: white;
}

/* 1. trail-dot: 화면 최상단 */
.trail-dot {
  position: fixed;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #97649a;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.3s linear;
  z-index: 999999; /* 전역 최상단 레이어 */
}

td {
  position: relative;
}

td > span {
  position: relative;
  z-index: 1;
}

td::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  width: 134px;
  height: 134px;

  background-image: url("heart/heart.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  pointer-events: none;
  z-index: -1;   /* 글자 뒤 */
  opacity: 0;    /* 기본: 안 보임 */
  /* transition 제거 */
}

td.heart-active::before {
  opacity: 1;    /* 보임 */
}

.table-wrap{
  display: flex;
  justify-content: center;
  align-items: center;
}



@media screen and (max-width: 704px) {

  .table-wrap{
    transform: scale(0.7);
    transform-origin: center;
  }

}