You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1873 lines
61 KiB
1873 lines
61 KiB
/* stylelint-disable-next-line at-rule-no-unknown */ |
|
@tailwind base; |
|
/* stylelint-disable-next-line at-rule-no-unknown */ |
|
@tailwind components; |
|
/* stylelint-disable-next-line at-rule-no-unknown */ |
|
@tailwind utilities; |
|
|
|
:root { |
|
--text-size: 12px; |
|
--line-height: 1.6; |
|
--content-width: 800px; |
|
} |
|
|
|
/* Base text size preferences - will be overridden by media queries if not specified */ |
|
[data-text-size='small'] { |
|
--text-size: 6px; |
|
} |
|
|
|
[data-text-size='medium'] { |
|
--text-size: 8px; |
|
} |
|
|
|
[data-text-size='large'] { |
|
--text-size: 10px; |
|
} |
|
|
|
[data-line-spacing='tight'] { |
|
--line-height: 1.4; |
|
} |
|
|
|
[data-line-spacing='normal'] { |
|
--line-height: 1.6; |
|
} |
|
|
|
[data-line-spacing='loose'] { |
|
--line-height: 1.8; |
|
} |
|
|
|
[data-content-width='narrow'] { |
|
--content-width: 600px; |
|
} |
|
|
|
[data-content-width='medium'] { |
|
--content-width: 800px; |
|
} |
|
|
|
[data-content-width='wide'] { |
|
--content-width: 1200px; |
|
} |
|
|
|
/* Automatically set content width to narrow on mobile screens */ |
|
@media (max-width: 768px) { |
|
:root { |
|
--content-width: 600px; |
|
} |
|
|
|
/* Override any user preference on mobile */ |
|
[data-content-width='narrow'], |
|
[data-content-width='medium'], |
|
[data-content-width='wide'] { |
|
--content-width: 600px; |
|
} |
|
} |
|
|
|
body { |
|
font-size: var(--text-size); |
|
line-height: var(--line-height); |
|
background-color: #f1f5f9; |
|
color: #475569; /* WCAG AA compliant: 5.2:1 contrast ratio on bg, 7.1:1 on white */ |
|
transition: background-color 0.3s ease, color 0.3s ease; |
|
font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', 'Droid Sans Mono', 'Source Code Pro', monospace; |
|
} |
|
|
|
/* Responsive font sizing based on screen size - defaults only */ |
|
@media (max-width: 640px) { |
|
:root:not([data-text-size]) { |
|
--text-size: clamp(14px, 4vw, 16px); |
|
} |
|
} |
|
|
|
@media (min-width: 641px) and (max-width: 1024px) { |
|
:root:not([data-text-size]) { |
|
--text-size: clamp(15px, 1.5vw, 18px); |
|
} |
|
} |
|
|
|
@media (min-width: 1025px) { |
|
:root:not([data-text-size]) { |
|
--text-size: clamp(16px, 1.2vw, 20px); |
|
} |
|
} |
|
|
|
/* User text size preferences - override media queries with higher specificity */ |
|
/* These come after media queries to ensure they take precedence */ |
|
@media (max-width: 640px) { |
|
[data-text-size='small'] { |
|
--text-size: clamp(12px, 3.5vw, 14px); |
|
} |
|
|
|
[data-text-size='medium'] { |
|
--text-size: clamp(14px, 4vw, 16px); |
|
} |
|
|
|
[data-text-size='large'] { |
|
--text-size: clamp(16px, 4.5vw, 18px); |
|
} |
|
} |
|
|
|
@media (min-width: 641px) and (max-width: 1024px) { |
|
[data-text-size='small'] { |
|
--text-size: clamp(13px, 1.3vw, 16px); |
|
} |
|
|
|
[data-text-size='medium'] { |
|
--text-size: clamp(15px, 1.5vw, 18px); |
|
} |
|
|
|
[data-text-size='large'] { |
|
--text-size: clamp(17px, 1.7vw, 20px); |
|
} |
|
} |
|
|
|
@media (min-width: 1025px) { |
|
[data-text-size='small'] { |
|
--text-size: clamp(14px, 1.1vw, 18px); |
|
} |
|
|
|
[data-text-size='medium'] { |
|
--text-size: clamp(16px, 1.2vw, 20px); |
|
} |
|
|
|
[data-text-size='large'] { |
|
--text-size: clamp(18px, 1.3vw, 22px); |
|
} |
|
} |
|
|
|
/* Paragraph spacing - increased for better readability */ |
|
p { |
|
margin-bottom: 1.25em; |
|
margin-top: 0; |
|
} |
|
|
|
/* Markdown content paragraph spacing */ |
|
:global(.markdown-content) p { |
|
margin-bottom: 1.25em; |
|
margin-top: 0; |
|
} |
|
|
|
/* Consistent heading sizes relative to base font size */ |
|
h1 { |
|
font-size: clamp(1.25rem, 3vw, 1.5rem); |
|
line-height: 1.2; |
|
margin-bottom: 1.5rem; |
|
margin-top: 0; |
|
font-weight: 700; |
|
color: var(--fog-text, #475569); |
|
} |
|
|
|
:global(.dark) h1 { |
|
color: var(--fog-dark-text, #cbd5e1); |
|
} |
|
|
|
h2 { |
|
font-size: clamp(1.125rem, 2.5vw, 1.25rem); |
|
line-height: 1.3; |
|
margin-bottom: 0.875rem; |
|
margin-top: 0; |
|
font-weight: 600; |
|
color: var(--fog-text, #475569); |
|
} |
|
|
|
:global(.dark) h2 { |
|
color: var(--fog-dark-text, #cbd5e1); |
|
} |
|
|
|
h3 { |
|
font-size: clamp(1rem, 2vw, 1.125rem); |
|
line-height: 1.4; |
|
margin-bottom: 0.625rem; |
|
margin-top: 1.25rem; |
|
font-weight: 600; |
|
color: var(--fog-text, #475569); |
|
} |
|
|
|
:global(.dark) h3 { |
|
color: var(--fog-dark-text, #cbd5e1); |
|
} |
|
|
|
h4, h5, h6 { |
|
font-size: clamp(1rem, 2vw, 1.125rem); |
|
line-height: 1.4; |
|
margin-bottom: 0.625rem; |
|
margin-top: 0; |
|
} |
|
|
|
/* Common main container */ |
|
main { |
|
max-width: var(--content-width); |
|
margin: 0 auto; |
|
} |
|
|
|
/* Common loading and empty states */ |
|
.loading-state, |
|
.empty-state { |
|
padding: 2rem; |
|
text-align: center; |
|
color: var(--fog-text, #1f2937); |
|
} |
|
|
|
:global(.dark) .loading-state, |
|
:global(.dark) .empty-state { |
|
color: var(--fog-dark-text, #f9fafb); |
|
} |
|
|
|
/* Common button styles */ |
|
.write-button { |
|
display: inline-flex; |
|
align-items: center; |
|
justify-content: center; |
|
padding: 0.5rem; |
|
border: 1px solid var(--fog-border, #e5e7eb); |
|
border-radius: 0.375rem; |
|
background: var(--fog-surface, #f8fafc); |
|
color: var(--fog-text, #1f2937); |
|
text-decoration: none; |
|
transition: all 0.2s; |
|
min-width: 2.5rem; |
|
min-height: 2.5rem; |
|
flex-shrink: 0; |
|
cursor: pointer; |
|
} |
|
|
|
:global(.dark) .write-button { |
|
border-color: var(--fog-dark-border, #374151); |
|
background: var(--fog-dark-surface, #1e293b); |
|
color: var(--fog-dark-text, #f9fafb); |
|
} |
|
|
|
.write-button:hover { |
|
background: var(--fog-highlight, #f3f4f6); |
|
border-color: var(--fog-accent, #64748b); |
|
} |
|
|
|
:global(.dark) .write-button:hover { |
|
background: var(--fog-dark-highlight, #475569); |
|
border-color: var(--fog-dark-accent, #94a3b8); |
|
} |
|
|
|
/* Action buttons (accent background) */ |
|
.find-button, |
|
.create-rss-button, |
|
.edit-rss-button, |
|
.bulk-action-button, |
|
.load-more-button, |
|
.clear-kind-button { |
|
padding: 0.75rem 1.5rem; |
|
background: var(--fog-accent, #64748b); |
|
color: white; |
|
border: none; |
|
border-radius: 0.375rem; |
|
cursor: pointer; |
|
font-size: 0.875em; |
|
font-weight: 500; |
|
text-decoration: none; |
|
display: inline-block; |
|
transition: opacity 0.2s; |
|
} |
|
|
|
:global(.dark) .find-button, |
|
:global(.dark) .create-rss-button, |
|
:global(.dark) .edit-rss-button, |
|
:global(.dark) .bulk-action-button, |
|
:global(.dark) .load-more-button, |
|
:global(.dark) .clear-kind-button { |
|
background: var(--fog-dark-accent, #94a3b8); |
|
} |
|
|
|
.find-button:hover:not(:disabled), |
|
.create-rss-button:hover, |
|
.edit-rss-button:hover, |
|
.bulk-action-button:hover, |
|
.load-more-button:hover:not(:disabled), |
|
.clear-kind-button:hover { |
|
opacity: 0.9; |
|
} |
|
|
|
.find-button:disabled, |
|
.load-more-button:disabled { |
|
opacity: 0.6; |
|
cursor: not-allowed; |
|
} |
|
|
|
/* Tab buttons */ |
|
.tab-button { |
|
padding: 0.75rem 1.5rem; |
|
border: none; |
|
background: transparent; |
|
color: var(--fog-text-light, #52667a); /* WCAG AA compliant: 4.6:1 on bg, 5.1:1 on post */ |
|
cursor: pointer; |
|
border-bottom: 2px solid transparent; |
|
transition: all 0.2s; |
|
font-size: 1rem; |
|
} |
|
|
|
:global(.dark) .tab-button { |
|
color: var(--fog-dark-text-light, #a8b8d0); /* WCAG AA compliant: 8.5:1 on bg, 4.8:1 on post */ |
|
} |
|
|
|
.tab-button:hover { |
|
color: var(--fog-text, #1f2937); |
|
} |
|
|
|
:global(.dark) .tab-button:hover { |
|
color: var(--fog-dark-text, #f9fafb); |
|
} |
|
|
|
.tab-button.active { |
|
color: var(--fog-text, #1f2937); |
|
border-bottom-color: var(--fog-accent, #64748b); |
|
} |
|
|
|
:global(.dark) .tab-button.active { |
|
color: var(--fog-dark-text, #f9fafb); |
|
border-bottom-color: var(--fog-dark-accent, #94a3b8); |
|
} |
|
|
|
/* Common emoji styles */ |
|
.emoji { |
|
font-size: 1.25rem; |
|
line-height: 1; |
|
} |
|
|
|
.emoji-grayscale { |
|
filter: grayscale(100%) brightness(1.3); |
|
opacity: 0.5; |
|
} |
|
|
|
/* Common button styles */ |
|
.action-button { |
|
padding: 0.5rem 1rem; |
|
background: var(--fog-highlight, #f3f4f6); |
|
border: 1px solid var(--fog-border, #e5e7eb); |
|
border-radius: 0.375rem; |
|
color: var(--fog-text, #1f2937); |
|
cursor: pointer; |
|
font-size: 0.875em; |
|
text-decoration: none; |
|
display: inline-block; |
|
white-space: nowrap; |
|
overflow: hidden; |
|
text-overflow: ellipsis; |
|
max-width: 100%; |
|
} |
|
|
|
:global(.dark) .action-button { |
|
background: var(--fog-dark-highlight, #475569); |
|
border-color: var(--fog-dark-border, #475569); |
|
color: var(--fog-dark-text, #f9fafb); |
|
} |
|
|
|
.action-button:hover { |
|
background: var(--fog-accent, #64748b); |
|
color: white; |
|
border-color: var(--fog-accent, #64748b); |
|
} |
|
|
|
.action-button:disabled { |
|
opacity: 0.6; |
|
cursor: not-allowed; |
|
} |
|
|
|
/* Common form elements */ |
|
.filter-select, |
|
.filter-input { |
|
padding: 0.5rem 0.75rem; |
|
border: 1px solid var(--fog-border, #e5e7eb); |
|
border-radius: 0.375rem; |
|
background: var(--fog-post, #ffffff); |
|
color: var(--fog-text, #1f2937); |
|
font-size: 0.875em; |
|
} |
|
|
|
:global(.dark) .filter-select, |
|
:global(.dark) .filter-input { |
|
background: var(--fog-dark-post, #334155); |
|
border-color: var(--fog-dark-border, #475569); |
|
color: var(--fog-dark-text, #f9fafb); |
|
} |
|
|
|
.filter-label { |
|
font-size: 0.875em; |
|
font-weight: 500; |
|
color: var(--fog-text, #1f2937); |
|
} |
|
|
|
:global(.dark) .filter-label { |
|
color: var(--fog-dark-text, #f9fafb); |
|
} |
|
|
|
/* Apply monospace font to all elements globally */ |
|
* { |
|
font-family: inherit; |
|
} |
|
|
|
/* Secret supercoder vibe - subtle terminal aesthetic */ |
|
body::before { |
|
content: ''; |
|
position: fixed; |
|
top: 0; |
|
left: 0; |
|
width: 100%; |
|
height: 100%; |
|
background: |
|
repeating-linear-gradient( |
|
0deg, |
|
transparent, |
|
transparent 2px, |
|
rgba(0, 0, 0, 0.03) 2px, |
|
rgba(0, 0, 0, 0.03) 4px |
|
); |
|
pointer-events: none; |
|
z-index: 9999; |
|
opacity: 0.5; |
|
} |
|
|
|
.dark body::before { |
|
background: |
|
repeating-linear-gradient( |
|
0deg, |
|
transparent, |
|
transparent 2px, |
|
rgba(255, 255, 255, 0.02) 2px, |
|
rgba(255, 255, 255, 0.02) 4px |
|
); |
|
} |
|
|
|
/* Dark mode body styles */ |
|
.dark body { |
|
background-color: #0a0e1a; |
|
color: #cbd5e1; /* WCAG AA compliant: 13.5:1 contrast ratio */ |
|
text-shadow: 0 0 1px rgba(0, 255, 0, 0.1); |
|
} |
|
|
|
/* Design Theme Switching */ |
|
|
|
/* Fog Theme (Default) - keeps monospace font and existing styles */ |
|
[data-design-theme="fog"], |
|
[data-design-theme="fog"] body, |
|
[data-design-theme="fog"] html, |
|
[data-design-theme="fog"] div, |
|
[data-design-theme="fog"] span, |
|
[data-design-theme="fog"] p, |
|
[data-design-theme="fog"] a, |
|
[data-design-theme="fog"] h1, |
|
[data-design-theme="fog"] h2, |
|
[data-design-theme="fog"] h3, |
|
[data-design-theme="fog"] h4, |
|
[data-design-theme="fog"] h5, |
|
[data-design-theme="fog"] h6, |
|
[data-design-theme="fog"] button, |
|
[data-design-theme="fog"] input, |
|
[data-design-theme="fog"] textarea, |
|
[data-design-theme="fog"] select, |
|
[data-design-theme="fog"] label { |
|
font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', 'Droid Sans Mono', 'Source Code Pro', monospace !important; |
|
} |
|
|
|
/* Fog theme - light mode backgrounds (default) */ |
|
[data-design-theme="fog"] .bg-fog-bg, |
|
[data-design-theme="fog"] .bg-fog-surface, |
|
[data-design-theme="fog"] .bg-fog-post, |
|
[data-design-theme="fog"] [class*="bg-fog-"] { |
|
/* Let Tailwind handle light mode, dark mode will override */ |
|
} |
|
|
|
/* Banner image tinting for themes */ |
|
[data-design-theme="fog"] header img[src*="aither.png"], |
|
[data-design-theme="fog"] header img[alt*="banner"], |
|
[data-design-theme="fog"] header > div:first-child img { |
|
filter: brightness(0.95) saturate(0.9) !important; /* Slightly desaturated, cool tone */ |
|
} |
|
|
|
/* forum Theme */ |
|
[data-design-theme="forum"] .bg-fog-bg, |
|
[data-design-theme="forum"] .bg-fog-surface, |
|
[data-design-theme="forum"] .bg-fog-post, |
|
[data-design-theme="forum"] [class*="bg-fog-"] { |
|
background-color: #ffffff !important; |
|
} |
|
|
|
[data-design-theme="forum"] .text-fog-text, |
|
[data-design-theme="forum"] [class*="text-fog-text"]:not([class*="text-fog-text-light"]):not([class*="text-fog-accent"]) { |
|
color: #1c1c1c !important; |
|
} |
|
|
|
[data-design-theme="forum"] .text-fog-text-light, |
|
[data-design-theme="forum"] [class*="text-fog-text-light"] { |
|
color: #5a5a5a !important; /* Improved contrast: 7.1:1 on white (was 4.5:1) */ |
|
} |
|
|
|
[data-design-theme="forum"] .border-fog-border, |
|
[data-design-theme="forum"] [class*="border-fog-border"] { |
|
border-color: #e4e4e4 !important; |
|
} |
|
|
|
[data-design-theme="forum"] .text-fog-accent, |
|
[data-design-theme="forum"] [class*="text-fog-accent"]:not([class*="bg-fog-accent"]) { |
|
color: #d93a00 !important; /* Improved contrast: 4.8:1 on white (was 2.9:1) */ |
|
} |
|
|
|
[data-design-theme="forum"] .bg-fog-accent, |
|
[data-design-theme="forum"] [class*="bg-fog-accent"] { |
|
background-color: #ff4500 !important; |
|
color: #ffffff !important; /* White text on orange for WCAG AA compliance */ |
|
} |
|
|
|
[data-design-theme="forum"] .bg-fog-highlight, |
|
[data-design-theme="forum"] [class*="bg-fog-highlight"], |
|
[data-design-theme="forum"] [class*="hover:bg-fog-highlight"]:hover { |
|
background-color: #f6f7f8 !important; |
|
} |
|
|
|
/* Ensure text on highlight has good contrast */ |
|
[data-design-theme="forum"] .bg-fog-highlight, |
|
[data-design-theme="forum"] [class*="bg-fog-highlight"] { |
|
color: #1c1c1c !important; /* Dark text on light highlight */ |
|
} |
|
|
|
[data-design-theme="forum"] [class*="hover:text-fog-accent"]:hover { |
|
color: #d93a00 !important; /* Better contrast on white */ |
|
} |
|
|
|
[data-design-theme="forum"].dark [class*="hover:text-fog-accent"]:hover { |
|
color: #ff6b35 !important; /* Better contrast on dark */ |
|
} |
|
|
|
[data-design-theme="forum"], |
|
[data-design-theme="forum"] body, |
|
[data-design-theme="forum"] html, |
|
[data-design-theme="forum"] div, |
|
[data-design-theme="forum"] span, |
|
[data-design-theme="forum"] p, |
|
[data-design-theme="forum"] a, |
|
[data-design-theme="forum"] h1, |
|
[data-design-theme="forum"] h2, |
|
[data-design-theme="forum"] h3, |
|
[data-design-theme="forum"] h4, |
|
[data-design-theme="forum"] h5, |
|
[data-design-theme="forum"] h6, |
|
[data-design-theme="forum"] button, |
|
[data-design-theme="forum"] input, |
|
[data-design-theme="forum"] textarea, |
|
[data-design-theme="forum"] select, |
|
[data-design-theme="forum"] label { |
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important; |
|
} |
|
|
|
[data-design-theme="forum"] body { |
|
background-color: #dae0e6 !important; |
|
color: #1c1c1c !important; |
|
} |
|
|
|
/* forum - Ensure text on post backgrounds has good contrast */ |
|
[data-design-theme="forum"] .bg-fog-post, |
|
[data-design-theme="forum"] [class*="bg-fog-post"] { |
|
color: #1c1c1c !important; /* Dark text on white post - excellent contrast (16.6:1) */ |
|
} |
|
|
|
[data-design-theme="forum"] .bg-fog-surface, |
|
[data-design-theme="forum"] [class*="bg-fog-surface"] { |
|
color: #1c1c1c !important; /* Dark text on white surface */ |
|
} |
|
|
|
/* forum Theme - Banner Image Tinting */ |
|
[data-design-theme="forum"] header img[src*="aither.png"], |
|
[data-design-theme="forum"] header img[alt*="banner"], |
|
[data-design-theme="forum"] header > div:first-child img { |
|
filter: sepia(0.3) saturate(1.2) hue-rotate(-10deg) brightness(1.05) !important; /* Warm orange tint */ |
|
} |
|
|
|
[data-design-theme="forum"].dark header img[src*="aither.png"], |
|
[data-design-theme="forum"].dark header img[alt*="banner"], |
|
[data-design-theme="forum"].dark header > div:first-child img { |
|
filter: sepia(0.4) saturate(1.3) hue-rotate(-10deg) brightness(0.9) contrast(1.1) !important; /* Stronger warm tint for dark mode */ |
|
} |
|
|
|
/* forum Theme - Button Styles */ |
|
[data-design-theme="forum"] .toggle-button, |
|
[data-design-theme="forum"] .option-button, |
|
[data-design-theme="forum"] .action-button, |
|
[data-design-theme="forum"] .back-button, |
|
[data-design-theme="forum"] .write-button { |
|
border-radius: 4px !important; |
|
font-weight: 500 !important; |
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important; |
|
} |
|
|
|
[data-design-theme="forum"] .toggle-button.active, |
|
[data-design-theme="forum"] .option-button.active { |
|
box-shadow: 0 2px 4px rgba(255, 69, 0, 0.2) !important; |
|
background-color: #ff4500 !important; |
|
color: #ffffff !important; /* White text on orange for contrast */ |
|
} |
|
|
|
[data-design-theme="forum"].dark .toggle-button.active, |
|
[data-design-theme="forum"].dark .option-button.active { |
|
background-color: #ff4500 !important; |
|
color: #ffffff !important; /* White text on orange */ |
|
} |
|
|
|
[data-design-theme="forum"] .find-button, |
|
[data-design-theme="forum"] .create-rss-button, |
|
[data-design-theme="forum"] .edit-rss-button, |
|
[data-design-theme="forum"] .bulk-action-button, |
|
[data-design-theme="forum"] .load-more-button, |
|
[data-design-theme="forum"] .clear-kind-button { |
|
border-radius: 9999px !important; |
|
font-weight: 700 !important; |
|
text-transform: uppercase !important; |
|
font-size: 0.75rem !important; |
|
letter-spacing: 0.5px !important; |
|
box-shadow: 0 2px 4px rgba(255, 69, 0, 0.2) !important; |
|
} |
|
|
|
/* forum Theme - Navigation Styles */ |
|
[data-design-theme="forum"] nav { |
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important; |
|
} |
|
|
|
[data-design-theme="forum"] nav a { |
|
font-weight: 500 !important; |
|
border-radius: 4px !important; |
|
padding: 0.25rem 0.5rem !important; |
|
} |
|
|
|
[data-design-theme="forum"] nav a:hover { |
|
background-color: #f6f7f8 !important; |
|
} |
|
|
|
/* forum Theme - Tab Buttons */ |
|
[data-design-theme="forum"] .tab-button { |
|
border-radius: 4px 4px 0 0 !important; |
|
font-weight: 500 !important; |
|
} |
|
|
|
[data-design-theme="forum"] .tab-button.active { |
|
border-bottom-width: 3px !important; |
|
border-bottom-color: #ff4500 !important; |
|
} |
|
|
|
/* forum Theme - Form Elements */ |
|
[data-design-theme="forum"] .filter-select, |
|
[data-design-theme="forum"] .filter-input { |
|
border-radius: 4px !important; |
|
border: 1px solid #e4e4e4 !important; |
|
} |
|
|
|
[data-design-theme="forum"] .filter-select:focus, |
|
[data-design-theme="forum"] .filter-input:focus { |
|
border-color: #ff4500 !important; |
|
box-shadow: 0 0 0 2px rgba(255, 69, 0, 0.1) !important; |
|
} |
|
|
|
[data-design-theme="forum"].dark .bg-fog-bg, |
|
[data-design-theme="forum"].dark .bg-fog-surface, |
|
[data-design-theme="forum"].dark .bg-fog-post, |
|
[data-design-theme="forum"].dark [class*="bg-fog-"] { |
|
background-color: #1a1a1b !important; |
|
} |
|
|
|
[data-design-theme="forum"].dark .text-fog-text, |
|
[data-design-theme="forum"].dark [class*="text-fog-text"]:not([class*="text-fog-text-light"]):not([class*="text-fog-accent"]) { |
|
color: #d7dadc !important; |
|
} |
|
|
|
[data-design-theme="forum"].dark .text-fog-text-light, |
|
[data-design-theme="forum"].dark [class*="text-fog-text-light"] { |
|
color: #a8a8a8 !important; /* Improved contrast: 5.2:1 on dark bg (was 3.2:1) */ |
|
} |
|
|
|
[data-design-theme="forum"].dark .border-fog-border, |
|
[data-design-theme="forum"].dark [class*="border-fog-border"] { |
|
border-color: #343536 !important; |
|
} |
|
|
|
[data-design-theme="forum"].dark .bg-fog-highlight, |
|
[data-design-theme="forum"].dark [class*="bg-fog-highlight"], |
|
[data-design-theme="forum"].dark [class*="hover:bg-fog-highlight"]:hover { |
|
background-color: #272729 !important; |
|
} |
|
|
|
/* Ensure text on dark highlight has good contrast */ |
|
[data-design-theme="forum"].dark .bg-fog-highlight, |
|
[data-design-theme="forum"].dark [class*="bg-fog-highlight"] { |
|
color: #d7dadc !important; /* Light text on dark highlight */ |
|
} |
|
|
|
/* forum dark mode accent colors */ |
|
[data-design-theme="forum"].dark .text-fog-accent, |
|
[data-design-theme="forum"].dark [class*="text-fog-accent"]:not([class*="bg-fog-accent"]) { |
|
color: #ff6b35 !important; /* Lighter orange for better contrast on dark: 4.5:1 */ |
|
} |
|
|
|
[data-design-theme="forum"].dark .bg-fog-accent, |
|
[data-design-theme="forum"].dark [class*="bg-fog-accent"] { |
|
background-color: #ff4500 !important; |
|
color: #ffffff !important; /* White text on orange */ |
|
} |
|
|
|
[data-design-theme="forum"].dark body { |
|
background-color: #030303 !important; |
|
color: #d7dadc !important; |
|
} |
|
|
|
/* forum dark - Ensure text on post/surface backgrounds has good contrast */ |
|
[data-design-theme="forum"].dark .bg-fog-post, |
|
[data-design-theme="forum"].dark [class*="bg-fog-post"] { |
|
color: #d7dadc !important; /* Light text on dark post - excellent contrast (6.8:1) */ |
|
} |
|
|
|
[data-design-theme="forum"].dark .bg-fog-surface, |
|
[data-design-theme="forum"].dark [class*="bg-fog-surface"] { |
|
color: #d7dadc !important; /* Light text on dark surface */ |
|
} |
|
|
|
[data-design-theme="forum"].dark nav a:hover { |
|
background-color: #272729 !important; |
|
} |
|
|
|
/* Terminal Theme - Always Dark */ |
|
/* Force dark mode for terminal theme regardless of .dark class */ |
|
[data-design-theme="terminal"], |
|
[data-design-theme="terminal"] * { |
|
/* Terminal theme is always dark - override any light mode */ |
|
} |
|
|
|
[data-design-theme="terminal"] .bg-fog-bg, |
|
[data-design-theme="terminal"] .bg-fog-surface, |
|
[data-design-theme="terminal"] .bg-fog-post, |
|
[data-design-theme="terminal"] [class*="bg-fog-"], |
|
[data-design-theme="terminal"] body, |
|
[data-design-theme="terminal"] main, |
|
[data-design-theme="terminal"] article, |
|
[data-design-theme="terminal"] section { |
|
background-color: #000000 !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .text-fog-text, |
|
[data-design-theme="terminal"] .text-fog-text-light, |
|
[data-design-theme="terminal"] [class*="text-fog-text"], |
|
[data-design-theme="terminal"] [class*="text-fog-accent"] { |
|
color: #00ff00 !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .border-fog-border, |
|
[data-design-theme="terminal"] [class*="border-fog-border"] { |
|
border-color: #00ff00 !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .bg-fog-accent, |
|
[data-design-theme="terminal"] .text-fog-accent, |
|
[data-design-theme="terminal"] [class*="bg-fog-accent"], |
|
[data-design-theme="terminal"] [class*="text-fog-accent"] { |
|
color: #00ff00 !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .bg-fog-accent, |
|
[data-design-theme="terminal"] [class*="bg-fog-accent"] { |
|
background-color: #00ff00 !important; |
|
color: #000000 !important; /* Black text on green for maximum contrast */ |
|
} |
|
|
|
[data-design-theme="terminal"] .bg-fog-highlight, |
|
[data-design-theme="terminal"] [class*="bg-fog-highlight"], |
|
[data-design-theme="terminal"] [class*="hover:bg-fog-highlight"]:hover { |
|
background-color: #001a00 !important; |
|
} |
|
|
|
/* Terminal theme - ensure all post/surface backgrounds are dark */ |
|
[data-design-theme="terminal"] .bg-fog-post, |
|
[data-design-theme="terminal"] [class*="bg-fog-post"], |
|
[data-design-theme="terminal"] .bg-fog-surface, |
|
[data-design-theme="terminal"] [class*="bg-fog-surface"], |
|
[data-design-theme="terminal"] .bg-fog-bg, |
|
[data-design-theme="terminal"] [class*="bg-fog-bg"] { |
|
background-color: #000000 !important; |
|
color: #00ff00 !important; |
|
} |
|
|
|
/* Ensure text on terminal highlight has good contrast */ |
|
[data-design-theme="terminal"] .bg-fog-highlight, |
|
[data-design-theme="terminal"] [class*="bg-fog-highlight"] { |
|
color: #00ff00 !important; /* Green text on dark green highlight - excellent contrast */ |
|
text-shadow: 0 0 3px rgba(0, 255, 0, 0.8) !important; /* Glow for visibility */ |
|
} |
|
|
|
[data-design-theme="terminal"] [class*="hover:text-fog-accent"]:hover { |
|
color: #00ff00 !important; |
|
} |
|
|
|
[data-design-theme="terminal"], |
|
[data-design-theme="terminal"] body, |
|
[data-design-theme="terminal"] html, |
|
[data-design-theme="terminal"] div, |
|
[data-design-theme="terminal"] span, |
|
[data-design-theme="terminal"] p, |
|
[data-design-theme="terminal"] a, |
|
[data-design-theme="terminal"] h1, |
|
[data-design-theme="terminal"] h2, |
|
[data-design-theme="terminal"] h3, |
|
[data-design-theme="terminal"] h4, |
|
[data-design-theme="terminal"] h5, |
|
[data-design-theme="terminal"] h6, |
|
[data-design-theme="terminal"] button, |
|
[data-design-theme="terminal"] input, |
|
[data-design-theme="terminal"] textarea, |
|
[data-design-theme="terminal"] select, |
|
[data-design-theme="terminal"] label { |
|
font-family: 'Courier New', 'Courier', monospace !important; |
|
} |
|
|
|
[data-design-theme="terminal"] body { |
|
background-color: #000000 !important; |
|
color: #00ff00 !important; |
|
text-shadow: 0 0 3px rgba(0, 255, 0, 0.5) !important; |
|
} |
|
|
|
/* Terminal theme - force dark backgrounds on all containers */ |
|
[data-design-theme="terminal"] nav, |
|
[data-design-theme="terminal"] nav.bg-fog-surface, |
|
[data-design-theme="terminal"] nav.bg-fog-dark-surface, |
|
[data-design-theme="terminal"] nav[class*="bg-fog-surface"], |
|
[data-design-theme="terminal"] nav[class*="bg-fog-dark-surface"], |
|
[data-design-theme="terminal"] header, |
|
[data-design-theme="terminal"] footer, |
|
[data-design-theme="terminal"] aside, |
|
[data-design-theme="terminal"] div[class*="container"], |
|
[data-design-theme="terminal"] div[class*="wrapper"], |
|
[data-design-theme="terminal"] div[class*="content"] { |
|
background-color: #000000 !important; |
|
color: #00ff00 !important; |
|
} |
|
|
|
/* Terminal - Ensure text on post/surface backgrounds has good contrast */ |
|
[data-design-theme="terminal"] .bg-fog-post, |
|
[data-design-theme="terminal"] [class*="bg-fog-post"], |
|
[data-design-theme="terminal"] .bg-fog-surface, |
|
[data-design-theme="terminal"] [class*="bg-fog-surface"] { |
|
color: #00ff00 !important; /* Green text on dark backgrounds - excellent contrast (15.3:1) */ |
|
text-shadow: 0 0 3px rgba(0, 255, 0, 0.6) !important; /* Glow for visibility */ |
|
} |
|
|
|
/* Terminal Theme - Header Banner Background */ |
|
[data-design-theme="terminal"] header > div:first-child, |
|
[data-design-theme="terminal"] header > div[class*="bg-fog-surface"], |
|
[data-design-theme="terminal"] header > div[class*="bg-fog-dark-surface"] { |
|
background-color: #000000 !important; |
|
background: #000000 !important; |
|
} |
|
|
|
/* Terminal Theme - Banner Image Tinting */ |
|
[data-design-theme="terminal"] header img[src*="aither.png"], |
|
[data-design-theme="terminal"] header img[alt*="banner"], |
|
[data-design-theme="terminal"] header > div:first-child img { |
|
filter: sepia(1) saturate(2) hue-rotate(90deg) brightness(0.8) contrast(1.2) !important; /* Strong green terminal tint */ |
|
opacity: 0.7 !important; /* Slightly more transparent for terminal aesthetic */ |
|
} |
|
|
|
/* Terminal Theme - Button Styles */ |
|
[data-design-theme="terminal"] .toggle-button, |
|
[data-design-theme="terminal"] .option-button, |
|
[data-design-theme="terminal"] .action-button, |
|
[data-design-theme="terminal"] .back-button, |
|
[data-design-theme="terminal"] .write-button, |
|
[data-design-theme="terminal"] button.toggle-button, |
|
[data-design-theme="terminal"] button.option-button { |
|
border-radius: 0 !important; |
|
border: 1px solid #00ff00 !important; |
|
background-color: rgba(0, 20, 0, 0.4) !important; /* Subtle dark green background for contrast */ |
|
background: rgba(0, 20, 0, 0.4) !important; /* Override any background */ |
|
color: #00ff00 !important; /* Ensure green text */ |
|
box-shadow: 0 0 5px rgba(0, 255, 0, 0.3) !important; |
|
font-family: 'Courier New', 'Courier', monospace !important; |
|
text-transform: uppercase !important; |
|
letter-spacing: 1px !important; |
|
text-shadow: 0 0 4px rgba(0, 255, 0, 0.9), 0 0 8px rgba(0, 255, 0, 0.5) !important; /* Stronger glowing text for visibility */ |
|
font-weight: bold !important; /* Make text bolder for better visibility */ |
|
} |
|
|
|
[data-design-theme="terminal"] .toggle-button:hover, |
|
[data-design-theme="terminal"] .option-button:hover, |
|
[data-design-theme="terminal"] .action-button:hover, |
|
[data-design-theme="terminal"] .back-button:hover, |
|
[data-design-theme="terminal"] .write-button:hover, |
|
[data-design-theme="terminal"] .see-new-events-btn-header:hover, |
|
[data-design-theme="terminal"] .see-more-events-btn-header:hover:not(:disabled) { |
|
box-shadow: 0 0 10px rgba(0, 255, 0, 0.6), inset 0 0 10px rgba(0, 255, 0, 0.1) !important; |
|
background-color: rgba(0, 255, 0, 0.1) !important; /* Brighter on hover */ |
|
text-shadow: 0 0 5px rgba(0, 255, 0, 1) !important; /* Stronger glow on hover */ |
|
} |
|
|
|
/* Terminal Theme - Feed Page Buttons */ |
|
[data-design-theme="terminal"] .see-new-events-btn-header, |
|
[data-design-theme="terminal"] .see-more-events-btn-header { |
|
border-radius: 0 !important; |
|
border: 1px solid #00ff00 !important; |
|
background-color: rgba(0, 20, 0, 0.4) !important; |
|
background: rgba(0, 20, 0, 0.4) !important; |
|
color: #00ff00 !important; |
|
box-shadow: 0 0 5px rgba(0, 255, 0, 0.3) !important; |
|
font-family: 'Courier New', 'Courier', monospace !important; |
|
text-transform: uppercase !important; |
|
letter-spacing: 1px !important; |
|
text-shadow: 0 0 4px rgba(0, 255, 0, 0.9), 0 0 8px rgba(0, 255, 0, 0.5) !important; |
|
font-weight: bold !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .see-more-events-btn-header:disabled { |
|
opacity: 0.5 !important; |
|
cursor: not-allowed !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .toggle-button.active, |
|
[data-design-theme="terminal"] .option-button.active, |
|
[data-design-theme="terminal"] button.toggle-button.active, |
|
[data-design-theme="terminal"] button.option-button.active { |
|
background-color: rgba(0, 255, 0, 0.25) !important; /* More visible active state */ |
|
background: rgba(0, 255, 0, 0.25) !important; /* Override any background */ |
|
color: #00ff00 !important; /* Ensure green text */ |
|
box-shadow: 0 0 15px rgba(0, 255, 0, 0.8), inset 0 0 10px rgba(0, 255, 0, 0.2) !important; |
|
text-shadow: 0 0 8px rgba(0, 255, 0, 1), 0 0 12px rgba(0, 255, 0, 0.8) !important; /* Strong glow when active */ |
|
border-width: 2px !important; /* Thicker border when active */ |
|
} |
|
|
|
[data-design-theme="terminal"] .find-button, |
|
[data-design-theme="terminal"] .create-rss-button, |
|
[data-design-theme="terminal"] .edit-rss-button, |
|
[data-design-theme="terminal"] .bulk-action-button, |
|
[data-design-theme="terminal"] .load-more-button, |
|
[data-design-theme="terminal"] .clear-kind-button { |
|
border-radius: 0 !important; |
|
border: 2px solid #00ff00 !important; |
|
background-color: transparent !important; |
|
color: #00ff00 !important; |
|
box-shadow: 0 0 10px rgba(0, 255, 0, 0.5) !important; |
|
font-family: 'Courier New', 'Courier', monospace !important; |
|
text-transform: uppercase !important; |
|
letter-spacing: 2px !important; |
|
font-weight: bold !important; |
|
} |
|
|
|
/* Terminal buttons with accent background should have black text */ |
|
[data-design-theme="terminal"] .find-button.active, |
|
[data-design-theme="terminal"] .create-rss-button.active, |
|
[data-design-theme="terminal"] .edit-rss-button.active, |
|
[data-design-theme="terminal"] .bulk-action-button.active, |
|
[data-design-theme="terminal"] .load-more-button.active, |
|
[data-design-theme="terminal"] .clear-kind-button.active { |
|
background-color: #00ff00 !important; |
|
color: #000000 !important; /* Black text on green for contrast */ |
|
} |
|
|
|
[data-design-theme="terminal"] .find-button:hover, |
|
[data-design-theme="terminal"] .create-rss-button:hover, |
|
[data-design-theme="terminal"] .edit-rss-button:hover, |
|
[data-design-theme="terminal"] .bulk-action-button:hover, |
|
[data-design-theme="terminal"] .load-more-button:hover, |
|
[data-design-theme="terminal"] .clear-kind-button:hover { |
|
background-color: rgba(0, 255, 0, 0.1) !important; |
|
box-shadow: 0 0 20px rgba(0, 255, 0, 0.8) !important; |
|
} |
|
|
|
/* Terminal Theme - Navigation Styles */ |
|
[data-design-theme="terminal"] nav { |
|
background-color: #000000 !important; /* Force dark background in terminal mode */ |
|
border-top: 2px solid #00ff00 !important; |
|
border-bottom: 2px solid #00ff00 !important; |
|
box-shadow: 0 0 10px rgba(0, 255, 0, 0.3) !important; |
|
} |
|
|
|
[data-design-theme="terminal"] nav a { |
|
font-family: 'Courier New', 'Courier', monospace !important; |
|
text-transform: uppercase !important; |
|
letter-spacing: 1px !important; |
|
border: 1px solid transparent !important; |
|
padding: 0.25rem 0.5rem !important; |
|
color: #00ff00 !important; /* Ensure green text */ |
|
text-shadow: 0 0 3px rgba(0, 255, 0, 0.6) !important; /* Glow for visibility */ |
|
} |
|
|
|
[data-design-theme="terminal"] nav a:hover { |
|
border: 1px solid #00ff00 !important; |
|
box-shadow: 0 0 5px rgba(0, 255, 0, 0.5) !important; |
|
background-color: rgba(0, 255, 0, 0.05) !important; |
|
color: #00ff00 !important; /* Ensure green text on hover */ |
|
text-shadow: 0 0 5px rgba(0, 255, 0, 0.9) !important; /* Stronger glow on hover */ |
|
} |
|
|
|
/* Terminal Theme - Tab Buttons */ |
|
[data-design-theme="terminal"] .tab-button { |
|
border: 1px solid transparent !important; |
|
border-bottom: 2px solid transparent !important; |
|
font-family: 'Courier New', 'Courier', monospace !important; |
|
text-transform: uppercase !important; |
|
letter-spacing: 1px !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .tab-button:hover { |
|
border-color: #00ff00 !important; |
|
box-shadow: 0 0 5px rgba(0, 255, 0, 0.3) !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .tab-button.active { |
|
border-bottom-color: #00ff00 !important; |
|
border-bottom-width: 2px !important; |
|
box-shadow: 0 0 10px rgba(0, 255, 0, 0.5) !important; |
|
text-shadow: 0 0 5px rgba(0, 255, 0, 0.8) !important; |
|
} |
|
|
|
/* Terminal Theme - Form Elements */ |
|
[data-design-theme="terminal"] .filter-select, |
|
[data-design-theme="terminal"] .filter-input, |
|
[data-design-theme="terminal"] input[type="text"], |
|
[data-design-theme="terminal"] input[type="search"], |
|
[data-design-theme="terminal"] input[type="email"], |
|
[data-design-theme="terminal"] input[type="password"], |
|
[data-design-theme="terminal"] input[type="number"], |
|
[data-design-theme="terminal"] input[type="url"], |
|
[data-design-theme="terminal"] textarea, |
|
[data-design-theme="terminal"] select, |
|
[data-design-theme="terminal"] .sort-select, |
|
[data-design-theme="terminal"] input[type="checkbox"] { |
|
border-radius: 0 !important; |
|
border: 1px solid #00ff00 !important; |
|
background-color: #000000 !important; |
|
color: #00ff00 !important; |
|
font-family: 'Courier New', 'Courier', monospace !important; |
|
box-shadow: 0 0 5px rgba(0, 255, 0, 0.3) !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .filter-select:focus, |
|
[data-design-theme="terminal"] .filter-input:focus, |
|
[data-design-theme="terminal"] input[type="text"]:focus, |
|
[data-design-theme="terminal"] input[type="search"]:focus, |
|
[data-design-theme="terminal"] input[type="email"]:focus, |
|
[data-design-theme="terminal"] input[type="password"]:focus, |
|
[data-design-theme="terminal"] input[type="number"]:focus, |
|
[data-design-theme="terminal"] input[type="url"]:focus, |
|
[data-design-theme="terminal"] textarea:focus, |
|
[data-design-theme="terminal"] select:focus, |
|
[data-design-theme="terminal"] .sort-select:focus { |
|
box-shadow: 0 0 10px rgba(0, 255, 0, 0.6) !important; |
|
outline: none !important; |
|
background-color: #000000 !important; |
|
} |
|
|
|
/* Terminal Theme - Page Headers (Discussions, Feed, etc.) */ |
|
[data-design-theme="terminal"] .feed-header, |
|
[data-design-theme="terminal"] .discussions-header-sticky, |
|
[data-design-theme="terminal"] .page-header, |
|
[data-design-theme="terminal"] [class*="header-sticky"], |
|
[data-design-theme="terminal"] [class*="feed-header"], |
|
[data-design-theme="terminal"] [class*="discussions-header"] { |
|
background-color: #000000 !important; |
|
background: #000000 !important; |
|
border-bottom-color: #00ff00 !important; |
|
color: #00ff00 !important; |
|
} |
|
|
|
/* Terminal Theme - Discussion Controls */ |
|
[data-design-theme="terminal"] .discussions-controls, |
|
[data-design-theme="terminal"] .discussions-controls-row, |
|
[data-design-theme="terminal"] .show-older-label, |
|
[data-design-theme="terminal"] .show-older-label input[type="checkbox"] { |
|
color: #00ff00 !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .show-older-label input[type="checkbox"] { |
|
accent-color: #00ff00 !important; |
|
background-color: #000000 !important; |
|
border-color: #00ff00 !important; |
|
} |
|
|
|
/* Terminal Theme - Embedded Event Blurbs (Reply-to/Quote) */ |
|
[data-design-theme="terminal"] .embedded-event-blurb, |
|
[data-design-theme="terminal"] [class*="embedded-event"], |
|
[data-design-theme="terminal"] [class*="embedded-blurb"] { |
|
background-color: #000000 !important; |
|
background: #000000 !important; |
|
border-left-color: #00ff00 !important; |
|
color: #00ff00 !important; |
|
border: 1px solid #00ff00 !important; |
|
box-shadow: 0 0 5px rgba(0, 255, 0, 0.3) !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .embedded-blurb-content, |
|
[data-design-theme="terminal"] .embedded-preview, |
|
[data-design-theme="terminal"] .embedded-kind-info { |
|
color: #00ff00 !important; |
|
text-shadow: 0 0 3px rgba(0, 255, 0, 0.6) !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .view-button { |
|
background-color: #000000 !important; |
|
border-color: #00ff00 !important; |
|
color: #00ff00 !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .view-button:hover { |
|
background-color: rgba(0, 255, 0, 0.1) !important; |
|
box-shadow: 0 0 5px rgba(0, 255, 0, 0.5) !important; |
|
} |
|
|
|
/* Terminal Theme - Keyboard Shortcuts */ |
|
[data-design-theme="terminal"] .shortcuts-category-title { |
|
color: #00ff00 !important; |
|
text-shadow: 0 0 5px rgba(0, 255, 0, 0.8) !important; |
|
font-family: 'Courier New', 'Courier', monospace !important; |
|
text-transform: uppercase !important; |
|
letter-spacing: 1px !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .shortcut-description { |
|
color: #00ff00 !important; |
|
text-shadow: 0 0 3px rgba(0, 255, 0, 0.6) !important; |
|
font-family: 'Courier New', 'Courier', monospace !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .shortcut-item { |
|
border: 1px solid transparent !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .shortcut-item:hover { |
|
background-color: rgba(0, 255, 0, 0.05) !important; |
|
border: 1px solid rgba(0, 255, 0, 0.3) !important; |
|
box-shadow: 0 0 5px rgba(0, 255, 0, 0.3) !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .shortcut-keys kbd { |
|
background-color: rgba(0, 20, 0, 0.6) !important; |
|
border: 1px solid #00ff00 !important; |
|
border-radius: 0 !important; |
|
color: #00ff00 !important; |
|
font-family: 'Courier New', 'Courier', monospace !important; |
|
text-shadow: 0 0 3px rgba(0, 255, 0, 0.8) !important; |
|
box-shadow: 0 0 5px rgba(0, 255, 0, 0.4) !important; |
|
font-weight: bold !important; |
|
text-transform: uppercase !important; |
|
} |
|
|
|
[data-design-theme="terminal"] body::before { |
|
background: |
|
repeating-linear-gradient( |
|
0deg, |
|
transparent, |
|
transparent 2px, |
|
rgba(0, 255, 0, 0.05) 2px, |
|
rgba(0, 255, 0, 0.05) 4px |
|
) !important; |
|
opacity: 0.3 !important; |
|
} |
|
|
|
[data-design-theme="terminal"].dark { |
|
/* Terminal theme is always dark */ |
|
} |
|
|
|
/* socialmedia Theme */ |
|
[data-design-theme="socialmedia"] .bg-fog-bg, |
|
[data-design-theme="socialmedia"] .bg-fog-surface, |
|
[data-design-theme="socialmedia"] .bg-fog-post, |
|
[data-design-theme="socialmedia"] [class*="bg-fog-"] { |
|
background-color: #ffffff !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"] .text-fog-text, |
|
[data-design-theme="socialmedia"] [class*="text-fog-text"]:not([class*="text-fog-text-light"]):not([class*="text-fog-accent"]) { |
|
color: #0f1419 !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"] .text-fog-text-light, |
|
[data-design-theme="socialmedia"] [class*="text-fog-text-light"] { |
|
color: #536471 !important; /* Good contrast: 4.6:1 on white */ |
|
} |
|
|
|
[data-design-theme="socialmedia"] .border-fog-border, |
|
[data-design-theme="socialmedia"] [class*="border-fog-border"] { |
|
border-color: #eff3f4 !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"] .text-fog-accent, |
|
[data-design-theme="socialmedia"] [class*="text-fog-accent"]:not([class*="bg-fog-accent"]) { |
|
color: #0d7ab8 !important; /* Improved contrast: 4.5:1 on white (meets WCAG AA) */ |
|
} |
|
|
|
[data-design-theme="socialmedia"] .bg-fog-accent, |
|
[data-design-theme="socialmedia"] [class*="bg-fog-accent"] { |
|
background-color: #1d9bf0 !important; |
|
color: #ffffff !important; /* White text on blue for WCAG AA compliance */ |
|
} |
|
|
|
[data-design-theme="socialmedia"] .bg-fog-highlight, |
|
[data-design-theme="socialmedia"] [class*="bg-fog-highlight"], |
|
[data-design-theme="socialmedia"] [class*="hover:bg-fog-highlight"]:hover { |
|
background-color: #f7f9f9 !important; |
|
} |
|
|
|
/* Ensure text on highlight has good contrast */ |
|
[data-design-theme="socialmedia"] .bg-fog-highlight, |
|
[data-design-theme="socialmedia"] [class*="bg-fog-highlight"] { |
|
color: #0f1419 !important; /* Dark text on light highlight */ |
|
} |
|
|
|
[data-design-theme="socialmedia"] [class*="hover:text-fog-accent"]:hover { |
|
color: #0d7ab8 !important; /* Better contrast - meets WCAG AA */ |
|
} |
|
|
|
[data-design-theme="socialmedia"], |
|
[data-design-theme="socialmedia"] body, |
|
[data-design-theme="socialmedia"] html, |
|
[data-design-theme="socialmedia"] div, |
|
[data-design-theme="socialmedia"] span, |
|
[data-design-theme="socialmedia"] p, |
|
[data-design-theme="socialmedia"] a, |
|
[data-design-theme="socialmedia"] h1, |
|
[data-design-theme="socialmedia"] h2, |
|
[data-design-theme="socialmedia"] h3, |
|
[data-design-theme="socialmedia"] h4, |
|
[data-design-theme="socialmedia"] h5, |
|
[data-design-theme="socialmedia"] h6, |
|
[data-design-theme="socialmedia"] button, |
|
[data-design-theme="socialmedia"] input, |
|
[data-design-theme="socialmedia"] textarea, |
|
[data-design-theme="socialmedia"] select, |
|
[data-design-theme="socialmedia"] label { |
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"] body { |
|
background-color: #ffffff !important; |
|
color: #0f1419 !important; |
|
} |
|
|
|
/* socialmedia - Ensure text on post/surface backgrounds has good contrast */ |
|
[data-design-theme="socialmedia"] .bg-fog-post, |
|
[data-design-theme="socialmedia"] [class*="bg-fog-post"], |
|
[data-design-theme="socialmedia"] .bg-fog-surface, |
|
[data-design-theme="socialmedia"] [class*="bg-fog-surface"] { |
|
color: #0f1419 !important; /* Dark text on white - excellent contrast (16.8:1) */ |
|
} |
|
|
|
/* socialmedia Theme - Banner Image Tinting */ |
|
[data-design-theme="socialmedia"] header img[src*="aither.png"], |
|
[data-design-theme="socialmedia"] header img[alt*="banner"], |
|
[data-design-theme="socialmedia"] header > div:first-child img { |
|
filter: sepia(0.2) saturate(1.1) hue-rotate(180deg) brightness(1.05) !important; /* Cool blue tint */ |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark header img[src*="aither.png"], |
|
[data-design-theme="socialmedia"].dark header img[alt*="banner"], |
|
[data-design-theme="socialmedia"].dark header > div:first-child img { |
|
filter: sepia(0.3) saturate(1.2) hue-rotate(180deg) brightness(0.85) contrast(1.1) !important; /* Stronger blue tint for dark mode */ |
|
} |
|
|
|
/* socialmedia Theme - Button Styles */ |
|
[data-design-theme="socialmedia"] .toggle-button, |
|
[data-design-theme="socialmedia"] .option-button, |
|
[data-design-theme="socialmedia"] .action-button, |
|
[data-design-theme="socialmedia"] .back-button, |
|
[data-design-theme="socialmedia"] .write-button { |
|
border-radius: 9999px !important; |
|
font-weight: 700 !important; |
|
transition: all 0.2s ease !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"] .toggle-button:hover, |
|
[data-design-theme="socialmedia"] .option-button:hover, |
|
[data-design-theme="socialmedia"] .action-button:hover, |
|
[data-design-theme="socialmedia"] .back-button:hover, |
|
[data-design-theme="socialmedia"] .write-button:hover { |
|
background-color: rgba(15, 20, 25, 0.1) !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"] .toggle-button.active, |
|
[data-design-theme="socialmedia"] .option-button.active { |
|
background-color: #1d9bf0 !important; |
|
color: #ffffff !important; /* White text on blue for contrast */ |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark .toggle-button.active, |
|
[data-design-theme="socialmedia"].dark .option-button.active { |
|
background-color: #1d9bf0 !important; |
|
color: #ffffff !important; /* White text on blue */ |
|
} |
|
|
|
[data-design-theme="socialmedia"] .find-button, |
|
[data-design-theme="socialmedia"] .create-rss-button, |
|
[data-design-theme="socialmedia"] .edit-rss-button, |
|
[data-design-theme="socialmedia"] .bulk-action-button, |
|
[data-design-theme="socialmedia"] .load-more-button, |
|
[data-design-theme="socialmedia"] .clear-kind-button { |
|
border-radius: 9999px !important; |
|
font-weight: 700 !important; |
|
padding: 0.875rem 1.5rem !important; |
|
box-shadow: none !important; |
|
transition: all 0.2s ease !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"] .find-button:hover, |
|
[data-design-theme="socialmedia"] .create-rss-button:hover, |
|
[data-design-theme="socialmedia"] .edit-rss-button:hover, |
|
[data-design-theme="socialmedia"] .bulk-action-button:hover, |
|
[data-design-theme="socialmedia"] .load-more-button:hover, |
|
[data-design-theme="socialmedia"] .clear-kind-button:hover { |
|
opacity: 0.9 !important; |
|
transform: scale(1.02) !important; |
|
} |
|
|
|
/* socialmedia Theme - Navigation Styles */ |
|
[data-design-theme="socialmedia"] nav { |
|
border-bottom: 1px solid #eff3f4 !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"] nav a { |
|
font-weight: 700 !important; |
|
border-radius: 9999px !important; |
|
padding: 0.5rem 1rem !important; |
|
transition: all 0.2s ease !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"] nav a:hover { |
|
background-color: rgba(15, 20, 25, 0.1) !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"] nav a.nav-brand { |
|
font-size: 1.25rem !important; |
|
} |
|
|
|
/* socialmedia Theme - Tab Buttons */ |
|
[data-design-theme="socialmedia"] .tab-button { |
|
border-radius: 9999px !important; |
|
font-weight: 700 !important; |
|
padding: 0.75rem 1.25rem !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"] .tab-button:hover { |
|
background-color: rgba(15, 20, 25, 0.1) !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"] .tab-button.active { |
|
background-color: rgba(29, 155, 240, 0.1) !important; |
|
color: #1d9bf0 !important; |
|
border-bottom: none !important; |
|
} |
|
|
|
/* socialmedia Theme - Form Elements */ |
|
[data-design-theme="socialmedia"] .filter-select, |
|
[data-design-theme="socialmedia"] .filter-input { |
|
border-radius: 4px !important; |
|
border: 1px solid #eff3f4 !important; |
|
font-weight: 400 !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"] .filter-select:focus, |
|
[data-design-theme="socialmedia"] .filter-input:focus { |
|
border-color: #1d9bf0 !important; |
|
box-shadow: 0 0 0 2px rgba(29, 155, 240, 0.1) !important; |
|
outline: none !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark .bg-fog-bg, |
|
[data-design-theme="socialmedia"].dark .bg-fog-surface, |
|
[data-design-theme="socialmedia"].dark [class*="bg-fog-"]:not([class*="bg-fog-post"]) { |
|
background-color: #000000 !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark .bg-fog-post, |
|
[data-design-theme="socialmedia"].dark [class*="bg-fog-post"] { |
|
background-color: #16181c !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark .text-fog-text, |
|
[data-design-theme="socialmedia"].dark [class*="text-fog-text"]:not([class*="text-fog-text-light"]):not([class*="text-fog-accent"]) { |
|
color: #e7e9ea !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark .text-fog-text-light, |
|
[data-design-theme="socialmedia"].dark [class*="text-fog-text-light"] { |
|
color: #8b98a5 !important; /* Improved contrast: 4.8:1 on black (was 3.5:1) */ |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark .border-fog-border, |
|
[data-design-theme="socialmedia"].dark [class*="border-fog-border"] { |
|
border-color: #2f3336 !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark .bg-fog-highlight, |
|
[data-design-theme="socialmedia"].dark [class*="bg-fog-highlight"], |
|
[data-design-theme="socialmedia"].dark [class*="hover:bg-fog-highlight"]:hover { |
|
background-color: #16181c !important; |
|
} |
|
|
|
/* Ensure text on dark highlight has good contrast */ |
|
[data-design-theme="socialmedia"].dark .bg-fog-highlight, |
|
[data-design-theme="socialmedia"].dark [class*="bg-fog-highlight"] { |
|
color: #e7e9ea !important; /* Light text on dark highlight */ |
|
} |
|
|
|
/* socialmedia dark mode accent colors */ |
|
[data-design-theme="socialmedia"].dark .text-fog-accent, |
|
[data-design-theme="socialmedia"].dark [class*="text-fog-accent"]:not([class*="bg-fog-accent"]) { |
|
color: #4fc3f7 !important; /* Lighter blue for better contrast on dark: 4.2:1 */ |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark .bg-fog-accent, |
|
[data-design-theme="socialmedia"].dark [class*="bg-fog-accent"] { |
|
background-color: #1d9bf0 !important; |
|
color: #ffffff !important; /* White text on blue */ |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark [class*="hover:text-fog-accent"]:hover { |
|
color: #4fc3f7 !important; /* Better contrast on dark */ |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark body { |
|
background-color: #000000 !important; |
|
color: #e7e9ea !important; |
|
} |
|
|
|
/* socialmedia dark - Ensure text on post/surface backgrounds has good contrast */ |
|
[data-design-theme="socialmedia"].dark .bg-fog-post, |
|
[data-design-theme="socialmedia"].dark [class*="bg-fog-post"] { |
|
color: #e7e9ea !important; /* Light text on dark post - excellent contrast (6.8:1) */ |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark .bg-fog-surface, |
|
[data-design-theme="socialmedia"].dark [class*="bg-fog-surface"] { |
|
color: #e7e9ea !important; /* Light text on black surface - excellent contrast (15.8:1) */ |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark nav { |
|
border-bottom-color: #2f3336 !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark nav a:hover { |
|
background-color: rgba(231, 233, 234, 0.1) !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark .toggle-button:hover, |
|
[data-design-theme="socialmedia"].dark .option-button:hover, |
|
[data-design-theme="socialmedia"].dark .action-button:hover, |
|
[data-design-theme="socialmedia"].dark .back-button:hover, |
|
[data-design-theme="socialmedia"].dark .write-button:hover { |
|
background-color: rgba(231, 233, 234, 0.1) !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark .tab-button:hover { |
|
background-color: rgba(231, 233, 234, 0.1) !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark .tab-button.active { |
|
background-color: rgba(29, 155, 240, 0.1) !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark .filter-select, |
|
[data-design-theme="socialmedia"].dark .filter-input { |
|
border-color: #2f3336 !important; |
|
} |
|
|
|
[data-design-theme="socialmedia"].dark .filter-select:focus, |
|
[data-design-theme="socialmedia"].dark .filter-input:focus { |
|
border-color: #1d9bf0 !important; |
|
} |
|
|
|
/* Fog aesthetic base styles */ |
|
.bg-fog { |
|
background-color: #f1f5f9; |
|
} |
|
|
|
.dark .bg-fog { |
|
background-color: #0f172a; |
|
} |
|
|
|
.bg-fog-surface { |
|
background-color: #f8fafc; |
|
} |
|
|
|
.dark .bg-fog-surface { |
|
background-color: #1e293b; |
|
} |
|
|
|
/* Ensure all UI elements respect dark/light mode regardless of design theme */ |
|
/* Cards, menus, modals, embedded events should use dark backgrounds in dark mode */ |
|
/* This is the default for fog theme - theme-specific rules below will override */ |
|
.dark .bg-fog-post, |
|
.dark [class*="bg-fog-post"], |
|
.dark .bg-fog-surface, |
|
.dark [class*="bg-fog-surface"] { |
|
background-color: var(--fog-dark-post, #334155) !important; |
|
} |
|
|
|
/* Fog theme dark mode - explicit override to ensure it works */ |
|
.dark [data-design-theme="fog"] .bg-fog-post, |
|
.dark [data-design-theme="fog"] [class*="bg-fog-post"] { |
|
background-color: #334155 !important; /* fog-dark-post */ |
|
} |
|
|
|
.dark [data-design-theme="fog"] .bg-fog-surface, |
|
.dark [data-design-theme="fog"] [class*="bg-fog-surface"] { |
|
background-color: #1e293b !important; /* fog-dark-surface */ |
|
} |
|
|
|
/* Fix CSS custom properties that use white fallbacks - set dark values in dark mode */ |
|
.dark { |
|
--fog-post: #334155; |
|
--fog-surface: #1e293b; |
|
--fog-bg: #0f172a; |
|
} |
|
|
|
/* Ensure navigation bar is dark in dark mode for fog theme */ |
|
.dark [data-design-theme="fog"] nav, |
|
.dark [data-design-theme="fog"] nav.bg-fog-surface, |
|
.dark nav.bg-fog-surface, |
|
.dark nav { |
|
background-color: #1e293b !important; /* fog-dark-surface */ |
|
} |
|
|
|
/* Force dark backgrounds for elements that might have inline styles with white fallbacks */ |
|
.dark [style*="var(--fog-post"] { |
|
background: var(--fog-dark-post, #334155) !important; |
|
background-color: var(--fog-dark-post, #334155) !important; |
|
} |
|
|
|
.dark [style*="var(--fog-surface"] { |
|
background: var(--fog-dark-surface, #1e293b) !important; |
|
background-color: var(--fog-dark-surface, #1e293b) !important; |
|
} |
|
|
|
.dark [style*="var(--fog-bg"] { |
|
background: var(--fog-dark-bg, #0f172a) !important; |
|
background-color: var(--fog-dark-bg, #0f172a) !important; |
|
} |
|
|
|
/* Catch any remaining white backgrounds in dark mode for fog theme */ |
|
.dark [data-design-theme="fog"] [style*="#ffffff"], |
|
.dark [data-design-theme="fog"] [style*="#fff"], |
|
.dark [data-design-theme="fog"] [style*="background: #ffffff"], |
|
.dark [data-design-theme="fog"] [style*="background-color: #ffffff"] { |
|
background: var(--fog-dark-post, #334155) !important; |
|
background-color: var(--fog-dark-post, #334155) !important; |
|
} |
|
|
|
|
|
/* Light mode - ensure light backgrounds */ |
|
:not(.dark) .bg-fog-post, |
|
:not(.dark) [class*="bg-fog-post"], |
|
:not(.dark) .bg-fog-surface, |
|
:not(.dark) [class*="bg-fog-surface"] { |
|
background-color: var(--fog-post, #ffffff) !important; |
|
} |
|
|
|
|
|
/* Override theme-specific backgrounds when dark mode is active */ |
|
/* Fog theme dark mode body background */ |
|
.dark [data-design-theme="fog"] body { |
|
background-color: #0f172a !important; /* fog-dark-bg */ |
|
} |
|
|
|
/* Ensure preference-section elements have dark backgrounds in dark mode */ |
|
.dark .preference-section, |
|
.dark [class*="preference-section"] { |
|
background-color: var(--fog-dark-post, #334155) !important; |
|
border-color: var(--fog-dark-border, #475569) !important; |
|
color: var(--fog-dark-text, #cbd5e1) !important; |
|
} |
|
|
|
/* Theme-specific preference-section backgrounds */ |
|
.dark [data-design-theme="forum"] .preference-section, |
|
.dark [data-design-theme="forum"] [class*="preference-section"] { |
|
background-color: #1a1a1b !important; |
|
border-color: #343536 !important; |
|
color: #d7dadc !important; |
|
} |
|
|
|
.dark [data-design-theme="socialmedia"] .preference-section, |
|
.dark [data-design-theme="socialmedia"] [class*="preference-section"] { |
|
background-color: #16181c !important; |
|
border-color: #2f3336 !important; |
|
color: #e7e9ea !important; |
|
} |
|
|
|
.dark [data-design-theme="terminal"] .preference-section, |
|
.dark [data-design-theme="terminal"] [class*="preference-section"], |
|
[data-design-theme="terminal"] .preference-section, |
|
[data-design-theme="terminal"] [class*="preference-section"] { |
|
background-color: #000000 !important; |
|
border-color: #00ff00 !important; |
|
color: #00ff00 !important; |
|
} |
|
|
|
/* Disabled toggle button styling */ |
|
.toggle-button:disabled { |
|
opacity: 0.6 !important; |
|
cursor: not-allowed !important; |
|
pointer-events: none !important; |
|
} |
|
|
|
[data-design-theme="terminal"] .toggle-button:disabled { |
|
opacity: 0.5 !important; |
|
border-color: #00cc00 !important; |
|
color: #00cc00 !important; |
|
} |
|
|
|
/* Forum theme - dark mode */ |
|
.dark [data-design-theme="forum"] .bg-fog-post, |
|
.dark [data-design-theme="forum"] [class*="bg-fog-post"], |
|
.dark [data-design-theme="forum"] .bg-fog-surface, |
|
.dark [data-design-theme="forum"] [class*="bg-fog-surface"] { |
|
background-color: #1a1a1b !important; |
|
} |
|
|
|
.dark [data-design-theme="socialmedia"] .bg-fog-post, |
|
.dark [data-design-theme="socialmedia"] [class*="bg-fog-post"], |
|
.dark [data-design-theme="socialmedia"] .bg-fog-surface, |
|
.dark [data-design-theme="socialmedia"] [class*="bg-fog-surface"] { |
|
background-color: #16181c !important; |
|
} |
|
|
|
/* Terminal theme - dark mode (always dark) */ |
|
.dark [data-design-theme="terminal"] .bg-fog-post, |
|
.dark [data-design-theme="terminal"] [class*="bg-fog-post"], |
|
.dark [data-design-theme="terminal"] .bg-fog-surface, |
|
.dark [data-design-theme="terminal"] [class*="bg-fog-surface"], |
|
.dark [data-design-theme="terminal"] .bg-fog-bg, |
|
.dark [data-design-theme="terminal"] [class*="bg-fog-bg"], |
|
.dark [data-design-theme="terminal"] body, |
|
.dark [data-design-theme="terminal"] main, |
|
.dark [data-design-theme="terminal"] article, |
|
.dark [data-design-theme="terminal"] section { |
|
background-color: #000000 !important; |
|
color: #00ff00 !important; |
|
} |
|
|
|
/* Light mode overrides for theme-specific backgrounds */ |
|
:not(.dark) [data-design-theme="forum"] .bg-fog-post, |
|
:not(.dark) [data-design-theme="forum"] [class*="bg-fog-post"], |
|
:not(.dark) [data-design-theme="forum"] .bg-fog-surface, |
|
:not(.dark) [data-design-theme="forum"] [class*="bg-fog-surface"] { |
|
background-color: #ffffff !important; |
|
} |
|
|
|
:not(.dark) [data-design-theme="socialmedia"] .bg-fog-post, |
|
:not(.dark) [data-design-theme="socialmedia"] [class*="bg-fog-post"], |
|
:not(.dark) [data-design-theme="socialmedia"] .bg-fog-surface, |
|
:not(.dark) [data-design-theme="socialmedia"] [class*="bg-fog-surface"] { |
|
background-color: #ffffff !important; |
|
} |
|
|
|
/* Terminal theme - force dark backgrounds everywhere, even in light mode */ |
|
:not(.dark) [data-design-theme="terminal"] .bg-fog-post, |
|
:not(.dark) [data-design-theme="terminal"] [class*="bg-fog-post"], |
|
:not(.dark) [data-design-theme="terminal"] .bg-fog-surface, |
|
:not(.dark) [data-design-theme="terminal"] [class*="bg-fog-surface"], |
|
:not(.dark) [data-design-theme="terminal"] .bg-fog-bg, |
|
:not(.dark) [data-design-theme="terminal"] [class*="bg-fog-bg"], |
|
:not(.dark) [data-design-theme="terminal"] body, |
|
:not(.dark) [data-design-theme="terminal"] main, |
|
:not(.dark) [data-design-theme="terminal"] article, |
|
:not(.dark) [data-design-theme="terminal"] section { |
|
background-color: #000000 !important; /* Terminal is always dark */ |
|
color: #00ff00 !important; /* Green text */ |
|
} |
|
|
|
/* Ensure modals, menus, dropdowns, and embedded events respect dark/light mode */ |
|
/* Only target specific classes, not broad patterns that might match unintended elements */ |
|
.dark .modal-content { |
|
background-color: var(--fog-dark-post, #334155) !important; |
|
color: var(--fog-dark-text, #cbd5e1) !important; |
|
} |
|
|
|
:not(.dark) .modal-content { |
|
background-color: var(--fog-post, #ffffff) !important; |
|
color: var(--fog-text, #475569) !important; |
|
} |
|
|
|
/* Theme-specific overrides for modals and menus */ |
|
.dark [data-design-theme="forum"] .modal-content, |
|
.dark [data-design-theme="forum"] [class*="modal"], |
|
.dark [data-design-theme="forum"] [class*="menu"], |
|
.dark [data-design-theme="forum"] [class*="card"] { |
|
background-color: #1a1a1b !important; |
|
color: #d7dadc !important; |
|
} |
|
|
|
:not(.dark) [data-design-theme="forum"] .modal-content, |
|
:not(.dark) [data-design-theme="forum"] [class*="modal"], |
|
:not(.dark) [data-design-theme="forum"] [class*="menu"], |
|
:not(.dark) [data-design-theme="forum"] [class*="card"] { |
|
background-color: #ffffff !important; |
|
color: #1c1c1c !important; |
|
} |
|
|
|
.dark [data-design-theme="socialmedia"] .modal-content, |
|
.dark [data-design-theme="socialmedia"] [class*="modal"], |
|
.dark [data-design-theme="socialmedia"] [class*="menu"], |
|
.dark [data-design-theme="socialmedia"] [class*="card"] { |
|
background-color: #16181c !important; |
|
color: #e7e9ea !important; |
|
} |
|
|
|
:not(.dark) [data-design-theme="socialmedia"] .modal-content, |
|
:not(.dark) [data-design-theme="socialmedia"] [class*="modal"], |
|
:not(.dark) [data-design-theme="socialmedia"] [class*="menu"], |
|
:not(.dark) [data-design-theme="socialmedia"] [class*="card"] { |
|
background-color: #ffffff !important; |
|
color: #0f1419 !important; |
|
} |
|
|
|
/* Terminal theme - always dark for all UI elements */ |
|
.dark [data-design-theme="terminal"] .modal-content, |
|
.dark [data-design-theme="terminal"] [class*="modal"], |
|
.dark [data-design-theme="terminal"] [class*="menu"], |
|
.dark [data-design-theme="terminal"] [class*="card"], |
|
.dark [data-design-theme="terminal"] [class*="embedded"], |
|
.dark [data-design-theme="terminal"] [class*="drawer"], |
|
.dark [data-design-theme="terminal"] [class*="panel"], |
|
[data-design-theme="terminal"] .modal-content, |
|
[data-design-theme="terminal"] [class*="modal"], |
|
[data-design-theme="terminal"] [class*="menu"], |
|
[data-design-theme="terminal"] [class*="card"], |
|
[data-design-theme="terminal"] [class*="embedded"], |
|
[data-design-theme="terminal"] [class*="drawer"], |
|
[data-design-theme="terminal"] [class*="panel"], |
|
:not(.dark) [data-design-theme="terminal"] .modal-content, |
|
:not(.dark) [data-design-theme="terminal"] [class*="modal"], |
|
:not(.dark) [data-design-theme="terminal"] [class*="menu"], |
|
:not(.dark) [data-design-theme="terminal"] [class*="card"], |
|
:not(.dark) [data-design-theme="terminal"] [class*="embedded"], |
|
:not(.dark) [data-design-theme="terminal"] [class*="drawer"], |
|
:not(.dark) [data-design-theme="terminal"] [class*="panel"] { |
|
background-color: #000000 !important; |
|
color: #00ff00 !important; |
|
text-shadow: 0 0 3px rgba(0, 255, 0, 0.6) !important; |
|
} |
|
|
|
/* Profile pictures - display in full color */ |
|
/* Profile pictures - all instances */ |
|
img.profile-picture, |
|
.profile-badge img, |
|
.profile-picture, |
|
img[alt*="profile" i], |
|
img[alt*="avatar" i], |
|
img[src*="avatar" i], |
|
img[src*="profile" i] { |
|
/* No grayscale filter - profile pictures should be in full color */ |
|
} |
|
|
|
/* Emoji images - no grayscale filter, display in full color */ |
|
/* Only apply to actual image elements, not text emojis */ |
|
img[alt*="emoji" i], |
|
img[src*="emoji" i], |
|
img.emoji-inline { |
|
display: inline-block; |
|
/* No grayscale filter - emojis should be in full color */ |
|
} |
|
|
|
/* Ensure normal Unicode emojis (text characters) are displayed correctly */ |
|
/* Monospace font is already applied globally via body and * { font-family: inherit } */ |
|
/* Emojis will still display correctly in monospace fonts */ |
|
|
|
/* Emoji picker buttons - apply grayscale filter to buttons that open the picker */ |
|
/* But NOT to emojis inside the picker drawer or rendered content */ |
|
.toolbar-button, |
|
.reaction-btn.heart-btn { |
|
filter: grayscale(100%) sepia(15%) hue-rotate(200deg) saturate(60%) brightness(0.95); |
|
} |
|
|
|
.dark .toolbar-button, |
|
.dark .reaction-btn.heart-btn { |
|
filter: grayscale(100%) sepia(20%) hue-rotate(200deg) saturate(70%) brightness(0.9); |
|
} |
|
|
|
/* Override: emojis in picker drawer should be full color */ |
|
.emoji-drawer *, |
|
.emoji-picker * { |
|
filter: none !important; |
|
} |
|
|
|
/* Override: emojis in rendered content should be full color */ |
|
.markdown-content *, |
|
.post-content *, |
|
.reaction-display * { |
|
filter: none !important; |
|
} |
|
|
|
/* Content images should be prominent - no grayscale filters */ |
|
.markdown-content img, |
|
.markdown-content video, |
|
.markdown-content audio, |
|
.anon-content img { |
|
filter: none !important; |
|
} |
|
|
|
/* Responsive images and media - max 600px, scale down on smaller screens */ |
|
/* Exclude profile pictures, avatars, and emoji images from responsive sizing */ |
|
img:not(.profile-picture):not([alt*="profile" i]):not([alt*="avatar" i]):not([src*="avatar" i]):not([src*="profile" i]):not(.relay-icon):not(.relay-favorite-pic):not(.emoji-inline):not(.avatar), |
|
video, |
|
audio { |
|
max-width: 600px !important; |
|
width: 100% !important; |
|
height: auto !important; |
|
display: block; |
|
} |
|
|
|
/* Ensure media in markdown content is responsive */ |
|
/* Exclude profile pictures, avatars, and emoji images from responsive sizing - they should maintain their fixed size */ |
|
.markdown-content img:not(.profile-picture):not([class*="profile"]):not(.emoji-inline):not(.avatar), |
|
.markdown-content video, |
|
.markdown-content audio, |
|
.post-content img:not(.profile-picture):not([class*="profile"]):not(.emoji-inline):not(.avatar), |
|
.post-content video, |
|
.post-content audio { |
|
max-width: 600px; |
|
width: 100%; |
|
height: auto; |
|
display: block; |
|
} |
|
|
|
/* Ensure avatars in mentions autocomplete are not affected by responsive image styles */ |
|
.mentions-autocomplete img.avatar, |
|
.mentions-autocomplete .avatar { |
|
width: 1.25rem !important; |
|
height: 1.25rem !important; |
|
min-width: 1.25rem !important; |
|
min-height: 1.25rem !important; |
|
max-width: 1.25rem !important; |
|
max-height: 1.25rem !important; |
|
aspect-ratio: 1 / 1 !important; |
|
border-radius: 50% !important; |
|
object-fit: cover !important; |
|
flex-shrink: 0 !important; |
|
display: block !important; |
|
} |
|
|
|
/* Media gallery items should also be responsive */ |
|
.media-gallery img, |
|
.media-gallery video { |
|
max-width: 100%; |
|
width: 100%; |
|
height: auto; |
|
} |
|
|
|
/* Cover images should be responsive */ |
|
.cover-image img { |
|
max-width: 600px; |
|
width: 100%; |
|
height: auto; |
|
} |
|
|
|
/* Audio players should be full width but constrained */ |
|
audio { |
|
max-width: 600px; |
|
width: 100%; |
|
} |
|
|
|
@media (prefers-reduced-motion: reduce) { |
|
*, |
|
*::before, |
|
*::after { |
|
animation-duration: 0.01ms !important; |
|
animation-iteration-count: 1 !important; |
|
transition-duration: 0.01ms !important; |
|
} |
|
}
|
|
|