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
9@font-face {
10 font-display: swap;
11 font-family: ark-latin;
12 src: url("ark-pixel-16px-proportional-latin.woff2") format("woff2");
13}
14
15html,
16button,
17select {
18 font-family: ark-latin, sans-serif;
19 font-size: 16px;
20 line-height: 1.5rem;
21}
22
23:root {
24 --color-a: oklch(0.41 0.0178 201.81);
25 --color-b: oklch(0.62 0.0664 60.49);
26 --color-c: oklch(0.33 0.0144 217.83);
27 --color-c-highlight: oklch(from var(--color-c) 0.45 c h);
28 --color-d: oklch(0.67 0.1326 259.65);
29 --text-color: oklch(0.87 0 0);
30 --min-width: 350px;
31}
32
33button,
34select,
35option {
36 display: flex;
37 place-items: center;
38 padding: 0.25rem 0.5rem;
39 border: none;
40 background-color: var(--color-d);
41 color: oklch(0.26 0 0);
42
43 &:hover {
44 background-color: oklch(from var(--color-d) 0.85 c h);
45 }
46}
47
48select:disabled {
49 background-color: var(--color-d);
50 color: oklch(0.50 0 0);
51 &:hover {
52 background-color: var(--color-d);
53 }
54}
55
56
57button {
58 cursor: pointer;
59 &:disabled {
60 cursor: default;
61 }
62}
63
64svg {
65 flex-shrink: 0;
66}
67
68button:has(> svg) {
69 padding: 0;
70 background: none;
71 &:hover {
72 background: none;
73 }
74}
75
76html {
77 min-width: var(--min-width);
78 min-height: 600px;
79 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>");
80}
81
82html,
83body,
84#root,
85.app-container {
86 height: 100%;
87}
88
89.app-container {
90 display: flex;
91 flex-direction: column;
92 max-width: 1200px;
93 margin: 0 auto;
94 background-color: var(--color-a);
95 box-shadow: 0 0 40px rgba(0, 0, 0, 0.8);
96}
97
98.header {
99 display: flex;
100 gap: 1.5rem;
101 justify-content: space-between;
102 align-items: center;
103 padding: 1rem;
104 border-bottom: 1px solid var(--color-c);
105}
106
107.title {
108 font-size: 1.5rem;
109 font-weight: bold;
110}
111
112.main-content {
113 position: relative; /* for the loading screen in the file browser*/
114 display: flex;
115 flex: 1;
116 overflow: hidden;
117}
118
119@media (min-width: 601px) {
120 .filebrowser-toggle {
121 display: none;
122 }
123}
124
125.spacer {
126 flex-grow: 1;
127}
128
129input {
130 background: none;
131 border: 1px solid var(--color-c);
132 padding: 0.25rem;
133}
134