comprehende 0.4.0 → 0.5.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/README.md +20 -13
- package/dist/api/live.js +28 -26
- package/dist/cli/args.js +3 -3
- package/dist/cli/main.js +4 -3
- package/dist/git/repo.js +7 -0
- package/dist/git/show.js +3 -3
- package/dist/review/coverage.js +4 -2
- package/dist/server/http.js +5 -3
- package/dist/ui/assets/index-CNz9KqcH.js +1713 -0
- package/dist/ui/assets/index-DJMUAjCi.css +1 -0
- package/dist/ui/index.html +2 -2
- package/package.json +2 -1
- package/skills/comprehende/SKILL.md +43 -78
- package/skills/comprehende/references/example.md +27 -24
- package/skills/comprehende/references/review.schema.json +121 -37
- package/dist/ui/assets/index-jNrhIkrB.css +0 -1
- package/dist/ui/assets/index-wHrmWxbz.js +0 -1598
|
@@ -2,51 +2,88 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://github.com/matemolnar8/comprehende/src/schema/review.schema.json",
|
|
4
4
|
"title": "Comprehende ReviewDocument",
|
|
5
|
-
"description": "Interpretation only: groups, summaries, and hunk pointers.
|
|
5
|
+
"description": "Interpretation only: groups, summaries, and hunk pointers.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
8
|
-
"required": [
|
|
8
|
+
"required": [
|
|
9
|
+
"version",
|
|
10
|
+
"source",
|
|
11
|
+
"size",
|
|
12
|
+
"summary",
|
|
13
|
+
"groups"
|
|
14
|
+
],
|
|
9
15
|
"properties": {
|
|
10
|
-
"version": {
|
|
16
|
+
"version": {
|
|
17
|
+
"const": 1
|
|
18
|
+
},
|
|
11
19
|
"size": {
|
|
12
20
|
"type": "string",
|
|
13
|
-
"enum": [
|
|
14
|
-
|
|
21
|
+
"enum": [
|
|
22
|
+
"trivial",
|
|
23
|
+
"small",
|
|
24
|
+
"medium",
|
|
25
|
+
"large",
|
|
26
|
+
"very-large"
|
|
27
|
+
],
|
|
28
|
+
"description": "Human review burden of this change."
|
|
15
29
|
},
|
|
16
30
|
"source": {
|
|
17
31
|
"type": "object",
|
|
18
32
|
"additionalProperties": false,
|
|
19
|
-
"required": [
|
|
33
|
+
"required": [
|
|
34
|
+
"baseRef",
|
|
35
|
+
"headRef"
|
|
36
|
+
],
|
|
20
37
|
"properties": {
|
|
21
|
-
"baseRef": {
|
|
22
|
-
|
|
23
|
-
|
|
38
|
+
"baseRef": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"minLength": 1
|
|
41
|
+
},
|
|
42
|
+
"headRef": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"minLength": 1
|
|
45
|
+
},
|
|
46
|
+
"range": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"minLength": 1
|
|
49
|
+
}
|
|
24
50
|
}
|
|
25
51
|
},
|
|
26
52
|
"summary": {
|
|
27
53
|
"type": "string",
|
|
28
54
|
"minLength": 1,
|
|
29
|
-
"description": "Short what of the whole change.
|
|
55
|
+
"description": "Short what of the whole change. Name the stories."
|
|
30
56
|
},
|
|
31
57
|
"why": {
|
|
32
58
|
"type": "string",
|
|
33
59
|
"minLength": 1,
|
|
34
|
-
"description": "Generated why for the whole change
|
|
60
|
+
"description": "Generated why for the whole change, from tickets, issues, a request description, or a transcript."
|
|
35
61
|
},
|
|
36
62
|
"tickets": {
|
|
37
63
|
"type": "array",
|
|
38
64
|
"items": {
|
|
39
65
|
"type": "object",
|
|
40
66
|
"additionalProperties": false,
|
|
41
|
-
"required": [
|
|
67
|
+
"required": [
|
|
68
|
+
"id"
|
|
69
|
+
],
|
|
42
70
|
"properties": {
|
|
43
|
-
"id": {
|
|
44
|
-
|
|
45
|
-
|
|
71
|
+
"id": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"minLength": 1
|
|
74
|
+
},
|
|
75
|
+
"url": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"minLength": 1
|
|
78
|
+
},
|
|
79
|
+
"title": {
|
|
80
|
+
"type": "string",
|
|
81
|
+
"minLength": 1
|
|
82
|
+
},
|
|
46
83
|
"part": {
|
|
47
84
|
"type": "string",
|
|
48
85
|
"minLength": 1,
|
|
49
|
-
"description": "Short name of the independent story this ticket belongs to. Same name as the
|
|
86
|
+
"description": "Short name of the independent story this ticket belongs to. Same name as the groups in that story."
|
|
50
87
|
}
|
|
51
88
|
}
|
|
52
89
|
}
|
|
@@ -56,38 +93,61 @@
|
|
|
56
93
|
"items": {
|
|
57
94
|
"type": "object",
|
|
58
95
|
"additionalProperties": false,
|
|
59
|
-
"required": [
|
|
96
|
+
"required": [
|
|
97
|
+
"id",
|
|
98
|
+
"title",
|
|
99
|
+
"why",
|
|
100
|
+
"summary",
|
|
101
|
+
"suggestedOrder",
|
|
102
|
+
"hunkRefs"
|
|
103
|
+
],
|
|
60
104
|
"properties": {
|
|
61
|
-
"id": {
|
|
62
|
-
|
|
105
|
+
"id": {
|
|
106
|
+
"type": "string",
|
|
107
|
+
"minLength": 1
|
|
108
|
+
},
|
|
109
|
+
"title": {
|
|
110
|
+
"type": "string",
|
|
111
|
+
"minLength": 1
|
|
112
|
+
},
|
|
63
113
|
"why": {
|
|
64
114
|
"type": "string",
|
|
65
115
|
"minLength": 1,
|
|
66
|
-
"description": "Generated why this
|
|
116
|
+
"description": "Generated why this group exists. From a source when one applies, or that it enables later groups in the same story."
|
|
67
117
|
},
|
|
68
118
|
"summary": {
|
|
69
119
|
"type": "string",
|
|
70
|
-
"description": "One sentence: what this
|
|
120
|
+
"description": "One sentence: what this group is."
|
|
71
121
|
},
|
|
72
122
|
"lookFor": {
|
|
73
123
|
"type": "array",
|
|
74
|
-
"description": "Scannable bullets of what to inspect.
|
|
75
|
-
"items": {
|
|
124
|
+
"description": "Scannable bullets of what to inspect.",
|
|
125
|
+
"items": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"minLength": 1
|
|
128
|
+
}
|
|
76
129
|
},
|
|
77
130
|
"dependsOn": {
|
|
78
131
|
"type": "array",
|
|
79
|
-
"description": "Ids of earlier
|
|
80
|
-
"items": {
|
|
132
|
+
"description": "Ids of earlier groups this one depends on. Same story only.",
|
|
133
|
+
"items": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"minLength": 1
|
|
136
|
+
}
|
|
81
137
|
},
|
|
82
138
|
"part": {
|
|
83
139
|
"type": "string",
|
|
84
140
|
"minLength": 1,
|
|
85
|
-
"description": "Short name of the independent story this
|
|
141
|
+
"description": "Short name of the independent story this group belongs to. Same name = same story. Different names could have been separate PRs."
|
|
142
|
+
},
|
|
143
|
+
"suggestedOrder": {
|
|
144
|
+
"type": "number"
|
|
86
145
|
},
|
|
87
|
-
"suggestedOrder": { "type": "number" },
|
|
88
146
|
"hunkRefs": {
|
|
89
147
|
"type": "array",
|
|
90
|
-
"items": {
|
|
148
|
+
"items": {
|
|
149
|
+
"$ref": "#/$defs/hunkRef"
|
|
150
|
+
}
|
|
91
151
|
}
|
|
92
152
|
}
|
|
93
153
|
}
|
|
@@ -96,17 +156,41 @@
|
|
|
96
156
|
"$defs": {
|
|
97
157
|
"hunkRef": {
|
|
98
158
|
"type": "object",
|
|
99
|
-
"description": "Copy from comprehende index. Identity is (path, oldStart, newStart), plus oldPath when renamed.
|
|
159
|
+
"description": "Copy from comprehende index. Identity is (path, oldStart, newStart), plus oldPath when renamed.",
|
|
100
160
|
"additionalProperties": false,
|
|
101
|
-
"required": [
|
|
161
|
+
"required": [
|
|
162
|
+
"path",
|
|
163
|
+
"oldStart",
|
|
164
|
+
"oldLines",
|
|
165
|
+
"newStart",
|
|
166
|
+
"newLines"
|
|
167
|
+
],
|
|
102
168
|
"properties": {
|
|
103
|
-
"path": {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
"
|
|
108
|
-
|
|
169
|
+
"path": {
|
|
170
|
+
"type": "string",
|
|
171
|
+
"minLength": 1
|
|
172
|
+
},
|
|
173
|
+
"oldPath": {
|
|
174
|
+
"type": "string",
|
|
175
|
+
"minLength": 1
|
|
176
|
+
},
|
|
177
|
+
"oldStart": {
|
|
178
|
+
"type": "integer",
|
|
179
|
+
"minimum": 0
|
|
180
|
+
},
|
|
181
|
+
"oldLines": {
|
|
182
|
+
"type": "integer",
|
|
183
|
+
"minimum": 0
|
|
184
|
+
},
|
|
185
|
+
"newStart": {
|
|
186
|
+
"type": "integer",
|
|
187
|
+
"minimum": 0
|
|
188
|
+
},
|
|
189
|
+
"newLines": {
|
|
190
|
+
"type": "integer",
|
|
191
|
+
"minimum": 0
|
|
192
|
+
}
|
|
109
193
|
}
|
|
110
194
|
}
|
|
111
195
|
}
|
|
112
|
-
}
|
|
196
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(./ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(./ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(./ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(./ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(./ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(./ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(./ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(./ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(./ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(./ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(./ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(./ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(./ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(./ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(./ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(./ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(./ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(./ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(./ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(./ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(./source-serif-4-cyrillic-ext-400-normal-CWV284fw.woff2) format("woff2"),url(./source-serif-4-cyrillic-ext-400-normal-DLkyKLvH.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(./source-serif-4-cyrillic-400-normal-C44pakCn.woff2) format("woff2"),url(./source-serif-4-cyrillic-400-normal-B8Z6Jvzv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(./source-serif-4-greek-400-normal-Cw5-AHNN.woff2) format("woff2"),url(./source-serif-4-greek-400-normal-BccYJ-vZ.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(./source-serif-4-vietnamese-400-normal-BbG3LG1A.woff2) format("woff2"),url(./source-serif-4-vietnamese-400-normal-DR1UuFon.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(./source-serif-4-latin-ext-400-normal-Cp7z-ARB.woff2) format("woff2"),url(./source-serif-4-latin-ext-400-normal-CEpydyUl.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(./source-serif-4-latin-400-normal-DJ5YJwmz.woff2) format("woff2"),url(./source-serif-4-latin-400-normal-Dn3IlU-Z.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(./source-serif-4-cyrillic-ext-600-normal-D_E8FDgP.woff2) format("woff2"),url(./source-serif-4-cyrillic-ext-600-normal-DiT2IGQm.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(./source-serif-4-cyrillic-600-normal-BDP5YDHD.woff2) format("woff2"),url(./source-serif-4-cyrillic-600-normal-DFnC3vAY.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(./source-serif-4-greek-600-normal-DdRkKr-1.woff2) format("woff2"),url(./source-serif-4-greek-600-normal-DhXQw1Kl.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(./source-serif-4-vietnamese-600-normal-CznyfUKR.woff2) format("woff2"),url(./source-serif-4-vietnamese-600-normal-B0WJbuqT.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(./source-serif-4-latin-ext-600-normal-0sIUyHMO.woff2) format("woff2"),url(./source-serif-4-latin-ext-600-normal-C6NNqpJh.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(./source-serif-4-latin-600-normal-DouSKlru.woff2) format("woff2"),url(./source-serif-4-latin-600-normal-DMD1h6_f.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@keyframes wait-walk{0%{top:-40%}to{top:100%}}@media(prefers-reduced-motion:no-preference){.wait-gutter-walker{animation:wait-walk 1.7s var(--motion-ease) infinite}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-normal:400;--font-weight-medium:500;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--default-mono-font-family:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border)}html,body,#root{height:100%}html{view-transition-name:none}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:IBM Plex Sans,ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:1.55}code,pre,kbd{font-family:var(--font-mono)}.image-stage{background-color:var(--diff-canvas);background-image:repeating-conic-gradient(var(--muted) 0% 25%,var(--diff-canvas) 0% 50%);box-shadow:inset 0 0 0 1px var(--border);background-size:12px 12px}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\/2{top:50%}.top-\[28\%\]{top:28%}.left-0{left:0}.z-1{z-index:1}.z-10{z-index:10}.z-50{z-index:50}.m-0{margin:0}.mx-1{margin-inline:var(--spacing)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-px{margin-top:1px}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-full{width:100%;height:100%}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[1\.1rem\]{height:1.1rem}.h-\[44\%\]{height:44%}.h-auto{height:auto}.h-full{height:100%}.min-h-0{min-height:0}.w-0\.5{width:calc(var(--spacing) * .5)}.w-2{width:calc(var(--spacing) * 2)}.w-3{width:calc(var(--spacing) * 3)}.w-5{width:calc(var(--spacing) * 5)}.w-\[3px\]{width:3px}.w-\[calc\(100\%-24px\)\]{width:calc(100% - 24px)}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\[68ch\]{max-width:68ch}.max-w-full{max-width:100%}.max-w-none{max-width:none}.min-w-0{min-width:0}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-90{rotate:-90deg}.cursor-col-resize{cursor:col-resize}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.auto-cols-\[minmax\(16rem\,1fr\)\]{grid-auto-columns:minmax(16rem,1fr)}.grid-flow-col{grid-auto-flow:column}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-0{gap:0}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[0\.28rem\]{gap:.28rem}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:var(--spacing)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-\[1px\]{border-radius:1px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:calc(var(--radius) * 1.3)}.rounded-md{border-radius:var(--radius)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) * .7)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-transparent{border-color:#0000}.bg-\[var\(--diff-canvas\)\]{background-color:var(--diff-canvas)}.bg-add,.bg-add\/38{background-color:var(--add)}@supports (color:color-mix(in lab,red,red)){.bg-add\/38{background-color:color-mix(in oklab,var(--add) 38%,transparent)}}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-del,.bg-del\/38{background-color:var(--del)}@supports (color:color-mix(in lab,red,red)){.bg-del\/38{background-color:color-mix(in oklab,var(--del) 38%,transparent)}}.bg-destructive,.bg-destructive\/20{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/20{background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.p-0{padding:0}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-1{padding-bottom:var(--spacing)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-left{text-align:left}.font-mono{font-family:IBM Plex Mono,ui-monospace,SF Mono,Menlo,monospace}.font-sans{font-family:IBM Plex Sans,ui-sans-serif,system-ui,sans-serif}.font-serif{font-family:"Source Serif 4",Iowan Old Style,Georgia,serif}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[1\.75rem\]{font-size:1.75rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.text-add{color:var(--add)}.text-background{color:var(--background)}.text-del{color:var(--del)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-warn{color:var(--warn)}.text-white{color:var(--color-white)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.accent-primary{accent-color:var(--primary)}.opacity-45{opacity:.45}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-0:after{content:var(--tw-content);inset-block:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-px:after{content:var(--tw-content);width:1px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.after\:bg-border:after{content:var(--tw-content);background-color:var(--border)}.last\:mb-0:last-child{margin-bottom:0}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-warn:hover{color:var(--warn)}.hover\:underline:hover{text-decoration-line:underline}.hover\:after\:bg-primary\/60:hover:after{content:var(--tw-content);background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-primary\/60:hover:after{background-color:color-mix(in oklab,var(--primary) 60%,transparent)}}.hover\:after\:bg-primary\/70:hover:after{content:var(--tw-content);background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-primary\/70:hover:after{background-color:color-mix(in oklab,var(--primary) 70%,transparent)}}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-\[orientation\=horizontal\]\:h-2[aria-orientation=horizontal]{height:calc(var(--spacing) * 2)}.aria-\[orientation\=horizontal\]\:w-full[aria-orientation=horizontal]{width:100%}.aria-\[orientation\=horizontal\]\:after\:left-0[aria-orientation=horizontal]:after{content:var(--tw-content);left:0}.aria-\[orientation\=horizontal\]\:after\:h-px[aria-orientation=horizontal]:after{content:var(--tw-content);height:1px}.aria-\[orientation\=horizontal\]\:after\:w-full[aria-orientation=horizontal]:after{content:var(--tw-content);width:100%}.aria-\[orientation\=horizontal\]\:after\:translate-x-0[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.aria-\[orientation\=horizontal\]\:after\:-translate-y-1\/2[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.aria-\[orientation\=vertical\]\:flex-col[aria-orientation=vertical]{flex-direction:column}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=delayed-open\]\:animate-in[data-state=delayed-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=delayed-open\]\:fade-in-0[data-state=delayed-open]{--tw-enter-opacity:0}.data-\[state\=instant-open\]\:animate-in[data-state=instant-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=instant-open\]\:fade-in-0[data-state=instant-open]{--tw-enter-opacity:0}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--accent)}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--accent-foreground)}@media(prefers-reduced-motion:no-preference){.motion-safe\:after\:transition-colors:after{content:var(--tw-content);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{color-scheme:light;--motion:.18s;--motion-brief:.5s;--motion-brief-gap:50ms;--motion-ease:cubic-bezier(.2, .8, .2, 1);--radius:.45rem;--background:#f4f6f8;--foreground:#171b22;--card:#fff;--card-foreground:#171b22;--popover:#fff;--popover-foreground:#171b22;--primary:#3d4fd8;--primary-foreground:#fff;--secondary:#e8ecf1;--secondary-foreground:#171b22;--muted:#e8ecf1;--muted-foreground:#5c6570;--accent:#e4e8f4;--accent-foreground:#171b22;--destructive:#cf222e;--border:#d5dbe3;--input:#d5dbe3;--ring:#3d4fd8;--add:#1a7f37;--del:#cf222e;--warn:#9a6700;--add-bg:#1a7f3729;--del-bg:#cf222e29;--diff-canvas:#fff;--diff-fg:#1f2328;--diff-add-line:#e6ffec;--diff-add-num:#ccffd8;--diff-add-word:#abf2bc;--diff-del-line:#ffebe9;--diff-del-num:#ffd7d5;--diff-del-word:#ff818266;--diff-hunk:#ddf4ff;--diff-hover:#f6f8fa;--strand-0:#2458b5;--strand-1:#9a5b00;--strand-2:#6b3d96;--strand-3:#0b6e78;--strand-4:#9a356e;--strand-5:#3a5366}.dark{color-scheme:dark;--background:#12151c;--foreground:#e6eaf0;--card:#1a1e27;--card-foreground:#e6eaf0;--popover:#1a1e27;--popover-foreground:#e6eaf0;--primary:#8b9cff;--primary-foreground:#12151c;--secondary:#252a33;--secondary-foreground:#e6eaf0;--muted:#252a33;--muted-foreground:#8b939e;--accent:#2a3148;--accent-foreground:#e6eaf0;--destructive:#f85149;--border:#2c3340;--input:#2c3340;--ring:#8b9cff;--add:#3fb950;--del:#f85149;--warn:#d4a017;--add-bg:#3fb95029;--del-bg:#f8514929;--diff-canvas:#0d1117;--diff-fg:#e6edf3;--diff-add-line:#2ea04326;--diff-add-num:#2ea04366;--diff-add-word:#2ea04366;--diff-del-line:#f8514926;--diff-del-num:#f8514966;--diff-del-word:#f8514966;--diff-hunk:#388bfd1a;--diff-hover:#161b22;--strand-0:#8fb4f0;--strand-1:#e0a64a;--strand-2:#c9a3e8;--strand-3:#6ed0d6;--strand-4:#e399c0;--strand-5:#9ab0c2}@media(prefers-reduced-motion:no-preference){[data-slot=button],[data-slot=toggle],[data-slot=badge]{transition-property:color,background-color,border-color,box-shadow,opacity;transition-duration:var(--motion);transition-timing-function:var(--motion-ease)}.review-main{scroll-behavior:smooth}.hunk-card{transition:border-color var(--motion) var(--motion-ease)}.hunk-chevron{transition:transform var(--motion) var(--motion-ease)}.file-path{transition:color var(--motion) var(--motion-ease)}.stack-strand{transition:opacity var(--motion) var(--motion-ease)}.stack-selection{transition-property:top,left,width,height;transition-duration:var(--motion);transition-timing-function:var(--motion-ease)}[data-slot=resizable-handle]:after{transition:background-color var(--motion) var(--motion-ease)}}html[data-motion=layer] .review-brief-strand{view-transition-name:review-strand}html[data-motion=layer] .review-brief-copy{view-transition-name:review-copy}html[data-motion=layer] .review-overview{view-transition-name:review-overview}html[data-motion=scene] .review-scene{view-transition-name:review-scene}.review-brief{align-items:stretch;gap:1rem;margin-bottom:2rem;display:flex}.review-brief-strand{border-radius:1px;flex:none;width:3px}.review-brief-copy{flex:1;min-width:0}::view-transition-old(review-strand){mix-blend-mode:normal;animation-timing-function:var(--motion-ease);animation-fill-mode:both}::view-transition-new(review-strand){mix-blend-mode:normal;animation-timing-function:var(--motion-ease);animation-fill-mode:both}::view-transition-old(review-copy){mix-blend-mode:normal;animation-timing-function:var(--motion-ease);animation-fill-mode:both}::view-transition-new(review-copy){mix-blend-mode:normal;animation-timing-function:var(--motion-ease);animation-fill-mode:both}::view-transition-old(review-overview){mix-blend-mode:normal;animation-timing-function:var(--motion-ease);animation-fill-mode:both}::view-transition-new(review-overview){mix-blend-mode:normal;animation-timing-function:var(--motion-ease);animation-fill-mode:both}::view-transition-old(review-scene){mix-blend-mode:normal;animation-timing-function:var(--motion-ease);animation-fill-mode:both}::view-transition-new(review-scene){mix-blend-mode:normal;animation-timing-function:var(--motion-ease);animation-fill-mode:both}::view-transition-old(review-strand){height:100%;animation-duration:var(--motion-brief);overflow:clip}::view-transition-new(review-strand){height:100%;animation-duration:var(--motion-brief);overflow:clip}::view-transition-old(review-strand){animation-name:motion-fade-out}::view-transition-new(review-strand){animation-name:motion-fade-in}::view-transition-group(review-strand){animation-duration:var(--motion-brief);animation-timing-function:var(--motion-ease)}::view-transition-image-pair(review-strand){isolation:isolate}::view-transition-old(review-copy){animation-name:motion-slide-down-out;animation-duration:calc((var(--motion-brief) - var(--motion-brief-gap)) / 2)}::view-transition-new(review-copy){animation-name:motion-slide-up-in;animation-duration:calc((var(--motion-brief) - var(--motion-brief-gap)) / 2);animation-delay:calc((var(--motion-brief) + var(--motion-brief-gap)) / 2)}::view-transition-group(review-copy){animation:none}::view-transition-old(review-overview){animation-name:motion-fade-out;animation-duration:var(--motion-brief)}::view-transition-new(review-overview){animation-name:motion-fade-in;animation-duration:var(--motion-brief)}::view-transition-group(review-overview){animation:none}::view-transition-old(review-scene){animation-name:motion-fade-out;animation-duration:var(--motion)}::view-transition-new(review-scene){animation-name:motion-fade-in;animation-duration:var(--motion)}::view-transition-group(review-scene){animation-duration:var(--motion);animation-timing-function:var(--motion-ease)}::view-transition-image-pair(review-scene){isolation:isolate}.stack{position:relative}.stack-item-active{background-color:var(--accent)}.stack-selection{display:none}.stack-strand{pointer-events:none;z-index:1;background-color:var(--strand,var(--primary));border-radius:9999px;width:.125rem;position:absolute;inset:.375rem auto .375rem 0}.stack-item:hover:not(.stack-item-active){background-color:var(--accent)}@supports (anchor-name:--stack-active){.stack-item-active{anchor-name:--stack-active;background-color:#0000}.stack-selection{pointer-events:none;z-index:0;position-anchor:--stack-active;top:anchor(top);left:anchor(left);width:anchor-size(width);height:anchor-size(height);border-radius:var(--radius);background-color:var(--accent);display:block;position:absolute}}@keyframes motion-fade-out{to{opacity:0}}@keyframes motion-fade-in{0%{opacity:0}}@keyframes motion-slide-down-out{to{opacity:0;translate:0 .75rem}}@keyframes motion-slide-up-in{0%{opacity:0;translate:0 .75rem}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
|