Spaces:
Running
Running
@tailwind base; | |
@tailwind components; | |
@tailwind utilities; | |
:root { | |
/* Modern pastel-inspired color palette */ | |
--background: hsl(240 20% 98%); | |
--foreground: hsl(240 10% 20%); | |
--card: hsl(0 0% 100%); | |
--card-foreground: hsl(240 10% 20%); | |
--popover: hsl(0 0% 100%); | |
--popover-foreground: hsl(240 10% 20%); | |
--primary: hsl(250 60% 65%); /* Modern purple */ | |
--primary-foreground: hsl(0 0% 100%); | |
--secondary: hsl(200 80% 80%); /* Soft blue */ | |
--secondary-foreground: hsl(240 10% 20%); | |
--muted: hsl(240 10% 96%); | |
--muted-foreground: hsl(240 5% 60%); | |
--accent: hsl(250 100% 98%); /* Very light purple */ | |
--accent-foreground: hsl(240 10% 20%); | |
--destructive: hsl(0 70% 70%); | |
--destructive-foreground: hsl(0 0% 100%); | |
--border: hsl(240 10% 92%); | |
--input: hsl(0 0% 100%); | |
--ring: hsl(250 60% 65%); | |
--chart-1: hsl(250 60% 65%); | |
--chart-2: hsl(200 80% 80%); | |
--chart-3: hsl(320 70% 80%); | |
--chart-4: hsl(150 60% 75%); | |
--chart-5: hsl(40 80% 75%); | |
--sidebar: hsl(0 0% 100%); | |
--sidebar-foreground: hsl(240 10% 20%); | |
--sidebar-primary: hsl(250 60% 65%); | |
--sidebar-primary-foreground: hsl(0 0% 100%); | |
--sidebar-accent: hsl(250 100% 98%); | |
--sidebar-accent-foreground: hsl(240 10% 20%); | |
--sidebar-border: hsl(240 10% 92%); | |
--sidebar-ring: hsl(250 60% 65%); | |
--font-sans: "Amazon Ember", Arial, sans-serif; | |
--font-serif: Georgia, serif; | |
--font-mono: "Courier New", monospace; | |
--radius: 0.375rem; /* Amazon uses smaller radius */ | |
--shadow-2xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05); | |
--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05); | |
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); | |
--shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); | |
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); | |
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); | |
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); | |
--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25); | |
--tracking-normal: 0em; | |
--spacing: 0.25rem; | |
--gradient-primary: linear-gradient(135deg, hsl(26 100% 55%) 0%, hsl(35 100% 60%) 100%); | |
--gradient-secondary: linear-gradient(135deg, hsl(199 89% 48%) 0%, hsl(210 100% 60%) 100%); | |
--gradient-hero: linear-gradient(135deg, hsl(200 100% 95%) 0%, hsl(36 100% 96%) 50%, hsl(26 100% 98%) 100%); | |
--amazon-navy: hsl(210 29% 24%); /* Amazon dark blue */ | |
--amazon-light-blue: hsl(195 100% 95%); | |
--amazon-gray: hsl(0 0% 55%); | |
--amazon-light-gray: hsl(0 0% 95%); | |
} | |
/* Mobile bottom navigation safe areas and spacing */ | |
@supports (padding: max(0px)) { | |
.safe-area-pb { | |
padding-bottom: max(0.5rem, env(safe-area-inset-bottom)); | |
} | |
.h-safe-area-inset-bottom { | |
height: env(safe-area-inset-bottom); | |
} | |
} | |
/* Add padding to prevent overlap with fixed header and mobile bottom nav */ | |
body { | |
padding-top: 76px; /* Reduced header padding */ | |
} | |
@media (max-width: 768px) { | |
body { | |
padding-bottom: 80px; /* Height of bottom navigation */ | |
} | |
} | |
.dark { | |
/* Dark mode with glassy theme */ | |
--background: linear-gradient(135deg, hsl(240 30% 10%) 0%, hsl(250 25% 12%) 100%); | |
--foreground: hsl(240 10% 90%); | |
--card: hsla(240 20% 15% / 0.8); | |
--card-foreground: hsl(240 10% 90%); | |
--popover: hsla(240 20% 10% / 0.95); | |
--popover-foreground: hsl(240 10% 90%); | |
--primary: hsl(250 60% 60%); | |
--primary-foreground: hsl(240 20% 10%); | |
--secondary: hsl(260 45% 40%); | |
--secondary-foreground: hsl(240 10% 90%); | |
--muted: hsla(240 10% 20% / 0.8); | |
--muted-foreground: hsl(240 10% 60%); | |
--accent: hsla(250 60% 20% / 0.9); | |
--accent-foreground: hsl(250 60% 80%); | |
--destructive: hsl(0 70% 55%); | |
--destructive-foreground: hsl(0 0% 100%); | |
--border: hsla(240 20% 30% / 0.6); | |
--input: hsla(240 20% 15% / 0.8); | |
--ring: hsl(250 60% 60%); | |
--chart-1: hsl(250 60% 60%); | |
--chart-2: hsl(260 55% 65%); | |
--chart-3: hsl(270 50% 70%); | |
--chart-4: hsl(240 65% 55%); | |
--chart-5: hsl(280 45% 65%); | |
--sidebar: hsla(240 20% 15% / 0.8); | |
--sidebar-foreground: hsl(240 10% 90%); | |
--sidebar-primary: hsl(250 60% 60%); | |
--sidebar-primary-foreground: hsl(240 20% 10%); | |
--sidebar-accent: hsla(250 60% 20% / 0.9); | |
--sidebar-accent-foreground: hsl(250 60% 80%); | |
--sidebar-border: hsla(240 20% 30% / 0.6); | |
--sidebar-ring: hsl(250 60% 60%); | |
--font-sans: 'Inter', system-ui, sans-serif; | |
--font-serif: Georgia, serif; | |
--font-mono: 'JetBrains Mono', monospace; | |
--radius: 1rem; | |
--shadow-2xs: 0px 1px 2px 0px hsla(250 60% 60% / 0.1); | |
--shadow-xs: 0px 1px 3px 0px hsla(250 60% 60% / 0.1), 0px 1px 2px 0px hsla(250 60% 60% / 0.06); | |
--shadow-sm: 0px 1px 3px 0px hsla(250 60% 60% / 0.1), 0px 1px 2px 0px hsla(250 60% 60% / 0.06); | |
--shadow: 0px 4px 6px -1px hsla(250 60% 60% / 0.1), 0px 2px 4px -1px hsla(250 60% 60% / 0.06); | |
--shadow-md: 0px 10px 15px -3px hsla(250 60% 60% / 0.1), 0px 4px 6px -2px hsla(250 60% 60% / 0.05); | |
--shadow-lg: 0px 20px 25px -5px hsla(250 60% 60% / 0.1), 0px 10px 10px -5px hsla(250 60% 60% / 0.04); | |
--shadow-xl: 0px 25px 50px -12px hsla(250 60% 60% / 0.25); | |
--shadow-2xl: 0px 25px 50px -12px hsla(250 60% 60% / 0.25); | |
--gradient-primary: linear-gradient(135deg, hsl(250 60% 60%) 0%, hsl(260 55% 65%) 100%); | |
--gradient-secondary: linear-gradient(135deg, hsl(240 30% 15%) 0%, hsl(250 25% 17%) 100%); | |
--glass-bg: hsla(240 20% 15% / 0.1); | |
--glass-border: hsla(240 20% 30% / 0.2); | |
--glass-backdrop: blur(15px); | |
} | |
/* Dark mode glass overrides for better visibility */ | |
.dark .glass-card { | |
background: rgb(255, 255, 255); | |
backdrop-filter: none; | |
border: 1px solid rgb(0, 0, 0); | |
} | |
.dark .glass-strong { | |
background: rgba(15, 23, 42, 0.98); | |
backdrop-filter: blur(15px); | |
border: 1px solid rgba(148, 163, 184, 0.3); | |
} | |
.dark .glass-hero { | |
background: rgba(30, 41, 59, 0.92); | |
backdrop-filter: blur(20px); | |
border: 1px solid rgba(148, 163, 184, 0.2); | |
} | |
@layer base { | |
* { | |
@apply border-border; | |
} | |
body { | |
@apply font-sans antialiased text-foreground; | |
background: var(--background); | |
min-height: 100vh; | |
} | |
} | |
@layer components { | |
/* Enhanced Glass morphism utility classes */ | |
.glass { | |
background: var(--glass-bg); | |
backdrop-filter: var(--glass-backdrop); | |
border: 1px solid var(--glass-border); | |
box-shadow: var(--shadow); | |
} | |
.glass-card { | |
background: white; | |
border: 1px solid var(--border); | |
border-radius: var(--radius); | |
box-shadow: var(--shadow-sm); | |
transition: all 0.2s ease; | |
} | |
.glass-card:hover { | |
box-shadow: var(--shadow-md); | |
transform: translateY(-1px); | |
} | |
.glass-strong { | |
background: rgba(255, 255, 255, 0.98); | |
backdrop-filter: blur(15px); | |
border: 1px solid rgba(255, 255, 255, 0.3); | |
box-shadow: var(--shadow-xl); | |
} | |
.glass-hero { | |
background: rgba(255, 255, 255, 0.92); | |
backdrop-filter: blur(20px); | |
border: 1px solid rgba(255, 255, 255, 0.4); | |
box-shadow: var(--shadow-2xl); | |
} | |
/* Loading spinner */ | |
.spinner { | |
width: 20px; | |
height: 20px; | |
border: 2px solid transparent; | |
border-top: 2px solid currentColor; | |
border-radius: 50%; | |
animation: spin 1s linear infinite; | |
} | |
@keyframes spin { | |
to { | |
transform: rotate(360deg); | |
} | |
} | |
/* Amazon-style page backgrounds */ | |
.page-gradient { | |
background: var(--background); | |
} | |
.amazon-header { | |
background: var(--amazon-navy); | |
color: white; | |
} | |
.amazon-banner { | |
background: var(--gradient-hero); | |
} | |
.amazon-card { | |
background: white; | |
border: 1px solid var(--border); | |
border-radius: var(--radius); | |
box-shadow: var(--shadow-sm); | |
transition: all 0.2s ease; | |
} | |
.amazon-card:hover { | |
box-shadow: var(--shadow-md); | |
transform: translateY(-1px); | |
} | |
.amazon-button { | |
background: var(--primary); | |
color: var(--primary-foreground); | |
border: 1px solid rgba(0, 0, 0, 0.1); | |
border-radius: var(--radius); | |
font-weight: 400; | |
transition: all 0.15s ease; | |
} | |
.amazon-button:hover { | |
background: hsl(26 100% 50%); | |
box-shadow: var(--shadow); | |
} | |
.amazon-section { | |
background: var(--amazon-light-gray); | |
border-bottom: 1px solid var(--border); | |
} | |
/* Hide scrollbars */ | |
.scrollbar-hide { | |
-ms-overflow-style: none; /* Internet Explorer 10+ */ | |
scrollbar-width: none; /* Firefox */ | |
} | |
.scrollbar-hide::-webkit-scrollbar { | |
display: none; /* Safari and Chrome */ | |
} | |
} |