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

/* 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;
}
}