website

#astro#js#html#css

git clone https://git.pyrossh.dev/website

木 Personal website of pyrossh. Built with astrojs, shiki, vite.


fe1b28fpyrossh 2026-07-07T19:15:33+05:30
fix: flatten CSS nesting, replace generic div with .wrapper class, add wrapper to header/footer
.gitignore CHANGED
@@ -59,3 +59,4 @@ dist-ssr
59
59
  target
60
60
  .wrangler
61
61
  repos/*
62
+ refs/
assets/css/shared.css CHANGED
@@ -8,234 +8,222 @@ a { color: inherit; text-decoration: none; }
8
8
  ul, ol { list-style: none; }
9
9
  table { border-collapse: collapse; }
10
10
 
11
+ @view-transition {
12
+ navigation: auto;
13
+ }
14
+
15
+ :root {
16
+ --color-black: light-dark(hsl(0, 0%, 0%), hsl(0, 0%, 0%));
17
+ --color-white: light-dark(hsl(0, 0%, 100%), hsl(0, 0%, 100%));
18
+ --color-accent: hsl(57.25deg 100% 70%);
19
+ --color-body-bg: light-dark(hsl(0, 0%, 100%), hsl(210, 13%, 15%));
20
+ --color-box-bg: light-dark(hsl(0, 0%, 95%), hsl(210, 13%, 9%));
21
+ --color-text: light-dark(hsl(0, 0%, 13%), hsl(210, 17%, 98%));
22
+ --color-link: light-dark(hsl(211, 100%, 45%), hsl(211, 100%, 60%));
23
+ --color-post-link: light-dark(hsl(0, 0%, 0%), hsl(211, 100%, 60%));
24
+ --color-highlight-bg: light-dark(hsl(183, 80%, 88%), hsl(183, 80%, 18%));
25
+ --color-code-fg: light-dark(hsl(348, 86%, 43%), hsl(348, 86%, 80%));
26
+ --color-code-bg: light-dark(hsl(0, 0%, 95%), hsl(0, 0%, 0%));
27
+ --color-pre-bg: light-dark(hsl(0, 0%, 95%), hsl(0, 0%, 0%));
28
+ --color-tag: light-dark(hsl(152, 96%, 35%), hsl(152, 96%, 44%));
29
+ --btn-light: none;
30
+ --btn-dark: block;
31
+ }
11
32
 
12
- @view-transition {
13
- navigation: auto; /* enabled! */
14
- }
15
- :root {
16
- --color-black: light-dark(hsl(0, 0%, 0%), hsl(0, 0%, 0%));
17
- --color-white: light-dark(hsl(0, 0%, 100%), hsl(0, 0%, 100%));
18
- --color-accent: hsl(57.25deg 100% 70%);
19
- --color-body-bg: light-dark(hsl(0, 0%, 100%), hsl(210, 13%, 15%));
20
- --color-box-bg: light-dark(hsl(0, 0%, 95%), hsl(210, 13%, 9%));
21
- --color-text: light-dark(hsl(0, 0%, 13%), hsl(210, 17%, 98%));
22
- --color-link: light-dark(hsl(211, 100%, 45%), hsl(211, 100%, 60%));
23
- --color-post-link: light-dark(hsl(0, 0%, 0%), hsl(211, 100%, 60%));
24
- --color-highlight-bg: light-dark(hsl(183, 80%, 88%), hsl(183, 80%, 18%));
25
- --color-code-fg: light-dark(hsl(348, 86%, 43%), hsl(348, 86%, 80%));
26
- --color-code-bg: light-dark(hsl(0, 0%, 95%), hsl(0, 0%, 0%));
27
- --color-pre-bg: light-dark(hsl(0, 0%, 95%), hsl(0, 0%, 0%));
28
- --color-tag: light-dark(hsl(152, 96%, 35%), hsl(152, 96%, 44%));
29
- --btn-light: none;
30
- --btn-dark: block;
31
-
32
- .astro-code,
33
+ :root .astro-code,
33
34
  :root .astro-code span {
34
- background: var(--color-pre-bg) !important;
35
+ background: var(--color-pre-bg) !important;
35
- }
36
+ }
36
- }
37
37
 
38
- [data-theme="dark"] {
38
+ [data-theme="dark"] {
39
- --btn-light: block;
39
+ --btn-light: block;
40
- --btn-dark: none;
40
+ --btn-dark: none;
41
+ }
41
42
 
42
43
  [data-theme="dark"] .expressive-code .frame pre {
43
- background: var(--color-pre-bg) !important;
44
+ background: var(--color-pre-bg) !important;
44
- }
45
+ }
45
- }
46
46
 
47
- [data-tooltip] {
47
+ [data-tooltip] {
48
- position: relative;
48
+ position: relative;
49
- cursor: help;
49
+ cursor: help;
50
- }
50
+ }
51
51
 
52
- [data-tooltip]::after {
52
+ [data-tooltip]::after {
53
- position: absolute;
53
+ position: absolute;
54
- opacity: 0;
54
+ opacity: 0;
55
- pointer-events: none;
55
+ pointer-events: none;
56
- content: attr(data-tooltip);
56
+ content: attr(data-tooltip);
57
- left: 0;
57
+ left: 0;
58
- top: calc(100% + 10px);
58
+ top: calc(100% + 10px);
59
- border-radius: 3px;
59
+ border-radius: 3px;
60
- box-shadow: 0 0 1px 1px var(--color-text);
60
+ box-shadow: 0 0 1px 1px var(--color-text);
61
- background-color: var(--color-box-bg);
61
+ background-color: var(--color-box-bg);
62
- z-index: 10;
62
+ z-index: 10;
63
- padding: 8px;
63
+ padding: 8px;
64
- width: 300px;
64
+ width: 300px;
65
- transform: translateY(-20px);
65
+ transform: translateY(-20px);
66
- transition: all 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
66
+ transition: all 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
67
- }
67
+ }
68
68
 
69
- [data-tooltip]:hover::after {
69
+ [data-tooltip]:hover::after {
70
- opacity: 1;
70
+ opacity: 1;
71
- transform: translateY(0);
71
+ transform: translateY(0);
72
- transition-duration: 300ms;
72
+ transition-duration: 300ms;
73
- }
73
+ }
74
+
75
+ body {
76
+ display: flex;
77
+ flex-direction: column;
78
+ flex: 1;
79
+ background-color: var(--color-body-bg);
80
+ color: var(--color-text);
81
+ font-family: system-ui;
82
+ text-rendering: optimizeLegibility;
83
+ font-variant-ligatures: common-ligatures;
84
+ font-kerning: normal;
85
+ font-size: 1.25rem;
86
+ line-height: 1.5;
87
+ min-height: 100vh;
88
+ }
74
89
 
