@cosla/sensemaking-report-builder 0.1.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/src/style.css ADDED
@@ -0,0 +1,1609 @@
1
+ :root {
2
+ --color-black: #000000;
3
+ --color-white: #ffffff;
4
+ --color-gray-50: rgb(247, 247, 247);
5
+ --color-gray-100: rgb(239, 239, 239);
6
+ --color-gray-200: rgb(223, 223, 223);
7
+ --color-gray-300: rgb(202, 202, 202);
8
+ --color-gray-400: rgb(168, 168, 168);
9
+ --color-gray-500: rgb(135, 135, 135);
10
+ --color-gray-600: rgb(109, 109, 109);
11
+ --color-gray-700: rgb(78, 78, 78);
12
+ --color-gray-800: rgb(55, 55, 55);
13
+ --color-gray-900: rgb(38, 38, 38);
14
+ --color-gray-1000: rgb(25, 25, 25);
15
+ --color-blue-extra-light: #F3F7FF;
16
+ --color-blue-light: #D3E3FD;
17
+ --color-blue-medium: #0B57D0;
18
+ --color-blue-dark: #1E2656;
19
+ --10px: 0.625rem;
20
+ --11px: 0.675rem;
21
+ --12px: 0.75rem;
22
+ --14px: 0.875rem;
23
+ --16px: 1rem;
24
+ --18px: 1.125rem;
25
+ --20px: 1.25rem;
26
+ --22px: 1.375rem;
27
+ --24px: 1.5rem;
28
+ --28px: 1.75rem;
29
+ --32px: 2rem;
30
+ --36px: 2.25rem;
31
+ --40px: 2.5rem;
32
+ --44px: 2.75rem;
33
+ --48px: 3rem;
34
+ --56px: 3.5rem;
35
+ --64px: 4rem;
36
+ --80px: 5rem;
37
+ --96px: 6rem;
38
+ --112px: 7rem;
39
+ --128px: 8rem;
40
+
41
+ --sidebar-width: calc(300px + 4rem);
42
+ --header-height: 80px;
43
+ --overview-chart-width: 12rem;
44
+
45
+ --serif: "Noto Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
46
+ --mono: Menlo, Consolas, Monaco, monospace;
47
+
48
+ /* z-index */
49
+ --z-bottom: -100;
50
+ --z-middle: 0;
51
+ --z-top: 100;
52
+ --z-overlay: 1000;
53
+
54
+ /* presets (used in reset.css) */
55
+ --border-radius: 2rem;
56
+ --font-body: var(--serif);
57
+ --font-form: var(--sans);
58
+ --color-bg: var(--color-gray-100);
59
+ --color-border: var(--color-gray-200);
60
+ --color-text: var(--color-black);
61
+ --color-text-medium: var(--color-gray-900);
62
+ --color-text-light: var(--color-gray-700);
63
+ --color-text-lightest: var(--color-gray-600);
64
+ --color-primary: var(--gray-1000);
65
+ --color-link: var(--color-black);
66
+ --color-link-hover: var(--color-black);
67
+ --color-focus: var(--color-gray-300);
68
+ --color-mark: var(--color-blue-light);
69
+ --color-selection: var(--color-blue-light);
70
+ --color-button-bg: var(--color-white);
71
+ --color-button-text: var(--color-text);
72
+ --color-button-hover: var(--color-gray-200);
73
+ --color-input-bg: var(--color-gray-50);
74
+ --color-input-text: var(--color-gray-900);
75
+ --color-placeholder: var(--color-gray-600);
76
+ --color-card-bg: var(--color-white);
77
+ --color-badge-bg-light: var(--color-blue-light);
78
+ --color-badge-text-light: var(--color-blue-dark);
79
+ --color-badge-bg-dark: var(--color-blue-dark);
80
+ --color-badge-text-dark: var(--color-white);
81
+ --color-button-text-alt: var(--color-blue-medium);
82
+ }
83
+
84
+ /* noto-sans-regular - latin */
85
+ @font-face {
86
+ font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
87
+ font-family: 'Noto Sans';
88
+ font-style: normal;
89
+ font-weight: 400;
90
+ src: url('fonts/noto-sans-v42-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
91
+ }
92
+
93
+ /* noto-sans-500 - latin */
94
+ @font-face {
95
+ font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
96
+ font-family: 'Noto Sans';
97
+ font-style: normal;
98
+ font-weight: 500;
99
+ src: url('fonts/noto-sans-v42-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
100
+ }
101
+
102
+ /* noto-sans-600 - latin */
103
+ @font-face {
104
+ font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
105
+ font-family: 'Noto Sans';
106
+ font-style: normal;
107
+ font-weight: 600;
108
+ src: url('fonts/noto-sans-v42-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
109
+ }
110
+
111
+ /* noto-sans-700 - latin */
112
+ @font-face {
113
+ font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
114
+ font-family: 'Noto Sans';
115
+ font-style: normal;
116
+ font-weight: 700;
117
+ src: url('fonts/noto-sans-v42-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
118
+ }
119
+
120
+ html {
121
+ scroll-behavior: smooth;
122
+ scroll-padding-top: calc(var(--header-height) + 1rem);
123
+ }
124
+
125
+ body {
126
+ font-family: var(--serif);
127
+ background: var(--color-bg);
128
+ color: var(--color-text);
129
+ }
130
+
131
+ h1 {
132
+ font-size: var(--24px);
133
+ font-weight: 700;
134
+ line-height: 1.325;
135
+ }
136
+
137
+ h2 {
138
+ font-size: var(--22px);
139
+ font-weight: 500;
140
+ line-height: 1.325;
141
+ }
142
+
143
+ h3 {
144
+ font-size: var(--20px);
145
+ font-weight: 500;
146
+ line-height: 1.325;
147
+ }
148
+
149
+ h4 {
150
+ font-size: var(--20px);
151
+ font-weight: 500;
152
+ line-height: 1.325;
153
+ }
154
+
155
+ p {
156
+ font-size: var(--16px);
157
+ line-height: 1.5;
158
+ margin: 1rem auto;
159
+ }
160
+
161
+ a {
162
+ color: var(--color-link);
163
+ text-decoration-color: var(--color-link);
164
+ }
165
+
166
+ ul {
167
+ margin: 0;
168
+ padding: 0;
169
+ }
170
+
171
+ li {
172
+ list-style-type: none;
173
+ }
174
+
175
+ .button, button {
176
+ display: flex;
177
+ align-items: center;
178
+ font-size: var(--14px);
179
+ font-weight: 500;
180
+ background: var(--color-button-bg);
181
+ color: var(--color-button-text);
182
+ border-radius: var(--border-radius);
183
+ padding: 1rem;
184
+ text-decoration: none;
185
+ line-height: 1;
186
+ border: none;
187
+ cursor: pointer;
188
+ user-select: none;
189
+ }
190
+
191
+ button img, .button img, button svg, .button svg {
192
+ margin-inline-end: 0.5rem;
193
+ }
194
+
195
+ button.ghost, .button.ghost {
196
+ background: none;
197
+ border: none;
198
+ color: var(--color-badge-text-light);
199
+ }
200
+
201
+ .button-share {
202
+ border: 1px solid var(--color-border);
203
+ padding: 0.5rem 1rem;
204
+ font-size: var(--12px);
205
+ flex-shrink: 0;
206
+ }
207
+
208
+ .button-filter-compare {
209
+ border: 1px solid var(--color-border);
210
+ padding: 0.5rem 1rem;
211
+ font-size: var(--14px);
212
+ }
213
+
214
+ a:hover, button:hover {
215
+ background: var(--color-button-hover);
216
+ }
217
+
218
+ hr {
219
+ border: none;
220
+ border-top: 1px solid var(--color-bg);
221
+ margin: 2rem 0;
222
+ }
223
+
224
+ article.topic hr {
225
+ margin-bottom: 0;
226
+ }
227
+
228
+ section {
229
+ position: relative;
230
+ padding: 2rem 0;
231
+ }
232
+
233
+ section > header {
234
+ display: flex;
235
+ justify-content: space-between;
236
+ align-items: center;
237
+ gap: 1rem;
238
+ }
239
+
240
+ section > header > :is(h1, h2, h3, h4, h5, h6) {
241
+ flex: 1;
242
+ min-width: 0;
243
+ }
244
+
245
+ section > *:not(hr) {
246
+ padding: 0 2rem;
247
+ }
248
+
249
+ .skip-to-main {
250
+ border: none;
251
+ width: 1px;
252
+ height: 1px;
253
+ overflow: hidden;
254
+ position: absolute;
255
+ text-decoration: none;
256
+ }
257
+
258
+ .skip-to-main:focus {
259
+ background-color: var(--color-gray-900, black);
260
+ color: var(--color-white, white);
261
+ width: auto;
262
+ height: auto;
263
+ padding: 8px;
264
+ z-index: var(--z-overlay, 1000);
265
+ }
266
+
267
+
268
+ /* layout */
269
+ .layout-wrapper {
270
+ display: flex;
271
+ min-height: 100vh;
272
+ width: 100%;
273
+ max-width: 1256px;
274
+ margin: 0 auto;
275
+ }
276
+
277
+ /* header */
278
+ body > header {
279
+ background: var(--color-card-bg);
280
+ padding: 0 1rem;
281
+ height: var(--header-height);
282
+ position: sticky;
283
+ top: 0;
284
+ left: 0;
285
+ width: 100%;
286
+ z-index: var(--z-top);
287
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
288
+ display: flex;
289
+ align-items: center;
290
+ }
291
+
292
+ body > header .logo {
293
+ height: calc(var(--header-height) - 2rem);
294
+ }
295
+
296
+ body > header div {
297
+ display: flex;
298
+ align-items: center;
299
+ justify-content: space-between;
300
+ width: 100%;
301
+ }
302
+
303
+ body > header button {
304
+ width: 2.5rem;
305
+ height: 2.5rem;
306
+ padding: 0.5rem;
307
+ display: none;
308
+ }
309
+
310
+ #content {
311
+ flex: 1;
312
+ min-width: 0;
313
+ padding: 2rem;
314
+ padding-inline-start: 0;
315
+ max-width: 960px;
316
+ }
317
+
318
+ /* padding: 2rem; */
319
+
320
+ article {
321
+ background: var(--color-card-bg);
322
+ border-radius: calc(var(--border-radius) * 0.5);
323
+ margin-bottom: 2rem;
324
+ overflow: hidden;
325
+ }
326
+
327
+ article.topic {
328
+ padding-bottom: 0;
329
+ }
330
+
331
+ /* title/toggle */
332
+ #title {
333
+ margin-bottom: 2rem;
334
+ }
335
+
336
+ #title h1 {
337
+ text-align: center;
338
+ }
339
+
340
+
341
+ /* content toggle (Full Report / Predicted Agreement) */
342
+ .app-tab {
343
+ display: none;
344
+ }
345
+
346
+ .app-tab.is-visible {
347
+ display: block;
348
+ }
349
+
350
+ .content-toggle {
351
+ text-align: center;
352
+ }
353
+
354
+ .content-toggle-inner {
355
+ display: inline-flex;
356
+ border-radius: var(--border-radius);
357
+ margin-top: 1rem;
358
+ overflow: hidden;
359
+ }
360
+
361
+ .content-toggle-btn {
362
+ display: flex;
363
+ align-items: center;
364
+ justify-content: center;
365
+ width: 12rem;
366
+ border-radius: 0;
367
+ font-size: var(--12px);
368
+ font-weight: 500;
369
+ background: var(--color-white);
370
+ color: var(--color-text);
371
+ border: none;
372
+ cursor: pointer;
373
+ padding: 0.75rem 1rem;
374
+ }
375
+
376
+ .content-toggle-btn:first-child {
377
+ border-start-start-radius: var(--border-radius);
378
+ border-end-start-radius: var(--border-radius);
379
+ border-start-end-radius: 0;
380
+ border-end-end-radius: 0;
381
+ }
382
+
383
+ .content-toggle-btn:last-child {
384
+ border-start-end-radius: var(--border-radius);
385
+ border-end-end-radius: var(--border-radius);
386
+ border-start-start-radius: 0;
387
+ border-end-start-radius: 0;
388
+ }
389
+
390
+ .content-toggle-btn:hover {
391
+ background: var(--color-button-hover);
392
+ }
393
+
394
+ .content-toggle-btn.is-active,
395
+ .content-toggle-btn.is-active:hover {
396
+ background: var(--color-blue-light);
397
+ color: var(--color-blue-dark);
398
+ }
399
+ .content-toggle-btn img {
400
+ display: none;
401
+ }
402
+
403
+ .content-toggle-btn.is-active img {
404
+ display: inline-block;
405
+ }
406
+
407
+
408
+ /* sidebar */
409
+ .sidebar {
410
+ width: var(--sidebar-width);
411
+ height: calc(100svh - var(--header-height));
412
+ padding: 2rem;
413
+ position: sticky;
414
+ top: var(--header-height);
415
+ flex-shrink: 0;
416
+ overflow-y: auto;
417
+ z-index: calc(var(--z-top) - 1);
418
+ }
419
+ .sidebar nav p {
420
+ font-size: var(--12px);
421
+ font-weight: 700;
422
+ padding: 0 1rem;
423
+ margin: 1.5rem auto 0.5rem auto;
424
+ color: var(--color-text-medium);
425
+ }
426
+
427
+ .sidebar-inner {
428
+ display: none;
429
+ }
430
+
431
+ .sidebar-inner.is-active {
432
+ display: block;
433
+ }
434
+
435
+ .sidebar ul {
436
+ border-radius: var(--border-radius);
437
+ background: var(--color-card-bg);
438
+ overflow: hidden;
439
+ }
440
+
441
+ .sidebar li {
442
+ border-bottom: 1px solid var(--color-border);
443
+ }
444
+
445
+ .sidebar li:last-of-type {
446
+ border-bottom: none;
447
+ }
448
+
449
+ .sidebar nav .standalone-item {
450
+ margin-bottom: 0.5rem;
451
+ }
452
+
453
+ .sidebar nav .standalone-item img, .sidebar nav .standalone-item svg {
454
+ width: 1.5rem;
455
+ margin-inline-end: 1rem;
456
+ display: inline-block;
457
+ vertical-align: middle;
458
+ }
459
+
460
+ .sidebar a {
461
+ font-size: var(--12px);
462
+ }
463
+
464
+ .sidebar a span.badge {
465
+ display: inline-block;
466
+ background: var(--color-badge-bg-light);
467
+ color: var(--color-badge-text-light);
468
+ background: var(--color-badge-bg-light);
469
+ color: var(--color-badge-text-light);
470
+ border-radius: var(--border-radius);
471
+ padding: 0.25rem;
472
+ width: 3.5rem;
473
+ min-width: 3.5rem;
474
+ text-align: center;
475
+ margin-inline-end: 0.5rem;
476
+ }
477
+
478
+ .sidebar li a {
479
+ display: flex;
480
+ align-items: flex-start;
481
+ border-radius: 0;
482
+ }
483
+
484
+ .sidebar li a .text {
485
+ padding-top: 0.25rem;
486
+ }
487
+
488
+ .sidebar a.is-active {
489
+ background: var(--color-badge-bg-light);
490
+ }
491
+
492
+ /* executive summary stats */
493
+ .summary-stats {
494
+ display: flex;
495
+ justify-content: space-between;
496
+ margin-top: 2rem;
497
+ }
498
+
499
+ .summary-stats li {
500
+ display: flex;
501
+ align-items: center;
502
+ padding: 0.5rem;
503
+ flex: 1;
504
+ line-height: 1.2;
505
+ }
506
+
507
+ .summary-stats li:first-of-type {
508
+ padding-inline-start: 0;
509
+ }
510
+
511
+ .summary-stats li:last-of-type {
512
+ padding-inline-end: 0;
513
+ }
514
+
515
+ .summary-stats li span.badge {
516
+ display: flex;
517
+ justify-content: center;
518
+ align-items: center;
519
+ width: 3rem;
520
+ min-width: 3rem;
521
+ height: 3rem;
522
+ background: var(--color-badge-bg-dark);
523
+ color: var(--color-badge-text-dark);
524
+ border-radius: 50%;
525
+ }
526
+
527
+ .summary-stats li span.text {
528
+ display: flex;
529
+ flex-direction: column;
530
+ font-weight: 500;
531
+ margin-inline-start: 1rem;
532
+ font-size: var(--14px);
533
+ color: var(--color-badge-text-light);
534
+ }
535
+
536
+ .summary-stats li span.text strong {
537
+ font-size: var(--20px);
538
+ }
539
+
540
+
541
+ /* conversation overview chart */
542
+
543
+ #conversation-overview .toggle-container {
544
+ display: flex;
545
+ justify-content: space-between;
546
+ align-items: center;
547
+ margin: 1rem auto;
548
+ }
549
+
550
+ #conversation-overview fieldset {
551
+ border: none;
552
+ padding: 0;
553
+ }
554
+
555
+ #conversation-overview fieldset label {
556
+ margin-inline-end: 0.5rem;
557
+ }
558
+
559
+ #conversation-overview-chart .topic-wrapper {
560
+ margin-bottom: 1rem;
561
+ }
562
+
563
+ #conversation-overview-chart .topic-header {
564
+ font-size: var(--12px);
565
+ font-weight: 700;
566
+ margin-bottom: 0.25rem;
567
+ text-transform: uppercase;
568
+ }
569
+
570
+ #conversation-overview-chart .topic-meta {
571
+ font-weight: 500;
572
+ }
573
+
574
+ #conversation-overview-chart .topic-group {
575
+ display: flex;
576
+ align-items: center;
577
+ gap: 0.5rem;
578
+ margin-bottom: 0.2rem;
579
+ }
580
+
581
+ #conversation-overview-chart .topic-group-label {
582
+ font-size: var(--12px);
583
+ min-width: 3rem;
584
+ flex-shrink: 0;
585
+ color: var(--color-text);
586
+ cursor: pointer;
587
+ }
588
+
589
+ #conversation-overview-chart .topic-group-label:empty {
590
+ display: none;
591
+ }
592
+
593
+ #conversation-overview-chart .topic-svg {
594
+ flex: 1;
595
+ display: block;
596
+ }
597
+
598
+ [dir="rtl"] .demographic-svg,
599
+ [dir="rtl"] .topic-svg {
600
+ transform: scaleX(-1);
601
+ }
602
+
603
+ #conversation-overview-chart .topic-group-count {
604
+ font-size: var(--12px);
605
+ min-width: 84px;
606
+ flex-shrink: 0;
607
+ text-align: end;
608
+ white-space: nowrap;
609
+ display: flex;
610
+ align-items: center;
611
+ justify-content: flex-end;
612
+ }
613
+
614
+ #conversation-overview-chart .topic-group-count img {
615
+ display: inline-block;
616
+ margin-inline-start: 0.25rem;
617
+ }
618
+
619
+
620
+ /* participant overview chart */
621
+ .demographic-chart {
622
+ display: flex;
623
+ flex-wrap: wrap;
624
+ gap: 1rem;
625
+ margin-top: 2rem;
626
+ }
627
+
628
+ .demographic-chart .demographic-wrapper {
629
+ width: calc(50% - 1rem);
630
+ background: var(--color-bg);
631
+ padding: 1rem;
632
+ border-radius: calc(var(--border-radius) * 0.25);
633
+ }
634
+
635
+ .demographic-chart .demographic-header {
636
+ font-size: var(--12px);
637
+ font-weight: 500;
638
+ margin-bottom: 0.25rem;
639
+ text-transform: uppercase;
640
+ }
641
+
642
+
643
+ .demographic-chart .demographic-legend {
644
+ display: flex;
645
+ flex-wrap: wrap;
646
+ margin-top: 0.5rem;
647
+ }
648
+
649
+ #topics-identified {
650
+ display: inline-block;
651
+ border-radius: var(--border-radius);
652
+ background: var(--color-mark);
653
+ margin-bottom: 2rem;
654
+ padding: 0.75rem 1.5rem;
655
+ font-weight: 500;
656
+ font-size: var(--18px);
657
+ }
658
+
659
+ .topic-overview {
660
+ display: flex;
661
+ flex-wrap: wrap;
662
+ }
663
+
664
+ .topic-overview-stats {
665
+ display: flex;
666
+ width: 100%;
667
+ margin: 1rem 0;
668
+ }
669
+
670
+ .topic-overview-stats div {
671
+ margin-inline-end: 1rem;
672
+ font-size: var(--14px);
673
+ font-weight: 500;
674
+ color: var(--color-badge-text-light);
675
+ }
676
+
677
+ .topic-overview-stats .badge {
678
+ display: inline-block;
679
+ background: var(--color-badge-bg-dark);
680
+ color: var(--color-badge-text-dark);
681
+ border-radius: var(--border-radius);
682
+ font-weight: 600;
683
+ font-size: var(--12px);
684
+ padding: 0.25rem 0.5rem;
685
+ margin-inline-end: 0.25rem;
686
+ width: 3.5rem;
687
+ text-align: center;
688
+ }
689
+
690
+ .topic-overview-summary {
691
+ width: calc(100% - var(--overview-chart-width));
692
+ padding-inline-end: 2rem;
693
+ }
694
+
695
+ .topic-overview-summary p {
696
+ margin: 0;
697
+ }
698
+
699
+ .topic-overview-chart {
700
+ min-width: var(--overview-chart-width);
701
+ width: var(--overview-chart-width);
702
+ }
703
+
704
+ .topic-overview-chart-inner {
705
+ position: relative;
706
+ width: 100%;
707
+ aspect-ratio: 1;
708
+ }
709
+
710
+ .donut-chart-title {
711
+ position: absolute;
712
+ width: 100%;
713
+ height: 100%;
714
+ top: 0;
715
+ left: 0;
716
+ display: flex;
717
+ flex-direction: column;
718
+ justify-content: center;
719
+ align-items: center;
720
+ pointer-events: none;
721
+ line-height: 1.325;
722
+ }
723
+
724
+ .donut-chart-title .underline {
725
+ display: inline-block;
726
+ font-size: var(--12px);
727
+ font-weight: 500;
728
+ color: var(--color-text-light);
729
+ }
730
+
731
+ .donut-chart-title .count {
732
+ display: inline-block;
733
+ font-size: var(--24px);
734
+ font-weight: 700;
735
+ color: var(--color-text);
736
+ }
737
+
738
+ .topic-opinion {
739
+ padding: 1rem 2rem;
740
+ border: 1px solid transparent;
741
+ border-bottom: 1px solid var(--color-bg);
742
+ margin-inline: -2rem;
743
+ width: auto;
744
+ }
745
+
746
+ .topic-opinion:last-of-type {
747
+ border-bottom: none;
748
+ padding-bottom: 2rem;
749
+
750
+ }
751
+
752
+ .topic-opinion[open] {
753
+ border-top: 1px solid var(--color-bg);
754
+ background: var(--color-blue-extra-light)
755
+ }
756
+
757
+
758
+ .topic-opinion summary {
759
+ display: flex;
760
+ justify-content: space-between;
761
+ align-items: center;
762
+ padding: 0;
763
+ cursor: pointer;
764
+ list-style: none;
765
+ font-size: var(--16px);
766
+ }
767
+
768
+
769
+ .topic-opinion summary .summary-wrapper {
770
+ padding-inline-end: 1rem;
771
+ display: flex;
772
+ flex-direction: column;
773
+
774
+ }
775
+
776
+ .topic-opinion summary span.summary-overline {
777
+ font-size: var(--12px);
778
+ font-weight: 700;
779
+ margin-bottom: 0.5rem;
780
+ }
781
+
782
+ .topic-opinion summary::-webkit-details-marker {
783
+ display: none;
784
+ }
785
+
786
+ .topic-opinion .chevron {
787
+ width: 2rem;
788
+ height: 2rem;
789
+ stroke: var(--color-text-light);
790
+ transition: transform 0.25s ease;
791
+ flex-shrink: 0;
792
+ }
793
+
794
+
795
+ .topic-opinion[open] .chevron {
796
+ transform: rotate(180deg);
797
+ }
798
+
799
+ .topic-opinion-sample ul {
800
+ display: grid;
801
+ grid-template-columns: repeat(2, 1fr);
802
+ gap: 1rem;
803
+ margin: 0;
804
+ padding: 0;
805
+ padding-top: 1rem;
806
+ }
807
+
808
+ .topic-opinion-sample li {
809
+ font-size: var(--14px);
810
+ padding: 1.5rem;
811
+ border: 1px solid var(--color-border);
812
+ border-radius: calc(var(--border-radius) * 0.5);
813
+ border-end-start-radius: 0;
814
+ background: var(--color-white);
815
+ line-height: 1.5;
816
+ }
817
+
818
+ .topic-opinion-view-all {
819
+ display: flex;
820
+ justify-content: center;
821
+ padding: 2rem 1rem;
822
+ }
823
+
824
+ .button-quotes {
825
+ text-align: center;
826
+ background: var(--color-badge-bg-dark);
827
+ color: var(--color-badge-text-dark);
828
+ padding: 0.5rem 1rem;
829
+ }
830
+
831
+ .button-quotes:hover {
832
+ background: var(--color-blue-medium);
833
+ color: var(--color-badge-text-dark);
834
+ }
835
+
836
+
837
+ /* drawer */
838
+ #drawer {
839
+ display: flex;
840
+ position: fixed;
841
+ top: 0;
842
+ left: 0;
843
+ width: 100%;
844
+ height: 100%;
845
+ justify-content: center;
846
+ align-items: center;
847
+ z-index: var(--z-overlay);
848
+ pointer-events: none;
849
+ }
850
+
851
+ #drawer.is-open {
852
+ pointer-events: auto;
853
+ }
854
+
855
+ .drawer-bg {
856
+ position: absolute;
857
+ top: 0;
858
+ left: 0;
859
+ width: 100%;
860
+ height: 100%;
861
+ background: rgba(0, 0, 0, 0.5);
862
+ opacity: 0;
863
+ }
864
+
865
+ #drawer.is-open .drawer-bg {
866
+ opacity: 1;
867
+ transition: opacity 0.25s ease;
868
+ }
869
+
870
+ .drawer-content {
871
+ position: absolute;
872
+ top: 0;
873
+ inset-inline-end: 0;
874
+ background: var(--color-card-bg);
875
+ border-start-start-radius: calc(var(--border-radius) * 0.5);
876
+ border-end-start-radius: calc(var(--border-radius) * 0.5);
877
+ padding: 2rem;
878
+ width: 100%;
879
+ height: 100%;
880
+ max-width: 960px;
881
+ z-index: var(--z-top);
882
+ display: flex;
883
+ flex-direction: column;
884
+ transform: translateX(100%);
885
+ transition: transform 0.25s ease;
886
+ }
887
+
888
+ [dir="rtl"] .drawer-content {
889
+ transform: translateX(-100%);
890
+ }
891
+
892
+ #drawer.is-open .drawer-content,
893
+ [dir="rtl"] #drawer.is-open .drawer-content {
894
+ transform: translateX(0);
895
+ }
896
+
897
+ #drawer .button-close {
898
+ position: absolute;
899
+ top: 0.75rem;
900
+ inset-inline-end: 0.75rem;
901
+ background: none;
902
+ border: none;
903
+ z-index: var(--z-top);
904
+ }
905
+
906
+ #drawer .button-close img {
907
+ margin-inline-end: 0;
908
+ }
909
+
910
+ #drawer .tab {
911
+ overflow: auto;
912
+ display: none;
913
+ }
914
+
915
+ #drawer .tab.is-visible {
916
+ display: block;
917
+ }
918
+
919
+ .drawer-toggle-inner {
920
+ border-bottom: 1px solid var(--color-border);
921
+ margin-bottom: 1rem;
922
+ display: flex;
923
+ gap: 1rem;
924
+ }
925
+
926
+ .drawer-toggle-inner button {
927
+ display: block;
928
+ padding: 0;
929
+ padding-bottom: 0.5rem;
930
+ background: none;
931
+ border-radius: 0;
932
+ border-bottom: 2px solid transparent;
933
+ }
934
+
935
+ .drawer-toggle-inner button:hover {
936
+ background: none;
937
+ }
938
+
939
+ .drawer-toggle-inner button.is-active {
940
+ border-bottom: 2px solid var(--color-blue-medium);
941
+ }
942
+
943
+ .drawer-quotes-filters {
944
+ position: sticky;
945
+ top: 0;
946
+ display: flex;
947
+ flex-wrap: wrap;
948
+ gap: 0.5rem;
949
+ background: var(--color-white);
950
+ z-index: var(--z-top);
951
+ padding-bottom: 1rem;
952
+ }
953
+
954
+ .drawer-quotes-filters select {
955
+ border-radius: calc(var(--border-radius) * 0.25);
956
+ border: 1px solid var(--color-border);
957
+ padding: 0.25rem 0.5rem;
958
+ padding-inline-end: 2rem;
959
+ font-size: var(--14px);
960
+ font-weight: 500;
961
+ appearance: none;
962
+ -webkit-appearance: none;
963
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23333'/%3E%3C/svg%3E");
964
+ background-repeat: no-repeat;
965
+ background-position: right 0.6rem center;
966
+ background-size: 10px 6px;
967
+ text-transform: capitalize;
968
+ }
969
+
970
+ [dir="rtl"] .drawer-quotes-filters select {
971
+ background-position: left 0.6rem center;
972
+ }
973
+
974
+ .drawer-opinion {
975
+ font-size: var(--18px);
976
+ font-weight: 500;
977
+ line-height: 1.325;
978
+ width: 100%;
979
+ }
980
+
981
+ .drawer-quotes {
982
+ position: relative;
983
+ flex-grow: 1;
984
+ min-height: 0;
985
+ overflow: auto;
986
+ }
987
+
988
+ .drawer-quotes li {
989
+ font-size: var(--14px);
990
+ line-height: 1.5;
991
+ margin-bottom: 0.5rem;
992
+ border-top: 1px solid var(--color-border);
993
+ padding-top: 0.5rem;
994
+ }
995
+
996
+ .drawer-quotes li > span {
997
+ display: block;
998
+ }
999
+
1000
+ .drawer-quotes li span.demographics {
1001
+ display: flex;
1002
+ gap: 1rem;
1003
+ margin-top: 0.5rem;
1004
+ font-size: var(--11px);
1005
+ font-weight: 700;
1006
+ color: var(--color-text-lightest);
1007
+ }
1008
+
1009
+ #filter-compare {
1010
+ display: none;
1011
+ position: fixed;
1012
+ top: 0;
1013
+ left: 0;
1014
+ width: 100%;
1015
+ height: 100%;
1016
+ justify-content: center;
1017
+ align-items: center;
1018
+ z-index: var(--z-overlay);
1019
+ }
1020
+
1021
+ #filter-compare.is-open {
1022
+ display: flex;
1023
+ }
1024
+
1025
+ .filter-compare-bg {
1026
+ position: absolute;
1027
+ top: 0;
1028
+ left: 0;
1029
+ width: 100%;
1030
+ height: 100%;
1031
+ background: rgba(0, 0, 0, 0.5);
1032
+ }
1033
+
1034
+ .filter-compare-content {
1035
+ position: relative;
1036
+ background: var(--color-card-bg);
1037
+ border-radius: calc(var(--border-radius) * 0.5);
1038
+ padding: 2rem;
1039
+ padding-bottom: 0;
1040
+ width: 90%;
1041
+ max-height: 80%;
1042
+ max-width: 800px;
1043
+ z-index: var(--z-top);
1044
+ display: flex;
1045
+ flex-direction: column;
1046
+ gap: 1rem;
1047
+ overflow-y: auto;
1048
+ }
1049
+
1050
+ .filter-compare-title {
1051
+ font-size: var(--18px);
1052
+ font-weight: 500;
1053
+ line-height: 1.325;
1054
+ padding-inline-end: 2rem;
1055
+ }
1056
+
1057
+ .filter-compare-description {
1058
+ font-size: var(--14px);
1059
+ color: var(--color-text-secondary);
1060
+ margin: 0;
1061
+ }
1062
+
1063
+ #filter-compare .button-close {
1064
+ position: absolute;
1065
+ top: 0.75rem;
1066
+ inset-inline-end: 0.75rem;
1067
+ background: none;
1068
+ border: none;
1069
+ z-index: var(--z-top);
1070
+ }
1071
+
1072
+ #filter-compare .button-close img {
1073
+ margin-inline-end: 0;
1074
+ }
1075
+
1076
+ .filter-compare-groups {
1077
+ display: flex;
1078
+ flex-direction: column;
1079
+ gap: 1rem;
1080
+ }
1081
+
1082
+ .filter-group-card {
1083
+ border: 1px solid var(--color-border);
1084
+ border-radius: calc(var(--border-radius) * 0.5);
1085
+ padding: 1rem;
1086
+ display: flex;
1087
+ flex-direction: column;
1088
+ gap: 1rem;
1089
+ }
1090
+
1091
+ .filter-group-header {
1092
+ display: flex;
1093
+ align-items: center;
1094
+ gap: 0.5rem;
1095
+ justify-content: space-between;
1096
+ }
1097
+
1098
+ .filter-group-label {
1099
+ font-weight: 700;
1100
+ font-size: var(--14px);
1101
+ }
1102
+
1103
+ .filter-group-summary {
1104
+ font-size: var(--14px);
1105
+ color: var(--color-text-secondary);
1106
+ background: var(--color-bg);
1107
+ border-radius: calc(var(--border-radius) * 0.25);
1108
+ padding: 0.4rem 0.75rem;
1109
+ }
1110
+
1111
+ .filter-group-selects {
1112
+ display: grid;
1113
+ grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
1114
+ gap: 0.5rem;
1115
+ }
1116
+
1117
+ .filter-select-wrapper {
1118
+ display: flex;
1119
+ flex-direction: column;
1120
+ gap: 0.125rem;
1121
+ background: var(--color-bg);
1122
+ border-radius: calc(var(--border-radius) * 0.25);
1123
+ padding: 0.5rem;
1124
+ position: relative;
1125
+ }
1126
+
1127
+ .filter-select-wrapper::after {
1128
+ content: "";
1129
+ position: absolute;
1130
+ inset-inline-end: 1rem;
1131
+ top: 50%;
1132
+ transform: translateY(100%);
1133
+ width: 10px;
1134
+ height: 6px;
1135
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23333'/%3E%3C/svg%3E");
1136
+ background-repeat: no-repeat;
1137
+ background-size: contain;
1138
+ pointer-events: none;
1139
+ }
1140
+
1141
+ .filter-select-wrapper label {
1142
+ font-size: 11px;
1143
+ font-weight: 500;
1144
+ color: var(--color-text-secondary);
1145
+ pointer-events: none;
1146
+ text-transform: capitalize;
1147
+ }
1148
+
1149
+ .filter-select-wrapper select {
1150
+ appearance: none;
1151
+ -webkit-appearance: none;
1152
+ border: none;
1153
+ background: transparent;
1154
+ font-size: var(--14px);
1155
+ font-weight: 500;
1156
+ padding: 0;
1157
+ cursor: pointer;
1158
+ width: 100%;
1159
+ text-transform: capitalize;
1160
+ }
1161
+
1162
+ .filter-select-wrapper select:focus {
1163
+ outline: none;
1164
+ }
1165
+
1166
+ .filter-compare-footer {
1167
+ position: sticky;
1168
+ bottom: 0;
1169
+ background: var(--color-white);
1170
+ display: flex;
1171
+ justify-content: flex-end;
1172
+ margin-top: 0.5rem;
1173
+ align-items: center;
1174
+ z-index: var(--z-top);
1175
+ padding: 1rem 0;
1176
+ border-top: 1px solid var(--color-border);
1177
+ }
1178
+
1179
+ .filter-compare-footer button {
1180
+ padding: 0.5rem 1rem;
1181
+ font-size: var(--14px);
1182
+ }
1183
+
1184
+ .button-reset-groups {
1185
+ border: none;
1186
+ background: none;
1187
+ color: var(--color-text-secondary);
1188
+ cursor: pointer;
1189
+ text-decoration: underline;
1190
+ }
1191
+
1192
+ .button-reset-groups:hover {
1193
+ background: none;
1194
+ color: var(--color-text);
1195
+ }
1196
+
1197
+ .button-apply-groups {
1198
+ background: var(--color-badge-bg-dark);
1199
+ color: var(--color-badge-text-dark);
1200
+ }
1201
+
1202
+ .button-apply-groups:hover {
1203
+ background: var(--color-blue-medium);
1204
+ color: var(--color-badge-text-dark);
1205
+ }
1206
+
1207
+ .button-add-group {
1208
+ border: 1px dashed var(--color-border);
1209
+ padding: 0.75rem;
1210
+ font-size: var(--14px);
1211
+ text-align: center;
1212
+ cursor: pointer;
1213
+ width: 100%;
1214
+ }
1215
+
1216
+ .button-add-group:hover {
1217
+ background: var(--color-bg);
1218
+ }
1219
+
1220
+ .button-delete-group {
1221
+ border: none;
1222
+ background: none;
1223
+ color: var(--color-text-secondary);
1224
+ cursor: pointer;
1225
+ padding: 0.25rem;
1226
+ display: flex;
1227
+ align-items: center;
1228
+ }
1229
+
1230
+ .button-delete-group:hover {
1231
+ background: none;
1232
+ color: var(--color-text);
1233
+ }
1234
+
1235
+
1236
+ /* share modal */
1237
+ #share {
1238
+ display: none;
1239
+ position: fixed;
1240
+ top: 0;
1241
+ left: 0;
1242
+ width: 100%;
1243
+ height: 100%;
1244
+ justify-content: center;
1245
+ align-items: center;
1246
+ z-index: var(--z-overlay);
1247
+ }
1248
+
1249
+ #share.is-open {
1250
+ display: flex;
1251
+ }
1252
+
1253
+ .share-bg {
1254
+ position: absolute;
1255
+ top: 0;
1256
+ left: 0;
1257
+ width: 100%;
1258
+ height: 100%;
1259
+ background: rgba(0, 0, 0, 0.5);
1260
+ }
1261
+
1262
+ .share-content {
1263
+ position: relative;
1264
+ background: var(--color-card-bg);
1265
+ border-radius: calc(var(--border-radius) * 0.5);
1266
+ padding: 1rem 1.5rem;
1267
+ width: 90%;
1268
+ max-height: 80%;
1269
+ overflow: hidden;
1270
+ max-width: 480px;
1271
+ z-index: var(--z-top);
1272
+ }
1273
+
1274
+ .share-title {
1275
+ font-size: var(--24px);
1276
+ line-height: 1.2;
1277
+ margin: 0;
1278
+ margin-bottom: 1rem;
1279
+ }
1280
+
1281
+ .share-description {
1282
+ font-size: var(--14px);
1283
+ color: var(--color-text-medium);
1284
+ margin: 0;
1285
+ }
1286
+
1287
+ .share-url {
1288
+ margin-top: 1rem;
1289
+ position: relative;
1290
+ border-radius: calc(var(--border-radius) * 0.25);
1291
+ border: 1px solid var(--color-border);
1292
+ padding: 0.5rem;
1293
+ }
1294
+
1295
+ .share-url .button-copy {
1296
+ position: absolute;
1297
+ top: 50%;
1298
+ inset-inline-end: 0.5rem;
1299
+ transform: translateY(-50%);
1300
+ width: 2rem;
1301
+ height: 2rem;
1302
+ cursor: pointer;
1303
+ padding: 0.375rem;
1304
+ }
1305
+
1306
+ .share-url .button-copy:before {
1307
+ content: attr(data-copied);
1308
+ position: absolute;
1309
+ top: 50%;
1310
+ inset-inline-end: 0;
1311
+ transform: translateY(-50%);
1312
+ background: var(--color-badge-bg-light);
1313
+ color: var(--color-badge-text-light);
1314
+ font-size: var(--12px);
1315
+ padding: 0.5rem;
1316
+ border-radius: calc(var(--border-radius) * 0.5);
1317
+ opacity: 0;
1318
+ transition: opacity 0.125s ease;
1319
+ }
1320
+
1321
+ .share-url .button-copy.is-copied:before {
1322
+ opacity: 1;
1323
+ }
1324
+
1325
+ /* .share-url .button-copy:hover {
1326
+ background: none;
1327
+ } */
1328
+
1329
+ .share-url .button-copy img, .share-url .button-copy svg {
1330
+ width: 100%;
1331
+ }
1332
+
1333
+ .share-url input {
1334
+ width: calc(100% - 2.25rem);
1335
+ border: none;
1336
+ background: none;
1337
+ font-size: var(--14px);
1338
+ color: var(--color-text-medium);
1339
+ white-space: nowrap;
1340
+ overflow: hidden;
1341
+ text-overflow: ellipsis;
1342
+ direction: ltr;
1343
+ text-align: left;
1344
+ }
1345
+
1346
+ .share-close {
1347
+ text-align: end;
1348
+ }
1349
+
1350
+ .button-close-share {
1351
+ border: none;
1352
+ background: none;
1353
+ color: var(--color-button-text-alt);
1354
+ cursor: pointer;
1355
+ display: inline-block;
1356
+ padding: 0;
1357
+ margin-top: 2rem;
1358
+ }
1359
+
1360
+ .button-close-share:hover {
1361
+ color: var(--color-badge-text-light);
1362
+ background: none;
1363
+ }
1364
+
1365
+ /* predicted agreement */
1366
+ .predicted-table {
1367
+ width: 100%;
1368
+ }
1369
+ #predicted-agreement tbody td {
1370
+ border-top: 1px solid var(--color-border);
1371
+ padding: 1rem 0;
1372
+ }
1373
+
1374
+ #predicted-agreement th {
1375
+ font-weight: 700;
1376
+ font-size: var(--12px);
1377
+ padding-bottom: 0.5rem;
1378
+ }
1379
+
1380
+ #predicted-agreement th:first-of-type, #predicted-agreement td:first-of-type {
1381
+ text-align: start;
1382
+ }
1383
+
1384
+ #predicted-agreement th:last-of-type, #predicted-agreement td:last-of-type {
1385
+ text-align: end;
1386
+ min-width: 10rem;
1387
+ }
1388
+
1389
+ #predicted-agreement td:first-of-type {
1390
+ font-size: var(--18px);
1391
+ }
1392
+
1393
+ #predicted-agreement td:last-of-type {
1394
+ font-size: var(--24px);
1395
+ }
1396
+
1397
+
1398
+
1399
+
1400
+
1401
+ .tippy-box[data-theme~=light]{color:#26323d;box-shadow:0 0 20px 4px rgba(154,161,177,.15),0 4px 80px -8px rgba(36,40,47,.25),0 4px 4px -2px rgba(91,94,105,.15);background-color:#fff}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff}.tippy-box[data-theme~=light]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light]>.tippy-svg-arrow{fill:#fff}
1402
+
1403
+ .tippy-content {
1404
+ padding: 0.75rem 1rem;
1405
+ }
1406
+
1407
+ .tippy-content .topic-text {
1408
+ font-size: var(--12px);
1409
+ margin-bottom: 0.75rem;
1410
+ color: var(--color-text-light);
1411
+ }
1412
+
1413
+ .tippy-content .quote-count {
1414
+ font-weight: 700;
1415
+ font-size: var(--12px);
1416
+ margin-bottom: 0.125rem;
1417
+ color: var(--color-text);
1418
+ }
1419
+
1420
+ .tippy-content .opinion-text {
1421
+ color: var(--color-text);
1422
+ font-size: var(--12px);
1423
+ }
1424
+
1425
+
1426
+ .tippy-content .topic-group-item {
1427
+ margin: 0.25rem 0;
1428
+ color: var(--color-text-medium);
1429
+ font-size: var(--12px);
1430
+ font-weight: 500;
1431
+ text-transform: capitalize;
1432
+ }
1433
+
1434
+ .tippy-content .topic-group-label {
1435
+ color: var(--text-color);
1436
+ font-size: var(--12px);
1437
+ font-weight: 700;
1438
+ text-transform: capitalize;
1439
+ }
1440
+
1441
+ .tippy-content .topic-group-description {
1442
+ color: var(--color-text-medium);
1443
+ font-size: var(--12px);
1444
+ font-weight: 500;
1445
+ text-transform: capitalize;
1446
+ }
1447
+
1448
+ .tippy-content .low-sample {
1449
+ font-size: var(--12px);
1450
+ font-weight: 500;
1451
+ color: #B3261E;
1452
+ }
1453
+
1454
+ .print-only {
1455
+ display: none;
1456
+ }
1457
+
1458
+ .opinion-list-container {
1459
+ display: flex;
1460
+ flex-direction: column;
1461
+ width: 100%;
1462
+ }
1463
+
1464
+ .opinion-row .opinion-label {
1465
+ font-size: var(--12px);
1466
+ line-height: 1.2;
1467
+ margin-bottom: 4px;
1468
+ }
1469
+
1470
+ .opinion-bar-wrapper {
1471
+ flex: 1;
1472
+ }
1473
+
1474
+ .opinion-legend {
1475
+ display: flex;
1476
+ flex-wrap: wrap;
1477
+ margin-bottom: 0.5rem;
1478
+ }
1479
+
1480
+ .legend-item {
1481
+ display: flex;
1482
+ align-items: center;
1483
+ margin-inline-end: 0.5rem;
1484
+ margin-bottom: 0.25rem;
1485
+ }
1486
+
1487
+ .legend-color {
1488
+ display: inline-block;
1489
+ width: 0.75rem;
1490
+ height: 0.75rem;
1491
+ border-radius: 0.25rem;
1492
+ margin-inline-end: 0.25rem;
1493
+ }
1494
+
1495
+ .legend-text {
1496
+ font-size: var(--12px);
1497
+ text-transform: capitalize;
1498
+ }
1499
+
1500
+
1501
+ .sr-only {
1502
+ position: absolute;
1503
+ width: 1px;
1504
+ height: 1px;
1505
+ overflow: hidden;
1506
+ clip: rect(0, 0, 0, 0);
1507
+ clip-path: inset(50%);
1508
+ white-space: nowrap;
1509
+ }
1510
+
1511
+ @media screen and (max-width: 1024px) {
1512
+ #content {
1513
+ margin-inline-start: auto;
1514
+ margin-inline-end: auto;
1515
+ padding: 2rem 0.5rem;
1516
+ width: 100%;
1517
+ max-width: 960px;
1518
+ }
1519
+
1520
+ .sidebar {
1521
+ pointer-events: none;
1522
+ transform: translate(-100%, 0);
1523
+ position: fixed;
1524
+ top: var(--header-height);
1525
+ inset-inline-start: 0;
1526
+ left: auto;
1527
+ right: auto;
1528
+ transition: all 0.25s ease;
1529
+ background: var(--color-bg);
1530
+ }
1531
+
1532
+ [dir="rtl"] .sidebar {
1533
+ transform: translate(100%, 0);
1534
+ }
1535
+
1536
+ .sidebar.is-open,
1537
+ [dir="rtl"] .sidebar.is-open {
1538
+ pointer-events: auto;
1539
+ transform: translate(0, 0);
1540
+ }
1541
+
1542
+ body > header button {
1543
+ display: block;
1544
+ }
1545
+ }
1546
+
1547
+ @media screen and (max-width: 800px) {
1548
+ article {
1549
+ /* padding: 1rem; */
1550
+ }
1551
+
1552
+ .summary-stats {
1553
+ flex-wrap: wrap;
1554
+ }
1555
+
1556
+ .topic-overview {
1557
+ flex-direction: column;
1558
+ }
1559
+
1560
+ .topic-overview-summary {
1561
+ order: 4;
1562
+ width: 100%;
1563
+ padding-inline-end: 0;
1564
+ }
1565
+
1566
+ .topic-overview-chart {
1567
+ order: 3;
1568
+ margin: 1rem 0 2rem 0;
1569
+ }
1570
+
1571
+ .topic-opinion-sample ul {
1572
+ display: grid;
1573
+ grid-template-columns: repeat(1, 1fr);
1574
+ }
1575
+
1576
+ .summary-stats {
1577
+ flex-direction: column;
1578
+ }
1579
+
1580
+ .summary-stats li {
1581
+ padding: 0.5rem 0;
1582
+ }
1583
+
1584
+ .topic-overview-info-stats div {
1585
+ display: flex;
1586
+ flex-direction: column;
1587
+ align-items: center;
1588
+ }
1589
+
1590
+ .topic-opinion summary {
1591
+ font-size: var(--16px);
1592
+ }
1593
+
1594
+ .drawer-content {
1595
+ border-radius: 0;
1596
+ }
1597
+ }
1598
+
1599
+ @media screen and (max-width: 540px) {
1600
+ .demographic-chart .demographic-wrapper {
1601
+ width: calc(100% - 1rem);
1602
+ }
1603
+
1604
+ #conversation-overview .toggle-container {
1605
+ flex-direction: column;
1606
+ align-items: flex-start;
1607
+ gap: 0.5rem;
1608
+ }
1609
+ }