sysview-py 0.1.0__py3-none-any.whl

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,779 @@
1
+ /* Global variables. */
2
+ :root {
3
+ /* Set sans-serif & mono fonts */
4
+ --sans-font: -apple-system, BlinkMacSystemFont, "Avenir Next", Avenir,
5
+ "Nimbus Sans L", Roboto, "Noto Sans", "Segoe UI", Arial, Helvetica,
6
+ "Helvetica Neue", sans-serif;
7
+ --serif-font: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
8
+ --mono-font: Consolas, Menlo, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
9
+ --standard-border-radius: 5px;
10
+ --border-width: 1px;
11
+
12
+ /* Default (light) theme */
13
+ --bg: #fff;
14
+ --accent-bg: #f5f7ff;
15
+ --text: #212121;
16
+ --text-light: #585858;
17
+ --border: #898EA4;
18
+ --accent: #0d47a1;
19
+ --accent-hover: #1266e2;
20
+ --accent-text: var(--bg);
21
+ --code: #d81b60;
22
+ --preformatted: #444;
23
+ --marked: #ffdd33;
24
+ --disabled: #efefef;
25
+ }
26
+
27
+ /* Dark theme */
28
+ @media (prefers-color-scheme: dark) {
29
+ :root {
30
+ color-scheme: dark;
31
+ --bg: #212121;
32
+ --accent-bg: #2b2b2b;
33
+ --text: #dcdcdc;
34
+ --text-light: #ababab;
35
+ --accent: #ffb300;
36
+ --accent-hover: #ffe099;
37
+ --accent-text: var(--bg);
38
+ --code: #f06292;
39
+ --preformatted: #ccc;
40
+ --disabled: #111;
41
+ }
42
+ /* Add a bit of transparency so light media isn't so glaring in dark mode */
43
+ img,
44
+ video {
45
+ opacity: 0.8;
46
+ }
47
+ }
48
+
49
+ /* Reset box-sizing */
50
+ *, *::before, *::after {
51
+ box-sizing: border-box;
52
+ }
53
+
54
+ /* Reset default appearance */
55
+ textarea,
56
+ select,
57
+ input,
58
+ progress {
59
+ appearance: none;
60
+ -webkit-appearance: none;
61
+ -moz-appearance: none;
62
+ }
63
+
64
+ html {
65
+ /* Set the font globally */
66
+ font-family: var(--sans-font);
67
+ scroll-behavior: smooth;
68
+ }
69
+
70
+ /* Make the body a nice central block */
71
+ body {
72
+ color: var(--text);
73
+ background-color: var(--bg);
74
+ font-size: 1.15rem;
75
+ line-height: 1.5;
76
+ display: grid;
77
+ grid-template-columns: 1fr min(45rem, 90%) 1fr;
78
+ margin: 0;
79
+ }
80
+ body > * {
81
+ grid-column: 2;
82
+ }
83
+
84
+ /* Make the header bg full width, but the content inline with body */
85
+ body > header {
86
+ background-color: var(--accent-bg);
87
+ border-bottom: var(--border-width) solid var(--border);
88
+ text-align: center;
89
+ padding: 0 0.5rem 2rem 0.5rem;
90
+ grid-column: 1 / -1;
91
+ }
92
+
93
+ body > header > *:only-child {
94
+ margin-block-start: 2rem;
95
+ }
96
+
97
+ body > header h1 {
98
+ max-width: 1200px;
99
+ margin: 1rem auto;
100
+ }
101
+
102
+ body > header p {
103
+ max-width: 40rem;
104
+ margin: 1rem auto;
105
+ }
106
+
107
+ /* Add a little padding to ensure spacing is correct between content and header nav */
108
+ main {
109
+ padding-top: 1.5rem;
110
+ }
111
+
112
+ body > footer {
113
+ margin-top: 4rem;
114
+ padding: 2rem 1rem 1.5rem 1rem;
115
+ color: var(--text-light);
116
+ font-size: 0.9rem;
117
+ text-align: center;
118
+ border-top: var(--border-width) solid var(--border);
119
+ }
120
+
121
+ /* Format headers */
122
+ h1 {
123
+ font-size: 3rem;
124
+ }
125
+
126
+ h2 {
127
+ font-size: 2.6rem;
128
+ margin-top: 3rem;
129
+ }
130
+
131
+ h3 {
132
+ font-size: 2rem;
133
+ margin-top: 3rem;
134
+ }
135
+
136
+ h4 {
137
+ font-size: 1.44rem;
138
+ }
139
+
140
+ h5 {
141
+ font-size: 1.15rem;
142
+ }
143
+
144
+ h6 {
145
+ font-size: 0.96rem;
146
+ }
147
+
148
+ p {
149
+ margin: 1.5rem 0;
150
+ }
151
+
152
+ /* Prevent long strings from overflowing container */
153
+ p, h1, h2, h3, h4, h5, h6 {
154
+ overflow-wrap: break-word;
155
+ }
156
+
157
+ /* Fix line height when title wraps */
158
+ h1,
159
+ h2,
160
+ h3 {
161
+ line-height: 1.1;
162
+ }
163
+
164
+ /* Reduce header size on mobile */
165
+ @media only screen and (max-width: 720px) {
166
+ h1 {
167
+ font-size: 2.5rem;
168
+ }
169
+
170
+ h2 {
171
+ font-size: 2.1rem;
172
+ }
173
+
174
+ h3 {
175
+ font-size: 1.75rem;
176
+ }
177
+
178
+ h4 {
179
+ font-size: 1.25rem;
180
+ }
181
+ }
182
+
183
+ /* Format links & buttons */
184
+ a,
185
+ a:visited {
186
+ color: var(--accent);
187
+ }
188
+
189
+ a:hover {
190
+ text-decoration: none;
191
+ }
192
+
193
+ button,
194
+ .button,
195
+ a.button, /* extra specificity to override a */
196
+ input[type="submit"],
197
+ input[type="reset"],
198
+ input[type="button"] {
199
+ border: var(--border-width) solid var(--accent);
200
+ background-color: var(--accent);
201
+ color: var(--accent-text);
202
+ padding: 0.5em;
203
+ text-decoration: none;
204
+ line-height: normal;
205
+ }
206
+
207
+ .button[aria-disabled="true"],
208
+ input:disabled,
209
+ textarea:disabled,
210
+ select:disabled,
211
+ button[disabled] {
212
+ cursor: not-allowed;
213
+ background-color: var(--disabled);
214
+ border-color: var(--disabled);
215
+ color: var(--text-light);
216
+ }
217
+
218
+ input[type="range"] {
219
+ padding: 0;
220
+ }
221
+
222
+ /* Set the cursor to '?' on an abbreviation and style the abbreviation to show that there is more information underneath */
223
+ abbr[title] {
224
+ cursor: help;
225
+ text-decoration-line: underline;
226
+ text-decoration-style: dotted;
227
+ }
228
+
229
+ button:enabled:hover,
230
+ .button:not([aria-disabled="true"]):hover,
231
+ input[type="submit"]:enabled:hover,
232
+ input[type="reset"]:enabled:hover,
233
+ input[type="button"]:enabled:hover {
234
+ background-color: var(--accent-hover);
235
+ border-color: var(--accent-hover);
236
+ cursor: pointer;
237
+ }
238
+
239
+ .button:focus-visible,
240
+ button:focus-visible:where(:enabled),
241
+ input:enabled:focus-visible:where(
242
+ [type="submit"],
243
+ [type="reset"],
244
+ [type="button"]
245
+ ) {
246
+ outline: 2px solid var(--accent);
247
+ outline-offset: 1px;
248
+ }
249
+
250
+ /* Format navigation */
251
+ header nav {
252
+ font-size: 1rem;
253
+ line-height: 2;
254
+ padding: 1rem 0 0 0;
255
+ }
256
+
257
+ /* Use flexbox to allow items to wrap, as needed */
258
+ header nav ul,
259
+ header nav ol {
260
+ align-content: space-around;
261
+ align-items: center;
262
+ display: flex;
263
+ flex-direction: row;
264
+ flex-wrap: wrap;
265
+ justify-content: center;
266
+ list-style-type: none;
267
+ margin: 0;
268
+ padding: 0;
269
+ }
270
+
271
+ /* List items are inline elements, make them behave more like blocks */
272
+ header nav ul li,
273
+ header nav ol li {
274
+ display: inline-block;
275
+ }
276
+
277
+ header nav a,
278
+ header nav a:visited {
279
+ margin: 0 0.5rem 1rem 0.5rem;
280
+ border: var(--border-width) solid var(--border);
281
+ border-radius: var(--standard-border-radius);
282
+ color: var(--text);
283
+ display: inline-block;
284
+ padding: 0.1rem 1rem;
285
+ text-decoration: none;
286
+ }
287
+
288
+ header nav a:hover,
289
+ header nav a.current,
290
+ header nav a[aria-current="page"],
291
+ header nav a[aria-current="true"] {
292
+ background: var(--bg);
293
+ border-color: var(--accent);
294
+ color: var(--accent);
295
+ cursor: pointer;
296
+ }
297
+
298
+ /* Reduce nav side on mobile */
299
+ @media only screen and (max-width: 720px) {
300
+ header nav a {
301
+ border: none;
302
+ padding: 0;
303
+ text-decoration: underline;
304
+ line-height: 1;
305
+ }
306
+
307
+ header nav a.current {
308
+ background: none;
309
+ }
310
+ }
311
+
312
+ /* Consolidate box styling */
313
+ aside, details, pre, progress {
314
+ background-color: var(--accent-bg);
315
+ border: var(--border-width) solid var(--border);
316
+ border-radius: var(--standard-border-radius);
317
+ margin-bottom: 1rem;
318
+ }
319
+
320
+ aside {
321
+ font-size: 1rem;
322
+ width: 30%;
323
+ padding: 0 15px;
324
+ margin-inline-start: 15px;
325
+ float: right;
326
+ }
327
+ *[dir="rtl"] aside {
328
+ float: left;
329
+ }
330
+
331
+ /* Make aside full-width on mobile */
332
+ @media only screen and (max-width: 720px) {
333
+ aside {
334
+ width: 100%;
335
+ float: none;
336
+ margin-inline-start: 0;
337
+ }
338
+ }
339
+
340
+ article, fieldset, dialog {
341
+ border: var(--border-width) solid var(--border);
342
+ padding: 1rem;
343
+ border-radius: var(--standard-border-radius);
344
+ margin-bottom: 1rem;
345
+ }
346
+
347
+ article h2:first-child,
348
+ section h2:first-child,
349
+ article h3:first-child,
350
+ section h3:first-child {
351
+ margin-top: 1rem;
352
+ }
353
+
354
+ section {
355
+ border-top: var(--border-width) solid var(--border);
356
+ border-bottom: var(--border-width) solid var(--border);
357
+ padding: 2rem 1rem;
358
+ margin: 3rem 0;
359
+ }
360
+
361
+ /* Don't double separators when chaining sections */
362
+ section + section,
363
+ section:first-child {
364
+ border-top: 0;
365
+ padding-top: 0;
366
+ }
367
+
368
+ section + section {
369
+ margin-top: 0;
370
+ }
371
+
372
+ section:last-child {
373
+ border-bottom: 0;
374
+ padding-bottom: 0;
375
+ }
376
+
377
+ details {
378
+ padding: 0.7rem 1rem;
379
+ }
380
+
381
+ summary {
382
+ cursor: pointer;
383
+ font-weight: bold;
384
+ padding: 0.7rem 1rem;
385
+ margin: -0.7rem -1rem;
386
+ word-break: break-word;
387
+ }
388
+
389
+ details[open] > summary + * {
390
+ margin-top: 0;
391
+ }
392
+
393
+ details[open] > summary {
394
+ margin-bottom: 0.5rem;
395
+ }
396
+
397
+ details[open] > :last-child {
398
+ margin-bottom: 0;
399
+ }
400
+
401
+ details h2:first-of-type {
402
+ margin-top: 0;
403
+ }
404
+
405
+ /* Format tables */
406
+ table {
407
+ border-collapse: collapse;
408
+ margin: 1.5rem 0;
409
+ }
410
+
411
+ figure > table {
412
+ width: max-content;
413
+ margin: 0;
414
+ }
415
+
416
+ td,
417
+ th {
418
+ border: var(--border-width) solid var(--border);
419
+ text-align: start;
420
+ padding: 0.5rem;
421
+ }
422
+
423
+ th {
424
+ background-color: var(--accent-bg);
425
+ font-weight: bold;
426
+ }
427
+
428
+ tr:nth-child(even) {
429
+ /* Set every other cell slightly darker. Improves readability. */
430
+ background-color: var(--accent-bg);
431
+ }
432
+
433
+ table caption {
434
+ font-weight: bold;
435
+ margin-bottom: 0.5rem;
436
+ }
437
+
438
+ /* Format forms */
439
+ textarea,
440
+ select,
441
+ input,
442
+ button,
443
+ .button {
444
+ font-size: inherit;
445
+ font-family: inherit;
446
+ padding: 0.5em;
447
+ margin-bottom: 0.5rem;
448
+ border-radius: var(--standard-border-radius);
449
+ box-shadow: none;
450
+ max-width: 100%;
451
+ display: inline-block;
452
+ }
453
+ textarea,
454
+ select,
455
+ input {
456
+ color: var(--text);
457
+ background-color: var(--bg);
458
+ border: var(--border-width) solid var(--border);
459
+ }
460
+ label {
461
+ display: block;
462
+ }
463
+ textarea:not([cols]) {
464
+ width: 100%;
465
+ }
466
+
467
+ /* Add arrow to drop-down */
468
+ select:not([multiple]) {
469
+ background-image: linear-gradient(45deg, transparent 49%, var(--text) 51%),
470
+ linear-gradient(135deg, var(--text) 51%, transparent 49%);
471
+ background-position: calc(100% - 15px), calc(100% - 10px);
472
+ background-size: 5px 5px, 5px 5px;
473
+ background-repeat: no-repeat;
474
+ padding-inline-end: 25px;
475
+ }
476
+ *[dir="rtl"] select:not([multiple]) {
477
+ background-position: 10px, 15px;
478
+ }
479
+
480
+ /* checkbox and radio button style */
481
+ input[type="checkbox"],
482
+ input[type="radio"] {
483
+ vertical-align: middle;
484
+ position: relative;
485
+ width: min-content;
486
+ }
487
+
488
+ input[type="checkbox"] + label,
489
+ input[type="radio"] + label {
490
+ display: inline-block;
491
+ }
492
+
493
+ input[type="radio"] {
494
+ border-radius: 100%;
495
+ }
496
+
497
+ input[type="checkbox"]:checked,
498
+ input[type="radio"]:checked {
499
+ background-color: var(--accent);
500
+ }
501
+
502
+ input[type="checkbox"]:checked::after {
503
+ /* Creates a rectangle with colored right and bottom borders which is rotated to look like a check mark */
504
+ content: " ";
505
+ width: 0.2em;
506
+ height: 0.4em;
507
+ border-radius: 0;
508
+ position: absolute;
509
+ top: 0.04em;
510
+ left: 0.18em;
511
+ background-color: transparent;
512
+ border-right: solid var(--bg) 0.08em;
513
+ border-bottom: solid var(--bg) 0.08em;
514
+ font-size: 1.8em;
515
+ transform: rotate(45deg);
516
+ }
517
+ input[type="radio"]:checked::after {
518
+ /* creates a colored circle for the checked radio button */
519
+ content: " ";
520
+ width: 0.3em;
521
+ height: 0.3em;
522
+ border-radius: 100%;
523
+ position: absolute;
524
+ top: 0.125em;
525
+ background-color: var(--bg);
526
+ left: 0.125em;
527
+ font-size: 1.8em;
528
+ }
529
+
530
+ /* Makes input fields wider on smaller screens */
531
+ @media only screen and (max-width: 720px) {
532
+ textarea,
533
+ select,
534
+ input {
535
+ width: 100%;
536
+ }
537
+ }
538
+
539
+ /* Set a height for color input */
540
+ input[type="color"] {
541
+ height: 2.5rem;
542
+ padding: 0.2rem;
543
+ }
544
+
545
+ /* do not show border around file selector button */
546
+ input[type="file"] {
547
+ border: 0;
548
+ }
549
+
550
+ /* Misc body elements */
551
+ hr {
552
+ border: none;
553
+ height: var(--border-width);
554
+ background: var(--border);
555
+ margin: 1rem auto;
556
+ }
557
+
558
+ mark {
559
+ padding: 2px 5px;
560
+ border-radius: var(--standard-border-radius);
561
+ background-color: var(--marked);
562
+ color: black;
563
+ }
564
+
565
+ mark a {
566
+ color: var(--accent);
567
+ }
568
+
569
+ img,
570
+ video {
571
+ max-width: 100%;
572
+ height: auto;
573
+ border-radius: var(--standard-border-radius);
574
+ }
575
+
576
+ figure {
577
+ margin: 0;
578
+ display: block;
579
+ overflow-x: auto;
580
+ }
581
+
582
+ figure > img,
583
+ figure > picture > img {
584
+ display: block;
585
+ margin-inline: auto;
586
+ }
587
+
588
+ figcaption {
589
+ position: sticky;
590
+ left: 0;
591
+ text-align: center;
592
+ font-size: 0.9rem;
593
+ color: var(--text-light);
594
+ margin-block: 1rem;
595
+ }
596
+
597
+ blockquote {
598
+ margin-inline-start: 2rem;
599
+ margin-inline-end: 0;
600
+ margin-block: 2rem;
601
+ padding: 0.4rem 0.8rem;
602
+ border-inline-start: 0.35rem solid var(--accent);
603
+ color: var(--text-light);
604
+ font-style: italic;
605
+ }
606
+
607
+ cite {
608
+ font-size: 0.9rem;
609
+ color: var(--text-light);
610
+ font-style: normal;
611
+ }
612
+
613
+ dt {
614
+ color: var(--text-light);
615
+ }
616
+
617
+ /* Use mono font for code elements */
618
+ code,
619
+ pre,
620
+ pre span,
621
+ kbd,
622
+ samp {
623
+ font-family: var(--mono-font);
624
+ color: var(--code);
625
+ }
626
+
627
+ kbd {
628
+ color: var(--preformatted);
629
+ border: var(--border-width) solid var(--preformatted);
630
+ border-bottom: 3px solid var(--preformatted);
631
+ border-radius: var(--standard-border-radius);
632
+ padding: 0.1rem 0.4rem;
633
+ }
634
+
635
+ pre {
636
+ padding: 1rem 1.4rem;
637
+ max-width: 100%;
638
+ overflow: auto;
639
+ color: var(--preformatted);
640
+ }
641
+
642
+ /* Fix embedded code within pre */
643
+ pre code {
644
+ color: var(--preformatted);
645
+ background: none;
646
+ margin: 0;
647
+ padding: 0;
648
+ }
649
+
650
+ /* Progress bars */
651
+ /* Declarations are repeated because you */
652
+ /* cannot combine vendor-specific selectors */
653
+ progress {
654
+ width: 100%;
655
+ }
656
+
657
+ progress:indeterminate {
658
+ background-color: var(--accent-bg);
659
+ }
660
+
661
+ progress::-webkit-progress-bar {
662
+ border-radius: var(--standard-border-radius);
663
+ background-color: var(--accent-bg);
664
+ }
665
+
666
+ progress::-webkit-progress-value {
667
+ border-radius: var(--standard-border-radius);
668
+ background-color: var(--accent);
669
+ }
670
+
671
+ progress::-moz-progress-bar {
672
+ border-radius: var(--standard-border-radius);
673
+ background-color: var(--accent);
674
+ transition-property: width;
675
+ transition-duration: 0.3s;
676
+ }
677
+
678
+ progress:indeterminate::-moz-progress-bar {
679
+ background-color: var(--accent-bg);
680
+ }
681
+
682
+ dialog {
683
+ background-color: var(--bg);
684
+ max-width: 40rem;
685
+ margin: auto;
686
+ }
687
+
688
+ dialog::backdrop {
689
+ background-color: var(--bg);
690
+ opacity: 0.8;
691
+ }
692
+
693
+ dialog h2:first-of-type {
694
+ margin-top: 0;
695
+ }
696
+
697
+ @media only screen and (max-width: 720px) {
698
+ dialog {
699
+ max-width: calc(100vw - 2rem);
700
+ }
701
+ }
702
+
703
+ /* Superscript & Subscript */
704
+ /* Prevent scripts from affecting line-height. */
705
+ sup, sub {
706
+ vertical-align: baseline;
707
+ position: relative;
708
+ }
709
+
710
+ sup {
711
+ top: -0.4em;
712
+ }
713
+
714
+ sub {
715
+ top: 0.3em;
716
+ }
717
+
718
+ /* Classes for notices */
719
+ .notice {
720
+ background: var(--accent-bg);
721
+ border: var(--border-width) solid var(--border);
722
+ border-radius: var(--standard-border-radius);
723
+ padding: 1.5rem;
724
+ margin: 2rem 0;
725
+ }
726
+
727
+ div.notice p:first-of-type {
728
+ margin-top: 0;
729
+ }
730
+
731
+ div.notice p:last-of-type {
732
+ margin-bottom: 0;
733
+ }
734
+
735
+ /* Print */
736
+ @media print {
737
+ @page {
738
+ margin: 1cm;
739
+ }
740
+ body {
741
+ display: block;
742
+ }
743
+ body > header {
744
+ background-color: unset;
745
+ }
746
+ body > header nav,
747
+ body > footer {
748
+ display: none;
749
+ }
750
+ article {
751
+ border: none;
752
+ padding: 0;
753
+ }
754
+ a[href^="http"]::after {
755
+ content: " <" attr(href) ">";
756
+ }
757
+ abbr[title]:after {
758
+ content: " (" attr(title) ")";
759
+ }
760
+ a {
761
+ text-decoration: none;
762
+ }
763
+ p {
764
+ widows: 3;
765
+ orphans: 3;
766
+ }
767
+ hr {
768
+ border-top: var(--border-width) solid var(--border);
769
+ }
770
+ mark {
771
+ border: var(--border-width) solid var(--border);
772
+ }
773
+ figure {
774
+ break-inside: avoid;
775
+ }
776
+ pre code {
777
+ white-space: pre-wrap;
778
+ }
779
+ }