diff --git a/reworked/assets/discord.svg b/reworked/assets/discord.svg
new file mode 100644
index 0000000..6fd9e78
--- /dev/null
+++ b/reworked/assets/discord.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/reworked/assets/favicon.ico b/reworked/assets/favicon.ico
new file mode 100644
index 0000000..6d561b4
Binary files /dev/null and b/reworked/assets/favicon.ico differ
diff --git a/reworked/assets/github-mark-white.svg b/reworked/assets/github-mark-white.svg
new file mode 100644
index 0000000..d5e6491
--- /dev/null
+++ b/reworked/assets/github-mark-white.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/reworked/assets/github-mark.svg b/reworked/assets/github-mark.svg
new file mode 100644
index 0000000..37fa923
--- /dev/null
+++ b/reworked/assets/github-mark.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/reworked/assets/style.css b/reworked/assets/style.css
new file mode 100644
index 0000000..af506fb
--- /dev/null
+++ b/reworked/assets/style.css
@@ -0,0 +1,152 @@
+/* Общая характеристика */
+body {
+ background-color: #242829;
+}
+
+/* Заморочная настройка переключателей */
+.Select {
+ background-color: rgb(27, 29, 30);
+ color: #fff;
+ font-family: 'Mulish', sans-serif;
+ font-size: 2vh;
+}
+.Select-input > input {
+ color: #fff;
+}
+.Select .Select-value {
+ background-color: rgb(27, 29, 30);
+}
+.Select-control {
+ background-color: rgb(25, 25, 25) !important;
+ color: #fff;
+ font-family: 'Mulish', sans-serif;
+ font-size: 2vh;
+}
+.Select-menu-outer {
+ background-color: rgb(27, 29, 30);
+ color: #fff;
+ border-radius: 10;
+}
+.has-value.Select--single>.Select-control .Select-value .Select-value-label, .has-value.is-pseudo-focused.Select--single>.Select-control .Select-value .Select-value-label{
+ color: white;
+}
+
+.Select-value {
+ font-family: 'Mulish', sans-serif;
+ font-size: 2vh;
+}
+.Select-placeholder {
+ font-family: 'Mulish', sans-serif;
+ font-size: 2vh;
+}
+
+.Select-clear {
+ font-size: 30px;
+}
+
+
+/* Верхняя панель */
+.panel {
+ background-color: #161819;
+ margin: -8px;
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-start;
+}
+
+.logo {
+ padding: 10px;
+ width: 4vh;0
+}
+.git_logo {
+ width: 3.2vh;
+}
+.soc_logo {
+ width: 3.2vh;
+ filter: brightness(0) invert(1);
+}
+
+.react_vol_out {
+ padding-top: 10vh;
+ width: 80vh;
+}
+
+.react_vol {
+ display: flex;
+ flexDirection: row;
+}
+.vol {
+ flex: 1;
+ padding-left: 25px;
+ min-width: 100px;
+}
+
+/* Иконка + текст слева в панели */
+.img_text_panel {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ flex: 1;
+}
+
+/* Кнопки социалок */
+.soc_buttons {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ flex: 1;
+ justify-content: center;
+ gap: 10px;
+}
+
+
+/* Div для социалок */
+.socials {
+ background-color: #2e4ebf;
+ border-radius: 15px;
+ display: flex;
+ flex-direction: row;
+ padding-left: 1%;
+ padding-right: 4%;
+ align-items: center;
+/* height: 60%; */
+ height: 4vh;
+ max-height: 35px;
+}
+/* Текст социалок */
+.soc_text {
+ color: white;
+ padding-left: 8%;
+ font-size: 1.6vh;
+ font-family: 'Mulish', sans-serif;
+}
+
+.empty_box {
+ flex: 1;
+}
+
+/* Отключить декорацию всего (сделано для убирания подчёркивания ссылок) */
+a {
+ text-decoration: none;
+}
+
+
+/* Действия при разрешении телефона */
+@media (max-width: 900px) {
+
+ .empty_box {
+ flex: 0;
+ }
+ .soc_buttons {
+ justify-content: right;
+ }
+
+}
+/* Сверхузкие телефоны */
+@media (max-width: 400px) {
+ .react_vol {
+ flex-direction: column;
+ }
+ .vol {
+ padding-top: 8px;
+}
diff --git a/reworked/assets/telegram.svg b/reworked/assets/telegram.svg
new file mode 100644
index 0000000..80317a6
--- /dev/null
+++ b/reworked/assets/telegram.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/reworked/db.py b/reworked/db.py
new file mode 100644
index 0000000..92630b3
--- /dev/null
+++ b/reworked/db.py
@@ -0,0 +1,20 @@
+import os
+import json
+
+if not os.path.exists('db.json'):
+ db = {}
+ js = json.dumps(db, indent=2)
+ with open("db.json", "w") as outfile:
+ outfile.write(js)
+ print('Created new db.json')
+
+
+def read_db(file = 'db.json'):
+ with open(file, "r", encoding="utf-8") as openfile:
+ db = json.load(openfile)
+ return db
+
+def write_db(db, file = 'db.json'):
+ js = json.dumps(db, indent=2, ensure_ascii=False)
+ with open(file, "w", encoding="utf-8") as outfile:
+ outfile.write(js)
diff --git a/reworked/requirements.txt b/reworked/requirements.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/reworked/requirements.txt
@@ -0,0 +1 @@
+
diff --git a/reworked/schemes/общее.drawio b/reworked/schemes/общее.drawio
new file mode 100644
index 0000000..483fa0c
--- /dev/null
+++ b/reworked/schemes/общее.drawio
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/reworked/schemes/общее.png b/reworked/schemes/общее.png
new file mode 100644
index 0000000..6118a1b
Binary files /dev/null and b/reworked/schemes/общее.png differ