@dataengineeringformachinelearning/viking-ui 4.0.3 → 4.0.5

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.
Files changed (246) hide show
  1. package/README.md +35 -11
  2. package/dist/README.md +35 -11
  3. package/dist/design-tokens.css +300 -85
  4. package/dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs +135 -70
  5. package/dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs.map +1 -1
  6. package/dist/icons.js +306 -0
  7. package/dist/package.json +24 -5
  8. package/{src/lib/site-drakkar/site-drakkar.config.ts → dist/site-drakkar.js} +64 -130
  9. package/dist/src/tokens/viking-tokens.json +9 -7
  10. package/dist/types/dataengineeringformachinelearning-viking-ui.d.ts +98 -4
  11. package/dist/viking-components.css +161 -70
  12. package/dist/viking-tokens.json +9 -7
  13. package/dist/viking-ui-elements.js +45 -33
  14. package/dist/viking-ui.css +1 -1
  15. package/dist/web-components.js +46 -36
  16. package/package.json +30 -8
  17. package/dist/scripts/build-web-components.mjs +0 -37
  18. package/dist/src/web/badge/viking-badge-wc.ts +0 -116
  19. package/dist/src/web/button/viking-button-wc.ts +0 -165
  20. package/dist/src/web/callout/viking-callout-wc.ts +0 -105
  21. package/dist/src/web/card/viking-card-wc.ts +0 -70
  22. package/dist/src/web/core/base.ts +0 -56
  23. package/dist/src/web/core/dom.ts +0 -53
  24. package/dist/src/web/core/icons-inline.ts +0 -44
  25. package/dist/src/web/core/styles.ts +0 -1261
  26. package/dist/src/web/core/types.ts +0 -19
  27. package/dist/src/web/field/viking-field-wc.ts +0 -154
  28. package/dist/src/web/index.ts +0 -73
  29. package/dist/src/web/input/viking-input-wc.ts +0 -211
  30. package/dist/src/web/modal/viking-modal-wc.ts +0 -187
  31. package/dist/src/web/search-palette/viking-search-palette-wc.ts +0 -494
  32. package/dist/src/web/select/viking-select-wc.ts +0 -218
  33. package/dist/src/web/suite-header/viking-suite-header-wc.ts +0 -729
  34. package/dist/src/web/suite-search-palette/viking-suite-search-palette-wc.ts +0 -234
  35. package/dist/src/web/theme-toggle/viking-theme-toggle-wc.ts +0 -139
  36. package/dist/src/web/types.ts +0 -37
  37. package/dist/src/web/web-components.spec.ts +0 -297
  38. package/src/assets/drakkar-favicon.svg +0 -17
  39. package/src/assets/fonts/inter/InterVariable-Italic.woff2 +0 -0
  40. package/src/assets/fonts/inter/InterVariable.woff2 +0 -0
  41. package/src/core/brand/deml-lockup.svg +0 -5
  42. package/src/core/brand/deml-mark-compact.svg +0 -4
  43. package/src/core/brand/deml-mark-filled.svg +0 -3
  44. package/src/core/brand/deml-mark-outline.svg +0 -4
  45. package/src/core/brand-icons.ts +0 -62
  46. package/src/core/icons.spec.ts +0 -52
  47. package/src/core/icons.ts +0 -206
  48. package/src/core/integration-brand-icons.ts +0 -77
  49. package/src/core/lucide-paths.generated.ts +0 -130
  50. package/src/core/types.ts +0 -85
  51. package/src/core/uid.ts +0 -7
  52. package/src/elements/button/viking-button.ts +0 -201
  53. package/src/elements/card/viking-card.ts +0 -60
  54. package/src/elements/core/dom.ts +0 -33
  55. package/src/elements/core/styles.ts +0 -28
  56. package/src/elements/modal/viking-modal.ts +0 -154
  57. package/src/index.ts +0 -1
  58. package/src/lib/accordion/accordion.ts +0 -126
  59. package/src/lib/app-header/app-header.scss +0 -274
  60. package/src/lib/app-header/app-header.ts +0 -43
  61. package/src/lib/app-sidebar/app-sidebar.scss +0 -415
  62. package/src/lib/app-sidebar/app-sidebar.ts +0 -29
  63. package/src/lib/auth-panel/auth-panel.spec.ts +0 -132
  64. package/src/lib/auth-panel/auth-panel.ts +0 -228
  65. package/src/lib/autocomplete/autocomplete.ts +0 -223
  66. package/src/lib/avatar/avatar.ts +0 -126
  67. package/src/lib/badge/badge.ts +0 -182
  68. package/src/lib/bar/bar.ts +0 -31
  69. package/src/lib/brand/brand.ts +0 -60
  70. package/src/lib/breadcrumbs/breadcrumbs.ts +0 -81
  71. package/src/lib/button/button-group.ts +0 -40
  72. package/src/lib/button/button.scss +0 -119
  73. package/src/lib/button/button.ts +0 -98
  74. package/src/lib/calendar/calendar.ts +0 -253
  75. package/src/lib/callout/callout.ts +0 -211
  76. package/src/lib/card/card-title.spec.ts +0 -27
  77. package/src/lib/card/card-title.ts +0 -50
  78. package/src/lib/card/card.ts +0 -198
  79. package/src/lib/carousel/carousel.ts +0 -206
  80. package/src/lib/chart/chart-zoom.spec.ts +0 -65
  81. package/src/lib/chart/chart-zoom.ts +0 -71
  82. package/src/lib/chart/chart.ts +0 -1257
  83. package/src/lib/chart-card-header/chart-card-header.ts +0 -80
  84. package/src/lib/chart-empty-state/chart-empty-state.ts +0 -146
  85. package/src/lib/chart-panel/chart-panel.ts +0 -133
  86. package/src/lib/checkbox/checkbox.ts +0 -139
  87. package/src/lib/color-picker/color-picker.ts +0 -148
  88. package/src/lib/command/command.ts +0 -260
  89. package/src/lib/composer/composer.ts +0 -180
  90. package/src/lib/confirm-dialog/confirm-dialog.ts +0 -163
  91. package/src/lib/confirm-dialog/dialog.service.ts +0 -79
  92. package/src/lib/context/context.ts +0 -75
  93. package/src/lib/core/brand-icons.ts +0 -62
  94. package/src/lib/core/cva.ts +0 -33
  95. package/src/lib/core/icons.ts +0 -206
  96. package/src/lib/core/integration-brand-icons.ts +0 -77
  97. package/src/lib/core/lucide-paths.generated.ts +0 -130
  98. package/src/lib/date-picker/date-picker.ts +0 -139
  99. package/src/lib/dropdown/dropdown.ts +0 -188
  100. package/src/lib/editor/editor.ts +0 -170
  101. package/src/lib/empty-state/empty-state.ts +0 -100
  102. package/src/lib/fab/fab.ts +0 -76
  103. package/src/lib/field/field.ts +0 -111
  104. package/src/lib/file-upload/file-upload.ts +0 -208
  105. package/src/lib/footer/footer.scss +0 -155
  106. package/src/lib/footer/footer.ts +0 -28
  107. package/src/lib/form-section/form-section.ts +0 -200
  108. package/src/lib/forms.spec.ts +0 -92
  109. package/src/lib/gauge-arc/gauge-arc.ts +0 -85
  110. package/src/lib/hud-panel/hud-panel.ts +0 -27
  111. package/src/lib/icon/icon.ts +0 -284
  112. package/src/lib/icon-badge/icon-badge.ts +0 -87
  113. package/src/lib/icon-heading/icon-heading.spec.ts +0 -32
  114. package/src/lib/icon-heading/icon-heading.ts +0 -38
  115. package/src/lib/icon-text/icon-text.ts +0 -120
  116. package/src/lib/input/input.ts +0 -119
  117. package/src/lib/kanban/kanban.ts +0 -211
  118. package/src/lib/kbd/kbd.ts +0 -32
  119. package/src/lib/label/label.ts +0 -39
  120. package/src/lib/loading-overlay/loading-overlay.ts +0 -80
  121. package/src/lib/menubar/menubar.ts +0 -77
  122. package/src/lib/metric-card/metric-card.ts +0 -33
  123. package/src/lib/modal/modal.ts +0 -207
  124. package/src/lib/native-select/native-select.ts +0 -124
  125. package/src/lib/navbar/navbar.ts +0 -124
  126. package/src/lib/navigation-menu/navigation-menu.ts +0 -116
  127. package/src/lib/otp-input/otp-input.ts +0 -164
  128. package/src/lib/page-back-link/page-back-link.ts +0 -74
  129. package/src/lib/page-header/page-header.ts +0 -70
  130. package/src/lib/pagination/pagination.ts +0 -157
  131. package/src/lib/pillbox/pillbox.ts +0 -157
  132. package/src/lib/popover/popover.ts +0 -92
  133. package/src/lib/profile/profile.ts +0 -73
  134. package/src/lib/progress/progress.ts +0 -123
  135. package/src/lib/radio/radio.ts +0 -132
  136. package/src/lib/ring-gauge/ring-gauge.ts +0 -75
  137. package/src/lib/scroll-area/scroll-area.ts +0 -57
  138. package/src/lib/search-palette/search-palette.scss +0 -288
  139. package/src/lib/search-palette/search-palette.ts +0 -114
  140. package/src/lib/select/select.ts +0 -292
  141. package/src/lib/separator/separator.ts +0 -59
  142. package/src/lib/sheet/sheet.ts +0 -192
  143. package/src/lib/sidebar-nav/sidebar-nav.scss +0 -218
  144. package/src/lib/sidebar-nav/sidebar-nav.ts +0 -158
  145. package/src/lib/site-drakkar/site-footer.ts +0 -129
  146. package/src/lib/site-drakkar/site-navbar.scss +0 -2
  147. package/src/lib/site-drakkar/site-navbar.ts +0 -277
  148. package/src/lib/site-drakkar/suite-search-items.spec.ts +0 -61
  149. package/src/lib/site-drakkar/suite-search-items.ts +0 -246
  150. package/src/lib/skeleton/skeleton.ts +0 -51
  151. package/src/lib/slider/slider.ts +0 -133
  152. package/src/lib/spinner/spinner.ts +0 -75
  153. package/src/lib/status-metric-row/status-metric-row.ts +0 -74
  154. package/src/lib/suite-search-palette/suite-search-palette.ts +0 -95
  155. package/src/lib/switch/switch.ts +0 -131
  156. package/src/lib/table/table.ts +0 -137
  157. package/src/lib/tabs/tab-panel.ts +0 -61
  158. package/src/lib/tabs/tab.ts +0 -107
  159. package/src/lib/tabs/tabs.ts +0 -109
  160. package/src/lib/textarea/textarea.ts +0 -103
  161. package/src/lib/theme-toggle/theme-toggle.spec.ts +0 -40
  162. package/src/lib/theme-toggle/theme-toggle.ts +0 -39
  163. package/src/lib/time-picker/time-picker.ts +0 -197
  164. package/src/lib/timeline/timeline.ts +0 -152
  165. package/src/lib/toast/toast.ts +0 -196
  166. package/src/lib/toggle/toggle-group.ts +0 -60
  167. package/src/lib/toggle/toggle.ts +0 -101
  168. package/src/lib/tooltip/tooltip.ts +0 -119
  169. package/src/lib/typography/heading.ts +0 -52
  170. package/src/lib/typography/text.ts +0 -51
  171. package/src/lib/uptime-bar/uptime-bar.ts +0 -55
  172. package/src/lib/verification-code-field/verification-code-field.ts +0 -149
  173. package/src/lib/whitepaper-cta/whitepaper-cta.scss +0 -130
  174. package/src/lib/whitepaper-cta/whitepaper-cta.ts +0 -78
  175. package/src/lib/wizard/wizard.ts +0 -80
  176. package/src/public-api.ts +0 -172
  177. package/src/styles/_buttons.scss +0 -386
  178. package/src/styles/_component-primitives.scss +0 -183
  179. package/src/styles/_drakkar-buttons.scss +0 -85
  180. package/src/styles/_fonts.scss +0 -22
  181. package/src/styles/_forms.scss +0 -66
  182. package/src/styles/_input.scss +0 -106
  183. package/src/styles/_layout-enforcement.scss +0 -229
  184. package/src/styles/_layout-rhythm.scss +0 -158
  185. package/src/styles/_legacy-aliases.scss +0 -212
  186. package/src/styles/_series-colors.scss +0 -24
  187. package/src/styles/_static-primitives.scss +0 -857
  188. package/src/styles/_typography.scss +0 -87
  189. package/src/styles/_variables.scss +0 -527
  190. package/src/styles/components/a11y.scss +0 -90
  191. package/src/styles/components/badges.scss +0 -102
  192. package/src/styles/components/extracted-utilities.scss +0 -459
  193. package/src/styles/components/footer.scss +0 -155
  194. package/src/styles/components/icon-heading.scss +0 -47
  195. package/src/styles/components/icon-inline.scss +0 -101
  196. package/src/styles/components/layout.scss +0 -59
  197. package/src/styles/components/utilities.scss +0 -131
  198. package/src/styles/components/viking-inspired.scss +0 -204
  199. package/src/styles/components/whitepaper-cta.scss +0 -130
  200. package/src/styles/components-bundle.scss +0 -9
  201. package/src/styles/components.scss +0 -442
  202. package/src/styles/deml-components.scss +0 -10
  203. package/src/styles/index.scss +0 -8
  204. package/src/styles/layout-shell.scss +0 -111
  205. package/src/styles/page-shell.scss +0 -859
  206. package/src/styles/static-navbar.scss +0 -1215
  207. package/src/styles/surfaces/backend.scss +0 -154
  208. package/src/styles/surfaces/docs-global.scss +0 -73
  209. package/src/styles/surfaces/docs-shell.scss +0 -437
  210. package/src/styles/surfaces/docs-showcase.scss +0 -1153
  211. package/src/styles/surfaces/marketing-cta.scss +0 -62
  212. package/src/styles/surfaces/marketing-docs-bento.scss +0 -67
  213. package/src/styles/surfaces/marketing-global.scss +0 -748
  214. package/src/styles/surfaces/marketing-landing.scss +0 -1526
  215. package/src/styles/surfaces/marketing-publication.scss +0 -535
  216. package/src/styles/surfaces/marketing-theme.scss +0 -14
  217. package/src/styles/surfaces/swagger-ui.scss +0 -922
  218. package/src/styles/tokens-export.scss +0 -18
  219. package/src/styles/tokens.scss +0 -5
  220. package/src/styles/viking-ui-bundle.scss +0 -23
  221. package/src/styles/viking-ui.scss +0 -270
  222. package/src/tokens/series-presets.ts +0 -15
  223. package/src/tokens/tailwind.preset.js +0 -209
  224. package/src/tokens/viking-tokens.json +0 -318
  225. package/src/viking-ui.spec.ts +0 -416
  226. package/src/web/badge/viking-badge-wc.ts +0 -116
  227. package/src/web/button/viking-button-wc.ts +0 -165
  228. package/src/web/callout/viking-callout-wc.ts +0 -105
  229. package/src/web/card/viking-card-wc.ts +0 -70
  230. package/src/web/core/base.ts +0 -56
  231. package/src/web/core/dom.ts +0 -53
  232. package/src/web/core/icons-inline.ts +0 -44
  233. package/src/web/core/styles.ts +0 -1261
  234. package/src/web/core/types.ts +0 -19
  235. package/src/web/field/viking-field-wc.ts +0 -154
  236. package/src/web/index.ts +0 -73
  237. package/src/web/input/viking-input-wc.ts +0 -211
  238. package/src/web/modal/viking-modal-wc.ts +0 -187
  239. package/src/web/search-palette/viking-search-palette-wc.ts +0 -494
  240. package/src/web/select/viking-select-wc.ts +0 -218
  241. package/src/web/suite-header/viking-suite-header-wc.ts +0 -729
  242. package/src/web/suite-search-palette/viking-suite-search-palette-wc.ts +0 -234
  243. package/src/web/theme-toggle/viking-theme-toggle-wc.ts +0 -139
  244. package/src/web/types.ts +0 -37
  245. package/src/web/web-components.spec.ts +0 -297
  246. package/src/web-components/index.ts +0 -1