90
+ @media (max-width: 720px) {
75
91
  body {
76
- display: flex;
77
- flex-direction: column;
78
- flex: 1;
79
- background-color: var(--color-body-bg);
80
- color: var(--color-text);
81
- font-family: system-ui;
82
- text-rendering: optimizeLegibility;
83
- font-variant-ligatures: common-ligatures;
84
- font-kerning: normal;
85
- font-size: 1.25rem;
86
- line-height: 1.5;
87
- min-height: 100vh;
88
-
89
- @media (max-width: 720px) {
90
- font-size: 1.1rem;
92
+ font-size: 1.1rem;
91
- }
92
93
  }
94
+ }
93
95
 
94
- main {
96
+ main {
95
- margin-top: 1rem;
97
+ margin-top: 1rem;
96
- margin-bottom: 1rem;
98
+ margin-bottom: 1rem;
97
- padding-bottom: 1em;
99
+ padding-bottom: 1em;
98
- }
100
+ }
99
101
 
100
- header {
102
+ header {
101
- background: #131618;
103
+ background: #131618;
102
- }
104
+ }
103
105
 
104
- .safe-area {
106
+ .safe-area {
105
- background: #131618;
107
+ background: #131618;
106
- position: sticky;
108
+ position: sticky;
107
- top: 0;
109
+ top: 0;
108
- padding-top: env(safe-area-inset-top);
110
+ padding-top: env(safe-area-inset-top);
109
- }
111
+ }
110
112
 
111
- .logo {
113
+ .logo {
112
- display: flex;
114
+ display: flex;
113
- font-size: 22px;
115
+ font-size: 22px;
114
- line-height: 56px;
116
+ line-height: 56px;
115
- font-weight: 400;
117
+ font-weight: 400;
116
- margin-bottom: 0;
118
+ margin-bottom: 0;
117
- float: left;
119
+ float: left;
118
- color: var(--color-accent);
120
+ color: var(--color-accent);
119
- margin-right: 8px;
121
+ margin-right: 8px;
120
-
122
+ }
123
+
121
- &.active,
124
+ .logo.active,
122
125
  .logo:hover {
123
- color: var(--color-accent);
126
+ color: var(--color-accent);
124
- text-decoration: underline;
127
+ text-decoration: underline;
125
- text-decoration-color: var(--color-accent);
128
+ text-decoration-color: var(--color-accent);
126
- text-underline-offset: 8px;
129
+ text-underline-offset: 8px;
127
- }
130
+ }
128
- }
129
131
 
130
- .links {
132
+ .links {
131
- display: flex;
133
+ display: flex;
132
- flex-direction: row;
134
+ flex-direction: row;
133
- float: right;
135
+ float: right;
134
- font-size: 1.4rem;
136
+ font-size: 1.4rem;
135
- line-height: 56px;
137
+ line-height: 56px;
136
- color: white;
138
+ color: white;
139
+ }
137
140
 
138
141
  .links #astro-color-scheme-switch {
139
- display: flex;
142
+ display: flex;
140
- align-items: center;
143
+ align-items: center;
141
- font-size: 1.3rem;
144
+ font-size: 1.3rem;
145
+ }
142
146
 
143
147
  .links #astro-color-scheme-switch button {
144
- padding-right: 12px;
148
+ padding-right: 12px;
145
- cursor: pointer;
149
+ cursor: pointer;
146
- margin-bottom: -2px;
150
+ margin-bottom: -2px;
147
- }
151
+ }
148
- }
149
152
 
150
153
  .links a {
151
- display: inline-block;
154
+ display: inline-block;
152
- text-decoration: none;
155
+ text-decoration: none;
153
- font-size: 22px;
156
+ font-size: 22px;
154
- line-height: 56px;
157
+ line-height: 56px;
155
- color: white;
158
+ color: white;
156
- font-weight: 400;
159
+ font-weight: 400;
157
- padding-left: 12px;
160
+ padding-left: 12px;
158
- padding-right: 12px;
161
+ padding-right: 12px;
162
+ }
159
163
 
160
164
  .links a:last-child {
161
- padding-right: 0px;
165
+ padding-right: 0px;
162
- }
166
+ }
163
167
 
164
- &.active,
168
+ .links a.active,
165
169
  .links a:hover {
166
- color: var(--color-gray-200);
170
+ color: var(--color-gray-200);
167
- text-decoration: underline;
171
+ text-decoration: underline;
168
- text-decoration-color: var(--color-accent);
172
+ text-decoration-color: var(--color-accent);
169
- text-underline-offset: 8px;
173
+ text-underline-offset: 8px;
170
- }
174
+ }
171
- }
172
- }
173
175
 
174
- footer {
176
+ footer {
175
- background: #131618;
177
+ background: #131618;
176
- }
178
+ }
177
179
 
178
- .safe-area {
180
+ .safe-area {
179
- background: #131618;
181
+ background: #131618;
180
- position: sticky;
182
+ position: sticky;
181
- bottom: 0;
183
+ bottom: 0;
182
- padding-bottom: env(safe-area-inset-bottom);
184
+ padding-bottom: env(safe-area-inset-bottom);
183
- }
185
+ }
184
186
 
185
- .container {
187
+ .container {
186
- display: flex;
188
+ display: flex;
187
- flex-direction: row;
189
+ flex-direction: row;
188
- flex: 1;
190
+ flex: 1;
189
- padding: 16px 0px;
191
+ padding: 16px 0px;
190
- }
192
+ }
191
193
 
192
- .spacer {
194
+ .spacer {
193
- flex: 1;
195
+ flex: 1;
194
- }
196
+ }
195
197
 
196
- .copyright-container {
198
+ .copyright-container {
197
- display: flex;
199
+ display: flex;
198
- align-items: center;
200
+ align-items: center;
199
- justify-content: center;
201
+ justify-content: center;
200
- margin-left: 0.5rem;
202
+ margin-left: 0.5rem;
201
- margin-right: 0.5rem;
203
+ margin-right: 0.5rem;
202
- color: var(--color-white);
204
+ color: var(--color-white);
203
- font-size: 1rem;
205
+ font-size: 1rem;
204
- }
206
+ }
205
207
 
