gap-inspector 0.2.0 → 0.2.1

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/dist/styles.d.ts DELETED
@@ -1 +0,0 @@
1
- export declare const gapInspectorStyles = "\n.gi-root,\n.gi-svg {\n --gi-chrome: #131313;\n --gi-surface: #1a1a1a;\n --gi-well: #0d0d0d;\n --gi-text: #f7f7f7;\n --gi-text-secondary: #c2c6cc;\n --gi-text-muted: #8a9099;\n --gi-hairline: rgba(255, 255, 255, 0.09);\n --gi-hairline-soft: rgba(255, 255, 255, 0.05);\n --gi-accent: #12a0f0;\n --gi-danger: #f04438;\n --gi-amber: #f5a623;\n --gi-margin: #f5a623;\n --gi-padding: #4ade80;\n --gi-border-kind: #f87171;\n --gi-scrollbar: #2dd4bf;\n --gi-gap-kind: #a78bfa;\n --gi-layout: #9ba1a8;\n --gi-content: #12a0f0;\n --gi-unknown: #ec4899;\n --gi-shadow:\n inset 0 1px 0 rgba(255, 255, 255, 0.06),\n 0 1px 2px rgba(0, 0, 0, 0.6),\n 0 32px 70px -16px rgba(0, 0, 0, 0.75);\n --gi-font: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Inter\", sans-serif;\n --gi-mono: ui-monospace, \"SF Mono\", \"JetBrains Mono\", Menlo, Consolas, monospace;\n}\n\n.gi-root {\n color: var(--gi-text);\n font-family: var(--gi-font);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-synthesis: none;\n position: fixed;\n inset: 0;\n z-index: 2147483647;\n pointer-events: none;\n}\n\n.gi-button {\n align-items: center;\n background: var(--gi-chrome);\n border: 1px solid var(--gi-hairline);\n border-radius: 10px;\n bottom: 18px;\n box-shadow:\n inset 0 1px 0 rgba(255, 255, 255, 0.06),\n 0 1px 2px rgba(0, 0, 0, 0.6),\n 0 12px 32px -8px rgba(0, 0, 0, 0.6);\n color: var(--gi-text);\n cursor: pointer;\n display: inline-flex;\n font: inherit;\n font-size: 12.5px;\n font-weight: 500;\n gap: 8px;\n height: 34px;\n overflow: clip;\n padding: 0 14px;\n pointer-events: auto;\n position: fixed;\n right: 18px;\n touch-action: none;\n transition: border-color 120ms ease, background-color 120ms ease;\n white-space: nowrap;\n}\n\n.gi-button:hover {\n background: #181818;\n border-color: rgba(255, 255, 255, 0.16);\n}\n\n.gi-button-mark {\n background: var(--gi-accent);\n border-radius: 999px;\n box-shadow: 0 0 8px rgba(18, 160, 240, 0.8);\n display: inline-block;\n height: 6px;\n width: 6px;\n}\n\n.gi-panel {\n background: var(--gi-chrome);\n border-radius: 14px;\n bottom: 18px;\n box-shadow: var(--gi-shadow);\n display: flex;\n flex-direction: column;\n max-height: min(560px, calc(100vh - 36px));\n overflow: clip;\n padding: 4px;\n pointer-events: auto;\n position: fixed;\n right: 18px;\n width: min(400px, calc(100vw - 36px));\n}\n\n@media (prefers-reduced-motion: no-preference) {\n .gi-panel {\n animation: gi-pop-in 170ms cubic-bezier(0.32, 0.72, 0, 1);\n }\n}\n\n@keyframes gi-pop-in {\n from {\n opacity: 0;\n transform: scale(0.96) translateY(6px);\n }\n}\n\n.gi-body {\n background: var(--gi-surface);\n border: 1px solid var(--gi-hairline);\n border-radius: 10px;\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: clip;\n}\n\n.gi-header {\n align-items: center;\n border-bottom: 1px solid var(--gi-hairline-soft);\n cursor: grab;\n display: flex;\n flex-shrink: 0;\n justify-content: space-between;\n padding: 11px 11px 11px 14px;\n touch-action: none;\n user-select: none;\n}\n\n.gi-header:active {\n cursor: grabbing;\n}\n\n.gi-header .gi-close {\n cursor: pointer;\n}\n\n.gi-title {\n font-size: 13px;\n font-weight: 600;\n letter-spacing: -0.01em;\n line-height: 16px;\n}\n\n.gi-close {\n align-items: center;\n appearance: none;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 7px;\n color: var(--gi-text-muted);\n cursor: pointer;\n display: inline-flex;\n height: 24px;\n justify-content: center;\n padding: 0;\n transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease;\n width: 24px;\n}\n\n.gi-close:hover {\n background: rgba(255, 255, 255, 0.06);\n border-color: var(--gi-hairline);\n color: var(--gi-text-secondary);\n}\n\n.gi-content {\n display: flex;\n flex-direction: column;\n gap: 12px;\n min-height: 0;\n overflow-y: auto;\n padding: 14px;\n}\n\n.gi-content::-webkit-scrollbar {\n width: 8px;\n}\n\n.gi-content::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.12);\n background-clip: padding-box;\n border: 2px solid transparent;\n border-radius: 999px;\n}\n\n.gi-empty {\n color: var(--gi-text-muted);\n display: flex;\n flex-direction: column;\n font-size: 12.5px;\n gap: 12px;\n line-height: 1.55;\n}\n\n.gi-empty p {\n margin: 0;\n}\n\n.gi-hint {\n align-items: center;\n color: var(--gi-text-muted);\n display: flex;\n font-size: 12px;\n gap: 8px;\n}\n\n.gi-kbd {\n align-items: center;\n background: var(--gi-well);\n border: 1px solid var(--gi-hairline);\n border-radius: 5px;\n color: var(--gi-text-secondary);\n display: inline-flex;\n flex-shrink: 0;\n font-size: 11px;\n height: 18px;\n justify-content: center;\n line-height: 1;\n min-width: 18px;\n padding: 0 4px;\n}\n\n.gi-footer {\n align-items: center;\n display: flex;\n flex-shrink: 0;\n gap: 8px;\n justify-content: flex-end;\n padding: 8px 6px 4px;\n}\n\n.gi-ghost,\n.gi-primary {\n appearance: none;\n border: 0;\n border-radius: 8px;\n cursor: pointer;\n font: inherit;\n font-size: 12.5px;\n line-height: 16px;\n padding: 7px 12px;\n transition: background-color 120ms ease, filter 120ms ease;\n}\n\n.gi-ghost {\n background: transparent;\n color: var(--gi-text-secondary);\n font-weight: 500;\n}\n\n.gi-ghost:hover {\n background: rgba(255, 255, 255, 0.06);\n}\n\n.gi-primary {\n background: var(--gi-accent);\n box-shadow:\n inset 0 1px 0 rgba(255, 255, 255, 0.24),\n 0 1px 2px rgba(0, 0, 0, 0.45);\n color: #ffffff;\n font-weight: 600;\n}\n\n.gi-primary:hover {\n filter: brightness(1.08);\n}\n\n.gi-primary[data-state=\"failed\"] {\n background: var(--gi-danger);\n}\n\n.gi-report-title {\n align-items: baseline;\n display: flex;\n gap: 7px;\n}\n\n.gi-metric {\n color: var(--gi-kind-color, var(--gi-text));\n font-family: var(--gi-mono);\n font-size: 18px;\n font-variant-numeric: tabular-nums;\n font-weight: 600;\n letter-spacing: -0.02em;\n line-height: 22px;\n}\n\n.gi-metric-axis {\n color: var(--gi-text-muted);\n font-size: 12px;\n font-weight: 500;\n}\n\n.gi-bar {\n display: flex;\n gap: 2px;\n height: 14px;\n}\n\n.gi-bar-segment {\n background: var(--gi-kind-color, var(--gi-layout));\n background-clip: padding-box;\n border-block: 4px solid transparent;\n border-radius: 6px;\n box-sizing: border-box;\n flex-basis: 0;\n min-width: 3px;\n}\n\n.gi-bar-segment:hover {\n filter: brightness(1.25);\n}\n\n.gi-bar-unattributed {\n background: repeating-linear-gradient(\n 135deg,\n rgba(255, 255, 255, 0.28) 0 2px,\n rgba(255, 255, 255, 0.08) 2px 5px\n );\n}\n\n.gi-equation {\n background: var(--gi-well);\n border: 1px solid var(--gi-hairline);\n border-radius: 9px;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4);\n color: var(--gi-text);\n font-family: var(--gi-mono);\n font-size: 11.5px;\n font-variant-numeric: tabular-nums;\n line-height: 1.6;\n overflow-wrap: anywhere;\n padding: 9px 11px;\n}\n\n.gi-caps {\n color: var(--gi-text-muted);\n font-size: 10px;\n font-weight: 600;\n letter-spacing: 0.08em;\n text-transform: uppercase;\n}\n\n.gi-contribs {\n display: flex;\n flex-direction: column;\n}\n\n.gi-contribs .gi-caps {\n margin-bottom: 2px;\n}\n\n.gi-contrib {\n display: flex;\n flex-direction: column;\n gap: 4px;\n padding: 9px 1px;\n}\n\n.gi-contrib + .gi-contrib {\n border-top: 1px solid var(--gi-hairline-soft);\n}\n\n.gi-contrib:hover {\n background: rgba(255, 255, 255, 0.03);\n}\n\n.gi-contrib-row {\n align-items: center;\n display: flex;\n gap: 8px;\n}\n\n.gi-kind-label {\n background: color-mix(in srgb, var(--gi-kind-color) 15%, transparent);\n border-radius: 5px;\n color: var(--gi-kind-color);\n flex-shrink: 0;\n font-size: 10px;\n font-weight: 600;\n letter-spacing: 0.04em;\n line-height: 1;\n padding: 4px 6px;\n text-transform: uppercase;\n}\n\n.gi-contrib-prop {\n color: var(--gi-text);\n flex: 1;\n font-size: 12px;\n font-weight: 500;\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n.gi-contrib-css {\n color: var(--gi-text-muted);\n font-family: var(--gi-mono);\n font-size: 11px;\n font-weight: 400;\n}\n\n.gi-contrib-value {\n color: var(--gi-text);\n flex-shrink: 0;\n font-family: var(--gi-mono);\n font-size: 12px;\n font-variant-numeric: tabular-nums;\n font-weight: 600;\n margin-left: auto;\n}\n\n.gi-contrib-note {\n color: var(--gi-text-muted);\n font-size: 11.5px;\n line-height: 1.5;\n}\n\n.gi-warning {\n background: color-mix(in srgb, var(--gi-amber) 9%, transparent);\n border: 1px solid color-mix(in srgb, var(--gi-amber) 28%, transparent);\n border-radius: 9px;\n color: #f2c069;\n font-size: 11.5px;\n line-height: 1.55;\n padding: 8px 11px;\n}\n\n.gi-hovercard {\n background: var(--gi-surface);\n border: 1px solid var(--gi-hairline);\n border-radius: 10px;\n box-shadow:\n inset 0 1px 0 rgba(255, 255, 255, 0.06),\n 0 8px 24px rgba(0, 0, 0, 0.55);\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding: 10px 11px;\n pointer-events: none;\n position: fixed;\n z-index: 10;\n}\n\n.gi-hovercard-row {\n align-items: center;\n display: flex;\n gap: 8px;\n}\n\n.gi-hovercard-prop {\n color: var(--gi-text);\n flex: 1;\n font-size: 12px;\n font-weight: 500;\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n.gi-hovercard-value {\n color: var(--gi-text);\n flex-shrink: 0;\n font-family: var(--gi-mono);\n font-size: 12px;\n font-variant-numeric: tabular-nums;\n font-weight: 600;\n}\n\n.gi-hovercard-selector {\n color: #dfe2e6;\n font-family: var(--gi-mono);\n font-size: 10.5px;\n line-height: 1.5;\n overflow-wrap: anywhere;\n}\n\n.gi-hovercard-meta {\n color: var(--gi-text-muted);\n font-family: var(--gi-mono);\n font-size: 10.5px;\n}\n\n.gi-hovercard-note {\n color: var(--gi-text-muted);\n font-size: 11px;\n line-height: 1.5;\n}\n\n.gi-canvas {\n cursor: crosshair;\n inset: 0;\n pointer-events: auto;\n position: fixed;\n touch-action: none;\n}\n\n.gi-canvas[data-passthrough=\"true\"] {\n pointer-events: none;\n}\n\n.gi-svg {\n left: 0;\n overflow: visible;\n pointer-events: none;\n position: absolute;\n top: 0;\n z-index: 2147483646;\n}\n\n.gi-line {\n stroke: var(--gi-accent);\n stroke-dasharray: 5 5;\n stroke-linecap: round;\n stroke-width: 1.5;\n}\n\n.gi-gap-band {\n fill: rgba(18, 160, 240, 0.16);\n stroke: rgba(18, 160, 240, 0.8);\n stroke-width: 1;\n}\n\n.gi-preview-gap {\n fill: rgba(18, 160, 240, 0.1);\n stroke-dasharray: 4 4;\n}\n\n.gi-element-box {\n fill: rgba(18, 160, 240, 0.06);\n stroke: rgba(18, 160, 240, 0.85);\n stroke-width: 1;\n}\n\n.gi-preview-box {\n fill: rgba(18, 160, 240, 0.03);\n stroke-dasharray: 7 4;\n}\n\n.gi-contributor-box {\n fill: color-mix(in srgb, var(--gi-kind-color) 38%, transparent);\n stroke: color-mix(in srgb, var(--gi-kind-color) 85%, transparent);\n stroke-width: 1;\n}\n\n.gi-preview-contributor {\n opacity: 0.62;\n}\n\n.gi-series-box {\n fill: color-mix(in srgb, var(--gi-kind-color) 5%, transparent);\n opacity: 0.34;\n stroke: var(--gi-kind-color);\n stroke-dasharray: 2 6;\n stroke-width: 1;\n}\n\n.gi-preview-series {\n opacity: 0.2;\n}\n\n.gi-edge-marker {\n fill: var(--gi-accent);\n stroke: none;\n}\n\n.gi-preview-edge {\n fill: rgba(18, 160, 240, 0.85);\n}\n\n.gi-from-edge {\n opacity: 0.92;\n}\n\n.gi-to-edge {\n opacity: 0.92;\n}\n\n.gi-kind-margin {\n --gi-kind-color: var(--gi-margin);\n}\n\n.gi-kind-padding {\n --gi-kind-color: var(--gi-padding);\n}\n\n.gi-kind-border {\n --gi-kind-color: var(--gi-border-kind);\n}\n\n.gi-kind-scrollbar {\n --gi-kind-color: var(--gi-scrollbar);\n}\n\n.gi-kind-gap {\n --gi-kind-color: var(--gi-gap-kind);\n}\n\n.gi-kind-layout {\n --gi-kind-color: var(--gi-layout);\n}\n\n.gi-kind-content {\n --gi-kind-color: var(--gi-content);\n}\n\n.gi-kind-unknown {\n --gi-kind-color: var(--gi-unknown);\n}\n\n.gi-hover-box {\n fill: color-mix(in srgb, var(--gi-kind-color) 35%, transparent);\n stroke: var(--gi-kind-color);\n stroke-width: 1.5;\n}\n\n.gi-point-region {\n fill: color-mix(in srgb, var(--gi-kind-color) 20%, transparent);\n stroke: var(--gi-kind-color);\n stroke-dasharray: 5 3;\n stroke-width: 1.5;\n}\n\n.gi-point-dot {\n fill: var(--gi-kind-color);\n stroke: #131313;\n stroke-width: 2;\n}\n";
package/dist/styles.js DELETED
@@ -1,635 +0,0 @@
1
- export const gapInspectorStyles = `
2
- .gi-root,
3
- .gi-svg {
4
- --gi-chrome: #131313;
5
- --gi-surface: #1a1a1a;
6
- --gi-well: #0d0d0d;
7
- --gi-text: #f7f7f7;
8
- --gi-text-secondary: #c2c6cc;
9
- --gi-text-muted: #8a9099;
10
- --gi-hairline: rgba(255, 255, 255, 0.09);
11
- --gi-hairline-soft: rgba(255, 255, 255, 0.05);
12
- --gi-accent: #12a0f0;
13
- --gi-danger: #f04438;
14
- --gi-amber: #f5a623;
15
- --gi-margin: #f5a623;
16
- --gi-padding: #4ade80;
17
- --gi-border-kind: #f87171;
18
- --gi-scrollbar: #2dd4bf;
19
- --gi-gap-kind: #a78bfa;
20
- --gi-layout: #9ba1a8;
21
- --gi-content: #12a0f0;
22
- --gi-unknown: #ec4899;
23
- --gi-shadow:
24
- inset 0 1px 0 rgba(255, 255, 255, 0.06),
25
- 0 1px 2px rgba(0, 0, 0, 0.6),
26
- 0 32px 70px -16px rgba(0, 0, 0, 0.75);
27
- --gi-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", sans-serif;
28
- --gi-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;
29
- }
30
-
31
- .gi-root {
32
- color: var(--gi-text);
33
- font-family: var(--gi-font);
34
- -webkit-font-smoothing: antialiased;
35
- -moz-osx-font-smoothing: grayscale;
36
- font-synthesis: none;
37
- position: fixed;
38
- inset: 0;
39
- z-index: 2147483647;
40
- pointer-events: none;
41
- }
42
-
43
- .gi-button {
44
- align-items: center;
45
- background: var(--gi-chrome);
46
- border: 1px solid var(--gi-hairline);
47
- border-radius: 10px;
48
- bottom: 18px;
49
- box-shadow:
50
- inset 0 1px 0 rgba(255, 255, 255, 0.06),
51
- 0 1px 2px rgba(0, 0, 0, 0.6),
52
- 0 12px 32px -8px rgba(0, 0, 0, 0.6);
53
- color: var(--gi-text);
54
- cursor: pointer;
55
- display: inline-flex;
56
- font: inherit;
57
- font-size: 12.5px;
58
- font-weight: 500;
59
- gap: 8px;
60
- height: 34px;
61
- overflow: clip;
62
- padding: 0 14px;
63
- pointer-events: auto;
64
- position: fixed;
65
- right: 18px;
66
- touch-action: none;
67
- transition: border-color 120ms ease, background-color 120ms ease;
68
- white-space: nowrap;
69
- }
70
-
71
- .gi-button:hover {
72
- background: #181818;
73
- border-color: rgba(255, 255, 255, 0.16);
74
- }
75
-
76
- .gi-button-mark {
77
- background: var(--gi-accent);
78
- border-radius: 999px;
79
- box-shadow: 0 0 8px rgba(18, 160, 240, 0.8);
80
- display: inline-block;
81
- height: 6px;
82
- width: 6px;
83
- }
84
-
85
- .gi-panel {
86
- background: var(--gi-chrome);
87
- border-radius: 14px;
88
- bottom: 18px;
89
- box-shadow: var(--gi-shadow);
90
- display: flex;
91
- flex-direction: column;
92
- max-height: min(560px, calc(100vh - 36px));
93
- overflow: clip;
94
- padding: 4px;
95
- pointer-events: auto;
96
- position: fixed;
97
- right: 18px;
98
- width: min(400px, calc(100vw - 36px));
99
- }
100
-
101
- @media (prefers-reduced-motion: no-preference) {
102
- .gi-panel {
103
- animation: gi-pop-in 170ms cubic-bezier(0.32, 0.72, 0, 1);
104
- }
105
- }
106
-
107
- @keyframes gi-pop-in {
108
- from {
109
- opacity: 0;
110
- transform: scale(0.96) translateY(6px);
111
- }
112
- }
113
-
114
- .gi-body {
115
- background: var(--gi-surface);
116
- border: 1px solid var(--gi-hairline);
117
- border-radius: 10px;
118
- display: flex;
119
- flex-direction: column;
120
- min-height: 0;
121
- overflow: clip;
122
- }
123
-
124
- .gi-header {
125
- align-items: center;
126
- border-bottom: 1px solid var(--gi-hairline-soft);
127
- cursor: grab;
128
- display: flex;
129
- flex-shrink: 0;
130
- justify-content: space-between;
131
- padding: 11px 11px 11px 14px;
132
- touch-action: none;
133
- user-select: none;
134
- }
135
-
136
- .gi-header:active {
137
- cursor: grabbing;
138
- }
139
-
140
- .gi-header .gi-close {
141
- cursor: pointer;
142
- }
143
-
144
- .gi-title {
145
- font-size: 13px;
146
- font-weight: 600;
147
- letter-spacing: -0.01em;
148
- line-height: 16px;
149
- }
150
-
151
- .gi-close {
152
- align-items: center;
153
- appearance: none;
154
- background: transparent;
155
- border: 1px solid transparent;
156
- border-radius: 7px;
157
- color: var(--gi-text-muted);
158
- cursor: pointer;
159
- display: inline-flex;
160
- height: 24px;
161
- justify-content: center;
162
- padding: 0;
163
- transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease;
164
- width: 24px;
165
- }
166
-
167
- .gi-close:hover {
168
- background: rgba(255, 255, 255, 0.06);
169
- border-color: var(--gi-hairline);
170
- color: var(--gi-text-secondary);
171
- }
172
-
173
- .gi-content {
174
- display: flex;
175
- flex-direction: column;
176
- gap: 12px;
177
- min-height: 0;
178
- overflow-y: auto;
179
- padding: 14px;
180
- }
181
-
182
- .gi-content::-webkit-scrollbar {
183
- width: 8px;
184
- }
185
-
186
- .gi-content::-webkit-scrollbar-thumb {
187
- background: rgba(255, 255, 255, 0.12);
188
- background-clip: padding-box;
189
- border: 2px solid transparent;
190
- border-radius: 999px;
191
- }
192
-
193
- .gi-empty {
194
- color: var(--gi-text-muted);
195
- display: flex;
196
- flex-direction: column;
197
- font-size: 12.5px;
198
- gap: 12px;
199
- line-height: 1.55;
200
- }
201
-
202
- .gi-empty p {
203
- margin: 0;
204
- }
205
-
206
- .gi-hint {
207
- align-items: center;
208
- color: var(--gi-text-muted);
209
- display: flex;
210
- font-size: 12px;
211
- gap: 8px;
212
- }
213
-
214
- .gi-kbd {
215
- align-items: center;
216
- background: var(--gi-well);
217
- border: 1px solid var(--gi-hairline);
218
- border-radius: 5px;
219
- color: var(--gi-text-secondary);
220
- display: inline-flex;
221
- flex-shrink: 0;
222
- font-size: 11px;
223
- height: 18px;
224
- justify-content: center;
225
- line-height: 1;
226
- min-width: 18px;
227
- padding: 0 4px;
228
- }
229
-
230
- .gi-footer {
231
- align-items: center;
232
- display: flex;
233
- flex-shrink: 0;
234
- gap: 8px;
235
- justify-content: flex-end;
236
- padding: 8px 6px 4px;
237
- }
238
-
239
- .gi-ghost,
240
- .gi-primary {
241
- appearance: none;
242
- border: 0;
243
- border-radius: 8px;
244
- cursor: pointer;
245
- font: inherit;
246
- font-size: 12.5px;
247
- line-height: 16px;
248
- padding: 7px 12px;
249
- transition: background-color 120ms ease, filter 120ms ease;
250
- }
251
-
252
- .gi-ghost {
253
- background: transparent;
254
- color: var(--gi-text-secondary);
255
- font-weight: 500;
256
- }
257
-
258
- .gi-ghost:hover {
259
- background: rgba(255, 255, 255, 0.06);
260
- }
261
-
262
- .gi-primary {
263
- background: var(--gi-accent);
264
- box-shadow:
265
- inset 0 1px 0 rgba(255, 255, 255, 0.24),
266
- 0 1px 2px rgba(0, 0, 0, 0.45);
267
- color: #ffffff;
268
- font-weight: 600;
269
- }
270
-
271
- .gi-primary:hover {
272
- filter: brightness(1.08);
273
- }
274
-
275
- .gi-primary[data-state="failed"] {
276
- background: var(--gi-danger);
277
- }
278
-
279
- .gi-report-title {
280
- align-items: baseline;
281
- display: flex;
282
- gap: 7px;
283
- }
284
-
285
- .gi-metric {
286
- color: var(--gi-kind-color, var(--gi-text));
287
- font-family: var(--gi-mono);
288
- font-size: 18px;
289
- font-variant-numeric: tabular-nums;
290
- font-weight: 600;
291
- letter-spacing: -0.02em;
292
- line-height: 22px;
293
- }
294
-
295
- .gi-metric-axis {
296
- color: var(--gi-text-muted);
297
- font-size: 12px;
298
- font-weight: 500;
299
- }
300
-
301
- .gi-bar {
302
- display: flex;
303
- gap: 2px;
304
- height: 14px;
305
- }
306
-
307
- .gi-bar-segment {
308
- background: var(--gi-kind-color, var(--gi-layout));
309
- background-clip: padding-box;
310
- border-block: 4px solid transparent;
311
- border-radius: 6px;
312
- box-sizing: border-box;
313
- flex-basis: 0;
314
- min-width: 3px;
315
- }
316
-
317
- .gi-bar-segment:hover {
318
- filter: brightness(1.25);
319
- }
320
-
321
- .gi-bar-unattributed {
322
- background: repeating-linear-gradient(
323
- 135deg,
324
- rgba(255, 255, 255, 0.28) 0 2px,
325
- rgba(255, 255, 255, 0.08) 2px 5px
326
- );
327
- }
328
-
329
- .gi-equation {
330
- background: var(--gi-well);
331
- border: 1px solid var(--gi-hairline);
332
- border-radius: 9px;
333
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4);
334
- color: var(--gi-text);
335
- font-family: var(--gi-mono);
336
- font-size: 11.5px;
337
- font-variant-numeric: tabular-nums;
338
- line-height: 1.6;
339
- overflow-wrap: anywhere;
340
- padding: 9px 11px;
341
- }
342
-
343
- .gi-caps {
344
- color: var(--gi-text-muted);
345
- font-size: 10px;
346
- font-weight: 600;
347
- letter-spacing: 0.08em;
348
- text-transform: uppercase;
349
- }
350
-
351
- .gi-contribs {
352
- display: flex;
353
- flex-direction: column;
354
- }
355
-
356
- .gi-contribs .gi-caps {
357
- margin-bottom: 2px;
358
- }
359
-
360
- .gi-contrib {
361
- display: flex;
362
- flex-direction: column;
363
- gap: 4px;
364
- padding: 9px 1px;
365
- }
366
-
367
- .gi-contrib + .gi-contrib {
368
- border-top: 1px solid var(--gi-hairline-soft);
369
- }
370
-
371
- .gi-contrib:hover {
372
- background: rgba(255, 255, 255, 0.03);
373
- }
374
-
375
- .gi-contrib-row {
376
- align-items: center;
377
- display: flex;
378
- gap: 8px;
379
- }
380
-
381
- .gi-kind-label {
382
- background: color-mix(in srgb, var(--gi-kind-color) 15%, transparent);
383
- border-radius: 5px;
384
- color: var(--gi-kind-color);
385
- flex-shrink: 0;
386
- font-size: 10px;
387
- font-weight: 600;
388
- letter-spacing: 0.04em;
389
- line-height: 1;
390
- padding: 4px 6px;
391
- text-transform: uppercase;
392
- }
393
-
394
- .gi-contrib-prop {
395
- color: var(--gi-text);
396
- flex: 1;
397
- font-size: 12px;
398
- font-weight: 500;
399
- min-width: 0;
400
- overflow-wrap: anywhere;
401
- }
402
-
403
- .gi-contrib-css {
404
- color: var(--gi-text-muted);
405
- font-family: var(--gi-mono);
406
- font-size: 11px;
407
- font-weight: 400;
408
- }
409
-
410
- .gi-contrib-value {
411
- color: var(--gi-text);
412
- flex-shrink: 0;
413
- font-family: var(--gi-mono);
414
- font-size: 12px;
415
- font-variant-numeric: tabular-nums;
416
- font-weight: 600;
417
- margin-left: auto;
418
- }
419
-
420
- .gi-contrib-note {
421
- color: var(--gi-text-muted);
422
- font-size: 11.5px;
423
- line-height: 1.5;
424
- }
425
-
426
- .gi-warning {
427
- background: color-mix(in srgb, var(--gi-amber) 9%, transparent);
428
- border: 1px solid color-mix(in srgb, var(--gi-amber) 28%, transparent);
429
- border-radius: 9px;
430
- color: #f2c069;
431
- font-size: 11.5px;
432
- line-height: 1.55;
433
- padding: 8px 11px;
434
- }
435
-
436
- .gi-hovercard {
437
- background: var(--gi-surface);
438
- border: 1px solid var(--gi-hairline);
439
- border-radius: 10px;
440
- box-shadow:
441
- inset 0 1px 0 rgba(255, 255, 255, 0.06),
442
- 0 8px 24px rgba(0, 0, 0, 0.55);
443
- display: flex;
444
- flex-direction: column;
445
- gap: 6px;
446
- padding: 10px 11px;
447
- pointer-events: none;
448
- position: fixed;
449
- z-index: 10;
450
- }
451
-
452
- .gi-hovercard-row {
453
- align-items: center;
454
- display: flex;
455
- gap: 8px;
456
- }
457
-
458
- .gi-hovercard-prop {
459
- color: var(--gi-text);
460
- flex: 1;
461
- font-size: 12px;
462
- font-weight: 500;
463
- min-width: 0;
464
- overflow-wrap: anywhere;
465
- }
466
-
467
- .gi-hovercard-value {
468
- color: var(--gi-text);
469
- flex-shrink: 0;
470
- font-family: var(--gi-mono);
471
- font-size: 12px;
472
- font-variant-numeric: tabular-nums;
473
- font-weight: 600;
474
- }
475
-
476
- .gi-hovercard-selector {
477
- color: #dfe2e6;
478
- font-family: var(--gi-mono);
479
- font-size: 10.5px;
480
- line-height: 1.5;
481
- overflow-wrap: anywhere;
482
- }
483
-
484
- .gi-hovercard-meta {
485
- color: var(--gi-text-muted);
486
- font-family: var(--gi-mono);
487
- font-size: 10.5px;
488
- }
489
-
490
- .gi-hovercard-note {
491
- color: var(--gi-text-muted);
492
- font-size: 11px;
493
- line-height: 1.5;
494
- }
495
-
496
- .gi-canvas {
497
- cursor: crosshair;
498
- inset: 0;
499
- pointer-events: auto;
500
- position: fixed;
501
- touch-action: none;
502
- }
503
-
504
- .gi-canvas[data-passthrough="true"] {
505
- pointer-events: none;
506
- }
507
-
508
- .gi-svg {
509
- left: 0;
510
- overflow: visible;
511
- pointer-events: none;
512
- position: absolute;
513
- top: 0;
514
- z-index: 2147483646;
515
- }
516
-
517
- .gi-line {
518
- stroke: var(--gi-accent);
519
- stroke-dasharray: 5 5;
520
- stroke-linecap: round;
521
- stroke-width: 1.5;
522
- }
523
-
524
- .gi-gap-band {
525
- fill: rgba(18, 160, 240, 0.16);
526
- stroke: rgba(18, 160, 240, 0.8);
527
- stroke-width: 1;
528
- }
529
-
530
- .gi-preview-gap {
531
- fill: rgba(18, 160, 240, 0.1);
532
- stroke-dasharray: 4 4;
533
- }
534
-
535
- .gi-element-box {
536
- fill: rgba(18, 160, 240, 0.06);
537
- stroke: rgba(18, 160, 240, 0.85);
538
- stroke-width: 1;
539
- }
540
-
541
- .gi-preview-box {
542
- fill: rgba(18, 160, 240, 0.03);
543
- stroke-dasharray: 7 4;
544
- }
545
-
546
- .gi-contributor-box {
547
- fill: color-mix(in srgb, var(--gi-kind-color) 38%, transparent);
548
- stroke: color-mix(in srgb, var(--gi-kind-color) 85%, transparent);
549
- stroke-width: 1;
550
- }
551
-
552
- .gi-preview-contributor {
553
- opacity: 0.62;
554
- }
555
-
556
- .gi-series-box {
557
- fill: color-mix(in srgb, var(--gi-kind-color) 5%, transparent);
558
- opacity: 0.34;
559
- stroke: var(--gi-kind-color);
560
- stroke-dasharray: 2 6;
561
- stroke-width: 1;
562
- }
563
-
564
- .gi-preview-series {
565
- opacity: 0.2;
566
- }
567
-
568
- .gi-edge-marker {
569
- fill: var(--gi-accent);
570
- stroke: none;
571
- }
572
-
573
- .gi-preview-edge {
574
- fill: rgba(18, 160, 240, 0.85);
575
- }
576
-
577
- .gi-from-edge {
578
- opacity: 0.92;
579
- }
580
-
581
- .gi-to-edge {
582
- opacity: 0.92;
583
- }
584
-
585
- .gi-kind-margin {
586
- --gi-kind-color: var(--gi-margin);
587
- }
588
-
589
- .gi-kind-padding {
590
- --gi-kind-color: var(--gi-padding);
591
- }
592
-
593
- .gi-kind-border {
594
- --gi-kind-color: var(--gi-border-kind);
595
- }
596
-
597
- .gi-kind-scrollbar {
598
- --gi-kind-color: var(--gi-scrollbar);
599
- }
600
-
601
- .gi-kind-gap {
602
- --gi-kind-color: var(--gi-gap-kind);
603
- }
604
-
605
- .gi-kind-layout {
606
- --gi-kind-color: var(--gi-layout);
607
- }
608
-
609
- .gi-kind-content {
610
- --gi-kind-color: var(--gi-content);
611
- }
612
-
613
- .gi-kind-unknown {
614
- --gi-kind-color: var(--gi-unknown);
615
- }
616
-
617
- .gi-hover-box {
618
- fill: color-mix(in srgb, var(--gi-kind-color) 35%, transparent);
619
- stroke: var(--gi-kind-color);
620
- stroke-width: 1.5;
621
- }
622
-
623
- .gi-point-region {
624
- fill: color-mix(in srgb, var(--gi-kind-color) 20%, transparent);
625
- stroke: var(--gi-kind-color);
626
- stroke-dasharray: 5 3;
627
- stroke-width: 1.5;
628
- }
629
-
630
- .gi-point-dot {
631
- fill: var(--gi-kind-color);
632
- stroke: #131313;
633
- stroke-width: 2;
634
- }
635
- `;