@paraxe/design 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,32 @@
1
+ /* ==========================================================================
2
+ @loba/design — presets/local-business.css
3
+ LAYER 3 — PERSONALITY: Warm, approachable, community-rooted
4
+ Rubik display + Nunito Sans body
5
+ ========================================================================== */
6
+
7
+ @import url("https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;600;700;800;900&family=Nunito+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@300;400;500;600;700;800&display=swap");
8
+
9
+ :root {
10
+ --font-family-display: "Rubik", ui-sans-serif, system-ui, sans-serif;
11
+ --font-family-body: "Nunito Sans", ui-sans-serif, system-ui, sans-serif;
12
+ --font-family-mono: "JetBrains Mono", "Fira Code", monospace;
13
+ --font-weight-light: 300;
14
+ --font-weight-regular: 400;
15
+ --font-weight-medium: 500;
16
+ --font-weight-semibold: 600;
17
+ --font-weight-bold: 700;
18
+ --font-weight-extrabold: 800;
19
+ --font-size-base: 1rem;
20
+ --space-4: 1rem;
21
+ --radius-md: 0.75rem;
22
+ --motion-duration-normal: 300ms;
23
+ --motion-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
24
+ --motion-ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
25
+ --shadow-elevation-low: 0 2px 8px rgba(0, 0, 0, 0.15);
26
+ --glass-blur: 16px;
27
+ --button-radius: var(--radius-full);
28
+ --button-padding-x: 1.5rem;
29
+ --button-padding-y: 0.75rem;
30
+ --card-radius: var(--radius-xl);
31
+ --nav-height: 4.5rem;
32
+ }
@@ -0,0 +1,32 @@
1
+ /* ==========================================================================
2
+ @loba/design — presets/minimal.css
3
+ LAYER 3 — PERSONALITY: Clean, airy, minimal
4
+ Outfit display + Karla body
5
+ ========================================================================== */
6
+
7
+ @import url("https://fonts.googleapis.com/css2?family=Outfit:wght@200;300;400;500;600;700;800&family=Karla:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=JetBrains+Mono:wght@300;400;500;600;700;800&display=swap");
8
+
9
+ :root {
10
+ --font-family-display: "Outfit", ui-sans-serif, system-ui, sans-serif;
11
+ --font-family-body: "Karla", ui-sans-serif, system-ui, sans-serif;
12
+ --font-family-mono: "JetBrains Mono", "Fira Code", monospace;
13
+ --font-weight-light: 200;
14
+ --font-weight-regular: 400;
15
+ --font-weight-medium: 500;
16
+ --font-weight-semibold: 600;
17
+ --font-weight-bold: 700;
18
+ --font-weight-extrabold: 800;
19
+ --font-size-base: 1rem;
20
+ --space-4: 1rem;
21
+ --radius-md: 0.375rem;
22
+ --motion-duration-normal: 300ms;
23
+ --motion-ease-out: cubic-bezier(0, 0, 0.2, 1);
24
+ --motion-ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
25
+ --shadow-elevation-low: 0 2px 8px rgba(0, 0, 0, 0.15);
26
+ --glass-blur: 16px;
27
+ --button-radius: var(--radius-md);
28
+ --button-padding-x: 1.25rem;
29
+ --button-padding-y: 0.625rem;
30
+ --card-radius: var(--radius-md);
31
+ --nav-height: 4rem;
32
+ }
@@ -0,0 +1,32 @@
1
+ /* ==========================================================================
2
+ @loba/design — presets/premium.css
3
+ LAYER 3 — PERSONALITY: Premium agency signature
4
+ Syne display + Manrope body
5
+ ========================================================================== */
6
+
7
+ @import url("https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=Manrope:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@300;400;500;600;700;800&display=swap");
8
+
9
+ :root {
10
+ --font-family-display: "Syne", ui-sans-serif, system-ui, sans-serif;
11
+ --font-family-body: "Manrope", ui-sans-serif, system-ui, sans-serif;
12
+ --font-family-mono: "JetBrains Mono", "Fira Code", monospace;
13
+ --font-weight-light: 300;
14
+ --font-weight-regular: 400;
15
+ --font-weight-medium: 500;
16
+ --font-weight-semibold: 600;
17
+ --font-weight-bold: 700;
18
+ --font-weight-extrabold: 800;
19
+ --font-size-base: 1rem;
20
+ --space-4: 1rem;
21
+ --radius-md: 0.375rem;
22
+ --motion-duration-normal: 300ms;
23
+ --motion-ease-out: cubic-bezier(0, 0, 0.2, 1);
24
+ --motion-ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
25
+ --shadow-elevation-low: 0 2px 8px rgba(0, 0, 0, 0.15);
26
+ --glass-blur: 16px;
27
+ --button-radius: var(--radius-full);
28
+ --button-padding-x: 1.5rem;
29
+ --button-padding-y: 0.75rem;
30
+ --card-radius: var(--radius-lg);
31
+ --nav-height: 4.5rem;
32
+ }
@@ -0,0 +1,32 @@
1
+ /* ==========================================================================
2
+ @loba/design — presets/tech.css
3
+ LAYER 3 — PERSONALITY: Modern, precise, technical
4
+ Space Grotesk display + IBM Plex Sans body
5
+ ========================================================================== */
6
+
7
+ @import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=IBM+Plex+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@300;400;500;600;700;800&display=swap");
8
+
9
+ :root {
10
+ --font-family-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
11
+ --font-family-body: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
12
+ --font-family-mono: "JetBrains Mono", "Fira Code", monospace;
13
+ --font-weight-light: 300;
14
+ --font-weight-regular: 400;
15
+ --font-weight-medium: 500;
16
+ --font-weight-semibold: 600;
17
+ --font-weight-bold: 700;
18
+ --font-weight-extrabold: 800;
19
+ --font-size-base: 1rem;
20
+ --space-4: 1rem;
21
+ --radius-md: 0.25rem;
22
+ --motion-duration-normal: 200ms;
23
+ --motion-ease-out: cubic-bezier(0, 0, 0.2, 1);
24
+ --motion-ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
25
+ --shadow-elevation-low: 0 1px 3px rgba(0, 0, 0, 0.12);
26
+ --glass-blur: 12px;
27
+ --button-radius: var(--radius-base);
28
+ --button-padding-x: 1.25rem;
29
+ --button-padding-y: 0.5rem;
30
+ --card-radius: var(--radius-md);
31
+ --nav-height: 4rem;
32
+ }
@@ -0,0 +1,106 @@
1
+ /* ==========================================================================
2
+ @loba/design — tailwind.css (optional bridge)
3
+
4
+ Maps Tailwind v4 `@theme` to the canonical Loba tokens.
5
+ Only import this when Tailwind v4 is used in a consumer project.
6
+
7
+ The canonical `:root` contract is defined in tokens.css / themes /
8
+ presets. This file only re-exposes those values as Tailwind utility
9
+ generators so `p-4`, `text-lg`, `rounded-md`, `shadow-md`, etc.
10
+ resolve against the Loba design tokens.
11
+ ========================================================================== */
12
+
13
+ @theme {
14
+ /* ---- Spacing (maps Tailwind utilities → canonical tokens) ---- */
15
+ --spacing-0: var(--space-0);
16
+ --spacing-px: var(--space-px);
17
+ --spacing-0\.5: calc(var(--space-1) / 2);
18
+ --spacing-1: var(--space-1);
19
+ --spacing-1\.5: calc(var(--space-1) * 1.5);
20
+ --spacing-2: var(--space-2);
21
+ --spacing-2\.5: calc(var(--space-2) * 1.25);
22
+ --spacing-3: var(--space-3);
23
+ --spacing-3\.5: calc(var(--space-3) * 1.16667);
24
+ --spacing-4: var(--space-4);
25
+ --spacing-5: var(--space-5);
26
+ --spacing-6: var(--space-6);
27
+ --spacing-7: var(--space-7);
28
+ --spacing-8: var(--space-8);
29
+ --spacing-9: var(--space-9);
30
+ --spacing-10: var(--space-10);
31
+ --spacing-11: var(--space-11);
32
+ --spacing-12: var(--space-12);
33
+ --spacing-14: var(--space-14);
34
+ --spacing-16: var(--space-16);
35
+ --spacing-20: var(--space-20);
36
+ --spacing-24: var(--space-24);
37
+ --spacing-28: var(--space-28);
38
+ --spacing-32: var(--space-32);
39
+ --spacing-36: var(--space-36);
40
+ --spacing-40: var(--space-40);
41
+ --spacing-44: var(--space-44);
42
+ --spacing-48: var(--space-48);
43
+ --spacing-52: var(--space-52);
44
+ --spacing-56: var(--space-56);
45
+ --spacing-60: var(--space-60);
46
+ --spacing-64: var(--space-64);
47
+ --spacing-72: var(--space-72);
48
+ --spacing-80: var(--space-80);
49
+ --spacing-96: var(--space-96);
50
+
51
+ /* ---- Breakpoints ---- */
52
+ --breakpoint-sm: 640px;
53
+ --breakpoint-md: 768px;
54
+ --breakpoint-lg: 1024px;
55
+ --breakpoint-xl: 1280px;
56
+ --breakpoint-2xl: 1536px;
57
+
58
+ /* ---- Typography ---- */
59
+ --font-sans: var(--font-family-body);
60
+ --font-display: var(--font-family-display);
61
+ --font-mono: var(--font-family-mono);
62
+
63
+ --text-xs: var(--font-size-xs);
64
+ --text-sm: var(--font-size-sm);
65
+ --text-base: var(--font-size-base);
66
+ --text-lg: var(--font-size-lg);
67
+ --text-xl: var(--font-size-xl);
68
+ --text-2xl: var(--font-size-2xl);
69
+ --text-3xl: var(--font-size-3xl);
70
+ --text-4xl: var(--font-size-4xl);
71
+ --text-5xl: var(--font-size-5xl);
72
+ --text-6xl: var(--font-size-6xl);
73
+ --text-7xl: var(--font-size-7xl);
74
+ --text-8xl: var(--font-size-8xl);
75
+ --text-9xl: var(--font-size-9xl);
76
+
77
+ --leading-tight: var(--line-height-tight);
78
+ --leading-snug: var(--line-height-snug);
79
+ --leading-normal: var(--line-height-normal);
80
+ --leading-relaxed: var(--line-height-relaxed);
81
+ --leading-loose: var(--line-height-loose);
82
+
83
+ /* ---- Radius ---- */
84
+ --radius-sm: var(--radius-sm);
85
+ --radius-md: var(--radius-md);
86
+ --radius-lg: var(--radius-lg);
87
+ --radius-xl: var(--radius-xl);
88
+ --radius-2xl: var(--radius-2xl);
89
+ --radius-3xl: var(--radius-3xl);
90
+
91
+ /* ---- Shadows ---- */
92
+ --shadow-sm: var(--shadow-sm);
93
+ --shadow-md: var(--shadow-md);
94
+ --shadow-lg: var(--shadow-lg);
95
+ --shadow-xl: var(--shadow-xl);
96
+ --shadow-2xl: var(--shadow-2xl);
97
+ --shadow-inner: var(--shadow-inner);
98
+
99
+ /* ---- Motion ---- */
100
+ --ease-in: var(--motion-ease-in);
101
+ --ease-out: var(--motion-ease-out);
102
+ --ease-in-out: var(--motion-ease-in-out);
103
+ --ease-spring: var(--motion-ease-spring);
104
+ --animate-smooth: var(--motion-ease-smooth);
105
+ }
106
+
@@ -0,0 +1,45 @@
1
+ /* ==========================================================================
2
+ @loba/design — themes/crimson.css
3
+ Bold — Crimson red (#d72638) on near-black (#120608)
4
+ LAYER 2 — COLOR TOKENS (consumes tokens.css)
5
+ ========================================================================== */
6
+
7
+ @import "./default.css";
8
+
9
+ :root {
10
+ --brand-primary: #d72638;
11
+ --brand-primary-hover: #b81f2f;
12
+ --brand-primary-active: #9a1a27;
13
+ --brand-primary-light: #e86a77;
14
+ --brand-primary-muted: color-mix(in srgb, #d72638 15%, transparent);
15
+ --brand-glow: color-mix(in srgb, #d72638 25%, transparent);
16
+ --text-on-brand: #ffffff;
17
+
18
+ --background-primary: #120608;
19
+ --background-secondary: color-mix(in srgb, #120608 92%, white);
20
+
21
+ --surface-base: color-mix(in srgb, #120608 92%, white);
22
+ --surface-raised: color-mix(in srgb, #120608 84%, white);
23
+ --surface-card: color-mix(in srgb, #120608 88%, white);
24
+ --surface-hover: color-mix(in srgb, #120608 84%, white);
25
+
26
+ --text-primary: color-mix(in srgb, #120608 4%, white);
27
+ --text-secondary: color-mix(in srgb, #120608 40%, white);
28
+ --text-muted: color-mix(in srgb, #120608 60%, white);
29
+ --text-inverse: color-mix(in srgb, white 96%, black);
30
+ }
31
+
32
+ [data-theme="light"] {
33
+ --background-primary: #ffffff;
34
+ --background-secondary: color-mix(in srgb, #ffffff 95%, black);
35
+
36
+ --surface-base: color-mix(in srgb, #ffffff 93%, black);
37
+ --surface-raised: color-mix(in srgb, #ffffff 86%, black);
38
+ --surface-card: color-mix(in srgb, #ffffff 97%, black);
39
+ --surface-hover: color-mix(in srgb, #ffffff 90%, black);
40
+
41
+ --text-primary: color-mix(in srgb, black 92%, white);
42
+ --text-secondary: color-mix(in srgb, black 70%, white);
43
+ --text-muted: color-mix(in srgb, black 55%, white);
44
+ --text-inverse: color-mix(in srgb, white 96%, black);
45
+ }
@@ -0,0 +1,35 @@
1
+ /* ==========================================================================
2
+ @loba/design — themes/dark.css
3
+ Deep space — Blue brand (#2563eb) on dark navy (#050816)
4
+ LAYER 2 — COLOR TOKENS (consumes tokens.css)
5
+ ========================================================================== */
6
+
7
+ @import "./default.css";
8
+
9
+ :root {
10
+ --brand-primary: #2563eb;
11
+ --brand-primary-hover: #1d4ed8;
12
+ --brand-primary-active: #1e40af;
13
+ --brand-primary-light: #60a5fa;
14
+ --brand-primary-muted: color-mix(in srgb, #2563eb 15%, transparent);
15
+ --brand-glow: color-mix(in srgb, #2563eb 25%, transparent);
16
+
17
+ --background-primary: #050816;
18
+ --background-secondary: color-mix(in srgb, #050816 92%, white);
19
+
20
+ --surface-base: color-mix(in srgb, #050816 92%, white);
21
+ --surface-raised: color-mix(in srgb, #050816 84%, white);
22
+ --surface-card: color-mix(in srgb, #050816 88%, white);
23
+ --surface-hover: color-mix(in srgb, #050816 84%, white);
24
+ --surface-elevated-1: color-mix(in srgb, #050816 84%, white);
25
+ --surface-elevated-2: color-mix(in srgb, #050816 76%, white);
26
+ --surface-elevated-3: color-mix(in srgb, #050816 68%, white);
27
+ --surface-glass: color-mix(in srgb, white 6%, transparent);
28
+ --surface-glass-strong: color-mix(in srgb, white 10%, transparent);
29
+
30
+ --text-primary: #f8fafc;
31
+ --text-secondary: #94a3b8;
32
+ --text-muted: #64748b;
33
+ --text-inverse: #050816;
34
+ }
35
+