206
- .link {
208
+ .link {
207
- font-size: 1rem;
209
+ font-size: 1rem;
208
- line-height: 1.5rem;
210
+ line-height: 1.5rem;
209
- margin-left: 0.5rem;
211
+ margin-left: 0.5rem;
210
- color: var(--color-white);
212
+ color: var(--color-white);
211
- font-weight: 500;
213
+ font-weight: 500;
212
- text-underline-offset: 2px;
214
+ text-underline-offset: 2px;
213
- text-decoration-thickness: 2px;
215
+ text-decoration-thickness: 2px;
214
- text-decoration-line: underline;
216
+ text-decoration-line: underline;
215
- text-decoration-color: white;
217
+ text-decoration-color: white;
218
+ }
216
219
 
217
220
  .link:hover {
218
- color: var(--color-gray-200);
221
+ color: var(--color-gray-200);
219
- text-decoration-color: var(--color-gray-200);
222
+ text-decoration-color: var(--color-gray-200);
220
- }
223
+ }
221
- }
222
-
223
- div {
224
- flex: 1;
225
- width: min(70ch, 100% - 4rem); /* To make the website more readable */
226
- margin-right: auto;
227
- margin-left: auto;
228
- padding-left: 1em;
229
- padding-right: 1em;
230
- }
231
-
232
- @media (max-width: 720px) {
233
- div {
234
- width: 100%;
235
- }
236
- }
237
224
 
238
225
  @media (prefers-color-scheme: dark) { :root { color-scheme: dark; } }
226
+
239
227
  [data-theme="dark"] {
240
228
  --color-body-bg: hsl(210, 13%, 15%);
241
229
  --color-box-bg: hsl(210, 13%, 9%);
@@ -251,8 +239,18 @@ table { border-collapse: collapse; }
251
239
  --btn-dark: none;
252
240
  color-scheme: dark;
253
241
  }
242
+
254
243
  .wrapper {
244
+ flex: 1;
255
- max-width: min(70ch, 100% - 4rem);
245
+ width: min(70ch, 100% - 4rem);
246
+ margin-right: auto;
256
- margin: 0 auto;
247
+ margin-left: auto;
248
+ padding-left: 1em;
249
+ padding-right: 1em;
257
250
  }
258
251
 
252
+ @media (max-width: 720px) {
253
+ .wrapper {
254
+ width: 100%;
255
+ }
256
+ }
assets/css/workers/home.css CHANGED
@@ -1,223 +1,232 @@
1
+ .description {
2
+ font-size: 1.1rem;
3
+ }
4
+
5
+ @media (max-width: 720px) {
1
6
  .description {
2
- font-size: 1.1rem;
3
- @media (max-width: 720px) {
4
- font-size: 1rem;
7
+ font-size: 1rem;
5
- }
6
8
  }
9
+ }
10
+
11
+ h2 {
12
+ font-size: 1.4rem;
13
+ font-weight: 600;
14
+ }
7
15
 
16
+ @media (max-width: 720px) {
8
17
  h2 {
9
- font-size: 1.4rem;
10
- font-weight: 600;
11
- @media (max-width: 720px) {
12
- font-size: 1.15rem;
18
+ font-size: 1.15rem;
13
- }
14
19
  }
20
+ }
15
21
 
22
+ section {
23
+ display: flex;
24
+ flex-direction: column;
25
+ margin-top: 1.5rem;
26
+ margin-bottom: 1rem;
27
+ }
28
+
29
+ @media (max-width: 720px) {
16
30
  section {
17
- display: flex;
18
- flex-direction: column;
19
31
  margin-top: 1.5rem;
20
- margin-bottom: 1rem;
21
-
22
- @media (max-width: 720px) {
23
- margin-top: 1.5rem;
24
- margin-bottom: 0rem;
32
+ margin-bottom: 0rem;
25
- }
26
33
  }
34
+ }
27
35
 
28
- .rounded-md {
36
+ .rounded-md {
29
- border-radius: 0.375rem;
37
+ border-radius: 0.375rem;
30
- }
38
+ }
39
+
40
+ .repos {
41
+ display: grid;
42
+ grid-template-columns: auto auto;
43
+ gap: 1rem;
44
+ margin-top: 0.5rem;
45
+ }
31
46
 
47
+ @media (max-width: 720px) {
32
48
  .repos {
33
- display: grid;
34
- grid-template-columns: auto auto;
35
49
  gap: 1rem;
36
- margin-top: 0.5rem;
37
-
38
- @media (max-width: 720px) {
39
- gap: 1rem;
40
- grid-template-columns: auto;
50
+ grid-template-columns: auto;
41
- }
42
- }
43
-
44
- .pageContainer {
45
- margin-left: auto;
46
- margin-right: auto;
47
- margin-bottom: 2.5rem;
48
- /* mb-10 */
49
51
  }
50
-
52
+ }
53
+
54
+ .pageContainer {
55
+ margin-left: auto;
56
+ margin-right: auto;
57
+ margin-bottom: 2.5rem;
58
+ }
59
+
60
+ .title {
61
+ font-size: 1.875rem;
62
+ line-height: 2.25rem;
63
+ font-weight: 700;
64
+ margin-bottom: 1rem;
65
+ }
66
+
67
+ @media (max-width: 720px) {
51
68
  .title {
52
- font-size: 1.875rem;
53
- line-height: 2.25rem;
54
- font-weight: 700;
55
- margin-bottom: 1rem;
56
- @media (max-width: 720px) {
57
- font-size: 1.6rem;
69
+ font-size: 1.6rem;
58
- }
59
70
  }
71
+ }
60
72
 
61
- .firstSection {
73
+ .firstSection {
62
- display: flex;
74
+ display: flex;
63
- flex-direction: column;
75
+ flex-direction: column;
64
- }
76
+ }
65
77
 
66
- .firstPara {
78
+ .firstPara {
67
- display: flex;
79
+ display: flex;
68
- flex-direction: row;
80
+ flex-direction: row;
69
- }
81
+ }
70
82
 
71
- .linkUnderline {
83
+ .linkUnderline {
72
- text-decoration-line: underline;
84
+ text-decoration-line: underline;
73
- }
85
+ }
74
86
 
