|
1 | 1 | /* Inter font - must be at top */ |
2 | | -@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap'); |
| 2 | +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap'); |
3 | 3 | @import url('https://fonts.googleapis.com/css2?family=Abril+Fatface&display=swap'); |
4 | 4 |
|
5 | 5 | @import 'tailwindcss'; |
6 | 6 | @plugin '@tailwindcss/forms'; |
7 | 7 | @plugin '@tailwindcss/typography'; |
8 | 8 |
|
9 | | -/* Modern SaaS Palette - Vercel/Linear inspired */ |
| 9 | +/* Modern SaaS Palette - Dark Minimal inspired */ |
10 | 10 | @theme { |
11 | 11 | /* Background colors */ |
12 | | - --color-bg-primary: #030303; /* Deep void black */ |
13 | | - --color-bg-secondary: #0a0a0a; /* Subtle surface */ |
14 | | - --color-bg-tertiary: #161616; /* Card background */ |
| 12 | + --color-bg-primary: #050505; /* Deep void black */ |
| 13 | + --color-bg-secondary: #0a0a0a; /* Surface */ |
| 14 | + --color-bg-tertiary: #121212; /* Surface highlight */ |
15 | 15 | --color-bg-canvas: #000000; |
16 | 16 |
|
17 | 17 | /* Border colors */ |
|
21 | 21 | --color-border-highlight: #444444; |
22 | 22 |
|
23 | 23 | /* Text colors */ |
24 | | - --color-text-primary: #ededed; |
25 | | - --color-text-secondary: #a1a1a1; |
26 | | - --color-text-tertiary: #666666; |
| 24 | + --color-text-primary: #d4d4d8; /* Zinc 300 */ |
| 25 | + --color-text-secondary: #a1a1aa; /* Zinc 400 */ |
| 26 | + --color-text-tertiary: #52525b; /* Zinc 600 */ |
27 | 27 | --color-text-placeholder: #555555; |
28 | 28 | --color-text-disabled: #333333; |
29 | 29 |
|
30 | 30 | /* Accent colors */ |
31 | | - --color-accent-blue: #3291ff; /* Vercel Blue */ |
32 | | - --color-accent-green: #2ea043; /* GitHub Green */ |
33 | | - --color-accent-purple: #8b5cf6; /* Linear Purple */ |
34 | | - --color-accent-yellow: #f5a623; |
35 | | - --color-accent-orange: #f97316; |
36 | | - --color-accent-red: #e00; |
| 31 | + --color-accent-blue: #3b82f6; /* Blue 500 */ |
| 32 | + --color-accent-green: #10b981; /* Emerald 500 */ |
| 33 | + --color-accent-purple: #8b5cf6; /* Violet 500 */ |
| 34 | + --color-accent-yellow: #eab308; /* Yellow 500 */ |
| 35 | + --color-accent-orange: #f97316; /* Orange 500 */ |
| 36 | + --color-accent-red: #ef4444; /* Red 500 */ |
37 | 37 | --color-accent-pink: #ec4899; |
38 | | - --color-saas-green: #0d3a20; |
| 38 | + --color-accent-amber: #f59e0b; /* Amber 500 */ |
| 39 | + --color-accent-cyan: #06b6d4; /* Cyan 500 */ |
| 40 | + --color-saas-green: #10b981; |
| 41 | + |
| 42 | + /* Design system colors */ |
| 43 | + --color-tertiary: #52525b; /* Zinc 600 */ |
39 | 44 |
|
40 | 45 | /* Button colors */ |
41 | | - --color-btn-primary-bg: #ededed; |
| 46 | + --color-btn-primary-bg: #ffffff; |
42 | 47 | --color-btn-primary-text: #000000; |
43 | | - --color-btn-primary-hover: #ffffff; |
44 | | - --color-btn-secondary-bg: #1a1a1a; |
45 | | - --color-btn-secondary-text: #ededed; |
46 | | - --color-btn-secondary-hover: #222222; |
| 48 | + --color-btn-primary-hover: #e4e4e7; |
| 49 | + --color-btn-secondary-bg: #121212; |
| 50 | + --color-btn-secondary-text: #d4d4d8; |
| 51 | + --color-btn-secondary-hover: #1a1a1a; |
47 | 52 |
|
48 | 53 | /* Shadows & Glows */ |
49 | 54 | --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.5); |
50 | 55 | --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5), 0 2px 4px -1px rgba(0, 0, 0, 0.3); |
51 | 56 | --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -2px rgba(0, 0, 0, 0.3); |
52 | | - --shadow-glow: 0 0 40px -10px rgba(255, 255, 255, 0.15); |
| 57 | + --shadow-glow: 0 0 20px rgba(255, 255, 255, 0.1); |
| 58 | + --shadow-glow-hover: 0 0 25px rgba(255, 255, 255, 0.2); |
53 | 59 | --shadow-glow-blue: 0 0 40px -10px rgba(50, 145, 255, 0.3); |
| 60 | + --shadow-glow-emerald: 0 0 8px rgba(16, 185, 129, 0.5); |
54 | 61 |
|
55 | 62 | /* Border radius */ |
56 | 63 | --radius-sm: 4px; |
@@ -314,3 +321,81 @@ body:has(.page-exit), |
314 | 321 | body:has(.page-enter) { |
315 | 322 | overflow: hidden; |
316 | 323 | } |
| 324 | + |
| 325 | +/* Slide Up Animation */ |
| 326 | +@keyframes slideUp { |
| 327 | + 0% { |
| 328 | + transform: translateY(10px); |
| 329 | + opacity: 0; |
| 330 | + } |
| 331 | + 100% { |
| 332 | + transform: translateY(0); |
| 333 | + opacity: 1; |
| 334 | + } |
| 335 | +} |
| 336 | + |
| 337 | +.animate-slide-up { |
| 338 | + animation: slideUp 0.3s ease-out forwards; |
| 339 | +} |
| 340 | + |
| 341 | +/* Pulse Slow Animation */ |
| 342 | +@keyframes pulseSlow { |
| 343 | + 0%, 100% { |
| 344 | + opacity: 1; |
| 345 | + } |
| 346 | + 50% { |
| 347 | + opacity: 0.5; |
| 348 | + } |
| 349 | +} |
| 350 | + |
| 351 | +.animate-pulse-slow { |
| 352 | + animation: pulseSlow 3s cubic-bezier(0.4, 0, 0.6, 1) infinite; |
| 353 | +} |
| 354 | + |
| 355 | +/* Spotlight Card Effect */ |
| 356 | +.spotlight-card { |
| 357 | + position: relative; |
| 358 | + overflow: hidden; |
| 359 | +} |
| 360 | + |
| 361 | +.spotlight-card::before { |
| 362 | + content: ""; |
| 363 | + position: absolute; |
| 364 | + height: 100%; |
| 365 | + width: 100%; |
| 366 | + left: 0; |
| 367 | + top: 0; |
| 368 | + background: radial-gradient(800px circle at var(--spotlight-x, 50%) var(--spotlight-y, 50%), rgba(255, 255, 255, 0.06), transparent 40%); |
| 369 | + opacity: 0; |
| 370 | + transition: opacity 0.3s; |
| 371 | + pointer-events: none; |
| 372 | + z-index: 10; |
| 373 | +} |
| 374 | + |
| 375 | +.spotlight-card:hover::before { |
| 376 | + opacity: 1; |
| 377 | +} |
| 378 | + |
| 379 | +/* Contribution Grid */ |
| 380 | +.contribution-grid { |
| 381 | + display: grid; |
| 382 | + grid-template-rows: repeat(7, 1fr); |
| 383 | + grid-auto-flow: column; |
| 384 | + gap: 3px; |
| 385 | +} |
| 386 | + |
| 387 | +/* Language Badge Glow Effects */ |
| 388 | +.lang-badge-glow { |
| 389 | + box-shadow: 0 0 8px var(--glow-color, rgba(255, 255, 255, 0.3)); |
| 390 | +} |
| 391 | + |
| 392 | +/* Timeline Glow */ |
| 393 | +.timeline-glow { |
| 394 | + background: linear-gradient(to bottom, rgba(16, 185, 129, 0.5), transparent); |
| 395 | +} |
| 396 | + |
| 397 | +/* Selection color */ |
| 398 | +::selection { |
| 399 | + background-color: rgba(16, 185, 129, 0.2); |
| 400 | + color: #10b981; |
| 401 | +} |
0 commit comments