By using this site, you agree to have cookies stored on your device, strictly for functional purposes, such as storing your session and preferences.

Dismiss

 dusk.css

View raw Download
text/plain • 30.25 kiB
Unicode text, UTF-8 text
        
            
1
/*
2
Dusk theme for roundabout web interface
3
Copyright (C) 2024 Roundabout developer
4
5
This stylesheet is free software: you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation, either version 3 of the License, or
8
(at your option) any later version.
9
10
This stylesheet is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
GNU General Public License for more details.
14
15
You should have received a copy of the GNU General Public License
16
along with this stylesheet. If not, see <https://www.gnu.org/licenses/>
17
*/
18
19
:root, ::backdrop {
20
/* FONTS */
21
--body-font: /* body text */
22
normal /* style */
23
normal /* variant */
24
400 /* weight */
25
normal /* stretch */
26
16px/20px /* size / line height */
27
"Roboto", "Noto Sans", system-ui, apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, "Arial", sans-serif /* family */
28
;
29
--table-font:
30
normal /* style */
31
normal /* variant */
32
400 /* weight */
33
normal /* stretch */
34
15.4px/20px /* size / line height */
35
"Roboto", "Noto Sans", system-ui, apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, "Arial", sans-serif /* family */
36
;
37
--table-header-font:
38
normal /* style */
39
normal /* variant */
40
500 /* weight */
41
normal /* stretch */
42
15.4px/20px /* size / line height */
43
"Roboto", "Noto Sans", system-ui, apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, "Arial", sans-serif /* family */
44
;
45
--mono-font: /* code */
46
normal /* style */
47
normal /* variant */
48
400 /* weight */
49
normal /* stretch */
50
14.5px/20px /* size / line height */
51
"Roboto Mono", "Noto Sans Mono", "Noto Mono", "Source Code Pro", "Source Code", "source-pro-code", Cousine, Consolas, monospace /* family */
52
;
53
--keyboard-font: /* keyboard */
54
normal /* style */
55
normal /* variant */
56
600 /* weight */
57
normal /* stretch */
58
12px/12px /* size / line height */
59
"Roboto", "Noto Sans", system-ui, apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, "Arial", sans-serif /* family */
60
;
61
--button-font: /* buttons */
62
normal /* style */
63
normal /* variant */
64
600 /* weight */
65
normal /* stretch */
66
15px/20px /* size / line height */
67
"Roboto", "Noto Sans", system-ui, apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, "Arial", sans-serif /* family */
68
;
69
--badge-font: /* badges */
70
normal /* style */
71
normal /* variant */
72
700 /* weight */
73
normal /* stretch */
74
13.2px/16px /* size / line height */
75
"Roboto Mono", "Noto Sans", system-ui, apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, "Arial", sans-serif /* family */
76
;
77
--gui-font: /* everything not covered by something else */
78
var(--body-font);
79
--input-font: /* all inputs which show text */
80
var(--gui-font);
81
--textarea-font: /* textareas */
82
var(--mono-font);
83
--h6-font: /* h6 */
84
normal /* style */
85
normal /* variant */
86
700 /* weight */
87
normal /* stretch */
88
16px/20px /* size / line height */
89
"Roboto", "Noto Sans", system-ui, apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, "Arial", sans-serif /* family */
90
;
91
--h5-font: /* h5 */
92
normal /* style */
93
normal /* variant */
94
900 /* weight */
95
normal /* stretch */
96
18px/20px /* size / line height */
97
"Roboto", "Noto Sans", system-ui, apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, "Arial", sans-serif /* family */
98
;
99
--h4-font: /* h4 */
100
normal /* style */
101
normal /* variant */
102
700 /* weight */
103
normal /* stretch */
104
19.5px/24px /* size / line height */
105
"Roboto", "Noto Sans", system-ui, apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, "Arial", sans-serif /* family */
106
;
107
--h3-font: /* h3 */
108
normal /* style */
109
normal /* variant */
110
400 /* weight */
111
normal /* stretch */
112
22.5px/28px /* size / line height */
113
"Roboto", "Noto Sans", system-ui, apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, "Arial", sans-serif /* family */
114
;
115
--h2-font: /* h2 */
116
normal /* style */
117
normal /* variant */
118
300 /* weight */
119
normal /* stretch */
120
28px/32px /* size / line height */
121
"Roboto", "Noto Sans", system-ui, apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, "Arial", sans-serif /* family */
122
;
123
--h1-font: /* h1 */
124
normal /* style */
125
normal /* variant */
126
300 /* weight */
127
normal /* stretch */
128
36px/44px /* size / line height */
129
"Roboto", "Noto Sans", system-ui, apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, "Arial", sans-serif /* family */
130
;
131
--headline-font: /* h1 as a headline */
132
normal /* style */
133
normal /* variant */
134
100 /* weight */
135
normal /* stretch */
136
52px/60px /* size / line height */
137
"Roboto", "Noto Sans", system-ui, apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, "Arial", sans-serif /* family */
138
;
139
140
/* GENERAL COLOURS */
141
/* background */ /* foreground */
142
--color-primary: #4DB6AC; --color-primary-text: #ffffff;
143
--color-primary-1: #009688; --color-primary-1-text: #ffffff;
144
--color-primary-2: #00796B; --color-primary-2-text: #ffffff;
145
--color-primary-3: #80CBC4; --color-primary-3-text: #000000;
146
--color-primary-4: #B2DFDB; --color-primary-4-text: #000000;
147
148
--color-accent: #FFAB40; --color-accent-text: #000000;
149
--color-accent-1: #FF9100; --color-accent-1-text: #ffffff;
150
--color-accent-2: #FF6D00; --color-accent-2-text: #ffffff;
151
--color-accent-3: #FFD180; --color-accent-3-text: #000000;
152
--color-accent-4: #FFF3E0; --color-accent-4-text: #000000;
153
154
--color-background: #455A64; --color-background-text: #FFFFFFf4;
155
--color-caption-text: #FFFFFFb9;
156
--color-label-text: #FFFFFFdf;
157
158
--color-error: #FF1744; --color-error-text: #FFFFFF;
159
--color-alert: #FFC400; --color-alert-text: #000000;
160
--color-info: #40C4FF; --color-info-text: #000000;
161
--color-success: #00E676; --color-success-text: #000000;
162
163
--color-not-accent: transparent; --color-not-accent-text: var(--color-background-text);
164
165
--color-scheme: dark;
166
167
/* CODE BLOCKS */
168
--color-code: #263238; --color-code-text: #FFFFFFea;
169
--color-quote: #546E7A; --color-quote-text: #FFFFFFea;
170
--color-short-code: #37474F; --color-short-code-text: #FFFFFFea;
171
--color-keyboard: #607D8B; --color-keyboard-text: #FFFFFF;
172
173
--color-scheme-code: dark;
174
175
--size-keyboard: 1.5em;
176
--padding-keyboard: 0.375em;
177
--padding-code: 12px;
178
179
--radius-code: 0;
180
--radius-short-code: 0.125em;
181
--border-code: none;
182
--border-short-code: none;
183
184
--shadow-keyboard: 0 1px 1px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.24);
185
186
/* BUTTONS */
187
--color-button: var(--color-primary); --color-button-text: var(--color-primary-text);
188
--color-button-hover: var(--color-primary); --color-button-hover-text: var(--color-primary-text);
189
--color-button-active: var(--color-primary); --color-button-active-text: var(--color-primary-text);
190
--color-flat-button: transparent; --color-flat-button-text: var(--color-primary);
191
--color-flat-button-hover: #FFFFFF20; --color-flat-button-hover-text: var(--color-primary-2);
192
--color-flat-button-active: #FFFFFF30; --color-flat-button-active-text: var(--color-primary-3);
193
194
--shadow-button: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 3px 6px 0 rgba(0, 0, 0, 0.24), 0 1px 4px 0 rgba(0, 0, 0, 0.12);
195
--shadow-button-hover: 0 7px 25px -10px rgba(0, 0, 0, 0.12), 0 7px 25px 0 rgba(0, 0, 0, 0.24), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
196
--shadow-flat-button: none;
197
--shadow-flat-button-hover: none;
198
199
--border-button: none;
200
--border-button-hover: none;
201
--border-flat-button: none;
202
--border-flat-button-hover: none;
203
204
--radius-button: 2px;
205
--radius-round-button: 100vmin;
206
--radius-flat-button: 2px;
207
208
--height-button: 36px;
209
--size-round-button: 48px;
210
--margin-round-button: 8px;
211
--padding-button: 4px 8px;
212
--padding-round-button: 8px;
213
--gap-button: 4px;
214
--min-width-button: 64px;
215
216
/* LINKS */
217
--color-link-text: var(--color-primary-3);
218
--color-link-hover-text: var(--color-primary-4);
219
--color-link-active-text: var(--color-primary-2);
220
--color-link-visited-text: var(--color-link-text);
221
--color-link-visited-hover-text: var(--color-link-hover-text);
222
223
/* TOASTS */
224
--color-callout: #546e7a; --color-callout-text: #ffffff;
225
--color-callout-1: #37474f; --color-callout-1-text: #ffffff;
226
--color-callout-2: #78909c; --color-callout-2-text: #ffffff;
227
--color-callout-button-text: var(--color-accent-4);
228
229
--border-toast: none;
230
--radius-toast: 2px;
231
--gap-toast: 8px;
232
--min-width-toast: 192px;
233
--max-width-toast: 50%;
234
--height-toast: 40px;
235
--padding-toast: 0 0 0 8px;
236
--toast-align-horizontal: end;
237
--toast-align-vertical: end;
238
--toast-stack: column-reverse wrap;
239
--margin-toast: 12px;
240
241
--shadow-toast: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 3px 6px 0 rgba(0, 0, 0, 0.24), 0 1px 4px 0 rgba(0, 0, 0, 0.12);
242
243
/* CHECKBOXES */
244
--color-checkbox: var(--color-not-accent); --color-checkbox-text: var(--color-accent);
245
--color-checkbox-hover: var(--color-not-accent); --color-checkbox-hover-text: var(--color-accent);
246
--color-checkbox-active: var(--color-accent); --color-checkbox-active-text: var(--color-accent-text);
247
--color-checkbox-indeterminate: var(--color-accent);--color-checkbox-indeterminate-text: var(--color-accent-text);
248
--color-checkbox-indeterminate-hover: var(--color-accent);--color-checkbox-indeterminate-hover-text: var(--color-accent-text);
249
--color-checkbox-active-hover: var(--color-accent);--color-checkbox-active-hover-text: var(--color-accent-text);
250
--color-radio: var(--color-not-accent); --color-radio-text: var(--color-accent);
251
--color-radio-active: var(--color-not-accent); --color-radio-active-text: var(--color-accent);
252
--color-radio-hover: var(--color-not-accent); --color-radio-hover-text: var(--color-accent);
253
--color-radio-active-hover: var(--color-not-accent);--color-radio-active-hover-text: var(--color-accent);
254
255
--border-checkbox: 0.125em solid currentColor;
256
--border-checkbox-checked: 0.125em solid var(--color-checkbox-active);
257
--border-checkbox-indeterminate: 0.125em solid var(--color-checkbox-indeterminate);
258
--border-checkbox-hover: 0.125em solid currentColor;
259
--border-checkbox-checked-hover: 0.125em solid var(--color-checkbox-active);
260
--border-checkbox-indeterminate-hover: 0.125em solid var(--color-checkbox-indeterminate);
261
--border-radio: 0.125em solid currentColor;
262
--border-radio-checked: 0.125em solid currentColor;
263
--border-radio-hover: 0.125em solid currentColor;
264
--border-radio-checked-hover: 0.125em solid currentColor;
265
266
--color-switch: #607D8B; --color-switch-thumb: #90A4AE;
267
--color-switch-on: var(--color-accent-2); --color-switch-thumb-on: var(--color-accent);
268
--color-switch-hover: #607D8B; --color-switch-thumb-hover: #90A4AE;
269
--color-switch-on-hover: var(--color-accent-2); --color-switch-thumb-on-hover: var(--color-accent);
270
271
--border-switch: none;
272
--border-switch-hover: none;
273
--radius-switch: 1em;
274
--height-switch: 0.75em;
275
--width-switch: 2em;
276
--border-switch-thumb: none;
277
--border-switch-thumb-hover: none;
278
--radius-switch-thumb: 1em;
279
--width-switch-thumb: 1em;
280
--height-switch-thumb: 1em;
281
--padding-switch-thumb: 0em; /* for some reason, you must set the unit */
282
--width-switch-thumb-hover: 1em;
283
--height-switch-thumb-hover: 1em;
284
285
--shadow-switch: 0 0 0 0 transparent; /* none */
286
--shadow-switch-thumb: 0 0 2px 0 rgba(0, 0, 0, 0.28), 0 0 3px 0 rgba(0, 0, 0, 0.40);
287
--shadow-switch-hover: 0 0 0 0 transparent; /* none */
288
--shadow-switch-thumb-hover: 0 0 2px 0 rgba(0, 0, 0, 0.28), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 4px 0 rgba(0, 0, 0, 0.40);
289
290
--border-switch-on: none;
291
--border-switch-on-hover: none;
292
--border-switch-thumb-on: none;
293
--border-switch-thumb-on-hover: none;
294
--radius-switch-thumb-on: 1em;
295
--width-switch-thumb-on: 1em;
296
--height-switch-thumb-on: 1em;
297
--padding-switch-thumb-on: 0em; /* for some reason, you must set the unit */
298
--width-switch-thumb-on-hover: 1em;
299
--height-switch-thumb-on-hover: 1em;
300
301
--shadow-switch-on: 0 0 0 0 transparent; /* none */
302
--shadow-switch-thumb-on: 0 0 2px 0 rgba(0, 0, 0, 0.28), 0 0 3px 0 rgba(0, 0, 0, 0.40);
303
--shadow-switch-on-hover: 0 0 0 0 transparent; /* none */
304
--shadow-switch-thumb-on-hover: 0 0 2px 0 rgba(0, 0, 0, 0.28), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 4px 0 rgba(0, 0, 0, 0.40);
305
306
--radius-checkbox: 0.125em;
307
--radius-radio: 1em;
308
--size-checkbox: 1em;
309
310
--shadow-form: 0 0 0 0 transparent; /* none */
311
--shadow-form-checked: 0 0 0 0 transparent; /* none */
312
--shadow-form-indeterminate: 0 0 0 0 transparent; /* none */
313
--shadow-form-hover: 0 0 0 0 transparent; /* none */
314
--shadow-form-checked-hover: 0 0 0 0 transparent; /* none */
315
--shadow-form-indeterminate-hover: 0 0 0 0 transparent; /* none */
316
317
/* RANGES */
318
--color-range: var(--color-accent-2); --color-range-text: var(--color-accent);
319
--color-range-hover: var(--color-accent-2); --color-range-hover-text: var(--color-accent);
320
321
--border-range: none;
322
--border-range-hover: none;
323
--radius-range: 1em;
324
--height-range: 0.75em;
325
--border-range-thumb: none;
326
--border-range-thumb-hover: none;
327
--position-range-thumb: -12.5%;
328
--position-range-thumb-hover: -12.5%;
329
--radius-range-thumb: 1em;
330
--width-range-thumb: 1em;
331
--height-range-thumb: 1em;
332
--width-range-thumb-hover: 1em;
333
--height-range-thumb-hover: 1em;
334
--shadow-range: 0 0 0 0 transparent; /* none */
335
--shadow-range-thumb: 0 0 2px 0 rgba(0, 0, 0, 0.28), 0 0 3px 0 rgba(0, 0, 0, 0.40);
336
--shadow-range-hover: 0 0 0 0 transparent; /* none */
337
--shadow-range-thumb-hover: 0 0 2px 0 rgba(0, 0, 0, 0.28), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 4px 0 rgba(0, 0, 0, 0.40);
338
339
/* CARDS */
340
--color-card: #546E7A; --color-card-text: var(--color-background-text);
341
--color-figcaption-text: #000000df;
342
343
--radius-card: 0;
344
--outline-outlined-card: 1px solid #FFFFFF80;
345
--radius-outlined-card: 4px;
346
--border-card: none;
347
--shadow-card: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 3px 6px 0 rgba(0, 0, 0, 0.24), 0 1px 4px 0 rgba(0, 0, 0, 0.12);
348
349
--padding-card: 0 12px 12px 12px;
350
--padding-card-top: 12px;
351
--padding-card-figcaption: 0 12px 12px 12px;
352
--figure-max-size-horizontal-card: clamp(200px, 50%, 768px);
353
354
/* LAYOUT */
355
--gap-buttonbox: 4px;
356
--gap-label-checkbox: 4px;
357
--gap-box: 16px;
358
359
/* NAVBAR */
360
--color-navbar: #546E7A; --color-navbar-text: var(--color-background-text);
361
--color-navbar-link: var(--color-background-text);
362
363
--height-navbar: 48px;
364
--width-navbar-button: 56px;
365
--padding-navbar: 12px;
366
--gap-navbar: 0;
367
--shadow-navbar: 0 7px 25px -10px rgba(0, 0, 0, 0.12), 0 7px 25px 0 rgba(0, 0, 0, 0.24), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
368
--border-navbar: none;
369
--radius-navbar: 0;
370
371
/* NAVRAIL */
372
--color-navrail: #546E7A; --color-navrail-text: var(--color-primary-text);
373
--color-navrail-link: var(--color-primary-text);
374
--color-navrail-link-hover: var(--color-primary-3);
375
--color-navrail-link-selected: var(--color-primary-3);
376
377
--width-navrail: 72px;
378
--height-navrail-button: 56px;
379
--padding-navrail: 0;
380
--gap-navrail: 0;
381
--shadow-navrail: 0 7px 25px -10px rgba(0, 0, 0, 0.12), 0 7px 25px 0 rgba(0, 0, 0, 0.24), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
382
--border-navrail: none;
383
--radius-navrail: 0;
384
385
/* SIDENAV */
386
--color-sidenav: transparent; --color-sidenav-text: var(--color-caption-text);
387
--gap-sidenav-item: 1ch;
388
--padding-sidenav: 8px;
389
390
/* BREADCRUMBS */
391
--color-breadcrumbs: var(--color-navbar); --color-breadcrumbs-text: var(--color-navbar-text);
392
--color-breadcrumbs-link: var(--color-navbar-text);
393
--color-breadcrumbs-separator: var(--color-navbar-text);
394
395
--height-breadcrumbs: 48px;
396
--padding-breadcrumbs: 16px;
397
--shadow-breadcrumbs: var(--shadow-navbar);
398
--border-breadcrumbs: none;
399
--radius-breadcrumbs: 0;
400
--separator-breadcrumbs: "  >  ";
401
402
/* TABS */
403
--color-tab: var(--color-navbar); --color-tab-text: var(--color-navbar-text);
404
--color-tab-selected: var(--color-navbar); --color-tab-selected-text: var(--color-navbar-text);
405
--color-tab-hover: var(--color-navbar); --color-tab-hover-text: var(--color-navbar-text);
406
--color-tab-hover-selected: var(--color-navbar); --color-tab-hover-selected-text: var(--color-navbar-text);
407
408
--justify-tab-row: space-around;
409
--height-tab: 36px;
410
--width-tab: 80px;
411
--align-tab: center;
412
--border-tab: none;
413
--border-tab-selected: none;
414
--radius-tab: 0;
415
416
/* DIVIDERS */
417
--line-divider: 1px solid #FFFFFF80;
418
419
/* LISTS */
420
--style-unordered-list: disc;
421
--color-unordered-list-marker: currentColor;
422
--font-unordered-list-marker: var(--body-font);
423
--indent-unordered-list: 1em;
424
425
--style-ordered-list: decimal;
426
--color-ordered-list-marker: currentColor;
427
--font-ordered-list-marker: var(--body-font);
428
--indent-ordered-list: 1em;
429
430
/* TABLES */
431
--padding-cell: 1ch;
432
--border-cell-horizontal: 1px solid #FFFFFF20;
433
--border-cell-vertical: 1px solid #FFFFFF40;
434
--color-table: #546E7A; --color-table-text: var(--color-background-text);
435
--color-row-odd: #FFFFFF10; --color-row-odd-text: var(--color-background-text);
436
--color-row-even: transparent; --color-row-even-text: var(--color-background-text);
437
--color-row-header: var(--color-primary-1); --color-row-header-text: var(--color-primary-1-text);
438
439
/* BADGES */
440
--border-badge: none;
441
--shadow-badge: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 3px 6px 0 rgba(0, 0, 0, 0.24), 0 1px 4px 0 rgba(0, 0, 0, 0.12);
442
--x-badge: 100%;
443
--y-badge: 25%;
444
--width-badge: 2.25ch;
445
--height-badge: 2.25ch;
446
--radius-badge: 3ch;
447
--padding-badge: 0.25ch;
448
--color-badge: var(--color-accent); --color-badge-text: var(--color-accent-text);
449
450
/* AVATARS */
451
--radius-avatar: 0;
452
453
/* BUBBLES */
454
--border-bubble: none;
455
--shadow-bubble: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 3px 6px 0 rgba(0, 0, 0, 0.24), 0 1px 4px 0 rgba(0, 0, 0, 0.12);
456
--radius-bubble: 1em;
457
--padding-bubble: 1ch;
458
--color-bubble: var(--color-accent-3); --color-bubble-text: var(--color-accent-3-text);
459
--color-bubble-alt: var(--color-accent-2); --color-bubble-alt-text: var(--color-accent-2-text);
460
461
/* INPUTS */
462
--color-input: #607D8B; --color-input-text: #FFFFFFbb;
463
--color-input-hover: #607D8B; --color-input-hover-text: #FFFFFFbb;
464
--color-input-active: #607D8B; --color-input-active-text: #FFFFFFdf;
465
--color-flat-input: transparent; --color-flat-input-text: #FFFFFFbb;
466
--color-flat-input-hover: transparent; --color-flat-input-hover-text: #FFFFFFbb;
467
--color-flat-input-active: transparent; --color-flat-input-active-text: #FFFFFFdf;
468
469
--shadow-input: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 3px 6px 0 rgba(0, 0, 0, 0.24), 0 1px 4px 0 rgba(0, 0, 0, 0.12);
470
--shadow-input-hover: 0 7px 25px -10px rgba(0, 0, 0, 0.12), 0 7px 25px 0 rgba(0, 0, 0, 0.24), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
471
--shadow-input-active: 0 7px 25px -10px rgba(0, 0, 0, 0.12), 0 7px 25px 0 rgba(0, 0, 0, 0.24), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
472
--shadow-flat-input: none;
473
--shadow-flat-input-hover: none;
474
--shadow-flat-input-active: none;
475
476
--border-input: none;
477
--border-input-hover: none;
478
--border-input-active: none;
479
--border-flat-input: none;
480
--border-flat-input-hover: none;
481
--border-flat-input-active: none;
482
483
--radius-input: 2px;
484
--radius-flat-input: 2px;
485
486
--height-input: 36px;
487
--padding-input: 4px 8px;
488
--min-width-input: 64px;
489
490
--size-input-icon: 16px;
491
492
/* TEXTAREAS */
493
--color-textarea: #607D8B; --color-textarea-text: #FFFFFFbb;
494
--color-textarea-hover: #607D8B; --color-textarea-hover-text: #FFFFFFbb;
495
--color-textarea-active: #607D8B; --color-textarea-active-text: #FFFFFFdf;
496
--color-flat-textarea: transparent; --color-flat-textarea-text: #FFFFFFbb;
497
--color-flat-textarea-hover: transparent; --color-flat-textarea-hover-text: #FFFFFFbb;
498
--color-flat-textarea-active: transparent; --color-flat-textarea-active-text: #FFFFFFdf;
499
500
--shadow-textarea: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 3px 6px 0 rgba(0, 0, 0, 0.24), 0 1px 4px 0 rgba(0, 0, 0, 0.12);
501
--shadow-textarea-hover: 0 7px 25px -10px rgba(0, 0, 0, 0.12), 0 7px 25px 0 rgba(0, 0, 0, 0.24), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
502
--shadow-textarea-active: 0 7px 25px -10px rgba(0, 0, 0, 0.12), 0 7px 25px 0 rgba(0, 0, 0, 0.24), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
503
--shadow-flat-textarea: none;
504
--shadow-flat-textarea-hover: none;
505
--shadow-flat-textarea-active: none;
506
507
--border-textarea: none;
508
--border-textarea-hover: none;
509
--border-textarea-active: none;
510
--border-flat-textarea: 1px solid #FFFFFF40;
511
--border-flat-textarea-hover: 1px solid #FFFFFF40;
512
--border-flat-textarea-active: 1px solid #FFFFFF40;
513
514
--radius-textarea: 2px;
515
--radius-flat-textarea: 8px;
516
517
--padding-textarea: 8px;
518
519
/* MENUS */
520
--color-toolbar: #546E7A; --color-toolbar-text: #FFFFFFde;
521
--color-menu: #607D8B; --color-menu-text: #FFFFFFde;
522
--color-menu-item: transparent; --color-menu-item-text: #FFFFFFde;
523
--color-menu-item-hover: #FFFFFF10; --color-menu-item-hover-text: #FFFFFFde;
524
525
--gap-toolbar: 4px;
526
--gap-menu: 0;
527
--border-toolbar: none;
528
--border-menu: none;
529
--border-menu-item: none;
530
--shadow-toolbar: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 3px 6px 0 rgba(0, 0, 0, 0.24), 0 1px 4px 0 rgba(0, 0, 0, 0.12);
531
--shadow-menu: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 3px 6px 0 rgba(0, 0, 0, 0.24), 0 1px 4px 0 rgba(0, 0, 0, 0.12);
532
--height-toolbar: 48px;
533
--height-menu-item: 24px;
534
--width-toolbar: fit-content;
535
--radius-toolbar: 0;
536
--radius-menu: 0;
537
--padding-toolbar: 4px;
538
--padding-menu: 2px 0;
539
--padding-menu-item: 2px 8px;
540
541
/* DIALOGS */
542
--color-modal-backdrop: radial-gradient(circle, #00000040 12.5%, #000000cc 100%);
543
}
544
545
/* Extra styles */
546
547
h6 {
548
/* Make it look nicer */
549
text-transform: uppercase;
550
color: var(--color-accent);
551
}
552
553
:any-link, .link-button {
554
/* Make them nicer, not possible with the font property */
555
font-weight: 500;
556
text-decoration: underline;
557
text-decoration-thickness: .05em;
558
text-underline-offset: .1em;
559
}
560
561
button, .button, input[type=button], input[type=submit], input[type=reset], input[type="file"]::file-selector-button {
562
/* Make it look nicer */
563
text-transform: uppercase;
564
}
565
566
.toast-container li {
567
/* Toast appear */
568
animation: toastSlide 750ms cubic-bezier(0.16, 1, 0.3, 1);
569
transform-origin: bottom;
570
}
571
572
.toast-container li.removing {
573
/* Toast disappear */
574
animation: toastCompress 500ms cubic-bezier(0.55, 0, 1, 0.45);
575
}
576
577
.toast-container li.removing ~ li {
578
/* TODO */
579
}
580
581
@keyframes toastSlide {
582
0% {
583
opacity: 0;
584
transform: translateY(100vh);
585
}
586
587
100% {
588
opacity: 1;
589
transform: translateY(0);
590
}
591
}
592
593
@keyframes toastCompress {
594
0% {
595
transform: rotateX(0);
596
opacity: 1;
597
}
598
599
100% {
600
transform: rotateX(180deg);
601
opacity: 0;
602
}
603
}
604
605
input[type="checkbox"]:not(.switch):checked::after, input[type="checkbox"]:not(.switch):indeterminate::after, input[type="radio"]:checked::after {
606
/* Checked */
607
animation: check 250ms cubic-bezier(0.61, 1, 0.88, 1);
608
}
609
610
input[type="checkbox"]:not(.switch), input[type="radio"] {
611
/* Transition background */
612
transition: box-shadow 250ms cubic-bezier(0.61, 1, 0.88, 1);
613
}
614
615
input[type="checkbox"].switch::after {
616
/* Transition switch thumb */
617
transition: transform 500ms cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 375ms cubic-bezier(0.61, 1, 0.88, 1);
618
}
619
620
input[type="range"]::-webkit-slider-thumb {
621
transition: box-shadow 375ms cubic-bezier(0.61, 1, 0.88, 1);
622
}
623
624
input[type="range"]::-moz-range-thumb {
625
transition: box-shadow 375ms cubic-bezier(0.61, 1, 0.88, 1);
626
}
627
628
button, .button, input[type="file"]::file-selector-button, input, select, textarea {
629
transition: box-shadow 375ms cubic-bezier(0.5, 1, 0.89, 1), background 375ms cubic-bezier(0.5, 1, 0.89, 1), color 375ms cubic-bezier(0.5, 1, 0.89, 1);
630
}
631
632
@keyframes check {
633
0% {
634
transform: scale(0);
635
}
636
637
100% {
638
transform: scale(1);
639
}
640
}
641
642
.navbar {
643
position: sticky;
644
}
645
646
:is(.navbar, .breadcrumbs) a:not(:hover) {
647
text-decoration: none;
648
}
649
650
x-notebook > label:has(input[type="radio"]:checked) {
651
border-bottom: 4px solid var(--color-accent);
652
transition: border 125ms ease;
653
}
654
655
x-notebook > label {
656
text-transform: uppercase;
657
font-weight: 600;
658
flex: 1 0 auto;
659
}
660
661
th, ol.table > li.list-header {
662
border: none;
663
}
664
665
th, td {
666
text-align: start;
667
}
668
669
.chat-bubble::before {
670
content: "";
671
position: absolute;
672
width: 1em;
673
height: 1em;
674
border: 0.75em solid;
675
border-color: transparent var(--color-bubble) transparent transparent;
676
left: -1.5em;
677
top: 1em;
678
}
679
680
.bubble-alt::before {
681
content: "";
682
position: absolute;
683
width: 1em;
684
height: 1em;
685
border: 0.75em solid;
686
border-color: transparent transparent transparent var(--color-bubble-alt);
687
transform: translateX(100%);
688
width: 100%;
689
left: 0;
690
top: 1em;
691
}
692
693
::placeholder {
694
opacity: 0.5;
695
}
696
697
:is(input:not([type=button], [type=checkbox], [type=radio], [type=submit], [type=reset], [type=file], [type=range], [type=color]), select).input-flat {
698
border-bottom: 2px solid var(--color-primary) !important;
699
}
700
701
:disabled {
702
opacity: 0.5;
703
}
704
705
input[type="color"] {
706
padding: 0;
707
border: 0;
708
overflow: hidden;
709
}
710
711
input[type="color"]::-webkit-color-swatch {
712
border: none;
713
}
714
715
input[type="color"]::-webkit-color-swatch-wrapper {
716
padding: 0;
717
}
718
719
:is(input:not([type=button], [type=checkbox], [type=radio], [type=submit], [type=reset], [type=file], [type=range]), select, textarea):focus {
720
outline: none; /* there is a blinking cursor, better not to have an outline */
721
}
722
723
textarea {
724
font: var(--mono-font);
725
}
726
727
button:has(iconify-icon) {
728
min-width: var(--height-button);
729
}
730
731
details.dropdown[open] > summary ~ * {
732
animation: menu 375ms cubic-bezier(0.22, 1, 0.36, 1);
733
transform-origin: top;
734
}
735
736
@keyframes menu {
737
0% {
738
transform: rotateX(-90deg);
739
opacity: 0;
740
}
741
742
100% {
743
transform: rotateX(0);
744
opacity: 1;
745
}
746
}
747
748
details.slidein[open] > summary ~ * {
749
animation: menu2 375ms cubic-bezier(0.22, 1, 0.36, 1);
750
transform-origin: left;
751
}
752
753
@keyframes menu2 {
754
0% {
755
transform: rotateY(-90deg);
756
opacity: 0;
757
}
758
759
100% {
760
transform: rotateY(0);
761
opacity: 1;
762
}
763
}
764
765
dialog:modal {
766
animation: entranceY 500ms cubic-bezier(0.33, 1, 0.68, 1);
767
transform-origin: center;
768
}
769
770
dialog {
771
transition: opacity 250ms cubic-bezier(0.33, 1, 0.68, 1);
772
}
773
774
dialog.sheet-left:modal {
775
animation: entranceX 500ms cubic-bezier(0.33, 1, 0.68, 1);
776
transform-origin: left;
777
}
778
779
dialog.sheet-right:modal {
780
animation: entranceX 500ms cubic-bezier(0.33, 1, 0.68, 1);
781
transform-origin: right;
782
}
783
784
dialog.sheet-top:modal {
785
animation: entranceY 500ms cubic-bezier(0.33, 1, 0.68, 1);
786
transform-origin: top;
787
}
788
789
dialog.sheet-bottom:modal {
790
animation: entranceY 500ms cubic-bezier(0.33, 1, 0.68, 1);
791
transform-origin: bottom;
792
}
793
794
dialog::backdrop {
795
backdrop-filter: saturate(0.5) contrast(0.5) brightness(1.25) blur(2px);
796
}
797
798
@keyframes entranceX {
799
0% {
800
transform: rotateY(-90deg);
801
}
802
100% {
803
transform: rotateY(0);
804
}
805
}
806
807
@keyframes entranceY {
808
0% {
809
transform: rotateX(-90deg);
810
}
811
100% {
812
transform: rotateX(0);
813
}
814
}
815
816
@keyframes fade {
817
0% {
818
opacity: 0;
819
}
820
100% {
821
opacity: 1;
822
}
823
}
824
825
:where(.navrail, .navbar, .sidenav) > iconify-icon {
826
font-size: 1.5rem;
827
}
828
829
.navbar > *, .navbar > ul > li > * {
830
height: var(--height-navbar);
831
display: flex;
832
align-items: center;
833
justify-content: center;
834
}
835
836
header:has(.navbar) .breadcrumbs {
837
z-index: 2 !important;
838
position: relative;
839
box-shadow: none;
840
}
841
842
.navbar a {
843
font-weight: 500;
844
}
845
846
x-notebook > label:has(input[type="radio"]:checked) {
847
background: var(--color-tab-selected);
848
color: var(--color-tab-selected-text);
849
border: none;
850
box-shadow: inset 0 -4px 0 var(--color-accent);
851
transition: box-shadow 125ms ease;
852
}
853
854
x-notebook > label:has(input[type="radio"]) {
855
transition: box-shadow 125ms ease;
856
}
857
858
.file-link, .button, #forum-banner a, .nolink, ins, .code-view > ins, del, .code-view > del, #pagination > a {
859
text-decoration: none;
860
}
861
862