kimu-core 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +116 -30
- package/.gitattributes +81 -11
- package/.github/FUNDING.yml +8 -8
- package/.github/kimu-copilot-instructions.md +3779 -3779
- package/.github/workflows/deploy-demo.yml +39 -39
- package/.nvmrc +1 -0
- package/.prettierignore +44 -0
- package/.prettierrc +16 -0
- package/FUNDING.md +31 -31
- package/icon.svg +10 -10
- package/kimu-core-0.5.0.tgz +0 -0
- package/package.json +10 -3
- package/scripts/minify-css-assets.js +82 -82
- package/src/core/index.ts +47 -47
- package/src/core/kimu-global-styles.ts +136 -136
- package/src/core/kimu-reactive.ts +196 -196
- package/src/extensions/{kimu-home → app-root}/component.ts +5 -5
- package/src/extensions/extensions-manifest.json +4 -4
- package/src/main.ts +3 -3
- package/src/modules-repository/api-axios/CHANGELOG.md +48 -48
- package/src/modules-repository/api-axios/QUICK-REFERENCE.md +178 -178
- package/src/modules-repository/api-axios/README.md +304 -304
- package/src/modules-repository/api-axios/api-axios-service.ts +355 -355
- package/src/modules-repository/api-axios/examples.ts +293 -293
- package/src/modules-repository/api-axios/index.ts +19 -19
- package/src/modules-repository/api-axios/interfaces.ts +71 -71
- package/src/modules-repository/api-axios/module.ts +41 -41
- package/src/modules-repository/api-core/CHANGELOG.md +42 -42
- package/src/modules-repository/api-core/QUICK-REFERENCE.md +192 -192
- package/src/modules-repository/api-core/README.md +435 -435
- package/src/modules-repository/api-core/api-core-service.ts +289 -289
- package/src/modules-repository/api-core/examples.ts +432 -432
- package/src/modules-repository/api-core/index.ts +8 -8
- package/src/modules-repository/api-core/interfaces.ts +83 -83
- package/src/modules-repository/api-core/module.ts +30 -30
- package/src/modules-repository/event-bus/README.md +273 -273
- package/src/modules-repository/event-bus/event-bus-service.ts +176 -176
- package/src/modules-repository/event-bus/module.ts +30 -30
- package/src/modules-repository/notification/README.md +423 -423
- package/src/modules-repository/notification/module.ts +30 -30
- package/src/modules-repository/notification/notification-service.ts +436 -436
- package/src/modules-repository/router/README.it.md +61 -10
- package/src/modules-repository/router/README.md +61 -10
- package/src/modules-repository/router/router-config.ts.example +61 -0
- package/src/modules-repository/router/router.ts +18 -0
- package/src/modules-repository/state/README.md +409 -409
- package/src/modules-repository/state/module.ts +30 -30
- package/src/modules-repository/state/state-service.ts +296 -296
- package/src/modules-repository/theme/README.md +311 -267
- package/src/modules-repository/theme/module.ts +30 -30
- package/src/modules-repository/theme/pre-build.js +40 -40
- package/src/modules-repository/theme/theme-service.ts +411 -389
- package/src/modules-repository/theme/themes/theme-cherry-blossom.css +78 -78
- package/src/modules-repository/theme/themes/theme-cozy.css +111 -111
- package/src/modules-repository/theme/themes/theme-cyberpunk.css +150 -150
- package/src/modules-repository/theme/themes/theme-dark.css +79 -79
- package/src/modules-repository/theme/themes/theme-forest.css +171 -171
- package/src/modules-repository/theme/themes/theme-gold.css +100 -100
- package/src/modules-repository/theme/themes/theme-high-contrast.css +126 -126
- package/src/modules-repository/theme/themes/theme-lava.css +101 -101
- package/src/modules-repository/theme/themes/theme-lavender.css +90 -90
- package/src/modules-repository/theme/themes/theme-light.css +79 -79
- package/src/modules-repository/theme/themes/theme-matrix.css +103 -103
- package/src/modules-repository/theme/themes/theme-midnight.css +81 -81
- package/src/modules-repository/theme/themes/theme-nord.css +94 -94
- package/src/modules-repository/theme/themes/theme-ocean.css +84 -84
- package/src/modules-repository/theme/themes/theme-retro80s.css +343 -343
- package/src/modules-repository/theme/themes/theme-sunset.css +62 -62
- package/src/modules-repository/theme/themes-config-default.json +19 -0
- package/src/modules-repository/theme/themes-config.d.ts +27 -27
- package/src/modules-repository/theme/{themes-config.json → themes-config.json.example} +223 -213
- /package/src/extensions/{kimu-home → app-root}/lang/en.json +0 -0
- /package/src/extensions/{kimu-home → app-root}/lang/it.json +0 -0
- /package/src/extensions/{kimu-home → app-root}/style.css +0 -0
- /package/src/extensions/{kimu-home → app-root}/view.html +0 -0
|
@@ -1,100 +1,100 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gold Theme - Elegant gold and luxury colors
|
|
3
|
-
* A premium theme with golden accents
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
:root {
|
|
7
|
-
/* Main colors */
|
|
8
|
-
--kimu-background: linear-gradient(135deg, #1A1410 0%, #2A2218 50%, #3A3020 100%);
|
|
9
|
-
--kimu-surface: rgba(218, 165, 32, 0.1);
|
|
10
|
-
--kimu-surface-elevated: rgba(218, 165, 32, 0.15);
|
|
11
|
-
|
|
12
|
-
/* Text colors */
|
|
13
|
-
--kimu-text-primary: #FFD700;
|
|
14
|
-
--kimu-text-secondary: #F0C85B;
|
|
15
|
-
--kimu-text-tertiary: #D4AF37;
|
|
16
|
-
--kimu-text-disabled: #B8941F;
|
|
17
|
-
|
|
18
|
-
/* Border colors */
|
|
19
|
-
--kimu-border: #DAA520;
|
|
20
|
-
--kimu-border-light: #FFD700;
|
|
21
|
-
--kimu-divider: rgba(218, 165, 32, 0.3);
|
|
22
|
-
|
|
23
|
-
/* Accent colors */
|
|
24
|
-
--kimu-primary: #FFD700;
|
|
25
|
-
--kimu-primary-dark: #DAA520;
|
|
26
|
-
--kimu-primary-light: #FFEC8B;
|
|
27
|
-
--kimu-secondary: #F0C85B;
|
|
28
|
-
--kimu-accent: #FFE55C;
|
|
29
|
-
|
|
30
|
-
/* State colors */
|
|
31
|
-
--kimu-success: #90EE90;
|
|
32
|
-
--kimu-warning: #FFA500;
|
|
33
|
-
--kimu-error: #DC143C;
|
|
34
|
-
--kimu-info: #87CEEB;
|
|
35
|
-
|
|
36
|
-
/* Shadow */
|
|
37
|
-
--kimu-shadow: rgba(218, 165, 32, 0.4);
|
|
38
|
-
--kimu-shadow-strong: rgba(218, 165, 32, 0.7);
|
|
39
|
-
|
|
40
|
-
/* Component colors */
|
|
41
|
-
--kimu-input-bg: rgba(42, 34, 24, 0.7);
|
|
42
|
-
--kimu-input-border: #DAA520;
|
|
43
|
-
--kimu-button-bg: #FFD700;
|
|
44
|
-
--kimu-button-hover: #FFEC8B;
|
|
45
|
-
--kimu-card-bg: rgba(42, 34, 24, 0.9);
|
|
46
|
-
|
|
47
|
-
/* Font */
|
|
48
|
-
--kimu-font: 'Georgia', 'Times New Roman', serif;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/* Body background with gradient */
|
|
52
|
-
body {
|
|
53
|
-
background: linear-gradient(135deg, #1A1410 0%, #2A2218 50%, #3A3020 100%);
|
|
54
|
-
background-attachment: fixed;
|
|
55
|
-
color: var(--kimu-text-primary);
|
|
56
|
-
font-family: var(--kimu-font);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/* Gold shine animation */
|
|
60
|
-
@keyframes gold-shine {
|
|
61
|
-
0% {
|
|
62
|
-
background-position: -200% center;
|
|
63
|
-
}
|
|
64
|
-
100% {
|
|
65
|
-
background-position: 200% center;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/* Luxury glow effect */
|
|
70
|
-
button:hover,
|
|
71
|
-
a:hover {
|
|
72
|
-
box-shadow: 0 0 20px rgba(255, 215, 0, 0.6),
|
|
73
|
-
0 0 40px rgba(255, 215, 0, 0.3),
|
|
74
|
-
0 8px 24px rgba(0, 0, 0, 0.4);
|
|
75
|
-
text-shadow: 0 0 10px rgba(255, 215, 0, 0.8);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/* Elegant text shadow */
|
|
79
|
-
h1, h2, h3, h4, h5, h6 {
|
|
80
|
-
text-shadow: 0 2px 10px rgba(255, 215, 0, 0.5),
|
|
81
|
-
0 0 20px rgba(218, 165, 32, 0.3);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/* Sparkle effect */
|
|
85
|
-
body::after {
|
|
86
|
-
content: '';
|
|
87
|
-
position: fixed;
|
|
88
|
-
top: 0;
|
|
89
|
-
left: 0;
|
|
90
|
-
width: 100%;
|
|
91
|
-
height: 100%;
|
|
92
|
-
background-image:
|
|
93
|
-
radial-gradient(2px 2px at 15% 25%, rgba(255, 215, 0, 0.4), transparent),
|
|
94
|
-
radial-gradient(2px 2px at 75% 65%, rgba(255, 215, 0, 0.3), transparent),
|
|
95
|
-
radial-gradient(1px 1px at 45% 85%, rgba(255, 236, 139, 0.5), transparent),
|
|
96
|
-
radial-gradient(1px 1px at 85% 15%, rgba(218, 165, 32, 0.4), transparent);
|
|
97
|
-
background-size: 250px 250px, 300px 300px, 200px 200px, 280px 280px;
|
|
98
|
-
pointer-events: none;
|
|
99
|
-
z-index: 0;
|
|
100
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Gold Theme - Elegant gold and luxury colors
|
|
3
|
+
* A premium theme with golden accents
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
:root {
|
|
7
|
+
/* Main colors */
|
|
8
|
+
--kimu-background: linear-gradient(135deg, #1A1410 0%, #2A2218 50%, #3A3020 100%);
|
|
9
|
+
--kimu-surface: rgba(218, 165, 32, 0.1);
|
|
10
|
+
--kimu-surface-elevated: rgba(218, 165, 32, 0.15);
|
|
11
|
+
|
|
12
|
+
/* Text colors */
|
|
13
|
+
--kimu-text-primary: #FFD700;
|
|
14
|
+
--kimu-text-secondary: #F0C85B;
|
|
15
|
+
--kimu-text-tertiary: #D4AF37;
|
|
16
|
+
--kimu-text-disabled: #B8941F;
|
|
17
|
+
|
|
18
|
+
/* Border colors */
|
|
19
|
+
--kimu-border: #DAA520;
|
|
20
|
+
--kimu-border-light: #FFD700;
|
|
21
|
+
--kimu-divider: rgba(218, 165, 32, 0.3);
|
|
22
|
+
|
|
23
|
+
/* Accent colors */
|
|
24
|
+
--kimu-primary: #FFD700;
|
|
25
|
+
--kimu-primary-dark: #DAA520;
|
|
26
|
+
--kimu-primary-light: #FFEC8B;
|
|
27
|
+
--kimu-secondary: #F0C85B;
|
|
28
|
+
--kimu-accent: #FFE55C;
|
|
29
|
+
|
|
30
|
+
/* State colors */
|
|
31
|
+
--kimu-success: #90EE90;
|
|
32
|
+
--kimu-warning: #FFA500;
|
|
33
|
+
--kimu-error: #DC143C;
|
|
34
|
+
--kimu-info: #87CEEB;
|
|
35
|
+
|
|
36
|
+
/* Shadow */
|
|
37
|
+
--kimu-shadow: rgba(218, 165, 32, 0.4);
|
|
38
|
+
--kimu-shadow-strong: rgba(218, 165, 32, 0.7);
|
|
39
|
+
|
|
40
|
+
/* Component colors */
|
|
41
|
+
--kimu-input-bg: rgba(42, 34, 24, 0.7);
|
|
42
|
+
--kimu-input-border: #DAA520;
|
|
43
|
+
--kimu-button-bg: #FFD700;
|
|
44
|
+
--kimu-button-hover: #FFEC8B;
|
|
45
|
+
--kimu-card-bg: rgba(42, 34, 24, 0.9);
|
|
46
|
+
|
|
47
|
+
/* Font */
|
|
48
|
+
--kimu-font: 'Georgia', 'Times New Roman', serif;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* Body background with gradient */
|
|
52
|
+
body {
|
|
53
|
+
background: linear-gradient(135deg, #1A1410 0%, #2A2218 50%, #3A3020 100%);
|
|
54
|
+
background-attachment: fixed;
|
|
55
|
+
color: var(--kimu-text-primary);
|
|
56
|
+
font-family: var(--kimu-font);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* Gold shine animation */
|
|
60
|
+
@keyframes gold-shine {
|
|
61
|
+
0% {
|
|
62
|
+
background-position: -200% center;
|
|
63
|
+
}
|
|
64
|
+
100% {
|
|
65
|
+
background-position: 200% center;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* Luxury glow effect */
|
|
70
|
+
button:hover,
|
|
71
|
+
a:hover {
|
|
72
|
+
box-shadow: 0 0 20px rgba(255, 215, 0, 0.6),
|
|
73
|
+
0 0 40px rgba(255, 215, 0, 0.3),
|
|
74
|
+
0 8px 24px rgba(0, 0, 0, 0.4);
|
|
75
|
+
text-shadow: 0 0 10px rgba(255, 215, 0, 0.8);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/* Elegant text shadow */
|
|
79
|
+
h1, h2, h3, h4, h5, h6 {
|
|
80
|
+
text-shadow: 0 2px 10px rgba(255, 215, 0, 0.5),
|
|
81
|
+
0 0 20px rgba(218, 165, 32, 0.3);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/* Sparkle effect */
|
|
85
|
+
body::after {
|
|
86
|
+
content: '';
|
|
87
|
+
position: fixed;
|
|
88
|
+
top: 0;
|
|
89
|
+
left: 0;
|
|
90
|
+
width: 100%;
|
|
91
|
+
height: 100%;
|
|
92
|
+
background-image:
|
|
93
|
+
radial-gradient(2px 2px at 15% 25%, rgba(255, 215, 0, 0.4), transparent),
|
|
94
|
+
radial-gradient(2px 2px at 75% 65%, rgba(255, 215, 0, 0.3), transparent),
|
|
95
|
+
radial-gradient(1px 1px at 45% 85%, rgba(255, 236, 139, 0.5), transparent),
|
|
96
|
+
radial-gradient(1px 1px at 85% 15%, rgba(218, 165, 32, 0.4), transparent);
|
|
97
|
+
background-size: 250px 250px, 300px 300px, 200px 200px, 280px 280px;
|
|
98
|
+
pointer-events: none;
|
|
99
|
+
z-index: 0;
|
|
100
|
+
}
|
|
@@ -1,126 +1,126 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* High Contrast Theme - For accessibility
|
|
3
|
-
*
|
|
4
|
-
* Designed following WCAG AAA guidelines:
|
|
5
|
-
* - Contrast ratio ≥ 7:1 for normal text
|
|
6
|
-
* - Contrast ratio ≥ 4.5:1 for large text
|
|
7
|
-
* - Clear visual indicators for focus and active states
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
:root {
|
|
11
|
-
/* Primary Colors - Pure Black on White */
|
|
12
|
-
--kimu-primary: #0000FF;
|
|
13
|
-
--kimu-primary-hover: #0000CC;
|
|
14
|
-
--kimu-primary-active: #000099;
|
|
15
|
-
--kimu-primary-light: rgba(0, 0, 255, 0.15);
|
|
16
|
-
|
|
17
|
-
/* Secondary Colors - Dark Green */
|
|
18
|
-
--kimu-secondary: #006600;
|
|
19
|
-
--kimu-secondary-hover: #008800;
|
|
20
|
-
--kimu-secondary-active: #004400;
|
|
21
|
-
|
|
22
|
-
/* Accent Colors - Dark Purple */
|
|
23
|
-
--kimu-accent: #660099;
|
|
24
|
-
--kimu-accent-hover: #7700AA;
|
|
25
|
-
--kimu-accent-active: #550088;
|
|
26
|
-
|
|
27
|
-
/* Background Colors - Pure White */
|
|
28
|
-
--kimu-bg-primary: #FFFFFF;
|
|
29
|
-
--kimu-bg-secondary: #F5F5F5;
|
|
30
|
-
--kimu-bg-tertiary: #EBEBEB;
|
|
31
|
-
--kimu-bg-hover: #E0E0E0;
|
|
32
|
-
|
|
33
|
-
/* Text Colors - Pure Black */
|
|
34
|
-
--kimu-text-primary: #000000;
|
|
35
|
-
--kimu-text-secondary: #1A1A1A;
|
|
36
|
-
--kimu-text-tertiary: #333333;
|
|
37
|
-
--kimu-text-disabled: #666666;
|
|
38
|
-
|
|
39
|
-
/* Border Colors - Strong Contrast */
|
|
40
|
-
--kimu-border: #000000;
|
|
41
|
-
--kimu-border-light: #333333;
|
|
42
|
-
--kimu-border-strong: #000000;
|
|
43
|
-
|
|
44
|
-
/* Status Colors - High Contrast */
|
|
45
|
-
--kimu-success: #006600;
|
|
46
|
-
--kimu-warning: #CC6600;
|
|
47
|
-
--kimu-error: #CC0000;
|
|
48
|
-
--kimu-info: #0000CC;
|
|
49
|
-
|
|
50
|
-
/* Shadows - Stronger for visibility */
|
|
51
|
-
--kimu-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.5);
|
|
52
|
-
--kimu-shadow-md: 0 4px 8px rgba(0, 0, 0, 0.5);
|
|
53
|
-
--kimu-shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.5);
|
|
54
|
-
|
|
55
|
-
/* Additional Component-specific Colors */
|
|
56
|
-
--kimu-card-bg: var(--kimu-bg-primary);
|
|
57
|
-
--kimu-input-bg: #FFFFFF;
|
|
58
|
-
--kimu-input-border: #000000;
|
|
59
|
-
--kimu-input-focus: #0000FF;
|
|
60
|
-
|
|
61
|
-
/* Links - Underlined by default for accessibility */
|
|
62
|
-
--kimu-link: #0000FF;
|
|
63
|
-
--kimu-link-hover: #0000CC;
|
|
64
|
-
|
|
65
|
-
/* Overlays */
|
|
66
|
-
--kimu-overlay: rgba(0, 0, 0, 0.85);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/* High Contrast specific enhancements */
|
|
70
|
-
body {
|
|
71
|
-
color: var(--kimu-text-primary);
|
|
72
|
-
background: var(--kimu-bg-primary);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/* Ensure all links are underlined */
|
|
76
|
-
a {
|
|
77
|
-
text-decoration: underline;
|
|
78
|
-
font-weight: bold;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/* Strong focus indicators */
|
|
82
|
-
:focus-visible {
|
|
83
|
-
outline: 3px solid var(--kimu-primary);
|
|
84
|
-
outline-offset: 2px;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/* Button styling with clear borders */
|
|
88
|
-
button {
|
|
89
|
-
border: 2px solid var(--kimu-border) !important;
|
|
90
|
-
font-weight: bold;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/* Input styling with clear borders */
|
|
94
|
-
input,
|
|
95
|
-
textarea,
|
|
96
|
-
select {
|
|
97
|
-
border: 2px solid var(--kimu-border) !important;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
input:focus,
|
|
101
|
-
textarea:focus,
|
|
102
|
-
select:focus {
|
|
103
|
-
border-color: var(--kimu-input-focus) !important;
|
|
104
|
-
outline: 2px solid var(--kimu-input-focus);
|
|
105
|
-
outline-offset: 1px;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/* Scrollbar - High contrast */
|
|
109
|
-
::-webkit-scrollbar {
|
|
110
|
-
width: 16px;
|
|
111
|
-
height: 16px;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
::-webkit-scrollbar-track {
|
|
115
|
-
background: #F0F0F0;
|
|
116
|
-
border: 1px solid #000000;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
::-webkit-scrollbar-thumb {
|
|
120
|
-
background: #000000;
|
|
121
|
-
border: 2px solid #FFFFFF;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
::-webkit-scrollbar-thumb:hover {
|
|
125
|
-
background: #333333;
|
|
126
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* High Contrast Theme - For accessibility
|
|
3
|
+
*
|
|
4
|
+
* Designed following WCAG AAA guidelines:
|
|
5
|
+
* - Contrast ratio ≥ 7:1 for normal text
|
|
6
|
+
* - Contrast ratio ≥ 4.5:1 for large text
|
|
7
|
+
* - Clear visual indicators for focus and active states
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
:root {
|
|
11
|
+
/* Primary Colors - Pure Black on White */
|
|
12
|
+
--kimu-primary: #0000FF;
|
|
13
|
+
--kimu-primary-hover: #0000CC;
|
|
14
|
+
--kimu-primary-active: #000099;
|
|
15
|
+
--kimu-primary-light: rgba(0, 0, 255, 0.15);
|
|
16
|
+
|
|
17
|
+
/* Secondary Colors - Dark Green */
|
|
18
|
+
--kimu-secondary: #006600;
|
|
19
|
+
--kimu-secondary-hover: #008800;
|
|
20
|
+
--kimu-secondary-active: #004400;
|
|
21
|
+
|
|
22
|
+
/* Accent Colors - Dark Purple */
|
|
23
|
+
--kimu-accent: #660099;
|
|
24
|
+
--kimu-accent-hover: #7700AA;
|
|
25
|
+
--kimu-accent-active: #550088;
|
|
26
|
+
|
|
27
|
+
/* Background Colors - Pure White */
|
|
28
|
+
--kimu-bg-primary: #FFFFFF;
|
|
29
|
+
--kimu-bg-secondary: #F5F5F5;
|
|
30
|
+
--kimu-bg-tertiary: #EBEBEB;
|
|
31
|
+
--kimu-bg-hover: #E0E0E0;
|
|
32
|
+
|
|
33
|
+
/* Text Colors - Pure Black */
|
|
34
|
+
--kimu-text-primary: #000000;
|
|
35
|
+
--kimu-text-secondary: #1A1A1A;
|
|
36
|
+
--kimu-text-tertiary: #333333;
|
|
37
|
+
--kimu-text-disabled: #666666;
|
|
38
|
+
|
|
39
|
+
/* Border Colors - Strong Contrast */
|
|
40
|
+
--kimu-border: #000000;
|
|
41
|
+
--kimu-border-light: #333333;
|
|
42
|
+
--kimu-border-strong: #000000;
|
|
43
|
+
|
|
44
|
+
/* Status Colors - High Contrast */
|
|
45
|
+
--kimu-success: #006600;
|
|
46
|
+
--kimu-warning: #CC6600;
|
|
47
|
+
--kimu-error: #CC0000;
|
|
48
|
+
--kimu-info: #0000CC;
|
|
49
|
+
|
|
50
|
+
/* Shadows - Stronger for visibility */
|
|
51
|
+
--kimu-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.5);
|
|
52
|
+
--kimu-shadow-md: 0 4px 8px rgba(0, 0, 0, 0.5);
|
|
53
|
+
--kimu-shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.5);
|
|
54
|
+
|
|
55
|
+
/* Additional Component-specific Colors */
|
|
56
|
+
--kimu-card-bg: var(--kimu-bg-primary);
|
|
57
|
+
--kimu-input-bg: #FFFFFF;
|
|
58
|
+
--kimu-input-border: #000000;
|
|
59
|
+
--kimu-input-focus: #0000FF;
|
|
60
|
+
|
|
61
|
+
/* Links - Underlined by default for accessibility */
|
|
62
|
+
--kimu-link: #0000FF;
|
|
63
|
+
--kimu-link-hover: #0000CC;
|
|
64
|
+
|
|
65
|
+
/* Overlays */
|
|
66
|
+
--kimu-overlay: rgba(0, 0, 0, 0.85);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* High Contrast specific enhancements */
|
|
70
|
+
body {
|
|
71
|
+
color: var(--kimu-text-primary);
|
|
72
|
+
background: var(--kimu-bg-primary);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/* Ensure all links are underlined */
|
|
76
|
+
a {
|
|
77
|
+
text-decoration: underline;
|
|
78
|
+
font-weight: bold;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/* Strong focus indicators */
|
|
82
|
+
:focus-visible {
|
|
83
|
+
outline: 3px solid var(--kimu-primary);
|
|
84
|
+
outline-offset: 2px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/* Button styling with clear borders */
|
|
88
|
+
button {
|
|
89
|
+
border: 2px solid var(--kimu-border) !important;
|
|
90
|
+
font-weight: bold;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* Input styling with clear borders */
|
|
94
|
+
input,
|
|
95
|
+
textarea,
|
|
96
|
+
select {
|
|
97
|
+
border: 2px solid var(--kimu-border) !important;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
input:focus,
|
|
101
|
+
textarea:focus,
|
|
102
|
+
select:focus {
|
|
103
|
+
border-color: var(--kimu-input-focus) !important;
|
|
104
|
+
outline: 2px solid var(--kimu-input-focus);
|
|
105
|
+
outline-offset: 1px;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/* Scrollbar - High contrast */
|
|
109
|
+
::-webkit-scrollbar {
|
|
110
|
+
width: 16px;
|
|
111
|
+
height: 16px;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
::-webkit-scrollbar-track {
|
|
115
|
+
background: #F0F0F0;
|
|
116
|
+
border: 1px solid #000000;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
::-webkit-scrollbar-thumb {
|
|
120
|
+
background: #000000;
|
|
121
|
+
border: 2px solid #FFFFFF;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
::-webkit-scrollbar-thumb:hover {
|
|
125
|
+
background: #333333;
|
|
126
|
+
}
|
|
@@ -1,101 +1,101 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lava Theme - Intense red and orange fire colors
|
|
3
|
-
* A powerful theme inspired by molten lava
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
:root {
|
|
7
|
-
/* Main colors */
|
|
8
|
-
--kimu-background: linear-gradient(135deg, #1A0000 0%, #330000 30%, #4D0000 60%, #660000 100%);
|
|
9
|
-
--kimu-surface: rgba(255, 69, 0, 0.1);
|
|
10
|
-
--kimu-surface-elevated: rgba(255, 69, 0, 0.2);
|
|
11
|
-
|
|
12
|
-
/* Text colors */
|
|
13
|
-
--kimu-text-primary: #FFE5D9;
|
|
14
|
-
--kimu-text-secondary: #FFD4BF;
|
|
15
|
-
--kimu-text-tertiary: #FFC4A6;
|
|
16
|
-
--kimu-text-disabled: #CC9980;
|
|
17
|
-
|
|
18
|
-
/* Border colors */
|
|
19
|
-
--kimu-border: #FF4500;
|
|
20
|
-
--kimu-border-light: #FF6347;
|
|
21
|
-
--kimu-divider: rgba(255, 69, 0, 0.3);
|
|
22
|
-
|
|
23
|
-
/* Accent colors */
|
|
24
|
-
--kimu-primary: #FF4500;
|
|
25
|
-
--kimu-primary-dark: #CC3700;
|
|
26
|
-
--kimu-primary-light: #FF6347;
|
|
27
|
-
--kimu-secondary: #FF8C00;
|
|
28
|
-
--kimu-accent: #FFD700;
|
|
29
|
-
|
|
30
|
-
/* State colors */
|
|
31
|
-
--kimu-success: #FFD700;
|
|
32
|
-
--kimu-warning: #FFA500;
|
|
33
|
-
--kimu-error: #B22222;
|
|
34
|
-
--kimu-info: #FF6347;
|
|
35
|
-
|
|
36
|
-
/* Shadow */
|
|
37
|
-
--kimu-shadow: rgba(255, 69, 0, 0.5);
|
|
38
|
-
--kimu-shadow-strong: rgba(255, 69, 0, 0.8);
|
|
39
|
-
|
|
40
|
-
/* Component colors */
|
|
41
|
-
--kimu-input-bg: rgba(51, 0, 0, 0.7);
|
|
42
|
-
--kimu-input-border: #FF4500;
|
|
43
|
-
--kimu-button-bg: #FF4500;
|
|
44
|
-
--kimu-button-hover: #FF6347;
|
|
45
|
-
--kimu-card-bg: rgba(51, 0, 0, 0.8);
|
|
46
|
-
|
|
47
|
-
/* Font */
|
|
48
|
-
--kimu-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/* Body background with gradient */
|
|
52
|
-
body {
|
|
53
|
-
background: linear-gradient(135deg, #1A0000 0%, #330000 30%, #4D0000 60%, #660000 100%);
|
|
54
|
-
background-attachment: fixed;
|
|
55
|
-
color: var(--kimu-text-primary);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/* Lava glow animation */
|
|
59
|
-
@keyframes lava-glow {
|
|
60
|
-
0%, 100% {
|
|
61
|
-
box-shadow: 0 0 20px rgba(255, 69, 0, 0.5),
|
|
62
|
-
0 0 40px rgba(255, 69, 0, 0.3);
|
|
63
|
-
}
|
|
64
|
-
50% {
|
|
65
|
-
box-shadow: 0 0 30px rgba(255, 140, 0, 0.7),
|
|
66
|
-
0 0 60px rgba(255, 140, 0, 0.5);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/* Fire effect on hover */
|
|
71
|
-
button:hover,
|
|
72
|
-
a:hover {
|
|
73
|
-
animation: lava-glow 2s infinite;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/* Ember particles effect */
|
|
77
|
-
body::after {
|
|
78
|
-
content: '';
|
|
79
|
-
position: fixed;
|
|
80
|
-
top: 0;
|
|
81
|
-
left: 0;
|
|
82
|
-
width: 100%;
|
|
83
|
-
height: 100%;
|
|
84
|
-
background-image:
|
|
85
|
-
radial-gradient(3px 3px at 10% 20%, rgba(255, 140, 0, 0.4), transparent),
|
|
86
|
-
radial-gradient(2px 2px at 80% 60%, rgba(255, 69, 0, 0.3), transparent),
|
|
87
|
-
radial-gradient(3px 3px at 40% 80%, rgba(255, 215, 0, 0.4), transparent);
|
|
88
|
-
background-size: 300px 300px;
|
|
89
|
-
animation: ember-rise 15s linear infinite;
|
|
90
|
-
pointer-events: none;
|
|
91
|
-
z-index: 0;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
@keyframes ember-rise {
|
|
95
|
-
from {
|
|
96
|
-
transform: translateY(100%);
|
|
97
|
-
}
|
|
98
|
-
to {
|
|
99
|
-
transform: translateY(-100%);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Lava Theme - Intense red and orange fire colors
|
|
3
|
+
* A powerful theme inspired by molten lava
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
:root {
|
|
7
|
+
/* Main colors */
|
|
8
|
+
--kimu-background: linear-gradient(135deg, #1A0000 0%, #330000 30%, #4D0000 60%, #660000 100%);
|
|
9
|
+
--kimu-surface: rgba(255, 69, 0, 0.1);
|
|
10
|
+
--kimu-surface-elevated: rgba(255, 69, 0, 0.2);
|
|
11
|
+
|
|
12
|
+
/* Text colors */
|
|
13
|
+
--kimu-text-primary: #FFE5D9;
|
|
14
|
+
--kimu-text-secondary: #FFD4BF;
|
|
15
|
+
--kimu-text-tertiary: #FFC4A6;
|
|
16
|
+
--kimu-text-disabled: #CC9980;
|
|
17
|
+
|
|
18
|
+
/* Border colors */
|
|
19
|
+
--kimu-border: #FF4500;
|
|
20
|
+
--kimu-border-light: #FF6347;
|
|
21
|
+
--kimu-divider: rgba(255, 69, 0, 0.3);
|
|
22
|
+
|
|
23
|
+
/* Accent colors */
|
|
24
|
+
--kimu-primary: #FF4500;
|
|
25
|
+
--kimu-primary-dark: #CC3700;
|
|
26
|
+
--kimu-primary-light: #FF6347;
|
|
27
|
+
--kimu-secondary: #FF8C00;
|
|
28
|
+
--kimu-accent: #FFD700;
|
|
29
|
+
|
|
30
|
+
/* State colors */
|
|
31
|
+
--kimu-success: #FFD700;
|
|
32
|
+
--kimu-warning: #FFA500;
|
|
33
|
+
--kimu-error: #B22222;
|
|
34
|
+
--kimu-info: #FF6347;
|
|
35
|
+
|
|
36
|
+
/* Shadow */
|
|
37
|
+
--kimu-shadow: rgba(255, 69, 0, 0.5);
|
|
38
|
+
--kimu-shadow-strong: rgba(255, 69, 0, 0.8);
|
|
39
|
+
|
|
40
|
+
/* Component colors */
|
|
41
|
+
--kimu-input-bg: rgba(51, 0, 0, 0.7);
|
|
42
|
+
--kimu-input-border: #FF4500;
|
|
43
|
+
--kimu-button-bg: #FF4500;
|
|
44
|
+
--kimu-button-hover: #FF6347;
|
|
45
|
+
--kimu-card-bg: rgba(51, 0, 0, 0.8);
|
|
46
|
+
|
|
47
|
+
/* Font */
|
|
48
|
+
--kimu-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* Body background with gradient */
|
|
52
|
+
body {
|
|
53
|
+
background: linear-gradient(135deg, #1A0000 0%, #330000 30%, #4D0000 60%, #660000 100%);
|
|
54
|
+
background-attachment: fixed;
|
|
55
|
+
color: var(--kimu-text-primary);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/* Lava glow animation */
|
|
59
|
+
@keyframes lava-glow {
|
|
60
|
+
0%, 100% {
|
|
61
|
+
box-shadow: 0 0 20px rgba(255, 69, 0, 0.5),
|
|
62
|
+
0 0 40px rgba(255, 69, 0, 0.3);
|
|
63
|
+
}
|
|
64
|
+
50% {
|
|
65
|
+
box-shadow: 0 0 30px rgba(255, 140, 0, 0.7),
|
|
66
|
+
0 0 60px rgba(255, 140, 0, 0.5);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/* Fire effect on hover */
|
|
71
|
+
button:hover,
|
|
72
|
+
a:hover {
|
|
73
|
+
animation: lava-glow 2s infinite;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/* Ember particles effect */
|
|
77
|
+
body::after {
|
|
78
|
+
content: '';
|
|
79
|
+
position: fixed;
|
|
80
|
+
top: 0;
|
|
81
|
+
left: 0;
|
|
82
|
+
width: 100%;
|
|
83
|
+
height: 100%;
|
|
84
|
+
background-image:
|
|
85
|
+
radial-gradient(3px 3px at 10% 20%, rgba(255, 140, 0, 0.4), transparent),
|
|
86
|
+
radial-gradient(2px 2px at 80% 60%, rgba(255, 69, 0, 0.3), transparent),
|
|
87
|
+
radial-gradient(3px 3px at 40% 80%, rgba(255, 215, 0, 0.4), transparent);
|
|
88
|
+
background-size: 300px 300px;
|
|
89
|
+
animation: ember-rise 15s linear infinite;
|
|
90
|
+
pointer-events: none;
|
|
91
|
+
z-index: 0;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
@keyframes ember-rise {
|
|
95
|
+
from {
|
|
96
|
+
transform: translateY(100%);
|
|
97
|
+
}
|
|
98
|
+
to {
|
|
99
|
+
transform: translateY(-100%);
|
|
100
|
+
}
|
|
101
|
+
}
|