@clicoh/orion-library 1.2.0-beta.11 → 1.2.0-beta.13

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 (243) hide show
  1. package/assets/css/expresivo.css +895 -0
  2. package/assets/mascotas/svg/bugi-mascota-01-alerta.svg +39 -0
  3. package/assets/mascotas/svg/bugi-mascota-02-investigando.svg +36 -0
  4. package/assets/mascotas/svg/bugi-mascota-05-sorprendido.svg +38 -0
  5. package/assets/mascotas/svg/oculus-mascota-01-feliz.svg +52 -0
  6. package/assets/mascotas/svg/oculus-mascota-02-investigando.svg +51 -0
  7. package/assets/mascotas/svg/oculus-mascota-03-dudando.svg +51 -0
  8. package/assets/mascotas/svg/oculus-mascota-04-analizando-documento.svg +53 -0
  9. package/assets/mascotas/svg/oculus-mascota-06-celebrando.svg +54 -0
  10. package/assets/mascotas/svg/oculus-mascota-07-buscando-rapido.svg +57 -0
  11. package/assets/mascotas/svg/oculus-mascota-08-satisfecho.svg +55 -0
  12. package/assets/mascotas/webp/fixi-mascota-01-feliz-sm.webp +0 -0
  13. package/assets/mascotas/webp/fixi-mascota-02-investigando-sm.webp +0 -0
  14. package/assets/mascotas/webp/fixi-mascota-03-dudando-sm.webp +0 -0
  15. package/assets/mascotas/webp/fixi-mascota-04-reparando-sm.webp +0 -0
  16. package/assets/mascotas/webp/fixi-mascota-05-sorprendido-sm.webp +0 -0
  17. package/assets/mascotas/webp/fixi-mascota-06-celebrando-sm.webp +0 -0
  18. package/assets/mascotas/webp/fixi-mascota-07-corriendo-sm.webp +0 -0
  19. package/dist/components/01-atoms/Button/Button.d.ts +18 -1
  20. package/dist/components/01-atoms/Button/Button.d.ts.map +1 -1
  21. package/dist/components/01-atoms/Button/Button.jsx +25 -5
  22. package/dist/components/01-atoms/Button/Button.jsx.map +1 -1
  23. package/dist/components/01-atoms/CodeBlock/CodeBlock.d.ts +56 -0
  24. package/dist/components/01-atoms/CodeBlock/CodeBlock.d.ts.map +1 -0
  25. package/dist/components/01-atoms/CodeBlock/CodeBlock.jsx +97 -0
  26. package/dist/components/01-atoms/CodeBlock/CodeBlock.jsx.map +1 -0
  27. package/dist/components/01-atoms/CodeBlock/index.d.ts +2 -0
  28. package/dist/components/01-atoms/CodeBlock/index.d.ts.map +1 -0
  29. package/dist/components/01-atoms/CodeBlock/index.js +2 -0
  30. package/dist/components/01-atoms/CodeBlock/index.js.map +1 -0
  31. package/dist/components/01-atoms/Heading/Heading.jsx +1 -1
  32. package/dist/components/01-atoms/Heading/Heading.jsx.map +1 -1
  33. package/dist/components/01-atoms/Input/Input.d.ts.map +1 -1
  34. package/dist/components/01-atoms/Input/Input.jsx +9 -7
  35. package/dist/components/01-atoms/Input/Input.jsx.map +1 -1
  36. package/dist/components/01-atoms/Input/utils/RenderErrorOrHelperText.d.ts.map +1 -1
  37. package/dist/components/01-atoms/Input/utils/RenderErrorOrHelperText.jsx +1 -1
  38. package/dist/components/01-atoms/Input/utils/RenderErrorOrHelperText.jsx.map +1 -1
  39. package/dist/components/01-atoms/Select/Select.d.ts.map +1 -1
  40. package/dist/components/01-atoms/Select/Select.jsx +7 -7
  41. package/dist/components/01-atoms/Select/Select.jsx.map +1 -1
  42. package/dist/components/01-atoms/Spinner/Spinner.d.ts +24 -3
  43. package/dist/components/01-atoms/Spinner/Spinner.d.ts.map +1 -1
  44. package/dist/components/01-atoms/Spinner/Spinner.jsx +30 -4
  45. package/dist/components/01-atoms/Spinner/Spinner.jsx.map +1 -1
  46. package/dist/components/01-atoms/Spinner/index.d.ts +1 -0
  47. package/dist/components/01-atoms/Spinner/index.d.ts.map +1 -1
  48. package/dist/components/01-atoms/Stat/Stat.d.ts +47 -0
  49. package/dist/components/01-atoms/Stat/Stat.d.ts.map +1 -0
  50. package/dist/components/01-atoms/Stat/Stat.jsx +64 -0
  51. package/dist/components/01-atoms/Stat/Stat.jsx.map +1 -0
  52. package/dist/components/01-atoms/Stat/index.d.ts +2 -0
  53. package/dist/components/01-atoms/Stat/index.d.ts.map +1 -0
  54. package/dist/components/01-atoms/Stat/index.js +2 -0
  55. package/dist/components/01-atoms/Stat/index.js.map +1 -0
  56. package/dist/components/01-atoms/Textarea/Textarea.d.ts.map +1 -1
  57. package/dist/components/01-atoms/Textarea/Textarea.jsx +3 -3
  58. package/dist/components/01-atoms/Textarea/Textarea.jsx.map +1 -1
  59. package/dist/components/01-atoms/index.d.ts +2 -0
  60. package/dist/components/01-atoms/index.d.ts.map +1 -1
  61. package/dist/components/01-atoms/index.js +2 -0
  62. package/dist/components/01-atoms/index.js.map +1 -1
  63. package/dist/components/02-molecules/Accordion/AccordionSection.d.ts.map +1 -1
  64. package/dist/components/02-molecules/Accordion/AccordionSection.jsx +26 -3
  65. package/dist/components/02-molecules/Accordion/AccordionSection.jsx.map +1 -1
  66. package/dist/components/02-molecules/Card/Card.d.ts +74 -0
  67. package/dist/components/02-molecules/Card/Card.d.ts.map +1 -0
  68. package/dist/components/02-molecules/Card/Card.jsx +83 -0
  69. package/dist/components/02-molecules/Card/Card.jsx.map +1 -0
  70. package/dist/components/02-molecules/Card/index.d.ts +2 -0
  71. package/dist/components/02-molecules/Card/index.d.ts.map +1 -0
  72. package/dist/components/02-molecules/Card/index.js +2 -0
  73. package/dist/components/02-molecules/Card/index.js.map +1 -0
  74. package/dist/components/02-molecules/DatePicker/DatePicker.d.ts +37 -2
  75. package/dist/components/02-molecules/DatePicker/DatePicker.d.ts.map +1 -1
  76. package/dist/components/02-molecules/DatePicker/DatePicker.jsx +187 -32
  77. package/dist/components/02-molecules/DatePicker/DatePicker.jsx.map +1 -1
  78. package/dist/components/02-molecules/EmptyState/EmptyState.d.ts +52 -0
  79. package/dist/components/02-molecules/EmptyState/EmptyState.d.ts.map +1 -0
  80. package/dist/components/02-molecules/EmptyState/EmptyState.jsx +66 -0
  81. package/dist/components/02-molecules/EmptyState/EmptyState.jsx.map +1 -0
  82. package/dist/components/02-molecules/EmptyState/index.d.ts +2 -0
  83. package/dist/components/02-molecules/EmptyState/index.d.ts.map +1 -0
  84. package/dist/components/02-molecules/EmptyState/index.js +2 -0
  85. package/dist/components/02-molecules/EmptyState/index.js.map +1 -0
  86. package/dist/components/02-molecules/Filter/Filter.d.ts +7 -1
  87. package/dist/components/02-molecules/Filter/Filter.d.ts.map +1 -1
  88. package/dist/components/02-molecules/Filter/Filter.jsx +10 -7
  89. package/dist/components/02-molecules/Filter/Filter.jsx.map +1 -1
  90. package/dist/components/02-molecules/InlineMessage/InlineMessage.d.ts +15 -1
  91. package/dist/components/02-molecules/InlineMessage/InlineMessage.d.ts.map +1 -1
  92. package/dist/components/02-molecules/InlineMessage/InlineMessage.jsx +18 -3
  93. package/dist/components/02-molecules/InlineMessage/InlineMessage.jsx.map +1 -1
  94. package/dist/components/02-molecules/Menu/MenuItem.d.ts.map +1 -1
  95. package/dist/components/02-molecules/Menu/MenuItem.jsx +2 -2
  96. package/dist/components/02-molecules/Menu/MenuItem.jsx.map +1 -1
  97. package/dist/components/02-molecules/Menu/MenuList.d.ts.map +1 -1
  98. package/dist/components/02-molecules/Menu/MenuList.jsx +1 -1
  99. package/dist/components/02-molecules/Menu/MenuList.jsx.map +1 -1
  100. package/dist/components/02-molecules/Stepper/Stepper.d.ts +70 -0
  101. package/dist/components/02-molecules/Stepper/Stepper.d.ts.map +1 -0
  102. package/dist/components/02-molecules/Stepper/Stepper.jsx +204 -0
  103. package/dist/components/02-molecules/Stepper/Stepper.jsx.map +1 -0
  104. package/dist/components/02-molecules/Stepper/index.d.ts +2 -0
  105. package/dist/components/02-molecules/Stepper/index.d.ts.map +1 -0
  106. package/dist/components/02-molecules/Stepper/index.js +2 -0
  107. package/dist/components/02-molecules/Stepper/index.js.map +1 -0
  108. package/dist/components/02-molecules/Table/Table.d.ts +3 -1
  109. package/dist/components/02-molecules/Table/Table.d.ts.map +1 -1
  110. package/dist/components/02-molecules/Table/Table.jsx +6 -5
  111. package/dist/components/02-molecules/Table/Table.jsx.map +1 -1
  112. package/dist/components/02-molecules/Timeline/Timeline.d.ts +47 -0
  113. package/dist/components/02-molecules/Timeline/Timeline.d.ts.map +1 -0
  114. package/dist/components/02-molecules/Timeline/Timeline.jsx +65 -0
  115. package/dist/components/02-molecules/Timeline/Timeline.jsx.map +1 -0
  116. package/dist/components/02-molecules/Timeline/index.d.ts +2 -0
  117. package/dist/components/02-molecules/Timeline/index.d.ts.map +1 -0
  118. package/dist/components/02-molecules/Timeline/index.js +2 -0
  119. package/dist/components/02-molecules/Timeline/index.js.map +1 -0
  120. package/dist/components/02-molecules/index.d.ts +4 -0
  121. package/dist/components/02-molecules/index.d.ts.map +1 -1
  122. package/dist/components/02-molecules/index.js +4 -0
  123. package/dist/components/02-molecules/index.js.map +1 -1
  124. package/dist/components/03-organisms/DataTable/DataTable.d.ts +1 -1
  125. package/dist/components/03-organisms/DataTable/DataTable.d.ts.map +1 -1
  126. package/dist/components/03-organisms/DataTable/DataTable.jsx.map +1 -1
  127. package/dist/components/03-organisms/Header/Header.d.ts +3 -1
  128. package/dist/components/03-organisms/Header/Header.d.ts.map +1 -1
  129. package/dist/components/03-organisms/Header/Header.jsx +4 -5
  130. package/dist/components/03-organisms/Header/Header.jsx.map +1 -1
  131. package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.d.ts +24 -4
  132. package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.d.ts.map +1 -1
  133. package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.jsx +31 -8
  134. package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.jsx.map +1 -1
  135. package/dist/components/04-templates/DashboardTemplate/HeadingWithTitle.d.ts +6 -2
  136. package/dist/components/04-templates/DashboardTemplate/HeadingWithTitle.d.ts.map +1 -1
  137. package/dist/components/04-templates/DashboardTemplate/HeadingWithTitle.jsx +7 -3
  138. package/dist/components/04-templates/DashboardTemplate/HeadingWithTitle.jsx.map +1 -1
  139. package/dist/components/04-templates/LoginTemplate/LoginTemplate.d.ts +2 -0
  140. package/dist/components/04-templates/LoginTemplate/LoginTemplate.d.ts.map +1 -1
  141. package/dist/components/04-templates/LoginTemplate/LoginTemplate.jsx +2 -1
  142. package/dist/components/04-templates/LoginTemplate/LoginTemplate.jsx.map +1 -1
  143. package/expresivo/ExpBubble/ExpBubble.d.ts +51 -0
  144. package/expresivo/ExpBubble/ExpBubble.d.ts.map +1 -0
  145. package/expresivo/ExpBubble/ExpBubble.jsx +74 -0
  146. package/expresivo/ExpBubble/ExpBubble.jsx.map +1 -0
  147. package/expresivo/ExpBubble/index.d.ts +3 -0
  148. package/expresivo/ExpBubble/index.d.ts.map +1 -0
  149. package/expresivo/ExpBubble/index.js +2 -0
  150. package/expresivo/ExpBubble/index.js.map +1 -0
  151. package/expresivo/ExpCollapseToggle/ExpCollapseToggle.d.ts +37 -0
  152. package/expresivo/ExpCollapseToggle/ExpCollapseToggle.d.ts.map +1 -0
  153. package/expresivo/ExpCollapseToggle/ExpCollapseToggle.jsx +43 -0
  154. package/expresivo/ExpCollapseToggle/ExpCollapseToggle.jsx.map +1 -0
  155. package/expresivo/ExpCollapseToggle/index.d.ts +3 -0
  156. package/expresivo/ExpCollapseToggle/index.d.ts.map +1 -0
  157. package/expresivo/ExpCollapseToggle/index.js +2 -0
  158. package/expresivo/ExpCollapseToggle/index.js.map +1 -0
  159. package/expresivo/ExpGrowBar/ExpGrowBar.d.ts +26 -0
  160. package/expresivo/ExpGrowBar/ExpGrowBar.d.ts.map +1 -0
  161. package/expresivo/ExpGrowBar/ExpGrowBar.jsx +39 -0
  162. package/expresivo/ExpGrowBar/ExpGrowBar.jsx.map +1 -0
  163. package/expresivo/ExpGrowBar/index.d.ts +3 -0
  164. package/expresivo/ExpGrowBar/index.d.ts.map +1 -0
  165. package/expresivo/ExpGrowBar/index.js +2 -0
  166. package/expresivo/ExpGrowBar/index.js.map +1 -0
  167. package/expresivo/ExpJourneyTrack/ExpJourneyTrack.d.ts +65 -0
  168. package/expresivo/ExpJourneyTrack/ExpJourneyTrack.d.ts.map +1 -0
  169. package/expresivo/ExpJourneyTrack/ExpJourneyTrack.jsx +156 -0
  170. package/expresivo/ExpJourneyTrack/ExpJourneyTrack.jsx.map +1 -0
  171. package/expresivo/ExpJourneyTrack/index.d.ts +3 -0
  172. package/expresivo/ExpJourneyTrack/index.d.ts.map +1 -0
  173. package/expresivo/ExpJourneyTrack/index.js +2 -0
  174. package/expresivo/ExpJourneyTrack/index.js.map +1 -0
  175. package/expresivo/ExpKeyButton/ExpKeyButton.d.ts +49 -0
  176. package/expresivo/ExpKeyButton/ExpKeyButton.d.ts.map +1 -0
  177. package/expresivo/ExpKeyButton/ExpKeyButton.jsx +60 -0
  178. package/expresivo/ExpKeyButton/ExpKeyButton.jsx.map +1 -0
  179. package/expresivo/ExpKeyButton/index.d.ts +3 -0
  180. package/expresivo/ExpKeyButton/index.d.ts.map +1 -0
  181. package/expresivo/ExpKeyButton/index.js +2 -0
  182. package/expresivo/ExpKeyButton/index.js.map +1 -0
  183. package/expresivo/ExpLensIcon/ExpLensIcon.d.ts +29 -0
  184. package/expresivo/ExpLensIcon/ExpLensIcon.d.ts.map +1 -0
  185. package/expresivo/ExpLensIcon/ExpLensIcon.jsx +29 -0
  186. package/expresivo/ExpLensIcon/ExpLensIcon.jsx.map +1 -0
  187. package/expresivo/ExpLensIcon/index.d.ts +3 -0
  188. package/expresivo/ExpLensIcon/index.d.ts.map +1 -0
  189. package/expresivo/ExpLensIcon/index.js +2 -0
  190. package/expresivo/ExpLensIcon/index.js.map +1 -0
  191. package/expresivo/ExpMascot/ExpMascot.d.ts +38 -0
  192. package/expresivo/ExpMascot/ExpMascot.d.ts.map +1 -0
  193. package/expresivo/ExpMascot/ExpMascot.jsx +41 -0
  194. package/expresivo/ExpMascot/ExpMascot.jsx.map +1 -0
  195. package/expresivo/ExpMascot/catalog.d.ts +12 -0
  196. package/expresivo/ExpMascot/catalog.d.ts.map +1 -0
  197. package/expresivo/ExpMascot/catalog.js +41 -0
  198. package/expresivo/ExpMascot/catalog.js.map +1 -0
  199. package/expresivo/ExpMascot/index.d.ts +4 -0
  200. package/expresivo/ExpMascot/index.d.ts.map +1 -0
  201. package/expresivo/ExpMascot/index.js +2 -0
  202. package/expresivo/ExpMascot/index.js.map +1 -0
  203. package/expresivo/ExpMedalBadge/ExpMedalBadge.d.ts +29 -0
  204. package/expresivo/ExpMedalBadge/ExpMedalBadge.d.ts.map +1 -0
  205. package/expresivo/ExpMedalBadge/ExpMedalBadge.jsx +87 -0
  206. package/expresivo/ExpMedalBadge/ExpMedalBadge.jsx.map +1 -0
  207. package/expresivo/ExpMedalBadge/index.d.ts +3 -0
  208. package/expresivo/ExpMedalBadge/index.d.ts.map +1 -0
  209. package/expresivo/ExpMedalBadge/index.js +2 -0
  210. package/expresivo/ExpMedalBadge/index.js.map +1 -0
  211. package/expresivo/ExpPillButton/ExpPillButton.d.ts +44 -0
  212. package/expresivo/ExpPillButton/ExpPillButton.d.ts.map +1 -0
  213. package/expresivo/ExpPillButton/ExpPillButton.jsx +75 -0
  214. package/expresivo/ExpPillButton/ExpPillButton.jsx.map +1 -0
  215. package/expresivo/ExpPillButton/index.d.ts +3 -0
  216. package/expresivo/ExpPillButton/index.d.ts.map +1 -0
  217. package/expresivo/ExpPillButton/index.js +2 -0
  218. package/expresivo/ExpPillButton/index.js.map +1 -0
  219. package/expresivo/ExpScope/ExpScope.d.ts +63 -0
  220. package/expresivo/ExpScope/ExpScope.d.ts.map +1 -0
  221. package/expresivo/ExpScope/ExpScope.jsx +67 -0
  222. package/expresivo/ExpScope/ExpScope.jsx.map +1 -0
  223. package/expresivo/ExpScope/index.d.ts +3 -0
  224. package/expresivo/ExpScope/index.d.ts.map +1 -0
  225. package/expresivo/ExpScope/index.js +2 -0
  226. package/expresivo/ExpScope/index.js.map +1 -0
  227. package/expresivo/ExpScoreRing/ExpScoreRing.d.ts +35 -0
  228. package/expresivo/ExpScoreRing/ExpScoreRing.d.ts.map +1 -0
  229. package/expresivo/ExpScoreRing/ExpScoreRing.jsx +67 -0
  230. package/expresivo/ExpScoreRing/ExpScoreRing.jsx.map +1 -0
  231. package/expresivo/ExpScoreRing/index.d.ts +3 -0
  232. package/expresivo/ExpScoreRing/index.d.ts.map +1 -0
  233. package/expresivo/ExpScoreRing/index.js +2 -0
  234. package/expresivo/ExpScoreRing/index.js.map +1 -0
  235. package/expresivo/index.d.ts +12 -0
  236. package/expresivo/index.d.ts.map +1 -0
  237. package/expresivo/index.js +12 -0
  238. package/expresivo/index.js.map +1 -0
  239. package/expresivo/shared/glyphs.d.ts +20 -0
  240. package/expresivo/shared/glyphs.d.ts.map +1 -0
  241. package/expresivo/shared/glyphs.jsx +60 -0
  242. package/expresivo/shared/glyphs.jsx.map +1 -0
  243. package/package.json +3 -2
