@import url('https://fonts.googleapis.com/css2?family=Micro+5&display=swap');

* {
  box-sizing: border-box;
  overflow: hidden;
}

main {
  margin: 64px 0 0 64px;
}

svg {
  position: absolute;
}

p {
  font-family: "Micro 5", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
}

footer {
  position: absolute;
  bottom: 24px;
}

.text-dialog {
  position: fixed;
  top: 524px;
  left: 580px;
}

#door-bounds {
  fill: none;
}

#text-dialog-1, #text-dialog-2 {
  color: #f1faf1;
  margin: 0;
}

#key-1-press, #key-2-press, #key-3-press, #key-4-press, #key-5-press, #key-6-press, #key-7-press, #key-8-press, #key-9-press, #key-0-press {
  visibility: hidden;
}

.show-key {
  visibility: hidden;
}

#door02, #door03, #door04, #door05, #door06 {
  visibility: hidden;
}

#rotate-cover {
  transform-origin: 60px 60px;
}

.red-light {
  filter: blur(10px);
  filter: brightness(200%);
  filter: contrast(200%);
  filter: saturate(150%);
  filter: drop-shadow(-3px -3px 5px rgba(255, 25, 25, 0.75));
}

.green-light {
  filter: blur(10px);
  filter: brightness(200%);
  filter: contrast(200%);
  filter: saturate(150%);
  filter: drop-shadow(3px -3px 5px rgba(25, 255, 25, 0.75));
}

.blue-light {
  filter: blur(10px);
  filter: brightness(200%);
  filter: contrast(200%);
  filter: saturate(150%);
  filter: drop-shadow(-3px 3px 5px rgba(75, 75, 255, 0.75));
}

.yellow-light {
  filter: blur(10px);
  filter: brightness(200%);
  filter: contrast(200%);
  filter: saturate(150%);
  filter: drop-shadow(3px 3px 5px rgba(255, 225, 25, 0.75));
}

