zark-design 2.0.0 → 3.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.
- package/bin/cli.js +363 -90
- package/package.json +2 -2
- package/templates/{README.md → README.md.hbs} +7 -7
- package/templates/_shared/ASSETS-README.md.hbs +39 -0
- package/templates/_shared/tokens.css.hbs +202 -0
- package/templates/_shared/tokens.js.hbs +34 -0
- package/templates/html/components.css +21 -21
- package/templates/html/showcase.html +94 -94
- package/templates/jsx/App.example.jsx +3 -3
- package/templates/jsx/components/Avatar.jsx +2 -2
- package/templates/jsx/components/Funnel.jsx +2 -2
- package/templates/jsx/components/Sidebar.jsx +1 -1
- package/templates/jsx/components.css +21 -21
- package/templates/jsx/icons.jsx +1 -1
- package/templates/presets/zark/preset.json +26 -0
- package/templates/html/tokens.css +0 -283
- package/templates/jsx/assets/logo-zark-laranja.png +0 -0
- package/templates/jsx/assets/zark-icon.png +0 -0
- package/templates/jsx/tokens.css +0 -283
- package/templates/jsx/tokens.js +0 -62
- /package/templates/{html → presets/zark}/assets/logo-zark-laranja.png +0 -0
- /package/templates/{html → presets/zark}/assets/zark-icon.png +0 -0
|
@@ -4,7 +4,7 @@ import React from 'react';
|
|
|
4
4
|
* Funnel — horizontal segmented funnel (Pipeline de Vendas)
|
|
5
5
|
*
|
|
6
6
|
* @param stages [{ label, count, color, percent }]
|
|
7
|
-
* color — qualquer CSS color (sugestão: var(--
|
|
7
|
+
* color — qualquer CSS color (sugestão: var(--brand-500), var(--success-500), etc)
|
|
8
8
|
* percent — 0-100, largura proporcional do segmento
|
|
9
9
|
*/
|
|
10
10
|
export function Funnel({ stages = [] }) {
|
|
@@ -42,7 +42,7 @@ export function Funnel({ stages = [] }) {
|
|
|
42
42
|
export function ProgressBar({ value = 0, tone = 'success', height = 4 }) {
|
|
43
43
|
const colorMap = {
|
|
44
44
|
success: 'var(--success-500)',
|
|
45
|
-
ember: 'var(--
|
|
45
|
+
ember: 'var(--brand-500)',
|
|
46
46
|
danger: 'var(--danger-500)',
|
|
47
47
|
};
|
|
48
48
|
return (
|
|
@@ -37,7 +37,7 @@ export function SidebarLink({ active = false, icon, shortcut, onClick, href, chi
|
|
|
37
37
|
const cls = `zk-sidebar-link ${active ? 'active' : ''}`.trim();
|
|
38
38
|
const content = (
|
|
39
39
|
<>
|
|
40
|
-
{icon && <span style={{ display: 'inline-flex', color: active ? 'var(--
|
|
40
|
+
{icon && <span style={{ display: 'inline-flex', color: active ? 'var(--brand-600)' : 'var(--ink-400)' }}>{icon}</span>}
|
|
41
41
|
<span style={{ flex: 1 }}>{children}</span>
|
|
42
42
|
{shortcut}
|
|
43
43
|
</>
|
|
@@ -33,18 +33,18 @@
|
|
|
33
33
|
.btn-full { width: 100%; }
|
|
34
34
|
|
|
35
35
|
.btn-primary {
|
|
36
|
-
background: var(--
|
|
36
|
+
background: var(--brand-600); color: #fff;
|
|
37
37
|
box-shadow: inset 0 1px 0 rgba(255,255,255,0.18), 0 1px 2px rgba(168, 53, 8, 0.18);
|
|
38
38
|
}
|
|
39
|
-
.btn-primary:hover { background: var(--
|
|
39
|
+
.btn-primary:hover { background: var(--brand-700); }
|
|
40
40
|
.btn-secondary {
|
|
41
41
|
background: var(--surface); color: var(--ink-700);
|
|
42
42
|
border-color: var(--line-300);
|
|
43
43
|
box-shadow: var(--shadow-xs);
|
|
44
44
|
}
|
|
45
45
|
.btn-secondary:hover { background: var(--paper); }
|
|
46
|
-
.btn-soft { background: var(--
|
|
47
|
-
.btn-soft:hover { background: var(--
|
|
46
|
+
.btn-soft { background: var(--brand-50); color: var(--brand-700); }
|
|
47
|
+
.btn-soft:hover { background: var(--brand-100); }
|
|
48
48
|
.btn-ghost { background: transparent; color: var(--ink-600); }
|
|
49
49
|
.btn-ghost:hover{ background: var(--ink-50); }
|
|
50
50
|
.btn-danger { background: var(--surface); color: var(--danger-700); border-color: var(--line-300); }
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
width: 100%;
|
|
73
73
|
transition: box-shadow var(--t-fast), border-color var(--t-fast);
|
|
74
74
|
}
|
|
75
|
-
.input:focus-within { box-shadow: var(--ring-focus); border-color: var(--
|
|
75
|
+
.input:focus-within { box-shadow: var(--ring-focus); border-color: var(--brand-400); }
|
|
76
76
|
.input.invalid { border-color: var(--danger-500); }
|
|
77
77
|
.input.invalid:focus-within { box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.18); }
|
|
78
78
|
.input-sm { height: 28px; padding: 0 8px; font-size: var(--fs-sm); }
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
.tag-sm { height: 22px; padding: 0 8px; font-size: var(--fs-xs); }
|
|
124
124
|
.tag-md { height: 26px; padding: 0 10px; font-size: var(--fs-sm); }
|
|
125
125
|
.tag-square { border-radius: var(--r-xs); }
|
|
126
|
-
.tag-ember { background: var(--
|
|
126
|
+
.tag-ember { background: var(--brand-50); color: var(--brand-700); }
|
|
127
127
|
.tag-mono { background: var(--tag-bg); color: var(--tag-fg); }
|
|
128
128
|
.tag-success { background: var(--success-50); color: var(--success-700); }
|
|
129
129
|
.tag-warning { background: var(--warning-50); color: var(--warning-700); }
|
|
@@ -150,14 +150,14 @@
|
|
|
150
150
|
|
|
151
151
|
/* Status — 5 estados base */
|
|
152
152
|
.s-todo { background: #fff8e6; color: #9a6500; }
|
|
153
|
-
.s-progress { background: var(--
|
|
153
|
+
.s-progress { background: var(--brand-50); color: var(--brand-700); }
|
|
154
154
|
.s-review { background: var(--info-50); color: var(--info-700); }
|
|
155
155
|
.s-done { background: var(--success-50); color: var(--success-700); }
|
|
156
156
|
.s-canceled { background: var(--ink-50); color: var(--ink-500); }
|
|
157
157
|
/* Modificadores */
|
|
158
158
|
.s-overdue { background: var(--danger-50); color: var(--danger-700); }
|
|
159
159
|
.s-paused { background: var(--warning-50); color: var(--warning-700); }
|
|
160
|
-
.s-followup { background: var(--
|
|
160
|
+
.s-followup { background: var(--brand-50); color: var(--brand-700); }
|
|
161
161
|
|
|
162
162
|
/* Prioridade */
|
|
163
163
|
.p-urgent { background: var(--danger-50); color: var(--danger-700); }
|
|
@@ -179,7 +179,7 @@
|
|
|
179
179
|
.badge {
|
|
180
180
|
display: inline-flex; align-items: center; justify-content: center;
|
|
181
181
|
min-width: 18px; height: 18px; padding: 0 5px;
|
|
182
|
-
background: var(--
|
|
182
|
+
background: var(--brand-500); color: #fff;
|
|
183
183
|
font-size: var(--fs-2xs); font-weight: 600;
|
|
184
184
|
border-radius: var(--r-sm);
|
|
185
185
|
}
|
|
@@ -193,7 +193,7 @@
|
|
|
193
193
|
border: none; cursor: pointer; position: relative;
|
|
194
194
|
transition: background var(--t-base) var(--ease-out);
|
|
195
195
|
}
|
|
196
|
-
.toggle.on { background: var(--
|
|
196
|
+
.toggle.on { background: var(--brand-500); }
|
|
197
197
|
.toggle .knob {
|
|
198
198
|
position: absolute; top: 2px; left: 2px;
|
|
199
199
|
width: 16px; height: 16px; border-radius: var(--r-xs);
|
|
@@ -246,13 +246,13 @@
|
|
|
246
246
|
transition: all var(--t-fast);
|
|
247
247
|
}
|
|
248
248
|
.chip:hover { background: var(--ink-50); color: var(--ink-700); }
|
|
249
|
-
.chip.active { background: var(--
|
|
249
|
+
.chip.active { background: var(--brand-50); color: var(--brand-700); border-color: var(--brand-200); }
|
|
250
250
|
.chip .count { font-family: var(--font-mono); font-size: var(--fs-2xs); color: inherit; opacity: 0.7; }
|
|
251
251
|
|
|
252
252
|
/* ---------- AVATAR ---------- */
|
|
253
253
|
.avatar {
|
|
254
254
|
width: 24px; height: 24px;
|
|
255
|
-
background: var(--
|
|
255
|
+
background: var(--brand-500); color: #fff;
|
|
256
256
|
border-radius: 50%;
|
|
257
257
|
display: inline-flex; align-items: center; justify-content: center;
|
|
258
258
|
font-size: 11px; font-weight: 600;
|
|
@@ -328,7 +328,7 @@
|
|
|
328
328
|
font-size: var(--fs-xs);
|
|
329
329
|
letter-spacing: var(--ls-widest);
|
|
330
330
|
text-transform: uppercase;
|
|
331
|
-
color: var(--
|
|
331
|
+
color: var(--brand-600);
|
|
332
332
|
margin-bottom: 14px;
|
|
333
333
|
}
|
|
334
334
|
.section h2 {
|
|
@@ -394,7 +394,7 @@
|
|
|
394
394
|
color: #fff;
|
|
395
395
|
}
|
|
396
396
|
.stat-icon.green { background: var(--success-500); }
|
|
397
|
-
.stat-icon.orange { background: var(--
|
|
397
|
+
.stat-icon.orange { background: var(--brand-500); }
|
|
398
398
|
.stat-icon.blue { background: var(--info-500); }
|
|
399
399
|
.stat-icon.purple { background: #7c3aed; }
|
|
400
400
|
.stat-icon.red { background: var(--danger-500); }
|
|
@@ -518,7 +518,7 @@
|
|
|
518
518
|
cursor: pointer;
|
|
519
519
|
transition: all var(--t-fast);
|
|
520
520
|
}
|
|
521
|
-
.k-add:hover { color: var(--
|
|
521
|
+
.k-add:hover { color: var(--brand-700); border-color: var(--brand-300); background: var(--brand-50); }
|
|
522
522
|
|
|
523
523
|
/* ---------- LEAD CARD ---------- */
|
|
524
524
|
.lead-card {
|
|
@@ -536,7 +536,7 @@
|
|
|
536
536
|
.lead-card.is-overdue { border-left: 3px solid var(--danger-500); }
|
|
537
537
|
.lead-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
|
|
538
538
|
.lead-card-name { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-md); font-weight: 600; color: var(--ink-700); }
|
|
539
|
-
.lead-card-name .flame { color: var(--
|
|
539
|
+
.lead-card-name .flame { color: var(--brand-500); }
|
|
540
540
|
.lead-card-sub { font-size: var(--fs-xs); color: var(--ink-400); }
|
|
541
541
|
.lead-card-meta { display: flex; align-items: center; justify-content: space-between; font-size: var(--fs-xs); color: var(--ink-400); }
|
|
542
542
|
.lead-card-meta .icons { display: inline-flex; gap: 6px; color: var(--ink-300); }
|
|
@@ -548,7 +548,7 @@
|
|
|
548
548
|
}
|
|
549
549
|
.lead-card-followup {
|
|
550
550
|
display: inline-flex; align-items: center; gap: 4px;
|
|
551
|
-
font-size: var(--fs-xs); color: var(--
|
|
551
|
+
font-size: var(--fs-xs); color: var(--brand-700); font-weight: 500;
|
|
552
552
|
}
|
|
553
553
|
|
|
554
554
|
/* ---------- EMPTY STATE ---------- */
|
|
@@ -620,8 +620,8 @@
|
|
|
620
620
|
}
|
|
621
621
|
.zk-sidebar-link:hover { background: var(--ink-50); color: var(--ink-700); }
|
|
622
622
|
.zk-sidebar-link.active {
|
|
623
|
-
color: var(--
|
|
624
|
-
background: var(--
|
|
623
|
+
color: var(--brand-700);
|
|
624
|
+
background: var(--brand-50);
|
|
625
625
|
font-weight: 500;
|
|
626
626
|
}
|
|
627
627
|
|
|
@@ -686,7 +686,7 @@
|
|
|
686
686
|
text-align: center;
|
|
687
687
|
font-size: var(--fs-md); color: var(--ink-600);
|
|
688
688
|
}
|
|
689
|
-
.announce a { color: var(--
|
|
689
|
+
.announce a { color: var(--brand-700); text-decoration: underline; }
|
|
690
690
|
.tip {
|
|
691
691
|
display: flex; gap: 12px; padding: 14px;
|
|
692
692
|
background: var(--surface);
|
|
@@ -695,7 +695,7 @@
|
|
|
695
695
|
max-width: 320px;
|
|
696
696
|
box-shadow: var(--shadow-md);
|
|
697
697
|
}
|
|
698
|
-
.tip .ico { color: var(--
|
|
698
|
+
.tip .ico { color: var(--brand-500); margin-top: 2px; }
|
|
699
699
|
.tip .what {
|
|
700
700
|
font-size: var(--fs-xs); font-family: var(--font-mono);
|
|
701
701
|
letter-spacing: var(--ls-wider);
|
package/templates/jsx/icons.jsx
CHANGED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ZARK",
|
|
3
|
+
"slug": "zark",
|
|
4
|
+
"preset": "zark",
|
|
5
|
+
"brand": {
|
|
6
|
+
"50": "#fff3e9",
|
|
7
|
+
"100": "#ffe1c8",
|
|
8
|
+
"200": "#ffc28e",
|
|
9
|
+
"300": "#ffa056",
|
|
10
|
+
"400": "#ff8a3a",
|
|
11
|
+
"500": "#f56f10",
|
|
12
|
+
"600": "#d45e0d",
|
|
13
|
+
"700": "#ad4a09",
|
|
14
|
+
"800": "#843706",
|
|
15
|
+
"900": "#5e2704",
|
|
16
|
+
"ring": "rgba(255, 93, 31, 0.20)",
|
|
17
|
+
"ringSoft": "rgba(255, 93, 31, 0.12)",
|
|
18
|
+
"ringDark": "rgba(255, 138, 58, 0.30)",
|
|
19
|
+
"ringSoftDark": "rgba(255, 138, 58, 0.16)"
|
|
20
|
+
},
|
|
21
|
+
"fonts": {
|
|
22
|
+
"ui": "Inter",
|
|
23
|
+
"mono": "JetBrains Mono",
|
|
24
|
+
"display": "Space Grotesk"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -1,283 +0,0 @@
|
|
|
1
|
-
/* ============================================================
|
|
2
|
-
ZARK DESIGN SYSTEM — TOKENS
|
|
3
|
-
v3 · Sistemas/Apps · 2026
|
|
4
|
-
Importe este arquivo no entry-point do projeto antes de
|
|
5
|
-
components.css.
|
|
6
|
-
============================================================ */
|
|
7
|
-
|
|
8
|
-
:root {
|
|
9
|
-
/* ---------- BRAND / EMBER (Liquid Lava scale) ---------- */
|
|
10
|
-
--ember-50: #fff3e9;
|
|
11
|
-
--ember-100: #ffe1c8;
|
|
12
|
-
--ember-200: #ffc28e;
|
|
13
|
-
--ember-300: #ffa056;
|
|
14
|
-
--ember-400: #ff8a3a;
|
|
15
|
-
--ember-500: #f56f10; /* LIQUID LAVA — brand primary */
|
|
16
|
-
--ember-600: #d45e0d;
|
|
17
|
-
--ember-700: #ad4a09;
|
|
18
|
-
--ember-800: #843706;
|
|
19
|
-
--ember-900: #5e2704;
|
|
20
|
-
--liquid-lava: #f56f10;
|
|
21
|
-
--dark-void: #151419;
|
|
22
|
-
--glucon-grey: #1b1a1e;
|
|
23
|
-
|
|
24
|
-
/* ---------- NEUTRALS (warm paper → ink) ---------- */
|
|
25
|
-
--paper: #fafaf8;
|
|
26
|
-
--canvas: #f5f4f1;
|
|
27
|
-
--surface: #ffffff;
|
|
28
|
-
--line-100: #f0eeea;
|
|
29
|
-
--line-200: #e8e6e1;
|
|
30
|
-
--line-300: #d8d5cf;
|
|
31
|
-
|
|
32
|
-
--ink-50: #f4f3f0;
|
|
33
|
-
--ink-100: #e8e6e1;
|
|
34
|
-
--ink-200: #c8c5bf;
|
|
35
|
-
--ink-300: #a09c95;
|
|
36
|
-
--ink-400: #6f6b64;
|
|
37
|
-
--ink-500: #4a4741;
|
|
38
|
-
--ink-600: #2e2c28;
|
|
39
|
-
--ink-700: #1a1916;
|
|
40
|
-
--ink-800: #111110;
|
|
41
|
-
--ink-900: #0a0a09;
|
|
42
|
-
|
|
43
|
-
/* ---------- SEMANTIC ---------- */
|
|
44
|
-
--success-50: #ecfdf3;
|
|
45
|
-
--success-500: #10a960;
|
|
46
|
-
--success-700: #067a44;
|
|
47
|
-
|
|
48
|
-
--warning-50: #fff8e6;
|
|
49
|
-
--warning-500: #d99000;
|
|
50
|
-
--warning-700: #9a6500;
|
|
51
|
-
|
|
52
|
-
--danger-50: #fef1f1;
|
|
53
|
-
--danger-500: #dc3545;
|
|
54
|
-
--danger-700: #a52833;
|
|
55
|
-
|
|
56
|
-
--info-50: #eef5ff;
|
|
57
|
-
--info-500: #2f7adc;
|
|
58
|
-
--info-700: #1f5ba8;
|
|
59
|
-
|
|
60
|
-
--tag-bg: #fff0e0;
|
|
61
|
-
--tag-fg: #ad4a09;
|
|
62
|
-
--code-bg: #fff5ea;
|
|
63
|
-
--code-fg: #ad4a09;
|
|
64
|
-
|
|
65
|
-
/* ---------- SPACE / CLIENTE COLORS (CRM) ---------- */
|
|
66
|
-
--space-zark: #f56f10;
|
|
67
|
-
--space-zark-soft: #fff3e9;
|
|
68
|
-
--space-allsec: #c2410c;
|
|
69
|
-
--space-allsec-soft: #fff3e9;
|
|
70
|
-
--space-vipcar: #ea580c;
|
|
71
|
-
--space-vipcar-soft: #fff3e9;
|
|
72
|
-
--space-limppe: #f59e0b;
|
|
73
|
-
--space-limppe-soft: #fff8e6;
|
|
74
|
-
--space-gerais: #1f2937;
|
|
75
|
-
--space-gerais-soft: #f4f3f0;
|
|
76
|
-
--space-mixshop: #b91c1c;
|
|
77
|
-
--space-mixshop-soft:#fef1f1;
|
|
78
|
-
--space-vipseg: #991b1b;
|
|
79
|
-
--space-vipseg-soft: #fef1f1;
|
|
80
|
-
|
|
81
|
-
/* ---------- TYPOGRAPHY ----------
|
|
82
|
-
Inter → UI texto + NÚMEROS (KPIs, valores, contadores)
|
|
83
|
-
JetBrains → Código, labels técnicos, kbd
|
|
84
|
-
Space Grotesk→ TÍTULOS (h1, h2, h3, modal titles, header bands)
|
|
85
|
-
*/
|
|
86
|
-
--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
|
|
87
|
-
--font-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;
|
|
88
|
-
--font-display: "Space Grotesk", "Inter Tight", "Inter", sans-serif;
|
|
89
|
-
--font-ui: "Inter", -apple-system, sans-serif;
|
|
90
|
-
|
|
91
|
-
/* type scale (px) */
|
|
92
|
-
--fs-2xs: 10px;
|
|
93
|
-
--fs-xs: 11px;
|
|
94
|
-
--fs-sm: 12px;
|
|
95
|
-
--fs-md: 13px;
|
|
96
|
-
--fs-base:14px;
|
|
97
|
-
--fs-lg: 16px;
|
|
98
|
-
--fs-xl: 18px;
|
|
99
|
-
--fs-2xl: 22px;
|
|
100
|
-
--fs-3xl: 28px;
|
|
101
|
-
--fs-4xl: 36px;
|
|
102
|
-
--fs-5xl: 48px;
|
|
103
|
-
--fs-6xl: 64px;
|
|
104
|
-
--fs-display: 88px;
|
|
105
|
-
|
|
106
|
-
/* line-heights */
|
|
107
|
-
--lh-tight: 1.1;
|
|
108
|
-
--lh-snug: 1.25;
|
|
109
|
-
--lh-base: 1.45;
|
|
110
|
-
--lh-loose: 1.6;
|
|
111
|
-
|
|
112
|
-
/* letter spacing */
|
|
113
|
-
--ls-tight: -0.02em;
|
|
114
|
-
--ls-snug: -0.01em;
|
|
115
|
-
--ls-normal: 0;
|
|
116
|
-
--ls-wide: 0.04em;
|
|
117
|
-
--ls-wider: 0.08em;
|
|
118
|
-
--ls-widest: 0.14em;
|
|
119
|
-
|
|
120
|
-
/* weights */
|
|
121
|
-
--fw-regular: 400;
|
|
122
|
-
--fw-medium: 500;
|
|
123
|
-
--fw-semibold:600;
|
|
124
|
-
--fw-bold: 700;
|
|
125
|
-
|
|
126
|
-
/* ---------- SPACING (4px base) ---------- */
|
|
127
|
-
--sp-0: 0;
|
|
128
|
-
--sp-1: 2px;
|
|
129
|
-
--sp-2: 4px;
|
|
130
|
-
--sp-3: 6px;
|
|
131
|
-
--sp-4: 8px;
|
|
132
|
-
--sp-5: 10px;
|
|
133
|
-
--sp-6: 12px;
|
|
134
|
-
--sp-7: 14px;
|
|
135
|
-
--sp-8: 16px;
|
|
136
|
-
--sp-10: 20px;
|
|
137
|
-
--sp-12: 24px;
|
|
138
|
-
--sp-14: 28px;
|
|
139
|
-
--sp-16: 32px;
|
|
140
|
-
--sp-20: 40px;
|
|
141
|
-
--sp-24: 48px;
|
|
142
|
-
--sp-32: 64px;
|
|
143
|
-
--sp-40: 80px;
|
|
144
|
-
--sp-48: 96px;
|
|
145
|
-
|
|
146
|
-
/* ---------- RADII (sem pill) ---------- */
|
|
147
|
-
--r-xs: 3px;
|
|
148
|
-
--r-sm: 4px;
|
|
149
|
-
--r-md: 6px;
|
|
150
|
-
--r-lg: 8px;
|
|
151
|
-
--r-xl: 12px;
|
|
152
|
-
--r-2xl: 16px;
|
|
153
|
-
--r-3xl: 20px;
|
|
154
|
-
|
|
155
|
-
/* ---------- SHADOWS (warm-black, never cool-black) ---------- */
|
|
156
|
-
--shadow-xs: 0 1px 0 rgba(20, 17, 12, 0.04);
|
|
157
|
-
--shadow-sm: 0 1px 2px rgba(20, 17, 12, 0.05), 0 0 0 1px rgba(20, 17, 12, 0.04);
|
|
158
|
-
--shadow-md: 0 4px 12px rgba(20, 17, 12, 0.06), 0 1px 2px rgba(20, 17, 12, 0.05);
|
|
159
|
-
--shadow-lg: 0 12px 32px rgba(20, 17, 12, 0.08), 0 2px 6px rgba(20, 17, 12, 0.04);
|
|
160
|
-
--shadow-xl: 0 24px 64px rgba(20, 17, 12, 0.12), 0 4px 12px rgba(20, 17, 12, 0.05);
|
|
161
|
-
--shadow-modal: 0 32px 96px rgba(20, 17, 12, 0.18), 0 8px 24px rgba(20, 17, 12, 0.08);
|
|
162
|
-
--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.08);
|
|
163
|
-
|
|
164
|
-
--ring-focus: 0 0 0 3px rgba(255, 93, 31, 0.20);
|
|
165
|
-
--ring-focus-soft: 0 0 0 3px rgba(255, 93, 31, 0.12);
|
|
166
|
-
|
|
167
|
-
/* ---------- MOTION ---------- */
|
|
168
|
-
--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
|
|
169
|
-
--ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
|
|
170
|
-
--ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
171
|
-
--t-fast: 120ms;
|
|
172
|
-
--t-base: 180ms;
|
|
173
|
-
--t-slow: 280ms;
|
|
174
|
-
--t-slower: 420ms;
|
|
175
|
-
|
|
176
|
-
/* ---------- LAYOUT ---------- */
|
|
177
|
-
--sidebar-w: 240px;
|
|
178
|
-
--topbar-h: 56px;
|
|
179
|
-
--container-max: 1280px;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
/* ============================================================
|
|
183
|
-
DARK THEME
|
|
184
|
-
============================================================ */
|
|
185
|
-
[data-theme="dark"] {
|
|
186
|
-
--ember-50: #2a1810;
|
|
187
|
-
--ember-100: #3d2114;
|
|
188
|
-
--ember-200: #5e2704;
|
|
189
|
-
--ember-300: #843706;
|
|
190
|
-
--ember-400: #ad4a09;
|
|
191
|
-
--ember-500: #f56f10; /* brand inalterado */
|
|
192
|
-
--ember-600: #ff8a3a;
|
|
193
|
-
--ember-700: #ffa056;
|
|
194
|
-
--ember-800: #ffc28e;
|
|
195
|
-
--ember-900: #ffe1c8;
|
|
196
|
-
|
|
197
|
-
--paper: #0e0d11;
|
|
198
|
-
--canvas: #151419;
|
|
199
|
-
--surface: #1b1a1e;
|
|
200
|
-
--line-100: #232227;
|
|
201
|
-
--line-200: #2c2b32;
|
|
202
|
-
--line-300: #3a383f;
|
|
203
|
-
|
|
204
|
-
--ink-50: #1a1916;
|
|
205
|
-
--ink-100: #2c2b27;
|
|
206
|
-
--ink-200: #4a4741;
|
|
207
|
-
--ink-300: #6f6b64;
|
|
208
|
-
--ink-400: #a09c95;
|
|
209
|
-
--ink-500: #c8c5bf;
|
|
210
|
-
--ink-600: #e0ddd6;
|
|
211
|
-
--ink-700: #f0ede5;
|
|
212
|
-
--ink-800: #f7f5ef;
|
|
213
|
-
--ink-900: #fafaf8;
|
|
214
|
-
|
|
215
|
-
--success-50: #0f2419;
|
|
216
|
-
--warning-50: #2a1f08;
|
|
217
|
-
--danger-50: #2a1010;
|
|
218
|
-
--info-50: #0e1a2c;
|
|
219
|
-
|
|
220
|
-
--tag-bg: #3d2114;
|
|
221
|
-
--tag-fg: #ffc28e;
|
|
222
|
-
--code-bg: #2a1810;
|
|
223
|
-
--code-fg: #ffa056;
|
|
224
|
-
|
|
225
|
-
--shadow-xs: 0 1px 0 rgba(0, 0, 0, 0.5);
|
|
226
|
-
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.04);
|
|
227
|
-
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
228
|
-
--shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.5), 0 2px 6px rgba(0, 0, 0, 0.3);
|
|
229
|
-
--shadow-xl: 0 24px 64px rgba(0, 0, 0, 0.6), 0 4px 12px rgba(0, 0, 0, 0.3);
|
|
230
|
-
--shadow-modal: 0 32px 96px rgba(0, 0, 0, 0.7), 0 8px 24px rgba(0, 0, 0, 0.4);
|
|
231
|
-
--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.04);
|
|
232
|
-
|
|
233
|
-
--ring-focus: 0 0 0 3px rgba(255, 138, 58, 0.30);
|
|
234
|
-
--ring-focus-soft: 0 0 0 3px rgba(255, 138, 58, 0.16);
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
/* Auto dark via OS, opt-out: <html data-theme="light"> */
|
|
238
|
-
@media (prefers-color-scheme: dark) {
|
|
239
|
-
:root:not([data-theme="light"]) {
|
|
240
|
-
--ember-50: #2a1810; --ember-100: #3d2114; --ember-200: #5e2704;
|
|
241
|
-
--ember-300: #843706; --ember-400: #ad4a09; --ember-500: #f56f10;
|
|
242
|
-
--ember-600: #ff8a3a; --ember-700: #ffa056; --ember-800: #ffc28e;
|
|
243
|
-
--ember-900: #ffe1c8;
|
|
244
|
-
--paper: #0e0d11; --canvas: #151419; --surface: #1b1a1e;
|
|
245
|
-
--line-100: #232227; --line-200: #2c2b32; --line-300: #3a383f;
|
|
246
|
-
--ink-50: #1a1916; --ink-100: #2c2b27; --ink-200: #4a4741;
|
|
247
|
-
--ink-300: #6f6b64; --ink-400: #a09c95; --ink-500: #c8c5bf;
|
|
248
|
-
--ink-600: #e0ddd6; --ink-700: #f0ede5; --ink-800: #f7f5ef;
|
|
249
|
-
--ink-900: #fafaf8;
|
|
250
|
-
--success-50: #0f2419; --warning-50: #2a1f08; --danger-50: #2a1010; --info-50: #0e1a2c;
|
|
251
|
-
--tag-bg: #3d2114; --tag-fg: #ffc28e; --code-bg: #2a1810; --code-fg: #ffa056;
|
|
252
|
-
--shadow-xs: 0 1px 0 rgba(0, 0, 0, 0.5);
|
|
253
|
-
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.04);
|
|
254
|
-
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
255
|
-
--shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.5), 0 2px 6px rgba(0, 0, 0, 0.3);
|
|
256
|
-
--shadow-xl: 0 24px 64px rgba(0, 0, 0, 0.6), 0 4px 12px rgba(0, 0, 0, 0.3);
|
|
257
|
-
--shadow-modal: 0 32px 96px rgba(0, 0, 0, 0.7), 0 8px 24px rgba(0, 0, 0, 0.4);
|
|
258
|
-
--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.04);
|
|
259
|
-
--ring-focus: 0 0 0 3px rgba(255, 138, 58, 0.30);
|
|
260
|
-
--ring-focus-soft: 0 0 0 3px rgba(255, 138, 58, 0.16);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
/* ============================================================
|
|
265
|
-
BASE
|
|
266
|
-
============================================================ */
|
|
267
|
-
* { box-sizing: border-box; }
|
|
268
|
-
html, body {
|
|
269
|
-
margin: 0; padding: 0;
|
|
270
|
-
font-family: var(--font-sans);
|
|
271
|
-
font-size: var(--fs-base);
|
|
272
|
-
line-height: var(--lh-base);
|
|
273
|
-
color: var(--ink-700);
|
|
274
|
-
background: var(--paper);
|
|
275
|
-
-webkit-font-smoothing: antialiased;
|
|
276
|
-
text-rendering: optimizeLegibility;
|
|
277
|
-
}
|
|
278
|
-
::selection { background: var(--ember-200); color: var(--ink-700); }
|
|
279
|
-
a { color: inherit; text-decoration: none; }
|
|
280
|
-
button { font-family: inherit; }
|
|
281
|
-
|
|
282
|
-
@keyframes zk-spin { to { transform: rotate(360deg); } }
|
|
283
|
-
@keyframes zk-fadein { from { opacity: 0; transform: translateY(4px);} to { opacity: 1; transform: translateY(0);} }
|
|
Binary file
|
|
Binary file
|