aboutsummaryrefslogtreecommitdiff
path: root/client/gui/resources
diff options
context:
space:
mode:
Diffstat (limited to 'client/gui/resources')
-rw-r--r--client/gui/resources/fonts/font-azaret-mono.woff2bin0 -> 46132 bytes
-rw-r--r--client/gui/resources/fonts/font-azaret-mono.woff2.import35
-rw-r--r--client/gui/resources/fonts/font-josefin-sans.woff2bin0 -> 47448 bytes
-rw-r--r--client/gui/resources/fonts/font-josefin-sans.woff2.import35
-rw-r--r--client/gui/resources/fonts/font-sansita-swashed.woff2bin0 -> 92808 bytes
-rw-r--r--client/gui/resources/fonts/font-sansita-swashed.woff2.import35
-rw-r--r--client/gui/resources/icons/arrow.svg1
-rw-r--r--client/gui/resources/icons/arrow.svg.import37
-rw-r--r--client/gui/resources/icons/arrow_focus.svg1
-rw-r--r--client/gui/resources/icons/arrow_focus.svg.import37
-rw-r--r--client/gui/resources/icons/arrow_hover.svg1
-rw-r--r--client/gui/resources/icons/arrow_hover.svg.import37
-rw-r--r--client/gui/resources/icons/arrow_pressed.svg1
-rw-r--r--client/gui/resources/icons/arrow_pressed.svg.import37
-rw-r--r--client/gui/resources/icons/boost.webpbin0 -> 3670 bytes
-rw-r--r--client/gui/resources/icons/boost.webp.import34
-rw-r--r--client/gui/resources/icons/circle.svg1
-rw-r--r--client/gui/resources/icons/circle.svg.import37
-rw-r--r--client/gui/resources/icons/controller_x.svg6
-rw-r--r--client/gui/resources/icons/controller_x.svg.import37
-rw-r--r--client/gui/resources/icons/controller_y.svg6
-rw-r--r--client/gui/resources/icons/controller_y.svg.import37
-rw-r--r--client/gui/resources/icons/hint.svg10
-rw-r--r--client/gui/resources/icons/hint.svg.import37
-rw-r--r--client/gui/resources/icons/interact.webpbin0 -> 3604 bytes
-rw-r--r--client/gui/resources/icons/interact.webp.import34
-rw-r--r--client/gui/resources/icons/pause.webpbin0 -> 3144 bytes
-rw-r--r--client/gui/resources/icons/pause.webp.import34
-rw-r--r--client/gui/resources/icons/plus.svg4
-rw-r--r--client/gui/resources/icons/plus.svg.import37
-rw-r--r--client/gui/resources/icons/reset.svg39
-rw-r--r--client/gui/resources/icons/reset.svg.import37
-rw-r--r--client/gui/resources/icons/select_directory.svg1
-rw-r--r--client/gui/resources/icons/select_directory.svg.import37
-rw-r--r--client/gui/resources/icons/select_file.svg1
-rw-r--r--client/gui/resources/icons/select_file.svg.import37
-rw-r--r--client/gui/resources/icons/user.webpbin0 -> 15122 bytes
-rw-r--r--client/gui/resources/icons/user.webp.import34
-rw-r--r--client/gui/resources/materials/blur_material.tres11
-rw-r--r--client/gui/resources/materials/dark_blur_material.tres11
-rw-r--r--client/gui/resources/materials/grayscale_material.tres6
-rw-r--r--client/gui/resources/materials/printed_material.tres6
-rw-r--r--client/gui/resources/shaders/blur_mix.gdshader34
-rw-r--r--client/gui/resources/shaders/blur_mix.gdshader.uid1
-rw-r--r--client/gui/resources/shaders/grayscale.gdshader25
-rw-r--r--client/gui/resources/shaders/grayscale.gdshader.uid1
-rw-r--r--client/gui/resources/shaders/paper.tres14
-rw-r--r--client/gui/resources/shaders/printed.gdshader22
-rw-r--r--client/gui/resources/shaders/printed.gdshader.uid1
-rw-r--r--client/gui/resources/sounds/click.oggbin0 -> 24573 bytes
-rw-r--r--client/gui/resources/sounds/click.ogg.import19
-rw-r--r--client/gui/resources/sounds/failure.oggbin0 -> 8296 bytes
-rw-r--r--client/gui/resources/sounds/failure.ogg.import19
-rw-r--r--client/gui/resources/sounds/game_start.oggbin0 -> 73234 bytes
-rw-r--r--client/gui/resources/sounds/game_start.ogg.import19
-rw-r--r--client/gui/resources/sounds/hover.oggbin0 -> 15692 bytes
-rw-r--r--client/gui/resources/sounds/hover.ogg.import19
-rw-r--r--client/gui/resources/sounds/page.oggbin0 -> 11745 bytes
-rw-r--r--client/gui/resources/sounds/page.ogg.import19
-rw-r--r--client/gui/resources/sounds/sign.oggbin0 -> 17980 bytes
-rw-r--r--client/gui/resources/sounds/sign.ogg.import19
-rw-r--r--client/gui/resources/sounds/success.oggbin0 -> 10840 bytes
-rw-r--r--client/gui/resources/sounds/success.ogg.import19
-rw-r--r--client/gui/resources/style/error_focus_style.tres17
-rw-r--r--client/gui/resources/style/focus_style.tres17
-rw-r--r--client/gui/resources/style/hover_style.tres12
-rw-r--r--client/gui/resources/style/item_bubble_progress_style.tres5
-rw-r--r--client/gui/resources/style/item_bubble_progress_style_background.tres4
-rw-r--r--client/gui/resources/style/lobby_panel_override.tres4
-rw-r--r--client/gui/resources/style/normal_style.tres12
-rw-r--r--client/gui/resources/style/panel_style.tres8
-rw-r--r--client/gui/resources/style/panel_style_sidebar.tres3
-rw-r--r--client/gui/resources/style/paper_panel_style.tres6
-rw-r--r--client/gui/resources/theme/paper.tres109
-rw-r--r--client/gui/resources/theme/theme.tres70
75 files changed, 1289 insertions, 0 deletions
diff --git a/client/gui/resources/fonts/font-azaret-mono.woff2 b/client/gui/resources/fonts/font-azaret-mono.woff2
new file mode 100644
index 00000000..c413b182
--- /dev/null
+++ b/client/gui/resources/fonts/font-azaret-mono.woff2
Binary files differ
diff --git a/client/gui/resources/fonts/font-azaret-mono.woff2.import b/client/gui/resources/fonts/font-azaret-mono.woff2.import
new file mode 100644
index 00000000..364d3ba3
--- /dev/null
+++ b/client/gui/resources/fonts/font-azaret-mono.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://bk704sc5gkrb3"
+path="res://.godot/imported/font-azaret-mono.woff2-d201b5a023a336fb85edf509d0dd9fe6.fontdata"
+
+[deps]
+
+source_file="res://gui/resources/fonts/font-azaret-mono.woff2"
+dest_files=["res://.godot/imported/font-azaret-mono.woff2-d201b5a023a336fb85edf509d0dd9fe6.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=1
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/client/gui/resources/fonts/font-josefin-sans.woff2 b/client/gui/resources/fonts/font-josefin-sans.woff2
new file mode 100644
index 00000000..dce2708f
--- /dev/null
+++ b/client/gui/resources/fonts/font-josefin-sans.woff2
Binary files differ
diff --git a/client/gui/resources/fonts/font-josefin-sans.woff2.import b/client/gui/resources/fonts/font-josefin-sans.woff2.import
new file mode 100644
index 00000000..849d69a4
--- /dev/null
+++ b/client/gui/resources/fonts/font-josefin-sans.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://5ixo6b3bd3km"
+path="res://.godot/imported/font-josefin-sans.woff2-f1848192fffe0aa973b972af6b2bb0c4.fontdata"
+
+[deps]
+
+source_file="res://gui/resources/fonts/font-josefin-sans.woff2"
+dest_files=["res://.godot/imported/font-josefin-sans.woff2-f1848192fffe0aa973b972af6b2bb0c4.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=1
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/client/gui/resources/fonts/font-sansita-swashed.woff2 b/client/gui/resources/fonts/font-sansita-swashed.woff2
new file mode 100644
index 00000000..5c665fb0
--- /dev/null
+++ b/client/gui/resources/fonts/font-sansita-swashed.woff2
Binary files differ
diff --git a/client/gui/resources/fonts/font-sansita-swashed.woff2.import b/client/gui/resources/fonts/font-sansita-swashed.woff2.import
new file mode 100644
index 00000000..7dab3339
--- /dev/null
+++ b/client/gui/resources/fonts/font-sansita-swashed.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://bo4vh5xkpvrh1"
+path="res://.godot/imported/font-sansita-swashed.woff2-094d5cb1ef3d4e2539ac9238e4b7564c.fontdata"
+
+[deps]
+
+source_file="res://gui/resources/fonts/font-sansita-swashed.woff2"
+dest_files=["res://.godot/imported/font-sansita-swashed.woff2-094d5cb1ef3d4e2539ac9238e4b7564c.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=1
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/client/gui/resources/icons/arrow.svg b/client/gui/resources/icons/arrow.svg
new file mode 100644
index 00000000..bafc9e69
--- /dev/null
+++ b/client/gui/resources/icons/arrow.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 70 100"><path stroke="white" stroke-width="10" fill="none" d="M20,20 L50,50 L 20,80" /></svg> \ No newline at end of file
diff --git a/client/gui/resources/icons/arrow.svg.import b/client/gui/resources/icons/arrow.svg.import
new file mode 100644
index 00000000..5ea9e3c4
--- /dev/null
+++ b/client/gui/resources/icons/arrow.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://35rd5gamtyqm"
+path="res://.godot/imported/arrow.svg-5c6a786f82da6fec05fdd009d40f9e81.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/resources/icons/arrow.svg"
+dest_files=["res://.godot/imported/arrow.svg-5c6a786f82da6fec05fdd009d40f9e81.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=2.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/client/gui/resources/icons/arrow_focus.svg b/client/gui/resources/icons/arrow_focus.svg
new file mode 100644
index 00000000..456f0261
--- /dev/null
+++ b/client/gui/resources/icons/arrow_focus.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 70 100"><path stroke="#aaaaff" stroke-width="10" fill="none" d="M20,20 L50,50 L 20,80" /></svg> \ No newline at end of file
diff --git a/client/gui/resources/icons/arrow_focus.svg.import b/client/gui/resources/icons/arrow_focus.svg.import
new file mode 100644
index 00000000..e46a7698
--- /dev/null
+++ b/client/gui/resources/icons/arrow_focus.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://by3qsrpxnfq4w"
+path="res://.godot/imported/arrow_focus.svg-186cef816cf6f92795a6ffbcf94d9391.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/resources/icons/arrow_focus.svg"
+dest_files=["res://.godot/imported/arrow_focus.svg-186cef816cf6f92795a6ffbcf94d9391.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=2.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/client/gui/resources/icons/arrow_hover.svg b/client/gui/resources/icons/arrow_hover.svg
new file mode 100644
index 00000000..098063ec
--- /dev/null
+++ b/client/gui/resources/icons/arrow_hover.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 70 100"><path stroke="#aaaaaa" stroke-width="10" fill="none" d="M20,20 L50,50 L 20,80" /></svg> \ No newline at end of file
diff --git a/client/gui/resources/icons/arrow_hover.svg.import b/client/gui/resources/icons/arrow_hover.svg.import
new file mode 100644
index 00000000..f750cbbc
--- /dev/null
+++ b/client/gui/resources/icons/arrow_hover.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b33qmctbpf48g"
+path="res://.godot/imported/arrow_hover.svg-c150da1cc405914a2d4c1388aea94f6b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/resources/icons/arrow_hover.svg"
+dest_files=["res://.godot/imported/arrow_hover.svg-c150da1cc405914a2d4c1388aea94f6b.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=2.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/client/gui/resources/icons/arrow_pressed.svg b/client/gui/resources/icons/arrow_pressed.svg
new file mode 100644
index 00000000..1abd9a8f
--- /dev/null
+++ b/client/gui/resources/icons/arrow_pressed.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 70 100"><path stroke="gray" stroke-width="10" fill="none" d="M20,20 L50,50 L 20,80" /></svg> \ No newline at end of file
diff --git a/client/gui/resources/icons/arrow_pressed.svg.import b/client/gui/resources/icons/arrow_pressed.svg.import
new file mode 100644
index 00000000..0cc07c10
--- /dev/null
+++ b/client/gui/resources/icons/arrow_pressed.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://j75dbytlbju"
+path="res://.godot/imported/arrow_pressed.svg-72b6835d5e0ec811cf9d5e7abb401b66.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/resources/icons/arrow_pressed.svg"
+dest_files=["res://.godot/imported/arrow_pressed.svg-72b6835d5e0ec811cf9d5e7abb401b66.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=2.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/client/gui/resources/icons/boost.webp b/client/gui/resources/icons/boost.webp
new file mode 100644
index 00000000..afea92df
--- /dev/null
+++ b/client/gui/resources/icons/boost.webp
Binary files differ
diff --git a/client/gui/resources/icons/boost.webp.import b/client/gui/resources/icons/boost.webp.import
new file mode 100644
index 00000000..9fb9ddf8
--- /dev/null
+++ b/client/gui/resources/icons/boost.webp.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bnxllatlo4clg"
+path="res://.godot/imported/boost.webp-877bfed2e298bb49bb39ce05f703e97f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/resources/icons/boost.webp"
+dest_files=["res://.godot/imported/boost.webp-877bfed2e298bb49bb39ce05f703e97f.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/client/gui/resources/icons/circle.svg b/client/gui/resources/icons/circle.svg
new file mode 100644
index 00000000..05fab1cb
--- /dev/null
+++ b/client/gui/resources/icons/circle.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle stroke="none" fill="black" cx="50" cy="50" r="50" /></svg>
diff --git a/client/gui/resources/icons/circle.svg.import b/client/gui/resources/icons/circle.svg.import
new file mode 100644
index 00000000..d49f9bc4
--- /dev/null
+++ b/client/gui/resources/icons/circle.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d2xf8qdh01e41"
+path="res://.godot/imported/circle.svg-87329764c20f8477bea7d035824f68a6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/resources/icons/circle.svg"
+dest_files=["res://.godot/imported/circle.svg-87329764c20f8477bea7d035824f68a6.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/client/gui/resources/icons/controller_x.svg b/client/gui/resources/icons/controller_x.svg
new file mode 100644
index 00000000..9a5df2ea
--- /dev/null
+++ b/client/gui/resources/icons/controller_x.svg
@@ -0,0 +1,6 @@
+<svg width="64" height="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs/>
+ <g>
+ <path stroke="none" fill="#009FEB" d="M56 32 Q56 42 48.95 48.95 42 56 32 56 22.05 56 15 48.95 8 42 8 32 8 22.05 15 15 22.05 8 32 8 42 8 48.95 15 56 22.05 56 32 M23 25 L29 32 23 39 23 40 25.25 42 26.4 42 32 35.5 37.65 42 38.75 42 41 40 41 39 35 32 41 25 41 24 38.75 22 37.65 22 32 28.55 26.4 22 25.25 22 23 24 23 25"/>
+ </g>
+</svg> \ No newline at end of file
diff --git a/client/gui/resources/icons/controller_x.svg.import b/client/gui/resources/icons/controller_x.svg.import
new file mode 100644
index 00000000..568c8672
--- /dev/null
+++ b/client/gui/resources/icons/controller_x.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bsx6fo7mv2u6a"
+path="res://.godot/imported/controller_x.svg-84020d372efbd30d861ba44f5b1c1f7a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/resources/icons/controller_x.svg"
+dest_files=["res://.godot/imported/controller_x.svg-84020d372efbd30d861ba44f5b1c1f7a.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/client/gui/resources/icons/controller_y.svg b/client/gui/resources/icons/controller_y.svg
new file mode 100644
index 00000000..a378078b
--- /dev/null
+++ b/client/gui/resources/icons/controller_y.svg
@@ -0,0 +1,6 @@
+<svg width="64" height="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs/>
+ <g>
+ <path stroke="none" fill="#FEB504" d="M56 32 Q56 42 48.95 48.95 42 56 32 56 22.05 56 15 48.95 8 42 8 32 8 22.05 15 15 22.05 8 32 8 42 8 48.95 15 56 22.05 56 32 M23 25 L30 32.9 30 42 34 42 34 32.9 41 25 41 24 38.75 22 37.65 22 32 28.55 26.4 22 25.25 22 23 24 23 25"/>
+ </g>
+</svg> \ No newline at end of file
diff --git a/client/gui/resources/icons/controller_y.svg.import b/client/gui/resources/icons/controller_y.svg.import
new file mode 100644
index 00000000..f3f67231
--- /dev/null
+++ b/client/gui/resources/icons/controller_y.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cr2a6ide6vnnv"
+path="res://.godot/imported/controller_y.svg-a116dee9a585fceb0e69cea069bc92d3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/resources/icons/controller_y.svg"
+dest_files=["res://.godot/imported/controller_y.svg-a116dee9a585fceb0e69cea069bc92d3.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/client/gui/resources/icons/hint.svg b/client/gui/resources/icons/hint.svg
new file mode 100644
index 00000000..ad64de91
--- /dev/null
+++ b/client/gui/resources/icons/hint.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="64px" height="64px" viewBox="0 0 64 64" version="1.1">
+<g id="surface1">
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,85.098039%,51.372549%);fill-opacity:1;" d="M 51.554688 19.664062 C 51.554688 31.109375 42.667969 32.886719 42.667969 43.554688 C 42.667969 49.0625 37.113281 49.527344 32.890625 49.527344 C 29.238281 49.527344 21.179688 48.140625 21.179688 43.550781 C 21.179688 32.890625 12.445312 31.109375 12.445312 19.664062 C 12.445312 8.941406 21.839844 0.25 32.148438 0.25 C 42.457031 0.25 51.554688 8.941406 51.554688 19.664062 Z M 51.554688 19.664062 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(80%,83.921569%,86.666667%);fill-opacity:1;" d="M 39.40625 57.777344 C 39.40625 59.25 35.4375 62.222656 32 62.222656 C 28.5625 62.222656 24.59375 59.25 24.59375 57.777344 C 24.59375 56.304688 28.5625 56.890625 32 56.890625 C 35.4375 56.890625 39.40625 56.304688 39.40625 57.777344 Z M 39.40625 57.777344 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,80%,30.196078%);fill-opacity:1;" d="M 40.367188 18.296875 C 39.671875 17.605469 38.550781 17.605469 37.855469 18.296875 L 32 24.152344 L 26.144531 18.296875 C 25.449219 17.605469 24.328125 17.605469 23.632812 18.296875 C 22.9375 18.992188 22.9375 20.117188 23.632812 20.8125 L 30.222656 27.402344 L 30.222656 46.222656 C 30.222656 47.207031 31.019531 48 32 48 C 32.980469 48 33.777344 47.207031 33.777344 46.222656 L 33.777344 27.402344 L 40.367188 20.8125 C 41.0625 20.117188 41.0625 18.992188 40.367188 18.296875 Z M 40.367188 18.296875 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(60%,66.666667%,70.980392%);fill-opacity:1;" d="M 42.667969 55.109375 C 42.667969 57.074219 41.074219 58.667969 39.109375 58.667969 L 24.890625 58.667969 C 22.925781 58.667969 21.332031 57.074219 21.332031 55.109375 L 21.332031 44.445312 L 42.667969 44.445312 Z M 42.667969 55.109375 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(80%,83.921569%,86.666667%);fill-opacity:1;" d="M 21.332031 56.890625 C 20.476562 56.890625 19.722656 56.273438 19.582031 55.402344 C 19.417969 54.4375 20.074219 53.519531 21.042969 53.359375 L 42.375 49.800781 C 43.34375 49.628906 44.257812 50.296875 44.417969 51.265625 C 44.582031 52.230469 43.925781 53.148438 42.957031 53.308594 L 21.625 56.863281 C 21.527344 56.882812 21.425781 56.890625 21.332031 56.890625 Z M 21.332031 49.777344 C 20.476562 49.777344 19.722656 49.160156 19.582031 48.292969 C 19.417969 47.324219 20.074219 46.40625 21.042969 46.246094 L 42.375 42.691406 C 43.34375 42.519531 44.257812 43.183594 44.417969 44.152344 C 44.582031 45.121094 43.925781 46.039062 42.957031 46.199219 L 21.625 49.753906 C 21.527344 49.769531 21.425781 49.777344 21.332031 49.777344 Z M 21.332031 49.777344 "/>
+</g>
+</svg>
diff --git a/client/gui/resources/icons/hint.svg.import b/client/gui/resources/icons/hint.svg.import
new file mode 100644
index 00000000..841acfb5
--- /dev/null
+++ b/client/gui/resources/icons/hint.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b2uv5rf0enikf"
+path="res://.godot/imported/hint.svg-d7d8c196848a6c538326a5f8ec385b64.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/resources/icons/hint.svg"
+dest_files=["res://.godot/imported/hint.svg-d7d8c196848a6c538326a5f8ec385b64.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/client/gui/resources/icons/interact.webp b/client/gui/resources/icons/interact.webp
new file mode 100644
index 00000000..cf57c4c0
--- /dev/null
+++ b/client/gui/resources/icons/interact.webp
Binary files differ
diff --git a/client/gui/resources/icons/interact.webp.import b/client/gui/resources/icons/interact.webp.import
new file mode 100644
index 00000000..64d375eb
--- /dev/null
+++ b/client/gui/resources/icons/interact.webp.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dcgt82qkya880"
+path="res://.godot/imported/interact.webp-ba4dc2c22b6ace23a59d368b045b45ae.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/resources/icons/interact.webp"
+dest_files=["res://.godot/imported/interact.webp-ba4dc2c22b6ace23a59d368b045b45ae.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/client/gui/resources/icons/pause.webp b/client/gui/resources/icons/pause.webp
new file mode 100644
index 00000000..24ec72d8
--- /dev/null
+++ b/client/gui/resources/icons/pause.webp
Binary files differ
diff --git a/client/gui/resources/icons/pause.webp.import b/client/gui/resources/icons/pause.webp.import
new file mode 100644
index 00000000..a79d5b1e
--- /dev/null
+++ b/client/gui/resources/icons/pause.webp.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://qto5rj6wlaeb"
+path="res://.godot/imported/pause.webp-59d9c713545753734e408e3bcfa465c6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/resources/icons/pause.webp"
+dest_files=["res://.godot/imported/pause.webp-59d9c713545753734e408e3bcfa465c6.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/client/gui/resources/icons/plus.svg b/client/gui/resources/icons/plus.svg
new file mode 100644
index 00000000..c79169ba
--- /dev/null
+++ b/client/gui/resources/icons/plus.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
+ <rect stroke="none" fill="white" x="42.5" y="0" width="15" height="100" />
+ <rect stroke="none" fill="white" x="0" y="42.5" width="100" height="15" />
+</svg> \ No newline at end of file
diff --git a/client/gui/resources/icons/plus.svg.import b/client/gui/resources/icons/plus.svg.import
new file mode 100644
index 00000000..98e9bf8e
--- /dev/null
+++ b/client/gui/resources/icons/plus.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cnfjbowd2i02r"
+path="res://.godot/imported/plus.svg-5dcb9f0bf2e5a1c55b74537b98e2ec06.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/resources/icons/plus.svg"
+dest_files=["res://.godot/imported/plus.svg-5dcb9f0bf2e5a1c55b74537b98e2ec06.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/client/gui/resources/icons/reset.svg b/client/gui/resources/icons/reset.svg
new file mode 100644
index 00000000..660d7759
--- /dev/null
+++ b/client/gui/resources/icons/reset.svg
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ height="16px"
+ viewBox="0 0 16 16"
+ width="16px"
+ version="1.1"
+ id="svg1"
+ sodipodi:docname="reset.svg"
+ inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg">
+ <defs
+ id="defs1" />
+ <sodipodi:namedview
+ id="namedview1"
+ pagecolor="#ffffff"
+ bordercolor="#000000"
+ borderopacity="0.25"
+ inkscape:showpageshadow="2"
+ inkscape:pageopacity="0.0"
+ inkscape:pagecheckerboard="0"
+ inkscape:deskcolor="#d1d1d1"
+ inkscape:zoom="50.3125"
+ inkscape:cx="5.4857143"
+ inkscape:cy="7.642236"
+ inkscape:window-width="1920"
+ inkscape:window-height="1011"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="svg1" />
+ <path
+ d="m 8.914062 2 c -0.574218 0.007812 -1.152343 0.085938 -1.726562 0.238281 c -3.054688 0.820313 -5.1875 3.597657 -5.1875 6.761719 h -2 v 1 h 0.0078125 c -0.00390625 0.265625 0.1015625 0.519531 0.2851565 0.707031 l 2 2 c 0.390625 0.390625 1.023437 0.390625 1.414062 0 l 2 -2 c 0.183594 -0.1875 0.289063 -0.441406 0.289063 -0.707031 h 0.003906 v -1 h -2 c 0 -2.269531 1.515625 -4.242188 3.707031 -4.832031 c 2.1875 -0.585938 4.488281 0.367187 5.625 2.332031 c 1.132813 1.964844 0.808594 4.429688 -0.796875 6.035156 c -0.390625 0.390625 -0.390625 1.023438 0 1.414063 s 1.023438 0.390625 1.414063 0 c 2.238281 -2.238281 2.695312 -5.710938 1.113281 -8.449219 c -1.1875 -2.054688 -3.304688 -3.324219 -5.578125 -3.480469 c -0.191406 -0.015625 -0.378906 -0.023437 -0.570313 -0.019531 z m 0 0"
+ fill="#222222"
+ id="path1"
+ style="fill:#ffffff;fill-opacity:1" />
+</svg>
diff --git a/client/gui/resources/icons/reset.svg.import b/client/gui/resources/icons/reset.svg.import
new file mode 100644
index 00000000..16ba79b7
--- /dev/null
+++ b/client/gui/resources/icons/reset.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cucnmy0j5n8l8"
+path="res://.godot/imported/reset.svg-0004b05ae1181f52f03d82241e998f81.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/resources/icons/reset.svg"
+dest_files=["res://.godot/imported/reset.svg-0004b05ae1181f52f03d82241e998f81.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/client/gui/resources/icons/select_directory.svg b/client/gui/resources/icons/select_directory.svg
new file mode 100644
index 00000000..d3de2ef5
--- /dev/null
+++ b/client/gui/resources/icons/select_directory.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="#FFFFFF"><path d="M170.87-183.87q-36.78 0-59.89-24.11t-23.11-58.89v-426.26q0-35.02 23.11-59.01 23.11-23.99 59.89-23.99h209.54L480-676.54h310.13q36.02 0 58.51 24.11 22.49 24.1 24.49 58.89H170.87v327.87l77.04-255.87h694.55l-82.61 272.08q-10.87 31.37-28.06 48.48-17.18 17.11-51.03 17.11H170.87Z"/></svg> \ No newline at end of file
diff --git a/client/gui/resources/icons/select_directory.svg.import b/client/gui/resources/icons/select_directory.svg.import
new file mode 100644
index 00000000..020fbd97
--- /dev/null
+++ b/client/gui/resources/icons/select_directory.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://kxer318lo1oj"
+path="res://.godot/imported/select_directory.svg-412137f7e6d959d951f8a9fb909150e5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/resources/icons/select_directory.svg"
+dest_files=["res://.godot/imported/select_directory.svg-412137f7e6d959d951f8a9fb909150e5.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/client/gui/resources/icons/select_file.svg b/client/gui/resources/icons/select_file.svg
new file mode 100644
index 00000000..f44866de
--- /dev/null
+++ b/client/gui/resources/icons/select_file.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="#FFFFFF"><path d="M850-88.11 749.5-188.85v79.37h-83V-330.5h221.02v83h-80.37L907.65-147 850-88.11ZM525.13-634.13h168l-168-168v168ZM266.87-100.87q-34.48 0-58.74-24.26-24.26-24.26-24.26-58.74v-618.26q0-34.48 24.26-58.74 24.26-24.26 58.74-24.26h312.48l196.78 196.78v285.85H594.5v301.63H266.87Z"/></svg> \ No newline at end of file
diff --git a/client/gui/resources/icons/select_file.svg.import b/client/gui/resources/icons/select_file.svg.import
new file mode 100644
index 00000000..fe57469a
--- /dev/null
+++ b/client/gui/resources/icons/select_file.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bsw8vqebvc38c"
+path="res://.godot/imported/select_file.svg-c2b2816e900869263e022805bb92f83c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/resources/icons/select_file.svg"
+dest_files=["res://.godot/imported/select_file.svg-c2b2816e900869263e022805bb92f83c.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/client/gui/resources/icons/user.webp b/client/gui/resources/icons/user.webp
new file mode 100644
index 00000000..5bba0540
--- /dev/null
+++ b/client/gui/resources/icons/user.webp
Binary files differ
diff --git a/client/gui/resources/icons/user.webp.import b/client/gui/resources/icons/user.webp.import
new file mode 100644
index 00000000..3a21e21d
--- /dev/null
+++ b/client/gui/resources/icons/user.webp.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://222w1wha75od"
+path="res://.godot/imported/user.webp-0851517d1d18a09719e1adf5c0bc8b2e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/resources/icons/user.webp"
+dest_files=["res://.godot/imported/user.webp-0851517d1d18a09719e1adf5c0bc8b2e.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/client/gui/resources/materials/blur_material.tres b/client/gui/resources/materials/blur_material.tres
new file mode 100644
index 00000000..a0e9d58c
--- /dev/null
+++ b/client/gui/resources/materials/blur_material.tres
@@ -0,0 +1,11 @@
+[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://2j8a0c0a2ta5"]
+
+[ext_resource type="Shader" uid="uid://cwldxegcj55if" path="res://gui/resources/shaders/blur_mix.gdshader" id="1_d16rd"]
+
+[resource]
+shader = ExtResource("1_d16rd")
+shader_parameter/blur_amount = 3.5
+shader_parameter/mix_amount = 0.3
+shader_parameter/mix_amount_no_blur = 0.5
+shader_parameter/color_over = null
+shader_parameter/enable_blur = false
diff --git a/client/gui/resources/materials/dark_blur_material.tres b/client/gui/resources/materials/dark_blur_material.tres
new file mode 100644
index 00000000..96cf1d3f
--- /dev/null
+++ b/client/gui/resources/materials/dark_blur_material.tres
@@ -0,0 +1,11 @@
+[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://beea1pc5nt67r"]
+
+[ext_resource type="Shader" uid="uid://cwldxegcj55if" path="res://gui/resources/shaders/blur_mix.gdshader" id="1_cynu0"]
+
+[resource]
+shader = ExtResource("1_cynu0")
+shader_parameter/blur_amount = 3.5
+shader_parameter/mix_amount = 0.5
+shader_parameter/mix_amount_no_blur = 0.7
+shader_parameter/color_over = null
+shader_parameter/enable_blur = null
diff --git a/client/gui/resources/materials/grayscale_material.tres b/client/gui/resources/materials/grayscale_material.tres
new file mode 100644
index 00000000..236ad443
--- /dev/null
+++ b/client/gui/resources/materials/grayscale_material.tres
@@ -0,0 +1,6 @@
+[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://bplhkekj6rebp"]
+
+[ext_resource type="Shader" uid="uid://qjrh2imc53u1" path="res://gui/resources/shaders/grayscale.gdshader" id="1_u0c2c"]
+
+[resource]
+shader = ExtResource("1_u0c2c")
diff --git a/client/gui/resources/materials/printed_material.tres b/client/gui/resources/materials/printed_material.tres
new file mode 100644
index 00000000..3cc4a88c
--- /dev/null
+++ b/client/gui/resources/materials/printed_material.tres
@@ -0,0 +1,6 @@
+[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://dogdyoqrmy6ft"]
+
+[ext_resource type="Shader" uid="uid://5p1xlwoc8qe5" path="res://gui/resources/shaders/printed.gdshader" id="1_sevww"]
+
+[resource]
+shader = ExtResource("1_sevww")
diff --git a/client/gui/resources/shaders/blur_mix.gdshader b/client/gui/resources/shaders/blur_mix.gdshader
new file mode 100644
index 00000000..97686a54
--- /dev/null
+++ b/client/gui/resources/shaders/blur_mix.gdshader
@@ -0,0 +1,34 @@
+/*
+ Hurry Curry! - a game about cooking
+ Copyright (C) 2025 Hurry Curry! Contributors
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, version 3 of the License only.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+*/
+shader_type canvas_item;
+
+uniform float blur_amount : hint_range(-2.0, 10.0);
+uniform float mix_amount : hint_range(0.0, 1.0);
+uniform float mix_amount_no_blur : hint_range(0.0, 1.0);
+uniform vec4 color_over: source_color;
+uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;
+uniform bool enable_blur;
+
+void fragment() {
+ if (enable_blur) {
+ vec4 blurred = textureLod(SCREEN_TEXTURE, SCREEN_UV, blur_amount);
+ COLOR = mix(blurred, color_over, mix_amount);
+ } else {
+ COLOR = mix(texture(SCREEN_TEXTURE, SCREEN_UV), color_over, mix_amount_no_blur);
+ }
+} \ No newline at end of file
diff --git a/client/gui/resources/shaders/blur_mix.gdshader.uid b/client/gui/resources/shaders/blur_mix.gdshader.uid
new file mode 100644
index 00000000..7279563b
--- /dev/null
+++ b/client/gui/resources/shaders/blur_mix.gdshader.uid
@@ -0,0 +1 @@
+uid://cwldxegcj55if
diff --git a/client/gui/resources/shaders/grayscale.gdshader b/client/gui/resources/shaders/grayscale.gdshader
new file mode 100644
index 00000000..c058e7bf
--- /dev/null
+++ b/client/gui/resources/shaders/grayscale.gdshader
@@ -0,0 +1,25 @@
+/*
+ Hurry Curry! - a game about cooking
+ Copyright (C) 2025 Hurry Curry! Contributors
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, version 3 of the License only.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+*/
+shader_type canvas_item;
+
+void fragment() {
+ float brightness = 0.2126 * COLOR.r + 0.7152 * COLOR.g + 0.0722 * COLOR.b;
+ brightness = (brightness - .5) * 2.;
+ COLOR.rgb = vec3(brightness);
+ COLOR.a *= 1. - brightness;
+}
diff --git a/client/gui/resources/shaders/grayscale.gdshader.uid b/client/gui/resources/shaders/grayscale.gdshader.uid
new file mode 100644
index 00000000..b721a6e0
--- /dev/null
+++ b/client/gui/resources/shaders/grayscale.gdshader.uid
@@ -0,0 +1 @@
+uid://qjrh2imc53u1
diff --git a/client/gui/resources/shaders/paper.tres b/client/gui/resources/shaders/paper.tres
new file mode 100644
index 00000000..2c681244
--- /dev/null
+++ b/client/gui/resources/shaders/paper.tres
@@ -0,0 +1,14 @@
+[gd_resource type="NoiseTexture2D" load_steps=3 format=3 uid="uid://chxkwohi56cxx"]
+
+[sub_resource type="Gradient" id="Gradient_pkrjd"]
+colors = PackedColorArray(0.917969, 0.866454, 0.770122, 1, 0.832031, 0.781817, 0.666307, 1)
+
+[sub_resource type="FastNoiseLite" id="FastNoiseLite_k7p6k"]
+noise_type = 0
+frequency = 0.0084
+domain_warp_enabled = true
+domain_warp_frequency = -1.465
+
+[resource]
+color_ramp = SubResource("Gradient_pkrjd")
+noise = SubResource("FastNoiseLite_k7p6k")
diff --git a/client/gui/resources/shaders/printed.gdshader b/client/gui/resources/shaders/printed.gdshader
new file mode 100644
index 00000000..c24cb679
--- /dev/null
+++ b/client/gui/resources/shaders/printed.gdshader
@@ -0,0 +1,22 @@
+/*
+ Hurry Curry! - a game about cooking
+ Copyright (C) 2025 Hurry Curry! Contributors
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, version 3 of the License only.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+*/
+shader_type canvas_item;
+
+void fragment() {
+ COLOR = floor(COLOR*5.)/5.;
+}
diff --git a/client/gui/resources/shaders/printed.gdshader.uid b/client/gui/resources/shaders/printed.gdshader.uid
new file mode 100644
index 00000000..7c5fe12e
--- /dev/null
+++ b/client/gui/resources/shaders/printed.gdshader.uid
@@ -0,0 +1 @@
+uid://5p1xlwoc8qe5
diff --git a/client/gui/resources/sounds/click.ogg b/client/gui/resources/sounds/click.ogg
new file mode 100644
index 00000000..db4aaf4e
--- /dev/null
+++ b/client/gui/resources/sounds/click.ogg
Binary files differ
diff --git a/client/gui/resources/sounds/click.ogg.import b/client/gui/resources/sounds/click.ogg.import
new file mode 100644
index 00000000..4c4604ec
--- /dev/null
+++ b/client/gui/resources/sounds/click.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://cpyn511c5mtni"
+path="res://.godot/imported/click.ogg-ec24cb35b5d300c7ddbb1f50c2522ac5.oggvorbisstr"
+
+[deps]
+
+source_file="res://gui/resources/sounds/click.ogg"
+dest_files=["res://.godot/imported/click.ogg-ec24cb35b5d300c7ddbb1f50c2522ac5.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/gui/resources/sounds/failure.ogg b/client/gui/resources/sounds/failure.ogg
new file mode 100644
index 00000000..ef6d6ea4
--- /dev/null
+++ b/client/gui/resources/sounds/failure.ogg
Binary files differ
diff --git a/client/gui/resources/sounds/failure.ogg.import b/client/gui/resources/sounds/failure.ogg.import
new file mode 100644
index 00000000..495c1d96
--- /dev/null
+++ b/client/gui/resources/sounds/failure.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://cv4isy6po6pqd"
+path="res://.godot/imported/failure.ogg-cf79159cd8bc7c6cb1fc08dc9f16fc65.oggvorbisstr"
+
+[deps]
+
+source_file="res://gui/resources/sounds/failure.ogg"
+dest_files=["res://.godot/imported/failure.ogg-cf79159cd8bc7c6cb1fc08dc9f16fc65.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/gui/resources/sounds/game_start.ogg b/client/gui/resources/sounds/game_start.ogg
new file mode 100644
index 00000000..3282ff99
--- /dev/null
+++ b/client/gui/resources/sounds/game_start.ogg
Binary files differ
diff --git a/client/gui/resources/sounds/game_start.ogg.import b/client/gui/resources/sounds/game_start.ogg.import
new file mode 100644
index 00000000..79e28ada
--- /dev/null
+++ b/client/gui/resources/sounds/game_start.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://dft3m8utnxhs7"
+path="res://.godot/imported/game_start.ogg-94857aa980bf125ce248d75f3d2a8bc2.oggvorbisstr"
+
+[deps]
+
+source_file="res://gui/resources/sounds/game_start.ogg"
+dest_files=["res://.godot/imported/game_start.ogg-94857aa980bf125ce248d75f3d2a8bc2.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/gui/resources/sounds/hover.ogg b/client/gui/resources/sounds/hover.ogg
new file mode 100644
index 00000000..17d414ca
--- /dev/null
+++ b/client/gui/resources/sounds/hover.ogg
Binary files differ
diff --git a/client/gui/resources/sounds/hover.ogg.import b/client/gui/resources/sounds/hover.ogg.import
new file mode 100644
index 00000000..0bb47b0d
--- /dev/null
+++ b/client/gui/resources/sounds/hover.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://dtr1khfyqr56o"
+path="res://.godot/imported/hover.ogg-604c32500c7d24a64b5d68b6146e31cc.oggvorbisstr"
+
+[deps]
+
+source_file="res://gui/resources/sounds/hover.ogg"
+dest_files=["res://.godot/imported/hover.ogg-604c32500c7d24a64b5d68b6146e31cc.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/gui/resources/sounds/page.ogg b/client/gui/resources/sounds/page.ogg
new file mode 100644
index 00000000..3038a8d9
--- /dev/null
+++ b/client/gui/resources/sounds/page.ogg
Binary files differ
diff --git a/client/gui/resources/sounds/page.ogg.import b/client/gui/resources/sounds/page.ogg.import
new file mode 100644
index 00000000..9c65dc93
--- /dev/null
+++ b/client/gui/resources/sounds/page.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://do7ii5hx71p0m"
+path="res://.godot/imported/page.ogg-0b33370bdbe86f4cddfd8a42d8f62a5d.oggvorbisstr"
+
+[deps]
+
+source_file="res://gui/resources/sounds/page.ogg"
+dest_files=["res://.godot/imported/page.ogg-0b33370bdbe86f4cddfd8a42d8f62a5d.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/gui/resources/sounds/sign.ogg b/client/gui/resources/sounds/sign.ogg
new file mode 100644
index 00000000..8811c50a
--- /dev/null
+++ b/client/gui/resources/sounds/sign.ogg
Binary files differ
diff --git a/client/gui/resources/sounds/sign.ogg.import b/client/gui/resources/sounds/sign.ogg.import
new file mode 100644
index 00000000..8e524403
--- /dev/null
+++ b/client/gui/resources/sounds/sign.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://5b3noxjmasmu"
+path="res://.godot/imported/sign.ogg-9091117f7048611453ca1b0853de53ea.oggvorbisstr"
+
+[deps]
+
+source_file="res://gui/resources/sounds/sign.ogg"
+dest_files=["res://.godot/imported/sign.ogg-9091117f7048611453ca1b0853de53ea.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/gui/resources/sounds/success.ogg b/client/gui/resources/sounds/success.ogg
new file mode 100644
index 00000000..37cd2bcd
--- /dev/null
+++ b/client/gui/resources/sounds/success.ogg
Binary files differ
diff --git a/client/gui/resources/sounds/success.ogg.import b/client/gui/resources/sounds/success.ogg.import
new file mode 100644
index 00000000..1c42b2e5
--- /dev/null
+++ b/client/gui/resources/sounds/success.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://camy77x26mmpv"
+path="res://.godot/imported/success.ogg-d726a1955ea1a9943ae576d6eb7645bb.oggvorbisstr"
+
+[deps]
+
+source_file="res://gui/resources/sounds/success.ogg"
+dest_files=["res://.godot/imported/success.ogg-d726a1955ea1a9943ae576d6eb7645bb.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/gui/resources/style/error_focus_style.tres b/client/gui/resources/style/error_focus_style.tres
new file mode 100644
index 00000000..f7c44505
--- /dev/null
+++ b/client/gui/resources/style/error_focus_style.tres
@@ -0,0 +1,17 @@
+[gd_resource type="StyleBoxFlat" format=3 uid="uid://devnduinj535f"]
+
+[resource]
+content_margin_left = 10.0
+content_margin_top = 10.0
+content_margin_right = 10.0
+content_margin_bottom = 10.0
+bg_color = Color(1, 0, 0, 0.12549)
+border_width_left = 2
+border_width_top = 2
+border_width_right = 2
+border_width_bottom = 2
+border_color = Color(1, 0.81804, 0.818076, 1)
+corner_radius_top_left = 5
+corner_radius_top_right = 5
+corner_radius_bottom_right = 5
+corner_radius_bottom_left = 5
diff --git a/client/gui/resources/style/focus_style.tres b/client/gui/resources/style/focus_style.tres
new file mode 100644
index 00000000..a01843fe
--- /dev/null
+++ b/client/gui/resources/style/focus_style.tres
@@ -0,0 +1,17 @@
+[gd_resource type="StyleBoxFlat" format=3 uid="uid://b86kbd3pfkd5w"]
+
+[resource]
+content_margin_left = 10.0
+content_margin_top = 10.0
+content_margin_right = 10.0
+content_margin_bottom = 10.0
+bg_color = Color(1, 1, 1, 0.0627451)
+border_width_left = 2
+border_width_top = 2
+border_width_right = 2
+border_width_bottom = 2
+border_color = Color(0.818673, 0.926505, 1, 1)
+corner_radius_top_left = 5
+corner_radius_top_right = 5
+corner_radius_bottom_right = 5
+corner_radius_bottom_left = 5
diff --git a/client/gui/resources/style/hover_style.tres b/client/gui/resources/style/hover_style.tres
new file mode 100644
index 00000000..963ee2ca
--- /dev/null
+++ b/client/gui/resources/style/hover_style.tres
@@ -0,0 +1,12 @@
+[gd_resource type="StyleBoxFlat" format=3 uid="uid://dua4jqje3704w"]
+
+[resource]
+content_margin_left = 10.0
+content_margin_top = 10.0
+content_margin_right = 10.0
+content_margin_bottom = 10.0
+bg_color = Color(1, 1, 1, 0.266667)
+corner_radius_top_left = 5
+corner_radius_top_right = 5
+corner_radius_bottom_right = 5
+corner_radius_bottom_left = 5
diff --git a/client/gui/resources/style/item_bubble_progress_style.tres b/client/gui/resources/style/item_bubble_progress_style.tres
new file mode 100644
index 00000000..68054918
--- /dev/null
+++ b/client/gui/resources/style/item_bubble_progress_style.tres
@@ -0,0 +1,5 @@
+[gd_resource type="StyleBoxFlat" format=3 uid="uid://brw8uogdgx2gf"]
+
+[resource]
+resource_local_to_scene = true
+bg_color = Color(0.501961, 0, 0, 1)
diff --git a/client/gui/resources/style/item_bubble_progress_style_background.tres b/client/gui/resources/style/item_bubble_progress_style_background.tres
new file mode 100644
index 00000000..972b7055
--- /dev/null
+++ b/client/gui/resources/style/item_bubble_progress_style_background.tres
@@ -0,0 +1,4 @@
+[gd_resource type="StyleBoxFlat" format=3 uid="uid://cu0his4018e7h"]
+
+[resource]
+resource_local_to_scene = true
diff --git a/client/gui/resources/style/lobby_panel_override.tres b/client/gui/resources/style/lobby_panel_override.tres
new file mode 100644
index 00000000..04fd16b0
--- /dev/null
+++ b/client/gui/resources/style/lobby_panel_override.tres
@@ -0,0 +1,4 @@
+[gd_resource type="StyleBoxFlat" format=3 uid="uid://de80aw86emnql"]
+
+[resource]
+bg_color = Color(0.0941176, 0.0941176, 0.0941176, 1)
diff --git a/client/gui/resources/style/normal_style.tres b/client/gui/resources/style/normal_style.tres
new file mode 100644
index 00000000..96aecc8e
--- /dev/null
+++ b/client/gui/resources/style/normal_style.tres
@@ -0,0 +1,12 @@
+[gd_resource type="StyleBoxFlat" format=3 uid="uid://pi5uhe0lrgka"]
+
+[resource]
+content_margin_left = 10.0
+content_margin_top = 10.0
+content_margin_right = 10.0
+content_margin_bottom = 10.0
+bg_color = Color(1, 1, 1, 0.0352941)
+corner_radius_top_left = 5
+corner_radius_top_right = 5
+corner_radius_bottom_right = 5
+corner_radius_bottom_left = 5
diff --git a/client/gui/resources/style/panel_style.tres b/client/gui/resources/style/panel_style.tres
new file mode 100644
index 00000000..d1f27667
--- /dev/null
+++ b/client/gui/resources/style/panel_style.tres
@@ -0,0 +1,8 @@
+[gd_resource type="StyleBoxFlat" format=3 uid="uid://bcd4xcvtv7tws"]
+
+[resource]
+bg_color = Color(0, 0, 0, 0.6)
+corner_radius_top_left = 8
+corner_radius_top_right = 8
+corner_radius_bottom_right = 8
+corner_radius_bottom_left = 8
diff --git a/client/gui/resources/style/panel_style_sidebar.tres b/client/gui/resources/style/panel_style_sidebar.tres
new file mode 100644
index 00000000..9615d88b
--- /dev/null
+++ b/client/gui/resources/style/panel_style_sidebar.tres
@@ -0,0 +1,3 @@
+[gd_resource type="StyleBoxFlat" format=3 uid="uid://bw4jamyna1top"]
+
+[resource]
diff --git a/client/gui/resources/style/paper_panel_style.tres b/client/gui/resources/style/paper_panel_style.tres
new file mode 100644
index 00000000..effa2310
--- /dev/null
+++ b/client/gui/resources/style/paper_panel_style.tres
@@ -0,0 +1,6 @@
+[gd_resource type="StyleBoxTexture" load_steps=2 format=3 uid="uid://bqhs5wtdp2oax"]
+
+[ext_resource type="Texture2D" uid="uid://chxkwohi56cxx" path="res://gui/resources/shaders/paper.tres" id="1_u1kqj"]
+
+[resource]
+texture = ExtResource("1_u1kqj")
diff --git a/client/gui/resources/theme/paper.tres b/client/gui/resources/theme/paper.tres
new file mode 100644
index 00000000..41417f39
--- /dev/null
+++ b/client/gui/resources/theme/paper.tres
@@ -0,0 +1,109 @@
+[gd_resource type="Theme" load_steps=17 format=3 uid="uid://ci2qajdoa1an1"]
+
+[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://gui/resources/fonts/font-sansita-swashed.woff2" id="1_koj1m"]
+[ext_resource type="FontFile" uid="uid://5ixo6b3bd3km" path="res://gui/resources/fonts/font-josefin-sans.woff2" id="1_tc8bk"]
+
+[sub_resource type="FontVariation" id="FontVariation_pirkj"]
+base_font = ExtResource("1_tc8bk")
+variation_embolden = 0.5
+
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_l5fao"]
+bg_color = Color(0, 0, 0, 0.305882)
+border_width_left = 2
+border_width_top = 2
+border_width_right = 2
+border_width_bottom = 2
+border_color = Color(0.819608, 0.92549, 1, 1)
+
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3p3im"]
+bg_color = Color(0, 0, 0, 0.145098)
+
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_xxmhf"]
+bg_color = Color(0, 0, 0, 0.305882)
+
+[sub_resource type="SystemFont" id="SystemFont_3j83h"]
+font_names = PackedStringArray("Noto Sans")
+
+[sub_resource type="FontVariation" id="FontVariation_8qr07"]
+base_font = SubResource("SystemFont_3j83h")
+variation_embolden = -0.44
+
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_rq65v"]
+content_margin_left = 10.0
+bg_color = Color(1, 1, 1, 0)
+
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_st08c"]
+content_margin_left = 10.0
+bg_color = Color(0, 0, 0, 0)
+border_width_left = 1
+border_width_top = 1
+border_width_right = 1
+border_width_bottom = 1
+border_color = Color(0.300781, 0.300781, 0.300781, 1)
+corner_radius_top_left = 5
+corner_radius_top_right = 5
+corner_radius_bottom_right = 5
+corner_radius_bottom_left = 5
+
+[sub_resource type="StyleBoxLine" id="StyleBoxLine_8q7ob"]
+thickness = 3
+
+[sub_resource type="FontVariation" id="FontVariation_cx2xx"]
+base_font = ExtResource("1_koj1m")
+
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_huhkg"]
+content_margin_left = 10.0
+bg_color = Color(0.6, 0.6, 0.6, 0)
+border_width_bottom = 2
+border_color = Color(0, 0, 0, 1)
+
+[sub_resource type="SystemFont" id="SystemFont_c2823"]
+
+[sub_resource type="FontVariation" id="FontVariation_c3ws0"]
+base_font = SubResource("SystemFont_c2823")
+variation_embolden = 0.53
+
+[sub_resource type="FontVariation" id="FontVariation_ex8wc"]
+base_font = SubResource("SystemFont_3j83h")
+variation_embolden = -0.44
+
+[resource]
+Button/colors/font_color = Color(0.21875, 0.21875, 0.21875, 1)
+Button/fonts/font = SubResource("FontVariation_pirkj")
+Button/styles/focus = SubResource("StyleBoxFlat_l5fao")
+Button/styles/hover = SubResource("StyleBoxFlat_3p3im")
+Button/styles/normal = SubResource("StyleBoxFlat_xxmhf")
+Button/styles/pressed = SubResource("StyleBoxFlat_xxmhf")
+CheckBox/colors/font_color = Color(0, 0, 0, 1)
+CheckBox/colors/font_disabled_color = Color(0, 0, 0, 1)
+CheckBox/colors/font_focus_color = Color(0, 0, 0, 1)
+CheckBox/colors/font_hover_color = Color(0, 0, 0, 1)
+CheckBox/colors/font_hover_pressed_color = Color(0, 0, 0, 1)
+CheckBox/colors/font_pressed_color = Color(0, 0, 0, 1)
+CheckBox/constants/h_separation = 4
+CheckBox/fonts/font = SubResource("FontVariation_8qr07")
+CheckBox/styles/disabled = SubResource("StyleBoxFlat_rq65v")
+CheckBox/styles/focus = SubResource("StyleBoxFlat_st08c")
+CheckBox/styles/hover = SubResource("StyleBoxFlat_rq65v")
+CheckBox/styles/hover_pressed = SubResource("StyleBoxFlat_rq65v")
+CheckBox/styles/normal = SubResource("StyleBoxFlat_rq65v")
+CheckBox/styles/pressed = SubResource("StyleBoxFlat_rq65v")
+HSeparator/constants/separation = 6
+HSeparator/styles/separator = SubResource("StyleBoxLine_8q7ob")
+Label/colors/font_color = Color(0, 0, 0, 1)
+LineEdit/colors/caret_color = Color(0, 0.0209808, 0.414062, 1)
+LineEdit/colors/font_color = Color(0, 0.0196078, 0.415686, 1)
+LineEdit/fonts/font = SubResource("FontVariation_cx2xx")
+LineEdit/styles/focus = SubResource("StyleBoxFlat_huhkg")
+LineEdit/styles/normal = SubResource("StyleBoxFlat_huhkg")
+LineEdit/styles/read_only = SubResource("StyleBoxFlat_huhkg")
+MarginContainer/constants/margin_bottom = 30
+MarginContainer/constants/margin_left = 70
+MarginContainer/constants/margin_right = 30
+MarginContainer/constants/margin_top = 30
+RichTextLabel/colors/default_color = Color(0, 0, 0, 1)
+RichTextLabel/fonts/bold_font = SubResource("FontVariation_c3ws0")
+RichTextLabel/fonts/bold_italics_font = null
+RichTextLabel/fonts/italics_font = null
+RichTextLabel/fonts/mono_font = null
+RichTextLabel/fonts/normal_font = SubResource("FontVariation_ex8wc")
diff --git a/client/gui/resources/theme/theme.tres b/client/gui/resources/theme/theme.tres
new file mode 100644
index 00000000..ca87a81c
--- /dev/null
+++ b/client/gui/resources/theme/theme.tres
@@ -0,0 +1,70 @@
+[gd_resource type="Theme" load_steps=12 format=3 uid="uid://b0qmvo504e457"]
+
+[ext_resource type="FontFile" uid="uid://5ixo6b3bd3km" path="res://gui/resources/fonts/font-josefin-sans.woff2" id="1_f8qb0"]
+[ext_resource type="StyleBox" uid="uid://b86kbd3pfkd5w" path="res://gui/resources/style/focus_style.tres" id="1_x88rs"]
+[ext_resource type="StyleBox" uid="uid://pi5uhe0lrgka" path="res://gui/resources/style/normal_style.tres" id="2_8fwoi"]
+[ext_resource type="StyleBox" uid="uid://dua4jqje3704w" path="res://gui/resources/style/hover_style.tres" id="2_ye28t"]
+[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://gui/resources/fonts/font-sansita-swashed.woff2" id="3_8u6ww"]
+[ext_resource type="StyleBox" uid="uid://bcd4xcvtv7tws" path="res://gui/resources/style/panel_style.tres" id="4_42dlp"]
+
+[sub_resource type="StyleBoxLine" id="StyleBoxLine_emtvk"]
+content_margin_top = 5.0
+content_margin_bottom = 5.0
+color = Color(1, 1, 1, 1)
+grow_begin = 0.0
+grow_end = 0.0
+thickness = 3
+
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_25x32"]
+content_margin_left = 10.0
+content_margin_top = 10.0
+content_margin_right = 10.0
+content_margin_bottom = 10.0
+bg_color = Color(1, 1, 1, 0.0352941)
+corner_radius_top_left = 5
+corner_radius_top_right = 5
+corner_radius_bottom_right = 5
+corner_radius_bottom_left = 5
+
+[sub_resource type="FontVariation" id="FontVariation_ff4nr"]
+base_font = ExtResource("3_8u6ww")
+variation_embolden = 0.7
+
+[sub_resource type="FontVariation" id="FontVariation_lyo8w"]
+base_font = ExtResource("1_f8qb0")
+variation_embolden = 1.25
+spacing_top = 5
+
+[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_or5ri"]
+
+[resource]
+default_font = SubResource("FontVariation_lyo8w")
+Button/font_sizes/font_size = 18
+Button/styles/disabled = ExtResource("2_8fwoi")
+Button/styles/focus = ExtResource("1_x88rs")
+Button/styles/hover = ExtResource("2_ye28t")
+Button/styles/normal = ExtResource("2_8fwoi")
+Button/styles/pressed = ExtResource("2_8fwoi")
+CheckButton/font_sizes/font_size = 18
+CheckButton/styles/disabled = ExtResource("2_8fwoi")
+CheckButton/styles/focus = ExtResource("1_x88rs")
+CheckButton/styles/hover = ExtResource("2_ye28t")
+CheckButton/styles/hover_pressed = ExtResource("2_ye28t")
+CheckButton/styles/normal = ExtResource("2_8fwoi")
+CheckButton/styles/pressed = ExtResource("2_8fwoi")
+HSeparator/styles/separator = SubResource("StyleBoxLine_emtvk")
+Label/font_sizes/font_size = 16
+LineEdit/styles/focus = ExtResource("1_x88rs")
+LineEdit/styles/normal = SubResource("StyleBoxFlat_25x32")
+LineEdit/styles/read_only = SubResource("StyleBoxFlat_25x32")
+MarginContainer/constants/margin_bottom = 32
+MarginContainer/constants/margin_left = 32
+MarginContainer/constants/margin_right = 32
+MarginContainer/constants/margin_top = 32
+Panel/styles/panel = ExtResource("4_42dlp")
+PanelContainer/styles/panel = ExtResource("4_42dlp")
+RichTextLabel/fonts/bold_font = SubResource("FontVariation_ff4nr")
+RichTextLabel/fonts/bold_italics_font = SubResource("FontVariation_lyo8w")
+RichTextLabel/fonts/italics_font = SubResource("FontVariation_lyo8w")
+RichTextLabel/fonts/mono_font = SubResource("FontVariation_lyo8w")
+TabContainer/styles/panel = SubResource("StyleBoxEmpty_or5ri")