Levi / frontend /src /index.css
Manish Kumar
inicial commit
a6ee555
Raw
History Blame Contribute Delete
5.38 kB
@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&family=Inter:wght@300;400;500;600;700&display=swap');
@import "tailwindcss";
@theme {
--font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
--font-mono: 'Fira Code', 'Courier New', monospace;
--color-border: hsl(var(--border));
--color-input: hsl(var(--input));
--color-ring: hsl(var(--ring));
--color-background: hsl(var(--background));
--color-foreground: hsl(var(--foreground));
--color-primary: hsl(var(--primary));
--color-primary-foreground: hsl(var(--primary-foreground));
--color-secondary: hsl(var(--secondary));
--color-secondary-foreground: hsl(var(--secondary-foreground));
--color-muted: hsl(var(--muted));
--color-muted-foreground: hsl(var(--muted-foreground));
--color-accent: hsl(var(--accent));
--color-accent-foreground: hsl(var(--accent-foreground));
--color-popover: hsl(var(--popover));
--color-popover-foreground: hsl(var(--popover-foreground));
--color-card: hsl(var(--card));
--color-card-foreground: hsl(var(--card-foreground));
--radius-lg: var(--radius);
--radius-md: calc(var(--radius) - 2px);
--radius-sm: calc(var(--radius) - 4px);
}
:root {
/* High Fidelity Deep Purple Reference Theme */
--background: 250 33% 5%; /* #090810 */
--foreground: 250 20% 98%; /* #eae9fc */
--muted: 250 15% 12%; /* #1a1829 */
--muted-foreground: 250 12% 65%;/* #9c97b5 */
--popover: 250 33% 5%; /* #090810 */
--popover-foreground: 250 20% 98%;
--card: 250 32% 10%; /* #131121 */
--card-foreground: 250 20% 98%;
--border: 247 25% 15%; /* #1d1b2e */
--input: 247 25% 15%;
--primary: 252 65% 55%; /* #6344d5 - Violet Accent */
--primary-foreground: 0 0% 100%;
--secondary: 250 28% 18%; /* #2b1854 - Soft active capsule/bubble background */
--secondary-foreground: 250 20% 98%;
--accent: 252 50% 20%; /* #251b47 */
--accent-foreground: 250 20% 98%;
--destructive: 0 85% 60%;
--destructive-foreground: 0 0% 100%;
--ring: 252 65% 55%;
--radius: 0.75rem;
}
.light {
/* Light fallback matching the scale */
--background: 0 0% 100%;
--foreground: 224 71% 4%;
--muted: 220 14% 96%;
--muted-foreground: 220 9% 46%;
--popover: 0 0% 100%;
--popover-foreground: 224 71% 4%;
--card: 0 0% 99%;
--card-foreground: 224 71% 4%;
--border: 220 13% 91%;
--input: 220 13% 91%;
--primary: 252 65% 45%;
--primary-foreground: 0 0% 100%;
--secondary: 220 14% 96%;
--secondary-foreground: 224 71% 4%;
--accent: 252 40% 94%;
--accent-foreground: 252 65% 45%;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: var(--font-sans);
font-size: 14px;
background-color: hsl(var(--background));
color: hsl(var(--foreground));
overflow: hidden;
transition: background-color 0.2s ease, color 0.2s ease;
line-height: 1.5;
-webkit-font-smoothing: antialiased;
}
/* Custom Scrollbars */
::-webkit-scrollbar {
width: 6px;
height: 6px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: hsl(var(--border));
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: hsl(var(--muted-foreground));
}
/* Shimmer Loader Effect */
@keyframes shimmer {
0% {
background-position: -200% 0;
}
100% {
background-position: 200% 0;
}
}
.animate-shimmer {
background: linear-gradient(
90deg,
hsl(var(--card)) 25%,
color-mix(in srgb, hsl(var(--muted)) 60%, transparent) 50%,
hsl(var(--card)) 75%
);
background-size: 200% 100%;
animation: shimmer 1.5s infinite linear;
}
/* Custom interactive outline ring */
.focus-ring {
outline: none;
transition: box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.focus-ring:focus-visible {
box-shadow: 0 0 0 2px hsl(var(--background)), 0 0 0 4px hsl(var(--primary));
border-color: hsl(var(--primary));
}
/* Glassmorphic Blur panel */
.glass-panel {
background: color-mix(in srgb, hsl(var(--card)) 70%, transparent);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
}
/* Subtle Glowing Borders & Accents */
.glow-primary {
box-shadow: 0 0 15px -3px color-mix(in srgb, hsl(var(--primary)) 40%, transparent);
}
.border-glow-hover:hover {
border-color: color-mix(in srgb, hsl(var(--primary)) 50%, transparent);
box-shadow: 0 0 12px -5px color-mix(in srgb, hsl(var(--primary)) 30%, transparent);
}
/* Premium Selection Colors */
::selection {
background-color: color-mix(in srgb, hsl(var(--primary)) 30%, transparent);
color: hsl(var(--foreground));
}
/* Micro Animations */
@keyframes pulse-glow {
0%, 100% {
opacity: 0.15;
transform: scale(1);
}
50% {
opacity: 0.35;
transform: scale(1.05);
}
}
.animate-pulse-glow {
animation: pulse-glow 4s ease-in-out infinite;
}
/* Custom buttons */
.btn-primary {
background-color: hsl(var(--primary));
color: hsl(var(--primary-foreground));
border-radius: var(--radius);
transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.btn-primary:hover {
transform: translateY(-1px);
box-shadow: 0 4px 12px color-mix(in srgb, hsl(var(--primary)) 40%, transparent);
}
.btn-primary:active {
transform: translateY(0);
}