Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 66 additions & 48 deletions style.css
Original file line number Diff line number Diff line change
@@ -1,40 +1,42 @@
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
--bg-color: #050b18;
--text-color: #e2e8f0;
--accent-1: #00ffb4;
--accent-1-rgb: 0, 255, 180;
--accent-2: #00bfff;
--card-bg: rgba(255, 255, 255, 0.03);
--card-border: rgba(255, 255, 255, 0.08);
--subtitle-color: #64748b;
--label-color: #475569;
--input-bg: rgba(255, 255, 255, 0.05);
--input-border: rgba(255, 255, 255, 0.1);
--header-badge-bg: rgba(0, 255, 180, 0.08);
--header-badge-border: rgba(0, 255, 180, 0.2);
--safe-color: #00ffb4;
--safe-bg: rgba(0, 255, 180, 0.06);
--safe-border: rgba(0, 255, 180, 0.2);
--footer-bg: rgba(255, 255, 255, 0.02);
--bg-color: #030712;
--text-color: #f3f4f6;
--accent-1: #10b981;
--accent-1-rgb: 16, 185, 129;
--accent-2: #06b6d4;
--card-bg: rgba(17, 24, 39, 0.4);
--card-border: rgba(16, 185, 129, 0.15);
--subtitle-color: #9ca3af;
--label-color: #4b5563;
--input-bg: rgba(17, 24, 39, 0.6);
--input-border: rgba(255, 255, 255, 0.08);
--header-badge-bg: rgba(16, 185, 129, 0.08);
--header-badge-border: rgba(16, 185, 129, 0.2);
--safe-color: #10b981;
--safe-bg: rgba(16, 185, 129, 0.06);
--safe-border: rgba(16, 185, 129, 0.2);
--footer-bg: rgba(17, 24, 39, 0.5);
}

.light-mode {
--bg-color: #f8fafc;
--text-color: #000000;
--text-color: #0f172a;
--accent-1: #f97316;
--accent-1-rgb: 249, 115, 22;
--accent-2: #ef4444;
--card-bg: #ffffff;
--card-bg: rgba(255, 255, 255, 0.85);
--card-border: rgba(249, 115, 22, 0.15);
--subtitle-color: #000000;
--label-color: #111111;
--subtitle-color: #475569;
--label-color: #1e293b;
--input-bg: #ffffff;
--input-border: rgba(249, 115, 22, 0.25);
--header-badge-bg: rgba(249, 115, 22, 0.08);
--header-badge-border: rgba(249, 115, 22, 0.25);
--input-border: rgba(249, 115, 22, 0.2);
--header-badge-bg: rgba(249, 115, 22, 0.06);
--header-badge-border: rgba(249, 115, 22, 0.22);
--safe-color: #f97316;
--safe-bg: rgba(249, 115, 22, 0.06);
--safe-border: rgba(249, 115, 22, 0.2);
--safe-bg: rgba(249, 115, 22, 0.04);
--safe-border: rgba(249, 115, 22, 0.15);
--footer-bg: #f1f5f9;
}

