@dataimago/css 0.1.0-alpha.2 → 0.1.0-alpha.21

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.
@@ -0,0 +1,73 @@
1
+ // @dataimago/css@0.1.0-alpha.21 dist/templates/quarto_website/assets/js/logo-switch.js · sha256:f69f3ad9c9ab670197c32d75e072cdfa5fb5cc0fc720f636dd9a9e3a3c44015c · generated from tokens; do not edit · restore: npx -p @dataimago/css@0.1.0-alpha.21 dataimago-sync
2
+ var defaultLogoSrc = '/assets/img/ai_monogram.svg';
3
+ var defaultLogoHref = '{{SITE_URL}}';
4
+ var hoverLogoHref = 'https://dataimago.ai';
5
+
6
+ function getCurrentTheme() {
7
+ var dataTheme = document.documentElement.getAttribute('data-bs-theme');
8
+ if (dataTheme === 'dark') return 'dark';
9
+
10
+ var lightSheets = document.querySelectorAll('link.quarto-color-scheme:not(.quarto-color-alternate)');
11
+ var allLightDisabled = true;
12
+ for (var i = 0; i < lightSheets.length; i++) {
13
+ if (!lightSheets[i].disabled) { allLightDisabled = false; break; }
14
+ }
15
+ var darkSheets = document.querySelectorAll('link.quarto-color-scheme.quarto-color-alternate');
16
+ var anyDarkEnabled = false;
17
+ for (var j = 0; j < darkSheets.length; j++) {
18
+ if (!darkSheets[j].disabled) { anyDarkEnabled = true; break; }
19
+ }
20
+ if (allLightDisabled && anyDarkEnabled) return 'dark';
21
+ if (document.body.classList.contains('quarto-dark')) return 'dark';
22
+ return 'light';
23
+ }
24
+
25
+ function setupNavbarBrandHover() {
26
+ var navbarLogo = document.querySelector('.navbar-logo');
27
+ var navbarBrand = navbarLogo ? navbarLogo.closest('a') : document.querySelector('.navbar-brand');
28
+ if (!navbarBrand) return;
29
+
30
+ navbarBrand.addEventListener('mouseover', function() {
31
+ navbarBrand.href = hoverLogoHref;
32
+ if (navbarLogo) navbarLogo.classList.add('logo-hover');
33
+ });
34
+ navbarBrand.addEventListener('mouseout', function() {
35
+ navbarBrand.href = defaultLogoHref;
36
+ if (navbarLogo) navbarLogo.classList.remove('logo-hover');
37
+ });
38
+ }
39
+
40
+ function setupFooterLogoHover() {
41
+ var footerLogos = document.querySelectorAll('.footer-ai-monogram-logo');
42
+ footerLogos.forEach(function(logo) {
43
+ logo.addEventListener('mouseover', function() { logo.classList.add('logo-hover'); });
44
+ logo.addEventListener('mouseout', function() { logo.classList.remove('logo-hover'); });
45
+ });
46
+ }
47
+
48
+ function initLogoSwitch() {
49
+ setupNavbarBrandHover();
50
+ setupFooterLogoHover();
51
+ }
52
+
53
+ if (document.readyState === 'loading') {
54
+ document.addEventListener('DOMContentLoaded', initLogoSwitch);
55
+ } else {
56
+ initLogoSwitch();
57
+ }
58
+
59
+ var themeObserver = new MutationObserver(function(mutations) {
60
+ mutations.forEach(function(mutation) {
61
+ if (mutation.type === 'attributes' &&
62
+ (mutation.attributeName === 'data-bs-theme' || mutation.attributeName === 'class')) {
63
+ setTimeout(initLogoSwitch, 100);
64
+ }
65
+ });
66
+ });
67
+ themeObserver.observe(document.documentElement, { attributes: true });
68
+ themeObserver.observe(document.body, { attributes: true });
69
+
70
+ document.querySelectorAll('link.quarto-color-scheme').forEach(function(sheet) {
71
+ new MutationObserver(function() { setTimeout(initLogoSwitch, 100); })
72
+ .observe(sheet, { attributes: true, attributeFilter: ['disabled'] });
73
+ });
@@ -0,0 +1,67 @@
1
+ // @dataimago/css@0.1.0-alpha.21 dist/templates/quarto_website/assets/js/scroll.js · sha256:694f335a8c098d252123b523e1a7ac8d475da436eb3c5f73451d96108b2863d2 · generated from tokens; do not edit · restore: npx -p @dataimago/css@0.1.0-alpha.21 dataimago-sync
2
+ $(window).scroll(function(){
3
+ if($(window).scrollTop() > 35) {
4
+ $('.navbar').addClass("shrink");
5
+ $('.navbar-title').addClass("shrink");
6
+ $('.navbar-logo').addClass("shrink");
7
+ $('body').addClass("shrink");
8
+ } else {
9
+ $('.navbar').removeClass("shrink");
10
+ $('.navbar-title').removeClass("shrink");
11
+ $('.navbar-logo').removeClass("shrink");
12
+ $('body').removeClass("shrink");
13
+ }
14
+ });
15
+
16
+ $(document).ready(function() {
17
+ function observeDropdownChanges() {
18
+ var observer = new MutationObserver(function(mutations) {
19
+ mutations.forEach(function(mutation) {
20
+ if (mutation.type === 'attributes') {
21
+ var $target = $(mutation.target);
22
+ if ($target.hasClass('dropdown-toggle')) {
23
+ var $dropdown = $target.closest('.dropdown, .nav-item');
24
+ var isExpanded = $target.attr('aria-expanded') === 'true';
25
+
26
+ if (isExpanded) {
27
+ $dropdown.addClass('open');
28
+ } else {
29
+ $dropdown.removeClass('open');
30
+ }
31
+ }
32
+ }
33
+ });
34
+ });
35
+
36
+ $('.navbar-nav .dropdown-toggle').each(function() {
37
+ observer.observe(this, {
38
+ attributes: true,
39
+ attributeFilter: ['aria-expanded']
40
+ });
41
+ });
42
+ }
43
+
44
+ observeDropdownChanges();
45
+
46
+ $('.navbar-nav .dropdown-toggle').on('click', function() {
47
+ var $this = $(this);
48
+ var $dropdown = $this.closest('.dropdown, .nav-item');
49
+
50
+ setTimeout(function() {
51
+ var isExpanded = $this.attr('aria-expanded') === 'true';
52
+ if (isExpanded) {
53
+ $dropdown.addClass('open');
54
+ } else {
55
+ $dropdown.removeClass('open');
56
+ }
57
+ }, 50);
58
+ });
59
+
60
+ $('.navbar-nav .dropdown, .navbar-nav .nav-item').on('show.bs.dropdown', function() {
61
+ $(this).addClass('open');
62
+ });
63
+
64
+ $('.navbar-nav .dropdown, .navbar-nav .nav-item').on('hide.bs.dropdown', function() {
65
+ $(this).removeClass('open');
66
+ });
67
+ });
@@ -0,0 +1,49 @@
1
+ <!-- @dataimago/css@0.1.0-alpha.21 dist/templates/quarto_website/ethics.qmd.template · sha256:fc151adb9c9fd9934a3c23ca5822eb6b05ca27795070ff7dbb26acd0e50ddbe5 · generated from tokens; do not edit · restore: npx -p @dataimago/css@0.1.0-alpha.21 dataimago-sync -->
2
+ ---
3
+ title: "Ethical AI Principles"
4
+ subtitle: "Superalignment Through Design Architecture"
5
+ format:
6
+ html:
7
+ toc: true
8
+ toc-depth: 3
9
+ ---
10
+
11
+ {{PACKAGE_NAME}} treats every design token, animation curve, and color choice as a moral decision with consequences for human agency. Ethics is not bolted on after design --- it is embedded in the system architecture from the foundation.
12
+
13
+ ## Core Commitments
14
+
15
+ 1. **Emancipation over efficiency** --- When efficiency and emancipation conflict, emancipation always wins.
16
+ 2. **AI in culture, not culture in AI** --- Technology serves lived human contexts, not the reverse.
17
+ 3. **Democratic participation** --- Communities affected by design decisions must have binding authority.
18
+ 4. **Reflexive practice** --- The system questions its own power relations.
19
+ 5. **Dialectical thinking** --- Productive tension over false simplicity.
20
+
21
+ ## Design Principles
22
+
23
+ ### Accessibility Beyond Compliance
24
+ WCAG compliance is a floor, not a ceiling. Enhanced standards: 7.0:1 contrast, 48px touch targets, 300ms motion maximum.
25
+
26
+ ### Ethical Tokens First-Class
27
+ Ethical constraints are first-class design tokens enforced at build time through the three-tier hierarchy (Primitive, Semantic, Ethical).
28
+
29
+ ### Performance Equity
30
+ Speed is access. Design targets the most constrained users: 2G networks, single-core processors, 1GB RAM devices.
31
+
32
+ ### Color Democracy
33
+ Color is communication technology serving community meaning-making, not brand commodity.
34
+
35
+ ### Motion Dignity
36
+ Animation must respect vestibular safety, cognitive load, and cultural expectations.
37
+
38
+ ## How Ethics Are Enforced
39
+
40
+ ::: {.ethical-note}
41
+ **Build-time validation:** Three automated validators gate every deployment:
42
+
43
+ - **Contrast checking** --- 7.0:1 minimum ratio
44
+ - **Motion linting** --- 300ms maximum duration, `prefers-reduced-motion` required
45
+ - **Bundle size checking** --- Performance equity for low-bandwidth users
46
+ :::
47
+
48
+ For the complete design system documentation, see the [Design System](design_system.qmd) page.
49
+ For governance processes, see [Democratic Governance](governance.qmd).
@@ -0,0 +1,71 @@
1
+ <!-- @dataimago/css@0.1.0-alpha.21 dist/templates/quarto_website/index.qmd.template · sha256:fa09cd4cce412445d164a1ca1248c5080e03ee65db6e762e4bf2e543557c2958 · generated from tokens; do not edit · restore: npx -p @dataimago/css@0.1.0-alpha.21 dataimago-sync -->
2
+ ---
3
+ format:
4
+ html:
5
+ page-layout: full
6
+ toc: false
7
+ sidebar: false
8
+ ---
9
+
10
+ ::::::::: {.lenis-slide}
11
+ ::::::: {.hero-section}
12
+ :::::: {.grid}
13
+ :::: {.g-col-12 .g-col-md-4 .logo-column}
14
+ ::: {.logo-container}
15
+ ![](assets/img/package_hex_logo.svg){width=500 .hero-logo}
16
+ :::
17
+ ::::
18
+ :::: {.g-col-12 .g-col-md-8 .g-start-md-5}
19
+ ::: {.hero-content-scroller data-lenis-animate="fade-left"}
20
+ ::: {.scroller-content}
21
+
22
+ ### {{PACKAGE_NAME}} {.content-item}
23
+
24
+ {{PACKAGE_DESCRIPTION}}
25
+
26
+ ### Built with dataimago {.content-item}
27
+
28
+ This package is built using the dataimago framework --- an AI-native application development framework for data science with ethical AI principles at its core.
29
+
30
+ ### R-First Workflows {.content-item}
31
+
32
+ Familiar R interfaces wrap sophisticated web tools, providing modern development capabilities without leaving your preferred environment.
33
+
34
+ :::
35
+ :::
36
+ ::::
37
+ ::::::
38
+ :::::::
39
+ :::::::::
40
+
41
+ :::::: {.lenis-slide}
42
+ :::: {.cards-container}
43
+ :::: {.cards-grid}
44
+
45
+ ::: {.feature-card}
46
+ ### R Package
47
+
48
+ Complete function documentation and examples.
49
+
50
+ [View Documentation](r_package.qmd)
51
+ :::
52
+
53
+ ::: {.feature-card}
54
+ ### Ethical AI
55
+
56
+ Built on dataimago's ethical AI framework with build-time enforcement.
57
+
58
+ [Learn More](ethics.qmd)
59
+ :::
60
+
61
+ ::: {.feature-card}
62
+ ### Design System
63
+
64
+ Three-tier token architecture ensuring accessibility and cultural sensitivity.
65
+
66
+ [Explore](design_system.qmd)
67
+ :::
68
+
69
+ ::::
70
+ ::::
71
+ ::::::
package/dist/tokens.css CHANGED
@@ -45,10 +45,12 @@
45
45
  --color-palette-copper-700: #913d15;
