ncolex's picture
Deploy BrowserPilot with NumPy fix (2.2.6)
c1f04cf verified
@tailwind base;
@tailwind components;
@tailwind utilities;
/* Custom color definitions for softer palette */
:root {
--sage-50: #f6f7f6;
--sage-100: #e8eae8;
--sage-200: #d1d5d1;
--sage-300: #adb5ad;
--sage-400: #8a948a;
--sage-500: #6b756b;
--sage-600: #565e56;
--sage-700: #484e48;
--sage-800: #3d423d;
--sage-900: #343834;
--lavender-50: #f7f6f9;
--lavender-100: #ede9f2;
--lavender-200: #ddd6e7;
--lavender-300: #c4b8d4;
--lavender-400: #a892bd;
--lavender-500: #9070a6;
--lavender-600: #7a5a8a;
--lavender-700: #654a71;
--lavender-800: #553f5e;
--lavender-900: #49374f;
--peach-50: #fef7f3;
--peach-100: #fdede5;
--peach-200: #fad8ca;
--peach-300: #f6baa4;
--peach-400: #f0926d;
--peach-500: #e97142;
--peach-600: #da5a28;
--peach-700: #b6481e;
--peach-800: #923d1d;
--peach-900: #76361c;
--honey-50: #fefbf3;
--honey-100: #fdf4e1;
--honey-200: #fae7c2;
--honey-300: #f6d498;
--honey-400: #f1bc6c;
--honey-500: #eca54a;
--honey-600: #dd8f39;
--honey-700: #b87532;
--honey-800: #945d30;
--honey-900: #784d2a;
--blush-50: #fdf4f3;
--blush-100: #fce7e6;
--blush-200: #f9d4d2;
--blush-300: #f4b5b1;
--blush-400: #ec8b85;
--blush-500: #e0675e;
--blush-600: #cd4f45;
--blush-700: #ab3f37;
--blush-800: #8d3832;
--blush-900: #753530;
--sky-50: #f0f9ff;
--sky-100: #e0f2fe;
--sky-200: #bae6fd;
--sky-300: #7dd3fc;
--sky-400: #38bdf8;
--sky-500: #0ea5e9;
--sky-600: #0284c7;
--sky-700: #0369a1;
--sky-800: #075985;
--sky-900: #0c4a6e;
}
/* Apply custom colors */
.bg-sage-50 { background-color: var(--sage-50); }
.bg-sage-100 { background-color: var(--sage-100); }
.text-sage-600 { color: var(--sage-600); }
.text-sage-700 { color: var(--sage-700); }
.text-sage-300 { color: var(--sage-300); }
.text-sage-400 { color: var(--sage-400); }
.border-sage-200 { border-color: var(--sage-200); }
.bg-lavender-50 { background-color: var(--lavender-50); }
.bg-lavender-100 { background-color: var(--lavender-100); }
.text-lavender-600 { color: var(--lavender-600); }
.text-lavender-700 { color: var(--lavender-700); }
.text-lavender-300 { color: var(--lavender-300); }
.text-lavender-400 { color: var(--lavender-400); }
.border-lavender-200 { border-color: var(--lavender-200); }
.bg-peach-50 { background-color: var(--peach-50); }
.bg-peach-100 { background-color: var(--peach-100); }
.text-peach-600 { color: var(--peach-600); }
.text-peach-700 { color: var(--peach-700); }
.text-peach-300 { color: var(--peach-300); }
.text-peach-400 { color: var(--peach-400); }
.border-peach-200 { border-color: var(--peach-200); }
.bg-honey-50 { background-color: var(--honey-50); }
.bg-honey-100 { background-color: var(--honey-100); }
.text-honey-600 { color: var(--honey-600); }
.text-honey-700 { color: var(--honey-700); }
.text-honey-300 { color: var(--honey-300); }
.text-honey-400 { color: var(--honey-400); }
.border-honey-200 { border-color: var(--honey-200); }
.bg-blush-50 { background-color: var(--blush-50); }
.bg-blush-100 { background-color: var(--blush-100); }
.text-blush-600 { color: var(--blush-600); }
.text-blush-700 { color: var(--blush-700); }
.text-blush-300 { color: var(--blush-300); }
.text-blush-400 { color: var(--blush-400); }
.border-blush-200 { border-color: var(--blush-200); }
.bg-sky-50 { background-color: var(--sky-50); }
.bg-sky-100 { background-color: var(--sky-100); }
.text-sky-600 { color: var(--sky-600); }
.text-sky-700 { color: var(--sky-700); }
.text-sky-300 { color: var(--sky-300); }
.text-sky-400 { color: var(--sky-400); }
.border-sky-200 { border-color: var(--sky-200); }
@layer base {
html {
scroll-behavior: smooth;
transition: background-color 0.3s ease, color 0.3s ease;
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
margin: 0;
padding: 0;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
background: linear-gradient(135deg, #fafaf9 0%, #f5f5f4 50%, #fef7ed 100%);
transition: background 0.3s ease;
}
.dark body {
background: linear-gradient(135deg, #1c1917 0%, #292524 50%, #44403c 100%);
}
}
@layer components {
.animate-in {
animation: animate-in 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.fade-in {
animation: fade-in 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.slide-in-from-top-1 {
animation: slide-in-from-top-1 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.slide-in-from-top-2 {
animation: slide-in-from-top-2 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.slide-in-from-bottom-2 {
animation: slide-in-from-bottom-2 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.slide-in-from-bottom-4 {
animation: slide-in-from-bottom-4 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.slide-in-from-left-4 {
animation: slide-in-from-left-4 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.slide-in-from-right-4 {
animation: slide-in-from-right-4 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.zoom-in-95 {
animation: zoom-in-95 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.btn-primary {
@apply bg-gradient-to-r from-amber-500 to-orange-500 text-white px-8 py-4 rounded-xl font-medium hover:from-amber-600 hover:to-orange-600 focus:outline-none focus:ring-2 focus:ring-amber-500/20 focus:ring-offset-2 transition-all duration-300 shadow-md hover:shadow-lg;
}
.card {
@apply bg-white/70 backdrop-blur-sm rounded-2xl shadow-sm border border-stone-200/60 p-6;
}
.input-field {
@apply w-full px-4 py-3 border border-stone-300/60 rounded-xl focus:ring-2 focus:ring-amber-500/20 focus:border-amber-500 transition-all duration-200 bg-white/50 backdrop-blur-sm;
}
.status-badge {
@apply inline-flex items-center px-3 py-1 rounded-full text-xs font-medium backdrop-blur-sm;
}
}
@keyframes animate-in {
0% {
opacity: 0;
transform: translateY(-8px) scale(0.96);
}
100% {
opacity: 1;
transform: translateY(0) scale(1);
}
}
@keyframes fade-in {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes slide-in-from-top-1 {
0% {
opacity: 0;
transform: translateY(-4px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
@keyframes slide-in-from-top-2 {
0% {
opacity: 0;
transform: translateY(-8px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
@keyframes slide-in-from-bottom-2 {
0% {
opacity: 0;
transform: translateY(8px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
@keyframes slide-in-from-bottom-4 {
0% {
opacity: 0;
transform: translateY(16px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
@keyframes slide-in-from-left-4 {
0% {
opacity: 0;
transform: translateX(-16px);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
@keyframes slide-in-from-right-4 {
0% {
opacity: 0;
transform: translateX(16px);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
@keyframes zoom-in-95 {
0% {
opacity: 0;
transform: scale(0.95);
}
100% {
opacity: 1;
transform: scale(1);
}
}
/* Scrollbar styling for webkit browsers */
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: #f8fafc;
border-radius: 4px;
}
::-webkit-scrollbar-thumb {
background: linear-gradient(135deg, #d6d3d1, #a8a29e);
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: linear-gradient(135deg, #a8a29e, #78716c);
}
/* Custom focus styles */
.focus\:ring-amber-500\/20:focus {
--tw-ring-color: rgb(245 158 11 / 0.2);
}
/* Gradient backgrounds */
.gradient-warm {
background: linear-gradient(135deg, #fef7ed 0%, #fed7aa 50%, #fdba74 100%);
}
.glass-effect {
@apply bg-white/70 backdrop-blur-md border border-stone-200/60;
}
/* Hover effects */
.hover-lift {
transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.hover-lift:hover {
transform: translateY(-2px) scale(1.02);
box-shadow: 0 8px 25px -5px rgba(0, 0, 0, 0.1), 0 4px 10px -3px rgba(0, 0, 0, 0.05);
}
/* Loading animations */
@keyframes pulse-soft {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.7;
}
}
.animate-pulse-soft {
animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
/* Interactive elements */
.interactive-scale {
transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.interactive-scale:hover {
transform: scale(1.05);
}
.interactive-scale:active {
transform: scale(0.98);
}
/* Floating elements */
@keyframes float {
0%, 100% {
transform: translateY(0px);
}
50% {
transform: translateY(-4px);
}
}
.animate-float {
animation: float 3s ease-in-out infinite;
}
/* Staggered animations */
.stagger-1 { animation-delay: 0.1s; }
.stagger-2 { animation-delay: 0.2s; }
.stagger-3 { animation-delay: 0.3s; }
.stagger-4 { animation-delay: 0.4s; }
.stagger-5 { animation-delay: 0.5s; }
.stagger-6 { animation-delay: 0.6s; }