.cls-1 {fill: none;}
.cls-2 {fill: #662d91;}
.cls-3 {fill: #f15a24;}
.cls-4 {fill: #a12025;}
.cls-5 {fill: url(#radial-gradient-5);}
.cls-5, .cls-6, .cls-7, .cls-8, .cls-9 {opacity: .1;}
.cls-6 {fill: url(#radial-gradient-4);}
.cls-7 {fill: url(#radial-gradient-2);}
.cls-8 {fill: url(#radial-gradient-3);}
.cls-10 {fill: #1b1464;}
.cls-11 {fill: #ff7bac;}
.cls-12 {fill: url(#radial-gradient-7);}
.cls-13 {fill: url(#radial-gradient-6);}
.cls-14 {fill: url(#radial-gradient-9);}
.cls-15 {fill: url(#radial-gradient-8);}
.cls-16 {fill: #fc7646;}
.cls-17 {fill: #663b3d;}
.cls-18 {fill: #e6e6e6;}
.cls-19 {fill: url(#linear-gradient-6);}
.cls-20 {fill: #e6d817;}
.cls-21 {fill: #f7f705;}
.cls-22 {fill: #009245;}
.cls-23 {fill: #d44f20;}
.cls-24 {fill: url(#linear-gradient);}
.cls-25 {fill: lime;}
.cls-26 {fill: #fcee21;}
.cls-27 {fill: #4d4d4d;}
.cls-28 {fill: #ccc;}
.cls-29 {fill: blue;}
.cls-30 {fill: #0071bc;}
.cls-31 {fill: url(#radial-gradient-20);}
.cls-31, .cls-32, .cls-33 {opacity: .75;}
.cls-9 {fill: url(#radial-gradient);}
.cls-34 {fill: url(#radial-gradient-30);}
.cls-34, .cls-35, .cls-36, .cls-37 {opacity: .15;}
.cls-35 {fill: url(#radial-gradient-28);}
.cls-36 {fill: url(#radial-gradient-29);}
.cls-37 {fill: url(#radial-gradient-27);}
.cls-38 {fill: url(#radial-gradient-18);}
.cls-38, .cls-39, .cls-40, .cls-41, .cls-42, .cls-43, .cls-44, .cls-45, .cls-46, .cls-47, .cls-48, .cls-49, .cls-50, .cls-51, .cls-52, .cls-53, .cls-54, .cls-55, .cls-56, .cls-57, .cls-58, .cls-59, .cls-60, .cls-61, .cls-62, .cls-63, .cls-64, .cls-65, .cls-66, .cls-67, .cls-68, .cls-69, .cls-70, .cls-71, .cls-72, .cls-73, .cls-74, .cls-75, .cls-76, .cls-77, .cls-78, .cls-79, .cls-80, .cls-81, .cls-82, .cls-83, .cls-84, .cls-85, .cls-86, .cls-87, .cls-88, .cls-89, .cls-90, .cls-91, .cls-92, .cls-93, .cls-94, .cls-95, .cls-96, .cls-97, .cls-98, .cls-99, .cls-100, .cls-101, .cls-102, .cls-103, .cls-104, .cls-105, .cls-106, .cls-107, .cls-108, .cls-109, .cls-110, .cls-111, .cls-112, .cls-113, .cls-114, .cls-115, .cls-116, .cls-117, .cls-118, .cls-119, .cls-120, .cls-121, .cls-122, .cls-123, .cls-124, .cls-125, .cls-126, .cls-127, .cls-128, .cls-129, .cls-130, .cls-131, .cls-132, .cls-133, .cls-134, .cls-135, .cls-136, .cls-137, .cls-138, .cls-139, .cls-140, .cls-141, .cls-142, .cls-143, .cls-144, .cls-145, .cls-146, .cls-147, .cls-148, .cls-149 {opacity: .5;}
.cls-39 {fill: url(#radial-gradient-15);}
.cls-40 {fill: url(#radial-gradient-11);}
.cls-41 {fill: url(#radial-gradient-17);}
.cls-42 {fill: url(#radial-gradient-13);}
.cls-43 {fill: url(#radial-gradient-48);}
.cls-44 {fill: url(#radial-gradient-47);}
.cls-45 {fill: url(#radial-gradient-36);}
.cls-46 {fill: url(#radial-gradient-37);}
.cls-47 {fill: url(#radial-gradient-31);}
.cls-48 {fill: url(#radial-gradient-32);}
.cls-49 {fill: url(#radial-gradient-33);}
.cls-50 {fill: url(#radial-gradient-38);}
.cls-51 {fill: url(#radial-gradient-39);}
.cls-52 {fill: url(#radial-gradient-50);}
.cls-53 {fill: url(#radial-gradient-55);}
.cls-54 {fill: url(#radial-gradient-35);}
.cls-55 {fill: url(#radial-gradient-34);}
.cls-56 {fill: url(#radial-gradient-22);}
.cls-57 {fill: url(#radial-gradient-26);}
.cls-58 {fill: url(#radial-gradient-45);}
.cls-59 {fill: url(#radial-gradient-51);}
.cls-60 {fill: url(#radial-gradient-52);}
.cls-61 {fill: url(#radial-gradient-59);}
.cls-62 {fill: url(#radial-gradient-53);}
.cls-63 {fill: url(#radial-gradient-54);}
.cls-64 {fill: url(#radial-gradient-56);}
.cls-65 {fill: url(#radial-gradient-58);}
.cls-66 {fill: url(#radial-gradient-57);}
.cls-67 {fill: url(#radial-gradient-40);}
.cls-68 {fill: url(#radial-gradient-41);}
.cls-69 {fill: url(#radial-gradient-46);}
.cls-70 {fill: url(#radial-gradient-42);}
.cls-71 {fill: url(#radial-gradient-49);}
.cls-72 {fill: url(#radial-gradient-44);}
.cls-73 {fill: url(#radial-gradient-43);}
.cls-74 {fill: url(#radial-gradient-79);}
.cls-75 {fill: url(#radial-gradient-61);}
.cls-76 {fill: url(#radial-gradient-66);}
.cls-77 {fill: url(#radial-gradient-60);}
.cls-78 {fill: url(#radial-gradient-70);}
.cls-79 {fill: url(#radial-gradient-72);}
.cls-80 {fill: url(#radial-gradient-78);}
.cls-81 {fill: url(#radial-gradient-75);}
.cls-82 {fill: url(#radial-gradient-77);}
.cls-83 {fill: url(#radial-gradient-68);}
.cls-84 {fill: url(#radial-gradient-69);}
.cls-85 {fill: url(#radial-gradient-62);}
.cls-86 {fill: url(#radial-gradient-64);}
.cls-87 {fill: url(#radial-gradient-65);}
.cls-88 {fill: url(#radial-gradient-63);}
.cls-89 {fill: url(#radial-gradient-67);}
.cls-90 {fill: url(#radial-gradient-95);}
.cls-91 {fill: url(#radial-gradient-90);}
.cls-92 {fill: url(#radial-gradient-92);}
.cls-93 {fill: url(#radial-gradient-91);}
.cls-94 {fill: url(#radial-gradient-94);}
.cls-95 {fill: url(#radial-gradient-93);}
.cls-96 {fill: url(#radial-gradient-71);}
.cls-97 {fill: url(#radial-gradient-76);}
.cls-98 {fill: url(#radial-gradient-73);}
.cls-99 {fill: url(#radial-gradient-74);}
.cls-100 {fill: url(#radial-gradient-87);}
.cls-101 {fill: url(#radial-gradient-84);}
.cls-102 {fill: url(#radial-gradient-89);}
.cls-103 {fill: url(#radial-gradient-86);}
.cls-104 {fill: url(#radial-gradient-81);}
.cls-105 {fill: url(#radial-gradient-88);}
.cls-106 {fill: url(#radial-gradient-80);}
.cls-107 {fill: url(#radial-gradient-83);}
.cls-108 {fill: url(#radial-gradient-82);}
.cls-109 {fill: url(#radial-gradient-85);}
.cls-150 {fill: url(#radial-gradient-16);}
.cls-150, .cls-151, .cls-152, .cls-153, .cls-154, .cls-155, .cls-156, .cls-157, .cls-158, .cls-159, .cls-160 {opacity: .25;}
.cls-151 {fill: url(#radial-gradient-14);}
.cls-152 {fill: url(#radial-gradient-12);}
.cls-153 {fill: url(#radial-gradient-21);}
.cls-154 {fill: url(#radial-gradient-24);}
.cls-155 {fill: url(#radial-gradient-25);}
.cls-156 {fill: url(#radial-gradient-96);}
.cls-161 {fill: #ff4a94;}
.cls-162 {fill: url(#radial-gradient-100);}
.cls-163 {fill: #870007;}
.cls-157 {fill: url(#linear-gradient-2);}
.cls-110 {fill: url(#linear-gradient-5);}
.cls-111 {fill: url(#linear-gradient-7);}
.cls-112 {fill: url(#linear-gradient-8);}
.cls-113 {fill: url(#linear-gradient-3);}
.cls-114 {fill: url(#linear-gradient-4);}
.cls-115 {fill: url(#linear-gradient-9);}
.cls-164 {fill: url(#radial-gradient-10);}
.cls-165 {fill: url(#radial-gradient-19);}
.cls-166 {fill: url(#radial-gradient-23);}
.cls-167 {fill: url(#radial-gradient-98);}
.cls-168 {fill: url(#radial-gradient-97);}
.cls-169 {fill: url(#radial-gradient-99);}
.cls-170 {fill: #ff0;}
.cls-171 {fill: #39b54a;}
.cls-172 {fill: #666;}
.cls-173 {fill: #59166e;}
.cls-174 {fill: #204868;}
.cls-175 {fill: #f7931e;}
.cls-116 {fill: url(#linear-gradient-79);}
.cls-117 {fill: url(#linear-gradient-78);}
.cls-118 {fill: url(#linear-gradient-77);}
.cls-119 {fill: url(#linear-gradient-14);}
.cls-120 {fill: url(#linear-gradient-15);}
.cls-121 {fill: url(#linear-gradient-17);}
.cls-122 {fill: url(#linear-gradient-80);}
.cls-176 {fill: url(#linear-gradient-43);}
.cls-177 {fill: url(#linear-gradient-40);}
.cls-178 {fill: url(#linear-gradient-41);}
.cls-179 {fill: url(#linear-gradient-42);}
.cls-180 {fill: url(#linear-gradient-49);}
.cls-181 {fill: url(#linear-gradient-48);}
.cls-182 {fill: url(#linear-gradient-45);}
.cls-183 {fill: url(#linear-gradient-47);}
.cls-184 {fill: url(#linear-gradient-44);}
.cls-185 {fill: url(#linear-gradient-46);}
.cls-186 {fill: url(#linear-gradient-10);}
.cls-187 {fill: url(#linear-gradient-11);}
.cls-188 {fill: url(#linear-gradient-12);}
.cls-189 {fill: url(#linear-gradient-13);}
.cls-190 {fill: url(#linear-gradient-19);}
.cls-191 {fill: url(#linear-gradient-21);}
.cls-192 {fill: url(#linear-gradient-20);}
.cls-193 {fill: url(#linear-gradient-22);}
.cls-194 {fill: url(#linear-gradient-23);}
.cls-195 {fill: url(#linear-gradient-28);}
.cls-196 {fill: url(#linear-gradient-25);}
.cls-197 {fill: url(#linear-gradient-32);}
.cls-198 {fill: url(#linear-gradient-31);}
.cls-199 {fill: url(#linear-gradient-33);}
.cls-200 {fill: url(#linear-gradient-30);}
.cls-201 {fill: url(#linear-gradient-16);}
.cls-202 {fill: url(#linear-gradient-18);}
.cls-203 {fill: url(#linear-gradient-35);}
.cls-204 {fill: url(#linear-gradient-34);}
.cls-205 {fill: url(#linear-gradient-36);}
.cls-206 {fill: url(#linear-gradient-38);}
.cls-207 {fill: url(#linear-gradient-27);}
.cls-208 {fill: url(#linear-gradient-24);}
.cls-209 {fill: url(#linear-gradient-26);}
.cls-210 {fill: url(#linear-gradient-29);}
.cls-211 {fill: url(#linear-gradient-37);}
.cls-212 {fill: url(#linear-gradient-39);}
.cls-213 {fill: url(#linear-gradient-57);}
.cls-214 {fill: url(#linear-gradient-58);}
.cls-215 {fill: url(#linear-gradient-59);}
.cls-216 {fill: url(#linear-gradient-53);}
.cls-217 {fill: url(#linear-gradient-54);}
.cls-218 {fill: url(#linear-gradient-55);}
.cls-219 {fill: url(#linear-gradient-56);}
.cls-220 {fill: url(#linear-gradient-50);}
.cls-221 {fill: url(#linear-gradient-51);}
.cls-222 {fill: url(#linear-gradient-52);}
.cls-223 {fill: url(#linear-gradient-67);}
.cls-224 {fill: url(#linear-gradient-68);}
.cls-225 {fill: url(#linear-gradient-69);}
.cls-226 {fill: url(#linear-gradient-63);}
.cls-227 {fill: url(#linear-gradient-64);}
.cls-228 {fill: url(#linear-gradient-65);}
.cls-229 {fill: url(#linear-gradient-66);}
.cls-230 {fill: url(#linear-gradient-60);}
.cls-231 {fill: url(#linear-gradient-61);}
.cls-232 {fill: url(#linear-gradient-62);}
.cls-233 {fill: url(#linear-gradient-75);}
.cls-234 {fill: url(#linear-gradient-72);}
.cls-235 {fill: url(#linear-gradient-74);}
.cls-236 {fill: url(#linear-gradient-76);}
.cls-237 {fill: url(#linear-gradient-71);}
.cls-238 {fill: url(#linear-gradient-73);}
.cls-239 {fill: url(#linear-gradient-70);}
.cls-240 {fill: url(#linear-gradient-87);}
.cls-241 {fill: url(#linear-gradient-88);}
.cls-242 {fill: url(#linear-gradient-89);}
.cls-243 {fill: url(#linear-gradient-85);}
.cls-244 {fill: url(#linear-gradient-83);}
.cls-245 {fill: url(#linear-gradient-82);}
.cls-246 {fill: url(#linear-gradient-84);}
.cls-247 {fill: url(#linear-gradient-86);}
.cls-248 {fill: url(#linear-gradient-81);}
.cls-249 {fill: url(#linear-gradient-99);}
.cls-250 {fill: url(#linear-gradient-96);}
.cls-251 {fill: url(#linear-gradient-97);}
.cls-252 {fill: url(#linear-gradient-98);}
.cls-253 {fill: url(#linear-gradient-92);}
.cls-254 {fill: url(#linear-gradient-93);}
.cls-255 {fill: url(#linear-gradient-94);}
.cls-256 {fill: url(#linear-gradient-91);}
.cls-257 {fill: url(#linear-gradient-95);}
.cls-258 {fill: url(#linear-gradient-90);}
.cls-32 {fill: url(#linear-gradient-125);}
.cls-123 {fill: url(#linear-gradient-200);}
.cls-124 {fill: url(#linear-gradient-201);}
.cls-125 {fill: url(#linear-gradient-164);}
.cls-126 {fill: url(#linear-gradient-162);}
.cls-127 {fill: url(#linear-gradient-158);}
.cls-128 {fill: url(#linear-gradient-160);}
.cls-129 {fill: url(#linear-gradient-168);}
.cls-130 {fill: url(#linear-gradient-166);}
.cls-131 {fill: url(#linear-gradient-154);}
.cls-132 {fill: url(#linear-gradient-156);}
.cls-133 {fill: url(#linear-gradient-150);}
.cls-134 {fill: url(#linear-gradient-152);}
.cls-135 {fill: url(#linear-gradient-148);}
.cls-136 {fill: url(#linear-gradient-178);}
.cls-137 {fill: url(#linear-gradient-176);}
.cls-138 {fill: url(#linear-gradient-174);}
.cls-139 {fill: url(#linear-gradient-172);}
.cls-140 {fill: url(#linear-gradient-170);}
.cls-141 {fill: url(#linear-gradient-192);}
.cls-142 {fill: url(#linear-gradient-190);}
.cls-143 {fill: url(#linear-gradient-193);}
.cls-144 {fill: url(#linear-gradient-191);}
.cls-145 {fill: url(#linear-gradient-180);}
.cls-146 {fill: url(#linear-gradient-182);}
.cls-147 {fill: url(#linear-gradient-184);}
.cls-148 {fill: url(#linear-gradient-186);}
.cls-158 {fill: url(#linear-gradient-130);}
.cls-159 {fill: url(#linear-gradient-131);}
.cls-259 {fill: #2e3192;}
.cls-260 {fill: #29abe2;}
.cls-261 {opacity: .12;}
.cls-262 {fill: red;}
.cls-263 {fill: #f2f2f2;}
.cls-264 {fill: #93278f;}
.cls-265 {fill: #c1272d;}
.cls-266 {fill: #b3b3b3;}
.cls-267 {fill: #ffff1c;}
.cls-268 {fill: url(#linear-gradient-159);}
.cls-269 {fill: url(#linear-gradient-163);}
.cls-270 {fill: url(#linear-gradient-161);}
.cls-271 {fill: url(#linear-gradient-155);}
.cls-272 {fill: url(#linear-gradient-167);}
.cls-273 {fill: url(#linear-gradient-165);}
.cls-274 {fill: url(#linear-gradient-175);}
.cls-275 {fill: url(#linear-gradient-173);}
.cls-276 {fill: url(#linear-gradient-171);}
.cls-277 {fill: url(#linear-gradient-179);}
.cls-278 {fill: url(#linear-gradient-177);}
.cls-279 {fill: url(#linear-gradient-145);}
.cls-280 {fill: url(#linear-gradient-144);}
.cls-281 {fill: url(#linear-gradient-153);}
.cls-282 {fill: url(#linear-gradient-151);}
.cls-283 {fill: url(#linear-gradient-157);}
.cls-284 {fill: url(#linear-gradient-149);}
.cls-285 {fill: url(#linear-gradient-169);}
.cls-286 {fill: url(#linear-gradient-141);}
.cls-287 {fill: url(#linear-gradient-140);}
.cls-288 {fill: url(#linear-gradient-147);}
.cls-289 {fill: url(#linear-gradient-146);}
.cls-290 {fill: url(#linear-gradient-143);}
.cls-291 {fill: url(#linear-gradient-142);}
.cls-292 {fill: url(#linear-gradient-107);}
.cls-293 {fill: url(#linear-gradient-108);}
.cls-294 {fill: url(#linear-gradient-109);}
.cls-295 {fill: url(#linear-gradient-105);}
.cls-296 {fill: url(#linear-gradient-106);}
.cls-297 {fill: url(#linear-gradient-104);}
.cls-298 {fill: url(#linear-gradient-103);}
.cls-299 {fill: url(#linear-gradient-102);}
.cls-300 {fill: url(#linear-gradient-101);}
.cls-301 {fill: url(#linear-gradient-100);}
.cls-302 {fill: url(#linear-gradient-124);}
.cls-303 {fill: url(#linear-gradient-123);}
.cls-304 {fill: url(#linear-gradient-129);}
.cls-305 {fill: url(#linear-gradient-122);}
.cls-306 {fill: url(#linear-gradient-126);}
.cls-307 {fill: url(#linear-gradient-121);}
.cls-308 {fill: url(#linear-gradient-120);}
.cls-309 {fill: url(#linear-gradient-196);}
.cls-310 {fill: url(#linear-gradient-197);}
.cls-311 {fill: url(#linear-gradient-198);}
.cls-312 {fill: url(#linear-gradient-195);}
.cls-313 {fill: url(#linear-gradient-194);}
.cls-314 {fill: url(#linear-gradient-189);}
.cls-315 {fill: url(#linear-gradient-187);}
.cls-316 {fill: url(#linear-gradient-188);}
.cls-317 {fill: url(#linear-gradient-181);}
.cls-318 {fill: url(#linear-gradient-185);}
.cls-319 {fill: url(#linear-gradient-183);}
.cls-320 {fill: url(#linear-gradient-116);}
.cls-321 {fill: url(#linear-gradient-117);}
.cls-322 {fill: url(#linear-gradient-115);}
.cls-323 {fill: url(#linear-gradient-110);}
.cls-324 {fill: url(#linear-gradient-114);}
.cls-325 {fill: url(#linear-gradient-113);}
.cls-326 {fill: url(#linear-gradient-118);}
.cls-327 {fill: url(#linear-gradient-112);}
.cls-328 {fill: url(#linear-gradient-111);}
.cls-329 {fill: url(#linear-gradient-133);}
.cls-330 {fill: url(#linear-gradient-139);}
.cls-331 {fill: url(#linear-gradient-138);}
.cls-332 {fill: url(#linear-gradient-136);}
.cls-333 {fill: url(#linear-gradient-135);}
.cls-334 {fill: url(#linear-gradient-134);}
.cls-335 {fill: url(#linear-gradient-137);}
.cls-336 {fill: url(#linear-gradient-132);}
.cls-337 {fill: url(#linear-gradient-199);}
.cls-338 {fill: url(#linear-gradient-128);}
.cls-339 {fill: url(#linear-gradient-127);}
.cls-340 {fill: url(#linear-gradient-119);}
.cls-341 {fill: #fbb03b;}
.cls-342 {fill: #006837;}
.cls-343 {fill: #6080f8;}
.cls-344 {fill: #1a1a1a;}
.cls-345 {fill: #999;}
.cls-345:hover {fill: #f7931e;}
.cls-345:active {fill: #969696;}
.cls-346 {fill: #00361c;}
.cls-347 {fill: #ff1d25;}