diff --git a/.gitignore b/.gitignore
index b26a482..7e85f63 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
repomix-output.xml
-conf/
\ No newline at end of file
+conf/
+.idea/
diff --git a/public/assets/css/theme-neogothic.css b/public/assets/css/theme-neogothic.css
index 30c3892..5b907e3 100644
--- a/public/assets/css/theme-neogothic.css
+++ b/public/assets/css/theme-neogothic.css
@@ -238,7 +238,7 @@ h1, h2, h3, h4, h5, h6, .ui.header {
.ui.segment.code-view, .view-code, pre, code, .chroma {
background-color: var(--color-code-bg) !important;
color: #bcbec4 !important;
- border: 1px solid var(--color-border-secondary);
+ border: 0px !important;
}
.lines-num {
@@ -246,6 +246,38 @@ h1, h2, h3, h4, h5, h6, .ui.header {
color: var(--color-editor-line-number) !important;
}
+.file-view.code-view table,
+.file-view.code-view tbody,
+.file-view.code-view tr {
+ background: transparent !important;
+ background-color: transparent !important;
+ border-collapse: collapse !important;
+ border-spacing: 0 !important;
+ border: 0 !important;
+ border-bottom: 0 !important;
+ border-bottom-color: transparent !important;
+}
+
+.file-view.code-view .lines-num,
+td.lines-num {
+ background: var(--color-code-sidebar-bg) !important;
+ background-color: var(--color-code-sidebar-bg) !important;
+}
+
+.file-view.code-view .lines-code,
+.file-view.code-view .lines-code.chroma,
+td.lines-code,
+td.lines-code.chroma {
+ background: var(--color-code-bg) !important;
+ background-color: var(--color-code-bg) !important;
+}
+
+.lines-code.chroma span,
+.chroma span {
+ background: transparent !important;
+ background-color: transparent !important;
+}
+
.chroma .k, .chroma .kd, .chroma .kn, .chroma .kp, .chroma .kr, .chroma .kt { color: #cf8e6d !important; }
.chroma .s, .chroma .s1, .chroma .s2, .chroma .sb, .chroma .sc { color: #6aab73 !important; }
.chroma .sd { color: #5f826b !important; font-style: italic; }
diff --git a/public/assets/css/theme-pinkie.css b/public/assets/css/theme-pinkie.css
new file mode 100644
index 0000000..5aa470a
--- /dev/null
+++ b/public/assets/css/theme-pinkie.css
@@ -0,0 +1,324 @@
+@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');
+
+gitea-theme-meta-info {
+ --theme-display-name: "pinkie";
+}
+
+:root {
+ --is-dark-theme: true;
+
+ --color-primary: #FF82F3;
+ --color-primary-dark-1: #7C3871;
+ --color-primary-dark-2: #6A2F60;
+ --color-primary-light-1: #FF9EF6;
+ --color-primary-light-2: #FFBaf9;
+ --color-primary-alpha-10: rgba(255, 130, 243, 0.1);
+ --color-primary-alpha-20: rgba(255, 130, 243, 0.2);
+ --color-primary-alpha-30: rgba(255, 130, 243, 0.3);
+ --color-primary-alpha-40: rgba(255, 130, 243, 0.4);
+ --color-primary-alpha-50: rgba(255, 130, 243, 0.5);
+ --color-primary-alpha-60: rgba(255, 130, 243, 0.6);
+
+ --color-body: #22111E;
+ --color-box-body: #2C1B29;
+ --color-box-header: #341D2F;
+ --color-footer: #22111E;
+ --color-navbar: #2C1B29;
+ --color-menu: #2C1B29;
+ --color-card: #2C1B29;
+
+ --color-text: #F5F5F5;
+ --color-text-light: #877384;
+ --color-text-light-2: #877384;
+ --color-text-light-3: #90708B;
+ --color-link: #FF82F3;
+ --color-link-hover: #FF9EF6;
+
+ --color-border: #3F293A;
+ --color-border-secondary: #341D2F;
+ --color-secondary: #341D2F;
+
+ --color-input-background: #3F293A;
+ --color-input-text: #F5F5F5;
+ --color-input-border: #341D2F;
+ --color-input-border-hover: #FF82F3;
+
+ --color-code-bg: #1e1f22;
+ --color-code-sidebar-bg: #2b2d30;
+ --color-editor-line-number: #4b5059;
+
+ --fonts-proportional: 'Inter', sans-serif;
+ --fonts-monospace: 'JetBrains Mono', monospace;
+ --fonts-regular: 'Inter', sans-serif;
+}
+
+body {
+ background-color: var(--color-body);
+ color: var(--color-text);
+ font-family: var(--fonts-regular);
+ -webkit-font-smoothing: antialiased;
+}
+
+*:not(i):not(.icon):not(svg):not(path):not(.octicon):not(.lines-num):not(.lines-num span):not(.lines-code):not(.chroma):not(.chroma *):not(tr):not(td):not(th) {
+ border-radius: 12px !important;
+}
+
+i.icon, svg, path, .octicon {
+ border-radius: 0 !important;
+}
+
+.ui.button, .ui.button.icon, .ui.icon.button, .ui.dropdown.icon.button {
+ border-radius: 12px !important;
+}
+
+.ui.buttons {
+ gap: 4px !important;
+}
+
+.ui.buttons > .button,
+.ui.buttons > .ui.button {
+ margin: 0 !important;
+}
+
+.file-info,
+.file-info-entry,
+.file-info-entry * {
+ background: transparent !important;
+ background-color: transparent !important;
+ border-radius: 0 !important;
+}
+
+.file-info-entry::before,
+.file-info-entry::after,
+.file-info::before,
+.file-info::after {
+ color: var(--color-text-light) !important;
+ background: transparent !important;
+}
+
+.ui.button, .ui.input, .ui.segment, .ui.card {
+ isolation: isolate;
+}
+
+.ui.menu, .ui.secondary.menu, .following.bar, footer {
+ border-radius: 0 !important;
+}
+
+.ui.menu, .ui.secondary.menu, .following.bar {
+ background: var(--color-navbar) !important;
+ border-bottom: 1px solid var(--color-border);
+ backdrop-filter: blur(10px);
+}
+
+.ui.secondary.menu .item {
+ color: var(--color-text-light);
+ font-family: var(--fonts-regular);
+ border: none !important;
+}
+
+.ui.secondary.menu .active.item {
+ color: var(--color-primary);
+ background: transparent !important;
+ box-shadow: inset 0 -2px 0 0 var(--color-primary) !important;
+ border-radius: 0 !important;
+}
+
+.ui.button, .ui.basic.button {
+ background: var(--color-primary-dark-1);
+ border: 1px solid var(--color-primary-alpha-50);
+ color: var(--color-text);
+ font-family: var(--fonts-regular);
+ transition: all 0.2s ease;
+ box-shadow: none !important;
+}
+
+.ui.button:hover {
+ background: var(--color-primary);
+ color: #22111E;
+ border-color: var(--color-primary);
+ box-shadow: 0 0 10px var(--color-primary-alpha-40) !important;
+}
+
+.ui.primary.button, .ui.green.button, .ui.blue.button {
+ background: var(--color-primary) !important;
+ color: #22111E !important;
+ border: 1px solid var(--color-primary);
+ font-weight: 600;
+}
+
+.ui.primary.button:hover {
+ background: var(--color-primary-light-1) !important;
+ box-shadow: 0 0 15px var(--color-primary) !important;
+}
+
+.ui.input input, .ui.form input[type="text"], .ui.form input[type="email"], .ui.form input[type="password"] {
+ background: var(--color-input-background) !important;
+ border: 1px solid var(--color-input-border) !important;
+ color: var(--color-input-text) !important;
+ padding: 10px !important;
+}
+
+.ui.input input:focus, .ui.form input:focus {
+ border-color: var(--color-primary) !important;
+}
+
+.ui.icon.input > i.icon {
+ color: var(--color-text-light);
+}
+
+.ui.icon.input input {
+ padding-right: 2.67142857em !important;
+}
+
+.ui.left.icon.input input {
+ padding-left: 2.67142857em !important;
+ padding-right: 10px !important;
+}
+
+.ui.card, .ui.segment, .ui.attached.segment {
+ background: var(--color-box-body) !important;
+ border: 1px solid var(--color-border);
+ box-shadow: none !important;
+}
+
+.ui.header.segment, .ui.top.attached.header {
+ background: var(--color-box-header) !important;
+ border-bottom: 1px solid var(--color-border);
+}
+
+.ui.segment.code-view, .view-code, pre, code, .chroma {
+ background-color: var(--color-code-bg) !important;
+ color: #bcbec4 !important;
+ border: 0px !important;
+ border-radius: 6px !important;
+}
+
+.lines-num {
+ background-color: var(--color-code-sidebar-bg) !important;
+ color: var(--color-editor-line-number) !important;
+ border-radius: 0 !important;
+}
+
+.file-view.code-view,
+.file-view.code-view table,
+.file-view.code-view tbody,
+.file-view.code-view tr,
+.file-view.code-view td,
+.file-view.code-view .lines-num,
+.file-view.code-view .lines-code,
+.file-view.code-view .chroma,
+.file-view.code-view .chroma *,
+.lines-num,
+.lines-num span,
+.lines-code,
+.lines-code.chroma,
+.lines-code.chroma * {
+ border-radius: 0 !important;
+}
+
+.file-view.code-view table,
+.file-view.code-view tbody,
+.file-view.code-view tr {
+ background: transparent !important;
+ background-color: transparent !important;
+ border-collapse: collapse !important;
+ border-spacing: 0 !important;
+ border: 0 !important;
+ border-bottom: 0 !important;
+ border-bottom-color: transparent !important;
+}
+
+.file-view.code-view .lines-num,
+td.lines-num {
+ background: var(--color-code-sidebar-bg) !important;
+ background-color: var(--color-code-sidebar-bg) !important;
+}
+
+.file-view.code-view .lines-code,
+.file-view.code-view .lines-code.chroma,
+td.lines-code,
+td.lines-code.chroma {
+ background: var(--color-code-bg) !important;
+ background-color: var(--color-code-bg) !important;
+}
+
+.lines-code.chroma span,
+.chroma span {
+ background: transparent !important;
+ background-color: transparent !important;
+}
+
+.chroma .k, .chroma .kd, .chroma .kn, .chroma .kp, .chroma .kr, .chroma .kt { color: #cf8e6d !important; }
+.chroma .s, .chroma .s1, .chroma .s2, .chroma .sb, .chroma .sc { color: #6aab73 !important; }
+.chroma .sd { color: #5f826b !important; font-style: italic; }
+.chroma .c, .chroma .c1, .chroma .cm { color: #7a7e85 !important; }
+.chroma .m, .chroma .mb, .chroma .mf, .chroma .mh, .chroma .mi, .chroma .mo { color: #2aacb8 !important; }
+.chroma .nf, .chroma .fm { color: #56a8f5 !important; }
+.chroma .nd { color: #b3ae60 !important; }
+.chroma .nc { color: #bcbec4 !important; }
+.chroma .o, .chroma .ow { color: #bcbec4 !important; }
+.chroma .p { color: #bcbec4 !important; }
+.chroma .n { color: #bcbec4 !important; }
+.chroma .na { color: #c77dbb !important; }
+.chroma .nb { color: #8888c6 !important; }
+.chroma .nt { color: #d5b778 !important; }
+.chroma .nv, .chroma .vc, .chroma .vg, .chroma .vi { color: #bcbec4 !important; }
+.chroma .kc { color: #cf8e6d !important; }
+.chroma .nn { color: #bcbec4 !important; }
+
+.ui.table {
+ background: transparent;
+ border: 1px solid var(--color-border);
+}
+.ui.table thead th {
+ background: rgba(255,255,255,0.05);
+ color: var(--color-text);
+ border-bottom: 1px solid var(--color-border-secondary);
+}
+.ui.table tbody tr {
+ border-bottom: 1px solid var(--color-border-secondary);
+}
+
+.ui.label {
+ background: transparent;
+ border: 1px solid var(--color-border);
+ color: var(--color-text-light);
+}
+
+.ui.popup,
+.ui.tooltip,
+.tippy-box,
+[data-tooltip]:before,
+[data-tooltip]:after {
+ background: var(--color-menu) !important;
+ color: var(--color-text) !important;
+ border: 1px solid var(--color-border) !important;
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
+}
+
+.tippy-content {
+ background: var(--color-menu) !important;
+ color: var(--color-text) !important;
+}
+
+.ui.dropdown .menu {
+ background: var(--color-menu) !important;
+ border: 1px solid var(--color-border) !important;
+}
+
+.ui.dropdown .menu > .item {
+ color: var(--color-text) !important;
+ border-top: 1px solid var(--color-border-secondary) !important;
+}
+
+.ui.dropdown .menu > .item:hover,
+.ui.dropdown .menu > .item.selected,
+.ui.dropdown .menu > .item.active {
+ background: var(--color-primary-alpha-20) !important;
+ color: var(--color-primary) !important;
+}
+
+footer {
+ background: var(--color-footer) !important;
+ border-top: 1px solid var(--color-border);
+}
diff --git a/templates/custom/extra_links_footer.tmpl b/templates/custom/extra_links_footer.tmpl
index 6942437..b9b13d1 100644
--- a/templates/custom/extra_links_footer.tmpl
+++ b/templates/custom/extra_links_footer.tmpl
@@ -4,6 +4,7 @@