46
46
  --color-palette-copper-800: #753318;
47
47
  --color-palette-copper-900: #612b16;
48
- --color-palette-accent-50: #fdf2f2;
49
- --color-palette-accent-500: #b54a27;
50
- --color-palette-accent-600: #9a3e20;
51
- --color-palette-accent-700: #7d321a;
48
+ --color-palette-accent-50: #f0f8fc;
49
+ --color-palette-accent-300: #3498DB;
50
+ --color-palette-accent-400: #2980B9;
51
+ --color-palette-accent-500: #1f618d;
52
+ --color-palette-accent-600: #154d6f;
53
+ --color-palette-accent-700: #0f3a52;
52
54
  --color-palette-presentation-blue-50: #f0f8fc;
53
55
  --color-palette-presentation-blue-500: #3498DB;
54
56
  --color-palette-presentation-blue-600: #2980B9;
@@ -114,31 +116,75 @@
114
116
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
115
117
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
116
118
  --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1);
119
+ --color-dataviz-okabe-ito-orange: #E69F00;
120
+ --color-dataviz-okabe-ito-sky-blue: #56B4E9;
121
+ --color-dataviz-okabe-ito-bluish-green: #009E73;
122
+ --color-dataviz-okabe-ito-yellow: #F0E442;
123
+ --color-dataviz-okabe-ito-blue: #0072B2;
124
+ --color-dataviz-okabe-ito-vermillion: #D55E00;
125
+ --color-dataviz-okabe-ito-reddish-purple: #CC79A7;
126
+ --color-dataviz-categorical-1: #E69F00;
127
+ --color-dataviz-categorical-2: #56B4E9;
128
+ --color-dataviz-categorical-3: #009E73;
129
+ --color-dataviz-categorical-4: #F0E442;
130
+ --color-dataviz-categorical-5: #0072B2;
131
+ --color-dataviz-categorical-6: #D55E00;
132
+ --color-dataviz-categorical-7: #CC79A7;
117
133
  }
