main
css 275 lines 4.66 KB
Raw
1 .page-header,
2 .post-header {
3 margin: 24px auto var(--content-gap) auto;
4 }
5
6 .post-title {
7 font-size: var(--text-3xl);
8 line-height: var(--leading-tight);
9 }
10
11 .post-description {
12 margin-top: 10px;
13 }
14
15 .post-meta {
16 margin-top: 5px;
17 }
18
19 .post-meta,
20 .breadcrumbs {
21 color: var(--color-text-muted);
22 font-size: var(--text-sm);
23 line-height: var(--leading-normal);
24 }
25
26 .breadcrumbs {
27 display: flex;
28 flex-wrap: wrap;
29 align-items: center;
30 gap: 0.2rem;
31 }
32
33 .breadcrumbs a {
34 font-size: var(--text-base);
35 }
36
37 .breadcrumbs svg {
38 height: 1em;
39 }
40
41 .i18n_list {
42 display: inline-flex;
43 }
44
45 .post-meta .i18n_list li {
46 list-style: none;
47 margin: auto 3px;
48 }
49
50 .post-meta a,
51 .toc a:hover {
52 text-underline-offset: 0.3rem;
53 text-decoration: underline;
54 }
55
56 .post-meta a {
57 color: var(--secondary);
58 text-decoration-style: dotted;
59 }
60
61 details.toc {
62 margin-bottom: var(--content-gap);
63 background: var(--code-bg);
64 border-radius: var(--radius);
65 border: 1px solid var(--border);
66 }
67
68 [data-theme="dark"] details.toc {
69 background: var(--entry);
70 }
71
72 details.toc summary {
73 padding: 0.3rem 1.2rem;
74 border-radius: var(--radius);
75 }
76
77 details summary {
78 cursor: pointer;
79 display: list-item;
80 width: 100%;
81 margin-inline-start: 0;
82 user-select: none;
83 }
84
85 details .title {
86 display: inline;
87 font-weight: 500;
88 margin-inline-start: 0.2rem;
89 }
90
91 details {
92 interpolate-size: allow-keywords;
93 }
94
95 details::details-content {
96 height: 0;
97 opacity: 0;
98 overflow: clip;
99 transition: height 150ms ease,
100 opacity 150ms ease,
101 content-visibility 150ms allow-discrete;
102 }
103
104 details[open]::details-content {
105 height: auto;
106 opacity: 1;
107 }
108
109 details .inner {
110 margin: 0 2.4rem;
111 padding-bottom: 0.6rem;
112 }
113
114 details li ul {
115 margin-inline-start: var(--gap);
116 }
117
118 .post-content {
119 color: var(--color-text);
120 margin: var(--space-5) 0;
121 }
122
123 .post-footer {
124 margin-top: var(--content-gap);
125 }
126
127 .post-footer>* {
128 margin-bottom: 10px;
129 }
130
131 .post-tags {
132 display: flex;
133 flex-wrap: wrap;
134 gap: 10px;
135 }
136
137 .post-tags li {
138 display: inline-block;
139 }
140
141 .post-tags a,
142 .paginav {
143 border-radius: var(--radius);
144 background: var(--code-bg);
145 border: 1px solid var(--border);
146 }
147
148 .post-tags a {
149 display: block;
150 padding: 0 var(--space-3);
151 color: var(--color-text-muted);
152 font-size: var(--text-sm);
153 line-height: 34px;
154 background: var(--color-code-bg);
155 }
156
157 .post-tags a:hover,
158 .paginav a:hover {
159 background: var(--border);
160 }
161
162 .share-block {
163 display: grid;
164 gap: var(--space-2);
165 }
166
167 .share-block__label {
168 margin: 0;
169 color: var(--color-text-muted);
170 font-size: var(--text-sm);
171 font-weight: 600;
172 letter-spacing: var(--tracking-nav);
173 text-transform: uppercase;
174 }
175
176 .share-actions {
177 display: flex;
178 flex-wrap: wrap;
179 gap: var(--space-2);
180 align-items: center;
181 }
182
183 .share-buttons {
184 display: flex;
185 flex-wrap: wrap;
186 gap: var(--space-2);
187 padding: 0;
188 margin: 0;
189 }
190
191 .share-buttons li {
192 display: inline-flex;
193 }
194
195 .share-button {
196 display: inline-flex;
197 align-items: center;
198 justify-content: center;
199 min-width: calc(var(--space-5) + var(--space-2));
200 min-height: calc(var(--space-5) + var(--space-2));
201 padding: 0 var(--space-3);
202 border: var(--size-border-thin) solid var(--color-border);
203 border-radius: var(--radius-full);
204 background: var(--color-surface);
205 color: var(--color-text-muted);
206 transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
207 }
208
209 .share-button:hover,
210 .share-button:focus-visible {
211 color: var(--color-text);
212 border-color: var(--color-accent);
213 background: var(--color-accent-muted);
214 text-decoration: none;
215 }
216
217 .share-button svg {
218 width: var(--size-icon-md);
219 height: var(--size-icon-md);
220 }
221
222 .share-button--native {
223 gap: var(--space-2);
224 font-size: var(--text-sm);
225 font-weight: 600;
226 cursor: pointer;
227 }
228
229 .share-button--icon {
230 padding: 0;
231 }
232
233 .share-button--icon svg {
234 width: calc(var(--size-icon-md) + 2px);
235 height: calc(var(--size-icon-md) + 2px);
236 }
237
238 .paginav {
239 display: flex;
240 line-height: 1.2;
241 }
242
243 .paginav .title {
244 letter-spacing: 1px;
245 text-transform: uppercase;
246 font-size: var(--text-xs);
247 color: var(--secondary);
248 }
249
250 .paginav a {
251 width: 50%;
252 display: flex;
253 flex-direction: column;
254 gap: 0.5rem;
255 padding: 0.8rem;
256 border-radius: var(--radius);
257 }
258
259 .paginav span:hover:not(.title) {
260 text-underline-offset: 0.2rem;
261 text-decoration: underline;
262 }
263
264 .paginav .next {
265 margin-inline-start: auto;
266 text-align: right;
267 }
268
269 [dir="rtl"] .paginav .next {
270 text-align: left;
271 }
272
273 h1>a>svg {
274 display: inline;
275 }