feat: CSS variable theming system with 3 themes (Dark Canvas, Warm Studio, Midnight)"
Browse files- src/index.css +77 -35
src/index.css
CHANGED
|
@@ -1,35 +1,77 @@
|
|
| 1 |
-
@import "tailwindcss";
|
| 2 |
-
|
| 3 |
-
@theme {
|
| 4 |
-
--font-sans: "Inter", "SF Pro Display", system-ui, -apple-system, sans-serif;
|
| 5 |
-
--color-panel-bg:
|
| 6 |
-
--color-panel-border:
|
| 7 |
-
--color-canvas-bg:
|
| 8 |
-
--color-ui-primary:
|
| 9 |
-
--color-ui-secondary:
|
| 10 |
-
--color-accent-blue:
|
| 11 |
-
--color-accent-amber: #FFD60A;
|
| 12 |
-
}
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
@import "tailwindcss";
|
| 2 |
+
|
| 3 |
+
@theme {
|
| 4 |
+
--font-sans: "Inter", "SF Pro Display", system-ui, -apple-system, sans-serif;
|
| 5 |
+
--color-panel-bg: var(--panel-bg);
|
| 6 |
+
--color-panel-border: var(--panel-border);
|
| 7 |
+
--color-canvas-bg: var(--canvas-bg);
|
| 8 |
+
--color-ui-primary: var(--ui-primary);
|
| 9 |
+
--color-ui-secondary: var(--ui-secondary);
|
| 10 |
+
--color-accent-blue: var(--accent);
|
| 11 |
+
--color-accent-amber: #FFD60A;
|
| 12 |
+
}
|
| 13 |
+
|
| 14 |
+
/* βββ Theme: Dark Canvas (default) βββ */
|
| 15 |
+
:root, [data-theme="dark-canvas"] {
|
| 16 |
+
--canvas-bg: #141414;
|
| 17 |
+
--panel-bg: #1C1C1E;
|
| 18 |
+
--panel-surface: #2A2A2E;
|
| 19 |
+
--panel-border: #3A3A3E;
|
| 20 |
+
--ui-primary: #E5E5E7;
|
| 21 |
+
--ui-secondary: #88888A;
|
| 22 |
+
--accent: #0A84FF;
|
| 23 |
+
--accent-green: #30D158;
|
| 24 |
+
--accent-amber: #FFD60A;
|
| 25 |
+
--accent-red: #FF453A;
|
| 26 |
+
}
|
| 27 |
+
|
| 28 |
+
/* βββ Theme: Warm Studio βββ */
|
| 29 |
+
[data-theme="warm-studio"] {
|
| 30 |
+
--canvas-bg: #181410;
|
| 31 |
+
--panel-bg: #221F1B;
|
| 32 |
+
--panel-surface: #2E2A24;
|
| 33 |
+
--panel-border: #46403A;
|
| 34 |
+
--ui-primary: #F0EAE0;
|
| 35 |
+
--ui-secondary: #9A9080;
|
| 36 |
+
--accent: #D4A373;
|
| 37 |
+
--accent-green: #8FBF6A;
|
| 38 |
+
--accent-amber: #E8C45A;
|
| 39 |
+
--accent-red: #D45A4A;
|
| 40 |
+
}
|
| 41 |
+
|
| 42 |
+
/* βββ Theme: Midnight βββ */
|
| 43 |
+
[data-theme="midnight"] {
|
| 44 |
+
--canvas-bg: #0A0E14;
|
| 45 |
+
--panel-bg: #0F1319;
|
| 46 |
+
--panel-surface: #171D28;
|
| 47 |
+
--panel-border: #253040;
|
| 48 |
+
--ui-primary: #D5DBEB;
|
| 49 |
+
--ui-secondary: #6B7A95;
|
| 50 |
+
--accent: #6C89E8;
|
| 51 |
+
--accent-green: #5EC4A0;
|
| 52 |
+
--accent-amber: #E8C84A;
|
| 53 |
+
--accent-red: #E85C5C;
|
| 54 |
+
}
|
| 55 |
+
|
| 56 |
+
body {
|
| 57 |
+
background-color: var(--panel-bg);
|
| 58 |
+
color: var(--ui-primary);
|
| 59 |
+
font-family: var(--font-sans);
|
| 60 |
+
margin: 0;
|
| 61 |
+
overflow: hidden;
|
| 62 |
+
user-select: none;
|
| 63 |
+
-webkit-user-select: none;
|
| 64 |
+
}
|
| 65 |
+
|
| 66 |
+
::-webkit-scrollbar { width: 6px; height: 6px; }
|
| 67 |
+
::-webkit-scrollbar-track { background: transparent; }
|
| 68 |
+
::-webkit-scrollbar-thumb { background: var(--panel-border); border-radius: 4px; }
|
| 69 |
+
::-webkit-scrollbar-thumb:hover { background: var(--ui-secondary); }
|
| 70 |
+
|
| 71 |
+
.custom-scrollbar::-webkit-scrollbar { width: 4px; }
|
| 72 |
+
.hide-scrollbar::-webkit-scrollbar { display: none; }
|
| 73 |
+
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
|
| 74 |
+
|
| 75 |
+
.rich-text-editor a { color: var(--accent); text-decoration: underline; }
|
| 76 |
+
.rich-text-editor ul { list-style: disc inside; }
|
| 77 |
+
.rich-text-editor ol { list-style: decimal inside; }
|