118
134
 
119
135
  :root, [data-bs-theme="light"] {
120
136
  --color-surface-page: #ededeb;
137
+ --color-surface-page: color(display-p3 0.9294 0.9294 0.9223);
121
138
  --color-surface-page-scrolled: #ededeb;
139
+ --color-surface-page-scrolled: color(display-p3 0.9294 0.9294 0.9223);
122
140
  --color-surface-elevated: #f7f7f6;
141
+ --color-surface-elevated: color(display-p3 0.9686 0.9686 0.9651);
123
142
  --color-surface-sunken: #faf2e3;
143
+ --color-surface-sunken: color(display-p3 0.9749 0.9501 0.8963);
124
144
  --color-surface-navbar: #ededeb;
145
+ --color-surface-navbar: color(display-p3 0.9294 0.9294 0.9223);
125
146
  --color-surface-navbar-scrolled: #ededeb;
147
+ --color-surface-navbar-scrolled: color(display-p3 0.9294 0.9294 0.9223);
126
148
  --color-surface-code: #faf2e3;
127
- --color-border-subtle: rgba(12, 10, 9, 0.08);
128
- --color-border-moderate: rgba(12, 10, 9, 0.15);
129
- --color-border-strong: rgba(12, 10, 9, 0.25);
130
- --color-border-card: rgba(12, 10, 9, 0.15);
149
+ --color-surface-code: color(display-p3 0.9749 0.9501 0.8963);
150
+ --color-border-subtle: rgba(12, 10, 9, 0.45);
151
+ --color-border-subtle: color(display-p3 0.0457 0.0395 0.0358 / 0.45);
152
+ --color-border-moderate: rgba(12, 10, 9, 0.60);
153
+ --color-border-moderate: color(display-p3 0.0457 0.0395 0.0358 / 0.60);
154
+ --color-border-strong: rgba(12, 10, 9, 0.75);
155
+ --color-border-strong: color(display-p3 0.0457 0.0395 0.0358 / 0.75);
156
+ --color-border-card: rgba(12, 10, 9, 0.60);
157
+ --color-border-card: color(display-p3 0.0457 0.0395 0.0358 / 0.60);
131
158
  --color-border-code: #d6d3d1;
159
+ --color-border-code: color(display-p3 0.8371 0.8278 0.8205);
132
160
  --color-content-primary: #14140f;
133
- --color-content-secondary: #7c7c7c;
134
- --color-content-muted: #78716c;
161
+ --color-content-primary: color(display-p3 0.0784 0.0784 0.0608);
162
+ --color-content-secondary: #6a6a6a;
163
+ --color-content-secondary: color(display-p3 0.4157 0.4157 0.4157);
164
+ --color-content-muted: #706964;
165
+ --color-content-muted: color(display-p3 0.4345 0.4127 0.3945);
135
166
  --color-content-inverse: #fdf9f2;
167
+ --color-content-inverse: color(display-p3 0.9894 0.977 0.9518);
136
168
  --color-interactive-primary: #434739;
169
+ --color-interactive-primary: color(display-p3 0.2656 0.2779 0.2287);
137
170
  --color-interactive-hover: #363a2e;
138
- --color-interactive-accent: #b54a27;
171
+ --color-interactive-hover: color(display-p3 0.2146 0.2269 0.1848);
172
+ --color-interactive-accent: #1f618d;
173
+ --color-interactive-accent: color(display-p3 0.198 0.375 0.5385);
139
174
  --color-interactive-focus: #434739;
140
- --color-presentation-accent: #3498DB;
141
- --color-presentation-accent-hover: #2980B9;
175
+ --color-interactive-focus: color(display-p3 0.2656 0.2779 0.2287);
176
+ --color-presentation-accent: #3498db;
177
+ --color-presentation-accent: color(display-p3 0.3208 0.588 0.8369);
178
+ --color-presentation-accent-hover: #2980b9;
179
+ --color-presentation-accent-hover: color(display-p3 0.2638 0.495 0.7068);
180
+ --color-vertical-accent-dissertation: #b87333;
181
+ --color-vertical-accent-dissertation: color(display-p3 0.7242 0.4389 0.1259);
182
+ --color-vertical-accent-rpkg: #3b82f6;
183
+ --color-vertical-accent-rpkg: color(display-p3 0.3047 0.5035 0.9338);
184
+ --color-vertical-accent-SGPc: #5a6310;
185
+ --color-vertical-accent-SGPc: color(display-p3 0.3595 0.3871 0.1309);
186
+ --color-brand-mark-red: #cc0000;
187
+ --color-brand-mark-red: color(display-p3 0.7331 0.1519 0.1019);
142
188
  --contrast-high: rgb(20, 20, 16);
143
189
  --contrast-readable: rgb(20, 20, 16);
144
190
  --contrast-medium: #7c7c7c;
@@ -146,36 +192,71 @@
146
192
  --shadow-subtle: 0 1px 2px 0 rgb(20 20 16 / 0.05);
147
193
  --shadow-moderate: 0 4px 6px -1px rgb(20 20 16 / 0.1);
148
194
  --shadow-prominent: 0 10px 15px -3px rgb(20 20 16 / 0.1);
149
- --border-subtle: rgba(20, 20, 16, 0.1);
150
- --border-moderate: rgba(20, 20, 16, 0.15);
195
+ --border-subtle: rgba(20, 20, 16, 0.47);
196
+ --border-moderate: rgba(20, 20, 16, 0.63);
151
197
  --border-focus: #3498DB;
152
198
  --navigation-hover-background: rgba(20, 20, 16, 0.05);
153
199
  --navigation-active-background: rgba(20, 20, 16, 0.1);
200
+ --color-dataviz-okabe-ito-black: #000000;
201
+ --color-dataviz-categorical-8: #000000;
202
+ --color-dataviz-uncertainty-outer: #D6D6D6;
203
+ --color-dataviz-uncertainty-union: #9E9E9E;
204
+ --color-dataviz-uncertainty-inner: #333333;
154
205
  }
