@starci/grammar 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +22 -20
  3. package/dist/common/index.d.ts +1 -69
  4. package/dist/common/index.d.ts.map +1 -1
  5. package/dist/common/index.js +5 -197
  6. package/dist/common/index.js.map +1 -1
  7. package/dist/common/styles.css +2 -2
  8. package/dist/core/LeadingNumber.d.ts +12 -0
  9. package/dist/core/LeadingNumber.d.ts.map +1 -0
  10. package/dist/core/LeadingNumber.js +10 -0
  11. package/dist/core/LeadingNumber.js.map +1 -0
  12. package/dist/core/OtpInput.d.ts +12 -0
  13. package/dist/core/OtpInput.d.ts.map +1 -0
  14. package/dist/core/OtpInput.js +21 -0
  15. package/dist/core/OtpInput.js.map +1 -0
  16. package/dist/core/StateMark.d.ts +3 -1
  17. package/dist/core/StateMark.d.ts.map +1 -1
  18. package/dist/core/StateMark.js +3 -2
  19. package/dist/core/StateMark.js.map +1 -1
  20. package/dist/core/branch/MarkdownArticle/classNames.d.ts +9 -0
  21. package/dist/core/branch/MarkdownArticle/classNames.d.ts.map +1 -0
  22. package/dist/core/branch/MarkdownArticle/classNames.js +10 -0
  23. package/dist/core/branch/MarkdownArticle/classNames.js.map +1 -0
  24. package/dist/core/branch/MarkdownArticle/index.d.ts +30 -0
  25. package/dist/core/branch/MarkdownArticle/index.d.ts.map +1 -0
  26. package/dist/core/branch/MarkdownArticle/index.js +12 -0
  27. package/dist/core/branch/MarkdownArticle/index.js.map +1 -0
  28. package/dist/core/branch/Rail/classNames.d.ts +9 -0
  29. package/dist/core/branch/Rail/classNames.d.ts.map +1 -0
  30. package/dist/core/branch/Rail/classNames.js +10 -0
  31. package/dist/core/branch/Rail/classNames.js.map +1 -0
  32. package/dist/core/branch/Rail/index.d.ts +15 -7
  33. package/dist/core/branch/Rail/index.d.ts.map +1 -1
  34. package/dist/core/branch/Rail/index.js +19 -3
  35. package/dist/core/branch/Rail/index.js.map +1 -1
  36. package/dist/core/branch/SurfaceAccordionCard/classNames.d.ts +15 -0
  37. package/dist/core/branch/SurfaceAccordionCard/classNames.d.ts.map +1 -0
  38. package/dist/core/branch/SurfaceAccordionCard/classNames.js +16 -0
  39. package/dist/core/branch/SurfaceAccordionCard/classNames.js.map +1 -0
  40. package/dist/core/branch/SurfaceAccordionCard/index.d.ts +37 -0
  41. package/dist/core/branch/SurfaceAccordionCard/index.d.ts.map +1 -0
  42. package/dist/core/branch/SurfaceAccordionCard/index.js +24 -0
  43. package/dist/core/branch/SurfaceAccordionCard/index.js.map +1 -0
  44. package/dist/core/branch/SurfaceCard/classNames.d.ts +13 -0
  45. package/dist/core/branch/SurfaceCard/classNames.d.ts.map +1 -0
  46. package/dist/core/branch/SurfaceCard/classNames.js +14 -0
  47. package/dist/core/branch/SurfaceCard/classNames.js.map +1 -0
  48. package/dist/core/branch/SurfaceCard/index.d.ts +9 -6
  49. package/dist/core/branch/SurfaceCard/index.d.ts.map +1 -1
  50. package/dist/core/branch/SurfaceCard/index.js +7 -3
  51. package/dist/core/branch/SurfaceCard/index.js.map +1 -1
  52. package/dist/core/branch/SurfaceListCard/classNames.d.ts +11 -0
  53. package/dist/core/branch/SurfaceListCard/classNames.d.ts.map +1 -0
  54. package/dist/core/branch/SurfaceListCard/classNames.js +12 -0
  55. package/dist/core/branch/SurfaceListCard/classNames.js.map +1 -0
  56. package/dist/core/branch/SurfaceListCard/index.d.ts +11 -15
  57. package/dist/core/branch/SurfaceListCard/index.d.ts.map +1 -1
  58. package/dist/core/branch/SurfaceListCard/index.js +6 -11
  59. package/dist/core/branch/SurfaceListCard/index.js.map +1 -1
  60. package/dist/core/classNames.d.ts +23 -0
  61. package/dist/core/classNames.d.ts.map +1 -0
  62. package/dist/core/classNames.js +24 -0
  63. package/dist/core/classNames.js.map +1 -0
  64. package/dist/core/composite/HorizontalScrollRegion/index.d.ts +7 -0
  65. package/dist/core/composite/HorizontalScrollRegion/index.d.ts.map +1 -0
  66. package/dist/core/composite/HorizontalScrollRegion/index.js +7 -0
  67. package/dist/core/composite/HorizontalScrollRegion/index.js.map +1 -0
  68. package/dist/core/composite/StaticStateRow/index.d.ts +13 -0
  69. package/dist/core/composite/StaticStateRow/index.d.ts.map +1 -0
  70. package/dist/core/composite/StaticStateRow/index.js +12 -0
  71. package/dist/core/composite/StaticStateRow/index.js.map +1 -0
  72. package/dist/core/composite/VerticalScrollRegion/index.d.ts +8 -0
  73. package/dist/core/composite/VerticalScrollRegion/index.d.ts.map +1 -0
  74. package/dist/core/composite/VerticalScrollRegion/index.js +10 -0
  75. package/dist/core/composite/VerticalScrollRegion/index.js.map +1 -0
  76. package/dist/core/index.d.ts +12 -7
  77. package/dist/core/index.d.ts.map +1 -1
  78. package/dist/core/index.js +11 -7
  79. package/dist/core/index.js.map +1 -1
  80. package/dist/core/scrollable-surfaces.spec.d.ts +2 -0
  81. package/dist/core/scrollable-surfaces.spec.d.ts.map +1 -0
  82. package/dist/core/scrollable-surfaces.spec.js +37 -0
  83. package/dist/core/scrollable-surfaces.spec.js.map +1 -0
  84. package/dist/core/state.d.ts +4 -4
  85. package/dist/core/state.d.ts.map +1 -1
  86. package/dist/core/state.js +3 -3
  87. package/dist/core/state.js.map +1 -1
  88. package/dist/core/styles.css +598 -193
  89. package/dist/offset-pop/styles.css +393 -393
  90. package/package.json +68 -72
  91. package/dist/core/contracts.d.ts +0 -190
  92. package/dist/core/contracts.d.ts.map +0 -1
  93. package/dist/core/contracts.js +0 -91
  94. package/dist/core/contracts.js.map +0 -1
  95. package/dist/core/grammar.d.ts +0 -18
  96. package/dist/core/grammar.d.ts.map +0 -1
  97. package/dist/core/grammar.js +0 -27
  98. package/dist/core/grammar.js.map +0 -1
  99. package/dist/core/rules.d.ts +0 -45
  100. package/dist/core/rules.d.ts.map +0 -1
  101. package/dist/core/rules.js +0 -45
  102. package/dist/core/rules.js.map +0 -1
  103. package/dist/offset-pop/index.d.ts +0 -266
  104. package/dist/offset-pop/index.d.ts.map +0 -1
  105. package/dist/offset-pop/index.js +0 -69
  106. package/dist/offset-pop/index.js.map +0 -1
