@philosaether/chipper 0.1.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.
Files changed (122) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +778 -0
  3. package/dist/base.css +1 -0
  4. package/dist/headless.d.ts +16 -0
  5. package/dist/headless.d.ts.map +1 -0
  6. package/dist/headless.js +18 -0
  7. package/dist/index.js +1445 -0
  8. package/dist/src/builder/index.d.ts +82 -0
  9. package/dist/src/builder/index.d.ts.map +1 -0
  10. package/dist/src/builder/predicates.d.ts +18 -0
  11. package/dist/src/builder/predicates.d.ts.map +1 -0
  12. package/dist/src/components/Chip.d.ts +15 -0
  13. package/dist/src/components/Chip.d.ts.map +1 -0
  14. package/dist/src/components/ChipInfoPopup.d.ts +12 -0
  15. package/dist/src/components/ChipInfoPopup.d.ts.map +1 -0
  16. package/dist/src/components/ChipPopup.d.ts +20 -0
  17. package/dist/src/components/ChipPopup.d.ts.map +1 -0
  18. package/dist/src/components/Chipper.d.ts +25 -0
  19. package/dist/src/components/Chipper.d.ts.map +1 -0
  20. package/dist/src/components/Clause.d.ts +13 -0
  21. package/dist/src/components/Clause.d.ts.map +1 -0
  22. package/dist/src/components/Sentence.d.ts +15 -0
  23. package/dist/src/components/Sentence.d.ts.map +1 -0
  24. package/dist/src/components/index.d.ts +12 -0
  25. package/dist/src/components/index.d.ts.map +1 -0
  26. package/dist/src/components/popups/AlternativeCoordinatePopup.d.ts +16 -0
  27. package/dist/src/components/popups/AlternativeCoordinatePopup.d.ts.map +1 -0
  28. package/dist/src/components/popups/KeywordGroupList.d.ts +29 -0
  29. package/dist/src/components/popups/KeywordGroupList.d.ts.map +1 -0
  30. package/dist/src/components/popups/KeywordOrExpressionPopup.d.ts +30 -0
  31. package/dist/src/components/popups/KeywordOrExpressionPopup.d.ts.map +1 -0
  32. package/dist/src/components/popups/MultiSelectPopup.d.ts +20 -0
  33. package/dist/src/components/popups/MultiSelectPopup.d.ts.map +1 -0
  34. package/dist/src/components/popups/NumericInput.d.ts +16 -0
  35. package/dist/src/components/popups/NumericInput.d.ts.map +1 -0
  36. package/dist/src/components/popups/ReferencePopup.d.ts +20 -0
  37. package/dist/src/components/popups/ReferencePopup.d.ts.map +1 -0
  38. package/dist/src/core/actions/set-chip-value.d.ts +17 -0
  39. package/dist/src/core/actions/set-chip-value.d.ts.map +1 -0
  40. package/dist/src/core/actions/set-context.d.ts +18 -0
  41. package/dist/src/core/actions/set-context.d.ts.map +1 -0
  42. package/dist/src/core/actions/set-display-value.d.ts +18 -0
  43. package/dist/src/core/actions/set-display-value.d.ts.map +1 -0
  44. package/dist/src/core/actions/toggle-clause.d.ts +15 -0
  45. package/dist/src/core/actions/toggle-clause.d.ts.map +1 -0
  46. package/dist/src/core/context-resolution.d.ts +36 -0
  47. package/dist/src/core/context-resolution.d.ts.map +1 -0
  48. package/dist/src/core/initialize.d.ts +43 -0
  49. package/dist/src/core/initialize.d.ts.map +1 -0
  50. package/dist/src/core/mode-switching.d.ts +10 -0
  51. package/dist/src/core/mode-switching.d.ts.map +1 -0
  52. package/dist/src/core/reducer.d.ts +16 -0
  53. package/dist/src/core/reducer.d.ts.map +1 -0
  54. package/dist/src/core/resolve-keyword-label.d.ts +7 -0
  55. package/dist/src/core/resolve-keyword-label.d.ts.map +1 -0
  56. package/dist/src/core/serialize.d.ts +34 -0
  57. package/dist/src/core/serialize.d.ts.map +1 -0
  58. package/dist/src/core/state.d.ts +59 -0
  59. package/dist/src/core/state.d.ts.map +1 -0
  60. package/dist/src/core/store.d.ts +23 -0
  61. package/dist/src/core/store.d.ts.map +1 -0
  62. package/dist/src/core/types.d.ts +242 -0
  63. package/dist/src/core/types.d.ts.map +1 -0
  64. package/dist/src/domains/alternative-coordinate.d.ts +110 -0
  65. package/dist/src/domains/alternative-coordinate.d.ts.map +1 -0
  66. package/dist/src/domains/create-domain.d.ts +30 -0
  67. package/dist/src/domains/create-domain.d.ts.map +1 -0
  68. package/dist/src/domains/facades.d.ts +134 -0
  69. package/dist/src/domains/facades.d.ts.map +1 -0
  70. package/dist/src/domains/index.d.ts +14 -0
  71. package/dist/src/domains/index.d.ts.map +1 -0
  72. package/dist/src/domains/keyword-or-expression.d.ts +148 -0
  73. package/dist/src/domains/keyword-or-expression.d.ts.map +1 -0
  74. package/dist/src/domains/multi-select.d.ts +68 -0
  75. package/dist/src/domains/multi-select.d.ts.map +1 -0
  76. package/dist/src/domains/normalize-keywords.d.ts +83 -0
  77. package/dist/src/domains/normalize-keywords.d.ts.map +1 -0
  78. package/dist/src/domains/reference.d.ts +89 -0
  79. package/dist/src/domains/reference.d.ts.map +1 -0
  80. package/dist/src/hooks/SentenceProvider.d.ts +17 -0
  81. package/dist/src/hooks/SentenceProvider.d.ts.map +1 -0
  82. package/dist/src/hooks/context.d.ts +31 -0
  83. package/dist/src/hooks/context.d.ts.map +1 -0
  84. package/dist/src/hooks/index.d.ts +13 -0
  85. package/dist/src/hooks/index.d.ts.map +1 -0
  86. package/dist/src/hooks/useChip.d.ts +21 -0
  87. package/dist/src/hooks/useChip.d.ts.map +1 -0
  88. package/dist/src/hooks/useDisplaySource.d.ts +16 -0
  89. package/dist/src/hooks/useDisplaySource.d.ts.map +1 -0
  90. package/dist/src/hooks/useKeyboardNavigation.d.ts +44 -0
  91. package/dist/src/hooks/useKeyboardNavigation.d.ts.map +1 -0
  92. package/dist/src/hooks/usePopup.d.ts +13 -0
  93. package/dist/src/hooks/usePopup.d.ts.map +1 -0
  94. package/dist/src/hooks/useReferenceDisplay.d.ts +22 -0
  95. package/dist/src/hooks/useReferenceDisplay.d.ts.map +1 -0
  96. package/dist/src/hooks/useSentence.d.ts +14 -0
  97. package/dist/src/hooks/useSentence.d.ts.map +1 -0
  98. package/dist/src/index.d.ts +25 -0
  99. package/dist/src/index.d.ts.map +1 -0
  100. package/dist/src/palette/index.d.ts +29 -0
  101. package/dist/src/palette/index.d.ts.map +1 -0
  102. package/dist/src/themes/apply-theme.d.ts +34 -0
  103. package/dist/src/themes/apply-theme.d.ts.map +1 -0
  104. package/dist/src/themes/create-hue.d.ts +23 -0
  105. package/dist/src/themes/create-hue.d.ts.map +1 -0
  106. package/dist/src/themes/index.d.ts +13 -0
  107. package/dist/src/themes/index.d.ts.map +1 -0
  108. package/dist/src/themes/midnight.d.ts +11 -0
  109. package/dist/src/themes/midnight.d.ts.map +1 -0
  110. package/dist/src/themes/praxis.d.ts +11 -0
  111. package/dist/src/themes/praxis.d.ts.map +1 -0
  112. package/dist/src/themes/terminal.d.ts +9 -0
  113. package/dist/src/themes/terminal.d.ts.map +1 -0
  114. package/dist/src/themes/types.d.ts +72 -0
  115. package/dist/src/themes/types.d.ts.map +1 -0
  116. package/dist/styles.css +1 -0
  117. package/dist/themes/index.js +256 -0
  118. package/dist/themes/midnight.css +1 -0
  119. package/dist/themes/praxis.css +1 -0
  120. package/dist/themes/terminal.css +1 -0
  121. package/dist/usePopup-Of6OHa1_.js +653 -0
  122. package/package.json +75 -0
