diff --git a/src/components/Settings.svelte b/src/components/Settings.svelte index b27be17..249bd40 100644 --- a/src/components/Settings.svelte +++ b/src/components/Settings.svelte @@ -118,26 +118,6 @@ {#if err}
{err}
{/if} {#if settings} -
-
theme
-
- {#each THEMES as t (t.id)} - - {/each} -
-
-
claude command
{/if} +
+
theme
+
+ {#each THEMES as t (t.id)} + + {/each} +
+
+
@@ -248,114 +245,34 @@ .roots code { font-size: 10px; word-break: break-all; } .hint { font-size: 10px; line-height: 1.3; } - /* ---- Theme picker ---- */ - .theme-grid { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 6px; - } - .theme-card { - display: grid; - grid-template-rows: auto 1fr auto; - gap: 2px; - padding: 8px 10px; - border-radius: 8px; + /* ---- Theme picker (segmented control) ---- */ + .seg { + display: flex; border: 1px solid var(--border); - cursor: pointer; - text-align: left; + border-radius: 6px; overflow: hidden; - position: relative; - min-height: 64px; + background: var(--input-bg); } - .theme-card .tp-name { + .seg-item { + flex: 1 1 0; + border: 0; + border-right: 1px solid var(--border); + border-radius: 0; + padding: 6px 4px; + background: transparent; + color: var(--fg-dim); font-size: 10px; text-transform: uppercase; - letter-spacing: 1px; - opacity: 0.65; + letter-spacing: 0.6px; + cursor: pointer; + transition: background 120ms ease, color 120ms ease; } - .theme-card .tp-sample { - font-size: 22px; - line-height: 1; + .seg-item:last-child { border-right: 0; } + .seg-item:hover { background: var(--hover); color: var(--fg); } + .seg-item.selected { + background: var(--accent); + color: var(--bg); font-weight: 600; - margin-top: 2px; - } - .theme-card .tp-blurb { - font-size: 9px; - opacity: 0.55; - line-height: 1.2; - } - .theme-card.selected { - outline: 1.5px solid var(--accent); - outline-offset: -1.5px; - } - .theme-card.selected::after { - content: "✓"; - position: absolute; - top: 4px; - right: 6px; - font-size: 11px; - color: var(--accent); - } - - /* Per-theme card visuals (preview in their own typography & palette) */ - .theme-card[data-theme-preview="anthropic"] { - background: linear-gradient(180deg, #1a1815 0%, #1a1815 100%); - color: #faf9f5; - font-family: "DM Sans", sans-serif; - } - .theme-card[data-theme-preview="anthropic"] .tp-sample { - font-family: "Newsreader Variable", "Newsreader", Georgia, serif; - font-weight: 500; - color: #cc785c; - } - - .theme-card[data-theme-preview="instrument"] { - background: - repeating-linear-gradient(180deg, transparent 0 2px, rgba(212,255,61,0.04) 2px 3px), - #0e1014; - color: #d6e2d8; - font-family: "JetBrains Mono Variable", monospace; - border-color: rgba(212, 255, 61, 0.25); - } - .theme-card[data-theme-preview="instrument"] .tp-sample { - color: #d4ff3d; - font-family: "JetBrains Mono Variable", monospace; - font-weight: 700; - } - - .theme-card[data-theme-preview="editorial"] { - background: #1a1813; - color: #f5f1e8; - font-family: "Fraunces Variable", Georgia, serif; - border-radius: 4px; - } - .theme-card[data-theme-preview="editorial"] .tp-name { - font-style: italic; - text-transform: none; - letter-spacing: 0; - font-size: 11px; - } - .theme-card[data-theme-preview="editorial"] .tp-sample { - color: #e8a02f; - font-family: "Fraunces Variable", serif; - font-weight: 500; - font-variation-settings: "opsz" 144; - } - - .theme-card[data-theme-preview="retro"] { - background: - repeating-linear-gradient(180deg, transparent 0 1px, rgba(0,0,0,0.4) 1px 2px), - #0a0e0a; - color: #b8f0b8; - font-family: "IBM Plex Mono", monospace; - border-color: rgba(122, 240, 122, 0.3); - border-radius: 3px; - text-shadow: 0 0 4px rgba(122,240,122,0.4); - } - .theme-card[data-theme-preview="retro"] .tp-sample { - color: #7af07a; - font-family: "IBM Plex Mono", monospace; - font-weight: 700; } pre.raw { margin: 4px 0 0;