1@import "tailwindcss";
2
3@import "./mocha.css";
4
5.mocha {
6 --callout-blend-mode: lighten;
7}
8
9@theme {
10 /* Remove initial variables we don't need */
11 --blur-*: initial;
12 --perspective-*: initial;
13 --drop-shadow-*: initial;
14 --shadow-*: initial;
15 --inset-shadow-*: initial;
16 --ease-*: initial;
17 --animate-*: initial;
18 --font-sans: "Inter", "ui-sans-serif", "system-ui", "sans-serif";
19 --font-serif: "IBM Plex Serif", "ui-serif", "serif";
20
21 /* Flag Colors */
22 --color-trans-blue: #5bcffa;
23 --color-trans-pink: #f5abb9;
24 --color-lesbian-orange1: #d62900;
25 --color-lesbian-orange2: #ff790d;
26 --color-lesbian-orange3: #ff9b55;
27 --color-lesbian-pink1: #d462a6;
28 --color-lesbian-pink2: #ef5496;
29 --color-lesbian-pink3: #a50062;
30}
31
32@layer components {
33 [data-editor-file] {
34 @apply transition-all rounded-md;
35 pointer-events: auto;
36 }
37 [data-editor-file]:hover {
38 @apply transition-all outline-ctp-blue outline-2 outline-offset-4
39 bg-ctp-blue/10 pl-1;
40 }
41}
42
43@utility h-entry {
44 a {
45 @apply text-ctp-blue underline;
46 }
47
48 h2 {
49 @apply text-2xl font-sans;
50 }
51
52 p {
53 @apply mb-6;
54 }
55
56 blockquote {
57 @apply border-l-2 pl-6 relative border-ctp-overlay0 italic;
58 left: -0.5rem;
59 }
60
61 div.callout-content > p {
62 @apply mb-0;
63 }
64
65 h2:has(a.header-anchor) {
66 @apply text-3xl text-ctp-mauve relative mb-8;
67 left: -1.75rem;
68 }
69
70 h3:has(a.header-anchor) {
71 @apply text-2xl text-ctp-mauve relative mb-6;
72 left: -1.75rem;
73 }
74
75 a.header-anchor::before {
76 @apply relative mr-1 inline-block;
77 font-family: "bootstrap-icons";
78 content: "\F40A";
79 top: 0.225rem;
80 }
81}
82
83@utility header-anchor {
84 @apply text-ctp-mauve!;
85}
86
87/* Disable <detail> folding on non-folding admonitions */
88@utility no-fold {
89 pointer-events: none;
90}
91
92/* Callouts/Admonitions */
93@utility callout {
94 @apply outline-1 rounded-sm py-2 pl-2 pr-4 outline-solid overflow-hidden;
95 outline-color: --alpha(var(--callout-color) / 50%);
96 margin: 1em 0;
97 mix-blend-mode: var(--callout-blend-mode);
98 background-color: --alpha(var(--callout-color) / 15%);
99
100 .callout-title {
101 @apply text-lg mb-2 flex gap-2 items-start font-semibold w-full;
102 color: rgb(var(--callout-color));
103
104 &::before {
105 @apply flex items-center text-xl leading-7 mr-1;
106 flex: 0 0 auto;
107 font-family: "bootstrap-icons";
108 content: var(--callout-icon);
109 }
110
111 .no-fold &::after {
112 content: "" !important;
113 }
114
115 &::after {
116 margin-left: auto;
117 font-family: "bootstrap-icons";
118 background-color: rgb(var(--callout-color));
119 content: "\F285";
120 }
121
122 [open] &::after {
123 margin-left: auto;
124 font-family: "bootstrap-icons";
125 background-color: rgb(var(--callout-color));
126 content: "\F282";
127 }
128 }
129
130 .callout-content {
131 @apply overflow-x-auto pl-2;
132
133 [data-editor-file]:hover {
134 @apply relative top-2 mr-2;
135 }
136 }
137 &[data-callout="note"] {
138 --callout-color: var(--color-ctp-blue);
139 --callout-icon: "\F4CB";
140 }
141
142 &[data-callout="todo"] {
143 --callout-color: var(--color-ctp-blue);
144 --callout-icon: "\F26B";
145 }
146
147 &[data-callout="info"] {
148 --callout-color: var(--color-ctp-blue-700);
149 --callout-icon: "\F431";
150 }
151
152 &[data-callout="success"],
153 &[data-callout="check"],
154 &[data-callout="done"] {
155 --callout-color: var(--color-ctp-green);
156 --callout-icon: "\F272";
157 }
158
159 &[data-callout="warning"],
160 &[data-callout="caution"],
161 &[data-callout="attention"] {
162 --callout-color: var(--color-ctp-yellow);
163 --callout-icon: "\F33B";
164 }
165
166 &[data-callout="question"] {
167 --callout-color: var(--color-ctp-yellow-900);
168 --callout-icon: "\F505";
169 }
170
171 &[data-callout="danger"],
172 &[data-callout="error"] {
173 --callout-color: var(--color-ctp-maroon-400);
174 --callout-icon: "\F46F";
175 }
176
177 &[data-callout="failure"] {
178 --callout-color: var(--color-ctp-maroon-800);
179 --callout-icon: "\F659";
180 }
181
182 &[data-callout="bug"] {
183 --callout-color: var(--color-ctp-maroon);
184 --callout-icon: "\F1DC";
185 }
186
187 &[data-callout="tip"],
188 &[data-callout="hint"] {
189 --callout-color: var(--color-ctp-teal);
190 --callout-icon: "\F7F6";
191 }
192
193 &[data-callout="example"] {
194 --callout-color: var(--color-ctp-mauve);
195 --callout-icon: "\F478";
196 }
197
198 &[data-callout="abstract"],
199 &[data-callout="summary"],
200 &[data-callout="tldr"] {
201 --callout-color: var(--color-ctp-sky);
202 --callout-icon: "\F727";
203 }
204
205 &[data-callout="quote"],
206 &[data-callout="cite"] {
207 --callout-color: var(--color-ctp-overlay0);
208 --callout-icon: "\F6B0";
209 }
210}
211
212/* Start Footnotes */
213
214@utility fn {
215 @apply mb-2;
216 p {
217 @apply inline;
218 }
219 [data-editor-file] {
220 @apply inline;
221 }
222}
223
224@utility fn-backref {
225 &::before {
226 @apply inline-block text-ctp-blue align-bottom;
227 content: "\F131";
228 font-family: "bootstrap-icons";
229 }
230}
231
232/* End Footnotes */
233
234/* Start ToC */
235
236@utility toc {
237 @apply mt-3 mb-8;
238}
239
240@utility toc-l1 {
241 @apply border-l-2 border-ctp-overlay0 pl-2 ml-1 text-xl;
242}
243
244@utility toc-l2 {
245 @apply text-base border-l-2 pl-2 border-ctp-surface2 first-of-type:mt-1 last-of-type:mb-1;
246}
247
248/* End ToC */
249
250/* Extra arbitrary styles */
251details.callout .callout-title {
252 margin: 0;
253 cursor: pointer;
254}
255
256details.callout > .callout-title > .callout-fold::after {
257 content: "\F285";
258}
259
260details[open].callout > .callout-title > .callout-fold::after {
261 content: "\F282";
262}