75
- .gridContainer {
87
+ .gridContainer {
76
- display: grid;
88
+ display: grid;
77
- grid-template-columns: repeat(1, minmax(0, 1fr));
89
+ grid-template-columns: repeat(1, minmax(0, 1fr));
78
- gap: 1rem;
90
+ gap: 1rem;
91
+ }
79
92
 
80
- @media (max-width: 720px) {
93
+ @media (max-width: 720px) {
94
+ .gridContainer {
81
- gap: 0rem;
95
+ gap: 0rem;
82
- }
83
96
  }
97
+ }
84
98
 
85
- @media (min-width: 640px) {
99
+ @media (min-width: 640px) {
86
- /* sm: */
87
- .gridContainer {
100
+ .gridContainer {
88
- grid-template-columns: repeat(2, minmax(0, 1fr));
101
+ grid-template-columns: repeat(2, minmax(0, 1fr));
89
- /* sm:grid-cols-2 */
90
- gap: 2rem;
102
+ gap: 2rem;
91
- /* sm:gap-8 */
92
- }
93
103
  }
104
+ }
94
105
 
95
- .repo {
106
+ .repo {
96
- text-overflow: ellipsis;
107
+ text-overflow: ellipsis;
97
- overflow: hidden;
108
+ overflow: hidden;
98
- padding: 0.5rem;
109
+ padding: 0.5rem;
99
- background: var(--color-box-bg);
110
+ background: var(--color-box-bg);
100
- color: var(--color-text);
111
+ color: var(--color-text);
101
- font-size: 0.95rem;
112
+ font-size: 0.95rem;
113
+ }
102
114
 
103
115
  .repo a {
104
- color: var(--color-link);
116
+ color: var(--color-link);
105
- }
117
+ }
106
118
 
107
119
  .repo h4 {
108
- font-size: 1.05rem;
120
+ font-size: 1.05rem;
109
- font-weight: 500;
121
+ font-weight: 500;
110
- line-height: 1.2;
122
+ line-height: 1.2;
111
- border-bottom: 1px solid #495057;
123
+ border-bottom: 1px solid #495057;
112
- text-overflow: ellipsis;
124
+ text-overflow: ellipsis;
113
- white-space: nowrap;
125
+ white-space: nowrap;
114
- overflow: hidden;
126
+ overflow: hidden;
115
- margin-bottom: 0;
127
+ margin-bottom: 0;
116
- padding: 0;
128
+ padding: 0;
117
- }
129
+ }
118
130
 
119
131
  .repo .tags {
120
- margin-top: 0.5rem;
132
+ margin-top: 0.5rem;
121
- display: flex;
133
+ display: flex;
122
- flex-wrap: wrap;
134
+ flex-wrap: wrap;
123
- gap: 0.25rem;
135
+ gap: 0.25rem;
124
- }
136
+ }
125
137
 
126
138
  .repo .tag {
127
- color: var(--color-tag);
139
+ color: var(--color-tag);
128
- padding: 0.15rem 0.5rem 0.5rem 0rem;
140
+ padding: 0.15rem 0.5rem 0.5rem 0rem;
129
- border-radius: 0.25rem;
141
+ border-radius: 0.25rem;
130
- font-size: 0.95rem;
142
+ font-size: 0.95rem;
131
- font-weight: 500;
143
+ font-weight: 500;
132
- }
144
+ }
133
- }
134
145
 
135
- .interests {
136
146
  .interests ul {
137
- display: grid;
147
+ display: grid;
138
- gap: 0.5rem;
148
+ gap: 0.5rem;
139
- grid-template-columns: auto auto auto;
149
+ grid-template-columns: auto auto auto;
140
- text-align: center;
150
+ text-align: center;
141
- margin-top: 0.5rem;
151
+ margin-top: 0.5rem;
142
- font-size: 1.1rem;
152
+ font-size: 1.1rem;
153
+ }
143
154
 
144
155
  .interests ul li {
145
- background-color: var(--color-box-bg);
156
+ background-color: var(--color-box-bg);
146
- padding: 0.25rem;
157
+ padding: 0.25rem;
147
- }
158
+ }
148
- }
149
- }
150
159
 
151
- .contact {
152
160
  .contact ul {
153
- display: grid;
161
+ display: grid;
154
- gap: 0.5rem;
162
+ gap: 0.5rem;
155
- grid-template-columns: auto;
163
+ grid-template-columns: auto;
156
- margin-top: 0.5rem;
164
+ margin-top: 0.5rem;
165
+ }
157
166
 
158
167
  .contact ul li {
159
- display: flex;
168
+ display: flex;
160
- flex-direction: row;
169
+ flex-direction: row;
161
- align-items: baseline;
170
+ align-items: baseline;
162
- padding: 0.25rem;
171
+ padding: 0.25rem;
163
- background-color: var(--color-box-bg);
172
+ background-color: var(--color-box-bg);
164
- font-size: 1.1rem;
173
+ font-size: 1.1rem;
165
-
174
+ }
175
+
166
- @media (max-width: 720px) {
176
+ @media (max-width: 720px) {
177
+ .contact ul li {
167
- font-size: 1rem;
178
+ font-size: 1rem;
168
- flex-direction: column;
179
+ flex-direction: column;
169
- }
180
+ }
170
- }
181
+ }
171
182
 
172
183
  .contact ul a {
173
- color: var(--color-link);
184
+ color: var(--color-link);
174
- }
185
+ }
175
186
 
176
187
  .contact ul strong {
177
- font-weight: 500;
188
+ font-weight: 500;
178
- margin-left: 0.25rem;
189
+ margin-left: 0.25rem;
179
- margin-right: 0.5rem;
190
+ margin-right: 0.5rem;
180
- }
191
+ }
181
- }
182
- }
183
192
 
184
- .tools {
185
193
  .tools img {
186
- width: 36px;
194
+ width: 36px;
187
- height: 36px;
195
+ height: 36px;
188
- }
196
+ }
189
197
 
190
198
  .tools ul {
191
- display: grid;
199
+ display: grid;
192
- gap: 0.5rem;
200
+ gap: 0.5rem;
193
- grid-template-columns: auto auto auto auto;
201
+ grid-template-columns: auto auto auto auto;
194
- text-align: center;
202
+ text-align: center;
195
- margin-top: 0.5rem;
203
+ margin-top: 0.5rem;
196
-
204
+ }
205
+
197
- @media (max-width: 720px) {
206
+ @media (max-width: 720px) {
207
+ .tools ul {
198
- grid-template-columns: auto auto auto;
208
+ grid-template-columns: auto auto auto;
199
- }
209
+ }
210
+ }
200
211
 
201
212
  .tools ul li {
202
- display: flex;
213
+ display: flex;
203
- align-items: center;
214
+ align-items: center;
204
- background-color: var(--color-box-bg);
215
+ background-color: var(--color-box-bg);
205
- padding: 0.25rem;
216
+ padding: 0.25rem;
206
- font-size: 1rem;
217
+ font-size: 1rem;
218
+ }
207
219
 
208
220
  .tools ul li a {
209
- display: flex;
221
+ display: flex;
210
- flex: 1;
222
+ flex: 1;
211
- flex-direction: row;
223
+ flex-direction: row;
212
- align-items: center;
224
+ align-items: center;
213
- text-align: left;
225
+ text-align: left;
214
- margin-left: 0.25rem;
226
+ margin-left: 0.25rem;
215
- margin-right: 0.25rem;
227
+ margin-right: 0.25rem;
228
+ }
216
229
 
