Spaces:
Running
Running
| @tailwind base; | |
| @tailwind components; | |
| @tailwind utilities; | |
| @layer base { | |
| :root { | |
| --background: 0 0% 100%; | |
| --foreground: 222.2 84% 4.9%; | |
| --card: 0 0% 100%; | |
| --card-foreground: 222.2 84% 4.9%; | |
| --popover: 0 0% 100%; | |
| --popover-foreground: 222.2 84% 4.9%; | |
| --primary: 222.2 47.4% 11.2%; | |
| --primary-foreground: 210 40% 98%; | |
| --secondary: 210 40% 96%; | |
| --secondary-foreground: 222.2 84% 4.9%; | |
| --muted: 210 40% 96%; | |
| --muted-foreground: 215.4 16.3% 46.9%; | |
| --accent: 210 40% 96%; | |
| --accent-foreground: 222.2 84% 4.9%; | |
| --destructive: 0 84.2% 60.2%; | |
| --destructive-foreground: 210 40% 98%; | |
| --border: 214.3 31.8% 91.4%; | |
| --input: 214.3 31.8% 91.4%; | |
| --ring: 222.2 84% 4.9%; | |
| --radius: 0.5rem; | |
| } | |
| .dark { | |
| --background: 222.2 84% 4.9%; | |
| --foreground: 210 40% 98%; | |
| --card: 222.2 84% 4.9%; | |
| --card-foreground: 210 40% 98%; | |
| --popover: 222.2 84% 4.9%; | |
| --popover-foreground: 210 40% 98%; | |
| --primary: 210 40% 98%; | |
| --primary-foreground: 222.2 47.4% 11.2%; | |
| --secondary: 217.2 32.6% 17.5%; | |
| --secondary-foreground: 210 40% 98%; | |
| --muted: 217.2 32.6% 17.5%; | |
| --muted-foreground: 215 20.2% 65.1%; | |
| --accent: 217.2 32.6% 17.5%; | |
| --accent-foreground: 210 40% 98%; | |
| --destructive: 0 62.8% 30.6%; | |
| --destructive-foreground: 210 40% 98%; | |
| --border: 217.2 32.6% 17.5%; | |
| --input: 217.2 32.6% 17.5%; | |
| --ring: 212.7 26.8% 83.9%; | |
| } | |
| } | |
| @layer base { | |
| * { | |
| @apply border-border; | |
| } | |
| body { | |
| @apply bg-background text-foreground; | |
| } | |
| } | |
| /* YouTube-specific styles */ | |
| .youtube-container { | |
| @apply w-full h-screen bg-youtube-light dark:bg-youtube-dark; | |
| } | |
| .youtube-sidebar { | |
| @apply w-64 bg-youtube-light dark:bg-youtube-dark border-r border-gray-200 dark:border-gray-800; | |
| } | |
| .youtube-content { | |
| @apply flex-1 overflow-hidden; | |
| } | |
| .video-grid { | |
| @apply grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 2xl:grid-cols-6 gap-4 p-6; | |
| } | |
| .video-card { | |
| @apply cursor-pointer group; | |
| } | |
| .video-thumbnail { | |
| @apply w-full aspect-video object-cover rounded-lg group-hover:rounded-none transition-all duration-200; | |
| } | |
| .video-info { | |
| @apply flex space-x-3 mt-3; | |
| } | |
| .channel-avatar { | |
| @apply w-9 h-9 rounded-full flex-shrink-0; | |
| } | |
| .video-title { | |
| @apply text-sm font-medium text-youtube-text-primary dark:text-white line-clamp-2 leading-5; | |
| } | |
| .video-meta { | |
| @apply text-sm text-youtube-text-secondary dark:text-gray-400 hover:text-youtube-text-primary dark:hover:text-white cursor-pointer; | |
| } | |
| /* Scrollbar styles */ | |
| .custom-scrollbar::-webkit-scrollbar { | |
| width: 8px; | |
| } | |
| .custom-scrollbar::-webkit-scrollbar-track { | |
| @apply bg-gray-100 dark:bg-gray-800; | |
| } | |
| .custom-scrollbar::-webkit-scrollbar-thumb { | |
| @apply bg-gray-300 dark:bg-gray-600 rounded; | |
| } | |
| .custom-scrollbar::-webkit-scrollbar-thumb:hover { | |
| @apply bg-gray-400 dark:bg-gray-500; | |
| } | |
| /* Animation classes */ | |
| .slide-up { | |
| animation: slideUp 0.3s ease-out; | |
| } | |
| @keyframes slideUp { | |
| from { | |
| transform: translateY(100%); | |
| opacity: 0; | |
| } | |
| to { | |
| transform: translateY(0); | |
| opacity: 1; | |
| } | |
| } | |
| .fade-in { | |
| animation: fadeIn 0.5s ease-out; | |
| } | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| /* Skeleton loading */ | |
| .skeleton { | |
| @apply animate-pulse bg-gray-300 dark:bg-gray-700 rounded; | |
| } | |
| .skeleton-text { | |
| @apply skeleton h-4 w-3/4 mb-2; | |
| } | |
| .skeleton-avatar { | |
| @apply skeleton w-10 h-10 rounded-full; | |
| } | |
| .skeleton-thumbnail { | |
| @apply skeleton w-full aspect-video rounded-lg; | |
| } | |
| /* Search highlight */ | |
| .search-highlight { | |
| @apply bg-yellow-200 dark:bg-yellow-800 px-1 rounded; | |
| } | |
| /* Hide scrollbar for Chrome, Safari and Opera */ | |
| .hide-scrollbar::-webkit-scrollbar { | |
| display: none; | |
| } | |
| /* Hide scrollbar for IE, Edge and Firefox */ | |
| .hide-scrollbar { | |
| -ms-overflow-style: none; /* IE and Edge */ | |
| scrollbar-width: none; /* Firefox */ | |
| } |