@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap'); @tailwind base; @tailwind components; @tailwind utilities; @layer base { * { @apply border-secondary-200; } body { @apply bg-white text-secondary-900 font-sans; font-feature-settings: "rlig" 1, "calt" 1; } } @layer components { .btn { @apply inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none; } .btn-primary { @apply btn bg-primary-600 text-white hover:bg-primary-700 active:bg-primary-800; } .btn-secondary { @apply btn bg-secondary-200 text-secondary-900 hover:bg-secondary-300 active:bg-secondary-400; } .btn-ghost { @apply btn hover:bg-secondary-100 hover:text-secondary-900; } .input { @apply flex h-10 w-full rounded-md border border-secondary-300 bg-white px-3 py-2 text-sm file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-secondary-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50; } .card { @apply rounded-lg border border-secondary-200 bg-white shadow-sm; } .timeline { @apply relative bg-secondary-100 rounded-lg overflow-hidden; } .timeline-track { @apply relative h-16 bg-secondary-200 border-b border-secondary-300; } .timeline-clip { @apply absolute top-0 h-full bg-primary-500 rounded border border-primary-600 cursor-pointer hover:bg-primary-600 transition-colors; } } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { @apply bg-secondary-100; } ::-webkit-scrollbar-thumb { @apply bg-secondary-400 rounded-full; } ::-webkit-scrollbar-thumb:hover { @apply bg-secondary-500; } /* Video player styles */ .video-player { @apply relative bg-black rounded-lg overflow-hidden; } .video-controls { @apply absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-4; } /* Loading animations */ .loading-spinner { @apply animate-spin rounded-full border-2 border-secondary-300 border-t-primary-600; } /* Drag and drop styles */ .drop-zone { @apply border-2 border-dashed border-secondary-300 rounded-lg p-8 text-center transition-colors; } .drop-zone.drag-over { @apply border-primary-500 bg-primary-50; }