217
230
  .tools ul li a div {
218
- flex: 1;
231
+ flex: 1;
219
- }
232
+ }
220
- }
221
- }
222
- }
223
- }
packages/shared/ui/src/footer.tsx CHANGED
@@ -2,6 +2,7 @@ export function Footer() {
2
2
  return (
3
3
  <>
4
4
  <footer>
5
+ <div class="wrapper">
5
6
  <div class="container">
6
7
  <div class="spacer" />
7
8
  <p class="copyright-container">
@@ -11,6 +12,7 @@ export function Footer() {
11
12
  </a>
12
13
  </p>
13
14
  </div>
15
+ </div>
14
16
  </footer>
15
17
  <div class="safe-area" />
16
18
  </>
packages/shared/ui/src/header.tsx CHANGED
@@ -10,6 +10,7 @@ export function Header({ currentPath }: HeaderProps) {
10
10
  <>
11
11
  <div class="safe-area" />
12
12
  <header>
13
+ <div class="wrapper">
13
14
  <nav>
14
15
  <a href="/" class={`logo${currentPath === "/" ? " active" : ""}`}>
15
16
  木 pyrossh
@@ -36,6 +37,7 @@ export function Header({ currentPath }: HeaderProps) {
36
37
  ))}
37
38
  </div>
38
39
  </nav>
40
+ </div>
39
41
  </header>
40
42
  </>
41
43
  );
packages/workers/assets/src/index.ts CHANGED
@@ -13,229 +13,217 @@ table { border-collapse: collapse; }
13
13
  navigation: auto; /* enabled! */
14
14
  }
15
15
  :root {
16
- --color-black: light-dark(hsl(0, 0%, 0%), hsl(0, 0%, 0%));
16
+ --color-black: light-dark(hsl(0, 0%, 0%), hsl(0, 0%, 0%));
17
- --color-white: light-dark(hsl(0, 0%, 100%), hsl(0, 0%, 100%));
17
+ --color-white: light-dark(hsl(0, 0%, 100%), hsl(0, 0%, 100%));
18
- --color-accent: hsl(57.25deg 100% 70%);
18
+ --color-accent: hsl(57.25deg 100% 70%);
19
- --color-body-bg: light-dark(hsl(0, 0%, 100%), hsl(210, 13%, 15%));
19
+ --color-body-bg: light-dark(hsl(0, 0%, 100%), hsl(210, 13%, 15%));
20
- --color-box-bg: light-dark(hsl(0, 0%, 95%), hsl(210, 13%, 9%));
20
+ --color-box-bg: light-dark(hsl(0, 0%, 95%), hsl(210, 13%, 9%));
21
- --color-text: light-dark(hsl(0, 0%, 13%), hsl(210, 17%, 98%));
21
+ --color-text: light-dark(hsl(0, 0%, 13%), hsl(210, 17%, 98%));
22
- --color-link: light-dark(hsl(211, 100%, 45%), hsl(211, 100%, 60%));
22
+ --color-link: light-dark(hsl(211, 100%, 45%), hsl(211, 100%, 60%));
23
- --color-post-link: light-dark(hsl(0, 0%, 0%), hsl(211, 100%, 60%));
23
+ --color-post-link: light-dark(hsl(0, 0%, 0%), hsl(211, 100%, 60%));
24
- --color-highlight-bg: light-dark(hsl(183, 80%, 88%), hsl(183, 80%, 18%));
24
+ --color-highlight-bg: light-dark(hsl(183, 80%, 88%), hsl(183, 80%, 18%));
25
- --color-code-fg: light-dark(hsl(348, 86%, 43%), hsl(348, 86%, 80%));
25
+ --color-code-fg: light-dark(hsl(348, 86%, 43%), hsl(348, 86%, 80%));
26
- --color-code-bg: light-dark(hsl(0, 0%, 95%), hsl(0, 0%, 0%));
26
+ --color-code-bg: light-dark(hsl(0, 0%, 95%), hsl(0, 0%, 0%));
27
- --color-pre-bg: light-dark(hsl(0, 0%, 95%), hsl(0, 0%, 0%));
27
+ --color-pre-bg: light-dark(hsl(0, 0%, 95%), hsl(0, 0%, 0%));
28
- --color-tag: light-dark(hsl(152, 96%, 35%), hsl(152, 96%, 44%));
28
+ --color-tag: light-dark(hsl(152, 96%, 35%), hsl(152, 96%, 44%));
29
- --btn-light: none;
29
+ --btn-light: none;
30
- --btn-dark: block;
30
+ --btn-dark: block;
31
-
31
+ }
32
+
32
- .astro-code,
33
+ :root .astro-code,
33
34
  :root .astro-code span {
34
- background: var(--color-pre-bg) !important;
35
+ background: var(--color-pre-bg) !important;
35
- }
36
+ }
36
- }
37
37
 
38
- [data-theme="dark"] {
38
+ [data-theme="dark"] {
39
- --btn-light: block;
39
+ --btn-light: block;
40
- --btn-dark: none;
40
+ --btn-dark: none;
41
+ }
41
42
 
42
43
  [data-theme="dark"] .expressive-code .frame pre {
43
- background: var(--color-pre-bg) !important;
44
+ background: var(--color-pre-bg) !important;
44
- }
45
+ }
45
- }
46
46
 
47
- [data-tooltip] {
47
+ [data-tooltip] {
48
- position: relative;
48
+ position: relative;
49
- cursor: help;
49
+ cursor: help;
50
- }
50
+ }
51
51
 
52
- [data-tooltip]::after {
52
+ [data-tooltip]::after {
53
- position: absolute;
53
+ position: absolute;
54
- opacity: 0;
54
+ opacity: 0;
55
- pointer-events: none;
55
+ pointer-events: none;
56
- content: attr(data-tooltip);
56
+ content: attr(data-tooltip);
57
- left: 0;
57
+ left: 0;
58
- top: calc(100% + 10px);
58
+ top: calc(100% + 10px);
59
- border-radius: 3px;
59
+ border-radius: 3px;
60
- box-shadow: 0 0 1px 1px var(--color-text);
60
+ box-shadow: 0 0 1px 1px var(--color-text);
61
- background-color: var(--color-box-bg);
61
+ background-color: var(--color-box-bg);
62
- z-index: 10;
62
+ z-index: 10;
63
- padding: 8px;
63
+ padding: 8px;
64
- width: 300px;
64
+ width: 300px;
65
- transform: translateY(-20px);
65
+ transform: translateY(-20px);
66
- transition: all 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
66
+ transition: all 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
67
- }
67
+ }
68
68
 
69
- [data-tooltip]:hover::after {
69
+ [data-tooltip]:hover::after {
70
- opacity: 1;
70
+ opacity: 1;
71
- transform: translateY(0);
71
+ transform: translateY(0);
72
- transition-duration: 300ms;
72
+ transition-duration: 300ms;
73
- }
73
+ }
74
74
 
