@relements/core 0.2.0 → 0.4.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/dist/themes/renascent.css +1 -1
- package/package.json +1 -1
- package/src/themes/renascent.css +249 -40
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--re-color-bg:#0f131a;--re-color-bg-subtle:#171c26;--re-color-bg-muted:#1f2430;--re-color-surface:#171c26;--re-color-text:#f8fafc;--re-color-text-muted:#97a3b4;--re-color-text-subtle:#6b7a90;--re-color-border:#29303d;--re-color-border-strong:#353d4d;--re-color-accent-50:#eff6ff;--re-color-accent-100:#dbeafe;--re-color-accent-200:#bdd6fe;--re-color-accent-300:#93c3fd;--re-color-accent-400:#60a5fa;--re-color-accent-500:#60a5fa;--re-color-accent-600:#3c83f6;--re-color-accent-700:#2563eb;--re-color-accent-800:#1d4ed8;--re-color-accent-900:#1e3a8a;--re-color-link:#3c83f6;--re-color-link-hover:#60a5fa;--re-color-link-visited:#a78bfa;--re-color-focus-ring:#3c83f6;--re-color-text-on-accent:#0f131a;--re-color-success-500:#2fe9d0;--re-color-success-600:#0fd4bb;--re-color-success-700:#0ab8a2;--re-color-warning-500:#f9cf53;--re-color-warning-600:#f0b929;--re-color-warning-700:#d4a020;--re-color-danger-500:#ef4444;--re-color-danger-600:#dc2626;--re-color-danger-700:#b91c1c;--re-focus-ring-offset:0px;--re-shadow-focus:0 0 0 2px var(--re-color-focus-ring);--re-color-selection-bg:#3c83f64d;--re-color-selection-text:#f8fafc;--re-color-text-danger:#f87171;--re-color-border-danger:#ef4444;--re-color-phoenix:#f3753f;--re-color-phoenix-light:#f9a07a;--re-color-phoenix-dark:#d45a26;--re-color-purple:#a855f7;--re-color-purple-light:#c084fc;--re-color-purple-dark:#7c3aed;--re-gradient-brand:linear-gradient(135deg, #3c83f6, #a855f7);--re-gradient-phoenix:linear-gradient(135deg, #f3753f, #f9cf53);--re-gradient-hero:linear-gradient(135deg, #3c83f6 0%, #a855f7 50%, #f3753f 100%)}.theme-renascent{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--re-color-bg:#0f131a;--re-color-bg-subtle:#171c26;--re-color-bg-muted:#1f2430;--re-color-surface:#171c26;--re-color-text:#f8fafc;--re-color-text-muted:#97a3b4;--re-color-text-subtle:#6b7a90;--re-color-border:#29303d;--re-color-border-strong:#353d4d;--re-color-accent-500:#3c83f6;--re-color-accent-600:#2563eb;--re-color-accent-700:#1d4ed8;--re-color-link:#3c83f6;--re-color-link-hover:#60a5fa;--re-color-focus-ring:#3c83f6;--re-color-text-on-accent:#0f131a;--re-color-text-danger:#f87171;--re-color-border-danger:#ef4444;--re-color-success-500:#2fe9d0;--re-color-success-600:#0fd4bb;--re-color-success-700:#0ab8a2;--re-color-warning-500:#f9cf53;--re-color-warning-600:#f0b929;--re-color-warning-700:#d4a020;--re-color-danger-500:#ef4444;--re-color-danger-600:#dc2626;--re-color-danger-700:#b91c1c;--re-focus-ring-offset:0px;--re-shadow-focus:0 0 0 2px var(--re-color-focus-ring);--re-color-selection-bg:#3c83f64d;--re-color-selection-text:#f8fafc;background-color:var(--re-color-bg);color:var(--re-color-text)}.re-button[data-variant=phoenix]{background:var(--re-gradient-phoenix);color:#fff;border-color:#0000}.re-button[data-variant=phoenix]:hover{filter:brightness(1.12);background:var(--re-gradient-phoenix)}.re-button[data-variant=phoenix]:active{filter:brightness(.9)}.re-button[data-variant=phoenix]:focus-visible{border-color:#0000}.re-button[data-variant=phoenix]:disabled,.re-button[data-variant=phoenix][aria-disabled=true]{filter:none;opacity:.55}.re-button[data-variant=brand]{background:var(--re-gradient-brand);color:#fff;border-color:#0000}.re-button[data-variant=brand]:hover{filter:brightness(1.12);background:var(--re-gradient-brand)}.re-button[data-variant=brand]:active{filter:brightness(.9)}.re-button[data-variant=brand]:focus-visible{border-color:#0000}.re-button[data-variant=brand]:disabled,.re-button[data-variant=brand][aria-disabled=true]{filter:none;opacity:.55}
|
|
1
|
+
:root{--re-rn-dark-bg:#0f131a;--re-rn-dark-bg-subtle:#171c26;--re-rn-dark-bg-muted:#1f2430;--re-rn-dark-surface:#171c26;--re-rn-dark-text:#f8fafc;--re-rn-dark-text-muted:#97a3b4;--re-rn-dark-text-subtle:#6b7a90;--re-rn-dark-text-danger:#f87171;--re-rn-dark-border:#29303d;--re-rn-dark-border-strong:#353d4d;--re-rn-dark-border-danger:#ef4444;--re-rn-dark-link:#3c83f6;--re-rn-dark-link-hover:#60a5fa;--re-rn-dark-link-visited:#a78bfa;--re-rn-dark-selection-bg:#3c83f64d;--re-rn-dark-selection-text:#f8fafc;--re-rn-dark-focus-ring-offset:0px;--re-rn-dark-shadow-focus:0 0 0 2px var(--re-color-focus-ring);--re-rn-dark-info-surface:oklab(27.3825% -.00852493 -.0491423);--re-rn-dark-info-border:#60a5fa;--re-rn-dark-info-text:#93c3fd;--re-rn-dark-success-surface:oklab(31.6968% -.0306542 -.0128758);--re-rn-dark-success-border:#2fe9d0;--re-rn-dark-success-text:#2fe9d0;--re-rn-dark-warning-surface:oklab(32.2476% -.00189379 .0168638);--re-rn-dark-warning-border:#f9cf53;--re-rn-dark-warning-text:#f9cf53;--re-rn-dark-danger-surface:oklab(27.6095% .0357271 .00536118);--re-rn-dark-danger-border:#ef4444;--re-rn-dark-danger-text:#f87171;--re-rn-dark-accent-600:#3c83f6;--re-rn-dark-accent-700:#2563eb;--re-rn-dark-accent-800:#1d4ed8;--re-rn-light-bg:#f6f8fc;--re-rn-light-bg-subtle:#eef2f8;--re-rn-light-bg-muted:#e3e9f2;--re-rn-light-surface:#fff;--re-rn-light-text:#0f131a;--re-rn-light-text-muted:#475569;--re-rn-light-text-subtle:#64748b;--re-rn-light-text-danger:#b91c1c;--re-rn-light-border:#d7dfea;--re-rn-light-border-strong:#c0cad9;--re-rn-light-border-danger:#dc2626;--re-rn-light-link:#2563eb;--re-rn-light-link-hover:#1d4ed8;--re-rn-light-link-visited:#7c3aed;--re-rn-light-selection-bg:#3c83f62e;--re-rn-light-selection-text:#0f131a;--re-rn-light-focus-ring-offset:2px;--re-rn-light-shadow-focus:0 0 0 var(--re-focus-ring-offset) var(--re-color-bg), 0 0 0 calc(var(--re-focus-ring-offset) + var(--re-focus-ring-width)) var(--re-color-focus-ring);--re-rn-light-info-surface:oklab(93.6354% -.0044884 -.0270548);--re-rn-light-info-border:#3c83f6;--re-rn-light-info-text:#2563eb;--re-rn-light-success-surface:oklab(96.224% -.0177659 -.0052949);--re-rn-light-success-border:#0fd4bb;--re-rn-light-success-text:#0f766e;--re-rn-light-warning-surface:oklab(96.5544% -.000509714 .0125489);--re-rn-light-warning-border:#f0b929;--re-rn-light-warning-text:#b45309;--re-rn-light-danger-surface:oklab(93.7716% .0220628 .00564731);--re-rn-light-danger-border:#dc2626;--re-rn-light-danger-text:#b91c1c;--re-rn-light-accent-600:#2563eb;--re-rn-light-accent-700:#1d4ed8;--re-rn-light-accent-800:#1e40af;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--re-color-bg:var(--re-rn-dark-bg);--re-color-bg-subtle:var(--re-rn-dark-bg-subtle);--re-color-bg-muted:var(--re-rn-dark-bg-muted);--re-color-surface:var(--re-rn-dark-surface);--re-color-text:var(--re-rn-dark-text);--re-color-text-muted:var(--re-rn-dark-text-muted);--re-color-text-subtle:var(--re-rn-dark-text-subtle);--re-color-border:var(--re-rn-dark-border);--re-color-border-strong:var(--re-rn-dark-border-strong);--re-color-accent-50:#eff6ff;--re-color-accent-100:#dbeafe;--re-color-accent-200:#bdd6fe;--re-color-accent-300:#93c3fd;--re-color-accent-400:#60a5fa;--re-color-accent-500:#60a5fa;--re-color-accent-600:#3c83f6;--re-color-accent-700:#2563eb;--re-color-accent-800:#1d4ed8;--re-color-accent-900:#1e3a8a;--re-color-link:var(--re-rn-dark-link);--re-color-link-hover:var(--re-rn-dark-link-hover);--re-color-link-visited:var(--re-rn-dark-link-visited);--re-color-focus-ring:#3c83f6;--re-color-text-on-accent:#fff;--re-color-success-500:#2fe9d0;--re-color-success-600:#0fd4bb;--re-color-success-700:#0ab8a2;--re-color-warning-500:#f9cf53;--re-color-warning-600:#f0b929;--re-color-warning-700:#d4a020;--re-color-danger-500:#ef4444;--re-color-danger-600:#dc2626;--re-color-danger-700:#b91c1c;--re-color-info-surface:var(--re-rn-dark-info-surface);--re-color-info-border:var(--re-rn-dark-info-border);--re-color-info-text:var(--re-rn-dark-info-text);--re-color-success-surface:var(--re-rn-dark-success-surface);--re-color-success-border:var(--re-rn-dark-success-border);--re-color-success-text:var(--re-rn-dark-success-text);--re-color-warning-surface:var(--re-rn-dark-warning-surface);--re-color-warning-border:var(--re-rn-dark-warning-border);--re-color-warning-text:var(--re-rn-dark-warning-text);--re-color-danger-surface:var(--re-rn-dark-danger-surface);--re-color-danger-border:var(--re-rn-dark-danger-border);--re-color-danger-text:var(--re-rn-dark-danger-text);--re-focus-ring-offset:var(--re-rn-dark-focus-ring-offset);--re-shadow-focus:var(--re-rn-dark-shadow-focus);--re-color-selection-bg:var(--re-rn-dark-selection-bg);--re-color-selection-text:var(--re-rn-dark-selection-text);--re-color-text-danger:var(--re-rn-dark-text-danger);--re-color-border-danger:var(--re-rn-dark-border-danger);--re-color-phoenix:#f3753f;--re-color-phoenix-light:#f9a07a;--re-color-phoenix-dark:#d45a26;--re-color-purple:#a855f7;--re-color-purple-light:#c084fc;--re-color-purple-dark:#7c3aed;--re-gradient-brand:linear-gradient(135deg, #3c83f6, #a855f7);--re-gradient-phoenix:linear-gradient(135deg, #f3753f, #f9cf53);--re-gradient-hero:linear-gradient(135deg, #3c83f6 0%, #a855f7 50%, #f3753f 100%)}.theme-renascent,.theme-renascent-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--re-color-bg:var(--re-rn-dark-bg);--re-color-bg-subtle:var(--re-rn-dark-bg-subtle);--re-color-bg-muted:var(--re-rn-dark-bg-muted);--re-color-surface:var(--re-rn-dark-surface);--re-color-text:var(--re-rn-dark-text);--re-color-text-muted:var(--re-rn-dark-text-muted);--re-color-text-subtle:var(--re-rn-dark-text-subtle);--re-color-border:var(--re-rn-dark-border);--re-color-border-strong:var(--re-rn-dark-border-strong);--re-color-accent-500:#3c83f6;--re-color-accent-600:#2563eb;--re-color-accent-700:#1d4ed8;--re-color-link:var(--re-rn-dark-link);--re-color-link-hover:var(--re-rn-dark-link-hover);--re-color-focus-ring:#3c83f6;--re-color-text-on-accent:#fff;--re-color-text-danger:var(--re-rn-dark-text-danger);--re-color-border-danger:var(--re-rn-dark-border-danger);--re-color-success-500:#2fe9d0;--re-color-success-600:#0fd4bb;--re-color-success-700:#0ab8a2;--re-color-warning-500:#f9cf53;--re-color-warning-600:#f0b929;--re-color-warning-700:#d4a020;--re-color-danger-500:#ef4444;--re-color-danger-600:#dc2626;--re-color-danger-700:#b91c1c;--re-color-info-surface:var(--re-rn-dark-info-surface);--re-color-info-border:var(--re-rn-dark-info-border);--re-color-info-text:var(--re-rn-dark-info-text);--re-color-success-surface:var(--re-rn-dark-success-surface);--re-color-success-border:var(--re-rn-dark-success-border);--re-color-success-text:var(--re-rn-dark-success-text);--re-color-warning-surface:var(--re-rn-dark-warning-surface);--re-color-warning-border:var(--re-rn-dark-warning-border);--re-color-warning-text:var(--re-rn-dark-warning-text);--re-color-danger-surface:var(--re-rn-dark-danger-surface);--re-color-danger-border:var(--re-rn-dark-danger-border);--re-color-danger-text:var(--re-rn-dark-danger-text);--re-focus-ring-offset:var(--re-rn-dark-focus-ring-offset);--re-shadow-focus:var(--re-rn-dark-shadow-focus);--re-color-selection-bg:var(--re-rn-dark-selection-bg);--re-color-selection-text:var(--re-rn-dark-selection-text);background-color:var(--re-color-bg);color:var(--re-color-text)}@media (prefers-color-scheme:light){:root,.theme-renascent{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--re-color-bg:var(--re-rn-light-bg);--re-color-bg-subtle:var(--re-rn-light-bg-subtle);--re-color-bg-muted:var(--re-rn-light-bg-muted);--re-color-surface:var(--re-rn-light-surface);--re-color-text:var(--re-rn-light-text);--re-color-text-muted:var(--re-rn-light-text-muted);--re-color-text-subtle:var(--re-rn-light-text-subtle);--re-color-text-on-accent:#fff;--re-color-accent-600:var(--re-rn-light-accent-600);--re-color-accent-700:var(--re-rn-light-accent-700);--re-color-accent-800:var(--re-rn-light-accent-800);--re-color-text-danger:var(--re-rn-light-text-danger);--re-color-border:var(--re-rn-light-border);--re-color-border-strong:var(--re-rn-light-border-strong);--re-color-border-danger:var(--re-rn-light-border-danger);--re-color-link:var(--re-rn-light-link);--re-color-link-hover:var(--re-rn-light-link-hover);--re-color-link-visited:var(--re-rn-light-link-visited);--re-color-focus-ring:#3c83f6;--re-color-selection-bg:var(--re-rn-light-selection-bg);--re-color-selection-text:var(--re-rn-light-selection-text);--re-focus-ring-offset:var(--re-rn-light-focus-ring-offset);--re-shadow-focus:var(--re-rn-light-shadow-focus);--re-color-info-surface:var(--re-rn-light-info-surface);--re-color-info-border:var(--re-rn-light-info-border);--re-color-info-text:var(--re-rn-light-info-text);--re-color-success-surface:var(--re-rn-light-success-surface);--re-color-success-border:var(--re-rn-light-success-border);--re-color-success-text:var(--re-rn-light-success-text);--re-color-warning-surface:var(--re-rn-light-warning-surface);--re-color-warning-border:var(--re-rn-light-warning-border);--re-color-warning-text:var(--re-rn-light-warning-text);--re-color-danger-surface:var(--re-rn-light-danger-surface);--re-color-danger-border:var(--re-rn-light-danger-border);--re-color-danger-text:var(--re-rn-light-danger-text)}}.theme-renascent-light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--re-color-bg:var(--re-rn-light-bg);--re-color-bg-subtle:var(--re-rn-light-bg-subtle);--re-color-bg-muted:var(--re-rn-light-bg-muted);--re-color-surface:var(--re-rn-light-surface);--re-color-text:var(--re-rn-light-text);--re-color-text-muted:var(--re-rn-light-text-muted);--re-color-text-subtle:var(--re-rn-light-text-subtle);--re-color-text-on-accent:#fff;--re-color-accent-600:var(--re-rn-light-accent-600);--re-color-accent-700:var(--re-rn-light-accent-700);--re-color-accent-800:var(--re-rn-light-accent-800);--re-color-text-danger:var(--re-rn-light-text-danger);--re-color-border:var(--re-rn-light-border);--re-color-border-strong:var(--re-rn-light-border-strong);--re-color-border-danger:var(--re-rn-light-border-danger);--re-color-link:var(--re-rn-light-link);--re-color-link-hover:var(--re-rn-light-link-hover);--re-color-link-visited:var(--re-rn-light-link-visited);--re-color-focus-ring:#3c83f6;--re-color-selection-bg:var(--re-rn-light-selection-bg);--re-color-selection-text:var(--re-rn-light-selection-text);--re-focus-ring-offset:var(--re-rn-light-focus-ring-offset);--re-shadow-focus:var(--re-rn-light-shadow-focus);--re-color-info-surface:var(--re-rn-light-info-surface);--re-color-info-border:var(--re-rn-light-info-border);--re-color-info-text:var(--re-rn-light-info-text);--re-color-success-surface:var(--re-rn-light-success-surface);--re-color-success-border:var(--re-rn-light-success-border);--re-color-success-text:var(--re-rn-light-success-text);--re-color-warning-surface:var(--re-rn-light-warning-surface);--re-color-warning-border:var(--re-rn-light-warning-border);--re-color-warning-text:var(--re-rn-light-warning-text);--re-color-danger-surface:var(--re-rn-light-danger-surface);--re-color-danger-border:var(--re-rn-light-danger-border);--re-color-danger-text:var(--re-rn-light-danger-text);background-color:var(--re-color-bg);color:var(--re-color-text)}.re-button[data-variant=phoenix]{background:var(--re-gradient-phoenix);color:#fff;background-origin:border-box;border-color:#0000}.re-button[data-variant=phoenix]:hover{filter:brightness(1.12)}.re-button[data-variant=phoenix]:active{filter:brightness(.9)}.re-button[data-variant=phoenix]:focus-visible{border-color:#0000}.re-button[data-variant=phoenix]:disabled,.re-button[data-variant=phoenix][aria-disabled=true]{filter:none;opacity:.55}.re-button[data-variant=brand]{background:var(--re-gradient-brand);color:#fff;background-origin:border-box;border-color:#0000}.re-button[data-variant=brand]:hover{filter:brightness(1.12)}.re-button[data-variant=brand]:active{filter:brightness(.9)}.re-button[data-variant=brand]:focus-visible{border-color:#0000}.re-button[data-variant=brand]:disabled,.re-button[data-variant=brand][aria-disabled=true]{filter:none;opacity:.55}
|
package/package.json
CHANGED
package/src/themes/renascent.css
CHANGED
|
@@ -14,6 +14,93 @@
|
|
|
14
14
|
* Consumer overrides still win because this file is un-layered.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
+
/* ============================================================
|
|
18
|
+
Per-scheme brand palette (concrete values, always available)
|
|
19
|
+
|
|
20
|
+
These --re-rn-{dark,light}-* custom properties expose the
|
|
21
|
+
Renascent palette as concrete values regardless of the active
|
|
22
|
+
scheme, so consumers can map them onto their own theme
|
|
23
|
+
mechanism. The scheme blocks below reference these instead of
|
|
24
|
+
repeating literals — single source of truth, no duplication.
|
|
25
|
+
Computed values are identical to the originals.
|
|
26
|
+
============================================================ */
|
|
27
|
+
:root {
|
|
28
|
+
/* ----- DARK palette --------------------------------------- */
|
|
29
|
+
--re-rn-dark-bg: #0f131a;
|
|
30
|
+
--re-rn-dark-bg-subtle: #171c26;
|
|
31
|
+
--re-rn-dark-bg-muted: #1f2430;
|
|
32
|
+
--re-rn-dark-surface: #171c26;
|
|
33
|
+
--re-rn-dark-text: #f8fafc;
|
|
34
|
+
--re-rn-dark-text-muted: #97a3b4;
|
|
35
|
+
--re-rn-dark-text-subtle: #6b7a90;
|
|
36
|
+
--re-rn-dark-text-danger: #f87171;
|
|
37
|
+
--re-rn-dark-border: #29303d;
|
|
38
|
+
--re-rn-dark-border-strong: #353d4d;
|
|
39
|
+
--re-rn-dark-border-danger: #ef4444;
|
|
40
|
+
--re-rn-dark-link: #3c83f6;
|
|
41
|
+
--re-rn-dark-link-hover: #60a5fa;
|
|
42
|
+
--re-rn-dark-link-visited: #a78bfa;
|
|
43
|
+
--re-rn-dark-selection-bg: rgba(60, 131, 246, 0.3);
|
|
44
|
+
--re-rn-dark-selection-text: #f8fafc;
|
|
45
|
+
--re-rn-dark-focus-ring-offset: 0px;
|
|
46
|
+
--re-rn-dark-shadow-focus: 0 0 0 2px var(--re-color-focus-ring);
|
|
47
|
+
--re-rn-dark-info-surface: color-mix(in oklab, #3c83f6 20%, #0f131a);
|
|
48
|
+
--re-rn-dark-info-border: #60a5fa;
|
|
49
|
+
--re-rn-dark-info-text: #93c3fd;
|
|
50
|
+
--re-rn-dark-success-surface: color-mix(in oklab, #2fe9d0 20%, #0f131a);
|
|
51
|
+
--re-rn-dark-success-border: #2fe9d0;
|
|
52
|
+
--re-rn-dark-success-text: #2fe9d0;
|
|
53
|
+
--re-rn-dark-warning-surface: color-mix(in oklab, #f9cf53 20%, #0f131a);
|
|
54
|
+
--re-rn-dark-warning-border: #f9cf53;
|
|
55
|
+
--re-rn-dark-warning-text: #f9cf53;
|
|
56
|
+
--re-rn-dark-danger-surface: color-mix(in oklab, #ef4444 20%, #0f131a);
|
|
57
|
+
--re-rn-dark-danger-border: #ef4444;
|
|
58
|
+
--re-rn-dark-danger-text: #f87171;
|
|
59
|
+
/* Interactive accent steps (button base/hover/active) for dark. */
|
|
60
|
+
--re-rn-dark-accent-600: #3c83f6;
|
|
61
|
+
--re-rn-dark-accent-700: #2563eb;
|
|
62
|
+
--re-rn-dark-accent-800: #1d4ed8;
|
|
63
|
+
|
|
64
|
+
/* ----- LIGHT palette -------------------------------------- */
|
|
65
|
+
--re-rn-light-bg: #f6f8fc;
|
|
66
|
+
--re-rn-light-bg-subtle: #eef2f8;
|
|
67
|
+
--re-rn-light-bg-muted: #e3e9f2;
|
|
68
|
+
--re-rn-light-surface: #ffffff;
|
|
69
|
+
--re-rn-light-text: #0f131a;
|
|
70
|
+
--re-rn-light-text-muted: #475569;
|
|
71
|
+
--re-rn-light-text-subtle: #64748b;
|
|
72
|
+
--re-rn-light-text-danger: #b91c1c;
|
|
73
|
+
--re-rn-light-border: #d7dfea;
|
|
74
|
+
--re-rn-light-border-strong: #c0cad9;
|
|
75
|
+
--re-rn-light-border-danger: #dc2626;
|
|
76
|
+
--re-rn-light-link: #2563eb;
|
|
77
|
+
--re-rn-light-link-hover: #1d4ed8;
|
|
78
|
+
--re-rn-light-link-visited: #7c3aed;
|
|
79
|
+
--re-rn-light-selection-bg: rgba(60, 131, 246, 0.18);
|
|
80
|
+
--re-rn-light-selection-text: #0f131a;
|
|
81
|
+
--re-rn-light-focus-ring-offset: 2px;
|
|
82
|
+
--re-rn-light-shadow-focus:
|
|
83
|
+
0 0 0 var(--re-focus-ring-offset) var(--re-color-bg),
|
|
84
|
+
0 0 0 calc(var(--re-focus-ring-offset) + var(--re-focus-ring-width)) var(--re-color-focus-ring);
|
|
85
|
+
--re-rn-light-info-surface: color-mix(in oklab, #3c83f6 12%, #f6f8fc);
|
|
86
|
+
--re-rn-light-info-border: #3c83f6;
|
|
87
|
+
--re-rn-light-info-text: #2563eb;
|
|
88
|
+
--re-rn-light-success-surface: color-mix(in oklab, #2fe9d0 12%, #f6f8fc);
|
|
89
|
+
--re-rn-light-success-border: #0fd4bb;
|
|
90
|
+
--re-rn-light-success-text: #0f766e;
|
|
91
|
+
--re-rn-light-warning-surface: color-mix(in oklab, #f9cf53 12%, #f6f8fc);
|
|
92
|
+
--re-rn-light-warning-border: #f0b929;
|
|
93
|
+
--re-rn-light-warning-text: #b45309;
|
|
94
|
+
--re-rn-light-danger-surface: color-mix(in oklab, #ef4444 12%, #f6f8fc);
|
|
95
|
+
--re-rn-light-danger-border: #dc2626;
|
|
96
|
+
--re-rn-light-danger-text: #b91c1c;
|
|
97
|
+
/* On light bg, white-on-accent buttons need accent-600 = #2563eb
|
|
98
|
+
(white 5.17:1); the dark #3c83f6 only reaches 3.64:1. */
|
|
99
|
+
--re-rn-light-accent-600: #2563eb;
|
|
100
|
+
--re-rn-light-accent-700: #1d4ed8;
|
|
101
|
+
--re-rn-light-accent-800: #1e40af;
|
|
102
|
+
}
|
|
103
|
+
|
|
17
104
|
/* ============================================================
|
|
18
105
|
Global dark theme (matches the renascentelements.hu design)
|
|
19
106
|
============================================================ */
|
|
@@ -21,19 +108,19 @@
|
|
|
21
108
|
color-scheme: dark;
|
|
22
109
|
|
|
23
110
|
/* ----- Backgrounds ---------------------------------------- */
|
|
24
|
-
--re-color-bg:
|
|
25
|
-
--re-color-bg-subtle:
|
|
26
|
-
--re-color-bg-muted:
|
|
27
|
-
--re-color-surface:
|
|
111
|
+
--re-color-bg: var(--re-rn-dark-bg); /* hsl(220 27% 8%) — page background */
|
|
112
|
+
--re-color-bg-subtle: var(--re-rn-dark-bg-subtle); /* hsl(220 25% 12%) — card / surface */
|
|
113
|
+
--re-color-bg-muted: var(--re-rn-dark-bg-muted); /* hsl(220 20% 15%) — muted section */
|
|
114
|
+
--re-color-surface: var(--re-rn-dark-surface);
|
|
28
115
|
|
|
29
116
|
/* ----- Text ----------------------------------------------- */
|
|
30
|
-
--re-color-text:
|
|
31
|
-
--re-color-text-muted:
|
|
32
|
-
--re-color-text-subtle:
|
|
117
|
+
--re-color-text: var(--re-rn-dark-text); /* hsl(210 40% 98%) — primary text */
|
|
118
|
+
--re-color-text-muted: var(--re-rn-dark-text-muted); /* hsl(215 16% 65%) — secondary text */
|
|
119
|
+
--re-color-text-subtle: var(--re-rn-dark-text-subtle); /* dimmer tertiary text */
|
|
33
120
|
|
|
34
121
|
/* ----- Border --------------------------------------------- */
|
|
35
|
-
--re-color-border:
|
|
36
|
-
--re-color-border-strong:
|
|
122
|
+
--re-color-border: var(--re-rn-dark-border); /* hsl(220 20% 20%) */
|
|
123
|
+
--re-color-border-strong: var(--re-rn-dark-border-strong);
|
|
37
124
|
|
|
38
125
|
/* ----- Brand: electric blue (primary interactive) ---------
|
|
39
126
|
Their --primary is hsl(217 91% 60%) = #3c83f6.
|
|
@@ -50,11 +137,13 @@
|
|
|
50
137
|
--re-color-accent-900: #1e3a8a;
|
|
51
138
|
|
|
52
139
|
/* ----- Semantic role colors ------------------------------- */
|
|
53
|
-
--re-color-link:
|
|
54
|
-
--re-color-link-hover:
|
|
55
|
-
--re-color-link-visited:
|
|
140
|
+
--re-color-link: var(--re-rn-dark-link);
|
|
141
|
+
--re-color-link-hover: var(--re-rn-dark-link-hover);
|
|
142
|
+
--re-color-link-visited: var(--re-rn-dark-link-visited);
|
|
56
143
|
--re-color-focus-ring: #3c83f6;
|
|
57
|
-
|
|
144
|
+
/* White on accent-600 (#2563eb) = 5.17:1; the dark navy used elsewhere
|
|
145
|
+
only reaches 3.6:1 on the blue/red button fills, below WCAG AA. */
|
|
146
|
+
--re-color-text-on-accent: #ffffff;
|
|
58
147
|
|
|
59
148
|
/* ----- Semantic feedback ---------------------------------- */
|
|
60
149
|
/* Success: teal (hsl(172 81% 55%) — their --success) */
|
|
@@ -72,21 +161,40 @@
|
|
|
72
161
|
--re-color-danger-600: #dc2626;
|
|
73
162
|
--re-color-danger-700: #b91c1c;
|
|
74
163
|
|
|
164
|
+
/* ----- Status surfaces (dark) -----------------------------
|
|
165
|
+
Defined explicitly so they mix against this theme's dark bg.
|
|
166
|
+
Without these they inherit the un-themed :root tokens, whose
|
|
167
|
+
color-mix captured the light-mode bg → light alert surfaces
|
|
168
|
+
under dark-section body text (≈1.05:1). White body text on
|
|
169
|
+
these 20%/dark mixes clears AA (≥4.5:1). */
|
|
170
|
+
--re-color-info-surface: var(--re-rn-dark-info-surface);
|
|
171
|
+
--re-color-info-border: var(--re-rn-dark-info-border);
|
|
172
|
+
--re-color-info-text: var(--re-rn-dark-info-text);
|
|
173
|
+
--re-color-success-surface: var(--re-rn-dark-success-surface);
|
|
174
|
+
--re-color-success-border: var(--re-rn-dark-success-border);
|
|
175
|
+
--re-color-success-text: var(--re-rn-dark-success-text);
|
|
176
|
+
--re-color-warning-surface: var(--re-rn-dark-warning-surface);
|
|
177
|
+
--re-color-warning-border: var(--re-rn-dark-warning-border);
|
|
178
|
+
--re-color-warning-text: var(--re-rn-dark-warning-text);
|
|
179
|
+
--re-color-danger-surface: var(--re-rn-dark-danger-surface);
|
|
180
|
+
--re-color-danger-border: var(--re-rn-dark-danger-border);
|
|
181
|
+
--re-color-danger-text: var(--re-rn-dark-danger-text);
|
|
182
|
+
|
|
75
183
|
/* ----- Focus ring on dark background ----------------------
|
|
76
184
|
Remove the offset gap: the "white gap" trick is for light
|
|
77
185
|
themes. On dark bg, offset + border = double blue line. */
|
|
78
|
-
--re-focus-ring-offset:
|
|
79
|
-
--re-shadow-focus:
|
|
186
|
+
--re-focus-ring-offset: var(--re-rn-dark-focus-ring-offset);
|
|
187
|
+
--re-shadow-focus: var(--re-rn-dark-shadow-focus);
|
|
80
188
|
|
|
81
189
|
/* ----- Selection ------------------------------------------ */
|
|
82
|
-
--re-color-selection-bg:
|
|
83
|
-
--re-color-selection-text:
|
|
190
|
+
--re-color-selection-bg: var(--re-rn-dark-selection-bg);
|
|
191
|
+
--re-color-selection-text: var(--re-rn-dark-selection-text);
|
|
84
192
|
|
|
85
193
|
/* ----- Text danger for validation messages ---------------- */
|
|
86
|
-
--re-color-text-danger:
|
|
194
|
+
--re-color-text-danger: var(--re-rn-dark-text-danger); /* lighter red for dark backgrounds */
|
|
87
195
|
|
|
88
196
|
/* ----- Border danger -------------------------------------- */
|
|
89
|
-
--re-color-border-danger:
|
|
197
|
+
--re-color-border-danger: var(--re-rn-dark-border-danger);
|
|
90
198
|
}
|
|
91
199
|
|
|
92
200
|
/* ============================================================
|
|
@@ -111,27 +219,28 @@
|
|
|
111
219
|
/* ============================================================
|
|
112
220
|
Scoped class — apply on any container instead of :root
|
|
113
221
|
============================================================ */
|
|
114
|
-
.theme-renascent
|
|
222
|
+
.theme-renascent,
|
|
223
|
+
.theme-renascent-dark {
|
|
115
224
|
color-scheme: dark;
|
|
116
225
|
|
|
117
|
-
--re-color-bg:
|
|
118
|
-
--re-color-bg-subtle:
|
|
119
|
-
--re-color-bg-muted:
|
|
120
|
-
--re-color-surface:
|
|
121
|
-
--re-color-text:
|
|
122
|
-
--re-color-text-muted:
|
|
123
|
-
--re-color-text-subtle:
|
|
124
|
-
--re-color-border:
|
|
125
|
-
--re-color-border-strong:
|
|
226
|
+
--re-color-bg: var(--re-rn-dark-bg);
|
|
227
|
+
--re-color-bg-subtle: var(--re-rn-dark-bg-subtle);
|
|
228
|
+
--re-color-bg-muted: var(--re-rn-dark-bg-muted);
|
|
229
|
+
--re-color-surface: var(--re-rn-dark-surface);
|
|
230
|
+
--re-color-text: var(--re-rn-dark-text);
|
|
231
|
+
--re-color-text-muted: var(--re-rn-dark-text-muted);
|
|
232
|
+
--re-color-text-subtle: var(--re-rn-dark-text-subtle);
|
|
233
|
+
--re-color-border: var(--re-rn-dark-border);
|
|
234
|
+
--re-color-border-strong: var(--re-rn-dark-border-strong);
|
|
126
235
|
--re-color-accent-500: #3c83f6;
|
|
127
236
|
--re-color-accent-600: #2563eb;
|
|
128
237
|
--re-color-accent-700: #1d4ed8;
|
|
129
|
-
--re-color-link:
|
|
130
|
-
--re-color-link-hover:
|
|
238
|
+
--re-color-link: var(--re-rn-dark-link);
|
|
239
|
+
--re-color-link-hover: var(--re-rn-dark-link-hover);
|
|
131
240
|
--re-color-focus-ring: #3c83f6;
|
|
132
|
-
--re-color-text-on-accent: #
|
|
133
|
-
--re-color-text-danger:
|
|
134
|
-
--re-color-border-danger:
|
|
241
|
+
--re-color-text-on-accent: #ffffff;
|
|
242
|
+
--re-color-text-danger: var(--re-rn-dark-text-danger);
|
|
243
|
+
--re-color-border-danger: var(--re-rn-dark-border-danger);
|
|
135
244
|
--re-color-success-500: #2fe9d0;
|
|
136
245
|
--re-color-success-600: #0fd4bb;
|
|
137
246
|
--re-color-success-700: #0ab8a2;
|
|
@@ -141,10 +250,108 @@
|
|
|
141
250
|
--re-color-danger-500: #ef4444;
|
|
142
251
|
--re-color-danger-600: #dc2626;
|
|
143
252
|
--re-color-danger-700: #b91c1c;
|
|
144
|
-
--re-
|
|
145
|
-
--re-
|
|
146
|
-
--re-color-
|
|
147
|
-
--re-color-
|
|
253
|
+
--re-color-info-surface: var(--re-rn-dark-info-surface);
|
|
254
|
+
--re-color-info-border: var(--re-rn-dark-info-border);
|
|
255
|
+
--re-color-info-text: var(--re-rn-dark-info-text);
|
|
256
|
+
--re-color-success-surface: var(--re-rn-dark-success-surface);
|
|
257
|
+
--re-color-success-border: var(--re-rn-dark-success-border);
|
|
258
|
+
--re-color-success-text: var(--re-rn-dark-success-text);
|
|
259
|
+
--re-color-warning-surface: var(--re-rn-dark-warning-surface);
|
|
260
|
+
--re-color-warning-border: var(--re-rn-dark-warning-border);
|
|
261
|
+
--re-color-warning-text: var(--re-rn-dark-warning-text);
|
|
262
|
+
--re-color-danger-surface: var(--re-rn-dark-danger-surface);
|
|
263
|
+
--re-color-danger-border: var(--re-rn-dark-danger-border);
|
|
264
|
+
--re-color-danger-text: var(--re-rn-dark-danger-text);
|
|
265
|
+
--re-focus-ring-offset: var(--re-rn-dark-focus-ring-offset);
|
|
266
|
+
--re-shadow-focus: var(--re-rn-dark-shadow-focus);
|
|
267
|
+
--re-color-selection-bg: var(--re-rn-dark-selection-bg);
|
|
268
|
+
--re-color-selection-text: var(--re-rn-dark-selection-text);
|
|
269
|
+
|
|
270
|
+
background-color: var(--re-color-bg);
|
|
271
|
+
color: var(--re-color-text);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/* LIGHT — when the OS prefers light (global import + the auto .theme-renascent). */
|
|
275
|
+
@media (prefers-color-scheme: light) {
|
|
276
|
+
:root,
|
|
277
|
+
.theme-renascent {
|
|
278
|
+
color-scheme: light;
|
|
279
|
+
--re-color-bg: var(--re-rn-light-bg);
|
|
280
|
+
--re-color-bg-subtle: var(--re-rn-light-bg-subtle);
|
|
281
|
+
--re-color-bg-muted: var(--re-rn-light-bg-muted);
|
|
282
|
+
--re-color-surface: var(--re-rn-light-surface);
|
|
283
|
+
--re-color-text: var(--re-rn-light-text);
|
|
284
|
+
--re-color-text-muted: var(--re-rn-light-text-muted);
|
|
285
|
+
--re-color-text-subtle: var(--re-rn-light-text-subtle);
|
|
286
|
+
--re-color-text-on-accent: #ffffff;
|
|
287
|
+
--re-color-accent-600: var(--re-rn-light-accent-600);
|
|
288
|
+
--re-color-accent-700: var(--re-rn-light-accent-700);
|
|
289
|
+
--re-color-accent-800: var(--re-rn-light-accent-800);
|
|
290
|
+
--re-color-text-danger: var(--re-rn-light-text-danger);
|
|
291
|
+
--re-color-border: var(--re-rn-light-border);
|
|
292
|
+
--re-color-border-strong: var(--re-rn-light-border-strong);
|
|
293
|
+
--re-color-border-danger: var(--re-rn-light-border-danger);
|
|
294
|
+
--re-color-link: var(--re-rn-light-link);
|
|
295
|
+
--re-color-link-hover: var(--re-rn-light-link-hover);
|
|
296
|
+
--re-color-link-visited: var(--re-rn-light-link-visited);
|
|
297
|
+
--re-color-focus-ring: #3c83f6;
|
|
298
|
+
--re-color-selection-bg: var(--re-rn-light-selection-bg);
|
|
299
|
+
--re-color-selection-text: var(--re-rn-light-selection-text);
|
|
300
|
+
--re-focus-ring-offset: var(--re-rn-light-focus-ring-offset);
|
|
301
|
+
--re-shadow-focus: var(--re-rn-light-shadow-focus);
|
|
302
|
+
--re-color-info-surface: var(--re-rn-light-info-surface);
|
|
303
|
+
--re-color-info-border: var(--re-rn-light-info-border);
|
|
304
|
+
--re-color-info-text: var(--re-rn-light-info-text);
|
|
305
|
+
--re-color-success-surface: var(--re-rn-light-success-surface);
|
|
306
|
+
--re-color-success-border: var(--re-rn-light-success-border);
|
|
307
|
+
--re-color-success-text: var(--re-rn-light-success-text);
|
|
308
|
+
--re-color-warning-surface: var(--re-rn-light-warning-surface);
|
|
309
|
+
--re-color-warning-border: var(--re-rn-light-warning-border);
|
|
310
|
+
--re-color-warning-text: var(--re-rn-light-warning-text);
|
|
311
|
+
--re-color-danger-surface: var(--re-rn-light-danger-surface);
|
|
312
|
+
--re-color-danger-border: var(--re-rn-light-danger-border);
|
|
313
|
+
--re-color-danger-text: var(--re-rn-light-danger-text);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
/* LIGHT — forced regardless of OS. */
|
|
318
|
+
.theme-renascent-light {
|
|
319
|
+
color-scheme: light;
|
|
320
|
+
--re-color-bg: var(--re-rn-light-bg);
|
|
321
|
+
--re-color-bg-subtle: var(--re-rn-light-bg-subtle);
|
|
322
|
+
--re-color-bg-muted: var(--re-rn-light-bg-muted);
|
|
323
|
+
--re-color-surface: var(--re-rn-light-surface);
|
|
324
|
+
--re-color-text: var(--re-rn-light-text);
|
|
325
|
+
--re-color-text-muted: var(--re-rn-light-text-muted);
|
|
326
|
+
--re-color-text-subtle: var(--re-rn-light-text-subtle);
|
|
327
|
+
--re-color-text-on-accent: #ffffff;
|
|
328
|
+
--re-color-accent-600: var(--re-rn-light-accent-600);
|
|
329
|
+
--re-color-accent-700: var(--re-rn-light-accent-700);
|
|
330
|
+
--re-color-accent-800: var(--re-rn-light-accent-800);
|
|
331
|
+
--re-color-text-danger: var(--re-rn-light-text-danger);
|
|
332
|
+
--re-color-border: var(--re-rn-light-border);
|
|
333
|
+
--re-color-border-strong: var(--re-rn-light-border-strong);
|
|
334
|
+
--re-color-border-danger: var(--re-rn-light-border-danger);
|
|
335
|
+
--re-color-link: var(--re-rn-light-link);
|
|
336
|
+
--re-color-link-hover: var(--re-rn-light-link-hover);
|
|
337
|
+
--re-color-link-visited: var(--re-rn-light-link-visited);
|
|
338
|
+
--re-color-focus-ring: #3c83f6;
|
|
339
|
+
--re-color-selection-bg: var(--re-rn-light-selection-bg);
|
|
340
|
+
--re-color-selection-text: var(--re-rn-light-selection-text);
|
|
341
|
+
--re-focus-ring-offset: var(--re-rn-light-focus-ring-offset);
|
|
342
|
+
--re-shadow-focus: var(--re-rn-light-shadow-focus);
|
|
343
|
+
--re-color-info-surface: var(--re-rn-light-info-surface);
|
|
344
|
+
--re-color-info-border: var(--re-rn-light-info-border);
|
|
345
|
+
--re-color-info-text: var(--re-rn-light-info-text);
|
|
346
|
+
--re-color-success-surface: var(--re-rn-light-success-surface);
|
|
347
|
+
--re-color-success-border: var(--re-rn-light-success-border);
|
|
348
|
+
--re-color-success-text: var(--re-rn-light-success-text);
|
|
349
|
+
--re-color-warning-surface: var(--re-rn-light-warning-surface);
|
|
350
|
+
--re-color-warning-border: var(--re-rn-light-warning-border);
|
|
351
|
+
--re-color-warning-text: var(--re-rn-light-warning-text);
|
|
352
|
+
--re-color-danger-surface: var(--re-rn-light-danger-surface);
|
|
353
|
+
--re-color-danger-border: var(--re-rn-light-danger-border);
|
|
354
|
+
--re-color-danger-text: var(--re-rn-light-danger-text);
|
|
148
355
|
|
|
149
356
|
background-color: var(--re-color-bg);
|
|
150
357
|
color: var(--re-color-text);
|
|
@@ -157,12 +364,14 @@
|
|
|
157
364
|
============================================================ */
|
|
158
365
|
.re-button[data-variant="phoenix"] {
|
|
159
366
|
background: var(--re-gradient-phoenix);
|
|
367
|
+
/* Paint the gradient from the border box so the 1px (transparent) border
|
|
368
|
+
doesn't show a seam where the padding-box gradient is clipped. */
|
|
369
|
+
background-origin: border-box;
|
|
160
370
|
color: #fff;
|
|
161
371
|
border-color: transparent;
|
|
162
372
|
}
|
|
163
373
|
.re-button[data-variant="phoenix"]:hover {
|
|
164
374
|
filter: brightness(1.12);
|
|
165
|
-
background: var(--re-gradient-phoenix);
|
|
166
375
|
}
|
|
167
376
|
.re-button[data-variant="phoenix"]:active {
|
|
168
377
|
filter: brightness(0.9);
|
|
@@ -178,12 +387,12 @@
|
|
|
178
387
|
|
|
179
388
|
.re-button[data-variant="brand"] {
|
|
180
389
|
background: var(--re-gradient-brand);
|
|
390
|
+
background-origin: border-box;
|
|
181
391
|
color: #fff;
|
|
182
392
|
border-color: transparent;
|
|
183
393
|
}
|
|
184
394
|
.re-button[data-variant="brand"]:hover {
|
|
185
395
|
filter: brightness(1.12);
|
|
186
|
-
background: var(--re-gradient-brand);
|
|
187
396
|
}
|
|
188
397
|
.re-button[data-variant="brand"]:active {
|
|
189
398
|
filter: brightness(0.9);
|