Spaces:
Running
Running
| @tailwind base; | |
| @tailwind components; | |
| @tailwind utilities; | |
| body { | |
| margin: 0; | |
| font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| background-color: #F2F2F7; /* iOS Grouped Background */ | |
| color: #000000; | |
| } | |
| code { | |
| font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', | |
| monospace; | |
| } | |
| /* iOS Style Scrollbar (Minimalist) */ | |
| ::-webkit-scrollbar { | |
| width: 6px; | |
| height: 6px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: transparent; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: rgba(0, 0, 0, 0.2); | |
| border-radius: 10px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: rgba(0, 0, 0, 0.3); | |
| } | |
| /* Glassmorphism Utilities */ | |
| .glass { | |
| background: rgba(255, 255, 255, 0.75); | |
| backdrop-filter: blur(20px); | |
| -webkit-backdrop-filter: blur(20px); | |
| } | |
| .glass-dark { | |
| background: rgba(0, 0, 0, 0.75); | |
| backdrop-filter: blur(20px); | |
| -webkit-backdrop-filter: blur(20px); | |
| } | |
| /* iOS Button Enhancements */ | |
| @layer components { | |
| .btn-ios { | |
| @apply relative overflow-hidden transition-all duration-200 ease-ios; | |
| @apply active:scale-[0.97] active:opacity-90; | |
| } | |
| .btn-ios-primary { | |
| @apply btn-ios bg-blue-600 text-white rounded-xl px-5 py-2.5 font-medium; | |
| @apply hover:bg-blue-700 hover:shadow-ios-btn; | |
| } | |
| .btn-ios-secondary { | |
| @apply btn-ios bg-gray-100 text-gray-700 rounded-xl px-5 py-2.5 font-medium; | |
| @apply hover:bg-gray-200; | |
| } | |
| /* Card with entrance animation */ | |
| .card-ios { | |
| @apply bg-white rounded-2xl shadow-ios p-6; | |
| @apply transition-all duration-300 ease-ios; | |
| @apply hover:shadow-ios-card hover:-translate-y-0.5; | |
| } | |
| /* Input field iOS style */ | |
| .input-ios { | |
| @apply w-full px-4 py-2.5 bg-gray-50 border border-gray-200 rounded-xl; | |
| @apply focus:bg-white focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500; | |
| @apply transition-all duration-200 ease-ios text-sm; | |
| } | |
| /* Toggle switch iOS style */ | |
| .toggle-ios { | |
| @apply relative w-12 h-7 rounded-full transition-colors duration-200 ease-ios; | |
| } | |
| .toggle-ios-thumb { | |
| @apply absolute top-0.5 left-0.5 w-6 h-6 bg-white rounded-full shadow; | |
| @apply transition-transform duration-200 ease-ios-spring; | |
| } | |
| /* Shimmer loading effect */ | |
| .shimmer { | |
| background: linear-gradient( | |
| 90deg, | |
| rgba(255, 255, 255, 0) 0%, | |
| rgba(255, 255, 255, 0.4) 50%, | |
| rgba(255, 255, 255, 0) 100% | |
| ); | |
| background-size: 200% 100%; | |
| animation: shimmer 2s linear infinite; | |
| } | |
| /* Skeleton loading */ | |
| .skeleton { | |
| @apply bg-gray-200 rounded animate-pulse; | |
| } | |
| /* Icon container with hover effect */ | |
| .icon-container { | |
| @apply flex items-center justify-center rounded-xl; | |
| @apply transition-all duration-200 ease-ios; | |
| } | |
| .icon-container:hover { | |
| @apply scale-110; | |
| } | |
| /* Tab item iOS style */ | |
| .tab-ios { | |
| @apply px-4 py-2 rounded-lg font-medium text-sm; | |
| @apply transition-all duration-200 ease-ios; | |
| } | |
| .tab-ios-active { | |
| @apply bg-white text-blue-600 shadow-sm; | |
| } | |
| .tab-ios-inactive { | |
| @apply text-gray-500 hover:text-gray-700 hover:bg-gray-100/50; | |
| } | |
| /* Badge styles */ | |
| .badge-ios { | |
| @apply px-2 py-0.5 rounded-full text-xs font-medium; | |
| @apply transition-all duration-200 ease-ios; | |
| } | |
| /* Progress bar */ | |
| .progress-ios { | |
| @apply h-2 bg-gray-200 rounded-full overflow-hidden; | |
| } | |
| .progress-ios-bar { | |
| @apply h-full bg-gradient-to-r from-blue-500 to-cyan-500 rounded-full; | |
| @apply transition-all duration-500 ease-ios; | |
| } | |
| /* Floating action button */ | |
| .fab-ios { | |
| @apply fixed bottom-6 right-6 w-14 h-14 rounded-full; | |
| @apply bg-blue-600 text-white shadow-ios-btn; | |
| @apply flex items-center justify-center; | |
| @apply transition-all duration-200 ease-ios-spring; | |
| @apply hover:scale-110 hover:shadow-lg active:scale-95; | |
| } | |
| } | |
| /* Animation delay utilities */ | |
| @layer utilities { | |
| .animation-delay-100 { animation-delay: 100ms; } | |
| .animation-delay-200 { animation-delay: 200ms; } | |
| .animation-delay-300 { animation-delay: 300ms; } | |
| .animation-delay-400 { animation-delay: 400ms; } | |
| .animation-delay-500 { animation-delay: 500ms; } | |
| /* Stagger children animation */ | |
| .stagger-children > * { | |
| @apply animate-fade-in-up; | |
| animation-fill-mode: both; | |
| } | |
| .stagger-children > *:nth-child(1) { animation-delay: 0ms; } | |
| .stagger-children > *:nth-child(2) { animation-delay: 50ms; } | |
| .stagger-children > *:nth-child(3) { animation-delay: 100ms; } | |
| .stagger-children > *:nth-child(4) { animation-delay: 150ms; } | |
| .stagger-children > *:nth-child(5) { animation-delay: 200ms; } | |
| .stagger-children > *:nth-child(6) { animation-delay: 250ms; } | |
| /* Hover lift effect */ | |
| .hover-lift { | |
| @apply transition-all duration-200 ease-ios; | |
| } | |
| .hover-lift:hover { | |
| @apply -translate-y-1 shadow-ios-card; | |
| } | |
| /* Smooth text gradient */ | |
| .text-gradient-blue { | |
| @apply bg-clip-text text-transparent bg-gradient-to-r from-blue-600 to-cyan-500; | |
| } | |
| } | |