blob: 6566fcaebaa5c1bd4e365e5d5016387d4c61d303 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
:root {
--bg-main: #1f2526;
--bg-secondary: #364446;
--primary-element: #56d0b8;
--secondary-element: #5dd6e3;
--highlight-element: #ffec69;
}
.App {
text-align: center;
}
.Logo-container {
width: 100%;
height: 100%;
pointer-events: none;
}
.App-logo {
height: 15vmin;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
.App-logo {
animation: Logo-rotate-in 2s cubic-bezier(0.755, 0.05, 0.855, 0.06) forwards;
}
.App-main {
opacity: 0;
animation: App-fade-in 0.65s ease-in 1.8s forwards;
}
}
.App-bg {
background-color: var(--bg-main);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.App-main {
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: calc(10px + 2vmin);
}
.Grid-container {
background: var(--bg-main);
border-radius: 20px;
width: 80vmin;
height: 80vmin;
display: grid;
gap: 0.8vmin; /* exactly the same as the grid gap */
}
.Grid {
display: grid;
width: 100%;
height: auto;
grid-template-columns: repeat(4, 1fr);
gap: 0.8vmin;
}
.Fit-text {
overflow: hidden;
text-overflow: clip;
}
.Grid-square .Fit-text {
font-size: calc(10px + 1vmin);
overflow: hidden;
text-overflow: clip;
}
.Completed-group .Fit-text {
font-size: calc(10px + 2vmin);
font-style: bold;
overflow: hidden;
text-overflow: clip;
}
.Grid-square {
background: var(--secondary-element);
border: none;
border-radius: 10px;
width: 19.4vmin;
height: 19.4vmin;
font-size: 50%;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
}
.Completed-group {
background: var(--secondary-element);
border: none;
border-radius: 10px;
width: 100%;
height: 19.4vmin;
font-size: 50%;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
}
.Selected {
background: var(--highlight-element);
}
.Removed {
background: var(--bg-secondary);
cursor: default;
}
.Submit-button {
background: var(--primary-element);
border-radius: 10px;
margin-top: 2vmin;
font-size: calc(10px + 1vmin);
font-weight: bold;
width: 100%;
height: 5vh;
border: none;
cursor: pointer;
}
@keyframes Logo-rotate-in {
from {
transform: translate(-50%, -50%) rotate(0deg) scale(1);
opacity: 1;
}
to {
transform: translate(-50%, -50%) rotate(360deg) scale(5);
opacity: 0;
}
}
@keyframes App-fade-in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
|