|
65 | 65 | --box-header-color: #999; |
66 | 66 | } |
67 | 67 |
|
| 68 | +@media (prefers-color-scheme: dark) { |
| 69 | + :root { |
| 70 | + /* Render native form controls and scrollbars dark as well */ |
| 71 | + color-scheme: dark; |
| 72 | + |
| 73 | + --light-color: #242424; |
| 74 | + --success-color: #5a9e6a; |
| 75 | + --warning-color: #c69a46; |
| 76 | + --danger-color: #c9625c; |
| 77 | + |
| 78 | + /* Base theme colors */ |
| 79 | + --body-bg: #181818; |
| 80 | + --text-color: #e0e0e0; |
| 81 | + --link-color: #7ca7d8; |
| 82 | + --link-hover-color: #a3c2e6; |
| 83 | + --muted-color: #9e9e9e; |
| 84 | + --pre-bg: #222222; |
| 85 | + --input-border: #555555; |
| 86 | + |
| 87 | + /* Message and error containers */ |
| 88 | + --messages-bg: #282838; |
| 89 | + --errors-bg: #282838; |
| 90 | + --error-text: #e07a72; |
| 91 | + |
| 92 | + /* Filter box and action links */ |
| 93 | + --filter-border: #3c3c3c; |
| 94 | + --filter-action-color: #e0e0e0; |
| 95 | + --col-link-color: #e0e0e0; |
| 96 | + --col-inactive-hover: #e07a72; |
| 97 | + |
| 98 | + /* Tables & lists */ |
| 99 | + --table-header-bg: #222222; |
| 100 | + --drag-hover-bg: #303030; |
| 101 | + --paginator-curr-bg: #303030; |
| 102 | + --paginator-curr-color: #cccccc; |
| 103 | + --paginator-na-color: #777777; |
| 104 | + --table-border: #3c3c3c; |
| 105 | + --bundle-th-bg: #262626; |
| 106 | + |
| 107 | + /* Check states & headers */ |
| 108 | + --checks-header-bg: #262b45; |
| 109 | + --checks-header-color: #e0e0e0; |
| 110 | + --checks-link-visited: #a89fd6; |
| 111 | + --checks-success-bg: #36694a; |
| 112 | + --checks-warning-bg: #7d6224; |
| 113 | + --checks-fail-bg: #8c3735; |
| 114 | + --checks-state-default: #888888; |
| 115 | + --checks-state-success: #6fae82; |
| 116 | + --checks-state-warning: #c9a85a; |
| 117 | + --checks-state-fail: #d27a70; |
| 118 | + |
| 119 | + /* Submission & comments */ |
| 120 | + --submission-meta-bg: #262626; |
| 121 | + --quote-color: #8aaed8; |
| 122 | + --acked-color: #8aaed8; |
| 123 | + --signed-off-color: #d08fb0; |
| 124 | + |
| 125 | + /* Diff highlighting */ |
| 126 | + --diff-chunk: #56d4dd; |
| 127 | + --diff-add-text: #7ee787; |
| 128 | + --diff-add-bg: rgba(46, 160, 67, 0.2); |
| 129 | + --diff-del-text: #ffa198; |
| 130 | + --diff-del-bg: rgba(248, 81, 73, 0.2); |
| 131 | + --diff-mod: #d2a8ff; |
| 132 | + |
| 133 | + /* Boxes & panel headers */ |
| 134 | + --box-border: #3c3c3c; |
| 135 | + --box-header-bg: #2c2c2c; |
| 136 | + --box-header-color: #cccccc; |
| 137 | + } |
| 138 | +} |
| 139 | + |
68 | 140 | h2 { |
69 | 141 | font-size: 25px; |
70 | 142 | margin: 18px 0 18px 0; |
@@ -706,3 +778,196 @@ div.box table.vertical { |
706 | 778 | float: right; |
707 | 779 | width: 49%; |
708 | 780 | } |
| 781 | + |
| 782 | +/* Dark mode overrides */ |
| 783 | +@media (prefers-color-scheme: dark) { |
| 784 | + body { |
| 785 | + background-color: var(--body-bg); |
| 786 | + color: var(--text-color); |
| 787 | + } |
| 788 | + |
| 789 | + a { |
| 790 | + color: var(--link-color); |
| 791 | + } |
| 792 | + |
| 793 | + a:hover, |
| 794 | + a:focus { |
| 795 | + color: var(--link-hover-color); |
| 796 | + } |
| 797 | + |
| 798 | + /* Bootstrap hardcodes a dark gray text color for pre blocks */ |
| 799 | + pre { |
| 800 | + color: var(--text-color); |
| 801 | + border-color: var(--table-border); |
| 802 | + } |
| 803 | + |
| 804 | + /* |
| 805 | + * Bootstrap makes form controls inherit the text color, so they need a |
| 806 | + * dark background too or they end up light-on-light |
| 807 | + */ |
| 808 | + input, |
| 809 | + select, |
| 810 | + textarea, |
| 811 | + button { |
| 812 | + background-color: #242424; |
| 813 | + color: var(--text-color); |
| 814 | + border-color: var(--input-border); |
| 815 | + } |
| 816 | + |
| 817 | + .form-control { |
| 818 | + background-color: #242424; |
| 819 | + color: var(--text-color); |
| 820 | + border-color: var(--input-border); |
| 821 | + } |
| 822 | + |
| 823 | + .table { |
| 824 | + color: var(--text-color); |
| 825 | + } |
| 826 | + |
| 827 | + .table > thead > tr > th, |
| 828 | + .table > tbody > tr > th, |
| 829 | + .table > tfoot > tr > th, |
| 830 | + .table > thead > tr > td, |
| 831 | + .table > tbody > tr > td, |
| 832 | + .table > tfoot > tr > td { |
| 833 | + border-top-color: var(--table-border); |
| 834 | + } |
| 835 | + |
| 836 | + .table > thead > tr > th { |
| 837 | + border-bottom-color: var(--table-border); |
| 838 | + } |
| 839 | + |
| 840 | + .table-striped > tbody > tr:nth-of-type(odd) { |
| 841 | + background-color: #1f1f1f; |
| 842 | + } |
| 843 | + |
| 844 | + .table-hover > tbody > tr:hover { |
| 845 | + background-color: #2c2c2c; |
| 846 | + } |
| 847 | + |
| 848 | + .table-bordered { |
| 849 | + border-color: var(--table-border); |
| 850 | + } |
| 851 | + |
| 852 | + .table-bordered > thead > tr > th, |
| 853 | + .table-bordered > tbody > tr > th, |
| 854 | + .table-bordered > tfoot > tr > th, |
| 855 | + .table-bordered > thead > tr > td, |
| 856 | + .table-bordered > tbody > tr > td, |
| 857 | + .table-bordered > tfoot > tr > td { |
| 858 | + border-color: var(--table-border); |
| 859 | + } |
| 860 | + |
| 861 | + .thumbnail { |
| 862 | + background-color: #202020; |
| 863 | + border-color: var(--table-border); |
| 864 | + } |
| 865 | + |
| 866 | + .thumbnail .caption { |
| 867 | + color: var(--text-color); |
| 868 | + } |
| 869 | + |
| 870 | + .panel { |
| 871 | + background-color: #202020; |
| 872 | + border-color: var(--table-border); |
| 873 | + } |
| 874 | + |
| 875 | + .panel-default > .panel-heading { |
| 876 | + background-color: #262626; |
| 877 | + color: var(--text-color); |
| 878 | + border-color: var(--table-border); |
| 879 | + } |
| 880 | + |
| 881 | + .list-group-item { |
| 882 | + background-color: #202020; |
| 883 | + border-color: var(--table-border); |
| 884 | + color: var(--text-color); |
| 885 | + } |
| 886 | + |
| 887 | + .dropdown-menu { |
| 888 | + background-color: #242424; |
| 889 | + border-color: var(--table-border); |
| 890 | + } |
| 891 | + |
| 892 | + .dropdown-menu > li > a { |
| 893 | + color: var(--text-color); |
| 894 | + } |
| 895 | + |
| 896 | + .dropdown-menu > li > a:hover, |
| 897 | + .dropdown-menu > li > a:focus { |
| 898 | + background-color: #303030; |
| 899 | + color: #ffffff; |
| 900 | + } |
| 901 | + |
| 902 | + .dropdown-menu .divider { |
| 903 | + background-color: var(--table-border); |
| 904 | + } |
| 905 | + |
| 906 | + ul.dropdown-menu > li > form > button { |
| 907 | + color: var(--text-color); |
| 908 | + } |
| 909 | + |
| 910 | + ul.dropdown-menu > li > form > button:hover { |
| 911 | + color: #ffffff; |
| 912 | + background-color: #303030; |
| 913 | + } |
| 914 | + |
| 915 | + .btn-default { |
| 916 | + background-color: #2b2b2b; |
| 917 | + color: var(--text-color); |
| 918 | + border-color: var(--input-border); |
| 919 | + } |
| 920 | + |
| 921 | + .btn-default:hover, |
| 922 | + .btn-default:focus, |
| 923 | + .btn-default:active { |
| 924 | + background-color: #383838; |
| 925 | + color: #ffffff; |
| 926 | + border-color: #777777; |
| 927 | + } |
| 928 | + |
| 929 | + .btn-copy { |
| 930 | + color: var(--link-color); |
| 931 | + } |
| 932 | + |
| 933 | + table.form tr td.submitrow { |
| 934 | + border-bottom-color: var(--table-border); |
| 935 | + color: var(--text-color); |
| 936 | + } |
| 937 | + |
| 938 | + table.bundlelist { |
| 939 | + border-color: var(--table-border); |
| 940 | + } |
| 941 | + |
| 942 | + table.bundlelist th { |
| 943 | + border-bottom-color: var(--table-border); |
| 944 | + } |
| 945 | + |
| 946 | + .selectize-input, |
| 947 | + .selectize-input.full, |
| 948 | + .selectize-control.single .selectize-input.input-active { |
| 949 | + background-color: #242424; |
| 950 | + border-color: var(--input-border); |
| 951 | + color: var(--text-color); |
| 952 | + } |
| 953 | + |
| 954 | + .selectize-input input { |
| 955 | + color: var(--text-color); |
| 956 | + } |
| 957 | + |
| 958 | + .selectize-dropdown, |
| 959 | + .selectize-dropdown .optgroup-header { |
| 960 | + background-color: #242424; |
| 961 | + border-color: var(--input-border); |
| 962 | + color: var(--text-color); |
| 963 | + } |
| 964 | + |
| 965 | + .selectize-dropdown .option { |
| 966 | + color: var(--text-color); |
| 967 | + } |
| 968 | + |
| 969 | + .selectize-dropdown .active { |
| 970 | + background-color: #343434; |
| 971 | + color: #ffffff; |
| 972 | + } |
| 973 | +} |
0 commit comments