frakment 0.0.0-stage → 0.0.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,653 @@
1
+ /* Frakment custom variants — required by registry components using data-*: utilities.
2
+ Without these, utility classes like data-checked:bg-primary become no-ops. */
3
+ @custom-variant fixed (&:is(.layout-fixed *));
4
+ @custom-variant data-open (&[data-state="open"]);
5
+ @custom-variant data-closed (&[data-state="closed"]);
6
+ @custom-variant data-checked (&[data-state="checked"], &[data-checked]);
7
+ @custom-variant data-unchecked (&[data-state="unchecked"], &[data-unchecked]);
8
+ @custom-variant data-disabled (&[data-disabled]);
9
+ @custom-variant data-selected (&[data-state="selected"]);
10
+ @custom-variant data-active (&[data-state="active"]);
11
+
12
+ @custom-variant dark (&:is(.dark *));
13
+ @custom-variant data-checked (&[data-checked], &[data-state="checked"]);
14
+
15
+ @theme inline {
16
+ --card-spacing: --spacing(4);
17
+ --breakpoint-3xl: 1600px;
18
+ --breakpoint-4xl: 2000px;
19
+ --font-sans: var(--font-sans);
20
+ --font-mono: var(--font-mono);
21
+ --radius-sm: calc(var(--radius) - 4px);
22
+ --radius-md: calc(var(--radius) - 2px);
23
+ --radius-lg: var(--radius);
24
+ --radius-xl: calc(var(--radius) + 4px);
25
+ --color-background: var(--background);
26
+ --color-foreground: var(--foreground);
27
+ --color-card: var(--card);
28
+ --color-card-foreground: var(--card-foreground);
29
+ --color-popover: var(--popover);
30
+ --color-popover-foreground: var(--popover-foreground);
31
+ --color-primary: var(--primary);
32
+ --color-primary-foreground: var(--primary-foreground);
33
+ --color-secondary: var(--secondary);
34
+ --color-secondary-foreground: var(--secondary-foreground);
35
+ --color-muted: var(--muted);
36
+ --color-muted-foreground: var(--muted-foreground);
37
+ --color-subtle-foreground: var(--subtle-foreground);
38
+ --color-accent: var(--accent);
39
+ --color-accent-foreground: var(--accent-foreground);
40
+ --color-destructive: var(--destructive);
41
+ --color-border: var(--border);
42
+ --color-input: var(--input);
43
+ --color-ring: var(--ring);
44
+ --color-chart-1: var(--chart-1);
45
+ --color-chart-2: var(--chart-2);
46
+ --color-chart-3: var(--chart-3);
47
+ --color-chart-4: var(--chart-4);
48
+ --color-chart-5: var(--chart-5);
49
+ --color-sidebar: var(--sidebar);
50
+ --color-sidebar-foreground: var(--sidebar-foreground);
51
+ --color-sidebar-primary: var(--sidebar-primary);
52
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
53
+ --color-sidebar-accent: var(--sidebar-accent);
54
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
55
+ --color-sidebar-border: var(--sidebar-border);
56
+ --color-sidebar-ring: var(--sidebar-ring);
57
+ --color-surface: var(--surface);
58
+ --color-surface-foreground: var(--surface-foreground);
59
+ --color-code: var(--code);
60
+ --color-code-foreground: var(--code-foreground);
61
+ --color-code-highlight: var(--code-highlight);
62
+ --color-code-number: var(--code-number);
63
+ --color-selection: var(--selection);
64
+ --color-selection-foreground: var(--selection-foreground);
65
+ }
66
+
67
+ :root {
68
+ --radius: 0.625rem;
69
+ --background: oklch(1 0 0);
70
+ --foreground: oklch(0.145 0 0);
71
+ --card: oklch(1 0 0);
72
+ --card-foreground: oklch(0.145 0 0);
73
+ --popover: oklch(1 0 0);
74
+ --popover-foreground: oklch(0.145 0 0);
75
+ --primary: oklch(0.205 0 0);
76
+ --primary-foreground: oklch(0.985 0 0);
77
+ --secondary: oklch(0.97 0 0);
78
+ --secondary-foreground: oklch(0.205 0 0);
79
+ --muted: oklch(0.97 0 0);
80
+ --muted-foreground: oklch(0.5 0 0);
81
+ --subtle-foreground: oklch(0.32 0 0);
82
+ --accent: oklch(0.97 0 0);
83
+ --accent-foreground: oklch(0.205 0 0);
84
+ --destructive: oklch(0.577 0.245 27.325);
85
+ --border: oklch(0.92 0 0);
86
+ --input: oklch(0.89 0 0);
87
+ --ring: oklch(0.708 0 0);
88
+ --chart-1: var(--color-blue-300);
89
+ --chart-2: var(--color-blue-500);
90
+ --chart-3: var(--color-blue-600);
91
+ --chart-4: var(--color-blue-700);
92
+ --chart-5: var(--color-blue-800);
93
+ --sidebar: oklch(0.985 0 0);
94
+ --sidebar-foreground: oklch(0.145 0 0);
95
+ --sidebar-primary: oklch(0.205 0 0);
96
+ --sidebar-primary-foreground: oklch(0.985 0 0);
97
+ --sidebar-accent: oklch(0.97 0 0);
98
+ --sidebar-accent-foreground: oklch(0.205 0 0);
99
+ --sidebar-border: oklch(0.922 0 0);
100
+ --sidebar-ring: oklch(0.708 0 0);
101
+ --surface: oklch(0.98 0 0);
102
+ --surface-foreground: var(--foreground);
103
+ --code: var(--surface);
104
+ --code-foreground: var(--surface-foreground);
105
+ --code-highlight: oklch(0.96 0 0);
106
+ --code-number: oklch(0.56 0 0);
107
+ --selection: oklch(0.145 0 0);
108
+ --selection-foreground: oklch(1 0 0);
109
+ }
110
+
111
+ .dark {
112
+ --background: oklch(0.145 0 0);
113
+ --foreground: oklch(0.985 0 0);
114
+ --card: oklch(0.205 0 0);
115
+ --card-foreground: oklch(0.985 0 0);
116
+ --popover: oklch(0.269 0 0);
117
+ --popover-foreground: oklch(0.985 0 0);
118
+ --primary: oklch(0.922 0 0);
119
+ --primary-foreground: oklch(0.205 0 0);
120
+ --secondary: oklch(0.269 0 0);
121
+ --secondary-foreground: oklch(0.985 0 0);
122
+ --muted: oklch(0.269 0 0);
123
+ --muted-foreground: oklch(0.75 0 0);
124
+ --subtle-foreground: oklch(0.88 0 0);
125
+ --accent: oklch(0.371 0 0);
126
+ --accent-foreground: oklch(0.985 0 0);
127
+ --destructive: oklch(0.704 0.191 22.216);
128
+ --border: oklch(1 0 0 / 10%);
129
+ --input: oklch(1 0 0 / 15%);
130
+ --ring: oklch(0.556 0 0);
131
+ --chart-1: var(--color-blue-300);
132
+ --chart-2: var(--color-blue-500);
133
+ --chart-3: var(--color-blue-600);
134
+ --chart-4: var(--color-blue-700);
135
+ --chart-5: var(--color-blue-800);
136
+ --sidebar: oklch(0.205 0 0);
137
+ --sidebar-foreground: oklch(0.985 0 0);
138
+ --sidebar-primary: oklch(0.488 0 0);
139
+ --sidebar-primary-foreground: oklch(0.985 0 0);
140
+ --sidebar-accent: oklch(0.269 0 0);
141
+ --sidebar-accent-foreground: oklch(0.985 0 0);
142
+ --sidebar-border: oklch(1 0 0 / 10%);
143
+ --sidebar-ring: oklch(0.439 0 0);
144
+ --surface: oklch(0.2 0 0);
145
+ --surface-foreground: oklch(0.708 0 0);
146
+ --code: var(--surface);
147
+ --code-foreground: var(--surface-foreground);
148
+ --code-highlight: oklch(0.27 0 0);
149
+ --code-number: oklch(0.72 0 0);
150
+ --selection: oklch(0.922 0 0);
151
+ --selection-foreground: oklch(0.205 0 0);
152
+ }
153
+
154
+ /* Component utilities - kept here for the experiment */
155
+
156
+ @utility border-grid {
157
+ @apply border-border/50 dark:border-border;
158
+ }
159
+ @utility section-soft {
160
+ @apply from-background to-surface/40 dark:bg-background 3xl:fixed:bg-none bg-gradient-to-b;
161
+ }
162
+ @utility container-wrapper {
163
+ @apply 3xl:fixed:max-w-[calc(var(--breakpoint-2xl)+2rem)] mx-auto w-full px-2;
164
+ }
165
+ @utility container {
166
+ @apply 3xl:max-w-screen-2xl mx-auto max-w-[1400px] px-4 lg:px-8;
167
+ }
168
+ @utility no-scrollbar {
169
+ -ms-overflow-style: none;
170
+ scrollbar-width: none;
171
+
172
+ &::-webkit-scrollbar {
173
+ display: none;
174
+ }
175
+ }
176
+ @utility border-ghost {
177
+ @apply after:border-border relative after:absolute after:inset-0 after:border after:mix-blend-darken dark:after:mix-blend-lighten;
178
+ }
179
+ @utility step {
180
+ counter-increment: step;
181
+
182
+ &:before {
183
+ content: counter(step);
184
+ @apply border-background bg-muted mr-2 inline-flex size-6 items-center justify-center rounded-full text-center -indent-px font-mono text-sm font-medium md:absolute md:mt-[-4px] md:ml-[-50px] md:size-9 md:border-4;
185
+ }
186
+ }
187
+ @utility extend-touch-target {
188
+ @media (pointer: coarse) {
189
+ @apply relative touch-manipulation after:absolute after:-inset-2;
190
+ }
191
+ }
192
+
193
+ /* Global scrollbar: transparent track, thin neutral thumb with gap, no arrow.
194
+ Injected to end users via the FRAKMENT THEME block (cli/templates/theme.css).
195
+ The `no-scrollbar` utility wins specificity and still hides scrollbars where used. */
196
+ *::-webkit-scrollbar {
197
+ width: 8px;
198
+ height: 8px;
199
+ }
200
+ *::-webkit-scrollbar-track {
201
+ background: transparent;
202
+ }
203
+ *::-webkit-scrollbar-track-piece {
204
+ background: transparent;
205
+ }
206
+ *::-webkit-scrollbar-thumb {
207
+ background: rgba(150, 150, 150, 0.65);
208
+ background-clip: padding-box;
209
+ border: 1.5px solid transparent;
210
+ border-radius: 9999px;
211
+ }
212
+ *::-webkit-scrollbar-thumb:hover {
213
+ background: rgba(150, 150, 150, 0.9);
214
+ background-clip: padding-box;
215
+ }
216
+ *::-webkit-scrollbar-button {
217
+ display: none;
218
+ width: 0;
219
+ height: 0;
220
+ }
221
+ *::-webkit-scrollbar-corner {
222
+ background: transparent;
223
+ }
224
+ [data-slot="message-scroller-viewport"] {
225
+ scrollbar-gutter: stable;
226
+ }
227
+
228
+ /* === Registry animations === */
229
+ /* Injected to end users via the FRAKMENT THEME block.
230
+ Required by registry components that use animate-* utilities. */
231
+
232
+ @theme {
233
+ --animate-shimmer: shimmer 3.2s linear infinite;
234
+
235
+ @keyframes shimmer {
236
+ from {
237
+ background-position: 200% 0;
238
+ }
239
+ to {
240
+ background-position: -200% 0;
241
+ }
242
+ }
243
+ }
244
+
245
+ /* ---- shimmer utility (CSS class) ---- */
246
+
247
+ @property --shimmer-angle {
248
+ syntax: "<angle>";
249
+ inherits: false;
250
+ initial-value: 90deg;
251
+ }
252
+
253
+ @property --shimmer-duration {
254
+ syntax: "<time>";
255
+ inherits: false;
256
+ initial-value: 3200ms;
257
+ }
258
+
259
+ @property --shimmer-spread {
260
+ syntax: "<length-percentage>";
261
+ inherits: false;
262
+ initial-value: 15%;
263
+ }
264
+
265
+ @utility shimmer {
266
+ color: transparent;
267
+ -webkit-text-fill-color: transparent;
268
+ background-image: linear-gradient(
269
+ var(--shimmer-angle),
270
+ var(--muted-foreground) 0%,
271
+ var(--muted-foreground) calc(50% - var(--shimmer-spread)),
272
+ var(--shimmer-color, var(--foreground)) 50%,
273
+ var(--muted-foreground) calc(50% + var(--shimmer-spread)),
274
+ var(--muted-foreground) 100%
275
+ );
276
+ background-position: 0% 0;
277
+ -webkit-background-clip: text;
278
+ background-clip: text;
279
+ background-size: 200% 100%;
280
+ animation: shimmer var(--shimmer-duration) linear infinite;
281
+ }
282
+
283
+ @utility shimmer-color-* {
284
+ --shimmer-color: --value(--color-*, [color]);
285
+ }
286
+
287
+ @utility shimmer-duration-* {
288
+ --shimmer-duration: calc(--value(integer) * 1ms);
289
+ }
290
+
291
+ @utility shimmer-spread-* {
292
+ --shimmer-spread: calc(--value(integer) * 1%);
293
+ }
294
+
295
+ @utility shimmer-angle-* {
296
+ --shimmer-angle: calc(--value(integer) * 1deg);
297
+ }
298
+
299
+ @utility shimmer-once {
300
+ animation-iteration-count: 1;
301
+ }
302
+
303
+ @utility shimmer-none {
304
+ color: inherit;
305
+ -webkit-text-fill-color: currentColor;
306
+ background-image: none;
307
+ animation: none;
308
+ }
309
+
310
+ /* ---- scroll-fade utility ---- */
311
+
312
+ @property --scroll-fade-size {
313
+ syntax: "<length-percentage>";
314
+ inherits: false;
315
+ initial-value: 24px;
316
+ }
317
+
318
+ @property --scroll-fade-t {
319
+ syntax: "<length-percentage>";
320
+ inherits: false;
321
+ initial-value: 0px;
322
+ }
323
+
324
+ @property --scroll-fade-b {
325
+ syntax: "<length-percentage>";
326
+ inherits: false;
327
+ initial-value: 0px;
328
+ }
329
+
330
+ @property --scroll-fade-l {
331
+ syntax: "<length-percentage>";
332
+ inherits: false;
333
+ initial-value: 0px;
334
+ }
335
+
336
+ @property --scroll-fade-r {
337
+ syntax: "<length-percentage>";
338
+ inherits: false;
339
+ initial-value: 0px;
340
+ }
341
+
342
+ @keyframes scroll-fade-y {
343
+ 0% {
344
+ --scroll-fade-t: 0px;
345
+ --scroll-fade-b: var(--scroll-fade-size);
346
+ }
347
+ 100% {
348
+ --scroll-fade-t: var(--scroll-fade-size);
349
+ --scroll-fade-b: 0px;
350
+ }
351
+ }
352
+
353
+ @keyframes scroll-fade-x {
354
+ 0% {
355
+ --scroll-fade-l: 0px;
356
+ --scroll-fade-r: var(--scroll-fade-size);
357
+ }
358
+ 100% {
359
+ --scroll-fade-l: var(--scroll-fade-size);
360
+ --scroll-fade-r: 0px;
361
+ }
362
+ }
363
+
364
+ @keyframes scroll-fade-t-only {
365
+ 0% {
366
+ --scroll-fade-t: 0px;
367
+ }
368
+ 100% {
369
+ --scroll-fade-t: var(--scroll-fade-size);
370
+ }
371
+ }
372
+
373
+ @keyframes scroll-fade-b-only {
374
+ 0% {
375
+ --scroll-fade-b: var(--scroll-fade-size);
376
+ }
377
+ 100% {
378
+ --scroll-fade-b: 0px;
379
+ }
380
+ }
381
+
382
+ @keyframes scroll-fade-l-only {
383
+ 0% {
384
+ --scroll-fade-l: 0px;
385
+ }
386
+ 100% {
387
+ --scroll-fade-l: var(--scroll-fade-size);
388
+ }
389
+ }
390
+
391
+ @keyframes scroll-fade-r-only {
392
+ 0% {
393
+ --scroll-fade-r: var(--scroll-fade-size);
394
+ }
395
+ 100% {
396
+ --scroll-fade-r: 0px;
397
+ }
398
+ }
399
+
400
+ @utility scroll-fade {
401
+ --scroll-fade-t: var(--scroll-fade-size);
402
+ --scroll-fade-b: var(--scroll-fade-size);
403
+ -webkit-mask-image: linear-gradient(
404
+ to bottom,
405
+ transparent 0,
406
+ black var(--scroll-fade-t),
407
+ black calc(100% - var(--scroll-fade-b)),
408
+ transparent 100%
409
+ );
410
+ mask-image: linear-gradient(
411
+ to bottom,
412
+ transparent 0,
413
+ black var(--scroll-fade-t),
414
+ black calc(100% - var(--scroll-fade-b)),
415
+ transparent 100%
416
+ );
417
+ }
418
+
419
+ @utility scroll-fade-y {
420
+ --scroll-fade-t: var(--scroll-fade-size);
421
+ --scroll-fade-b: var(--scroll-fade-size);
422
+ -webkit-mask-image: linear-gradient(
423
+ to bottom,
424
+ transparent 0,
425
+ black var(--scroll-fade-t),
426
+ black calc(100% - var(--scroll-fade-b)),
427
+ transparent 100%
428
+ );
429
+ mask-image: linear-gradient(
430
+ to bottom,
431
+ transparent 0,
432
+ black var(--scroll-fade-t),
433
+ black calc(100% - var(--scroll-fade-b)),
434
+ transparent 100%
435
+ );
436
+ }
437
+
438
+ @utility scroll-fade-x {
439
+ --scroll-fade-l: var(--scroll-fade-size);
440
+ --scroll-fade-r: var(--scroll-fade-size);
441
+ -webkit-mask-image: linear-gradient(
442
+ to right,
443
+ transparent 0,
444
+ black var(--scroll-fade-l),
445
+ black calc(100% - var(--scroll-fade-r)),
446
+ transparent 100%
447
+ );
448
+ mask-image: linear-gradient(
449
+ to right,
450
+ transparent 0,
451
+ black var(--scroll-fade-l),
452
+ black calc(100% - var(--scroll-fade-r)),
453
+ transparent 100%
454
+ );
455
+ }
456
+
457
+ @utility scroll-fade-t {
458
+ --scroll-fade-t: var(--scroll-fade-size);
459
+ -webkit-mask-image: linear-gradient(
460
+ to bottom,
461
+ transparent 0,
462
+ black var(--scroll-fade-t),
463
+ black 100%
464
+ );
465
+ mask-image: linear-gradient(
466
+ to bottom,
467
+ transparent 0,
468
+ black var(--scroll-fade-t),
469
+ black 100%
470
+ );
471
+ }
472
+
473
+ @utility scroll-fade-b {
474
+ --scroll-fade-b: var(--scroll-fade-size);
475
+ -webkit-mask-image: linear-gradient(
476
+ to bottom,
477
+ black 0,
478
+ black calc(100% - var(--scroll-fade-b)),
479
+ transparent 100%
480
+ );
481
+ mask-image: linear-gradient(
482
+ to bottom,
483
+ black 0,
484
+ black calc(100% - var(--scroll-fade-b)),
485
+ transparent 100%
486
+ );
487
+ }
488
+
489
+ @utility scroll-fade-l {
490
+ --scroll-fade-l: var(--scroll-fade-size);
491
+ -webkit-mask-image: linear-gradient(
492
+ to right,
493
+ transparent 0,
494
+ black var(--scroll-fade-l),
495
+ black 100%
496
+ );
497
+ mask-image: linear-gradient(
498
+ to right,
499
+ transparent 0,
500
+ black var(--scroll-fade-l),
501
+ black 100%
502
+ );
503
+ }
504
+
505
+ @utility scroll-fade-r {
506
+ --scroll-fade-r: var(--scroll-fade-size);
507
+ -webkit-mask-image: linear-gradient(
508
+ to right,
509
+ black 0,
510
+ black calc(100% - var(--scroll-fade-r)),
511
+ transparent 100%
512
+ );
513
+ mask-image: linear-gradient(
514
+ to right,
515
+ black 0,
516
+ black calc(100% - var(--scroll-fade-r)),
517
+ transparent 100%
518
+ );
519
+ }
520
+
521
+ @utility scroll-fade-s {
522
+ --scroll-fade-l: var(--scroll-fade-size);
523
+ -webkit-mask-image: linear-gradient(
524
+ to right,
525
+ transparent 0,
526
+ black var(--scroll-fade-l),
527
+ black 100%
528
+ );
529
+ mask-image: linear-gradient(
530
+ to right,
531
+ transparent 0,
532
+ black var(--scroll-fade-l),
533
+ black 100%
534
+ );
535
+ }
536
+
537
+ @utility scroll-fade-e {
538
+ --scroll-fade-r: var(--scroll-fade-size);
539
+ -webkit-mask-image: linear-gradient(
540
+ to right,
541
+ black 0,
542
+ black calc(100% - var(--scroll-fade-r)),
543
+ transparent 100%
544
+ );
545
+ mask-image: linear-gradient(
546
+ to right,
547
+ black 0,
548
+ black calc(100% - var(--scroll-fade-r)),
549
+ transparent 100%
550
+ );
551
+ }
552
+
553
+ @utility scroll-fade-none {
554
+ --scroll-fade-t: 0px;
555
+ --scroll-fade-b: 0px;
556
+ --scroll-fade-l: 0px;
557
+ --scroll-fade-r: 0px;
558
+ -webkit-mask-image: none;
559
+ mask-image: none;
560
+ }
561
+
562
+ @supports (animation-timeline: scroll()) {
563
+ .scroll-fade,
564
+ .scroll-fade-y {
565
+ animation: scroll-fade-y linear both;
566
+ animation-timeline: scroll(self y);
567
+ }
568
+ .scroll-fade-x {
569
+ animation: scroll-fade-x linear both;
570
+ animation-timeline: scroll(self inline);
571
+ }
572
+ .scroll-fade-t {
573
+ animation: scroll-fade-t-only linear both;
574
+ animation-timeline: scroll(self y);
575
+ }
576
+ .scroll-fade-b {
577
+ animation: scroll-fade-b-only linear both;
578
+ animation-timeline: scroll(self y);
579
+ }
580
+ .scroll-fade-l,
581
+ .scroll-fade-s {
582
+ animation: scroll-fade-l-only linear both;
583
+ animation-timeline: scroll(self inline);
584
+ }
585
+ .scroll-fade-r,
586
+ .scroll-fade-e {
587
+ animation: scroll-fade-r-only linear both;
588
+ animation-timeline: scroll(self inline);
589
+ }
590
+ .scroll-fade-none {
591
+ animation: none;
592
+ }
593
+ }
594
+
595
+ /* highlight.js — syntax highlight for Markdown code blocks */
596
+ .hljs {
597
+ color: var(--foreground);
598
+ background: transparent;
599
+ }
600
+ .hljs-comment,
601
+ .hljs-quote {
602
+ font-style: italic;
603
+ color: var(--muted-foreground);
604
+ }
605
+ .hljs-keyword,
606
+ .hljs-selector-tag,
607
+ .hljs-literal,
608
+ .hljs-section,
609
+ .hljs-link {
610
+ color: oklch(0.65 0.2 300);
611
+ }
612
+ .hljs-string,
613
+ .hljs-attr,
614
+ .hljs-symbol,
615
+ .hljs-bullet,
616
+ .hljs-addition {
617
+ color: oklch(0.7 0.15 140);
618
+ }
619
+ .hljs-number,
620
+ .hljs-meta,
621
+ .hljs-built_in,
622
+ .hljs-builtin-name,
623
+ .hljs-attribute {
624
+ color: oklch(0.75 0.14 60);
625
+ }
626
+ .hljs-title,
627
+ .hljs-name,
628
+ .hljs-type {
629
+ color: oklch(0.72 0.15 250);
630
+ }
631
+ .hljs-function,
632
+ .hljs-title.function_ {
633
+ color: oklch(0.75 0.14 200);
634
+ }
635
+ .hljs-variable,
636
+ .hljs-template-variable,
637
+ .hljs-params {
638
+ color: var(--foreground);
639
+ }
640
+ .hljs-tag,
641
+ .hljs-selector-id,
642
+ .hljs-selector-class {
643
+ color: oklch(0.68 0.18 20);
644
+ }
645
+ .hljs-deletion {
646
+ color: oklch(0.6 0.22 25);
647
+ }
648
+ .hljs-emphasis {
649
+ font-style: italic;
650
+ }
651
+ .hljs-strong {
652
+ font-weight: 600;
653
+ }