leaderboard css

This commit is contained in:
Michelle Aquilera 2025-11-24 14:44:49 +07:00
parent c5eeade5c5
commit cc905ac01b
2 changed files with 100 additions and 83 deletions

View File

@ -41,9 +41,9 @@ body {
z-index: 2;
background: rgba(20, 0, 40, 0.65);
border-radius: 20px;
padding: 40px 30px;
width: 90%;
max-width: 380px;
padding: 40px 100px;
width: 98%;
max-width: 1600px;
border: 2px solid rgba(0, 255, 255, 0.4);
box-shadow:
@ -73,25 +73,25 @@ body {
/* ========== TITLE ========== */
h1 {
text-align: center;
font-size: 1.8rem;
margin-bottom: 30px;
font-size: 2.2rem;
margin-bottom: 35px;
background: linear-gradient(90deg, #00d9ff 0%, #ff00ff 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-transform: uppercase;
letter-spacing: 2px;
letter-spacing: 3px;
font-weight: bold;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
gap: 15px;
}
h1::before {
content: '🏆';
-webkit-text-fill-color: initial;
font-size: 1.6rem;
font-size: 2rem;
filter: drop-shadow(0 0 10px #ffd700);
}
@ -100,16 +100,16 @@ h1::before {
list-style: none;
display: flex;
flex-direction: column;
gap: 12px;
gap: 14px;
}
/* ========== LEADERBOARD ITEM ========== */
.leaderboard-item {
display: flex;
align-items: center;
gap: 12px;
padding: 14px 16px;
border-radius: 12px;
gap: 20px;
padding: 18px 25px;
border-radius: 14px;
background: rgba(30, 0, 50, 0.5);
border: 1px solid rgba(0, 255, 255, 0.2);
transition: all 0.3s ease;
@ -117,7 +117,7 @@ h1::before {
}
.leaderboard-item:hover {
transform: translateX(4px);
transform: translateX(6px);
border-color: rgba(0, 255, 255, 0.5);
box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);
}
@ -161,13 +161,13 @@ h1::before {
/* ========== RANK BADGE ========== */
.rank-badge {
width: 36px;
height: 36px;
width: 45px;
height: 45px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-size: 17px;
font-weight: bold;
flex-shrink: 0;
transition: all 0.3s ease;
@ -214,13 +214,13 @@ h1::before {
flex: 1;
display: flex;
flex-direction: column;
gap: 3px;
gap: 4px;
min-width: 0;
}
.player-name {
font-weight: 700;
font-size: 15px;
font-size: 18px;
color: #e1e8ff;
text-shadow: 0 0 8px rgba(0, 234, 255, 0.3);
white-space: nowrap;
@ -235,14 +235,14 @@ h1::before {
background-clip: text;
text-shadow: none;
filter: drop-shadow(0 0 6px rgba(0, 234, 255, 0.5));
font-size: 16px;
font-size: 19px;
}
.player-level {
font-size: 11px;
font-size: 12px;
color: rgba(200, 200, 255, 0.6);
text-transform: uppercase;
letter-spacing: 0.5px;
letter-spacing: 1px;
}
.rank-1 .player-level {
@ -252,22 +252,22 @@ h1::before {
/* ========== SCORE ========== */
.player-score {
font-weight: 700;
font-size: 16px;
font-size: 18px;
color: #00eaff;
text-shadow: 0 0 12px rgba(0, 234, 255, 0.7);
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 2px;
gap: 3px;
flex-shrink: 0;
}
.score-value {
font-size: 17px;
font-size: 22px;
}
.rank-1 .score-value {
font-size: 19px;
font-size: 25px;
background: linear-gradient(90deg, #00eaff, #ff00ff);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
@ -286,9 +286,9 @@ h1::before {
}
.score-label {
font-size: 10px;
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.5px;
letter-spacing: 1px;
color: rgba(200, 200, 255, 0.5);
}
@ -303,14 +303,14 @@ h1::before {
.leaderboard-item.your-rank::after {
content: 'YOU';
position: absolute;
right: -6px;
top: -8px;
right: -8px;
top: -10px;
background: linear-gradient(135deg, #00ff88, #00eaff);
color: #0c001a;
font-size: 10px;
font-size: 11px;
font-weight: bold;
padding: 4px 8px;
border-radius: 6px;
padding: 5px 10px;
border-radius: 8px;
box-shadow: 0 0 15px rgba(0, 255, 136, 0.8);
letter-spacing: 1px;
}
@ -318,69 +318,36 @@ h1::before {
/* ========== EMPTY STATE ========== */
.leaderboard-empty {
text-align: center;
padding: 35px 20px;
padding: 40px 20px;
color: rgba(200, 200, 255, 0.5);
font-size: 14px;
font-size: 16px;
border: 2px dashed rgba(0, 255, 255, 0.2);
border-radius: 12px;
border-radius: 14px;
background: rgba(30, 0, 50, 0.3);
}
.leaderboard-empty::before {
content: '🎮';
display: block;
font-size: 42px;
margin-bottom: 10px;
font-size: 50px;
margin-bottom: 12px;
opacity: 0.6;
filter: drop-shadow(0 0 10px rgba(0, 234, 255, 0.4));
}
/* ========== BACK BUTTON ========== */
.btn-back {
width: 100%;
padding: 14px;
margin-top: 22px;
background: linear-gradient(90deg, #00eaff, #ff00ff);
border: none;
border-radius: 12px;
color: #fff;
font-weight: bold;
text-transform: uppercase;
font-size: 16px;
letter-spacing: 2px;
cursor: pointer;
box-shadow: 0 5px 25px rgba(0, 217, 255, 0.4);
transition: all 0.25s ease;
}
.btn-back:hover {
transform: translateY(-3px);
box-shadow:
0 8px 35px rgba(0, 217, 255, 0.7),
0 0 20px rgba(255, 0, 255, 0.6);
}
.btn-back:active {
transform: translateY(0);
}
/* ========== STATS SECTION (OPTIONAL) ========== */
.stats-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
margin-bottom: 25px;
gap: 15px;
margin-bottom: 30px;
}
.stat-box {
background: rgba(30, 0, 50, 0.5);
border: 1px solid rgba(0, 255, 255, 0.2);
border-radius: 10px;
padding: 12px 8px;
border-radius: 12px;
padding: 16px 12px;
text-align: center;
transition: all 0.3s ease;
}
@ -391,21 +358,76 @@ h1::before {
}
.stat-label {
font-size: 10px;
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.5px;
letter-spacing: 1px;
color: rgba(200, 200, 255, 0.6);
margin-bottom: 5px;
margin-bottom: 6px;
}
.stat-value {
font-size: 18px;
font-size: 22px;
font-weight: bold;
color: #00eaff;
text-shadow: 0 0 10px rgba(0, 234, 255, 0.6);
}
/* ========== RESPONSIVE ========== */
@media (max-width: 768px) {
.container {
padding: 35px 30px;
max-width: 90%;
}
h1 {
font-size: 2rem;
gap: 12px;
}
h1::before {
font-size: 1.8rem;
}
.leaderboard-item {
padding: 16px 20px;
gap: 16px;
}
.rank-badge {
width: 40px;
height: 40px;
font-size: 16px;
}
.player-name {
font-size: 17px;
}
.rank-1 .player-name {
font-size: 18px;
}
.score-value {
font-size: 20px;
}
.rank-1 .score-value {
font-size: 23px;
}
.stats-container {
gap: 12px;
}
.stat-box {
padding: 14px 10px;
}
.stat-value {
font-size: 20px;
}
}
@media (max-width: 480px) {
.container {
padding: 25px 20px;
@ -457,11 +479,6 @@ h1::before {
font-size: 9px;
}
.btn-back {
padding: 12px;
font-size: 15px;
}
.stats-container {
gap: 8px;
margin-bottom: 20px;

0
Leaderboard.js Normal file
View File