|
12 | 12 |
|
13 | 13 | /* Base colors - used for backgrounds and surfaces */ |
14 | 14 | --memori-main-background: oklch(100% 0 0deg); /* Main background color (white) */ |
15 | | - --memori-primary-subtle: oklch( |
16 | | - 68.7% 0.213 297deg / 25% |
| 15 | + |
| 16 | + /* Primary subtle is computed as a translucent/lightened version of the primary color */ |
| 17 | + --memori-primary-subtle: color-mix( |
| 18 | + in oklch, |
| 19 | + var(--memori-primary) 40%, |
| 20 | + white 60% |
17 | 21 | ); /* Primary subtle – secondary/tertiary backgrounds, hover */ |
18 | 22 |
|
19 | 23 | --memori-text-color: oklch(20% 0.05 240deg); /* Text color on base backgrounds (dark gray) */ |
|
22 | 26 | --memori-primary: var(--memori-primary-color, oklch(48% 0.19 297deg)); /* Primary actions, links, highlights */ |
23 | 27 | --memori-primary-content: oklch(98% 0.01 240deg); /* Text/icon color on primary background */ |
24 | 28 |
|
| 29 | + /* Primary interactive states */ |
| 30 | + --memori-primary-hover: color-mix(in oklch, var(--memori-primary), black 15%); |
| 31 | + --memori-primary-active: color-mix(in oklch, var(--memori-primary), black 25%); |
| 32 | + --memori-primary-disabled: color-mix(in oklch, var(--memori-primary), transparent 60%); |
| 33 | + |
25 | 34 | /* Secondary colors - secondary brand color */ |
26 | 35 | --memori-secondary: var(--memori-secondary-color, oklch(70% 0.15 200deg)); /* Secondary actions, accents */ |
27 | 36 | --memori-secondary-content: oklch(98% 0.01 200deg); /* Text/icon color on secondary background */ |
|
35 | 44 | --memori-neutral-content: oklch(98% 0.01 240deg); /* Text/icon color on neutral background */ |
36 | 45 | --memori-border-color: rgb(73 103 125 / 16%); /* Component borders and dividers */ |
37 | 46 |
|
| 47 | + /* Focus states */ |
| 48 | + --memori-focus-ring: 0 0 0 3px color-mix(in oklch, var(--memori-primary), transparent 80%); |
| 49 | + --memori-focus-ring-offset: 2px; |
| 50 | + |
38 | 51 | /* Semantic colors - Info */ |
39 | 52 | --memori-info: oklch(70% 0.2 220deg); /* Informational messages, badges */ |
40 | 53 | --memori-info-content: oklch(98% 0.01 220deg); /* Text/icon color on info background */ |
|
57 | 70 | --memori-spacing-md: 16px; |
58 | 71 | --memori-spacing-lg: 24px; |
59 | 72 | --memori-spacing-xl: 32px; |
60 | | - --memori-spacing-2xl: 48px; |
61 | | - --memori-spacing-3xl: 64px; |
| 73 | + --memori-spacing-2xl: 40px; |
| 74 | + --memori-spacing-3xl: 48px; |
| 75 | + --memori-spacing-4xl: 64px; |
| 76 | + --memori-spacing-5xl: 80px; |
62 | 77 |
|
63 | 78 | /* Typography - Font Sizes */ |
64 | 79 | --memori-text-size-small: 0.875rem; /* 14px - Small text, labels */ |
|
97 | 112 | --memori-modal-size-md: 600px; |
98 | 113 | --memori-modal-size-lg: 800px; |
99 | 114 |
|
100 | | - /* Effects */ |
101 | | - --memori-depth: 1; /* Shadow depth/elevation level (for box-shadow calculations) */ |
| 115 | + /* Effects - Shadows */ |
| 116 | + --memori-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 5%); |
| 117 | + --memori-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 10%), 0 1px 2px -1px rgb(0 0 0 / 10%); |
| 118 | + --memori-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 10%), 0 2px 4px -2px rgb(0 0 0 / 10%); |
| 119 | + --memori-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 10%), 0 4px 6px -4px rgb(0 0 0 / 10%); |
| 120 | + --memori-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 10%), 0 8px 10px -6px rgb(0 0 0 / 10%); |
| 121 | + --memori-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 25%); |
| 122 | + |
| 123 | + /* Brand-colored shadow - adapts to primary color overrides */ |
| 124 | + --memori-shadow-primary: 0 8px 16px -4px color-mix(in oklch, var(--memori-primary), transparent 70%); |
102 | 125 | --memori-noise: 0; /* Noise/grain effect intensity (0 = no noise) */ |
103 | 126 |
|
104 | 127 | /* Motion - for hover/focus and micro-interactions (under 300ms) */ |
|
125 | 148 | --memori-neutral: oklch(50% 0.05 240deg); |
126 | 149 | --memori-neutral-content: oklch(98% 0.01 240deg); |
127 | 150 | --memori-border-color: rgb(73 103 125 / 16%); |
| 151 | + |
| 152 | + /* Dark theme shadows */ |
| 153 | + --memori-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 30%); |
| 154 | + --memori-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 40%), 0 1px 2px -1px rgb(0 0 0 / 30%); |
| 155 | + --memori-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 50%), 0 2px 4px -2px rgb(0 0 0 / 40%); |
| 156 | + --memori-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 60%), 0 4px 6px -4px rgb(0 0 0 / 50%); |
| 157 | + --memori-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 70%), 0 8px 10px -6px rgb(0 0 0 / 60%); |
| 158 | + --memori-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 80%); |
128 | 159 | } |
0 commit comments