diff --git a/src/index.html b/src/index.html
index c9cc61c8..7ac64d95 100644
--- a/src/index.html
+++ b/src/index.html
@@ -1049,6 +1049,8 @@
Choose Theme
+
+
diff --git a/src/js/settings.js b/src/js/settings.js
index fd2e0cf0..e4251050 100644
--- a/src/js/settings.js
+++ b/src/js/settings.js
@@ -1376,7 +1376,7 @@ async function selectFolder() {
* @param {string} mode - The theme mode, i.e: light, dark
*/
function applyTheme(theme = 'vector', mode = 'dark') {
- document.body.classList.remove('vector-theme', 'satoshi-theme', 'chatstr-theme', 'gifverse-theme', 'pivx-theme');
+ document.body.classList.remove('vector-theme', 'satoshi-theme', 'chatstr-theme', 'gifverse-theme', 'pivx-theme', 'cyberpunk-theme', 'monero-theme',);
document.body.classList.add(`${theme}-theme`);
domTheme.href = `/themes/${theme}/${mode}.css`;
diff --git a/src/themes/chatstr/dark.css b/src/themes/chatstr/dark.css
index cb1ea69e..c9e290ec 100644
--- a/src/themes/chatstr/dark.css
+++ b/src/themes/chatstr/dark.css
@@ -55,6 +55,9 @@
20%, 80% { background-color: rgba(205, 61, 211, 0.18); }
}
+.image-viewer-close {
+ border: 1px solid var(--primary-color);
+}
.attachment-panel {
background: #0a0a0a;
@@ -302,7 +305,8 @@ select:disabled {
/* File Preview Overlay Theme */
.file-preview-container {
- border-color: rgba(177, 136, 226, 0.2);
+ border-color: var(--primary-color);
+ background: #0A0A0A;
}
.file-preview-icon-container {
@@ -315,8 +319,8 @@ select:disabled {
}
.file-preview-option {
- background: rgba(177, 136, 226, 0.05);
- border: 1px solid rgba(177, 136, 226, 0.1);
+ background: #171717;
+ border: 1px solid #47474750;
}
.file-preview-btn-send {
diff --git a/src/themes/cyberpunk/chat-bg.png b/src/themes/cyberpunk/chat-bg.png
new file mode 100644
index 00000000..aadd54cd
Binary files /dev/null and b/src/themes/cyberpunk/chat-bg.png differ
diff --git a/src/themes/cyberpunk/dark.css b/src/themes/cyberpunk/dark.css
new file mode 100644
index 00000000..c95bdd86
--- /dev/null
+++ b/src/themes/cyberpunk/dark.css
@@ -0,0 +1,700 @@
+:root {
+ background-color: #030303;
+ --voice-highlight-bg: #59FCF430;
+ --voice-highlight-text: #59FCF4;
+ --voice-frequency-glow: #59FCF480;
+ --icon-color-primary: #59FCF4;
+ --voice-progress-secondary: #59FCF440;
+ --reply-highlight-border: #59FCF4;
+ --toast-border-color: #59FCF4;
+ --chat-bg-opacity: 0.15;
+ --primary-color: #59FCF4;
+ --secondary-color: #FC59AD;
+ --accent-color: #59FCF4;
+}
+
+.sync-line {
+ background-color: var(--primary-color);
+}
+
+.popup {
+ background-color: #030303;
+ box-shadow: 0 0 15px #59FCF420;
+ border-color: var(--primary-color);
+}
+
+.typing-indicator-text {
+ background: linear-gradient(to right, #f8f8f8 13.87%, var(--primary-color) 60%);
+ background-size: 200% 200%;
+ background-clip: text;
+}
+
+.back-btn {
+ color: var(--primary-color);
+}
+
+.chatlist-contact {
+ border-color: transparent;
+}
+
+.chat {
+ background-color: inherit;
+}
+
+.chat-messages {
+ background-color: #030303;
+ border-top-color: #59FCF475;
+ border-top-style: solid;
+ border-top-width: 1px;
+ position: relative;
+}
+
+.chat-messages::before {
+ content: '';
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-image: url('./chat-bg.png');
+ background-size: cover;
+ background-position: center;
+ background-repeat: no-repeat;
+ opacity: var(--chat-bg-opacity);
+ pointer-events: none;
+ z-index: 0;
+}
+
+.chat-messages > * {
+ position: relative;
+ z-index: 1;
+}
+
+.dmsg-reply-them {
+ border-left-color: var(--primary-color) !important;
+}
+
+@keyframes highlightMessage {
+ 0%, 100% { background-color: rgba(161, 40, 253, 0); }
+ 20%, 80% { background-color: var(--primary-color) 20%; }
+}
+
+.image-viewer-close {
+ border: 1px solid var(--primary-color);
+}
+
+.attachment-panel {
+ background: #030303;
+ border-color: #59FCF4;
+}
+
+.mention-selector {
+ background: #030303;
+ border-color: #59FCF4;
+}
+
+.mention-item.active::before {
+ background: #59FCF4;
+}
+
+.mention {
+ background: #59FCF415;
+ color: #59FCF4;
+}
+
+.mention:hover {
+ background: #59FCF425;
+}
+
+.emoji-shortcode-selector {
+ background: #0a0a0a;
+ border-color: #59FCF4;
+}
+
+.emoji-shortcode-item.active::before {
+ background: #59FCF4;
+}
+
+.emoji-creator-dropzone:hover,
+.emoji-creator-dropzone.is-dragover {
+ border-color: var(--primary-color);
+ color: var(--primary-color);
+ background-color: #59FCF410;
+}
+
+.emoji-pack-creator-naming {
+ background:
+ linear-gradient(to bottom, #59FCF400, #59FCF420),
+ rgba(8, 8, 8, 0.82);
+ backdrop-filter: blur(6px);
+ -webkit-backdrop-filter: blur(6px);
+ border: 2px solid var(--primary-color);
+ box-shadow: 0 0 24px #59FCF420 inset;
+}
+
+.emoji-pack-creator-naming-save {
+ background-color: #59FCF420;
+ border-color: var(--primary-color);
+ color: var(--primary);
+}
+
+.emoji-pack-creator-naming-save:hover {
+ background-color: #59FCF430;
+}
+
+.emoji-pack-creator-naming-input:focus {
+ background-color: #59FCF410;
+}
+
+.emoji-pack-creator-cropper-ok {
+ background-color: #59FCF420;
+}
+
+.emoji-pack-creator-cropper-ok:hover {
+background-color: #59FCF430;
+}
+
+.input-box {
+ background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
+}
+
+#chat-input {
+ background-color: #030303;
+}
+
+input,
+textarea,
+button {
+ background-color: #171717;
+}
+
+.corner-float {
+ border-color: #59FCF4;
+}
+
+.divider {
+ background-color: #474747;
+}
+
+.new-chat-btn .icon {
+ background-color: var(--primary-color);
+}
+
+.progress-bar {
+ background: linear-gradient(90deg, #59FCF4 0%, #59FCF4 80%);
+}
+
+select {
+ border: 1px solid #59FCF4;
+}
+
+#whisper-model:focus {
+ box-shadow: 0 0 0 2px #59FCF430;
+}
+
+#download-model {
+ background: linear-gradient(135deg, #59FCF4 0%, #59FCF4 80%);
+}
+
+#download-model:hover {
+ box-shadow: 0 5px 15px #59FCF430;
+}
+
+.model-status {
+ color: #59FCF4;
+}
+
+.progress-bar-track {
+ box-shadow:
+ inset 0 1px 3px rgba(0, 0, 0, 0.4),
+ 0 0 0 1px #59FCF410;
+}
+
+.progress-bar-fill {
+ background: linear-gradient(90deg,
+ #59FCF4 0%,
+ #59FCF4 80%);
+}
+
+.progress-text {
+ text-shadow: 0 0 5px #59FCF470;
+}
+
+.voice-progress-container {
+ border: 1px solid #59FCF4;
+ box-shadow: 0 0 15px #59FCF430;
+}
+
+.voice-progress-fill {
+ background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
+}
+
+.voice-preview-progress {
+ background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
+}
+
+.voice-progress-text {
+ color: #59FCF4;
+}
+
+input[type="checkbox"]:checked + .neon-toggle {
+ background: linear-gradient(270deg, var(--primary-color) 30%, var(--secondary-color) 100%);
+ box-shadow:
+ inset 0 1px 3px rgba(0, 0, 0, 0.3);
+}
+
+.neon-toggle:hover {
+ box-shadow:
+ 0 0 4px var(--primary-color),
+ inset 0 1px 3px rgba(0, 0, 0, 0.3);
+}
+
+input[type="checkbox"]:checked + .neon-toggle:hover {
+ box-shadow:
+ inset 0 1px 3px rgba(0, 0, 0, 0.3);
+}
+
+#theme-select:focus {
+ box-shadow: 0 0 0 2px #59FCF430;
+}
+
+.icon-trash {
+ background-color: #59FCF4;
+}
+
+select:disabled {
+ border-color: #59FCF460;
+}
+
+.nav-icon {
+ background-color: #59FCF4;
+}
+
+/* Custom Audio Player Theme Overrides */
+/* Default style */
+.custom-audio-player {
+ background: #59FCF420;
+ backdrop-filter: blur(6px);
+ box-shadow: 0 0 12px #00000050, 0 0 24px #00000025;
+ border-color: #59FCF440;
+}
+
+.custom-audio-player:hover {
+ background: #59FCF460;
+ border-color: #59FCF450;
+}
+
+.audio-play-btn {
+ background: linear-gradient(135deg, #59FCF4 0%, #59FCF4 100%);
+}
+
+.audio-progress-fill {
+ background: linear-gradient(90deg, #59FCF4 0%, #59FCF4 80%);
+}
+
+.audio-progress-handle {
+ background: #59FCF4;
+}
+
+.waveform-bar {
+ background: linear-gradient(to top, #59FCF450, #59FCF4);
+}
+
+.custom-audio-player.playing .waveform-bar {
+ box-shadow: none;
+}
+
+.audio-time-display .current-time {
+ color: #ffffff60;
+}
+
+.audio-transcribe-btn .icon {
+ background-color: #59FCF4;
+}
+
+.transcribe-progress-fill {
+ background: linear-gradient(90deg, #59FCF4, #59FCF480);
+}
+
+.transcribe-progress-text {
+ color: #59FCF4;
+}
+
+.transcription-section.current {
+ background-color: #59FCF430;
+ color: #59FCF4;
+ box-shadow: 0 0 8px #59FCF420;
+}
+
+/* Update Settings Section Styles */
+#current-version,
+#new-version {
+ color: #59FCF4;
+}
+
+.accept-btn {
+ background: #59FCF410;
+ border: 1px solid #59FCF4;
+ color: #ffffff;
+}
+
+.accept-btn:hover:not(:disabled) {
+ background: #59FCF450;
+ border-color: #59FCF4;
+ color: #ffffff;
+}
+
+#update-status-text {
+ color: rgba(255, 255, 255, 0.8);
+}
+
+#update-progress-bar {
+ background: linear-gradient(90deg, #59FCF4 0%, #59FCF4 100%);
+ box-shadow: 0 0 10px #59FCF440;
+}
+
+#download-update-btn,
+#restart-update-btn {
+ color: #000;
+ border: none;
+ box-shadow: 0 4px 12px #59FCF430;
+}
+
+#changelog-content {
+ background: rgba(0, 0, 0, 0.3);
+ border: 1px solid #59FCF420;
+ color: rgba(255, 255, 255, 0.8);
+}
+
+#popupConfirm {
+ background-color: #59FCF4;
+ color: #000;
+}
+
+/* File Preview Overlay Theme */
+.file-preview-container {
+ border-color: var(--primary-color);
+ background: #0A0A0A;
+}
+
+.file-preview-icon-container {
+ background: #59FCF410;
+ border: 2px solid #59FCF420;
+}
+
+.file-preview-icon {
+ background-color: #59FCF4;
+}
+
+.file-preview-option {
+ background: #171717;
+ border: 1px solid #47474750;
+}
+
+.file-preview-btn-send {
+ background: #59FCF4;
+ color: #000000;
+}
+
+.file-preview-btn-send:hover {
+ opacity: 0.9;
+}
+
+/* Mini App Theme Overrides */
+.miniapp-launch-container {
+ border: 1px solid var(--primary-color);
+}
+
+/* Marketplace Theme Overrides */
+.marketplace-panel {
+ background-color: #0a0a0a;
+}
+
+.marketplace-header {
+ background-color: rgba(22, 22, 22, 0.85);
+}
+
+.marketplace-search-container input:focus {
+ border-color: rgba(89, 252, 179, 0.5);
+}
+
+.marketplace-filter-tag {
+ background-color: rgba(89, 252, 179, 0.15);
+ color: #59fcb3;
+}
+
+.marketplace-filter-tag:hover {
+ background-color: rgba(89, 252, 179, 0.25);
+}
+
+.marketplace-filter-tag .icon {
+ background-color: #59fcb3;
+}
+
+.marketplace-app-card {
+ background-color: #171717;
+ border-color: rgba(90, 252, 180, 0.15);
+}
+
+.marketplace-app-card:hover {
+ border-color: rgba(90, 252, 180, 0.35);
+ box-shadow: 0 4px 16px rgba(89, 252, 179, 0.15);
+}
+
+.marketplace-app-icon-container {
+ background-color: rgba(89, 252, 179, 0.1);
+ border: 1px solid rgba(89, 252, 179, 0.2);
+}
+
+.marketplace-app-icon-placeholder {
+ background-color: #59fcb3;
+}
+
+.marketplace-app-category {
+ background-color: rgba(89, 252, 179, 0.15);
+ color: #59fcb3;
+}
+
+.marketplace-app-category:hover {
+ background-color: rgba(89, 252, 179, 0.3);
+}
+
+.marketplace-install-btn {
+ background-color: #58fcb3;
+ color: #000;
+}
+
+.marketplace-install-btn:hover {
+ box-shadow: 0 4px 16px rgba(89, 252, 179, 0.4);
+}
+
+.marketplace-install-btn.installed {
+ background-color: #58fcb3;
+}
+
+.marketplace-install-btn.installing {
+ background-color: #58fcb3;
+ opacity: 0.7;
+}
+
+.marketplace-install-btn.update-available {
+ background-color: #58fcb3;
+ color: #000;
+}
+
+.marketplace-install-btn.updating {
+ background-color: #58fcb3;
+ opacity: 0.7;
+}
+
+.marketplace-app-version.update-available {
+ color: #59fcb3;
+}
+
+.marketplace-loading-icon {
+ background-color: #59fcb3;
+}
+
+.marketplace-empty-icon {
+ background-color: rgba(89, 252, 179, 0.4);
+}
+
+.marketplace-retry-btn {
+ background: linear-gradient(90deg, #59fcb3 0%, #2b976c 100%);
+ color: #000;
+}
+
+.marketplace-retry-btn:hover {
+ box-shadow: 0 4px 16px rgba(89, 252, 179, 0.4);
+}
+
+/* Publish Dialog Theme */
+.publish-app-container {
+ background-color: #0a0a0a;
+ border-color: rgba(90, 252, 180, 0.25);
+}
+
+.publish-app-header {
+ border-bottom-color: rgba(90, 252, 180, 0.2);
+}
+
+.publish-app-icon-placeholder {
+ background: linear-gradient(135deg, #59fcb3 0%, #2b976c 100%);
+}
+
+.publish-app-icon-placeholder .icon {
+ background-color: #000;
+}
+
+.publish-app-field input:focus,
+.publish-app-field textarea:focus {
+ border-color: rgba(89, 252, 179, 0.5);
+ box-shadow: 0 0 0 2px rgba(89, 252, 179, 0.15);
+}
+
+.publish-app-btn-publish {
+ background: linear-gradient(90deg, #33db98, #00ff9d);
+ color: #000;
+}
+
+.publish-app-btn-publish:hover {
+ box-shadow: 0 4px 16px rgba(89, 252, 179, 0.4);
+}
+
+/* File Preview Publish Button */
+.file-preview-btn-publish {
+ background: linear-gradient(90deg, #59fcb3 0%, #2b976c 100%);
+ color: #000;
+}
+
+.file-preview-btn-publish .icon {
+ background-color: #000;
+}
+
+.file-preview-btn-publish:hover {
+ box-shadow: 0 4px 16px rgba(89, 252, 179, 0.4);
+}
+
+/* App Details Panel Theme Overrides */
+.app-details-panel {
+ background-color: #0a0a0a;
+}
+
+.app-details-header {
+ background-color: rgba(22, 22, 22, 0.85);
+}
+
+.app-details-icon-container {
+ background-color: rgba(89, 252, 179, 0.1);
+}
+
+.app-details-icon-placeholder {
+ background-color: #59fcb3;
+}
+
+.app-details-category {
+ background-color: rgba(89, 252, 179, 0.15);
+ color: #59fcb3;
+}
+
+.app-details-category:hover {
+ background-color: rgba(89, 252, 179, 0.3);
+}
+
+.app-details-action-btn {
+ background-color: #58fcb3;
+ color: #000;
+}
+
+.app-details-action-btn:hover {
+ box-shadow: 0 4px 16px rgba(89, 252, 179, 0.4);
+}
+
+.app-details-action-btn.installed {
+ background-color: #58fcb3;
+}
+
+.app-details-action-btn.installing {
+ background-color: #58fcb3;
+ opacity: 0.7;
+}
+
+/* App Details Uninstall Button */
+.app-details-uninstall-btn {
+ background-color: #FC59AD20;
+ color: #FC59AD;
+ border: 1px solid #FC59AD40;
+}
+
+.app-details-uninstall-btn:hover {
+ background-color: rgba(255, 100, 100, 0.3);
+ box-shadow: 0 4px 16px rgba(255, 100, 100, 0.2);
+}
+
+/* App Details Update Button */
+.app-details-update-btn {
+ background-color: #58fcb3;
+ color: #000;
+}
+
+.app-details-update-btn:hover {
+ box-shadow: 0 4px 16px rgba(89, 252, 179, 0.4);
+}
+
+.app-details-update-btn.updating {
+ background-color: #58fcb3;
+ opacity: 0.7;
+}
+
+.app-details-publisher {
+ background-color: rgba(89, 252, 179, 0.05);
+}
+
+.app-details-publisher:hover {
+ background-color: rgba(89, 252, 179, 0.1);
+}
+
+/* Marketplace category overflow indicator */
+.marketplace-app-category-overflow {
+ background-color: rgba(89, 252, 179, 0.2);
+ color: rgba(89, 252, 179, 0.9);
+}
+
+/* Featured category card */
+.marketplace-featured-category.highlighted {
+ background: linear-gradient(135deg, rgba(89, 252, 179, 0.15) 0%, rgba(43, 151, 108, 0.08) 100%);
+ border-color: rgba(89, 252, 179, 0.3);
+}
+
+.marketplace-featured-category.highlighted:hover {
+ box-shadow: 0 8px 24px rgba(89, 252, 179, 0.2);
+}
+
+.marketplace-popular-category:hover {
+ background-color: rgba(89, 252, 179, 0.2);
+ color: #59fcb3;
+}
+
+/* Relay Add Button */
+.relay-add-btn {
+ background: #59FCF425;
+ border: 1px solid #59FCF4;
+ color: #59FCF4;
+}
+
+.relay-add-btn:hover {
+ background: #59FCF450;
+ border-color: #59FCF4;
+ color: #59FCF4;
+}
+
+/* Relay Dialog */
+.relay-dialog {
+ border-color: #171717;
+}
+
+.relay-dialog-header {
+ background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
+}
+
+.relay-dialog-header h3 {
+ color: #000;
+}
+
+.relay-form-input:focus,
+.relay-form-select:focus {
+ border-color: #59FCF4;
+}
+
+.relay-dialog-buttons .primary-btn {
+ background-color: #59FCF4;
+ color: #000;
+}
+
+.relay-dialog-buttons .primary-btn:hover {
+ color: #000;
+}
+
+.relay-metric-value {
+ color: #59FCF4;
+}
diff --git a/src/themes/gifverse/dark.css b/src/themes/gifverse/dark.css
index dc97155d..72d7294b 100644
--- a/src/themes/gifverse/dark.css
+++ b/src/themes/gifverse/dark.css
@@ -55,6 +55,9 @@
20%, 80% { background-color: rgba(255, 174, 206, 0.18); }
}
+.image-viewer-close {
+ border: 1px solid var(--primary-color);
+}
.attachment-panel {
background: #161616;
@@ -320,7 +323,8 @@ select:disabled {
/* File Preview Overlay Theme */
.file-preview-container {
- border-color: #474747;
+ border-color: var(--primary-color);
+ background: #0A0A0A;
}
.file-preview-icon-container {
@@ -333,8 +337,8 @@ select:disabled {
}
.file-preview-option {
- background: rgba(177, 136, 226, 0.05);
- border: 1px solid #474747;
+ background: #171717;
+ border: 1px solid #47474750;
}
.file-preview-btn-send {
diff --git a/src/themes/monero/chat-bg.png b/src/themes/monero/chat-bg.png
new file mode 100644
index 00000000..0745fda8
Binary files /dev/null and b/src/themes/monero/chat-bg.png differ
diff --git a/src/themes/monero/dark.css b/src/themes/monero/dark.css
new file mode 100644
index 00000000..1fda6c04
--- /dev/null
+++ b/src/themes/monero/dark.css
@@ -0,0 +1,692 @@
+:root {
+ background-color: #030303;
+ --voice-highlight-bg: #FF660030;
+ --voice-highlight-text: #FF6600;
+ --voice-frequency-glow: #FF660080;
+ --icon-color-primary: #FF6600;
+ --voice-progress-secondary: #FF660040;
+ --reply-highlight-border: #FF8E43;
+ --toast-border-color: #FF6600;
+ --chat-bg-opacity: 0.05;
+ --primary-color: #FF6600;
+ --accent-color: #FF8E43;
+}
+
+.sync-line {
+ background-color: var(--primary-color);
+}
+
+.popup {
+ background-color: #030303;
+ box-shadow: 0 0 15px #FF660020;
+ border-color: var(--primary-color);
+}
+
+.typing-indicator-text {
+ background: linear-gradient(to right, #f8f8f8 13.87%, var(--primary-color) 60%);
+ background-size: 200% 200%;
+ background-clip: text;
+}
+
+.back-btn {
+ color: var(--primary-color);
+}
+
+.chatlist-contact {
+ border-color: transparent;
+}
+
+.chat {
+ background-color: inherit;
+}
+
+.chat-messages {
+ background-color: #030303;
+ border-top-color: #FF660075;
+ border-top-style: solid;
+ border-top-width: 1px;
+ position: relative;
+}
+
+.chat-messages::before {
+ content: '';
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-image: url('./chat-bg.png');
+ background-size: cover;
+ background-position: center;
+ background-repeat: no-repeat;
+ opacity: var(--chat-bg-opacity);
+ pointer-events: none;
+ z-index: 0;
+}
+
+.chat-messages > * {
+ position: relative;
+ z-index: 1;
+}
+
+.dmsg-reply-them {
+ border-left-color: var(--primary-color) !important;
+}
+
+@keyframes highlightMessage {
+ 0%, 100% { background-color: rgba(161, 40, 253, 0); }
+ 20%, 80% { background-color: var(--primary-color) 20%; }
+}
+
+.image-viewer-close {
+ border: 1px solid var(--primary-color);
+}
+
+.attachment-panel {
+ background: #030303;
+ border-color: #FF6600;
+}
+
+.mention-selector {
+ background: #030303;
+ border-color: #FF6600;
+}
+
+.mention-item.active::before {
+ background: #FF6600;
+}
+
+.mention {
+ background: #FF660015;
+ color: #FF6600;
+}
+
+.mention:hover {
+ background: #FF660025;
+}
+
+.emoji-shortcode-selector {
+ background: #0a0a0a;
+ border-color: #FF6600;
+}
+
+.emoji-shortcode-item.active::before {
+ background: #FF6600;
+}
+
+.emoji-creator-dropzone:hover,
+.emoji-creator-dropzone.is-dragover {
+ border-color: var(--primary-color);
+ color: var(--primary-color);
+ background-color: #FF660010;
+}
+
+.emoji-pack-creator-naming {
+ background:
+ linear-gradient(to bottom, #FF660000, #FF660020),
+ rgba(8, 8, 8, 0.82);
+ backdrop-filter: blur(6px);
+ -webkit-backdrop-filter: blur(6px);
+ border: 2px solid var(--primary-color);
+ box-shadow: 0 0 24px #FF660020 inset;
+}
+
+.emoji-pack-creator-naming-save {
+ background-color: #FF660020;
+ border-color: var(--primary-color);
+ color: var(--primary);
+}
+
+.emoji-pack-creator-naming-save:hover {
+ background-color: #FF660030;
+}
+
+.emoji-pack-creator-naming-input:focus {
+ background-color: #FF660010;
+}
+
+.emoji-pack-creator-cropper-ok {
+ background-color: #FF660020;
+}
+
+.emoji-pack-creator-cropper-ok:hover {
+background-color: #FF660030;
+}
+
+.input-box {
+ background: #FF6600;
+
+}
+
+#chat-input {
+ background-color: #030303;
+}
+
+input,
+textarea,
+button {
+ background-color: #171717;
+}
+
+.corner-float {
+ border-color: #FF6600;
+}
+
+.divider {
+ background-color: #474747;
+}
+
+.new-chat-btn .icon {
+ background-color: var(--primary-color);
+}
+
+.progress-bar {
+ background: linear-gradient(90deg, #FF6600 0%, #FF6600 80%);
+}
+
+select {
+ border: 1px solid #FF6600;
+}
+
+#whisper-model:focus {
+ box-shadow: 0 0 0 2px #FF660030;
+}
+
+#download-model {
+ background: linear-gradient(135deg, #FF6600 0%, #FF6600 80%);
+}
+
+#download-model:hover {
+ box-shadow: 0 5px 15px #FF660030;
+}
+
+.model-status {
+ color: #FF6600;
+}
+
+.progress-bar-track {
+ box-shadow:
+ inset 0 1px 3px rgba(0, 0, 0, 0.4),
+ 0 0 0 1px #FF660010;
+}
+
+.progress-bar-fill {
+ background: linear-gradient(90deg,
+ #FF6600 0%,
+ #FF6600 80%);
+}
+
+.progress-text {
+ text-shadow: 0 0 5px #FF660070;
+}
+
+.voice-progress-container {
+ border: 1px solid #FF6600;
+ box-shadow: 0 0 15px #FF660030;
+}
+
+.voice-progress-fill {
+ background: linear-gradient(90deg, #FF6600, #FF660025);
+}
+
+.voice-progress-text {
+ color: #FF6600;
+}
+
+input[type="checkbox"]:checked + .neon-toggle {
+ background: var(--primary-color);
+ box-shadow:
+ inset 0 1px 3px rgba(0, 0, 0, 0.3);
+}
+
+.neon-toggle:hover {
+ box-shadow:
+ 0 0 4px #b2b2b2,
+ inset 0 1px 3px rgba(0, 0, 0, 0.3);
+}
+
+input[type="checkbox"]:checked + .neon-toggle:hover {
+ box-shadow:
+ inset 0 1px 3px rgba(0, 0, 0, 0.3);
+}
+
+#theme-select:focus {
+ box-shadow: 0 0 0 2px #FF660030;
+}
+
+.icon-trash {
+ background-color: #FF6600;
+}
+
+select:disabled {
+ border-color: #FF660060;
+}
+
+.nav-icon {
+ background-color: #FF6600;
+}
+
+/* Custom Audio Player Theme Overrides */
+/* Default style */
+.custom-audio-player {
+ background: #FF660020;
+ backdrop-filter: blur(6px);
+ box-shadow: 0 0 12px #00000050, 0 0 24px #00000025;
+ border-color: #FF660040;
+}
+
+.custom-audio-player:hover {
+ background: #FF660060;
+ border-color: #FF660050;
+}
+
+.audio-play-btn {
+ background: linear-gradient(135deg, #FF6600 0%, #FF6600 100%);
+}
+
+.audio-progress-fill {
+ background: linear-gradient(90deg, #FF6600 0%, #FF6600 80%);
+}
+
+.audio-progress-handle {
+ background: #FF6600;
+}
+
+.waveform-bar {
+ background: linear-gradient(to top, #FF660050, #FF6600);
+}
+
+.custom-audio-player.playing .waveform-bar {
+ box-shadow: none;
+}
+
+.audio-time-display .current-time {
+ color: #ffffff60;
+}
+
+.audio-transcribe-btn .icon {
+ background-color: #FF6600;
+}
+
+.transcribe-progress-fill {
+ background: linear-gradient(90deg, #FF6600, #FF660080);
+}
+
+.transcribe-progress-text {
+ color: #FF6600;
+}
+
+.transcription-section.current {
+ background-color: #FF660030;
+ color: #FF6600;
+ box-shadow: 0 0 8px #FF660020;
+}
+
+/* Update Settings Section Styles */
+#current-version,
+#new-version {
+ color: #FF6600;
+}
+
+.accept-btn {
+ background: #FF660010;
+ border: 1px solid #FF6600;
+ color: #ffffff;
+}
+
+.accept-btn:hover:not(:disabled) {
+ background: #FF660050;
+ border-color: #FF6600;
+ color: #ffffff;
+}
+
+#update-status-text {
+ color: rgba(255, 255, 255, 0.8);
+}
+
+#update-progress-bar {
+ background: linear-gradient(90deg, #FF6600 0%, #FF6600 100%);
+ box-shadow: 0 0 10px #FF660040;
+}
+
+#download-update-btn,
+#restart-update-btn {
+ color: #000;
+ border: none;
+ box-shadow: 0 4px 12px #FF660030;
+}
+
+#changelog-content {
+ background: rgba(0, 0, 0, 0.3);
+ border: 1px solid #FF660020;
+ color: rgba(255, 255, 255, 0.8);
+}
+
+#popupConfirm {
+ background-color: #FF6600;
+ color: #ffffff;
+}
+
+/* File Preview Overlay Theme */
+.file-preview-container {
+ border-color: var(--primary-color);
+ background: #0A0A0A;
+}
+
+.file-preview-icon-container {
+ background: #FF660010;
+ border: 2px solid #FF660020;
+}
+
+.file-preview-icon {
+ background-color: #FF6600;
+}
+
+.file-preview-option {
+ background: #171717;
+ border: 1px solid #47474750;
+}
+
+.file-preview-btn-send {
+ background: #FF6600;
+ color: #ffffff;
+}
+
+.file-preview-btn-send:hover {
+ opacity: 0.9;
+}
+
+/* Mini App Theme Overrides */
+.miniapp-launch-container {
+ border: 1px solid var(--primary-color);
+}
+
+/* Marketplace Theme Overrides */
+.marketplace-panel {
+ background-color: #0a0a0a;
+}
+
+.marketplace-header {
+ background-color: rgba(22, 22, 22, 0.85);
+}
+
+.marketplace-search-container input:focus {
+ border-color: rgba(89, 252, 179, 0.5);
+}
+
+.marketplace-filter-tag {
+ background-color: rgba(89, 252, 179, 0.15);
+ color: #59fcb3;
+}
+
+.marketplace-filter-tag:hover {
+ background-color: rgba(89, 252, 179, 0.25);
+}
+
+.marketplace-filter-tag .icon {
+ background-color: #59fcb3;
+}
+
+.marketplace-app-card {
+ background-color: #171717;
+ border-color: rgba(90, 252, 180, 0.15);
+}
+
+.marketplace-app-card:hover {
+ border-color: rgba(90, 252, 180, 0.35);
+ box-shadow: 0 4px 16px rgba(89, 252, 179, 0.15);
+}
+
+.marketplace-app-icon-container {
+ background-color: rgba(89, 252, 179, 0.1);
+ border: 1px solid rgba(89, 252, 179, 0.2);
+}
+
+.marketplace-app-icon-placeholder {
+ background-color: #59fcb3;
+}
+
+.marketplace-app-category {
+ background-color: rgba(89, 252, 179, 0.15);
+ color: #59fcb3;
+}
+
+.marketplace-app-category:hover {
+ background-color: rgba(89, 252, 179, 0.3);
+}
+
+.marketplace-install-btn {
+ background-color: #58fcb3;
+ color: #000;
+}
+
+.marketplace-install-btn:hover {
+ box-shadow: 0 4px 16px rgba(89, 252, 179, 0.4);
+}
+
+.marketplace-install-btn.installed {
+ background-color: #58fcb3;
+}
+
+.marketplace-install-btn.installing {
+ background-color: #58fcb3;
+ opacity: 0.7;
+}
+
+.marketplace-install-btn.update-available {
+ background-color: #58fcb3;
+ color: #000;
+}
+
+.marketplace-install-btn.updating {
+ background-color: #58fcb3;
+ opacity: 0.7;
+}
+
+.marketplace-app-version.update-available {
+ color: #59fcb3;
+}
+
+.marketplace-loading-icon {
+ background-color: #59fcb3;
+}
+
+.marketplace-empty-icon {
+ background-color: rgba(89, 252, 179, 0.4);
+}
+
+.marketplace-retry-btn {
+ background: linear-gradient(90deg, #59fcb3 0%, #2b976c 100%);
+ color: #000;
+}
+
+.marketplace-retry-btn:hover {
+ box-shadow: 0 4px 16px rgba(89, 252, 179, 0.4);
+}
+
+/* Publish Dialog Theme */
+.publish-app-container {
+ background-color: #0a0a0a;
+ border-color: rgba(90, 252, 180, 0.25);
+}
+
+.publish-app-header {
+ border-bottom-color: rgba(90, 252, 180, 0.2);
+}
+
+.publish-app-icon-placeholder {
+ background: linear-gradient(135deg, #59fcb3 0%, #2b976c 100%);
+}
+
+.publish-app-icon-placeholder .icon {
+ background-color: #000;
+}
+
+.publish-app-field input:focus,
+.publish-app-field textarea:focus {
+ border-color: rgba(89, 252, 179, 0.5);
+ box-shadow: 0 0 0 2px rgba(89, 252, 179, 0.15);
+}
+
+.publish-app-btn-publish {
+ background: linear-gradient(90deg, #33db98, #00ff9d);
+ color: #000;
+}
+
+.publish-app-btn-publish:hover {
+ box-shadow: 0 4px 16px rgba(89, 252, 179, 0.4);
+}
+
+/* File Preview Publish Button */
+.file-preview-btn-publish {
+ background: linear-gradient(90deg, #59fcb3 0%, #2b976c 100%);
+ color: #000;
+}
+
+.file-preview-btn-publish .icon {
+ background-color: #000;
+}
+
+.file-preview-btn-publish:hover {
+ box-shadow: 0 4px 16px #FF660040;
+}
+
+/* App Details Panel Theme Overrides */
+.app-details-panel {
+ background-color: #0a0a0a;
+}
+
+.app-details-header {
+ background-color: rgba(22, 22, 22, 0.85);
+}
+
+.app-details-icon-container {
+ background-color: rgba(89, 252, 179, 0.1);
+}
+
+.app-details-icon-placeholder {
+ background-color: #59fcb3;
+}
+
+.app-details-category {
+ background-color: rgba(89, 252, 179, 0.15);
+ color: #59fcb3;
+}
+
+.app-details-category:hover {
+ background-color: rgba(89, 252, 179, 0.3);
+}
+
+.app-details-action-btn {
+ background-color: #58fcb3;
+ color: #000;
+}
+
+.app-details-action-btn:hover {
+ box-shadow: 0 4px 16px rgba(89, 252, 179, 0.4);
+}
+
+.app-details-action-btn.installed {
+ background-color: #58fcb3;
+}
+
+.app-details-action-btn.installing {
+ background-color: #58fcb3;
+ opacity: 0.7;
+}
+
+/* App Details Uninstall Button */
+.app-details-uninstall-btn {
+ background-color: rgba(255, 100, 100, 0.2);
+ color: #ff6464;
+ border: 1px solid rgba(255, 100, 100, 0.4);
+}
+
+.app-details-uninstall-btn:hover {
+ background-color: rgba(255, 100, 100, 0.3);
+ box-shadow: 0 4px 16px rgba(255, 100, 100, 0.2);
+}
+
+/* App Details Update Button */
+.app-details-update-btn {
+ background-color: #58fcb3;
+ color: #000;
+}
+
+.app-details-update-btn:hover {
+ box-shadow: 0 4px 16px rgba(89, 252, 179, 0.4);
+}
+
+.app-details-update-btn.updating {
+ background-color: #58fcb3;
+ opacity: 0.7;
+}
+
+.app-details-publisher {
+ background-color: rgba(89, 252, 179, 0.05);
+}
+
+.app-details-publisher:hover {
+ background-color: rgba(89, 252, 179, 0.1);
+}
+
+/* Marketplace category overflow indicator */
+.marketplace-app-category-overflow {
+ background-color: rgba(89, 252, 179, 0.2);
+ color: rgba(89, 252, 179, 0.9);
+}
+
+/* Featured category card */
+.marketplace-featured-category.highlighted {
+ background: linear-gradient(135deg, rgba(89, 252, 179, 0.15) 0%, rgba(43, 151, 108, 0.08) 100%);
+ border-color: rgba(89, 252, 179, 0.3);
+}
+
+.marketplace-featured-category.highlighted:hover {
+ box-shadow: 0 8px 24px rgba(89, 252, 179, 0.2);
+}
+
+.marketplace-popular-category:hover {
+ background-color: rgba(89, 252, 179, 0.2);
+ color: #59fcb3;
+}
+
+/* Relay Add Button */
+.relay-add-btn {
+ background: #FF660025;
+ border: 1px solid #FF6600;
+ color: #FF6600;
+}
+
+.relay-add-btn:hover {
+ background: #FF660050;
+ border-color: #FF6600;
+ color: #FF6600;
+}
+
+/* Relay Dialog */
+.relay-dialog {
+ border-color: #171717;
+}
+
+.relay-dialog-header {
+ background: #FF6600;
+}
+
+.relay-form-input:focus,
+.relay-form-select:focus {
+ border-color: #FF6600;
+}
+
+.relay-dialog-buttons .primary-btn {
+ background-color: #FF6600;
+ color: #ffffff;
+}
+
+.relay-dialog-buttons .primary-btn:hover {
+ color: #fff;
+}
+
+.relay-metric-value {
+ color: #FF6600;
+}
diff --git a/src/themes/pivx/dark.css b/src/themes/pivx/dark.css
index 91d2519c..074a943a 100644
--- a/src/themes/pivx/dark.css
+++ b/src/themes/pivx/dark.css
@@ -78,6 +78,9 @@
20%, 80% { background-color: rgba(161, 40, 253, 0.18); }
}
+.image-viewer-close {
+ border: 1px solid var(--primary-color);
+}
.attachment-panel {
background: #1D003F;
@@ -324,7 +327,8 @@ select:disabled {
/* File Preview Overlay Theme */
.file-preview-container {
- border-color: rgba(177, 136, 226, 0.2);
+ border-color: var(--primary-color);
+ background: #0A0A0A;
}
.file-preview-icon-container {
@@ -337,8 +341,8 @@ select:disabled {
}
.file-preview-option {
- background: rgba(177, 136, 226, 0.05);
- border: 1px solid rgba(177, 136, 226, 0.1);
+ background: #171717;
+ border: 1px solid #47474750;
}
.file-preview-btn-send {
diff --git a/src/themes/satoshi/dark.css b/src/themes/satoshi/dark.css
index 1c50d8ce..fd9f52ab 100644
--- a/src/themes/satoshi/dark.css
+++ b/src/themes/satoshi/dark.css
@@ -55,6 +55,9 @@
20%, 80% { background-color: rgba(249, 170, 75, 0.18); }
}
+.image-viewer-close {
+ border: 1px solid var(--primary-color);
+}
.attachment-panel {
background: #0a0a0a;
@@ -301,7 +304,8 @@ select:disabled {
/* File Preview Overlay Theme */
.file-preview-container {
- border-color: rgba(177, 136, 226, 0.2);
+ border-color: var(--primary-color);
+ background: #0A0A0A;
}
.file-preview-icon-container {
@@ -314,8 +318,8 @@ select:disabled {
}
.file-preview-option {
- background: rgba(177, 136, 226, 0.05);
- border: 1px solid rgba(177, 136, 226, 0.1);
+ background: #171717;
+ border: 1px solid #47474750;
}
.file-preview-btn-send {
diff --git a/src/themes/vector/dark.css b/src/themes/vector/dark.css
index e28a1f46..0d078b85 100644
--- a/src/themes/vector/dark.css
+++ b/src/themes/vector/dark.css
@@ -51,6 +51,9 @@
20%, 80% { background-color: rgba(90, 252, 180, 0.18); }
}
+.image-viewer-close {
+ border: 1px solid var(--primary-color);
+}
.attachment-panel {
background: #0a0a0a;
@@ -285,7 +288,8 @@ select:disabled {
/* File Preview Overlay Theme */
.file-preview-container {
- border-color: rgba(89, 252, 179, 0.2);
+ border-color: var(--primary-color);
+ background: #0A0A0A;
}
.file-preview-icon-container {
@@ -298,8 +302,8 @@ select:disabled {
}
.file-preview-option {
- background: rgba(89, 252, 179, 0.05);
- border: 1px solid rgba(89, 252, 179, 0.1);
+ background: #171717;
+ border: 1px solid #47474750;
}
.file-preview-btn-send {