update default styling
Hunter
Thursday, April 30th, 2026 at 4:31 PM
146 "resources/prev.svg",
147 "resources/next.svg",
148 "resources/repeat.svg",
149 + "resources/fonts/Basteleur/Basteleur-Moonlight.woff2",
150 ]
151
152 AUDIO_EXTS = {".mp3", ".m4a", ".ogg", ".flac", ".wav"}
73
74 it may have looked like i winked just now, but that was a blink. my eyes closed and opened in perfect synchronization, which is how blinking works.
75
-## license
-<a href="LICENSE">GNU GPLv3</a>
76 +## licenses
77 +this project is licensed under the <a href="LICENSE">GNU General Public License v3.0</a>.
78 +
79 +the <a href="https://velvetyne.fr/fonts/basteleur/">Basteleur</a> font by <a href="https://keussel.studio/">Keussel</a> (distributed by <a href="https://velvetyne.fr/">Velvetyne</a>) is licensed under the <a href="resources/fonts/Basteleur/LICENSE.txt">SIL Open Font License, version 1.1</a>.
Binary files differ.
Binary files differ.
1 +Copyright (c) 2021, Keussel (www.keussel.studio|contact@keussel.studio),
2 +with Reserved Font Name Basteleur.
3 +
4 +This Font Software is licensed under the SIL Open Font License, Version 1.1.
5 +This license is copied below, and is also available with a FAQ at:
6 +http://scripts.sil.org/OFL
7 +
8 +SIL Open Font License v1.1
9 +====================================================
10 +
11 +
12 +Preamble
13 +----------
14 +
15 +The goals of the Open Font License (OFL) are to stimulate worldwide
16 +development of collaborative font projects, to support the font creation
17 +efforts of academic and linguistic communities, and to provide a free and
18 +open framework in which fonts may be shared and improved in partnership
19 +with others.
20 +
21 +The OFL allows the licensed fonts to be used, studied, modified and
22 +redistributed freely as long as they are not sold by themselves. The
23 +fonts, including any derivative works, can be bundled, embedded,
24 +redistributed and/or sold with any software provided that any reserved
25 +names are not used by derivative works. The fonts and derivatives,
26 +however, cannot be released under any other type of license. The
27 +requirement for fonts to remain under this license does not apply
28 +to any document created using the fonts or their derivatives.
29 +
30 +
31 +Definitions
32 +-------------
33 +
34 +`"Font Software"` refers to the set of files released by the Copyright
35 +Holder(s) under this license and clearly marked as such. This may
36 +include source files, build scripts and documentation.
37 +
38 +`"Reserved Font Name"` refers to any names specified as such after the
39 +copyright statement(s).
40 +
41 +`"Original Version"` refers to the collection of Font Software components as
42 +distributed by the Copyright Holder(s).
43 +
44 +`"Modified Version"` refers to any derivative made by adding to, deleting,
45 +or substituting -- in part or in whole -- any of the components of the
46 +Original Version, by changing formats or by porting the Font Software to a
47 +new environment.
48 +
49 +`"Author"` refers to any designer, engineer, programmer, technical
50 +writer or other person who contributed to the Font Software.
51 +
52 +
53 +Permission & Conditions
54 +------------------------
55 +
56 +Permission is hereby granted, free of charge, to any person obtaining
57 +a copy of the Font Software, to use, study, copy, merge, embed, modify,
58 +redistribute, and sell modified and unmodified copies of the Font
59 +Software, subject to the following conditions:
60 +
61 +1. Neither the Font Software nor any of its individual components,
62 + in Original or Modified Versions, may be sold by itself.
63 +
64 +2. Original or Modified Versions of the Font Software may be bundled,
65 + redistributed and/or sold with any software, provided that each copy
66 + contains the above copyright notice and this license. These can be
67 + included either as stand-alone text files, human-readable headers or
68 + in the appropriate machine-readable metadata fields within text or
69 + binary files as long as those fields can be easily viewed by the user.
70 +
71 +3. No Modified Version of the Font Software may use the Reserved Font
72 + Name(s) unless explicit written permission is granted by the corresponding
73 + Copyright Holder. This restriction only applies to the primary font name as
74 + presented to the users.
75 +
76 +4. The name(s) of the Copyright Holder(s) or the Author(s) of the Font
77 + Software shall not be used to promote, endorse or advertise any
78 + Modified Version, except to acknowledge the contribution(s) of the
79 + Copyright Holder(s) and the Author(s) or with their explicit written
80 + permission.
81 +
82 +5. The Font Software, modified or unmodified, in part or in whole,
83 + must be distributed entirely under this license, and must not be
84 + distributed under any other license. The requirement for fonts to
85 + remain under this license does not apply to any document created
86 + using the Font Software.
87 +
88 +
89 +Termination
90 +-----------
91 +
92 +This license becomes null and void if any of the above conditions are
93 +not met.
94 +
95 +
96 + DISCLAIMER
97 +
98 + THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
99 + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
100 + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
101 + OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
102 + COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
103 + INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
104 + DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
105 + FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
106 + OTHER DEALINGS IN THE FONT SOFTWARE.
87 'resources/prev.svg',
88 'resources/next.svg',
89 'resources/repeat.svg',
90 + 'resources/fonts/Basteleur/Basteleur-Moonlight.woff2',
91 ];
92
93 // Retry fetch with exponential backoff
1 +@font-face {
2 + font-family: 'Basteleur Moonlight';
3 + src: url('fonts/Basteleur/Basteleur-Moonlight.woff2') format('woff2');
4 + font-weight: normal;
5 + font-style: normal;
6 + font-display: swap;
7 +}
8 +
9 :root {
- --text: #dddddd;
- --dimmed-text: #ddddddcc;
- --primary: #4c7ae6;
- --accent: #f421ff;
- --background: #080a0c;
10 + --primary: #ff1900;
11 + --accent: #5d0cf4;
12 + --background: #000000;
13 + --text: #ffffff;
14 + --dimmed-text: #a6a6b4;
15 }
16
17 * {
40 body {
41 margin: 0;
42 padding: 0;
- font-family: "MS Sans Serif", Arial, sans-serif;
43 + font-family: 'Basteleur Moonlight', sans-serif;
44 height: 100dvh;
45 display: flex;
46 flex-direction: column;
- font-size: 25px;
47 + font-size: 24px;
48 background-color: var(--background);
49 position: fixed;
50 width: 100%;
170 }
171
172 .playlist-item-title {
- font-size: 21px;
173 + font-size: 20px;
174 line-height: 1.2;
175 }
176
180 }
181
182 .playlist-item-artist {
- font-size: 17px;
183 + font-size: 16px;
184 color: var(--dimmed-text);
185 line-height: 1.2;
186 }
194 @media (hover: hover) and (pointer: fine) {
195 .playlist-item:hover {
196 cursor: pointer;
- color: var(--accent);
197 }
198
199 + .playlist-item:hover .playlist-item-title,
200 .playlist-item:hover .playlist-item-artist {
- color: var(--accent);
201 + color: var(--text);
202 + background-color: var(--accent);
203 + align-self: flex-start;
204 + padding: 0 4px;
205 + margin-left: -4px;
206 }
207
208 .playlist-item:hover .playlist-item-title.current,
209 .playlist-item:hover .playlist-item-artist.current {
- color: var(--accent);
210 + background-color: var(--primary);
211 + color: var(--background);
212 }
213
214 body.reorderable .playlist,
232 box-sizing: border-box;
233 }
234
-.playlist-item.dragging,
235 .playlist-item.dragging .playlist-item-title,
236 .playlist-item.dragging .playlist-item-artist {
- color: var(--accent);
237 + color: var(--text);
238 + background-color: var(--accent);
239 + align-self: flex-start;
240 + padding: 0 4px;
241 + margin-left: -4px;
242 +}
243 +
244 +.playlist-item.dragging .playlist-item-title.current,
245 +.playlist-item.dragging .playlist-item-artist.current {
246 + background-color: var(--primary);
247 + color: var(--background);
248 }
249
250 .playlist-item-placeholder {
284
285 .progress-container {
286 width: 100%;
- font-size: 24px;
287 + font-size: 23px;
288 cursor: grab;
289 margin-top: 0;
290 height: 35px;