1010 box-sizing: border-box;
1111}
1212
13+ :root {
14+ --accent-color: #112a46;
15+ --body-bg: white;
16+ --body-color: #112a46;
17+ --nav-color: #112a46;
18+ --nav-hover-color: #52B6CA;
19+ --link-color: #52B6CA;
20+ --link-hover-color: #52B6CA;
21+ --border-color: #e7e9ec;
22+ --code-bg: #eee;
23+ --admonition-bg: rgba(204, 204, 204, 0.25);
24+ --warning-bg: rgba(255, 204, 0, 0.25);
25+ }
26+
27+ html[data-theme=dark] {
28+ --body-bg: #151b2a;
29+ --body-color: #f5f5f5;
30+ --nav-color: #ddd;
31+ --nav-hover-color: #52B6CA;
32+ --link-color: #52B6CA;
33+ --link-hover-color: #52B6CA;
34+ --border-color: #222223;
35+ --code-bg: #000;
36+ --admonition-bg: rgba(204, 204, 204, 0.25);
37+ --warning-bg: rgba(255, 204, 0, 0.25);
38+ color-scheme: dark;
39+
40+ a:visited {
41+ color: #ba6fff;
42+ }
43+
44+ .logo {
45+ filter: brightness(5);
46+ }
47+
48+ .highlight {
49+ .nb, .cp {
50+ color: #01972c;
51+ }
52+ .nt {
53+ color: #d5b778;
54+ }
55+ .cm {
56+ color: #7a7e85;
57+ }
58+ .gd {
59+ color: #df5959;
60+ }
61+ :is(.na, .nf, .s, .s1, .s2) {
62+ color: #56a8f5;
63+ }
64+ }
65+ }
66+
67+ /* Color switch */
68+ .color__switch {
69+ position: relative;
70+ cursor: pointer;
71+ margin: 16px 32px 0 auto;
72+ font-size: 3.25px;
73+
74+ height: 8em;
75+ width: 15em;
76+
77+ border-radius: 4em;
78+
79+ transition: all .5s ease;
80+ background: var(--accent-color);
81+ box-shadow: inset 0 0 0 2px var(--body-color);
82+
83+ label {
84+ position: absolute;
85+ inset:0;
86+ cursor: pointer;
87+ text-indent: -999em;
88+ }
89+
90+ input {
91+ all: unset;
92+ pointer-events: none;
93+ position: absolute;
94+ display: block;
95+ border-radius: 50%;
96+ transition: all 0.4s ease-in-out;
97+ top: 1.5em;
98+ left: 1.5em;
99+ transform: rotate(-75deg);
100+ width: 5em;
101+ height: 5em;
102+ background: var(--accent-color);
103+ box-shadow: 0.75em 0.625em 0 0 #d9fbff inset,
104+ rgba(255, 255, 255, 0.1) 0 -1.75em 0 -2.25em,
105+ rgba(255, 255, 255, 0.1) 1.5em 3.5em 0 -2.25em,
106+ rgba(255, 255, 255, 0.1) 1em 6.5em 0 -2em,
107+ rgba(255, 255, 255, 0.1) 3em 1em 0 -2.05em,
108+ rgba(255, 255, 255, 0.1) 4em 4em 0 -2.25em,
109+ rgba(255, 255, 255, 0.1) 3em 6.5em 0 -2.25em,
110+ rgba(255, 255, 255, 0.1) -2em 3.6em 0 -2.25em,
111+ rgba(255, 255, 255, 0.1) -.5em 5em 0 -2.25em;
112+
113+ &:checked {
114+ top: 2.25em;
115+ left: 9em;
116+ transform: rotate(0deg);
117+ width: 3.5em;
118+ height: 3.5em;
119+ background: #fff;
120+ box-shadow:
121+ 1.5em 1.5em 0 2.5em #fff inset,
122+ 0 -2.5em 0 -1.35em #fff,
123+ 1.75em -1.75em 0 -1.5em #fff,
124+ 2.5em 0 0 -1.35em #fff,
125+ 1.75em 1.75em 0 -1.5em #fff,
126+ 0 2.5em 0 -1.35em #fff,
127+ -1.75em 1.75em 0 -1.5em #fff,
128+ -2.5em 0 0 -1.35em #fff,
129+ -1.75em -1.75em 0 -1.5em #fff;
130+ }
131+ }
132+ }
133+
13134/* Body */
14135body {
15136 font-family: "IBM Plex Sans", sans-serif;
16137 font-size: 16px;
17138 line-height: 24px;
18- background-color: white ;
19- color: #112a46 ;
139+ background-color: var(--body-bg) ;
140+ color: var(--body-color) ;
20141 margin: 0;
21142 padding: 0;
22143 padding-bottom: 100px;
@@ -108,21 +229,21 @@ div.sphinxsidebar ul ul {
108229}
109230
110231div.sphinxsidebar input {
111- border-color: #e7e9ec ;
232+ border-color: var(--border-color) ;
112233}
113234
114235div.sphinxsidebar a {
115- color: #112a46 ;
236+ color: var(--nav-color) ;
116237 text-decoration: none;
117238}
118239
119240div.sphinxsidebar a:hover {
120- color: #52B6CA ;
241+ color: var(--nav-hover-color) ;
121242 text-decoration: underline;
122243}
123244
124245div.sphinxsidebar a.current {
125- color: #52B6CA ;
246+ color: var(--nav-hover-color) ;
126247}
127248
128249div.sphinxsidebar li {
@@ -188,17 +309,17 @@ div.toctree-wrapper a {
188309}
189310
190311div.toctree-wrapper a {
191- color: #112a46 ;
312+ color: var(--nav-color) ;
192313 text-decoration: none;
193314}
194315
195316div.toctree-wrapper a:hover {
196- color: #52B6CA ;
317+ color: var(--nav-hover-color) ;
197318 text-decoration: underline;
198319}
199320
200321div.toctree-wrapper a.current {
201- color: #52B6CA ;
322+ color: var(--nav-hover-color) ;
202323}
203324
204325/* Mobile */
@@ -230,7 +351,7 @@ div.toctree-wrapper a.current {
230351
231352/* Code highlight */
232353pre {
233- background: #eee ;
354+ background: var(--code-bg) ;
234355 padding: 7px 10px;
235356 margin: 15px 0;
236357 line-height: 1.3em;
@@ -252,7 +373,7 @@ code {
252373
253374/* admonition */
254375div.admonition {
255- background: rgba(204, 204, 204, 0.25 );
376+ background: var(--admonition-bg );
256377 margin: 16px 0;
257378 padding: 16px;
258379 max-width: 75ch;
@@ -268,16 +389,16 @@ div.admonition p.last {
268389}
269390
270391div.admonition.warning {
271- background: rgba(255, 204, 0, 0.25 );
392+ background: var(--warning-bg );
272393}
273394
274395div.admonition.caution {
275- background: rgba(255, 204, 0, 0.25 );
396+ background: var(--warning-bg );
276397}
277398
278399/* Links */
279400a {
280- color: #52B6CA ;
401+ color: var(--link-color) ;
281402 text-decoration: underline;
282403}
283404
@@ -287,7 +408,7 @@ a:hover {
287408
288409a.headerlink,
289410a.headerlink:hover {
290- color: #52B6CA ;
411+ color: var(--link-color) ;
291412 text-decoration: none;
292413}
293414
@@ -370,7 +491,6 @@ table.align-default {
370491 margin-left: 0;
371492 margin-right: 0;
372493 padding-left: 0;
373- margin-right: 0;
374494 text-align: left;
375495}
376496
0 commit comments