75
- body {
75
+ body {
76
- display: flex;
76
+ display: flex;
77
- flex-direction: column;
77
+ flex-direction: column;
78
- flex: 1;
78
+ flex: 1;
79
- background-color: var(--color-body-bg);
79
+ background-color: var(--color-body-bg);
80
- color: var(--color-text);
80
+ color: var(--color-text);
81
- font-family: system-ui;
81
+ font-family: system-ui;
82
- text-rendering: optimizeLegibility;
82
+ text-rendering: optimizeLegibility;
83
- font-variant-ligatures: common-ligatures;
83
+ font-variant-ligatures: common-ligatures;
84
- font-kerning: normal;
84
+ font-kerning: normal;
85
- font-size: 1.25rem;
85
+ font-size: 1.25rem;
86
- line-height: 1.5;
86
+ line-height: 1.5;
87
- min-height: 100vh;
87
+ min-height: 100vh;
88
+ }
88
89
 
89
- @media (max-width: 720px) {
90
+ @media (max-width: 720px) {
91
+ body {
90
- font-size: 1.1rem;
92
+ font-size: 1.1rem;
91
- }
92
93
  }
94
+ }
93
95
 
94
- main {
96
+ main {
95
- margin-top: 1rem;
97
+ margin-top: 1rem;
96
- margin-bottom: 1rem;
98
+ margin-bottom: 1rem;
97
- padding-bottom: 1em;
99
+ padding-bottom: 1em;
98
- }
100
+ }
99
101
 
100
- header {
102
+ header {
101
- background: #131618;
103
+ background: #131618;
102
- }
104
+ }
103
105
 
104
- .safe-area {
106
+ .safe-area {
105
- background: #131618;
107
+ background: #131618;
106
- position: sticky;
108
+ position: sticky;
107
- top: 0;
109
+ top: 0;
108
- padding-top: env(safe-area-inset-top);
110
+ padding-top: env(safe-area-inset-top);
109
- }
111
+ }
110
112
 
111
- .logo {
113
+ .logo {
112
- display: flex;
114
+ display: flex;
113
- font-size: 22px;
115
+ font-size: 22px;
114
- line-height: 56px;
116
+ line-height: 56px;
115
- font-weight: 400;
117
+ font-weight: 400;
116
- margin-bottom: 0;
118
+ margin-bottom: 0;
117
- float: left;
119
+ float: left;
118
- color: var(--color-accent);
120
+ color: var(--color-accent);
119
- margin-right: 8px;
121
+ margin-right: 8px;
122
+ }
120
123
 
121
- &.active,
124
+ .logo.active,
122
125
  .logo:hover {
123
- color: var(--color-accent);
126
+ color: var(--color-accent);
124
- text-decoration: underline;
127
+ text-decoration: underline;
125
- text-decoration-color: var(--color-accent);
128
+ text-decoration-color: var(--color-accent);
126
- text-underline-offset: 8px;
129
+ text-underline-offset: 8px;
127
- }
130
+ }
128
- }
129
131
 
130
- .links {
132
+ .links {
131
- display: flex;
133
+ display: flex;
132
- flex-direction: row;
134
+ flex-direction: row;
133
- float: right;
135
+ float: right;
134
- font-size: 1.4rem;
136
+ font-size: 1.4rem;
135
- line-height: 56px;
137
+ line-height: 56px;
136
- color: white;
138
+ color: white;
139
+ }
137
140
 
138
141
  .links #astro-color-scheme-switch {
139
- display: flex;
142
+ display: flex;
140
- align-items: center;
143
+ align-items: center;
141
- font-size: 1.3rem;
144
+ font-size: 1.3rem;
145
+ }
142
146
 
143
147
  .links #astro-color-scheme-switch button {
144
- padding-right: 12px;
148
+ padding-right: 12px;
145
- cursor: pointer;
149
+ cursor: pointer;
146
- margin-bottom: -2px;
150
+ margin-bottom: -2px;
147
- }
151
+ }
148
- }
149
152
 
150
153
  .links a {
151
- display: inline-block;
154
+ display: inline-block;
152
- text-decoration: none;
155
+ text-decoration: none;
153
- font-size: 22px;
156
+ font-size: 22px;
154
- line-height: 56px;
157
+ line-height: 56px;
155
- color: white;
158
+ color: white;
156
- font-weight: 400;
159
+ font-weight: 400;
157
- padding-left: 12px;
160
+ padding-left: 12px;
158
- padding-right: 12px;
161
+ padding-right: 12px;
162
+ }
159
163
 
160
164
  .links a:last-child {
161
- padding-right: 0px;
165
+ padding-right: 0px;
162
- }
166
+ }
163
167
 
164
- &.active,
168
+ .links a.active,
165
169
  .links a:hover {
166
- color: var(--color-gray-200);
170
+ color: var(--color-gray-200);
167
- text-decoration: underline;
171
+ text-decoration: underline;
168
- text-decoration-color: var(--color-accent);
172
+ text-decoration-color: var(--color-accent);
169
- text-underline-offset: 8px;
173
+ text-underline-offset: 8px;
170
- }
174
+ }
171
- }
172
- }
173
175
 
174
- footer {
176
+ footer {
175
- background: #131618;
177
+ background: #131618;
176
- }
178
+ }
177
179
 
178
- .safe-area {
180
+ .safe-area {
179
- background: #131618;
181
+ background: #131618;
180
- position: sticky;
182
+ position: sticky;
181
- bottom: 0;
183
+ bottom: 0;
182
- padding-bottom: env(safe-area-inset-bottom);
184
+ padding-bottom: env(safe-area-inset-bottom);
183
- }
185
+ }
184
186
 
185
- .container {
187
+ .container {
186
- display: flex;
188
+ display: flex;
187
- flex-direction: row;
189
+ flex-direction: row;
188
- flex: 1;
190
+ flex: 1;
189
- padding: 16px 0px;
191
+ padding: 16px 0px;
190
- }
192
+ }
191
193
 
192
- .spacer {
194
+ .spacer {
193
- flex: 1;
195
+ flex: 1;
194
- }
196
+ }
195
197
 
196
- .copyright-container {
198
+ .copyright-container {
197
- display: flex;
199
+ display: flex;
198
- align-items: center;
200
+ align-items: center;
199
- justify-content: center;
201
+ justify-content: center;
200
- margin-left: 0.5rem;
202
+ margin-left: 0.5rem;
201
- margin-right: 0.5rem;
203
+ margin-right: 0.5rem;
202
- color: var(--color-white);
204
+ color: var(--color-white);
203
- font-size: 1rem;
205
+ font-size: 1rem;
204
- }
206
+ }
205
207
 
