style.css
⎇
Raw
1* {
2 box-sizing: border-box;
3 margin: 0;
4 padding: 0;
5 color: var(--text-color);
6 accent-color: var(--color-d);
7}
8
9html,
10button,
11select {
12 font-family: ark-latin, sans-serif;
13 font-size: 16px;
14 line-height: 1.5rem;
15}
16
17:root {
18 --color-a: oklch(0.41 0.0178 201.81);
19 --color-b: oklch(0.62 0.0664 60.49);
20 --color-c: oklch(0.33 0.0144 217.83);
21 --color-c-highlight: oklch(from var(--color-c) 0.45 c h);
22 --color-d: oklch(0.67 0.1326 259.65);
23 --text-color: oklch(0.87 0 0);
24 --min-width: 350px;
25}
26
27button,
28select,
29option {
30 display: flex;
31 place-items: center;
32 padding: 0.25rem 0.5rem;
33 border: none;
34 background-color: var(--color-d);
35 color: oklch(0.26 0 0);
36
37 &:hover {
38 background-color: oklch(from var(--color-d) 0.85 c h);
39 }
40}
41
42select:disabled {
43 background-color: var(--color-d);
44 color: oklch(0.5 0 0);
45 &:hover {
46 background-color: var(--color-d);
47 }
48}
49
50input:disabled {
51 color: oklch(0.5 0 0);
52}
53
54button {
55 cursor: pointer;
56 &:disabled {
57 cursor: default;
58 }
59}
60
61svg {
62 flex-shrink: 0;
63}
64
65button:has(> svg) {
66 padding: 0;
67 background: none;
68 &:hover {
69 background: none;
70 }
71}
72
73html {
74 min-width: var(--min-width);
75 min-height: 600px;
76 background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='100' height='82' patternTransform='scale(2) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='%23404e4fff'/><path d='M74.4-14.6l-24 41.1h48l-24-41.1zm0 82l-24 41.1h48l-24-41.1z' stroke-width='1' stroke='none' fill='%23a37c5cff'/><path d='M0 0l24 41.1L48 0H0zm-1.6 26.5l-24 41.1h48l-24-41.1zm100 0l-24 41.1h48l-24-41.1z' stroke-width='1' stroke='none' fill='%232c373aff'/><path d='M24 41.1l24 41.1 24-41.1H24z' stroke-width='1' stroke='none' fill='%23726f69ff'/></pattern></defs><rect width='800%' height='800%' transform='translate(0,0)' fill='url(%23a)'/></svg>");
77}
78
79html,
80body,
81#root,
82.app-container {
83 height: 100%;
84}
85
86.app-container {
87 display: flex;
88 flex-direction: column;
89 max-width: 1200px;
90 margin: 0 auto;
91 background-color: var(--color-a);
92 box-shadow: 0 0 40px rgba(0, 0, 0, 0.8);
93
94 & > .app-header {
95 display: flex;
96 gap: 1.5rem;
97 justify-content: space-between;
98 padding: 1rem;
99 border-bottom: 1px solid var(--color-c);
100 & > .app-buttons {
101 display: flex;
102 flex-wrap: wrap;
103 gap: 1.5rem;
104 justify-content: end;
105 & > .offline-button {
106 text-wrap: nowrap;
107 width: min-content;
108 }
109 & > div {
110 display: flex;
111 gap: 1.5rem;
112 }
113 }
114 }
115
116 & > .main-content {
117 position: relative; /* for the loading screen in the file browser*/
118 display: flex;
119 flex: 1;
120 overflow: hidden;
121 }
122}
123
124.title {
125 text-wrap: nowrap;
126 font-size: 1.5rem;
127 font-weight: bold;
128}
129
130@media (min-width: 751px) {
131 .filebrowser-toggle {
132 display: none;
133 }
134}
135
136.spacer {
137 flex-grow: 1;
138}
139
140input {
141 background: none;
142 border: 1px solid var(--color-c);
143 padding: 0.25rem;
144}
145