@@ -1,193 +1,598 @@
1
- @layer starci-grammar-core {
2
- .starci-core-surface-card,
3
- .starci-core-surface-list {
4
- container-name: starci-core-surface;
5
- container-type: inline-size;
6
- display: flex;
7
- min-width: 0;
8
- width: 100%;
9
- flex-direction: column;
10
- gap: var(--starci-core-section-gap, 0.75rem);
11
- }
12
-
13
- .starci-core-surface-label {
14
- display: flex;
15
- min-width: 0;
16
- align-items: baseline;
17
- justify-content: space-between;
18
- gap: var(--starci-core-inline-gap, 0.5rem);
19
- }
20
-
21
- .starci-core-surface-label > :first-child {
22
- min-width: 0;
23
- margin: 0;
24
- }
25
-
26
- .starci-core-surface {
27
- position: relative;
28
- min-width: 0;
29
- overflow: hidden;
30
- border-radius: var(--starci-core-surface-radius, 1rem);
31
- background: var(--surface);
32
- color: var(--surface-foreground);
33
- }
34
-
35
- .starci-core-surface[data-grammar-surface-depth="top"] {
36
- border: 0;
37
- box-shadow: var(--starci-core-surface-shadow, var(--shadow-surface));
38
- }
39
-
40
- .starci-core-surface[data-grammar-surface-depth="nested"] {
41
- border: 1px solid var(--border);
42
- box-shadow: none;
43
- }
44
-
45
- .starci-core-surface-content {
46
- min-width: 0;
47
- padding: var(--starci-core-surface-inset, 1rem);
48
- }
49
-
50
- [data-grammar-whole-action] {
51
- position: absolute;
52
- z-index: 1;
53
- inset: 0;
54
- border: 0;
55
- border-radius: inherit;
56
- background: transparent;
57
- color: inherit;
58
- cursor: pointer;
59
- }
60
-
61
- [data-grammar-whole-action]:focus-visible {
62
- outline: 2px solid var(--focus);
63
- outline-offset: -2px;
64
- }
65
-
66
- [data-grammar-whole-action][aria-disabled="true"],
67
- [data-grammar-whole-action]:disabled {
68
- cursor: not-allowed;
69
- }
70
-
71
- [data-grammar-state="unavailable"] {
72
- opacity: var(--starci-core-disabled-opacity, 0.55);
73
- }
74
-
75
- [data-grammar-state="pending"] {
76
- cursor: progress;
77
- }
78
-
79
- .starci-core-list-shell {
80
- padding: 0;
81
- }
82
-
83
- .starci-core-static-list {
84
- display: flex;
85
- margin: 0;
86
- padding: 0;
87
- flex-direction: column;
88
- list-style: none;
89
- }
90
-
91
- .starci-core-static-row,
92
- .starci-core-empty-row {
93
- display: flex;
94
- min-width: 0;
95
- margin: 0;
96
- align-items: flex-start;
97
- gap: var(--starci-core-row-gap, 0.75rem);
98
- padding: var(--starci-core-row-inset, 1rem);
99
- }
100
-
101
- .starci-core-static-row + .starci-core-static-row {
102
- border-top: 1px solid var(--separator);
103
- }
104
-
105
- .starci-core-static-row-copy {
106
- display: flex;
107
- min-width: 0;
108
- flex: 1;
109
- flex-direction: column;
110
- gap: var(--starci-core-copy-gap, 0.25rem);
111
- }
112
-
113
- .starci-core-static-row-copy > :last-child:not(:first-child) {
114
- color: var(--muted);
115
- }
116
-
117
- [data-grammar-state-mark="check"] {
118
- width: 1.25rem;
119
- height: 1.25rem;
120
- flex: none;
121
- color: var(--success);
122
- }
123
-
124
- .starci-core-rail {
125
- container-name: starci-core-rail;
126
- container-type: inline-size;
127
- width: 100%;
128
- min-width: 0;
129
- }
130
-
131
- .starci-core-rail[data-grammar-rail-width="compact"] {
132
- max-width: var(--starci-core-rail-compact, 16rem);
133
- }
134
-
135
- .starci-core-rail[data-grammar-rail-width="standard"] {
136
- max-width: var(--starci-core-rail-standard, 20rem);
137
- }
138
-
139
- .starci-core-rail[data-grammar-rail-width="wide"] {
140
- max-width: var(--starci-core-rail-wide, 24rem);
141
- }
142
-
143
- .starci-core-rail-frame {
144
- display: flex;
145
- min-width: 0;
146
- max-height: calc(100dvh - var(--starci-core-rail-offset, 5.5rem) - 1.5rem);
147
- flex-direction: column;
148
- gap: var(--starci-core-rail-gap, 1rem);
149
- }
150
-
151
- .starci-core-rail[data-grammar-rail-mode="sticky"] .starci-core-rail-frame {
152
- position: sticky;
153
- top: var(--starci-core-rail-offset, 5.5rem);
154
- }
155
-
156
- .starci-core-rail-body {
157
- min-height: 0;
158
- overflow-y: auto;
159
- overscroll-behavior: contain;
160
- }
161
-
162
- .starci-core-rail-footer {
163
- flex: none;
164
- }
165
-
166
- @container starci-core-surface (max-width: 28rem) {
167
- .starci-core-surface-label {
168
- align-items: flex-start;
169
- flex-direction: column;
170
- }
171
-
172
- .starci-core-static-row {
173
- gap: var(--starci-core-row-gap-compact, 0.5rem);
174
- }
175
- }
176
-
177
- @container starci-core-rail (max-width: 18rem) {
178
- .starci-core-rail-frame {
179
- gap: var(--starci-core-rail-gap-compact, 0.75rem);
180
- }
181
- }
182
-
183
- @media (max-width: 47.999rem) {
184
- .starci-core-rail[data-grammar-rail-mode="sticky"] .starci-core-rail-frame {
185
- position: static;
186
- max-height: none;
187
- }
188
-
189
- .starci-core-rail-body {
190
- overflow-y: visible;
191
- }
192
- }
193
- }
1
+ @layer starci-grammar-core {
2
+ .starci-core-form-page {
3
+ display: flex;
4
+ min-height: 100dvh;
5
+ padding: 1.5rem 1rem;
6
+ align-items: center;
7
+ justify-content: center;
8
+ overflow: hidden;
9
+ }
10
+
11
+ .starci-core-form-scroll-viewport {
12
+ width: 100%;
13
+ max-height: calc(100dvh - 3rem);
14
+ overscroll-behavior: contain;
15
+ }
16
+
17
+ .starci-core-form-surface {
18
+ display: flex;
19
+ width: min(100%, var(--starci-core-form-measure, 30rem));
20
+ min-width: 0;
21
+ flex-direction: column;
22
+ gap: var(--starci-core-section-gap, 0.75rem);
23
+ }
24
+
25
+ .starci-core-form-surface--compact {
26
+ width: min(100%, var(--starci-core-form-compact-measure, 28rem));
27
+ }
28
+
29
+ .starci-core-form-surface > .card {
30
+ max-height: calc(100dvh - 3rem);
31
+ overflow: hidden !important;
32
+ padding: 0 !important;
33
+ }
34
+
35
+ .starci-core-form-field {
36
+ display: flex;
37
+ min-width: 0;
38
+ flex-direction: column;
39
+ gap: var(--starci-core-field-gap, 0.5rem);
40
+ }
41
+
42
+ .starci-core-form-label--screen-reader {
43
+ position: absolute;
44
+ width: 1px;
45
+ height: 1px;
46
+ padding: 0;
47
+ margin: -1px;
48
+ overflow: hidden;
49
+ clip: rect(0, 0, 0, 0);
50
+ white-space: nowrap;
51
+ border: 0;
52
+ }
53
+
54
+ .starci-core-horizontal-scroll-region {
55
+ width: 100%;
56
+ min-width: 0;
57
+ padding-block: 0.25rem;
58
+ overscroll-behavior-inline: contain;
59
+ }
60
+
61
+ .starci-core-horizontal-scroll-region > * {
62
+ width: max-content;
63
+ min-width: max-content;
64
+ }
65
+
66
+ @media (min-width: 40rem) {
67
+ .starci-core-form-page {
68
+ padding-block: 2.5rem;
69
+ }
70
+
71
+ .starci-core-form-scroll-viewport {
72
+ max-height: calc(100dvh - 5rem);
73
+ }
74
+
75
+ .starci-core-form-surface > .card {
76
+ max-height: calc(100dvh - 5rem);
77
+ }
78
+ }
79
+
80
+ .starci-core-surface-card,
81
+ .starci-core-surface-list,
82
+ .starci-core-surface-accordion-card {
83
+ container-name: starci-core-surface;
84
+ container-type: inline-size;
85
+ display: flex;
86
+ min-width: 0;
87
+ width: 100%;
88
+ flex-direction: column;
89
+ gap: var(--starci-core-section-gap, 0.75rem);
90
+ }
91
+
92
+ .starci-core-surface-label {
93
+ display: flex;
94
+ min-width: 0;
95
+ align-items: baseline;
96
+ justify-content: space-between;
97
+ gap: var(--starci-core-inline-gap, 0.5rem);
98
+ }
99
+
100
+ .starci-core-surface-label > :first-child {
101
+ min-width: 0;
102
+ margin: 0;
103
+ }
104
+
105
+ .starci-core-surface {
106
+ position: relative;
107
+ min-width: 0;
108
+ overflow: hidden;
109
+ border-radius: var(--starci-core-surface-radius, 1rem);
110
+ background: var(--surface, Canvas);
111
+ color: var(--surface-foreground, CanvasText);
112
+ }
113
+
114
+ .starci-core-surface[data-grammar-surface-depth="top"] {
115
+ border: 0;
116
+ box-shadow: var(--starci-core-surface-shadow, var(--shadow-surface, 0 1px 3px rgb(0 0 0 / 0.16)));
117
+ }
118
+
119
+ .starci-core-surface[data-grammar-surface-depth="nested"] {
120
+ border: 1px solid var(--border, GrayText);
121
+ box-shadow: none;
122
+ }
123
+
124
+ .starci-core-surface-content {
125
+ min-width: 0;
126
+ padding: var(--starci-core-surface-inset, 1rem);
127
+ }
128
+
129
+ .starci-core-surface.starci-core-frameless-surface {
130
+ position: relative;
131
+ min-width: 0;
132
+ overflow: visible;
133
+ border: 0;
134
+ border-radius: 0;
135
+ background: transparent;
136
+ box-shadow: none;
137
+ color: inherit;
138
+ }
139
+
140
+ .starci-core-frameless-surface > .starci-core-surface-content {
141
+ padding: 0;
142
+ }
143
+
144
+ [data-grammar-scroll="contained"] {
145
+ max-height: var(--starci-core-contained-max-height, calc(100dvh - 3rem));
146
+ overflow: hidden;
147
+ }
148
+
149
+ [data-grammar-scroll="contained"] > .scroll-shadow--vertical {
150
+ width: 100%;
151
+ max-height: inherit;
152
+ min-height: 0;
153
+ overscroll-behavior: contain;
154
+ }
155
+
156
+ [data-grammar-whole-action] {
157
+ position: absolute;
158
+ z-index: 1;
159
+ inset: 0;
160
+ border: 0;
161
+ border-radius: inherit;
162
+ background: transparent;
163
+ color: inherit;
164
+ cursor: pointer;
165
+ }
166
+
167
+ [data-grammar-whole-action]:focus-visible {
168
+ outline: 2px solid var(--focus, Highlight);
169
+ outline-offset: -2px;
170
+ }
171
+
172
+ [data-grammar-whole-action][aria-disabled="true"],
173
+ [data-grammar-whole-action]:disabled {
174
+ cursor: not-allowed;
175
+ }
176
+
177
+ [data-grammar-state="unavailable"] {
178
+ opacity: var(--starci-core-disabled-opacity, 0.55);
179
+ }
180
+
181
+ [data-grammar-state="pending"] {
182
+ cursor: progress;
183
+ }
184
+
185
+ .starci-core-leading-number {
186
+ display: inline-block;
187
+ flex: none;
188
+ min-width: 1.25rem;
189
+ color: var(--muted, GrayText);
190
+ font-size: 0.875rem;
191
+ font-variant-numeric: tabular-nums;
192
+ line-height: 1.25rem;
193
+ text-align: end;
194
+ white-space: nowrap;
195
+ }
196
+
197
+ .starci-core-list-shell {
198
+ padding: 0;
199
+ }
200
+
201
+ .starci-core-static-list {
202
+ display: flex;
203
+ margin: 0;
204
+ padding: 0;
205
+ flex-direction: column;
206
+ list-style: none;
207
+ }
208
+
209
+ .starci-core-owned-collection {
210
+ min-width: 0;
211
+ }
212
+
213
+ .starci-core-surface-footer {
214
+ min-width: 0;
215
+ }
216
+
217
+ .starci-core-static-row,
218
+ .starci-core-empty-row {
219
+ display: flex;
220
+ min-width: 0;
221
+ margin: 0;
222
+ align-items: flex-start;
223
+ gap: var(--starci-core-row-gap, 0.75rem);
224
+ padding: var(--starci-core-row-inset, 1rem);
225
+ }
226
+
227
+ .starci-core-static-row + .starci-core-static-row {
228
+ border-top: 1px solid var(--separator, var(--border, GrayText));
229
+ }
230
+
231
+ .starci-core-list-shell[data-grammar-hover="invariant"] .starci-core-static-row:hover {
232
+ background: transparent;
233
+ box-shadow: none;
234
+ color: inherit;
235
+ transform: none;
236
+ }
237
+
238
+ .starci-core-accordion-shell {
239
+ width: 100%;
240
+ min-width: 0;
241
+ }
242
+
243
+ .starci-core-accordion-shell-frameless {
244
+ overflow: visible;
245
+ border: 0;
246
+ border-radius: 0;
247
+ background: transparent;
248
+ box-shadow: none;
249
+ }
250
+
251
+ .starci-core-accordion-row {
252
+ width: 100%;
253
+ min-width: 0;
254
+ }
255
+
256
+ .starci-core-accordion-row + .starci-core-accordion-row {
257
+ border-top: 1px solid var(--separator, var(--border, GrayText));
258
+ }
259
+
260
+ .starci-core-accordion-heading {
261
+ margin: 0;
262
+ }
263
+
264
+ .starci-core-accordion-trigger {
265
+ display: block;
266
+ width: 100%;
267
+ min-width: 0;
268
+ min-height: 44px;
269
+ padding: var(--starci-core-row-inset, 1rem);
270
+ border: 0;
271
+ background: transparent;
272
+ box-shadow: none;
273
+ color: inherit;
274
+ cursor: pointer;
275
+ font: inherit;
276
+ text-align: left;
277
+ transform: none;
278
+ }
279
+
280
+ .starci-core-accordion-trigger:hover,
281
+ .starci-core-accordion-trigger[data-hovered="true"] {
282
+ background: transparent;
283
+ box-shadow: none;
284
+ color: inherit;
285
+ transform: none;
286
+ }
287
+
288
+ .starci-core-accordion-trigger:disabled {
289
+ cursor: default;
290
+ }
291
+
292
+ .starci-core-accordion-panel {
293
+ width: 100%;
294
+ min-width: 0;
295
+ padding: 0 var(--starci-core-row-inset, 1rem) var(--starci-core-row-inset, 1rem);
296
+ }
297
+
298
+ .starci-core-markdown-article {
299
+ display: flex;
300
+ width: 100%;
301
+ min-width: 0;
302
+ flex-direction: column;
303
+ gap: 1rem;
304
+ color: inherit;
305
+ font-size: 0.875rem;
306
+ line-height: 1.65;
307
+ overflow-wrap: anywhere;
308
+ }
309
+
310
+ .starci-core-markdown-article[data-grammar-markdown-measure="compact"] {
311
+ max-width: 72ch;
312
+ gap: 0.75rem;
313
+ }
314
+
315
+ .starci-core-markdown-article > :first-child {
316
+ margin-top: 0;
317
+ }
318
+
319
+ .starci-core-markdown-article > :last-child {
320
+ margin-bottom: 0;
321
+ }
322
+
323
+ .starci-core-markdown-article :where(h1, h2, h3, h4) {
324
+ margin: 1.5rem 0 0.625rem;
325
+ color: inherit;
326
+ font-weight: 600;
327
+ line-height: 1.3;
328
+ }
329
+
330
+ .starci-core-markdown-article h1 { font-size: 1.5rem; }
331
+ .starci-core-markdown-article h2 { font-size: 1.25rem; }
332
+ .starci-core-markdown-article h3 { font-size: 1.125rem; }
333
+ .starci-core-markdown-article h4 { font-size: 1rem; }
334
+
335
+ .starci-core-markdown-article :where(p, ul, ol, blockquote, pre, table) {
336
+ margin: 0;
337
+ }
338
+
339
+ .starci-core-markdown-article :where(ul, ol) {
340
+ padding-inline-start: 1.5rem;
341
+ }
342
+
343
+ .starci-core-markdown-article ul { list-style: disc; }
344
+ .starci-core-markdown-article ol { list-style: decimal; }
345
+
346
+ .starci-core-markdown-article strong { font-weight: 600; }
347
+ .starci-core-markdown-article em { font-style: italic; }
348
+
349
+ .starci-core-markdown-article li + li {
350
+ margin-top: 0.375rem;
351
+ }
352
+
353
+ .starci-core-markdown-article :not(pre) > code {
354
+ display: inline;
355
+ padding: 0.125rem 0.375rem;
356
+ border: 1px solid var(--border, GrayText);
357
+ border-radius: 999px;
358
+ background: var(--muted-surface, color-mix(in srgb, CanvasText 7%, Canvas));
359
+ color: inherit;
360
+ font: 500 0.875rem/1.4 ui-monospace, SFMono-Regular, Consolas, monospace;
361
+ white-space: break-spaces;
362
+ }
363
+
364
+ .starci-core-markdown-article pre,
365
+ .starci-core-fenced-code-block pre {
366
+ max-width: 100%;
367
+ margin: 0;
368
+ padding: 1rem;
369
+ overflow-x: auto;
370
+ border: 1px solid var(--border, GrayText);
371
+ border-radius: 0.75rem;
372
+ background: var(--code-surface, color-mix(in srgb, CanvasText 6%, Canvas));
373
+ color: inherit;
374
+ overscroll-behavior-inline: contain;
375
+ }
376
+
377
+ .starci-core-markdown-article pre code,
378
+ .starci-core-fenced-code-block pre code {
379
+ padding: 0;
380
+ border: 0;
381
+ background: transparent;
382
+ color: inherit;
383
+ font: 400 0.875rem/1.6 ui-monospace, SFMono-Regular, Consolas, monospace;
384
+ white-space: pre;
385
+ }
386
+
387
+ .starci-core-fenced-code-block {
388
+ width: 100%;
389
+ min-width: 0;
390
+ margin: 0 0 1rem;
391
+ }
392
+
393
+ .starci-core-fenced-code-header {
394
+ display: flex;
395
+ min-width: 0;
396
+ align-items: center;
397
+ justify-content: space-between;
398
+ gap: 0.75rem;
399
+ padding: 0 0 0.5rem;
400
+ color: var(--muted, GrayText);
401
+ }
402
+
403
+ .starci-core-fenced-code-header :where(button) {
404
+ padding: 0;
405
+ border: 0;
406
+ background: transparent;
407
+ color: inherit;
408
+ cursor: pointer;
409
+ font: inherit;
410
+ }
411
+
412
+ [data-grammar-fenced-code-highlight="true"] {
413
+ width: 100%;
414
+ min-width: 0;
415
+ overflow-x: auto;
416
+ border: 1px solid var(--border, GrayText);
417
+ border-radius: 0.75rem;
418
+ background: var(--code-surface, color-mix(in srgb, CanvasText 6%, Canvas));
419
+ overscroll-behavior-inline: contain;
420
+ }
421
+
422
+ [data-grammar-fenced-code-highlight="true"] pre {
423
+ width: max-content;
424
+ min-width: 100%;
425
+ padding: 1rem;
426
+ border: 0;
427
+ border-radius: 0;
428
+ background: transparent !important;
429
+ }
430
+
431
+ .starci-core-markdown-article blockquote {
432
+ padding-inline-start: 1rem;
433
+ border-inline-start: 3px solid var(--border, GrayText);
434
+ color: var(--muted, GrayText);
435
+ }
436
+
437
+ .starci-core-markdown-article table,
438
+ .starci-core-markdown-table-frame {
439
+ display: block;
440
+ width: 100%;
441
+ max-width: 100%;
442
+ overflow-x: auto;
443
+ overscroll-behavior-inline: contain;
444
+ }
445
+
446
+ .starci-core-markdown-article table {
447
+ border-collapse: collapse;
448
+ }
449
+
450
+ .starci-core-markdown-table-frame {
451
+ min-width: 0;
452
+ border: 1px solid var(--border, GrayText);
453
+ border-radius: 0.75rem;
454
+ background: var(--code-surface, color-mix(in srgb, CanvasText 4%, Canvas));
455
+ box-shadow: none;
456
+ }
457
+
458
+ .starci-core-markdown-article hr {
459
+ width: 100%;
460
+ margin: 1rem 0;
461
+ border: 0;
462
+ border-top: 1px solid var(--separator, var(--border, GrayText));
463
+ }
464
+
465
+ .starci-core-markdown-article :where(th, td) {
466
+ min-width: 8rem;
467
+ padding: 0.625rem 0.75rem;
468
+ border-bottom: 1px solid var(--separator, var(--border, GrayText));
469
+ text-align: start;
470
+ vertical-align: top;
471
+ }
472
+
473
+ .starci-core-markdown-article a {
474
+ color: var(--link, LinkText);
475
+ text-decoration: underline;
476
+ text-underline-offset: 0.15em;
477
+ }
478
+
479
+ .starci-core-static-row-copy {
480
+ display: flex;
481
+ min-width: 0;
482
+ flex: 1;
483
+ flex-direction: column;
484
+ gap: var(--starci-core-copy-gap, 0.25rem);
485
+ }
486
+
487
+ .starci-core-static-row-copy > :last-child:not(:first-child) {
488
+ color: var(--muted, GrayText);
489
+ }
490
+
491
+ [data-grammar-state-mark="check"] {
492
+ width: 1.25rem;
493
+ height: 1.25rem;
494
+ flex: none;
495
+ color: var(--success, #15803d);
496
+ }
497
+
498
+ .starci-core-rail {
499
+ container-name: starci-core-rail;
500
+ container-type: inline-size;
501
+ width: 100%;
502
+ min-width: 0;
503
+ }
504
+
505
+ .starci-core-rail[data-grammar-rail-width="compact"] {
506
+ max-width: var(--starci-core-rail-compact, 16rem);
507
+ }
508
+
509
+ .starci-core-rail[data-grammar-collapse="collapsed"] {
510
+ max-width: var(--starci-core-rail-collapsed, 4rem);
511
+ }
512
+
513
+ .starci-core-rail[data-grammar-rail-width="standard"] {
514
+ max-width: var(--starci-core-rail-standard, 20rem);
515
+ }
516
+
517
+ .starci-core-rail[data-grammar-rail-width="wide"] {
518
+ max-width: var(--starci-core-rail-wide, 24rem);
519
+ }
520
+
521
+ .starci-core-rail-frame {
522
+ display: flex;
523
+ min-width: 0;
524
+ max-height: calc(100dvh - var(--starci-core-rail-offset, 5.5rem) - 1.5rem);
525
+ flex-direction: column;
526
+ gap: var(--starci-core-rail-gap, 1rem);
527
+ }
528
+
529
+ .starci-core-rail[data-grammar-rail-mode="sticky"] .starci-core-rail-frame {
530
+ position: sticky;
531
+ top: var(--starci-core-rail-offset, 5.5rem);
532
+ }
533
+
534
+ .starci-core-rail-body {
535
+ min-height: 0;
536
+ overflow-y: auto;
537
+ overscroll-behavior: contain;
538
+ }
539
+
540
+ .starci-core-rail[data-grammar-rail-height="fill"],
541
+ .starci-core-rail[data-grammar-rail-height="fill"] .starci-core-rail-frame,
542
+ .starci-core-rail[data-grammar-rail-height="fill"] .starci-core-rail-body {
543
+ height: 100%;
544
+ min-height: 0;
545
+ }
546
+
547
+ .starci-core-rail[data-grammar-rail-height="fill"] .starci-core-rail-frame {
548
+ max-height: none;
549
+ }
550
+
551
+ .starci-core-rail[data-grammar-rail-height="fill"] .starci-core-rail-body {
552
+ flex: 1 1 0%;
553
+ overflow: hidden;
554
+ }
555
+
556
+ .starci-core-rail-footer {
557
+ flex: none;
558
+ }
559
+
560
+ .starci-core-rail :where(button, [role="button"]) {
561
+ min-inline-size: 44px;
562
+ min-block-size: 44px;
563
+ }
564
+
565
+ @container starci-core-surface (max-width: 28rem) {
566
+ .starci-core-surface-label {
567
+ align-items: flex-start;
568
+ flex-direction: column;
569
+ }
570
+
571
+ .starci-core-static-row {
572
+ gap: var(--starci-core-row-gap-compact, 0.5rem);
573
+ }
574
+ }
575
+
576
+ @container starci-core-rail (max-width: 18rem) {
577
+ .starci-core-rail-frame {
578
+ gap: var(--starci-core-rail-gap-compact, 0.75rem);
579
+ }
580
+ }
581
+
582
+ @media (max-width: 47.999rem) {
583
+ .starci-core-rail[data-grammar-rail-mode="sticky"] .starci-core-rail-frame {
584
+ position: static;
585
+ max-height: none;
586
+ }
587
+
588
+ .starci-core-rail-body {
589
+ overflow-y: visible;
590
+ }
591
+ }
592
+
593
+ @media (prefers-reduced-motion: reduce) {
594
+ [data-grammar-motion="animated"] {
595
+ scroll-behavior: auto;
596
+ }
597
+ }
598
+ }