206
- .link {
208
+ .link {
207
- font-size: 1rem;
209
+ font-size: 1rem;
208
- line-height: 1.5rem;
210
+ line-height: 1.5rem;
209
- margin-left: 0.5rem;
211
+ margin-left: 0.5rem;
210
- color: var(--color-white);
212
+ color: var(--color-white);
211
- font-weight: 500;
213
+ font-weight: 500;
212
- text-underline-offset: 2px;
214
+ text-underline-offset: 2px;
213
- text-decoration-thickness: 2px;
215
+ text-decoration-thickness: 2px;
214
- text-decoration-line: underline;
216
+ text-decoration-line: underline;
215
- text-decoration-color: white;
217
+ text-decoration-color: white;
218
+ }
216
219
 
217
220
  .link:hover {
218
- color: var(--color-gray-200);
221
+ color: var(--color-gray-200);
219
- text-decoration-color: var(--color-gray-200);
222
+ text-decoration-color: var(--color-gray-200);
220
- }
223
+ }
221
- }
222
-
223
- div {
224
- flex: 1;
225
- width: min(70ch, 100% - 4rem); /* To make the website more readable */
226
- margin-right: auto;
227
- margin-left: auto;
228
- padding-left: 1em;
229
- padding-right: 1em;
230
- }
231
-
232
- @media (max-width: 720px) {
233
- div {
234
- width: 100%;
235
- }
236
- }
237
224
 
238
225
  @media (prefers-color-scheme: dark) { :root { color-scheme: dark; } }
226
+
239
227
  [data-theme="dark"] {
240
228
  --color-body-bg: hsl(210, 13%, 15%);
241
229
  --color-box-bg: hsl(210, 13%, 9%);
@@ -251,235 +239,255 @@ table { border-collapse: collapse; }
251
239
  --btn-dark: none;
252
240
  color-scheme: dark;
253
241
  }
242
+
254
243
  .wrapper {
244
+ flex: 1;
255
- max-width: min(70ch, 100% - 4rem);
245
+ width: min(70ch, 100% - 4rem);
246
+ margin-right: auto;
256
- margin: 0 auto;
247
+ margin-left: auto;
248
+ padding-left: 1em;
249
+ padding-right: 1em;
257
250
  }
258
251
 
