Files
git-velocity/web/src/style.css
T

149 lines
3.4 KiB
CSS

@import "tailwindcss";
@theme {
--font-family-sans: 'Inter', sans-serif;
--font-family-mono: 'JetBrains Mono', monospace;
--color-primary-50: #fdf2f8;
--color-primary-100: #fce7f3;
--color-primary-200: #fbcfe8;
--color-primary-300: #f9a8d4;
--color-primary-400: #f472b6;
--color-primary-500: #ec4899;
--color-primary-600: #db2777;
--color-primary-700: #be185d;
--color-primary-800: #9d174d;
--color-primary-900: #831843;
--color-accent-50: #faf5ff;
--color-accent-100: #f3e8ff;
--color-accent-200: #e9d5ff;
--color-accent-300: #d8b4fe;
--color-accent-400: #c084fc;
--color-accent-500: #a855f7;
--color-accent-600: #9333ea;
--color-accent-700: #7e22ce;
--color-accent-800: #6b21a8;
--color-accent-900: #581c87;
--animate-fade-in-up: fadeInUp 0.6s ease-out;
--animate-float: float 3s ease-in-out infinite;
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
}
@utility glass {
background-color: rgb(255 255 255 / 0.7);
backdrop-filter: blur(12px);
border: 1px solid rgb(255 255 255 / 0.2);
}
.dark .glass {
background-color: rgb(17 24 39 / 0.7);
border-color: rgb(255 255 255 / 0.1);
}
@utility gradient-text {
background-image: linear-gradient(to right, var(--color-primary-400), var(--color-accent-400));
background-clip: text;
-webkit-background-clip: text;
color: transparent;
}
@utility shadow-modern {
box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.15);
}
.dark .shadow-modern {
box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.4);
}
@utility score-card {
background-image: linear-gradient(to right, rgb(244 114 182 / 0.1), rgb(192 132 252 / 0.1));
border: 1px solid rgb(244 114 182 / 0.2);
}
.dark .score-card {
background-image: linear-gradient(to right, rgb(244 114 182 / 0.05), rgb(192 132 252 / 0.05));
border-color: rgb(244 114 182 / 0.1);
}
@utility rank-1 {
background-image: linear-gradient(to right, #facc15, #f59e0b);
}
@utility rank-2 {
background-image: linear-gradient(to right, #94a3b8, #64748b);
}
@utility rank-3 {
background-image: linear-gradient(to right, #d97706, #b45309);
}
@utility achievement-badge {
display: inline-flex;
align-items: center;
justify-content: center;
width: 2.5rem;
height: 2.5rem;
border-radius: 9999px;
background-image: linear-gradient(to right, var(--color-primary-400), var(--color-accent-400));
color: white;
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
}
@utility btn-primary {
display: inline-flex;
align-items: center;
padding: 0.75rem 1.5rem;
background-image: linear-gradient(to right, var(--color-primary-500), var(--color-accent-500));
color: white;
font-weight: 500;
border-radius: 0.5rem;
transition: all 0.2s;
box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.15);
}
.btn-primary:hover {
background-image: linear-gradient(to right, var(--color-primary-600), var(--color-accent-600));
}
@utility card {
border-radius: 0.75rem;
padding: 1.5rem;
}
@utility nav-link {
color: #374151;
transition: color 0.2s;
}
.nav-link:hover {
color: var(--color-primary-500);
}
.dark .nav-link {
color: #e5e7eb;
}
.dark .nav-link:hover {
color: var(--color-primary-400);
}
@utility nav-link-active {
color: var(--color-primary-500);
font-weight: 500;
}
@utility animate-fade-in-up {
animation: fadeInUp 0.6s ease-out;
}