diff --git a/design/interface-elements.svg b/design/interface-elements.svg
index 5c0c241..cae29f0 100644
--- a/design/interface-elements.svg
+++ b/design/interface-elements.svg
@@ -2,470 +2,596 @@
+ sodipodi:nodetypes="csccsssscsscsc" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ of mind
+ fra
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ me
+
+ of thoughts.
+ A game
+
+ Spiel.
+ Ein Gedanken-
+
+
+
+
+
+
+
diff --git a/design/main_menu_sketching.svg b/design/main_menu_sketching.svg
new file mode 100644
index 0000000..bf0aac2
--- /dev/null
+++ b/design/main_menu_sketching.svg
@@ -0,0 +1,299 @@
+
+
+
+
diff --git a/src/button_themer.gd b/src/button_themer.gd
new file mode 100644
index 0000000..ae981cb
--- /dev/null
+++ b/src/button_themer.gd
@@ -0,0 +1,51 @@
+@tool
+class_name ThemedButton extends Button
+
+@export_tool_button("Rebuild") var rebuild_action = rebuild
+@onready var side_decor: CompressedTexture2D = load("res://import/interface-elements/button_active.png")
+@onready var top_corner_decor: CompressedTexture2D = load("res://import/interface-elements/top_corner.png")
+@onready var lower_corner_decor: CompressedTexture2D = load("res://import/interface-elements/lower_corner.png")
+
+func _ready() -> void:
+ rebuild()
+ theme_changed.connect(rebuild)
+ resized.connect(rebuild)
+ clip_contents = true
+
+
+
+
+
+var container: PanelContainer
+func rebuild():
+ for child in get_children(): child.free()
+ match theme_type_variation:
+ "H1Button":
+ var top_corner:= TextureRect.new()
+ top_corner.texture = top_corner_decor
+ add_child(top_corner)
+ top_corner.expand_mode = TextureRect.EXPAND_FIT_WIDTH_PROPORTIONAL
+ top_corner.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT
+ top_corner.size = Vector2(size.y, size.y)
+ focus_entered.connect(top_corner.show)
+ focus_exited.connect(top_corner.hide)
+ top_corner.visible = has_focus()
+ var lower_corner:= TextureRect.new()
+ lower_corner.texture = lower_corner_decor
+ add_child(lower_corner, true, Node.INTERNAL_MODE_DISABLED)
+ lower_corner.expand_mode = TextureRect.EXPAND_IGNORE_SIZE
+ lower_corner.stretch_mode = TextureRect.STRETCH_SCALE
+ lower_corner.size = Vector2(size.y * lower_corner_decor.get_width() / lower_corner_decor.get_height(), size.y)
+ lower_corner.set_anchors_preset(Control.PRESET_BOTTOM_RIGHT, true)
+ lower_corner.position = size-lower_corner.size
+
+ _:
+ var side_thing:= TextureRect.new()
+ side_thing.texture = side_decor
+ add_child(side_thing)
+ side_thing.expand_mode = TextureRect.EXPAND_IGNORE_SIZE
+ side_thing.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT
+ side_thing.size = Vector2(size.y, size.y)
+ focus_entered.connect(side_thing.show)
+ focus_exited.connect(side_thing.hide)
+ side_thing.hide()
diff --git a/src/button_themer.gd.uid b/src/button_themer.gd.uid
new file mode 100644
index 0000000..a42ee10
--- /dev/null
+++ b/src/button_themer.gd.uid
@@ -0,0 +1 @@
+uid://cxton1pffwxk4
diff --git a/src/dev-util/i18n_texture_rect.gd b/src/dev-util/i18n_texture_rect.gd
new file mode 100644
index 0000000..2b4b9ea
--- /dev/null
+++ b/src/dev-util/i18n_texture_rect.gd
@@ -0,0 +1,23 @@
+@tool
+extends TextureRect
+
+@export var textures: Dictionary[String, Texture] = {}
+
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings: PackedStringArray = []
+ for key in textures.keys():
+ if not TranslationServer.get_all_languages().has(key):
+ warnings.append("Locale not supported: %s" % key)
+ return warnings
+
+func _ready() -> void:
+ State.settings_changed.connect(update_img)
+ update_img()
+
+func update_img() -> void:
+ if textures.keys().has(TranslationServer.get_locale()):
+ texture = textures[TranslationServer.get_locale()]
+
+func _validate_property(property: Dictionary) -> void:
+ if property.name == "texture":
+ property.usage |= PROPERTY_USAGE_READ_ONLY
diff --git a/src/dev-util/i18n_texture_rect.gd.uid b/src/dev-util/i18n_texture_rect.gd.uid
new file mode 100644
index 0000000..15a05c2
--- /dev/null
+++ b/src/dev-util/i18n_texture_rect.gd.uid
@@ -0,0 +1 @@
+uid://dqq0wq3dvbnjs
diff --git a/src/import/interface-elements/burger.png b/src/import/interface-elements/burger.png
new file mode 100644
index 0000000..2d09cfe
--- /dev/null
+++ b/src/import/interface-elements/burger.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3fc9bb99a89a644d325a12025e448366a3199d40068e88592dea69a66cf10533
+size 530
diff --git a/src/import/interface-elements/burger.png.import b/src/import/interface-elements/burger.png.import
new file mode 100644
index 0000000..ed6e2b0
--- /dev/null
+++ b/src/import/interface-elements/burger.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://qh035jov6b4n"
+path="res://.godot/imported/burger.png-979d261f83f03d5243b53ef98c316517.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://import/interface-elements/burger.png"
+dest_files=["res://.godot/imported/burger.png-979d261f83f03d5243b53ef98c316517.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+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/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+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/src/import/interface-elements/button_active.png b/src/import/interface-elements/button_active.png
new file mode 100644
index 0000000..ac77e53
--- /dev/null
+++ b/src/import/interface-elements/button_active.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1319f50d594ea3dc3831264e0cbe97aba6d19a6e88cdf9c24ef1e017025967e3
+size 3375
diff --git a/src/import/interface-elements/button_active.png.import b/src/import/interface-elements/button_active.png.import
new file mode 100644
index 0000000..aa78168
--- /dev/null
+++ b/src/import/interface-elements/button_active.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cfuseqaemtybs"
+path="res://.godot/imported/button_active.png-c5273b3b0993ed0985167f8b5b174447.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://import/interface-elements/button_active.png"
+dest_files=["res://.godot/imported/button_active.png-c5273b3b0993ed0985167f8b5b174447.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+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/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+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/src/import/interface-elements/button_background.png b/src/import/interface-elements/button_background.png
new file mode 100644
index 0000000..903c3be
--- /dev/null
+++ b/src/import/interface-elements/button_background.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:21a849c95209a963cf0ca73a512d8186227e18e3a4c80dced4d21c7213a0913b
+size 12287
diff --git a/src/import/interface-elements/button_background.png.import b/src/import/interface-elements/button_background.png.import
new file mode 100644
index 0000000..9881b0d
--- /dev/null
+++ b/src/import/interface-elements/button_background.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dk3qyxc41l7j0"
+path="res://.godot/imported/button_background.png-22c6a3d2a6db3f2e859a7322c6cb87af.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://import/interface-elements/button_background.png"
+dest_files=["res://.godot/imported/button_background.png-22c6a3d2a6db3f2e859a7322c6cb87af.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+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/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+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/src/import/interface-elements/button_focus.png b/src/import/interface-elements/button_focus.png
new file mode 100644
index 0000000..2353350
--- /dev/null
+++ b/src/import/interface-elements/button_focus.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a438a0dd6ced5012396dba80cb028a69cd059202ff26197efe5c19d1083e041c
+size 23746
diff --git a/src/import/interface-elements/button_focus.png.import b/src/import/interface-elements/button_focus.png.import
new file mode 100644
index 0000000..c0ffcac
--- /dev/null
+++ b/src/import/interface-elements/button_focus.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c2uovuntwovv"
+path="res://.godot/imported/button_focus.png-32970149aa0c0183d3703e7fb3a4f5d9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://import/interface-elements/button_focus.png"
+dest_files=["res://.godot/imported/button_focus.png-32970149aa0c0183d3703e7fb3a4f5d9.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+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/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+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/src/import/interface-elements/button_hover.png b/src/import/interface-elements/button_hover.png
index e046e5c..9c4b175 100644
--- a/src/import/interface-elements/button_hover.png
+++ b/src/import/interface-elements/button_hover.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:6c5803f0577621d51b5facd46bdd9c21ab8e1c9ba1a223fc8dbe603af3f75fcc
-size 19093
+oid sha256:e40401c35df70286306f393d8df3d6d6a227b71494ea48a439b55a419b2e6cec
+size 30528
diff --git a/src/import/interface-elements/button_hover.png.import b/src/import/interface-elements/button_hover.png.import
index 4063daf..b7baee4 100644
--- a/src/import/interface-elements/button_hover.png.import
+++ b/src/import/interface-elements/button_hover.png.import
@@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/button_hover.png-8919e05a5e0b5e1bd66b6ae1cae4
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
@@ -25,6 +27,10 @@ mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
diff --git a/src/import/interface-elements/button_pressed.png b/src/import/interface-elements/button_pressed.png
index ddcfbbd..34e454d 100644
--- a/src/import/interface-elements/button_pressed.png
+++ b/src/import/interface-elements/button_pressed.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:87a1eb358fd154b277064a62a1208f688320676cf8fcd39a75d285de7260b635
-size 19583
+oid sha256:524e229dc854ec810c8befd4be5e9a4e3561a99a2833a189fa58dd8292422aaf
+size 15456
diff --git a/src/import/interface-elements/button_pressed.png.import b/src/import/interface-elements/button_pressed.png.import
index d541d14..42f7d51 100644
--- a/src/import/interface-elements/button_pressed.png.import
+++ b/src/import/interface-elements/button_pressed.png.import
@@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/button_pressed.png-a34fc55b3d286a73b6d6e89798
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
@@ -25,6 +27,10 @@ mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
diff --git a/src/import/interface-elements/button_selected.png b/src/import/interface-elements/button_selected.png
new file mode 100644
index 0000000..191c111
--- /dev/null
+++ b/src/import/interface-elements/button_selected.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f0e4c5cab4db183a6891ea8ed28d95ab02f04ea43578750aa11b75b8822e1df0
+size 2988
diff --git a/src/import/interface-elements/button_selected.png.import b/src/import/interface-elements/button_selected.png.import
new file mode 100644
index 0000000..e2261b2
--- /dev/null
+++ b/src/import/interface-elements/button_selected.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bhg1qbd1yap2"
+path="res://.godot/imported/button_selected.png-fb9df2cbbb090a86c72caac8585d0825.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://import/interface-elements/button_selected.png"
+dest_files=["res://.godot/imported/button_selected.png-fb9df2cbbb090a86c72caac8585d0825.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+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/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+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/src/import/interface-elements/button_underline.png b/src/import/interface-elements/button_underline.png
new file mode 100644
index 0000000..0ab6102
--- /dev/null
+++ b/src/import/interface-elements/button_underline.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5eb7b623cffadb8ebedc5442e1e705fbdcad188b7499458d693d8f02a49e646e
+size 2518
diff --git a/src/import/interface-elements/button_underline.png.import b/src/import/interface-elements/button_underline.png.import
new file mode 100644
index 0000000..7919d84
--- /dev/null
+++ b/src/import/interface-elements/button_underline.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://brwwxfgxmqh5h"
+path="res://.godot/imported/button_underline.png-dfb943d7e167b70def13be7dd3e1c8b4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://import/interface-elements/button_underline.png"
+dest_files=["res://.godot/imported/button_underline.png-dfb943d7e167b70def13be7dd3e1c8b4.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+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/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+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/src/import/interface-elements/default_button.png b/src/import/interface-elements/default_button.png
new file mode 100644
index 0000000..65fd969
--- /dev/null
+++ b/src/import/interface-elements/default_button.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:358de682a07cbeec5129a9b01a0bf007cdfc3e32a70dcb84976f318416e18e81
+size 998
diff --git a/src/import/interface-elements/default_button.png.import b/src/import/interface-elements/default_button.png.import
new file mode 100644
index 0000000..0cb88f8
--- /dev/null
+++ b/src/import/interface-elements/default_button.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bf8d8gwctdhle"
+path="res://.godot/imported/default_button.png-9b339fd2b4da11a03f0e60fbcb266789.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://import/interface-elements/default_button.png"
+dest_files=["res://.godot/imported/default_button.png-9b339fd2b4da11a03f0e60fbcb266789.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+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/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+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/src/import/interface-elements/dropdown_arrow.png b/src/import/interface-elements/dropdown_arrow.png
new file mode 100644
index 0000000..da387d8
--- /dev/null
+++ b/src/import/interface-elements/dropdown_arrow.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cd2e456907b1e0dcebce83262727131c94e4e30e1e116329cdf821d7b228bf32
+size 466
diff --git a/src/import/interface-elements/dropdown_arrow.png.import b/src/import/interface-elements/dropdown_arrow.png.import
new file mode 100644
index 0000000..6a990d3
--- /dev/null
+++ b/src/import/interface-elements/dropdown_arrow.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cb0hkxxi8j0wb"
+path="res://.godot/imported/dropdown_arrow.png-68ead7953c568217b6953ae743f1e640.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://import/interface-elements/dropdown_arrow.png"
+dest_files=["res://.godot/imported/dropdown_arrow.png-68ead7953c568217b6953ae743f1e640.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+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/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+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/src/import/interface-elements/dropdown_arrow.svg b/src/import/interface-elements/dropdown_arrow.svg
new file mode 100644
index 0000000..0696d14
--- /dev/null
+++ b/src/import/interface-elements/dropdown_arrow.svg
@@ -0,0 +1,59 @@
+
+
+
+
diff --git a/src/import/interface-elements/dropdown_arrow.svg.import b/src/import/interface-elements/dropdown_arrow.svg.import
new file mode 100644
index 0000000..e669ea6
--- /dev/null
+++ b/src/import/interface-elements/dropdown_arrow.svg.import
@@ -0,0 +1,43 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dnth28qgsoxpy"
+path="res://.godot/imported/dropdown_arrow.svg-4ab989053909ee3391004a6f012a4156.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://import/interface-elements/dropdown_arrow.svg"
+dest_files=["res://.godot/imported/dropdown_arrow.svg-4ab989053909ee3391004a6f012a4156.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+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/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+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/src/import/interface-elements/frame-of-mind-logo.png b/src/import/interface-elements/frame-of-mind-logo.png
new file mode 100644
index 0000000..5f57848
--- /dev/null
+++ b/src/import/interface-elements/frame-of-mind-logo.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:088c0341a7af6776dbe218f5fec3e9dc9c54b28cf1172d2b7ade34e84dc37e52
+size 62391
diff --git a/src/import/interface-elements/frame-of-mind-logo.png.import b/src/import/interface-elements/frame-of-mind-logo.png.import
new file mode 100644
index 0000000..fd10b3b
--- /dev/null
+++ b/src/import/interface-elements/frame-of-mind-logo.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dedg31cqac3n0"
+path="res://.godot/imported/frame-of-mind-logo.png-a215d595533dacfc9c24cd68d662c4e7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://import/interface-elements/frame-of-mind-logo.png"
+dest_files=["res://.godot/imported/frame-of-mind-logo.png-a215d595533dacfc9c24cd68d662c4e7.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+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/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+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/src/import/interface-elements/game-of-thoughts.png b/src/import/interface-elements/game-of-thoughts.png
new file mode 100644
index 0000000..d5dddbf
--- /dev/null
+++ b/src/import/interface-elements/game-of-thoughts.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:903b0e6b9f4e5f9fb90e62b6fafbf96f258d0fa7ebe59a8970a2fb99e11b71f3
+size 28539
diff --git a/src/import/interface-elements/game-of-thoughts.png.import b/src/import/interface-elements/game-of-thoughts.png.import
new file mode 100644
index 0000000..9d4499a
--- /dev/null
+++ b/src/import/interface-elements/game-of-thoughts.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bu6o68w763512"
+path="res://.godot/imported/game-of-thoughts.png-32a0703d0f7a4a9199e57b749e763844.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://import/interface-elements/game-of-thoughts.png"
+dest_files=["res://.godot/imported/game-of-thoughts.png-32a0703d0f7a4a9199e57b749e763844.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+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/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+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/src/import/interface-elements/gedanken-spiel.png b/src/import/interface-elements/gedanken-spiel.png
new file mode 100644
index 0000000..2ab98a7
--- /dev/null
+++ b/src/import/interface-elements/gedanken-spiel.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6482c5238918f8d69ec9f5372885caf1a20d02e24b4355260d10f7925355dcec
+size 23810
diff --git a/src/import/interface-elements/gedanken-spiel.png.import b/src/import/interface-elements/gedanken-spiel.png.import
new file mode 100644
index 0000000..3d76e23
--- /dev/null
+++ b/src/import/interface-elements/gedanken-spiel.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bv1o2xo71wvp6"
+path="res://.godot/imported/gedanken-spiel.png-adf49d09cea4f4f98b9be175c2df4e1a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://import/interface-elements/gedanken-spiel.png"
+dest_files=["res://.godot/imported/gedanken-spiel.png-adf49d09cea4f4f98b9be175c2df4e1a.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+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/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+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/src/import/interface-elements/lower_corner.png b/src/import/interface-elements/lower_corner.png
new file mode 100644
index 0000000..da632cb
--- /dev/null
+++ b/src/import/interface-elements/lower_corner.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c1b2f15e8ee5c1e2e4d3abdaa104e485e3a2ca3556fdbd7f9523411ea449a0cb
+size 2345
diff --git a/src/import/interface-elements/lower_corner.png.import b/src/import/interface-elements/lower_corner.png.import
new file mode 100644
index 0000000..4121ae8
--- /dev/null
+++ b/src/import/interface-elements/lower_corner.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dep3kuio0xnui"
+path="res://.godot/imported/lower_corner.png-44f8eea21bdcaec14b3babc6e5c4f99d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://import/interface-elements/lower_corner.png"
+dest_files=["res://.godot/imported/lower_corner.png-44f8eea21bdcaec14b3babc6e5c4f99d.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+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/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+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/src/import/interface-elements/test.png b/src/import/interface-elements/test.png
new file mode 100644
index 0000000..90750b2
--- /dev/null
+++ b/src/import/interface-elements/test.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bb97f93bb1f63c066766652b6b63c753260f1ee45d1e00070e6deb8006b292e6
+size 1056
diff --git a/src/import/interface-elements/test.png.import b/src/import/interface-elements/test.png.import
new file mode 100644
index 0000000..63a45b3
--- /dev/null
+++ b/src/import/interface-elements/test.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c6016c28ksoid"
+path="res://.godot/imported/test.png-cd80970c5a53f2aed50f3564516cba67.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://import/interface-elements/test.png"
+dest_files=["res://.godot/imported/test.png-cd80970c5a53f2aed50f3564516cba67.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+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/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+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/src/import/interface-elements/top_corner.png b/src/import/interface-elements/top_corner.png
new file mode 100644
index 0000000..e5c87ed
--- /dev/null
+++ b/src/import/interface-elements/top_corner.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9ffc10aa86a0fbb8b1c0760f56efad592736d4813a60761e095c3c26101b6901
+size 2778
diff --git a/src/import/interface-elements/top_corner.png.import b/src/import/interface-elements/top_corner.png.import
new file mode 100644
index 0000000..76ed403
--- /dev/null
+++ b/src/import/interface-elements/top_corner.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bxpunr1whf5o1"
+path="res://.godot/imported/top_corner.png-2131e6fb02a65e1fd9265d84564f46b9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://import/interface-elements/top_corner.png"
+dest_files=["res://.godot/imported/top_corner.png-2131e6fb02a65e1fd9265d84564f46b9.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+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/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+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/src/import/src/import/interface-elements/button_underline.png b/src/import/src/import/interface-elements/button_underline.png
new file mode 100644
index 0000000..0ab6102
--- /dev/null
+++ b/src/import/src/import/interface-elements/button_underline.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5eb7b623cffadb8ebedc5442e1e705fbdcad188b7499458d693d8f02a49e646e
+size 2518
diff --git a/src/import/src/import/interface-elements/button_underline.png.import b/src/import/src/import/interface-elements/button_underline.png.import
new file mode 100644
index 0000000..655d636
--- /dev/null
+++ b/src/import/src/import/interface-elements/button_underline.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://nqeew2mdtdqc"
+path="res://.godot/imported/button_underline.png-8c06bd5a745ffc4d34aac161d7c647df.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://import/src/import/interface-elements/button_underline.png"
+dest_files=["res://.godot/imported/button_underline.png-8c06bd5a745ffc4d34aac161d7c647df.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+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/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+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/src/import/src/import/interface-elements/top_corner.png b/src/import/src/import/interface-elements/top_corner.png
new file mode 100644
index 0000000..4aa3eb5
--- /dev/null
+++ b/src/import/src/import/interface-elements/top_corner.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4c3da4d727f0878c3d04437840e8b605782501c19797de998bbd81cb0afa8103
+size 4658
diff --git a/src/import/src/import/interface-elements/top_corner.png.import b/src/import/src/import/interface-elements/top_corner.png.import
new file mode 100644
index 0000000..7eb07d1
--- /dev/null
+++ b/src/import/src/import/interface-elements/top_corner.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dmiul5yalge1a"
+path="res://.godot/imported/top_corner.png-e7d2bb658305cce9993759a9d6a8c8de.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://import/src/import/interface-elements/top_corner.png"
+dest_files=["res://.godot/imported/top_corner.png-e7d2bb658305cce9993759a9d6a8c8de.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+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/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+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/src/logic-scenes/themes/handwriting.theme b/src/logic-scenes/themes/handwriting.theme
index 98f6340..9a17a5a 100644
Binary files a/src/logic-scenes/themes/handwriting.theme and b/src/logic-scenes/themes/handwriting.theme differ