fixes lol
All checks were successful
Build and Push / build-all (push) Successful in 1m57s

This commit is contained in:
doomtube 2026-01-09 18:37:34 -05:00
parent 954755fbc3
commit 6bbfc671b3
35 changed files with 94 additions and 310 deletions

View file

@ -4,7 +4,35 @@
box-sizing: border-box; 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 { :root {
/* Fonts */
--font-main: Tahoma, sans-serif;
--font-mono: monospace;
/* Primary */ /* Primary */
--primary: #561d5e; --primary: #561d5e;
--primary-light: #8b3a92; --primary-light: #8b3a92;
@ -69,7 +97,7 @@ html {
} }
body { body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-family: var(--font-main);
background: var(--black) !important; background: var(--black) !important;
color: var(--white); color: var(--white);
line-height: 1.6; line-height: 1.6;
@ -245,7 +273,7 @@ button:disabled {
} }
.pgp-key { .pgp-key {
font-family: monospace; font-family: var(--font-mono);
font-size: 0.8rem; font-size: 0.8rem;
background: rgba(255, 255, 255, 0.05); background: rgba(255, 255, 255, 0.05);
padding: 1rem; padding: 1rem;
@ -255,7 +283,7 @@ button:disabled {
} }
.fingerprint { .fingerprint {
font-family: monospace; font-family: var(--font-mono);
font-size: 0.9rem; font-size: 0.9rem;
} }

View file

@ -510,7 +510,7 @@
.time { .time {
color: #8b949e; color: #8b949e;
font-size: 0.7rem; font-size: 0.7rem;
font-family: monospace; font-family: var(--font-mono);
min-width: 32px; min-width: 32px;
} }

View file

@ -670,7 +670,7 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;
font-family: 'Consolas', 'Monaco', 'Courier New', monospace; font-family: var(--font-mono);
min-width: 400px; min-width: 400px;
min-height: 450px; min-height: 450px;
max-width: calc(100vw - 2rem); max-width: calc(100vw - 2rem);

View file

@ -735,7 +735,7 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;
font-family: 'Consolas', 'Monaco', 'Courier New', monospace; font-family: var(--font-mono);
min-width: 350px; min-width: 350px;
min-height: 200px; min-height: 200px;
max-width: calc(100vw - 2rem); max-width: calc(100vw - 2rem);
@ -987,19 +987,6 @@
padding: 0.25rem 0; 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 { .toc-item {
display: block; display: block;
width: 100%; width: 100%;

View file

@ -651,7 +651,7 @@
.epoch { .epoch {
color: var(--text-faint); color: var(--text-faint);
font-size: 0.65rem; font-size: 0.65rem;
font-family: monospace; font-family: var(--font-mono);
} }
.self-destruct-indicator { .self-destruct-indicator {

View file

@ -825,12 +825,6 @@
min-height: 0; /* Allow flex shrinking */ min-height: 0; /* Allow flex shrinking */
max-height: 100%; /* Don't exceed container */ max-height: 100%; /* Don't exceed container */
width: 100%; /* Ensure full width */ 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 { .empty-state {
@ -889,7 +883,7 @@
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
z-index: 200; z-index: 200;
font-family: 'Consolas', 'Monaco', 'Courier New', monospace; font-family: var(--font-mono);
font-size: 0.75rem; font-size: 0.75rem;
} }

View file

@ -409,7 +409,7 @@
background: transparent; background: transparent;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
font-family: 'Consolas', 'Monaco', 'Courier New', monospace; font-family: var(--font-mono);
z-index: 9999; z-index: 9999;
} }
@ -630,7 +630,7 @@
color: #7ee787; color: #7ee787;
font-size: 0.75rem; font-size: 0.75rem;
font-weight: 600; font-weight: 600;
font-family: 'Consolas', 'Monaco', monospace; font-family: var(--font-mono);
} }
.calendar-header { .calendar-header {

View file

@ -313,19 +313,6 @@
padding-bottom: 0.25rem; 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 { .favorite-sticker {
flex-shrink: 0; flex-shrink: 0;
width: 40px; width: 40px;
@ -394,23 +381,6 @@
align-content: start; 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 { .sticker-item {
display: flex; display: flex;
flex-direction: column; flex-direction: column;

View file

@ -146,7 +146,7 @@
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;
background: #0d1117; background: #0d1117;
font-family: 'Consolas', 'Monaco', 'Courier New', monospace; font-family: var(--font-mono);
} }
/* Player section (terminal style) */ /* Player section (terminal style) */
@ -513,18 +513,6 @@
overflow-y: auto; 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 { .queue-item {
display: flex; display: flex;
align-items: center; align-items: center;

View file

@ -173,7 +173,7 @@
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;
background: #0d1117; background: #0d1117;
font-family: 'Consolas', 'Monaco', 'Courier New', monospace; font-family: var(--font-mono);
} }
.ebooks-header { .ebooks-header {
@ -202,19 +202,6 @@
padding: 0.5rem; 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, .ebooks-loading,
.loading-more { .loading-more {
color: #8b949e; color: #8b949e;

View file

@ -264,7 +264,7 @@
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;
background: #0d1117; background: #0d1117;
font-family: 'Consolas', 'Monaco', 'Courier New', monospace; font-family: var(--font-mono);
} }
.games-header { .games-header {
@ -324,19 +324,6 @@
padding: 0.5rem; 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 { .games-loading {
color: #8b949e; color: #8b949e;
font-size: 0.75rem; font-size: 0.75rem;

View file

@ -236,19 +236,6 @@
padding: 0.5rem; 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-loading,
.streams-empty { .streams-empty {
color: #8b949e; color: #8b949e;

View file

@ -265,20 +265,6 @@
padding: 0.5rem; padding: 0.5rem;
color: #c9d1d9; color: #c9d1d9;
background: transparent; 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 */ /* Inline command input - appears at end of messages */

View file

@ -102,16 +102,10 @@
display: flex; display: flex;
gap: 0.375rem; gap: 0.375rem;
overflow-x: auto; overflow-x: auto;
scrollbar-width: none;
-ms-overflow-style: none;
min-width: 0; min-width: 0;
flex: 1; flex: 1;
} }
.tab-bar::-webkit-scrollbar {
display: none;
}
.scroll-arrow { .scroll-arrow {
display: flex; display: flex;
align-items: center; align-items: center;

View file

@ -134,7 +134,7 @@
font-size: 1.5rem; font-size: 1.5rem;
font-weight: 600; font-weight: 600;
color: #ffd700; color: #ffd700;
font-family: 'Consolas', 'Monaco', monospace; font-family: var(--font-mono);
} }
.stat-value.destroyed { .stat-value.destroyed {
@ -175,7 +175,7 @@
font-size: 1.75rem; font-size: 1.75rem;
font-weight: 600; font-weight: 600;
color: #58a6ff; color: #58a6ff;
font-family: 'Consolas', 'Monaco', monospace; font-family: var(--font-mono);
} }
.info-section { .info-section {
@ -235,7 +235,7 @@
font-size: 1.25rem; font-size: 1.25rem;
font-weight: 600; font-weight: 600;
color: #7ee787; color: #7ee787;
font-family: 'Consolas', 'Monaco', monospace; font-family: var(--font-mono);
} }
.your-share-note { .your-share-note {
@ -267,23 +267,6 @@
border-color: #8b949e; 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;
}
</style> </style>
<div class="treasury-container"> <div class="treasury-container">

View file

@ -143,19 +143,6 @@
padding: 0.5rem; padding: 0.5rem;
} }
.watch-list::-webkit-scrollbar {
width: 6px;
}
.watch-list::-webkit-scrollbar-track {
background: #0d1117;
}
.watch-list::-webkit-scrollbar-thumb {
background: #30363d;
border-radius: 3px;
}
.watch-loading, .watch-loading,
.watch-empty { .watch-empty {
color: #8b949e; color: #8b949e;

View file

@ -49,7 +49,7 @@
border-radius: 4px; border-radius: 4px;
color: var(--terminal-text-muted); color: var(--terminal-text-muted);
font-size: 0.875rem; font-size: 0.875rem;
font-family: 'Consolas', 'Monaco', monospace; font-family: var(--font-mono);
cursor: pointer; cursor: pointer;
transition: all 0.15s ease; transition: all 0.15s ease;
} }
@ -162,23 +162,6 @@
background: var(--terminal-bg); background: var(--terminal-bg);
} }
.terminal-messages::-webkit-scrollbar {
width: 8px;
}
.terminal-messages::-webkit-scrollbar-track {
background: var(--terminal-bg);
}
.terminal-messages::-webkit-scrollbar-thumb {
background: var(--terminal-border);
border-radius: 4px;
}
.terminal-messages::-webkit-scrollbar-thumb:hover {
background: var(--border-hover);
}
/* ============================================ /* ============================================
TERMINAL INPUT TERMINAL INPUT
============================================ */ ============================================ */
@ -353,19 +336,6 @@
padding: 0.5rem; padding: 0.5rem;
} }
.streams-list::-webkit-scrollbar {
width: 6px;
}
.streams-list::-webkit-scrollbar-track {
background: var(--terminal-bg);
}
.streams-list::-webkit-scrollbar-thumb {
background: var(--terminal-border);
border-radius: 3px;
}
.streams-loading, .streams-loading,
.streams-empty { .streams-empty {
color: var(--terminal-text-muted); color: var(--terminal-text-muted);
@ -625,7 +595,7 @@
justify-content: space-between; justify-content: space-between;
font-size: 0.65rem; font-size: 0.65rem;
color: var(--terminal-text-muted); color: var(--terminal-text-muted);
font-family: monospace; font-family: var(--font-mono);
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
} }
@ -818,7 +788,7 @@
.queue-duration { .queue-duration {
font-size: 0.65rem; font-size: 0.65rem;
font-family: monospace; font-family: var(--font-mono);
} }
.remove-btn { .remove-btn {
@ -862,19 +832,6 @@
padding: 0.5rem; padding: 0.5rem;
} }
.audio-list::-webkit-scrollbar {
width: 6px;
}
.audio-list::-webkit-scrollbar-track {
background: var(--terminal-bg);
}
.audio-list::-webkit-scrollbar-thumb {
background: var(--terminal-border);
border-radius: 3px;
}
.audio-loading, .audio-loading,
.audio-empty { .audio-empty {
color: var(--terminal-text-muted); color: var(--terminal-text-muted);

View file

@ -322,9 +322,7 @@
<style> <style>
.playlist-container { .playlist-container {
background: #111; background: #1a1a1a;
border: 1px solid var(--border);
border-radius: 8px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
height: 100%; height: 100%;
@ -435,25 +433,6 @@
.playlist-items { .playlist-items {
flex: 1; flex: 1;
overflow-y: auto; overflow-y: auto;
scrollbar-width: thin;
scrollbar-color: #444 transparent;
}
.playlist-items::-webkit-scrollbar {
width: 6px;
}
.playlist-items::-webkit-scrollbar-track {
background: transparent;
}
.playlist-items::-webkit-scrollbar-thumb {
background: #444;
border-radius: 3px;
}
.playlist-items::-webkit-scrollbar-thumb:hover {
background: #555;
} }
.playlist-item { .playlist-item {
@ -638,20 +617,6 @@
padding: 1rem; padding: 1rem;
overflow-y: auto; overflow-y: auto;
flex: 1; flex: 1;
scrollbar-width: thin;
scrollbar-color: #555 transparent;
}
.settings-panel::-webkit-scrollbar {
width: 1px;
}
.settings-panel::-webkit-scrollbar-track {
background: transparent;
}
.settings-panel::-webkit-scrollbar-thumb {
background: #555;
} }
.settings-section h3 { .settings-section h3 {

View file

@ -185,6 +185,13 @@
const currentTime = player.getCurrentTime(); const currentTime = player.getCurrentTime();
const drift = Math.abs(currentTime - expectedTime); const drift = Math.abs(currentTime - expectedTime);
// Skip drift detection when video has ended - the player is stuck at end time
// and expected time keeps advancing, causing infinite "Controller seek detected" loop
if (hasVideoEnded) {
// Video ended - don't try to sync, wait for skip/next
return;
}
// Check if we need to sync (tight 2-second threshold like CyTube) // Check if we need to sync (tight 2-second threshold like CyTube)
if (drift > DRIFT_THRESHOLD) { if (drift > DRIFT_THRESHOLD) {
if ($canControl) { if ($canControl) {

View file

@ -90,9 +90,9 @@
<style> <style>
:global(:root) { :global(:root) {
--nav-padding-y: 0.3rem; --nav-padding-y: 2px;
--nav-margin-bottom: 0.33rem; --nav-margin-bottom: 0.33rem;
--nav-height: 2.66rem; /* content(32px/2rem) + padding(0.6rem) + border(1px) */ --nav-height: 36px; /* content(32px) + padding(4px) */
} }
.nav { .nav {
@ -100,7 +100,7 @@
} }
.nav-container { .nav-container {
padding: 0 2rem; padding: 2px 2rem;
display: flex; display: flex;
align-items: center; align-items: center;
} }

View file

@ -614,7 +614,7 @@
} }
.audio-duration { .audio-duration {
font-family: monospace; font-family: var(--font-mono);
color: var(--gray); color: var(--gray);
font-size: 0.85rem; font-size: 0.85rem;
min-width: 45px; min-width: 45px;

View file

@ -1951,7 +1951,7 @@
} }
.stream-key-cell { .stream-key-cell {
font-family: monospace; font-family: var(--font-mono);
font-size: 0.9rem; font-size: 0.9rem;
max-width: 200px; max-width: 200px;
overflow: hidden; overflow: hidden;
@ -3463,7 +3463,7 @@
bind:value={censoredWords} bind:value={censoredWords}
placeholder="word1, word2, phrase to censor, another word" placeholder="word1, word2, phrase to censor, another word"
rows="6" rows="6"
style="margin-top: 0.5rem; width: 100%; resize: vertical; font-family: monospace; border-color: {censoredWordsValid ? 'var(--border)' : '#ef4444'};" style="margin-top: 0.5rem; width: 100%; resize: vertical; font-family: var(--font-mono); border-color: {censoredWordsValid ? 'var(--border)' : '#ef4444'};"
></textarea> ></textarea>
<!-- Validation Stats --> <!-- Validation Stats -->
@ -3788,7 +3788,7 @@
{#each uberbannedFingerprints as fingerprint} {#each uberbannedFingerprints as fingerprint}
<tr> <tr>
<td> <td>
<code style="background: rgba(239, 68, 68, 0.2); padding: 0.25rem 0.5rem; border-radius: 4px; font-family: monospace; font-size: 0.85rem;"> <code style="background: rgba(239, 68, 68, 0.2); padding: 0.25rem 0.5rem; border-radius: 4px; font-family: var(--font-mono); font-size: 0.85rem;">
{fingerprint.substring(0, 16)}...{fingerprint.substring(fingerprint.length - 8)} {fingerprint.substring(0, 16)}...{fingerprint.substring(fingerprint.length - 8)}
</code> </code>
<button <button

View file

@ -270,7 +270,7 @@
} }
.audio-duration { .audio-duration {
font-family: monospace; font-family: var(--font-mono);
color: var(--gray); color: var(--gray);
font-size: 0.85rem; font-size: 0.85rem;
min-width: 45px; min-width: 45px;

View file

@ -306,7 +306,7 @@
} }
.audio-duration { .audio-duration {
font-family: monospace; font-family: var(--font-mono);
color: var(--gray); color: var(--gray);
font-size: 0.9rem; font-size: 0.9rem;
min-width: 50px; min-width: 50px;

View file

@ -306,7 +306,7 @@
} }
.audio-duration { .audio-duration {
font-family: monospace; font-family: var(--font-mono);
color: var(--gray); color: var(--gray);
font-size: 0.9rem; font-size: 0.9rem;
min-width: 50px; min-width: 50px;

View file

@ -306,7 +306,7 @@
background: #111; background: #111;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
font-family: 'Consolas', 'Monaco', 'Courier New', monospace; font-family: var(--font-mono);
overflow: hidden; overflow: hidden;
} }
@ -463,7 +463,7 @@
color: #4caf50; color: #4caf50;
font-size: 0.75rem; font-size: 0.75rem;
font-weight: 600; font-weight: 600;
font-family: 'Consolas', 'Monaco', monospace; font-family: var(--font-mono);
} }
.calendar-header { .calendar-header {
@ -543,22 +543,4 @@
opacity: 0.9; opacity: 0.9;
} }
/* Minimal 1px grey scrollbar */
.terminal-popout :global(*::-webkit-scrollbar) {
width: 1px;
height: 1px;
}
.terminal-popout :global(*::-webkit-scrollbar-track) {
background: transparent;
}
.terminal-popout :global(*::-webkit-scrollbar-thumb) {
background: #333;
}
.terminal-popout :global(*) {
scrollbar-width: thin;
scrollbar-color: #333 transparent;
}
</style> </style>

View file

@ -300,11 +300,6 @@
gap: 0.5rem; gap: 0.5rem;
padding: 0.75rem 1rem; padding: 0.75rem 1rem;
overflow-x: auto; overflow-x: auto;
scrollbar-width: none;
}
.realm-nav::-webkit-scrollbar {
display: none;
} }
.nav-link { .nav-link {
@ -709,7 +704,7 @@
.color-text-input { .color-text-input {
width: 90px; width: 90px;
font-family: monospace; font-family: var(--font-mono);
text-transform: uppercase; text-transform: uppercase;
} }

View file

@ -1026,7 +1026,7 @@
.color-text-input { .color-text-input {
width: 90px; width: 90px;
font-family: monospace; font-family: var(--font-mono);
text-transform: uppercase; text-transform: uppercase;
} }

View file

@ -415,7 +415,7 @@
background: rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.1);
padding: 0.2rem 0.4rem; padding: 0.2rem 0.4rem;
border-radius: 3px; border-radius: 3px;
font-family: monospace; font-family: var(--font-mono);
} }
.thread-content :global(pre) { .thread-content :global(pre) {

View file

@ -819,7 +819,7 @@
.elo { .elo {
color: #8b949e; color: #8b949e;
font-family: monospace; font-family: var(--font-mono);
font-size: 0.9rem; font-size: 0.9rem;
} }

View file

@ -389,7 +389,7 @@
readonly readonly
rows="10" rows="10"
value={generatedPublicKey} value={generatedPublicKey}
style="font-family: monospace; font-size: 0.8rem;" style="font-family: var(--font-mono); font-size: 0.8rem;"
/> />
<div style="display: flex; gap: 0.5rem; margin-top: 0.5rem;"> <div style="display: flex; gap: 0.5rem; margin-top: 0.5rem;">
<button type="button" on:click={() => copyToClipboard(generatedPublicKey)}> <button type="button" on:click={() => copyToClipboard(generatedPublicKey)}>
@ -407,7 +407,7 @@
readonly readonly
rows="10" rows="10"
value={generatedPrivateKey} value={generatedPrivateKey}
style="font-family: monospace; font-size: 0.8rem;" style="font-family: var(--font-mono); font-size: 0.8rem;"
/> />
<div style="display: flex; gap: 0.5rem; margin-top: 0.5rem;"> <div style="display: flex; gap: 0.5rem; margin-top: 0.5rem;">
<button type="button" on:click={() => copyToClipboard(generatedPrivateKey)}> <button type="button" on:click={() => copyToClipboard(generatedPrivateKey)}>
@ -626,7 +626,7 @@ iQEcBAABCAAGBQJe...
id="referral-code" id="referral-code"
bind:value={referralCode} bind:value={referralCode}
placeholder="Enter code (e.g., ABC123DEF456)" placeholder="Enter code (e.g., ABC123DEF456)"
style="font-family: monospace; text-transform: uppercase; letter-spacing: 2px;" style="font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 2px;"
disabled={referralValidating} disabled={referralValidating}
/> />
</div> </div>
@ -654,7 +654,7 @@ iQEcBAABCAAGBQJe...
{#if referralValid} {#if referralValid}
<div class="referral-badge" style="background: rgba(40, 167, 69, 0.1); border: 1px solid rgba(40, 167, 69, 0.3); border-radius: 8px; padding: 0.75rem 1rem; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.5rem;"> <div class="referral-badge" style="background: rgba(40, 167, 69, 0.1); border: 1px solid rgba(40, 167, 69, 0.3); border-radius: 8px; padding: 0.75rem 1rem; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.5rem;">
<span style="color: #28a745;">Registering with code:</span> <span style="color: #28a745;">Registering with code:</span>
<code style="font-family: monospace; letter-spacing: 2px; background: var(--black); padding: 0.25rem 0.5rem; border-radius: 4px;">{referralCode.toUpperCase()}</code> <code style="font-family: var(--font-mono); letter-spacing: 2px; background: var(--black); padding: 0.25rem 0.5rem; border-radius: 4px;">{referralCode.toUpperCase()}</code>
</div> </div>
{/if} {/if}
<div class="form-group"> <div class="form-group">
@ -816,7 +816,7 @@ iQEcBAABCAAGBQJe...
border: 1px solid var(--border); border: 1px solid var(--border);
border-radius: 4px; border-radius: 4px;
padding: 1rem; padding: 1rem;
font-family: monospace; font-family: var(--font-mono);
font-size: 0.8rem; font-size: 0.8rem;
overflow-x: auto; overflow-x: auto;
white-space: pre; white-space: pre;
@ -832,7 +832,7 @@ iQEcBAABCAAGBQJe...
} }
.pgp-key { .pgp-key {
font-family: monospace; font-family: var(--font-mono);
font-size: 0.8rem; font-size: 0.8rem;
background: rgba(255, 255, 255, 0.05); background: rgba(255, 255, 255, 0.05);
padding: 1rem; padding: 1rem;

View file

@ -1884,7 +1884,7 @@
} }
.stream-key { .stream-key {
font-family: monospace; font-family: var(--font-mono);
background: rgba(0, 0, 0, 0.3); background: rgba(0, 0, 0, 0.3);
padding: 0.25rem 0.5rem; padding: 0.25rem 0.5rem;
border-radius: 4px; border-radius: 4px;
@ -3840,7 +3840,7 @@
bind:value={titleColor} bind:value={titleColor}
placeholder="#ffffff" placeholder="#ffffff"
maxlength="7" maxlength="7"
style="width: 100px; font-family: monospace; text-transform: uppercase; padding: 0.5rem; background: #000; border: 1px solid var(--border); border-radius: 4px; color: var(--white);" style="width: 100px; font-family: var(--font-mono); text-transform: uppercase; padding: 0.5rem; background: #000; border: 1px solid var(--border); border-radius: 4px; color: var(--white);"
/> />
<span style="color: {titleColor}; font-size: 1.1rem; font-weight: 600;"> <span style="color: {titleColor}; font-size: 1.1rem; font-weight: 600;">
{realms.find(r => r.id === titleColorRealmId)?.name || 'Preview'} {realms.find(r => r.id === titleColorRealmId)?.name || 'Preview'}

View file

@ -403,7 +403,7 @@
} }
.fingerprint-display { .fingerprint-display {
font-family: monospace; font-family: var(--font-mono);
font-size: 0.9rem; font-size: 0.9rem;
} }
@ -450,7 +450,7 @@
} }
.pgp-key { .pgp-key {
font-family: monospace; font-family: var(--font-mono);
font-size: 0.8rem; font-size: 0.8rem;
background: rgba(255, 255, 255, 0.05); background: rgba(255, 255, 255, 0.05);
padding: 1rem; padding: 1rem;
@ -677,7 +677,7 @@
<div class="badges-row"> <div class="badges-row">
<div class="color-badge"> <div class="color-badge">
<span class="color-dot" style="background: {profile.colorCode || '#561D5E'}"></span> <span class="color-dot" style="background: {profile.colorCode || '#561D5E'}"></span>
<span style="font-family: monospace;">{profile.colorCode || '#561D5E'}</span> <span style="font-family: var(--font-mono);">{profile.colorCode || '#561D5E'}</span>
</div> </div>
<div class="ubercoin-badge"> <div class="ubercoin-badge">
<span class="coin-icon">Ü</span> <span class="coin-icon">Ü</span>

View file

@ -1618,7 +1618,7 @@
.color-input { .color-input {
padding: 0.75rem; padding: 0.75rem;
font-family: monospace; font-family: var(--font-mono);
text-transform: uppercase; text-transform: uppercase;
} }
@ -1873,7 +1873,7 @@
} }
.zoom-value { .zoom-value {
font-family: monospace; font-family: var(--font-mono);
color: var(--primary); color: var(--primary);
} }
@ -1934,7 +1934,7 @@
} }
.position-display span { .position-display span {
font-family: monospace; font-family: var(--font-mono);
} }
.banner-editor-help { .banner-editor-help {
@ -2154,7 +2154,7 @@
} }
.referral-code { .referral-code {
font-family: monospace; font-family: var(--font-mono);
font-size: 1.1rem; font-size: 1.1rem;
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
background: var(--black); background: var(--black);
@ -2489,7 +2489,7 @@
title="Current color" title="Current color"
></div> ></div>
<div> <div>
<div style="font-family: monospace; font-size: 1.1rem;"> <div style="font-family: var(--font-mono); font-size: 1.1rem;">
{userColor} {userColor}
</div> </div>
<div style="font-size: 0.85rem; color: var(--gray);"> <div style="font-size: 0.85rem; color: var(--gray);">
@ -2564,7 +2564,7 @@
></div> ></div>
<div> <div>
<div style="font-size: 0.85rem; color: var(--gray);">Preview</div> <div style="font-size: 0.85rem; color: var(--gray);">Preview</div>
<div style="font-family: monospace;">{newColor}</div> <div style="font-family: var(--font-mono);">{newColor}</div>
</div> </div>
</div> </div>
</div> </div>
@ -2630,7 +2630,7 @@
setTimeout(() => message = '', 3000); setTimeout(() => message = '', 3000);
} }
}} }}
style="font-family: monospace; text-align: center; cursor: pointer; background: rgba(255, 255, 255, 0.05);" style="font-family: var(--font-mono); text-align: center; cursor: pointer; background: rgba(255, 255, 255, 0.05);"
placeholder="Press a key..." placeholder="Press a key..."
/> />
<p style="font-size: 0.75rem; color: var(--gray); margin-top: 0.5rem;"> <p style="font-size: 0.75rem; color: var(--gray); margin-top: 0.5rem;">
@ -2865,7 +2865,7 @@
readonly readonly
rows="8" rows="8"
value={generatedPublicKey} value={generatedPublicKey}
style="font-family: monospace; font-size: 0.8rem;" style="font-family: var(--font-mono); font-size: 0.8rem;"
/> />
<div style="display: flex; gap: 0.5rem; margin-top: 0.5rem;"> <div style="display: flex; gap: 0.5rem; margin-top: 0.5rem;">
<button type="button" on:click={() => copyToClipboard(generatedPublicKey)}> <button type="button" on:click={() => copyToClipboard(generatedPublicKey)}>
@ -2883,7 +2883,7 @@
readonly readonly
rows="8" rows="8"
value={generatedPrivateKey} value={generatedPrivateKey}
style="font-family: monospace; font-size: 0.8rem;" style="font-family: var(--font-mono); font-size: 0.8rem;"
/> />
<div style="display: flex; gap: 0.5rem; margin-top: 0.5rem;"> <div style="display: flex; gap: 0.5rem; margin-top: 0.5rem;">
<button type="button" on:click={() => copyPrivateKeyToClipboard(generatedPrivateKey)}> <button type="button" on:click={() => copyPrivateKeyToClipboard(generatedPrivateKey)}>
@ -2942,7 +2942,7 @@
bind:value={newPublicKey} bind:value={newPublicKey}
rows="10" rows="10"
placeholder="-----BEGIN PGP PUBLIC KEY BLOCK-----" placeholder="-----BEGIN PGP PUBLIC KEY BLOCK-----"
style="font-family: monospace; font-size: 0.9rem;" style="font-family: var(--font-mono); font-size: 0.9rem;"
/> />
</div> </div>
<button on:click={addPublicKey} disabled={loading || !newPublicKey}> <button on:click={addPublicKey} disabled={loading || !newPublicKey}>
@ -2986,7 +2986,7 @@
type="text" type="text"
value={createdKey.apiKey} value={createdKey.apiKey}
readonly readonly
style="font-family: monospace; flex: 1;" style="font-family: var(--font-mono); flex: 1;"
/> />
<button on:click={() => copyApiKey(createdKey.apiKey)}> <button on:click={() => copyApiKey(createdKey.apiKey)}>
Copy Copy

View file

@ -177,7 +177,7 @@
.sticker-name { .sticker-name {
flex: 1; flex: 1;
color: #ccc; color: #ccc;
font-family: monospace; font-family: var(--font-mono);
z-index: 1; z-index: 1;
font-size: 0.95rem; font-size: 0.95rem;
} }