diff --git a/src/index.css b/src/index.css index c01939c..d0f5dcf 100644 --- a/src/index.css +++ b/src/index.css @@ -11,26 +11,38 @@ @layer base { :root { /* Neumorphic Blue Theme - Primary Palette */ - --neu-base: 216 33% 94%; /* #E8EFF8 - Main background */ - --neu-surface: 216 30% 92%; /* #DFE9F5 - Card surfaces */ - --neu-raised: 216 33% 96%; /* Lighter for raised elements */ - --neu-inset: 216 30% 88%; /* Darker for inset/pressed */ - + --neu-base: 216 33% 94%; + /* #E8EFF8 - Main background */ + --neu-surface: 216 30% 92%; + /* #DFE9F5 - Card surfaces */ + --neu-raised: 216 33% 96%; + /* Lighter for raised elements */ + --neu-inset: 216 30% 88%; + /* Darker for inset/pressed */ + /* Brand Colors */ - --deep-blue: 220 60% 15%; /* #0F1E3D - Primary text */ - --royal-blue: 222 75% 33%; /* #1E3A8A - Active states */ - --ocean-blue: 217 91% 60%; /* #3B82F6 - Interactive */ - --sky-blue: 199 89% 48%; /* #0EA5E9 - Highlights */ - --ice-blue: 199 95% 74%; /* #7DD3FC - Subtle accents */ - + --deep-blue: 220 60% 15%; + /* #0F1E3D - Primary text */ + --royal-blue: 222 75% 33%; + /* #1E3A8A - Active states */ + --ocean-blue: 217 91% 60%; + /* #3B82F6 - Interactive */ + --sky-blue: 199 89% 48%; + /* #0EA5E9 - Highlights */ + --ice-blue: 199 95% 74%; + /* #7DD3FC - Subtle accents */ + /* Semantic Colors */ - --success: 142 76% 36%; /* Green for positive */ + --success: 142 76% 36%; + /* Green for positive */ --success-foreground: 0 0% 100%; - --warning: 38 92% 50%; /* Amber for warnings */ + --warning: 38 92% 50%; + /* Amber for warnings */ --warning-foreground: 0 0% 100%; - --error: 0 84% 60%; /* Red for errors */ + --error: 0 84% 60%; + /* Red for errors */ --error-foreground: 0 0% 100%; - + /* Base shadcn tokens mapped to neumorphic theme */ --background: 216 33% 94%; --foreground: 220 60% 15%; @@ -116,50 +128,51 @@ } @layer components { + /* Neumorphic utility classes */ .neu-card { @apply bg-card rounded-2xl transition-all duration-200; - box-shadow: + box-shadow: 6px 6px 12px hsl(var(--neu-inset)), -6px -6px 12px hsl(var(--neu-raised)); } - + .neu-card-hover:hover { - box-shadow: + box-shadow: 8px 8px 16px hsl(var(--neu-inset)), -8px -8px 16px hsl(var(--neu-raised)); } - + .neu-inset { @apply bg-secondary rounded-xl; - box-shadow: + box-shadow: inset 3px 3px 6px hsl(var(--neu-inset)), inset -3px -3px 6px hsl(var(--neu-raised)); } - + .neu-button { @apply bg-card rounded-xl transition-all duration-200 cursor-pointer; - box-shadow: + box-shadow: 4px 4px 8px hsl(var(--neu-inset)), -4px -4px 8px hsl(var(--neu-raised)); } - + .neu-button:hover { - box-shadow: + box-shadow: 6px 6px 12px hsl(var(--neu-inset)), -6px -6px 12px hsl(var(--neu-raised)); } - + .neu-button:active { - box-shadow: + box-shadow: inset 2px 2px 4px hsl(var(--neu-inset)), inset -2px -2px 4px hsl(var(--neu-raised)); } - + .neu-button-active { @apply bg-primary text-primary-foreground; - box-shadow: + box-shadow: inset 2px 2px 4px hsl(222 75% 28%), inset -2px -2px 4px hsl(222 75% 38%); } -} +} \ No newline at end of file