diff --git a/data/index.css b/data/index.css
index 0397b27..3a06eb4 100644
--- a/data/index.css
+++ b/data/index.css
@@ -53,6 +53,32 @@ body {
border-radius: 10px;
}
+.leaderboard-btn {
+ position: fixed;
+ top: 20px;
+ right: 90px;
+ background: rgba(255, 255, 255, 0.2);
+ border: 2px solid rgba(255, 255, 255, 0.3);
+ color: white;
+ padding: 15px;
+ border-radius: 50%;
+ text-decoration: none;
+ font-size: 1.5rem;
+ transition: all 0.3s ease;
+ z-index: 1000;
+ width: 60px;
+ height: 60px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.leaderboard-btn:hover {
+ background: rgba(255, 255, 255, 0.3);
+ border-color: rgba(255, 255, 255, 0.5);
+ transform: scale(1.1);
+}
+
.settings-btn {
position: fixed;
top: 20px;
@@ -82,7 +108,7 @@ body {
.heartbeat-indicators {
position: fixed;
top: 20px;
- right: 90px;
+ right: 160px;
display: flex;
gap: 15px;
z-index: 1000;
@@ -93,6 +119,56 @@ body {
border: 1px solid rgba(255, 255, 255, 0.2);
}
+@media (max-width: 768px) {
+ .logo {
+ width: 40px;
+ height: 40px;
+ top: 15px;
+ left: 15px;
+ padding: 3px;
+ }
+
+ .leaderboard-btn {
+ top: 15px;
+ right: 60px;
+ padding: 10px;
+ font-size: 1.2rem;
+ }
+
+ .settings-btn {
+ top: 15px;
+ right: 15px;
+ padding: 10px;
+ font-size: 1.2rem;
+ }
+
+ .heartbeat-indicators {
+ top: 15px;
+ right: 90px;
+ gap: 8px;
+ padding: 8px 12px;
+ font-size: 0.8rem;
+ }
+
+ .heartbeat-indicator {
+ width: 12px;
+ height: 12px;
+ }
+
+ .heartbeat-indicator::before {
+ font-size: 8px;
+ top: -20px;
+ }
+
+ .header h1 {
+ font-size: clamp(1.2rem, 3vw, 1.8rem);
+ }
+
+ .header p {
+ font-size: clamp(0.7rem, 1.5vw, 0.9rem);
+ }
+}
+
.heartbeat-indicator {
width: 20px;
height: 20px;
@@ -300,7 +376,7 @@ body {
transition: transform 0.3s ease;
display: flex;
flex-direction: column;
- justify-content: center;
+ justify-content: space-between;
height: 100%;
overflow: hidden;
}
@@ -344,7 +420,7 @@ body {
}
.time-display {
- font-size: clamp(3rem, 9vw, 10rem);
+ font-size: clamp(3rem, 13vw, 13rem);
font-weight: bold;
margin: clamp(10px, 1vh, 15px) 0;
font-family: "Courier New", monospace;
@@ -353,7 +429,7 @@ body {
}
.status {
- font-size: clamp(1.5rem, 3vw, 3rem);
+ font-size: clamp(1.5rem, 4vw, 5rem);
margin: clamp(8px, 1vh, 12px) 0;
padding: clamp(6px, 1vh, 10px) clamp(12px, 2vw, 18px);
border-radius: 20px;
@@ -428,20 +504,40 @@ body {
border-radius: 15px;
padding: clamp(10px, 1.5vh, 15px);
margin: 1vh 0 0 0;
- width: 50%;
- max-width: 50%;
+ width: clamp(320px, 80vw, 960px);
+ max-width: 960px;
text-align: center;
border: 1px solid rgba(255, 255, 255, 0.2);
flex-shrink: 0;
align-self: center;
+ display: flex;
+ flex-direction: column;
+ align-items: stretch;
+ gap: clamp(12px, 2vh, 20px);
+ box-sizing: border-box;
+}
+
+#leaderboard-container {
+ text-align: left;
+ display: grid;
+ grid-template-columns: 1fr;
+ gap: clamp(12px, 2vh, 20px);
+ width: 100%;
+}
+
+@media (min-width: 768px) {
+ #leaderboard-container {
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ }
}
.best-times h3 {
font-size: clamp(0.9rem, 1.8vw, 1.1rem);
- margin-bottom: clamp(5px, 0.5vh, 8px);
+ margin: 0 auto;
font-weight: bold;
text-transform: uppercase;
font-family: "Segoe UI", Arial, sans-serif;
+ text-align: center;
}
.best-time-row {
@@ -468,10 +564,13 @@ body {
font-size: clamp(1.1rem, 2.2vw, 1.4rem);
font-weight: 600;
background: rgba(255, 255, 255, 0.15);
- padding: clamp(8px, 1.5vh, 12px) clamp(12px, 2vw, 16px);
+ padding: clamp(12px, 2vh, 16px) clamp(16px, 3vw, 24px);
border-radius: 10px;
border: 1px solid rgba(255, 255, 255, 0.3);
transition: all 0.3s ease;
+ min-height: 50px;
+ width: 100%;
+ box-sizing: border-box;
}
.leaderboard-entry:hover {
@@ -502,6 +601,60 @@ body {
text-align: right;
}
+.leaderboard-entry.gold {
+ background: linear-gradient(135deg, #ffd700 0%, #ffed4e 100%);
+ border-color: #ffd700;
+ color: #b8860b;
+ font-weight: bold;
+ box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
+}
+
+.leaderboard-entry.gold .rank {
+ color: #7a4d00;
+ text-shadow: 0 1px 2px rgba(255, 255, 255, 0.6);
+}
+
+.leaderboard-entry.gold .time {
+ color: #0f5132;
+ text-shadow: 0 1px 2px rgba(255, 255, 255, 0.5);
+}
+
+.leaderboard-entry.silver {
+ background: linear-gradient(135deg, #c0c0c0 0%, #e8e8e8 100%);
+ border-color: #c0c0c0;
+ color: #696969;
+ font-weight: bold;
+ box-shadow: 0 4px 15px rgba(192, 192, 192, 0.3);
+}
+
+.leaderboard-entry.silver .rank {
+ color: #4b5563;
+ text-shadow: 0 1px 2px rgba(255, 255, 255, 0.6);
+}
+
+.leaderboard-entry.silver .time {
+ color: #0f5132;
+ text-shadow: 0 1px 2px rgba(255, 255, 255, 0.5);
+}
+
+.leaderboard-entry.bronze {
+ background: linear-gradient(135deg, #cd7f32 0%, #e6a85c 100%);
+ border-color: #cd7f32;
+ color: #8b4513;
+ font-weight: bold;
+ box-shadow: 0 4px 15px rgba(205, 127, 50, 0.3);
+}
+
+.leaderboard-entry.bronze .rank {
+ color: #7a3410;
+ text-shadow: 0 1px 2px rgba(255, 255, 255, 0.6);
+}
+
+.leaderboard-entry.bronze .time {
+ color: #0f5132;
+ text-shadow: 0 1px 2px rgba(255, 255, 255, 0.5);
+}
+
.no-times {
text-align: center;
color: rgba(255, 255, 255, 0.7);
diff --git a/data/index.html b/data/index.html
index 1856b16..9af052a 100644
--- a/data/index.html
+++ b/data/index.html
@@ -24,6 +24,7 @@
+ đ
âď¸