diff --git a/src/pages/settings/panes/Appearance.tsx b/src/pages/settings/panes/Appearance.tsx
index e8647a80da65421e993ba99b6eb82988b36bbe45..ccc8a13b9436988c3d2b3af76d66303b78d41abd 100644
--- a/src/pages/settings/panes/Appearance.tsx
+++ b/src/pages/settings/panes/Appearance.tsx
@@ -38,6 +38,7 @@ import notoSVG from "../assets/noto_emoji.svg";
 import openmojiSVG from "../assets/openmoji_emoji.svg";
 import twemojiSVG from "../assets/twemoji_emoji.svg";
 import { Reset, Import } from "@styled-icons/boxicons-regular";
+import Tooltip from "../../../components/common/Tooltip";
 
 interface Props {
     settings: Settings;
@@ -246,28 +247,41 @@ export function Component(props: Props) {
                     <Text id="app.settings.pages.appearance.overrides" />
                 </h3>
                 <div className={styles.actions}>
-                    <Button contrast iconbutton onClick={() => setTheme({ custom: {} })}>
-                        <Reset size={22}/>
-                    </Button>
-                    <div className={styles.code}>Text</div>
-                    <Button
-                        contrast
-                        iconbutton
-                        onClick={async () => {
-                            openScreen({
-                                id: "_input",
-                                question: (
-                                    <Text id="app.settings.pages.appearance.import_theme" />
-                                ),
-                                field: (
-                                    <Text id="app.settings.pages.appearance.theme_data" />
-                                ),
-                                callback: async (string) =>
-                                    setOverride(JSON.parse(string)),
-                            });
-                        }}>
-                        <Import size={22}/>
-                    </Button>
+                    <Tooltip content={<Text id="app.settings.pages.appearance.reset_overrides" />}>
+                        <Button contrast iconbutton onClick={() => setTheme({ custom: {} })}>
+                            <Reset size={22}/>
+                        </Button>
+                    </Tooltip>
+                    <div className={styles.code} onClick={() => writeClipboard(JSON.stringify(theme))}>
+                        <Tooltip content={<Text id="app.special.copy" />}>
+                            {JSON.stringify(theme)}
+                        </Tooltip>
+                    </div>
+                    <Tooltip content={<Text id="app.settings.pages.appearance.import" />}>
+                        <Button
+                            contrast
+                            iconbutton
+                            onClick={async () => {
+                                try {
+                                    const text = await navigator.clipboard.readText();
+                                    setOverride(JSON.parse(text));
+                                } catch (err) {
+                                    openScreen({
+                                        id: "_input",
+                                        question: (
+                                            <Text id="app.settings.pages.appearance.import_theme" />
+                                        ),
+                                        field: (
+                                            <Text id="app.settings.pages.appearance.theme_data" />
+                                        ),
+                                        callback: async (string) =>
+                                            setOverride(JSON.parse(string)),
+                                    });
+                                }
+                            }}>
+                            <Import size={22}/>
+                        </Button>
+                    </Tooltip>
                 </div>
                 <div className={styles.overrides}>
                     {(
diff --git a/src/pages/settings/panes/Panes.module.scss b/src/pages/settings/panes/Panes.module.scss
index dd3b64a300728bd8902167cbf05a5b19d2e24509..85f3855cbf3eb5626179dbe4e73ee7ba5772ab17 100644
--- a/src/pages/settings/panes/Panes.module.scss
+++ b/src/pages/settings/panes/Panes.module.scss
@@ -252,17 +252,24 @@
     .actions {
         gap: 8px;
         display: flex;
-        flex-wrap: wrap;
         margin-bottom: 8px;
 
         .code {
-            display: flex;
+            cursor: pointer;
+
+            min-width: 0;
             flex-grow: 1;
-            border-radius: 4px;
             padding: 8px;
-            background: var(--secondary-background);
-            align-items: center;
+            border-radius: 4px;
             font-family: var(--codeblock-font);
+            background: var(--secondary-background);
+
+            > div {
+                width: 100%;
+                overflow: hidden;
+                white-space: nowrap;
+                text-overflow: ellipsis;
+            }
         }
     }
 
@@ -272,8 +279,9 @@
 
         .entry {
             gap: 8px;
-            padding: 2px;
+            padding: 12px;
             margin-top: 8px;
+            border-radius: 6px;
 
             .override {
                 display: flex;