/* ================================
   FONTS
================================ */

@font-face {
  font-family: 'Mulish';
  src: url('fonts/Mulish-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Mulish';
  src: url('fonts/Mulish-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Mulish';
  src: url('fonts/Mulish-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Mulish';
  src: url('fonts/Mulish-Black.woff') format('woff');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}


/* ================================
   GLOBAL
================================ */

html, body {
  font-family: 'Mulish', sans-serif !important;
  background: transparent;
  margin: 0;
  padding: 0;
}


/* ================================
   TABLE CONTAINER
================================ */

.table-container {
  width: 100%;
  height: 100%;
  max-height: calc(100vh - 10px);
  margin-bottom: 10px;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;

  background: #00000050;
  padding: 10px;
  border-radius: 10px;

  scrollbar-width: none;
  box-sizing: border-box;
}

.table-container::-webkit-scrollbar {
  width: 0;
}


/* ================================
   TABLE BASE
================================ */

table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.leaderboard-results {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.leaderboard-results thead {
  display: none;
}


/* ================================
   ROW (TR)
================================ */

.leaderboard-results tr {
  display: flex;
  align-items: center;
  justify-content: space-between;

  background: linear-gradient(180deg, #15a2e0 0%, #0a85db 100%);
  color: #fff;

  border-radius: 20px;

  margin: 0px 0px 10px 0px;
  padding: 5px;
  min-height: 50px;

  font-weight: 700;
}


/* Desktop font (clamp sadece desktopta) */
@media (min-width: 601px) {
  .leaderboard-results tr {
    font-size: clamp(17px, 2.2vw, 30px);
  }
}

@media (min-width: 1200px) {
  .leaderboard-results tr {
    padding: 10px;
  }
}


/* ================================
   CELL (TD)
================================ */

.leaderboard-results td {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 33.33%;
  padding: 5px;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  min-width: 0;
  line-height: 1.2;
}


/* ================================
   COLUMN SETTINGS
================================ */

#rankings td:nth-child(1) {
  width: 10%;
  max-width: 70px;
  justify-content: center;

  background: #00000040;
  color: #fff;
  border-radius: 15px;

  height: auto;
}

#rankings td:nth-child(2) {
  width: 60%;
  justify-content: flex-start;
  padding-left: 8px;
}

#rankings td:nth-child(3) {
  width: 30%;
  justify-content: flex-end;
}


/* ================================
   SCORE CELL
================================ */

.score_cell {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.score_icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
}


/* ================================
   USER STATES
================================ */

#user-rank-selected {
  border: 2px solid #ffffff;
  background: linear-gradient(180deg, #16defd 0%, #01b2cb 100%);
}

#user-rank-sticky {
  position: sticky;
  bottom: 0;
  z-index: 999;

  border: 2px solid #ffffff;
  background: linear-gradient(180deg, #16defd 0%, #01b2cb 100%);
  font-weight: 900;
}


/* ================================
   MOBILE (≤ 600px)
================================ */

@media (max-width: 600px) {

  .leaderboard-results tr {
    font-size: 16px;
  }

  .leaderboard-results td {
    font-size: 15px;
  }

  #rankings td:nth-child(1) {
    font-size: 14px;
  }

  .score_icon {
    width: 22px;
    height: 22px;
  }

  .score_cell {
    gap: 4px;
  }
}


/* ================================
   SMALL MOBILE (≤ 480px)
================================ */

@media (max-width: 480px) {

  .leaderboard-results tr {
    font-size: 13px;
  }

  .leaderboard-results td {
    font-size: 12px;
  }

  .score_icon {
    width: 16px;
    height: 16px;
  }
}

table tr {
    box-shadow: 
    inset 0 3px 0 rgba(255, 255, 255, 0.1),   /* bevel üst */
    inset 0 -3px 0 rgba(0, 0, 0, 0.1),   /* bevel alt */
    0 4px 5px rgba(0, 0, 0, 0.25);   /* alt drop shadow */
}