forks/sorcery

git clone https://git.gae.moe/forks/sorcery

Charlotte Somsort repos in catalog by author date of tip commit of HEADe759987

typst_support
19.8 KiB751 linesraw
1@font-face {
2  font-family: "InterVariable";
3  src: local("Inter Variable"), local("InterVariable"), url("/fonts/inter/InterVariable.woff2") format("woff2");
4  font-weight: 100 900;
5  font-style: normal;
6  font-display: swap;
7}
8@font-face {
9  font-family: "InterVariable";
10  src: local("Inter Variable Italic"), local("InterVariableItalic"), url("/fonts/inter/InterVariable-Italic.woff2") format("woff2");
11  font-weight: 100 900;
12  font-style: italic;
13  font-display: swap;
14}
15@supports (font-variation-settings: normal) {
16  @font-face {
17    font-family: "iocgnMonoVariable";
18    src: url("/fonts/iocgnMono/iocgnMono-Variable.woff2") format("woff2");
19    font-weight: 200 800;
20    font-style: normal;
21    font-display: swap;
22  }
23}
24
25@font-face {
26  font-family: "iocgnMono";
27  src: url("/fonts/iocgnMono/iocgnMono-Regular.woff2") format("woff2");
28  font-weight: 400;
29  font-style: normal;
30  font-display: swap;
31}
32
33@font-face {
34  font-family: "iocgnMono";
35  src: url("/fonts/iocgnMono/iocgnMono-Medium.woff2") format("woff2");
36  font-weight: 500;
37  font-style: normal;
38  font-display: swap;
39}
40
41@font-face {
42  font-family: "iocgnMono";
43  src: url("/fonts/iocgnMono/iocgnMono-SemiBold.woff2") format("woff2");
44  font-weight: 600;
45  font-style: normal;
46  font-display: swap;
47}
48
49@font-face {
50  font-family: "iocgnMono";
51  src: url("/fonts/iocgnMono/iocgnMono-Bold.woff2") format("woff2");
52  font-weight: 700;
53  font-style: normal;
54  font-display: swap;
55}
56
57/* palette & syntax colours lifted from char.lt */
58:root {
59  --bg-col: #100e11;
60  --bg-col-2: #181419;
61  --bg-col-3: #211a22;
62
63  --fg-col: #f3eef2;
64  --fg-col-mute: #958792;
65
66  --accent-col: #ff9df5;
67  --accent-col-mute-1: #b86caf;
68  --accent-col-mute-2: #493045;
69  --accent-col-fade-1: #ffd0fb;
70
71  --hl-comment: #9da8bb;
72  --hl-keyword: #9bedff;
73  --hl-builtin: #ff94d1;
74  --hl-string: #95ffc3;
75  --hl-ident: #d8a8ff;
76  --hl-number: var(--hl-string);
77
78  --font-mono: "iocgnMonoVariable", "iocgnMono", ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", monospace;
79}
80
81* {
82  box-sizing: border-box;
83}
84
85html {
86  color-scheme: dark;
87  font-family: "InterVariable", "Inter", sans-serif;
88  line-height: 1.5;
89  text-rendering: optimizeLegibility;
90  -webkit-text-size-adjust: 100%;
91  text-size-adjust: 100%;
92  background: var(--bg-col);
93  color: var(--fg-col);
94}
95
96body {
97  max-width: 64rem;
98  margin: 0 auto;
99  padding: 1.5rem 1.25rem 4rem;
100}
101
102::selection {
103  background-color: #6d3567;
104}
105
106/* type scale: 0.75 / 0.875 / 1 / 1.5 / 1.75rem. Ioskeley has a larger
107   x-height than Inter, so mono sits a step down to read as the same size. */
108h1 { font-size: 1.75rem; font-weight: 520; margin: 0 0 0.75em; line-height: 1.08; }
109h1:has(+ .desc) { margin-bottom: 0.25em; }
110h2 { font-size: 1.5rem; font-weight: 650; margin-top: 2rem; }
111/* repositories page: user headings sit directly on their list */
112h2:has(+ .catalog) { margin-bottom: 0; }
113h2:has(+ .catalog) > a { color: inherit; }
114h2:has(+ .catalog) > a:hover { color: var(--accent-col); }
115
116pre, code, kbd, .code, .cid, .sha, .path, table.diff, table.commit-meta td {
117  font-family: var(--font-mono);
118  font-size: 0.95rem;
119  font-weight: 500;
120}
121time { font-variant-numeric: tabular-nums; }
122
123/* chrome links are bare and signal with colour; only prose underlines */
124a { color: var(--accent-col); text-decoration: none; }
125a:hover { color: var(--accent-col-fade-1); }
126.readme a {
127  text-decoration: underline;
128  text-decoration-thickness: 1px;
129  text-underline-offset: 0.2em;
130}
131
132progress { accent-color: var(--accent-col); }
133
134noscript .callout {
135  margin: 0 0 1.5rem;
136  padding: 0.6rem 1rem;
137  background: var(--bg-col-2);
138  border: 1px solid var(--accent-col-mute-2);
139  color: var(--fg-col-mute);
140  font-size: 0.875rem;
141  
142  p { margin: 0; }
143}
144
145/* ref switcher (static only), crumbs, stats, actions;
146   its rule separates the chrome from the content below */
147.topbar {
148  display: flex;
149  flex-wrap: wrap;
150  gap: 0.75rem;
151  align-items: center;
152  margin: 0 0 1.5rem;
153  padding: 0 0 0.75rem;
154  border-bottom: 1px solid var(--accent-col-mute-2);
155  font-size: 0.875rem;
156}
157.topbar:has(+ .languages) { margin-bottom: 0; border-bottom: none; }
158.topbar nav.crumbs { margin: 0; white-space: nowrap; overflow-x: auto; }
159.topbar > .actions {
160  display: flex;
161  gap: 0.75rem;
162  margin-left: auto;
163  white-space: nowrap;
164}
165.topbar > .actions:empty { display: none; }
166
167a.back {
168  display: inline-block;
169  margin-bottom: 0.75rem;
170  color: var(--fg-col-mute);
171}
172a.back:hover { color: var(--accent-col); }
173
174details.switcher { position: relative; }
175details.switcher > summary {
176  list-style: none;
177  cursor: pointer;
178  background: var(--bg-col-2);
179  border: 1px solid var(--accent-col-mute-2);
180  padding: 0.2em 0.75em;
181  font-weight: 650;
182}
183details.switcher > summary::-webkit-details-marker { display: none; }
184details.switcher > summary::after { content: " ▾"; color: var(--fg-col-mute); }
185details.switcher[open] > summary { background: var(--bg-col-3); }
186details.switcher > .menu {
187  position: absolute;
188  z-index: 1;
189  top: calc(100% + 0.25rem);
190  left: 0;
191  min-width: 14rem;
192  max-height: 60vh;
193  overflow-y: auto;
194  background: var(--bg-col-2);
195  border: 1px solid var(--accent-col-mute-2);
196  padding: 0.4rem 0;
197  display: flex;
198  flex-direction: column;
199}
200details.switcher > .menu strong {
201  padding: 0.3rem 0.75rem 0.1rem;
202  color: var(--fg-col-mute);
203  font-size: 0.75rem;
204  text-transform: uppercase;
205  letter-spacing: 0.05em;
206}
207details.switcher > .menu a {
208  padding: 0.15rem 0.75rem;
209  color: var(--fg-col);
210  white-space: nowrap;
211}
212details.switcher > .menu a:hover { background: var(--accent-col-mute-2); }
213details.switcher > .menu a.current { color: var(--accent-col); font-weight: 650; }
214details.switcher > .menu a.all { color: var(--fg-col-mute); margin-top: 0.25rem; }
215
216nav.crumbs { color: var(--fg-col-mute); }
217nav.crumbs .cur { color: var(--fg-col); }
218
219.view-stats {
220  display: inline-flex;
221  align-items: center;
222  gap: 0.75rem;
223  color: var(--fg-col-mute);
224  white-space: nowrap;
225}
226.snapshot-commit {
227  display: flex;
228  align-items: baseline;
229  flex-wrap: wrap;
230  gap: 0.4rem;
231  margin: 0 0 0.75rem;
232  color: var(--fg-col-mute);
233  font-size: 0.875rem;
234}
235.view-stats > span + span::before {
236  content: "";
237  width: 3px;
238  height: 3px;
239  border: 1.5px solid var(--fg-col-mute);
240  border-radius: 50%;
241  background: var(--fg-col-mute);
242}
243.view-stats > span {
244  display: inline-flex;
245  align-items: center;
246  gap: 0.75rem;
247}
248.snapshot-commit .commit-message { color: var(--fg-col); }
249.snapshot-commit a.commit-message:hover { color: var(--accent-col); }
250.snapshot-sha {
251  margin-left: auto;
252  padding: 0.1em 0.55em;
253  background: var(--bg-col-2);
254  color: var(--fg-col-mute);
255}
256a.snapshot-sha:hover { color: var(--accent-col); }
257.history-status { min-height: 1.3rem; margin-top: 0; }
258.history-log { margin-top: 0.25rem; }
259.history-log .deleted { color: var(--hl-builtin); }
260@media (max-width: 760px) {
261  .snapshot-sha { margin-left: 0; }
262}
263.meta {
264  display: flex;
265  align-items: center;
266  gap: 0.75rem;
267  color: var(--fg-col-mute);
268  font-size: 0.875rem;
269}
270
271/* Small circle separators between adjacent segments, as tangled. The
272   segments are inline-flex so the dot centres geometrically against the
273   text; vertical-align can't do this portably. */
274.meta > span,
275.who > * {
276  display: inline-flex;
277  align-items: center;
278}
279.meta > span + span::before,
280.who > * + *::before,
281nav.crumbs > .label::before {
282  content: "";
283  width: 3px;
284  height: 3px;
285  border: 1.5px solid var(--fg-col-mute);
286  border-radius: 50%;
287  background: var(--fg-col-mute);
288  margin-right: 0.75rem;
289}
290nav.crumbs > .label::before {
291  display: inline-block;
292  vertical-align: middle;
293  margin: 0 0.75rem;
294}
295.desc { color: var(--fg-col-mute); margin: 0; }
296
297/* repo header: name and description beside the clone command, which is
298   read once and shouldn't outweigh them */
299header.repo {
300  display: grid;
301  grid-template-columns: minmax(50%, 1fr) auto;
302  gap: 1rem 2rem;
303  align-items: center;
304  margin: 0 0 1.5rem;
305}
306@media (max-width: 760px) {
307  header.repo { grid-template-columns: 1fr; }
308}
309
310/* root pages: file listing beside the recent-commits log */
311/* columns stretch to the row height so the divider spans it fully */
312.overview {
313  display: grid;
314  grid-template-columns: repeat(2, minmax(0, 1fr));
315}
316/* structural boundary: stronger than the per-row rules, like .readme's */
317.overview > .files {
318  padding-right: 1.25rem;
319  border-right: 1px solid var(--accent-col-mute-1);
320}
321.overview > .commits {
322  padding-left: 1.25rem;
323}
324@media (max-width: 920px) {
325  .overview { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
326  .overview > .files { padding-right: 0; border-right: 0; }
327  .overview > .commits { padding-left: 0; }
328}
329
330/* the overview owns its divider from a following readme, so the readme's
331   margin sits below the line rather than above it */
332.overview:has(+ .readme) {
333  padding-bottom: 1.5rem;
334  border-bottom: 1px solid var(--accent-col-mute-1);
335}
336.overview + .readme {
337  margin-top: 1.5rem;
338  border-top: 0;
339  padding-top: 0;
340}
341
342.overview h2,
343h2.file-heading {
344  margin: 0 0 0.25rem;
345  font-size: 0.875rem;
346  font-weight: 650;
347  color: var(--fg-col-mute);
348  text-align: right;
349}
350.overview h2 > a { color: inherit; }
351.overview h2 > a:hover { color: var(--accent-col); }
352ol.log { list-style: none; margin: 0; padding: 0; }
353ol.log li {
354  padding: 0.4rem 0;
355  border-top: 1px solid var(--accent-col-mute-2);
356}
357ol.log .cid { color: var(--hl-ident); }
358ol.log .sha { color: var(--fg-col-mute); }
359ol.log a:is(.cid, .sha):hover { color: var(--accent-col); }
360ol.log .msg { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
361ol.log .who {
362  float: right;
363  display: inline-flex;
364  align-items: center;
365  gap: 0.5rem;
366  color: var(--fg-col-mute);
367  font-size: 0.875rem;
368}
369ol.log .who > * + *::before { margin-right: 0.5rem; }
370/* hold ten two-line rows so paging doesn't shift the readme below */
371.overview > .commits > ol.log.paginated:not(.exhausted) {
372  min-height: calc(10 * (2lh + 0.8rem + 1px));
373}
374.log-pagination { justify-content: space-between; margin: 0.4rem 0 0; }
375button.log-page-button {
376  appearance: none;
377  border: 0;
378  padding: 0;
379  background: none;
380  color: var(--accent-col);
381  font: inherit;
382  cursor: pointer;
383}
384button.log-page-button:hover { color: var(--accent-col-fade-1); }
385button.log-page-button:disabled { color: var(--fg-col-mute); cursor: default; }
386
387.catalog {
388  margin: 0;
389  padding: 0;
390  list-style: none;
391}
392.catalog a {
393  display: grid;
394  /* fixed, not auto: each row is its own grid, and relative times vary in width */
395  grid-template-columns: minmax(10rem, 1fr) minmax(0, 4fr) 8.5rem;
396  gap: 0.75rem;
397  width: 100%;
398  padding: 0.25rem 0;
399  border-top: 1px solid var(--accent-col-mute-2);
400}
401.catalog .msg, .catalog time { color: var(--fg-col-mute); }
402.catalog time { text-align: right; white-space: nowrap; }
403.catalog a:hover { background: var(--bg-col-2); }
404.catalog a:focus-visible { outline: 1px solid var(--accent-col); outline-offset: 2px; }
405@media (max-width: 35rem) {
406  .catalog a { grid-template-columns: 1fr auto; gap: 0 0.75rem; }
407  .catalog .msg { grid-column: 1 / -1; }
408  .catalog time { grid-row: 1; grid-column: 2; }
409}
410
411table.list { border-collapse: collapse; width: 100%; }
412/* rows carry their top edge: a line under the heading, none after the last row */
413table.list td {
414  padding: 0.25rem 0.75rem 0.25rem 0;
415  border-top: 1px solid var(--accent-col-mute-2);
416}
417table.list td.size, table.list td.date {
418  color: var(--fg-col-mute);
419  text-align: right;
420  white-space: nowrap;
421  font-variant-numeric: tabular-nums;
422}
423table.list td.msg { color: var(--fg-col-mute); }
424
425/* blob view: each logical line shares a grid row with its number, so wrapped
426   source makes that row taller without displacing the following numbers */
427pre.code {
428  display: grid;
429  grid-template-columns: max-content minmax(0, 1fr);
430  margin: 0;
431  padding: 1rem 0;
432  background: var(--bg-col-2);
433  border-left: 2px solid var(--accent-col-mute-1);
434  line-height: 1.45;
435}
436.code-line { display: contents; }
437.code-break {
438  position: absolute;
439  width: 0;
440  height: 0;
441  overflow: hidden;
442}
443pre.code .ln {
444  padding-left: 0.75rem;
445  padding-right: 0.6rem;
446  text-align: right;
447  color: var(--fg-col-mute);
448  user-select: none;
449  border-right: 1px solid var(--accent-col-mute-2);
450}
451pre.code a.ln:hover { color: var(--fg-col); }
452pre.code a.ln:target { color: var(--accent-col); font-weight: 600; }
453.code-text {
454  min-width: 0;
455  min-height: 1lh;
456  padding-left: 1rem;
457  padding-right: 1rem;
458  white-space: pre-wrap;
459  overflow-wrap: anywhere;
460}
461
462.image-preview, .file-download {
463  padding: 2rem;
464  text-align: center;
465  background: var(--bg-col-2);
466  border: 1px solid var(--accent-col-mute-2);
467}
468
469.image-preview img { max-width: 100%; height: auto; }
470.file-download p { margin: 0 0 1rem; color: var(--fg-col-mute); }
471.file-download a {
472  display: inline-block;
473  padding: 0.5rem 1rem;
474  border: 1px solid var(--accent-col-mute-1);
475  font-weight: 650;
476}
477
478/* markdown blob pages: no-JS rendered/code tabs */
479.markdown-view {
480  display: grid;
481  grid-template-columns: repeat(2, max-content) 1fr;
482  gap: 0 0.25rem;
483}
484.markdown-view > input {
485  position: absolute;
486  width: 1px;
487  height: 1px;
488  opacity: 0;
489}
490.markdown-view > label {
491  cursor: pointer;
492  padding: 0.2em 0.75em;
493  border: 1px solid var(--accent-col-mute-2);
494  color: var(--fg-col-mute);
495}
496.markdown-view > input:focus-visible + label { outline: 2px solid var(--accent-col); }
497.markdown-view > input:checked + label {
498  color: var(--accent-col);
499  background: var(--bg-col-2);
500  border-color: var(--accent-col-mute-1);
501  font-weight: 650;
502}
503.markdown-view > .rendered,
504.markdown-view > .code-panel {
505  display: none;
506  grid-column: 1 / -1;
507}
508#markdown-rendered:checked ~ .rendered,
509#markdown-code:checked ~ .code-panel { display: block; }
510.markdown-view > .readme { margin-top: 1rem; }
511.markdown-view > .code-panel { margin-top: 1rem; }
512
513.readme {
514  width: 100%;
515  margin-top: 2.5rem;
516  border-top: 1px solid var(--accent-col-mute-1);
517  padding-top: 0.5rem;
518  overflow-wrap: anywhere;
519}
520/* a readme's own title sits under the page h1, so its headings step down */
521.readme h1 { font-size: 1.5rem; font-weight: 650; }
522.readme h2 { font-size: 1.25rem; }
523.readme pre {
524  background: var(--bg-col-2);
525  border-left: 2px solid var(--accent-col-mute-1);
526  padding: 1rem;
527  overflow-x: auto;
528  line-height: 1.45;
529}
530.readme code {
531  background: var(--bg-col-2);
532  padding: 0.125em 0.25em;
533  margin: 0 0.125em;
534  font-size: 0.875em;
535}
536.readme pre code { background: none; padding: 0; margin: 0; font-size: inherit; }
537.readme img { max-width: 100%; }
538.readme blockquote {
539  border-left: 2px solid var(--accent-col-mute-1);
540  margin: 1.5rem 0;
541  padding-left: 1rem;
542  color: var(--fg-col-mute);
543}
544.readme table { border-collapse: collapse; }
545.readme th, .readme td { border: 1px solid var(--accent-col-mute-2); padding: 0.25rem 0.6rem; }
546
547/* right-aligned in the header, so the accent rule sits on the outer edge */
548pre.clone {
549  margin: 0;
550  background: var(--bg-col-2);
551  border: 1px solid var(--accent-col-mute-2);
552  border-right: 2px solid var(--accent-col-mute-1);
553  padding: 0.6rem 1rem;
554  overflow-x: auto;
555}
556
557.languages { margin: 0 0 1.5rem; }
558.languages summary {
559  display: flex;
560  gap: 2px;
561  height: 0.5rem;
562  overflow: hidden;
563  cursor: pointer;
564  list-style: none;
565}
566.languages summary::-webkit-details-marker { display: none; }
567.languages summary > span:not(.language-label) { display: block; }
568.languages .language-label {
569  position: absolute;
570  width: 1px;
571  height: 1px;
572  overflow: hidden;
573  clip-path: inset(50%);
574}
575.languages ul {
576  display: flex;
577  flex-wrap: wrap;
578  gap: 0.5rem 1.25rem;
579  margin: 0;
580  padding: 0.5rem 0 0;
581  list-style: none;
582}
583.languages li { display: flex; align-items: center; gap: 0.4rem; font-size: 0.875rem; }
584.languages li i { width: 0.65rem; height: 0.65rem; border-radius: 50%; }
585.languages li small { color: var(--fg-col-mute); }
586.languages li a { color: inherit; }
587.languages li a:hover { color: var(--accent-col); }
588
589/* client-rendered commit view, laid out like tangled's commit page. the
590   subject and body read as one block; the metadata table and the diff each
591   sit a full step below */
592.commit-view .commit-subject { margin: 0.25rem 0 0; }
593.commit-view .commit-body {
594  white-space: pre-wrap;
595  font: inherit;
596  color: var(--fg-col-mute);
597  margin: 0.5rem 0 0;
598}
599
600table.commit-meta {
601  border-collapse: collapse;
602  margin-top: 1.5rem;
603  font-size: 0.875rem;
604}
605table.commit-meta th {
606  text-align: left;
607  font-weight: 400;
608  color: var(--fg-col-mute);
609  padding: 0.05rem 1.5rem 0.05rem 0;
610  vertical-align: top;
611}
612table.commit-meta td { word-break: break-all; }
613
614.add-count { color: var(--hl-string); }
615.del-count { color: var(--hl-builtin); }
616.diffstat { margin: 1.5rem 0 0; }
617
618.commit-view .status.added { color: var(--hl-string); }
619.commit-view .status.deleted { color: var(--hl-builtin); }
620.commit-view .status.modified { color: var(--fg-col-mute); }
621
622.file-diff {
623  margin-top: 0.75rem;
624  border: 1px solid var(--accent-col-mute-2);
625}
626.file-diff + .file-diff { margin-top: 1.5rem; }
627.file-diff > summary {
628  display: flex;
629  align-items: baseline;
630  gap: 0.75rem;
631  padding: 0.35rem 0.75rem;
632  background: var(--bg-col-2);
633  color: var(--fg-col-mute);
634  font-size: 0.875rem;
635  cursor: pointer;
636  list-style: none;
637}
638.file-diff > summary::-webkit-details-marker { display: none; }
639.file-diff > summary::before {
640  content: "";
641  position: relative;
642  top: -0.17rem;
643  width: 0.4rem;
644  height: 0.4rem;
645  flex: none;
646  align-self: baseline;
647  border-right: 1.5px solid currentColor;
648  border-bottom: 1.5px solid currentColor;
649  transform: rotate(45deg);
650}
651.file-diff:not([open]) > summary::before {
652  top: -0.1rem;
653  transform: rotate(-45deg);
654}
655.file-diff > summary:focus-visible { outline: 2px solid var(--accent-col); outline-offset: 2px; }
656.file-summary-content {
657  display: inline-flex;
658  align-items: baseline;
659  flex-wrap: wrap;
660  gap: 0 0.6rem;
661  flex: 1;
662  min-width: 0;
663}
664.file-summary-content .path {
665  color: var(--fg-col);
666  font-weight: 600;
667  overflow-wrap: anywhere;
668}
669.file-summary-content .file-actions {
670  display: inline-flex;
671  align-items: baseline;
672  gap: 0.6rem;
673  margin-left: auto;
674}
675.file-diff .binary-note { padding: 0.5rem 0.75rem; }
676.file-diff .generated-note { color: var(--fg-col-mute); font-style: italic; }
677
678table.diff {
679  width: 100%;
680  border-collapse: collapse;
681  border-top: 1px solid var(--accent-col-mute-2);
682  line-height: 1.5;
683}
684table.diff td { padding: 0 0.6rem; }
685table.diff td.text { white-space: pre-wrap; word-break: break-word; width: 100%; }
686table.diff td.text::before {
687  content: " ";
688  display: inline-block;
689  width: 1ch;
690  margin-right: 0.5ch;
691}
692table.diff tr.add td.text::before { content: "+"; color: var(--hl-string); }
693table.diff tr.del td.text::before { content: "-"; color: var(--hl-builtin); }
694table.diff td.ln {
695  text-align: right;
696  color: var(--fg-col-mute);
697  user-select: none;
698  white-space: nowrap;
699  min-width: 2.5rem;
700}
701table.diff tr.hunk td {
702  color: var(--fg-col-mute);
703  background: var(--bg-col-2);
704  padding-top: 0.15rem;
705  padding-bottom: 0.15rem;
706}
707table.diff tr.add { background: color-mix(in srgb, var(--hl-string) 9%, transparent); }
708table.diff tr.del { background: color-mix(in srgb, var(--hl-builtin) 9%, transparent); }
709
710/* syntax highlighting, as char.lt */
711a-c, a-cd, a-er {
712  color: var(--hl-comment);
713}
714
715a-k, a-kc, a-ko, a-kd, a-ke, a-kf, a-ki, a-kp, a-kr, a-kt, a-ky, a-km, a-dr,
716a-in, a-sc, a-rp, a-cn, a-ex, a-pp,
717a-co, a-cb, a-m,
718a-tu, a-tr {
719  color: var(--hl-keyword);
720  font-weight: 600;
721}
722
723/* builtins & types */
724a-t, a-tb, a-tq, a-tf, a-fb {
725  color: var(--hl-builtin);
726}
727
728a-s, a-ss, a-se, a-rx, a-ch, a-cs {
729  color: var(--hl-string);
730}
731
732a-n {
733  color: var(--hl-number);
734}
735
736a-f, a-fm, a-fd, a-fc, a-cr, a-ns,
737a-tg, a-td, a-at, a-pr, a-vm, a-l {
738  color: var(--hl-ident);
739}
740
741a-da { color: var(--hl-string); }
742a-dd { color: var(--hl-comment); }
743
744a-em { font-style: italic; }
745a-st, a-tt { font-weight: 600; }
746a-tx { text-decoration: line-through; }
747
748/* match the old behaviour of only colouring shell-script variables */
749.language-bash a-v, .language-shell a-v, .language-zsh a-v {
750  color: var(--hl-ident);
751}