@@ -1,87 +0,0 @@
1
- // Global typography — Inter via self-hosted variable font (_fonts.scss).
2
-
3
- html {
4
- font-family: var(--viking-font-family);
5
- font-size: var(--viking-font-size, 16px);
6
- line-height: var(--viking-line-height-relaxed, 1.625);
7
- font-optical-sizing: auto;
8
- -webkit-font-smoothing: antialiased;
9
- -moz-osx-font-smoothing: grayscale;
10
- text-rendering: optimizeLegibility;
11
- }
12
-
13
- body,
14
- .viking-ui-body {
15
- font-family: inherit;
16
- font-size: inherit;
17
- line-height: inherit;
18
- font-weight: var(--viking-font-weight-regular, 400);
19
- color: var(--viking-text);
20
- background-color: var(--viking-bg);
21
- }
22
-
23
- h1,
24
- h2,
25
- h3,
26
- h4,
27
- h5,
28
- h6 {
29
- font-family: var(--viking-font-family);
30
- font-weight: var(--viking-font-weight-semibold, 600);
31
- line-height: var(--viking-line-height-tight, 1.25);
32
- letter-spacing: var(--viking-letter-spacing-tight, -0.02em);
33
- }
34
-
35
- h1 {
36
- font-size: var(--viking-font-size-2xl, 30px);
37
- font-weight: var(--viking-font-weight-bold, 700);
38
- letter-spacing: var(--viking-letter-spacing-tighter, -0.03em);
39
- }
40
-
41
- h2 {
42
- font-size: var(--viking-font-size-xl, 24px);
43
- }
44
-
45
- h3 {
46
- font-size: var(--viking-font-size-lg, 20px);
47
- }
48
-
49
- h4 {
50
- font-size: var(--viking-font-size-md, 18px);
51
- }
52
-
53
- h5,
54
- h6 {
55
- font-size: var(--viking-font-size, 16px);
56
- font-weight: var(--viking-font-weight-medium, 500);
57
- }
58
-
59
- p {
60
- line-height: var(--viking-line-height-relaxed, 1.625);
61
- }
62
-
63
- code,
64
- pre,
65
- kbd,
66
- samp,
67
- .viking-font-mono {
68
- font-family: var(--viking-font-family-mono);
69
- }
70
-
71
- button,
72
- input,
73
- select,
74
- textarea {
75
- font-family: inherit;
76
- }
77
-
78
- .viking-font-display {
79
- font-family: var(--viking-font-family);
80
- font-weight: var(--viking-font-weight-bold, 700);
81
- letter-spacing: var(--viking-letter-spacing-caps, 0.08em);
82
- text-transform: uppercase;
83
- }
84
-
85
- .viking-tabular-nums {
86
- font-variant-numeric: tabular-nums lining-nums;
87
- }
@@ -1,527 +0,0 @@
1
- // ============================================================================
2
- // Viking-UI Premium Foundation Tokens
3
- // ----------------------------------------------------------------------------
4
- // Dark-first precision aesthetic: deep navy/black surfaces, #2176ff primary,
5
- // refined secondary accents. 8px spacing scale with 4px micro-grid aliases.
6
- // All --viking-* semantic tokens in viking-ui.scss map from these values.
7
- // ============================================================================
8
-
9
- :root {
10
- color-scheme: dark light;
11
-
12
- /* ── Deep navy surfaces (Lockheed × SpaceX precision aesthetic) ──────── */
13
- --viking-navy-1000: #01030a;
14
- --viking-navy-950: #030818;
15
- --viking-navy-900: #0a1024;
16
- --viking-navy-800: #101b33;
17
- --viking-navy-700: #162544;
18
- --viking-navy-600: #1e3054;
19
- --viking-navy-500: #284068;
20
- --viking-navy-400: #39547f;
21
- --viking-navy-300: #58719e;
22
- --viking-navy-200: #8fa2c2;
23
- --viking-navy-100: #d7e0ef;
24
-
25
- /* ── Electric blue accents (primary CTA, focus, links) ───────────────── */
26
- --viking-electric-900: #04225f;
27
- --viking-electric-800: #073a99;
28
- --viking-electric-700: #0a4fd4;
29
- --viking-electric-600: #1565f0;
30
- --viking-electric-500: #2176ff;
31
- --viking-electric-400: #4d94ff;
32
- --viking-electric-300: #7ab0ff;
33
- --viking-electric-200: #b6d3ff;
34
- --viking-electric-100: #e7f1ff;
35
-
36
- /* ── Charcoal surfaces (legacy alias — maps to navy in semantic tokens) ─ */
37
- --viking-charcoal-950: var(--viking-navy-950);
38
- --viking-charcoal-900: var(--viking-navy-900);
39
- --viking-charcoal-800: var(--viking-navy-800);
40
- --viking-charcoal-700: var(--viking-navy-700);
41
- --viking-charcoal-600: var(--viking-navy-600);
42
- --viking-charcoal-500: var(--viking-navy-500);
43
- --viking-charcoal-400: var(--viking-navy-400);
44
- --viking-charcoal-300: var(--viking-navy-300);
45
- --viking-charcoal-200: var(--viking-navy-200);
46
- --viking-charcoal-100: var(--viking-navy-100);
47
-
48
- /* ── Metallic accents (borders, dividers, subtle depth) ────────────────── */
49
- --viking-metallic-600: #555555;
50
- --viking-metallic-500: #666666;
51
- --viking-metallic-400: #777777;
52
- --viking-metallic-300: #999999;
53
- --viking-metallic-200: #aaaaaa;
54
- --viking-metallic-100: #bbbbbb;
55
- --viking-metallic-050: #e6e8ec;
56
-
57
- /* ── Primary accent — electric blue (CTAs, focus, links) ───────────────── */
58
- --viking-teal-700: var(--viking-electric-700);
59
- --viking-teal-600: var(--viking-electric-600);
60
- --viking-teal-500: var(--viking-electric-500);
61
- --viking-teal-400: var(--viking-electric-400);
62
- --viking-teal-300: var(--viking-electric-300);
63
-
64
- /* ── Secondary accent — rich crimson (emphasis, destructive) ───────────── */
65
- --viking-crimson-700: #7a2231;
66
- --viking-crimson-600: #922b3e;
67
- --viking-crimson-500: #a83344;
68
- --viking-crimson-400: #c44355;
69
- --viking-crimson-300: #dc6b78;
70
- --viking-crimson-100: #fde8ec;
71
-
72
- /* ── Refined accents — data, info, and product moments ────────────────── */
73
- --viking-cyan-600: #168aad;
74
- --viking-cyan-500: #1fa2c9;
75
- --viking-cyan-400: #47bee0;
76
- --viking-violet-600: #6f5bd7;
77
- --viking-violet-500: #8674f0;
78
- --viking-amber-600: #a77912;
79
- --viking-amber-500: #d69e2e;
80
-
81
- /* ── Status (refined for premium palette) ──────────────────────────────── */
82
- --viking-green-500: #2a9d8f;
83
- --viking-gold-500: #c4a035;
84
- /* Info / chart series 6 — electric blue family */
85
- --viking-blue-500: var(--viking-electric-400);
86
- --viking-red-500: var(--viking-crimson-500);
87
-
88
- /* ── Neutrals ──────────────────────────────────────────────────────────── */
89
- --viking-ink-1000: #000000;
90
- --viking-ink-950: #050609;
91
- --viking-ink-900: #0c0f14;
92
- --viking-ink-800: #151a22;
93
- --viking-ink-700: #202735;
94
- --viking-slate-100: #f4f7fb;
95
- --viking-slate-050: #fbfcfe;
96
- --viking-white: #f5f5f5;
97
- --viking-white-pure: #ffffff;
98
- --viking-black: #000000;
99
-
100
- /* ── Spacing — 8px scale with 4px micro-grid aliases preserved ─────────── */
101
- --viking-grid-unit: 4px;
102
- --viking-space-unit: 8px;
103
- --viking-space-0: 0;
104
- --viking-space-px: 1px;
105
- --viking-space-half: 4px;
106
- --viking-space-0-5: 4px;
107
- --viking-space-1: 8px;
108
- --viking-space-1-5: 12px;
109
- --viking-space-2: 16px;
110
- --viking-space-2-5: 20px;
111
- --viking-space-3: 24px;
112
- --viking-space-4: 32px;
113
- --viking-space-5: 40px;
114
- --viking-space-6: 48px;
115
- --viking-space-7: 56px;
116
- --viking-space-8: 64px;
117
- --viking-space-8-5: 72px;
118
- --viking-space-9: 80px;
119
- --viking-space-10: 96px;
120
- --viking-space-11: 112px;
121
- --viking-space-12: 128px;
122
- --viking-space-14: 160px;
123
- --viking-space-16: 192px;
124
- --viking-space-20: 256px;
125
- --viking-space-24: 320px;
126
-
127
- /* ── Typography (Inter self-hosted — see _fonts.scss) ───────────────────── */
128
- --viking-font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto,
129
- 'Helvetica Neue', Arial, sans-serif;
130
- --viking-font-family-mono: ui-monospace, 'JetBrains Mono', 'SF Mono', 'Cascadia Code', Consolas,
131
- monospace;
132
-
133
- --viking-font-size-2xs: 11px;
134
- --viking-font-size-xs: 12px;
135
- --viking-font-size-sm: 14px;
136
- --viking-font-size-base: 16px;
137
- --viking-font-size-md: 18px;
138
- --viking-font-size-lg: 20px;
139
- --viking-font-size-xl: 24px;
140
- --viking-font-size-2xl: 30px;
141
- --viking-font-size-3xl: 36px;
142
- --viking-font-size-4xl: 48px;
143
- --viking-font-size-5xl: 60px;
144
- --viking-font-size-6xl: 72px;
145
-
146
- --viking-font-weight-regular: 400;
147
- --viking-font-weight-medium: 500;
148
- --viking-font-weight-semibold: 600;
149
- --viking-font-weight-bold: 700;
150
- --viking-font-weight-extrabold: 800;
151
-
152
- --viking-line-height-none: 1;
153
- --viking-line-height-tight: 1.25;
154
- --viking-line-height-snug: 1.375;
155
- --viking-line-height-normal: 1.5;
156
- --viking-line-height-relaxed: 1.625;
157
- --viking-line-height-loose: 1.75;
158
-
159
- --viking-letter-spacing-tighter: -0.03em;
160
- --viking-letter-spacing-tight: -0.02em;
161
- --viking-letter-spacing-normal: 0;
162
- --viking-letter-spacing-wide: 0.025em;
163
- --viking-letter-spacing-wider: 0.05em;
164
- --viking-letter-spacing-caps: 0.08em;
165
-
166
- --viking-type-caption:
167
- var(--viking-font-weight-medium) var(--viking-font-size-xs) /
168
- var(--viking-line-height-normal) var(--viking-font-family);
169
- --viking-type-body-sm:
170
- var(--viking-font-weight-regular) var(--viking-font-size-sm) /
171
- var(--viking-line-height-normal) var(--viking-font-family);
172
- --viking-type-body:
173
- var(--viking-font-weight-regular) var(--viking-font-size-base) /
174
- var(--viking-line-height-normal) var(--viking-font-family);
175
- --viking-type-body-lg:
176
- var(--viking-font-weight-regular) var(--viking-font-size-md) /
177
- var(--viking-line-height-relaxed) var(--viking-font-family);
178
- --viking-type-heading-sm:
179
- var(--viking-font-weight-semibold) var(--viking-font-size-lg) /
180
- var(--viking-line-height-tight) var(--viking-font-family);
181
- --viking-type-heading:
182
- var(--viking-font-weight-bold) var(--viking-font-size-2xl) /
183
- var(--viking-line-height-tight) var(--viking-font-family);
184
- --viking-type-display:
185
- var(--viking-font-weight-extrabold) var(--viking-font-size-4xl) /
186
- var(--viking-line-height-none) var(--viking-font-family);
187
-
188
- /* ── Border radius — 6–12px premium feel ─────────────────────────────────── */
189
- --viking-radius-xs: 4px;
190
- --viking-radius-sm: 6px;
191
- --viking-radius: 8px;
192
- --viking-radius-md: 10px;
193
- --viking-radius-lg: 12px;
194
- --viking-radius-xl: 16px;
195
- --viking-radius-2xl: 24px;
196
- --viking-radius-pill: 999px;
197
- --viking-radius-full: var(--viking-radius-pill);
198
-
199
- /* ── Elevation — soft shadows with subtle metallic top-edge ──────────────── */
200
- --viking-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);
201
- --viking-shadow-sm:
202
- 0 1px 2px rgba(0, 0, 0, 0.18), 0 1px 3px rgba(0, 0, 0, 0.12),
203
- inset 0 1px 0 rgba(255, 255, 255, 0.04);
204
- --viking-shadow-md:
205
- 0 2px 4px rgba(0, 0, 0, 0.16), 0 4px 8px rgba(0, 0, 0, 0.12),
206
- inset 0 1px 0 rgba(255, 255, 255, 0.05);
207
- --viking-shadow-lg:
208
- 0 4px 8px rgba(0, 0, 0, 0.14), 0 12px 24px rgba(0, 0, 0, 0.18),
209
- inset 0 1px 0 rgba(255, 255, 255, 0.06);
210
- --viking-shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.14);
211
- --viking-shadow-hover:
212
- 0 8px 16px rgba(0, 0, 0, 0.14), 0 4px 8px rgba(0, 0, 0, 0.1),
213
- inset 0 1px 0 rgba(255, 255, 255, 0.06);
214
- --viking-shadow-focus: 0 0 0 var(--viking-ring-offset) var(--viking-bg),
215
- 0 0 0 calc(var(--viking-ring-offset) + var(--viking-ring-width)) var(--viking-ring);
216
- --viking-surface-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.06);
217
-
218
- /* ── Chart scale — unified responsive min/max (matches 720×240 SVG viewBox) ─ */
219
- --viking-chart-ratio: 3 / 1;
220
- --viking-chart-min-height: clamp(9.5rem, 22vw, 12rem);
221
- --viking-chart-max-height: clamp(13rem, 36vw, 17.5rem);
222
- --viking-chart-fill-min-height: clamp(18rem, 36vw, 20rem);
223
- --viking-chart-fill-max-height: none;
224
- --viking-chart-fill-min-height-lg: clamp(20rem, 40vw, 22rem);
225
- --viking-chart-fill-max-height-lg: none;
226
- --viking-chart-empty-min-height: var(--viking-chart-fill-min-height);
227
- --viking-chart-empty-min-height-lg: var(--viking-chart-fill-min-height-lg);
228
- --viking-chart-panel-min-height-md: 26rem;
229
- --viking-chart-panel-min-height-lg: 30rem;
230
- --viking-chart-panel-body-min-height-md: 22rem;
231
- --viking-chart-panel-body-min-height-lg: 25rem;
232
- --viking-chart-sparkline-height: 2.5rem;
233
- --viking-chart-map-min-height: 22.5rem;
234
-
235
- /* ── Breakpoints (mobile-first) ─────────────────────────────────────────── */
236
- --viking-bp-sm: 600px;
237
- --viking-bp-md: 768px;
238
- --viking-bp-sidebar: 901px;
239
- --viking-bp-lg: 1024px;
240
- --viking-bp-xl: 1440px;
241
- --viking-bp-2xl: 1920px;
242
-
243
- /* ── Motion ──────────────────────────────────────────────────────────────── */
244
- --viking-ease-default: cubic-bezier(0.4, 0, 0.2, 1);
245
- --viking-ease-in: cubic-bezier(0.4, 0, 1, 1);
246
- --viking-ease-out: cubic-bezier(0, 0, 0.2, 1);
247
- --viking-ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
248
-
249
- --viking-duration-instant: 75ms;
250
- --viking-duration-fast: 150ms;
251
- --viking-duration: 250ms;
252
- --viking-duration-slow: 350ms;
253
- --viking-duration-slower: 500ms;
254
-
255
- --viking-transition-colors:
256
- color var(--viking-duration) var(--viking-ease-default),
257
- background-color var(--viking-duration) var(--viking-ease-default),
258
- border-color var(--viking-duration) var(--viking-ease-default),
259
- box-shadow var(--viking-duration) var(--viking-ease-default),
260
- fill var(--viking-duration) var(--viking-ease-default),
261
- stroke var(--viking-duration) var(--viking-ease-default);
262
- --viking-transition-interactive:
263
- color var(--viking-duration) var(--viking-ease-default),
264
- background-color var(--viking-duration) var(--viking-ease-default),
265
- border-color var(--viking-duration) var(--viking-ease-default),
266
- box-shadow var(--viking-duration) var(--viking-ease-default),
267
- fill var(--viking-duration) var(--viking-ease-default),
268
- stroke var(--viking-duration) var(--viking-ease-default),
269
- transform var(--viking-duration) var(--viking-ease-default),
270
- opacity var(--viking-duration) var(--viking-ease-default);
271
- --viking-transition: all var(--viking-duration) var(--viking-ease-default);
272
- --viking-transition-fast: all var(--viking-duration-fast) var(--viking-ease-default);
273
- --viking-transition-transform: transform var(--viking-duration) var(--viking-ease-emphasized);
274
-
275
- /* ── Interactive state ───────────────────────────────────────────────────── */
276
- --viking-state-hover-lift: -1px;
277
- --viking-state-active-scale: 0.985;
278
- --viking-state-disabled-opacity: 0.48;
279
-
280
- /* ── Controls ──────────────────────────────────────────────────────────── */
281
- --viking-control-height: 44px;
282
- --viking-control-height-sm: 32px;
283
- --viking-control-height-xs: 24px;
284
- --viking-touch-target-min: 44px;
285
- --viking-control-padding-x: var(--viking-space-2);
286
- --viking-btn-min-width: 120px;
287
- --viking-select-panel-bg: var(--viking-surface-raised);
288
- --viking-select-half-max-width: min(100%, 24rem);
289
-
290
- /* ── Layout ────────────────────────────────────────────────────────────── */
291
- --viking-container-max-width: 1260px;
292
- --viking-navbar-height: 64px;
293
- --viking-sidebar-width: 256px;
294
-
295
- /* ── Layout rhythm — premium spacing enforcement (THEME.md §3) ─────────── */
296
- --viking-page-gutter: var(--viking-space-3);
297
- --viking-page-gutter-lg: var(--viking-space-4);
298
- --viking-page-gutter-xl: var(--viking-space-6);
299
- --viking-page-stack-gap: var(--viking-space-4);
300
- --viking-page-section-gap: var(--viking-space-6);
301
- --viking-section-padding-y: var(--viking-space-8);
302
- --viking-section-padding-y-compact: var(--viking-space-5);
303
- --viking-card-padding: var(--viking-space-4);
304
- --viking-card-padding-compact: var(--viking-space-3);
305
- --viking-panel-padding: var(--viking-space-4);
306
- --viking-panel-header-padding: var(--viking-space-3) var(--viking-space-4);
307
- --viking-form-max-width: 42rem;
308
- --viking-form-narrow-max-width: 28rem;
309
- --viking-content-readable-max-width: 48rem;
310
- --viking-card-min-width: 0;
311
- --viking-card-max-width: none;
312
- --viking-metric-card-min-height: 6.5rem;
313
- --viking-metric-card-tall-min-height: 8.25rem;
314
- --viking-metric-card-min-width: 10rem;
315
- --viking-surface-hairline-strength: 22%;
316
-
317
- /* ── Layering ────────────────────────────────────────────────────────────── */
318
- --viking-z-overlay: 1000;
319
- --viking-z-toast: 1100;
320
- --viking-z-tooltip: 1200;
321
-
322
- /* ── Chart ───────────────────────────────────────────────────────────────── */
323
- --viking-chart-axis-size: 12px;
324
-
325
- /* ── Icons ─────────────────────────────────────────────────────────────────── */
326
- --viking-icon-size-sm: 16px;
327
- --viking-icon-size-md: 20px;
328
- --viking-icon-size-lg: 24px;
329
- --viking-icon-stroke-width: 1.75;
330
- --viking-icon-stroke-width-sm: 1.5;
331
- }
332
-
333
- /* ── Dark mode (default) ─────────────────────────────────────────────────── */
334
- :root,
335
- html[data-theme='dark'] {
336
- color-scheme: dark;
337
-
338
- --viking-bg: var(--viking-charcoal-900);
339
- --viking-bg-subtle: var(--viking-ink-950);
340
- --viking-bg-inverted: var(--viking-white-pure);
341
- --viking-surface: var(--viking-charcoal-800);
342
- --viking-surface-alt: var(--viking-charcoal-700);
343
- --viking-surface-inset: var(--viking-charcoal-950);
344
- --viking-surface-raised: var(--viking-charcoal-600);
345
- --viking-surface-overlay: var(--viking-ink-800);
346
-
347
- --viking-text: var(--viking-white);
348
- --viking-text-muted: var(--viking-metallic-200);
349
- --viking-text-subtle: var(--viking-metallic-300);
350
- --viking-text-disabled: var(--viking-metallic-400);
351
- --viking-text-link: var(--viking-electric-300);
352
- --viking-text-link-hover: var(--viking-electric-200);
353
- --viking-text-inverted: var(--viking-charcoal-900);
354
-
355
- --viking-border: color-mix(in srgb, var(--viking-metallic-600) 48%, transparent);
356
- --viking-border-strong: color-mix(in srgb, var(--viking-metallic-400) 68%, transparent);
357
- --viking-border-subtle: color-mix(in srgb, var(--viking-metallic-600) 28%, transparent);
358
- --viking-border-accent: color-mix(in srgb, var(--viking-electric-500) 72%, transparent);
359
-
360
- --viking-accent: var(--viking-electric-500);
361
- --viking-accent-hover: var(--viking-electric-400);
362
- --viking-accent-active: var(--viking-electric-700);
363
- --viking-accent-content: var(--viking-white-pure);
364
- --viking-accent-soft: color-mix(in srgb, var(--viking-electric-500) 18%, transparent);
365
- --viking-accent-muted: color-mix(in srgb, var(--viking-electric-500) 10%, transparent);
366
- --viking-accent-strong: var(--viking-electric-300);
367
-
368
- --viking-accent-secondary: var(--viking-crimson-600);
369
- --viking-accent-secondary-hover: var(--viking-crimson-500);
370
- --viking-accent-secondary-active: var(--viking-crimson-700);
371
- --viking-accent-secondary-content: var(--viking-white-pure);
372
- --viking-accent-secondary-soft: color-mix(in srgb, var(--viking-crimson-600) 16%, transparent);
373
-
374
- --viking-success: var(--viking-green-500);
375
- --viking-success-soft: color-mix(in srgb, var(--viking-green-500) 14%, transparent);
376
- --viking-warning: var(--viking-gold-500);
377
- --viking-warning-soft: color-mix(in srgb, var(--viking-gold-500) 16%, transparent);
378
- --viking-danger: var(--viking-crimson-500);
379
- --viking-danger-soft: color-mix(in srgb, var(--viking-crimson-500) 16%, transparent);
380
- --viking-info: var(--viking-blue-500);
381
- --viking-info-soft: color-mix(in srgb, var(--viking-blue-500) 14%, transparent);
382
- --viking-danger-text: var(--viking-crimson-400);
383
- --viking-on-danger: var(--viking-white-pure);
384
-
385
- --viking-ring: var(--viking-electric-400);
386
- --viking-ring-width: 2px;
387
- --viking-ring-offset: 2px;
388
-
389
- --viking-overlay-backdrop: color-mix(in srgb, var(--viking-charcoal-950) 72%, transparent);
390
- --viking-surface-glass: color-mix(in srgb, var(--viking-charcoal-800) 82%, transparent);
391
- --viking-surface-glass-blur: 12px;
392
- --viking-state-hover-bg: color-mix(in srgb, var(--viking-electric-500) 10%, transparent);
393
- --viking-state-active-bg: color-mix(in srgb, var(--viking-electric-700) 14%, transparent);
394
- --viking-state-selected-bg: color-mix(in srgb, var(--viking-electric-500) 18%, transparent);
395
- --viking-state-disabled-bg: color-mix(in srgb, var(--viking-metallic-600) 20%, transparent);
396
-
397
- --viking-shadow-sm:
398
- 0 1px 2px rgba(0, 0, 0, 0.28), 0 1px 3px rgba(0, 0, 0, 0.18),
399
- inset 0 1px 0 rgba(255, 255, 255, 0.04);
400
- --viking-shadow-md:
401
- 0 2px 4px rgba(0, 0, 0, 0.24), 0 4px 8px rgba(0, 0, 0, 0.16),
402
- inset 0 1px 0 rgba(255, 255, 255, 0.05);
403
- --viking-shadow-lg:
404
- 0 4px 8px rgba(0, 0, 0, 0.2), 0 12px 24px rgba(0, 0, 0, 0.24),
405
- inset 0 1px 0 rgba(255, 255, 255, 0.06);
406
- }
407
-
408
- /* ── Light mode ──────────────────────────────────────────────────────────── */
409
- html[data-theme='light'] {
410
- color-scheme: light;
411
-
412
- --viking-bg: var(--viking-slate-050);
413
- --viking-bg-subtle: var(--viking-slate-100);
414
- --viking-bg-inverted: var(--viking-charcoal-900);
415
- --viking-surface: var(--viking-white-pure);
416
- --viking-surface-alt: var(--viking-slate-100);
417
- --viking-surface-inset: var(--viking-metallic-050);
418
- --viking-surface-raised: var(--viking-white-pure);
419
- --viking-surface-overlay: var(--viking-white-pure);
420
-
421
- --viking-text: var(--viking-charcoal-900);
422
- --viking-text-muted: var(--viking-metallic-500);
423
- --viking-text-subtle: var(--viking-metallic-400);
424
- --viking-text-disabled: var(--viking-metallic-300);
425
- --viking-text-link: var(--viking-electric-700);
426
- --viking-text-link-hover: var(--viking-electric-600);
427
- --viking-text-inverted: var(--viking-white-pure);
428
-
429
- --viking-border: color-mix(in srgb, var(--viking-metallic-600) 32%, transparent);
430
- --viking-border-strong: color-mix(in srgb, var(--viking-metallic-600) 48%, transparent);
431
- --viking-border-subtle: color-mix(in srgb, var(--viking-metallic-600) 22%, transparent);
432
- --viking-border-accent: color-mix(in srgb, var(--viking-electric-600) 58%, transparent);
433
-
434
- --viking-accent: var(--viking-electric-600);
435
- --viking-accent-hover: var(--viking-electric-500);
436
- --viking-accent-active: var(--viking-electric-700);
437
- --viking-accent-content: var(--viking-white-pure);
438
- --viking-accent-soft: color-mix(in srgb, var(--viking-electric-600) 14%, transparent);
439
- --viking-accent-muted: color-mix(in srgb, var(--viking-electric-600) 8%, transparent);
440
- --viking-accent-strong: var(--viking-electric-400);
441
-
442
- --viking-accent-secondary: var(--viking-crimson-700);
443
- --viking-accent-secondary-hover: var(--viking-crimson-600);
444
- --viking-accent-secondary-active: var(--viking-crimson-700);
445
- --viking-accent-secondary-content: var(--viking-white-pure);
446
- --viking-accent-secondary-soft: color-mix(in srgb, var(--viking-crimson-700) 12%, transparent);
447
-
448
- --viking-success-soft: color-mix(in srgb, var(--viking-green-500) 12%, transparent);
449
- --viking-warning-soft: color-mix(in srgb, var(--viking-gold-500) 14%, transparent);
450
- --viking-danger-soft: color-mix(in srgb, var(--viking-crimson-500) 12%, transparent);
451
- --viking-info-soft: color-mix(in srgb, var(--viking-blue-500) 12%, transparent);
452
- --viking-danger-text: var(--viking-crimson-700);
453
- --viking-on-danger: var(--viking-white-pure);
454
-
455
- --viking-ring: var(--viking-electric-500);
456
-
457
- --viking-overlay-backdrop: color-mix(in srgb, var(--viking-charcoal-900) 45%, transparent);
458
- --viking-surface-glass: color-mix(in srgb, var(--viking-white-pure) 88%, transparent);
459
- --viking-surface-glass-blur: 10px;
460
- --viking-state-hover-bg: color-mix(in srgb, var(--viking-electric-600) 8%, transparent);
461
- --viking-state-active-bg: color-mix(in srgb, var(--viking-electric-700) 12%, transparent);
462
- --viking-state-selected-bg: color-mix(in srgb, var(--viking-electric-600) 14%, transparent);
463
- --viking-state-disabled-bg: color-mix(in srgb, var(--viking-metallic-600) 12%, transparent);
464
-
465
- --viking-shadow-sm:
466
- 0 1px 2px rgba(17, 17, 17, 0.06), 0 1px 3px rgba(17, 17, 17, 0.08);
467
- --viking-shadow-md:
468
- 0 2px 4px rgba(17, 17, 17, 0.06), 0 4px 8px rgba(17, 17, 17, 0.08);
469
- --viking-shadow-lg:
470
- 0 4px 8px rgba(17, 17, 17, 0.06), 0 12px 24px rgba(17, 17, 17, 0.1);
471
- }
472
-
473
- /* Respect system preference when no explicit theme is set */
474
- @media (prefers-color-scheme: light) {
475
- html:not([data-theme='dark']) {
476
- color-scheme: light;
477
-
478
- --viking-bg: var(--viking-slate-050);
479
- --viking-bg-subtle: var(--viking-slate-100);
480
- --viking-bg-inverted: var(--viking-charcoal-900);
481
- --viking-surface: var(--viking-white-pure);
482
- --viking-surface-alt: var(--viking-slate-100);
483
- --viking-surface-inset: var(--viking-metallic-050);
484
- --viking-surface-raised: var(--viking-white-pure);
485
- --viking-surface-overlay: var(--viking-white-pure);
486
- --viking-text: var(--viking-charcoal-900);
487
- --viking-text-muted: var(--viking-metallic-500);
488
- --viking-text-subtle: var(--viking-metallic-400);
489
- --viking-text-disabled: var(--viking-metallic-300);
490
- --viking-text-link: var(--viking-electric-700);
491
- --viking-text-link-hover: var(--viking-electric-600);
492
- --viking-text-inverted: var(--viking-white-pure);
493
- --viking-border: color-mix(in srgb, var(--viking-metallic-600) 22%, transparent);
494
- --viking-border-strong: color-mix(in srgb, var(--viking-metallic-600) 38%, transparent);
495
- --viking-border-subtle: color-mix(in srgb, var(--viking-metallic-600) 12%, transparent);
496
- --viking-border-accent: color-mix(in srgb, var(--viking-electric-600) 58%, transparent);
497
- --viking-accent: var(--viking-electric-600);
498
- --viking-accent-hover: var(--viking-electric-500);
499
- --viking-accent-active: var(--viking-electric-700);
500
- --viking-accent-content: var(--viking-white-pure);
501
- --viking-accent-soft: color-mix(in srgb, var(--viking-electric-600) 10%, transparent);
502
- --viking-accent-muted: color-mix(in srgb, var(--viking-electric-600) 8%, transparent);
503
- --viking-accent-strong: var(--viking-electric-400);
504
- --viking-accent-secondary: var(--viking-crimson-700);
505
- --viking-accent-secondary-hover: var(--viking-crimson-600);
506
- --viking-accent-secondary-active: var(--viking-crimson-700);
507
- --viking-accent-secondary-content: var(--viking-white-pure);
508
- --viking-accent-secondary-soft: color-mix(in srgb, var(--viking-crimson-700) 8%, transparent);
509
- --viking-success-soft: color-mix(in srgb, var(--viking-green-500) 12%, transparent);
510
- --viking-warning-soft: color-mix(in srgb, var(--viking-gold-500) 14%, transparent);
511
- --viking-danger-soft: color-mix(in srgb, var(--viking-crimson-500) 12%, transparent);
512
- --viking-info-soft: color-mix(in srgb, var(--viking-blue-500) 12%, transparent);
513
- --viking-danger-text: var(--viking-crimson-700);
514
- --viking-on-danger: var(--viking-white-pure);
515
- --viking-ring: var(--viking-electric-500);
516
- --viking-overlay-backdrop: color-mix(in srgb, var(--viking-charcoal-900) 45%, transparent);
517
- --viking-surface-glass: color-mix(in srgb, var(--viking-white-pure) 88%, transparent);
518
- --viking-surface-glass-blur: 10px;
519
- --viking-state-hover-bg: color-mix(in srgb, var(--viking-electric-600) 8%, transparent);
520
- --viking-state-active-bg: color-mix(in srgb, var(--viking-electric-700) 12%, transparent);
521
- --viking-state-selected-bg: color-mix(in srgb, var(--viking-electric-600) 14%, transparent);
522
- --viking-state-disabled-bg: color-mix(in srgb, var(--viking-metallic-600) 12%, transparent);
523
- --viking-shadow-sm: 0 1px 2px rgba(17, 17, 17, 0.06), 0 1px 3px rgba(17, 17, 17, 0.08);
524
- --viking-shadow-md: 0 2px 4px rgba(17, 17, 17, 0.06), 0 4px 8px rgba(17, 17, 17, 0.08);
525
- --viking-shadow-lg: 0 4px 8px rgba(17, 17, 17, 0.06), 0 12px 24px rgba(17, 17, 17, 0.1);
526
- }
527
- }