155
206
 
156
207
  [data-bs-theme="dark"] {
157
208
  --color-surface-page: #141410;
209
+ --color-surface-page: color(display-p3 0.0784 0.0784 0.0643);
158
210
  --color-surface-page-scrolled: #141410;
211
+ --color-surface-page-scrolled: color(display-p3 0.0784 0.0784 0.0643);
159
212
  --color-surface-elevated: #1c1917;
213
+ --color-surface-elevated: color(display-p3 0.1078 0.0985 0.0911);
160
214
  --color-surface-sunken: #0c0a09;
215
+ --color-surface-sunken: color(display-p3 0.0457 0.0395 0.0358);
161
216
  --color-surface-navbar: #141410;
217
+ --color-surface-navbar: color(display-p3 0.0784 0.0784 0.0643);
162
218
  --color-surface-navbar-scrolled: #141410;
219
+ --color-surface-navbar-scrolled: color(display-p3 0.0784 0.0784 0.0643);
163
220
  --color-surface-code: #1c1917;
164
- --color-border-subtle: rgba(253, 249, 242, 0.08);
165
- --color-border-moderate: rgba(253, 249, 242, 0.15);
166
- --color-border-strong: rgba(253, 249, 242, 0.25);
167
- --color-border-card: rgba(253, 249, 242, 0.15);
221
+ --color-surface-code: color(display-p3 0.1078 0.0985 0.0911);
222
+ --color-border-subtle: rgba(253, 249, 242, 0.45);
223
+ --color-border-subtle: color(display-p3 0.9894 0.977 0.9518 / 0.45);
224
+ --color-border-moderate: rgba(253, 249, 242, 0.60);
225
+ --color-border-moderate: color(display-p3 0.9894 0.977 0.9518 / 0.60);
226
+ --color-border-strong: rgba(253, 249, 242, 0.75);
227
+ --color-border-strong: color(display-p3 0.9894 0.977 0.9518 / 0.75);
228
+ --color-border-card: rgba(253, 249, 242, 0.60);
229
+ --color-border-card: color(display-p3 0.9894 0.977 0.9518 / 0.60);
168
230
  --color-border-code: #292524;
231
+ --color-border-code: color(display-p3 0.1581 0.1456 0.1418);
169
232
  --color-content-primary: #fdf9f2;
233
+ --color-content-primary: color(display-p3 0.9894 0.977 0.9518);
170
234
  --color-content-secondary: #a8a29e;
171
- --color-content-muted: #78716c;
235
+ --color-content-secondary: color(display-p3 0.6547 0.6361 0.6215);
236
+ --color-content-muted: #89827d;
237
+ --color-content-muted: color(display-p3 0.5325 0.5107 0.4925);
172
238
  --color-content-inverse: #0c0a09;
239
+ --color-content-inverse: color(display-p3 0.0457 0.0395 0.0358);
173
240
  --color-interactive-primary: #98a384;
241
+ --color-interactive-primary: color(display-p3 0.604 0.6378 0.5291);
174
242
  --color-interactive-hover: #7e8a6b;
175
- --color-interactive-accent: #b54a27;
243
+ --color-interactive-hover: color(display-p3 0.5029 0.5397 0.4313);
244
+ --color-interactive-accent: #3498db;
245
+ --color-interactive-accent: color(display-p3 0.3208 0.588 0.8369);
176
246
  --color-interactive-focus: #98a384;
177
- --color-presentation-accent: #3498DB;
178
- --color-presentation-accent-hover: #2980B9;
247
+ --color-interactive-focus: color(display-p3 0.604 0.6378 0.5291);
248
+ --color-presentation-accent: #3498db;
249
+ --color-presentation-accent: color(display-p3 0.3208 0.588 0.8369);
250
+ --color-presentation-accent-hover: #2980b9;
251
+ --color-presentation-accent-hover: color(display-p3 0.2638 0.495 0.7068);
252
+ --color-vertical-accent-dissertation: #ce8e5c;
253
+ --color-vertical-accent-dissertation: color(display-p3 0.8089 0.5486 0.3177);
254
+ --color-vertical-accent-rpkg: #60a5fa;
255
+ --color-vertical-accent-rpkg: color(display-p3 0.4405 0.6403 0.9545);
256
+ --color-vertical-accent-SGPc: #b2bf22;
257
+ --color-vertical-accent-SGPc: color(display-p3 0.7074 0.7474 0.2714);
258
+ --color-brand-mark-red: #ff0000;
259
+ --color-brand-mark-red: color(display-p3 1 0 0);
179
260
  --contrast-high: rgb(237, 237, 235);
180
261
  --contrast-readable: rgb(237, 237, 235);
181
262
  --contrast-medium: #83838f;
@@ -183,37 +264,72 @@
183
264
  --shadow-subtle: 0 1px 2px 0 rgb(237 237 235 / 0.03);
184
265
  --shadow-moderate: 0 4px 6px -1px rgb(237 237 235 / 0.05);
185
266
  --shadow-prominent: 0 10px 15px -3px rgb(237 237 235 / 0.4);
186
- --border-subtle: rgba(237, 237, 235, 0.1);
187
- --border-moderate: rgba(237, 237, 235, 0.15);
267
+ --border-subtle: rgba(237, 237, 235, 0.47);
268
+ --border-moderate: rgba(237, 237, 235, 0.63);
188
269
  --border-focus: #4FC3F7;
189
270
  --navigation-hover-background: rgba(237, 237, 235, 0.05);
190
271
  --navigation-active-background: rgba(237, 237, 235, 0.1);
272
+ --color-dataviz-okabe-ito-black: #FDF9F2;
273
+ --color-dataviz-categorical-8: #FDF9F2;
274
+ --color-dataviz-uncertainty-outer: #333333;
275
+ --color-dataviz-uncertainty-union: #6B6B6B;
276
+ --color-dataviz-uncertainty-inner: #D6D6D6;
191
277
  }
