- Enhance fetchWithAuth with auto-401, retry w/ exponential backoff, timeout - Remove ~40 manual 401 checks across 10 feature files - Fix state: brightness cache setter, manual edit flag resets, static import - Add ARIA: role=dialog/tablist, aria-modal, aria-labelledby, aria-selected - Add focus trapping in Modal base class, aria-expanded on hint toggles - Fix WCAG AA color contrast with --primary-text-color variable - Add i18n pluralization (CLDR rules for en/ru), getCurrentLocale export - Replace hardcoded strings in dashboard.js and profiles.js - Add data-i18n-aria-label support, 20 new keys in en.json and ru.json Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
64 lines
1.2 KiB
CSS
64 lines
1.2 KiB
CSS
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
:root {
|
|
--primary-color: #4CAF50;
|
|
--danger-color: #f44336;
|
|
--warning-color: #ff9800;
|
|
--info-color: #2196F3;
|
|
}
|
|
|
|
/* Dark theme (default) */
|
|
[data-theme="dark"] {
|
|
--bg-color: #1a1a1a;
|
|
--card-bg: #2d2d2d;
|
|
--text-color: #e0e0e0;
|
|
--border-color: #404040;
|
|
--display-badge-bg: rgba(0, 0, 0, 0.4);
|
|
--primary-text-color: #66bb6a;
|
|
color-scheme: dark;
|
|
}
|
|
|
|
/* Light theme */
|
|
[data-theme="light"] {
|
|
--bg-color: #f5f5f5;
|
|
--card-bg: #ffffff;
|
|
--text-color: #333333;
|
|
--border-color: #e0e0e0;
|
|
--display-badge-bg: rgba(255, 255, 255, 0.85);
|
|
--primary-text-color: #3d8b40;
|
|
color-scheme: light;
|
|
}
|
|
|
|
/* Default to dark theme */
|
|
body {
|
|
background: var(--bg-color);
|
|
color: var(--text-color);
|
|
}
|
|
|
|
html {
|
|
background: var(--bg-color);
|
|
overflow-y: scroll;
|
|
}
|
|
|
|
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
|
|
background: var(--bg-color);
|
|
color: var(--text-color);
|
|
line-height: 1.6;
|
|
}
|
|
|
|
body.modal-open {
|
|
position: fixed;
|
|
width: 100%;
|
|
}
|
|
|
|
.container {
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
padding: 20px;
|
|
}
|