@@ -0,0 +1,256 @@
1
+ function p(o) {
2
+ const e = o.replace("#", "");
3
+ let a, r, t;
4
+ if (e.length === 3 ? (a = parseInt(e.charAt(0) + e.charAt(0), 16), r = parseInt(e.charAt(1) + e.charAt(1), 16), t = parseInt(e.charAt(2) + e.charAt(2), 16)) : (a = parseInt(e.slice(0, 2), 16), r = parseInt(e.slice(2, 4), 16), t = parseInt(e.slice(4, 6), 16)), isNaN(a) || isNaN(r) || isNaN(t))
5
+ throw new Error(`Invalid hex color: ${o}`);
6
+ return [a, r, t];
7
+ }
8
+ function d(o, e, a) {
9
+ const r = (s) => Math.round(Math.max(0, Math.min(255, s))), t = r(o).toString(16).padStart(2, "0"), c = r(e).toString(16).padStart(2, "0"), i = r(a).toString(16).padStart(2, "0");
10
+ return `#${t}${c}${i}`;
11
+ }
12
+ function b(o, e, a) {
13
+ const [r, t, c] = p(o), [i, s, g] = p(e);
14
+ return d(
15
+ r * a + i * (1 - a),
16
+ t * a + s * (1 - a),
17
+ c * a + g * (1 - a)
18
+ );
19
+ }
20
+ function n(o, e, a, r) {
21
+ return {
22
+ name: o,
23
+ text: e,
24
+ background: a,
25
+ hover: b(e, a, 0.12),
26
+ glow: r == null ? void 0 : r.glow
27
+ };
28
+ }
29
+ const u = [
30
+ ["bgPrimary", "--chipper-bg-primary"],
31
+ ["bgSecondary", "--chipper-bg-secondary"],
32
+ ["bgTertiary", "--chipper-bg-tertiary"],
33
+ ["bgElevated", "--chipper-bg-elevated"],
34
+ ["textPrimary", "--chipper-text-primary"],
35
+ ["textSecondary", "--chipper-text-secondary"],
36
+ ["textMuted", "--chipper-text-muted"],
37
+ ["border", "--chipper-border"],
38
+ ["borderSubtle", "--chipper-border-subtle"]
39
+ ], l = [
40
+ ["base", "--chipper-accent"],
41
+ ["bright", "--chipper-accent-bright"],
42
+ ["dim", "--chipper-accent-dim"],
43
+ ["glow", "--chipper-accent-glow"]
44
+ ], h = [
45
+ ["success", "--chipper-success"],
46
+ ["warning", "--chipper-warning"],
47
+ ["error", "--chipper-error"],
48
+ ["info", "--chipper-info"]
49
+ ], m = [
50
+ ["radius", "--chipper-radius"],
51
+ ["radiusLarge", "--chipper-radius-lg"],
52
+ ["font", "--chipper-font"],
53
+ ["fontMono", "--chipper-font-mono"],
54
+ ["focusRing", "--chipper-focus-ring"],
55
+ ["popupShadow", "--chipper-popup-shadow"],
56
+ ["transition", "--chipper-transition"]
57
+ ];
58
+ function x(o, e) {
59
+ if (o.hues[e]) return o.hues[e];
60
+ const a = o.fallbackHue ?? Object.keys(o.hues)[0];
61
+ if (a) return o.hues[a];
62
+ }
63
+ function f(o, e) {
64
+ const a = `--chipper-color-${o}`, r = [
65
+ [`${a}-text`, e.text],
66
+ [`${a}-bg`, e.background],
67
+ [`${a}-hover`, e.hover]
68
+ ];
69
+ return e.glow && r.push([`${a}-glow`, e.glow]), r;
70
+ }
71
+ function y(o, e) {
72
+ const a = {};
73
+ for (const [r, t] of u)
74
+ a[t] = o.surface[r];
75
+ for (const [r, t] of l)
76
+ a[t] = o.accent[r];
77
+ for (const [r, t] of h)
78
+ a[t] = o.semantic[r];
79
+ for (const [r, t] of m)
80
+ a[t] = o.structure[r];
81
+ for (const [r, t] of Object.entries(o.hues))
82
+ for (const [c, i] of f(r, t))
83
+ a[c] = i;
84
+ if (e) {
85
+ for (const r of e)
86
+ if (!(r in o.hues)) {
87
+ const t = x(o, r);
88
+ if (t)
89
+ for (const [c, i] of f(r, t))
90
+ a[c] = i;
91
+ }
92
+ }
93
+ return a;
94
+ }
95
+ function w(o, e) {
96
+ const a = (e == null ? void 0 : e.container) ?? document.documentElement;
97
+ S(a);
98
+ const r = y(o, e == null ? void 0 : e.hueRoles);
99
+ for (const [t, c] of Object.entries(r))
100
+ a.style.setProperty(t, c);
101
+ }
102
+ function S(o) {
103
+ const e = o ?? document.documentElement, a = [];
104
+ for (let r = 0; r < e.style.length; r++) {
105
+ const t = e.style.item(r);
106
+ t && t.startsWith("--chipper-") && a.push(t);
107
+ }
108
+ for (const r of a)
109
+ e.style.removeProperty(r);
110
+ }
111
+ const v = {
112
+ name: "praxis",
113
+ surface: {
114
+ bgPrimary: "#fbf9f5",
115
+ bgSecondary: "#f5f3ef",
116
+ bgTertiary: "#ebe8e2",
117
+ bgElevated: "#ffffff",
118
+ textPrimary: "#1b1c1a",
119
+ textSecondary: "#4a4a48",
120
+ textMuted: "#726f6c",
121
+ border: "#d0c5af",
122
+ borderSubtle: "rgba(208, 197, 175, 0.4)"
123
+ },
124
+ accent: {
125
+ base: "#735c00",
126
+ bright: "#d4af37",
127
+ dim: "#5a4700",
128
+ glow: "#f7e1a6"
129
+ },
130
+ semantic: {
131
+ success: "#2e7d32",
132
+ warning: "#f57c00",
133
+ error: "#8c0d27",
134
+ info: "#1565c0"
135
+ },
136
+ structure: {
137
+ radius: "4px",
138
+ radiusLarge: "6px",
139
+ font: "inherit",
140
+ fontMono: "'SF Mono', 'Fira Code', 'Fira Mono', Menlo, monospace",
141
+ focusRing: "0 0 0 2px rgba(115, 92, 0, 0.3)",
142
+ popupShadow: "0 4px 12px rgba(0, 0, 0, 0.08)",
143
+ transition: "0.15s"
144
+ },
145
+ hues: {
146
+ gold: n("gold", "#8a5a00", "#ffecd0"),
147
+ plum: n("plum", "#5c3d7a", "#e8daef"),
148
+ copper: n("copper", "#8f5a28", "#fde8d4"),
149
+ sage: n("sage", "#2e5a30", "#d4edda"),
150
+ slate: n("slate", "#2a5082", "#d6e5f5"),
151
+ stone: n("stone", "#6b5e4f", "#e8e4dc"),
152
+ teal: n("teal", "#246e67", "#d6f0ee"),
153
+ rose: n("rose", "#994d5a", "#f5dfe0"),
154
+ umber: n("umber", "#736130", "#f5ecd6"),
155
+ indigo: n("indigo", "#3d4a8c", "#dfe3f5")
156
+ }
157
+ }, M = {
158
+ name: "midnight",
159
+ surface: {
160
+ bgPrimary: "#1a1b2e",
161
+ bgSecondary: "#232440",
162
+ bgTertiary: "#2d2f50",
163
+ bgElevated: "#2a2c48",
164
+ textPrimary: "#e0e0ef",
165
+ textSecondary: "#a0a0c0",
166
+ textMuted: "#6a6a8a",
167
+ border: "#3a3c5e",
168
+ borderSubtle: "rgba(58, 60, 94, 0.4)"
169
+ },
170
+ accent: {
171
+ base: "#7b9fd4",
172
+ bright: "#a8c4e8",
173
+ dim: "#5a7fb0",
174
+ glow: "#3a4a6e"
175
+ },
176
+ semantic: {
177
+ success: "#66bb6a",
178
+ warning: "#ffa726",
179
+ error: "#ef5350",
180
+ info: "#42a5f5"
181
+ },
182
+ structure: {
183
+ radius: "4px",
184
+ radiusLarge: "6px",
185
+ font: "inherit",
186
+ fontMono: "'SF Mono', 'Fira Code', 'Fira Mono', Menlo, monospace",
187
+ focusRing: "0 0 0 2px rgba(123, 159, 212, 0.3)",
188
+ popupShadow: "0 4px 12px rgba(0, 0, 0, 0.3)",
189
+ transition: "0.15s"
190
+ },
191
+ hues: {
192
+ gold: { name: "gold", text: "#d4af37", background: "#2e2810", hover: "#3a3218", glow: "rgba(212, 175, 55, 0.2)" },
193
+ plum: { name: "plum", text: "#b88ad4", background: "#2a1e3a", hover: "#332644", glow: "rgba(184, 138, 212, 0.2)" },
194
+ copper: { name: "copper", text: "#d4a87a", background: "#2e2418", hover: "#3a2e20", glow: "rgba(212, 168, 122, 0.2)" },
195
+ sage: { name: "sage", text: "#7ac47a", background: "#1a2e1a", hover: "#223822", glow: "rgba(122, 196, 122, 0.2)" },
196
+ slate: { name: "slate", text: "#7aaad4", background: "#1a2240", hover: "#222a4a", glow: "rgba(122, 170, 212, 0.2)" },
197
+ stone: { name: "stone", text: "#b0a898", background: "#2a2822", hover: "#33302a", glow: "rgba(176, 168, 152, 0.2)" },
198
+ teal: { name: "teal", text: "#6ac4be", background: "#1a2e2c", hover: "#223836", glow: "rgba(106, 196, 190, 0.2)" },
199
+ rose: { name: "rose", text: "#d48a96", background: "#2e1a1e", hover: "#382228", glow: "rgba(212, 138, 150, 0.2)" },
200
+ umber: { name: "umber", text: "#c4b060", background: "#2a2818", hover: "#333020", glow: "rgba(196, 176, 96, 0.2)" },
201
+ indigo: { name: "indigo", text: "#8a9ad4", background: "#1e2240", hover: "#262c4a", glow: "rgba(138, 154, 212, 0.2)" }
202
+ }
203
+ }, k = {
204
+ name: "terminal",
205
+ surface: {
206
+ bgPrimary: "#0a0a0a",
207
+ bgSecondary: "#141414",
208
+ bgTertiary: "#1e1e1e",
209
+ bgElevated: "#1a1a1a",
210
+ textPrimary: "#33ff33",
211
+ textSecondary: "#22bb22",
212
+ textMuted: "#117711",
213
+ border: "#1a3a1a",
214
+ borderSubtle: "rgba(26, 58, 26, 0.4)"
215
+ },
216
+ accent: {
217
+ base: "#33ff33",
218
+ bright: "#66ff66",
219
+ dim: "#22aa22",
220
+ glow: "#0a2a0a"
221
+ },
222
+ semantic: {
223
+ success: "#33ff33",
224
+ warning: "#ffaa00",
225
+ error: "#ff3333",
226
+ info: "#33ff33"
227
+ },
228
+ structure: {
229
+ radius: "4px",
230
+ radiusLarge: "6px",
231
+ font: "'SF Mono', 'Fira Code', 'Fira Mono', Menlo, monospace",
232
+ fontMono: "'SF Mono', 'Fira Code', 'Fira Mono', Menlo, monospace",
233
+ focusRing: "0 0 0 2px rgba(51, 255, 51, 0.3)",
234
+ popupShadow: "0 4px 12px rgba(0, 0, 0, 0.5)",
235
+ transition: "0.15s"
236
+ },
237
+ hues: {
238
+ green: {
239
+ name: "green",
240
+ text: "#33ff33",
241
+ background: "#0a1a0a",
242
+ hover: "#0f240f",
243
+ glow: "rgba(51, 255, 51, 0.25)"
244
+ }
245
+ },
246
+ fallbackHue: "green"
247
+ };
248
+ export {
249
+ w as applyTheme,
250
+ S as clearTheme,
251
+ n as createHue,
252
+ M as midnightTheme,
253
+ v as praxisTheme,
254
+ k as terminalTheme,
255
+ y as themeToProperties
256
+ };
@@ -0,0 +1 @@
1
+ :root{--chipper-bg-primary: #1a1b2e;--chipper-bg-secondary: #232440;--chipper-bg-tertiary: #2d2f50;--chipper-bg-elevated: #2a2c48;--chipper-text-primary: #e0e0ef;--chipper-text-secondary: #a0a0c0;--chipper-text-muted: #6a6a8a;--chipper-border: #3a3c5e;--chipper-border-subtle: rgba(58, 60, 94, 0.4);--chipper-accent: #7b9fd4;--chipper-accent-bright: #a8c4e8;--chipper-accent-dim: #5a7fb0;--chipper-accent-glow: #3a4a6e;--chipper-success: #66bb6a;--chipper-warning: #ffa726;--chipper-error: #ef5350;--chipper-info: #42a5f5;--chipper-color-gold-text: #d4af37;--chipper-color-gold-bg: #2e2810;--chipper-color-gold-hover: rgb(66, 56, 21);--chipper-color-gold-glow: rgba(212, 175, 55, 0.2);--chipper-color-plum-text: #b88ad4;--chipper-color-plum-bg: #2a1e3a;--chipper-color-plum-hover: rgb(59, 43, 76);--chipper-color-plum-glow: rgba(184, 138, 212, 0.2);--chipper-color-copper-text: #d4a87a;--chipper-color-copper-bg: #2e2418;--chipper-color-copper-hover: rgb(66, 52, 36);--chipper-color-copper-glow: rgba(212, 168, 122, 0.2);--chipper-color-sage-text: #7ac47a;--chipper-color-sage-bg: #1a2e1a;--chipper-color-sage-hover: rgb(38, 64, 38);--chipper-color-sage-glow: rgba(122, 196, 122, 0.2);--chipper-color-slate-text: #7aaad4;--chipper-color-slate-bg: #1a2240;--chipper-color-slate-hover: rgb(38, 50, 82);--chipper-color-slate-glow: rgba(122, 170, 212, 0.2);--chipper-color-stone-text: #b0a898;--chipper-color-stone-bg: #2a2822;--chipper-color-stone-hover: rgb(58, 55, 48);--chipper-color-stone-glow: rgba(176, 168, 152, 0.2);--chipper-color-teal-text: #6ac4be;--chipper-color-teal-bg: #1a2e2c;--chipper-color-teal-hover: rgb(36, 64, 62);--chipper-color-teal-glow: rgba(106, 196, 190, 0.2);--chipper-color-rose-text: #d48a96;--chipper-color-rose-bg: #2e1a1e;--chipper-color-rose-hover: rgb(66, 39, 44);--chipper-color-rose-glow: rgba(212, 138, 150, 0.2);--chipper-color-umber-text: #c4b060;--chipper-color-umber-bg: #2a2818;--chipper-color-umber-hover: rgb(60, 56, 33);--chipper-color-umber-glow: rgba(196, 176, 96, 0.2);--chipper-color-indigo-text: #8a9ad4;--chipper-color-indigo-bg: #1e2240;--chipper-color-indigo-hover: rgb(43, 48, 82);--chipper-color-indigo-glow: rgba(138, 154, 212, 0.2);--chipper-focus-ring: 0 0 0 2px rgba(123, 159, 212, 0.3);--chipper-popup-shadow: 0 4px 12px rgba(0, 0, 0, 0.3)}
@@ -0,0 +1 @@
1
+ :root{--chipper-bg-primary: #fbf9f5;--chipper-bg-secondary: #f5f3ef;--chipper-bg-tertiary: #ebe8e2;--chipper-bg-elevated: #ffffff;--chipper-text-primary: #1b1c1a;--chipper-text-secondary: #4a4a48;--chipper-text-muted: #726f6c;--chipper-border: #d0c5af;--chipper-border-subtle: rgba(208, 197, 175, 0.4);--chipper-accent: #735c00;--chipper-accent-bright: #d4af37;--chipper-accent-dim: #5a4700;--chipper-accent-glow: #f7e1a6;--chipper-success: #2e7d32;--chipper-warning: #f57c00;--chipper-error: #8c0d27;--chipper-info: #1565c0;--chipper-color-gold-text: #8a5a00;--chipper-color-gold-bg: #ffecd0;--chipper-color-gold-hover: rgb(241, 218, 183);--chipper-color-plum-text: #5c3d7a;--chipper-color-plum-bg: #e8daef;--chipper-color-plum-hover: rgb(215, 199, 225);--chipper-color-copper-text: #8f5a28;--chipper-color-copper-bg: #fde8d4;--chipper-color-copper-hover: rgb(240, 215, 191);--chipper-color-sage-text: #2e5a30;--chipper-color-sage-bg: #d4edda;--chipper-color-sage-hover: rgb(192, 219, 198);--chipper-color-slate-text: #2a5082;--chipper-color-slate-bg: #d6e5f5;--chipper-color-slate-hover: rgb(193, 211, 231);--chipper-color-stone-text: #6b5e4f;--chipper-color-stone-bg: #e8e4dc;--chipper-color-stone-hover: rgb(217, 212, 203);--chipper-color-teal-text: #246e67;--chipper-color-teal-bg: #d6f0ee;--chipper-color-teal-hover: rgb(193, 224, 222);--chipper-color-rose-text: #994d5a;--chipper-color-rose-bg: #f5dfe0;--chipper-color-rose-hover: rgb(234, 205, 208);--chipper-color-umber-text: #736130;--chipper-color-umber-bg: #f5ecd6;--chipper-color-umber-hover: rgb(229, 219, 194);--chipper-color-indigo-text: #3d4a8c;--chipper-color-indigo-bg: #dfe3f5;--chipper-color-indigo-hover: rgb(204, 209, 232);--chipper-focus-ring: 0 0 0 2px rgba(115, 92, 0, 0.3)}
@@ -0,0 +1 @@
1
+ :root{--chipper-bg-primary: #0a0a0a;--chipper-bg-secondary: #141414;--chipper-bg-tertiary: #1e1e1e;--chipper-bg-elevated: #1a1a1a;--chipper-text-primary: #33ff33;--chipper-text-secondary: #22bb22;--chipper-text-muted: #117711;--chipper-border: #1a3a1a;--chipper-border-subtle: rgba(26, 58, 26, 0.4);--chipper-accent: #33ff33;--chipper-accent-bright: #66ff66;--chipper-accent-dim: #22aa22;--chipper-accent-glow: #0a2a0a;--chipper-success: #33ff33;--chipper-warning: #ffaa00;--chipper-error: #ff3333;--chipper-info: #33ff33;--chipper-color-green-text: #33ff33;--chipper-color-green-bg: #0a1a0a;--chipper-color-green-hover: rgb(15, 53, 15);--chipper-color-green-glow: rgba(51, 255, 51, 0.25);--chipper-font: 'SF Mono', 'Fira Code', 'Fira Mono', Menlo, monospace;--chipper-focus-ring: 0 0 0 2px rgba(51, 255, 51, 0.3);--chipper-popup-shadow: 0 4px 12px rgba(0, 0, 0, 0.5)}