diff --git a/frontend/src/app.css b/frontend/src/app.css index 510e65c..16634fe 100644 --- a/frontend/src/app.css +++ b/frontend/src/app.css @@ -4,7 +4,35 @@ box-sizing: border-box; } +/* Global scrollbar styling */ +* { + scrollbar-width: thin; + scrollbar-color: #444 transparent; +} + +*::-webkit-scrollbar { + width: 6px; + height: 6px; +} + +*::-webkit-scrollbar-track { + background: transparent; +} + +*::-webkit-scrollbar-thumb { + background: #444; + border-radius: 3px; +} + +*::-webkit-scrollbar-thumb:hover { + background: #555; +} + :root { + /* Fonts */ + --font-main: Tahoma, sans-serif; + --font-mono: monospace; + /* Primary */ --primary: #561d5e; --primary-light: #8b3a92; @@ -69,7 +97,7 @@ html { } body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + font-family: var(--font-main); background: var(--black) !important; color: var(--white); line-height: 1.6; @@ -245,7 +273,7 @@ button:disabled { } .pgp-key { - font-family: monospace; + font-family: var(--font-mono); font-size: 0.8rem; background: rgba(255, 255, 255, 0.05); padding: 1rem; @@ -255,7 +283,7 @@ button:disabled { } .fingerprint { - font-family: monospace; + font-family: var(--font-mono); font-size: 0.9rem; } diff --git a/frontend/src/lib/components/AudioPlayer.svelte b/frontend/src/lib/components/AudioPlayer.svelte index 7b4d232..4dcc040 100644 --- a/frontend/src/lib/components/AudioPlayer.svelte +++ b/frontend/src/lib/components/AudioPlayer.svelte @@ -510,7 +510,7 @@ .time { color: #8b949e; font-size: 0.7rem; - font-family: monospace; + font-family: var(--font-mono); min-width: 32px; } diff --git a/frontend/src/lib/components/ChessGameOverlay.svelte b/frontend/src/lib/components/ChessGameOverlay.svelte index cfc455d..9db027a 100644 --- a/frontend/src/lib/components/ChessGameOverlay.svelte +++ b/frontend/src/lib/components/ChessGameOverlay.svelte @@ -670,7 +670,7 @@ display: flex; flex-direction: column; overflow: hidden; - font-family: 'Consolas', 'Monaco', 'Courier New', monospace; + font-family: var(--font-mono); min-width: 400px; min-height: 450px; max-width: calc(100vw - 2rem); diff --git a/frontend/src/lib/components/EbookReaderOverlay.svelte b/frontend/src/lib/components/EbookReaderOverlay.svelte index 501b70d..d347c2a 100644 --- a/frontend/src/lib/components/EbookReaderOverlay.svelte +++ b/frontend/src/lib/components/EbookReaderOverlay.svelte @@ -735,7 +735,7 @@ display: flex; flex-direction: column; overflow: hidden; - font-family: 'Consolas', 'Monaco', 'Courier New', monospace; + font-family: var(--font-mono); min-width: 350px; min-height: 200px; max-width: calc(100vw - 2rem); @@ -987,19 +987,6 @@ padding: 0.25rem 0; } - .toc-list::-webkit-scrollbar { - width: 4px; - } - - .toc-list::-webkit-scrollbar-track { - background: #0d1117; - } - - .toc-list::-webkit-scrollbar-thumb { - background: #30363d; - border-radius: 2px; - } - .toc-item { display: block; width: 100%; diff --git a/frontend/src/lib/components/chat/ChatMessage.svelte b/frontend/src/lib/components/chat/ChatMessage.svelte index 5e7f56e..5a696fe 100644 --- a/frontend/src/lib/components/chat/ChatMessage.svelte +++ b/frontend/src/lib/components/chat/ChatMessage.svelte @@ -651,7 +651,7 @@ .epoch { color: var(--text-faint); font-size: 0.65rem; - font-family: monospace; + font-family: var(--font-mono); } .self-destruct-indicator { diff --git a/frontend/src/lib/components/chat/ChatPanel.svelte b/frontend/src/lib/components/chat/ChatPanel.svelte index 98049f9..c0d2d38 100644 --- a/frontend/src/lib/components/chat/ChatPanel.svelte +++ b/frontend/src/lib/components/chat/ChatPanel.svelte @@ -825,12 +825,6 @@ min-height: 0; /* Allow flex shrinking */ max-height: 100%; /* Don't exceed container */ width: 100%; /* Ensure full width */ - scrollbar-width: none; /* Firefox */ - -ms-overflow-style: none; /* IE/Edge */ - } - - .messages-container::-webkit-scrollbar { - display: none; /* Chrome/Safari/Opera */ } .empty-state { @@ -889,7 +883,7 @@ overflow-y: auto; overflow-x: hidden; z-index: 200; - font-family: 'Consolas', 'Monaco', 'Courier New', monospace; + font-family: var(--font-mono); font-size: 0.75rem; } diff --git a/frontend/src/lib/components/chat/ChatTerminal.svelte b/frontend/src/lib/components/chat/ChatTerminal.svelte index 9c16e05..565f024 100644 --- a/frontend/src/lib/components/chat/ChatTerminal.svelte +++ b/frontend/src/lib/components/chat/ChatTerminal.svelte @@ -409,7 +409,7 @@ background: transparent; display: flex; flex-direction: column; - font-family: 'Consolas', 'Monaco', 'Courier New', monospace; + font-family: var(--font-mono); z-index: 9999; } @@ -630,7 +630,7 @@ color: #7ee787; font-size: 0.75rem; font-weight: 600; - font-family: 'Consolas', 'Monaco', monospace; + font-family: var(--font-mono); } .calendar-header { diff --git a/frontend/src/lib/components/chat/StickerBrowser.svelte b/frontend/src/lib/components/chat/StickerBrowser.svelte index fed9ba4..814d986 100644 --- a/frontend/src/lib/components/chat/StickerBrowser.svelte +++ b/frontend/src/lib/components/chat/StickerBrowser.svelte @@ -313,19 +313,6 @@ padding-bottom: 0.25rem; } - .favorites-grid::-webkit-scrollbar { - height: 4px; - } - - .favorites-grid::-webkit-scrollbar-track { - background: transparent; - } - - .favorites-grid::-webkit-scrollbar-thumb { - background: #30363d; - border-radius: 2px; - } - .favorite-sticker { flex-shrink: 0; width: 40px; @@ -394,23 +381,6 @@ align-content: start; } - .sticker-grid::-webkit-scrollbar { - width: 8px; - } - - .sticker-grid::-webkit-scrollbar-track { - background: #0d1117; - } - - .sticker-grid::-webkit-scrollbar-thumb { - background: #30363d; - border-radius: 4px; - } - - .sticker-grid::-webkit-scrollbar-thumb:hover { - background: #484f58; - } - .sticker-item { display: flex; flex-direction: column; diff --git a/frontend/src/lib/components/terminal/AudioBrowser.svelte b/frontend/src/lib/components/terminal/AudioBrowser.svelte index 65ea43d..4d6eaf4 100644 --- a/frontend/src/lib/components/terminal/AudioBrowser.svelte +++ b/frontend/src/lib/components/terminal/AudioBrowser.svelte @@ -146,7 +146,7 @@ flex-direction: column; overflow: hidden; background: #0d1117; - font-family: 'Consolas', 'Monaco', 'Courier New', monospace; + font-family: var(--font-mono); } /* Player section (terminal style) */ @@ -513,18 +513,6 @@ overflow-y: auto; } - .queue-list::-webkit-scrollbar { - width: 6px; - } - - .queue-list::-webkit-scrollbar-track { - background: #0d1117; - } - - .queue-list::-webkit-scrollbar-thumb { - background: #30363d; - } - .queue-item { display: flex; align-items: center; diff --git a/frontend/src/lib/components/terminal/EbookBrowser.svelte b/frontend/src/lib/components/terminal/EbookBrowser.svelte index 3c48adf..76c030c 100644 --- a/frontend/src/lib/components/terminal/EbookBrowser.svelte +++ b/frontend/src/lib/components/terminal/EbookBrowser.svelte @@ -173,7 +173,7 @@ flex-direction: column; overflow: hidden; background: #0d1117; - font-family: 'Consolas', 'Monaco', 'Courier New', monospace; + font-family: var(--font-mono); } .ebooks-header { @@ -202,19 +202,6 @@ padding: 0.5rem; } - .ebooks-list::-webkit-scrollbar { - width: 6px; - } - - .ebooks-list::-webkit-scrollbar-track { - background: #0d1117; - } - - .ebooks-list::-webkit-scrollbar-thumb { - background: #30363d; - border-radius: 3px; - } - .ebooks-loading, .loading-more { color: #8b949e; diff --git a/frontend/src/lib/components/terminal/GamesBrowser.svelte b/frontend/src/lib/components/terminal/GamesBrowser.svelte index 8b4c6d2..725203a 100644 --- a/frontend/src/lib/components/terminal/GamesBrowser.svelte +++ b/frontend/src/lib/components/terminal/GamesBrowser.svelte @@ -264,7 +264,7 @@ flex-direction: column; overflow: hidden; background: #0d1117; - font-family: 'Consolas', 'Monaco', 'Courier New', monospace; + font-family: var(--font-mono); } .games-header { @@ -324,19 +324,6 @@ padding: 0.5rem; } - .games-list::-webkit-scrollbar { - width: 6px; - } - - .games-list::-webkit-scrollbar-track { - background: #0d1117; - } - - .games-list::-webkit-scrollbar-thumb { - background: #30363d; - border-radius: 3px; - } - .games-loading { color: #8b949e; font-size: 0.75rem; diff --git a/frontend/src/lib/components/terminal/StreamsBrowser.svelte b/frontend/src/lib/components/terminal/StreamsBrowser.svelte index e208f4d..3faeb10 100644 --- a/frontend/src/lib/components/terminal/StreamsBrowser.svelte +++ b/frontend/src/lib/components/terminal/StreamsBrowser.svelte @@ -236,19 +236,6 @@ padding: 0.5rem; } - .streams-list::-webkit-scrollbar { - width: 6px; - } - - .streams-list::-webkit-scrollbar-track { - background: #0d1117; - } - - .streams-list::-webkit-scrollbar-thumb { - background: #30363d; - border-radius: 3px; - } - .streams-loading, .streams-empty { color: #8b949e; diff --git a/frontend/src/lib/components/terminal/TerminalCore.svelte b/frontend/src/lib/components/terminal/TerminalCore.svelte index 84b8c06..e8a1474 100644 --- a/frontend/src/lib/components/terminal/TerminalCore.svelte +++ b/frontend/src/lib/components/terminal/TerminalCore.svelte @@ -265,20 +265,6 @@ padding: 0.5rem; color: #c9d1d9; background: transparent; - scrollbar-width: thin; - scrollbar-color: #30363d transparent; - } - - .terminal-messages::-webkit-scrollbar { - width: 1px; - } - - .terminal-messages::-webkit-scrollbar-track { - background: transparent; - } - - .terminal-messages::-webkit-scrollbar-thumb { - background: #30363d; } /* Inline command input - appears at end of messages */ diff --git a/frontend/src/lib/components/terminal/TerminalTabBar.svelte b/frontend/src/lib/components/terminal/TerminalTabBar.svelte index d8f1549..8b0c036 100644 --- a/frontend/src/lib/components/terminal/TerminalTabBar.svelte +++ b/frontend/src/lib/components/terminal/TerminalTabBar.svelte @@ -102,16 +102,10 @@ display: flex; gap: 0.375rem; overflow-x: auto; - scrollbar-width: none; - -ms-overflow-style: none; min-width: 0; flex: 1; } - .tab-bar::-webkit-scrollbar { - display: none; - } - .scroll-arrow { display: flex; align-items: center; diff --git a/frontend/src/lib/components/terminal/TreasuryBrowser.svelte b/frontend/src/lib/components/terminal/TreasuryBrowser.svelte index c28a8d4..bc2b80b 100644 --- a/frontend/src/lib/components/terminal/TreasuryBrowser.svelte +++ b/frontend/src/lib/components/terminal/TreasuryBrowser.svelte @@ -134,7 +134,7 @@ font-size: 1.5rem; font-weight: 600; color: #ffd700; - font-family: 'Consolas', 'Monaco', monospace; + font-family: var(--font-mono); } .stat-value.destroyed { @@ -175,7 +175,7 @@ font-size: 1.75rem; font-weight: 600; color: #58a6ff; - font-family: 'Consolas', 'Monaco', monospace; + font-family: var(--font-mono); } .info-section { @@ -235,7 +235,7 @@ font-size: 1.25rem; font-weight: 600; color: #7ee787; - font-family: 'Consolas', 'Monaco', monospace; + font-family: var(--font-mono); } .your-share-note { @@ -267,23 +267,6 @@ border-color: #8b949e; } - /* Minimal 1px grey scrollbar */ - .treasury-container::-webkit-scrollbar { - width: 1px; - } - - .treasury-container::-webkit-scrollbar-track { - background: transparent; - } - - .treasury-container::-webkit-scrollbar-thumb { - background: #30363d; - } - - .treasury-container { - scrollbar-width: thin; - scrollbar-color: #30363d transparent; - }