192
278
 
193
279
  @media (prefers-color-scheme: dark) {
194
- :root {
280
+ :root:where(:not([data-bs-theme="light"])) {
195
281
  --color-surface-page: #141410;
282
+ --color-surface-page: color(display-p3 0.0784 0.0784 0.0643);
196
283
  --color-surface-page-scrolled: #141410;
284
+ --color-surface-page-scrolled: color(display-p3 0.0784 0.0784 0.0643);
197
285
  --color-surface-elevated: #1c1917;
286
+ --color-surface-elevated: color(display-p3 0.1078 0.0985 0.0911);
198
287
  --color-surface-sunken: #0c0a09;
288
+ --color-surface-sunken: color(display-p3 0.0457 0.0395 0.0358);
199
289
  --color-surface-navbar: #141410;
290
+ --color-surface-navbar: color(display-p3 0.0784 0.0784 0.0643);
200
291
  --color-surface-navbar-scrolled: #141410;
292
+ --color-surface-navbar-scrolled: color(display-p3 0.0784 0.0784 0.0643);
201
293
  --color-surface-code: #1c1917;
202
- --color-border-subtle: rgba(253, 249, 242, 0.08);
203
- --color-border-moderate: rgba(253, 249, 242, 0.15);
204
- --color-border-strong: rgba(253, 249, 242, 0.25);
205
- --color-border-card: rgba(253, 249, 242, 0.15);
294
+ --color-surface-code: color(display-p3 0.1078 0.0985 0.0911);
295
+ --color-border-subtle: rgba(253, 249, 242, 0.45);
296
+ --color-border-subtle: color(display-p3 0.9894 0.977 0.9518 / 0.45);
297
+ --color-border-moderate: rgba(253, 249, 242, 0.60);
298
+ --color-border-moderate: color(display-p3 0.9894 0.977 0.9518 / 0.60);
299
+ --color-border-strong: rgba(253, 249, 242, 0.75);
300
+ --color-border-strong: color(display-p3 0.9894 0.977 0.9518 / 0.75);
301
+ --color-border-card: rgba(253, 249, 242, 0.60);
302
+ --color-border-card: color(display-p3 0.9894 0.977 0.9518 / 0.60);
206
303
  --color-border-code: #292524;
304
+ --color-border-code: color(display-p3 0.1581 0.1456 0.1418);
207
305
  --color-content-primary: #fdf9f2;
306
+ --color-content-primary: color(display-p3 0.9894 0.977 0.9518);
208
307
  --color-content-secondary: #a8a29e;
209
- --color-content-muted: #78716c;
308
+ --color-content-secondary: color(display-p3 0.6547 0.6361 0.6215);
309
+ --color-content-muted: #89827d;
310
+ --color-content-muted: color(display-p3 0.5325 0.5107 0.4925);
210
311
  --color-content-inverse: #0c0a09;
312
+ --color-content-inverse: color(display-p3 0.0457 0.0395 0.0358);
211
313
  --color-interactive-primary: #98a384;
314
+ --color-interactive-primary: color(display-p3 0.604 0.6378 0.5291);
212
315
  --color-interactive-hover: #7e8a6b;
213
- --color-interactive-accent: #b54a27;
316
+ --color-interactive-hover: color(display-p3 0.5029 0.5397 0.4313);
317
+ --color-interactive-accent: #3498db;
318
+ --color-interactive-accent: color(display-p3 0.3208 0.588 0.8369);
214
319
  --color-interactive-focus: #98a384;
215
- --color-presentation-accent: #3498DB;
216
- --color-presentation-accent-hover: #2980B9;
320
+ --color-interactive-focus: color(display-p3 0.604 0.6378 0.5291);
321
+ --color-presentation-accent: #3498db;
322
+ --color-presentation-accent: color(display-p3 0.3208 0.588 0.8369);
323
+ --color-presentation-accent-hover: #2980b9;
324
+ --color-presentation-accent-hover: color(display-p3 0.2638 0.495 0.7068);
325
+ --color-vertical-accent-dissertation: #ce8e5c;
326
+ --color-vertical-accent-dissertation: color(display-p3 0.8089 0.5486 0.3177);
327
+ --color-vertical-accent-rpkg: #60a5fa;
328
+ --color-vertical-accent-rpkg: color(display-p3 0.4405 0.6403 0.9545);
329
+ --color-vertical-accent-SGPc: #b2bf22;
330
+ --color-vertical-accent-SGPc: color(display-p3 0.7074 0.7474 0.2714);
331
+ --color-brand-mark-red: #ff0000;
332
+ --color-brand-mark-red: color(display-p3 1 0 0);
217
333
  --contrast-high: rgb(237, 237, 235);
218
334
  --contrast-readable: rgb(237, 237, 235);
219
335
  --contrast-medium: #83838f;
@@ -221,10 +337,15 @@
221
337
  --shadow-subtle: 0 1px 2px 0 rgb(237 237 235 / 0.03);
222
338
  --shadow-moderate: 0 4px 6px -1px rgb(237 237 235 / 0.05);
223
339
  --shadow-prominent: 0 10px 15px -3px rgb(237 237 235 / 0.4);
224
- --border-subtle: rgba(237, 237, 235, 0.1);
225
- --border-moderate: rgba(237, 237, 235, 0.15);
340
+ --border-subtle: rgba(237, 237, 235, 0.47);
341
+ --border-moderate: rgba(237, 237, 235, 0.63);
226
342
  --border-focus: #4FC3F7;
227
343
  --navigation-hover-background: rgba(237, 237, 235, 0.05);
228
344
  --navigation-active-background: rgba(237, 237, 235, 0.1);
345
+ --color-dataviz-okabe-ito-black: #FDF9F2;
346
+ --color-dataviz-categorical-8: #FDF9F2;
347
+ --color-dataviz-uncertainty-outer: #333333;
348
+ --color-dataviz-uncertainty-union: #6B6B6B;
349
+ --color-dataviz-uncertainty-inner: #D6D6D6;
229
350
  }
230
351
  }