#ranking-trigger {
      position: fixed;
      top: 20px;
      left: 20px;
      cursor: pointer;
      z-index: 1000;
	  transition: transform 0.2s ease;
    }

#ranking-trigger:hover {
  transform: scale(1.2);
}

    #ranking-trigger img {
      width: 40px;
    }

    #ranking-popup {
      position: fixed;
      top: 80px;
      left: 20px;
      background: white;
      border: 1px solid #ccc;
      padding: 15px;
      border-radius: 12px;
      box-shadow: 0 2px 10px rgba(0,0,0,0.2);
      width: 320px;
      z-index: 1000;
      display: none;
      color: black;
    }

    .hidden {
      display: none;
    }

    #ranking-popup h3 {
      margin-top: 0;
      font-size: 1.2rem;
      text-align: center;
      border-bottom: 1px solid #ddd;
      padding-bottom: 8px;
      margin-bottom: 12px;
    }

    table {
      width: 100%;
      border-collapse: collapse;
    }

    th, td {
      text-align: left;
      padding: 6px;
    }

	td:first-child {
	  text-align: center;
	}

th:first-child {
  text-align: center;
}

    .cover_hit {
      width: 50px;
      height: auto;
      border-radius: 4px;
	  cursor: pointer;
    }

.ranking-title, .ranking-artist {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;        /* ou inline-block */
  min-width: 0;          /* ← encore indispensable */
  width: 230px;
}

.ranking-artist {
	line-height: 1.35;
	color: #555;
	font-size: 0.8em;
	margin-top: 0px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-weight: bold;
}

.ranking-title {
  margin-top: -7px;
  font-weight: 700;
  font-size: 1.0em;
  color: #0A345C;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
    .no-data {
      text-align: center;
      font-style: italic;
      color: #666;
    }