/* 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: 16px; --line-height: 1.6; --content-width: 800px; } [data-text-size='small'] { --text-size: 14px; } [data-text-size='medium'] { --text-size: 16px; } [data-text-size='large'] { --text-size: 18px; } [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; } body { font-size: var(--text-size); line-height: var(--line-height); background-color: #f1f5f9; color: #475569; /* WCAG AA compliant: 5.2:1 contrast ratio */ transition: background-color 0.3s ease, color 0.3s ease; } /* Dark mode body styles */ .dark body { background-color: #0f172a; color: #cbd5e1; /* WCAG AA compliant: 13.5:1 contrast ratio */ } /* 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; } /* Anon aesthetic: Grayscale with blue tinge for profile pics and emojis */ /* Profile pictures - all instances */ .profile-picture, .profile-badge img, img[alt*="profile" i], img[alt*="avatar" i], img[src*="avatar" i], img[src*="profile" i] { filter: grayscale(100%) sepia(15%) hue-rotate(200deg) saturate(60%) brightness(0.95); transition: filter 0.3s ease; } .dark .profile-picture, .dark .profile-badge img, .dark img[alt*="profile" i], .dark img[alt*="avatar" i], .dark img[src*="avatar" i], .dark img[src*="profile" i] { filter: grayscale(100%) sepia(20%) hue-rotate(200deg) saturate(70%) brightness(0.9); } /* Emoji images - grayscale like profile pics */ .emoji, [class*="emoji"], img[alt*="emoji" i], img[src*="emoji" i] { filter: grayscale(100%) sepia(15%) hue-rotate(200deg) saturate(60%) brightness(0.95); display: inline-block; } .dark .emoji, .dark [class*="emoji"], .dark img[alt*="emoji" i], .dark img[src*="emoji" i] { filter: grayscale(100%) sepia(20%) hue-rotate(200deg) saturate(70%) brightness(0.9); } /* Apply grayscale filter to reaction buttons containing emojis */ .reaction-btn, .kind1-reaction-buttons button { filter: grayscale(100%) sepia(15%) hue-rotate(200deg) saturate(60%) brightness(0.95); } .dark .reaction-btn, .dark .kind1-reaction-buttons button { filter: grayscale(100%) sepia(20%) hue-rotate(200deg) saturate(70%) brightness(0.9); } /* Apply to all images in markdown content */ .markdown-content img, .anon-content img { filter: grayscale(100%) sepia(15%) hue-rotate(200deg) saturate(60%) brightness(0.95); } .dark .markdown-content img, .dark .anon-content img { filter: grayscale(100%) sepia(20%) hue-rotate(200deg) saturate(70%) brightness(0.9); } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } }