summaryrefslogtreecommitdiffstats
path: root/src/_base.scss
blob: aecf6af8e6cd8b6a7d1999561ee03b8e1c1927b3 (plain) (blame)
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
142
143
144
145
@use 'sass:math';
@use 'iro-sass/src/index' as iro;
@use 'functions' as fn;
@use 'mixins' as mx;
@use 'config';

html {
    scrollbar-color: fn.color(--text-disabled) transparent;
    accent-color:    fn.color(--accent --600);
}

html,
body {
    block-size: 100%;
}

body {
    @include mx.set-font(--standard, (--size: fn.dim(--font-size --100)));

    margin:           0;
    padding:          0;
    background-color: fn.color(--bg-base);
    color:            fn.color(--text);
}

pre,
code {
    font-feature-settings: 'calt' 0, 'dlig' 1, 'ss09' 1;
}

pre,
code {
    @include mx.set-font(--mono, (--size: .93em));
}

pre {
    margin:     0;
    overflow-x: auto;

    code {
        color:     currentColor;
        font-size: 1em;
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    @include mx.heading-medium(--md);

    margin-block: fn.dim(--heading --margin-bs) 0;

    & + & {
        margin-block-start: fn.dim(--heading --margin-bs-sibling);
    }
}

p {
    margin-block: fn.dim(--paragraph --margin-bs) 0;

    &:empty {
        display: none;
    }
}

strong {
    font-weight: bold;
}

small {
    font-size: fn.dim(--font-size --75);
}

ul,
ol {
    margin:     0;
    padding:    0;
    list-style: none;
}

li {
    margin:  0;
    padding: 0;
}

:focus,
:focus-visible {
    outline: 0;
}

:link,
:visited {
    color:           currentColor;
    text-decoration: none;
}


button,
input,
textarea {
    box-sizing:     content-box;
    margin:         0;
    padding:        0;
    border:         0;
    background:     none;
    color:          currentColor;
    font-family:    inherit;
    font-size:      1em;
    font-style:     inherit;
    font-weight:    inherit;
    line-height:    inherit;
    text-align:     inherit;
    text-transform: inherit;
    appearance:     none;

    &::-moz-focus-inner {
        border: 0;
    }
}

input,
textarea {
    &::placeholder {
        opacity: 1;
        color:   fn.color(--text-mute);
    }

    &:disabled {
        color: fn.color(--text-disabled);
    }
}

textarea {
    block-size: calc(1em * fn.dim(--font --standard --line-height));
}

hr {
    block-size:       fn.dim(--border --thin);
    margin-block:     calc(.5 * (fn.dim(--heading --margin-bs) + fn.dim(--paragraph --margin-bs))) 0;
    border:           0;
    background-color: fn.color(--border);
}