sky-ui-kit 0.1.9 → 0.1.11

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.
@@ -1,3 +1,182 @@
1
+
2
+
3
+ /* 库默认主题放在低优先级层,项目未分层的变量声明始终优先。 */
4
+ @layer userssite-defaults {
5
+
6
+ :where(.userssite-theme, .sky-html, .sky-model-workspace[data-native-controls]) {
7
+ --userssite-color-bg: var(--color-bg, #ffffff);
8
+ --userssite-color-text: var(--color-text, #1f2937);
9
+ --userssite-color-primary: var(--color-primary, #1677ff);
10
+ --userssite-color-on-primary: var(--color-on-primary, #ffffff);
11
+ --userssite-color-border: var(--color-border, #dbe3ef99);
12
+ --userssite-color-hover: var(--color-hover, color-mix(in oklab, var(--userssite-color-primary) 9%, transparent));
13
+ --userssite-color-surface: var(--color-surface, #ffffffd9);
14
+ --userssite-color-surface-strong: var(--color-surface-strong, color-mix(in oklab, var(--userssite-color-surface) 72%, var(--userssite-color-bg)));
15
+ --userssite-color-panel: var(--color-panel, #ffffff);
16
+ --userssite-shadow-color: var(--shadow-color, color-mix(in oklab, var(--userssite-color-text) 10%, transparent));
17
+ --userssite-color-white: var(--color-white, #ffffff);
18
+ --userssite-color-danger: var(--color-danger, #e5484d);
19
+ --userssite-map-empty-bg: var(--map-empty-bg, #d7e2ea);
20
+ --userssite-timeline-observed: var(--timeline-observed, #b8e7ff);
21
+ --userssite-timeline-observed-strong: var(--timeline-observed-strong, #4aa3df);
22
+ --userssite-timeline-forecast: var(--timeline-forecast, #60a5fa);
23
+ --userssite-timeline-forecast-strong: var(--timeline-forecast-strong, #2f8bd6);
24
+ --userssite-timeline-forecast-text: var(--timeline-forecast-text, #2563a7);
25
+ --userssite-color-muted: var(--color-muted, color-mix(in oklab, var(--userssite-color-text) 62%, transparent));
26
+ --userssite-color-subtle: var(--color-subtle, color-mix(in oklab, var(--userssite-color-text) 48%, transparent));
27
+ --userssite-color-soft-border: var(--color-soft-border, color-mix(in oklab, var(--userssite-color-border) 78%, transparent));
28
+ --userssite-color-inset-highlight: var(--color-inset-highlight, color-mix(in oklab, var(--userssite-color-white) 64%, transparent));
29
+ --userssite-surface-glass: var(--surface-glass, color-mix(in oklab, var(--userssite-color-bg) 86%, transparent));
30
+ --userssite-surface-raised: var(--surface-raised, color-mix(in oklab, var(--userssite-color-surface) 86%, transparent));
31
+ --userssite-surface-subtle: var(--surface-subtle, color-mix(in oklab, var(--userssite-color-bg) 92%, var(--userssite-color-primary)));
32
+ --userssite-surface-control: var(--surface-control, color-mix(in oklab, var(--userssite-color-panel) 88%, transparent));
33
+ --userssite-surface-control-hover: var(--surface-control-hover, color-mix(in oklab, var(--userssite-color-primary) 12%, transparent));
34
+ --userssite-surface-control-active: var(--surface-control-active, color-mix(in oklab, var(--userssite-color-primary) 18%, transparent));
35
+ --userssite-focus-ring: var(--focus-ring, color-mix(in oklab, var(--userssite-color-primary) 14%, transparent));
36
+ --userssite-shadow-header: var(--shadow-header, 0 calc(var(--cp-font-1) * 10) calc(var(--cp-font-1) * 28) var(--userssite-shadow-color));
37
+ --userssite-shadow-panel: var(--shadow-panel, 0 calc(var(--cp-font-1) * 8) calc(var(--cp-font-1) * 22) var(--userssite-shadow-color));
38
+ --userssite-shadow-dropdown: var(--shadow-dropdown, 0 calc(var(--cp-font-1) * 18) calc(var(--cp-font-1) * 42) var(--userssite-shadow-color));
39
+ --userssite-app-shell-bg: var(--app-shell-bg, linear-gradient(180deg, color-mix(in oklab, var(--userssite-color-primary) 7%, var(--userssite-surface-subtle)), transparent 34%), var(--userssite-color-bg));
40
+ --userssite-app-header-bg: var(--app-header-bg, var(--userssite-surface-glass));
41
+ --userssite-app-content-bg: var(--app-content-bg, linear-gradient(90deg, color-mix(in oklab, var(--userssite-color-text) 4%, transparent) 0, transparent calc(var(--cp-font-1) * 16)), color-mix(in oklab, var(--userssite-color-bg) 96%, var(--userssite-surface-subtle)));
42
+ --userssite-app-sidebar-bg: var(--app-sidebar-bg, linear-gradient(180deg, color-mix(in oklab, var(--userssite-color-panel) 78%, transparent), color-mix(in oklab, var(--userssite-color-bg) 88%, var(--userssite-color-white))));
43
+ --userssite-app-rightpanel-bg: var(--app-rightpanel-bg, color-mix(in oklab, var(--userssite-color-bg) 94%, var(--userssite-color-white)));
44
+ --userssite-map-title-text: var(--map-title-text, color-mix(in oklab, var(--userssite-color-text) 86%, transparent));
45
+ --userssite-ranking-header-bg: var(--ranking-header-bg, #2f8bd6);
46
+ --userssite-brand-mark-bg: var(--brand-mark-bg, color-mix(in oklab, var(--userssite-color-panel) 86%, transparent));
47
+ --userssite-nav-bg: var(--nav-bg, color-mix(in oklab, var(--userssite-color-bg) 72%, var(--userssite-color-white)));
48
+ --userssite-nav-highlight-bg: var(--nav-highlight-bg, linear-gradient(180deg, var(--userssite-color-panel), color-mix(in oklab, var(--userssite-color-primary) 10%, var(--userssite-color-panel))));
49
+ --userssite-nav-highlight-shadow: var(--nav-highlight-shadow, 0 calc(var(--cp-font-1) * 10) calc(var(--cp-font-1) * 24) color-mix(in oklab, var(--userssite-color-primary) 18%, transparent), inset 0 calc(var(--cp-font-1) * 1) 0 color-mix(in oklab, var(--userssite-color-panel) 92%, transparent));
50
+ --userssite-dropdown-bg: var(--dropdown-bg, color-mix(in oklab, var(--userssite-color-bg) 94%, var(--userssite-color-white)));
51
+ --userssite-input-bg: var(--input-bg, color-mix(in oklab, var(--userssite-color-bg) 88%, var(--userssite-color-white)));
52
+ --userssite-input-placeholder: var(--input-placeholder, var(--userssite-color-subtle));
53
+ --userssite-scrollbar-track: var(--scrollbar-track, transparent);
54
+ --userssite-scrollbar-thumb: var(--scrollbar-thumb, color-mix(in oklab, var(--userssite-color-primary) 34%, var(--userssite-color-border)));
55
+ --userssite-scrollbar-thumb-hover: var(--scrollbar-thumb-hover, color-mix(in oklab, var(--userssite-color-primary) 52%, var(--userssite-color-border)));
56
+ --userssite-tree-trigger-bg: var(--tree-trigger-bg, color-mix(in oklab, var(--userssite-color-panel) 96%, var(--userssite-color-primary) 4%));
57
+ --userssite-tree-trigger-hover-bg: var(--tree-trigger-hover-bg, var(--userssite-color-panel));
58
+ --userssite-tree-type-bg: var(--tree-type-bg, linear-gradient(180deg, color-mix(in oklab, var(--userssite-color-primary) 18%, var(--userssite-color-panel)), color-mix(in oklab, var(--userssite-color-primary) 10%, var(--userssite-color-panel))));
59
+ --userssite-tree-panel-bg: var(--tree-panel-bg, color-mix(in oklab, var(--userssite-color-bg) 96%, transparent));
60
+ --userssite-tree-tabs-bg: var(--tree-tabs-bg, color-mix(in oklab, var(--userssite-color-hover) 58%, transparent));
61
+ --userssite-map-menu-parent-bg: var(--map-menu-parent-bg, #00000080);
62
+ --userssite-map-menu-parent-active: var(--map-menu-parent-active, #f6a313);
63
+ --userssite-map-menu-child-bg: var(--map-menu-child-bg, color-mix(in oklab, #ffffff 86%, #d7f6ff));
64
+ --userssite-map-menu-child-border: var(--map-menu-child-border, #26b6ef);
65
+ --userssite-map-menu-child-text: var(--map-menu-child-text, #148cc8);
66
+ --userssite-map-menu-child-active: var(--map-menu-child-active, #2d9cf0);
67
+ --userssite-right-panel-header-bg: var(--right-panel-header-bg, #2f8bd6);
68
+ --userssite-right-panel-header-text: var(--right-panel-header-text, #ffffff);
69
+ --userssite-map-float-bg: var(--map-float-bg, color-mix(in oklab, var(--userssite-color-panel) 96%, var(--userssite-color-bg)));
70
+ --userssite-map-float-border: var(--map-float-border, color-mix(in oklab, var(--userssite-color-border) 82%, transparent));
71
+ --userssite-map-float-control-bg: var(--map-float-control-bg, color-mix(in oklab, var(--userssite-color-panel) 94%, var(--userssite-color-bg)));
72
+ --userssite-map-float-control-hover-bg: var(--map-float-control-hover-bg, color-mix(in oklab, var(--userssite-color-primary) 12%, var(--userssite-color-panel)));
73
+ --userssite-map-float-shadow: var(--map-float-shadow, 0 calc(var(--cp-font-1) * 12) calc(var(--cp-font-1) * 28) var(--userssite-shadow-color));
74
+ --userssite-header-height: var(--header-height, calc(var(--cp-font-1) * 58));
75
+ --userssite-sidebar-width: var(--sidebar-width, calc(var(--cp-font-1) * 244));
76
+ --userssite-rightpanel-width: var(--rightpanel-width, calc(var(--cp-font-1) * 320));
77
+ --userssite-layout-gutter: var(--layout-gutter, calc(var(--cp-font-1) * 10));
78
+ --userssite-font-family-sans: var(--font-family-sans, "HarmonyOS Sans SC", "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", "PingFang SC", Arial, sans-serif);
79
+ --userssite-font-size-micro: var(--font-size-micro, var(--cp-font-10));
80
+ --userssite-font-size-caption: var(--font-size-caption, var(--cp-font-13));
81
+ --userssite-font-size-body: var(--font-size-body, var(--cp-font-14));
82
+ --userssite-font-size-title: var(--font-size-title, var(--cp-font-16));
83
+ --userssite-font-size-heading: var(--font-size-heading, var(--cp-font-18));
84
+ --userssite-radius-s: var(--radius-s, var(--cp-font-4));
85
+ --userssite-radius-m: var(--radius-m, var(--cp-font-8));
86
+ --userssite-radius-l: var(--radius-l, var(--cp-font-12));
87
+ --userssite-radius-pill: var(--radius-pill, calc(var(--cp-font-1) * 999));
88
+ --userssite-space-s: var(--space-s, var(--cp-font-6));
89
+ --userssite-space-m: var(--space-m, var(--cp-font-10));
90
+ --userssite-space-l: var(--space-l, var(--cp-font-16));
91
+ --userssite-control-height-s: var(--control-height-s, var(--cp-font-28));
92
+ --userssite-control-height-m: var(--control-height-m, var(--cp-font-32));
93
+ --userssite-control-height-l: var(--control-height-l, var(--cp-font-36));
94
+ --userssite-font-size-l1: var(--font-size-l1, var(--cp-font-16));
95
+ --userssite-font-size-l2: var(--font-size-l2, var(--cp-font-14));
96
+ --userssite-font-size-l3: var(--font-size-l3, var(--cp-font-13));
97
+ --userssite-menu-level-1-color: var(--menu-level-1-color, var(--userssite-color-text));
98
+ --userssite-menu-level-2-color: var(--menu-level-2-color, color-mix(in oklab, var(--userssite-color-text) 82%, transparent));
99
+ --userssite-menu-level-3-color: var(--menu-level-3-color, color-mix(in oklab, var(--userssite-color-text) 68%, transparent));
100
+ --userssite-button-primary-bg: var(--button-primary-bg, var(--userssite-color-primary));
101
+ --userssite-button-primary-text: var(--button-primary-text, var(--userssite-color-on-primary));
102
+ --userssite-button-secondary-bg: var(--button-secondary-bg, var(--userssite-surface-control));
103
+ --userssite-button-secondary-text: var(--button-secondary-text, var(--userssite-color-text));
104
+ --userssite-button-ghost-bg: var(--button-ghost-bg, transparent);
105
+ --userssite-button-ghost-text: var(--button-ghost-text, var(--userssite-color-primary));
106
+ --userssite-button-danger-bg: var(--button-danger-bg, var(--userssite-color-danger));
107
+ --userssite-button-danger-text: var(--button-danger-text, var(--userssite-color-white));
108
+ --userssite-motion-fast: var(--motion-fast, 160ms);
109
+ --userssite-motion-base: var(--motion-base, 240ms);
110
+ --userssite-motion-ease: var(--motion-ease, cubic-bezier(0.2, 0.8, 0.2, 1));
111
+ --el-color-primary: var(--userssite-color-primary);
112
+ --el-bg-color: var(--userssite-color-bg);
113
+ --el-bg-color-overlay: var(--userssite-color-panel);
114
+ --el-fill-color-blank: var(--userssite-color-panel);
115
+ --el-text-color-primary: var(--userssite-color-text);
116
+ --el-text-color-regular: var(--userssite-color-muted);
117
+ --el-border-color: var(--userssite-color-border);
118
+ --el-border-radius-base: var(--userssite-radius-s);
119
+ --el-component-size: var(--userssite-control-height-m);
120
+ --el-font-size-base: var(--userssite-font-size-body);
121
+ }
122
+
123
+ :where(.theme-dark .userssite-theme, .userssite-theme.theme-dark, .sky-html[data-theme="dark"], .sky-model-workspace[data-native-controls][data-theme="dark"]) {
124
+ --userssite-color-bg: var(--color-bg, #08111f);
125
+ --userssite-color-text: var(--color-text, #e6edf7);
126
+ --userssite-color-primary: var(--color-primary, #4da3ff);
127
+ --userssite-color-on-primary: var(--color-on-primary, #ffffff);
128
+ --userssite-color-border: var(--color-border, #39506f99);
129
+ --userssite-color-hover: var(--color-hover, color-mix(in oklab, var(--userssite-color-primary) 18%, transparent));
130
+ --userssite-color-surface: var(--color-surface, #101b2dee);
131
+ --userssite-color-surface-strong: var(--color-surface-strong, color-mix(in oklab, var(--userssite-color-surface) 70%, var(--userssite-color-bg)));
132
+ --userssite-color-panel: var(--color-panel, #0c1525);
133
+ --userssite-shadow-color: var(--shadow-color, color-mix(in oklab, #020617 62%, transparent));
134
+ --userssite-color-inset-highlight: var(--color-inset-highlight, color-mix(in oklab, var(--userssite-color-white) 12%, transparent));
135
+ --userssite-surface-subtle: var(--surface-subtle, color-mix(in oklab, var(--userssite-color-surface-strong) 76%, var(--userssite-color-bg)));
136
+ --userssite-surface-glass: var(--surface-glass, color-mix(in oklab, var(--userssite-color-surface-strong) 84%, transparent));
137
+ --userssite-surface-control: var(--surface-control, color-mix(in oklab, var(--userssite-color-surface-strong) 84%, transparent));
138
+ --userssite-surface-control-hover: var(--surface-control-hover, color-mix(in oklab, var(--userssite-color-primary) 18%, transparent));
139
+ --userssite-surface-control-active: var(--surface-control-active, color-mix(in oklab, var(--userssite-color-primary) 26%, transparent));
140
+ --userssite-focus-ring: var(--focus-ring, color-mix(in oklab, var(--userssite-color-primary) 20%, transparent));
141
+ --userssite-shadow-header: var(--shadow-header, 0 calc(var(--cp-font-1) * 12) calc(var(--cp-font-1) * 30) var(--userssite-shadow-color), inset 0 calc(var(--cp-font-1) * 1) 0 var(--userssite-color-inset-highlight));
142
+ --userssite-shadow-panel: var(--shadow-panel, 0 calc(var(--cp-font-1) * 10) calc(var(--cp-font-1) * 24) var(--userssite-shadow-color));
143
+ --userssite-shadow-dropdown: var(--shadow-dropdown, 0 calc(var(--cp-font-1) * 18) calc(var(--cp-font-1) * 42) var(--userssite-shadow-color));
144
+ --userssite-app-shell-bg: var(--app-shell-bg, radial-gradient(circle at 18% 0, color-mix(in oklab, var(--userssite-color-primary) 18%, transparent), transparent 30%), linear-gradient(180deg, color-mix(in oklab, var(--userssite-color-primary) 8%, var(--userssite-color-bg)) 0, var(--userssite-color-bg) 42%));
145
+ --userssite-app-header-bg: var(--app-header-bg, linear-gradient(180deg, color-mix(in oklab, var(--userssite-color-surface-strong) 86%, transparent), color-mix(in oklab, var(--userssite-color-surface) 86%, transparent)));
146
+ --userssite-app-content-bg: var(--app-content-bg, linear-gradient(90deg, color-mix(in oklab, var(--userssite-shadow-color) 58%, transparent) 0, transparent calc(var(--cp-font-1) * 18)), radial-gradient(circle at 64% 0, color-mix(in oklab, var(--userssite-color-primary) 12%, transparent), transparent 34%), var(--userssite-color-bg));
147
+ --userssite-app-sidebar-bg: var(--app-sidebar-bg, linear-gradient(180deg, color-mix(in oklab, var(--userssite-color-surface) 92%, transparent), color-mix(in oklab, var(--userssite-color-bg) 92%, transparent)));
148
+ --userssite-app-rightpanel-bg: var(--app-rightpanel-bg, linear-gradient(180deg, color-mix(in oklab, var(--userssite-color-surface) 92%, transparent), color-mix(in oklab, var(--userssite-color-bg) 92%, transparent)));
149
+ --userssite-map-title-text: var(--map-title-text, #1f2937);
150
+ --userssite-ranking-header-bg: var(--ranking-header-bg, transparent);
151
+ --userssite-brand-mark-bg: var(--brand-mark-bg, color-mix(in oklab, var(--userssite-color-white) 92%, var(--userssite-color-primary)));
152
+ --userssite-nav-bg: var(--nav-bg, color-mix(in oklab, var(--userssite-color-panel) 76%, transparent));
153
+ --userssite-nav-highlight-bg: var(--nav-highlight-bg, linear-gradient(180deg, color-mix(in oklab, var(--userssite-color-primary) 36%, var(--userssite-color-inset-highlight)), color-mix(in oklab, var(--userssite-color-primary) 18%, var(--userssite-color-bg))));
154
+ --userssite-nav-highlight-shadow: var(--nav-highlight-shadow, 0 calc(var(--cp-font-1) * 8) calc(var(--cp-font-1) * 24) color-mix(in oklab, var(--userssite-color-primary) 26%, transparent), inset 0 calc(var(--cp-font-1) * 1) 0 var(--userssite-color-inset-highlight));
155
+ --userssite-dropdown-bg: var(--dropdown-bg, color-mix(in oklab, var(--userssite-color-surface) 94%, transparent));
156
+ --userssite-input-bg: var(--input-bg, color-mix(in oklab, var(--userssite-color-surface-strong) 88%, transparent));
157
+ --userssite-input-placeholder: var(--input-placeholder, color-mix(in oklab, var(--userssite-color-text) 44%, transparent));
158
+ --userssite-scrollbar-thumb: var(--scrollbar-thumb, color-mix(in oklab, var(--userssite-color-primary) 46%, var(--userssite-color-border)));
159
+ --userssite-scrollbar-thumb-hover: var(--scrollbar-thumb-hover, color-mix(in oklab, var(--userssite-color-primary) 64%, var(--userssite-color-border)));
160
+ --userssite-tree-trigger-bg: var(--tree-trigger-bg, linear-gradient(180deg, color-mix(in oklab, var(--userssite-color-surface-strong) 84%, var(--userssite-color-primary) 16%), var(--userssite-color-panel)));
161
+ --userssite-tree-trigger-hover-bg: var(--tree-trigger-hover-bg, linear-gradient(180deg, color-mix(in oklab, var(--userssite-color-surface-strong) 80%, var(--userssite-color-primary) 20%), color-mix(in oklab, var(--userssite-color-panel) 82%, var(--userssite-color-primary) 18%)));
162
+ --userssite-tree-type-bg: var(--tree-type-bg, linear-gradient(180deg, color-mix(in oklab, var(--userssite-color-primary) 28%, var(--userssite-color-inset-highlight)), color-mix(in oklab, var(--userssite-color-primary) 12%, transparent)));
163
+ --userssite-tree-panel-bg: var(--tree-panel-bg, color-mix(in oklab, var(--userssite-color-panel) 94%, transparent));
164
+ --userssite-tree-tabs-bg: var(--tree-tabs-bg, color-mix(in oklab, var(--userssite-color-surface-strong) 78%, transparent));
165
+ --userssite-map-float-bg: var(--map-float-bg, linear-gradient(180deg, color-mix(in oklab, var(--userssite-color-surface) 82%, var(--userssite-color-panel)), color-mix(in oklab, var(--userssite-color-panel) 88%, #020617)));
166
+ --userssite-map-float-border: var(--map-float-border, color-mix(in oklab, var(--userssite-color-primary) 24%, var(--userssite-color-border)));
167
+ --userssite-map-float-control-bg: var(--map-float-control-bg, color-mix(in oklab, var(--userssite-color-panel) 86%, #020617));
168
+ --userssite-map-float-control-hover-bg: var(--map-float-control-hover-bg, color-mix(in oklab, var(--userssite-color-primary) 18%, var(--userssite-color-panel)));
169
+ --userssite-map-float-shadow: var(--map-float-shadow, 0 calc(var(--cp-font-1) * 14) calc(var(--cp-font-1) * 30) color-mix(in oklab, #020617 64%, transparent));
170
+ --userssite-menu-level-1-color: var(--menu-level-1-color, #e6edf7);
171
+ --userssite-menu-level-2-color: var(--menu-level-2-color, #c8d4e4);
172
+ --userssite-menu-level-3-color: var(--menu-level-3-color, #aebed2);
173
+ --userssite-right-panel-header-bg: var(--right-panel-header-bg, transparent);
174
+ --userssite-right-panel-header-text: var(--right-panel-header-text, #e6edf7);
175
+ }
176
+
177
+
178
+ }
179
+
1
180
  /* 四个模型工作区的共同主题,仅在显式容器内生效。 */
2
181
  .sky-model-workspace {
3
182
  --color-bg: #f3f7fb; --color-panel: #fff; --color-surface: #f7f9fc;
@@ -26,22 +205,80 @@
26
205
  --shadow-panel: 0 8px 28px #00000030; --scrollbar-thumb: #425a72; color-scheme: dark;
27
206
  }
28
207
  .sky-model-workspace *, .sky-model-workspace *::before, .sky-model-workspace *::after { box-sizing: border-box; }
208
+
209
+ /* HTML 与 Vue 控件直接消费同一 userssite 主题,不再维护另一套控件色值。 */
210
+ .sky-html { color:var(--userssite-color-text); background:var(--userssite-color-bg); font-family:var(--userssite-font-family-sans); font-size:var(--font-size-body,14px); line-height:1.5; }
211
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) { --cp-font-1:calc(var(--cp-vfit-scale,1) * 1px); }
212
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) { --cp-font-4:calc(var(--cp-vfit-scale,1) * 4px); }
213
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) { --cp-font-8:calc(var(--cp-vfit-scale,1) * 8px); }
214
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) { --cp-font-12:calc(var(--cp-vfit-scale,1) * 12px); }
215
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) { --cp-font-14:calc(var(--cp-vfit-scale,1) * 14px); }
216
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) { --cp-font-28:calc(var(--cp-vfit-scale,1) * 28px); }
217
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) { --cp-font-32:calc(var(--cp-vfit-scale,1) * 32px); }
218
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) { --cp-font-36:calc(var(--cp-vfit-scale,1) * 36px); }
219
+
29
220
  .sky-model-workspace__content { padding: var(--workspace-padding, 20px); min-width: 0; }
30
- .sky-model-header { padding: 24px 28px; background: var(--workspace-hero); border-bottom: 1px solid var(--color-border); display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
31
- .sky-model-header__title { margin: 0; display: flex; align-items: center; gap: 12px; color: var(--workspace-title); font-size: 22px; font-weight: 650; }
32
- .sky-model-header__title::before { content: ''; width: 7px; height: 25px; border-radius: 4px; background: var(--color-primary); flex-shrink: 0; }
33
- .sky-model-header__description { margin: 8px 0 0; color: var(--color-muted); }
34
- .sky-model-panel { min-width: 0; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-panel); box-shadow: var(--shadow-panel); overflow: hidden; }
221
+ .sky-model-header { padding: 24px 28px; background: var(--workspace-hero, var(--userssite-color-panel)); border-bottom: 1px solid var(--color-border, var(--userssite-color-border)); display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
222
+ .sky-model-header__title { margin: 0; display: flex; align-items: center; gap: 12px; color: var(--workspace-title, var(--userssite-color-text)); font-size: 22px; font-weight: 650; }
223
+ .sky-model-header__title::before { content: ''; width: 7px; height: 25px; border-radius: 4px; background: var(--color-primary, var(--userssite-color-primary)); flex-shrink: 0; }
224
+ .sky-model-header__description { margin: 8px 0 0; color: var(--color-muted, var(--userssite-color-muted)); }
225
+ .sky-model-panel { min-width: 0; border: 1px solid var(--color-border, var(--userssite-color-border)); border-radius: 8px; background: var(--color-panel, var(--userssite-color-panel)); box-shadow: var(--shadow-panel, var(--userssite-shadow-panel)); overflow: hidden; }
35
226
  .sky-model-panel__header, .sky-model-panel__footer { padding: var(--panel-header-padding, calc(var(--cp-font-1, 1px) * 12) calc(var(--cp-font-1, 1px) * 16)); display: flex; align-items: center; justify-content: space-between; gap: var(--panel-gap, calc(var(--cp-font-1, 1px) * 12)); flex-wrap: wrap; }
36
- .sky-model-panel__header { border-bottom: 1px solid var(--color-border); }
37
- .sky-model-panel__header h2 { margin: 0; font-size: 15px; color: var(--workspace-title); }
227
+ .sky-model-panel__header { border-bottom: 1px solid var(--color-border, var(--userssite-color-border)); }
228
+ .sky-model-panel__header h2 { margin: 0; font-size: 15px; color: var(--workspace-title, var(--userssite-color-text)); }
38
229
  .sky-model-panel__body { padding: var(--panel-body-padding, calc(var(--cp-font-1, 1px) * 16)); min-width: 0; }
39
- .sky-model-panel__footer { padding: var(--panel-footer-padding, calc(var(--cp-font-1, 1px) * 12) calc(var(--cp-font-1, 1px) * 16)); border-top: 1px solid var(--color-border); }
40
- /* 原生表单适配必须显式开启,不覆盖容器外的 Element Plus。 */
41
- .sky-model-workspace[data-native-controls] :where(button:not([class*="el-"]), input:not([class*="el-"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]), select:not([class*="el-"]), textarea:not([class*="el-"])) { font: inherit; color: var(--color-text); background: var(--color-panel); border: 1px solid var(--color-border); border-radius: 6px; padding: 7px 12px; }
42
- .sky-model-workspace[data-native-controls] :where(button:not([class*="el-"])) { cursor: pointer; }
43
- .sky-model-workspace[data-native-controls] :where(button.primary, button.accent) { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-on-primary); }
44
- .sky-model-workspace[data-native-controls] :where(button:not([class*="el-"]):hover:not(:disabled)) { border-color: var(--color-primary); }
45
- .sky-model-workspace[data-native-controls] :where(button:disabled, input:disabled, select:disabled, textarea:disabled) { opacity: .55; cursor: not-allowed; }
46
- .sky-model-workspace[data-native-controls] :where(button, input, select, textarea):focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
230
+ .sky-model-panel__footer { padding: var(--panel-footer-padding, calc(var(--cp-font-1, 1px) * 12) calc(var(--cp-font-1, 1px) * 16)); border-top: 1px solid var(--color-border, var(--userssite-color-border)); }
47
231
  @media(max-width:768px) { .sky-model-header { padding: 18px 16px; } .sky-model-workspace__content { padding: 12px; } }
232
+
233
+ /* 原生按钮,显式 opt-in;不提供业务交互。保留旧工作区入口。 */
234
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(button, input[type="button"], input[type="submit"], input[type="reset"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)) { box-sizing: border-box; font-family:var(--userssite-font-family-sans); font-size:var(--userssite-font-size-body); line-height:1; color: var(--userssite-color-text); background: var(--userssite-color-panel); border: 1px solid var(--userssite-color-border); border-radius: var(--userssite-radius-s); height:var(--userssite-control-height-m); padding:8px 15px; font-weight:500; cursor: pointer; }
235
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(button, input[type="button"], input[type="submit"], input[type="reset"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):where(.primary, .accent, [data-variant="primary"]) { background: var(--userssite-color-primary); border-color: var(--userssite-color-primary); color: var(--userssite-color-on-primary); }
236
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(button, input[type="button"], input[type="submit"], input[type="reset"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *))[data-variant="danger"] { background: var(--userssite-color-danger); color: var(--userssite-color-white); border-color: var(--userssite-color-danger); }
237
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(button, input[type="button"], input[type="submit"], input[type="reset"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):hover:not(:disabled) { color:var(--userssite-color-primary); background:color-mix(in oklab,var(--userssite-color-primary) 10%,var(--userssite-color-panel)); border-color:color-mix(in oklab,var(--userssite-color-primary) 30%,var(--userssite-color-panel)); }
238
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(button, input[type="button"], input[type="submit"], input[type="reset"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):active:not(:disabled) { filter: brightness(.94); }
239
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(button, input[type="button"], input[type="submit"], input[type="reset"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):disabled { color:var(--userssite-color-subtle); background:var(--userssite-surface-subtle); border-color:var(--userssite-color-soft-border); cursor:not-allowed; }
240
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(button, input[type="button"], input[type="submit"], input[type="reset"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):focus-visible { outline: 2px solid var(--userssite-color-primary); outline-offset: 2px; }
241
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(button, input[type="button"], input[type="submit"], input[type="reset"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):where([data-variant="primary"],.primary,.accent):hover:not(:disabled) { background:color-mix(in oklab,var(--userssite-color-primary) 70%,var(--userssite-color-panel)); border-color:color-mix(in oklab,var(--userssite-color-primary) 70%,var(--userssite-color-panel)); color:var(--userssite-color-on-primary); }
242
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(button, input[type="button"], input[type="submit"], input[type="reset"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):where([data-variant="primary"],.primary,.accent):disabled { background:color-mix(in oklab,var(--userssite-color-primary) 50%,var(--userssite-color-panel)); border-color:color-mix(in oklab,var(--userssite-color-primary) 50%,var(--userssite-color-panel)); color:var(--userssite-color-white); }
243
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(button, input[type="button"], input[type="submit"], input[type="reset"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *))[data-variant="danger"]:hover:not(:disabled) { background:color-mix(in oklab,var(--userssite-color-danger) 70%,var(--userssite-color-panel)); border-color:color-mix(in oklab,var(--userssite-color-danger) 70%,var(--userssite-color-panel)); color:var(--userssite-color-white); }
244
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(button, input[type="button"], input[type="submit"], input[type="reset"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *))[data-variant="danger"]:disabled { background:color-mix(in oklab,var(--userssite-color-danger) 50%,var(--userssite-color-panel)); border-color:color-mix(in oklab,var(--userssite-color-danger) 50%,var(--userssite-color-panel)); color:var(--userssite-color-white); }
245
+
246
+ /* 文本输入、select、textarea;复选框、单选、滑块、文件沿用浏览器。 */
247
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="image"]), select, textarea):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)) { box-sizing: border-box; max-width: 100%; font-family:var(--userssite-font-family-sans); font-size:var(--userssite-font-size-body); line-height:1; color: var(--userssite-color-text); background: var(--userssite-input-bg); border: 1px solid var(--userssite-color-border); border-radius: var(--userssite-radius-s); height:var(--userssite-control-height-m); padding:1px 11px; }
248
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="image"]), select, textarea):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *))::placeholder { color: var(--userssite-input-placeholder); opacity: 1; }
249
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="image"]), select, textarea):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):hover:not(:disabled):not([readonly]):not(:where([aria-invalid="true"], :user-invalid)) { border-color: var(--userssite-color-primary); }
250
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="image"]), select, textarea):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):focus { outline: none; outline-offset: 0; box-shadow: none; border-color: var(--userssite-color-primary); }
251
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="image"]), select, textarea):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):disabled { color:var(--userssite-color-subtle); background:var(--userssite-surface-subtle); border-color:var(--userssite-color-soft-border); cursor:not-allowed; }
252
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="image"]), select, textarea):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *))[readonly] { background: var(--userssite-color-surface); }
253
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="image"]), select, textarea):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):is([aria-invalid="true"], :user-invalid) { border-color: var(--userssite-color-danger); }
254
+ :where(.sky-html, .sky-model-workspace[data-native-controls]) :where(input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="image"]), select, textarea):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):where(textarea) { height:auto; min-height:var(--userssite-control-height-m); padding:5px 11px; line-height:1.5; }
255
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) :where(input[type="checkbox"],input[type="radio"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)) { appearance:none; box-sizing:border-box; display:inline-grid; place-content:center; vertical-align:middle; width:14px; height:14px; margin:0 6px 0 0; border:1px solid var(--userssite-color-border); border-radius:2px; background:var(--userssite-input-bg); cursor:pointer; }
256
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) :where(input[type="checkbox"],input[type="radio"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):checked { background:var(--userssite-color-primary); border-color:var(--userssite-color-primary); }
257
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) :where(input[type="checkbox"],input[type="radio"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *))::after { content:''; width:3px; height:7px; border:solid var(--userssite-color-on-primary); border-width:0 1px 1px 0; transform:rotate(45deg) scale(0); }
258
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) :where(input[type="checkbox"],input[type="radio"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):checked::after { transform:rotate(45deg) scale(1); }
259
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) :where(input[type="checkbox"],input[type="radio"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *))[type="radio"] { border-radius:50%; }
260
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) :where(input[type="checkbox"],input[type="radio"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *))[type="radio"]::after { width:4px; height:4px; border:0; border-radius:50%; background:var(--userssite-color-on-primary); }
261
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) :where(input[type="checkbox"],input[type="radio"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):disabled { cursor:not-allowed; opacity:.5; }
262
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) :where(input[type="checkbox"],input[type="radio"]):not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):focus-visible { outline:2px solid var(--userssite-color-primary); outline-offset:2px; }
263
+
264
+ :where(.sky-html) [data-sky-error]:not([data-sky-native="off"]):not([data-sky-native="off"] *) { color:var(--userssite-color-danger); font-size:12px; line-height:1; }
265
+
266
+ /* 多选列表使用原生 size 行数,不继承单行输入高度。 */
267
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) select:not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):where([multiple], [size]:not([size="1"]):not([size="0"])) { appearance:none; box-sizing:border-box; width:var(--sky-select-list-width, 220px); max-width:100%; height:auto; min-height:calc(var(--userssite-control-height-m) * 3 + 12px); padding:6px; line-height:1.5; vertical-align:top; overflow:auto; background:var(--userssite-input-bg); scrollbar-width:thin; scrollbar-color:var(--userssite-scrollbar-thumb) transparent; }
268
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) select:not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):where([multiple], [size]:not([size="1"]):not([size="0"])) option { box-sizing:border-box; min-height:var(--userssite-control-height-m); padding:7px 10px; margin:2px 0; border-radius:var(--userssite-radius-s); color:var(--userssite-color-text); cursor:pointer; }
269
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) input[type="file"]:not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)) { max-width:100%; font-family:var(--userssite-font-family-sans); font-size:var(--userssite-font-size-body); color:var(--userssite-color-text); line-height:1.5; }
270
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) input[type="file"]:not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *))::file-selector-button { box-sizing:border-box; height:var(--userssite-control-height-m); margin-inline-end:10px; padding:8px 15px; font:inherit; font-weight:500; line-height:1; border:1px solid var(--userssite-color-border); border-radius:var(--userssite-radius-s); background:var(--userssite-color-panel); color:var(--userssite-color-text); cursor:pointer; }
271
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) input[type="file"]:not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):hover:not(:disabled)::file-selector-button { color:var(--userssite-color-primary); border-color:var(--userssite-color-primary); background:var(--userssite-surface-control-hover); }
272
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) input[type="file"]:not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):disabled { color:var(--userssite-color-subtle); cursor:not-allowed; }
273
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) input[type="file"]:not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):disabled::file-selector-button { color:var(--userssite-color-subtle); border-color:var(--userssite-color-soft-border); background:var(--userssite-surface-subtle); cursor:not-allowed; }
274
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) input[type="file"]:not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):focus-visible { outline:2px solid var(--userssite-color-primary); outline-offset:2px; border-radius:var(--userssite-radius-s); }
275
+
276
+ /* 保留原生多选语义,仅统一列表表面;不触碰单选系统弹层。 */
277
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) select:not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):where([multiple], [size]:not([size="1"]):not([size="0"])):not(:disabled) option:hover:not(:disabled):not(:checked) { background:var(--userssite-surface-control-hover); }
278
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) select:not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):where([multiple], [size]:not([size="1"]):not([size="0"])) option:checked { color:var(--userssite-color-primary); background:linear-gradient(var(--userssite-surface-control-active),var(--userssite-surface-control-active)); font-weight:600; }
279
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) select:not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):where([multiple], [size]:not([size="1"]):not([size="0"])) option:disabled { color:var(--userssite-color-subtle); cursor:not-allowed; }
280
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) select:not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):where([multiple], [size]:not([size="1"]):not([size="0"])):disabled { color:var(--userssite-color-subtle); background:var(--userssite-surface-subtle); cursor:not-allowed; }
281
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) select:not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):where([multiple], [size]:not([size="1"]):not([size="0"])):disabled option { color:var(--userssite-color-subtle); cursor:not-allowed; }
282
+ @media (forced-colors: active) {
283
+ :where(.sky-html,.sky-model-workspace[data-native-controls]) select:not(:where([data-sky-native="off"], [data-sky-native="off"] *, [class^="el-"], [class^="el-"] *, [class*=" el-"], [class*=" el-"] *, .maplibregl-map *, .mapboxgl-map *)):where([multiple], [size]:not([size="1"]):not([size="0"])) option:checked { background:Highlight; color:HighlightText; }
284
+ }