/* 퍼즐 순위 표시 스타일 - PC 버전 */
.puzzle-ranking {
    margin: 0 auto;
    width: 100%;
    max-width: 900px;
    background: #f8f9fa;
    border: 1px solid #ccc;
    padding: 15px;
    margin-bottom: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    cursor: pointer;
}

.puzzle-ranking h3 {
    margin: 0 0 10px 0;
    font-size: 14px;
    font-weight: bold;
    color: #333;
    text-align: center;
    border-bottom: 2px solid #007bff;
    padding-bottom: 5px;
}

.puzzle-ranking table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    table-layout: fixed;
}

.puzzle-ranking th {
    background: #007bff;
    color: white;
    padding: 5px;
    text-align: center;
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.puzzle-ranking td {
    padding: 5px;
    text-align: center;
    border-bottom: 1px solid #ddd;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 컬럼 너비 설정 */
.puzzle-ranking th:nth-child(1), .puzzle-ranking td:nth-child(1) { width: 16%; } /* 순위 */
.puzzle-ranking th:nth-child(2), .puzzle-ranking td:nth-child(2) { width: 25%; } /* 아이디 */
.puzzle-ranking th:nth-child(3), .puzzle-ranking td:nth-child(3) { width: 25%; } /* 닉네임 */
.puzzle-ranking th:nth-child(4), .puzzle-ranking td:nth-child(4) { width: 17%; } /* 포인트 */
.puzzle-ranking th:nth-child(5), .puzzle-ranking td:nth-child(5) { width: 17%; } /* 게임수 */

.puzzle-ranking tr:nth-child(even) {
    background: #f1f3f4;
}

.puzzle-ranking .rank-1 { color: #cfac0e; font-weight: bold; }
.puzzle-ranking .rank-2 { color: #beb5b5; font-weight: bold; }
.puzzle-ranking .rank-3 { color: #cc9660; font-weight: bold; }

.puzzle-ranking .no-data {
    text-align: center;
    color: #666;
    font-style: italic;
    padding: 10px;
}

.puzzle-ranking .date-info {
    font-size: 11px;
    color: #666;
    text-align: center;
    margin-bottom: 8px;
}

/* 퍼즐 순위 표시 스타일 - 모바일 버전 */
.puzzle-ranking-mobile {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 10px;
    margin: 10px 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.puzzle-ranking-mobile h3 {
    margin: 0 0 8px 0;
    font-size: 13px;
    font-weight: bold;
    color: #333;
    text-align: center;
    border-bottom: 2px solid #007bff;
    padding-bottom: 3px;
}

.puzzle-ranking-mobile .date-info {
    font-size: 10px;
    color: #666;
    text-align: center;
    margin-bottom: 6px;
}

.puzzle-ranking-mobile .ranking-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 0;
    border-bottom: 1px solid #eee;
    font-size: 11px;
}

.puzzle-ranking-mobile .ranking-item:last-child {
    border-bottom: none;
}

.puzzle-ranking-mobile .rank {
    font-weight: bold;
    min-width: 20px;
}

.puzzle-ranking-mobile .rank-1 { color: #cfac0e; }
.puzzle-ranking-mobile .rank-2 { color: #beb5b5; }
.puzzle-ranking-mobile .rank-3 { color: #cc9660; }

.puzzle-ranking-mobile .user-info {
    flex: 1;
    margin: 0 5px;
}

.puzzle-ranking-mobile .user-id {
    font-size: 10px;
    color: #666;
}

.puzzle-ranking-mobile .user-nick {
    font-weight: bold;
    color: #333;
}

.puzzle-ranking-mobile .point-info {
    text-align: right;
    min-width: 60px;
}

.puzzle-ranking-mobile .point {
    font-weight: bold;
    color: #007bff;
}

.puzzle-ranking-mobile .completion {
    font-size: 9px;
    color: #666;
}

.puzzle-ranking-mobile .no-data {
    text-align: center;
    color: #666;
    font-style: italic;
    padding: 8px;
    font-size: 11px;
}
