From a535d0691eecb89ebeee1bef8ee32c55e803639b Mon Sep 17 00:00:00 2001 From: Shivam Gupta <231542@kit.ac.in> Date: Mon, 15 Jun 2026 11:38:57 +0530 Subject: [PATCH 1/3] fix: add skip-to-main-content link for keyboard and screen reader accessibility --- frontend/about.html | 4 ++++ frontend/leaderboard.html | 4 ++++ frontend/registration.html | 4 ++++ frontend/styles/main.css | 18 ++++++++++++++++++ 4 files changed, 30 insertions(+) diff --git a/frontend/about.html b/frontend/about.html index c69dd860..49cd0f7f 100644 --- a/frontend/about.html +++ b/frontend/about.html @@ -33,9 +33,13 @@ + + + ...
+

cat README.md

diff --git a/frontend/leaderboard.html b/frontend/leaderboard.html index 932e40f6..6bbcb8d6 100644 --- a/frontend/leaderboard.html +++ b/frontend/leaderboard.html @@ -40,9 +40,13 @@ + + + ...
+

Leaderboard

+ + + ...
+

Join the Leaderboard

diff --git a/frontend/styles/main.css b/frontend/styles/main.css index 4a4b2a7d..c4bfe38f 100644 --- a/frontend/styles/main.css +++ b/frontend/styles/main.css @@ -2804,3 +2804,21 @@ body::-webkit-scrollbar-thumb { .changes-content-line.no-icon::before { display: none; } +/* Skip to main content — accessibility */ +.skip-link { + position: absolute; + top: -40px; + left: 0; + background: var(--green); + color: var(--bg); + padding: 8px 16px; + font-family: var(--font-mono); + font-size: 0.85rem; + z-index: 9999; + text-decoration: none; + border-radius: 0 0 4px 0; + transition: top 0.2s ease; +} +.skip-link:focus { + top: 0; +} From 7eed5708fb0d67b8c16b67b128385924981806d7 Mon Sep 17 00:00:00 2001 From: Shivam Gupta <231542@kit.ac.in> Date: Wed, 17 Jun 2026 12:32:14 +0530 Subject: [PATCH 2/3] fix: add skip-link to user.html and resolve prettier formatting issues --- frontend/about.html | 12 ++++++------ frontend/leaderboard.html | 7 ++----- frontend/registration.html | 7 ++----- frontend/user.html | 4 ++-- 4 files changed, 12 insertions(+), 18 deletions(-) diff --git a/frontend/about.html b/frontend/about.html index 49cd0f7f..df4e58d9 100644 --- a/frontend/about.html +++ b/frontend/about.html @@ -1,4 +1,4 @@ - + @@ -33,13 +33,10 @@ - - - ... + -
-
+

cat README.md

@@ -199,6 +196,7 @@

LinkedIn

> Connect with us professionally.

+ Email > Send us a detailed message.

+
- - - ... + -
-
+

Leaderboard

- - - ... + -
-
+

Join the Leaderboard

diff --git a/frontend/user.html b/frontend/user.html index e7b88e0e..d4babdd8 100644 --- a/frontend/user.html +++ b/frontend/user.html @@ -68,9 +68,9 @@ -
+ +

Performance Profile

-
From 75301951b5b749454b67544cab91e0dff1b2bd11 Mon Sep 17 00:00:00 2001 From: Shivam Gupta <231542@kit.ac.in> Date: Wed, 17 Jun 2026 12:47:50 +0530 Subject: [PATCH 3/3] fix: resolve merge conflicts, add skip-link, and fix CSS syntax --- frontend/styles/main.css | 75 ++++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 37 deletions(-) diff --git a/frontend/styles/main.css b/frontend/styles/main.css index 9d8ddc86..c6d0f977 100644 --- a/frontend/styles/main.css +++ b/frontend/styles/main.css @@ -1,5 +1,5 @@ -/* ============================================ - CodePVG Leaderboard — Terminal / CRT Theme +/* ============================================ + CodePVG Leaderboard — Terminal / CRT Theme ============================================ */ @import url("https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap"); @@ -24,7 +24,7 @@ --border-bright: rgba(0, 255, 65, 0.25); } -/* ── Reset ── */ +/* ── Reset ── */ * { margin: 0; padding: 0; @@ -45,7 +45,7 @@ body { font-size: 14px; } -/* ── CRT Screen Glow & Scanlines ── */ +/* ── CRT Screen Glow & Scanlines ── */ body::before { content: ""; position: fixed; @@ -61,7 +61,7 @@ body::before { animation: crtScan 10s linear infinite; } -/* ── CRT Scanline Overlay ── */ +/* ── CRT Scanline Overlay ── */ body::after { content: ""; position: fixed; @@ -82,7 +82,7 @@ body.crt-scrolling { filter: blur(0.5px) contrast(1.1) brightness(1.2); } -/* ── Animations ── */ +/* ── Animations ── */ @keyframes blink { 0%, 100% { @@ -179,7 +179,7 @@ body.crt-scrolling { } } -/* ── Utility ── */ +/* ── Utility ── */ .container { max-width: 1100px; margin: 0 auto; @@ -223,7 +223,7 @@ body.crt-scrolling { display: none; } -/* ── Terminal Window ── */ +/* ── Terminal Window ── */ .terminal-window { background: var(--bg-surface); border: 1px solid var(--border-bright); @@ -291,7 +291,7 @@ body.crt-scrolling { padding: 1.5rem; } -/* ── Navigation ── */ +/* ── Navigation ── */ .navbar { background: var(--bg); padding: 0; @@ -396,7 +396,7 @@ body.crt-scrolling { display: block; } -/* ── Hero Section ── */ +/* ── Hero Section ── */ .hero { min-height: 100vh; width: 100%; @@ -583,7 +583,7 @@ body.crt-scrolling { margin: 0; } -/* ── Page Content ── */ +/* ── Page Content ── */ .page { min-height: 100vh; background: transparent; @@ -616,7 +616,7 @@ body.crt-scrolling { margin-left: 4px; } -/* ── Registration Forms ── */ +/* ── Registration Forms ── */ .form-container { max-width: 580px; margin: 0 auto; @@ -690,7 +690,7 @@ body.crt-scrolling { content: "// "; } -/* ── Interactive Bash Form Inputs ── */ +/* ── Interactive Bash Form Inputs ── */ .form-input-bash-wrapper { display: flex; align-items: center; @@ -735,7 +735,7 @@ body.crt-scrolling { margin-left: 2px; } -/* ── Execution Log Container ── */ +/* ── Execution Log Container ── */ .execution-log-container { background: #000; border: 1px solid var(--border-bright); @@ -772,7 +772,7 @@ body.crt-scrolling { text-shadow: 0 0 8px rgba(255, 51, 51, 0.4); } -/* ── Tabs ── */ +/* ── Tabs ── */ .tabs { display: flex; justify-content: center; @@ -1005,7 +1005,7 @@ body.crt-scrolling { text-shadow: 0 0 8px rgba(255, 255, 255, 0.25); } -/* ── Mobile Cards ── */ +/* ── Mobile Cards ── */ .mobile-cards { display: none; } @@ -1110,7 +1110,7 @@ body.crt-scrolling { margin-top: 2px; } -/* ── Forms ── */ +/* ── Forms ── */ .form-container { display: flex; align-items: center; @@ -1171,7 +1171,7 @@ body.crt-scrolling { 0 0 15px rgba(0, 255, 65, 0.1); } -/* ── Interactive Bash Form Inputs ── */ +/* ── Interactive Bash Form Inputs ── */ .form-input-bash-wrapper { display: flex; align-items: center; @@ -1233,7 +1233,7 @@ body.crt-scrolling { color: var(--text-muted); } -/* ── Success Message ── */ +/* ── Success Message ── */ .success-container { text-align: center; } @@ -1257,7 +1257,7 @@ body.crt-scrolling { color: var(--text-dim); } -/* ── Content Sections ── */ +/* ── Content Sections ── */ .content-section { background: var(--bg-surface); border: 1px solid var(--border); @@ -1342,7 +1342,7 @@ body.crt-scrolling { } .feature-list li::before { - content: "→ "; + content: "→ "; color: var(--text-muted); } @@ -1384,7 +1384,7 @@ body.crt-scrolling { border-color: rgba(191, 127, 255, 0.25); } -/* ── Scroll Indicator ── */ +/* ── Scroll Indicator ── */ .scroll-indicator { position: absolute; bottom: 2rem; @@ -1412,7 +1412,7 @@ body.crt-scrolling { animation: blink 1.5s ease-in-out infinite; } -/* ── Contact Section ── */ +/* ── Contact Section ── */ .contact-card { text-align: center; padding: 1.5rem 1.25rem; @@ -1511,7 +1511,7 @@ body.crt-scrolling { font-size: 0.82rem; } -/* ── Mobile Responsiveness ── */ +/* ── Mobile Responsiveness ── */ @media (max-width: 940px) { .hero-title { font-size: 2.2rem; @@ -1677,7 +1677,7 @@ body.crt-scrolling { } } -/* ── Scrollbar ── */ +/* ── Scrollbar ── */ html, body { scrollbar-width: thin; @@ -1700,7 +1700,7 @@ body::-webkit-scrollbar-thumb { border-radius: 2px; } -/* ── Footer ── */ +/* ── Footer ── */ .footer { width: 100%; padding: 40px 20px 16px; @@ -1887,7 +1887,7 @@ body::-webkit-scrollbar-thumb { } } -/* ── Boot Sequence Overlay ── */ +/* ── Boot Sequence Overlay ── */ .boot-overlay { position: fixed; inset: 0; @@ -1933,7 +1933,7 @@ body::-webkit-scrollbar-thumb { text-shadow: 0 0 5px rgba(0, 255, 65, 0.4); } -/* ── Mock Shell & Live Feed ── */ +/* ── Mock Shell & Live Feed ── */ .mock-shell { margin-top: 1.5rem; text-align: left; @@ -1969,7 +1969,7 @@ body::-webkit-scrollbar-thumb { opacity: 0; } -/* ── Live Feed ── */ +/* ── Live Feed ── */ .live-feed { margin-top: 3rem; background: rgba(0, 0, 0, 0.4); @@ -2023,7 +2023,7 @@ body::-webkit-scrollbar-thumb { } } -/* ── Glitch Effects ── */ +/* ── Glitch Effects ── */ @keyframes glitch-anim-text { 0% { text-shadow: @@ -2142,7 +2142,7 @@ body::-webkit-scrollbar-thumb { } } -/* ── Tooltip ── */ +/* ── Tooltip ── */ .score-header { display: flex; align-items: center; @@ -2310,7 +2310,7 @@ body::-webkit-scrollbar-thumb { } } -/* ── Search Bar ── */ +/* ── Search Bar ── */ .search-container { display: flex; justify-content: center; @@ -2435,7 +2435,7 @@ body::-webkit-scrollbar-thumb { font-size: 0.85rem; } -/* ── Terminal Cyberpunk Pagination ── */ +/* ── Terminal Cyberpunk Pagination ── */ .page { display: flex; flex-direction: column; @@ -2552,7 +2552,7 @@ body::-webkit-scrollbar-thumb { display: none; } -/* ── Leaderboard Rank Change ── */ +/* ── Leaderboard Rank Change ── */ .rank-change { display: inline-block; font-size: 0.65rem; @@ -2639,7 +2639,7 @@ body::-webkit-scrollbar-thumb { } } -/* ── Sync Changes Button & Card ── */ +/* ── Sync Changes Button & Card ── */ .changes-btn { background: transparent; color: var(--cyan); @@ -2809,7 +2809,7 @@ body::-webkit-scrollbar-thumb { } .changes-content-line::before { - content: "➔"; + content: "âž”"; color: var(--cyan); font-size: 0.7rem; margin-top: 2px; @@ -2818,7 +2818,7 @@ body::-webkit-scrollbar-thumb { .changes-content-line.no-icon::before { display: none; } -/* Skip to main content — accessibility */ +/* Skip to main content — accessibility */ .skip-link { position: absolute; top: -40px; @@ -2835,6 +2835,7 @@ body::-webkit-scrollbar-thumb { } .skip-link:focus { top: 0; +} .rank-change { position: relative;