@@ -0,0 +1,895 @@
1
+ /*
2
+ * Orion expressive layer. Opt-in: the consumer imports this file after
3
+ * base.css and wraps its app in <ExpScope>.
4
+ *
5
+ * Every skin rule starts with :root:has(.exp-scope), so it applies only while
6
+ * an ExpScope is mounted, and also reaches content rendered in portals.
7
+ * Rules target core parts through [data-orion-part], never through the
8
+ * core's Tailwind classes, and stay unlayered so they win over utilities.
9
+ *
10
+ * The .exp-* classes belong to Exp* components, which only draw their full
11
+ * markup inside an ExpScope, so those rules need no scope prefix.
12
+ */
13
+
14
+ .exp-scope {
15
+ display: contents;
16
+ }
17
+
18
+ /* Tokens ---------------------------------------------------------------- */
19
+
20
+ :root:has(.exp-scope) {
21
+ --exp-ease-spring: cubic-bezier(0.34, 1.4, 0.64, 1);
22
+ --exp-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
23
+ --exp-accent: var(--color-lavender);
24
+ --exp-accent-soft: var(--color-lavender-1);
25
+ --exp-spark: #8a5cf5;
26
+
27
+ --exp-field-bg: linear-gradient(180deg, #ffffff 0%, #fbfcfc 100%);
28
+ --exp-field-bg-hover: linear-gradient(180deg, #ffffff 0%, #fbfaff 100%);
29
+ --exp-field-line: var(--color-gray-5);
30
+ --exp-field-ink: var(--color-black);
31
+ --exp-field-label: var(--color-gray-1);
32
+ --exp-field-icon: #3a3550;
33
+ --exp-field-drop: rgba(34, 35, 41, 0.07);
34
+ --exp-field-glow: rgba(106, 93, 249, 0.22);
35
+ --exp-field-popover: var(--color-white);
36
+ --exp-field-gloss: rgba(255, 255, 255, 0.9);
37
+
38
+ --exp-key-edge: #4a3fd0;
39
+ --exp-key-drop: rgba(74, 63, 208, 0.28);
40
+ --exp-key-glow: rgba(200, 84, 228, 0.55);
41
+ --exp-key-white-face: linear-gradient(180deg, #ffffff 0%, #f6f6f6 100%);
42
+ --exp-key-white-face-hover: linear-gradient(180deg, #ffffff 0%, #f8f7ff 100%);
43
+ --exp-key-white-edge: var(--color-gray-4);
44
+ --exp-key-white-edge-hover: #c9c3fd;
45
+ --exp-key-disabled-face: var(--color-gray-4);
46
+ --exp-key-disabled-edge: var(--color-gray-3);
47
+
48
+ --exp-row-bg: var(--color-white);
49
+ --exp-row-bg-hover: var(--color-lavender-3);
50
+ --exp-row-edge: var(--color-gray-5);
51
+ --exp-row-edge-hover: #c9c3fd;
52
+
53
+ --exp-nav-glow: rgba(106, 93, 249, 0.22);
54
+ }
55
+
56
+ :root.dark:has(.exp-scope) {
57
+ --exp-accent: var(--color-lavender-dark);
58
+ --exp-accent-soft: var(--color-lavender-dark-1);
59
+
60
+ --exp-field-bg: linear-gradient(180deg, #2e3036 0%, #27282e 100%);
61
+ --exp-field-bg-hover: linear-gradient(180deg, #33343c 0%, #2b2c33 100%);
62
+ --exp-field-line: #3a3b42;
63
+ --exp-field-ink: var(--color-white);
64
+ --exp-field-label: var(--color-gray-2);
65
+ --exp-field-icon: #c9c9cf;
66
+ --exp-field-drop: rgba(0, 0, 0, 0.45);
67
+ --exp-field-glow: rgba(137, 128, 255, 0.35);
68
+ --exp-field-popover: var(--color-black);
69
+ --exp-field-gloss: rgba(255, 255, 255, 0.06);
70
+
71
+ --exp-key-edge: #3a31a8;
72
+ --exp-key-drop: rgba(0, 0, 0, 0.55);
73
+ --exp-key-glow: rgba(200, 84, 228, 0.45);
74
+ --exp-key-white-face: linear-gradient(180deg, #f6f6f6 0%, #e9eaea 100%);
75
+ --exp-key-white-face-hover: linear-gradient(180deg, #ffffff 0%, #f0effe 100%);
76
+ --exp-key-white-edge: var(--color-gray-1);
77
+ --exp-key-white-edge-hover: var(--color-lavender);
78
+ --exp-key-disabled-face: var(--color-gray-dark-1);
79
+ --exp-key-disabled-edge: var(--color-gray-dark-2);
80
+
81
+ --exp-row-bg: var(--color-black);
82
+ --exp-row-bg-hover: #2a2747;
83
+ --exp-row-edge: var(--color-gray-1);
84
+ --exp-row-edge-hover: #4a3fd0;
85
+
86
+ --exp-nav-glow: rgba(137, 128, 255, 0.35);
87
+ }
88
+
89
+ /* Motion ---------------------------------------------------------------- */
90
+
91
+ @keyframes exp-float {
92
+ 0%,
93
+ 100% {
94
+ transform: translateY(0);
95
+ }
96
+ 50% {
97
+ transform: translateY(-6px);
98
+ }
99
+ }
100
+
101
+ @keyframes exp-swing {
102
+ 0%,
103
+ 100% {
104
+ transform: rotate(5deg);
105
+ }
106
+ 50% {
107
+ transform: rotate(-5deg);
108
+ }
109
+ }
110
+
111
+ @keyframes exp-blink {
112
+ 0%,
113
+ 92%,
114
+ 100% {
115
+ transform: scaleY(1);
116
+ }
117
+ 96% {
118
+ transform: scaleY(0.1);
119
+ }
120
+ }
121
+
122
+ @keyframes exp-scan {
123
+ 0%,
124
+ 100% {
125
+ transform: translateX(-2px);
126
+ }
127
+ 50% {
128
+ transform: translateX(2px);
129
+ }
130
+ }
131
+
132
+ @keyframes exp-spin {
133
+ to {
134
+ transform: rotate(360deg);
135
+ }
136
+ }
137
+
138
+ @keyframes exp-enter {
139
+ 0%,
140
+ 100% {
141
+ transform: translateX(-2px);
142
+ opacity: 1;
143
+ }
144
+ 50% {
145
+ transform: translateX(4px);
146
+ opacity: 0.55;
147
+ }
148
+ }
149
+
150
+ @keyframes exp-sweep {
151
+ 0% {
152
+ transform: translateX(-120%) skewX(-20deg);
153
+ }
154
+ 100% {
155
+ transform: translateX(420%) skewX(-20deg);
156
+ }
157
+ }
158
+
159
+ @keyframes exp-spark {
160
+ 0% {
161
+ left: 0%;
162
+ opacity: 0;
163
+ }
164
+ 12% {
165
+ opacity: 1;
166
+ }
167
+ 62% {
168
+ left: 100%;
169
+ opacity: 1;
170
+ }
171
+ 100% {
172
+ left: 100%;
173
+ opacity: 0;
174
+ }
175
+ }
176
+
177
+ @keyframes exp-hint-pulse {
178
+ 0% {
179
+ transform: scale(1);
180
+ opacity: 0.55;
181
+ }
182
+ 70%,
183
+ 100% {
184
+ transform: scale(1.9);
185
+ opacity: 0;
186
+ }
187
+ }
188
+
189
+ .exp-float {
190
+ animation: exp-float 3.2s ease-in-out infinite;
191
+ }
192
+
193
+ .exp-hint-pulse {
194
+ animation: exp-hint-pulse 2.4s ease-out infinite;
195
+ }
196
+
197
+ .exp-hang {
198
+ transform-origin: top center;
199
+ animation: exp-swing 3.2s ease-in-out infinite;
200
+ }
201
+
202
+ /* Glyphs (ExpLensIcon and the glyphs inside Exp buttons) ---------------- */
203
+
204
+ .exp-lens-lid {
205
+ transform-origin: 14px 14px;
206
+ animation: exp-blink 4.5s ease-in-out infinite;
207
+ }
208
+
209
+ .exp-lens-pupil {
210
+ transition: transform 320ms cubic-bezier(0.34, 1.56, 0.64, 1);
211
+ }
212
+
213
+ .exp-rotor {
214
+ transform-box: fill-box;
215
+ transform-origin: center;
216
+ transition: transform 480ms cubic-bezier(0.34, 1.56, 0.64, 1);
217
+ }
218
+
219
+ .exp-enter-arrow {
220
+ transition: transform 360ms cubic-bezier(0.34, 1.56, 0.64, 1);
221
+ }
222
+
223
+ .exp-arrow {
224
+ transition: transform 240ms var(--exp-ease-spring);
225
+ }
226
+
227
+ .exp-glyph--busy .exp-lens-lid,
228
+ .exp-glyph--disabled .exp-lens-lid {
229
+ animation: none;
230
+ }
231
+
232
+ .exp-glyph--busy .exp-lens-pupil {
233
+ animation: exp-scan 1.1s ease-in-out infinite;
234
+ }
235
+
236
+ .exp-glyph--busy .exp-rotor {
237
+ animation: exp-spin 1s linear infinite;
238
+ }
239
+
240
+ .exp-glyph--busy .exp-enter-arrow {
241
+ animation: exp-enter 900ms ease-in-out infinite;
242
+ }
243
+
244
+ /* ExpKeyButton ---------------------------------------------------------- */
245
+
246
+ .exp-key {
247
+ --exp-key-face: linear-gradient(
248
+ 160deg,
249
+ #7466fb 0%,
250
+ #7a59f2 50%,
251
+ #9b4fe8 100%
252
+ );
253
+ --exp-key-face-hover: linear-gradient(
254
+ 160deg,
255
+ #7b6bff 0%,
256
+ #8a5cf5 45%,
257
+ #b04fe6 100%
258
+ );
259
+ --exp-key-ink: var(--color-white);
260
+ --exp-key-gloss: rgba(255, 255, 255, 0.35);
261
+ --exp-key-shade: rgba(34, 25, 140, 0.18);
262
+ --exp-key-rim: transparent;
263
+ --exp-key-rim-hover: transparent;
264
+ --exp-key-edge-rest: var(--exp-key-edge);
265
+ --exp-key-edge-hover: var(--exp-key-edge);
266
+ --exp-key-rest-drop: var(--exp-key-drop);
267
+ --exp-key-hover-glow: var(--exp-key-glow);
268
+ --exp-key-hover-glow-2: rgba(106, 93, 249, 0.45);
269
+ --exp-key-text-shadow: 0 1px 1px rgba(34, 25, 140, 0.3);
270
+
271
+ --exp-key-bg: var(--exp-key-face);
272
+ --exp-key-rim-now: var(--exp-key-rim);
273
+ --exp-key-edge-now: var(--exp-key-edge-rest);
274
+ --exp-key-depth: 6px;
275
+ --exp-key-lift: 0px;
276
+ --exp-key-halo: 0 12px 16px var(--exp-key-rest-drop);
277
+
278
+ position: relative;
279
+ display: inline-flex;
280
+ align-items: center;
281
+ gap: 16px;
282
+ min-height: 52px;
283
+ margin-bottom: 10px;
284
+ padding: 0 24px 0 10px;
285
+ overflow: hidden;
286
+ border: 0;
287
+ border-radius: 9999px;
288
+ background: var(--exp-key-bg);
289
+ color: var(--exp-key-ink);
290
+ font-size: 16px;
291
+ font-weight: 700;
292
+ line-height: 24px;
293
+ white-space: nowrap;
294
+ cursor: pointer;
295
+ box-shadow:
296
+ inset 0 1.5px 0 var(--exp-key-gloss),
297
+ inset 0 0 0 1px var(--exp-key-rim-now),
298
+ inset 0 -2px 0 var(--exp-key-shade),
299
+ 0 var(--exp-key-depth) 0 var(--exp-key-edge-now),
300
+ var(--exp-key-halo);
301
+ transform: translateY(var(--exp-key-lift));
302
+ transition:
303
+ transform 240ms var(--exp-ease-spring),
304
+ box-shadow 240ms var(--exp-ease-spring);
305
+ outline-offset: 6px;
306
+ }
307
+
308
+ .exp-key:focus-visible {
309
+ outline: 2px solid var(--exp-accent);
310
+ }
311
+
312
+ .exp-key--block {
313
+ display: flex;
314
+ width: 100%;
315
+ justify-content: center;
316
+ }
317
+
318
+ .exp-key[data-tone='white'] {
319
+ --exp-key-face: var(--exp-key-white-face);
320
+ --exp-key-face-hover: var(--exp-key-white-face-hover);
321
+ --exp-key-ink: var(--color-black);
322
+ --exp-key-gloss: rgba(255, 255, 255, 1);
323
+ --exp-key-shade: rgba(34, 25, 140, 0.04);
324
+ --exp-key-rim: var(--color-gray-5);
325
+ --exp-key-rim-hover: #c9c3fd;
326
+ --exp-key-edge-rest: var(--exp-key-white-edge);
327
+ --exp-key-edge-hover: var(--exp-key-white-edge-hover);
328
+ --exp-key-rest-drop: rgba(34, 35, 41, 0.12);
329
+ --exp-key-hover-glow: rgba(106, 93, 249, 0.35);
330
+ --exp-key-hover-glow-2: rgba(106, 93, 249, 0.2);
331
+ --exp-key-text-shadow: none;
332
+ }
333
+
334
+ .exp-key[data-tone='black'] {
335
+ --exp-key-face: linear-gradient(
336
+ 160deg,
337
+ #33343c 0%,
338
+ #26272e 55%,
339
+ #1b1c21 100%
340
+ );
341
+ --exp-key-face-hover: linear-gradient(
342
+ 160deg,
343
+ #3a3b44 0%,
344
+ #2a2b33 55%,
345
+ #222329 100%
346
+ );
347
+ --exp-key-edge-rest: #0e0e10;
348
+ --exp-key-edge-hover: #0e0e10;
349
+ --exp-key-hover-glow: rgba(106, 93, 249, 0.45);
350
+ }
351
+
352
+ .exp-key[data-state='idle']:is(:hover, :focus-visible) {
353
+ --exp-key-bg: var(--exp-key-face-hover);
354
+ --exp-key-rim-now: var(--exp-key-rim-hover);
355
+ --exp-key-edge-now: var(--exp-key-edge-hover);
356
+ --exp-key-depth: 9px;
357
+ --exp-key-lift: -3px;
358
+ --exp-key-halo: 0 19px 34px var(--exp-key-hover-glow),
359
+ 0 11px 14px var(--exp-key-hover-glow-2);
360
+ }
361
+
362
+ .exp-key[data-state='idle']:active,
363
+ .exp-key[data-state='busy'] {
364
+ --exp-key-bg: var(--exp-key-face);
365
+ --exp-key-depth: 2px;
366
+ --exp-key-lift: 4px;
367
+ --exp-key-halo: 0 8px 16px var(--exp-key-rest-drop);
368
+ }
369
+
370
+ .exp-key[data-state='busy'] {
371
+ cursor: progress;
372
+ }
373
+
374
+ .exp-key[data-state='disabled'] {
375
+ --exp-key-bg: var(--exp-key-disabled-face);
376
+ --exp-key-ink: var(--color-gray-2);
377
+ --exp-key-gloss: rgba(255, 255, 255, 0.5);
378
+ --exp-key-rim-now: transparent;
379
+ --exp-key-edge-now: var(--exp-key-disabled-edge);
380
+ --exp-key-depth: 2px;
381
+ --exp-key-halo: 0 0 0 transparent;
382
+ --exp-key-text-shadow: none;
383
+ cursor: not-allowed;
384
+ }
385
+
386
+ .exp-key[data-icon='none'] {
387
+ padding-left: 24px;
388
+ }
389
+
390
+ .exp-key[data-size='sm'] {
391
+ --exp-key-depth: 4px;
392
+ --exp-key-halo: 0 7px 8px var(--exp-key-rest-drop);
393
+ gap: 8px;
394
+ height: 36px;
395
+ min-height: 36px;
396
+ margin-bottom: 0;
397
+ padding: 0 16px 0 8px;
398
+ font-size: 14px;
399
+ font-weight: 600;
400
+ line-height: 20px;
401
+ }
402
+
403
+ .exp-key[data-size='sm'][data-icon='none'] {
404
+ padding: 0 20px;
405
+ }
406
+
407
+ .exp-key[data-size='sm'][data-state='idle']:is(:hover, :focus-visible) {
408
+ --exp-key-depth: 5px;
409
+ --exp-key-lift: -2px;
410
+ --exp-key-halo: 0 10px 17px var(--exp-key-hover-glow),
411
+ 0 7px 7px var(--exp-key-hover-glow-2);
412
+ }
413
+
414
+ .exp-key[data-size='sm'][data-state='idle']:active,
415
+ .exp-key[data-size='sm'][data-state='busy'] {
416
+ --exp-key-depth: 1px;
417
+ --exp-key-lift: 2px;
418
+ --exp-key-halo: 0 4px 8px var(--exp-key-rest-drop);
419
+ }
420
+
421
+ .exp-key[data-size='sm'][data-state='disabled'] {
422
+ --exp-key-depth: 1px;
423
+ --exp-key-halo: 0 0 0 transparent;
424
+ }
425
+
426
+ .exp-key-label {
427
+ position: relative;
428
+ text-shadow: var(--exp-key-text-shadow);
429
+ }
430
+
431
+ .exp-key .exp-arrow {
432
+ position: relative;
433
+ margin-left: 8px;
434
+ }
435
+
436
+ .exp-key[data-size='sm'] .exp-arrow {
437
+ margin-left: 2px;
438
+ }
439
+
440
+ .exp-key[data-state='busy'] .exp-arrow {
441
+ opacity: 0;
442
+ }
443
+
444
+ .exp-key-shine {
445
+ position: absolute;
446
+ top: 0;
447
+ bottom: 0;
448
+ left: 0;
449
+ width: 28%;
450
+ background: linear-gradient(
451
+ 90deg,
452
+ transparent,
453
+ rgba(255, 255, 255, 0.35),
454
+ transparent
455
+ );
456
+ pointer-events: none;
457
+ animation: exp-sweep 1.4s ease-in-out infinite;
458
+ }
459
+
460
+ .exp-key[data-tone='white'] .exp-key-shine {
461
+ background: linear-gradient(
462
+ 90deg,
463
+ transparent,
464
+ rgba(106, 93, 249, 0.18),
465
+ transparent
466
+ );
467
+ }
468
+
469
+ /* ExpMedalBadge --------------------------------------------------------- */
470
+
471
+ .exp-medal-octagon {
472
+ clip-path: polygon(
473
+ 30% 0,
474
+ 70% 0,
475
+ 100% 30%,
476
+ 100% 70%,
477
+ 70% 100%,
478
+ 30% 100%,
479
+ 0 70%,
480
+ 0 30%
481
+ );
482
+ }
483
+
484
+ .exp-medal-ribbon {
485
+ clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 68%, 0 100%);
486
+ }
487
+
488
+ /* Skin: titles ---------------------------------------------------------- */
489
+
490
+ :root:has(.exp-scope[data-exp-titles='playful']) [data-orion-part='heading'] {
491
+ font-family: var(--exp-title-font);
492
+ }
493
+
494
+ /* Skin: fields (Input, Select, Textarea, DatePicker) -------------------- */
495
+
496
+ :root:has(.exp-scope) [data-orion-part='field-box'],
497
+ :root:has(.exp-scope) textarea[data-orion-part='field-control'] {
498
+ border: 1px solid var(--exp-field-line);
499
+ background: var(--exp-field-bg);
500
+ box-shadow:
501
+ 0 4px 14px var(--exp-field-drop),
502
+ 0 1px 2px rgba(34, 35, 41, 0.06),
503
+ inset 0 1px 0 var(--exp-field-gloss);
504
+ transition:
505
+ transform 260ms var(--exp-ease-spring),
506
+ box-shadow 260ms ease,
507
+ border-color 200ms ease,
508
+ background 200ms ease;
509
+ }
510
+
511
+ :root:has(.exp-scope) [data-orion-part='field-box'] {
512
+ height: 44px;
513
+ border-radius: 9999px;
514
+ }
515
+
516
+ :root:has(.exp-scope) textarea[data-orion-part='field-control'] {
517
+ border-radius: 20px;
518
+ padding: 12px 20px;
519
+ }
520
+
521
+ :root:has(.exp-scope)
522
+ :is(
523
+ [data-orion-part='field-box']:not(
524
+ :has([data-orion-part='field-control']:disabled)
525
+ ),
526
+ textarea[data-orion-part='field-control']:not(:disabled)
527
+ ):is(:hover, :focus-within) {
528
+ border-color: var(--exp-accent-soft);
529
+ background: var(--exp-field-bg-hover);
530
+ box-shadow:
531
+ 0 10px 28px var(--exp-field-glow),
532
+ 0 2px 6px rgba(106, 93, 249, 0.12),
533
+ inset 0 1px 0 var(--exp-field-gloss);
534
+ }
535
+
536
+ :root:has(.exp-scope)
537
+ :is(
538
+ [data-orion-part='field-box']:focus-within,
539
+ [data-orion-part='field-box']:has(> [aria-expanded='true']),
540
+ textarea[data-orion-part='field-control']:focus
541
+ ) {
542
+ border-color: var(--exp-accent);
543
+ }
544
+
545
+ :root:has(.exp-scope)
546
+ :is(
547
+ [data-orion-part='field-box']:has([aria-invalid='true']),
548
+ textarea[data-orion-part='field-control'][aria-invalid='true']
549
+ ) {
550
+ border-color: var(--color-error);
551
+ }
552
+
553
+ :root:has(.exp-scope)
554
+ :is(
555
+ [data-orion-part='field-box']:has(
556
+ [data-orion-part='field-control']:disabled
557
+ ),
558
+ textarea[data-orion-part='field-control']:disabled
559
+ ) {
560
+ opacity: 0.6;
561
+ cursor: not-allowed;
562
+ }
563
+
564
+ :root:has(.exp-scope)
565
+ [data-orion-part='field-box']:has(> [data-orion-part='field-label']) {
566
+ margin-top: 22px;
567
+ }
568
+
569
+ :root:has(.exp-scope) [data-orion-part='field-outline'] {
570
+ display: none;
571
+ }
572
+
573
+ :root:has(.exp-scope) [data-orion-part='field-label'] {
574
+ padding: 0 0 0 4px;
575
+ color: var(--exp-field-label);
576
+ font-size: 12px;
577
+ font-weight: 600;
578
+ line-height: 16px;
579
+ letter-spacing: normal;
580
+ text-transform: none;
581
+ }
582
+
583
+ :root:has(.exp-scope)
584
+ [data-orion-part='field-box']
585
+ > [data-orion-part='field-label'] {
586
+ top: -23px;
587
+ left: 0;
588
+ }
589
+
590
+ :root:has(.exp-scope)
591
+ [data-orion-part='field']:has([aria-invalid='true'])
592
+ [data-orion-part='field-label'] {
593
+ color: var(--color-error);
594
+ }
595
+
596
+ :root:has(.exp-scope) [data-orion-part='field-control'] {
597
+ background: transparent;
598
+ color: var(--exp-field-ink);
599
+ }
600
+
601
+ :root:has(.exp-scope) [data-orion-part='field-control']::placeholder {
602
+ color: var(--color-gray-2);
603
+ }
604
+
605
+ :root:has(.exp-scope) button[data-orion-part='field-control'][data-empty] {
606
+ color: var(--color-gray-2);
607
+ }
608
+
609
+ :root:has(.exp-scope)
610
+ [data-orion-part='field-box']
611
+ > [data-orion-part='field-icon'] {
612
+ top: 50%;
613
+ translate: 0 -50%;
614
+ color: var(--exp-field-icon);
615
+ transition: color 200ms ease;
616
+ }
617
+
618
+ :root:has(.exp-scope)
619
+ button[data-orion-part='field-control']
620
+ > [data-orion-part='field-icon'] {
621
+ color: var(--exp-field-icon);
622
+ transition:
623
+ color 200ms ease,
624
+ transform 260ms var(--exp-ease-spring);
625
+ }
626
+
627
+ :root:has(.exp-scope)
628
+ [data-orion-part='field-box']:not(
629
+ :has([data-orion-part='field-control']:disabled)
630
+ ):is(:hover, :focus-within, :has(> [aria-expanded='true']))
631
+ [data-orion-part='field-icon'] {
632
+ color: var(--exp-accent);
633
+ }
634
+
635
+ :root:has(.exp-scope) [data-orion-part='field-helper'] {
636
+ padding-left: 20px;
637
+ }
638
+
639
+ :root:has(.exp-scope) [data-orion-part='datepicker-panel'] {
640
+ margin-top: 10px;
641
+ padding: 16px;
642
+ border-color: var(--exp-field-line);
643
+ border-radius: 20px;
644
+ background: var(--exp-field-popover);
645
+ box-shadow:
646
+ 0 16px 40px var(--exp-field-glow),
647
+ 0 2px 6px rgba(34, 35, 41, 0.06);
648
+ }
649
+
650
+ :root:has(.exp-scope) [data-orion-part='datepicker-day'] {
651
+ font-size: 13px;
652
+ }
653
+
654
+ :root:has(.exp-scope) [data-orion-part='datepicker-day'][data-selected] {
655
+ background: linear-gradient(135deg, var(--color-lavender), var(--exp-spark));
656
+ box-shadow: 0 4px 12px rgba(106, 93, 249, 0.35);
657
+ color: var(--color-white);
658
+ }
659
+
660
+ /* Skin: top menu links -------------------------------------------------- */
661
+
662
+ :root:has(.exp-scope)
663
+ [data-orion-part='menu-list'][data-orientation='horizontal']
664
+ [data-orion-part='menu-link']:not(
665
+ [data-orion-part='menu-list'][data-orientation='vertical'] *
666
+ ) {
667
+ --exp-nav-line: linear-gradient(
668
+ 90deg,
669
+ transparent,
670
+ var(--exp-accent) 22%,
671
+ var(--exp-spark) 78%,
672
+ transparent
673
+ );
674
+ font-size: 15px;
675
+ }
676
+
677
+ :root:has(.exp-scope[data-exp-titles='playful'])
678
+ [data-orion-part='menu-list'][data-orientation='horizontal']
679
+ [data-orion-part='menu-link']:not(
680
+ [data-orion-part='menu-list'][data-orientation='vertical'] *
681
+ ) {
682
+ font-family: var(--exp-title-font);
683
+ }
684
+
685
+ :root:has(.exp-scope)
686
+ [data-orion-part='menu-list'][data-orientation='horizontal']
687
+ [data-orion-part='menu-link']:not(
688
+ [data-orion-part='menu-list'][data-orientation='vertical'] *
689
+ )::before {
690
+ background: var(--exp-nav-line);
691
+ opacity: 1;
692
+ transform: scaleX(0);
693
+ transform-origin: left center;
694
+ transition: transform 160ms ease-in;
695
+ }
696
+
697
+ :root:has(.exp-scope)
698
+ [data-orion-part='menu-list'][data-orientation='horizontal']
699
+ [data-orion-part='menu-link']:not(
700
+ [data-orion-part='menu-list'][data-orientation='vertical'] *
701
+ ):is(:hover, :focus-visible)::before {
702
+ transform: scaleX(1);
703
+ transition: transform 260ms var(--exp-ease-out);
704
+ }
705
+
706
+ :root:has(.exp-scope)
707
+ [data-orion-part='menu-list'][data-orientation='horizontal']
708
+ [data-orion-part='menu-link']:not(
709
+ [data-orion-part='menu-list'][data-orientation='vertical'] *
710
+ ):not([aria-current='page']):is(:hover, :focus-visible)::after {
711
+ content: '';
712
+ position: absolute;
713
+ bottom: -11px;
714
+ left: 0;
715
+ width: 4px;
716
+ height: 4px;
717
+ margin-left: -2px;
718
+ border-radius: 9999px;
719
+ background: var(--exp-accent);
720
+ box-shadow: 0 0 4px 1px var(--exp-nav-glow);
721
+ pointer-events: none;
722
+ animation: exp-spark 420ms var(--exp-ease-out) forwards;
723
+ }
724
+
725
+ :root:has(.exp-scope)
726
+ [data-orion-part='menu-list'][data-orientation='horizontal']
727
+ [data-orion-part='menu-link'][aria-current='page']:not(
728
+ [data-orion-part='menu-list'][data-orientation='vertical'] *
729
+ ) {
730
+ font-weight: 500;
731
+ background: radial-gradient(
732
+ 60% 100% at 50% 100%,
733
+ var(--exp-nav-glow),
734
+ transparent 75%
735
+ )
736
+ center calc(100% + 10px) / 100% 14px no-repeat;
737
+ }
738
+
739
+ :root:has(.exp-scope)
740
+ [data-orion-part='menu-list'][data-orientation='horizontal']
741
+ [data-orion-part='menu-link'][aria-current='page']:not(
742
+ [data-orion-part='menu-list'][data-orientation='vertical'] *
743
+ )::before {
744
+ transform: scaleX(1);
745
+ }
746
+
747
+ /* Skin: table rows as cards (ExpScope tables="cards") ------------------- */
748
+
749
+ :root:has(.exp-scope[data-exp-tables='cards']) [data-orion-part='table'] {
750
+ margin-top: -8px;
751
+ border-collapse: separate;
752
+ border-spacing: 0 8px;
753
+ }
754
+
755
+ :root:has(.exp-scope[data-exp-tables='cards']) [data-orion-part='table-head'] {
756
+ border: 0;
757
+ background: transparent;
758
+ color: var(--exp-field-label);
759
+ font-size: 13px;
760
+ line-height: 16px;
761
+ }
762
+
763
+ :root:has(.exp-scope[data-exp-tables='cards'])
764
+ [data-orion-part='table-head']
765
+ > th {
766
+ padding: 10px 16px 2px;
767
+ font-weight: 400;
768
+ white-space: nowrap;
769
+ }
770
+
771
+ :root:has(.exp-scope[data-exp-tables='cards'][data-exp-titles='playful'])
772
+ [data-orion-part='table-head']
773
+ > th {
774
+ font-family: var(--exp-title-font);
775
+ }
776
+
777
+ :root:has(.exp-scope[data-exp-tables='cards']) [data-orion-part='table-row'] {
778
+ border: 0;
779
+ background: transparent;
780
+ outline-offset: 2px;
781
+ }
782
+
783
+ :root:has(.exp-scope[data-exp-tables='cards'])
784
+ [data-orion-part='table-row']
785
+ > td {
786
+ padding: 14px 16px;
787
+ border-top: 1px solid var(--exp-row-edge);
788
+ border-bottom: 1px solid var(--exp-row-edge);
789
+ background: var(--exp-row-bg);
790
+ vertical-align: middle;
791
+ transition:
792
+ transform 240ms var(--exp-ease-spring),
793
+ background 160ms ease,
794
+ border-color 160ms ease;
795
+ }
796
+
797
+ :root:has(.exp-scope[data-exp-tables='cards'])
798
+ [data-orion-part='table-row']
799
+ > td:first-child {
800
+ border-left: 1px solid var(--exp-row-edge);
801
+ border-radius: 14px 0 0 14px;
802
+ }
803
+
804
+ :root:has(.exp-scope[data-exp-tables='cards'])
805
+ [data-orion-part='table-row']
806
+ > td:last-child {
807
+ border-right: 1px solid var(--exp-row-edge);
808
+ border-radius: 0 14px 14px 0;
809
+ }
810
+
811
+ :root:has(.exp-scope[data-exp-tables='cards'])
812
+ [data-orion-part='table-row']:is(:hover, :focus-visible, [data-selected])
813
+ > td {
814
+ border-color: var(--exp-row-edge-hover);
815
+ background: var(--exp-row-bg-hover);
816
+ }
817
+
818
+ /* Hover movement, only without reduced motion --------------------------- */
819
+
820
+ @media (prefers-reduced-motion: no-preference) {
821
+ :is(button, a):is(:hover, :focus-visible):not(:disabled)
822
+ .exp-lens:not(.exp-glyph--disabled)
823
+ .exp-lens-pupil {
824
+ transform: translateX(1.8px);
825
+ }
826
+
827
+ :is(button, a):is(:hover, :focus-visible):not(:disabled) .exp-rotor {
828
+ transform: rotate(var(--exp-rotor-turn, 180deg));
829
+ }
830
+
831
+ :is(button, a):is(:hover, :focus-visible):not(:disabled) .exp-enter-arrow,
832
+ :is(button, a):is(:hover, :focus-visible):not(:disabled) .exp-arrow {
833
+ transform: translateX(3px);
834
+ }
835
+
836
+ :root:has(.exp-scope)
837
+ :is(
838
+ [data-orion-part='field-box']:not(
839
+ :has([data-orion-part='field-control']:disabled)
840
+ ),
841
+ textarea[data-orion-part='field-control']:not(:disabled)
842
+ ):is(:hover, :focus-within) {
843
+ transform: translateY(-2px);
844
+ }
845
+
846
+ :root:has(.exp-scope)
847
+ button[data-orion-part='field-control']:not(:disabled):is(
848
+ :hover,
849
+ :focus-visible,
850
+ [aria-expanded='true']
851
+ )
852
+ > [data-orion-part='field-icon'] {
853
+ transform: rotate(-8deg) scale(1.06);
854
+ }
855
+
856
+ :root:has(.exp-scope[data-exp-tables='cards'])
857
+ [data-orion-part='table-row']:is(:hover, :focus-visible, [data-selected])
858
+ > td {
859
+ transform: translateY(-2px);
860
+ }
861
+ }
862
+
863
+ @media (prefers-reduced-motion: reduce) {
864
+ .exp-float,
865
+ .exp-hang,
866
+ .exp-hint-pulse,
867
+ .exp-lens-lid,
868
+ .exp-glyph--busy .exp-lens-pupil,
869
+ .exp-glyph--busy .exp-rotor,
870
+ .exp-glyph--busy .exp-enter-arrow,
871
+ .exp-key-shine {
872
+ animation: none;
873
+ }
874
+
875
+ .exp-key {
876
+ transform: none;
877
+ }
878
+
879
+ .exp-key,
880
+ .exp-lens-pupil,
881
+ .exp-rotor,
882
+ .exp-enter-arrow,
883
+ .exp-arrow,
884
+ :root:has(.exp-scope) [data-orion-part='field-box'],
885
+ :root:has(.exp-scope) textarea[data-orion-part='field-control'],
886
+ :root:has(.exp-scope) [data-orion-part='field-icon'],
887
+ :root:has(.exp-scope) [data-orion-part='table-row'] > td,
888
+ :root:has(.exp-scope) [data-orion-part='menu-link']::before {
889
+ transition: none;
890
+ }
891
+
892
+ :root:has(.exp-scope) [data-orion-part='menu-link']::after {
893
+ animation: none;
894
+ }
895
+ }