2 Copyright (C) 2019 Apple Inc. All rights reserved.
4 Redistribution and use in source and binary forms, with or without
5 modification, are permitted provided that the following conditions
7 1. Redistributions of source code must retain the above copyright
8 notice, this list of conditions and the following disclaimer.
9 2. Redistributions in binary form must reproduce the above copyright
10 notice, this list of conditions and the following disclaimer in the
11 documentation and/or other materials provided with the distribution.
13 THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS "AS IS" AND
14 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16 DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR
17 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
19 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
20 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
21 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
22 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 --blueDarker: #0262ca;
32 --blueLighter: #9dccfe;
33 --blueLightest: #f5f9fe;
34 --greenDarker: #43c359;
37 --greenLight: #79df8f;
38 --greenLighter: #bcefc7;
39 --greenLightest: #f8fdf9;
40 --orangeDarker: #d77900;
41 --orangeDark: #e68200;
43 --orangeLight: #f7ad45;
44 --orangeLighter: #fbd6a2;
45 --orangeLightest: #fefaf5;
50 --redLighter: #fdb6b0;
51 --redLightest: #fef7f7;
52 --purpleDarker: #884ac5;
53 --purpleDark: #9748e4;
55 --purpleLight: #b375eb;
56 --purpleLighter: #d9baf5;
57 --purpleLightest: #fbf8fe;
58 --greyDarker: #6d727c;
62 --greyLighter: #f0f1f1;
63 --greyLightest: #f9fafa;
64 --blackDarker: #232323;
67 --mainBodyType: var(--black);
68 --headerType: var(--grey);
69 --labelType: var(--black);
70 --messageFailureType: #b4251e;
71 --messageInfoType: #6e35a7;
72 --messageSuccessType: #33a046;
73 --messageWarningType: #a45c00;
74 --blurBackgroundColor: rgba(255,255,255,0.74902);
75 --blurBackgroundColorGrey: rgba(245,245,245,0.74902);
76 --blurBackgroundColorDark: rgba(22,22,22, 0.74902);
77 --linkColor: var(--blue);
78 --linkColorDarker: #0062cc;
79 --borderColorSubtle: var(--greyLightest);
80 --borderColorInlineElement: var(--greyLighter);
81 --borderColorSection: var(--greyLight);
82 --borderColorHard: var(--grey);
89 --contentPaddingSize: 4px;
90 --colPaddingSize: 4px;
91 --sectionPaddingSize: 12px 24px;
92 --formLabelPadding: 14px;
95 --boldInverseColor: var(--black);
98 @media screen and (min-width: 600px) and (orientation: landscape) {
102 --contentPaddingSize: 20px;
103 --colPaddingSize: 6px;
104 --sectionPaddingSize: 16px 32px;
108 @media screen and (min-width: 768px) and (orientation: landscape) {
112 --contentPaddingSize: 40px;
113 --colPaddingSize: 8px;
114 --sectionPaddingSize: 19px 38px;
118 @media (prefers-color-scheme: dark) {
120 --mainBodyType: var(--black);
121 --headerType: var(--blackDarker);
122 --linkColor: var(--blueLighter);
123 --borderColorSubtle: var(--black);
124 --borderColorInlineElement: var(--greyDarker);
125 --borderColorSection: var(--blackDark);
126 --borderColorHard: var(--blackDarker);
127 --boldInverseColor: var(--white);
134 @keyframes blink-background {
150 transform: rotate(0deg);
154 transform: rotate(360deg);
164 text-rendering: optimizeLegibility;
166 text-transform: none;
168 letter-spacing: normal;
170 font-weight: var(--fontWeight);
171 background-color: var(--greyLightest);
174 @media (prefers-color-scheme: dark) {
176 background: var(--blackDarker);
177 color: var(--greyLightest);
181 h1, h2, h3, h4, h5, h6, p, span, pre {
182 margin-block-start: 0;
185 font-weight: var(--fontWeight);
189 color: var(--linkColor);
193 text-decoration: none;
197 text-decoration: underline;
201 text-decoration: none;
206 margin-block-start: 0.5em;
207 margin-block-end: 0.5em;
208 margin-inline-start: auto;
209 margin-inline-end: auto;
210 border-top-style: solid;
211 border-top-width: 1px;
212 border-color: var(--borderColorSection);
213 color: var(--borderColorSection);
214 background-color: var(--borderColorSection);
221 border: 1px solid var(--headerType);
223 flex-direction: column;
226 .header>.title, .topbar>.title {
228 padding-left: var(--contentPaddingSize);
229 font-size: var(--largeSize);
235 .header>.title>.logo, .topbar>.title>.logo {
236 display: inline-block;
237 vertical-align: middle;
241 .header>.title>.logo>img, .topbar>.title>.logo>img {
244 height: var(--hugeSize);
245 vertical-align: middle;
248 .header>.actions, .topbar>.actions {
250 vertical-align: baseline;
251 border-top: 1px solid var(--borderColorSection);
254 box-sizing: border-box;
257 .header>.actions>.list, .topbar>.actions>.list {
265 .header>.actions>.list>.item, .topbar>.actions>.list>.item {
268 padding: 0 var(--colPaddingSize);
272 .header>.actions>.list>.item *, .topbar>.actions>.list>.item * {
276 .header.fixed,.topbar.fixed {
280 background-color: var(--blurBackgroundColor);
283 -webkit-backdrop-filter: blur(3px);
284 min-height: calc(var(--largeSize) * 1.3 + 12px * 2);
287 .header.fixed>.actions, .topbar.fixed>.actions {
288 background-color: var(--blurBackgroundColor);
289 -webkit-backdrop-filter: blur(3px);
292 .header.fixed+.content, .topbar.fixed+.content {
296 @media (prefers-color-scheme: dark) {
297 .header.fixed, .topbar.fixed {
298 background-color: var(--blurBackgroundColorDark);
299 -webkit-backdrop-filter: blur(3px) brightness(150%);
302 .header.fixed>.actions, .topbar.fixed>.actions {
307 @media screen and (min-width: 600px) and (orientation: landscape) {
312 .header>.actions, .topbar>.actions {
316 .header.fixed+.content, .topbar.fixed+.content {
320 .header.fixed>.actions, .topbar.fixed>.actions {
325 @media screen and (min-width: 768px) and (orientation: landscape) {
330 .header>.actions, .topbar>.actions {
334 .header.fixed+.content, .topbar.fixed+.content {
338 .header.fixed>.actions, .topbar.fixed>.actions {
344 padding: 0 var(--contentPaddingSize);
349 flex-direction: column;
354 padding: var(--colPaddingSize) 0;
357 @media screen and (min-width: 600px) and (orientation: landscape) {
412 @media screen and (min-width: 768px) and (orientation: landscape) {
476 @media screen and (min-width: 600px) and (orientation: landscape) {
486 @media screen and (min-width: 768px) and (orientation: landscape) {
497 .text, body, div, p, span, li, a, h4 {
498 font-family: -apple-system, system, HelveticaNeue, LucidaGrande;
499 font-size: var(--smallSize);
500 font-weight: var(--fontWeight);
501 font-stretch: normal;
503 font-variant-caps: normal;
510 font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
514 border: 1px solid var(--borderColorInlineElement);
515 background-color: var(--greyLightest);
516 font-size: calc(var(--tinySize) + 1px);
517 font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
520 color: var(--greyDarker);
524 @media (prefers-color-scheme: dark) {
526 background-color: var(--black);
527 color: var(--greyDark);
531 .text.tiny, h5, .text.tiny * {
532 font-size: var(--tinySize);
535 .text.medium, h3, .text.medium * {
536 font-size: var(--mediumSize);
539 .text.large, h2, .text.large * {
540 font-size: var(--largeSize);
543 .text.huge, h1, .text.huge * {
544 font-size: var(--hugeSize);
548 display: inline-block;
549 vertical-align: middle;
553 .text.success, .text.success * {
554 color: var(--greenDarker);
557 .text.failed, .text.failed * {
558 color: var(--redDarker);
561 .text.error, .text.error * {
562 color: var(--orangeDarker);
569 -webkit-border-horizontal-spacing: 0px;
570 -webkit-border-vertical-spacing: 0px;
579 .table.stripped>tbody>tr:nth-child(odd) {
580 background-color: var(--greyLightest);
583 @media (prefers-color-scheme: dark) {
584 .table.stripped>tbody>tr:nth-child(odd) {
585 background-color: var(--black);
595 border-bottom: 1px solid;
596 border-color: var(--borderColorInlineElement);
612 display: inline-block;
613 font-size: var(--tinySize);
614 width: var(--mediumSize);
615 height: var(--mediumSize);
616 border-radius: var(--mediumSize);
617 vertical-align: middle;
621 background-color: var(--greyDark);
625 -webkit-animation: blink-background 1s infinite;
627 -moz-animation: blink-background 1s infinite;
629 -o-animation: blink-background 1s infinite;
631 animation: blink-background 1s infinite;
632 /* IE 10+, Fx 29+ */;
637 color: var(--greyLightest);
642 font-size: calc(var(--tinySize) - 2px);
643 width: var(--tinySize);
644 height: var(--tinySize);
645 border-radius: var(--tinySize);
649 font-size: var(--tinySize);
650 width: var(--smallSize);
651 height: var(--smallSize);
652 border-radius: var(--smallSize);
660 font-size: var(--smallSize)
661 width: var(--mediumSize);
662 height: var(--mediumSize);
663 border-radius: var(--mediumSize);
671 font-size: var(--mediumSize);
672 width: var(--largeSize);
673 height: var(--largeSize);
674 border-radius: var(--largeSize);
682 background-color: var(--greenLight);
686 background-color: var(--redLight);
690 background-color: var(--orangeLight);
695 border: 1px solid var(--greyDark);
698 .dot.clickable:hover {
699 border: 1px solid var(--greyDarker);
702 .dot.clickable:focus-within {
704 background-color: var(--greyDarker);
707 .dot.clickable.success {
708 border: 1px solid var(--greenLight);
711 .dot.clickable.success:hover {
712 border: 1px solid var(--greenDark);
715 .dot.clickable.success:focus-within {
717 background-color: var(--greenDark);
720 .dot.clickable.error {
721 border: 1px solid var(--orangeLight);
724 .dot.clickable.error:hover {
725 border: 1px solid var(--orangeDark);
728 .dot.clickable.error:focus-within {
730 background-color: var(--orangeDark);
733 .dot.clickable.failed {
734 border: 1px solid var(--redLight);
737 .dot.clickable.failed:hover {
738 border: 1px solid var(--redDark);
741 .dot.clickable.failed:focus-within {
743 background-color: var(--redDark);
748 flex-direction: column;
757 .dot.selector input {
766 .dot.selector label {
777 .dot.selector input:checked + .dot {
778 box-shadow: 0px 0px 5px 1px var(--grey);
781 .dot.selector input:checked + .dot.success {
782 box-shadow: 0px 0px 5px 1px var(--greenLight);
785 .dot.selector input:checked + .dot.failed {
786 box-shadow: 0px 0px 5px 1px var(--redLight);
789 .dot.selector input:checked + .dot.error {
790 box-shadow: 0px 0px 5px 1px var(--orangeLight);
795 display: inline-block;
796 width: var(--mediumSize);
797 height: var(--mediumSize);
798 vertical-align: middle;
802 width: var(--tinySize);
803 height: var(--tinySize);
807 width: var(--smallSize);
808 height: var(--smallSize);
812 width: var(--largeSize);
813 height: var(--largeSize);
817 width: var(--hugeSize);
818 height: var(--hugeSize);
826 border-color: var(--borderColorSection);
829 background-color: var(--white);
832 @media (prefers-color-scheme: dark) {
834 border-color: var(--greyDarker);
838 @media (prefers-color-scheme: dark) {
840 background-color: var(--blackDark);
851 flex-direction: column;
856 .section>.header>.title {
857 padding: var(--sectionPaddingSize);
858 font-size: var(--mediumSize);
863 .section>.header>.title.small {
864 font-size: var(--smallSize);
868 padding: var(--sectionPaddingSize);
871 .section>.content>.list {
876 padding: var(--sectionPaddingSize);
881 @media screen and (min-width: 600px) and (orientation: landscape) {
887 @media screen and (min-width: 768px) and (orientation: landscape) {
895 /*border-top: 1px solid var(--borderColorSection);*/;
899 /*border-bottom: 1px solid var(--borderColorSection);*/
900 padding: var(--colPaddingSize);
904 color: var(--greyDarker);
905 font-size: calc(var(--smallSize) - 2px);
909 padding-left: var(--colPaddingSize);
918 background-color: var(--blurBackgroundColor);
920 border-right: 1px solid var(--borderColorSection);
923 background-color: var(--blurBackgroundColor);
924 -webkit-backdrop-filter: blur(5px) brightness(88%);
925 backdrop-filter: blur(5px) brightness(88%);
935 background-color: var(--white);
937 border-bottom: 1px solid var(--borderColorSection);
940 .sidebar>.header>.title {
941 padding-left: var(--colPaddingSize);
944 .mobile-sidebar-control {
948 .mobile-sidebar-control.display {
952 @media (prefers-color-scheme: dark) {
954 background-color: var(--blurBackgroundColorDark);
958 background-color: var(--black);
962 .sidebar.under-topbar {
963 height: calc(100% - 12px * 2 - var(--largeSize) * 1.3);
966 .sidebar.under-topbar-with-actions {
967 height: calc(100% - 12px * 2 - var(--largeSize) * 1.3 - var(--smallSize) * 1.3 - 12px * 2 );
977 .main.under-topbar-with-actions {
978 margin-top: calc(12px * 2 + var(--largeSize) * 1.3 + var(--smallSize) * 1.3 + 12px * 2);
981 @media screen and (min-width: 600px) and (orientation: landscape) {
989 .sidebar.left.hidden {
993 .sidebar.right.hidden {
997 .sidebar.under-topbar-with-actions {
998 height: calc(100% - 12px * 2 - var(--largeSize) * 1.3);
1002 .mobile-sidebar-control.display {
1008 width: calc(100% - 299px);
1013 margin-right: 299px;
1015 .main.right.hidden {
1017 width: calc(100% - 50px);
1022 width: calc(100% - 50px);
1025 .main.under-topbar-with-actions {
1026 margin-top: calc(12px * 2 + var(--largeSize) * 1.3);
1030 @media screen and (min-width: 768px) and (orientation: landscape) {
1038 .sidebar.left.hidden {
1042 .sidebar.right.hidden {
1046 .sidebar.under-topbar-with-actions {
1047 height: calc(100% - 12px * 2 - var(--largeSize) * 1.3);
1053 width: calc(100% - 310px);
1058 margin-right: 310px;
1061 .main.under-topbar-with-actions {
1062 margin-top: calc(12px * 2 + var(--largeSize) * 1.3);
1083 .sidebar>.bottom-nav {
1090 flex-direction: row;
1091 background: var(--greyLight);
1100 display: inline-block;
1102 border: 1px solid var(--borderColorInlineElement);
1103 border-radius: 50px;
1105 font-size: var(--tinySize);
1113 font-size: var(--tinySize);
1117 border: 1px solid var(--borderColorHard);
1126 font-size: calc(var(--tinySize) - 4px);
1129 .chip.success, .chip.success * {
1130 color: var(--greenDarker);
1131 border-color: var(--greenDarker);
1134 .chip.failed, .chip.failed * {
1135 color: var(--redDarker);
1136 border-color: var(--redDarker);
1139 .chip.error, .chip.error * {
1140 color: var(--orangeDarker);
1141 border-color: var(--orangeDarker);
1146 display: inline-block;
1148 border: 1px solid var(--borderColorInlineElement);
1153 border-color: var(--borderColorHard);
1157 border-color: var(--blue);
1160 .badge.outline.active {
1161 border-color: var(--blueDarker);
1172 .badge.clickable:hover {
1173 border-color: var(--blueLighter);
1185 .placeholder .loader {
1190 .placeholder.dimmer {
1191 background: var(--greyLighter);
1194 @media (prefers-color-scheme: dark) {
1195 .placeholder.dimmer {
1196 background-color: var(--blackDarker);
1200 .placeholder.small {
1218 width: var(--mediumSize);
1219 height: var(--mediumSize);
1220 border: 4px solid var(--greyLight);
1221 border-top: 4px solid var(--black);
1223 animation: spin .5s linear infinite;
1224 display: inline-block;
1228 width: var(--tinySize);
1229 height: var(--tinySize);
1233 width: var(--smallSize);
1234 height: var(--smallSize);
1238 width: var(--largeSize);
1239 height: var(--largeSize);
1243 width: var(--hugeSize);
1244 height: var(--hugeSize);
1248 border: 4px solid var(--blueLightest);
1249 border-top: 4px solid var(--blue);
1253 border: 4px solid var(--greenLightest);
1254 border-top: 4px solid var(--green);
1258 border: 4px solid var(--redLightest);
1259 border-top: 4px solid var(--red);
1263 border: 4px solid var(--orangeLightest);
1264 border-top: 4px solid var(--orange);
1268 border: 4px solid var(--purpleLightest);
1269 border-top: 4px solid var(--purple);
1275 display: inline-block;
1276 border: 1px solid var(--greyLight);
1277 font-size: calc(var(--smallSize) - 2px);
1279 padding: 4px var(--formLabelPadding);
1281 font-weight: var(--fontWeight);
1282 vertical-align: bottom;
1286 border-color: var(--greyLightest);
1287 background: var(--white);
1288 color: var(--greyLight);
1292 border-color: var(--greyDarker);
1295 .button[disabled]:hover {
1296 border-color: var(--greyLightest);
1297 background: var(--white);
1298 color: var(--greyLight);
1302 border-color: var(--greyDark);
1303 background: var(--greyLightest);
1304 color: var(--greyDark);
1307 .button[disabled]:active {
1308 border-color: var(--greyLightest);
1309 background: var(--white);
1310 color: var(--greyLight);
1314 border-color: var(--blueDark);
1315 background-color: var(--blue);
1316 color: var(--white);
1319 .button[disabled].primary {
1320 border-color: var(--blueLightest);
1321 background-color: var(--blueLighter);
1322 color: var(--white);
1325 .button.primary:hover {
1326 border-color: var(--blueDarker);
1327 background-color: var(--blueLight);
1330 .button[disabled].primary:hover {
1331 border-color: var(--blueLightest);
1332 background-color: var(--blueLighter);
1333 color: var(--white);
1336 .button.primary:active {
1337 border-color: var(--blueDarker);
1338 background-color: var(--blueDark);
1341 .button[disabled].primary:active {
1342 border-color: var(--blueLightest);
1343 background-color: var(--blueLighter);
1344 color: var(--white);
1348 border-color: var(--redDark);
1349 background-color: var(--red);
1350 color: var(--white);
1353 .button[disabled].danger {
1354 border-color: var(--redLightest);
1355 background-color: var(--redLighter);
1356 color: var(--white);
1359 .button.danger:hover {
1360 border-color: var(--redDarker);
1361 background-color: var(--redLight);
1364 .button[disabled].danger:hover {
1365 border-color: var(--redLightest);
1366 background-color: var(--redLighter);
1367 color: var(--white);
1370 .button.danger:active {
1371 border-color: var(--redDarker);
1372 background-color: var(--redDark);
1375 .button[disabled].danger:active {
1376 border-color: var(--redLightest);
1377 background-color: var(--redLighter);
1378 color: var(--white);
1382 font-size: var(--tinySize);
1387 font-size: calc(var(--mediumSize) - 2px);
1392 font-size: calc(var(--largeSize) - 2px);
1397 font-size: calc(var(--hugeSize) - 2px);
1401 @media (prefers-color-scheme: dark) {
1407 color: var(--greyDarker);
1408 border-color: var(--greyDarker);
1412 .button[disabled]:hover {
1413 color: var(--greyDarker);
1414 border-color: var(--greyDarker);
1418 .button[disabled].primary {
1419 border-color: var(--blueDarker);
1420 background-color: var(--blueDarker);
1421 color: var(--greyDarker);
1425 .button[disabled].primary:hover {
1426 border-color: var(--blueDarker);
1427 background-color: var(--blueDarker);
1428 color: var(--greyDarker);
1432 .button[disabled].danger {
1433 border-color: var(--redDarker);
1434 color: var(--greyDarker);
1435 background-color: var(--redDarker);
1439 .button[disabled].danger:hover {
1440 border-color: var(--redDarker);
1441 color: var(--greyDarker);
1442 background-color: var(--redDarker);
1450 display: inline-block;
1451 width: calc(var(--smallSize) * 2);
1452 height: calc(var(--smallSize) + 4px);
1469 background-color: var(--white);
1470 -webkit-transition: .4s;
1472 border-radius: 34px;
1473 border: 1.5px solid var(--greyLight);
1481 height: calc(var(--smallSize) + 1px);
1482 width: calc(var(--smallSize) + 1px);
1485 background-color: var(--white);
1486 -webkit-transition: .4s;
1489 border: 1px solid var(--greyLight);
1490 box-shadow: 0.5px 2px 5px 0px var(--grey);
1493 @media (prefers-color-scheme: dark) {
1495 background-color: var(--black);
1496 border: 1.5px solid var(--blackDark);
1500 background-color: var(--black);
1501 border: 1.5px solid var(--blackDark);
1502 box-shadow: 0.5px 2px 5px 0px var(--blackDarker);
1506 .switch input:checked + .slider {
1507 background-color: var(--green);
1508 border: 1px solid var(--green);
1511 .switch input:focus + .slider {
1512 border: 1px solid var(--green);
1515 .switch input:checked + .slider:before {
1516 transform: translateX(calc(var(--smallSize) - 4px));
1523 display: inline-block;
1527 .popover>.content>.section {
1529 background: var(--white);
1532 .popover:focus>.content, .popover:hover>.content {
1535 transform: translate(-50%, -100%) scale(1);
1543 transform: translate(-50%,-50%) scale(0);
1544 transition: transform .2s;
1550 .popover.right>.content {
1555 .popover.right :focus>.content, .popover.right:hover>.content {
1556 transform: translate(0, -50%) scale(1);
1559 .popover.left>.content {
1564 .popover.left :focus>.content, .popover.left:hover>.content {
1565 transform: translate(-100%, -50%) scale(1);
1568 .popover.bottom>.content {
1573 .popover.bottom :focus>.content, .popover.bottom:hover>.content {
1574 transform: translate(-50%, 0) scale(1);
1583 transition: height .5s;
1587 border-top: 1px solid var(--blurBackgroundColor);
1588 background-color: var(--blurBackgroundColor);
1589 -webkit-backdrop-filter: blur(5px) brightness(88%);
1590 backdrop-filter: blur(5px) brightness(88%);
1591 box-sizing: border-box;
1592 z-index: var(--topZIndex);
1597 box-shadow: 0px 0px 5px 1px var(--grey);
1600 @media (prefers-color-scheme: dark) {
1602 background-color: var(--blurBackgroundColorDark);
1603 border-color: var(--blurBackgroundColorDark);
1604 -webkit-backdrop-filter: blur(5px) brightness(150%);
1605 backdrop-filter: blur(5px) brightness(150%);
1609 box-shadow: 0px 0px 5px 1px var(--black);
1617 transition: width .5s;
1619 border-right: 1px solid var(--blurBackgroundColor);
1622 @media (prefers-color-scheme: dark) {
1624 border-right: 1px solid var(--blurBackgroundColorDark);
1628 .drawer.left.display {
1638 transition: width .5s;
1640 border-left: 1px solid var(--blurBackgroundColor);
1643 @media (prefers-color-scheme: dark) {
1645 border-left: 1px solid var(--blurBackgroundColorDark);
1649 .drawer.right.display {
1653 .drawer.left.under-topbar, .drawer.right.under-topbar {
1654 height: calc(100% - 12px * 2 - var(--largeSize) * 1.3);
1657 .drawer.left.under-topbar-with-actions, .drawer.right.under-topbar-with-actions {
1658 height: calc(100% - 12px * 2 - var(--largeSize) * 1.3 - var(--smallSize) * 1.3 - 12px * 2 );
1661 @media screen and (min-width: 600px) and (orientation: landscape) {
1662 .drawer.left.display, .drawer.right.display {
1666 .drawer.left.under-topbar-with-actions, .drawer.right.under-topbar-with-actions {
1667 height: calc(100% - 12px * 2 - var(--largeSize) * 1.3);
1671 @media screen and (min-width: 768px) and (orientation: landscape) {
1672 .drawer.left.display, .drawer.right.display {
1676 .drawer.left.under-topbar-with-actions, .drawer.right.under-topbar-with-actions {
1677 height: calc(100% - 12px * 2 - var(--largeSize) * 1.3);
1686 .drawer .header>.title.small {
1687 font-size: var(--smallSize);
1692 border-color: var(--greyLight);
1693 background-color: var(--blurBackgroundColor);
1694 -webkit-backdrop-filter: blur(0.5px);
1698 background-color: var(--blurBackgroundColor);
1699 -webkit-backdrop-filter: blur(0.5px);
1703 background-color: var(--blurBackgroundColor);
1704 -webkit-backdrop-filter: blur(0.5px);
1707 .drawer .badge.active {
1708 border-color: var(--blueLight);
1711 @media (prefers-color-scheme: dark) {
1713 background-color: var(--blurBackgroundColorDark);
1714 -webkit-backdrop-filter: blur(5px) brightness(150%);
1715 backdrop-filter: blur(5px) brightness(150%);
1719 background-color: var(--blurBackgroundColorDark);
1720 -webkit-backdrop-filter: blur(5px) brightness(150%);
1721 backdrop-filter: blur(5px) brightness(150%);
1725 background-color: var(--blurBackgroundColorDark);
1726 -webkit-backdrop-filter: blur(5px) brightness(150%);
1727 backdrop-filter: blur(5px) brightness(150%);
1731 .drawer>.close-header {
1738 .drawer>.close-header>.list {
1740 flex-direction: column;
1746 .drawer>.close-header>.list>.item {
1749 vertical-align: center;
1752 .drawer>.close-header+.content {
1754 height: calc(100% - 20px);
1762 border-bottom: 1px solid var(--greyLight);
1763 margin-bottom: 15px;
1766 .tabs .tab:first-child {
1771 color: var(--greyDarker);
1772 font-size: calc(var(--smallSize) + 2px);
1779 .tabs .tab.active .link {
1780 border-bottom: 1px solid var(--greyDarker);
1785 padding-bottom: 4px;
1787 font-size: calc(var(--smallSize) - 2px);
1791 color: var(--greyDarker);
1795 .tabs .tab a.link:hover {
1796 color: var(--linkColor);
1797 text-decoration: none;
1800 @media (prefers-color-scheme: dark) {
1803 font-size: calc(var(--smallSize) + 2px);
1806 .tabs .tab.active .link {
1807 border-bottom: 1px solid var(--grey);
1817 pointer-events: none;
1823 flex-direction: row;
1828 .timeline.no-border {
1832 .timeline>.content {
1837 vertical-align: middle;
1845 vertical-align: middle;
1847 padding-right: 10px;
1850 border-left: 1px solid var(--borderColorInlineElement);
1854 .timeline>.header .series {
1858 vertical-align: middle;
1859 font-size: var(--tinySize);
1860 line-height: var(--mediumSize);
1861 white-space: nowrap;
1863 .timeline>.header .series * {
1864 line-height: var(--mediumSize);
1865 font-size: var(--tinySize);
1867 .timeline>.header .series a {
1868 line-height: var(--mediumSize);
1871 .timeline>.content .series {
1873 white-space: nowrap;
1875 height: var(--mediumSize);
1876 vertical-align: middle;
1879 .timeline>.content .dot {
1880 vertical-align: middle;
1881 margin: 0 calc(var(--tinySize) / 2 );
1882 width: var(--smallSize);
1883 height: var(--smallSize);
1884 border-radius: var(--smallSize);
1886 align-items: center;
1890 .timeline>.content .dot.clickable {
1894 .timeline>.content .dot.clickable:hover {
1898 .timeline>.content .dot.clickable:active {
1902 .timeline>.content .dot .tag {
1903 font-size: calc(var(--tinySize) * 0.8);
1905 left: calc(0px - var(--tinySize) / 2);
1906 top: calc(var(--smallSize));
1907 height: var(--tinySize);
1910 width: calc(var(--smallSize) + var(--tinySize));
1914 .timeline>.content .dot::before, .timeline>.content .dot::after {
1917 background: var(--borderColorInlineElement);
1918 width: calc(var(--tinySize) / 2 );
1919 display: inline-block;
1923 .timeline>.content .dot::before {
1924 margin-left: calc(0px - var(--tinySize) / 2);
1927 .timeline>.content .dot::after {
1928 margin-left: calc(var(--smallSize));
1931 .timeline>.content .dot.blink::before {
1935 .timeline>.content .dot.blink::after {
1939 .timeline>.content .dot.empty {
1941 margin-top: calc((var(--smallSize) - 1px) / 2);
1942 background: var(--grey);
1945 .timeline>.content .dot.empty::before {
1946 vertical-align: top;
1949 .timeline>.content .dot.empty::after {
1950 vertical-align: top;
1953 .timeline>.content .x-axis {
1956 min-height: calc(var(--smallSize) * 4);
1959 .timeline>.content>.x-axis .scale {
1960 font-size: var(--smallSize);
1961 width: calc(var(--smallSize) + var(--tinySize));
1963 border-top: 1px solid var(--borderColorInlineElement);
1968 .timeline>.content>.x-axis .scale.group-2 {
1969 width: calc((var(--smallSize) + var(--tinySize)) * 2);
1972 .timeline>.content>.x-axis .scale.group-3 {
1973 width: calc((var(--smallSize) + var(--tinySize)) * 3);
1976 .timeline>.content>.x-axis .scale.group-4 {
1977 width: calc((var(--smallSize) + var(--tinySize)) * 4);
1980 .timeline>.content>.x-axis .scale.group-5 {
1981 width: calc((var(--smallSize) + var(--tinySize)) * 5);
1984 .timeline>.content>.x-axis .scale.group-6 {
1985 width: calc((var(--smallSize) + var(--tinySize)) * 6);
1988 .timeline>.content>.x-axis .scale.group-7 {
1989 width: calc((var(--smallSize) + var(--tinySize)) * 7);
1992 .timeline>.content>.x-axis .scale.group-8 {
1993 width: calc((var(--smallSize) + var(--tinySize)) * 8);
1996 .timeline>.content>.x-axis .scale.group-9 {
1997 width: calc((var(--smallSize) + var(--tinySize)) * 9);
2000 .timeline>.content>.x-axis .scale.group-10 {
2001 width: calc((var(--smallSize) + var(--tinySize)) * 10);
2004 .timeline>.content>.x-axis .scale.group-11 {
2005 width: calc((var(--smallSize) + var(--tinySize)) * 11);
2008 .timeline>.content>.x-axis .scale.group-12 {
2009 width: calc((var(--smallSize) + var(--tinySize)) * 12);
2012 .timeline>.content>.x-axis .scale.group-13 {
2013 width: calc((var(--smallSize) + var(--tinySize)) * 13);
2016 .timeline>.content>.x-axis .scale.group-14 {
2017 width: calc((var(--smallSize) + var(--tinySize)) * 14);
2020 .timeline>.content>.x-axis .scale.group-15 {
2021 width: calc((var(--smallSize) + var(--tinySize)) * 15);
2024 .timeline>.content>.x-axis .scale.group-16 {
2025 width: calc((var(--smallSize) + var(--tinySize)) * 16);
2028 .timeline>.content>.x-axis .scale.group-17 {
2029 width: calc((var(--smallSize) + var(--tinySize)) * 17);
2032 .timeline>.content>.x-axis .scale.group-18 {
2033 width: calc((var(--smallSize) + var(--tinySize)) * 18);
2036 .timeline>.content>.x-axis .scale.group-19 {
2037 width: calc((var(--smallSize) + var(--tinySize)) * 19);
2040 .timeline>.content>.x-axis .scale.group-20 {
2041 width: calc((var(--smallSize) + var(--tinySize)) * 20);
2044 .timeline>.content>.x-axis .scale[class*="group-"] {
2045 border-color: var(--black);
2048 .timeline>.content>.x-axis .scale .line {
2050 height: var(--tinySize);
2053 background: var(--grey);
2056 .timeline>.content>.x-axis .scale .text {
2058 left: calc(var(--tinySize) / 2);
2059 font-size: var(--tinySize);
2060 min-height: calc(var(--smallSize) * 4);
2062 -webkit-transform-origin: 10% 25%;
2063 -moz-transform-origin: 10% 25%;
2064 -ms-transform-origin: 10% 25%;
2065 -o-transform-origin: 10% 25%;
2066 transform-origin: 10% 25%;
2067 -webkit-transform: rotate(60deg);
2068 -moz-transform: rotate(60deg);
2069 -o-transform: rotate(60deg);
2070 -ms-transform: rotate(60deg);
2071 transform: rotate(60deg);
2072 white-space: nowrap;
2075 .timeline>.content>.x-axis.scale-90deg .scale .text {
2076 -webkit-transform-origin: 0% 25%;
2077 -moz-transform-origin: 0% 25%;
2078 -ms-transform-origin: 0% 25%;
2079 -o-transform-origin: 0% 25%;
2080 transform-origin: 0% 25%;
2082 -webkit-transform: rotate(90deg);
2083 -moz-transform: rotate(90deg);
2084 -o-transform: rotate(90deg);
2085 -ms-transform: rotate(90deg);
2086 transform: rotate(90deg);
2089 .timeline>.content>.x-axis .scale[class*="group-"] .border-line-left {
2091 top: calc(0px - var(--tinySize) / 2);
2093 height: calc(var(--tinySize) / 2);
2095 background: var(--black);
2098 .timeline>.content>.x-axis .scale[class*="group-"] .border-line-right {
2100 top: calc(0px - var(--tinySize) / 2);
2102 height: calc(var(--tinySize) / 2);
2104 background: var(--black);
2107 .timeline>.content>.x-axis .scale[class*="group-"] .line {
2108 background: var(--black);
2111 .timeline>.content>.x-axis .scale[class*="group-"] .text {
2112 min-height: calc(var(--smallSize));
2115 top: calc(8px + var(--tinySize));
2118 .timeline>.content>.x-axis.scale-90deg .scale[class*="group-"] .text {
2119 top: calc(4px + var(--tinySize));
2122 .timeline>.content>.x-axis.top .scale {
2124 border-bottom: 1px solid var(--borderColorInlineElement);
2127 .timeline>.content>.x-axis.top .scale[class*="group-"]{
2128 border-color: var(--black);
2131 .timeline>.content>.x-axis.top .scale .line {
2133 height: var(--tinySize);
2137 background: var(--grey);
2141 .timeline>.content>.x-axis.top .scale[class*="group-"] .line {
2142 background: var(--black);
2145 .timeline>.content>.x-axis.top .scale .text {
2146 left: calc(var(--tinySize) * 2);
2147 min-height: calc(var(--smallSize) * 4);
2148 top: calc(var(--smallSize) * 2);
2149 -webkit-transform: rotate(300deg);
2150 -moz-transform: rotate(300deg);
2151 -o-transform: rotate(300deg);
2152 -ms-transform: rotate(300deg);
2153 transform: rotate(300deg);
2154 white-space: nowrap;
2157 .timeline>.content>.x-axis.top .scale[class*="group-"] .border-line-left {
2159 bottom: calc(0px - var(--tinySize) / 2);
2162 .timeline>.content>.x-axis.top .scale[class*="group-"] .border-line-right {
2164 bottom: calc(0px - var(--tinySize) / 2);
2167 .timeline>.content>.x-axis.top .scale[class*="group-"] .text {
2171 .timeline>.header.with-top-x-axis {
2172 padding-top: calc(var(--smallSize) * 4.5);
2175 .timeline>.content>.x-axis .scale .text a {
2176 font-size: var(--tinySize);
2179 .lengend, .timeline>.content .lengend{
2181 flex-direction: row;
2184 .lengend.horizontal, .timeline>.header .lengend {
2186 flex-direction: column;
2190 font-size: var(--tinySize);
2194 vertical-align: middle;
2195 align-items: center;
2198 .lengend>.item .dot{
2199 width: var(--smallSize);
2200 height: var(--smallSize);
2201 border-radius: var(--smallSize);
2202 font-size: calc(var(--tinySize));
2205 vertical-align: middle;
2206 align-items: center;
2208 margin: 0 var(--tinySize);
2211 .lengend>.item .dot .text {
2212 font-size: calc(var(--tinySize));
2215 width: var(--smallSize);
2216 height: var(--smallSize);
2217 line-height: var(--smallSize);
2220 display: inline-block;
2221 -webkit-touch-callout: none;
2222 -webkit-user-select: none;
2226 .timeline.lengend>.item .dot::before{
2227 left: calc(0px - var(--tinySize));
2228 width: var(--tinySize);
2231 background: var(--borderColorInlineElement);
2232 display: inline-block;
2236 .timeline.lengend>.item .dot::after{
2237 right: calc(0px - var(--tinySize));
2238 width: var(--tinySize);
2241 background: var(--borderColorInlineElement);
2242 display: inline-block;
2246 .lengend>.item .label{
2247 font-size: var(--tinySize);
2251 @media (prefers-color-scheme: dark) {
2253 .timeline>.content>.x-axis .scale[class*="group-"] {
2254 border-color: var(--white);
2257 .timeline>.content>.x-axis .scale[class*="group-"] .border-line-left {
2258 background: var(--white);
2261 .timeline>.content>.x-axis .scale[class*="group-"] .border-line-right {
2262 background: var(--white);
2265 .timeline>.content>.x-axis .scale[class*="group-"] .line {
2266 background: var(--white);
2269 .timeline>.content>.x-axis.top .scale[class*="group-"] .line {
2270 background: var(--white);
2273 .timeline>.content>.x-axis.top .scale[class*="group-"]{
2274 border-color: var(--white);
2280 margin: var(--colPaddingSize);
2284 align-items: center;
2289 margin-right: var(--colPaddingSize);
2294 margin-left: var(--formLabelPadding);
2295 color: var(--greyDarker);
2297 @media (prefers-color-scheme: dark) {
2303 .input>label.switch {
2309 .input>input, .input>select {
2315 width: calc(var(--mediumSize) * 3);
2316 background: var(--greyLightest);
2320 border-radius: 4px 0 0 4px;
2322 align-items: center;
2323 border: 1px solid var(--grey);
2324 box-sizing: border-box;
2332 .input>.prefix~label {
2333 margin-left: calc(var(--formLabelPadding) + var(--mediumSize) * 3);
2336 .input>.prefix.invalid {
2337 border-color: var(--red);
2340 .input>input[type="text"][required], .input>input[type="number"][required],
2341 .input>input[type="password"][required], .input>input[type="email"][required], .input>select {
2342 -webkit-appearance: none;
2343 -moz-appearance: none;
2345 font-size: var(--smallSize);
2346 box-sizing: border-box;
2347 padding-top: calc(var(--tinySize) + 4px);
2348 padding-left: var(--formLabelPadding);
2349 padding-right: var(--formLabelPadding);
2352 border: 1px solid var(--grey);
2354 vertical-align: top;
2357 .input>input[type="text"][required][disabled], .input>input[type="number"][required][disabled],
2358 .input>input[type="password"][required][disabled], .input>input[type="email"][required][disabled], .input>select[disabled] {
2359 border: 1px solid var(--greyLighter);
2362 .input>.prefix+input[type="text"][required], .input>.prefix+input[type="number"][required],
2363 .input>.prefix+input[type="password"][required], .input>.prefix+input[type="email"][required], .input>.prefix+select {
2364 padding-left: calc(var(--formLabelPadding) + var(--mediumSize) * 3);
2367 .input>input[type="text"][required]~label, .input>input[type="number"][required]~label,
2368 .input>input[type="password"][required]~label, .input>input[type="email"][required]~label, .input>select~label {
2369 pointer-events: none;
2372 top: calc((var(--tinySize) + 4px) / 2);
2373 color: var(--greyDarker);
2374 transition-timing-function: ease-in;
2375 transition-duration: .125s;
2376 font-size: var(--smallSize);
2377 height: var(--smallSize);
2381 .input>input[type="text"][required][disabled], .input>input[type="number"][required][disabled],
2382 .input>input[type="password"][required][disabled], .input>input[type="email"][required][disabled], .input>select[disabled] {
2383 color: var(--greyDarker);
2386 .input>input[type="text"][required][disabled]~label, .input>input[type="number"][required][disabled]~label,
2387 .input>input[type="password"][required][disabled]~label, .input>input[type="email"][required][disabled]~label, .input>select[disabled]~label {
2389 font-size: var(--tinySize);
2394 .input>input[type="text"][required]:focus, .input>input[type="number"][required]:focus,
2395 .input>input[type="password"][required]:focus, .input>input[type="email"][required]:focus, .input>select:focus {
2396 -webkit-appearance: none;
2397 -moz-appearance: none;
2399 border: 1px solid var(--blue);
2404 .input>input[type="text"][required]:focus~label, .input>input[type="number"][required]:focus~label,
2405 .input>input[type="password"][required]:focus~label, .input>input[type="email"][required]:focus~label {
2406 font-size: var(--tinySize);
2410 .input>input[type="text"][required]:valid~label, .input>input[type="number"][required]:valid~label,
2411 .input>input[type="password"][required]:valid~label, .input>input[type="email"][required]:valid~label, .input>select:valid~label {
2412 font-size: var(--tinySize);
2416 @media (prefers-color-scheme: dark) {
2418 background-color: var(--black);
2421 .input>input[type="text"][required], .input>input[type="number"][required],
2422 .input>input[type="password"][required], .input>input[type="email"][required], .input>select {
2423 color: var(--white);
2426 .input>input[type="text"][required]~label, .input>input[type="number"][required]~label,
2427 .input>input[type="password"][required]~label, .input>input[type="email"][required]~label, .input>select~label {
2431 .input>input[type="text"][required][disabled], .input>input[type="number"][required][disabled],
2432 .input>input[type="password"][required][disabled], .input>input[type="email"][required][disabled], .input>select[disabled] {
2433 border: 1px solid var(--greyDarker);
2434 color: var(--blackDark);
2437 .input>input[type="text"][required][disabled]~label, .input>input[type="number"][required][disabled]~label,
2438 .input>input[type="password"][required][disabled]~label, .input>input[type="email"][required][disabled]~label, .input>select[disabled]~label {
2439 color: var(--greyDarker);
2442 .input>input[type="text"][required]:focus, .input>input[type="number"][required]:focus,
2443 .input>input[type="password"][required]:focus, .input>input[type="email"][required]:focus, .input>select:focus {
2444 color: var(--white);
2448 .input>input[type="number"]:out-of-range, .input>input[type="text"][required].invalid, .input>input[type="number"][required].invalid,
2449 .input>input[type="password"][required].invalid, .input>input[type="email"][required].invalid, .input>select.invalid {
2450 border-color: var(--red);
2454 .input>input[type="number"]:out-of-range~label, .input>input[type="text"][required].invalid~label, .input>input[type="number"][required].invalid~label,
2455 .input>input[type="password"][required].invalid~label, .input>input[type="email"][required].invalid~label, .input>select.invalid~label {
2457 font-size: var(--tinySize);
2461 .input>input[type="number"]::-webkit-inner-spin-button {
2462 -webkit-appearance: none;
2466 .input>input[type="range"] {
2467 -webkit-appearance: none;
2468 -moz-appearance: none;
2471 background: var(--grey);
2473 transition-duration: .125s;
2476 margin: 0 var(--formLabelPadding);
2480 .input>input[type="range"]:hover {
2484 .input>input[type="range"]::-webkit-slider-thumb {
2485 -webkit-appearance: none;
2487 width: var(--tinySize);
2488 height: var(--tinySize);
2489 background: var(--grey);
2490 border-radius: var(--tinySize);
2494 .input>input[type="range"]::-webkit-slider-thumb:hover {
2495 background: var(--greyDarker);
2498 .input>input[type="range"].invalid::-webkit-slider-thumb {
2499 background: var(--red);
2502 .input>input[type="range"].invalid::-webkit-slider-thumb:hover {
2503 background: var(--red);
2506 .input>input[type="range"]:out-of-range, .input>input[type="range"].invalid {
2507 background: var(--red);
2510 .input>input[type="range"]:out-of-range::-webkit-slider-thumb, .input>input[type="range"].invalid::-webkit-slider-thumb {
2514 .input>input[type="range"]+input[type="number"] {
2517 min-width: calc(var(--mediumSize) * 2);
2518 border: 1px solid var(--grey);
2523 .input>input[type="range"]+input[type="number"]:out-of-range {
2524 border-color: var(--red);
2528 @media (prefers-color-scheme: dark) {
2529 .input>input[type="range"]+input[type="number"] {
2530 color: var(--white);
2534 .input>input[type="range"]+input[type="number"]::-webkit-inner-spin-button {
2535 -webkit-appearance: none;
2539 .input>.double-range {
2543 .input>label + .double-range {
2544 margin-left: var(--formLabelPadding);
2549 align-items: center;
2552 .double-range>.range {
2555 margin: 0 var(--formLabelPadding);
2556 height: var(--tinySize);
2559 .double-range>input[type="number"] {
2561 min-width: calc(var(--mediumSize) * 2);
2562 border: 1px solid var(--grey);
2567 .double-range>input[type="number"]::-webkit-inner-spin-button {
2568 -webkit-appearance: none;
2572 .double-range>.range>input[type="range"] {
2574 -webkit-appearance: none;
2575 -moz-appearance: none;
2578 background: var(--grey);
2580 transition-duration: .125s;
2582 pointer-events: none;
2585 top: calc(var(--tinySize) / 2 - 2px);
2588 @media (prefers-color-scheme: dark) {
2589 .double-range>.range>input[type="range"] {
2590 background: var(--greyDark);
2593 .double-range>input[type="number"] {
2594 color: var(--white);
2598 .double-range>.range>input[type="range"]:first::-webkit-slider-thumb {
2599 background: var(--grey);
2602 .double-range>.range>input[type="range"]:last-child::-webkit-slider-thumb {
2603 background: var(--greyDarker);
2606 .double-range>.range>input[type="range"]::-webkit-slider-thumb {
2607 -webkit-appearance: none;
2608 -moz-appearance: none;
2610 pointer-events: all;
2612 width: var(--tinySize);
2613 height: var(--tinySize);
2614 background: var(--grey);
2621 .progress-bar-container {
2624 background: var(--greyLightest);
2627 @media (prefers-color-scheme: dark) {
2628 .progress-bar-container {
2629 background: var(--black);
2633 .progress-bar-container .progress-bar {
2634 background: var(--blue);
2635 color: var(--white);
2639 height: var(--mediumSize);
2640 font-size: var(--tinySize);
2641 line-height: var(--mediumSize);
2644 .progress-bar-container .progress-bar.success {
2645 background: var(--green);
2648 .progress-bar-container .progress-bar.failed {
2649 background: var(--red);
2652 .progress-bar-container .progress-bar.error {
2653 background: var(--orange);
2657 -webkit-touch-callout: none;
2658 -webkit-user-select: none;
2666 @media screen and (min-width: 600px) and (orientation: landscape) {