|
|
@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-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; |
|
|
} |
|
|
|
|
|
|
|
|
.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; |
|
|
} |
|
|
|
|
|
|
|
|
.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 { |
|
|
@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 { |
|
|
@apply bg-yellow-200 dark:bg-yellow-800 px-1 rounded; |
|
|
} |
|
|
|
|
|
|
|
|
.hide-scrollbar::-webkit-scrollbar { |
|
|
display: none; |
|
|
} |
|
|
|
|
|
|
|
|
.hide-scrollbar { |
|
|
-ms-overflow-style: none; |
|
|
scrollbar-width: none; |
|
|
} |