Spaces:
Sleeping
Sleeping
File size: 4,562 Bytes
5008b66 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 |
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+Devanagari:wght@300;400;500;600;700&display=swap');
@tailwind base;
@tailwind components;
@tailwind utilities;
/* Voice Cloning App Design System - AI-themed with bilingual support */
@layer base {
:root {
/* Core backgrounds and surfaces */
--background: 240 10% 3.9%;
--foreground: 210 40% 98%;
--surface: 240 10% 7%;
--surface-elevated: 240 9% 12%;
/* AI-themed brand colors */
--primary: 262 83% 58%;
--primary-foreground: 210 40% 98%;
--primary-glow: 262 100% 70%;
--secondary: 240 10% 15%;
--secondary-foreground: 210 40% 98%;
--accent: 196 75% 50%;
--accent-foreground: 210 40% 98%;
--accent-glow: 196 100% 60%;
/* UI elements */
--card: 240 10% 7%;
--card-foreground: 210 40% 98%;
--border: 240 10% 18%;
--input: 240 10% 12%;
--ring: 262 83% 58%;
/* Interactive states */
--muted: 240 5% 25%;
--muted-foreground: 240 5% 64%;
--destructive: 0 84% 60%;
--destructive-foreground: 210 40% 98%;
/* Audio visualization */
--waveform-primary: 262 83% 58%;
--waveform-secondary: 196 75% 50%;
--audio-glow: 262 100% 70%;
/* Gradients */
--gradient-primary: linear-gradient(135deg, hsl(262 83% 58%), hsl(196 75% 50%));
--gradient-surface: linear-gradient(135deg, hsl(240 10% 7%), hsl(240 9% 12%));
--gradient-glow: radial-gradient(circle at center, hsl(262 100% 70% / 0.3), transparent 70%);
/* Shadows and effects */
--shadow-glow: 0 0 50px hsl(262 83% 58% / 0.3);
--shadow-accent: 0 0 30px hsl(196 75% 50% / 0.2);
--shadow-elevated: 0 10px 40px hsl(240 10% 3.9% / 0.5);
/* Popover elements */
--popover: 240 10% 7%;
--popover-foreground: 210 40% 98%;
--radius: 0.75rem;
}
.light {
/* Light mode for future extensibility */
--background: 0 0% 100%;
--foreground: 240 10% 3.9%;
--surface: 240 5% 96%;
--surface-elevated: 0 0% 100%;
--primary: 262 83% 48%;
--primary-foreground: 210 40% 98%;
--primary-glow: 262 83% 58%;
--card: 0 0% 100%;
--card-foreground: 240 10% 3.9%;
--border: 240 5% 89%;
--input: 240 5% 96%;
--ring: 262 83% 48%;
--muted: 240 5% 96%;
--muted-foreground: 240 5% 45%;
--gradient-primary: linear-gradient(135deg, hsl(262 83% 48%), hsl(196 75% 40%));
--shadow-glow: 0 0 50px hsl(262 83% 48% / 0.2);
}
}
@layer base {
* {
@apply border-border;
}
body {
@apply bg-background text-foreground font-sans antialiased;
font-family: 'Inter', 'Noto Sans Devanagari', system-ui, sans-serif;
}
/* Custom scrollbar */
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
@apply bg-surface;
}
::-webkit-scrollbar-thumb {
@apply bg-muted rounded-full;
}
::-webkit-scrollbar-thumb:hover {
@apply bg-muted-foreground;
}
}
@layer components {
/* Waveform animation */
.waveform-bar {
@apply bg-gradient-to-t from-primary to-accent;
animation: waveform 1.5s ease-in-out infinite;
}
.waveform-bar:nth-child(2) { animation-delay: 0.1s; }
.waveform-bar:nth-child(3) { animation-delay: 0.2s; }
.waveform-bar:nth-child(4) { animation-delay: 0.3s; }
.waveform-bar:nth-child(5) { animation-delay: 0.4s; }
/* Glow effects */
.glow-primary {
box-shadow: var(--shadow-glow);
}
.glow-accent {
box-shadow: var(--shadow-accent);
}
/* Recording pulse */
.recording-pulse {
animation: pulse-glow 2s ease-in-out infinite;
}
/* Gradient text */
.gradient-text {
background: var(--gradient-primary);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Hindi text optimization */
.hindi-text {
font-family: 'Noto Sans Devanagari', 'Inter', system-ui, sans-serif;
line-height: 1.7;
}
}
@layer utilities {
.glass-effect {
@apply bg-surface/50 backdrop-blur-xl border border-border/50;
}
.surface-elevated {
@apply bg-surface-elevated shadow-elevated;
}
}
@keyframes waveform {
0%, 100% { transform: scaleY(0.3); }
50% { transform: scaleY(1); }
}
@keyframes pulse-glow {
0%, 100% {
box-shadow: 0 0 20px hsl(var(--primary) / 0.5);
}
50% {
box-shadow: 0 0 40px hsl(var(--primary) / 0.8), 0 0 60px hsl(var(--primary) / 0.4);
}
}
@keyframes float {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-10px); }
} |