aboutsummaryrefslogtreecommitdiffstats
path: root/src/styles/base/_typography.scss
blob: 11b506f3c068fbce1cd97b2a234b30914ad6c195 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
@use "../abstracts/functions" as fun;

p {
  font-size: var(--font-size-md);
  margin: 0 0 var(--spacing-sm);
}

small {
  font-size: var(--font-size-sm);
}

ol {
  list-style-type: none;
  counter-reset: li;
  padding: 0;

  > li {
    display: table;
    counter-increment: li;

    &::before {
      content: counters(li, ".") ". ";
      color: var(--color-secondary);
      display: table-cell;
      padding-right: var(--spacing-2xs);
    }
  }

  li ol > li::before {
    content: counters(li, ".") ". ";
  }
}

ul,
ol {
  li {
    margin-bottom: var(--spacing-2xs);

    &:last-child {
      margin-bottom: 0;
    }
  }

  ::marker {
    color: var(--color-primary-dark);
  }
}

ul {
  padding-left: var(--spacing-sm);
}

dl {
  display: flex;
  flex-flow: row wrap;
  gap: var(--spacing-2xs);
}

ul,
ol,
dl {
  margin: var(--spacing-sm) 0;

  & & {
    margin: var(--spacing-2xs) 0 0;
  }

  ::marker {
    color: var(--color-primary-dark);
  }
}

a {
  background: linear-gradient(to top, var(--color-primary) 50%, transparent 50%)
    0 0 / 100% 201% no-repeat;
  color: var(--color-primary);
  text-decoration-thickness: 0.15em;
  text-underline-offset: 20%;
  transition:
    all 0.3s linear 0s,
    text-decoration 0.18s ease-in-out 0s;

  &:hover {
    color: var(--color-primary-light);
    text-decoration-thickness: 0.25em;
  }

  &:focus {
    background-position: 0 100%;
    color: var(--color-fg-inverted);
  }

  &:active {
    background-position: 0 0;
    color: var(--color-primary-dark);
    text-decoration-thickness: 18%;
  }
}

button,
input,
optgroup,
select,
textarea {
  line-height: var(--line-height);
}

code,
kbd,
pre,
var {
  font-family: var(--font-family-mono);
}

:not(pre) > code,
kbd,
var,
samp {
  background: var(--color-bg-code);
  border: fun.convert-px(1) solid var(--color-border);
  border-radius: fun.convert-px(3);
  color: var(--color-primary-darker);
  font-style: normal;
  padding: fun.convert-px(2) fun.convert-px(5) fun.convert-px(1)
    fun.convert-px(5);
}

kbd {
  box-shadow: fun.convert-px(1) fun.convert-px(1) 0 fun.convert-px(1)
    var(--color-shadow);
}

pre {
  display: block;
  max-width: 100%;
  overflow: auto;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
}