@maildeno/editor 0.1.4 → 0.4.3

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 (152) hide show
  1. package/CHANGELOG.md +304 -0
  2. package/README.md +397 -381
  3. package/dist/{RowPreviewLegacyComponent-yjHSkZLz.js → RowPreviewLegacyComponent-BFvLnPiK.js} +1 -1
  4. package/dist/{RowPreviewRow-D-wmhbhZ.js → RowPreviewRow-D-6koDUR.js} +2 -2
  5. package/dist/adapters/errors.d.ts +59 -0
  6. package/dist/adapters/index.d.ts +31 -0
  7. package/dist/adapters/types.d.ts +68 -0
  8. package/dist/brand.d.ts +15 -0
  9. package/dist/components/DesktopOnlyNotice.vue.d.ts +20 -0
  10. package/dist/components/features/emailBuilder/EmailEditor.vue.d.ts +182 -0
  11. package/dist/components/features/emailBuilder/assistant/AssistantPanel.vue.d.ts +37 -0
  12. package/dist/components/features/emailBuilder/blocks/AnchorBlock.vue.d.ts +3 -0
  13. package/dist/components/features/emailBuilder/blocks/ButtonBlock.vue.d.ts +3 -0
  14. package/dist/components/features/emailBuilder/blocks/DividerBlock.vue.d.ts +3 -0
  15. package/dist/components/features/emailBuilder/blocks/HeadingBlock.vue.d.ts +3 -0
  16. package/dist/components/features/emailBuilder/blocks/ImageBlock.vue.d.ts +3 -0
  17. package/dist/components/features/emailBuilder/blocks/ListBlock.vue.d.ts +3 -0
  18. package/dist/components/features/emailBuilder/blocks/MenuBlock.vue.d.ts +3 -0
  19. package/dist/components/features/emailBuilder/blocks/ParagraphBlock.vue.d.ts +3 -0
  20. package/dist/components/features/emailBuilder/blocks/SocialsBlock.vue.d.ts +3 -0
  21. package/dist/components/features/emailBuilder/blocks/SpacerBlock.vue.d.ts +3 -0
  22. package/dist/components/features/emailBuilder/blocks/VideoBlock.vue.d.ts +3 -0
  23. package/dist/components/features/emailBuilder/canvas/Canvas.vue.d.ts +3 -0
  24. package/dist/components/features/emailBuilder/canvas/CanvasColumn.vue.d.ts +49 -0
  25. package/dist/components/features/emailBuilder/canvas/CanvasComponent.vue.d.ts +56 -0
  26. package/dist/components/features/emailBuilder/canvas/CanvasElement.vue.d.ts +21 -0
  27. package/dist/components/features/emailBuilder/canvas/CanvasRow.vue.d.ts +49 -0
  28. package/dist/components/features/emailBuilder/canvas/CanvasRowSpacer.vue.d.ts +40 -0
  29. package/dist/components/features/emailBuilder/health/HealthIndicator.vue.d.ts +3 -0
  30. package/dist/components/features/emailBuilder/layout/Header.vue.d.ts +54 -0
  31. package/dist/components/features/emailBuilder/layout/SendEmail.vue.d.ts +21 -0
  32. package/dist/components/features/emailBuilder/layout/SidebarLeft.vue.d.ts +3 -0
  33. package/dist/components/features/emailBuilder/layout/SidebarRight.vue.d.ts +3 -0
  34. package/dist/components/features/emailBuilder/panels/AnchorPanel.vue.d.ts +3 -0
  35. package/dist/components/features/emailBuilder/panels/ButtonPanel.vue.d.ts +3 -0
  36. package/dist/components/features/emailBuilder/panels/DividerPanel.vue.d.ts +3 -0
  37. package/dist/components/features/emailBuilder/panels/HeadingPanel.vue.d.ts +3 -0
  38. package/dist/components/features/emailBuilder/panels/ImagePanel.vue.d.ts +3 -0
  39. package/dist/components/features/emailBuilder/panels/ListPanel.vue.d.ts +3 -0
  40. package/dist/components/features/emailBuilder/panels/MenuPanel.vue.d.ts +3 -0
  41. package/dist/components/features/emailBuilder/panels/ParagraphPanel.vue.d.ts +3 -0
  42. package/dist/components/features/emailBuilder/panels/RowColumnPanel.vue.d.ts +13 -0
  43. package/dist/components/features/emailBuilder/panels/RowPanel.vue.d.ts +13 -0
  44. package/dist/components/features/emailBuilder/panels/RowSpacerPanel.vue.d.ts +13 -0
  45. package/dist/components/features/emailBuilder/panels/SocialsPanel.vue.d.ts +3 -0
  46. package/dist/components/features/emailBuilder/panels/SpacerPanel.vue.d.ts +3 -0
  47. package/dist/components/features/emailBuilder/panels/VideoPanel.vue.d.ts +3 -0
  48. package/dist/components/features/emailBuilder/panels/shared/DeviceTabs.vue.d.ts +19 -0
  49. package/dist/components/features/emailBuilder/panels/shared/LinkFieldMergeTags.vue.d.ts +31 -0
  50. package/dist/components/features/emailBuilder/panels/shared/OverrideBadge.vue.d.ts +9 -0
  51. package/dist/components/features/emailBuilder/panels/shared/PreviewBadge.vue.d.ts +11 -0
  52. package/dist/components/features/emailBuilder/panels/shared/TextFieldMergeTags.vue.d.ts +25 -0
  53. package/dist/components/features/emailBuilder/panels/ui/BoxStylingSection.vue.d.ts +7 -0
  54. package/dist/components/features/emailBuilder/panels/ui/PropertyAlignment.vue.d.ts +30 -0
  55. package/dist/components/features/emailBuilder/panels/ui/PropertyColor.vue.d.ts +75 -0
  56. package/dist/components/features/emailBuilder/panels/ui/PropertyGradientColor.vue.d.ts +27 -0
  57. package/dist/components/features/emailBuilder/panels/ui/PropertyNumberSlider.vue.d.ts +74 -0
  58. package/dist/components/features/emailBuilder/panels/ui/PropertySection.vue.d.ts +17 -0
  59. package/dist/components/features/emailBuilder/panels/ui/PropertySelect.vue.d.ts +74 -0
  60. package/dist/components/features/emailBuilder/panels/ui/PropertyTextStyle.vue.d.ts +52 -0
  61. package/dist/components/features/emailBuilder/panels/ui/PropertyTextStylePanel.vue.d.ts +72 -0
  62. package/dist/components/features/emailBuilder/panels/ui/PropertyToggle.vue.d.ts +45 -0
  63. package/dist/components/features/emailBuilder/panels/ui/PropertyVisibility.vue.d.ts +32 -0
  64. package/dist/components/features/emailBuilder/panels/ui/SpacingControl.vue.d.ts +19 -0
  65. package/dist/components/features/emailBuilder/panels/ui/color-picker/AlphaSlider.vue.d.ts +28 -0
  66. package/dist/components/features/emailBuilder/panels/ui/color-picker/ColorPickerPanel.vue.d.ts +31 -0
  67. package/dist/components/features/emailBuilder/panels/ui/color-picker/HueSlider.vue.d.ts +19 -0
  68. package/dist/components/features/emailBuilder/panels/ui/color-picker/RecentColors.vue.d.ts +20 -0
  69. package/dist/components/features/emailBuilder/panels/ui/color-picker/SVPanel.vue.d.ts +39 -0
  70. package/dist/components/features/emailBuilder/panels/ui/visibility-rule/Rule.vue.d.ts +28 -0
  71. package/dist/components/features/emailBuilder/preview/PreviewScreen.vue.d.ts +7 -0
  72. package/dist/components/features/emailBuilder/preview/ui/PreviewCanvas.vue.d.ts +10 -0
  73. package/dist/components/features/emailBuilder/preview/ui/PreviewCapabilityBadges.vue.d.ts +12 -0
  74. package/dist/components/features/emailBuilder/preview/ui/PreviewClientCard.vue.d.ts +20 -0
  75. package/dist/components/features/emailBuilder/preview/ui/PreviewClientList.vue.d.ts +21 -0
  76. package/dist/components/features/emailBuilder/preview/ui/PreviewClientPicker.vue.d.ts +16 -0
  77. package/dist/components/features/emailBuilder/preview/ui/PreviewComponent.vue.d.ts +10 -0
  78. package/dist/components/features/emailBuilder/preview/ui/PreviewDetailView.vue.d.ts +41 -0
  79. package/dist/components/features/emailBuilder/preview/ui/PreviewRendered.vue.d.ts +8 -0
  80. package/dist/components/features/emailBuilder/product/RowPreview.vue.d.ts +8 -0
  81. package/dist/components/features/emailBuilder/product/RowPreviewChildren.vue.d.ts +14 -0
  82. package/dist/components/features/emailBuilder/product/RowPreviewLegacyComponent.vue.d.ts +14 -0
  83. package/dist/components/features/emailBuilder/product/RowPreviewRow.vue.d.ts +9 -0
  84. package/dist/components/features/emailBuilder/product/SavedRowsPanel.vue.d.ts +3 -0
  85. package/dist/components/features/emailBuilder/product/SavedTemplatesPanel.vue.d.ts +13 -0
  86. package/dist/components/features/emailBuilder/product/VersionHistoryPanel.vue.d.ts +14 -0
  87. package/dist/components/features/emailBuilder/sidebar/SidebarBlockButton.vue.d.ts +35 -0
  88. package/dist/components/features/emailBuilder/tabs/GeneralTab.vue.d.ts +3 -0
  89. package/dist/components/features/emailBuilder/tabs/LayoutTab.vue.d.ts +3 -0
  90. package/dist/components/features/emailBuilder/tabs/content/ContentTab.vue.d.ts +3 -0
  91. package/dist/components/features/emailBuilder/tabs/content/LayersPanel.vue.d.ts +7 -0
  92. package/dist/components/features/emailBuilder/tabs/general/MergeTagsTab.vue.d.ts +3 -0
  93. package/dist/components/features/emailBuilder/tabs/general/StylesTab.vue.d.ts +3 -0
  94. package/dist/components/features/emailBuilder/tabs/general/VisibilityTab.vue.d.ts +3 -0
  95. package/dist/components/features/emailBuilder/tabs/general/VisibilityWrapESPTab.vue.d.ts +3 -0
  96. package/dist/components/features/emailBuilder/tabs/general/merge-tags/LinkTagTab.vue.d.ts +3 -0
  97. package/dist/components/features/emailBuilder/tabs/general/merge-tags/MergeTagTab.vue.d.ts +3 -0
  98. package/dist/components/features/emailBuilder/ui/LinkInputDialog.vue.d.ts +17 -0
  99. package/dist/components/features/emailBuilder/ui/canvas/CanvasRowDropZone.vue.d.ts +12 -0
  100. package/dist/components/features/emailBuilder/ui/canvas/DropZone.vue.d.ts +10 -0
  101. package/dist/components/features/emailBuilder/ui/canvas/Loader.vue.d.ts +19 -0
  102. package/dist/components/features/emailBuilder/ui/layers-panel/ComponentIcon.vue.d.ts +7 -0
  103. package/dist/components/features/emailBuilder/ui/layers-panel/LayerColumnChildren.vue.d.ts +42 -0
  104. package/dist/components/features/emailBuilder/ui/layers-panel/LayerDropLine.vue.d.ts +8 -0
  105. package/dist/components/features/emailBuilder/ui/renderers/AnchorRenderer.vue.d.ts +10 -0
  106. package/dist/components/features/emailBuilder/ui/renderers/DividerRenderer.vue.d.ts +10 -0
  107. package/dist/components/features/emailBuilder/ui/renderers/HeadingRenderer.vue.d.ts +10 -0
  108. package/dist/components/features/emailBuilder/ui/renderers/ImageRenderer.vue.d.ts +10 -0
  109. package/dist/components/features/emailBuilder/ui/renderers/ListRenderer.vue.d.ts +10 -0
  110. package/dist/components/features/emailBuilder/ui/renderers/MenuRenderer.vue.d.ts +10 -0
  111. package/dist/components/features/emailBuilder/ui/renderers/ParagraphRenderer.vue.d.ts +10 -0
  112. package/dist/components/features/emailBuilder/ui/renderers/SocialsRenderer.vue.d.ts +10 -0
  113. package/dist/components/features/emailBuilder/ui/renderers/SpacerRenderer.vue.d.ts +10 -0
  114. package/dist/components/features/emailBuilder/ui/renderers/VideoRenderer.vue.d.ts +10 -0
  115. package/dist/components/features/emailBuilder/ui/rich-text-editor/RichTextEditor.vue.d.ts +12 -0
  116. package/dist/components/features/emailBuilder/ui/rich-text-editor/pickers/MergeTagPicker.vue.d.ts +18 -0
  117. package/dist/components/features/emailBuilder/ui/rich-text-editor/pickers/RichTextColorPicker.vue.d.ts +15 -0
  118. package/dist/components/features/emailBuilder/ui/visibility/SupportBadge.vue.d.ts +10 -0
  119. package/dist/components/features/emailBuilder/ui/visibility/VisibilityPopover.vue.d.ts +45 -0
  120. package/dist/components/ui/ConfirmDialog.vue.d.ts +3 -0
  121. package/dist/components/ui/Icon.vue.d.ts +33 -0
  122. package/dist/components/ui/InfoDialog.vue.d.ts +12 -0
  123. package/dist/components/ui/Loading.vue.d.ts +6 -0
  124. package/dist/components/ui/ShadowSafeToast.vue.d.ts +3 -0
  125. package/dist/components/ui/primitives/Button.vue.d.ts +23 -0
  126. package/dist/components/ui/primitives/DatePicker.vue.d.ts +16 -0
  127. package/dist/components/ui/primitives/Dialog.vue.d.ts +34 -0
  128. package/dist/components/ui/primitives/InputText.vue.d.ts +29 -0
  129. package/dist/components/ui/primitives/Message.vue.d.ts +20 -0
  130. package/dist/components/ui/primitives/Select.vue.d.ts +22 -0
  131. package/dist/composables/emailBuilder/components/useSystemRows.d.ts +22 -0
  132. package/dist/composables/emailBuilder/core/ui/useLayerHoverScroll.d.ts +10 -10
  133. package/dist/composables/emailBuilder/core/useEmailBuilder.d.ts +18 -0
  134. package/dist/composables/emailBuilder/export/logic/espLogicWrapper.d.ts +4 -4
  135. package/dist/composables/emailBuilder/export/targets/templateSnapshot.d.ts +24 -0
  136. package/dist/composables/emailBuilder/persistence/useEmailBuilderPersistence.d.ts +1 -1
  137. package/dist/composables/system/useColorScheme.d.ts +16 -0
  138. package/dist/editor.css +2074 -1688
  139. package/dist/{element-CWjNN0lY.js → element-95RHug4F.js} +3275 -1986
  140. package/dist/element-scoped-styles.css +2074 -1688
  141. package/dist/element.d.ts +1 -1
  142. package/dist/element.js +1 -1
  143. package/dist/{html-DGrfikay.js → html-D6UnSE1C.js} +1 -1
  144. package/dist/index.d.ts +4 -2
  145. package/dist/index.js +3325 -1984
  146. package/dist/init.d.ts +95 -2
  147. package/dist/init.js +29 -3
  148. package/dist/theme.d.ts +68 -17
  149. package/dist/types/assistant.d.ts +56 -0
  150. package/dist/{vue.runtime.esm-bundler-CfYyFhW6.js → vue.runtime.esm-bundler-BaHqghYy.js} +3 -3
  151. package/package.json +6 -3
  152. package/dist/composables/emailBuilder/transform/pipeline/optimizeAI.d.ts +0 -125
@@ -1,546 +1,569 @@
1
1
 
