@chrisdudek/yg 5.4.0 → 5.4.2

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,249 @@
1
+ /*
2
+ * Node Attestation panel (SHELL-panel) styles.
3
+ *
4
+ * Split from views.css so each CSS file stays a focused unit under the size cap. Tokens come
5
+ * from tokens.css (including the honest status palette); the only saturated color is a state.
6
+ */
7
+
8
+ /* ── SHELL-panel: Node Attestation ───────────────────────────────────────── */
9
+ .pan-head {
10
+ border-bottom: 1px solid var(--border-subtle);
11
+ padding-bottom: 12px;
12
+ margin-bottom: 12px;
13
+ }
14
+ /* Anchored to the panel's top-right corner (the panel is a positioned containing block in both
15
+ the wide grid-column and the narrow fixed-overlay layouts). */
16
+ .pan-close {
17
+ position: absolute;
18
+ top: 14px;
19
+ right: 14px;
20
+ z-index: 1;
21
+ border: 0;
22
+ background: none;
23
+ color: var(--text-muted);
24
+ font-size: 20px;
25
+ line-height: 1;
26
+ cursor: pointer;
27
+ padding: 2px 7px;
28
+ border-radius: 6px;
29
+ }
30
+ .pan-close:hover {
31
+ color: var(--text-primary);
32
+ background: var(--surface-2);
33
+ }
34
+ /* Aspect inspector: a flex badge row, and the rule prose as a wrapped, scrollable mono block. */
35
+ .pan-aspect .pan-meta {
36
+ display: flex;
37
+ flex-wrap: wrap;
38
+ align-items: center;
39
+ gap: 6px;
40
+ margin-top: 6px;
41
+ }
42
+ .pan-rule {
43
+ white-space: pre-wrap;
44
+ word-break: break-word;
45
+ margin: 0;
46
+ padding: 10px 12px;
47
+ border: 1px solid var(--border-subtle);
48
+ border-radius: 8px;
49
+ background: var(--surface-1);
50
+ font-family: 'JetBrains Mono', ui-monospace, monospace;
51
+ font-size: 12px;
52
+ line-height: 1.5;
53
+ color: var(--text-secondary);
54
+ max-height: 340px;
55
+ overflow-y: auto;
56
+ }
57
+ .pan-rule-h {
58
+ font-size: 11px;
59
+ color: var(--text-muted);
60
+ margin: 0 0 6px;
61
+ }
62
+ .pan-rule-code {
63
+ font-size: 11px;
64
+ max-height: 420px;
65
+ }
66
+ .pan-title {
67
+ display: flex;
68
+ align-items: center;
69
+ gap: 9px;
70
+ font-size: 15px;
71
+ font-weight: 600;
72
+ }
73
+ .pan-path {
74
+ font-size: 12px;
75
+ color: var(--text-secondary);
76
+ margin-top: 4px;
77
+ word-break: break-all;
78
+ }
79
+ .pan-meta {
80
+ font-size: 12px;
81
+ color: var(--text-muted);
82
+ margin-top: 2px;
83
+ }
84
+ .pan-desc {
85
+ font-size: 12.5px;
86
+ color: var(--text-secondary);
87
+ line-height: 1.5;
88
+ margin: 8px 0 0;
89
+ }
90
+ .pan-copy,
91
+ .pan-norule-link,
92
+ .pan-rellink,
93
+ .pan-aspname,
94
+ .pan-viol-link {
95
+ border: 0;
96
+ background: none;
97
+ font: inherit;
98
+ cursor: pointer;
99
+ color: var(--accent-text);
100
+ padding: 0;
101
+ }
102
+ .pan-copy {
103
+ margin-top: 10px;
104
+ border: 1px solid var(--border);
105
+ background: var(--bg);
106
+ border-radius: 7px;
107
+ padding: 5px 10px;
108
+ font-size: 12px;
109
+ color: var(--text-secondary);
110
+ }
111
+ .pan-sect {
112
+ border-top: 1px solid var(--surface-2);
113
+ padding: 12px 0;
114
+ }
115
+ .pan-h {
116
+ font-size: 12px;
117
+ text-transform: uppercase;
118
+ letter-spacing: 0.5px;
119
+ color: var(--text-muted);
120
+ margin: 0 0 9px;
121
+ }
122
+ .pan-count {
123
+ color: var(--text-muted);
124
+ }
125
+ .pan-asprow {
126
+ display: flex;
127
+ align-items: center;
128
+ gap: 8px;
129
+ flex-wrap: wrap;
130
+ padding: 6px 0;
131
+ font-size: 12.5px;
132
+ }
133
+ .pan-aspname {
134
+ font-weight: 500;
135
+ }
136
+ .pan-badge {
137
+ font-size: 10.5px;
138
+ border-radius: 5px;
139
+ padding: 1px 6px;
140
+ color: var(--text-secondary);
141
+ background: var(--surface-2);
142
+ }
143
+ .pan-badge-llm {
144
+ color: var(--accent-text);
145
+ }
146
+ .pan-chan {
147
+ font-size: 10px;
148
+ color: var(--text-muted);
149
+ border: 1px solid var(--border-subtle);
150
+ border-radius: 5px;
151
+ padding: 0 5px;
152
+ }
153
+ .pan-drill {
154
+ flex-basis: 100%;
155
+ border-left: 2px solid var(--verified);
156
+ padding: 6px 0 6px 10px;
157
+ margin: 2px 0 0 4px;
158
+ }
159
+ .pan-drill-h {
160
+ font-size: 11.5px;
161
+ color: var(--text-secondary);
162
+ margin-bottom: 4px;
163
+ }
164
+ .pan-check {
165
+ display: flex;
166
+ gap: 7px;
167
+ font-size: 11.5px;
168
+ }
169
+ .pan-check-c {
170
+ color: var(--verified);
171
+ }
172
+ .pan-caveat {
173
+ font-size: 11px;
174
+ color: var(--text-muted);
175
+ margin-top: 6px;
176
+ line-height: 1.45;
177
+ }
178
+ .pan-reason {
179
+ flex-basis: 100%;
180
+ border-left: 2px solid var(--refused);
181
+ margin: 4px 0 0;
182
+ padding: 4px 10px;
183
+ font-size: 12px;
184
+ color: var(--text-secondary);
185
+ }
186
+ .pan-rels,
187
+ .pan-na {
188
+ list-style: none;
189
+ margin: 0;
190
+ padding: 0;
191
+ }
192
+ .pan-rel,
193
+ .pan-na-item {
194
+ display: flex;
195
+ align-items: center;
196
+ gap: 8px;
197
+ padding: 3px 0;
198
+ font-size: 12.5px;
199
+ }
200
+ .pan-reltype {
201
+ font-size: 10.5px;
202
+ color: var(--text-muted);
203
+ border: 1px solid var(--border-subtle);
204
+ border-radius: 5px;
205
+ padding: 0 5px;
206
+ }
207
+ .pan-na-why {
208
+ color: var(--text-muted);
209
+ font-size: 11px;
210
+ }
211
+ .pan-supp {
212
+ display: flex;
213
+ align-items: center;
214
+ gap: 8px;
215
+ flex-wrap: wrap;
216
+ font-size: 12px;
217
+ margin-bottom: 8px;
218
+ }
219
+ .pan-supp-reason {
220
+ flex-basis: 100%;
221
+ color: var(--text-secondary);
222
+ font-size: 11.5px;
223
+ line-height: 1.5;
224
+ }
225
+ .pan-risk {
226
+ font-size: 10px;
227
+ color: var(--refused);
228
+ border: 1px solid var(--refused);
229
+ border-radius: 5px;
230
+ padding: 0 5px;
231
+ }
232
+ .pan-log {
233
+ margin-bottom: 10px;
234
+ }
235
+ .pan-log-when {
236
+ font-size: 11px;
237
+ color: var(--text-muted);
238
+ }
239
+ .pan-log-body {
240
+ font-size: 12.5px;
241
+ color: var(--text-secondary);
242
+ line-height: 1.5;
243
+ }
244
+ .pan-norule {
245
+ font-size: 12.5px;
246
+ color: var(--text-secondary);
247
+ line-height: 1.5;
248
+ }
249
+
@@ -0,0 +1,218 @@
1
+ /*
2
+ * Relations & Boundaries (V4) styles — the fan-in/out hubs, the live boundary (phantom /
3
+ * forbidden-type violations + the neutral declared-only class + the UNKNOWN degraded state),
4
+ * and the Canvas allowed-relations matrix with its DOM mirror.
5
+ *
6
+ * Split from views.css so each CSS file stays a focused unit under the size cap. Tokens come
7
+ * from tokens.css; relation-presence hues in the matrix are the one non-state accent and are
8
+ * clearly labelled as relation types, not verdicts.
9
+ */
10
+
11
+ /* ── V4 Relations & Boundaries ───────────────────────────────────────────── */
12
+ .rel-part {
13
+ margin-bottom: 26px;
14
+ }
15
+ .rel-parth {
16
+ font-size: 15px;
17
+ margin: 0 0 10px;
18
+ }
19
+ .rel-hubcols {
20
+ display: grid;
21
+ grid-template-columns: 1fr 1fr;
22
+ gap: 20px;
23
+ }
24
+ .rel-hubh {
25
+ font-size: 13px;
26
+ margin: 0 0 2px;
27
+ }
28
+ .rel-hubcap {
29
+ font-size: 11.5px;
30
+ color: var(--text-muted);
31
+ margin-bottom: 8px;
32
+ }
33
+ .rel-hubrow {
34
+ display: flex;
35
+ align-items: center;
36
+ gap: 10px;
37
+ width: 100%;
38
+ border: 0;
39
+ background: none;
40
+ font: inherit;
41
+ cursor: pointer;
42
+ padding: 4px 0;
43
+ text-align: left;
44
+ }
45
+ .rel-hubrow:hover {
46
+ background: var(--surface-2);
47
+ }
48
+ .rel-hubname {
49
+ flex: 1;
50
+ font-size: 12.5px;
51
+ }
52
+ .rel-hubbar {
53
+ height: 8px;
54
+ border-radius: 4px;
55
+ background: var(--accent);
56
+ opacity: 0.65;
57
+ }
58
+ .rel-hubn {
59
+ font-family: 'JetBrains Mono', ui-monospace, monospace;
60
+ font-size: 12px;
61
+ color: var(--text-secondary);
62
+ width: 28px;
63
+ text-align: right;
64
+ }
65
+ .rel-bhead {
66
+ display: flex;
67
+ align-items: center;
68
+ gap: 8px;
69
+ font-size: 11.5px;
70
+ color: var(--text-muted);
71
+ margin-bottom: 12px;
72
+ }
73
+ .rel-summary {
74
+ display: flex;
75
+ gap: 12px;
76
+ flex-wrap: wrap;
77
+ margin-bottom: 14px;
78
+ }
79
+ .rel-scard {
80
+ border: 1px solid var(--border-subtle);
81
+ border-radius: 10px;
82
+ padding: 12px 16px;
83
+ background: var(--surface-1);
84
+ min-width: 150px;
85
+ }
86
+ .rel-scard b {
87
+ font-size: 22px;
88
+ }
89
+ .rel-scard-l {
90
+ font-size: 11.5px;
91
+ color: var(--text-secondary);
92
+ margin-top: 2px;
93
+ }
94
+ .rel-scard-err {
95
+ border-color: var(--refused);
96
+ }
97
+ .rel-class {
98
+ margin-bottom: 16px;
99
+ }
100
+ .rel-classh {
101
+ font-size: 13px;
102
+ margin: 0 0 8px;
103
+ }
104
+ .rel-clean {
105
+ color: var(--verified);
106
+ font-size: 12.5px;
107
+ }
108
+ .rel-empty,
109
+ .rel-decl-intro {
110
+ color: var(--text-muted);
111
+ font-size: 12px;
112
+ }
113
+ .rel-viol {
114
+ display: flex;
115
+ align-items: center;
116
+ gap: 10px;
117
+ flex-wrap: wrap;
118
+ padding: 8px 0;
119
+ font-size: 12.5px;
120
+ }
121
+ .rel-viol-src {
122
+ border: 0;
123
+ background: none;
124
+ font: inherit;
125
+ cursor: pointer;
126
+ color: var(--text-primary);
127
+ }
128
+ .rel-stanza {
129
+ flex-basis: 100%;
130
+ margin: 4px 0 0;
131
+ padding: 8px 10px;
132
+ background: var(--surface-2);
133
+ border-radius: 7px;
134
+ font-size: 11.5px;
135
+ color: var(--text-secondary);
136
+ white-space: pre;
137
+ }
138
+ .rel-decl {
139
+ display: flex;
140
+ align-items: center;
141
+ gap: 8px;
142
+ padding: 5px 0;
143
+ font-size: 12.5px;
144
+ }
145
+ .rel-decl-mark {
146
+ color: var(--accent-text);
147
+ }
148
+ .rel-decl-note {
149
+ margin-left: auto;
150
+ color: var(--text-muted);
151
+ font-size: 11px;
152
+ }
153
+ .rel-unknown {
154
+ border: 1px dashed var(--unverified);
155
+ border-radius: 10px;
156
+ padding: 14px 16px;
157
+ background: var(--unverified-bg);
158
+ }
159
+ .rel-unknown p {
160
+ margin: 8px 0 0;
161
+ font-size: 12.5px;
162
+ color: var(--text-secondary);
163
+ line-height: 1.5;
164
+ }
165
+
166
+ /* ── V4 matrix (Canvas + DOM mirror) ─────────────────────────────────────── */
167
+ .mtx-scroll {
168
+ max-width: 100%;
169
+ overflow-x: auto;
170
+ margin-bottom: 10px;
171
+ }
172
+ .mtx-canvas {
173
+ display: block;
174
+ border: 1px solid var(--border-subtle);
175
+ border-radius: 8px;
176
+ background: var(--surface-1);
177
+ }
178
+ .mtx-legend {
179
+ display: flex;
180
+ gap: 14px;
181
+ flex-wrap: wrap;
182
+ margin: 10px 0;
183
+ font-size: 12px;
184
+ color: var(--text-secondary);
185
+ }
186
+ .mtx-legend-k {
187
+ display: inline-flex;
188
+ align-items: center;
189
+ gap: 6px;
190
+ }
191
+ .mtx-legend-empty {
192
+ color: var(--text-muted);
193
+ }
194
+ .mtx-swatch {
195
+ width: 12px;
196
+ height: 12px;
197
+ border-radius: 50%;
198
+ }
199
+ .mtx-mirror {
200
+ border: 1px solid var(--border-subtle);
201
+ border-radius: 8px;
202
+ padding: 10px 12px;
203
+ background: var(--bg);
204
+ font-size: 12px;
205
+ }
206
+ .mtx-mirror-row {
207
+ padding: 2px 0;
208
+ }
209
+ .mtx-arrow {
210
+ color: var(--text-muted);
211
+ }
212
+ .mtx-rels {
213
+ color: var(--accent-text);
214
+ }
215
+ .mtx-empty {
216
+ color: var(--text-muted);
217
+ margin: 0;
218
+ }