252
+ @media (max-width: 720px) {
253
+ .wrapper {
254
+ width: 100%;
255
+ }
256
+ }
259
257
  `, type: "text/css" },
260
- "css/workers/home.css": { data: ` .description {
258
+ "css/workers/home.css": { data: `.description {
261
- font-size: 1.1rem;
259
+ font-size: 1.1rem;
260
+ }
261
+
262
- @media (max-width: 720px) {
262
+ @media (max-width: 720px) {
263
+ .description {
263
- font-size: 1rem;
264
+ font-size: 1rem;
264
- }
265
265
  }
266
+ }
266
267
 
268
+ h2 {
269
+ font-size: 1.4rem;
270
+ font-weight: 600;
271
+ }
272
+
273
+ @media (max-width: 720px) {
267
274
  h2 {
268
- font-size: 1.4rem;
269
- font-weight: 600;
270
- @media (max-width: 720px) {
271
- font-size: 1.15rem;
275
+ font-size: 1.15rem;
272
- }
273
276
  }
277
+ }
274
278
 
279
+ section {
280
+ display: flex;
281
+ flex-direction: column;
282
+ margin-top: 1.5rem;
283
+ margin-bottom: 1rem;
284
+ }
285
+
286
+ @media (max-width: 720px) {
275
287
  section {
276
- display: flex;
277
- flex-direction: column;
278
288
  margin-top: 1.5rem;
279
- margin-bottom: 1rem;
280
-
281
- @media (max-width: 720px) {
282
- margin-top: 1.5rem;
283
- margin-bottom: 0rem;
289
+ margin-bottom: 0rem;
284
- }
285
290
  }
291
+ }
286
292
 
287
- .rounded-md {
293
+ .rounded-md {
288
- border-radius: 0.375rem;
294
+ border-radius: 0.375rem;
289
- }
295
+ }
296
+
297
+ .repos {
298
+ display: grid;
299
+ grid-template-columns: auto auto;
300
+ gap: 1rem;
301
+ margin-top: 0.5rem;
302
+ }
290
303
 
304
+ @media (max-width: 720px) {
291
305
  .repos {
292
- display: grid;
293
- grid-template-columns: auto auto;
294
306
  gap: 1rem;
295
- margin-top: 0.5rem;
296
-
297
- @media (max-width: 720px) {
298
- gap: 1rem;
299
- grid-template-columns: auto;
307
+ grid-template-columns: auto;
300
- }
301
308
  }
309
+ }
302
310
 
303
- .pageContainer {
311
+ .pageContainer {
304
- margin-left: auto;
312
+ margin-left: auto;
305
- margin-right: auto;
313
+ margin-right: auto;
306
- margin-bottom: 2.5rem;
314
+ margin-bottom: 2.5rem;
307
- /* mb-10 */
308
- }
315
+ }
309
316
 
317
+ .title {
318
+ font-size: 1.875rem;
319
+ line-height: 2.25rem;
320
+ font-weight: 700;
321
+ margin-bottom: 1rem;
322
+ }
323
+
324
+ @media (max-width: 720px) {
310
325
  .title {
311
- font-size: 1.875rem;
312
- line-height: 2.25rem;
313
- font-weight: 700;
314
- margin-bottom: 1rem;
315
- @media (max-width: 720px) {
316
- font-size: 1.6rem;
326
+ font-size: 1.6rem;
317
- }
318
327
  }
328
+ }
319
329
 
320
- .firstSection {
330
+ .firstSection {
321
- display: flex;
331
+ display: flex;
322
- flex-direction: column;
332
+ flex-direction: column;
323
- }
333
+ }
324
334
 
325
- .firstPara {
335
+ .firstPara {
326
- display: flex;
336
+ display: flex;
327
- flex-direction: row;
337
+ flex-direction: row;
328
- }
338
+ }
329
339
 
330
- .linkUnderline {
340
+ .linkUnderline {
331
- text-decoration-line: underline;
341
+ text-decoration-line: underline;
332
- }
342
+ }
333
343
 
334
- .gridContainer {
344
+ .gridContainer {
335
- display: grid;
345
+ display: grid;
336
- grid-template-columns: repeat(1, minmax(0, 1fr));
346
+ grid-template-columns: repeat(1, minmax(0, 1fr));
337
- gap: 1rem;
347
+ gap: 1rem;
348
+ }
338
349
 
339
- @media (max-width: 720px) {
350
+ @media (max-width: 720px) {
351
+ .gridContainer {
340
- gap: 0rem;
352
+ gap: 0rem;
341
- }
342
353
  }
354
+ }
343
355
 
344
- @media (min-width: 640px) {
356
+ @media (min-width: 640px) {
345
- /* sm: */
346
- .gridContainer {
357
+ .gridContainer {
347
- grid-template-columns: repeat(2, minmax(0, 1fr));
358
+ grid-template-columns: repeat(2, minmax(0, 1fr));
348
- /* sm:grid-cols-2 */
349
- gap: 2rem;
359
+ gap: 2rem;
350
- /* sm:gap-8 */
351
- }
352
360
  }
361
+ }
353
362
 
354
- .repo {
363
+ .repo {
355
- text-overflow: ellipsis;
364
+ text-overflow: ellipsis;
356
- overflow: hidden;
365
+ overflow: hidden;
357
- padding: 0.5rem;
366
+ padding: 0.5rem;
358
- background: var(--color-box-bg);
367
+ background: var(--color-box-bg);
359
- color: var(--color-text);
368
+ color: var(--color-text);
360
- font-size: 0.95rem;
369
+ font-size: 0.95rem;
370
+ }
361
371
 
362
372
  .repo a {
363
- color: var(--color-link);
373
+ color: var(--color-link);
364
- }
374
+ }
365
375
 
366
376
  .repo h4 {
367
- font-size: 1.05rem;
377
+ font-size: 1.05rem;
368
- font-weight: 500;
378
+ font-weight: 500;
369
- line-height: 1.2;
379
+ line-height: 1.2;
370
- border-bottom: 1px solid #495057;
380
+ border-bottom: 1px solid #495057;
371
- text-overflow: ellipsis;
381
+ text-overflow: ellipsis;
372
- white-space: nowrap;
382
+ white-space: nowrap;
373
- overflow: hidden;
383
+ overflow: hidden;
374
- margin-bottom: 0;
384
+ margin-bottom: 0;
375
- padding: 0;
385
+ padding: 0;
376
- }
386
+ }
377
387
 
378
388
  .repo .tags {
379
- margin-top: 0.5rem;
389
+ margin-top: 0.5rem;
380
- display: flex;
390
+ display: flex;
381
- flex-wrap: wrap;
391
+ flex-wrap: wrap;
382
- gap: 0.25rem;
392
+ gap: 0.25rem;
383
- }
393
+ }
384
394
 
385
395
  .repo .tag {
386
- color: var(--color-tag);
396
+ color: var(--color-tag);
387
- padding: 0.15rem 0.5rem 0.5rem 0rem;
397
+ padding: 0.15rem 0.5rem 0.5rem 0rem;
388
- border-radius: 0.25rem;
398
+ border-radius: 0.25rem;
389
- font-size: 0.95rem;
399
+ font-size: 0.95rem;
390
- font-weight: 500;
400
+ font-weight: 500;
391
- }
401
+ }
392
- }
393
402
 
394
- .interests {
395
403
  .interests ul {
396
- display: grid;
404
+ display: grid;
397
- gap: 0.5rem;
405
+ gap: 0.5rem;
398
- grid-template-columns: auto auto auto;
406
+ grid-template-columns: auto auto auto;
399
- text-align: center;
407
+ text-align: center;
400
- margin-top: 0.5rem;
408
+ margin-top: 0.5rem;
401
- font-size: 1.1rem;
409
+ font-size: 1.1rem;
410
+ }
402
411
 
403
412
  .interests ul li {
404
- background-color: var(--color-box-bg);
413
+ background-color: var(--color-box-bg);
405
- padding: 0.25rem;
414
+ padding: 0.25rem;
406
- }
415
+ }
407
- }
408
- }
409
416
 
410
- .contact {
411
417
  .contact ul {
412
- display: grid;
418
+ display: grid;
413
- gap: 0.5rem;
419
+ gap: 0.5rem;
414
- grid-template-columns: auto;
420
+ grid-template-columns: auto;
415
- margin-top: 0.5rem;
421
+ margin-top: 0.5rem;
422
+ }
416
423
 
417
424
  .contact ul li {
418
- display: flex;
425
+ display: flex;
419
- flex-direction: row;
426
+ flex-direction: row;
420
- align-items: baseline;
427
+ align-items: baseline;
421
- padding: 0.25rem;
428
+ padding: 0.25rem;
422
- background-color: var(--color-box-bg);
429
+ background-color: var(--color-box-bg);
423
- font-size: 1.1rem;
430
+ font-size: 1.1rem;
431
+ }
424
432
 
425
- @media (max-width: 720px) {
433
+ @media (max-width: 720px) {
434
+ .contact ul li {
426
- font-size: 1rem;
435
+ font-size: 1rem;
427
- flex-direction: column;
436
+ flex-direction: column;
428
- }
437
+ }
429
- }
438
+ }
430
439
 
431
440
  .contact ul a {
432
- color: var(--color-link);
441
+ color: var(--color-link);
433
- }
442
+ }
434
443
 
435
444
  .contact ul strong {
436
- font-weight: 500;
445
+ font-weight: 500;
437
- margin-left: 0.25rem;
446
+ margin-left: 0.25rem;
438
- margin-right: 0.5rem;
447
+ margin-right: 0.5rem;
439
- }
448
+ }
440
- }
441
- }
442
449
 
443
- .tools {
444
450
  .tools img {
445
- width: 36px;
451
+ width: 36px;
446
- height: 36px;
452
+ height: 36px;
447
- }
453
+ }
448
454
 
449
455
  .tools ul {
450
- display: grid;
456
+ display: grid;
451
- gap: 0.5rem;
457
+ gap: 0.5rem;
452
- grid-template-columns: auto auto auto auto;
458
+ grid-template-columns: auto auto auto auto;
453
- text-align: center;
459
+ text-align: center;
454
- margin-top: 0.5rem;
460
+ margin-top: 0.5rem;
461
+ }
455
462
 
456
- @media (max-width: 720px) {
463
+ @media (max-width: 720px) {
464
+ .tools ul {
457
- grid-template-columns: auto auto auto;
465
+ grid-template-columns: auto auto auto;
458
- }
466
+ }
467
+ }
459
468
 
460
469
  .tools ul li {
461
- display: flex;
470
+ display: flex;
462
- align-items: center;
471
+ align-items: center;
463
- background-color: var(--color-box-bg);
472
+ background-color: var(--color-box-bg);
464
- padding: 0.25rem;
473
+ padding: 0.25rem;
465
- font-size: 1rem;
474
+ font-size: 1rem;
475
+ }
466
476
 
467
477
  .tools ul li a {
468
- display: flex;
478
+ display: flex;
469
- flex: 1;
479
+ flex: 1;
470
- flex-direction: row;
480
+ flex-direction: row;
471
- align-items: center;
481
+ align-items: center;
472
- text-align: left;
482
+ text-align: left;
473
- margin-left: 0.25rem;
483
+ margin-left: 0.25rem;
474
- margin-right: 0.25rem;
484
+ margin-right: 0.25rem;
485
+ }
475
486
 
476
487
  .tools ul li a div {
477
- flex: 1;
488
+ flex: 1;
478
- }
489
+ }
479
- }
480
- }
481
- }
482
- }`, type: "text/css" },
490
+ `, type: "text/css" },
483
491
  "css/workers/cv.css": { data: ` h1 {
484
492
  display: flex;
485
493
  align-items: flex-start;