2
- .md-input[data-v-3e558228] {
3
- width: 100%;
4
- padding: 0.325rem 0.625rem;
5
- font-size: 13px;
6
- line-height: 1.25rem;
7
- color: var(--md-text);
8
- background: var(--md-surface);
9
- border: 1px solid var(--md-border);
10
- border-radius: 0.375rem;
11
- outline: none;
12
- transition: border-color 0.15s, box-shadow 0.15s;
13
- }
14
- .md-input[data-v-3e558228]::placeholder { color: var(--md-text-subtle);
15
- }
16
- .md-input[data-v-3e558228]:focus {
2
+ .md-input[data-v-94ca4419] {
3
+ width: 100%;
4
+ padding: 0.325rem 0.625rem;
5
+ font-size: 13px;
6
+ line-height: 1.25rem;
7
+ color: var(--md-text);
8
+ background: var(--md-surface);
9
+ border: 1px solid var(--md-border);
10
+ border-radius: 0.375rem;
11
+ outline: none;
12
+ transition:
13
+ border-color 0.15s,
14
+ box-shadow 0.15s;
15
+ }
16
+ .md-input[data-v-94ca4419]::placeholder {
17
+ color: var(--md-text-subtle);
18
+ }
19
+ .md-input[data-v-94ca4419]:focus {
17
20
  border-color: var(--md-primary);
18
21
  }
19
- .md-input[data-v-3e558228]:disabled { background: var(--md-surface-hover); color: var(--md-text-subtle); cursor: not-allowed;
22
+ .md-input[data-v-94ca4419]:disabled {
23
+ background: var(--md-surface-hover);
24
+ color: var(--md-text-subtle);
25
+ cursor: not-allowed;
20
26
  }
21
- .md-input--invalid[data-v-3e558228] { border-color: var(--md-danger);
27
+ .md-input--invalid[data-v-94ca4419] {
28
+ border-color: var(--md-danger);
22
29
  }
23
- .md-input--invalid[data-v-3e558228]:focus { border-color: var(--md-danger); box-shadow: 0 0 0 1px var(--md-danger);
24
- }
25
-
26
- /* =========================================================
27
- SELECT ROOT
30
+ .md-input--invalid[data-v-94ca4419]:focus {
31
+ border-color: var(--md-danger);
32
+ box-shadow: 0 0 0 1px var(--md-danger);
33
+ }
34
+
35
+ /* =========================================================
36
+ SELECT ROOT
28
37
  ========================================================= */
29
- .md-sel__anchor {
30
- display: flex;
31
- align-items: center;
32
- gap: 0.25rem;
33
- width: 100%;
34
- min-height: 32px;
35
- box-sizing: border-box;
36
- padding: 0 0.375rem 0 0.5rem;
37
- background: var(--md-surface);
38
- border: 1px solid var(--md-border);
39
- border-radius: 0.375rem;
40
- font-size: 13px;
38
+ .md-sel__anchor {
39
+ display: flex;
40
+ align-items: center;
41
+ gap: 0.25rem;
42
+ width: 100%;
43
+ min-height: 32px;
44
+ box-sizing: border-box;
45
+ padding: 0 0.375rem 0 0.5rem;
46
+ background: var(--md-surface);
47
+ border: 1px solid var(--md-border);
48
+ border-radius: 0.375rem;
49
+ font-size: 13px;
41
50
  color: var(--md-text);
42
51
  }
43
- .md-sel__anchor:focus-within {
52
+ .md-sel__anchor:focus-within {
44
53
  border-color: var(--md-primary);
45
54
  }
46
- .md-sel__anchor--open {
55
+ .md-sel__anchor--open {
47
56
  border-color: var(--md-primary);
48
57
  }
49
- .md-sel__anchor--disabled {
50
- background: var(--md-surface-hover);
58
+ .md-sel__anchor--disabled {
59
+ background: var(--md-surface-hover);
51
60
  color: var(--md-text-subtle);
52
- }
53
-
54
- /* =========================================================
55
- SEARCH INPUT
61
+ }
62
+
63
+ /* =========================================================
64
+ SEARCH INPUT
56
65
  ========================================================= */
57
- .md-sel__input {
58
- flex: 1;
59
- min-width: 0;
60
- width: 100%;
61
- box-sizing: border-box;
62
- padding: 0.375rem 0;
63
- border: 0;
64
- outline: none;
65
- background: transparent;
66
- font-family: inherit;
67
- font-size: 13px;
68
- line-height: 1.25rem;
66
+ .md-sel__input {
67
+ flex: 1;
68
+ min-width: 0;
69
+ width: 100%;
70
+ box-sizing: border-box;
71
+ padding: 0.375rem 0;
72
+ border: 0;
73
+ outline: none;
74
+ background: transparent;
75
+ font-family: inherit;
76
+ font-size: 13px;
77
+ line-height: 1.25rem;
69
78
  color: var(--md-text);
70
79
  }
71
- .md-sel__input::placeholder {
80
+ .md-sel__input::placeholder {
72
81
  color: var(--md-text-subtle);
73
- }
74
-
75
- /* =========================================================
76
- NON-FILTERED TRIGGER
82
+ }
83
+
84
+ /* =========================================================
85
+ NON-FILTERED TRIGGER
77
86
  ========================================================= */
78
- .md-sel__triggerText {
79
- flex: 1;
80
- min-width: 0;
81
- box-sizing: border-box;
82
- padding: 0.375rem 0;
83
- border: 0;
84
- outline: none;
85
- background: transparent;
86
- cursor: pointer;
87
- font-family: inherit;
88
- font-size: 13px;
89
- color: var(--md-text);
90
- text-align: left;
91
- overflow: hidden;
92
- text-overflow: ellipsis;
87
+ .md-sel__triggerText {
88
+ flex: 1;
89
+ min-width: 0;
90
+ box-sizing: border-box;
91
+ padding: 0.375rem 0;
92
+ border: 0;
93
+ outline: none;
94
+ background: transparent;
95
+ cursor: pointer;
96
+ font-family: inherit;
97
+ font-size: 13px;
98
+ color: var(--md-text);
99
+ text-align: left;
100
+ overflow: hidden;
101
+ text-overflow: ellipsis;
93
102
  white-space: nowrap;
94
103
  }
95
- .md-sel__ph {
104
+ .md-sel__ph {
96
105
  color: var(--md-text-subtle);
97
- }
98
-
99
- /* =========================================================
100
- CHEVRON
106
+ }
107
+
108
+ /* =========================================================
109
+ CHEVRON
101
110
  ========================================================= */
102
- .md-sel__chev {
103
- display: inline-flex;
104
- align-items: center;
105
- justify-content: center;
106
- flex-shrink: 0;
107
- width: 20px;
108
- height: 20px;
109
- padding: 0;
110
- border: 0;
111
- outline: none;
112
- background: transparent;
113
- cursor: pointer;
114
- color: var(--md-text-muted);
115
- transition:
116
- transform 150ms ease,
111
+ .md-sel__chev {
112
+ display: inline-flex;
113
+ align-items: center;
114
+ justify-content: center;
115
+ flex-shrink: 0;
116
+ width: 20px;
117
+ height: 20px;
118
+ padding: 0;
119
+ border: 0;
120
+ outline: none;
121
+ background: transparent;
122
+ cursor: pointer;
123
+ color: var(--md-text-muted);
124
+ transition:
125
+ transform 150ms ease,
117
126
  color 150ms ease;
118
127
  }
119
- .md-sel__chev--open {
120
- transform: rotate(180deg);
128
+ .md-sel__chev--open {
129
+ transform: rotate(180deg);
121
130
  color: var(--md-text);
122
- }
123
-
124
- /* =========================================================
125
- DROPDOWN
131
+ }
132
+
133
+ /* =========================================================
134
+ DROPDOWN
126
135
  ========================================================= */
127
- .md-sel__content {
128
- position: relative;
129
- z-index: 999999;
130
- width: var(--reka-combobox-trigger-width);
131
- min-width: 180px;
132
- max-width: 320px;
133
- box-sizing: border-box;
134
- background: var(--md-surface);
135
- border: 1px solid var(--md-border);
136
- border-radius: 0.5rem;
137
- box-shadow:
138
- 0 10px 15px -3px rgb(0 0 0 / 0.12),
139
- 0 4px 6px -4px rgb(0 0 0 / 0.12);
136
+ .md-sel__content {
137
+ position: relative;
138
+ z-index: 999999;
139
+ width: var(--reka-combobox-trigger-width);
140
+ min-width: 180px;
141
+ max-width: 320px;
142
+ box-sizing: border-box;
143
+ background: var(--md-surface);
144
+ border: 1px solid var(--md-border);
145
+ border-radius: 0.5rem;
146
+ box-shadow:
147
+ 0 10px 15px -3px rgb(0 0 0 / 0.12),
148
+ 0 4px 6px -4px rgb(0 0 0 / 0.12);
140
149
  overflow: hidden;
141
- }
142
-
143
- /* =========================================================
144
- DROPDOWN VIEWPORT
150
+ }
151
+
152
+ /* =========================================================
153
+ DROPDOWN VIEWPORT
145
154
  ========================================================= */
146
- .md-sel__viewport {
147
- width: 100%;
148
- max-height: 240px;
149
- box-sizing: border-box;
150
- overflow-x: hidden;
151
- overflow-y: auto;
152
- padding: 4px;
155
+ .md-sel__viewport {
156
+ width: 100%;
157
+ max-height: 240px;
158
+ box-sizing: border-box;
159
+ overflow-x: hidden;
160
+ overflow-y: auto;
161
+ padding: 4px;
153
162
  background: var(--md-surface);
154
- }
155
-
156
- /* =========================================================
157
- EMPTY
163
+ }
164
+
165
+ /* =========================================================
166
+ EMPTY
158
167
  ========================================================= */
159
- .md-sel__empty {
160
- display: block;
161
- width: 100%;
162
- box-sizing: border-box;
163
- padding: 8px;
164
- background: var(--md-surface);
165
- font-family: inherit;
166
- font-size: 12px;
167
- color: var(--md-text-subtle);
168
+ .md-sel__empty {
169
+ display: block;
170
+ width: 100%;
171
+ box-sizing: border-box;
172
+ padding: 8px;
173
+ background: var(--md-surface);
174
+ font-family: inherit;
175
+ font-size: 12px;
176
+ color: var(--md-text-subtle);
168
177
  text-align: center;
169
- }
170
-
171
- /* =========================================================
172
- OPTION
178
+ }
179
+
180
+ /* =========================================================
181
+ OPTION
173
182
  ========================================================= */
174
- .md-sel__item {
175
- display: flex;
176
- align-items: center;
177
- justify-content: space-between;
178
- width: 100%;
179
- min-height: 32px;
180
- box-sizing: border-box;
181
- gap: 8px;
182
- padding: 6px 8px;
183
- background: var(--md-surface);
184
- border: 0;
185
- border-radius: 6px;
186
- font-family: inherit;
187
- font-size: 13px;
188
- line-height: 18px;
189
- color: var(--md-text);
190
- cursor: pointer;
191
- outline: none;
183
+ .md-sel__item {
184
+ display: flex;
185
+ align-items: center;
186
+ justify-content: space-between;
187
+ width: 100%;
188
+ min-height: 32px;
189
+ box-sizing: border-box;
190
+ gap: 8px;
191
+ padding: 6px 8px;
192
+ background: var(--md-surface);
193
+ border: 0;
194
+ border-radius: 6px;
195
+ font-family: inherit;
196
+ font-size: 13px;
197
+ line-height: 18px;
198
+ color: var(--md-text);
199
+ cursor: pointer;
200
+ outline: none;
192
201
  user-select: none;
193
202
  }
194
- .md-sel__item:hover {
203
+ .md-sel__item:hover {
195
204
  background: var(--md-surface-muted);
196
205
  }
197
- .md-sel__item[data-highlighted] {
206
+ .md-sel__item[data-highlighted] {
198
207
  background: var(--md-surface-muted);
199
208
  }
200
- .md-sel__item[data-state="checked"] {
201
- background: var(--md-success-bg);
202
- color: var(--md-success-fg);
209
+ .md-sel__item[data-state="checked"] {
210
+ background: var(--md-success-bg);
211
+ color: var(--md-success-fg);
203
212
  font-weight: 500;
204
213
  }
205
- .md-sel__item[data-state="checked"][data-highlighted] {
214
+ .md-sel__item[data-state="checked"][data-highlighted] {
206
215
  background: color-mix(in srgb, var(--md-success) 20%, var(--md-success-bg));
207
- }
208
-
209
- /* =========================================================
210
- OPTION TEXT
216
+ }
217
+
218
+ /* =========================================================
219
+ OPTION TEXT
211
220
  ========================================================= */
212
- .md-sel__itemLabel {
213
- flex: 1;
214
- min-width: 0;
215
- overflow: hidden;
216
- text-overflow: ellipsis;
221
+ .md-sel__itemLabel {
222
+ flex: 1;
223
+ min-width: 0;
224
+ overflow: hidden;
225
+ text-overflow: ellipsis;
217
226
  white-space: nowrap;
218
- }
219
-
220
- /* =========================================================
221
- CHECK
227
+ }
228
+
229
+ /* =========================================================
230
+ CHECK
222
231
  ========================================================= */
223
- .md-sel__check {
224
- display: inline-flex;
225
- align-items: center;
226
- justify-content: center;
227
- flex-shrink: 0;
228
- width: 16px;
229
- height: 16px;
230
- font-size: 12px;
232
+ .md-sel__check {
233
+ display: inline-flex;
234
+ align-items: center;
235
+ justify-content: center;
236
+ flex-shrink: 0;
237
+ width: 16px;
238
+ height: 16px;
239
+ font-size: 12px;
231
240
  color: currentColor;
232
- }
241
+ }
233
242
 
234
- .section-fade-enter-active[data-v-9ae9089d],
235
- .section-fade-leave-active[data-v-9ae9089d] {
236
- transition: opacity 0.15s ease, transform 0.15s ease;
243
+ .section-fade-enter-active[data-v-bb838abe],
244
+ .section-fade-leave-active[data-v-bb838abe] {
245
+ transition:
246
+ opacity 0.15s ease,
247
+ transform 0.15s ease;
237
248
  }
238
- .section-fade-enter-from[data-v-9ae9089d],
239
- .section-fade-leave-to[data-v-9ae9089d] {
240
- opacity: 0;
249
+ .section-fade-enter-from[data-v-bb838abe],
250
+ .section-fade-leave-to[data-v-bb838abe] {
251
+ opacity: 0;
241
252
  transform: translateY(-3px);
242
- }
243
-
244
- .transparent-swatch[data-v-e240a193] {
245
- background-image:
246
- linear-gradient(45deg, #ccc 25%, transparent 25%),
247
- linear-gradient(-45deg, #ccc 25%, transparent 25%),
248
- linear-gradient(45deg, transparent 75%, #ccc 75%),
249
- linear-gradient(-45deg, transparent 75%, #ccc 75%);
250
- background-size: 6px 6px;
251
- background-position: 0 0, 0 3px, 3px -3px, -3px 0;
253
+ }
254
+
255
+ .transparent-swatch[data-v-fad96f2e] {
256
+ background-image:
257
+ linear-gradient(45deg, #ccc 25%, transparent 25%),
258
+ linear-gradient(-45deg, #ccc 25%, transparent 25%),
259
+ linear-gradient(45deg, transparent 75%, #ccc 75%),
260
+ linear-gradient(-45deg, transparent 75%, #ccc 75%);
261
+ background-size: 6px 6px;
262
+ background-position:
263
+ 0 0,
264
+ 0 3px,
265
+ 3px -3px,
266
+ -3px 0;
252
267
  background-color: white;
253
- }
254
-
255
- .transparent-swatch[data-v-936cb96e] {
256
- background-image:
257
- linear-gradient(45deg, #ccc 25%, transparent 25%),
258
- linear-gradient(-45deg, #ccc 25%, transparent 25%),
259
- linear-gradient(45deg, transparent 75%, #ccc 75%),
260
- linear-gradient(-45deg, transparent 75%, #ccc 75%);
261
- background-size: 6px 6px;
262
- background-position: 0 0, 0 3px, 3px -3px, -3px 0;
268
+ }
269
+
270
+ .transparent-swatch[data-v-7373b74d] {
271
+ background-image:
272
+ linear-gradient(45deg, #ccc 25%, transparent 25%),
273
+ linear-gradient(-45deg, #ccc 25%, transparent 25%),
274
+ linear-gradient(45deg, transparent 75%, #ccc 75%),
275
+ linear-gradient(-45deg, transparent 75%, #ccc 75%);
276
+ background-size: 6px 6px;
277
+ background-position:
278
+ 0 0,
279
+ 0 3px,
280
+ 3px -3px,
281
+ -3px 0;
263
282
  background-color: white;
264
- }
265
-
266
- /* =========================================================
267
- FIELD
283
+ }
284
+
285
+ /* =========================================================
286
+ FIELD
268
287
  ========================================================= */
269
- .md-dp__field {
270
- display: flex;
271
- align-items: center;
272
- gap: 0.0625rem;
273
- width: 100%;
274
- min-height: 32px;
275
- box-sizing: border-box;
276
- padding: 0.375rem 0.375rem 0.375rem 0.5rem;
277
- background: var(--md-surface);
278
- border: 1px solid var(--md-border);
279
- border-radius: 0.375rem;
280
- font-family: inherit;
281
- font-size: 13px;
288
+ .md-dp__field {
289
+ display: flex;
290
+ align-items: center;
291
+ gap: 0.0625rem;
292
+ width: 100%;
293
+ min-height: 32px;
294
+ box-sizing: border-box;
295
+ padding: 0.375rem 0.375rem 0.375rem 0.5rem;
296
+ background: var(--md-surface);
297
+ border: 1px solid var(--md-border);
298
+ border-radius: 0.375rem;
299
+ font-family: inherit;
300
+ font-size: 13px;
282
301
  color: var(--md-text);
283
302
  }
284
- .md-dp__field:focus-within {
285
- border-color: var(--md-primary);
303
+ .md-dp__field:focus-within {
304
+ border-color: var(--md-primary);
286
305
  box-shadow: 0 0 0 1px var(--md-primary);
287
- }
288
-
289
- /* =========================================================
290
- DATE SEGMENTS
306
+ }
307
+
308
+ /* =========================================================
309
+ DATE SEGMENTS
291
310
  ========================================================= */
292
- .md-dp__seg {
293
- padding: 0 0.0625rem;
294
- border-radius: 0.125rem;
295
- outline: none;
296
- font-family: inherit;
311
+ .md-dp__seg {
312
+ padding: 0 0.0625rem;
313
+ border-radius: 0.125rem;
314
+ outline: none;
315
+ font-family: inherit;
297
316
  font-size: 13px;
298
317
  }
299
- .md-dp__seg:focus {
300
- background: var(--md-primary);
318
+ .md-dp__seg:focus {
319
+ background: var(--md-primary);
301
320
  color: var(--md-surface);
302
321
  }
303
- .md-dp__seg[data-placeholder] {
322
+ .md-dp__seg[data-placeholder] {
304
323
  color: var(--md-text-subtle);
305
324
  }
306
- .md-dp__lit {
325
+ .md-dp__lit {
307
326
  color: var(--md-text-subtle);
308
- }
309
-
310
- /* =========================================================
311
- CALENDAR TRIGGER
327
+ }
328
+
329
+ /* =========================================================
330
+ CALENDAR TRIGGER
312
331
  ========================================================= */
313
- .md-dp__trigger {
314
- display: inline-flex;
315
- align-items: center;
316
- justify-content: center;
317
- flex-shrink: 0;
318
- margin-left: auto;
319
- width: 20px;
320
- height: 20px;
321
- padding: 0.125rem;
322
- border: 0;
323
- background: transparent;
324
- cursor: pointer;
325
- font-size: 11px;
332
+ .md-dp__trigger {
333
+ display: inline-flex;
334
+ align-items: center;
335
+ justify-content: center;
336
+ flex-shrink: 0;
337
+ margin-left: auto;
338
+ width: 20px;
339
+ height: 20px;
340
+ padding: 0.125rem;
341
+ border: 0;
342
+ background: transparent;
343
+ cursor: pointer;
344
+ font-size: 11px;
326
345
  color: var(--md-text-subtle);
327
346
  }
328
- .md-dp__trigger:hover {
347
+ .md-dp__trigger:hover {
329
348
  color: var(--md-text-muted);
330
- }
331
-
332
- /* =========================================================
333
- CALENDAR POPOVER
349
+ }
350
+
351
+ /* =========================================================
352
+ CALENDAR POPOVER
334
353
  ========================================================= */
335
- .md-dp__content {
336
- z-index: 999999;
337
- padding: 0.625rem;
338
- box-sizing: border-box;
339
- background: var(--md-surface);
340
- border: 1px solid var(--md-border);
341
- border-radius: 0.625rem;
342
- box-shadow:
343
- 0 10px 15px -3px rgb(0 0 0 / 0.12),
354
+ .md-dp__content {
355
+ z-index: 999999;
356
+ padding: 0.625rem;
357
+ box-sizing: border-box;
358
+ background: var(--md-surface);
359
+ border: 1px solid var(--md-border);
360
+ border-radius: 0.625rem;
361
+ box-shadow:
362
+ 0 10px 15px -3px rgb(0 0 0 / 0.12),
344
363
  0 4px 6px -4px rgb(0 0 0 / 0.12);
345
- }
346
-
347
- /* =========================================================
348
- CALENDAR
364
+ }
365
+
366
+ /* =========================================================
367
+ CALENDAR
349
368
  ========================================================= */
350
- .md-dp__cal {
369
+ .md-dp__cal {
351
370
  width: max-content;
352
- }
353
-
354
- /* =========================================================
355
- HEADER
371
+ }
372
+
373
+ /* =========================================================
374
+ HEADER
356
375
  ========================================================= */
357
- .md-dp__header {
358
- display: flex;
359
- align-items: center;
360
- justify-content: space-between;
376
+ .md-dp__header {
377
+ display: flex;
378
+ align-items: center;
379
+ justify-content: space-between;
361
380
  margin-bottom: 0.5rem;
362
381
  }
363
- .md-dp__heading {
364
- font-family: inherit;
365
- font-size: 13px;
366
- font-weight: 600;
382
+ .md-dp__heading {
383
+ font-family: inherit;
384
+ font-size: 13px;
385
+ font-weight: 600;
367
386
  color: var(--md-text);
368
- }
369
-
370
- /* =========================================================
371
- PREVIOUS / NEXT
387
+ }
388
+
389
+ /* =========================================================
390
+ PREVIOUS / NEXT
372
391
  ========================================================= */
373
- .md-dp__nav {
374
- display: inline-flex;
375
- align-items: center;
376
- justify-content: center;
377
- width: 24px;
378
- height: 24px;
379
- padding: 0.25rem;
380
- border: 0;
381
- background: transparent;
382
- border-radius: 0.25rem;
383
- cursor: pointer;
384
- font-size: 12px;
392
+ .md-dp__nav {
393
+ display: inline-flex;
394
+ align-items: center;
395
+ justify-content: center;
396
+ width: 24px;
397
+ height: 24px;
398
+ padding: 0.25rem;
399
+ border: 0;
400
+ background: transparent;
401
+ border-radius: 0.25rem;
402
+ cursor: pointer;
403
+ font-size: 12px;
385
404
  color: var(--md-text-muted);
386
405
  }
387
- .md-dp__nav:hover {
388
- background: var(--md-surface-muted);
406
+ .md-dp__nav:hover {
407
+ background: var(--md-surface-muted);
389
408
  color: var(--md-text);
390
409
  }
391
- .md-dp__nav:disabled {
392
- opacity: 0.4;
410
+ .md-dp__nav:disabled {
411
+ opacity: 0.4;
393
412
  cursor: default;
394
- }
395
-
396
- /* =========================================================
397
- GRID
413
+ }
414
+
415
+ /* =========================================================
416
+ GRID
398
417
  ========================================================= */
399
- .md-dp__grid {
400
- width: 100%;
418
+ .md-dp__grid {
419
+ width: 100%;
401
420
  border-collapse: collapse;
402
421
  }
403
- .md-dp__row {
422
+ .md-dp__row {
404
423
  display: flex;
405
- }
406
-
407
- /* =========================================================
408
- WEEKDAY HEADER
424
+ }
425
+
426
+ /* =========================================================
427
+ WEEKDAY HEADER
409
428
  ========================================================= */
410
- .md-dp__headCell {
411
- display: inline-flex;
412
- align-items: center;
413
- justify-content: center;
414
- width: 32px;
415
- height: 28px;
416
- font-family: inherit;
417
- font-size: 11px;
418
- font-weight: 500;
429
+ .md-dp__headCell {
430
+ display: inline-flex;
431
+ align-items: center;
432
+ justify-content: center;
433
+ width: 32px;
434
+ height: 28px;
435
+ font-family: inherit;
436
+ font-size: 11px;
437
+ font-weight: 500;
419
438
  color: var(--md-text-subtle);
420
- }
421
-
422
- /* =========================================================
423
- DAY BUTTON
439
+ }
440
+
441
+ /* =========================================================
442
+ DAY BUTTON
424
443
  ========================================================= */
425
- .md-dp__day {
426
- display: inline-flex;
427
- align-items: center;
428
- justify-content: center;
429
- width: 32px;
430
- height: 30px;
431
- padding: 0;
432
- border: 0;
433
- background: transparent;
434
- font-family: inherit;
435
- font-size: 12px;
436
- color: var(--md-text);
437
- border-radius: 0.3125rem;
438
- cursor: pointer;
439
- outline: none;
440
- transition:
441
- background 100ms ease,
444
+ .md-dp__day {
445
+ display: inline-flex;
446
+ align-items: center;
447
+ justify-content: center;
448
+ width: 32px;
449
+ height: 30px;
450
+ padding: 0;
451
+ border: 0;
452
+ background: transparent;
453
+ font-family: inherit;
454
+ font-size: 12px;
455
+ color: var(--md-text);
456
+ border-radius: 0.3125rem;
457
+ cursor: pointer;
458
+ outline: none;
459
+ transition:
460
+ background 100ms ease,
442
461
  color 100ms ease;
443
462
  }
444
- .md-dp__day:hover {
463
+ .md-dp__day:hover {
445
464
  background: var(--md-surface-muted);
446
465
  }
447
- .md-dp__day:focus-visible {
448
- outline: 2px solid var(--md-primary);
466
+ .md-dp__day:focus-visible {
467
+ outline: 2px solid var(--md-primary);
449
468
  outline-offset: -2px;
450
- }
451
-
452
- /* =========================================================
453
- SELECTED DAY
469
+ }
470
+
471
+ /* =========================================================
472
+ SELECTED DAY
454
473
  ========================================================= */
455
- .md-dp__day[data-selected] {
456
- background: var(--md-primary);
457
- color: var(--md-surface);
474
+ .md-dp__day[data-selected] {
475
+ background: var(--md-primary);
476
+ color: var(--md-surface);
458
477
  font-weight: 600;
459
478
  }
460
- .md-dp__day[data-selected]:hover {
479
+ .md-dp__day[data-selected]:hover {
461
480
  background: var(--md-primary);
462
- }
463
-
464
- /* =========================================================
465
- TODAY
481
+ }
482
+
483
+ /* =========================================================
484
+ TODAY
466
485
  ========================================================= */
467
- .md-dp__day[data-today]:not([data-selected]) {
468
- font-weight: 700;
486
+ .md-dp__day[data-today]:not([data-selected]) {
487
+ font-weight: 700;
469
488
  color: var(--md-primary);
470
- }
471
-
472
- /* =========================================================
473
- OUTSIDE / DISABLED
489
+ }
490
+
491
+ /* =========================================================
492
+ OUTSIDE / DISABLED
474
493
  ========================================================= */
475
- .md-dp__day[data-outside-view] {
494
+ .md-dp__day[data-outside-view] {
476
495
  color: var(--md-border-strong);
477
496
  }
478
- .md-dp__day[data-disabled] {
479
- color: var(--md-border-strong);
480
-
497
+ .md-dp__day[data-disabled] {
498
+ color: var(--md-border-strong);
499
+
481
500
  cursor: default;
482
501
  }
483
- .md-dp__day[data-disabled]:hover {
502
+ .md-dp__day[data-disabled]:hover {
484
503
  background: transparent;
485
- }
504
+ }
486
505
 
487
- .rules-scroll[data-v-ce314c0b] {
488
- overflow-x: auto;
489
- max-width: 100%;
506
+ .rules-scroll[data-v-3e175668] {
507
+ overflow-x: auto;
508
+ max-width: 100%;
490
509
  -webkit-overflow-scrolling: touch;
491
510
  }
492
- .rules-scroll[data-v-ce314c0b]::-webkit-scrollbar {
511
+ .rules-scroll[data-v-3e175668]::-webkit-scrollbar {
493
512
  height: 6px;
494
513
  }
495
- .rules-scroll[data-v-ce314c0b]::-webkit-scrollbar-track {
496
- background: var(--md-surface-muted);
514
+ .rules-scroll[data-v-3e175668]::-webkit-scrollbar-track {
515
+ background: var(--md-surface-muted);
497
516
  border-radius: 4px;
498
517
  }
499
- .rules-scroll[data-v-ce314c0b]::-webkit-scrollbar-thumb {
500
- background: var(--md-border-strong);
518
+ .rules-scroll[data-v-3e175668]::-webkit-scrollbar-thumb {
519
+ background: var(--md-border-strong);
501
520
  border-radius: 4px;
502
521
  }
503
- .rules-scroll[data-v-ce314c0b]::-webkit-scrollbar-thumb:hover {
522
+ .rules-scroll[data-v-3e175668]::-webkit-scrollbar-thumb:hover {
504
523
  background: var(--md-text-subtle);
505
- }
506
-
507
- .toggle-btn[data-v-2dd9f5a7] {
508
- display: flex;
509
- align-items: center;
510
- justify-content: center;
511
- height: 28px;
512
- border-radius: 6px;
513
- border: 0.5px solid transparent;
514
- cursor: pointer;
515
- transition:
516
- background 0.1s,
517
- border-color 0.1s,
518
- color 0.1s;
519
- background: transparent;
520
- padding: 0;
524
+ }
525
+
526
+ .toggle-btn[data-v-26c04ac4] {
527
+ display: flex;
528
+ align-items: center;
529
+ justify-content: center;
530
+ height: 28px;
531
+ border-radius: 6px;
532
+ border: 0.5px solid transparent;
533
+ cursor: pointer;
534
+ transition:
535
+ background 0.1s,
536
+ border-color 0.1s,
537
+ color 0.1s;
538
+ background: transparent;
539
+ padding: 0;
521
540
  outline: none;
522
541
  }
523
- .toggle-btn[data-v-2dd9f5a7]:focus-visible {
542
+ .toggle-btn[data-v-26c04ac4]:focus-visible {
524
543
  box-shadow: 0 0 0 2px var(--md-selection);
525
544
  }
526
- .toggle-btn--idle[data-v-2dd9f5a7] {
527
- border-color: var(--md-border);
545
+ .toggle-btn--idle[data-v-26c04ac4] {
546
+ border-color: var(--md-border);
528
547
  color: var(--md-text-subtle);
529
548
  }
530
- .toggle-btn--idle[data-v-2dd9f5a7]:hover {
531
- background: var(--md-surface-hover);
549
+ .toggle-btn--idle[data-v-26c04ac4]:hover {
550
+ background: var(--md-surface-hover);
532
551
  border-color: var(--md-border-strong);
533
552
  }
534
- .toggle-btn--active[data-v-2dd9f5a7] {
535
- background: var(--md-selection-bg);
536
- border-color: var(--md-selection);
553
+ .toggle-btn--active[data-v-26c04ac4] {
554
+ background: var(--md-selection-bg);
555
+ border-color: var(--md-selection);
537
556
  color: var(--md-selection-fg);
538
557
  }
539
- .toggle-btn--active[data-v-2dd9f5a7]:hover {
540
- background: color-mix(in srgb, var(--md-selection) 20%, var(--md-selection-bg));
541
- }
558
+ .toggle-btn--active[data-v-26c04ac4]:hover {
559
+ background: color-mix(
560
+ in srgb,
561
+ var(--md-selection) 20%,
562
+ var(--md-selection-bg)
563
+ );
564
+ }
542
565
 
543
- .md-btn[data-v-cc741dfc] {
566
+ .md-btn[data-v-e13a23ac] {
544
567
  display: inline-flex;
545
568
  align-items: center;
546
569
  justify-content: center;
@@ -551,31 +574,43 @@
551
574
  border-radius: 0.375rem;
552
575
  border: 1px solid transparent;
553
576
  cursor: pointer;
554
- transition: background-color 0.15s, border-color 0.15s, opacity 0.15s;
577
+ transition:
578
+ background-color 0.15s,
579
+ border-color 0.15s,
580
+ opacity 0.15s;
555
581
  }
556
- .md-btn[data-v-cc741dfc]:disabled { opacity: 0.55; cursor: not-allowed;
582
+ .md-btn[data-v-e13a23ac]:disabled {
583
+ opacity: 0.55;
584
+ cursor: not-allowed;
557
585
  }
558
- .md-btn--primary[data-v-cc741dfc] {
586
+ .md-btn--primary[data-v-e13a23ac] {
559
587
  background: var(--md-button-primary-bg);
560
588
  color: var(--md-button-primary-text);
561
589
  }
562
- .md-btn--primary[data-v-cc741dfc]:not(:disabled):hover { background: var(--md-button-primary-hover-bg);
590
+ .md-btn--primary[data-v-e13a23ac]:not(:disabled):hover {
591
+ background: var(--md-button-primary-hover-bg);
563
592
  }
564
- .md-btn--secondary[data-v-cc741dfc] {
593
+ .md-btn--secondary[data-v-e13a23ac] {
565
594
  background: var(--md-button-secondary-bg);
566
595
  color: var(--md-button-secondary-text);
567
596
  border-color: var(--md-border);
568
597
  }
569
- .md-btn--secondary[data-v-cc741dfc]:not(:disabled):hover { background: var(--md-button-secondary-hover-bg);
598
+ .md-btn--secondary[data-v-e13a23ac]:not(:disabled):hover {
599
+ background: var(--md-button-secondary-hover-bg);
570
600
  }
571
- .md-btn--danger[data-v-cc741dfc] { background: var(--md-danger); color: var(--md-on-danger);
601
+ .md-btn--danger[data-v-e13a23ac] {
602
+ background: var(--md-danger);
603
+ color: var(--md-on-danger);
572
604
  }
573
- .md-btn--danger[data-v-cc741dfc]:not(:disabled):hover { filter: brightness(0.94);
605
+ .md-btn--danger[data-v-e13a23ac]:not(:disabled):hover {
606
+ filter: brightness(0.94);
574
607
  }
575
- .md-btn--success[data-v-cc741dfc] { background: var(--md-success); color: var(--md-surface);
608
+ .md-btn--success[data-v-e13a23ac] {
609
+ background: var(--md-success);
610
+ color: var(--md-surface);
576
611
  }
577
612
 
578
- .md-dialog__overlay[data-v-0b61b47b] {
613
+ .md-dialog__overlay[data-v-2491daae] {
579
614
  position: fixed;
580
615
  inset: 0;
581
616
  z-index: 9998;
@@ -585,7 +620,7 @@
585
620
  padding: 1rem;
586
621
  background: rgb(0 0 0 / 0.4);
587
622
  }
588
- .md-dialog[data-v-0b61b47b] {
623
+ .md-dialog[data-v-2491daae] {
589
624
  width: 420px;
590
625
  max-width: 100%;
591
626
  max-height: calc(100vh - 2rem);
@@ -596,18 +631,23 @@
596
631
  box-shadow: 0 20px 60px rgb(0 0 0 / 0.25);
597
632
  outline: none;
598
633
  }
599
- .md-dialog__header[data-v-0b61b47b] {
634
+ .md-dialog__header[data-v-2491daae] {
600
635
  display: flex;
601
636
  align-items: center;
602
637
  justify-content: space-between;
603
638
  gap: 1rem;
604
639
  padding: 1.125rem 1.25rem 0.5rem;
605
640
  }
606
- .md-dialog__header--noTitle[data-v-0b61b47b] { justify-content: flex-end;
641
+ .md-dialog__header--noTitle[data-v-2491daae] {
642
+ justify-content: flex-end;
607
643
  }
608
- .md-dialog__title[data-v-0b61b47b] { font-size: 17px; font-weight: 600; color: var(--md-text); margin: 0;
644
+ .md-dialog__title[data-v-2491daae] {
645
+ font-size: 17px;
646
+ font-weight: 600;
647
+ color: var(--md-text);
648
+ margin: 0;
609
649
  }
610
- .md-dialog__close[data-v-0b61b47b] {
650
+ .md-dialog__close[data-v-2491daae] {
611
651
  display: inline-flex;
612
652
  padding: 0.25rem;
613
653
  color: var(--md-text-subtle);
@@ -616,997 +656,1080 @@
616
656
  border-radius: 0.25rem;
617
657
  cursor: pointer;
618
658
  }
619
- .md-dialog__close[data-v-0b61b47b]:hover { color: var(--md-text); background: var(--md-surface-muted);
659
+ .md-dialog__close[data-v-2491daae]:hover {
660
+ color: var(--md-text);
661
+ background: var(--md-surface-muted);
620
662
  }
621
- .md-dialog__body[data-v-0b61b47b] {
663
+ .md-dialog__body[data-v-2491daae] {
622
664
  padding: 0.5rem 1.25rem 1.25rem;
623
665
  overflow-y: auto;
624
666
  font-size: 14px;
625
667
  color: var(--md-text);
626
668
  }
627
- .md-dialog__footer[data-v-0b61b47b] {
669
+ .md-dialog__footer[data-v-2491daae] {
628
670
  display: flex;
629
671
  justify-content: flex-end;
630
672
  gap: 0.5rem;
631
673
  padding: 0 1.25rem 1.25rem;
632
674
  }
633
- .md-dialog__srOnly[data-v-0b61b47b] {
675
+ .md-dialog__srOnly[data-v-2491daae] {
634
676
  position: absolute;
635
- width: 1px; height: 1px;
636
- padding: 0; margin: -1px;
677
+ width: 1px;
678
+ height: 1px;
679
+ padding: 0;
680
+ margin: -1px;
637
681
  overflow: hidden;
638
682
  clip: rect(0, 0, 0, 0);
639
683
  white-space: nowrap;
640
684
  border: 0;
641
685
  }
642
686
 
643
- [data-v-5aa602c3] a {
644
- color: #2563eb;
687
+ [data-v-7facc7e8] a {
688
+ color: #2563eb;
645
689
  cursor: pointer;
646
690
  }
647
- [data-v-5aa602c3] a:not([style*="text-decoration"]) {
691
+ [data-v-7facc7e8] a:not([style*="text-decoration"]) {
648
692
  text-decoration: underline;
649
693
  }
650
- [data-v-5aa602c3] a:hover {
694
+ [data-v-7facc7e8] a:hover {
651
695
  opacity: 0.8;
652
- }
653
-
654
- /* Merge tag node — inline chip styling.
655
- display:inline ensures the span is exactly as wide as its text content.
656
- No width reservation from hidden raw-tag text since the NodeView
696
+ }
697
+
698
+ /* Merge tag node — inline chip styling.
699
+ display:inline ensures the span is exactly as wide as its text content.
700
+ No width reservation from hidden raw-tag text since the NodeView
657
701
  writes only one text node at a time. */
658
- [data-v-5aa602c3] .merge-tag-node {
659
- display: inline;
660
- white-space: nowrap;
661
- vertical-align: baseline;
662
- cursor: default;
663
- border-radius: 3px;
702
+ [data-v-7facc7e8] .merge-tag-node {
703
+ display: inline;
704
+ white-space: nowrap;
705
+ vertical-align: baseline;
706
+ cursor: default;
707
+ border-radius: 3px;
664
708
  padding: 0 2px;
665
- }
666
-
709
+ }
710
+
667
711
  /* List styles — scoped to the editor content area */
668
- [data-v-5aa602c3] li:not(:last-child) {
712
+ [data-v-7facc7e8] li:not(:last-child) {
669
713
  margin-bottom: var(--list-item-spacing, 0.25rem);
670
- }
671
-
672
- /* ─── Toolbar font Select sizing ─────────────────────────────────────────────
673
- Constrain the Select to sit flush inside the toolbar row.
674
- The trigger is kept compact (28px tall) and the overlay is widened so
714
+ }
715
+
716
+ /* ─── Toolbar font Select sizing ─────────────────────────────────────────────
717
+ Constrain the Select to sit flush inside the toolbar row.
718
+ The trigger is kept compact (28px tall) and the overlay is widened so
675
719
  long font names are readable without being clipped. */
676
- .toolbar-font-select[data-v-5aa602c3] .p-select {
677
- height: 28px;
678
- min-width: 110px;
679
- max-width: 130px;
680
- border-radius: 6px;
681
- border-color: var(
682
- --md-toolbar-border
683
- ); /* matches other toolbar button borders */
684
- padding: 0 6px;
685
- font-size: 0.75rem;
686
- display: flex;
720
+ .toolbar-font-select[data-v-7facc7e8] .p-select {
721
+ height: 28px;
722
+ min-width: 110px;
723
+ max-width: 130px;
724
+ border-radius: 6px;
725
+ border-color: var(
726
+ --md-toolbar-border
727
+ ); /* matches other toolbar button borders */
728
+ padding: 0 6px;
729
+ font-size: 0.75rem;
730
+ display: flex;
687
731
  align-items: center;
688
732
  }
689
- .toolbar-font-select[data-v-5aa602c3] .p-select-label {
690
- padding: 0;
691
- font-size: 0.85rem;
733
+ .toolbar-font-select[data-v-7facc7e8] .p-select-label {
734
+ padding: 0;
735
+ font-size: 0.85rem;
692
736
  line-height: 1;
693
737
  }
694
- .toolbar-font-select[data-v-5aa602c3] .p-select-dropdown {
738
+ .toolbar-font-select[data-v-7facc7e8] .p-select-dropdown {
695
739
  width: 20px;
696
- }
697
-
740
+ }
741
+
698
742
  /* Widen the overlay panel so long font names are not clipped */
699
- [data-v-5aa602c3] .p-select-overlay {
743
+ [data-v-7facc7e8] .p-select-overlay {
700
744
  min-width: 180px !important;
701
- }
702
-
703
- .toggle-btn[data-v-916ac99b] {
704
- display: flex;
705
- align-items: center;
706
- justify-content: center;
707
- height: 28px;
708
- border-radius: 6px;
709
- border: 0.5px solid transparent;
710
- cursor: pointer;
711
- transition: background 0.1s, border-color 0.1s, color 0.1s;
712
- background: transparent;
713
- padding: 0;
745
+ }
746
+
747
+ .toggle-btn[data-v-b01eaed8] {
748
+ display: flex;
749
+ align-items: center;
750
+ justify-content: center;
751
+ height: 28px;
752
+ border-radius: 6px;
753
+ border: 0.5px solid transparent;
754
+ cursor: pointer;
755
+ transition:
756
+ background 0.1s,
757
+ border-color 0.1s,
758
+ color 0.1s;
759
+ background: transparent;
760
+ padding: 0;
714
761
  outline: none;
715
762
  }
716
- .toggle-btn--idle[data-v-916ac99b] {
717
- border-color: color-mix(in srgb, var(--md-border) 80%, transparent);
763
+ .toggle-btn--idle[data-v-b01eaed8] {
764
+ border-color: color-mix(in srgb, var(--md-border) 80%, transparent);
718
765
  color: var(--md-text-subtle);
719
766
  }
720
- .toggle-btn--idle[data-v-916ac99b]:hover {
721
- background: var(--md-surface-hover);
722
- border-color: var(--md-border-strong);
767
+ .toggle-btn--idle[data-v-b01eaed8]:hover {
768
+ background: var(--md-surface-hover);
769
+ border-color: var(--md-border-strong);
723
770
  color: var(--md-text-muted);
724
771
  }
725
- .toggle-btn--active[data-v-916ac99b] {
726
- background: var(--md-selection-bg);
727
- border-color: var(--md-selection);
772
+ .toggle-btn--active[data-v-b01eaed8] {
773
+ background: var(--md-selection-bg);
774
+ border-color: var(--md-selection);
728
775
  color: var(--md-selection-fg);
729
776
  }
730
- .toggle-btn--active[data-v-916ac99b]:hover {
731
- background: color-mix(in srgb, var(--md-selection) 20%, var(--md-selection-bg));
732
- }
777
+ .toggle-btn--active[data-v-b01eaed8]:hover {
778
+ background: color-mix(
779
+ in srgb,
780
+ var(--md-selection) 20%,
781
+ var(--md-selection-bg)
782
+ );
783
+ }
733
784
 
734
- .panel[data-v-1ca75986] {
735
- padding: 10px 12px;
736
- background: var(--md-surface);
737
- border: 0.5px solid color-mix(in srgb, var(--md-border) 80%, transparent);
785
+ .panel[data-v-f8eef947] {
786
+ padding: 10px 12px;
787
+ background: var(--md-surface);
788
+ border: 0.5px solid color-mix(in srgb, var(--md-border) 80%, transparent);
738
789
  border-radius: 10px;
739
790
  }
740
- .separator[data-v-1ca75986] {
741
- height: 0.5px;
742
- background: color-mix(in srgb, var(--md-border) 80%, transparent);
743
- margin-left: -12px;
791
+ .separator[data-v-f8eef947] {
792
+ height: 0.5px;
793
+ background: color-mix(in srgb, var(--md-border) 80%, transparent);
794
+ margin-left: -12px;
744
795
  margin-right: -12px;
745
- }
746
-
747
- .spinner[data-v-3ea84dc7] {
748
- width: 50px;
749
- height: 50px;
750
- border: 5px solid rgba(0, 0, 0, 0.2);
751
- border-top-color: var(--md-selection);
752
- border-radius: 50%;
753
- margin: 0 auto;
754
- animation: spin-3ea84dc7 1s linear infinite;
755
- }
756
- @keyframes spin-3ea84dc7 {
757
- to {
796
+ }
797
+
798
+ .spinner[data-v-8a2d8f31] {
799
+ width: 50px;
800
+ height: 50px;
801
+ border: 5px solid rgba(0, 0, 0, 0.2);
802
+ border-top-color: var(--md-selection);
803
+ border-radius: 50%;
804
+ margin: 0 auto;
805
+ animation: spin-8a2d8f31 1s linear infinite;
806
+ }
807
+ @keyframes spin-8a2d8f31 {
808
+ to {
758
809
  transform: rotate(360deg);
759
810
  }
760
- }
761
-
762
- /* ===== DESIGN SYSTEM TOKENS =====
763
- * Each token reads from the shared --md-* custom properties (see theme.ts)
764
- * and falls back to this component's original hardcoded value when the
765
- * host hasn't set that property. That means an untouched app looks exactly
766
- * as before, and a host calling setEditorTheme() re-themes this notice too,
811
+ }
812
+
813
+ /* ===== DESIGN SYSTEM TOKENS =====
814
+ * Each token reads from the shared --md-* custom properties (see theme.ts)
815
+ * and falls back to this component's original hardcoded value when the
816
+ * host hasn't set that property. That means an untouched app looks exactly
817
+ * as before, and a host calling setEditorTheme() re-themes this notice too,
767
818
  * without editing this file again. */
768
- .desktop-gate[data-v-f2e384b2] {
769
- --brand-primary: var(--md-primary, #4a7c59);
770
- --brand-primary-dark: var(--md-primary-hover, #3a5a40);
771
- --brand-primary-light: var(--md-primary-hover, #3a5a40);
772
- --brand-gradient-start: var(--md-primary, #4a7c59);
773
- --brand-gradient-end: var(--md-primary-hover, #3a5a40);
774
- --gate-surface: var(--md-surface, #ffffff);
775
- --gate-backdrop: var(--md-background, #f9fafb);
776
- --gate-on-primary: var(--md-on-primary, #ffffff);
777
- --gate-warning: var(--md-warning, #f59e0b);
778
- --gray-50: var(--md-background, #f9fafb);
779
- --gray-100: var(--md-surface-muted, #f3f4f6);
780
- --gray-200: var(--md-border, #e5e7eb);
781
- --gray-300: var(--md-border-strong, #d1d5db);
782
- --gray-400: var(--md-text-subtle, #9ca3af);
783
- --gray-500: var(--md-text-subtle, #6b7280);
784
- --gray-600: var(--md-text-muted, #4b5563);
785
- --gray-700: var(--md-text-muted, #374151);
786
- --gray-800: var(--md-text, #1f2937);
787
- --gray-900: var(--md-text, #111827);
788
- --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
789
- --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
790
- --shadow-lg:
791
- 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
792
- --shadow-xl:
793
- 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
819
+ .desktop-gate[data-v-ac364a19] {
820
+ --brand-primary: var(--md-primary, var(--md-primary));
821
+ --brand-primary-dark: var(--md-primary-hover, var(--md-primary-hover));
822
+ --brand-primary-light: var(--md-primary-hover, var(--md-primary-hover));
823
+ --brand-gradient-start: var(--md-primary, var(--md-primary));
824
+ --brand-gradient-end: var(--md-primary-hover, var(--md-primary-hover));
825
+ --gate-surface: var(--md-surface, var(--md-surface));
826
+ --gate-backdrop: var(--md-background, var(--md-surface-hover));
827
+ --gate-on-primary: var(--md-on-primary, var(--md-surface));
828
+ --gate-warning: var(--md-warning, var(--md-warning));
829
+ --gray-50: var(--md-background, var(--md-surface-hover));
830
+ --gray-100: var(--md-surface-muted, var(--md-surface-muted));
831
+ --gray-200: var(--md-border, var(--md-border));
832
+ --gray-300: var(--md-border-strong, var(--md-border-strong));
833
+ --gray-400: var(--md-text-subtle, var(--md-text-subtle));
834
+ --gray-500: var(--md-text-subtle, var(--md-text-muted));
835
+ --gray-600: var(--md-text-muted, var(--md-text-muted));
836
+ --gray-700: var(--md-text-muted, var(--md-text-muted));
837
+ --gray-800: var(--md-text, var(--md-text));
838
+ --gray-900: var(--md-text, var(--md-text));
839
+ --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
840
+ --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
841
+ --shadow-lg:
842
+ 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
843
+ --shadow-xl:
844
+ 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
794
845
  --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
795
- }
796
-
846
+ }
847
+
797
848
  /* ===== MAIN LAYOUT ===== */
798
- .desktop-gate[data-v-f2e384b2] {
799
- position: fixed;
800
- inset: 0;
801
- z-index: 9999;
802
- display: flex;
803
- align-items: center;
804
- justify-content: center;
805
- background: color-mix(in srgb, var(--gate-backdrop) 98%, transparent);
806
- backdrop-filter: blur(2px);
849
+ .desktop-gate[data-v-ac364a19] {
850
+ position: fixed;
851
+ inset: 0;
852
+ z-index: 9999;
853
+ display: flex;
854
+ align-items: center;
855
+ justify-content: center;
856
+ background: color-mix(in srgb, var(--gate-backdrop) 98%, transparent);
857
+ backdrop-filter: blur(2px);
807
858
  padding: 1.5rem;
808
859
  }
809
- .gate-container[data-v-f2e384b2] {
810
- max-width: 520px;
811
- width: 100%;
812
- background: var(--gate-surface);
813
- border-radius: 2rem;
814
- padding: 2.5rem;
815
- text-align: center;
816
- box-shadow: var(--shadow-2xl);
817
- animation: fadeInUp-f2e384b2 0.5s cubic-bezier(0.16, 1, 0.3, 1);
860
+ .gate-container[data-v-ac364a19] {
861
+ max-width: 520px;
862
+ width: 100%;
863
+ background: var(--gate-surface);
864
+ border-radius: 2rem;
865
+ padding: 2.5rem;
866
+ text-align: center;
867
+ box-shadow: var(--shadow-2xl);
868
+ animation: fadeInUp-ac364a19 0.5s cubic-bezier(0.16, 1, 0.3, 1);
818
869
  border: 1px solid var(--gray-200);
819
- }
820
-
870
+ }
871
+
821
872
  /* ===== BRAND BADGE ===== */
822
- .brand-badge[data-v-f2e384b2] {
823
- position: relative;
824
- width: 80px;
825
- height: 80px;
826
- margin: 0 auto 1.5rem;
827
- display: flex;
828
- align-items: center;
873
+ .brand-badge[data-v-ac364a19] {
874
+ position: relative;
875
+ width: 80px;
876
+ height: 80px;
877
+ margin: 0 auto 1.5rem;
878
+ display: flex;
879
+ align-items: center;
829
880
  justify-content: center;
830
881
  }
831
- .badge-ring[data-v-f2e384b2] {
832
- position: absolute;
833
- inset: 0;
834
- border-radius: 50%;
835
- background: linear-gradient(
836
- 135deg,
837
- var(--brand-gradient-start),
838
- var(--brand-gradient-end)
839
- );
840
- animation: pulseRing-f2e384b2 2s ease-out infinite;
841
- }
842
- .badge-icon[data-v-f2e384b2] {
843
- position: relative;
844
- width: 56px;
845
- height: 56px;
846
- background: var(--gate-surface);
847
- border-radius: 50%;
848
- display: flex;
849
- align-items: center;
850
- justify-content: center;
851
- color: var(--brand-primary);
852
- box-shadow: var(--shadow-md);
882
+ .badge-ring[data-v-ac364a19] {
883
+ position: absolute;
884
+ inset: 0;
885
+ border-radius: 50%;
886
+ background: linear-gradient(
887
+ 135deg,
888
+ var(--brand-gradient-start),
889
+ var(--brand-gradient-end)
890
+ );
891
+ animation: pulseRing-ac364a19 2s ease-out infinite;
892
+ }
893
+ .badge-icon[data-v-ac364a19] {
894
+ position: relative;
895
+ width: 56px;
896
+ height: 56px;
897
+ background: var(--gate-surface);
898
+ border-radius: 50%;
899
+ display: flex;
900
+ align-items: center;
901
+ justify-content: center;
902
+ color: var(--brand-primary);
903
+ box-shadow: var(--shadow-md);
853
904
  transition: transform 0.2s ease;
854
905
  }
855
- .gate-container:hover .badge-icon[data-v-f2e384b2] {
906
+ .gate-container:hover .badge-icon[data-v-ac364a19] {
856
907
  transform: scale(1.02);
857
- }
858
-
908
+ }
909
+
859
910
  /* ===== TYPOGRAPHY ===== */
860
- .gate-title[data-v-f2e384b2] {
861
- font-size: 1.875rem;
862
- font-weight: 700;
863
- letter-spacing: -0.02em;
864
- margin: 0 0 1rem 0;
911
+ .gate-title[data-v-ac364a19] {
912
+ font-size: 1.875rem;
913
+ font-weight: 700;
914
+ letter-spacing: -0.02em;
915
+ margin: 0 0 1rem 0;
865
916
  color: var(--gray-900);
866
917
  }
867
- .brand-gradient[data-v-f2e384b2] {
868
- background: linear-gradient(
869
- 135deg,
870
- var(--brand-gradient-start),
871
- var(--brand-gradient-end)
872
- );
873
- background-clip: text;
874
- -webkit-background-clip: text;
918
+ .brand-gradient[data-v-ac364a19] {
919
+ background: linear-gradient(
920
+ 135deg,
921
+ var(--brand-gradient-start),
922
+ var(--brand-gradient-end)
923
+ );
924
+ background-clip: text;
925
+ -webkit-background-clip: text;
875
926
  color: transparent;
876
927
  }
877
- .gate-description[data-v-f2e384b2] {
878
- font-size: 1rem;
879
- line-height: 1.5;
880
- color: var(--gray-600);
928
+ .gate-description[data-v-ac364a19] {
929
+ font-size: 1rem;
930
+ line-height: 1.5;
931
+ color: var(--gray-600);
881
932
  margin: 0 0 1.75rem 0;
882
- }
883
-
933
+ }
934
+
884
935
  /* ===== FEATURE GRID ===== */
885
- .feature-grid[data-v-f2e384b2] {
886
- display: flex;
887
- justify-content: center;
888
- gap: 2rem;
889
- margin-bottom: 2rem;
890
- padding: 1rem 0;
891
- border-top: 1px solid var(--gray-200);
936
+ .feature-grid[data-v-ac364a19] {
937
+ display: flex;
938
+ justify-content: center;
939
+ gap: 2rem;
940
+ margin-bottom: 2rem;
941
+ padding: 1rem 0;
942
+ border-top: 1px solid var(--gray-200);
892
943
  border-bottom: 1px solid var(--gray-200);
893
944
  }
894
- .feature-item[data-v-f2e384b2] {
895
- display: flex;
896
- flex-direction: column;
897
- align-items: center;
898
- gap: 0.5rem;
899
- font-size: 0.75rem;
900
- font-weight: 500;
945
+ .feature-item[data-v-ac364a19] {
946
+ display: flex;
947
+ flex-direction: column;
948
+ align-items: center;
949
+ gap: 0.5rem;
950
+ font-size: 0.75rem;
951
+ font-weight: 500;
901
952
  color: var(--gray-700);
902
953
  }
903
- .feature-icon[data-v-f2e384b2] {
904
- width: 36px;
905
- height: 36px;
906
- background: var(--gray-100);
907
- border-radius: 12px;
908
- display: flex;
909
- align-items: center;
910
- justify-content: center;
911
- color: var(--brand-primary);
954
+ .feature-icon[data-v-ac364a19] {
955
+ width: 36px;
956
+ height: 36px;
957
+ background: var(--gray-100);
958
+ border-radius: 12px;
959
+ display: flex;
960
+ align-items: center;
961
+ justify-content: center;
962
+ color: var(--brand-primary);
912
963
  transition: all 0.2s ease;
913
964
  }
914
- .feature-item:hover .feature-icon[data-v-f2e384b2] {
915
- background: var(--brand-primary);
916
- color: var(--gate-on-primary);
965
+ .feature-item:hover .feature-icon[data-v-ac364a19] {
966
+ background: var(--brand-primary);
967
+ color: var(--gate-on-primary);
917
968
  transform: translateY(-2px);
918
- }
919
-
920
- /* ===== STATUS ===== */
921
- .detection-status[data-v-f2e384b2] {
922
- display: inline-flex;
923
- align-items: center;
924
- gap: 0.5rem;
925
- padding: 0.5rem 1rem;
926
- background: var(--gray-100);
927
- border-radius: 100px;
928
- font-size: 0.75rem;
929
- font-weight: 500;
969
+ }
970
+
971
+ /* ===== STATUS ===== */
972
+ .detection-status[data-v-ac364a19] {
973
+ display: inline-flex;
974
+ align-items: center;
975
+ gap: 0.5rem;
976
+ padding: 0.5rem 1rem;
977
+ background: var(--gray-100);
978
+ border-radius: 100px;
979
+ font-size: 0.75rem;
980
+ font-weight: 500;
930
981
  color: var(--gray-600);
931
982
  }
932
- .status-dot[data-v-f2e384b2] {
933
- width: 8px;
934
- height: 8px;
935
- background: var(--gate-warning);
936
- border-radius: 50%;
937
- animation: pulse-f2e384b2 1.5s ease-out infinite;
938
- }
939
-
983
+ .status-dot[data-v-ac364a19] {
984
+ width: 8px;
985
+ height: 8px;
986
+ background: var(--gate-warning);
987
+ border-radius: 50%;
988
+ animation: pulse-ac364a19 1.5s ease-out infinite;
989
+ }
990
+
940
991
  /* ===== FOOTER ===== */
941
- .gate-footer[data-v-f2e384b2] {
942
- margin-top: 2rem;
943
- padding-top: 1.5rem;
944
- display: flex;
945
- align-items: center;
946
- justify-content: center;
947
- gap: 0.5rem;
948
- font-size: 0.75rem;
992
+ .gate-footer[data-v-ac364a19] {
993
+ margin-top: 2rem;
994
+ padding-top: 1.5rem;
995
+ display: flex;
996
+ align-items: center;
997
+ justify-content: center;
998
+ gap: 0.5rem;
999
+ font-size: 0.75rem;
949
1000
  color: var(--gray-400);
950
1001
  }
951
- .brand-text[data-v-f2e384b2] {
952
- font-weight: 600;
953
- background: linear-gradient(
954
- 135deg,
955
- var(--brand-gradient-start),
956
- var(--brand-gradient-end)
957
- );
958
- background-clip: text;
959
- -webkit-background-clip: text;
1002
+ .brand-text[data-v-ac364a19] {
1003
+ font-weight: 600;
1004
+ background: linear-gradient(
1005
+ 135deg,
1006
+ var(--brand-gradient-start),
1007
+ var(--brand-gradient-end)
1008
+ );
1009
+ background-clip: text;
1010
+ -webkit-background-clip: text;
960
1011
  color: transparent;
961
- }
962
-
1012
+ }
1013
+
963
1014
  /* ===== ANIMATIONS ===== */
964
- @keyframes fadeInUp-f2e384b2 {
965
- from {
966
- opacity: 0;
1015
+ @keyframes fadeInUp-ac364a19 {
1016
+ from {
1017
+ opacity: 0;
967
1018
  transform: translateY(20px);
968
1019
  }
969
- to {
970
- opacity: 1;
1020
+ to {
1021
+ opacity: 1;
971
1022
  transform: translateY(0);
972
1023
  }
973
1024
  }
974
- @keyframes pulseRing-f2e384b2 {
975
- 0% {
976
- opacity: 1;
1025
+ @keyframes pulseRing-ac364a19 {
1026
+ 0% {
1027
+ opacity: 1;
977
1028
  transform: scale(0.95);
978
1029
  }
979
- 70% {
980
- opacity: 0.4;
1030
+ 70% {
1031
+ opacity: 0.4;
981
1032
  transform: scale(1.15);
982
1033
  }
983
- 100% {
984
- opacity: 0;
1034
+ 100% {
1035
+ opacity: 0;
985
1036
  transform: scale(1.25);
986
1037
  }
987
1038
  }
988
- @keyframes pulse-f2e384b2 {
989
- 0%,
990
- 100% {
1039
+ @keyframes pulse-ac364a19 {
1040
+ 0%,
1041
+ 100% {
991
1042
  opacity: 1;
992
1043
  }
993
- 50% {
1044
+ 50% {
994
1045
  opacity: 0.4;
995
1046
  }
996
- }
997
-
1047
+ }
1048
+
998
1049
  /* ===== RESPONSIVE TOUCH-UPS ===== */
999
1050
  @media (max-width: 480px) {
1000
- .gate-container[data-v-f2e384b2] {
1051
+ .gate-container[data-v-ac364a19] {
1001
1052
  padding: 2rem 1.5rem;
1002
1053
  }
1003
- .gate-title[data-v-f2e384b2] {
1054
+ .gate-title[data-v-ac364a19] {
1004
1055
  font-size: 1.5rem;
1005
1056
  }
1006
- .feature-grid[data-v-f2e384b2] {
1057
+ .feature-grid[data-v-ac364a19] {
1007
1058
  gap: 1.25rem;
1008
1059
  }
1009
- }
1010
-
1011
- .row-drop-bar[data-v-601d4b22] {
1012
- position: absolute;
1013
- left: 0;
1014
- right: 0;
1015
- height: 28px;
1016
- display: flex;
1017
- align-items: center;
1018
- gap: 8px;
1019
- padding: 0 16px;
1020
- background: color-mix(in srgb, var(--drop-color) 5%, transparent);
1021
- border-radius: 6px;
1022
- z-index: 20;
1060
+ }
1061
+
1062
+ .row-drop-bar[data-v-0e09bbe4] {
1063
+ position: absolute;
1064
+ left: 0;
1065
+ right: 0;
1066
+ height: 28px;
1067
+ display: flex;
1068
+ align-items: center;
1069
+ gap: 8px;
1070
+ padding: 0 16px;
1071
+ background: color-mix(in srgb, var(--drop-color) 5%, transparent);
1072
+ border-radius: 6px;
1073
+ z-index: 20;
1023
1074
  pointer-events: none;
1024
1075
  }
1025
- .row-drop-bar--before[data-v-601d4b22] {
1076
+ .row-drop-bar--before[data-v-0e09bbe4] {
1026
1077
  top: -14px;
1027
1078
  }
1028
- .row-drop-bar--after[data-v-601d4b22] {
1079
+ .row-drop-bar--after[data-v-0e09bbe4] {
1029
1080
  bottom: -14px;
1030
1081
  }
1031
- .row-drop-bar-line[data-v-601d4b22] {
1032
- flex: 1;
1033
- height: 2px;
1034
- background: color-mix(in srgb, var(--drop-color) 50%, transparent);
1035
- border-radius: 2px;
1082
+ .row-drop-bar-line[data-v-0e09bbe4] {
1083
+ flex: 1;
1084
+ height: 2px;
1085
+ background: color-mix(in srgb, var(--drop-color) 50%, transparent);
1086
+ border-radius: 2px;
1036
1087
  /* animation: bar-expand 0.18s ease forwards; */
1037
- }
1038
-
1039
- /* @keyframes bar-expand {
1040
- from {
1041
- transform: scaleX(0);
1042
- opacity: 0;
1043
- }
1044
- to {
1045
- transform: scaleX(1);
1046
- opacity: 1;
1047
- }
1088
+ }
1089
+
1090
+ /* @keyframes bar-expand {
1091
+ from {
1092
+ transform: scaleX(0);
1093
+ opacity: 0;
1094
+ }
1095
+ to {
1096
+ transform: scaleX(1);
1097
+ opacity: 1;
1098
+ }
1048
1099
  } */
1049
- .row-drop-bar-label[data-v-601d4b22] {
1050
- display: flex;
1051
- align-items: center;
1052
- gap: 6px;
1053
- font-size: 11px;
1054
- font-weight: 500;
1055
- color: var(--drop-color);
1056
- white-space: nowrap;
1057
- padding: 4px 12px;
1058
- background: color-mix(in srgb, var(--drop-color) 10%, transparent);
1059
- border: 1px solid color-mix(in srgb, var(--drop-color) 30%, transparent);
1060
- border-radius: 24px;
1100
+ .row-drop-bar-label[data-v-0e09bbe4] {
1101
+ display: flex;
1102
+ align-items: center;
1103
+ gap: 6px;
1104
+ font-size: 11px;
1105
+ font-weight: 500;
1106
+ color: var(--drop-color);
1107
+ white-space: nowrap;
1108
+ padding: 4px 12px;
1109
+ background: color-mix(in srgb, var(--drop-color) 10%, transparent);
1110
+ border: 1px solid color-mix(in srgb, var(--drop-color) 30%, transparent);
1111
+ border-radius: 24px;
1061
1112
  /* animation: label-pop 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; */
1062
- }
1063
-
1064
- /* @keyframes label-pop {
1065
- from {
1066
- transform: scale(0.8);
1067
- opacity: 0;
1068
- }
1069
- to {
1070
- transform: scale(1);
1071
- opacity: 1;
1072
- }
1113
+ }
1114
+
1115
+ /* @keyframes label-pop {
1116
+ from {
1117
+ transform: scale(0.8);
1118
+ opacity: 0;
1119
+ }
1120
+ to {
1121
+ transform: scale(1);
1122
+ opacity: 1;
1123
+ }
1073
1124
  } */
1074
- .row-drop-bar-icon[data-v-601d4b22] {
1075
- width: 12px;
1076
- height: 12px;
1125
+ .row-drop-bar-icon[data-v-0e09bbe4] {
1126
+ width: 12px;
1127
+ height: 12px;
1077
1128
  flex-shrink: 0;
1078
- }
1079
-
1080
- /* Transition */
1081
- /* .drop-bar-enter-active {
1082
- animation: bar-in 0.15s ease forwards;
1083
- }
1084
- .drop-bar-leave-active {
1085
- transition: opacity 0.12s ease;
1086
- }
1087
- .drop-bar-leave-to {
1088
- opacity: 0;
1089
- } */
1090
-
1091
- /* @keyframes bar-in {
1092
- from {
1093
- opacity: 0;
1094
- }
1095
- to {
1096
- opacity: 1;
1097
- }
1098
- } */
1099
-
1100
- .fade-enter-active[data-v-7f93ba61],
1101
- .fade-leave-active[data-v-7f93ba61] {
1129
+ }
1130
+
1131
+ /* Transition */
1132
+ /* .drop-bar-enter-active {
1133
+ animation: bar-in 0.15s ease forwards;
1134
+ }
1135
+ .drop-bar-leave-active {
1136
+ transition: opacity 0.12s ease;
1137
+ }
1138
+ .drop-bar-leave-to {
1139
+ opacity: 0;
1140
+ } */
1141
+
1142
+ /* @keyframes bar-in {
1143
+ from {
1144
+ opacity: 0;
1145
+ }
1146
+ to {
1147
+ opacity: 1;
1148
+ }
1149
+ } */
1150
+
1151
+ .fade-enter-active[data-v-557d7319],
1152
+ .fade-leave-active[data-v-557d7319] {
1102
1153
  transition: opacity 0.1s ease;
1103
1154
  }
1104
- .fade-enter-from[data-v-7f93ba61],
1105
- .fade-leave-to[data-v-7f93ba61] {
1155
+ .fade-enter-from[data-v-557d7319],
1156
+ .fade-leave-to[data-v-557d7319] {
1106
1157
  opacity: 0;
1107
- }
1108
-
1109
- /*
1110
- * Stacking fix: CanvasRowDropZone has z-index: 9 and extends its hit-area
1111
- * strip into adjacent rows when a layout drag is active. Without an explicit
1112
- * stacking context on the column, that strip would catch pointer events for
1113
- * the edges of the column — the row drop zone would win and the drop would
1114
- * become a top-level row instead of a nested row.
1115
- *
1116
- * z-index: 1 creates a stacking context ABOVE the drop zone's hit strip.
1117
- *
1118
- * CRITICAL: When a child component is selected, we must set z-index: auto on
1119
- * this column AND on its ancestor CanvasRow (via hasSelectedDescendant).
1120
- * z-index: auto removes the column from the stacking context chain entirely,
1121
- * letting the selected component's z-50 bubble up to compete at the canvas
1122
- * root level — which is what allows the action bar and RichText toolbar to
1123
- * paint above sibling rows. If z-index: 1 stays active, ANY z-index on a
1124
- * child is capped within this column's own stacking context and can never
1125
- * exceed a sibling row painted at z-index: 0 in normal flow.
1158
+ }
1159
+
1160
+ /*
1161
+ * Stacking fix: CanvasRowDropZone has z-index: 9 and extends its hit-area
1162
+ * strip into adjacent rows when a layout drag is active. Without an explicit
1163
+ * stacking context on the column, that strip would catch pointer events for
1164
+ * the edges of the column — the row drop zone would win and the drop would
1165
+ * become a top-level row instead of a nested row.
1166
+ *
1167
+ * z-index: 1 creates a stacking context ABOVE the drop zone's hit strip.
1168
+ *
1169
+ * CRITICAL: When a child component is selected, we must set z-index: auto on
1170
+ * this column AND on its ancestor CanvasRow (via hasSelectedDescendant).
1171
+ * z-index: auto removes the column from the stacking context chain entirely,
1172
+ * letting the selected component's z-50 bubble up to compete at the canvas
1173
+ * root level — which is what allows the action bar and RichText toolbar to
1174
+ * paint above sibling rows. If z-index: 1 stays active, ANY z-index on a
1175
+ * child is capped within this column's own stacking context and can never
1176
+ * exceed a sibling row painted at z-index: 0 in normal flow.
1126
1177
  */
1127
- .canvas-column[data-v-7f93ba61] {
1128
- position: relative;
1178
+ .canvas-column[data-v-557d7319] {
1179
+ position: relative;
1129
1180
  z-index: 1;
1130
1181
  }
1131
- .canvas-column.has-selected-child[data-v-7f93ba61] {
1182
+ .canvas-column.has-selected-child[data-v-557d7319] {
1132
1183
  z-index: auto;
1133
- }
1134
-
1184
+ }
1185
+
1135
1186
  /* ── Base zone ─────────────────────────────────────────────── */
1136
- .canvas-drop-zone[data-v-cc281ed8] {
1137
- position: relative;
1138
- height: 0;
1139
- margin: 0;
1140
- z-index: 9;
1141
- overflow: visible;
1187
+ .canvas-drop-zone[data-v-cb66bb52] {
1188
+ position: relative;
1189
+ height: 0;
1190
+ margin: 0;
1191
+ z-index: 9;
1192
+ overflow: visible;
1142
1193
  transition: height 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
1143
- }
1144
-
1194
+ }
1195
+
1145
1196
  /* Full expansion on hover */
1146
- .canvas-drop-zone--active[data-v-cc281ed8] {
1197
+ .canvas-drop-zone--active[data-v-cb66bb52] {
1147
1198
  height: 52px;
1148
- }
1149
-
1199
+ }
1200
+
1150
1201
  /* Empty-canvas variant — fills the whole empty area */
1151
- .canvas-drop-zone--empty[data-v-cc281ed8] {
1152
- height: 100%;
1202
+ .canvas-drop-zone--empty[data-v-cb66bb52] {
1203
+ height: 100%;
1153
1204
  min-height: 200px;
1154
- }
1155
-
1205
+ }
1206
+
1156
1207
  /* Full height variant - takes up entire parent container */
1157
- .canvas-drop-zone--full[data-v-cc281ed8] {
1158
- position: absolute;
1159
- top: 0;
1160
- left: 0;
1161
- right: 0;
1162
- bottom: 0;
1163
- height: auto;
1208
+ .canvas-drop-zone--full[data-v-cb66bb52] {
1209
+ position: absolute;
1210
+ top: 0;
1211
+ left: 0;
1212
+ right: 0;
1213
+ bottom: 0;
1214
+ height: auto;
1164
1215
  min-height: 100%;
1165
1216
  }
1166
- .canvas-drop-zone--empty .cdz-bar[data-v-cc281ed8] {
1167
- inset: 12px;
1168
- justify-content: center;
1217
+ .canvas-drop-zone--empty .cdz-bar[data-v-cb66bb52] {
1218
+ inset: 12px;
1219
+ justify-content: center;
1169
1220
  border-radius: 12px;
1170
- }
1171
-
1221
+ }
1222
+
1172
1223
  /* ── Empty state styles (when fullHeight is true) ── */
1173
- .cdz-empty-state[data-v-cc281ed8] {
1174
- position: absolute;
1175
- inset: 0;
1176
- display: flex;
1177
- align-items: center;
1178
- justify-content: center;
1179
- pointer-events: none;
1180
- background: linear-gradient(
1181
- 135deg,
1182
- color-mix(in srgb, var(--md-row-selection) 4%, var(--md-surface)) 0%,
1183
- color-mix(in srgb, var(--md-row-selection) 8%, var(--md-surface)) 100%
1184
- );
1185
- border: 2px dashed color-mix(in srgb, var(--md-row-selection) 22%, var(--md-surface));
1186
- border-radius: 6px;
1224
+ .cdz-empty-state[data-v-cb66bb52] {
1225
+ position: absolute;
1226
+ inset: 0;
1227
+ display: flex;
1228
+ align-items: center;
1229
+ justify-content: center;
1230
+ pointer-events: none;
1231
+ background: linear-gradient(
1232
+ 135deg,
1233
+ color-mix(in srgb, var(--md-row-selection) 4%, var(--md-surface)) 0%,
1234
+ color-mix(in srgb, var(--md-row-selection) 8%, var(--md-surface)) 100%
1235
+ );
1236
+ border: 2px dashed
1237
+ color-mix(in srgb, var(--md-row-selection) 22%, var(--md-surface));
1238
+ border-radius: 6px;
1187
1239
  transition: all 0.2s ease;
1188
1240
  }
1189
- .canvas-drop-zone--full .cdz-empty-state[data-v-cc281ed8] {
1190
- animation: fade-in-cc281ed8 0.3s ease;
1241
+ .canvas-drop-zone--full .cdz-empty-state[data-v-cb66bb52] {
1242
+ animation: fade-in-cb66bb52 0.3s ease;
1191
1243
  }
1192
- @keyframes fade-in-cc281ed8 {
1193
- from {
1194
- opacity: 0;
1244
+ @keyframes fade-in-cb66bb52 {
1245
+ from {
1246
+ opacity: 0;
1195
1247
  transform: scale(0.98);
1196
1248
  }
1197
- to {
1198
- opacity: 1;
1249
+ to {
1250
+ opacity: 1;
1199
1251
  transform: scale(1);
1200
1252
  }
1201
1253
  }
1202
- .cdz-empty-content[data-v-cc281ed8] {
1203
- text-align: center;
1254
+ .cdz-empty-content[data-v-cb66bb52] {
1255
+ text-align: center;
1204
1256
  padding: 2rem;
1205
1257
  }
1206
- .cdz-empty-icon[data-v-cc281ed8] {
1207
- width: 48px;
1208
- height: 48px;
1209
- margin: 0 auto 12px;
1210
- color: var(--md-text-subtle);
1258
+ .cdz-empty-icon[data-v-cb66bb52] {
1259
+ width: 48px;
1260
+ height: 48px;
1261
+ margin: 0 auto 12px;
1262
+ color: var(--md-text-subtle);
1211
1263
  stroke-width: 1.5;
1212
1264
  }
1213
- .cdz-empty-title[data-v-cc281ed8] {
1214
- font-size: 1.125rem;
1215
- font-weight: 500;
1216
- color: var(--md-selection-fg);
1217
- margin-bottom: 8px;
1265
+ .cdz-empty-title[data-v-cb66bb52] {
1266
+ font-size: 1.125rem;
1267
+ font-weight: 500;
1268
+ color: var(--md-selection-fg);
1269
+ margin-bottom: 8px;
1218
1270
  letter-spacing: -0.01em;
1219
1271
  }
1220
- .cdz-empty-subtitle[data-v-cc281ed8] {
1221
- font-size: 0.875rem;
1222
- color: var(--md-text-subtle);
1272
+ .cdz-empty-subtitle[data-v-cb66bb52] {
1273
+ font-size: 0.875rem;
1274
+ color: var(--md-text-subtle);
1223
1275
  line-height: 1.4;
1224
- }
1225
-
1226
- /* ── Invisible hit-area ─────────────────────────────────────
1227
- * Previously this bled 12px into the rows above and below with pointer-events
1228
- * all during a layout drag. That meant dragging a LayoutTab row would hit this
1229
- * strip when the cursor was merely near a column's top/bottom edge, and
1230
- * insert a top-level row instead of a nested row.
1231
- *
1232
- * FIX: Shrink the bleed to a small value (−4px) so the strip only covers the
1233
- * natural visible gap between rows. Columns retain ownership of their rendered
1234
- * area. Combined with CanvasColumn's new z-index: 1 stacking context, the
1235
- * column reliably wins for pointer hits inside its body, while the thin gap
1236
- * between rows still belongs to this drop zone.
1237
- *
1238
- * When fully expanded (canvas-drop-zone--active: 52px tall) the zone's own
1239
- * height covers the hit area naturally, so bleed here is not needed for the
1240
- * "snap into a big target" UX — that comes from the zone's own expanded size.
1276
+ }
1277
+
1278
+ /* ── Invisible hit-area ─────────────────────────────────────
1279
+ * Previously this bled 12px into the rows above and below with pointer-events
1280
+ * all during a layout drag. That meant dragging a LayoutTab row would hit this
1281
+ * strip when the cursor was merely near a column's top/bottom edge, and
1282
+ * insert a top-level row instead of a nested row.
1283
+ *
1284
+ * FIX: Shrink the bleed to a small value (−4px) so the strip only covers the
1285
+ * natural visible gap between rows. Columns retain ownership of their rendered
1286
+ * area. Combined with CanvasColumn's new z-index: 1 stacking context, the
1287
+ * column reliably wins for pointer hits inside its body, while the thin gap
1288
+ * between rows still belongs to this drop zone.
1289
+ *
1290
+ * When fully expanded (canvas-drop-zone--active: 52px tall) the zone's own
1291
+ * height covers the hit area naturally, so bleed here is not needed for the
1292
+ * "snap into a big target" UX — that comes from the zone's own expanded size.
1241
1293
  */
1242
- .cdz-hit-area[data-v-cc281ed8] {
1243
- position: absolute;
1244
- left: 0;
1245
- right: 0;
1246
- top: -4px;
1247
- bottom: -4px;
1248
- z-index: 1;
1249
- /* Only catchable during a layout drag; invisible + inert otherwise */
1294
+ .cdz-hit-area[data-v-cb66bb52] {
1295
+ position: absolute;
1296
+ left: 0;
1297
+ right: 0;
1298
+ top: -4px;
1299
+ bottom: -4px;
1300
+ z-index: 1;
1301
+ /* Only catchable during a layout drag; invisible + inert otherwise */
1250
1302
  pointer-events: none;
1251
1303
  }
1252
- .canvas-drop-zone--receptive .cdz-hit-area[data-v-cc281ed8] {
1304
+ .canvas-drop-zone--receptive .cdz-hit-area[data-v-cb66bb52] {
1253
1305
  pointer-events: all;
1254
- }
1255
-
1306
+ }
1307
+
1256
1308
  /* Hide empty state when dragging */
1257
- .canvas-drop-zone--full.canvas-drop-zone--receptive .cdz-empty-state[data-v-cc281ed8],
1258
- .canvas-drop-zone--full.canvas-drop-zone--active .cdz-empty-state[data-v-cc281ed8] {
1259
- opacity: 0.5;
1309
+ .canvas-drop-zone--full.canvas-drop-zone--receptive .cdz-empty-state[data-v-cb66bb52],
1310
+ .canvas-drop-zone--full.canvas-drop-zone--active .cdz-empty-state[data-v-cb66bb52] {
1311
+ opacity: 0.5;
1260
1312
  background: color-mix(in srgb, var(--md-row-selection) 4%, transparent);
1261
- }
1262
-
1313
+ }
1314
+
1263
1315
  /* ── Ghost line (receptive but not hovered) ─────────────────── */
1264
- .cdz-ghost-line[data-v-cc281ed8] {
1265
- position: absolute;
1266
- left: 0;
1267
- right: 0;
1268
- top: 50%;
1269
- height: 2px;
1270
- transform: translateY(-50%);
1271
- background: repeating-linear-gradient(
1272
- 90deg,
1273
- color-mix(in srgb, var(--md-row-selection) 25%, transparent) 0px,
1274
- color-mix(in srgb, var(--md-row-selection) 25%, transparent) 6px,
1275
- transparent 6px,
1276
- transparent 12px
1277
- );
1278
- border-radius: 2px;
1279
- pointer-events: none;
1280
- animation: ghost-pulse-cc281ed8 2s ease-in-out infinite;
1281
- }
1282
- @keyframes ghost-pulse-cc281ed8 {
1283
- 0%, 100% { opacity: 0.5;
1284
- }
1285
- 50% { opacity: 1;
1286
- }
1287
- }
1288
-
1316
+ .cdz-ghost-line[data-v-cb66bb52] {
1317
+ position: absolute;
1318
+ left: 0;
1319
+ right: 0;
1320
+ top: 50%;
1321
+ height: 2px;
1322
+ transform: translateY(-50%);
1323
+ background: repeating-linear-gradient(
1324
+ 90deg,
1325
+ color-mix(in srgb, var(--md-row-selection) 25%, transparent) 0px,
1326
+ color-mix(in srgb, var(--md-row-selection) 25%, transparent) 6px,
1327
+ transparent 6px,
1328
+ transparent 12px
1329
+ );
1330
+ border-radius: 2px;
1331
+ pointer-events: none;
1332
+ animation: ghost-pulse-cb66bb52 2s ease-in-out infinite;
1333
+ }
1334
+ @keyframes ghost-pulse-cb66bb52 {
1335
+ 0%,
1336
+ 100% {
1337
+ opacity: 0.5;
1338
+ }
1339
+ 50% {
1340
+ opacity: 1;
1341
+ }
1342
+ }
1343
+
1289
1344
  /* ── Active bar ─────────────────────────────────────────────── */
1290
- .cdz-bar[data-v-cc281ed8] {
1291
- position: absolute;
1292
- inset: 4px 0;
1293
- display: flex;
1294
- align-items: center;
1295
- gap: 10px;
1296
- padding: 0 20px;
1297
- background: color-mix(in srgb, var(--md-row-selection) 6%, transparent);
1298
- border-radius: 8px;
1299
- border: 1.5px dashed color-mix(in srgb, var(--md-row-selection) 35%, transparent);
1345
+ .cdz-bar[data-v-cb66bb52] {
1346
+ position: absolute;
1347
+ inset: 4px 0;
1348
+ display: flex;
1349
+ align-items: center;
1350
+ gap: 10px;
1351
+ padding: 0 20px;
1352
+ background: color-mix(in srgb, var(--md-row-selection) 6%, transparent);
1353
+ border-radius: 8px;
1354
+ border: 1.5px dashed
1355
+ color-mix(in srgb, var(--md-row-selection) 35%, transparent);
1300
1356
  pointer-events: none; /* let drag events fall through to the parent drop zone */
1301
1357
  }
1302
- .cdz-line[data-v-cc281ed8] {
1303
- flex: 1;
1304
- height: 2px;
1305
- background: linear-gradient(
1306
- 90deg,
1307
- transparent,
1308
- color-mix(in srgb, var(--md-row-selection) 60%, transparent),
1309
- color-mix(in srgb, var(--md-row-selection) 80%, transparent),
1310
- color-mix(in srgb, var(--md-row-selection) 60%, transparent),
1311
- transparent
1312
- );
1313
- border-radius: 2px;
1314
- animation: line-expand-cc281ed8 0.2s ease forwards;
1358
+ .cdz-line[data-v-cb66bb52] {
1359
+ flex: 1;
1360
+ height: 2px;
1361
+ background: linear-gradient(
1362
+ 90deg,
1363
+ transparent,
1364
+ color-mix(in srgb, var(--md-row-selection) 60%, transparent),
1365
+ color-mix(in srgb, var(--md-row-selection) 80%, transparent),
1366
+ color-mix(in srgb, var(--md-row-selection) 60%, transparent),
1367
+ transparent
1368
+ );
1369
+ border-radius: 2px;
1370
+ animation: line-expand-cb66bb52 0.2s ease forwards;
1315
1371
  transform-origin: center;
1316
1372
  }
1317
- @keyframes line-expand-cc281ed8 {
1318
- from { transform: scaleX(0); opacity: 0;
1373
+ @keyframes line-expand-cb66bb52 {
1374
+ from {
1375
+ transform: scaleX(0);
1376
+ opacity: 0;
1319
1377
  }
1320
- to { transform: scaleX(1); opacity: 1;
1321
- }
1322
- }
1323
- .cdz-pill[data-v-cc281ed8] {
1324
- display: flex;
1325
- align-items: center;
1326
- gap: 5px;
1327
- font-size: 11px;
1328
- font-weight: 600;
1329
- color: var(--md-row-selection-fg);
1330
- letter-spacing: 0.01em;
1331
- white-space: nowrap;
1332
- padding: 5px 14px;
1333
- background: color-mix(in srgb, var(--md-row-selection) 8%, transparent);
1334
- border: 1.5px solid color-mix(in srgb, var(--md-row-selection) 35%, transparent);
1335
- border-radius: 100px;
1336
- box-shadow: 0 2px 8px color-mix(in srgb, var(--md-row-selection) 15%, transparent);
1337
- animation: pill-pop-cc281ed8 0.22s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
1378
+ to {
1379
+ transform: scaleX(1);
1380
+ opacity: 1;
1338
1381
  }
1339
- @keyframes pill-pop-cc281ed8 {
1340
- from { transform: scale(0.75); opacity: 0;
1341
1382
  }
1342
- to { transform: scale(1); opacity: 1;
1383
+ .cdz-pill[data-v-cb66bb52] {
1384
+ display: flex;
1385
+ align-items: center;
1386
+ gap: 5px;
1387
+ font-size: 11px;
1388
+ font-weight: 600;
1389
+ color: var(--md-row-selection-fg);
1390
+ letter-spacing: 0.01em;
1391
+ white-space: nowrap;
1392
+ padding: 5px 14px;
1393
+ background: color-mix(in srgb, var(--md-row-selection) 8%, transparent);
1394
+ border: 1.5px solid
1395
+ color-mix(in srgb, var(--md-row-selection) 35%, transparent);
1396
+ border-radius: 100px;
1397
+ box-shadow: 0 2px 8px
1398
+ color-mix(in srgb, var(--md-row-selection) 15%, transparent);
1399
+ animation: pill-pop-cb66bb52 0.22s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
1400
+ }
1401
+ @keyframes pill-pop-cb66bb52 {
1402
+ from {
1403
+ transform: scale(0.75);
1404
+ opacity: 0;
1405
+ }
1406
+ to {
1407
+ transform: scale(1);
1408
+ opacity: 1;
1343
1409
  }
1344
1410
  }
1345
- .cdz-icon[data-v-cc281ed8] {
1346
- width: 13px;
1347
- height: 13px;
1411
+ .cdz-icon[data-v-cb66bb52] {
1412
+ width: 13px;
1413
+ height: 13px;
1348
1414
  flex-shrink: 0;
1349
- }
1350
-
1351
- /* ── Transition ─────────────────────────────────────────────── */
1352
- .cdz-bar-enter-active[data-v-cc281ed8] { animation: cdz-in-cc281ed8 0.15s ease forwards;
1353
1415
  }
1354
- .cdz-bar-leave-active[data-v-cc281ed8] { transition: opacity 0.1s ease;
1416
+
1417
+ /* ── Transition ─────────────────────────────────────────────── */
1418
+ .cdz-bar-enter-active[data-v-cb66bb52] {
1419
+ animation: cdz-in-cb66bb52 0.15s ease forwards;
1355
1420
  }
1356
- .cdz-bar-leave-to[data-v-cc281ed8] { opacity: 0;
1421
+ .cdz-bar-leave-active[data-v-cb66bb52] {
1422
+ transition: opacity 0.1s ease;
1357
1423
  }
1358
- @keyframes cdz-in-cc281ed8 {
1359
- from { opacity: 0; transform: scaleY(0.6);
1424
+ .cdz-bar-leave-to[data-v-cb66bb52] {
1425
+ opacity: 0;
1360
1426
  }
1361
- to { opacity: 1; transform: scaleY(1);
1427
+ @keyframes cdz-in-cb66bb52 {
1428
+ from {
1429
+ opacity: 0;
1430
+ transform: scaleY(0.6);
1362
1431
  }
1363
- }
1364
-
1365
- .drop-line-enter-active[data-v-8ae7a24f] {
1366
- transition: opacity 80ms ease, transform 80ms ease;
1432
+ to {
1433
+ opacity: 1;
1434
+ transform: scaleY(1);
1367
1435
  }
1368
- .drop-line-leave-active[data-v-8ae7a24f] {
1369
- transition: opacity 60ms ease, transform 60ms ease;
1370
1436
  }
1371
- .drop-line-enter-from[data-v-8ae7a24f],
1372
- .drop-line-leave-to[data-v-8ae7a24f] {
1373
- opacity: 0;
1374
- transform: scaleX(0.6);
1437
+
1438
+ .drop-line-enter-active[data-v-d0f88c76] {
1439
+ transition:
1440
+ opacity 80ms ease,
1441
+ transform 80ms ease;
1442
+ }
1443
+ .drop-line-leave-active[data-v-d0f88c76] {
1444
+ transition:
1445
+ opacity 60ms ease,
1446
+ transform 60ms ease;
1447
+ }
1448
+ .drop-line-enter-from[data-v-d0f88c76],
1449
+ .drop-line-leave-to[data-v-d0f88c76] {
1450
+ opacity: 0;
1451
+ transform: scaleX(0.6);
1375
1452
  transform-origin: left center;
1376
- }
1453
+ }
1377
1454
 
1378
- .slide-enter-active[data-v-ce5a848e],
1379
- .slide-leave-active[data-v-ce5a848e] {
1380
- transition: all 0.2s ease;
1381
- max-height: 500px;
1455
+ .slide-enter-active[data-v-10da3eee],
1456
+ .slide-leave-active[data-v-10da3eee] {
1457
+ transition: all 0.2s ease;
1458
+ max-height: 500px;
1382
1459
  overflow: hidden;
1383
1460
  }
1384
- .slide-enter-from[data-v-ce5a848e],
1385
- .slide-leave-to[data-v-ce5a848e] {
1386
- opacity: 0;
1387
- max-height: 0;
1461
+ .slide-enter-from[data-v-10da3eee],
1462
+ .slide-leave-to[data-v-10da3eee] {
1463
+ opacity: 0;
1464
+ max-height: 0;
1388
1465
  transform: translateY(-10px);
1389
- }
1390
-
1391
- /* ============================================================
1392
- md-dropdown – suggestion list
1466
+ }
1467
+
1468
+ /* ============================================================
1469
+ md-dropdown – suggestion list
1393
1470
  ============================================================ */
1394
- .md-dropdown[data-v-3cd230e0] {
1395
- position: absolute;
1396
- top: 100%;
1397
- left: 0;
1398
- right: 0;
1399
- margin-top: 4px;
1400
- background: var(--md-surface);
1401
- border: 1px solid var(--md-border);
1402
- border-radius: 0.375rem;
1403
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
1404
- z-index: 10;
1405
- max-height: 12rem;
1471
+ .md-dropdown[data-v-029f6297] {
1472
+ position: absolute;
1473
+ top: 100%;
1474
+ left: 0;
1475
+ right: 0;
1476
+ margin-top: 4px;
1477
+ background: var(--md-surface);
1478
+ border: 1px solid var(--md-border);
1479
+ border-radius: 0.375rem;
1480
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
1481
+ z-index: 10;
1482
+ max-height: 12rem;
1406
1483
  overflow-y: auto;
1407
1484
  }
1408
- .md-dropdown-item[data-v-3cd230e0] {
1409
- padding: 0.5rem 0.75rem;
1410
- cursor: pointer;
1411
- color: var(--md-text);
1485
+ .md-dropdown-item[data-v-029f6297] {
1486
+ padding: 0.5rem 0.75rem;
1487
+ cursor: pointer;
1488
+ color: var(--md-text);
1412
1489
  transition: background 0.1s;
1413
1490
  }
1414
- .md-dropdown-item[data-v-3cd230e0]:hover {
1491
+ .md-dropdown-item[data-v-029f6297]:hover {
1415
1492
  background: var(--md-surface-hover);
1416
1493
  }
1417
- .md-dropdown-item--active[data-v-3cd230e0] {
1418
- background: var(--md-primary);
1494
+ .md-dropdown-item--active[data-v-029f6297] {
1495
+ background: var(--md-primary);
1419
1496
  color: var(--md-on-primary);
1420
- }
1421
-
1422
- /* ============================================================
1423
- md-tag – selected tag pills
1497
+ }
1498
+
1499
+ /* ============================================================
1500
+ md-tag – selected tag pills
1424
1501
  ============================================================ */
1425
- .md-tag[data-v-3cd230e0] {
1426
- display: inline-flex;
1427
- align-items: center;
1428
- padding: 0.125rem 0.75rem;
1429
- border-radius: 9999px;
1430
- font-size: 0.875rem;
1431
- font-weight: 500;
1432
- background: var(--md-primary);
1433
- color: var(--md-on-primary);
1502
+ .md-tag[data-v-029f6297] {
1503
+ display: inline-flex;
1504
+ align-items: center;
1505
+ padding: 0.125rem 0.75rem;
1506
+ border-radius: 9999px;
1507
+ font-size: 0.875rem;
1508
+ font-weight: 500;
1509
+ background: var(--md-primary);
1510
+ color: var(--md-on-primary);
1434
1511
  line-height: 1.5;
1435
1512
  }
1436
- .md-tag-remove[data-v-3cd230e0] {
1437
- margin-left: 0.5rem;
1438
- display: inline-flex;
1439
- align-items: center;
1440
- justify-content: center;
1441
- width: 1rem;
1442
- height: 1rem;
1443
- border: none;
1444
- background: transparent;
1445
- color: color-mix(in srgb, var(--md-on-primary) 80%, transparent);
1446
- cursor: pointer;
1447
- border-radius: 9999px;
1448
- transition:
1449
- background 0.15s,
1450
- color 0.15s;
1513
+ .md-tag-remove[data-v-029f6297] {
1514
+ margin-left: 0.5rem;
1515
+ display: inline-flex;
1516
+ align-items: center;
1517
+ justify-content: center;
1518
+ width: 1rem;
1519
+ height: 1rem;
1520
+ border: none;
1521
+ background: transparent;
1522
+ color: color-mix(in srgb, var(--md-on-primary) 80%, transparent);
1523
+ cursor: pointer;
1524
+ border-radius: 9999px;
1525
+ transition:
1526
+ background 0.15s,
1527
+ color 0.15s;
1451
1528
  padding: 0;
1452
1529
  }
1453
- .md-tag-remove[data-v-3cd230e0]:hover {
1454
- background: color-mix(in srgb, var(--md-on-primary) 20%, transparent);
1530
+ .md-tag-remove[data-v-029f6297]:hover {
1531
+ background: color-mix(in srgb, var(--md-on-primary) 20%, transparent);
1455
1532
  color: var(--md-on-primary);
1456
1533
  }
1457
- .md-tag-remove svg[data-v-3cd230e0] {
1458
- width: 100%;
1534
+ .md-tag-remove svg[data-v-029f6297] {
1535
+ width: 100%;
1459
1536
  height: 100%;
1460
- }
1461
-
1462
- /* ============================================================
1463
- Scrollbar styling for dropdown (optional, keeps it clean)
1537
+ }
1538
+
1539
+ /* ============================================================
1540
+ Scrollbar styling for dropdown (optional, keeps it clean)
1464
1541
  ============================================================ */
1465
- .md-dropdown[data-v-3cd230e0]::-webkit-scrollbar {
1542
+ .md-dropdown[data-v-029f6297]::-webkit-scrollbar {
1466
1543
  width: 4px;
1467
1544
  }
1468
- .md-dropdown[data-v-3cd230e0]::-webkit-scrollbar-track {
1545
+ .md-dropdown[data-v-029f6297]::-webkit-scrollbar-track {
1469
1546
  background: transparent;
1470
1547
  }
1471
- .md-dropdown[data-v-3cd230e0]::-webkit-scrollbar-thumb {
1472
- background: var(--md-border);
1548
+ .md-dropdown[data-v-029f6297]::-webkit-scrollbar-thumb {
1549
+ background: var(--md-border);
1473
1550
  border-radius: 8px;
1474
1551
  }
1475
- .md-dropdown[data-v-3cd230e0]::-webkit-scrollbar-thumb:hover {
1552
+ .md-dropdown[data-v-029f6297]::-webkit-scrollbar-thumb:hover {
1476
1553
  background: var(--md-text-subtle);
1477
- }
1554
+ }
1478
1555
 
1479
- .overflow-x-auto[data-v-22183f86] {
1480
- max-width: 100%;
1556
+ .overflow-x-auto[data-v-66ee94f1] {
1557
+ max-width: 100%;
1481
1558
  -webkit-overflow-scrolling: touch;
1482
1559
  }
1483
- .overflow-x-auto[data-v-22183f86]::-webkit-scrollbar {
1560
+ .overflow-x-auto[data-v-66ee94f1]::-webkit-scrollbar {
1484
1561
  height: 6px;
1485
1562
  }
1486
- .overflow-x-auto[data-v-22183f86]::-webkit-scrollbar-track {
1487
- background: var(--md-surface-muted);
1563
+ .overflow-x-auto[data-v-66ee94f1]::-webkit-scrollbar-track {
1564
+ background: var(--md-surface-muted);
1488
1565
  border-radius: 4px;
1489
1566
  }
1490
- .overflow-x-auto[data-v-22183f86]::-webkit-scrollbar-thumb {
1491
- background: var(--md-border-strong);
1567
+ .overflow-x-auto[data-v-66ee94f1]::-webkit-scrollbar-thumb {
1568
+ background: var(--md-border-strong);
1492
1569
  border-radius: 4px;
1493
1570
  }
1494
- .overflow-x-auto[data-v-22183f86]::-webkit-scrollbar-thumb:hover {
1571
+ .overflow-x-auto[data-v-66ee94f1]::-webkit-scrollbar-thumb:hover {
1495
1572
  background: var(--md-text-subtle);
1496
- }
1573
+ }
1497
1574
 
1498
- .overflow-x-auto[data-v-f8677731] {
1499
- max-width: 100%;
1575
+ .overflow-x-auto[data-v-60969a60] {
1576
+ max-width: 100%;
1500
1577
  -webkit-overflow-scrolling: touch;
1501
1578
  }
1502
- .overflow-x-auto[data-v-f8677731]::-webkit-scrollbar {
1579
+ .overflow-x-auto[data-v-60969a60]::-webkit-scrollbar {
1503
1580
  height: 6px;
1504
1581
  }
1505
- .overflow-x-auto[data-v-f8677731]::-webkit-scrollbar-track {
1506
- background: var(--md-surface-muted);
1582
+ .overflow-x-auto[data-v-60969a60]::-webkit-scrollbar-track {
1583
+ background: var(--md-surface-muted);
1507
1584
  border-radius: 4px;
1508
1585
  }
1509
- .overflow-x-auto[data-v-f8677731]::-webkit-scrollbar-thumb {
1510
- background: var(--md-border-strong);
1586
+ .overflow-x-auto[data-v-60969a60]::-webkit-scrollbar-thumb {
1587
+ background: var(--md-border-strong);
1511
1588
  border-radius: 4px;
1512
1589
  }
1513
- .overflow-x-auto[data-v-f8677731]::-webkit-scrollbar-thumb:hover {
1590
+ .overflow-x-auto[data-v-60969a60]::-webkit-scrollbar-thumb:hover {
1514
1591
  background: var(--md-text-subtle);
1515
- }
1592
+ }
1516
1593
 
1517
- .panel-slide-enter-active[data-v-3185c8c2],
1518
- .panel-slide-leave-active[data-v-3185c8c2] {
1519
- transition:
1520
- opacity 0.18s ease,
1594
+ .panel-slide-enter-active[data-v-ef885a8c],
1595
+ .panel-slide-leave-active[data-v-ef885a8c] {
1596
+ transition:
1597
+ opacity 0.18s ease,
1521
1598
  transform 0.18s ease;
1522
1599
  }
1523
- .panel-slide-enter-from[data-v-3185c8c2],
1524
- .panel-slide-leave-to[data-v-3185c8c2] {
1525
- opacity: 0;
1600
+ .panel-slide-enter-from[data-v-ef885a8c],
1601
+ .panel-slide-leave-to[data-v-ef885a8c] {
1602
+ opacity: 0;
1526
1603
  transform: translateX(-10px);
1527
- }
1528
-
1604
+ }
1605
+
1529
1606
  /* Filter pill fade */
1530
- .fade-enter-active[data-v-3185c8c2],
1531
- .fade-leave-active[data-v-3185c8c2] {
1532
- transition:
1533
- opacity 0.15s ease,
1607
+ .fade-enter-active[data-v-ef885a8c],
1608
+ .fade-leave-active[data-v-ef885a8c] {
1609
+ transition:
1610
+ opacity 0.15s ease,
1534
1611
  transform 0.15s ease;
1535
1612
  }
1536
- .fade-enter-from[data-v-3185c8c2],
1537
- .fade-leave-to[data-v-3185c8c2] {
1538
- opacity: 0;
1613
+ .fade-enter-from[data-v-ef885a8c],
1614
+ .fade-leave-to[data-v-ef885a8c] {
1615
+ opacity: 0;
1539
1616
  transform: translateY(-4px);
1540
- }
1541
-
1617
+ }
1618
+
1542
1619
  /* Smooth row list reorder/filter transitions */
1543
- .row-list-enter-active[data-v-3185c8c2],
1544
- .row-list-leave-active[data-v-3185c8c2] {
1545
- transition:
1546
- opacity 0.2s ease,
1620
+ .row-list-enter-active[data-v-ef885a8c],
1621
+ .row-list-leave-active[data-v-ef885a8c] {
1622
+ transition:
1623
+ opacity 0.2s ease,
1547
1624
  transform 0.2s ease;
1548
1625
  }
1549
- .row-list-enter-from[data-v-3185c8c2],
1550
- .row-list-leave-to[data-v-3185c8c2] {
1551
- opacity: 0;
1626
+ .row-list-enter-from[data-v-ef885a8c],
1627
+ .row-list-leave-to[data-v-ef885a8c] {
1628
+ opacity: 0;
1552
1629
  transform: translateY(6px);
1553
1630
  }
1554
- .row-list-move[data-v-3185c8c2] {
1631
+ .row-list-move[data-v-ef885a8c] {
1555
1632
  transition: transform 0.2s ease;
1556
- }
1557
-
1633
+ }
1634
+
1558
1635
  /* Scrollbar — thin, unobtrusive */
1559
- .overflow-y-auto[data-v-3185c8c2]::-webkit-scrollbar {
1636
+ .overflow-y-auto[data-v-ef885a8c]::-webkit-scrollbar {
1560
1637
  width: 6px;
1561
1638
  }
1562
- .overflow-y-auto[data-v-3185c8c2]::-webkit-scrollbar-track {
1639
+ .overflow-y-auto[data-v-ef885a8c]::-webkit-scrollbar-track {
1563
1640
  background: transparent;
1564
1641
  }
1565
- .overflow-y-auto[data-v-3185c8c2]::-webkit-scrollbar-thumb {
1566
- background: var(--md-border-strong);
1642
+ .overflow-y-auto[data-v-ef885a8c]::-webkit-scrollbar-thumb {
1643
+ background: var(--md-border-strong);
1567
1644
  border-radius: 9999px;
1568
1645
  }
1569
- .overflow-y-auto[data-v-3185c8c2]::-webkit-scrollbar-thumb:hover {
1646
+ .overflow-y-auto[data-v-ef885a8c]::-webkit-scrollbar-thumb:hover {
1570
1647
  background: var(--md-text-subtle);
1571
- }
1648
+ }
1572
1649
 
1573
- .panel-slide-enter-active[data-v-3ec392a9],
1574
- .panel-slide-leave-active[data-v-3ec392a9] {
1575
- transition:
1576
- opacity 0.18s ease,
1650
+ .panel-slide-enter-active[data-v-90154b02],
1651
+ .panel-slide-leave-active[data-v-90154b02] {
1652
+ transition:
1653
+ opacity 0.18s ease,
1577
1654
  transform 0.18s ease;
1578
1655
  }
1579
- .panel-slide-enter-from[data-v-3ec392a9],
1580
- .panel-slide-leave-to[data-v-3ec392a9] {
1581
- opacity: 0;
1656
+ .panel-slide-enter-from[data-v-90154b02],
1657
+ .panel-slide-leave-to[data-v-90154b02] {
1658
+ opacity: 0;
1582
1659
  transform: translateX(-10px);
1583
1660
  }
1584
- .row-list-enter-active[data-v-3ec392a9],
1585
- .row-list-leave-active[data-v-3ec392a9] {
1586
- transition:
1587
- opacity 0.2s ease,
1661
+ .row-list-enter-active[data-v-90154b02],
1662
+ .row-list-leave-active[data-v-90154b02] {
1663
+ transition:
1664
+ opacity 0.2s ease,
1588
1665
  transform 0.2s ease;
1589
1666
  }
1590
- .row-list-enter-from[data-v-3ec392a9],
1591
- .row-list-leave-to[data-v-3ec392a9] {
1592
- opacity: 0;
1667
+ .row-list-enter-from[data-v-90154b02],
1668
+ .row-list-leave-to[data-v-90154b02] {
1669
+ opacity: 0;
1593
1670
  transform: translateY(6px);
1594
1671
  }
1595
- .row-list-move[data-v-3ec392a9] {
1672
+ .row-list-move[data-v-90154b02] {
1596
1673
  transition: transform 0.2s ease;
1597
- }
1598
-
1674
+ }
1675
+
1599
1676
  /* Scrollbar — thin, unobtrusive. Matches SavedRowsPanel. */
1600
- .overflow-y-auto[data-v-3ec392a9]::-webkit-scrollbar { width: 6px;
1677
+ .overflow-y-auto[data-v-90154b02]::-webkit-scrollbar {
1678
+ width: 6px;
1679
+ }
1680
+ .overflow-y-auto[data-v-90154b02]::-webkit-scrollbar-track {
1681
+ background: transparent;
1682
+ }
1683
+ .overflow-y-auto[data-v-90154b02]::-webkit-scrollbar-thumb {
1684
+ background: var(--md-border-strong);
1685
+ border-radius: 9999px;
1686
+ }
1687
+ .overflow-y-auto[data-v-90154b02]::-webkit-scrollbar-thumb:hover {
1688
+ background: var(--md-text-subtle);
1689
+ }
1690
+
1691
+ .panel-slide-enter-active[data-v-9d31c919],
1692
+ .panel-slide-leave-active[data-v-9d31c919] {
1693
+ transition:
1694
+ opacity 0.18s ease,
1695
+ transform 0.18s ease;
1696
+ }
1697
+ .panel-slide-enter-from[data-v-9d31c919],
1698
+ .panel-slide-leave-to[data-v-9d31c919] {
1699
+ opacity: 0;
1700
+ transform: translateX(-10px);
1601
1701
  }
1602
- .overflow-y-auto[data-v-3ec392a9]::-webkit-scrollbar-track { background: transparent;
1702
+ .row-list-enter-active[data-v-9d31c919],
1703
+ .row-list-leave-active[data-v-9d31c919] {
1704
+ transition:
1705
+ opacity 0.2s ease,
1706
+ transform 0.2s ease;
1603
1707
  }
1604
- .overflow-y-auto[data-v-3ec392a9]::-webkit-scrollbar-thumb { background: var(--md-border-strong); border-radius: 9999px;
1708
+ .row-list-enter-from[data-v-9d31c919],
1709
+ .row-list-leave-to[data-v-9d31c919] {
1710
+ opacity: 0;
1711
+ transform: translateY(6px);
1712
+ }
1713
+ .row-list-move[data-v-9d31c919] {
1714
+ transition: transform 0.2s ease;
1605
1715
  }
1606
- .overflow-y-auto[data-v-3ec392a9]::-webkit-scrollbar-thumb:hover { background: var(--md-text-subtle);
1607
- }
1608
1716
 
1609
- .md-toast__region[data-v-7583ad77] {
1717
+ /* Scrollbar — thin, unobtrusive. Matches SavedTemplatesPanel. */
1718
+ .overflow-y-auto[data-v-9d31c919]::-webkit-scrollbar {
1719
+ width: 6px;
1720
+ }
1721
+ .overflow-y-auto[data-v-9d31c919]::-webkit-scrollbar-track {
1722
+ background: transparent;
1723
+ }
1724
+ .overflow-y-auto[data-v-9d31c919]::-webkit-scrollbar-thumb {
1725
+ background: var(--md-border-strong);
1726
+ border-radius: 9999px;
1727
+ }
1728
+ .overflow-y-auto[data-v-9d31c919]::-webkit-scrollbar-thumb:hover {
1729
+ background: var(--md-text-subtle);
1730
+ }
1731
+
1732
+ .md-toast__region[data-v-7df3ae7b] {
1610
1733
  position: fixed;
1611
1734
  top: 1rem;
1612
1735
  right: 1rem;
@@ -1616,7 +1739,7 @@ to { opacity: 1; transform: scaleY(1);
1616
1739
  gap: 0.5rem;
1617
1740
  pointer-events: none;
1618
1741
  }
1619
- .md-toast[data-v-7583ad77] {
1742
+ .md-toast[data-v-7df3ae7b] {
1620
1743
  pointer-events: auto;
1621
1744
  display: flex;
1622
1745
  align-items: flex-start;
@@ -1629,758 +1752,895 @@ to { opacity: 1; transform: scaleY(1);
1629
1752
  border-radius: 0.75rem;
1630
1753
  box-shadow: 0 8px 30px rgb(0 0 0 / 0.12);
1631
1754
  }
1632
- .md-toast__icon[data-v-7583ad77] { font-size: 15px; flex-shrink: 0; margin-top: 0.0625rem;
1755
+ .md-toast__icon[data-v-7df3ae7b] {
1756
+ font-size: 15px;
1757
+ flex-shrink: 0;
1758
+ margin-top: 0.0625rem;
1633
1759
  }
1634
- .md-toast__body[data-v-7583ad77] { flex: 1; min-width: 0;
1760
+ .md-toast__body[data-v-7df3ae7b] {
1761
+ flex: 1;
1762
+ min-width: 0;
1635
1763
  }
1636
- .md-toast__summary[data-v-7583ad77] { font-weight: 500;
1764
+ .md-toast__summary[data-v-7df3ae7b] {
1765
+ font-weight: 500;
1637
1766
  }
1638
- .md-toast__detail[data-v-7583ad77] { font-size: 12px; opacity: 0.8; margin-top: 0.125rem;
1767
+ .md-toast__detail[data-v-7df3ae7b] {
1768
+ font-size: 12px;
1769
+ opacity: 0.8;
1770
+ margin-top: 0.125rem;
1639
1771
  }
1640
- .md-toast__close[data-v-7583ad77] { flex-shrink: 0; opacity: 0.5; background: none; border: 0; cursor: pointer; color: inherit;
1772
+ .md-toast__close[data-v-7df3ae7b] {
1773
+ flex-shrink: 0;
1774
+ opacity: 0.5;
1775
+ background: none;
1776
+ border: 0;
1777
+ cursor: pointer;
1778
+ color: inherit;
1641
1779
  }
1642
- .md-toast__close[data-v-7583ad77]:hover { opacity: 1;
1780
+ .md-toast__close[data-v-7df3ae7b]:hover {
1781
+ opacity: 1;
1643
1782
  }
1644
- .md-toast--success[data-v-7583ad77] { background: var(--md-success-bg); border-color: var(--md-success-border); color: var(--md-success-fg);
1783
+ .md-toast--success[data-v-7df3ae7b] {
1784
+ background: var(--md-success-bg);
1785
+ border-color: var(--md-success-border);
1786
+ color: var(--md-success-fg);
1645
1787
  }
1646
- .md-toast--info[data-v-7583ad77] { background: var(--md-info-bg); border-color: var(--md-info-border); color: var(--md-info-fg);
1788
+ .md-toast--info[data-v-7df3ae7b] {
1789
+ background: var(--md-info-bg);
1790
+ border-color: var(--md-info-border);
1791
+ color: var(--md-info-fg);
1647
1792
  }
1648
- .md-toast--warn[data-v-7583ad77] { background: var(--md-surface)beb; border-color: var(--md-warning-border); color: var(--md-warning-fg);
1793
+ .md-toast--warn[data-v-7df3ae7b] {
1794
+ background: var(--md-surface);
1795
+ border-color: var(--md-warning-border);
1796
+ color: var(--md-warning-fg);
1649
1797
  }
1650
- .md-toast--error[data-v-7583ad77] { background: var(--md-danger-bg); border-color: var(--md-danger-border); color: var(--md-danger-fg);
1798
+ .md-toast--error[data-v-7df3ae7b] {
1799
+ background: var(--md-danger-bg);
1800
+ border-color: var(--md-danger-border);
1801
+ color: var(--md-danger-fg);
1651
1802
  }
1652
- .md-toast-enter-active[data-v-7583ad77], .md-toast-leave-active[data-v-7583ad77] { transition: all 0.2s ease;
1803
+ .md-toast-enter-active[data-v-7df3ae7b],
1804
+ .md-toast-leave-active[data-v-7df3ae7b] {
1805
+ transition: all 0.2s ease;
1653
1806
  }
1654
- .md-toast-enter-from[data-v-7583ad77], .md-toast-leave-to[data-v-7583ad77] { opacity: 0; transform: translateX(20px);
1807
+ .md-toast-enter-from[data-v-7df3ae7b],
1808
+ .md-toast-leave-to[data-v-7df3ae7b] {
1809
+ opacity: 0;
1810
+ transform: translateX(20px);
1655
1811
  }
1656
1812
 
1657
- .md-confirm__body[data-v-43b7e283] { display: flex; align-items: flex-start; gap: 0.75rem;
1813
+ .md-confirm__body[data-v-b70facc7] {
1814
+ display: flex;
1815
+ align-items: flex-start;
1816
+ gap: 0.75rem;
1658
1817
  }
1659
- .md-confirm__icon[data-v-43b7e283] { font-size: 22px; color: var(--md-warning); flex-shrink: 0; margin-top: 0.125rem;
1818
+ .md-confirm__icon[data-v-b70facc7] {
1819
+ font-size: 22px;
1820
+ color: var(--md-warning);
1821
+ flex-shrink: 0;
1822
+ margin-top: 0.125rem;
1660
1823
  }
1661
- .md-confirm__message[data-v-43b7e283] { margin: 0; font-size: 14px; line-height: 1.5; color: var(--md-text);
1824
+ .md-confirm__message[data-v-b70facc7] {
1825
+ margin: 0;
1826
+ font-size: 14px;
1827
+ line-height: 1.5;
1828
+ color: var(--md-text);
1662
1829
  }
1663
-
1830
+
1664
1831
  /* ── Orb ──────────────────────────────────────────────────────────────────── */
1665
- .health-orb[data-v-0521087e] {
1666
- position: relative;
1667
- display: flex;
1668
- align-items: center;
1669
- justify-content: center;
1670
- width: 24px;
1671
- height: 24px;
1672
- border-radius: 50%;
1673
- border: none;
1674
- background: transparent;
1675
- cursor: pointer;
1676
- padding: 0;
1677
- outline: none;
1832
+ .health-orb[data-v-e50d82a8] {
1833
+ position: relative;
1834
+ display: flex;
1835
+ align-items: center;
1836
+ justify-content: center;
1837
+ width: 24px;
1838
+ height: 24px;
1839
+ border-radius: 50%;
1840
+ border: none;
1841
+ background: transparent;
1842
+ cursor: pointer;
1843
+ padding: 0;
1844
+ outline: none;
1678
1845
  flex-shrink: 0;
1679
1846
  }
1680
- .health-orb:focus-visible .orb-core[data-v-0521087e] {
1847
+ .health-orb:focus-visible .orb-core[data-v-e50d82a8] {
1681
1848
  box-shadow: 0 0 0 3px rgba(66, 56, 158, 0.4);
1682
- }
1683
-
1849
+ }
1850
+
1684
1851
  /* Pulse rings */
1685
- .orb-ring[data-v-0521087e] {
1686
- position: absolute;
1687
- border-radius: 50%;
1688
- animation: orb-pulse-0521087e 2.4s ease-out infinite;
1689
- }
1690
- .orb-ring--outer[data-v-0521087e] {
1691
- width: 22px;
1692
- height: 22px;
1852
+ .orb-ring[data-v-e50d82a8] {
1853
+ position: absolute;
1854
+ border-radius: 50%;
1855
+ animation: orb-pulse-e50d82a8 2.4s ease-out infinite;
1856
+ }
1857
+ .orb-ring--outer[data-v-e50d82a8] {
1858
+ width: 22px;
1859
+ height: 22px;
1693
1860
  animation-delay: 0s;
1694
1861
  }
1695
- .orb-ring--inner[data-v-0521087e] {
1696
- width: 16px;
1697
- height: 16px;
1862
+ .orb-ring--inner[data-v-e50d82a8] {
1863
+ width: 16px;
1864
+ height: 16px;
1698
1865
  animation-delay: 0.6s;
1699
- }
1700
-
1866
+ }
1867
+
1701
1868
  /* Core */
1702
- .orb-core[data-v-0521087e] {
1703
- position: relative;
1704
- width: 10px;
1705
- height: 10px;
1706
- border-radius: 50%;
1707
- transition: transform 0.15s ease, box-shadow 0.15s ease;
1869
+ .orb-core[data-v-e50d82a8] {
1870
+ position: relative;
1871
+ width: 10px;
1872
+ height: 10px;
1873
+ border-radius: 50%;
1874
+ transition:
1875
+ transform 0.15s ease,
1876
+ box-shadow 0.15s ease;
1708
1877
  z-index: 1;
1709
1878
  }
1710
- .health-orb:hover .orb-core[data-v-0521087e],
1711
- .health-orb--active .orb-core[data-v-0521087e] {
1879
+ .health-orb:hover .orb-core[data-v-e50d82a8],
1880
+ .health-orb--active .orb-core[data-v-e50d82a8] {
1712
1881
  transform: scale(1.15);
1713
- }
1714
-
1882
+ }
1883
+
1715
1884
  /* ── Status colours with brand accent ───────────────────────────────────────── */
1716
- .health-orb--good .orb-ring[data-v-0521087e] {
1885
+ .health-orb--good .orb-ring[data-v-e50d82a8] {
1717
1886
  background: rgba(34, 197, 94, 0.25);
1718
1887
  }
1719
- .health-orb--good .orb-core[data-v-0521087e] {
1720
- background: #22c55e;
1721
- box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.2), 0 0 8px rgba(34, 197, 94, 0.4);
1888
+ .health-orb--good .orb-core[data-v-e50d82a8] {
1889
+ background: #22c55e;
1890
+ box-shadow:
1891
+ 0 0 0 2px rgba(34, 197, 94, 0.2),
1892
+ 0 0 8px rgba(34, 197, 94, 0.4);
1722
1893
  }
1723
- .health-orb--warn .orb-ring[data-v-0521087e] {
1894
+ .health-orb--warn .orb-ring[data-v-e50d82a8] {
1724
1895
  background: rgba(245, 158, 11, 0.28);
1725
1896
  }
1726
- .health-orb--warn .orb-core[data-v-0521087e] {
1727
- background: #f59e0b;
1728
- box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2), 0 0 8px rgba(245, 158, 11, 0.4);
1897
+ .health-orb--warn .orb-core[data-v-e50d82a8] {
1898
+ background: #f59e0b;
1899
+ box-shadow:
1900
+ 0 0 0 2px rgba(245, 158, 11, 0.2),
1901
+ 0 0 8px rgba(245, 158, 11, 0.4);
1729
1902
  }
1730
- .health-orb--bad .orb-ring[data-v-0521087e] {
1903
+ .health-orb--bad .orb-ring[data-v-e50d82a8] {
1731
1904
  background: rgba(239, 68, 68, 0.28);
1732
1905
  }
1733
- .health-orb--bad .orb-core[data-v-0521087e] {
1734
- background: #ef4444;
1735
- box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2), 0 0 8px rgba(239, 68, 68, 0.4);
1906
+ .health-orb--bad .orb-core[data-v-e50d82a8] {
1907
+ background: #ef4444;
1908
+ box-shadow:
1909
+ 0 0 0 2px rgba(239, 68, 68, 0.2),
1910
+ 0 0 8px rgba(239, 68, 68, 0.4);
1911
+ }
1912
+ @keyframes orb-pulse-e50d82a8 {
1913
+ 0% {
1914
+ transform: scale(0.6);
1915
+ opacity: 0.7;
1736
1916
  }
1737
- @keyframes orb-pulse-0521087e {
1738
- 0% { transform: scale(0.6); opacity: 0.7;
1917
+ 60% {
1918
+ transform: scale(1.6);
1919
+ opacity: 0;
1739
1920
  }
1740
- 60% { transform: scale(1.6); opacity: 0;
1921
+ 100% {
1922
+ transform: scale(1.6);
1923
+ opacity: 0;
1741
1924
  }
1742
- 100% { transform: scale(1.6); opacity: 0;
1743
1925
  }
1744
- }
1745
-
1926
+
1746
1927
  /* ── Panel ────────────────────────────────────────────────────────────────── */
1747
- .health-panel[data-v-0521087e] {
1748
- position: absolute;
1749
- top: calc(100% + 10px);
1750
- left: 50%;
1751
- transform: translateX(-50%);
1752
- width: 300px;
1753
- background: #18181b;
1754
- border: 1px solid rgba(255, 255, 255, 0.08);
1755
- border-radius: 14px;
1756
- padding: 12px;
1757
- box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5), 0 4px 12px rgba(0, 0, 0, 0.3);
1758
- z-index: 9999;
1759
- display: flex;
1760
- flex-direction: column;
1761
- gap: 8px;
1762
- /* Smooth horizontal expansion */
1928
+ .health-panel[data-v-e50d82a8] {
1929
+ position: absolute;
1930
+ top: calc(100% + 10px);
1931
+ left: 50%;
1932
+ transform: translateX(-50%);
1933
+ width: 300px;
1934
+ background: #18181b;
1935
+ border: 1px solid rgba(255, 255, 255, 0.08);
1936
+ border-radius: 14px;
1937
+ padding: 12px;
1938
+ box-shadow:
1939
+ 0 20px 60px rgba(0, 0, 0, 0.5),
1940
+ 0 4px 12px rgba(0, 0, 0, 0.3);
1941
+ z-index: 9999;
1942
+ display: flex;
1943
+ flex-direction: column;
1944
+ gap: 8px;
1945
+ /* Smooth horizontal expansion */
1763
1946
  transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
1764
1947
  }
1765
- .health-panel--expanded[data-v-0521087e] {
1948
+ .health-panel--expanded[data-v-e50d82a8] {
1766
1949
  width: 400px;
1767
- }
1768
-
1950
+ }
1951
+
1769
1952
  /* When expanded, stat grid uses 3 cols instead of 2 */
1770
- .health-panel--expanded .detail-stats[data-v-0521087e] {
1953
+ .health-panel--expanded .detail-stats[data-v-e50d82a8] {
1771
1954
  grid-template-columns: repeat(3, 1fr);
1772
- }
1773
-
1955
+ }
1956
+
1774
1957
  /* When expanded, accessibility list gets more vertical room */
1775
- .health-panel--expanded .a11y-list[data-v-0521087e] {
1958
+ .health-panel--expanded .a11y-list[data-v-e50d82a8] {
1776
1959
  max-height: 320px;
1777
- }
1778
-
1960
+ }
1961
+
1779
1962
  /* When expanded, format rows go side-by-side */
1780
- .health-panel--expanded .format-note[data-v-0521087e] {
1781
- display: grid;
1782
- grid-template-columns: repeat(3, 1fr);
1963
+ .health-panel--expanded .format-note[data-v-e50d82a8] {
1964
+ display: grid;
1965
+ grid-template-columns: repeat(3, 1fr);
1783
1966
  gap: 6px;
1784
1967
  }
1785
- .health-panel--expanded .format-row[data-v-0521087e] {
1786
- flex-direction: column;
1787
- align-items: flex-start;
1968
+ .health-panel--expanded .format-row[data-v-e50d82a8] {
1969
+ flex-direction: column;
1970
+ align-items: flex-start;
1788
1971
  gap: 4px;
1789
- }
1790
-
1972
+ }
1973
+
1791
1974
  /* ── Panel header with brand color ─────────────────────────────────────────── */
1792
- .panel-header[data-v-0521087e] {
1793
- display: flex;
1794
- align-items: center;
1795
- justify-content: space-between;
1796
- padding: 0 2px 4px;
1975
+ .panel-header[data-v-e50d82a8] {
1976
+ display: flex;
1977
+ align-items: center;
1978
+ justify-content: space-between;
1979
+ padding: 0 2px 4px;
1797
1980
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
1798
1981
  }
1799
- .panel-header-right[data-v-0521087e] {
1800
- display: flex;
1801
- align-items: center;
1982
+ .panel-header-right[data-v-e50d82a8] {
1983
+ display: flex;
1984
+ align-items: center;
1802
1985
  gap: 6px;
1803
- }
1804
-
1986
+ }
1987
+
1805
1988
  /* Expand toggle button */
1806
- .panel-expand-btn[data-v-0521087e] {
1807
- display: flex;
1808
- align-items: center;
1809
- justify-content: center;
1810
- width: 22px;
1811
- height: 22px;
1812
- border-radius: 6px;
1813
- border: 1px solid rgba(255, 255, 255, 0.08);
1814
- background: rgba(255, 255, 255, 0.04);
1815
- color: rgba(255, 255, 255, 0.35);
1816
- cursor: pointer;
1817
- transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
1818
- flex-shrink: 0;
1989
+ .panel-expand-btn[data-v-e50d82a8] {
1990
+ display: flex;
1991
+ align-items: center;
1992
+ justify-content: center;
1993
+ width: 22px;
1994
+ height: 22px;
1995
+ border-radius: 6px;
1996
+ border: 1px solid rgba(255, 255, 255, 0.08);
1997
+ background: rgba(255, 255, 255, 0.04);
1998
+ color: rgba(255, 255, 255, 0.35);
1999
+ cursor: pointer;
2000
+ transition:
2001
+ background 0.15s ease,
2002
+ color 0.15s ease,
2003
+ border-color 0.15s ease;
2004
+ flex-shrink: 0;
1819
2005
  padding: 0;
1820
2006
  }
1821
- .panel-expand-btn[data-v-0521087e]:hover {
1822
- background: rgba(66, 56, 158, 0.18);
1823
- border-color: rgba(66, 56, 158, 0.4);
2007
+ .panel-expand-btn[data-v-e50d82a8]:hover {
2008
+ background: rgba(66, 56, 158, 0.18);
2009
+ border-color: rgba(66, 56, 158, 0.4);
1824
2010
  color: #a5b4fc;
1825
2011
  }
1826
- .panel-expand-btn[data-v-0521087e]:focus-visible {
1827
- outline: 2px solid rgba(66, 56, 158, 0.5);
2012
+ .panel-expand-btn[data-v-e50d82a8]:focus-visible {
2013
+ outline: 2px solid rgba(66, 56, 158, 0.5);
1828
2014
  outline-offset: 1px;
1829
2015
  }
1830
- .panel-expand-btn--active[data-v-0521087e] {
1831
- background: rgba(66, 56, 158, 0.2);
1832
- border-color: rgba(66, 56, 158, 0.45);
2016
+ .panel-expand-btn--active[data-v-e50d82a8] {
2017
+ background: rgba(66, 56, 158, 0.2);
2018
+ border-color: rgba(66, 56, 158, 0.45);
1833
2019
  color: #a5b4fc;
1834
2020
  }
1835
- .panel-title[data-v-0521087e] {
1836
- font-size: 11px;
1837
- font-weight: 600;
1838
- letter-spacing: 0.06em;
1839
- text-transform: uppercase;
2021
+ .panel-title[data-v-e50d82a8] {
2022
+ font-size: 11px;
2023
+ font-weight: 600;
2024
+ letter-spacing: 0.06em;
2025
+ text-transform: uppercase;
1840
2026
  color: #a5b4fc;
1841
2027
  }
1842
- .panel-status-badge[data-v-0521087e] {
1843
- font-size: 10px;
1844
- font-weight: 600;
1845
- padding: 2px 8px;
2028
+ .panel-status-badge[data-v-e50d82a8] {
2029
+ font-size: 10px;
2030
+ font-weight: 600;
2031
+ padding: 2px 8px;
1846
2032
  border-radius: 99px;
1847
2033
  }
1848
- .status-badge--good[data-v-0521087e] { background: rgba(34, 197, 94, 0.15); color: #4ade80;
2034
+ .status-badge--good[data-v-e50d82a8] {
2035
+ background: rgba(34, 197, 94, 0.15);
2036
+ color: #4ade80;
1849
2037
  }
1850
- .status-badge--warn[data-v-0521087e] { background: rgba(245, 158, 11, 0.15); color: #fbbf24;
2038
+ .status-badge--warn[data-v-e50d82a8] {
2039
+ background: rgba(245, 158, 11, 0.15);
2040
+ color: #fbbf24;
1851
2041
  }
1852
- .status-badge--bad[data-v-0521087e] { background: rgba(239, 68, 68, 0.15); color: #f87171;
1853
- }
1854
-
2042
+ .status-badge--bad[data-v-e50d82a8] {
2043
+ background: rgba(239, 68, 68, 0.15);
2044
+ color: #f87171;
2045
+ }
2046
+
1855
2047
  /* ── Metric cards ─────────────────────────────────────────────────────────── */
1856
- .metric-card[data-v-0521087e] {
1857
- border-radius: 10px;
1858
- border: 1px solid rgba(255, 255, 255, 0.06);
1859
- background: rgba(255, 255, 255, 0.04);
1860
- cursor: pointer;
1861
- transition: background 0.15s ease, border-color 0.15s ease;
1862
- overflow: hidden;
2048
+ .metric-card[data-v-e50d82a8] {
2049
+ border-radius: 10px;
2050
+ border: 1px solid rgba(255, 255, 255, 0.06);
2051
+ background: rgba(255, 255, 255, 0.04);
2052
+ cursor: pointer;
2053
+ transition:
2054
+ background 0.15s ease,
2055
+ border-color 0.15s ease;
2056
+ overflow: hidden;
1863
2057
  user-select: none;
1864
2058
  }
1865
- .metric-card[data-v-0521087e]:hover {
1866
- background: rgba(66, 56, 158, 0.1);
2059
+ .metric-card[data-v-e50d82a8]:hover {
2060
+ background: rgba(66, 56, 158, 0.1);
1867
2061
  border-color: rgba(66, 56, 158, 0.3);
1868
2062
  }
1869
- .metric-card[data-v-0521087e]:focus-visible {
1870
- outline: 2px solid rgba(66, 56, 158, 0.5);
2063
+ .metric-card[data-v-e50d82a8]:focus-visible {
2064
+ outline: 2px solid rgba(66, 56, 158, 0.5);
1871
2065
  outline-offset: 2px;
1872
2066
  }
1873
- .metric-card--good[data-v-0521087e] { border-color: rgba(34, 197, 94, 0.15);
2067
+ .metric-card--good[data-v-e50d82a8] {
2068
+ border-color: rgba(34, 197, 94, 0.15);
1874
2069
  }
1875
- .metric-card--warn[data-v-0521087e] { border-color: rgba(245, 158, 11, 0.15);
2070
+ .metric-card--warn[data-v-e50d82a8] {
2071
+ border-color: rgba(245, 158, 11, 0.15);
1876
2072
  }
1877
- .metric-card--bad[data-v-0521087e] { border-color: rgba(239, 68, 68, 0.2);
2073
+ .metric-card--bad[data-v-e50d82a8] {
2074
+ border-color: rgba(239, 68, 68, 0.2);
1878
2075
  }
1879
- .metric-card--good.metric-card--expanded[data-v-0521087e] { background: rgba(34, 197, 94, 0.05);
2076
+ .metric-card--good.metric-card--expanded[data-v-e50d82a8] {
2077
+ background: rgba(34, 197, 94, 0.05);
1880
2078
  }
1881
- .metric-card--warn.metric-card--expanded[data-v-0521087e] { background: rgba(245, 158, 11, 0.05);
2079
+ .metric-card--warn.metric-card--expanded[data-v-e50d82a8] {
2080
+ background: rgba(245, 158, 11, 0.05);
1882
2081
  }
1883
- .metric-card--bad.metric-card--expanded[data-v-0521087e] { background: rgba(239, 68, 68, 0.06);
1884
- }
1885
-
2082
+ .metric-card--bad.metric-card--expanded[data-v-e50d82a8] {
2083
+ background: rgba(239, 68, 68, 0.06);
2084
+ }
2085
+
1886
2086
  /* ── Summary row ──────────────────────────────────────────────────────────── */
1887
- .metric-summary[data-v-0521087e] {
1888
- display: flex;
1889
- align-items: center;
1890
- justify-content: space-between;
1891
- padding: 9px 10px;
2087
+ .metric-summary[data-v-e50d82a8] {
2088
+ display: flex;
2089
+ align-items: center;
2090
+ justify-content: space-between;
2091
+ padding: 9px 10px;
1892
2092
  gap: 8px;
1893
2093
  }
1894
- .metric-left[data-v-0521087e] {
1895
- display: flex;
1896
- align-items: center;
1897
- gap: 7px;
2094
+ .metric-left[data-v-e50d82a8] {
2095
+ display: flex;
2096
+ align-items: center;
2097
+ gap: 7px;
1898
2098
  min-width: 0;
1899
2099
  }
1900
- .metric-icon[data-v-0521087e] {
1901
- display: flex;
1902
- align-items: center;
1903
- opacity: 0.8;
2100
+ .metric-icon[data-v-e50d82a8] {
2101
+ display: flex;
2102
+ align-items: center;
2103
+ opacity: 0.8;
1904
2104
  flex-shrink: 0;
1905
2105
  }
1906
- .metric-label[data-v-0521087e] {
1907
- font-size: 11.5px;
1908
- font-weight: 500;
1909
- color: rgba(255, 255, 255, 0.7);
2106
+ .metric-label[data-v-e50d82a8] {
2107
+ font-size: 11.5px;
2108
+ font-weight: 500;
2109
+ color: rgba(255, 255, 255, 0.7);
1910
2110
  white-space: nowrap;
1911
2111
  }
1912
- .metric-right[data-v-0521087e] {
1913
- display: flex;
1914
- align-items: center;
1915
- gap: 6px;
2112
+ .metric-right[data-v-e50d82a8] {
2113
+ display: flex;
2114
+ align-items: center;
2115
+ gap: 6px;
1916
2116
  flex-shrink: 0;
1917
- }
1918
-
2117
+ }
2118
+
1919
2119
  /* Mini bar */
1920
- .mini-bar[data-v-0521087e] {
1921
- width: 36px;
1922
- height: 4px;
1923
- border-radius: 99px;
1924
- background: rgba(255, 255, 255, 0.1);
2120
+ .mini-bar[data-v-e50d82a8] {
2121
+ width: 36px;
2122
+ height: 4px;
2123
+ border-radius: 99px;
2124
+ background: rgba(255, 255, 255, 0.1);
1925
2125
  overflow: hidden;
1926
2126
  }
1927
- .mini-bar-fill[data-v-0521087e] {
1928
- height: 100%;
1929
- border-radius: 99px;
2127
+ .mini-bar-fill[data-v-e50d82a8] {
2128
+ height: 100%;
2129
+ border-radius: 99px;
1930
2130
  transition: width 0.5s ease;
1931
2131
  }
1932
- .mini-bar-fill--good[data-v-0521087e] { background: #22c55e;
2132
+ .mini-bar-fill--good[data-v-e50d82a8] {
2133
+ background: #22c55e;
1933
2134
  }
1934
- .mini-bar-fill--warn[data-v-0521087e] { background: #f59e0b;
2135
+ .mini-bar-fill--warn[data-v-e50d82a8] {
2136
+ background: #f59e0b;
1935
2137
  }
1936
- .mini-bar-fill--bad[data-v-0521087e] { background: #ef4444;
1937
- }
1938
-
2138
+ .mini-bar-fill--bad[data-v-e50d82a8] {
2139
+ background: #ef4444;
2140
+ }
2141
+
1939
2142
  /* Status dot */
1940
- .status-dot[data-v-0521087e] {
1941
- width: 6px;
1942
- height: 6px;
1943
- border-radius: 50%;
2143
+ .status-dot[data-v-e50d82a8] {
2144
+ width: 6px;
2145
+ height: 6px;
2146
+ border-radius: 50%;
1944
2147
  flex-shrink: 0;
1945
2148
  }
1946
- .status-dot--good[data-v-0521087e] { background: #22c55e;
2149
+ .status-dot--good[data-v-e50d82a8] {
2150
+ background: #22c55e;
2151
+ }
2152
+ .status-dot--warn[data-v-e50d82a8] {
2153
+ background: #f59e0b;
1947
2154
  }
1948
- .status-dot--warn[data-v-0521087e] { background: #f59e0b;
2155
+ .status-dot--bad[data-v-e50d82a8] {
2156
+ background: #ef4444;
1949
2157
  }
1950
- .status-dot--bad[data-v-0521087e] { background: #ef4444;
1951
- }
1952
-
2158
+
1953
2159
  /* Pulsing dot for bad status */
1954
- .pulse-dot[data-v-0521087e] {
1955
- position: relative;
1956
- width: 6px;
1957
- height: 6px;
2160
+ .pulse-dot[data-v-e50d82a8] {
2161
+ position: relative;
2162
+ width: 6px;
2163
+ height: 6px;
1958
2164
  flex-shrink: 0;
1959
2165
  }
1960
- .pulse-dot[data-v-0521087e]::before,
1961
- .pulse-dot[data-v-0521087e]::after {
1962
- content: '';
1963
- position: absolute;
1964
- inset: 0;
2166
+ .pulse-dot[data-v-e50d82a8]::before,
2167
+ .pulse-dot[data-v-e50d82a8]::after {
2168
+ content: "";
2169
+ position: absolute;
2170
+ inset: 0;
1965
2171
  border-radius: 50%;
1966
2172
  }
1967
- .pulse-dot--bad[data-v-0521087e]::before { background: #ef4444; z-index: 1;
2173
+ .pulse-dot--bad[data-v-e50d82a8]::before {
2174
+ background: #ef4444;
2175
+ z-index: 1;
1968
2176
  }
1969
- .pulse-dot--bad[data-v-0521087e]::after { background: #ef4444; animation: dot-ping-0521087e 1.5s ease-out infinite;
2177
+ .pulse-dot--bad[data-v-e50d82a8]::after {
2178
+ background: #ef4444;
2179
+ animation: dot-ping-e50d82a8 1.5s ease-out infinite;
1970
2180
  }
1971
- @keyframes dot-ping-0521087e {
1972
- 0% { transform: scale(1); opacity: 0.75;
2181
+ @keyframes dot-ping-e50d82a8 {
2182
+ 0% {
2183
+ transform: scale(1);
2184
+ opacity: 0.75;
1973
2185
  }
1974
- 100% { transform: scale(2.5); opacity: 0;
2186
+ 100% {
2187
+ transform: scale(2.5);
2188
+ opacity: 0;
1975
2189
  }
1976
2190
  }
1977
- .metric-value[data-v-0521087e] {
1978
- font-size: 11.5px;
1979
- font-weight: 600;
2191
+ .metric-value[data-v-e50d82a8] {
2192
+ font-size: 11.5px;
2193
+ font-weight: 600;
1980
2194
  font-variant-numeric: tabular-nums;
1981
2195
  }
1982
- .metric-value--good[data-v-0521087e] { color: #4ade80;
2196
+ .metric-value--good[data-v-e50d82a8] {
2197
+ color: #4ade80;
2198
+ }
2199
+ .metric-value--warn[data-v-e50d82a8] {
2200
+ color: #fbbf24;
1983
2201
  }
1984
- .metric-value--warn[data-v-0521087e] { color: #fbbf24;
2202
+ .metric-value--bad[data-v-e50d82a8] {
2203
+ color: #f87171;
1985
2204
  }
1986
- .metric-value--bad[data-v-0521087e] { color: #f87171;
1987
- }
1988
-
2205
+
1989
2206
  /* Chevron */
1990
- .chevron[data-v-0521087e] {
1991
- color: rgba(255, 255, 255, 0.3);
1992
- transition: transform 0.2s ease, color 0.15s ease;
2207
+ .chevron[data-v-e50d82a8] {
2208
+ color: rgba(255, 255, 255, 0.3);
2209
+ transition:
2210
+ transform 0.2s ease,
2211
+ color 0.15s ease;
1993
2212
  flex-shrink: 0;
1994
2213
  }
1995
- .chevron--open[data-v-0521087e] { transform: rotate(180deg); color: rgba(255, 255, 255, 0.6);
2214
+ .chevron--open[data-v-e50d82a8] {
2215
+ transform: rotate(180deg);
2216
+ color: rgba(255, 255, 255, 0.6);
2217
+ }
2218
+ .metric-card:hover .chevron[data-v-e50d82a8] {
2219
+ color: rgba(255, 255, 255, 0.5);
1996
2220
  }
1997
- .metric-card:hover .chevron[data-v-0521087e] { color: rgba(255, 255, 255, 0.5);
1998
- }
1999
-
2221
+
2000
2222
  /* ── Expanded detail ──────────────────────────────────────────────────────── */
2001
- .metric-detail[data-v-0521087e] {
2002
- padding: 0 10px 10px;
2003
- display: flex;
2004
- flex-direction: column;
2005
- gap: 8px;
2223
+ .metric-detail[data-v-e50d82a8] {
2224
+ padding: 0 10px 10px;
2225
+ display: flex;
2226
+ flex-direction: column;
2227
+ gap: 8px;
2006
2228
  border-top: 1px solid rgba(255, 255, 255, 0.05);
2007
2229
  }
2008
- .detail-tip[data-v-0521087e] {
2009
- font-size: 11px;
2010
- line-height: 1.55;
2011
- color: rgba(255, 255, 255, 0.55);
2230
+ .detail-tip[data-v-e50d82a8] {
2231
+ font-size: 11px;
2232
+ line-height: 1.55;
2233
+ color: rgba(255, 255, 255, 0.55);
2012
2234
  margin: 6px 0 0;
2013
- }
2014
-
2235
+ }
2236
+
2015
2237
  /* Stats grid */
2016
- .detail-stats[data-v-0521087e] {
2017
- display: grid;
2018
- grid-template-columns: 1fr 1fr;
2238
+ .detail-stats[data-v-e50d82a8] {
2239
+ display: grid;
2240
+ grid-template-columns: 1fr 1fr;
2019
2241
  gap: 4px 12px;
2020
2242
  }
2021
- .stat-item[data-v-0521087e] {
2022
- display: flex;
2023
- justify-content: space-between;
2024
- align-items: baseline;
2243
+ .stat-item[data-v-e50d82a8] {
2244
+ display: flex;
2245
+ justify-content: space-between;
2246
+ align-items: baseline;
2025
2247
  gap: 6px;
2026
2248
  }
2027
- .stat-label[data-v-0521087e] {
2028
- font-size: 10.5px;
2029
- color: rgba(255, 255, 255, 0.35);
2249
+ .stat-label[data-v-e50d82a8] {
2250
+ font-size: 10.5px;
2251
+ color: rgba(255, 255, 255, 0.35);
2030
2252
  white-space: nowrap;
2031
2253
  }
2032
- .stat-value[data-v-0521087e] {
2033
- font-size: 11px;
2034
- font-weight: 600;
2035
- color: rgba(255, 255, 255, 0.75);
2254
+ .stat-value[data-v-e50d82a8] {
2255
+ font-size: 11px;
2256
+ font-weight: 600;
2257
+ color: rgba(255, 255, 255, 0.75);
2036
2258
  font-variant-numeric: tabular-nums;
2037
- }
2038
-
2259
+ }
2260
+
2039
2261
  /* Thresholds */
2040
- .detail-thresholds[data-v-0521087e] {
2041
- display: flex;
2042
- flex-wrap: wrap;
2043
- gap: 4px;
2044
- padding-top: 4px;
2262
+ .detail-thresholds[data-v-e50d82a8] {
2263
+ display: flex;
2264
+ flex-wrap: wrap;
2265
+ gap: 4px;
2266
+ padding-top: 4px;
2045
2267
  border-top: 1px solid rgba(255, 255, 255, 0.05);
2046
2268
  }
2047
- .threshold[data-v-0521087e] {
2048
- font-size: 10px;
2049
- font-weight: 500;
2050
- padding: 2px 7px;
2269
+ .threshold[data-v-e50d82a8] {
2270
+ font-size: 10px;
2271
+ font-weight: 500;
2272
+ padding: 2px 7px;
2051
2273
  border-radius: 99px;
2052
2274
  }
2053
- .threshold--good[data-v-0521087e] { background: rgba(34, 197, 94, 0.12); color: #4ade80;
2275
+ .threshold--good[data-v-e50d82a8] {
2276
+ background: rgba(34, 197, 94, 0.12);
2277
+ color: #4ade80;
2278
+ }
2279
+ .threshold--warn[data-v-e50d82a8] {
2280
+ background: rgba(245, 158, 11, 0.12);
2281
+ color: #fbbf24;
2054
2282
  }
2055
- .threshold--warn[data-v-0521087e] { background: rgba(245, 158, 11, 0.12); color: #fbbf24;
2283
+ .threshold--bad[data-v-e50d82a8] {
2284
+ background: rgba(239, 68, 68, 0.12);
2285
+ color: #f87171;
2056
2286
  }
2057
- .threshold--bad[data-v-0521087e] { background: rgba(239, 68, 68, 0.12); color: #f87171;
2058
- }
2059
-
2287
+
2060
2288
  /* ── Format note (KB card) ────────────────────────────────────────────────── */
2061
- .format-note[data-v-0521087e] {
2062
- display: flex;
2063
- flex-direction: column;
2064
- gap: 5px;
2065
- background: rgba(0, 0, 0, 0.2);
2066
- border-radius: 8px;
2289
+ .format-note[data-v-e50d82a8] {
2290
+ display: flex;
2291
+ flex-direction: column;
2292
+ gap: 5px;
2293
+ background: rgba(0, 0, 0, 0.2);
2294
+ border-radius: 8px;
2067
2295
  padding: 8px;
2068
2296
  }
2069
- .format-row[data-v-0521087e] {
2070
- display: flex;
2071
- align-items: flex-start;
2297
+ .format-row[data-v-e50d82a8] {
2298
+ display: flex;
2299
+ align-items: flex-start;
2072
2300
  gap: 8px;
2073
2301
  }
2074
- .format-badge[data-v-0521087e] {
2075
- font-size: 9.5px;
2076
- font-weight: 700;
2077
- letter-spacing: 0.05em;
2078
- padding: 2px 6px;
2079
- border-radius: 4px;
2080
- flex-shrink: 0;
2081
- margin-top: 1px;
2082
- background: rgba(66, 56, 158, 0.3);
2302
+ .format-badge[data-v-e50d82a8] {
2303
+ font-size: 9.5px;
2304
+ font-weight: 700;
2305
+ letter-spacing: 0.05em;
2306
+ padding: 2px 6px;
2307
+ border-radius: 4px;
2308
+ flex-shrink: 0;
2309
+ margin-top: 1px;
2310
+ background: rgba(66, 56, 158, 0.3);
2083
2311
  color: #a5b4fc;
2084
2312
  }
2085
- .format-badge--muted[data-v-0521087e] {
2086
- background: rgba(255, 255, 255, 0.07);
2313
+ .format-badge--muted[data-v-e50d82a8] {
2314
+ background: rgba(255, 255, 255, 0.07);
2087
2315
  color: rgba(255, 255, 255, 0.35);
2088
2316
  }
2089
- .format-info[data-v-0521087e] {
2090
- display: flex;
2091
- flex-direction: column;
2092
- gap: 2px;
2317
+ .format-info[data-v-e50d82a8] {
2318
+ display: flex;
2319
+ flex-direction: column;
2320
+ gap: 2px;
2093
2321
  min-width: 0;
2094
2322
  }
2095
- .format-range[data-v-0521087e] {
2096
- font-size: 11px;
2097
- font-weight: 600;
2323
+ .format-range[data-v-e50d82a8] {
2324
+ font-size: 11px;
2325
+ font-weight: 600;
2098
2326
  color: rgba(255, 255, 255, 0.8);
2099
2327
  }
2100
- .format-range--muted[data-v-0521087e] {
2101
- color: rgba(255, 255, 255, 0.35);
2328
+ .format-range--muted[data-v-e50d82a8] {
2329
+ color: rgba(255, 255, 255, 0.35);
2102
2330
  font-weight: 500;
2103
2331
  }
2104
- .format-caveat[data-v-0521087e] {
2105
- font-size: 10px;
2106
- line-height: 1.4;
2332
+ .format-caveat[data-v-e50d82a8] {
2333
+ font-size: 10px;
2334
+ line-height: 1.4;
2107
2335
  color: rgba(255, 255, 255, 0.35);
2108
- }
2109
-
2336
+ }
2337
+
2110
2338
  /* ── Accessibility card ───────────────────────────────────────────────────── */
2111
- .a11y-detail[data-v-0521087e] {
2112
- cursor: default;
2113
- padding: 8px 10px 10px;
2339
+ .a11y-detail[data-v-e50d82a8] {
2340
+ cursor: default;
2341
+ padding: 8px 10px 10px;
2114
2342
  gap: 10px;
2115
- }
2116
-
2343
+ }
2344
+
2117
2345
  /* Tabs */
2118
- .a11y-tabs[data-v-0521087e] {
2119
- display: grid;
2120
- grid-template-columns: repeat(3, 1fr);
2121
- gap: 4px;
2122
- background: rgba(0, 0, 0, 0.25);
2123
- padding: 3px;
2346
+ .a11y-tabs[data-v-e50d82a8] {
2347
+ display: grid;
2348
+ grid-template-columns: repeat(3, 1fr);
2349
+ gap: 4px;
2350
+ background: rgba(0, 0, 0, 0.25);
2351
+ padding: 3px;
2124
2352
  border-radius: 8px;
2125
2353
  }
2126
- .a11y-tab[data-v-0521087e] {
2127
- display: flex;
2128
- align-items: center;
2129
- justify-content: center;
2130
- gap: 6px;
2131
- padding: 6px 4px;
2132
- background: transparent;
2133
- border: none;
2134
- border-radius: 6px;
2135
- cursor: pointer;
2136
- font-family: inherit;
2137
- font-size: 10.5px;
2138
- font-weight: 600;
2139
- letter-spacing: 0.02em;
2140
- color: rgba(255, 255, 255, 0.45);
2141
- transition: background 0.15s ease, color 0.15s ease;
2142
- }
2143
- .a11y-tab[data-v-0521087e]:hover {
2144
- color: rgba(255, 255, 255, 0.75);
2354
+ .a11y-tab[data-v-e50d82a8] {
2355
+ display: flex;
2356
+ align-items: center;
2357
+ justify-content: center;
2358
+ gap: 6px;
2359
+ padding: 6px 4px;
2360
+ background: transparent;
2361
+ border: none;
2362
+ border-radius: 6px;
2363
+ cursor: pointer;
2364
+ font-family: inherit;
2365
+ font-size: 10.5px;
2366
+ font-weight: 600;
2367
+ letter-spacing: 0.02em;
2368
+ color: rgba(255, 255, 255, 0.45);
2369
+ transition:
2370
+ background 0.15s ease,
2371
+ color 0.15s ease;
2372
+ }
2373
+ .a11y-tab[data-v-e50d82a8]:hover {
2374
+ color: rgba(255, 255, 255, 0.75);
2145
2375
  background: rgba(255, 255, 255, 0.04);
2146
2376
  }
2147
- .a11y-tab[data-v-0521087e]:focus-visible {
2148
- outline: 2px solid rgba(66, 56, 158, 0.5);
2377
+ .a11y-tab[data-v-e50d82a8]:focus-visible {
2378
+ outline: 2px solid rgba(66, 56, 158, 0.5);
2149
2379
  outline-offset: 1px;
2150
2380
  }
2151
- .a11y-tab--active[data-v-0521087e] {
2152
- background: rgba(255, 255, 255, 0.07);
2381
+ .a11y-tab--active[data-v-e50d82a8] {
2382
+ background: rgba(255, 255, 255, 0.07);
2153
2383
  color: rgba(255, 255, 255, 0.92);
2154
2384
  }
2155
- .a11y-tab-label[data-v-0521087e] {
2385
+ .a11y-tab-label[data-v-e50d82a8] {
2156
2386
  text-transform: uppercase;
2157
2387
  }
2158
- .a11y-tab-count[data-v-0521087e] {
2159
- display: inline-flex;
2160
- align-items: center;
2161
- justify-content: center;
2162
- min-width: 18px;
2163
- height: 16px;
2164
- padding: 0 5px;
2165
- border-radius: 99px;
2166
- font-size: 10px;
2167
- font-weight: 700;
2168
- font-variant-numeric: tabular-nums;
2388
+ .a11y-tab-count[data-v-e50d82a8] {
2389
+ display: inline-flex;
2390
+ align-items: center;
2391
+ justify-content: center;
2392
+ min-width: 18px;
2393
+ height: 16px;
2394
+ padding: 0 5px;
2395
+ border-radius: 99px;
2396
+ font-size: 10px;
2397
+ font-weight: 700;
2398
+ font-variant-numeric: tabular-nums;
2169
2399
  line-height: 1;
2170
2400
  }
2171
- .a11y-tab-count--failed[data-v-0521087e] { background: rgba(239, 68, 68, 0.18); color: #f87171;
2401
+ .a11y-tab-count--failed[data-v-e50d82a8] {
2402
+ background: rgba(239, 68, 68, 0.18);
2403
+ color: #f87171;
2404
+ }
2405
+ .a11y-tab-count--passed[data-v-e50d82a8] {
2406
+ background: rgba(34, 197, 94, 0.18);
2407
+ color: #4ade80;
2172
2408
  }
2173
- .a11y-tab-count--passed[data-v-0521087e] { background: rgba(34, 197, 94, 0.18); color: #4ade80;
2409
+ .a11y-tab-count--ignored[data-v-e50d82a8] {
2410
+ background: rgba(255, 255, 255, 0.08);
2411
+ color: rgba(255, 255, 255, 0.5);
2174
2412
  }
2175
- .a11y-tab-count--ignored[data-v-0521087e] { background: rgba(255, 255, 255, 0.08); color: rgba(255, 255, 255, 0.5);
2176
- }
2177
-
2413
+
2178
2414
  /* List */
2179
- .a11y-list[data-v-0521087e] {
2180
- display: flex;
2181
- flex-direction: column;
2182
- gap: 6px;
2183
- max-height: 240px;
2184
- overflow-y: auto;
2185
- /* Custom thin scrollbar */
2186
- scrollbar-width: thin;
2415
+ .a11y-list[data-v-e50d82a8] {
2416
+ display: flex;
2417
+ flex-direction: column;
2418
+ gap: 6px;
2419
+ max-height: 240px;
2420
+ overflow-y: auto;
2421
+ /* Custom thin scrollbar */
2422
+ scrollbar-width: thin;
2187
2423
  scrollbar-color: rgba(255, 255, 255, 0.12) transparent;
2188
2424
  }
2189
- .a11y-list[data-v-0521087e]::-webkit-scrollbar {
2425
+ .a11y-list[data-v-e50d82a8]::-webkit-scrollbar {
2190
2426
  width: 6px;
2191
2427
  }
2192
- .a11y-list[data-v-0521087e]::-webkit-scrollbar-track {
2428
+ .a11y-list[data-v-e50d82a8]::-webkit-scrollbar-track {
2193
2429
  background: transparent;
2194
2430
  }
2195
- .a11y-list[data-v-0521087e]::-webkit-scrollbar-thumb {
2196
- background: rgba(255, 255, 255, 0.12);
2431
+ .a11y-list[data-v-e50d82a8]::-webkit-scrollbar-thumb {
2432
+ background: rgba(255, 255, 255, 0.12);
2197
2433
  border-radius: 99px;
2198
2434
  }
2199
- .a11y-empty[data-v-0521087e] {
2200
- font-size: 11px;
2201
- color: rgba(255, 255, 255, 0.4);
2202
- text-align: center;
2203
- padding: 12px 4px;
2435
+ .a11y-empty[data-v-e50d82a8] {
2436
+ font-size: 11px;
2437
+ color: rgba(255, 255, 255, 0.4);
2438
+ text-align: center;
2439
+ padding: 12px 4px;
2204
2440
  margin: 0;
2205
2441
  }
2206
- .a11y-item[data-v-0521087e] {
2207
- display: flex;
2208
- flex-direction: column;
2209
- gap: 4px;
2210
- padding: 8px;
2211
- border-radius: 8px;
2212
- background: rgba(255, 255, 255, 0.03);
2442
+ .a11y-item[data-v-e50d82a8] {
2443
+ display: flex;
2444
+ flex-direction: column;
2445
+ gap: 4px;
2446
+ padding: 8px;
2447
+ border-radius: 8px;
2448
+ background: rgba(255, 255, 255, 0.03);
2213
2449
  border-left: 2px solid transparent;
2214
2450
  }
2215
- .a11y-item--critical[data-v-0521087e] { border-left-color: #ef4444;
2451
+ .a11y-item--critical[data-v-e50d82a8] {
2452
+ border-left-color: #ef4444;
2216
2453
  }
2217
- .a11y-item--serious[data-v-0521087e] { border-left-color: #f59e0b;
2454
+ .a11y-item--serious[data-v-e50d82a8] {
2455
+ border-left-color: #f59e0b;
2218
2456
  }
2219
- .a11y-item--passed[data-v-0521087e] { border-left-color: rgba(34, 197, 94, 0.5);
2457
+ .a11y-item--passed[data-v-e50d82a8] {
2458
+ border-left-color: rgba(34, 197, 94, 0.5);
2220
2459
  }
2221
- .a11y-item--ignored[data-v-0521087e] { border-left-color: rgba(255, 255, 255, 0.18); opacity: 0.75;
2460
+ .a11y-item--ignored[data-v-e50d82a8] {
2461
+ border-left-color: rgba(255, 255, 255, 0.18);
2462
+ opacity: 0.75;
2222
2463
  }
2223
- .a11y-item-header[data-v-0521087e] {
2224
- display: flex;
2225
- align-items: center;
2464
+ .a11y-item-header[data-v-e50d82a8] {
2465
+ display: flex;
2466
+ align-items: center;
2226
2467
  gap: 6px;
2227
2468
  }
2228
- .a11y-severity[data-v-0521087e] {
2229
- display: inline-flex;
2230
- align-items: center;
2231
- font-size: 9px;
2232
- font-weight: 700;
2233
- text-transform: uppercase;
2234
- letter-spacing: 0.05em;
2235
- padding: 2px 6px;
2236
- border-radius: 4px;
2469
+ .a11y-severity[data-v-e50d82a8] {
2470
+ display: inline-flex;
2471
+ align-items: center;
2472
+ font-size: 9px;
2473
+ font-weight: 700;
2474
+ text-transform: uppercase;
2475
+ letter-spacing: 0.05em;
2476
+ padding: 2px 6px;
2477
+ border-radius: 4px;
2237
2478
  flex-shrink: 0;
2238
2479
  }
2239
- .a11y-severity--critical[data-v-0521087e] { background: rgba(239, 68, 68, 0.18); color: #f87171;
2480
+ .a11y-severity--critical[data-v-e50d82a8] {
2481
+ background: rgba(239, 68, 68, 0.18);
2482
+ color: #f87171;
2240
2483
  }
2241
- .a11y-severity--serious[data-v-0521087e] { background: rgba(245, 158, 11, 0.18); color: #fbbf24;
2484
+ .a11y-severity--serious[data-v-e50d82a8] {
2485
+ background: rgba(245, 158, 11, 0.18);
2486
+ color: #fbbf24;
2242
2487
  }
2243
- .a11y-severity--passed[data-v-0521087e] { background: rgba(34, 197, 94, 0.18); color: #4ade80;
2488
+ .a11y-severity--passed[data-v-e50d82a8] {
2489
+ background: rgba(34, 197, 94, 0.18);
2490
+ color: #4ade80;
2244
2491
  }
2245
- .a11y-severity--ignored[data-v-0521087e] { background: rgba(255, 255, 255, 0.07); color: rgba(255, 255, 255, 0.5);
2492
+ .a11y-severity--ignored[data-v-e50d82a8] {
2493
+ background: rgba(255, 255, 255, 0.07);
2494
+ color: rgba(255, 255, 255, 0.5);
2246
2495
  }
2247
- .a11y-rule[data-v-0521087e] {
2248
- font-size: 11px;
2249
- font-weight: 600;
2250
- color: rgba(255, 255, 255, 0.85);
2251
- flex: 1;
2252
- min-width: 0;
2253
- white-space: nowrap;
2254
- overflow: hidden;
2496
+ .a11y-rule[data-v-e50d82a8] {
2497
+ font-size: 11px;
2498
+ font-weight: 600;
2499
+ color: rgba(255, 255, 255, 0.85);
2500
+ flex: 1;
2501
+ min-width: 0;
2502
+ white-space: nowrap;
2503
+ overflow: hidden;
2255
2504
  text-overflow: ellipsis;
2256
2505
  }
2257
- .a11y-action[data-v-0521087e] {
2258
- background: transparent;
2259
- border: 1px solid rgba(255, 255, 255, 0.1);
2260
- border-radius: 4px;
2261
- padding: 2px 7px;
2262
- font-family: inherit;
2263
- font-size: 9.5px;
2264
- font-weight: 600;
2265
- color: rgba(255, 255, 255, 0.5);
2266
- cursor: pointer;
2267
- transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
2506
+ .a11y-action[data-v-e50d82a8] {
2507
+ background: transparent;
2508
+ border: 1px solid rgba(255, 255, 255, 0.1);
2509
+ border-radius: 4px;
2510
+ padding: 2px 7px;
2511
+ font-family: inherit;
2512
+ font-size: 9.5px;
2513
+ font-weight: 600;
2514
+ color: rgba(255, 255, 255, 0.5);
2515
+ cursor: pointer;
2516
+ transition:
2517
+ background 0.15s ease,
2518
+ color 0.15s ease,
2519
+ border-color 0.15s ease;
2268
2520
  flex-shrink: 0;
2269
2521
  }
2270
- .a11y-action[data-v-0521087e]:hover {
2271
- background: rgba(255, 255, 255, 0.06);
2272
- color: rgba(255, 255, 255, 0.85);
2522
+ .a11y-action[data-v-e50d82a8]:hover {
2523
+ background: rgba(255, 255, 255, 0.06);
2524
+ color: rgba(255, 255, 255, 0.85);
2273
2525
  border-color: rgba(255, 255, 255, 0.2);
2274
2526
  }
2275
- .a11y-action[data-v-0521087e]:focus-visible {
2276
- outline: 2px solid rgba(66, 56, 158, 0.5);
2527
+ .a11y-action[data-v-e50d82a8]:focus-visible {
2528
+ outline: 2px solid rgba(66, 56, 158, 0.5);
2277
2529
  outline-offset: 1px;
2278
2530
  }
2279
- .a11y-action--restore[data-v-0521087e] {
2280
- border-color: rgba(165, 180, 252, 0.25);
2531
+ .a11y-action--restore[data-v-e50d82a8] {
2532
+ border-color: rgba(165, 180, 252, 0.25);
2281
2533
  color: #a5b4fc;
2282
2534
  }
2283
- .a11y-action--restore[data-v-0521087e]:hover {
2284
- background: rgba(66, 56, 158, 0.15);
2285
- border-color: rgba(165, 180, 252, 0.4);
2535
+ .a11y-action--restore[data-v-e50d82a8]:hover {
2536
+ background: rgba(66, 56, 158, 0.15);
2537
+ border-color: rgba(165, 180, 252, 0.4);
2286
2538
  color: #c7d2fe;
2287
2539
  }
2288
- .a11y-message[data-v-0521087e] {
2289
- font-size: 10.5px;
2290
- line-height: 1.5;
2291
- color: rgba(255, 255, 255, 0.65);
2540
+ .a11y-message[data-v-e50d82a8] {
2541
+ font-size: 10.5px;
2542
+ line-height: 1.5;
2543
+ color: rgba(255, 255, 255, 0.65);
2292
2544
  margin: 0;
2293
2545
  }
2294
- .a11y-info[data-v-0521087e] {
2295
- font-size: 10px;
2296
- line-height: 1.5;
2297
- color: rgba(255, 255, 255, 0.38);
2298
- margin: 0;
2299
- padding-top: 2px;
2546
+ .a11y-info[data-v-e50d82a8] {
2547
+ font-size: 10px;
2548
+ line-height: 1.5;
2549
+ color: rgba(255, 255, 255, 0.38);
2550
+ margin: 0;
2551
+ padding-top: 2px;
2300
2552
  border-top: 1px dashed rgba(255, 255, 255, 0.06);
2301
- }
2302
-
2553
+ }
2554
+
2303
2555
  /* ── Panel footer ─────────────────────────────────────────────────────────── */
2304
- .panel-footer[data-v-0521087e] {
2305
- font-size: 10px;
2306
- color: rgba(255, 255, 255, 0.22);
2307
- text-align: center;
2308
- padding-top: 4px;
2556
+ .panel-footer[data-v-e50d82a8] {
2557
+ font-size: 10px;
2558
+ color: rgba(255, 255, 255, 0.22);
2559
+ text-align: center;
2560
+ padding-top: 4px;
2309
2561
  margin: 0;
2310
- }
2311
-
2562
+ }
2563
+
2312
2564
  /* ── Click-outside overlay ────────────────────────────────────────────────── */
2313
- .click-outside[data-v-0521087e] {
2314
- position: fixed;
2315
- inset: 0;
2565
+ .click-outside[data-v-e50d82a8] {
2566
+ position: fixed;
2567
+ inset: 0;
2316
2568
  z-index: 9998;
2317
- }
2318
-
2569
+ }
2570
+
2319
2571
  /* ── Transitions ──────────────────────────────────────────────────────────── */
2320
- .popover-enter-active[data-v-0521087e] {
2321
- transition: opacity 0.18s ease, transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
2572
+ .popover-enter-active[data-v-e50d82a8] {
2573
+ transition:
2574
+ opacity 0.18s ease,
2575
+ transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
2322
2576
  }
2323
- .popover-leave-active[data-v-0521087e] {
2324
- transition: opacity 0.12s ease, transform 0.12s ease;
2577
+ .popover-leave-active[data-v-e50d82a8] {
2578
+ transition:
2579
+ opacity 0.12s ease,
2580
+ transform 0.12s ease;
2325
2581
  }
2326
- .popover-enter-from[data-v-0521087e] {
2327
- opacity: 0;
2582
+ .popover-enter-from[data-v-e50d82a8] {
2583
+ opacity: 0;
2328
2584
  transform: translateX(-50%) translateY(-6px) scale(0.97);
2329
2585
  }
2330
- .popover-leave-to[data-v-0521087e] {
2331
- opacity: 0;
2586
+ .popover-leave-to[data-v-e50d82a8] {
2587
+ opacity: 0;
2332
2588
  transform: translateX(-50%) translateY(-4px) scale(0.98);
2333
2589
  }
2334
- .expand-enter-active[data-v-0521087e] {
2335
- transition: opacity 0.18s ease, max-height 0.22s ease;
2336
- max-height: 300px;
2590
+ .expand-enter-active[data-v-e50d82a8] {
2591
+ transition:
2592
+ opacity 0.18s ease,
2593
+ max-height 0.22s ease;
2594
+ max-height: 300px;
2337
2595
  overflow: hidden;
2338
2596
  }
2339
- .expand-leave-active[data-v-0521087e] {
2340
- transition: opacity 0.12s ease, max-height 0.18s ease;
2597
+ .expand-leave-active[data-v-e50d82a8] {
2598
+ transition:
2599
+ opacity 0.12s ease,
2600
+ max-height 0.18s ease;
2341
2601
  overflow: hidden;
2342
2602
  }
2343
- .expand-enter-from[data-v-0521087e] {
2344
- opacity: 0;
2603
+ .expand-enter-from[data-v-e50d82a8] {
2604
+ opacity: 0;
2345
2605
  max-height: 0;
2346
2606
  }
2347
- .expand-leave-to[data-v-0521087e] {
2348
- opacity: 0;
2607
+ .expand-leave-to[data-v-e50d82a8] {
2608
+ opacity: 0;
2349
2609
  max-height: 0;
2350
- }
2610
+ }
2351
2611
 
2352
- .picker-overlay-enter-active[data-v-5f1ee4c3],
2353
- .picker-overlay-leave-active[data-v-5f1ee4c3] {
2612
+ .picker-overlay-enter-active[data-v-769fdd18],
2613
+ .picker-overlay-leave-active[data-v-769fdd18] {
2354
2614
  transition: opacity 0.2s ease;
2355
2615
  }
2356
- .picker-overlay-enter-from[data-v-5f1ee4c3],
2357
- .picker-overlay-leave-to[data-v-5f1ee4c3] {
2616
+ .picker-overlay-enter-from[data-v-769fdd18],
2617
+ .picker-overlay-leave-to[data-v-769fdd18] {
2358
2618
  opacity: 0;
2359
2619
  }
2360
- .picker-drawer-enter-active[data-v-5f1ee4c3],
2361
- .picker-drawer-leave-active[data-v-5f1ee4c3] {
2620
+ .picker-drawer-enter-active[data-v-769fdd18],
2621
+ .picker-drawer-leave-active[data-v-769fdd18] {
2362
2622
  transition: transform 0.28s cubic-bezier(0.32, 0.72, 0, 1);
2363
2623
  }
2364
- .picker-drawer-enter-from[data-v-5f1ee4c3],
2365
- .picker-drawer-leave-to[data-v-5f1ee4c3] {
2624
+ .picker-drawer-enter-from[data-v-769fdd18],
2625
+ .picker-drawer-leave-to[data-v-769fdd18] {
2366
2626
  transform: translateX(100%);
2367
- }
2368
-
2369
- .note-enter-active[data-v-b07bbf33],
2370
- .note-leave-active[data-v-b07bbf33] {
2371
- transition:
2372
- opacity 0.2s ease,
2373
- max-height 0.25s ease;
2374
- max-height: 60px;
2627
+ }
2628
+
2629
+ .note-enter-active[data-v-3767ab19],
2630
+ .note-leave-active[data-v-3767ab19] {
2631
+ transition:
2632
+ opacity 0.2s ease,
2633
+ max-height 0.25s ease;
2634
+ max-height: 60px;
2375
2635
  overflow: hidden;
2376
2636
  }
2377
- .note-enter-from[data-v-b07bbf33],
2378
- .note-leave-to[data-v-b07bbf33] {
2379
- opacity: 0;
2637
+ .note-enter-from[data-v-3767ab19],
2638
+ .note-leave-to[data-v-3767ab19] {
2639
+ opacity: 0;
2380
2640
  max-height: 0;
2381
- }
2641
+ }
2382
2642
 
2383
- .md-msg[data-v-db5ba171] {
2643
+ .md-msg[data-v-c41482a2] {
2384
2644
  display: flex;
2385
2645
  align-items: flex-start;
2386
2646
  gap: 0.5rem;
@@ -2389,36 +2649,162 @@ to { opacity: 1; transform: scaleY(1);
2389
2649
  border: 1px solid;
2390
2650
  border-radius: 0.5rem;
2391
2651
  }
2392
- .md-msg__icon[data-v-db5ba171] { margin-top: 0.125rem; flex-shrink: 0; font-size: 14px;
2652
+ .md-msg__icon[data-v-c41482a2] {
2653
+ margin-top: 0.125rem;
2654
+ flex-shrink: 0;
2655
+ font-size: 14px;
2393
2656
  }
2394
- .md-msg__body[data-v-db5ba171] { flex: 1; min-width: 0;
2657
+ .md-msg__body[data-v-c41482a2] {
2658
+ flex: 1;
2659
+ min-width: 0;
2395
2660
  }
2396
- .md-msg__close[data-v-db5ba171] { opacity: 0.6; cursor: pointer; background: none; border: 0;
2661
+ .md-msg__close[data-v-c41482a2] {
2662
+ opacity: 0.6;
2663
+ cursor: pointer;
2664
+ background: none;
2665
+ border: 0;
2397
2666
  }
2398
- .md-msg__close[data-v-db5ba171]:hover { opacity: 1;
2667
+ .md-msg__close[data-v-c41482a2]:hover {
2668
+ opacity: 1;
2399
2669
  }
2400
- .md-msg--info[data-v-db5ba171] { background: var(--md-info-bg); border-color: var(--md-info-border); color: var(--md-info-fg);
2670
+ .md-msg--info[data-v-c41482a2] {
2671
+ background: var(--md-info-bg);
2672
+ border-color: var(--md-info-border);
2673
+ color: var(--md-info-fg);
2401
2674
  }
2402
- .md-msg--success[data-v-db5ba171] { background: var(--md-success-bg); border-color: var(--md-success-border); color: var(--md-success-fg);
2675
+ .md-msg--success[data-v-c41482a2] {
2676
+ background: var(--md-success-bg);
2677
+ border-color: var(--md-success-border);
2678
+ color: var(--md-success-fg);
2403
2679
  }
2404
- .md-msg--warn[data-v-db5ba171] { background: var(--md-surface)beb; border-color: var(--md-warning-border); color: var(--md-warning-fg);
2680
+ .md-msg--warn[data-v-c41482a2] {
2681
+ background: var(--md-surface) beb;
2682
+ border-color: var(--md-warning-border);
2683
+ color: var(--md-warning-fg);
2405
2684
  }
2406
- .md-msg--error[data-v-db5ba171] { background: var(--md-danger-bg); border-color: var(--md-danger-border); color: var(--md-danger-fg);
2685
+ .md-msg--error[data-v-c41482a2] {
2686
+ background: var(--md-danger-bg);
2687
+ border-color: var(--md-danger-border);
2688
+ color: var(--md-danger-fg);
2407
2689
  }
2408
-
2690
+
2409
2691
  /* Auto-save pill: fade + 4px vertical drift on enter/leave */
2410
- .autosave-fade-enter-active[data-v-8a0c6ca5],
2411
- .autosave-fade-leave-active[data-v-8a0c6ca5] {
2412
- transition:
2413
- opacity 0.2s ease,
2692
+ .autosave-fade-enter-active[data-v-26ac5f8e],
2693
+ .autosave-fade-leave-active[data-v-26ac5f8e] {
2694
+ transition:
2695
+ opacity 0.2s ease,
2414
2696
  transform 0.2s ease;
2415
2697
  }
2416
- .autosave-fade-enter-from[data-v-8a0c6ca5] {
2417
- opacity: 0;
2698
+ .autosave-fade-enter-from[data-v-26ac5f8e] {
2699
+ opacity: 0;
2418
2700
  transform: translateY(4px);
2419
2701
  }
2420
- .autosave-fade-leave-to[data-v-8a0c6ca5] {
2421
- opacity: 0;
2702
+ .autosave-fade-leave-to[data-v-26ac5f8e] {
2703
+ opacity: 0;
2422
2704
  transform: translateY(-4px);
2423
- }
2705
+ }
2706
+
2707
+ .md-assistant-fab[data-v-e3d36e68] {
2708
+ position: fixed;
2709
+ right: 1.25rem;
2710
+ bottom: 1.25rem;
2711
+ /* Above the panels (z-80) and the header (z-100), below dialogs (9998) —
2712
+ a modal dialog must still cover this. */
2713
+ z-index: 120;
2714
+ display: flex;
2715
+ align-items: center;
2716
+ justify-content: center;
2717
+ width: 2.75rem;
2718
+ height: 2.75rem;
2719
+ border-radius: 9999px;
2720
+ border: 1px solid var(--md-border);
2721
+ background: var(--md-button-primary-bg, var(--md-primary));
2722
+ color: var(--md-button-primary-text, var(--md-surface));
2723
+ box-shadow: 0 2px 10px rgb(0 0 0 / 18%);
2724
+ cursor: pointer;
2725
+ transition:
2726
+ transform 0.15s ease,
2727
+ box-shadow 0.15s ease;
2728
+ }
2729
+ .md-assistant-fab[data-v-e3d36e68]:hover {
2730
+ transform: translateY(-1px);
2731
+ box-shadow: 0 4px 14px rgb(0 0 0 / 22%);
2732
+ }
2733
+ .md-assistant-fab[data-v-e3d36e68]:focus-visible {
2734
+ outline: 2px solid var(--md-primary);
2735
+ outline-offset: 2px;
2736
+ }
2737
+ .md-assistant-drawer[data-v-e3d36e68] {
2738
+ position: fixed;
2739
+ top: 4rem; /* clears the header */
2740
+ right: 0;
2741
+ bottom: 0;
2742
+ z-index: 120;
2743
+ width: 22rem;
2744
+ max-width: 100vw;
2745
+ display: flex;
2746
+ flex-direction: column;
2747
+ background: var(--md-surface);
2748
+ border-left: 1px solid var(--md-border);
2749
+ box-shadow: -8px 0 24px rgb(0 0 0 / 10%);
2750
+ }
2751
+ .md-assistant-head[data-v-e3d36e68] {
2752
+ flex-shrink: 0;
2753
+ display: flex;
2754
+ align-items: center;
2755
+ justify-content: space-between;
2756
+ padding: 0.75rem 0.875rem;
2757
+ border-bottom: 1px solid color-mix(in srgb, var(--md-border) 80%, transparent);
2758
+ }
2759
+ .md-assistant-title[data-v-e3d36e68] {
2760
+ font-size: 11px;
2761
+ font-weight: 600;
2762
+ letter-spacing: 0.08em;
2763
+ text-transform: uppercase;
2764
+ color: var(--md-text-subtle);
2765
+ }
2766
+ .md-assistant-close[data-v-e3d36e68] {
2767
+ display: flex;
2768
+ align-items: center;
2769
+ justify-content: center;
2770
+ width: 1.5rem;
2771
+ height: 1.5rem;
2772
+ border-radius: 0.375rem;
2773
+ color: var(--md-text-subtle);
2774
+ background: transparent;
2775
+ border: 0;
2776
+ cursor: pointer;
2777
+ }
2778
+ .md-assistant-close[data-v-e3d36e68]:hover {
2779
+ color: var(--md-text-muted);
2780
+ background: var(--md-surface-muted);
2781
+ }
2782
+
2783
+ /* The only scroll container, matching the side panels' single-overflow rule. */
2784
+ .md-assistant-body[data-v-e3d36e68] {
2785
+ flex: 1 1 auto;
2786
+ overflow-y: auto;
2787
+ padding: 0.75rem;
2788
+ }
2789
+ .md-assistant-body[data-v-e3d36e68]::-webkit-scrollbar {
2790
+ width: 6px;
2791
+ }
2792
+ .md-assistant-body[data-v-e3d36e68]::-webkit-scrollbar-track {
2793
+ background: transparent;
2794
+ }
2795
+ .md-assistant-body[data-v-e3d36e68]::-webkit-scrollbar-thumb {
2796
+ background: var(--md-border-strong);
2797
+ border-radius: 9999px;
2798
+ }
2799
+ .assistant-slide-enter-active[data-v-e3d36e68],
2800
+ .assistant-slide-leave-active[data-v-e3d36e68] {
2801
+ transition:
2802
+ opacity 0.18s ease,
2803
+ transform 0.18s ease;
2804
+ }
2805
+ .assistant-slide-enter-from[data-v-e3d36e68],
2806
+ .assistant-slide-leave-to[data-v-e3d36e68] {
2807
+ opacity: 0;
2808
+ transform: translateX(12px);
2809
+ }
2424
2810
  /*$vite$:1*/