Expand All @@ -56,19 +58,19 @@
body {
background: var(--bg-color);
color: var(--text-color);
font-family: 'Segoe UI', system-ui, sans-serif;
font-family: 'Plus Jakarta Sans', 'Segoe UI', system-ui, sans-serif;
min-height: 100vh;
overflow-x: hidden;
transition: background 0.3s, color 0.3s;
transition: background 0.4s cubic-bezier(0.4, 0, 0.2, 1), color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

body::before {
content: '';
position: fixed;
inset: 0;
background-image:
linear-gradient(rgba(0,255,180,0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(0,255,180,0.03) 1px, transparent 1px);
linear-gradient(rgba(16, 185, 129, 0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(16, 185, 129, 0.03) 1px, transparent 1px);
background-size: 40px 40px;
pointer-events: none;
z-index: 0;
Expand All @@ -77,8 +79,8 @@ body::before {

.light-mode body::before {
background-image:
linear-gradient(rgba(249, 115, 22, 0.05) 1px, transparent 1px),
linear-gradient(90deg, rgba(249, 115, 22, 0.05) 1px, transparent 1px);
linear-gradient(rgba(249, 115, 22, 0.04) 1px, transparent 1px),
linear-gradient(90deg, rgba(249, 115, 22, 0.04) 1px, transparent 1px);
}

.hidden { display: none !important; }
Expand Down Expand Up @@ -203,9 +205,9 @@ body::before {
.wrapper {
position: relative;
z-index: 1;
max-width: 1200px;
max-width: 1000px;
margin: 0 auto;
padding: 60px 40px 80px;
padding: 80px 24px;
}

/* ── Theme Toggle ── */
Expand Down Expand Up @@ -240,6 +242,11 @@ body::before {
margin-bottom: 52px;
}

@keyframes float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-6px); }
}

.logo-badge {
display: inline-flex;
align-items: center;
Expand All @@ -254,6 +261,7 @@ body::before {
text-transform: uppercase;
color: var(--accent-1);
margin-bottom: 24px;
animation: float 4s ease-in-out infinite;
}

.logo-badge .dot {
Expand Down Expand Up @@ -299,17 +307,19 @@ h1 span {
border-radius: 24px;
padding: 48px;
margin-bottom: 32px;
box-shadow: 0 4px 32px rgba(0, 0, 0, 0.1);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
max-width: 900px;
margin-left: auto;
margin-right: auto;
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease;
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.scanner-card:hover {
transform: translateY(-2px);
transform: translateY(-4px);
border-color: var(--accent-1);
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
box-shadow: 0 16px 48px rgba(var(--accent-1-rgb), 0.12);
}

.input-row {
Expand Down Expand Up @@ -415,13 +425,14 @@ input[type="text"].input-error {
display: flex;
align-items: center;
gap: 8px;
transition: transform 0.15s, opacity 0.15s;
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
text-decoration: none;
box-shadow: 0 4px 14px rgba(var(--accent-1-rgb), 0.3);
}

.scan-btn:hover { transform: translateY(-1px); opacity: 0.92; }
.scan-btn:active { transform: translateY(0); }
.scan-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }
.scan-btn:hover { transform: translateY(-2px) scale(1.02); opacity: 0.95; box-shadow: 0 8px 22px rgba(var(--accent-1-rgb), 0.45); }
.scan-btn:active { transform: translateY(0) scale(0.98); }
.scan-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; box-shadow: none; }

.dashboard-cta {
display: flex;
Expand Down Expand Up @@ -849,6 +860,13 @@ input[type="text"].input-error {
padding: 20px 16px;
text-align: center;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.stat-card:hover {
transform: translateY(-4px) scale(1.02);
border-color: var(--accent-1);
box-shadow: 0 12px 28px rgba(var(--accent-1-rgb), 0.15);
}

.stat-num {
Expand Down Expand Up @@ -881,13 +899,13 @@ input[type="text"].input-error {
border: 1px solid var(--card-border);
border-radius: 14px;
padding: 20px;
transition: transform 0.2s;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.feature-item:hover {
transform: translateY(-5px);
transform: translateY(-6px) scale(1.02);
border-color: var(--accent-1);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
box-shadow: 0 16px 36px rgba(var(--accent-1-rgb), 0.15);
}

.feature-icon { font-size: 20px; margin-bottom: 10px; }
Expand Down Expand Up @@ -997,15 +1015,15 @@ input[type="text"].input-error {
background: var(--card-bg);
border: 1px solid var(--card-border);
border-radius: 18px;
transition: all 0.2s;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
width: 100%;
}

.member-card:hover {
background: var(--header-badge-bg);
border-color: var(--accent-1);
transform: translateY(-4px);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
transform: translateY(-6px) scale(1.02);
box-shadow: 0 16px 36px rgba(var(--accent-1-rgb), 0.15);
}

.member-avatar {
Expand Down