smart-admin-web 10.14.0 → 10.20.0
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.
- package/README.md +6 -6
- package/dist/api/index.d.ts +41 -2
- package/dist/api/index.js +36 -15
- package/dist/api/index.js.map +1 -1
- package/dist/api/schema.d.ts +418 -6
- package/dist/assets/icons/ph-subset.json.js +7 -7
- package/dist/assets/smart-logo.svg.js +5 -0
- package/dist/assets/smart-logo.svg.js.map +1 -0
- package/dist/components/AppIcon.vue.js +9 -9
- package/dist/components/AppIcon.vue.js.map +1 -1
- package/dist/components/AppWatermark.vue.d.ts +14 -0
- package/dist/components/AppWatermark.vue.js +38 -0
- package/dist/components/AppWatermark.vue.js.map +1 -0
- package/dist/components/AppWatermark2.vue.js +5 -0
- package/dist/components/AppWatermark2.vue.js.map +1 -0
- package/dist/components/Chart/PieChart.vue.d.ts +1 -1
- package/dist/components/Chart/echarts.js +15 -20
- package/dist/components/Chart/echarts.js.map +1 -1
- package/dist/components/CronEditor/index.vue.js +1 -1
- package/dist/components/CronEditor/index2.vue.js +2 -1
- package/dist/components/CronEditor/index2.vue.js.map +1 -1
- package/dist/components/DetailPage/index.vue.js +2 -2
- package/dist/components/DetailPage/index2.vue.js.map +1 -1
- package/dist/components/DictTag/index.vue.js.map +1 -1
- package/dist/components/ErrorBoundary/index.vue.js +2 -2
- package/dist/components/ErrorBoundary/index2.vue.js +1 -1
- package/dist/components/ErrorBoundary/index2.vue.js.map +1 -1
- package/dist/components/FormContainer/index.vue.js +91 -56
- package/dist/components/FormContainer/index.vue.js.map +1 -1
- package/dist/components/ImportWizard/index.vue.js +1 -1
- package/dist/components/ImportWizard/index2.vue.js +44 -41
- package/dist/components/ImportWizard/index2.vue.js.map +1 -1
- package/dist/components/MenuSearch.vue.js +2 -2
- package/dist/components/MenuSearch2.vue.js +19 -18
- package/dist/components/MenuSearch2.vue.js.map +1 -1
- package/dist/components/PasswordStrength/index.vue.js +2 -2
- package/dist/components/PasswordStrength/index2.vue.js +20 -18
- package/dist/components/PasswordStrength/index2.vue.js.map +1 -1
- package/dist/components/SmartLogo.vue.d.ts +3 -0
- package/dist/components/SmartLogo.vue.js +1 -1
- package/dist/components/SmartLogo2.vue.js +22 -64
- package/dist/components/SmartLogo2.vue.js.map +1 -1
- package/dist/{views/system/config/components/GroupExtraConfig.vue.d.ts → components/TableTotal/index.vue.d.ts} +1 -4
- package/dist/components/{SelectTable → TableTotal}/index.vue.js +1 -1
- package/dist/components/TableTotal/index2.vue.js +16 -0
- package/dist/components/TableTotal/index2.vue.js.map +1 -0
- package/dist/components/TableZoomButton/index.vue.js.map +1 -1
- package/dist/components/UserPicker/index.vue.js +2 -2
- package/dist/components/UserPicker/index2.vue.js +176 -117
- package/dist/components/UserPicker/index2.vue.js.map +1 -1
- package/dist/composables/useBatchDelete.js.map +1 -1
- package/dist/composables/useLayoutMenu.js +17 -16
- package/dist/composables/useLayoutMenu.js.map +1 -1
- package/dist/composables/useLoginHero.d.ts +2 -0
- package/dist/composables/useLoginHero.js +22 -0
- package/dist/composables/useLoginHero.js.map +1 -0
- package/dist/composables/useModule.js +39 -29
- package/dist/composables/useModule.js.map +1 -1
- package/dist/composables/usePageTitle.js +16 -14
- package/dist/composables/usePageTitle.js.map +1 -1
- package/dist/composables/useShellBreakpoint.d.ts +19 -0
- package/dist/composables/useShellBreakpoint.js +37 -0
- package/dist/composables/useShellBreakpoint.js.map +1 -0
- package/dist/composables/useSite.d.ts +20 -0
- package/dist/composables/useSite.js +18 -13
- package/dist/composables/useSite.js.map +1 -1
- package/dist/composables/useTabTitle.js.map +1 -1
- package/dist/composables/useTableTitle.d.ts +6 -0
- package/dist/composables/useTableTitle.js +11 -0
- package/dist/composables/useTableTitle.js.map +1 -0
- package/dist/composables/useTableZoom.d.ts +5 -0
- package/dist/composables/useTableZoom.js.map +1 -1
- package/dist/composables/useTheme.d.ts +2 -2
- package/dist/composables/useTheme.js +23 -20
- package/dist/composables/useTheme.js.map +1 -1
- package/dist/createSmartAdmin.d.ts +12 -2
- package/dist/createSmartAdmin.js +72 -60
- package/dist/createSmartAdmin.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.js +223 -208
- package/dist/index.js.map +1 -1
- package/dist/layouts/AccentPicker.vue.js +8 -0
- package/dist/layouts/AccentPicker.vue.js.map +1 -0
- package/dist/layouts/AccentPicker2.vue.js +131 -0
- package/dist/layouts/AccentPicker2.vue.js.map +1 -0
- package/dist/layouts/AppHeader.vue.d.ts +8 -1
- package/dist/layouts/AppHeader.vue.js +2 -2
- package/dist/layouts/AppHeader2.vue.js +317 -235
- package/dist/layouts/AppHeader2.vue.js.map +1 -1
- package/dist/layouts/NoticeBell.vue.js +2 -2
- package/dist/layouts/NoticeBell2.vue.js +1 -1
- package/dist/layouts/NoticeBell2.vue.js.map +1 -1
- package/dist/layouts/PersonalLayout.vue.js +2 -2
- package/dist/layouts/PersonalLayout2.vue.js +69 -47
- package/dist/layouts/PersonalLayout2.vue.js.map +1 -1
- package/dist/layouts/SettingsDrawer.vue.js +3 -3
- package/dist/layouts/SettingsDrawer2.vue.js +261 -325
- package/dist/layouts/SettingsDrawer2.vue.js.map +1 -1
- package/dist/layouts/TabsBar.vue.js +2 -2
- package/dist/layouts/TabsBar2.vue.js +97 -69
- package/dist/layouts/TabsBar2.vue.js.map +1 -1
- package/dist/layouts/components/SideNav.vue.d.ts +3 -0
- package/dist/layouts/components/SideNav.vue.js +1 -1
- package/dist/layouts/components/SideNav2.vue.js +54 -26
- package/dist/layouts/components/SideNav2.vue.js.map +1 -1
- package/dist/layouts/default.vue.js +1 -1
- package/dist/layouts/default2.vue.js +170 -140
- package/dist/layouts/default2.vue.js.map +1 -1
- package/dist/lib/favicon.d.ts +1 -0
- package/dist/lib/favicon.js +12 -0
- package/dist/lib/favicon.js.map +1 -0
- package/dist/lib/loginHero.d.ts +16 -0
- package/dist/lib/loginHero.js +33 -0
- package/dist/lib/loginHero.js.map +1 -0
- package/dist/lib/logoCrop.d.ts +25 -0
- package/dist/lib/logoCrop.js +22 -0
- package/dist/lib/logoCrop.js.map +1 -0
- package/dist/lib/runtime.d.ts +2 -0
- package/dist/lib/runtime.js +1 -1
- package/dist/lib/runtime.js.map +1 -1
- package/dist/lib/securityRules.d.ts +26 -0
- package/dist/lib/securityRules.js +86 -0
- package/dist/lib/securityRules.js.map +1 -0
- package/dist/lib/watermark.d.ts +110 -0
- package/dist/lib/watermark.js +151 -0
- package/dist/lib/watermark.js.map +1 -0
- package/dist/locales/en-US.d.ts +462 -42
- package/dist/locales/en-US.js +491 -78
- package/dist/locales/en-US.js.map +1 -1
- package/dist/locales/kernelMenuTitles.d.ts +1 -0
- package/dist/locales/kernelMenuTitles.js +128 -0
- package/dist/locales/kernelMenuTitles.js.map +1 -0
- package/dist/locales/menuTitle.d.ts +3 -0
- package/dist/locales/menuTitle.js +14 -12
- package/dist/locales/menuTitle.js.map +1 -1
- package/dist/locales/zh-CN.d.ts +462 -42
- package/dist/locales/zh-CN.js +490 -81
- package/dist/locales/zh-CN.js.map +1 -1
- package/dist/router/index.js +41 -32
- package/dist/router/index.js.map +1 -1
- package/dist/router/namedPage.d.ts +4 -0
- package/dist/router/namedPage.js +7 -7
- package/dist/router/namedPage.js.map +1 -1
- package/dist/router/viewRegistry.js +12 -12
- package/dist/router/viewRegistry.js.map +1 -1
- package/dist/stores/app.d.ts +0 -12
- package/dist/stores/app.js +11 -12
- package/dist/stores/app.js.map +1 -1
- package/dist/stores/tabs.js.map +1 -1
- package/dist/stores/user.d.ts +10 -0
- package/dist/stores/user.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/theme/accentTokens.d.ts +27 -0
- package/dist/theme/accentTokens.js +54 -0
- package/dist/theme/accentTokens.js.map +1 -0
- package/dist/theme/accents.d.ts +21 -1
- package/dist/theme/accents.js +11 -2
- package/dist/theme/accents.js.map +1 -1
- package/dist/theme/mix.d.ts +58 -7
- package/dist/theme/mix.js +115 -30
- package/dist/theme/mix.js.map +1 -1
- package/dist/theme/naive-theme.d.ts +5 -2
- package/dist/theme/naive-theme.js +405 -75
- package/dist/theme/naive-theme.js.map +1 -1
- package/dist/utils/jwt.d.ts +8 -0
- package/dist/utils/jwt.js +14 -0
- package/dist/utils/jwt.js.map +1 -0
- package/dist/utils/menuIcon.d.ts +2 -0
- package/dist/utils/menuIcon.js +8 -0
- package/dist/utils/menuIcon.js.map +1 -0
- package/dist/utils/oauthBrand.d.ts +34 -9
- package/dist/utils/oauthBrand.js +70 -74
- package/dist/utils/oauthBrand.js.map +1 -1
- package/dist/utils/tableFilter.d.ts +88 -0
- package/dist/utils/tableFilter.js +116 -0
- package/dist/utils/tableFilter.js.map +1 -0
- package/dist/utils/tableToolbar.d.ts +18 -0
- package/dist/utils/tableToolbar.js +11 -0
- package/dist/utils/tableToolbar.js.map +1 -0
- package/dist/utils/treeFilter.d.ts +20 -0
- package/dist/utils/treeFilter.js +24 -0
- package/dist/utils/treeFilter.js.map +1 -0
- package/dist/views/dashboard/ShortcutPicker.vue.js +1 -1
- package/dist/views/dashboard/ShortcutPicker2.vue.js +73 -48
- package/dist/views/dashboard/ShortcutPicker2.vue.js.map +1 -1
- package/dist/views/dashboard/biz.vue.js +1 -1
- package/dist/views/dashboard/biz2.vue.js +310 -257
- package/dist/views/dashboard/biz2.vue.js.map +1 -1
- package/dist/views/dashboard/workbench.vue.js +2 -2
- package/dist/views/dashboard/workbench2.vue.js +141 -155
- package/dist/views/dashboard/workbench2.vue.js.map +1 -1
- package/dist/views/embed/iframe.vue.js +2 -2
- package/dist/views/embed/iframe2.vue.js +22 -15
- package/dist/views/embed/iframe2.vue.js.map +1 -1
- package/dist/views/error/404.vue.js +2 -2
- package/dist/views/error/4042.vue.js +33 -24
- package/dist/views/error/4042.vue.js.map +1 -1
- package/dist/views/error/BootError.vue.js +1 -1
- package/dist/views/error/BootError2.vue.js +59 -48
- package/dist/views/error/BootError2.vue.js.map +1 -1
- package/dist/views/error/MissingRoute.vue.js +2 -2
- package/dist/views/error/MissingRoute2.vue.js +34 -15
- package/dist/views/error/MissingRoute2.vue.js.map +1 -1
- package/dist/views/login/LoginForm.vue.d.ts +7 -1
- package/dist/views/login/LoginForm.vue.js +2 -2
- package/dist/views/login/LoginForm2.vue.js +580 -488
- package/dist/views/login/LoginForm2.vue.js.map +1 -1
- package/dist/views/login/components/LoginDesk.vue.d.ts +36 -0
- package/dist/views/login/components/LoginDesk.vue.js +9 -0
- package/dist/views/login/components/LoginDesk.vue.js.map +1 -0
- package/dist/views/login/components/LoginDesk2.vue.js +100 -0
- package/dist/views/login/components/LoginDesk2.vue.js.map +1 -0
- package/dist/views/login/components/LoginHeroPanel.vue.d.ts +18 -0
- package/dist/views/login/components/LoginHeroPanel.vue.js +8 -0
- package/dist/views/login/components/LoginHeroPanel.vue.js.map +1 -0
- package/dist/views/login/components/LoginHeroPanel2.vue.js +61 -0
- package/dist/views/login/components/LoginHeroPanel2.vue.js.map +1 -0
- package/dist/views/login/index.vue.js +1 -1
- package/dist/views/login/index2.vue.js +141 -71
- package/dist/views/login/index2.vue.js.map +1 -1
- package/dist/views/login/layout.d.ts +11 -0
- package/dist/views/login/layout.js +27 -0
- package/dist/views/login/layout.js.map +1 -0
- package/dist/views/mfa/index.vue.js +2 -2
- package/dist/views/mfa/index2.vue.js +367 -321
- package/dist/views/mfa/index2.vue.js.map +1 -1
- package/dist/views/module/index.vue.js +2 -2
- package/dist/views/module/index2.vue.js +132 -99
- package/dist/views/module/index2.vue.js.map +1 -1
- package/dist/views/oauth/callback.vue.js +2 -2
- package/dist/views/oauth/callback2.vue.js +65 -51
- package/dist/views/oauth/callback2.vue.js.map +1 -1
- package/dist/views/personal/bindings.vue.js +2 -2
- package/dist/views/personal/bindings2.vue.js +98 -94
- package/dist/views/personal/bindings2.vue.js.map +1 -1
- package/dist/views/personal/notice2.vue.js +103 -76
- package/dist/views/personal/notice2.vue.js.map +1 -1
- package/dist/views/personal/password2.vue.js +47 -40
- package/dist/views/personal/password2.vue.js.map +1 -1
- package/dist/views/personal/profile.vue.js +3 -3
- package/dist/views/personal/profile2.vue.js +24 -18
- package/dist/views/personal/profile2.vue.js.map +1 -1
- package/dist/views/personal/security.vue.js +2 -2
- package/dist/views/personal/security2.vue.js +65 -53
- package/dist/views/personal/security2.vue.js.map +1 -1
- package/dist/views/personal/sessions.vue.js +2 -2
- package/dist/views/personal/sessions2.vue.js +67 -62
- package/dist/views/personal/sessions2.vue.js.map +1 -1
- package/dist/views/system/ai-model/components/ProviderCard.vue.js +2 -2
- package/dist/views/system/ai-model/components/ProviderCard2.vue.js +142 -130
- package/dist/views/system/ai-model/components/ProviderCard2.vue.js.map +1 -1
- package/dist/views/system/ai-model/components/ProviderForm.vue.js +2 -2
- package/dist/views/system/ai-model/components/ProviderForm2.vue.js +71 -70
- package/dist/views/system/ai-model/components/ProviderForm2.vue.js.map +1 -1
- package/dist/views/system/ai-model/index.vue.js +2 -2
- package/dist/views/system/ai-model/index2.vue.js +99 -99
- package/dist/views/system/ai-model/index2.vue.js.map +1 -1
- package/dist/views/system/ai-model/presets.d.ts +1 -1
- package/dist/views/system/ai-model/presets.js +18 -18
- package/dist/views/system/ai-model/presets.js.map +1 -1
- package/dist/views/system/ai-usage/index.vue.js +2 -2
- package/dist/views/system/ai-usage/index2.vue.js +356 -258
- package/dist/views/system/ai-usage/index2.vue.js.map +1 -1
- package/dist/views/system/api-docs/index.vue.js +5 -2
- package/dist/views/system/api-docs/index.vue.js.map +1 -1
- package/dist/views/system/api-docs/index2.vue.js +92 -42
- package/dist/views/system/api-docs/index2.vue.js.map +1 -1
- package/dist/views/system/cache/index.vue.js +2 -2
- package/dist/views/system/cache/index2.vue.js +74 -80
- package/dist/views/system/cache/index2.vue.js.map +1 -1
- package/dist/views/system/config/components/AdminMock.vue.js +8 -0
- package/dist/views/system/config/components/AdminMock.vue.js.map +1 -0
- package/dist/views/system/config/components/AdminMock2.vue.js +93 -0
- package/dist/views/system/config/components/AdminMock2.vue.js.map +1 -0
- package/dist/views/system/config/components/AdvancedSection.vue.js +8 -0
- package/dist/views/system/config/components/AdvancedSection.vue.js.map +1 -0
- package/dist/views/system/config/components/AdvancedSection2.vue.js +163 -0
- package/dist/views/system/config/components/AdvancedSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/BrandSection.vue.d.ts +7 -0
- package/dist/views/system/config/components/BrandSection.vue.js +8 -0
- package/dist/views/system/config/components/BrandSection.vue.js.map +1 -0
- package/dist/views/system/config/components/BrandSection2.vue.js +266 -0
- package/dist/views/system/config/components/BrandSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgGroup.vue.d.ts +18 -0
- package/dist/views/system/config/components/CfgGroup.vue.js +8 -0
- package/dist/views/system/config/components/CfgGroup.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgGroup2.vue.js +22 -0
- package/dist/views/system/config/components/CfgGroup2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgRow.vue.d.ts +26 -0
- package/dist/views/system/config/components/CfgRow.vue.js +9 -0
- package/dist/views/system/config/components/CfgRow.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgRow2.vue.js +54 -0
- package/dist/views/system/config/components/CfgRow2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgSegment.vue.d.ts +28 -0
- package/dist/views/system/config/components/CfgSegment.vue.js +8 -0
- package/dist/views/system/config/components/CfgSegment.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgSegment2.vue.js +45 -0
- package/dist/views/system/config/components/CfgSegment2.vue.js.map +1 -0
- package/dist/views/system/config/components/ConfigFormModal.vue.js +4 -1
- package/dist/views/system/config/components/ConfigFormModal.vue.js.map +1 -1
- package/dist/views/system/config/components/ConfigFormModal2.vue.js +72 -60
- package/dist/views/system/config/components/ConfigFormModal2.vue.js.map +1 -1
- package/dist/views/system/config/components/JobSection.vue.js +8 -0
- package/dist/views/system/config/components/JobSection.vue.js.map +1 -0
- package/dist/views/system/config/components/JobSection2.vue.js +140 -0
- package/dist/views/system/config/components/JobSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/LoginMock.vue.d.ts +8 -0
- package/dist/views/system/config/components/LoginMock.vue.js +8 -0
- package/dist/views/system/config/components/LoginMock.vue.js.map +1 -0
- package/dist/views/system/config/components/LoginMock2.vue.js +132 -0
- package/dist/views/system/config/components/LoginMock2.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoCropper.vue.d.ts +10 -0
- package/dist/views/system/config/components/LogoCropper.vue.js +8 -0
- package/dist/views/system/config/components/LogoCropper.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoCropper2.vue.js +122 -0
- package/dist/views/system/config/components/LogoCropper2.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoEditor.vue.js +8 -0
- package/dist/views/system/config/components/LogoEditor.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoEditor2.vue.js +161 -0
- package/dist/views/system/config/components/LogoEditor2.vue.js.map +1 -0
- package/dist/views/system/config/components/ProviderSheet.vue.d.ts +17 -0
- package/dist/views/system/config/components/ProviderSheet.vue.js +8 -0
- package/dist/views/system/config/components/ProviderSheet.vue.js.map +1 -0
- package/dist/views/system/config/components/ProviderSheet2.vue.js +343 -0
- package/dist/views/system/config/components/ProviderSheet2.vue.js.map +1 -0
- package/dist/{layouts/SettingRow.vue.d.ts → views/system/config/components/ScaleToFit.vue.d.ts} +2 -1
- package/dist/views/system/config/components/ScaleToFit.vue.js +8 -0
- package/dist/views/system/config/components/ScaleToFit.vue.js.map +1 -0
- package/dist/views/system/config/components/ScaleToFit2.vue.js +41 -0
- package/dist/views/system/config/components/ScaleToFit2.vue.js.map +1 -0
- package/dist/views/system/config/components/SectionLayout.vue.d.ts +30 -0
- package/dist/views/system/config/components/SectionLayout.vue.js +8 -0
- package/dist/views/system/config/components/SectionLayout.vue.js.map +1 -0
- package/dist/views/system/config/components/SectionLayout2.vue.js +69 -0
- package/dist/views/system/config/components/SectionLayout2.vue.js.map +1 -0
- package/dist/views/system/config/components/SecuritySection.vue.js +8 -0
- package/dist/views/system/config/components/SecuritySection.vue.js.map +1 -0
- package/dist/views/system/config/components/SecuritySection2.vue.js +417 -0
- package/dist/views/system/config/components/SecuritySection2.vue.js.map +1 -0
- package/dist/views/system/config/components/SensitiveSection.vue.js +8 -0
- package/dist/views/system/config/components/SensitiveSection.vue.js.map +1 -0
- package/dist/views/system/config/components/SensitiveSection2.vue.js +214 -0
- package/dist/views/system/config/components/SensitiveSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/SigninSection.vue.js +8 -0
- package/dist/views/system/config/components/SigninSection.vue.js.map +1 -0
- package/dist/views/system/config/components/SigninSection2.vue.js +201 -0
- package/dist/views/system/config/components/SigninSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/UploadSection.vue.js +8 -0
- package/dist/views/system/config/components/UploadSection.vue.js.map +1 -0
- package/dist/views/system/config/components/UploadSection2.vue.js +176 -0
- package/dist/views/system/config/components/UploadSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/WatermarkSection.vue.js +8 -0
- package/dist/views/system/config/components/WatermarkSection.vue.js.map +1 -0
- package/dist/views/system/config/components/WatermarkSection2.vue.js +284 -0
- package/dist/views/system/config/components/WatermarkSection2.vue.js.map +1 -0
- package/dist/views/system/config/draft.d.ts +148 -0
- package/dist/views/system/config/draft.js +170 -0
- package/dist/views/system/config/draft.js.map +1 -0
- package/dist/views/system/config/flash.d.ts +2 -0
- package/dist/views/system/config/flash.js +9 -0
- package/dist/views/system/config/flash.js.map +1 -0
- package/dist/views/system/config/groups.d.ts +38 -7
- package/dist/views/system/config/groups.js +104 -14
- package/dist/views/system/config/groups.js.map +1 -1
- package/dist/views/system/config/index.vue.js +6 -2
- package/dist/views/system/config/index.vue.js.map +1 -1
- package/dist/views/system/config/index2.vue.js +201 -111
- package/dist/views/system/config/index2.vue.js.map +1 -1
- package/dist/views/system/config/layoutMode.d.ts +23 -0
- package/dist/views/system/config/layoutMode.js +28 -0
- package/dist/views/system/config/layoutMode.js.map +1 -0
- package/dist/views/system/config/providerForm.d.ts +33 -0
- package/dist/views/system/config/providerForm.js +63 -0
- package/dist/views/system/config/providerForm.js.map +1 -0
- package/dist/views/system/dict/index.vue.js +2 -2
- package/dist/views/system/dict/index2.vue.js +471 -366
- package/dist/views/system/dict/index2.vue.js.map +1 -1
- package/dist/views/system/file/index2.vue.js +91 -76
- package/dist/views/system/file/index2.vue.js.map +1 -1
- package/dist/views/system/job/index.vue.js +3 -3
- package/dist/views/system/job/index2.vue.js +897 -828
- package/dist/views/system/job/index2.vue.js.map +1 -1
- package/dist/views/system/job-log/components/AttemptTable.vue.d.ts +8 -0
- package/dist/views/system/job-log/components/AttemptTable.vue.js +5 -0
- package/dist/views/system/job-log/components/AttemptTable.vue.js.map +1 -0
- package/dist/views/system/job-log/components/AttemptTable2.vue.js +54 -0
- package/dist/views/system/job-log/components/AttemptTable2.vue.js.map +1 -0
- package/dist/views/system/job-log/index.vue.js +2 -2
- package/dist/views/system/job-log/index2.vue.js +193 -207
- package/dist/views/system/job-log/index2.vue.js.map +1 -1
- package/dist/views/system/job-log/runStatus.d.ts +13 -0
- package/dist/views/system/job-log/runStatus.js +26 -0
- package/dist/views/system/job-log/runStatus.js.map +1 -0
- package/dist/views/system/job-monitor/index.vue.js +2 -2
- package/dist/views/system/job-monitor/index2.vue.js +172 -180
- package/dist/views/system/job-monitor/index2.vue.js.map +1 -1
- package/dist/views/system/log/exception/index.vue.js +2 -2
- package/dist/views/system/log/exception/index2.vue.js +135 -96
- package/dist/views/system/log/exception/index2.vue.js.map +1 -1
- package/dist/views/system/log/login/index2.vue.js +62 -41
- package/dist/views/system/log/login/index2.vue.js.map +1 -1
- package/dist/views/system/log/op/index.vue.js +2 -2
- package/dist/views/system/log/op/index2.vue.js +200 -162
- package/dist/views/system/log/op/index2.vue.js.map +1 -1
- package/dist/views/system/menu/components/ButtonManager.vue.js +2 -2
- package/dist/views/system/menu/components/ButtonManager2.vue.js +206 -190
- package/dist/views/system/menu/components/ButtonManager2.vue.js.map +1 -1
- package/dist/views/system/menu/components/MenuFormModal.vue.js +2 -2
- package/dist/views/system/menu/components/MenuFormModal2.vue.js +127 -118
- package/dist/views/system/menu/components/MenuFormModal2.vue.js.map +1 -1
- package/dist/views/system/menu/index.vue.js +1 -1
- package/dist/views/system/menu/index2.vue.js +216 -183
- package/dist/views/system/menu/index2.vue.js.map +1 -1
- package/dist/views/system/module/index.vue.js +1 -1
- package/dist/views/system/module/index2.vue.js +177 -144
- package/dist/views/system/module/index2.vue.js.map +1 -1
- package/dist/views/system/monitor/index.vue.js +2 -2
- package/dist/views/system/monitor/index2.vue.js +134 -149
- package/dist/views/system/monitor/index2.vue.js.map +1 -1
- package/dist/views/system/notice/index.vue.js +1 -1
- package/dist/views/system/notice/index2.vue.js +209 -181
- package/dist/views/system/notice/index2.vue.js.map +1 -1
- package/dist/views/system/org/index.vue.js +1 -1
- package/dist/views/system/org/index2.vue.js +278 -248
- package/dist/views/system/org/index2.vue.js.map +1 -1
- package/dist/views/system/position/index.vue.js +5 -2
- package/dist/views/system/position/index.vue.js.map +1 -1
- package/dist/views/system/position/index2.vue.js +128 -92
- package/dist/views/system/position/index2.vue.js.map +1 -1
- package/dist/views/system/recycle/index.vue.js +2 -2
- package/dist/views/system/recycle/index2.vue.js +90 -67
- package/dist/views/system/recycle/index2.vue.js.map +1 -1
- package/dist/views/system/role/components/GrantMenuSheet.vue.d.ts +20 -0
- package/dist/views/system/role/components/GrantMenuSheet.vue.js +8 -0
- package/dist/views/system/role/components/GrantMenuSheet.vue.js.map +1 -0
- package/dist/views/system/role/components/GrantMenuSheet2.vue.js +117 -0
- package/dist/views/system/role/components/GrantMenuSheet2.vue.js.map +1 -0
- package/dist/views/system/role/components/GrantMenuTable.vue.d.ts +6 -4
- package/dist/views/system/role/components/GrantMenuTable.vue.js +2 -2
- package/dist/views/system/role/components/GrantMenuTable2.vue.js +279 -177
- package/dist/views/system/role/components/GrantMenuTable2.vue.js.map +1 -1
- package/dist/views/system/role/components/MatchText.vue.d.ts +7 -0
- package/dist/views/system/role/components/MatchText.vue.js +8 -0
- package/dist/views/system/role/components/MatchText.vue.js.map +1 -0
- package/dist/views/system/role/components/MatchText2.vue.js +29 -0
- package/dist/views/system/role/components/MatchText2.vue.js.map +1 -0
- package/dist/views/system/role/components/grantMenuGroups.d.ts +36 -0
- package/dist/views/system/role/components/grantMenuGroups.js +110 -48
- package/dist/views/system/role/components/grantMenuGroups.js.map +1 -1
- package/dist/views/system/role/index.vue.js +5 -2
- package/dist/views/system/role/index.vue.js.map +1 -1
- package/dist/views/system/role/index2.vue.js +181 -165
- package/dist/views/system/role/index2.vue.js.map +1 -1
- package/dist/views/system/session/index2.vue.js +75 -49
- package/dist/views/system/session/index2.vue.js.map +1 -1
- package/dist/views/system/user/components/ResetPasswordModal.vue.js +2 -2
- package/dist/views/system/user/components/ResetPasswordModal2.vue.js +2 -0
- package/dist/views/system/user/components/ResetPasswordModal2.vue.js.map +1 -1
- package/dist/views/system/user/components/UserFormModal.vue.js +2 -2
- package/dist/views/system/user/components/UserFormModal2.vue.js +77 -76
- package/dist/views/system/user/components/UserFormModal2.vue.js.map +1 -1
- package/dist/views/system/user/index.vue.js +2 -2
- package/dist/views/system/user/index2.vue.js +362 -275
- package/dist/views/system/user/index2.vue.js.map +1 -1
- package/package.json +6 -8
- package/dist/components/SelectTable/index.vue.d.ts +0 -76
- package/dist/components/SelectTable/index2.vue.js +0 -256
- package/dist/components/SelectTable/index2.vue.js.map +0 -1
- package/dist/composables/useTableRowSort.d.ts +0 -20
- package/dist/composables/useTableRowSort.js +0 -59
- package/dist/composables/useTableRowSort.js.map +0 -1
- package/dist/layouts/LayoutModeCards.vue.js +0 -8
- package/dist/layouts/LayoutModeCards.vue.js.map +0 -1
- package/dist/layouts/LayoutModeCards2.vue.js +0 -67
- package/dist/layouts/LayoutModeCards2.vue.js.map +0 -1
- package/dist/layouts/SettingRow.vue.js +0 -8
- package/dist/layouts/SettingRow.vue.js.map +0 -1
- package/dist/layouts/SettingRow2.vue.js +0 -23
- package/dist/layouts/SettingRow2.vue.js.map +0 -1
- package/dist/views/login/skins/AuroraGlass.vue.js +0 -8
- package/dist/views/login/skins/AuroraGlass.vue.js.map +0 -1
- package/dist/views/login/skins/AuroraGlass2.vue.js +0 -80
- package/dist/views/login/skins/AuroraGlass2.vue.js.map +0 -1
- package/dist/views/login/skins/SplitPanel.vue.js +0 -8
- package/dist/views/login/skins/SplitPanel.vue.js.map +0 -1
- package/dist/views/login/skins/SplitPanel2.vue.js +0 -85
- package/dist/views/login/skins/SplitPanel2.vue.js.map +0 -1
- package/dist/views/login/skins/Spotlight.vue.js +0 -8
- package/dist/views/login/skins/Spotlight.vue.js.map +0 -1
- package/dist/views/login/skins/Spotlight2.vue.js +0 -36
- package/dist/views/login/skins/Spotlight2.vue.js.map +0 -1
- package/dist/views/login/skins.d.ts +0 -8
- package/dist/views/login/skins.js +0 -13
- package/dist/views/login/skins.js.map +0 -1
- package/dist/views/system/config/components/ExternalAuthConfig.vue.js +0 -8
- package/dist/views/system/config/components/ExternalAuthConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/ExternalAuthConfig2.vue.js +0 -218
- package/dist/views/system/config/components/ExternalAuthConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/GroupExtraConfig.vue.js +0 -8
- package/dist/views/system/config/components/GroupExtraConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/GroupExtraConfig2.vue.js +0 -108
- package/dist/views/system/config/components/GroupExtraConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/HighSensConfig.vue.js +0 -5
- package/dist/views/system/config/components/HighSensConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/HighSensConfig2.vue.js +0 -134
- package/dist/views/system/config/components/HighSensConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/JobConfig.vue.js +0 -5
- package/dist/views/system/config/components/JobConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/JobConfig2.vue.js +0 -116
- package/dist/views/system/config/components/JobConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/OtherConfig.vue.js +0 -5
- package/dist/views/system/config/components/OtherConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/OtherConfig2.vue.js +0 -121
- package/dist/views/system/config/components/OtherConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/SecurityConfig.vue.js +0 -8
- package/dist/views/system/config/components/SecurityConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/SecurityConfig2.vue.js +0 -456
- package/dist/views/system/config/components/SecurityConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/SysBaseConfig.vue.js +0 -5
- package/dist/views/system/config/components/SysBaseConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/SysBaseConfig2.vue.js +0 -107
- package/dist/views/system/config/components/SysBaseConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/UploadConfig.vue.d.ts +0 -3
- package/dist/views/system/config/components/UploadConfig.vue.js +0 -5
- package/dist/views/system/config/components/UploadConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/UploadConfig2.vue.js +0 -135
- package/dist/views/system/config/components/UploadConfig2.vue.js.map +0 -1
- /package/dist/components/{SelectTable → TableTotal}/index.vue.js.map +0 -0
- /package/dist/layouts/{LayoutModeCards.vue.d.ts → AccentPicker.vue.d.ts} +0 -0
- /package/dist/views/{login/skins/AuroraGlass.vue.d.ts → system/config/components/AdminMock.vue.d.ts} +0 -0
- /package/dist/views/{login/skins/SplitPanel.vue.d.ts → system/config/components/AdvancedSection.vue.d.ts} +0 -0
- /package/dist/views/{login/skins/Spotlight.vue.d.ts → system/config/components/JobSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{ExternalAuthConfig.vue.d.ts → LogoEditor.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{HighSensConfig.vue.d.ts → SecuritySection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{JobConfig.vue.d.ts → SensitiveSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{OtherConfig.vue.d.ts → SigninSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{SecurityConfig.vue.d.ts → UploadSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{SysBaseConfig.vue.d.ts → WatermarkSection.vue.d.ts} +0 -0
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.reauth-hint[data-v-f489ff1a]{margin:0 0 12px;color:var(--n-text-color-3);font-size:13px;line-height:1.5}:root{--color-gray-900: #181a2a;--color-gray-800: #2f313f;--color-gray-700: #5d5f6a;--color-gray-600: #7b7c85;--color-gray-500: #85868e;--color-gray-400: #bababf;--color-gray-300: #d1d1d1;--color-gray-200: #e3e3e3;--color-gray-100: #f1f1f1;--color-gray-50: #f0f0f0;--color-white: #ffffff;--color-primary: #646cff;--color-primary-hover: #7d84ff;--color-primary-pressed: #5259d1;--color-primary-light: #f0f0ff;--color-success: #00a43b;--color-success-bg: #e0f4e7;--color-warning: #a88400;--color-warning-bg: #fff8e0;--color-danger: #d15054;--color-danger-bg: #ffeced;--color-info: #0090b5;--color-info-bg: #e0f2f6;--color-bg-body: #f2f8f5;--color-bg-app: linear-gradient( 135deg, #f7fbf9 0%, #edf7f3 55%, #f7fbf9 100% );--color-bg-container: rgba(255, 255, 255, .78);--color-bg-container-solid: #fefefe;--color-bg-elevated: #ffffff;--color-text-primary: #111827;--color-text-secondary: #374151;--color-text-tertiary: #6b7280;--color-text-disabled: #9ca3af;--color-border: #d7dbe0;--color-border-strong: #bfc5cd;--color-fill: #eef1f5;--color-fill-hover: #e5e9ef;--color-bg-input: #ffffff;--color-fill-disabled: #eef1f5;--color-mask: rgba(24, 26, 42, .45);--color-header-bg: rgba(255, 255, 255, .82);--font-family-base: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--font-family-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-size-xs: 12px;--line-height-xs: 18px;--font-size-sm: 13px;--line-height-sm: 20px;--font-size-base: 14px;--line-height-base: 22px;--font-size-md: 16px;--line-height-md: 24px;--font-size-lg: 20px;--line-height-lg: 28px;--font-size-xl: 24px;--line-height-xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-24: 24px;--space-32: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--shadow-1: 0 1px 2px rgba(24, 26, 42, .05), 0 2px 6px rgba(24, 26, 42, .06);--shadow-2: 0 10px 30px rgba(24, 26, 42, .12);--shadow-3: 0 16px 48px rgba(24, 26, 42, .18);--transition-fast: .15s ease;--transition-base: .2s ease}:root[data-theme=dark]{--color-primary: #14b8a6;--color-primary-hover: #2dd4bf;--color-primary-pressed: #0f766e;--color-primary-light: rgba(20, 184, 166, .16);--color-success: #34d399;--color-success-bg: rgba(16, 185, 129, .14);--color-warning: #fbbf24;--color-warning-bg: rgba(251, 191, 36, .14);--color-danger: #fb7185;--color-danger-bg: rgba(244, 63, 94, .16);--color-info: #38bdf8;--color-info-bg: rgba(56, 189, 248, .14);--color-bg-body: #020617;--color-bg-app: linear-gradient( 135deg, #020617 0%, #0f172a 55%, #020617 100% );--color-bg-container: rgba(18, 28, 46, .9);--color-bg-container-solid: #121c2e;--color-bg-elevated: #182234;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-disabled: #64748b;--color-border: rgba(71, 85, 105, .4);--color-border-strong: rgba(100, 116, 139, .5);--color-fill: #0f172a;--color-fill-hover: #1a2436;--color-bg-input: #0f172a;--color-fill-disabled: #1b2434;--color-mask: rgba(2, 6, 23, .72);--color-header-bg: rgba(15, 23, 42, .7);--shadow-1: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 2px 8px rgba(2, 6, 23, .3);--shadow-2: 0 10px 30px rgba(2, 6, 23, .45), 0 0 0 1px rgba(51, 65, 85, .35);--shadow-3: 0 16px 48px rgba(2, 6, 23, .55), 0 0 0 1px rgba(51, 65, 85, .4)}:root{--pad-page: 14px;--gap-card: 12px;--row-h: 58px;--sidebar-w: 236px;--sidebar-w-collapsed: 76px;--rail-w: 64px;--header-h: 62px}:root[data-density=compact]{--pad-page: 10px;--gap-card: 8px;--row-h: 48px}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);background:var(--color-bg-app);-webkit-font-smoothing:antialiased}:root[data-theme=dark] body{background-attachment:fixed}a{color:var(--color-primary);text-decoration:none}.tabular{font-variant-numeric:tabular-nums}.n-card{border:1px solid var(--color-border)}:root:not([data-theme=dark]) .n-card:not(.n-modal){background:linear-gradient(145deg,#ffffffe0,#ffffffad);box-shadow:inset 0 1px #ffffffe6,0 8px 24px #2d695a14;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}:root:not([data-theme=dark]) .n-card.n-modal{background:var(--color-bg-elevated);box-shadow:var(--shadow-3);backdrop-filter:none;-webkit-backdrop-filter:none}:root[data-theme=dark] .n-card{background:#121c2e;border-color:#47556966;box-shadow:0 8px 24px #02061738}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#64748b85}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#94a3b8b3}:root[data-theme=dark] ::selection{background:#14b8a647;color:#ecfeff}html.theme-switching,html.theme-switching *,html.theme-switching *:before,html.theme-switching *:after{transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#90939966;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#909399b3}::-webkit-scrollbar-track{background:transparent}html[data-gray]{filter:grayscale(1)}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.fade-slide-enter-active,.fade-slide-leave-active{transition:opacity .24s ease,transform .24s ease}.fade-slide-enter-from{opacity:0;transform:translate(16px)}.fade-slide-leave-to{opacity:0;transform:translate(-16px)}.n-menu,.n-dropdown-menu{user-select:none;-webkit-user-select:none}.n-data-table{--table-selected-bg: var(--color-primary-light)}.n-data-table .n-data-table-tr:nth-child(2n)>.n-data-table-td{background-color:var(--n-merged-td-color-striped)}.n-data-table .n-data-table-tr:has(>.n-data-table-td--selection .n-checkbox--checked,>.n-data-table-td--selection .n-radio--checked)>.n-data-table-td,.smart-table .smart-table-row--active>.n-data-table-td{background-color:var(--table-selected-bg)}.n-data-table .n-data-table-tr.row-selected>.n-data-table-td{background-color:var(--table-selected-bg)}.n-data-table .n-data-table-tr.row-selected>.n-data-table-td--fixed-left,.n-data-table .n-data-table-tr.row-selected>.n-data-table-td--fixed-right{background-color:var(--table-fixed-bg);background-image:linear-gradient(var(--table-selected-bg),var(--table-selected-bg))}.n-data-table .n-data-table-tr.row-selected>.n-data-table-td:first-child{box-shadow:inset 3px 0 0 var(--color-primary)}.n-data-table .n-data-table-th,.n-data-table .n-data-table-td{border-right:1px solid var(--n-merged-border-color);white-space:nowrap}.n-data-table .n-data-table-th--last,.n-data-table .n-data-table-td--last-col{border-right:0}.n-data-table .n-data-table-th--fixed-left,.n-data-table .n-data-table-th--fixed-right{background-color:var(--color-fill)}.n-data-table{--table-fixed-bg: var(--color-bg-container-solid)}.n-modal .n-data-table,.n-drawer .n-data-table,.n-popover .n-data-table{--table-fixed-bg: var(--n-merged-td-color)}.n-data-table .n-data-table-td--fixed-left,.n-data-table .n-data-table-td--fixed-right{background-color:var(--table-fixed-bg)}.smart-table .n-data-table .smart-table-row--active>.n-data-table-td--fixed-left,.smart-table .n-data-table .smart-table-row--active>.n-data-table-td--fixed-right{background-color:var(--table-fixed-bg);background-image:linear-gradient(var(--smart-table-active-row-bg, rgba(99, 102, 241, .08)),var(--smart-table-active-row-bg, rgba(99, 102, 241, .08)))}.n-data-table .n-data-table-td--last-col .n-space{gap:0!important}.n-data-table .n-data-table-td .n-space:has(.n-button){flex-wrap:nowrap!important;min-width:max-content;white-space:nowrap}.n-data-table .n-data-table-td .n-space:has(.n-button)>.n-space-item,.n-data-table .n-data-table-td .n-button{white-space:nowrap}.table-zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--color-bg-body);padding:16px;display:flex;flex-direction:column;min-height:0;gap:8px}.table-zoom>.n-data-table,.table-zoom>.route-table,.table-zoom>.table-zoom-body{flex:1;min-height:0}.row-sort .drag-handle{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-sm, 6px);color:var(--color-text-tertiary);cursor:grab;transition:color var(--transition-base, .2s ease),background-color var(--transition-base, .2s ease)}.row-sort .drag-handle:hover{background:var(--color-fill-hover);color:var(--color-primary)}.row-sort .drag-handle:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.row-sort .drag-handle:active{cursor:grabbing}.row-sort .row-chosen>td{position:relative;z-index:1;background:var(--color-bg-elevated);box-shadow:0 6px 16px #0000001f;cursor:grabbing}.row-sort .row-ghost>td{background:var(--color-primary-light);color:var(--color-primary)}.row-sort .row-ghost>td:first-child{box-shadow:inset 3px 0 0 var(--color-primary)}.row-sort .row-fallback{display:none!important}.row-sort.is-dragging .n-data-table-tr:not(.row-ghost){opacity:.5}.row-sort.is-dragging .n-data-table-td{transition:none}.side-filter{flex:0 0 var(--side-filter-width, 224px);display:flex;flex-direction:column;gap:8px;min-height:0;padding:12px 10px;border-radius:var(--radius-lg, 12px);background:var(--color-bg-container);box-shadow:var(--shadow-1);transition:flex-basis var(--transition-base, .2s ease)}.side-filter__head{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:24px;padding-left:6px}.side-filter__actions{display:flex;flex:none;margin-left:auto;align-items:center;gap:2px}.side-filter__body{display:flex;flex:1;flex-direction:column;gap:2px;min-height:0;overflow-y:auto;scrollbar-width:thin}.side-filter__divider{height:1px;margin:6px 8px;background:var(--color-border)}.side-filter__empty{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:24px;color:var(--color-text-tertiary);font-size:var(--font-size-sm, 13px)}.side-row{position:relative;display:flex;align-items:center;gap:8px;width:100%;height:34px;padding:0 10px;border:0;border-radius:var(--radius-md, 10px);background:transparent;color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-base, 14px);text-align:left;cursor:pointer;transition:background var(--transition-fast, .15s ease),color var(--transition-fast, .15s ease)}.side-row:hover{background:var(--color-fill-hover);color:var(--color-text-primary)}.side-row.is-active{background:var(--color-primary-light);color:var(--color-primary);font-weight:var(--font-weight-medium, 500)}.side-row.is-active:before,.side-tree .n-tree-node--selected:before{content:"";position:absolute;top:50%;left:0;width:3px;height:16px;border-radius:0 3px 3px 0;background:var(--color-primary);transform:translateY(-50%)}.side-row__icon,.side-row__dot{flex:none}.side-row__dot{width:6px;height:6px;margin:0 4px;border-radius:50%;background:var(--color-border-strong);transition:background var(--transition-fast, .15s ease)}.side-row:hover .side-row__dot{background:var(--color-text-tertiary)}.side-row.is-active .side-row__dot{background:currentcolor}.side-row__label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.side-row__count{flex:none;min-width:22px;height:18px;padding:0 6px;border-radius:9px;background:var(--color-fill);color:var(--color-text-tertiary);font-size:var(--font-size-xs, 12px);font-variant-numeric:tabular-nums;line-height:18px;text-align:center;transition:background var(--transition-fast, .15s ease),color var(--transition-fast, .15s ease)}.side-row.is-active .side-row__count{background:var(--color-primary);color:var(--color-white, #fff)}.side-tree.n-tree{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}.side-tree .n-tree-node{position:relative;padding-right:4px}.side-tree .n-tree-node--selected .n-tree-node-content__text{color:var(--color-primary);font-weight:var(--font-weight-medium, 500)}.side-tree .n-tree-node-content__suffix{opacity:0;transition:opacity var(--transition-fast, .15s ease)}.side-tree .n-tree-node:hover .n-tree-node-content__suffix,.side-tree .n-tree-node--selected .n-tree-node-content__suffix{opacity:1}.side-actions{display:flex;align-items:center;gap:2px}@media(max-width:1280px){.side-filter{flex-basis:min(var(--side-filter-width, 224px),200px)}}.form-section+.form-section{margin-top:16px}.form-section__title{margin-bottom:10px;color:var(--color-text-primary);font-weight:var(--font-weight-semibold, 600)}.form-section--fieldset,.form-section--panel{min-width:0;border:none;padding:0}.form-section--fieldset{margin-inline:0}.form-section--fieldset>legend{display:block;width:100%;margin-bottom:12px;padding:0 0 8px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-weight:var(--font-weight-semibold, 600)}.form-section--panel>.form-section__title,.form-section--panel>.head{display:flex;box-sizing:content-box;align-items:center;justify-content:space-between;height:var(--panel-head-h, 30px);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.page-view:has(>.smart-table),.page-view:has(>.fill-page),.page-view:has(>.side-page){height:100%}.page-view>.smart-table{height:100%;min-height:0}.fill-page{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.fill-page>*{flex-shrink:0}.side-page{display:flex;gap:12px;align-items:stretch;height:100%;min-height:0}.side-page>.smart-table{flex:1;align-self:stretch;min-width:0;min-height:0;height:100%}.fill-page>.smart-table,.fill-main,:is(.fill-main,.fill-split,.fill-tabs .n-tab-pane,.fill-pass>.n-spin-content)>.smart-table{flex:1 1 auto;min-height:0}.fill-main{display:flex;flex-direction:column}:is(.page-view,.fill-page,.side-page,.fill-main,.fill-split,.fill-tabs .n-tab-pane,.fill-pass>.n-spin-content)>.smart-table>.smart-table-card{display:flex;flex:1;flex-direction:column;min-height:0}:is(.page-view,.fill-page,.side-page,.fill-main,.fill-split,.fill-tabs .n-tab-pane,.fill-pass>.n-spin-content)>.smart-table>.smart-table-card>:is(.n-card-content,.n-card__content){display:flex;flex:1;flex-direction:column;min-height:0}:is(.page-view,.fill-page,.side-page,.fill-main,.fill-split,.fill-tabs .n-tab-pane,.fill-pass>.n-spin-content)>.smart-table>.smart-table-card>:is(.n-card-content,.n-card__content)>.n-data-table{flex:1;min-height:0}.fill-card{display:flex;flex:1;flex-direction:column;min-height:0}.fill-card>:is(.n-card-content,.n-card__content){display:flex;flex:1;flex-direction:column;min-height:0}.fill-card>:is(.n-card-content,.n-card__content)>.n-data-table{flex:1;min-height:0}.fill-tabs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.fill-tabs>.n-tabs-nav{flex-shrink:0}.fill-tabs>.n-tabs-pane-wrapper,.fill-tabs>.n-tabs-pane-wrapper>.n-tab-pane,.fill-tabs>.n-tab-pane{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.fill-split{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--fill-split-gap, var(--gap-card, 12px));min-height:0}.fill-split--row{flex-direction:row}.fill-split>.fill-main,.fill-split>.smart-table{flex:1 1 0;min-height:0}.fill-pass,.fill-pass>.n-spin-content{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.fill-page--soft{height:auto;min-height:100%;overflow:visible}.chart[data-v-558fd76a]{width:100%;height:320px}.code-block[data-v-953af54c]{position:relative;font-size:12px;line-height:1.5}.copy-btn[data-v-953af54c]{position:absolute;top:0;right:0}.cron-editor[data-v-8ed8204a]{width:100%}.cron-rows[data-v-8ed8204a]{display:flex;flex-direction:column;gap:10px;width:100%}.cron-row[data-v-8ed8204a]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cron-num[data-v-8ed8204a]{width:96px}.cron-dow[data-v-8ed8204a]{width:120px}.cron-list[data-v-8ed8204a]{flex:1;min-width:200px}.cron-sep[data-v-8ed8204a]{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.cron-hint[data-v-8ed8204a]{margin-top:6px;font-size:12px;color:var(--color-text-tertiary)}.cron-preview[data-v-8ed8204a]{margin-top:12px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-fill);display:flex;flex-direction:column;gap:8px}.cron-warn[data-v-8ed8204a]{margin-bottom:2px}.cron-preview-error[data-v-8ed8204a]{color:var(--color-danger);font-size:var(--font-size-sm)}.cron-preview-row[data-v-8ed8204a]{display:flex;gap:12px;align-items:flex-start}.cron-preview-label[data-v-8ed8204a]{flex:0 0 auto;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:22px}.cron-code[data-v-8ed8204a]{font-family:var(--font-family-mono, ui-monospace, monospace);font-size:13px;line-height:22px}.cron-occurrences[data-v-8ed8204a]{display:flex;flex-wrap:wrap;gap:2px 16px}.cron-occurrence[data-v-8ed8204a]{font-family:var(--font-family-mono, ui-monospace, monospace);font-size:13px;line-height:22px;font-variant-numeric:tabular-nums}.cron-empty[data-v-8ed8204a]{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.detail-page[data-v-6733c96a]{display:flex;flex-direction:column;gap:var(--gap-card, 16px)}.detail-header[data-v-6733c96a]{display:flex;align-items:center;gap:8px}.detail-title[data-v-6733c96a]{margin:0;font-size:var(--font-size-lg, 18px);font-weight:600;color:var(--color-text-primary)}.detail-actions[data-v-6733c96a]{margin-left:auto}.error-boundary[data-v-3b4e3577]{min-height:60vh;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;color:var(--color-text-secondary)}h2[data-v-3b4e3577]{margin:0;color:var(--color-text-primary);font-size:var(--font-size-lg)}.desc[data-v-3b4e3577]{margin:0;max-width:460px}.detail[data-v-3b4e3577]{max-width:100%;padding:6px 10px;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-container);color:var(--color-danger);font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.export-cols-head[data-v-6b86f7cf]{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--n-border-color)}.smart-form--fullscreen{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;border-radius:0}.smart-form--fullscreen>.n-card__content{flex:1;min-height:0;overflow:auto}.import-steps[data-v-20fd3250]{margin-bottom:20px}.import-pane[data-v-20fd3250]{min-height:200px}.import-upload-icon[data-v-20fd3250]{margin-bottom:12px;color:var(--n-text-color-3)}.import-mapping-head[data-v-20fd3250],.import-mapping-row[data-v-20fd3250]{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}.import-mapping-head[data-v-20fd3250]{font-weight:600;font-size:13px;margin-bottom:8px;color:var(--n-text-color-2)}.import-mapping-row[data-v-20fd3250]{margin-bottom:8px}.import-mapping-header[data-v-20fd3250]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.import-strategy[data-v-20fd3250]{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}[data-v-20fd3250] .import-cell{padding:2px;border-radius:4px}[data-v-20fd3250] .import-cell--error{background:var(--color-danger-bg)}[data-v-20fd3250] .import-cell--dup{background:var(--color-warning-bg)}.pw-meter[data-v-81b0f6bf]{margin:-8px 0 14px}.pw-bar[data-v-81b0f6bf]{display:flex;gap:6px}.pw-bar span[data-v-81b0f6bf]{flex:1;height:4px;border-radius:2px;transition:background var(--transition-fast)}.pw-level[data-v-81b0f6bf]{margin-top:6px;font-size:12px}.pw-rules[data-v-81b0f6bf]{margin:8px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}.pw-rules li[data-v-81b0f6bf]{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-tertiary)}.pw-rules li.ok[data-v-81b0f6bf]{color:#5aa86e}.select-table[data-v-78ca7f91]{height:520px;min-height:0;display:flex;flex-direction:column;gap:12px}.select-table-search[data-v-78ca7f91]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.select-table-search[data-v-78ca7f91] .n-input{flex:0 1 200px}.select-table-search .keyword-input[data-v-78ca7f91]{flex:1 1 320px;min-width:260px}.select-table-search[data-v-78ca7f91] .n-button{flex:none}.select-table-grid[data-v-78ca7f91]{flex:1;min-height:0}[data-v-78ca7f91] .select-table-row-selected td{background-color:var(--table-selected-bg)}.user-picker[data-v-41b95328]{display:flex;gap:12px;min-height:400px}.panel-header[data-v-41b95328]{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;padding:0 0 8px;border-bottom:1px solid var(--n-border-color, #e0e0e6);margin-bottom:8px}.picker-tree[data-v-41b95328]{width:160px;flex-shrink:0;overflow:auto;border-right:1px solid var(--n-border-color, #e0e0e6);padding-right:12px}.picker-table[data-v-41b95328]{flex:1;min-width:0;overflow:hidden}.picker-selected[data-v-41b95328]{width:200px;flex-shrink:0;border-left:1px solid var(--n-border-color, #e0e0e6);padding-left:12px;display:flex;flex-direction:column}.selected-list[data-v-41b95328]{flex:1;overflow:auto;max-height:380px}.selected-item[data-v-41b95328]{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:13px;border-bottom:1px solid var(--n-border-color, #e0e0e6)}.selected-item[data-v-41b95328]:last-child{border-bottom:none}.selected-name[data-v-41b95328]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-account[data-v-41b95328]{color:var(--n-text-color-disabled, #999);font-size:12px;margin-left:2px}.palette[data-v-7f4fa2eb]{width:560px;max-width:92vw;background:var(--color-bg-container);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);overflow:hidden}.search[data-v-7f4fa2eb]{display:flex;align-items:center;gap:8px;padding:6px 16px;border-bottom:1px solid var(--color-border)}.sicon[data-v-7f4fa2eb]{color:var(--color-text-tertiary);flex-shrink:0}.list[data-v-7f4fa2eb]{padding:8px}.item[data-v-7f4fa2eb]{display:flex;align-items:center;gap:10px;height:44px;padding:0 12px;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-primary)}.item.active[data-v-7f4fa2eb]{background:var(--color-primary-light);color:var(--color-primary)}.iicon[data-v-7f4fa2eb]{flex-shrink:0}.ititle[data-v-7f4fa2eb]{font-size:var(--font-size-md)}.ititle[data-v-7f4fa2eb] mark{background:transparent;color:var(--color-primary);font-weight:600}.ipath[data-v-7f4fa2eb]{margin-left:auto;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.empty[data-v-7f4fa2eb]{padding:32px 0}.hint[data-v-7f4fa2eb]{padding:8px 16px;border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.site-logo[data-v-88ac0194]{display:block;width:auto;max-width:100%;object-fit:contain}.oauth-brand-badge[data-v-d7509bf4]{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;border-radius:50%;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none;flex-shrink:0}.oauth-brand-icon[data-v-d7509bf4]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.oauth-brand-letter[data-v-d7509bf4]{font-size:12px;font-weight:700;color:var(--color-text-secondary, #666);line-height:1}.login-form[data-v-edac6de7]{width:100%}.lf-pending-alert[data-v-edac6de7]{margin-bottom:16px;border-radius:10px;text-align:left}.lf-brand[data-v-edac6de7]{display:flex;align-items:center;gap:10px;margin-bottom:18px}.lf-word[data-v-edac6de7]{font-size:22px;font-weight:700;letter-spacing:.2px;color:var(--lf-title, var(--color-text-primary))}.lf-title[data-v-edac6de7]{font-size:var(--font-size-lg);font-weight:600;margin:0 0 22px;color:var(--lf-title, var(--color-text-primary))}.lf-hint-line[data-v-edac6de7]{margin:-14px 0 18px;font-size:13px;color:var(--lf-hint, var(--color-text-tertiary))}.row[data-v-edac6de7]{margin:4px 0 20px}.lf-between[data-v-edac6de7]{display:flex;align-items:center;justify-content:space-between}.lf-link[data-v-edac6de7]{font-size:13px;color:var(--color-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.lf-link[data-v-edac6de7]:hover{opacity:.85}.lf-link-disabled[data-v-edac6de7]{color:var(--lf-hint, var(--color-text-tertiary));cursor:default;pointer-events:none}.lf-captcha[data-v-edac6de7]{display:flex;gap:10px;width:100%;align-items:stretch}.lf-captcha-img[data-v-edac6de7]{flex:0 0 auto;height:40px;min-width:96px;padding:0;border:1px solid var(--lf-border, var(--color-border));border-radius:var(--radius-md);background:#fff;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center}.lf-captcha-img[data-v-edac6de7] svg{height:100%;width:auto}.lf-send-btn[data-v-edac6de7]{flex:0 0 auto;height:40px;min-width:96px;padding:0 12px;border:1px solid var(--lf-border, var(--color-border));border-radius:var(--radius-md);background:var(--color-fill);font-size:13px;color:var(--lf-title, var(--color-text-secondary));cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.lf-send-btn[data-v-edac6de7]:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.lf-send-btn[data-v-edac6de7]:disabled{opacity:.6;cursor:not-allowed}.hero-btn[data-v-edac6de7]{width:100%;height:48px;border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.hero-btn[data-v-edac6de7]:hover{transform:translateY(-2px)}.hero-btn[data-v-edac6de7]:active{transform:translateY(0)}.hero-btn[data-v-edac6de7]:disabled{opacity:.7;cursor:not-allowed}.lf-divider[data-v-edac6de7]{display:flex;align-items:center;gap:14px;margin:24px 0 16px}.lf-divider[data-v-edac6de7]:before,.lf-divider[data-v-edac6de7]:after{content:"";flex:1;height:1px;background:var(--lf-border, var(--color-border))}.lf-divider span[data-v-edac6de7]{font-size:12px;color:var(--lf-hint, var(--color-text-tertiary))}.lf-sso[data-v-edac6de7]{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.lf-sso-btn[data-v-edac6de7]{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:inherit;text-decoration:none;cursor:pointer;overflow:hidden;box-sizing:border-box;flex-shrink:0}.lf-sso-btn[data-v-edac6de7]:hover{text-decoration:none;color:inherit}.lf-sso-btn[data-v-edac6de7]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.lf-sso-more[data-v-edac6de7]{width:32px;height:32px;border:1px solid var(--lf-border, var(--color-border));background:var(--color-fill, #f5f5f5);color:var(--color-text-tertiary, #999)}.lf-foot[data-v-edac6de7]{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:24px;font-size:12px;color:var(--lf-hint, var(--color-text-tertiary))}.lf-foot a[data-v-edac6de7]{color:inherit;text-decoration:none}.lf-foot a[data-v-edac6de7]:hover{color:var(--color-primary)}.lf-ver[data-v-edac6de7]{opacity:.75}.aurora[data-v-e994c489]{position:relative;height:100dvh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(140% 120% at 50% 0%,#12162b,#0a0b12 55%,#06060c)}.aurora[data-v-e994c489]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 0%,transparent 72%);mask-image:radial-gradient(circle at 50% 45%,#000 0%,transparent 72%)}.aurora[data-v-e994c489]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(120% 120% at 50% 42%,transparent 52%,rgba(0,0,0,.6) 100%)}.aurora-bg[data-v-e994c489]{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:0;background:radial-gradient(38% 38% at 18% 22%,var(--a1),transparent 68%),radial-gradient(42% 42% at 82% 18%,var(--a2),transparent 70%),radial-gradient(48% 48% at 60% 88%,var(--a3),transparent 72%),radial-gradient(34% 34% at 88% 68%,var(--a4),transparent 66%);filter:blur(28px);animation:aurora-move-e994c489 18s ease-in-out infinite alternate}@keyframes aurora-move-e994c489{0%{transform:translate3d(-3%,-2%,0) rotate(0) scale(1.05)}50%{transform:translate3d(3%,2%,0) rotate(4deg) scale(1.16)}to{transform:translate3d(-2%,3%,0) rotate(-3deg) scale(1.08)}}.stars[data-v-e994c489]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:radial-gradient(1.5px 1.5px at 20% 30%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1px 1px at 70% 62%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1.5px 1.5px at 42% 82%,rgba(255,255,255,.6),transparent 60%),radial-gradient(1px 1px at 85% 22%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1px 1px at 55% 14%,rgba(255,255,255,.55),transparent 60%),radial-gradient(1.5px 1.5px at 12% 66%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1px 1px at 92% 48%,rgba(255,255,255,.45),transparent 60%);animation:twinkle-e994c489 5s ease-in-out infinite}@keyframes twinkle-e994c489{0%,to{opacity:.45}50%{opacity:.9}}.orb[data-v-e994c489]{position:absolute;z-index:0;border-radius:50%;filter:blur(55px);opacity:.55}.orb-1[data-v-e994c489]{width:340px;height:340px;background:var(--a1);top:-60px;left:-40px;animation:float-y-e994c489 14s ease-in-out infinite}.orb-2[data-v-e994c489]{width:280px;height:280px;background:var(--a4);bottom:-80px;right:-40px;animation:float-y-e994c489 16s ease-in-out infinite reverse}.orb-3[data-v-e994c489]{width:200px;height:200px;background:var(--a3);top:38%;right:18%;animation:float-y-e994c489 20s ease-in-out infinite}@keyframes float-y-e994c489{0%,to{transform:translateY(0)}50%{transform:translateY(-30px)}}.aurora-content[data-v-e994c489]{position:relative;z-index:3;width:100%;max-width:520px;padding:24px}.halo[data-v-e994c489]{position:absolute;z-index:0;top:8px;right:8px;bottom:8px;left:8px;border-radius:36px;background:conic-gradient(from 0deg,var(--a1),var(--a2),var(--a3),var(--a4),var(--a1));filter:blur(48px);opacity:.6;animation:spin-e994c489 16s linear infinite}@keyframes spin-e994c489{to{transform:rotate(360deg)}}.glass-card[data-v-e994c489]{--lf-title: #fff;--lf-hint: rgba(255, 255, 255, .5);position:relative;z-index:1;width:100%;padding:46px;border-radius:20px;background:#ffffff12;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%);box-shadow:0 30px 80px #0000008c,0 0 60px -12px var(--a2),inset 0 1px #fff3;overflow:hidden}.glass-card[data-v-e994c489]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;padding:1px;background:linear-gradient(135deg,var(--a1),transparent 45%,var(--a2));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.9}.glass-card[data-v-e994c489]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(120deg,transparent 36%,rgba(255,255,255,.1) 48%,transparent 60%);background-size:220% 100%;background-repeat:no-repeat;animation:sheen-e994c489 8s ease-in-out infinite}@keyframes sheen-e994c489{0%{background-position:180% 0}55%,to{background-position:-60% 0}}.grain[data-v-e994c489]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.aurora.light[data-v-e994c489]{background:radial-gradient(140% 120% at 50% 0%,#eef1fb,#f6f7fc 55%,#fff)}.aurora.light[data-v-e994c489]:before{background-image:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px)}.aurora.light[data-v-e994c489]:after{background:radial-gradient(120% 120% at 50% 42%,transparent 55%,rgba(120,130,180,.12) 100%)}.aurora.light .stars[data-v-e994c489]{display:none}.aurora.light .halo[data-v-e994c489]{opacity:.5}.aurora.light .glass-card[data-v-e994c489]{--lf-title: var(--color-text-primary);--lf-hint: var(--color-text-tertiary);background:#ffffff9e;border:1px solid rgba(214,218,235,.9);box-shadow:0 30px 80px #505aa02e,0 0 60px -12px var(--a2),inset 0 1px #ffffffe6}.aurora.light .glass-card[data-v-e994c489]:before{display:none}.aurora.light .glass-card[data-v-e994c489]:after{display:none}@media(max-width:480px){.aurora-content[data-v-e994c489]{padding:16px}.glass-card[data-v-e994c489]{padding:32px 24px}}@media(prefers-reduced-motion:reduce){.aurora-bg[data-v-e994c489],.orb[data-v-e994c489],.stars[data-v-e994c489],.halo[data-v-e994c489],.glass-card[data-v-e994c489]:after{animation:none}.glass-card[data-v-e994c489]:after{display:none}}.split[data-v-75743368]{height:100dvh;display:grid;grid-template-columns:1.15fr .85fr;background:var(--color-bg-body)}.panel[data-v-75743368]{position:relative;overflow:hidden;background:var(--color-bg-body);border-right:1px solid var(--color-border)}.panel[data-v-75743368]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(127,127,127,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(127,127,127,.08) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(circle at 30% 40%,#000,transparent 72%);mask-image:radial-gradient(circle at 30% 40%,#000,transparent 72%)}.panel-aurora[data-v-75743368]{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(40% 40% at 25% 20%,var(--a1),transparent 68%),radial-gradient(45% 45% at 80% 78%,var(--a2),transparent 70%);filter:blur(45px);opacity:.9;animation:panel-move-75743368 22s ease-in-out infinite alternate}@keyframes panel-move-75743368{0%{transform:translate3d(-3%,-2%,0) scale(1.05)}to{transform:translate3d(3%,3%,0) scale(1.12)}}.panel-inner[data-v-75743368]{position:relative;z-index:1;padding:64px 56px;display:flex;flex-direction:column;height:100%;justify-content:center}.logo[data-v-75743368]{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:700;color:#2a3c82}.bar[data-v-75743368]{width:40px;height:3px;border-radius:2px;margin:28px 0 20px}.headline[data-v-75743368]{font-size:42px;line-height:1.2;font-weight:800;color:var(--color-text-primary);margin:0}.sub[data-v-75743368]{color:var(--color-text-secondary);margin:16px 0 28px}.points[data-v-75743368]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.points li[data-v-75743368]{display:flex;align-items:center;gap:10px;color:var(--color-text-secondary)}.form-wrap[data-v-75743368]{position:relative;display:flex;flex-direction:column;background:var(--color-bg-container)}.mid[data-v-75743368]{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.form-inner[data-v-75743368]{width:100%;max-width:340px;animation:fade-up-75743368 .6s cubic-bezier(.16,1,.3,1) both}.greet[data-v-75743368]{font-size:26px;font-weight:700;letter-spacing:-.01em;color:var(--color-text-primary);margin:0 0 6px}.greet-sub[data-v-75743368]{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0 0 26px}.foot[data-v-75743368]{margin:0;padding:18px 24px 22px;text-align:center;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.foot a[data-v-75743368]{color:inherit;text-decoration:none}.foot a[data-v-75743368]:hover{color:var(--color-primary)}.foot-ver[data-v-75743368]{margin-left:8px;opacity:.75}@keyframes fade-up-75743368{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:900px){.split[data-v-75743368]{grid-template-columns:1fr}.panel[data-v-75743368]{display:none}}@media(prefers-reduced-motion:reduce){.panel-aurora[data-v-75743368],.form-inner[data-v-75743368]{animation:none}}.spotlight[data-v-2d0bde1c]{position:relative;height:100dvh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-bg-body)}.mesh[data-v-2d0bde1c]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(30% 40% at 15% 20%,var(--s1),transparent 60%),radial-gradient(30% 40% at 85% 80%,var(--s2),transparent 60%);opacity:.9}.spot[data-v-2d0bde1c]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(340px 340px at var(--mx) var(--my),var(--spot),transparent 60%);transition:background .12s ease-out}.card[data-v-2d0bde1c]{position:relative;z-index:2;width:100%;max-width:460px;padding:46px;background:var(--color-bg-container);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);animation:fade-up-2d0bde1c .6s cubic-bezier(.16,1,.3,1) both}@keyframes fade-up-2d0bde1c{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:480px){.spotlight[data-v-2d0bde1c]{padding:0 16px}.card[data-v-2d0bde1c]{padding:32px 24px}}@media(prefers-reduced-motion:reduce){.spot[data-v-2d0bde1c]{transition:none}.card[data-v-2d0bde1c]{animation:none}}.login-shell[data-v-846afb99]{position:relative;height:100dvh;overflow:hidden}.login-topbar[data-v-846afb99]{position:fixed;top:20px;right:24px;z-index:10;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.login-tools[data-v-846afb99]{display:flex;gap:2px;padding:4px;border-radius:999px;background:#12141c8c;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 6px 20px #00000047}.tool-btn[data-v-846afb99]{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;padding:0 10px;border:none;cursor:pointer;border-radius:999px;background:transparent;font-size:13px;font-weight:600;color:#ffffff9e;transition:color .2s,background .2s}.tool-btn[data-v-846afb99]:hover{color:#fff}.tool-btn[data-v-846afb99]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.skin-switch[data-v-846afb99]{display:flex;gap:2px;padding:4px;border-radius:999px;background:#12141c8c;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 6px 20px #00000047}.skin-seg[data-v-846afb99]{border:none;cursor:pointer;padding:6px 16px;border-radius:999px;background:transparent;font-size:13px;font-weight:600;color:#ffffff9e;transition:color .2s,background .2s}.skin-seg[data-v-846afb99]:hover{color:#fff}.skin-seg.active[data-v-846afb99]{background:var(--color-primary);color:#fff}.oauth-cb[data-v-843f1b99]{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-layout, #f5f6f8)}.oauth-box[data-v-843f1b99]{display:flex;flex-direction:column;align-items:center;gap:14px}.oauth-msg[data-v-843f1b99]{font-size:15px;color:var(--color-text-primary)}.oauth-sub[data-v-843f1b99]{font-size:13px;color:var(--color-text-tertiary)}.oauth-err-icon[data-v-843f1b99]{font-size:44px;color:var(--color-error, #e88080)}.mfa-page[data-v-b6e82c2c]{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--color-body, #f5f7fa)}.mfa-card[data-v-b6e82c2c]{width:min(100%,520px)}.mfa-header[data-v-b6e82c2c]{display:flex;align-items:center;justify-content:space-between;gap:12px}.mfa-qr-wrap[data-v-b6e82c2c]{display:flex;justify-content:center;margin:0 0 16px;padding:16px;background:#fff;border-radius:8px;border:1px solid var(--color-border, #e5e7eb)}.mfa-manual-hint[data-v-b6e82c2c]{margin:-8px 0 12px;font-size:12px;color:var(--color-text-tertiary, #9ca3af);line-height:1.5}.recovery-codes[data-v-b6e82c2c]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recovery-codes[data-v-b6e82c2c] .n-alert,.recovery-codes[data-v-b6e82c2c] .n-button{grid-column:1 / -1}.recovery-code[data-v-b6e82c2c]{padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--color-hover, #f4f4f5);border-radius:4px}@media(max-width:480px){.mfa-page[data-v-b6e82c2c]{padding:12px}.recovery-codes[data-v-b6e82c2c]{grid-template-columns:1fr}}.boot-error[data-v-c523298c]{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;background:var(--color-bg-app)}h1[data-v-c523298c]{margin:0;color:var(--color-text-primary);font-size:var(--font-size-xl)}p[data-v-c523298c]{margin:0 0 8px;max-width:480px;color:var(--color-text-secondary)}.wrap[data-v-f50f3abd]{min-height:100dvh;background:var(--color-bg-body);padding:80px 24px;display:flex;flex-direction:column;align-items:center}.head[data-v-f50f3abd]{display:flex;align-items:center;gap:12px;margin-bottom:32px}.head h1[data-v-f50f3abd]{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary)}.grid[data-v-f50f3abd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--gap-card);width:100%;max-width:900px}.card[data-v-f50f3abd]{position:relative;display:flex;align-items:center;gap:14px;padding:20px;background:var(--color-bg-container);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.card.current[data-v-f50f3abd]{border-color:var(--color-primary)}.card[data-v-f50f3abd]:hover{transform:translateY(-3px);border-color:var(--color-primary);box-shadow:var(--shadow-2)}.card[data-v-f50f3abd]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ico[data-v-f50f3abd]{color:var(--color-primary)}.name[data-v-f50f3abd]{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary)}.code[data-v-f50f3abd]{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-family:var(--font-family-mono)}.def[data-v-f50f3abd]{position:absolute;top:10px;right:12px}.row[data-v-195679a9]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px}.lbl[data-v-195679a9]{color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap}.ctl[data-v-195679a9]{display:flex;align-items:center;min-width:0}.grid[data-v-66443dff]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding-inline:3px}.cell[data-v-66443dff]{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}.card[data-v-66443dff]{width:100%;height:62px;padding:6px;border:none;border-radius:4px;background:var(--color-bg-container);box-shadow:0 1px 3px #141b2d1a,0 0 0 2px transparent;cursor:pointer;transition:box-shadow .15s ease}.cell:hover .card[data-v-66443dff],.card.on[data-v-66443dff]{box-shadow:0 1px 3px #141b2d1a,0 0 0 2px var(--color-primary)}.inner[data-v-66443dff]{--strong: var(--color-primary);--p300: color-mix(in srgb, var(--color-primary) 58%, var(--color-bg-container));--p200: color-mix(in srgb, var(--color-primary) 34%, var(--color-bg-container));display:flex;gap:5px;width:100%;height:100%}.inner.row[data-v-66443dff]{flex-direction:row}.inner.col[data-v-66443dff]{flex-direction:column}.inner i[data-v-66443dff],.inner .vwrap[data-v-66443dff],.inner .hwrap[data-v-66443dff]{border-radius:3px}.strong[data-v-66443dff]{background:var(--strong)}.p300[data-v-66443dff]{background:var(--p300)}.p200[data-v-66443dff]{background:var(--p200)}.sider[data-v-66443dff]{width:18%;flex-shrink:0}.rail[data-v-66443dff]{width:9%;flex-shrink:0}.subsider[data-v-66443dff]{width:16%;flex-shrink:0}.header[data-v-66443dff]{flex-shrink:0;height:13px}.header.full[data-v-66443dff]{width:100%}.main[data-v-66443dff]{flex:1}.vwrap[data-v-66443dff]{flex:1;display:flex;flex-direction:column;gap:5px}.vwrap .header[data-v-66443dff]{width:100%}.hwrap[data-v-66443dff]{flex:1;display:flex;flex-direction:row;gap:5px}.label[data-v-66443dff]{margin:0;text-align:center;font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-secondary)}.label.on[data-v-66443dff]{color:var(--color-primary);font-weight:var(--font-weight-medium)}.tabs[data-v-adecf714]{height:100%}.footer-actions[data-v-adecf714]{display:flex;flex-direction:column;gap:8px;width:100%}.ri[data-v-adecf714]{margin-right:5px;font-size:15px}.seg[data-v-adecf714]{display:flex;width:100%}.seg[data-v-adecf714] .n-radio-button{flex:1;display:flex;align-items:center;justify-content:center}.accents[data-v-adecf714]{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:12px}.dot[data-v-adecf714]{position:relative;width:100%;max-width:30px;margin:0 auto;aspect-ratio:1;padding:0;border:none;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 1px #00000014;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease}.dot[data-v-adecf714]:hover{transform:scale(1.12)}.dot.on[data-v-adecf714]{transform:scale(1.1);box-shadow:0 0 0 2px var(--color-bg-container),0 0 0 4px var(--color-primary)}.tick[data-v-adecf714]{color:#fff;font-size:14px;filter:drop-shadow(0 0 1px rgba(0,0,0,.35))}.notice-panel[data-v-1ac49123]{width:360px;max-width:92vw}.notice-head[data-v-1ac49123]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 4px}.notice-title[data-v-1ac49123]{font-weight:600;font-size:var(--font-size-md)}.notice-empty[data-v-1ac49123]{padding:32px 0}.notice-list[data-v-1ac49123]{margin:0;padding:0;list-style:none}.notice-item[data-v-1ac49123]{position:relative;display:flex;gap:8px;padding:12px 16px;cursor:pointer;border-top:1px solid var(--n-divider-color, rgba(128, 128, 128, .15));transition:background-color .2s}.notice-item[data-v-1ac49123]:hover{background-color:#80808014}.notice-item.unread[data-v-1ac49123]{background-color:color-mix(in srgb,var(--color-primary) 4%,transparent)}.notice-item.unread[data-v-1ac49123]:hover{background-color:color-mix(in srgb,var(--color-primary) 9%,transparent)}.notice-item.read[data-v-1ac49123]{opacity:.55}.dot[data-v-1ac49123]{position:absolute;left:6px;top:18px;width:6px;height:6px;border-radius:50%;background:var(--color-primary, #d03050)}.notice-body[data-v-1ac49123]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.line1[data-v-1ac49123]{display:flex;align-items:center;gap:6px;min-width:0}.item-title[data-v-1ac49123]{flex:1;min-width:0;font-size:var(--font-size-sm)}.item-title.unread[data-v-1ac49123]{font-weight:600}.item-actions-mark[data-v-1ac49123]{flex-shrink:0;color:var(--color-primary, #d03050)}.item-snippet[data-v-1ac49123]{font-size:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-time[data-v-1ac49123]{font-size:11px}.notice-foot[data-v-1ac49123]{display:flex;justify-content:center;padding:8px;border-top:1px solid var(--n-divider-color, rgba(128, 128, 128, .15))}.bar[data-v-8dc4f67f]{height:100%;display:flex;align-items:center;gap:12px;padding:0 16px}.left[data-v-8dc4f67f]{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden}.brand[data-v-8dc4f67f]{display:flex;align-items:center;gap:8px;color:var(--color-text-primary);font-weight:600;flex-shrink:0}.brand-name[data-v-8dc4f67f]{font-size:var(--font-size-md)}.title[data-v-8dc4f67f]{font-size:var(--font-size-md);font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uname[data-v-8dc4f67f]{margin-left:6px}.center[data-v-8dc4f67f]{flex:1;min-width:0;overflow:hidden}.right[data-v-8dc4f67f]{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}@media(max-width:767px){.bar[data-v-8dc4f67f]{gap:8px;padding:0 8px}.mobile-hide[data-v-8dc4f67f]{display:none}}.sidenav[data-v-0b56822a]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-container);overflow:hidden}.brand[data-v-0b56822a]{display:flex;align-items:center;gap:10px;height:var(--header-h);padding:0 22px;color:var(--color-text-primary);font-weight:600;overflow:hidden;white-space:nowrap;flex-shrink:0}.rail .brand[data-v-0b56822a]{padding:0;justify-content:center}.brand-name[data-v-0b56822a]{font-size:20px;font-weight:700;color:var(--color-text-primary)}.sidenav[data-v-0b56822a] .n-scrollbar{flex:1;min-height:0}.tabsbar[data-v-8fc6542a]{height:42px;display:flex;align-items:center;padding:0 8px;background:var(--color-bg-container);border-bottom:1px solid var(--color-border)}.strip[data-v-8fc6542a]{display:flex;align-items:center;gap:6px;padding:5px 0}.chip[data-v-8fc6542a]{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-fill);color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s,background .15s,border-color .15s}.chip[data-v-8fc6542a]:hover{color:var(--color-text-primary)}.chip.active[data-v-8fc6542a]{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.chip[data-v-8fc6542a]:focus-visible,.chip-close[data-v-8fc6542a]:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.chip-pin[data-v-8fc6542a]{opacity:.7}.chip-close[data-v-8fc6542a]{border-radius:50%;opacity:.6}.chip-close[data-v-8fc6542a]:hover{opacity:1;background:var(--color-fill)}.layout[data-v-aa6e9642]{display:grid;height:100dvh;overflow:hidden;background:var(--color-bg-app)}.mode-vertical[data-v-aa6e9642],.mode-vertical-mix[data-v-aa6e9642],.mode-vertical-hybrid-header-first[data-v-aa6e9642]{grid-template-columns:auto 1fr;grid-template-rows:var(--header-h) 1fr;grid-template-areas:"aside header" "aside content"}.mode-top-hybrid-sidebar-first[data-v-aa6e9642],.mode-top-hybrid-header-first[data-v-aa6e9642]{grid-template-columns:auto 1fr;grid-template-rows:var(--header-h) 1fr;grid-template-areas:"header header" "aside content"}.mode-horizontal[data-v-aa6e9642],.mode-mobile[data-v-aa6e9642]{grid-template-columns:1fr;grid-template-rows:var(--header-h) 1fr;grid-template-areas:"header" "content"}.aside[data-v-aa6e9642]{grid-area:aside;height:100%;overflow:hidden;border-right:1px solid var(--color-border);background:var(--color-bg-container);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:width .2s ease}.aside--mix[data-v-aa6e9642]{display:flex}.aside--mix .rail[data-v-aa6e9642]{width:var(--rail-w);flex-shrink:0;border-right:1px solid var(--color-border)}.aside--mix .l2col[data-v-aa6e9642]{flex:1;min-width:0}.header[data-v-aa6e9642]{grid-area:header;display:flex;align-items:stretch;border-bottom:1px solid var(--color-border);background:var(--color-header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}.header--static[data-v-aa6e9642]{-webkit-backdrop-filter:none;backdrop-filter:none}.hbg[data-v-aa6e9642]{align-self:center;margin-left:8px}.apph[data-v-aa6e9642]{flex:1;min-width:0;height:100%}.content[data-v-aa6e9642]{grid-area:content;display:flex;flex-direction:column;min-height:0;overflow:hidden}.tabs[data-v-aa6e9642]{flex-shrink:0}.page[data-v-aa6e9642]{flex:1;min-height:0;overflow:auto;padding:var(--pad-page)}.personal-layout[data-v-45e1c4ea]{display:flex;gap:16px;align-items:stretch;min-height:100%}.personal-sider[data-v-45e1c4ea]{width:200px;flex-shrink:0;background:var(--color-bg-container, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:8px 0 12px}.personal-main[data-v-45e1c4ea]{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.personal-mobile-nav[data-v-45e1c4ea]{max-width:360px}.personal-content[data-v-45e1c4ea]{min-width:0}.personal-layout.is-mobile[data-v-45e1c4ea]{flex-direction:column}.avatar-field[data-v-5c4afffc]{display:flex;align-items:center;gap:12px}.sec-desc[data-v-7afb110e]{margin:0 0 16px;color:var(--color-text-2, #666);line-height:1.5}.sec-note[data-v-7afb110e]{margin:20px 0 0;font-size:12px;color:var(--color-text-3, #999);line-height:1.5}[data-v-83e5e6b1] .device-cell{display:flex;align-items:center;gap:8px}.bind-page[data-v-3ab6b190]{max-width:920px}.bind-header[data-v-3ab6b190]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}.bind-title[data-v-3ab6b190]{margin:0 0 6px;font-size:18px;font-weight:600;line-height:1.3;color:var(--color-text-primary, #1f1f1f)}.bind-hint[data-v-3ab6b190]{margin:0;max-width:520px;font-size:13px;line-height:1.55;color:var(--color-text-secondary, #666)}.bind-summary[data-v-3ab6b190]{display:inline-flex;align-items:baseline;gap:4px;padding:8px 12px;border-radius:10px;background:var(--color-fill, #f5f5f5);font-size:13px;color:var(--color-text-secondary, #666);flex-shrink:0}.bind-summary-num[data-v-3ab6b190]{font-size:18px;font-weight:700;color:var(--color-primary, #646cff);font-variant-numeric:tabular-nums}.bind-summary-sep[data-v-3ab6b190]{opacity:.5}.bind-summary-label[data-v-3ab6b190]{margin-left:4px}.bind-alert[data-v-3ab6b190]{margin-bottom:16px;border-radius:10px}.bind-empty[data-v-3ab6b190]{padding:48px 0}.bind-grid[data-v-3ab6b190]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.bind-card[data-v-3ab6b190] .n-card-content{display:flex;flex-direction:column;gap:14px}.bind-card[data-v-3ab6b190]:hover{box-shadow:0 4px 14px #0000000f}.bind-card.bind-card--bound[data-v-3ab6b190]{border-color:color-mix(in srgb,var(--color-success, #18a058) 40%,var(--color-border, #e8e8e8));background:color-mix(in srgb,var(--color-success, #18a058) 4%,var(--color-bg-container, #fff))}.bind-card.bind-card--disabled[data-v-3ab6b190]{opacity:.78;background:var(--color-fill-quaternary, #f7f7f7);border-style:dashed}.bind-card-main[data-v-3ab6b190]{display:flex;align-items:flex-start;gap:12px;min-width:0}.bind-avatar[data-v-3ab6b190]{position:relative;display:inline-flex;width:48px;height:48px;flex-shrink:0;align-items:center;justify-content:center;border-radius:50%;overflow:visible;background:var(--color-fill, #f5f5f5)}.bind-avatar[data-v-3ab6b190] .oauth-brand-badge,.bind-avatar[data-v-3ab6b190] img{border-radius:50%;overflow:hidden}.bind-avatar--bound[data-v-3ab6b190]{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-success, #18a058) 35%,transparent)}.bind-check[data-v-3ab6b190]{position:absolute;right:-2px;bottom:-2px;display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;border-radius:50%;background:var(--color-success, #18a058);color:#fff;border:2px solid var(--color-bg-container, #fff);line-height:0}.bind-meta[data-v-3ab6b190]{min-width:0;flex:1}.bind-title-row[data-v-3ab6b190]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.bind-name[data-v-3ab6b190]{font-size:15px;font-weight:600;color:var(--color-text-primary, #1f1f1f);line-height:1.3}.bind-code[data-v-3ab6b190]{display:inline-block;font-size:12px;color:var(--color-text-tertiary, #999);background:var(--color-fill, #f5f5f5);padding:1px 6px;border-radius:4px}.bind-time[data-v-3ab6b190],.bind-free-tip[data-v-3ab6b190],.bind-disabled-tip[data-v-3ab6b190]{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--color-text-tertiary, #999)}.bind-time[data-v-3ab6b190]{color:var(--color-text-secondary, #666)}.bind-actions[data-v-3ab6b190]{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px dashed var(--color-border, #e8e8e8);min-height:36px}.bind-na[data-v-3ab6b190]{font-size:12px;color:var(--color-text-tertiary, #999)}.nf[data-v-6b886879]{min-height:60vh;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--color-bg-body)}.code[data-v-6b886879]{font-size:96px;font-weight:800;line-height:1}.msg[data-v-6b886879]{color:var(--color-text-secondary);font-size:var(--font-size-md)}.row[data-v-1ba501cb]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-md);cursor:pointer}.row[data-v-1ba501cb]:hover{background:var(--color-fill-hover)}.empty[data-v-1ba501cb]{padding:24px 0}.view[data-v-4a6a23e0]{display:flex;flex-direction:column;gap:var(--gap-card)}.banner[data-v-4a6a23e0]{display:flex;align-items:center;gap:16px;padding:24px;border-radius:var(--radius-lg);background:var(--color-primary-light)}.avatar[data-v-4a6a23e0]{flex-shrink:0;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center}.banner-body[data-v-4a6a23e0]{min-width:0}.hi[data-v-4a6a23e0]{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.tip[data-v-4a6a23e0]{color:var(--color-text-secondary);margin-top:4px}.meta-row[data-v-4a6a23e0]{margin-top:8px;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.meta-dot[data-v-4a6a23e0]{width:3px;height:3px;border-radius:50%;background:var(--color-text-disabled);flex-shrink:0}.row[data-v-4a6a23e0]{display:grid;grid-template-columns:1.35fr 1fr;gap:var(--gap-card);align-items:start}@media(max-width:760px){.row[data-v-4a6a23e0]{grid-template-columns:1fr}}.todo-list[data-v-4a6a23e0]{display:flex;flex-direction:column}.todo-row[data-v-4a6a23e0]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--color-border);cursor:pointer}.todo-row[data-v-4a6a23e0]:last-child{border-bottom:none}.todo-title[data-v-4a6a23e0]{color:var(--color-text-primary);font-weight:500}.todo-sub[data-v-4a6a23e0]{margin-top:2px;font-size:12px;color:var(--color-text-tertiary)}.todo-time[data-v-4a6a23e0]{flex-shrink:0;font-size:12px;color:var(--color-text-tertiary)}.quick-group-label[data-v-4a6a23e0]{font-size:12px;color:var(--color-text-tertiary);margin:4px 0 8px}.quick-grid[data-v-4a6a23e0]{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:4px}.quick-item[data-v-4a6a23e0]{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-md)}.quick-item.suggested[data-v-4a6a23e0]{border-style:dashed}.quick-body[data-v-4a6a23e0]{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;cursor:pointer}.quick-name[data-v-4a6a23e0]{font-size:13px;color:var(--color-text-secondary)}.quick-star[data-v-4a6a23e0]{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-disabled);display:flex;align-items:center;justify-content:center;cursor:pointer}.quick-star.active[data-v-4a6a23e0]{color:var(--color-warning)}.notice-row[data-v-4a6a23e0]{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.notice-title[data-v-4a6a23e0]{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary)}.dot[data-v-4a6a23e0]{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--color-primary)}.notice-time[data-v-4a6a23e0]{flex-shrink:0;color:var(--color-text-secondary);font-size:12px}.view[data-v-a20971bd]{display:flex;flex-direction:column;gap:var(--gap-card)}.banner[data-v-a20971bd]{display:flex;align-items:center;gap:16px;padding:24px;border-radius:var(--radius-lg);background:var(--color-primary-light)}.avatar[data-v-a20971bd]{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center}.hi[data-v-a20971bd]{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.tip[data-v-a20971bd]{color:var(--color-text-secondary);margin-top:4px}.stat[data-v-a20971bd]{display:flex;align-items:center;gap:16px}.stat-body[data-v-a20971bd]{min-width:0}.stat-ico[data-v-a20971bd]{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,currentColor 12%,transparent)}.stat-val[data-v-a20971bd]{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1.1}.stat-label[data-v-a20971bd]{color:var(--color-text-secondary);margin-top:2px}.embed-wrap[data-v-dcc7858a]{height:100%;min-height:calc(100dvh - 160px)}.embed[data-v-dcc7858a]{display:block;width:100%;height:100%;min-height:calc(100dvh - 160px);border:0}.missing-route[data-v-1e499090]{min-height:60vh;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--color-text-secondary);text-align:center}h1[data-v-1e499090]{margin:0;color:var(--color-text-primary);font-size:var(--font-size-xl)}p[data-v-1e499090]{margin:0}code[data-v-1e499090]{padding:6px 8px;background:var(--color-bg-container);border:1px solid var(--color-border);border-radius:4px;color:var(--color-danger)}.provider-card[data-v-659dbae9]{border-radius:var(--radius-lg);transition:border-color .15s,background-color .15s,opacity .15s}.provider-card[data-v-659dbae9] .n-card-content{display:flex;flex-direction:column;gap:10px}.provider-card.provider-card--enabled[data-v-659dbae9]{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 4%,var(--color-bg-container))}.provider-card.provider-card--disabled[data-v-659dbae9]{opacity:.72}.provider-card.provider-card--pending[data-v-659dbae9]{border-style:dashed;border-color:color-mix(in srgb,var(--color-warning) 55%,var(--color-border))}.card-head[data-v-659dbae9]{display:flex;align-items:flex-start;gap:10px;min-width:0}.badge[data-v-659dbae9]{flex-shrink:0;width:42px;height:42px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,currentColor 14%,transparent)}.head-meta[data-v-659dbae9]{min-width:0;flex:1}.name-row[data-v-659dbae9]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.name[data-v-659dbae9]{font-size:15px;font-weight:600;color:var(--color-text-primary);line-height:1.3}.code[data-v-659dbae9]{display:inline-block;margin-top:4px;font-size:12px;color:var(--color-text-tertiary);background:var(--color-fill);padding:1px 6px;border-radius:4px}.pending-tip[data-v-659dbae9]{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-sm);background:var(--color-warning-bg);color:var(--color-warning);font-size:12px}.card-body[data-v-659dbae9]{display:flex;flex-direction:column;gap:6px}.row[data-v-659dbae9]{display:flex;align-items:baseline;gap:8px;font-size:12px;min-width:0}.label[data-v-659dbae9]{flex-shrink:0;color:var(--color-text-tertiary);width:66px}.value[data-v-659dbae9]{min-width:0;color:var(--color-text-secondary)}.value.ellipsis[data-v-659dbae9]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.mask[data-v-659dbae9]{margin-left:4px;color:var(--color-text-tertiary)}.card-actions[data-v-659dbae9]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:8px;border-top:1px dashed var(--color-border)}.switch-group[data-v-659dbae9]{display:flex;align-items:center;gap:6px}.switch-text[data-v-659dbae9]{font-size:12px;color:var(--color-text-tertiary)}.test-result[data-v-659dbae9]{display:flex;flex-direction:column;gap:4px;font-size:12px}.test-head[data-v-659dbae9]{display:flex;align-items:center;gap:6px;font-weight:600;margin-bottom:2px}.test-head.ok[data-v-659dbae9]{color:var(--color-success)}.test-head.fail[data-v-659dbae9]{color:var(--color-danger)}.test-row[data-v-659dbae9]{color:var(--color-text-secondary)}.test-error[data-v-659dbae9]{color:var(--color-danger)}.hint[data-v-adc0e948]{font-size:12px;color:var(--color-text-tertiary, #999)}.model-row[data-v-adc0e948]{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px}.model-row+.model-row[data-v-adc0e948]{margin-top:8px}.model-row-head[data-v-adc0e948]{display:flex;align-items:center;gap:8px}.model-index[data-v-adc0e948]{font-size:12px;font-weight:600;color:var(--color-text-tertiary)}.model-row-spacer[data-v-adc0e948]{flex:1}.model-row-fields[data-v-adc0e948]{display:flex;gap:8px;margin-top:8px}.field[data-v-adc0e948]{flex:1;min-width:0}.mini-label[data-v-adc0e948]{display:block;margin-bottom:2px;font-size:11px;color:var(--color-text-tertiary)}.view[data-v-b955f807]{display:flex;flex-direction:column;gap:var(--gap-card, 16px)}.toolbar[data-v-b955f807]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar-spacer[data-v-b955f807]{flex:1}.empty[data-v-b955f807]{padding:64px 0}.view[data-v-d81fc5a2]{display:flex;flex-direction:column;gap:var(--gap-card)}.filter-bar[data-v-d81fc5a2]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 24px}.filter-item[data-v-d81fc5a2]{display:flex;flex-direction:column;gap:6px}.filter-label[data-v-d81fc5a2]{font-size:var(--font-size-sm, 13px);color:var(--color-text-secondary)}.date-filter-row[data-v-d81fc5a2]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.quick-range[data-v-d81fc5a2]{display:flex;gap:4px}.metric-body[data-v-d81fc5a2]{min-width:0}.metric-val[data-v-d81fc5a2]{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1.1}.metric-suffix[data-v-d81fc5a2]{font-size:14px;font-weight:400;color:var(--color-text-secondary)}.metric-label[data-v-d81fc5a2]{color:var(--color-text-secondary);margin-top:4px}.share-cell[data-v-d81fc5a2]{display:flex;align-items:center;gap:8px}.share-bar[data-v-d81fc5a2]{flex:1;min-width:60px}.share-text[data-v-d81fc5a2]{flex:0 0 auto;color:var(--color-text-secondary);font-size:12px}.cache[data-v-21abb77a]{display:flex;flex-direction:column;gap:12px}.action-card[data-v-21abb77a]{height:100%}.head[data-v-21abb77a]{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}.desc[data-v-21abb77a]{margin:10px 0 14px;font-size:13px;line-height:1.6;color:var(--color-text-secondary, #999);min-height:42px}.note[data-v-21abb77a]{margin:4px 0 0;font-size:12px;line-height:1.6;color:var(--color-text-secondary, #999)}.group-extra-hint[data-v-3cb9c09b]{margin:-6px 0 12px;font-size:12px;color:var(--color-text-tertiary)}.ea[data-v-71792251]{max-width:920px}.ea-alert[data-v-71792251]{margin-bottom:16px;border-radius:10px}.ea-empty[data-v-71792251]{padding:48px 0}.ea-toolbar[data-v-71792251]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.ea-summary[data-v-71792251]{font-size:13px;color:var(--color-text-secondary, #666)}.ea-toolbar-actions[data-v-71792251]{display:flex;align-items:center;gap:8px}.ea-grid[data-v-71792251]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.ea-card[data-v-71792251]{display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:12px;border:1px solid var(--color-border, #e8e8e8);background:var(--color-bg-container, #fff);transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease}.ea-card[data-v-71792251]:hover{box-shadow:0 4px 14px #0000000f}.ea-card--off[data-v-71792251]{opacity:.85;background:var(--color-fill-quaternary, #fafafa)}.ea-card--on[data-v-71792251]{border-color:color-mix(in srgb,var(--color-primary, #18a058) 35%,var(--color-border, #e8e8e8))}.ea-card--na[data-v-71792251]{opacity:.72;background:var(--color-fill-quaternary, #f7f7f7);border-style:dashed}.ea-card-main[data-v-71792251]{display:flex;align-items:flex-start;gap:12px;min-width:0}.ea-avatar[data-v-71792251]{display:inline-flex;width:44px;height:44px;flex-shrink:0;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:var(--color-fill, #f5f5f5)}.ea-meta[data-v-71792251]{min-width:0;flex:1}.ea-title-row[data-v-71792251]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.ea-name[data-v-71792251]{font-size:15px;font-weight:600;color:var(--color-text-primary, #1f1f1f);line-height:1.3}.ea-code[data-v-71792251]{font-size:12px;color:var(--color-text-tertiary, #999);background:var(--color-fill, #f5f5f5);padding:1px 6px;border-radius:4px}.ea-na-tip[data-v-71792251]{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--color-text-tertiary, #999)}.ea-switch[data-v-71792251]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px dashed var(--color-border, #e8e8e8)}.ea-switch+.ea-switch[data-v-71792251]{margin-top:-4px;padding-top:0;border-top:0}.ea-switch-label[data-v-71792251]{font-size:13px;color:var(--color-text-secondary, #666)}.sms-hint[data-v-c20e33fd]{margin:-6px 0 12px;font-size:12px;color:var(--color-text-tertiary)}.dict-layout[data-v-a7b1ad76]{flex-wrap:wrap;gap:var(--gap-card)}.dict-pane[data-v-a7b1ad76]{flex:1 1 380px;min-width:0}.clear-body[data-v-8324d44c]{display:flex;flex-direction:column;gap:10px}.clear-hint[data-v-8324d44c]{font-size:12px;color:var(--color-text-tertiary)}.attempts-title[data-v-8324d44c]{margin:16px 0 8px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.log-output[data-v-8324d44c]{margin:0;white-space:pre-wrap;word-break:break-all;font-family:var(--font-family-mono, ui-monospace, monospace);font-size:12px;line-height:1.5}.log-error[data-v-8324d44c]{color:var(--color-danger)}.view[data-v-34ed407f]{gap:var(--gap-card)}.job-tables[data-v-34ed407f],.job-tables[data-v-34ed407f]>*{min-height:240px}.stat[data-v-34ed407f]{display:flex;align-items:center;gap:16px}.stat-ico[data-v-34ed407f]{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,currentColor 12%,transparent)}.stat-val[data-v-34ed407f]{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1.1}.stat-label[data-v-34ed407f]{color:var(--color-text-secondary);margin-top:2px}.kv-editor[data-v-aabac178]{display:flex;flex-direction:column;gap:8px;width:100%}.kv-row[data-v-aabac178]{display:flex;gap:8px;align-items:center}.kv-hint[data-v-aabac178]{font-size:12px;color:var(--color-text-tertiary)}.job-hint[data-v-aabac178]{font-size:12px;color:var(--color-text-tertiary);white-space:nowrap;line-height:1.4}.job-inline[data-v-aabac178]{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;min-width:0}.job-sec-text[data-v-aabac178]{font-size:var(--font-size-sm);font-weight:600}.job-sections[data-v-aabac178] .n-collapse-item{margin:0}.job-sections[data-v-aabac178] .n-collapse-item__header{padding:10px 0}.job-sections[data-v-aabac178] .n-collapse-item__content-inner{padding:4px 0 12px}.job-sections[data-v-aabac178] .n-form-item{margin-bottom:14px}.job-sections[data-v-aabac178] .n-form-item-feedback-wrapper:empty,.job-sections[data-v-aabac178] .n-form-item-feedback-wrapper:has(:empty){min-height:0}.job-advanced[data-v-aabac178] .n-form-item{margin-bottom:18px}.job-advanced[data-v-aabac178] .n-form-item-label{padding-right:12px}.exception[data-v-d5b09c10],.exception[data-v-9e9a338d]{margin:0;white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;line-height:1.5;color:var(--color-danger)}.perm-hint[data-v-0a7963e1],.link-hint[data-v-5b265f65]{font-size:12px;color:var(--color-text-tertiary, #999);line-height:1.5}.view[data-v-d019bdd8]{display:flex;flex-direction:column;gap:var(--gap-card)}[data-v-d019bdd8] .row-no{font-variant-numeric:tabular-nums;white-space:nowrap}[data-v-d019bdd8] .row-no__path{color:var(--color-text-disabled)}[data-v-d019bdd8] .row-no__self{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.hint[data-v-ea6672c5]{font-size:12px;color:var(--color-text-secondary, #999)}.monitor[data-v-8ea4d493]{display:flex;flex-direction:column;gap:12px}.bar[data-v-8ea4d493]{display:flex;justify-content:flex-end}.metric[data-v-8ea4d493]{font-size:28px;font-weight:600;line-height:1.2;margin-bottom:10px}.metric.small[data-v-8ea4d493]{font-size:18px}.unit[data-v-8ea4d493]{font-size:16px;margin-left:2px;color:var(--color-text-secondary, #999)}.sub[data-v-8ea4d493]{margin-top:8px;font-size:12px;color:var(--color-text-secondary, #999)}.rows[data-v-8ea4d493]{display:grid;gap:8px;font-size:13px}.rows .k[data-v-8ea4d493]{display:inline-block;width:88px;color:var(--color-text-secondary, #999)}.rows .v[data-v-8ea4d493]{word-break:break-all}.notice-actions-editor[data-v-5c6d1da0]{width:100%}.notice-action-row[data-v-5c6d1da0]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%}.notice-actions-hint[data-v-5c6d1da0]{display:block;margin-top:4px;font-size:12px;line-height:1.4}.view[data-v-72e7ef38],.view[data-v-ef7d111d]{gap:var(--gap-card)}.grant-menu-table[data-v-6c2563ee]{display:flex;flex-direction:column;gap:10px}.grant-toolbar[data-v-6c2563ee]{display:flex;gap:8px}.grant-grid[data-v-6c2563ee]{border:1px solid var(--n-border-color, #e0e0e6);border-radius:4px;font-size:13px;overflow:hidden}.grant-header[data-v-6c2563ee]{display:flex;background:var(--n-th-color, #fafafc);font-weight:600;font-size:12px;border-bottom:1px solid var(--n-border-color, #e0e0e6)}.grant-header>div[data-v-6c2563ee]{padding:8px 12px}.grant-group[data-v-6c2563ee]{display:flex;border-bottom:1px solid var(--n-border-color, #e0e0e6)}.grant-group[data-v-6c2563ee]:last-child{border-bottom:none}.grant-group>.col-catalog[data-v-6c2563ee]{display:flex;align-items:center;gap:4px;padding:8px 12px;border-right:1px solid var(--n-border-color, #e0e0e6);cursor:pointer;-webkit-user-select:none;user-select:none}.collapse-arrow[data-v-6c2563ee]{display:inline-block;font-size:10px;transition:transform .2s;color:var(--n-text-color-disabled, #999)}.collapse-arrow.is-collapsed[data-v-6c2563ee]{transform:rotate(-90deg)}.group-rows[data-v-6c2563ee]{flex:1;min-width:0}.grant-row[data-v-6c2563ee]{display:flex;border-bottom:1px solid var(--n-border-color, #e0e0e6)}.grant-row[data-v-6c2563ee]:last-child{border-bottom:none}.col-catalog[data-v-6c2563ee]{width:130px;flex-shrink:0}.col-menu[data-v-6c2563ee]{width:140px;flex-shrink:0;display:flex;align-items:center;padding:6px 12px;border-right:1px solid var(--n-border-color, #e0e0e6)}.anchor-tag[data-v-6c2563ee]{font-size:12px}.col-buttons[data-v-6c2563ee]{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:6px 12px;min-width:0}.no-buttons[data-v-6c2563ee]{color:var(--n-text-color-disabled, #c0c0c0)}.grant-empty[data-v-6c2563ee]{text-align:center;padding:24px;color:var(--n-text-color-disabled, #c0c0c0)}.reset-hint[data-v-104f8da0]{margin:0 0 12px;font-size:var(--font-size-sm, 13px);color:var(--color-text-secondary, #888)}.pw-field[data-v-f2afa7e7]{flex:1;min-width:0}.avatar-field[data-v-f2afa7e7]{display:flex;align-items:center;gap:12px}.user-layout[data-v-99109370]{--side-filter-width: 248px}
|
|
1
|
+
.reauth-hint[data-v-f489ff1a]{margin:0 0 12px;color:var(--n-text-color-3);font-size:13px;line-height:1.5}:root{--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif;--font-mono: "SF Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--bg-app: #eef3fc;--bg-sidebar: rgba(250, 252, 255, .76);--bg-header: rgba(250, 252, 255, .78);--bg-card: #ffffff;--bg-card-glass: rgba( 255, 255, 255, .76 );--bg-elevated: rgba(252, 253, 255, .88);--bg-elevated-a: rgba(252, 253, 255, .82);--input: rgba(255, 255, 255, .92);--input-disabled: rgba(100, 116, 150, .12);--text-1: #101828;--text-2: #3f4a5e;--text-3: #586479;--text-4: #8793a6;--border: rgba(40, 60, 100, .36);--separator: rgba(55, 75, 115, .16);--hairline: rgba(55, 75, 115, .14);--hairline-strong: rgba(55, 75, 115, .26);--glass: rgba(255, 255, 255, .6);--glass-strong: rgba(40, 60, 110, .07);--edge-top: rgba(30, 50, 90, .12);--edge-mid: rgba(30, 50, 90, .09);--edge-bottom: rgba(30, 50, 90, .07);--edge-light: rgba(255, 255, 255, .6);--fill: rgba(70, 90, 130, .08);--fill-strong: rgba(70, 90, 130, .14);--hover: rgba(60, 80, 120, .06);--pressed: rgba(60, 80, 120, .11);--mask: rgba(241, 245, 251, .55);--seg-track: rgba(70, 90, 130, .12);--seg-thumb: #ffffff;--switch-off: rgba(70, 90, 130, .28);--ok: #047857;--warn: #a94e08;--err: #ca2323;--info: #0369a1;--ok-bg: color-mix(in srgb, var(--ok) 12%, transparent);--warn-bg: color-mix(in srgb, var(--warn) 12%, transparent);--err-bg: color-mix(in srgb, var(--err) 12%, transparent);--info-bg: color-mix(in srgb, var(--info) 12%, transparent);--success: var(--ok);--warning: var(--warn);--error: var(--err);--shadow-1: 0 1px 2px rgba(15, 23, 42, .05), 0 10px 30px -14px rgba(30, 64, 175, .16);--shadow-2: 0 22px 50px -16px rgba(30, 64, 175, .22), 0 0 0 1px rgba(15, 23, 42, .05);--shadow-3: 0 30px 90px -20px rgba(15, 23, 42, .3), 0 0 0 1px rgba(15, 23, 42, .06);--glass-panel: rgba(246, 250, 255, .66);--glass-border: rgba(15, 23, 42, .08);--glass-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 1px 2px rgba(15, 23, 42, .05), 0 28px 60px -26px rgba(37, 99, 235, .4);--glass-shadow-soft: inset 0 1px 0 rgba(255, 255, 255, .35), 0 1px 2px rgba(15, 23, 42, .04), 0 20px 44px -24px rgba(37, 99, 235, .3);--glass-solid: rgba( 248, 250, 253, .96 );--wallpaper: radial-gradient(1300px 850px at 0% -10%, var(--desk-1), transparent 60%), radial-gradient(1100px 800px at 100% 0%, var(--desk-4), transparent 58%), radial-gradient(1200px 850px at 90% 115%, var(--desk-3), transparent 60%), radial-gradient(900px 700px at 0% 100%, var(--desk-2), transparent 60%), #e9f0fd;--noise-opacity: .03;--tab-strip: rgba(255, 255, 255, .6);--tab-hover: rgba(60, 80, 120, .06);--tab-active: #f1f5fb;--mark-bg: linear-gradient(180deg, #2a2a2e, #0b0b0c);--mark-fg: #ffffff;--num-a: #0a2a6b;--num-b: #0a7be8;--desk-base: #f4f7fd;--desk-op: .62;--th-bg: #f4f7fb;--th-bg-hover: #edf2f9;--td-bg-hover: #eff4fb;--tooltip-bg: rgba(17, 17, 19, .92);--badge-bg: #ff3b30;--input-border-hover: rgba(20, 40, 90, .34);--select-border-hover: rgba(40, 60, 100, .5);--accent: #0a84ff;--signal: #0a84ff;--signal-glow: rgba(10, 132, 255, .35);--acc-solid: #0974e0;--on-acc: #ffffff;--acc-hover: #2282e3;--acc-pressed: #0866c5;--sel-bg: rgba(10, 132, 255, .06);--sel-ring: rgba(10, 132, 255, .5);--sel-halo: rgba(10, 132, 255, .1);--sel-fg: #0974e0;--tab-active-bg: rgba(10, 132, 255, .08);--tab-active-fg: #0974e0;--tab-active-ring: rgba(10, 132, 255, .22);--tab-on-bg: rgba(10, 132, 255, .1);--tab-on-fg: #0974e0;--tab-on-ring: rgba(10, 132, 255, .5);--ambient-1: rgba(10, 132, 255, .2);--ambient-2: rgba(76, 113, 250, .15);--ambient-3: rgba(23, 175, 247, .13);--ambient-4: rgba(111, 98, 248, .14);--desk-1: rgba(10, 132, 255, .55);--desk-2: rgba(76, 113, 250, .45);--desk-3: rgba(23, 175, 247, .5);--desk-4: rgba(111, 98, 248, .34);--chart-1: #0974e0;--chart-2: #511ccd;--chart-3: #14a390;--chart-4: #aa3f9f;--chart-5: #26a545;--chart-6: #5ba62f;--login-accent-2: #4c71fa;--font-size-xs: 13px;--line-height-xs: 20px;--font-size-sm: 14px;--line-height-sm: 22px;--font-size-base: 15px;--line-height-base: 24px;--font-size-md: 16px;--line-height-md: 24px;--font-size-lg: 20px;--line-height-lg: 28px;--font-size-xl: 24px;--line-height-xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--control-h-mini: 20px;--control-h-tiny: 22px;--control-h-sm: 24px;--control-h: 30px;--control-h-lg: 42px;--control-h-huge: 46px;--sidebar-row-h: 32px;--table-row-h: 32px;--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-24: 24px;--space-32: 32px;--radius-xs: 5px;--radius-sm: 6px;--radius-md: 9px;--radius-lg: 14px;--radius-xl: 18px;--radius-2xl: 22px;--transition-fast: .15s ease;--transition-base: .2s ease;--ease: cubic-bezier(.2, .8, .2, 1);--ease-sheet: cubic-bezier(.32, .72, 0, 1);--color-gray-900: #181a2a;--color-gray-800: #2f313f;--color-gray-700: #5d5f6a;--color-gray-600: #7b7c85;--color-gray-500: #85868e;--color-gray-400: #bababf;--color-gray-300: #d1d1d1;--color-gray-200: #e3e3e3;--color-gray-100: #f1f1f1;--color-gray-50: #f0f0f0;--color-white: #ffffff;--color-primary: var(--acc-solid);--color-primary-hover: var(--acc-hover);--color-primary-pressed: var(--acc-pressed);--color-primary-light: var(--sel-bg);--color-success: var(--ok);--color-success-bg: var(--ok-bg);--color-warning: var(--warn);--color-warning-bg: var(--warn-bg);--color-danger: var(--err);--color-danger-bg: var(--err-bg);--color-info: var(--info);--color-info-bg: var(--info-bg);--color-bg-body: var(--bg-app);--color-bg-app: var(--wallpaper);--color-bg-container: var(--bg-card);--color-bg-container-solid: var(--bg-card);--color-bg-elevated: var(--glass-solid);--color-bg-input: var(--input);--color-text-primary: var(--text-1);--color-text-secondary: var(--text-2);--color-text-tertiary: var(--text-3);--color-text-disabled: var(--text-4);--color-border: var(--separator);--color-border-strong: var(--border);--color-fill: var(--fill);--color-fill-hover: var(--fill-strong);--color-fill-disabled: var(--input-disabled);--color-mask: var(--mask);--color-header-bg: var(--bg-header);--font-family-base: var(--font);--font-family-mono: var(--font-mono)}:root[data-theme=dark]{--bg-app: #04070f;--bg-sidebar: rgba(8, 13, 28, .74);--bg-header: rgba(10, 16, 34, .72);--bg-card: #101828;--bg-card-glass: rgba(30, 45, 80, .5);--bg-elevated: rgba(14, 22, 42, .9);--bg-elevated-a: rgba(14, 22, 42, .82);--input: rgba(150, 180, 255, .07);--input-disabled: rgba(140, 170, 255, .05);--text-1: #eef3ff;--text-2: #c3cde3;--text-3: #98a6c4;--text-4: #66738f;--border: rgba(130, 160, 230, .5);--separator: rgba(120, 150, 230, .22);--hairline: rgba(120, 150, 230, .2);--hairline-strong: rgba(130, 165, 240, .36);--glass: rgba(20, 30, 58, .5);--glass-strong: rgba(150, 180, 255, .09);--edge-top: rgba(170, 200, 255, .24);--edge-mid: rgba(150, 180, 255, .1);--edge-bottom: rgba(150, 180, 255, .03);--edge-light: rgba(170, 200, 255, .12);--fill: rgba(130, 160, 255, .12);--fill-strong: rgba(130, 160, 255, .2);--hover: rgba(140, 170, 255, .09);--pressed: rgba(140, 170, 255, .15);--mask: rgba(2, 5, 14, .58);--seg-track: rgba(6, 10, 24, .6);--seg-thumb: rgba(70, 92, 150, .7);--switch-off: rgba(120, 145, 210, .4);--ok: #34d399;--warn: #fbbf24;--err: #f87171;--info: #38bdf8;--ok-bg: color-mix(in srgb, var(--ok) 14%, transparent);--warn-bg: color-mix(in srgb, var(--warn) 14%, transparent);--err-bg: color-mix(in srgb, var(--err) 16%, transparent);--info-bg: color-mix(in srgb, var(--info) 14%, transparent);--shadow-1: 0 1px 3px rgba(0, 0, 0, .35), 0 10px 30px -18px rgba(0, 0, 0, .8);--shadow-2: 0 24px 60px -20px rgba(0, 0, 0, .8), 0 0 0 1px rgba(120, 160, 255, .18);--shadow-3: 0 40px 100px -20px rgba(0, 0, 0, .9), 0 0 0 1px rgba(120, 160, 255, .22);--glass-panel: rgba(14, 22, 42, .62);--glass-border: rgba(140, 175, 255, .2);--glass-shadow: inset 0 1px 0 rgba(180, 205, 255, .14), 0 30px 70px -30px rgba(0, 0, 0, .85);--glass-shadow-soft: inset 0 1px 0 rgba(180, 205, 255, .16), 0 20px 50px -28px rgba(0, 0, 0, .75);--glass-solid: rgba(14, 22, 42, .96);--wallpaper: radial-gradient(1400px 600px at 50% 16%, rgba(56, 189, 248, .1), transparent 65%), radial-gradient(1200px 800px at 8% -8%, rgba(10, 132, 255, .42), transparent 60%), radial-gradient(1000px 700px at 100% 2%, rgba(124, 58, 237, .34), transparent 58%), radial-gradient(1100px 800px at 85% 118%, rgba(6, 182, 212, .3), transparent 60%), radial-gradient(900px 700px at -4% 100%, rgba(37, 99, 235, .34), transparent 60%), #060a16;--noise-opacity: .04;--tab-strip: rgba(8, 13, 28, .6);--tab-hover: rgba(140, 170, 255, .1);--tab-active: #0a1020;--mark-bg: linear-gradient(180deg, #f8fafc, #cbd5e1);--mark-fg: #0a0a0b;--num-a: #ffffff;--num-b: #8cc4ff;--desk-base: #070c1a;--desk-op: .5;--th-bg: #1a2540;--th-bg-hover: #222f4e;--td-bg-hover: #17223a;--tooltip-bg: rgba(24, 34, 60, .96);--badge-bg: #ff453a;--input-border-hover: rgba(160, 190, 255, .42);--select-border-hover: rgba(160, 190, 255, .52);--signal-glow: rgba(10, 132, 255, .55);--sel-bg: rgba(10, 132, 255, .14);--sel-ring: rgba(10, 132, 255, .6);--sel-halo: rgba(10, 132, 255, .16);--sel-fg: #60afff;--tab-active-bg: rgba(10, 132, 255, .18);--tab-active-fg: #60afff;--tab-active-ring: rgba(10, 132, 255, .35);--tab-on-bg: rgba(59, 155, 255, .2);--tab-on-fg: #ffffff;--tab-on-ring: rgba(130, 190, 255, .65);--ambient-1: rgba(10, 132, 255, .17);--ambient-2: rgba(76, 113, 250, .13);--ambient-3: rgba(23, 175, 247, .11);--ambient-4: rgba(111, 98, 248, .12);--desk-1: rgba(10, 132, 255, .85);--desk-2: rgba(76, 113, 250, .7);--desk-3: rgba(23, 175, 247, .6);--desk-4: rgba(111, 98, 248, .55);--chart-2: #8252e7;--chart-3: #19d0b8;--chart-4: #b845ad;--chart-5: #2cbd4e;--chart-6: #63b633}:root{--pad-page: 14px;--gap-card: 8px;--row-h: 36px;--sidebar-w: 236px;--sidebar-w-collapsed: 76px;--rail-w: 64px;--header-h: 62px}:root[data-density=compact]{--pad-page: 10px;--row-h: var(--table-row-h)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--text-1);background:var(--wallpaper);background-attachment:fixed;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--sel-fg);text-decoration:none}.tabular{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.mono{font-family:var(--font-mono);font-size:13.5px;letter-spacing:0}.num{font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}.n-card:where(:not(.n-modal):not(.n-card--embedded)){position:relative;background-clip:padding-box;box-shadow:var(--glass-shadow-soft)}.n-card:where(:not(.n-modal):not(.n-card--embedded)):before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(180deg,var(--edge-top) 0%,var(--edge-mid) 30%,var(--edge-bottom) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}:root[data-theme=dark] .n-button--primary-type:not(.n-button--disabled){box-shadow:0 0 16px -4px var(--signal-glow);transition:box-shadow .2s var(--ease)}:root[data-theme=dark] .n-button--primary-type:not(.n-button--disabled):hover{box-shadow:0 0 22px -2px var(--signal-glow)}.n-card.a-card{border-radius:var(--radius-lg);box-shadow:var(--glass-shadow-soft);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}.page .n-card.a-card,.page-view .n-card.a-card{backdrop-filter:none;-webkit-backdrop-filter:none}.n-drawer.st-sheet{display:flex;flex-direction:column;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.n-drawer.st-sheet .n-drawer-content-wrapper{display:flex;flex-direction:column;min-height:0}.n-drawer.st-sheet .n-drawer-content{min-height:0}.n-drawer.st-sheet .n-drawer-content .n-drawer-body{flex:1 1 auto;min-height:0}.n-card.n-modal{box-shadow:var(--shadow-3)}:is(.n-card,.n-dialog).n-modal.fade-in-scale-up-transition-enter-from,:is(.n-card,.n-dialog).n-modal.fade-in-scale-up-transition-leave-to{transform:scale(.96)}:is(.n-card,.n-dialog).n-modal.fade-in-scale-up-transition-enter-active{transition-duration:.24s}:is(.n-card,.n-dialog).n-modal.fade-in-scale-up-transition-leave-active{transition-duration:.14s}.n-popover:not(.n-tooltip),.n-dropdown-menu,.n-drawer,.n-card.n-modal,.n-dialog,.n-message,.n-notification,.n-base-select-menu,.n-date-panel{backdrop-filter:blur(40px) saturate(170%);-webkit-backdrop-filter:blur(40px) saturate(170%)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.n-popover:not(.n-tooltip),.n-dropdown-menu,.n-drawer,.n-card.n-modal,.n-dialog,.n-message,.n-notification,.n-base-select-menu,.n-date-panel{background:var(--glass-solid)!important}}.n-modal-mask,.n-drawer-mask{background-color:var(--mask)!important}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#64748b85}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#94a3b8b3}::selection{background:color-mix(in srgb,var(--signal) 28%,transparent)}::view-transition-old(root),::view-transition-new(root){animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#90939966;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#909399b3}::-webkit-scrollbar-track{background:transparent}.fade-enter-active{transition:opacity .22s cubic-bezier(.2,.8,.2,1)}.fade-enter-from{opacity:.4}.fade-slide-enter-active{transition:opacity .24s cubic-bezier(.2,.8,.2,1),transform .24s cubic-bezier(.2,.8,.2,1)}.fade-slide-enter-from{opacity:.4;transform:translateY(6px)}.n-menu,.n-dropdown-menu{user-select:none;-webkit-user-select:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.n-data-table{--table-selected-bg: var(--sel-bg)}.n-data-table .n-data-table-tr:has(>.n-data-table-td--selection .n-checkbox--checked,>.n-data-table-td--selection .n-radio--checked)>.n-data-table-td{background-image:linear-gradient(var(--table-selected-bg),var(--table-selected-bg))}.n-data-table .n-data-table-tr.row-selected>.n-data-table-td{background-image:linear-gradient(var(--table-selected-bg),var(--table-selected-bg))}.n-data-table .n-data-table-th,.n-data-table .n-data-table-td{white-space:nowrap}.n-data-table:not(.n-data-table--single-line) .n-data-table-th,.n-data-table:not(.n-data-table--single-line) .n-data-table-td{border-right:0!important}.n-data-table.n-data-table--bordered .n-data-table-wrapper{border:0!important;border-radius:var(--radius-md, 9px)!important}.n-data-table .n-data-table-td.n-data-table-td--last-row{border-bottom:0!important}.n-data-table .n-data-table-td--last-col .n-space{gap:0!important}.n-data-table .n-data-table-td .n-space:has(.n-button){flex-wrap:nowrap!important;min-width:max-content;white-space:nowrap}.n-data-table .n-data-table-td .n-space:has(.n-button)>.n-space-item,.n-data-table .n-data-table-td .n-button{white-space:nowrap}.table-zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--bg-app);padding:16px;display:flex;flex-direction:column;min-height:0;gap:8px}.table-zoom>.n-data-table,.table-zoom>.route-table,.table-zoom>.table-zoom-body{flex:1;min-height:0}.side-filter{flex:0 0 var(--side-filter-width, 224px);display:flex;flex-direction:column;gap:8px;min-height:0;padding:12px 10px;border-radius:var(--radius-lg, 14px);background:var(--bg-card);box-shadow:var(--glass-shadow-soft);transition:flex-basis var(--transition-base, .2s ease)}.side-filter__head{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:24px;padding-left:6px}.side-filter__actions{display:flex;flex:none;margin-left:auto;align-items:center;gap:2px}.side-filter__body{display:flex;flex:1;flex-direction:column;gap:2px;min-height:0;overflow-y:auto;scrollbar-width:thin}.side-filter__divider{height:1px;margin:6px 8px;background:var(--separator)}.side-filter__empty{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:24px;color:var(--text-3);font-size:var(--font-size-sm, 13px)}.side-row{position:relative;display:flex;align-items:center;gap:8px;width:100%;height:34px;padding:0 10px;border:0;border-radius:var(--radius-md, 9px);background:transparent;color:var(--text-2);font:inherit;font-size:var(--font-size-base, 14px);text-align:left;cursor:pointer;transition:background var(--transition-fast, .15s ease),color var(--transition-fast, .15s ease)}.side-row:hover{background:var(--hover);color:var(--text-1)}.side-row.is-active{background:var(--tab-active-bg);box-shadow:inset 0 0 0 1px var(--tab-active-ring);color:var(--tab-active-fg);font-weight:var(--font-weight-medium, 500)}.side-row__icon,.side-row__dot{flex:none}.side-row__dot{width:6px;height:6px;margin:0 4px;border-radius:50%;background:var(--border);transition:background var(--transition-fast, .15s ease)}.side-row:hover .side-row__dot{background:var(--text-3)}.side-row.is-active .side-row__dot{background:currentcolor}.side-row__label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.side-row__count{flex:none;min-width:22px;height:18px;padding:0 6px;border-radius:9px;background:var(--fill);color:var(--text-3);font-size:var(--font-size-xs, 12px);font-variant-numeric:tabular-nums;line-height:18px;text-align:center;transition:background var(--transition-fast, .15s ease),color var(--transition-fast, .15s ease)}.side-row.is-active .side-row__count{background:var(--acc-solid);color:var(--on-acc)}.side-tree.n-tree{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}.side-tree .n-tree-node{position:relative;padding-right:4px}.side-tree .n-tree-node-content__suffix{opacity:0;transition:opacity var(--transition-fast, .15s ease)}.side-tree .n-tree-node:hover .n-tree-node-content__suffix,.side-tree .n-tree-node--selected .n-tree-node-content__suffix{opacity:1}.side-actions{display:flex;align-items:center;gap:2px}@media(max-width:1280px){.side-filter{flex-basis:min(var(--side-filter-width, 224px),200px)}}.form-section+.form-section{margin-top:16px}.form-section__title{margin-bottom:10px;color:var(--text-1);font-weight:var(--font-weight-semibold, 600)}.form-section--fieldset,.form-section--panel{min-width:0;border:none;padding:0}.form-section--fieldset{margin-inline:0}.form-section--fieldset>legend{display:block;width:100%;margin-bottom:12px;padding:0 0 8px;border-bottom:1px solid var(--separator);color:var(--text-1);font-weight:var(--font-weight-semibold, 600)}.form-section--panel>.form-section__title,.form-section--panel>.head{display:flex;box-sizing:content-box;align-items:center;justify-content:space-between;height:var(--panel-head-h, 30px);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--separator)}.page-view:has(>.smart-table),.page-view:has(>.fill-page),.page-view:has(>.side-page){height:100%}.page-view>.smart-table{height:100%;min-height:0}.fill-page{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.fill-page>*{flex-shrink:0}.side-page{display:flex;gap:var(--gap-card);align-items:stretch;height:100%;min-height:0}.side-page>.smart-table{flex:1;align-self:stretch;min-width:0;min-height:0;height:100%}.fill-page>.smart-table,.fill-main,:is(.fill-main,.fill-tabs .n-tab-pane,.fill-pass>.n-spin-content)>.smart-table{flex:1 1 auto;min-height:0}.fill-main{display:flex;flex-direction:column}:is(.page-view,.fill-page,.side-page,.fill-main,.fill-split,.fill-tabs .n-tab-pane,.fill-pass>.n-spin-content)>.smart-table>.smart-table-card{display:flex;flex:1;flex-direction:column;min-height:0}:is(.page-view,.fill-page,.side-page,.fill-main,.fill-split,.fill-tabs .n-tab-pane,.fill-pass>.n-spin-content)>.smart-table>.smart-table-card>:is(.n-card-content,.n-card__content){display:flex;flex:1;flex-direction:column;min-height:0}:is(.page-view,.fill-page,.side-page,.fill-main,.fill-split,.fill-tabs .n-tab-pane,.fill-pass>.n-spin-content)>.smart-table>.smart-table-card>:is(.n-card-content,.n-card__content)>.n-data-table{flex:1;min-height:0}.fill-tabs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.fill-tabs>.n-tabs-nav{flex-shrink:0}.fill-tabs>.n-tabs-pane-wrapper,.fill-tabs>.n-tabs-pane-wrapper>.n-tab-pane,.fill-tabs>.n-tab-pane{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.fill-split{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--fill-split-gap, var(--gap-card));min-height:0}.fill-split--row{flex-direction:row}.fill-split>.fill-main,.fill-split>.smart-table{flex:1 1 0;min-height:0}.fill-pass,.fill-pass>.n-spin-content{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.fill-page--soft{height:auto;min-height:100%;overflow:visible}.chart[data-v-558fd76a]{width:100%;height:320px}.code-block[data-v-953af54c]{position:relative;font-size:12px;line-height:1.5}.copy-btn[data-v-953af54c]{position:absolute;top:0;right:0}.cron-editor[data-v-f39c0e4b]{width:100%;min-width:0;container-type:inline-size}.cron-rows[data-v-f39c0e4b]{display:flex;flex-direction:column;gap:10px;width:100%;padding-top:4px}.cron-row[data-v-f39c0e4b]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:32px}.cron-row[data-v-f39c0e4b] .n-input-number .n-input{text-align:left}.cron-num[data-v-f39c0e4b]{width:100px}.cron-dow[data-v-f39c0e4b]{width:120px}.cron-list[data-v-f39c0e4b]{flex:1;min-width:200px}@container (min-width: 600px){.cron-row[data-v-f39c0e4b] .n-radio{width:168px;flex:none}}.cron-sep[data-v-f39c0e4b]{color:var(--text-2);font-size:var(--font-size-base)}.cron-faint[data-v-f39c0e4b]{color:var(--text-3);font-size:var(--font-size-base)}.cron-hint[data-v-f39c0e4b]{margin-top:6px;font-size:13px;color:var(--text-3)}.cron-preview[data-v-f39c0e4b]{margin-top:12px;padding:10px 12px;border-radius:var(--radius-md);background:var(--fill);display:flex;flex-direction:column;gap:8px}.cron-warn[data-v-f39c0e4b]{margin-bottom:2px}.cron-preview-error[data-v-f39c0e4b]{color:var(--err);font-size:var(--font-size-base)}.cron-preview-row[data-v-f39c0e4b]{display:flex;gap:12px;align-items:flex-start}.cron-preview-label[data-v-f39c0e4b]{flex:none;min-width:64px;color:var(--text-2);line-height:22px}.cron-code[data-v-f39c0e4b]{font-family:var(--font-mono);font-size:13.5px;line-height:22px}.cron-occurrences[data-v-f39c0e4b]{display:flex;flex-wrap:wrap;gap:2px 16px;min-width:0}.cron-occurrence[data-v-f39c0e4b]{font-family:var(--font-mono);font-size:13.5px;line-height:22px;font-variant-numeric:tabular-nums}.cron-empty[data-v-f39c0e4b]{color:var(--text-3);line-height:22px}.detail-page[data-v-4e7ef954]{display:flex;flex-direction:column;gap:var(--gap-card)}.detail-header[data-v-4e7ef954]{display:flex;align-items:center;gap:8px}.detail-title[data-v-4e7ef954]{margin:0;font-size:var(--font-size-lg, 18px);font-weight:600;color:var(--color-text-primary)}.detail-actions[data-v-4e7ef954]{margin-left:auto}.error-boundary[data-v-fd3eef0d]{min-height:60vh;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;color:var(--color-text-secondary)}h2[data-v-fd3eef0d]{margin:0;color:var(--color-text-primary);font-size:var(--font-size-lg)}.desc[data-v-fd3eef0d]{margin:0;white-space:nowrap}.detail[data-v-fd3eef0d]{max-width:100%;padding:6px 10px;white-space:nowrap;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-container);color:var(--color-danger);font-family:var(--font-family-mono);font-size:var(--font-size-xs)}@media(max-width:560px){.desc[data-v-fd3eef0d]{white-space:normal}}.export-cols-head[data-v-6b86f7cf]{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--n-border-color)}.smart-form--fullscreen{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;border-radius:0}.smart-form--fullscreen>.n-card__content{flex:1;min-height:0;overflow:auto}.n-drawer.smart-form-sheet{border-radius:var(--radius-xl) var(--radius-xl) 0 0}.smart-form-foot{display:flex;gap:10px;width:100%}.smart-form-foot>.n-button{flex:1}.import-steps[data-v-8de37228]{margin-bottom:20px}.import-pane[data-v-8de37228]{min-height:200px}.import-upload-icon[data-v-8de37228]{margin-bottom:12px;color:var(--n-text-color-3)}.import-mapping-head[data-v-8de37228],.import-mapping-row[data-v-8de37228]{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}.import-mapping-head[data-v-8de37228]{font-weight:600;font-size:13px;margin-bottom:8px;color:var(--n-text-color-2)}.import-mapping-row[data-v-8de37228]{margin-bottom:8px}.import-mapping-header[data-v-8de37228]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.import-strategy[data-v-8de37228]{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}[data-v-8de37228] .import-cell{padding:2px;border-radius:4px}[data-v-8de37228] .import-cell--error{background:var(--color-danger-bg)}[data-v-8de37228] .import-cell--dup{background:var(--color-warning-bg)}.pw-meter[data-v-403d0e3f]{margin:-6px 0 16px}.pw-bar[data-v-403d0e3f]{display:flex;gap:6px}.pw-bar span[data-v-403d0e3f]{flex:1;height:4px;border-radius:2px;transition:background var(--transition-fast)}.pw-level[data-v-403d0e3f]{margin:6px 0 8px;font-size:13px}.pw-rules[data-v-403d0e3f]{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.pw-rules li[data-v-403d0e3f]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-3)}.pw-rules li.ok[data-v-403d0e3f]{color:var(--ok)}.pw-ico[data-v-403d0e3f]{flex:none}.table-total[data-v-86746be5]{color:var(--text-2);white-space:nowrap}.user-picker[data-v-ef8d2925]{display:flex;gap:12px;min-height:min(440px,calc(100vh - 250px))}.panel-header[data-v-ef8d2925]{display:flex;align-items:center;justify-content:space-between;min-height:34px;font-size:13.5px;font-weight:600;padding:0 0 8px;border-bottom:1px solid var(--hairline);margin-bottom:8px}.picker-tree[data-v-ef8d2925]{width:200px;flex-shrink:0;overflow:auto;border-right:1px solid var(--hairline);padding-right:12px}.picker-table[data-v-ef8d2925]{flex:1;min-width:0;overflow:hidden}.picker-org-select[data-v-ef8d2925]{margin-bottom:8px}.picker-selected[data-v-ef8d2925]{width:220px;flex-shrink:0;border-left:1px solid var(--hairline);padding-left:12px;display:flex;flex-direction:column;min-height:0}.selected-list[data-v-ef8d2925]{flex:1;min-height:0;overflow:auto;max-height:380px}.selected-item[data-v-ef8d2925]{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:2px 0;font-size:13.5px;border-bottom:1px solid var(--hairline)}.selected-item[data-v-ef8d2925]:last-child{border-bottom:none}.selected-name[data-v-ef8d2925]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-account[data-v-ef8d2925]{color:var(--text-3);margin-left:2px}.picker-tabs[data-v-ef8d2925]{margin-bottom:12px}.user-picker.is-compact[data-v-ef8d2925]{min-height:0}.is-compact .picker-selected[data-v-ef8d2925]{width:auto;flex:1;border-left:none;padding-left:0}.is-compact .selected-list[data-v-ef8d2925]{max-height:none}.is-compact .selected-item[data-v-ef8d2925]{min-height:44px}.palette[data-v-18182547]{width:560px;max-width:92vw;background:var(--color-bg-container);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);overflow:hidden}.search[data-v-18182547]{display:flex;align-items:center;gap:8px;padding:6px 16px;border-bottom:1px solid var(--color-border)}.sicon[data-v-18182547]{color:var(--color-text-tertiary);flex-shrink:0}.list[data-v-18182547]{padding:8px}.item[data-v-18182547]{display:flex;align-items:center;gap:10px;height:44px;padding:0 12px;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-primary)}.item.active[data-v-18182547]{background:var(--color-primary-light);color:var(--color-primary)}.iicon[data-v-18182547]{flex-shrink:0}.ititle[data-v-18182547]{font-size:var(--font-size-md)}.ititle[data-v-18182547] mark{background:transparent;color:var(--color-primary);font-weight:600}.ipath[data-v-18182547]{margin-left:auto;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.empty[data-v-18182547]{padding:32px 0}.hint[data-v-18182547]{padding:8px 16px;border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.site-logo[data-v-22940506]{display:block;width:auto;max-width:100%;object-fit:contain}.oauth-brand-badge[data-v-d7509bf4]{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;border-radius:50%;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none;flex-shrink:0}.oauth-brand-icon[data-v-d7509bf4]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.oauth-brand-letter[data-v-d7509bf4]{font-size:12px;font-weight:700;color:var(--color-text-secondary, #666);line-height:1}.login[data-v-2da0e5ac]{--rise: cubic-bezier(.22, 1, .36, 1);min-height:100dvh;background:var(--desk-base);position:relative;overflow:hidden}.login.split[data-v-2da0e5ac]{display:grid;grid-template-columns:minmax(340px,46%) 1fr}.login-stage[data-v-2da0e5ac]{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden}.desk[data-v-2da0e5ac]{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;pointer-events:none;z-index:0;translate:calc(var(--px, 0) * -22px) calc(var(--py, 0) * -16px);transition:translate 1.4s var(--rise)}.desk i[data-v-2da0e5ac]{position:absolute;display:block;border-radius:50%;filter:blur(70px);opacity:var(--desk-op)}.desk i[data-v-2da0e5ac]:nth-child(1){left:2%;top:4%;width:46%;height:62%;background:var(--desk-1);animation:drift1-2da0e5ac 26s ease-in-out infinite alternate}.desk i[data-v-2da0e5ac]:nth-child(2){left:26%;top:34%;width:44%;height:56%;background:var(--desk-2);animation:drift2-2da0e5ac 32s ease-in-out infinite alternate}.desk i[data-v-2da0e5ac]:nth-child(3){left:54%;top:-6%;width:40%;height:58%;background:var(--desk-3);animation:drift3-2da0e5ac 29s ease-in-out infinite alternate}.desk i[data-v-2da0e5ac]:nth-child(4){left:62%;top:46%;width:46%;height:62%;background:var(--desk-4);animation:drift1-2da0e5ac 35s ease-in-out infinite alternate-reverse}@keyframes drift1-2da0e5ac{0%{transform:none}to{transform:translate3d(6%,-5%,0) scale(1.12)}}@keyframes drift2-2da0e5ac{0%{transform:none}to{transform:translate3d(-7%,4%,0) scale(1.08)}}@keyframes drift3-2da0e5ac{0%{transform:none}to{transform:translate3d(4%,7%,0) scale(1.15)}}.login-corner[data-v-2da0e5ac]{position:absolute;top:16px;right:16px;z-index:3;display:flex;gap:8px;animation:fadeIn-2da0e5ac .9s var(--rise) .7s both}.login-brand[data-v-2da0e5ac]{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;padding:48px clamp(32px,5vw,76px)}.login-brand-inner[data-v-2da0e5ac]{max-width:440px}.login-card[data-v-2da0e5ac]{width:400px;max-width:100%;position:relative;z-index:2;margin-top:44px}.login-card.on-desk[data-v-2da0e5ac]{width:384px}.desk-card[data-v-2da0e5ac]{border:1px solid var(--glass-border)!important;border-radius:22px!important;background:var(--glass-panel)!important;box-shadow:var(--glass-shadow)!important;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);translate:calc(var(--px, 0) * 6px) calc(var(--py, 0) * 4px);transition:translate 1s var(--rise),background-color .3s,border-color .3s,box-shadow .3s}.login-card[data-v-2da0e5ac] .n-input{border-radius:var(--radius-md)}.login-card[data-v-2da0e5ac] .n-button.cta{background-image:linear-gradient(120deg,var(--signal),var(--login-accent-2));border-color:transparent;box-shadow:0 10px 26px -10px var(--signal-glow);transition:box-shadow .22s var(--ease),transform .2s var(--ease),filter .2s var(--ease)}.login-card[data-v-2da0e5ac] .n-button.cta:hover{box-shadow:0 16px 34px -10px var(--signal-glow);filter:brightness(1.04)}.login-card[data-v-2da0e5ac] .n-button.cta:active:not(:disabled){transform:scale(.985);filter:brightness(.97);box-shadow:0 6px 18px -10px var(--signal-glow)}.desk-card[data-v-2da0e5ac]{animation:cardIn-2da0e5ac .95s var(--rise) .08s both}.login-card[data-v-2da0e5ac]>:not(.desk-card){animation:fadeIn-2da0e5ac .9s var(--rise) .55s both}.login-brand-inner[data-v-2da0e5ac] .login-hero-panel>:not(.points),.login-brand-inner[data-v-2da0e5ac] .points li{animation:riseIn-2da0e5ac .9s var(--rise) both}.login-brand-inner[data-v-2da0e5ac] .login-hero-panel>:nth-child(1){animation-delay:.1s}.login-brand-inner[data-v-2da0e5ac] .login-hero-panel>:nth-child(2){animation-delay:.18s}.login-brand-inner[data-v-2da0e5ac] .login-hero-panel>:nth-child(3){animation-delay:.26s}.login-brand-inner[data-v-2da0e5ac] .points li:nth-child(1){animation-delay:.36s}.login-brand-inner[data-v-2da0e5ac] .points li:nth-child(2){animation-delay:.43s}.login-brand-inner[data-v-2da0e5ac] .points li:nth-child(n+3){animation-delay:.5s}.login-card[data-v-2da0e5ac] .login-form>.lf-brand,.login-card[data-v-2da0e5ac] .login-form>.lf-pending-alert,.login-card[data-v-2da0e5ac] .lf-body>:not(form),.login-card[data-v-2da0e5ac] .lf-body form>*{animation:riseIn-2da0e5ac .8s var(--rise) both}.login-card[data-v-2da0e5ac] .login-form>.lf-brand,.login-card[data-v-2da0e5ac] .login-form>.lf-pending-alert{animation-delay:.18s}.login-card[data-v-2da0e5ac] .lf-body>:not(form){animation-delay:.22s}.login-card[data-v-2da0e5ac] .lf-body form>:nth-child(1){animation-delay:.28s}.login-card[data-v-2da0e5ac] .lf-body form>:nth-child(2){animation-delay:.34s}.login-card[data-v-2da0e5ac] .lf-body form>:nth-child(3){animation-delay:.4s}.login-card[data-v-2da0e5ac] .lf-body form>:nth-child(4){animation-delay:.46s}.login-card[data-v-2da0e5ac] .lf-body form>:nth-child(n+5){animation-delay:.52s}.login-card[data-v-2da0e5ac] .lf-body>.lf-divider{animation-delay:.56s}.login-card[data-v-2da0e5ac] .lf-body>.lf-sso{animation-delay:.62s}@keyframes cardIn-2da0e5ac{0%{opacity:0;transform:translate3d(0,28px,0) scale(.965)}to{opacity:1;transform:none}}@keyframes riseIn-2da0e5ac{0%{opacity:0;transform:translate3d(0,12px,0);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}@keyframes fadeIn-2da0e5ac{0%{opacity:0}to{opacity:1}}.login.leaving .desk-card[data-v-2da0e5ac]{animation:cardOut-2da0e5ac .34s cubic-bezier(.4,0,1,1) both}.login.leaving .login-brand-inner[data-v-2da0e5ac],.login.leaving .login-corner[data-v-2da0e5ac],.login.leaving .login-card[data-v-2da0e5ac]>:not(.desk-card){animation:fadeOut-2da0e5ac .28s ease-in both}@keyframes cardOut-2da0e5ac{to{opacity:0;transform:translate3d(0,-8px,0) scale(1.02)}}@keyframes fadeOut-2da0e5ac{to{opacity:0}}@media(prefers-reduced-motion:reduce){.desk i[data-v-2da0e5ac]{animation:none!important}.desk[data-v-2da0e5ac],.desk-card[data-v-2da0e5ac]{translate:none}.login[data-v-2da0e5ac] *,.login .desk-card[data-v-2da0e5ac],.login .login-corner[data-v-2da0e5ac]{animation-delay:0s!important}}@media(max-width:480px){.login-stage[data-v-2da0e5ac]{padding:16px}.desk-card[data-v-2da0e5ac] .n-card__content{padding:22px 20px 18px!important}}.login.switching .desk-card{view-transition-name:login-card}::view-transition-group(login-card){animation-duration:.62s;animation-timing-function:cubic-bezier(.22,1,.36,1)}.login-form[data-v-367c227d]{width:100%}.login-form.shake[data-v-367c227d]{animation:lf-shake-367c227d .46s cubic-bezier(.36,.07,.19,.97)}@keyframes lf-shake-367c227d{0%,to{transform:none}15%{transform:translate3d(-9px,0,0)}30%{transform:translate3d(8px,0,0)}45%{transform:translate3d(-6px,0,0)}60%{transform:translate3d(4px,0,0)}80%{transform:translate3d(-2px,0,0)}}.lf-swap-leave-active[data-v-367c227d]{transition:opacity .16s ease-in,transform .16s ease-in,filter .16s ease-in}.lf-swap-leave-to[data-v-367c227d]{opacity:0;transform:translate3d(0,-6px,0);filter:blur(4px)}@media(prefers-reduced-motion:reduce){.login-form.shake[data-v-367c227d]{animation:none}}.lf-pending-alert[data-v-367c227d]{margin-bottom:16px;border-radius:var(--radius-md);text-align:left}.lf-brand[data-v-367c227d]{display:flex;align-items:center;gap:10px;margin-bottom:18px}.lf-word[data-v-367c227d]{font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--text-1)}.lf-title[data-v-367c227d]{font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:0 0 16px;color:var(--text-1)}.lf-greet[data-v-367c227d]{text-align:center;margin:2px 0 20px}.lf-greet h1[data-v-367c227d]{font-size:26px;font-weight:600;letter-spacing:-.035em;margin:0 0 4px;color:var(--text-1)}.lf-greet p[data-v-367c227d]{margin:0;font-size:13.5px;color:var(--text-3)}.lf-hint-line[data-v-367c227d]{margin:-8px 0 18px;font-size:13px;color:var(--text-3)}.login-form[data-v-367c227d] .n-form-item{margin-bottom:14px}.row[data-v-367c227d]{margin:2px 0 14px;min-height:32px}.lf-between[data-v-367c227d]{display:flex;align-items:center;justify-content:space-between}.lf-between[data-v-367c227d]>.n-button{height:32px;padding:0 2px}.lf-captcha[data-v-367c227d]{display:flex;gap:10px;width:100%;align-items:stretch}.lf-captcha[data-v-367c227d]>.n-input{flex:1;min-width:0}.lf-captcha-img[data-v-367c227d]{flex:none;height:42px;min-width:100px;padding:0;border:1px solid var(--hairline);border-radius:var(--radius-md);background:#fff;cursor:pointer;overflow:hidden;display:grid;place-items:center;line-height:0}.lf-captcha-img.empty[data-v-367c227d]{background:var(--fill)}.lf-captcha-img[data-v-367c227d]:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.lf-captcha-img[data-v-367c227d] svg{display:block;height:40px;width:auto}.lf-send-btn[data-v-367c227d]{flex:none;min-width:104px}.lf-divider[data-v-367c227d]{display:flex;align-items:center;gap:14px;margin:22px 0 14px}.lf-divider[data-v-367c227d]:before,.lf-divider[data-v-367c227d]:after{content:"";flex:1;height:1px;background:var(--hairline)}.lf-divider span[data-v-367c227d]{font-size:13px;color:var(--text-3)}.lf-sso[data-v-367c227d]{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.lf-sso-btn[data-v-367c227d]{width:40px;height:40px;padding:0;display:inline-grid;place-items:center;flex:none;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--text-1);text-decoration:none;cursor:pointer;transition:background var(--transition-base)}.lf-sso-btn[data-v-367c227d] .oauth-brand-badge{width:28px;height:28px}.lf-sso-btn[data-v-367c227d]:hover{background:var(--hover);color:var(--text-1);text-decoration:none}.lf-sso-btn[data-v-367c227d]:active{background:var(--pressed)}.lf-sso-btn[data-v-367c227d]:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.lf-foot[data-v-367c227d]{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px;font-size:13px;color:var(--text-3)}.lf-foot a[data-v-367c227d]{color:inherit;text-decoration:none}.lf-foot a[data-v-367c227d]:hover{color:var(--signal)}.lf-ver[data-v-367c227d]{opacity:.75}@media(max-width:480px){.lf-captcha-img[data-v-367c227d]{min-width:92px}}.login-hero-panel[data-v-85dbd38a]{min-width:0}.logo[data-v-85dbd38a]{display:flex;align-items:center;gap:13px;margin-bottom:30px;font-size:22px;font-weight:600;letter-spacing:-.015em;color:var(--text-1)}.headline[data-v-85dbd38a]{margin:0 0 14px;color:var(--text-1);font-size:clamp(30px,2.5vw,40px);font-weight:600;letter-spacing:-.04em;line-height:1.18}.headline .hl[data-v-85dbd38a]{background:linear-gradient(110deg,var(--signal),var(--login-accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.sub[data-v-85dbd38a]{margin:0 0 34px;color:var(--text-1);font-size:17px;line-height:1.6}.points[data-v-85dbd38a]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.points li[data-v-85dbd38a]{display:flex;align-items:center;gap:12px;color:var(--text-1);font-size:16px;font-weight:500}.points li[data-v-85dbd38a]>svg{flex-shrink:0;box-sizing:content-box;width:15px;height:15px;padding:5px;border-radius:50%;color:var(--signal);background:var(--sel-bg);box-shadow:inset 0 0 0 1px var(--sel-ring)}.ico-enter-active[data-v-34ea922a],.ico-leave-active[data-v-34ea922a]{transition:opacity .16s var(--ease),transform .2s var(--ease)}.ico-leave-to[data-v-34ea922a]{opacity:0;transform:rotate(-70deg) scale(.6)}.ico-enter-from[data-v-34ea922a]{opacity:0;transform:rotate(70deg) scale(.6)}.lang-text[data-v-34ea922a]{font-size:13px;font-weight:600;line-height:1}.foot[data-v-34ea922a]{display:flex;align-items:center;justify-content:center;gap:10px;margin:22px 0 0;font-size:13px;color:var(--text-3)}.foot a[data-v-34ea922a]{color:inherit;text-decoration:none}.foot a[data-v-34ea922a]:hover{color:var(--signal)}.foot-ver[data-v-34ea922a]{opacity:.75}.oauth-box[data-v-dd5ff9cd]{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}.oauth-msg[data-v-dd5ff9cd]{margin:0;font-size:15px;color:var(--text-1)}.oauth-msg-fail[data-v-dd5ff9cd]{max-width:320px;line-height:1.5}.oauth-sub[data-v-dd5ff9cd]{margin:0;font-size:13.5px;color:var(--text-3)}.oauth-err-icon[data-v-dd5ff9cd]{color:var(--err)}.oauth-bar[data-v-dd5ff9cd]{width:160px;height:3px;overflow:hidden;border-radius:2px;background:var(--fill)}.oauth-bar i[data-v-dd5ff9cd]{display:block;height:100%;width:100%;border-radius:inherit;background:var(--signal);transform-origin:left;animation:oauth-fill-dd5ff9cd 2.6s linear both}@keyframes oauth-fill-dd5ff9cd{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.oauth-bar i[data-v-dd5ff9cd]{animation:none}}.login-logo[data-v-e94d2959]{display:flex;justify-content:center;margin:0 auto 22px}.login-logo[data-v-e94d2959] .site-logo{border-radius:var(--radius-lg);box-shadow:0 14px 40px -10px var(--signal-glow)}.mfa-header[data-v-e94d2959]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.mfa-title[data-v-e94d2959]{min-width:0;font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1.35;color:var(--text-1)}.mfa-switch[data-v-e94d2959]{flex:none;margin-top:2px}.mfa-steps[data-v-e94d2959]{margin-bottom:18px}.mfa-alert[data-v-e94d2959]{margin-bottom:16px}.mfa-submit[data-v-e94d2959]{margin-top:4px}[data-v-e94d2959] .n-form-item{margin-bottom:14px}.mfa-qr-wrap[data-v-e94d2959]{display:flex;justify-content:center;margin:0 0 16px}.mfa-seed[data-v-e94d2959] input{font-family:var(--font-mono)}.mfa-manual-hint[data-v-e94d2959]{margin:-8px 0 14px;font-size:13px;line-height:1.5;color:var(--text-3)}.recovery-grid[data-v-e94d2959]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.recovery-code[data-v-e94d2959]{padding:8px 10px;border-radius:4px;background:var(--fill);text-align:center;letter-spacing:.04em;font-family:var(--font-mono);font-size:13.5px}.recovery-actions[data-v-e94d2959]{display:flex;flex-direction:column;gap:10px}.login-foot[data-v-e94d2959]{display:flex;align-items:center;justify-content:center;gap:10px;margin:22px 0 0;font-size:13px;color:var(--text-3)}.login-foot-ver[data-v-e94d2959]{opacity:.75}@media(max-width:480px){.recovery-grid[data-v-e94d2959]{grid-template-columns:minmax(0,1fr)}}.boot-error[data-v-2c0c73e5]{display:flex;flex-direction:column;align-items:center;text-align:center}.boot-icon[data-v-2c0c73e5]{color:var(--signal)}h1[data-v-2c0c73e5]{margin:14px 0 10px;color:var(--text-1);font-size:22px;font-weight:600;letter-spacing:-.02em}p[data-v-2c0c73e5]{margin:0;max-width:480px;color:var(--text-2);font-size:14.5px;line-height:1.7}.boot-actions[data-v-2c0c73e5]{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}.boot-actions .cta[data-v-2c0c73e5]{min-width:110px}.module-wrap[data-v-fda8bd9b]{min-height:100dvh;padding:clamp(32px,9vh,80px) 24px;display:flex;flex-direction:column;align-items:center}.module-head[data-v-fda8bd9b]{display:flex;align-items:center;gap:12px;width:100%;max-width:900px;margin-bottom:24px}.module-head h1[data-v-fda8bd9b]{margin:0;font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--text-1)}.module-back[data-v-fda8bd9b]{min-height:32px;margin-left:auto}.module-theme[data-v-fda8bd9b]{margin-left:auto}.module-empty[data-v-fda8bd9b],.module-spin[data-v-fda8bd9b]{width:100%;max-width:900px}.grid[data-v-fda8bd9b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;width:100%}.mod-card[data-v-fda8bd9b]{cursor:pointer;transition:box-shadow .25s var(--ease)}.mod-card[data-v-fda8bd9b]:hover{box-shadow:var(--shadow-2)}.mod-card.current[data-v-fda8bd9b]{background-image:linear-gradient(var(--sel-bg),var(--sel-bg));box-shadow:0 0 0 1px var(--sel-ring),0 0 0 4px var(--sel-halo),var(--shadow-1)}.mod-card.current .name[data-v-fda8bd9b]{color:var(--sel-fg)}.mod-card[data-v-fda8bd9b]:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.mod-top[data-v-fda8bd9b]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:32px;margin-bottom:8px}.ico[data-v-fda8bd9b]{color:var(--signal)}.def[data-v-fda8bd9b]{height:32px;margin:-4px -6px 0 0;padding:0 6px}.name[data-v-fda8bd9b]{font-size:16px;font-weight:600;color:var(--text-1)}.code[data-v-fda8bd9b]{margin-top:4px;font-family:var(--font-mono);font-size:13px;color:var(--text-3)}@media(prefers-reduced-motion:reduce){.mod-card[data-v-fda8bd9b]:hover{transform:none}}.accent-card[data-v-41a6660e]{padding:14px 14px 12px;border-radius:14px;background:var(--glass);box-shadow:inset 0 0 0 1px var(--hairline),inset 0 1px 0 var(--edge-light)}.row[data-v-41a6660e]{display:flex;align-items:center;justify-content:space-between;gap:6px}.dot[data-v-41a6660e]{position:relative;display:grid;flex:none;place-items:center;width:28px;height:28px;padding:0;border:none;border-radius:50%;color:#fff;cursor:pointer;background:radial-gradient(circle at 30% 22%,rgb(255 255 255 / .38),transparent 58%),var(--c);box-shadow:inset 0 0 0 1px #00000024,0 1px 2px #0000002e;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.dot[data-v-41a6660e]:active{transform:scale(.96)}.dot.on[data-v-41a6660e]{box-shadow:inset 0 0 0 1px #00000024,0 0 0 2px var(--bg-elevated),0 0 0 4px var(--c)}.dot[data-v-41a6660e]:focus-visible{outline:2px solid var(--signal);outline-offset:5px}.dot[data-v-41a6660e] svg{filter:drop-shadow(0 1px 1px rgb(0 0 0 / .35))}@media(prefers-reduced-motion:reduce){.dot[data-v-41a6660e]{transition:none}.dot[data-v-41a6660e]:hover,.dot[data-v-41a6660e]:active{transform:none}}.dot.custom[data-v-41a6660e]{overflow:hidden;--c: #8e8e93;background:radial-gradient(circle at 30% 22%,rgb(255 255 255 / .38),transparent 58%),conic-gradient(#ff5e57,#ffb340,#f6e04a,#4cd964,#32c8d8,#4a8cff,#b25cf0,#ff5e57)}.dot.custom.on[data-v-41a6660e]{background:radial-gradient(circle at 30% 22%,rgb(255 255 255 / .38),transparent 58%),var(--c)}.dot.custom[data-v-41a6660e] .n-color-picker{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.name[data-v-41a6660e]{display:flex;align-items:baseline;gap:8px;margin:12px 2px 0;font-size:var(--font-size-base);color:var(--text-2)}.name b[data-v-41a6660e]{font-weight:500;color:var(--text-1)}.hex[data-v-41a6660e]{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-3)}.demo[data-v-41a6660e]{display:flex;align-items:center;gap:14px;margin-top:12px;padding:10px 12px;border-radius:var(--radius-md);background:var(--fill);pointer-events:none}.link[data-v-41a6660e]{font-size:var(--font-size-base);color:var(--sel-fg)}.bar[data-v-41a6660e]{flex:1;min-width:40px}.footer-actions[data-v-6325aaae]{display:flex;flex-direction:column;gap:8px;width:100%}.section-title[data-v-6325aaae]{margin:22px 0 8px 4px;font-size:var(--font-size-base);font-weight:500;letter-spacing:-.01em;color:var(--text-3)}.section-title.first[data-v-6325aaae]{margin-top:0}.set-group.n-list[data-v-6325aaae]{border-radius:14px;background:var(--glass);box-shadow:inset 0 0 0 1px var(--hairline),inset 0 1px 0 var(--edge-light)}.set-group[data-v-6325aaae] .n-list-item{position:relative;padding:10px 12px!important;border-radius:var(--radius-lg)}.set-group[data-v-6325aaae] .n-list-item+.n-list-item:before{content:"";position:absolute;left:52px;right:12px;top:0;height:1px;background:var(--separator);transition:opacity var(--transition-fast)}.set-group[data-v-6325aaae] .n-list-item:hover:before,.set-group[data-v-6325aaae] .n-list-item:hover+.n-list-item:before{opacity:0}.sym[data-v-6325aaae]{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:var(--radius-sm);background:var(--glass-strong);color:var(--text-1);box-shadow:inset 0 0 0 1px var(--hairline),inset 0 1px 0 var(--edge-light)}.txt b[data-v-6325aaae]{display:block;font-size:var(--font-size-md);font-weight:500;line-height:1.3}.txt span[data-v-6325aaae]{display:block;margin-top:2px;font-size:var(--font-size-sm);line-height:1.4;color:var(--text-3)}.sel[data-v-6325aaae]{width:112px}.notice-panel[data-v-3a2e9bdd]{width:360px;max-width:92vw}.notice-head[data-v-3a2e9bdd]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 4px}.notice-title[data-v-3a2e9bdd]{font-weight:600;font-size:15px}.notice-empty[data-v-3a2e9bdd]{padding:32px 0}.notice-list[data-v-3a2e9bdd]{margin:0;padding:0;list-style:none}.notice-item[data-v-3a2e9bdd]{position:relative;display:flex;gap:8px;padding:12px 16px;cursor:pointer;border-top:1px solid var(--separator);transition:background-color var(--transition-fast)}.notice-item[data-v-3a2e9bdd]:hover{background-color:var(--hover)}.notice-item.unread[data-v-3a2e9bdd]{background-color:color-mix(in srgb,var(--signal) 5%,transparent)}.notice-item.unread[data-v-3a2e9bdd]:hover{background-color:color-mix(in srgb,var(--signal) 10%,transparent)}.notice-item.read[data-v-3a2e9bdd]{opacity:.55}.dot[data-v-3a2e9bdd]{position:absolute;left:6px;top:18px;width:6px;height:6px;border-radius:50%;background:var(--signal)}.notice-body[data-v-3a2e9bdd]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.line1[data-v-3a2e9bdd]{display:flex;align-items:center;gap:6px;min-width:0}.item-title[data-v-3a2e9bdd]{flex:1;min-width:0;font-size:14px}.item-title.unread[data-v-3a2e9bdd]{font-weight:600}.item-actions-mark[data-v-3a2e9bdd]{flex-shrink:0;color:var(--signal)}.item-snippet[data-v-3a2e9bdd]{font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-time[data-v-3a2e9bdd]{font-size:12.5px}.notice-foot[data-v-3a2e9bdd]{display:flex;justify-content:center;padding:8px;border-top:1px solid var(--separator)}.bar[data-v-3e5c4a9e]{height:100%;display:flex;align-items:center;gap:6px;padding:0 14px 0 10px}.left[data-v-3e5c4a9e]{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden}.brand[data-v-3e5c4a9e]{display:flex;align-items:center;gap:8px;color:var(--text-1);font-weight:600;flex-shrink:0}.brand-name[data-v-3e5c4a9e]{font-size:15px;letter-spacing:-.02em}.crumb[data-v-3e5c4a9e]{margin-left:6px;font-size:14px;min-width:0}.title[data-v-3e5c4a9e]{margin-left:6px;font-size:14px;font-weight:500;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.center[data-v-3e5c4a9e]{flex:1;min-width:0;overflow:hidden}.right[data-v-3e5c4a9e]{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}.top-user[data-v-3e5c4a9e]{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 8px 0 4px;margin-left:4px;border:1px solid transparent;border-radius:999px;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.top-user[data-v-3e5c4a9e]:hover,.top-user[data-v-3e5c4a9e]:focus-visible{background:var(--hover);border-color:var(--hairline);outline:none}.top-user-name[data-v-3e5c4a9e]{font-size:14px;font-weight:500;white-space:nowrap}.caret[data-v-3e5c4a9e]{color:var(--text-3)}@media(max-width:1100px){.top-user-name[data-v-3e5c4a9e]{display:none}}@media(max-width:767px){.bar[data-v-3e5c4a9e]{gap:8px;padding:0 8px}.top-user[data-v-3e5c4a9e]{padding:0 4px;margin-left:0}.mobile-hide[data-v-3e5c4a9e]{display:none!important}}.sidenav[data-v-0b541618]{height:100%;display:flex;flex-direction:column;background:transparent;overflow:hidden}.brand[data-v-0b541618]{display:flex;align-items:center;gap:10px;height:50px;padding:0 18px;color:var(--text-1);overflow:hidden;white-space:nowrap;flex-shrink:0}.icon-only .brand[data-v-0b541618]{padding:0;justify-content:center}.brand-name[data-v-0b541618]{min-width:0;font-size:15px;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--text-1)}.side-search[data-v-0b541618]{flex-shrink:0;padding:0 12px 12px}.search-input[data-v-0b541618],.search-input[data-v-0b541618] .n-input__input-el{cursor:pointer}.search-ico[data-v-0b541618]{color:var(--text-3)}.side-menu[data-v-0b541618]{flex:1;min-height:0;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 22px),transparent)}.sidenav[data-v-0b541618] .n-menu-item-content--selected .n-menu-item-content-header{font-weight:600}.tabsbar[data-v-06aee79f]{height:40px;display:flex;align-items:center;padding:0 10px 0 12px;background:transparent;box-shadow:inset 0 1px 0 var(--hairline)}.scroller[data-v-06aee79f]{flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-behavior:smooth;scrollbar-width:none}.scroller[data-v-06aee79f]::-webkit-scrollbar{display:none}.fade-start[data-v-06aee79f]:not(.fade-end){-webkit-mask-image:linear-gradient(to right,transparent 0,#000 18px);mask-image:linear-gradient(to right,transparent 0,#000 18px)}.fade-end[data-v-06aee79f]:not(.fade-start){-webkit-mask-image:linear-gradient(to left,transparent 0,#000 18px);mask-image:linear-gradient(to left,transparent 0,#000 18px)}.fade-start.fade-end[data-v-06aee79f]{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%)}.strip[data-v-06aee79f]{display:flex;align-items:center;width:100%;padding:5px 0}.chip[data-v-06aee79f]{position:relative;display:inline-flex;margin-right:4px;align-items:center;gap:7px;flex:0 1 auto;min-width:104px;max-width:180px;height:30px;padding:0 11px;border:none;border-radius:var(--radius-md);background:var(--fill);color:var(--text-3);font-size:14px;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast),background-color var(--transition-fast)}.chip[data-v-06aee79f]:hover{color:var(--text-1);background:var(--hover)}.chip.active[data-v-06aee79f]{background:var(--tab-on-bg);color:var(--tab-on-fg);font-weight:600}.chip[data-v-06aee79f] svg{flex-shrink:0}.chip-label[data-v-06aee79f]{min-width:0;overflow:hidden;text-overflow:ellipsis}.chip--fixed[data-v-06aee79f]{flex:none;min-width:0;max-width:none}.chip[data-v-06aee79f]:focus:not(:focus-visible),.chip-close[data-v-06aee79f]:focus:not(:focus-visible){outline:none}.chip[data-v-06aee79f]:focus-visible,.chip-close[data-v-06aee79f]:focus-visible{outline:2px solid var(--signal);outline-offset:1px}.chip-pin[data-v-06aee79f]{opacity:.7}.chip-icon[data-v-06aee79f]{transition:opacity var(--transition-fast)}.chip-close[data-v-06aee79f]{border-radius:50%;transition:opacity var(--transition-fast)}@media(hover:hover){.chip-close[data-v-06aee79f]{position:absolute;left:12px;top:50%;margin-top:-6.5px;opacity:0;pointer-events:none}.chip:hover .chip-close[data-v-06aee79f],.chip:focus-within .chip-close[data-v-06aee79f]{opacity:.75;pointer-events:auto}.chip:hover .chip-close[data-v-06aee79f]:hover,.chip-close[data-v-06aee79f]:focus-visible{opacity:1}.chip:hover .chip-icon[data-v-06aee79f],.chip:focus-within .chip-icon[data-v-06aee79f]{opacity:0}.chip:not(:has(.chip-icon)) .chip-close[data-v-06aee79f]{position:static;margin-top:0}}@media(hover:none){.chip[data-v-06aee79f]{padding-right:8px}.chip-close[data-v-06aee79f]{opacity:.7}}.chip-enter-active[data-v-06aee79f],.chip-leave-active[data-v-06aee79f]{overflow:hidden;transition-property:width,max-width,min-width,padding-left,padding-right,margin-right,opacity;transition-duration:.22s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chip-enter-from[data-v-06aee79f]{max-width:0;min-width:0;padding-left:0;padding-right:0;margin-right:0;opacity:0}.chip-leave-active[data-v-06aee79f]{flex:none;pointer-events:none}.chip-leave-from[data-v-06aee79f]{width:var(--chip-w)}.chip-leave-to[data-v-06aee79f]{width:0;min-width:0;padding-left:0;padding-right:0;margin-right:0;opacity:0}.layout[data-v-167bced3]{--sidebar-w: 232px;--rail-w: 64px;--aside-duration: .28s;display:grid;height:100dvh;padding:8px;gap:8px;overflow:hidden;background:var(--wallpaper, var(--bg-app))}.mode-vertical[data-v-167bced3],.mode-vertical-mix[data-v-167bced3],.mode-vertical-hybrid-header-first[data-v-167bced3]{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"aside header" "aside content"}.mode-top-hybrid-sidebar-first[data-v-167bced3],.mode-top-hybrid-header-first[data-v-167bced3]{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"header header" "aside content"}.mode-horizontal[data-v-167bced3],.mode-mobile[data-v-167bced3]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"header" "content"}.layout[data-v-167bced3]{transition:column-gap var(--aside-duration) var(--ease-sheet)}.layout.aside-hidden[data-v-167bced3]{column-gap:0}.glass[data-v-167bced3]{background:var(--glass-panel);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass[data-v-167bced3]{background:var(--glass-solid, var(--glass-panel))}}.aside[data-v-167bced3]{grid-area:aside;position:relative;z-index:2;height:100%;min-height:0;overflow:hidden;border-radius:var(--radius-lg);transition:width var(--aside-duration) var(--ease-sheet),border-width var(--aside-duration) var(--ease-sheet),opacity .2s ease}.aside--hidden[data-v-167bced3]{border-width:0;opacity:0}.aside[data-v-167bced3]:not(.aside--mix)>*{width:var(--aside-w)}.aside--mix[data-v-167bced3]{display:flex}.aside--mix .rail[data-v-167bced3]{width:var(--rail-w);flex-shrink:0;border-right:1px solid var(--hairline)}.aside--mix .l2col[data-v-167bced3]{flex:none;width:var(--sidebar-w)}.shell-head[data-v-167bced3]{grid-area:header;position:relative;z-index:5;min-width:0;overflow:hidden;border-radius:14px}.shell-head--static[data-v-167bced3]{backdrop-filter:none;-webkit-backdrop-filter:none}.toolbar[data-v-167bced3]{display:flex;align-items:stretch;height:44px}.hbg[data-v-167bced3]{align-self:center;margin-left:8px}.apph[data-v-167bced3]{flex:1;min-width:0;height:100%}.content[data-v-167bced3]{grid-area:content;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.page[data-v-167bced3]{flex:1;min-height:0;overflow:auto;padding:0 2px 8px}.page[data-v-167bced3]:not(.bp-narrow):has(>.page-view>:is(.smart-table,.fill-page,.side-page)){padding:0 2px 2px}.page.bp-narrow[data-v-167bced3] .page-view{height:auto}.personal-layout[data-v-6036bc95]{display:flex;gap:var(--gap-card);align-items:stretch;min-height:100%}.personal-sider[data-v-6036bc95]{width:200px;flex-shrink:0;align-self:flex-start}.personal-main[data-v-6036bc95]{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--gap-card)}.personal-tabs[data-v-6036bc95]{flex-shrink:0}.personal-content[data-v-6036bc95]{min-width:0}.personal-layout.is-compact[data-v-6036bc95]{flex-direction:column;gap:var(--gap-card)}.avatar-field[data-v-c19f2341]{display:flex;align-items:center;gap:14px}.sec[data-v-339c19c7]{display:flex;flex-direction:column;gap:12px}.sec-desc[data-v-339c19c7]{margin:4px 0 0;font-size:14px;line-height:1.6;color:var(--text-2)}.sec-actions[data-v-339c19c7]{display:flex;flex-wrap:wrap;gap:8px}.sec-note[data-v-339c19c7]{font-size:13px;line-height:1.6;color:var(--text-3)}[data-v-6e7e3dea] .device-cell{display:flex;align-items:center;gap:8px}.bind-page[data-v-6fc65f6f]{max-width:920px;width:100%}.bind-header[data-v-6fc65f6f]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.bind-title[data-v-6fc65f6f]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.bind-hint[data-v-6fc65f6f]{margin:0;max-width:520px;font-size:14px;line-height:1.6;color:var(--text-2)}.bind-summary[data-v-6fc65f6f]{flex-shrink:0;font-variant-numeric:tabular-nums}.bind-summary-num[data-v-6fc65f6f]{font-size:18px;font-weight:600;color:var(--signal)}.bind-alert[data-v-6fc65f6f]{margin-bottom:12px}.bind-empty[data-v-6fc65f6f]{padding:48px 0}.bind-grid[data-v-6fc65f6f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:12px;min-height:120px}.bind-card[data-v-6fc65f6f] .n-card__content{display:flex;flex-direction:column;gap:12px;padding:14px 16px}.bind-card.bind-card--bound[data-v-6fc65f6f]{border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:color-mix(in srgb,var(--ok) 4%,var(--bg-card))}.bind-card.bind-card--disabled[data-v-6fc65f6f]{opacity:.78;background:var(--fill);border:1px dashed var(--hairline)}.bind-card-main[data-v-6fc65f6f]{display:flex;align-items:center;gap:12px;min-width:0}.bind-avatar[data-v-6fc65f6f]{position:relative;display:inline-flex;width:48px;height:48px;flex-shrink:0;align-items:center;justify-content:center;border-radius:50%;overflow:visible;background:var(--fill);color:var(--text-1)}.bind-avatar[data-v-6fc65f6f] .oauth-brand-badge,.bind-avatar[data-v-6fc65f6f] img{border-radius:50%;overflow:hidden}.bind-avatar--bound[data-v-6fc65f6f]{box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 35%,transparent)}.bind-check[data-v-6fc65f6f]{position:absolute;right:-2px;bottom:-2px;display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;border-radius:50%;background:var(--ok);color:var(--bg-card);box-shadow:0 0 0 2px var(--bg-card);line-height:0}.bind-meta[data-v-6fc65f6f]{min-width:0;flex:1}.bind-title-row[data-v-6fc65f6f]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bind-name[data-v-6fc65f6f]{font-size:15px;font-weight:600;color:var(--text-1)}.bind-code[data-v-6fc65f6f]{display:inline-block;margin-top:4px;padding:0 6px;border-radius:6px;background:var(--fill);color:var(--text-2);font-family:var(--font-mono);font-size:13.5px;letter-spacing:0}.bind-time[data-v-6fc65f6f],.bind-free-tip[data-v-6fc65f6f],.bind-disabled-tip[data-v-6fc65f6f]{margin:0;font-size:13px;line-height:1.5;color:var(--text-3)}.bind-actions[data-v-6fc65f6f]{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:10px;border-top:1px dashed var(--hairline);min-height:36px}.bind-na[data-v-6fc65f6f]{font-size:13px;color:var(--text-3)}.nf-card[data-v-67a3298f]{min-height:60vh;height:100%}.nf-card[data-v-67a3298f] .n-card__content{height:100%;display:flex;align-items:center;justify-content:center}.nf[data-v-67a3298f]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.code[data-v-67a3298f]{font-size:96px;font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--signal)}.msg[data-v-67a3298f]{color:var(--text-2);font-size:16px}.back[data-v-67a3298f]{min-width:120px}.picker[data-v-f9cc8618]{width:420px;max-width:calc(100vw - 32px)}.faint[data-v-f9cc8618]{color:var(--text-3)}.list[data-v-f9cc8618]{max-height:320px;margin-top:8px}.list-item[data-v-f9cc8618]{border-radius:var(--radius-md);padding:8px 10px}.row[data-v-f9cc8618]{display:flex;align-items:center;gap:10px;min-height:22px}.empty[data-v-f9cc8618]{padding:26px 0}.view[data-v-5e7dfd7f]{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap-card);align-content:start}.banner-card[data-v-5e7dfd7f]{background-image:linear-gradient(var(--sel-bg),var(--sel-bg))}.banner[data-v-5e7dfd7f]{display:flex;align-items:center;gap:16px}.avatar[data-v-5e7dfd7f]{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:var(--on-acc);background-image:linear-gradient(135deg,var(--signal),var(--login-accent-2));box-shadow:0 8px 20px -8px var(--signal-glow)}.banner-body[data-v-5e7dfd7f]{min-width:0;flex:1}.hi[data-v-5e7dfd7f]{font-size:18px;font-weight:600;letter-spacing:-.02em;color:var(--text-1)}.tip[data-v-5e7dfd7f]{margin-top:2px;font-size:14px;color:var(--text-2)}.meta-row[data-v-5e7dfd7f]{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;font-size:13px;color:var(--text-3);font-variant-numeric:tabular-nums}.meta-dot[data-v-5e7dfd7f]{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.7;flex-shrink:0}.row[data-v-5e7dfd7f]{display:grid;align-items:start;gap:var(--gap-card)}.list-item[data-v-5e7dfd7f]{border-radius:var(--radius-md);padding:8px 10px}.empty[data-v-5e7dfd7f]{padding:26px 0}.todo-row[data-v-5e7dfd7f]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2px 16px}.todo-main[data-v-5e7dfd7f]{flex:1 1 220px;min-width:0}.todo-title[data-v-5e7dfd7f]{font-weight:500;color:var(--text-1)}.todo-sub[data-v-5e7dfd7f]{margin-top:2px;font-size:13px;color:var(--text-3)}.todo-time[data-v-5e7dfd7f]{font-size:13px;white-space:nowrap;color:var(--text-3);font-variant-numeric:tabular-nums}.quick-group-label[data-v-5e7dfd7f]{margin:0 0 8px;font-size:13px;color:var(--text-3)}.quick-group-label.after-pinned[data-v-5e7dfd7f]{margin-top:16px}.quick-grid[data-v-5e7dfd7f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.quick-item[data-v-5e7dfd7f]{display:flex;align-items:center;min-width:0;border-radius:var(--radius-md)}.quick-item.pinned[data-v-5e7dfd7f]{border:1px solid var(--hairline-strong);background:var(--fill)}.quick-item.suggested[data-v-5e7dfd7f]{border:1px dashed var(--hairline-strong)}.quick-body[data-v-5e7dfd7f]{flex:1 1 auto;min-width:0;height:40px;justify-content:flex-start}.quick-name[data-v-5e7dfd7f]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-star[data-v-5e7dfd7f]{flex:none;margin-right:3px}.star-on[data-v-5e7dfd7f]{color:var(--warn)}.star-off[data-v-5e7dfd7f]{color:var(--text-3)}.notice-row[data-v-5e7dfd7f]{display:grid;grid-template-columns:6px minmax(0,1fr) auto;align-items:center;column-gap:10px;row-gap:2px;overflow:hidden}.notice-row.stacked[data-v-5e7dfd7f]{grid-template-columns:6px minmax(0,1fr)}.notice-row.stacked .notice-time[data-v-5e7dfd7f]{grid-column:2}.dot[data-v-5e7dfd7f]{width:6px;height:6px;border-radius:50%;background:transparent}.dot.unread[data-v-5e7dfd7f]{background:var(--signal)}.notice-title[data-v-5e7dfd7f]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-1)}.notice-title.unread[data-v-5e7dfd7f]{font-weight:500}.notice-time[data-v-5e7dfd7f]{font-size:13px;white-space:nowrap;color:var(--text-3);font-variant-numeric:tabular-nums}.view[data-v-4b676ea4]{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap-card);align-content:start}.grid[data-v-4b676ea4]{display:grid;gap:var(--gap-card)}.banner-card[data-v-4b676ea4]{background-image:linear-gradient(var(--sel-bg),var(--sel-bg))}.banner[data-v-4b676ea4]{display:flex;align-items:center;gap:16px}.avatar[data-v-4b676ea4]{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:var(--on-acc);background-image:linear-gradient(135deg,var(--signal),var(--login-accent-2));box-shadow:0 8px 20px -8px var(--signal-glow)}.banner-body[data-v-4b676ea4]{min-width:0;flex:1}.hi[data-v-4b676ea4]{font-size:18px;font-weight:600;letter-spacing:-.02em;color:var(--text-1)}.tip[data-v-4b676ea4]{margin-top:2px;font-size:14px;color:var(--text-2)}.stat-ico[data-v-4b676ea4]{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-lg);display:grid;place-items:center;background:color-mix(in srgb,currentColor 12%,transparent)}.stat-body[data-v-4b676ea4]{min-width:0}.stat-val[data-v-4b676ea4]{font-size:28px;line-height:34px;font-weight:600;letter-spacing:-.04em;color:var(--text-1)}.stat-label[data-v-4b676ea4]{font-size:14px;color:var(--text-2)}.embed-wrap[data-v-f642de1e]{height:100%;min-height:calc(100dvh - 160px);overflow:hidden}.embed-wrap[data-v-f642de1e] .n-card__content{display:flex;flex-direction:column;height:100%;min-height:calc(100dvh - 160px)}.embed[data-v-f642de1e]{display:block;flex:1 1 0;width:100%;min-height:calc(100dvh - 160px);border:0}.missing-card[data-v-59f2368e]{min-height:60vh;height:100%}.missing-card[data-v-59f2368e] .n-card__content{height:100%;display:flex;align-items:center;justify-content:center}.missing-route[data-v-59f2368e]{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:620px;min-width:0;text-align:center}.badge[data-v-59f2368e]{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-lg);color:var(--warn);background:var(--fill);box-shadow:inset 0 0 0 1px var(--hairline)}h1[data-v-59f2368e]{margin:0;color:var(--text-1);font-size:22px;font-weight:600;letter-spacing:-.02em}p[data-v-59f2368e]{margin:0;max-width:100%;color:var(--text-2);font-size:14.5px;line-height:1.7}code[data-v-59f2368e]{max-width:100%;padding:6px 8px;border:1px solid var(--hairline-strong);border-radius:4px;color:var(--err);font-family:var(--font-mono);font-size:13.5px;word-break:break-all}.provider-card[data-v-a5f75b1c]{display:flex;flex-direction:column;transition:border-color var(--transition-fast),background-color var(--transition-fast),opacity var(--transition-fast)}.provider-card[data-v-a5f75b1c] .n-card-content{display:flex;flex:1;flex-direction:column;gap:10px}.provider-card.provider-card--enabled[data-v-a5f75b1c]{border:1px solid var(--sel-ring);background-image:linear-gradient(var(--sel-bg),var(--sel-bg))}.provider-card.provider-card--disabled[data-v-a5f75b1c]{opacity:.72}.provider-card.provider-card--pending[data-v-a5f75b1c]{border:1px dashed var(--warn)}.card-head[data-v-a5f75b1c]{display:flex;align-items:center;gap:12px;min-width:0}.badge[data-v-a5f75b1c]{flex:none;width:42px;height:42px;border-radius:var(--radius-lg);display:grid;place-items:center;font-size:15px;font-weight:600;letter-spacing:.02em;color:var(--text-2);background:var(--glass-strong);box-shadow:inset 0 0 0 1px var(--hairline)}.provider-card--enabled .badge[data-v-a5f75b1c]{color:var(--sel-fg);background:var(--sel-bg);box-shadow:inset 0 0 0 1px var(--sel-ring)}.head-meta[data-v-a5f75b1c]{min-width:0;flex:1}.name-row[data-v-a5f75b1c]{display:flex;align-items:center;gap:8px;min-width:0}.name[data-v-a5f75b1c]{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-1)}.protocol[data-v-a5f75b1c]{flex:none}.code[data-v-a5f75b1c]{display:inline-block;margin-top:4px;padding:0 6px;border-radius:6px;background:var(--fill);color:var(--text-2)}.card-body[data-v-a5f75b1c]{display:flex;flex-direction:column;gap:6px;font-size:14px}.row[data-v-a5f75b1c]{display:flex;gap:8px;min-width:0}.label[data-v-a5f75b1c]{flex:none;width:66px}.value[data-v-a5f75b1c]{min-width:0}.value.ellipsis[data-v-a5f75b1c]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-actions[data-v-a5f75b1c]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 8px;margin-top:auto;padding-top:10px;border-top:1px dashed var(--hairline-strong)}.switch-group[data-v-a5f75b1c]{display:flex;align-items:center;gap:8px}.switch-text[data-v-a5f75b1c]{font-size:13.5px}.test-result[data-v-a5f75b1c]{display:flex;flex-direction:column;gap:4px;font-size:13.5px}.test-head[data-v-a5f75b1c]{display:flex;align-items:center;gap:6px;font-weight:600}.test-head.ok[data-v-a5f75b1c]{color:var(--ok)}.test-head.fail[data-v-a5f75b1c],.test-error[data-v-a5f75b1c]{color:var(--err)}.hint[data-v-8a40830a]{font-size:13px;color:var(--text-3)}.model-hint[data-v-8a40830a]{margin-top:8px}.model-row[data-v-8a40830a]{border:1px solid var(--hairline);border-radius:var(--radius-md);padding:10px 12px;background:var(--fill)}.model-row+.model-row[data-v-8a40830a]{margin-top:8px}.model-row-head[data-v-8a40830a]{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.model-index[data-v-8a40830a]{font-weight:600}.model-row-spacer[data-v-8a40830a]{flex:1}.model-row-fields[data-v-8a40830a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:8px}.field[data-v-8a40830a]{min-width:0}.mini-label[data-v-8a40830a]{display:block;margin-bottom:2px;font-size:13px;color:var(--text-3)}.model-row-head .mini-label[data-v-8a40830a]{display:inline;margin-bottom:0;color:var(--text-2)}.view[data-v-b47e4d6f]{display:flex;flex-direction:column;gap:var(--gap-card, 8px);container-type:inline-size}.toolbar[data-v-b47e4d6f]{display:flex;align-items:center;gap:8px;min-width:0}.toolbar-search[data-v-b47e4d6f]{flex:0 1 240px;min-width:0}.toolbar-spacer[data-v-b47e4d6f]{flex:1}.empty[data-v-b47e4d6f]{padding:64px 0}.grid[data-v-b47e4d6f]{display:grid;gap:8px;grid-template-columns:minmax(0,1fr)}@container (min-width: 604px){.grid[data-v-b47e4d6f]{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (min-width: 1400px){.grid[data-v-b47e4d6f]{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (max-width: 603px){.toolbar-search[data-v-b47e4d6f]{flex:1 1 0}.toolbar-spacer[data-v-b47e4d6f]{display:none}}.view[data-v-06f1e1ff]{display:flex;flex-direction:column;gap:var(--gap-card, 8px);container-type:inline-size}.filter-bar[data-v-06f1e1ff]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 20px}.filter-item[data-v-06f1e1ff]{display:flex;flex-direction:column;gap:6px;min-width:0}.filter-label[data-v-06f1e1ff]{font-size:13px}.date-filter-row[data-v-06f1e1ff]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.date-picker[data-v-06f1e1ff]{width:290px}.filter-ctl[data-v-06f1e1ff]{width:180px}.quick-range[data-v-06f1e1ff]{display:flex;gap:4px}@container (max-width: 603px){.filter-item[data-v-06f1e1ff]{flex:1 1 100%}.date-picker[data-v-06f1e1ff],.filter-ctl[data-v-06f1e1ff]{width:100%}.date-picker[data-v-06f1e1ff]{flex:1 1 100%}}.metrics[data-v-06f1e1ff]{display:grid;gap:8px;grid-template-columns:minmax(0,1fr)}@container (min-width: 480px){.metrics[data-v-06f1e1ff]{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (min-width: 1000px){.metrics[data-v-06f1e1ff]{grid-template-columns:repeat(4,minmax(0,1fr))}}.metric-body[data-v-06f1e1ff]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.metric-main[data-v-06f1e1ff]{min-width:0}.metric-val[data-v-06f1e1ff]{font-size:28px;font-weight:600;letter-spacing:-.04em;line-height:1;color:var(--text-1);white-space:nowrap}.metric-suffix[data-v-06f1e1ff]{margin-left:4px;font-size:15px;letter-spacing:0;color:var(--text-3)}.metric-label[data-v-06f1e1ff]{margin-top:6px;font-size:14px}.metric-icon[data-v-06f1e1ff]{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-md);color:var(--text-1);background:var(--glass-strong);box-shadow:inset 0 0 0 1px var(--hairline)}.share-cell[data-v-06f1e1ff]{display:flex;align-items:center;gap:8px}.share-bar[data-v-06f1e1ff]{flex:1;min-width:60px}.share-text[data-v-06f1e1ff]{flex:none;width:58px;text-align:right;font-size:13px;white-space:nowrap}.docs-card[data-v-7803e913]{width:100%;max-width:760px;margin:0 auto}.lead[data-v-7803e913]{display:flex;align-items:center;gap:14px}.sym[data-v-7803e913]{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border-radius:var(--radius-md);color:var(--text-1);background:var(--glass-strong);box-shadow:inset 0 0 0 1px var(--hairline),inset 0 1px 0 var(--edge-light)}.lead-text[data-v-7803e913]{min-width:0}.lead-title[data-v-7803e913]{font-size:16px;font-weight:600}.lead-url[data-v-7803e913]{margin-top:2px;font-family:var(--font-mono, ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace);font-size:13.5px;color:var(--text-3);overflow-wrap:anywhere}.split[data-v-7803e913]{margin:0}.copy-row[data-v-7803e913]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.copied[data-v-7803e913]{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:var(--ok)}.hint[data-v-7803e913]{margin-top:12px;font-size:14px;line-height:1.7;color:var(--text-2)}.warn[data-v-7803e913]{display:flex;align-items:flex-start;gap:6px;margin-top:6px;font-size:13px;line-height:1.6;color:var(--text-3)}.warn[data-v-7803e913]>:first-child{flex:none;margin-top:3px}.docs-card--narrow .actions[data-v-7803e913] .n-button{width:100%}.docs-card--narrow .copy-row[data-v-7803e913]{flex-direction:column;align-items:stretch}.cache[data-v-a699819f]{display:flex;flex-direction:column;gap:12px}.cards[data-v-a699819f]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cards--narrow[data-v-a699819f]{grid-template-columns:minmax(0,1fr)}.action-card[data-v-a699819f]{height:100%}.action-card[data-v-a699819f] .n-card__content{display:flex;flex-direction:column;height:100%}.head[data-v-a699819f]{display:flex;align-items:center;gap:10px}.sym[data-v-a699819f]{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:var(--radius-sm);color:var(--text-1);background:var(--glass-strong);box-shadow:inset 0 0 0 1px var(--hairline),inset 0 1px 0 var(--edge-light)}.title[data-v-a699819f]{font-size:15px}.desc[data-v-a699819f]{margin:10px 0 0;min-height:44px;font-size:14px;line-height:1.6;color:var(--text-2)}.act[data-v-a699819f]{margin-top:auto;padding-top:14px}.note[data-v-a699819f]{margin:0;padding:0 4px;font-size:13px;line-height:1.7;color:var(--text-3)}.mock[data-v-2dd715c1]{display:flex;flex-direction:column;width:880px;height:540px;overflow:hidden;border-radius:10px;background:var(--cfg-card);box-shadow:var(--shadow-2);color:var(--text-1);font-size:14px;text-align:left}.chrome[data-v-2dd715c1]{display:flex;flex:none;align-items:flex-end;gap:10px;height:38px;padding:0 12px;background:var(--fill)}.lights[data-v-2dd715c1]{display:flex;align-self:center;gap:6px}.lights i[data-v-2dd715c1]{width:11px;height:11px;border-radius:50%;background:var(--err)}.lights i[data-v-2dd715c1]:nth-child(2){background:var(--warn)}.lights i[data-v-2dd715c1]:nth-child(3){background:var(--ok)}.btab[data-v-2dd715c1]{display:flex;align-items:center;gap:7px;max-width:260px;height:30px;padding:0 14px;border-radius:8px 8px 0 0;background:var(--cfg-card);font-size:12.5px}.btab span[data-v-2dd715c1]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.app[data-v-2dd715c1]{display:grid;flex:1;grid-template-columns:196px 1fr;min-height:0}.side[data-v-2dd715c1]{padding:16px 12px;border-right:1px solid var(--separator)}.brand[data-v-2dd715c1]{display:flex;align-items:center;gap:9px;padding:4px 6px;margin-bottom:14px;overflow:hidden;border-radius:8px;font-size:15px;font-weight:600;white-space:nowrap}.side i[data-v-2dd715c1]{display:block;height:10px;margin:16px 8px;border-radius:5px;background:var(--fill)}.main[data-v-2dd715c1]{display:flex;flex-direction:column;background:var(--cfg-app)}.top[data-v-2dd715c1]{height:48px;border-bottom:1px solid var(--separator);background:var(--cfg-card)}.body[data-v-2dd715c1]{display:grid;flex:1;grid-template-columns:repeat(3,1fr);grid-auto-rows:90px;gap:14px;padding:20px}.body i[data-v-2dd715c1]{border-radius:10px;background:var(--cfg-card)}.body i.w[data-v-2dd715c1]{grid-column:span 3;grid-row:span 2}.foot[data-v-2dd715c1]{display:grid;place-items:center;height:42px;border-radius:6px;font-size:12.5px;color:var(--text-3)}.foot a[data-v-2dd715c1]{color:var(--signal)}.key-hint[data-v-c621e546]{margin-bottom:14px}.cfg-section[data-v-c731fe3f]{display:flex;flex-direction:column;min-height:0}.cfg-head[data-v-c731fe3f]{display:flex;flex:none;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:12px}.cfg-head h2[data-v-c731fe3f]{margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em}.cfg-head p[data-v-c731fe3f]{margin:0;font-size:14px;color:var(--text-2)}.cfg-split[data-v-c731fe3f]{display:grid;flex:1 1 0;gap:16px;min-height:0}.cfg-split[data-v-c731fe3f]:not(.side){display:flex;flex:none;flex-direction:column}.cfg-split--even.side[data-v-c731fe3f]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cfg-split--wide.side[data-v-c731fe3f]{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}.cfg-split--slim.side[data-v-c731fe3f]{grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr)}.cfg-split--single.side[data-v-c731fe3f]{grid-template-columns:minmax(0,1fr)}.cfg-form[data-v-c731fe3f]{display:flex;flex-direction:column;gap:14px;min-width:0;min-height:0;container-type:inline-size}.side .cfg-form[data-v-c731fe3f]{overflow:auto;padding-bottom:56px}.side .cfg-form--fixed[data-v-c731fe3f]{overflow:hidden;padding-bottom:60px}.cfg-split:not(.side) .cfg-form[data-v-c731fe3f]{flex:none}.cfg-split:not(.side) .cfg-form--fixed[data-v-c731fe3f]{overflow:visible}.cfg-preview[data-v-c731fe3f]{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border-radius:14px;background:var(--fill)}.cfg-split:not(.side):not(.nar) .cfg-preview[data-v-c731fe3f]{flex:none;height:400px}.cfg-split:not(.side):not(.nar) .cfg-preview.auto[data-v-c731fe3f]{height:auto}.nar .cfg-preview[data-v-c731fe3f]{flex:none;order:-1}.cfg-preview-cap[data-v-c731fe3f]{display:flex;flex:none;align-items:center;gap:8px;min-height:40px;padding:8px 14px 0;font-size:13px;color:var(--text-2)}.live[data-v-c731fe3f]{display:inline-flex;align-items:center;gap:6px;margin-right:auto}.live[data-v-c731fe3f]:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok)}.ex[data-v-c731fe3f]{display:inline-flex;align-items:center}.cfg-preview-body[data-v-c731fe3f]{display:flex;flex:1 1 0;flex-direction:column;justify-content:center;gap:12px;min-height:0;padding:10px 14px 14px;overflow:auto}.cfg-preview-body--start[data-v-c731fe3f]{justify-content:flex-start}.nar .cfg-preview-body[data-v-c731fe3f]{flex:none;height:280px}.nar .cfg-preview-body--start[data-v-c731fe3f]{height:auto;max-height:420px}.cfg-preview[data-v-c731fe3f] .cfg-flash{animation:cfg-flash-c731fe3f 1.1s var(--ease)}@keyframes cfg-flash-c731fe3f{0%{box-shadow:0 0 0 3px var(--warn)}to{box-shadow:0 0 0 3px transparent}}@media(prefers-reduced-motion:reduce){.cfg-preview[data-v-c731fe3f] .cfg-flash{animation:none}}.adv--fixed[data-v-46963dc2]{flex:none;height:560px}.cfg-group[data-v-b7e2ff62]{flex:none;min-width:0}h4[data-v-b7e2ff62]{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;margin:0 0 4px 12px;font-size:13px;font-weight:500;color:var(--text-2)}.cfg-list[data-v-b7e2ff62]{border-radius:var(--radius-lg);background:var(--fill)}.cfg-row[data-v-2191e0b7]{position:relative;display:flex;align-items:center;gap:12px;min-height:48px;padding:6px 14px;font-size:14px}.cfg-row+.cfg-row[data-v-2191e0b7]:before{content:"";position:absolute;top:0;left:14px;right:0;border-top:1px solid var(--separator)}.cfg-row.sub[data-v-2191e0b7]{padding-left:34px}.cfg-row.sub[data-v-2191e0b7]:before{left:34px}.cfg-row.tall[data-v-2191e0b7]{align-items:flex-start;padding-top:8px;padding-bottom:8px}.cfg-row.off .lb[data-v-2191e0b7],.cfg-row.off .ctl[data-v-2191e0b7]{opacity:.45;pointer-events:none}.lb[data-v-2191e0b7]{display:flex;flex:1;flex-direction:column;min-width:130px}.name[data-v-2191e0b7]{position:relative;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;color:var(--text-1)}.dot[data-v-2191e0b7]{position:absolute;left:-11px;width:6px;height:6px;border-radius:50%;background:var(--warn)}small[data-v-2191e0b7]{font-size:13px;line-height:1.4;color:var(--text-3)}.ctl[data-v-2191e0b7]{display:flex;flex:0 1 auto;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.sr-only[data-v-2191e0b7]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cfg-row.nar.sub[data-v-2191e0b7]{padding-left:24px}.cfg-row.nar.sub[data-v-2191e0b7]:before{left:24px}.cfg-row:has(>.ctl>:is(.n-input,.n-select))>.lb{flex:1 1 0}.cfg-row:has(>.ctl>:is(.n-input,.n-select))>.ctl{flex:1.8 1 0}.cfg-row>.ctl>:is(.n-input,.n-select){flex:1;min-width:0}.cfg-row.nar:not(:has(>.ctl>.n-switch)){flex-wrap:wrap;row-gap:8px}.cfg-row.nar:not(:has(>.ctl>.n-switch))>.lb{flex:1 1 100%}.cfg-row.nar:not(:has(>.ctl>.n-switch))>.ctl,.cfg-row.nar:has(>.ctl>:is(.n-input,.n-select))>.ctl{flex:1 1 100%}.cfg-row.nar:not(:has(>.ctl>.n-switch))>.ctl{justify-content:flex-start}.cfg-row.nar>.ctl>.n-input-number{width:120px}.cfg-row.nar>.ctl>.n-slider{flex:1;width:auto}.seg[data-v-0e49f97e]{display:inline-flex;flex:none;padding:2px;border-radius:var(--radius-md);background:var(--cfg-seg-track, var(--fill))}button[data-v-0e49f97e]{padding:0 12px;border:0;border-radius:6px;background:none;font:inherit;font-size:13px;line-height:24px;color:var(--text-2);cursor:pointer;white-space:nowrap}button[data-v-0e49f97e]:hover{color:var(--text-1)}button.on[data-v-0e49f97e]{background:var(--cfg-seg-thumb, var(--color-bg-container-solid));color:var(--text-1);font-weight:500}button[data-v-0e49f97e]:focus-visible{outline:2px solid var(--signal);outline-offset:1px}.seg.large button[data-v-0e49f97e]{padding:0 16px;font-size:14px;line-height:36px}.fit[data-v-bebb8d09]{position:relative;flex:1;min-height:0;overflow:hidden}.stage[data-v-bebb8d09]{position:absolute;left:50%;top:50%;transform-origin:center}.cropper[data-v-f4dc6118]{display:flex;flex-direction:column;align-items:center;gap:12px}.viewport[data-v-f4dc6118]{position:relative;max-width:100%;overflow:hidden;border-radius:14px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:repeating-conic-gradient(var(--glass-strong) 0 25%,var(--fill) 0 50%) 0 0 / 16px 16px}.viewport[data-v-f4dc6118]:active{cursor:grabbing}.viewport[data-v-f4dc6118]:focus-visible{outline:2px solid var(--signal);outline-offset:3px}.viewport img[data-v-f4dc6118]{position:absolute;left:50%;top:50%;max-width:none;pointer-events:none}.frame[data-v-f4dc6118]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:var(--radius-lg);box-shadow:0 0 0 999px #00000073;pointer-events:none}.zoom[data-v-f4dc6118]{display:flex;align-items:center;gap:12px;width:280px;max-width:100%;font-size:13px;color:var(--text-3)}.zoom span[data-v-f4dc6118]{flex:none}.tip[data-v-f4dc6118]{margin:0;font-size:13px;color:var(--text-3);text-align:center}.logo-box[data-v-deb34bae]{position:relative;display:grid;place-items:center;width:56px;height:56px;padding:0;overflow:hidden;border:0;border-radius:14px;background:var(--glass-strong);cursor:pointer}.logo-box[data-v-deb34bae]:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.logo-box.dragging[data-v-deb34bae]{box-shadow:inset 0 0 0 2px var(--signal)}.ov[data-v-deb34bae]{position:absolute;inset:auto 0 0;padding:2px 0;font-size:11px;color:#fff;background:#00000080;opacity:0;transition:opacity var(--transition-fast)}.logo-box:hover .ov[data-v-deb34bae],.logo-box:focus-visible .ov[data-v-deb34bae]{opacity:1}.dlg-foot[data-v-deb34bae]{display:flex;justify-content:flex-end;gap:8px}.url-hint[data-v-deb34bae]{margin:8px 0 0;font-size:13px;color:var(--text-3)}.logo-remove{color:var(--err)}.mock[data-v-cfc9b5ca]{position:relative;display:grid;grid-template-columns:1.15fr 1fr;width:880px;height:540px;overflow:hidden;border-radius:10px;background:var(--desk-base);box-shadow:var(--shadow-2)}.mock.form-only[data-v-cfc9b5ca]{grid-template-columns:1fr;width:440px}.desk[data-v-cfc9b5ca]{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;pointer-events:none}.desk i[data-v-cfc9b5ca]{position:absolute;display:block;border-radius:50%;filter:blur(70px);opacity:var(--desk-op)}.desk i[data-v-cfc9b5ca]:nth-child(1){left:2%;top:4%;width:46%;height:62%;background:var(--desk-1)}.desk i[data-v-cfc9b5ca]:nth-child(2){left:26%;top:34%;width:44%;height:56%;background:var(--desk-2)}.desk i[data-v-cfc9b5ca]:nth-child(3){left:54%;top:-6%;width:40%;height:58%;background:var(--desk-3)}.desk i[data-v-cfc9b5ca]:nth-child(4){left:62%;top:46%;width:46%;height:62%;background:var(--desk-4)}.hero[data-v-cfc9b5ca]{position:relative;display:flex;align-items:center;justify-content:flex-end;padding:32px 36px;overflow:hidden}.hero[data-v-cfc9b5ca] .login-hero-panel{max-width:330px}.hero[data-v-cfc9b5ca] .headline{font-size:28px;line-height:1.3}.hero[data-v-cfc9b5ca] .logo{margin-bottom:20px;gap:11px;font-size:18px}.hero[data-v-cfc9b5ca] .sub{margin:0 0 18px;font-size:15px}.hero[data-v-cfc9b5ca] .points{gap:14px}.hero[data-v-cfc9b5ca] .points li{gap:11px;font-size:14.5px}.form-wrap[data-v-cfc9b5ca]{position:relative;display:grid;place-items:center;padding:16px;min-height:0}.form[data-v-cfc9b5ca]{display:flex;flex-direction:column;gap:10px;width:100%;height:100%;padding:24px 28px 12px;overflow:hidden;border:1px solid var(--glass-border);border-radius:22px;background:var(--glass-panel);box-shadow:var(--glass-shadow);font-size:13px}.mock:not(.form-only) .form[data-v-cfc9b5ca]{max-width:384px}.welcome[data-v-cfc9b5ca]{font-size:22px;font-weight:600;letter-spacing:-.035em;color:var(--text-1)}.sub[data-v-cfc9b5ca]{margin:-6px 0 2px;border-radius:6px;color:var(--text-2)}.modes[data-v-cfc9b5ca]{display:flex;gap:18px;border-radius:6px;color:var(--text-2)}.modes .on[data-v-cfc9b5ca]{padding-bottom:3px;border-bottom:2px solid var(--signal);color:var(--text-1);font-weight:600}.in[data-v-cfc9b5ca]{display:block;height:40px;border-radius:11px;background:var(--fill)}.captcha[data-v-cfc9b5ca]{display:flex;gap:8px}.captcha .in[data-v-cfc9b5ca]{flex:1}.captcha span[data-v-cfc9b5ca]{display:grid;place-items:center;width:104px;border-radius:11px;font-weight:700;letter-spacing:1px;color:var(--text-2);background:repeating-linear-gradient(45deg,var(--fill) 0 4px,transparent 4px 8px)}.go[data-v-cfc9b5ca]{display:grid;place-items:center;height:42px;border-radius:11px;color:#fff;background-image:linear-gradient(120deg,var(--signal),var(--login-accent-2));box-shadow:0 10px 26px -10px var(--signal-glow);font-weight:600}.oauth[data-v-cfc9b5ca]{min-height:20px;border-radius:8px}.divider[data-v-cfc9b5ca]{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-3)}.divider[data-v-cfc9b5ca]:before,.divider[data-v-cfc9b5ca]:after{content:"";flex:1;border-top:1px solid var(--hairline)}.btns[data-v-cfc9b5ca]{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:12px}.btns span[data-v-cfc9b5ca]{display:grid;place-items:center;width:40px;height:40px}.btns span[data-v-cfc9b5ca] .oauth-brand-badge{width:28px;height:28px}.copy[data-v-cfc9b5ca]{margin-top:auto;border-radius:6px;text-align:center;font-size:12px;color:var(--text-3)}.logo-row[data-v-442d28ac]{min-height:72px}.feat[data-v-442d28ac] .ctl{flex:1.8 1 0}.warn[data-v-442d28ac]{color:var(--warn)}.err[data-v-442d28ac]{color:var(--err)}.num[data-v-e5ac0b73]{width:72px}.num[data-v-e5ac0b73] input{text-align:right}.unit[data-v-e5ac0b73]{flex:none;min-width:32px;font-size:13px;color:var(--text-2)}.presets[data-v-e5ac0b73]{display:inline-flex;flex:none;flex-wrap:wrap;justify-content:flex-end;gap:5px}.chip[data-v-e5ac0b73]{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:24px;padding:0 10px;border:0;border-radius:6px;background:var(--glass-strong);font:inherit;font-size:14px;color:var(--text-2);cursor:pointer}.chip.lg[data-v-e5ac0b73]{min-height:32px}.chip[aria-pressed=true][data-v-e5ac0b73]{background:var(--acc-solid);color:var(--on-acc)}.chip[data-v-e5ac0b73]:focus-visible{outline:2px solid var(--signal);outline-offset:1px}.mails[data-v-e5ac0b73] .ctl{flex:1.4 1 0}.mails[data-v-e5ac0b73] .n-dynamic-tags{justify-content:flex-end}.card[data-v-e5ac0b73]{padding:14px;border-radius:var(--radius-lg);background:var(--cfg-card);font-size:14px}.tl-text[data-v-e5ac0b73]{margin-bottom:12px}.bar[data-v-e5ac0b73]{position:relative;height:22px;overflow:hidden;border-radius:6px;background:var(--glass-strong)}.keep[data-v-e5ac0b73]{position:absolute;top:0;right:0;bottom:0;display:grid;min-width:4px;place-items:center;border-radius:6px;background:var(--acc-solid);color:var(--on-acc);font-size:12px;white-space:nowrap;transition:width .25s var(--ease)}@media(prefers-reduced-motion:reduce){.keep[data-v-e5ac0b73]{transition:none}}.axis[data-v-e5ac0b73]{display:flex;justify-content:space-between;margin-top:6px;font-size:12.5px;color:var(--text-3)}.mh[data-v-e5ac0b73]{display:flex;flex-direction:column;gap:4px;padding-bottom:10px;border-bottom:1px solid var(--separator);font-size:13px;color:var(--text-3)}.mh b[data-v-e5ac0b73]{font-weight:500;color:var(--text-1);word-break:break-all}.mb[data-v-e5ac0b73]{padding-top:10px;line-height:1.6}.err[data-v-e5ac0b73]{margin-top:8px;padding:6px 10px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--err) 10%,transparent);font-family:var(--font-mono);font-size:12.5px;color:var(--err)}.none[data-v-e5ac0b73]{color:var(--text-3)}.sheet[data-v-32e1410f]{display:flex;flex-direction:column;width:520px;max-width:calc(100vw - 32px);max-height:calc(100vh - 40px);overflow:hidden;border-radius:var(--radius-lg);background:var(--color-bg-elevated);backdrop-filter:blur(40px) saturate(170%);-webkit-backdrop-filter:blur(40px) saturate(170%);box-shadow:var(--shadow-2);color:var(--text-1)}header[data-v-32e1410f]{display:flex;flex:none;align-items:center;gap:10px;padding:16px 20px 12px}.av[data-v-32e1410f]{display:grid;flex:none;place-items:center;width:34px;height:34px;overflow:hidden;border-radius:var(--radius-md);background:var(--glass-strong)}h3[data-v-32e1410f]{margin:0;font-size:16px;font-weight:600}header small[data-v-32e1410f]{display:block;font-size:13px;color:var(--text-3)}.body[data-v-32e1410f]{flex:1;min-height:0;padding:0 20px 6px;overflow:auto}.list[data-v-32e1410f]{margin-bottom:10px;border-radius:var(--radius-md);background:var(--fill)}.fld[data-v-32e1410f]{display:flex;align-items:center;gap:12px;min-height:42px;padding:5px 12px;font-size:14px}.fld+.fld[data-v-32e1410f]{border-top:1px solid var(--separator)}.k[data-v-32e1410f]{flex:none;width:120px}.k i[data-v-32e1410f]{margin-left:2px;font-style:normal;color:var(--err)}.k small[data-v-32e1410f]{display:block;font-size:12.5px;color:var(--text-3)}.k small.bad[data-v-32e1410f]{color:var(--err)}.fld[data-v-32e1410f] .n-input{flex:1}.note[data-v-32e1410f]{margin:0 0 8px;font-size:13px;line-height:1.5;color:var(--text-3)}.note.warn[data-v-32e1410f]{padding:8px 10px;border-radius:var(--radius-md);color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent)}.note.inline[data-v-32e1410f]{flex:1;margin:0}.cb[data-v-32e1410f]{display:flex;flex:1;align-items:center;gap:8px;min-width:0}.cb code[data-v-32e1410f]{flex:1;min-width:0;font-family:var(--font-mono);font-size:12.5px;word-break:break-all}.results[data-v-32e1410f]{padding:0;margin:0 0 10px;list-style:none}.results li[data-v-32e1410f]{display:flex;align-items:flex-start;gap:8px;padding:4px 2px;font-size:14px}.results li small[data-v-32e1410f]{display:block;font-size:13px;color:var(--text-3)}.results .ok[data-v-32e1410f]{color:var(--ok)}.results .failed[data-v-32e1410f]{color:var(--err)}.results .skipped[data-v-32e1410f],.results .spin[data-v-32e1410f]{color:var(--text-3)}footer[data-v-32e1410f]{display:flex;flex:none;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--separator)}.grow[data-v-32e1410f]{flex:1}@media(max-width:480px){.fld[data-v-32e1410f]{flex-wrap:wrap}.k[data-v-32e1410f]{width:100%}}.cols[data-v-1e1a8c8c]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}@container (max-width: 560px){.cols[data-v-1e1a8c8c]{grid-template-columns:minmax(0,1fr)}}.col[data-v-1e1a8c8c]{display:flex;flex-direction:column;gap:14px;min-width:0}.num[data-v-1e1a8c8c]{width:96px}.num[data-v-1e1a8c8c] input{text-align:right}.unit[data-v-1e1a8c8c]{flex:none;min-width:32px;font-size:13px;color:var(--text-2)}.tip[data-v-1e1a8c8c]{display:inline-grid;place-items:center;width:16px;height:16px;margin-left:4px;padding:0;border:0;border-radius:50%;background:var(--glass-strong);color:var(--text-2);cursor:help}.tip[data-v-1e1a8c8c]:focus-visible{outline:2px solid var(--signal)}.chips[data-v-1e1a8c8c]{display:inline-flex;flex:none;flex-wrap:wrap;justify-content:flex-end;gap:5px}.chip[data-v-1e1a8c8c]{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:24px;padding:0 10px;border:0;border-radius:6px;background:var(--glass-strong);font-family:var(--font-mono);font-size:14px;color:var(--text-2);white-space:nowrap;cursor:pointer}.chip.lg[data-v-1e1a8c8c]{min-height:32px}.chip[aria-pressed=true][data-v-1e1a8c8c]{background:var(--acc-solid);color:var(--on-acc)}.chip[data-v-1e1a8c8c]:focus-visible{outline:2px solid var(--signal);outline-offset:1px}.sr-only[data-v-1e1a8c8c]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.rules[data-v-1e1a8c8c]{margin:0;padding:2px 0;list-style:none;border-radius:var(--radius-lg);background:var(--cfg-card)}.rules li[data-v-1e1a8c8c]{position:relative;display:flex;align-items:flex-start;gap:10px;padding:7px 14px;border-radius:var(--radius-md);font-size:14px;line-height:1.5}.rules li+li[data-v-1e1a8c8c]:before{content:"";position:absolute;top:0;left:46px;right:0;border-top:1px solid var(--separator)}.ic[data-v-1e1a8c8c]{display:grid;flex:none;place-items:center;width:22px;height:22px;border-radius:6px;color:var(--on-acc);background:var(--acc-solid)}.rules li.off .ic[data-v-1e1a8c8c]{color:var(--text-3);background:var(--glass-strong)}.rules li.off .txt[data-v-1e1a8c8c]{color:var(--text-3);text-decoration:line-through}.try[data-v-1e1a8c8c]{flex:none;padding:10px 14px;border-radius:var(--radius-lg);background:var(--cfg-card)}.try label[data-v-1e1a8c8c]{display:flex;align-items:center;gap:10px;font-size:14px}.try label span[data-v-1e1a8c8c]{flex:none;color:var(--text-2)}.try input[data-v-1e1a8c8c]{flex:1;min-width:0;height:28px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--fill);color:var(--text-1);font:inherit}.try input[data-v-1e1a8c8c]:focus-visible{outline:2px solid var(--signal);outline-offset:-1px}.try ul[data-v-1e1a8c8c]{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0 0;padding:0;list-style:none;font-size:13px;color:var(--err)}.try li[data-v-1e1a8c8c]:before{content:"✕ "}.try li.ok[data-v-1e1a8c8c]{color:var(--ok)}.try li.ok[data-v-1e1a8c8c]:before{content:"✓ "}.try li.verdict[data-v-1e1a8c8c]{margin-left:auto;font-weight:600}.try li.verdict[data-v-1e1a8c8c]:before{content:""}.tbl[data-v-fcae2919]{display:flex;flex:1 1 0;flex-direction:column;min-height:0;overflow:hidden;border-radius:var(--radius-lg);background:var(--fill)}.tbl[data-v-fcae2919]:not(.side){flex:none;height:440px}.th[data-v-fcae2919],.tr[data-v-fcae2919]{display:grid;grid-template-columns:70px minmax(0,1fr) 120px 64px;gap:10px;align-items:center;min-height:38px;padding:0 14px}.th[data-v-fcae2919]{flex:none;font-size:13px;color:var(--text-2);border-bottom:1px solid var(--separator)}.spin[data-v-fcae2919]{flex:1 1 0;min-height:0}.spin[data-v-fcae2919] .n-spin-content{height:100%}.tb[data-v-fcae2919]{height:100%;margin:0;padding:0;overflow:auto;list-style:none}.tr[data-v-fcae2919]{position:relative;font-size:14px;cursor:pointer}.tr+.tr[data-v-fcae2919]:before{content:"";position:absolute;top:0;left:14px;right:0;border-top:1px solid var(--separator)}.tr[data-v-fcae2919]:hover{background:var(--hover)}.tr.sel[data-v-fcae2919]{background:var(--sel-bg);box-shadow:inset 0 0 0 1px var(--sel-ring)}.tr[data-v-fcae2919]:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.m[data-v-fcae2919]{font-family:var(--font-mono);font-size:12.5px;font-weight:600;color:var(--text-2)}.m.DELETE[data-v-fcae2919]{color:var(--err)}.m.POST[data-v-fcae2919]{color:var(--ok)}.m.PUT[data-v-fcae2919]{color:var(--warn)}.pt[data-v-fcae2919]{display:flex;flex-direction:column;min-width:0}code[data-v-fcae2919]{overflow:hidden;font-family:var(--font-mono);font-size:13px;white-space:nowrap;text-overflow:ellipsis}.narsub[data-v-fcae2919]{display:none;font-size:13px;color:var(--text-3)}.remark[data-v-fcae2919]{overflow:hidden;font-size:13px;white-space:nowrap;text-overflow:ellipsis;color:var(--text-3)}.badge[data-v-fcae2919]{padding:1px 8px;border-radius:999px;background:var(--glass-strong);font-size:12px;color:var(--text-2);text-align:center}.tbl.nar .th[data-v-fcae2919],.tbl.nar .tr[data-v-fcae2919]{grid-template-columns:56px minmax(0,1fr) auto;gap:8px;padding:0 10px}.tbl.nar .rm[data-v-fcae2919]{display:none}.tbl.nar .tr[data-v-fcae2919]{min-height:44px}.tbl.nar .narsub[data-v-fcae2919]{display:block}.add[data-v-fcae2919]{display:flex;flex:none;gap:8px;padding:10px 14px;border-top:1px solid var(--separator)}.add[data-v-fcae2919] .n-input{flex:1;min-width:0}.add[data-v-fcae2919] .n-input.rmi{flex:0 1 150px}.tbl.nar .add[data-v-fcae2919]{flex-wrap:wrap}.tbl.nar .add[data-v-fcae2919] .n-input,.tbl.nar .add[data-v-fcae2919] .n-input.rmi{flex:1 1 100%}.dlg[data-v-fcae2919]{display:flex;flex-direction:column;gap:8px;width:min(100%,360px);margin:0 auto;padding:22px 24px 18px;border-radius:var(--radius-lg);background:var(--color-bg-elevated);box-shadow:var(--shadow-2);text-align:left;font-size:14px}.lock[data-v-fcae2919]{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-lg);color:var(--sel-fg);background:var(--sel-bg)}.dlg b[data-v-fcae2919]{font-size:16px;font-weight:600}.dlg p[data-v-fcae2919]{margin:0;line-height:1.5}.dlg p code[data-v-fcae2919]{display:block;margin-top:2px;font-size:13px;white-space:normal;word-break:break-all;color:var(--text-1)}.dlg .hint[data-v-fcae2919]{font-size:13px;color:var(--text-3)}.in[data-v-fcae2919]{display:block;height:34px;padding:0 12px;border:1px solid var(--border);border-radius:9px;background:var(--fill);font-style:normal;font-size:13px;line-height:32px;color:var(--text-3)}.acts[data-v-fcae2919]{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.acts span[data-v-fcae2919]{padding:4px 14px;border-radius:9px;background:var(--fill);font-size:13px}.acts .p[data-v-fcae2919]{color:var(--on-acc);background:var(--acc-solid)}.avatar[data-v-f795c261]{display:grid;flex:none;place-items:center;width:24px;height:24px;margin-right:6px;overflow:hidden;border-radius:6px;background:var(--color-fill)}.na[data-v-f795c261]{color:var(--color-text-tertiary)}.status[data-v-f795c261]{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.status.configured[data-v-f795c261]{color:var(--color-success)}.slider[data-v-ce45acde]{width:160px}.num[data-v-ce45acde]{width:96px}.num.sm[data-v-ce45acde]{width:72px}.num[data-v-ce45acde] input{text-align:right}.unit[data-v-ce45acde]{flex:none;min-width:32px;font-size:13px;color:var(--text-2)}.exts[data-v-ce45acde] .ctl{flex:1.4 1 0}.exts[data-v-ce45acde] .n-dynamic-tags{justify-content:flex-end}.presets[data-v-ce45acde]{display:inline-flex;flex:none;flex-wrap:wrap;justify-content:flex-end;gap:5px}.drop[data-v-ce45acde]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:24px 16px;border:1.5px dashed var(--hairline-strong);border-radius:var(--radius-lg);background:var(--cfg-card);text-align:center}.drop .ic[data-v-ce45acde]{color:var(--signal)}.drop b[data-v-ce45acde]{font-size:14px;font-weight:600}.drop small[data-v-ce45acde]{border-radius:6px;font-size:13px;color:var(--text-3)}.files[data-v-ce45acde]{margin:0;padding:4px 0;list-style:none;border-radius:var(--radius-lg);background:var(--cfg-card)}.files li[data-v-ce45acde]{display:flex;align-items:center;gap:10px;padding:8px 14px;font-size:14px}.files li+li[data-v-ce45acde]{border-top:1px solid var(--separator)}.fi[data-v-ce45acde]{display:grid;flex:none;place-items:center;width:34px;height:24px;border-radius:6px;background:var(--glass-strong);font-size:11px;font-weight:600;color:var(--text-2)}.nm[data-v-ce45acde]{display:flex;flex:1;flex-direction:column;min-width:0}.nm small[data-v-ce45acde]{font-size:13px;color:var(--text-3)}.st[data-v-ce45acde]{flex:none;font-size:13px;color:var(--text-3)}.st.ok[data-v-ce45acde]{color:var(--ok)}.st.no[data-v-ce45acde]{color:var(--err)}.warn[data-v-f22dc314]{color:var(--warn)}.wm-content[data-v-f22dc314] .ctl{flex:1.8 1 0}.wm-content[data-v-f22dc314] .n-checkbox-group{width:100%}.wm-fields[data-v-f22dc314]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 16px}.slider[data-v-f22dc314]{width:160px}.unit[data-v-f22dc314]{flex:none;min-width:44px;font-size:13px;color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums}.config-center[data-v-c57600e7]{--cfg-card: var(--color-bg-container-solid);--cfg-app: var(--color-bg-body);--cfg-seg-track: rgba(70, 90, 130, .12);--cfg-seg-thumb: #fff;position:relative;min-width:0}.config-center.fit[data-v-c57600e7]{overflow:hidden}.cfg-nav[data-v-c57600e7]{display:flex;flex:none;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px;padding:8px 12px;border-bottom:1px solid var(--hairline)}.gap[data-v-c57600e7]{width:14px}.nav-item[data-v-c57600e7]{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:3px;min-width:76px;min-height:52px;padding:6px 10px 5px;border:0;border-radius:9px;background:none;font:inherit;font-size:13px;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none}.nar .nav-item[data-v-c57600e7]{min-width:72px;padding:6px 6px 5px}.nav-item[data-v-c57600e7]:hover{background:var(--hover)}.nav-item.on[data-v-c57600e7]{background:var(--tab-on-bg);color:var(--tab-on-fg)}.nav-item.on span[data-v-c57600e7]{color:var(--text-1);font-weight:500}.nav-item[data-v-c57600e7]:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.nav-item .dot[data-v-c57600e7]{position:absolute;top:6px;right:16px;box-shadow:0 0 0 2px var(--cfg-card)}.sr-only[data-v-c57600e7]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dot[data-v-c57600e7]{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--warn)}.cfg-loading[data-v-c57600e7]{display:grid;flex:1;min-height:240px;place-items:center}.cfg-body[data-v-c57600e7]{flex:1 1 0;min-height:0;padding:14px 20px 18px}.fit .cfg-body[data-v-c57600e7]{overflow:auto}.fit.side .cfg-body[data-v-c57600e7]{display:flex;flex-direction:column;overflow:hidden}.side .cfg-body[data-v-c57600e7]>.cfg-section{flex:1 1 0}.nar .cfg-body[data-v-c57600e7]{flex:none;padding:12px 12px 18px}.savebar[data-v-c57600e7]{position:absolute;left:50%;bottom:16px;z-index:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;max-width:calc(100% - 24px);padding:7px 7px 7px 16px;border:1px solid var(--glass-border);border-radius:14px;background:var(--glass-panel);backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%);box-shadow:var(--glass-shadow);transform:translate(-50%)}.nar .savebar[data-v-c57600e7]{position:sticky;left:auto;bottom:12px;width:fit-content;margin:8px auto 12px;transform:none}.savebar .msg[data-v-c57600e7]{display:inline-flex;align-items:center;gap:8px;margin-right:4px;font-size:14px;color:var(--text-2);white-space:nowrap}.savebar-enter-active[data-v-c57600e7]{transition:transform .28s var(--ease-sheet),opacity .2s var(--ease)}.savebar-leave-active[data-v-c57600e7]{transition:transform .16s ease-in,opacity .14s ease-in}.fit .savebar-enter-from[data-v-c57600e7],.fit .savebar-leave-to[data-v-c57600e7]{transform:translate(-50%,140%);opacity:0}.nar .savebar-enter-from[data-v-c57600e7],.nar .savebar-leave-to[data-v-c57600e7]{transform:translateY(60%);opacity:0}@media(prefers-reduced-motion:reduce){.savebar-enter-active[data-v-c57600e7],.savebar-leave-active[data-v-c57600e7]{transition:opacity var(--transition-fast)}.fit .savebar-enter-from[data-v-c57600e7],.fit .savebar-leave-to[data-v-c57600e7]{transform:translate(-50%)}.nar .savebar-enter-from[data-v-c57600e7],.nar .savebar-leave-to[data-v-c57600e7]{transform:none}}@media(max-height:899px){.cfg-nav[data-v-c57600e7]{padding:6px 12px}.nav-item[data-v-c57600e7]{min-height:48px;padding:4px 10px 3px}.cfg-body[data-v-c57600e7]{padding:12px 20px 14px}.nar .cfg-body[data-v-c57600e7]{padding:12px 12px 18px}}:root[data-theme=dark] .config-center{--cfg-seg-track: rgba(120, 120, 128, .24);--cfg-seg-thumb: rgba(110, 110, 116, .85)}.dict-layout[data-v-3ddc0a11]>.smart-table,.dict-pane[data-v-3ddc0a11]{min-width:0;min-height:280px}.mono[data-v-3ddc0a11],[data-v-3ddc0a11] .mono{font-family:var(--font-mono);font-size:13.5px;letter-spacing:0}.muted[data-v-3ddc0a11],[data-v-3ddc0a11] .muted{color:var(--text-2)}.faint[data-v-3ddc0a11],[data-v-3ddc0a11] .faint{color:var(--text-3)}.num[data-v-3ddc0a11],[data-v-3ddc0a11] .num{font-variant-numeric:tabular-nums}.sheet-foot[data-v-3ddc0a11]{display:flex;gap:10px;width:100%}.sheet-foot .n-button[data-v-3ddc0a11]{flex:1}.field-hint[data-v-3ddc0a11]{font-size:13px;color:var(--text-3)}.clear-hint[data-v-31012f12]{font-size:13px;line-height:1.6;color:var(--text-3)}.attempts-title[data-v-31012f12]{margin:16px 0 6px 2px;font-size:13px;font-weight:500;letter-spacing:-.01em;color:var(--text-3)}.log-output[data-v-31012f12]{margin:0;white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono, ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace);font-size:12px;line-height:1.55}.log-error[data-v-31012f12]{color:var(--err)}.st-sheet[data-v-31012f12]{display:flex;flex-direction:column;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.st-sheet[data-v-31012f12] .n-drawer-content-wrapper{display:flex;flex-direction:column;min-height:0}.view[data-v-4d98120b]{gap:var(--gap-card)}.stats[data-v-4d98120b]{display:grid;gap:var(--gap-card);flex-shrink:0}.job-tables[data-v-4d98120b]{display:grid;gap:var(--gap-card)}.stat[data-v-4d98120b]{display:flex;align-items:center;gap:16px}.stat-ico[data-v-4d98120b]{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,currentColor 12%,transparent)}.stat-val[data-v-4d98120b]{font-size:28px;font-weight:600;letter-spacing:-.04em;color:var(--text-1);line-height:34px}.stat-label[data-v-4d98120b]{font-size:14px;color:var(--text-2)}.drawer-foot[data-v-86d6feda]{display:flex;gap:8px;justify-content:flex-end;width:100%}.sheet-foot[data-v-86d6feda]{gap:10px}.sheet-foot[data-v-86d6feda] .n-button{flex:1}.st-sheet[data-v-86d6feda]{border-radius:var(--radius-xl) var(--radius-xl) 0 0}[data-v-86d6feda] .job-mono{font-family:var(--font-mono, ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace);font-size:13.5px}.kv-editor[data-v-86d6feda]{display:flex;flex-direction:column;gap:8px;width:100%}.kv-row[data-v-86d6feda]{display:flex;gap:8px;align-items:center}.kv-hint[data-v-86d6feda]{font-size:13px;color:var(--text-3)}.job-hint[data-v-86d6feda]{font-size:13px;color:var(--text-3);white-space:nowrap;line-height:1.4}.job-inline[data-v-86d6feda]{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;min-width:0}.job-sec-text[data-v-86d6feda]{font-size:14px;font-weight:600}.job-sections[data-v-86d6feda] .n-collapse-item{margin:0}.job-sections[data-v-86d6feda] .n-collapse-item__header{padding:10px 0}.job-sections[data-v-86d6feda] .n-collapse-item__content-inner{padding:4px 0 12px}.job-sections[data-v-86d6feda] .n-form-item{margin-bottom:14px}.job-sections[data-v-86d6feda] .n-form-item-feedback-wrapper:empty,.job-sections[data-v-86d6feda] .n-form-item-feedback-wrapper:has(:empty){min-height:0}.job-advanced[data-v-86d6feda] .n-form-item{margin-bottom:18px}.job-advanced[data-v-86d6feda] .n-form-item-label{padding-right:12px}.break[data-v-421f41e4]{word-break:break-all}.exception[data-v-421f41e4]{margin:0;white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono, ui-monospace, monospace);font-size:13px;line-height:1.5;color:var(--err, var(--color-danger))}.break[data-v-8bb5b6c8]{word-break:break-all}.exception[data-v-8bb5b6c8]{margin:0;white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono, ui-monospace, monospace);font-size:13px;line-height:1.5;color:var(--err, var(--color-danger))}.perm-hint[data-v-22eeccb0]{font-size:13px;color:var(--text-3);line-height:1.5}.batch-row[data-v-22eeccb0]{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}.batch-route[data-v-22eeccb0]{flex:1 1 210px;min-width:0;font-size:13px;word-break:break-all}.batch-title[data-v-22eeccb0]{width:160px}@media(max-width:640px){.batch-title[data-v-22eeccb0]{width:calc(100% - 34px);margin-left:34px}}.mono[data-v-22eeccb0],[data-v-22eeccb0] .mono{font-family:var(--font-mono);font-size:13.5px;letter-spacing:0}.muted[data-v-22eeccb0],[data-v-22eeccb0] .muted{color:var(--text-2)}[data-v-22eeccb0] .faint{color:var(--text-3)}[data-v-22eeccb0] .num{font-variant-numeric:tabular-nums}.link-hint[data-v-e6351bd4]{font-size:13px;color:var(--text-3);line-height:1.5}.mono[data-v-e6351bd4]{font-family:var(--font-mono);font-size:13.5px;letter-spacing:0}.view[data-v-4a7db6ca]{display:flex;flex-direction:column;gap:var(--gap-card)}[data-v-4a7db6ca] .row-no{font-variant-numeric:tabular-nums;white-space:nowrap}[data-v-4a7db6ca] .row-no__path{color:var(--text-3)}[data-v-4a7db6ca] .row-no__self{color:var(--text-2);font-weight:var(--font-weight-medium)}[data-v-4a7db6ca] .mono{font-family:var(--font-mono);font-size:13.5px;letter-spacing:0}[data-v-4a7db6ca] .muted{color:var(--text-2)}[data-v-4a7db6ca] .faint{color:var(--text-3)}[data-v-4a7db6ca] .num{font-variant-numeric:tabular-nums}.hint[data-v-62ef6b1d]{font-size:13px;line-height:1.5;color:var(--text-3)}.mono[data-v-62ef6b1d],[data-v-62ef6b1d] .mono{font-family:var(--font-mono);font-size:13.5px;letter-spacing:0}[data-v-62ef6b1d] .muted{color:var(--text-2)}[data-v-62ef6b1d] .faint{color:var(--text-3)}[data-v-62ef6b1d] .num{font-variant-numeric:tabular-nums}.monitor[data-v-cd819f86]{display:flex;flex-direction:column;gap:12px}.bar[data-v-cd819f86]{display:flex;justify-content:flex-end;padding:2px 4px 0}.cards[data-v-cd819f86]{display:grid;gap:12px}.monitor-spin[data-v-cd819f86]{flex-shrink:0}.stat-val[data-v-cd819f86]{color:var(--text-1);font-size:28px;line-height:34px;font-weight:600;letter-spacing:-.04em}.stat-val small[data-v-cd819f86]{margin-left:4px;font-size:16px;color:var(--text-3);letter-spacing:0}.disk-val[data-v-cd819f86]{color:var(--text-1);font-size:18px;line-height:26px;font-weight:600}.num[data-v-cd819f86]{font-variant-numeric:tabular-nums}.usage[data-v-cd819f86]{margin:12px 0 8px}.sub[data-v-cd819f86]{font-size:13px;color:var(--text-2)}.rows .row[data-v-cd819f86]{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;padding:3px 0;line-height:22px}.rows .k[data-v-cd819f86]{font-size:13px;color:var(--text-2)}.rows .v[data-v-cd819f86]{overflow-wrap:anywhere}.notice-actions-editor[data-v-0e60f33e]{width:100%}.notice-action-row[data-v-0e60f33e]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%}.notice-actions-hint[data-v-0e60f33e]{display:block;margin-top:8px;font-size:13px;line-height:1.6}.act-label[data-v-0e60f33e]{width:150px}.act-url[data-v-0e60f33e]{flex:1;min-width:180px}@media(max-width:640px){.act-label[data-v-0e60f33e],.act-url[data-v-0e60f33e]{flex:1 1 100%;width:auto}}.mono[data-v-0e60f33e],[data-v-0e60f33e] .mono{font-family:var(--font-mono);font-size:13.5px;letter-spacing:0}[data-v-0e60f33e] .muted{color:var(--text-2)}[data-v-0e60f33e] .faint{color:var(--text-3)}[data-v-0e60f33e] .num{font-variant-numeric:tabular-nums}.view[data-v-9e192f12]{gap:var(--gap-card)}.form-hint[data-v-9e192f12]{font-size:13px;color:var(--text-3)}.copy-tip[data-v-9e192f12]{margin:0 0 14px;font-size:14px;line-height:1.6;color:var(--text-2)}.form-hint[data-v-73d8eaa2]{font-size:13px;color:var(--text-3)}.view[data-v-701398fc]{gap:var(--gap-card)}.recycle-seg[data-v-701398fc] .n-tabs-nav{align-self:flex-start;max-width:100%;margin-bottom:var(--gap-card)}.recycle-seg[data-v-701398fc] .n-tabs-rail{width:auto;overflow-x:auto;scrollbar-width:none}.recycle-seg[data-v-701398fc] .n-tabs-rail::-webkit-scrollbar{display:none}.recycle-seg[data-v-701398fc] .n-tabs-tab-wrapper{flex:0 0 auto}.recycle-seg[data-v-701398fc] .n-tabs-tab{padding:4px 14px;white-space:nowrap}[data-v-701398fc] .mono{font-family:var(--font-mono);font-size:13.5px;letter-spacing:0}[data-v-701398fc] .muted{color:var(--text-2)}[data-v-701398fc] .faint{color:var(--text-3)}.grant-mark[data-v-fdfec75b]{background:color-mix(in srgb,var(--warn) 40%,transparent);color:inherit;border-radius:3px;padding:0 1px}.gt[data-v-4bf1bdcb]{flex:1;min-height:0;display:flex;flex-direction:column}.gt-toolbar[data-v-4bf1bdcb]{flex:none;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 20px 12px;transition:box-shadow var(--transition-base)}.gt-toolbar.is-scrolled[data-v-4bf1bdcb]{box-shadow:0 1px 0 var(--hairline)}.gt-seg-full[data-v-4bf1bdcb]{display:flex;width:100%}.gt-seg-full[data-v-4bf1bdcb] .n-radio-button{flex:1;text-align:center}.gt-scroll[data-v-4bf1bdcb]{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 20px 20px;scrollbar-width:thin}.gt-group[data-v-4bf1bdcb]{border:1px solid var(--hairline);border-radius:14px;margin-bottom:12px;overflow:hidden}.gt-group-head[data-v-4bf1bdcb]{display:flex;align-items:center;gap:12px;padding:0 16px;min-height:46px;cursor:pointer;font-size:15px;font-weight:600}.gt-group-head[data-v-4bf1bdcb]:hover{background:var(--hover)}.gt-group-title[data-v-4bf1bdcb]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gt-count[data-v-4bf1bdcb]{font-size:13px;font-weight:500;color:var(--text-2);font-variant-numeric:tabular-nums}.gt-count.full[data-v-4bf1bdcb],.gt-rc.full[data-v-4bf1bdcb]{color:var(--sel-fg)}.gt-chev[data-v-4bf1bdcb]{flex:none;transition:transform .25s var(--ease)}.gt-group.is-collapsed .gt-chev[data-v-4bf1bdcb]{transform:rotate(-90deg)}.gt-collapse[data-v-4bf1bdcb]{display:grid;grid-template-rows:1fr;transition:grid-template-rows .28s var(--ease)}.gt-group.is-collapsed .gt-collapse[data-v-4bf1bdcb]{grid-template-rows:0fr}.gt-collapse-in[data-v-4bf1bdcb]{min-height:0;overflow:hidden}.gt-group.is-collapsed .gt-collapse-in[data-v-4bf1bdcb]{visibility:hidden;transition:visibility 0s .28s}.gt-row[data-v-4bf1bdcb]{display:grid;grid-template-columns:240px minmax(0,1fr) 52px;gap:8px 16px;padding:10px 16px;align-items:start;border-top:1px solid var(--hairline)}.gt-group.is-standalone .gt-row[data-v-4bf1bdcb]{border-top:0}.gt-row-name[data-v-4bf1bdcb]{min-width:0;min-height:30px;font-size:15px}.gt-row-name[data-v-4bf1bdcb] .n-checkbox{align-items:flex-start}.gt-row-name[data-v-4bf1bdcb] .n-checkbox__label{padding-left:10px;min-width:0;white-space:normal}.gt-name-box[data-v-4bf1bdcb]{display:flex;flex-direction:column;min-width:0}.gt-title[data-v-4bf1bdcb]{overflow-wrap:anywhere;line-height:22px}.gt-tag[data-v-4bf1bdcb]{display:inline-block;padding:1px 8px;border-radius:6px;background:var(--fill);color:var(--text-2);font-size:13px;font-weight:500}.gt-chips[data-v-4bf1bdcb]{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:30px}.gt-none[data-v-4bf1bdcb]{font-size:13px;color:var(--text-3)}.gt-rc[data-v-4bf1bdcb]{min-height:30px;display:flex;align-items:center;justify-content:flex-end;font-size:13px;color:var(--text-2);font-variant-numeric:tabular-nums}.gt-rc.full[data-v-4bf1bdcb]{font-weight:600}.gt[data-v-4bf1bdcb] .n-checkbox .n-checkbox-box,.gt[data-v-4bf1bdcb] .n-checkbox .n-checkbox-box__border{border-radius:50%}.gt-chip.n-tag[data-v-4bf1bdcb]{cursor:pointer;-webkit-user-select:none;user-select:none}.gt-chip.n-tag--checked[data-v-4bf1bdcb]{background:var(--sel-bg)!important;color:var(--sel-fg)!important;font-weight:600;box-shadow:inset 0 0 0 1px var(--sel-ring)}.gt-chip[data-v-4bf1bdcb]:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.gt-chip-check[data-v-4bf1bdcb]{margin-right:3px}.gt-perm[data-v-4bf1bdcb]{font-family:var(--font-mono);white-space:pre-line}.gt-empty[data-v-4bf1bdcb]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:64px 24px;text-align:center;font-size:13px;color:var(--text-2)}.gt-empty b[data-v-4bf1bdcb]{font-size:16px;color:var(--text-1)}.gt.is-narrow .gt-toolbar[data-v-4bf1bdcb]{padding:8px 16px 10px}.gt.is-narrow .gt-scroll[data-v-4bf1bdcb]{padding:4px 12px 16px}.gt.is-narrow .gt-row[data-v-4bf1bdcb]{grid-template-columns:minmax(0,1fr) auto;padding:10px 12px}.gt.is-narrow .gt-chips[data-v-4bf1bdcb]{grid-column:1 / -1;grid-row:2;padding-left:32px}.gt.is-narrow .gt-rc[data-v-4bf1bdcb]{grid-column:2;grid-row:1}@media(prefers-reduced-motion:reduce){.gt[data-v-4bf1bdcb] *,.gt[data-v-4bf1bdcb] *:before,.gt[data-v-4bf1bdcb] *:after{transition-duration:.01ms!important}}.gs[data-v-cd5d3924]{display:flex;flex:1 1 0;flex-direction:column;min-height:0;color:var(--text-1)}.gs-foot[data-v-cd5d3924]{display:flex;align-items:center;gap:12px;padding:12px 20px 14px;border-top:1px solid var(--hairline)}.gs-summary[data-v-cd5d3924]{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;font-size:13px;color:var(--text-2);font-variant-numeric:tabular-nums}.gs-dirty[data-v-cd5d3924]{display:inline-flex;align-items:center;gap:6px;color:var(--warn)}.gs-dirty[data-v-cd5d3924]:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--warn)}.gs-foot.is-narrow[data-v-cd5d3924]{flex-wrap:wrap;padding:10px 16px 14px}.gs-foot.is-narrow .gs-summary[data-v-cd5d3924]{flex:1 1 100%}.gs-foot.is-narrow .n-button[data-v-cd5d3924]{flex:1}.form-hint[data-v-1e28319e]{font-size:13px;color:var(--text-3)}.scope-who[data-v-1e28319e]{margin:-4px 0 14px;font-size:13px;color:var(--text-3)}.reset-hint[data-v-87598e58]{margin:0 0 12px;font-size:14px;line-height:1.6;color:var(--text-2)}.pw-field[data-v-5ff6d087]{flex:1;min-width:0}.avatar-field[data-v-5ff6d087]{display:flex;align-items:center;gap:12px}.user-layout[data-v-35d757ca]{--side-filter-width: 248px}.org-drawer-body[data-v-35d757ca]{display:flex;flex-direction:column;gap:8px}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 强调色 → 一整套随强调色变化的令牌。
|
|
3
|
+
*
|
|
4
|
+
* 两个消费者共用这一份结果,不各算一遍:
|
|
5
|
+
* - `useTheme.applyAccentVars` 把 `css` 逐项写到 `<html>` 的 style 上(裸 CSS 与页面 scoped 里的 var(--sel-bg) 等换色);
|
|
6
|
+
* - `naive-theme.ts` 取 `signal` / `acc` / `onAcc` / `hover` / `pressed` / `linkFg` / `activeFg` / `ring` 喂 Naive overrides。
|
|
7
|
+
* 两边各算一份的话,改一处忘另一处就是裸 CSS 与 Naive 组件的强调色不同步,而没有任何东西会报错。
|
|
8
|
+
*/
|
|
9
|
+
export interface AccentDerived {
|
|
10
|
+
/** 原始强调色(信号色 = 强调色:图标、聚焦环、数据线、菜单选中底)。 */
|
|
11
|
+
signal: string;
|
|
12
|
+
/** 实心控件底色 = `solid(signal)`,明暗同值。 */
|
|
13
|
+
acc: string;
|
|
14
|
+
/** 压在 `acc` 上的字色。 */
|
|
15
|
+
onAcc: string;
|
|
16
|
+
hover: string;
|
|
17
|
+
pressed: string;
|
|
18
|
+
/** 强调色当「选中文字 / 侧栏图标」用的可读版:浅色压暗到对白底 ≥ 4.5:1,深色往白提亮 35%。 */
|
|
19
|
+
activeFg: string;
|
|
20
|
+
/** 文字按钮 / 行内操作按钮 / 链接的字色。 */
|
|
21
|
+
linkFg: string;
|
|
22
|
+
/** 聚焦环 `0 0 0 3px rgba(signal, α)`。 */
|
|
23
|
+
ring: string;
|
|
24
|
+
/** 要写到 `<html>` 的 CSS 变量(名 → 值)。 */
|
|
25
|
+
css: Record<string, string>;
|
|
26
|
+
}
|
|
27
|
+
export declare function deriveAccentTokens(accent: string, dark: boolean): AccentDerived;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { derivePrimary as P, mix as b, readable as a, rgba as c, fieldOf as $, shift as x, chartPalette as A, FIELD as l } from "./mix.js";
|
|
2
|
+
const F = {
|
|
3
|
+
light: [0.2, 0.15, 0.13, 0.14],
|
|
4
|
+
dark: [0.17, 0.13, 0.11, 0.12]
|
|
5
|
+
}, h = {
|
|
6
|
+
light: [0.55, 0.45, 0.5, 0.34],
|
|
7
|
+
dark: [0.85, 0.7, 0.6, 0.55]
|
|
8
|
+
};
|
|
9
|
+
function y(r, t) {
|
|
10
|
+
const e = r, n = P(r, t), f = n.primary, g = t ? b(e, "#FFFFFF", 0.35) : a(e), p = t ? b(e, "#FFFFFF", 0.35) : a(e), v = `0 0 0 3px ${c(e, t ? 0.35 : 0.22)}`, m = $(e), E = t ? F.dark : F.light, O = t ? h.dark : h.light, s = {
|
|
11
|
+
"--accent": e,
|
|
12
|
+
"--signal": e,
|
|
13
|
+
"--signal-glow": c(e, t ? 0.55 : 0.35),
|
|
14
|
+
"--acc-solid": f,
|
|
15
|
+
"--on-acc": n.on,
|
|
16
|
+
"--acc-hover": n.hover,
|
|
17
|
+
"--acc-pressed": n.pressed,
|
|
18
|
+
// 选中态令牌:模块卡片 / 表格选中行等「当前项」统一用,颜色跟信号色走
|
|
19
|
+
"--sel-bg": c(e, t ? 0.14 : 0.06),
|
|
20
|
+
"--sel-ring": c(e, t ? 0.6 : 0.5),
|
|
21
|
+
"--sel-halo": c(e, t ? 0.16 : 0.1),
|
|
22
|
+
"--sel-fg": g,
|
|
23
|
+
// 页签 / 列表当前项
|
|
24
|
+
"--tab-active-bg": c(e, t ? 0.18 : 0.08),
|
|
25
|
+
"--tab-active-fg": g,
|
|
26
|
+
"--tab-active-ring": c(e, t ? 0.35 : 0.22),
|
|
27
|
+
// 顶部页签激活态。深色三项是固定的蓝(rgba(59,155,255,.2) / #FFF / rgba(130,190,255,.65)),不随强调色走;
|
|
28
|
+
// 浅色三项随强调色。
|
|
29
|
+
"--tab-on-bg": t ? "rgba(59, 155, 255, 0.2)" : c(e, 0.1),
|
|
30
|
+
"--tab-on-fg": t ? "#ffffff" : a(e),
|
|
31
|
+
"--tab-on-ring": t ? "rgba(130, 190, 255, 0.65)" : c(e, 0.5),
|
|
32
|
+
// 登录页主按钮渐变 / 标语高亮的第二色:走强调色本色位移,石墨时不退回蓝(见 fieldSrc)
|
|
33
|
+
"--login-accent-2": x(e, l[1][0], l[1][1], l[1][2])
|
|
34
|
+
};
|
|
35
|
+
return m.forEach((i, o) => {
|
|
36
|
+
s[`--ambient-${o + 1}`] = c(i, E[o]), s[`--desk-${o + 1}`] = c(i, O[o]);
|
|
37
|
+
}), A(e, t).forEach((i, o) => {
|
|
38
|
+
s[`--chart-${o + 1}`] = i;
|
|
39
|
+
}), {
|
|
40
|
+
signal: e,
|
|
41
|
+
acc: f,
|
|
42
|
+
onAcc: n.on,
|
|
43
|
+
hover: n.hover,
|
|
44
|
+
pressed: n.pressed,
|
|
45
|
+
activeFg: g,
|
|
46
|
+
linkFg: p,
|
|
47
|
+
ring: v,
|
|
48
|
+
css: s
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export {
|
|
52
|
+
y as deriveAccentTokens
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=accentTokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accentTokens.js","sources":["../../src/theme/accentTokens.ts"],"sourcesContent":["import { chartPalette, derivePrimary, fieldOf, mix, readable, rgba, shift, FIELD } from './mix'\n\n/**\n * 强调色 → 一整套随强调色变化的令牌。\n *\n * 两个消费者共用这一份结果,不各算一遍:\n * - `useTheme.applyAccentVars` 把 `css` 逐项写到 `<html>` 的 style 上(裸 CSS 与页面 scoped 里的 var(--sel-bg) 等换色);\n * - `naive-theme.ts` 取 `signal` / `acc` / `onAcc` / `hover` / `pressed` / `linkFg` / `activeFg` / `ring` 喂 Naive overrides。\n * 两边各算一份的话,改一处忘另一处就是裸 CSS 与 Naive 组件的强调色不同步,而没有任何东西会报错。\n */\nexport interface AccentDerived {\n /** 原始强调色(信号色 = 强调色:图标、聚焦环、数据线、菜单选中底)。 */\n signal: string\n /** 实心控件底色 = `solid(signal)`,明暗同值。 */\n acc: string\n /** 压在 `acc` 上的字色。 */\n onAcc: string\n hover: string\n pressed: string\n /** 强调色当「选中文字 / 侧栏图标」用的可读版:浅色压暗到对白底 ≥ 4.5:1,深色往白提亮 35%。 */\n activeFg: string\n /** 文字按钮 / 行内操作按钮 / 链接的字色。 */\n linkFg: string\n /** 聚焦环 `0 0 0 3px rgba(signal, α)`。 */\n ring: string\n /** 要写到 `<html>` 的 CSS 变量(名 → 值)。 */\n css: Record<string, string>\n}\n\n/** 应用内环境光四团的不透明度(深色底更吃得住颜色,但噪点和玻璃叠上去会再提一档,所以比浅色略收)。 */\nconst AMBIENT_OP = {\n light: [0.2, 0.15, 0.13, 0.14],\n dark: [0.17, 0.13, 0.11, 0.12],\n} as const\n\n/** 登录页色场四团的不透明度:比应用内浓得多,还会漂。 */\nconst DESK_OP = {\n light: [0.55, 0.45, 0.5, 0.34],\n dark: [0.85, 0.7, 0.6, 0.55],\n} as const\n\nexport function deriveAccentTokens(accent: string, dark: boolean): AccentDerived {\n const signal = accent\n const p = derivePrimary(accent, dark)\n const acc = p.primary\n\n // 深色:往白提亮 35%;浅色:压暗到可读。activeFg(侧栏 / 选中)与 linkFg(文字按钮)当前取值相同,\n // 保留两个出口,以后要分化时不用动调用方。\n const activeFg = dark ? mix(signal, '#FFFFFF', 0.35) : readable(signal)\n const linkFg = dark ? mix(signal, '#FFFFFF', 0.35) : readable(signal)\n const ring = `0 0 0 3px ${rgba(signal, dark ? 0.35 : 0.22)}`\n\n const field = fieldOf(signal)\n const ambientOp = dark ? AMBIENT_OP.dark : AMBIENT_OP.light\n const deskOp = dark ? DESK_OP.dark : DESK_OP.light\n\n const css: Record<string, string> = {\n '--accent': signal,\n '--signal': signal,\n '--signal-glow': rgba(signal, dark ? 0.55 : 0.35),\n '--acc-solid': acc,\n '--on-acc': p.on,\n '--acc-hover': p.hover,\n '--acc-pressed': p.pressed,\n // 选中态令牌:模块卡片 / 表格选中行等「当前项」统一用,颜色跟信号色走\n '--sel-bg': rgba(signal, dark ? 0.14 : 0.06),\n '--sel-ring': rgba(signal, dark ? 0.6 : 0.5),\n '--sel-halo': rgba(signal, dark ? 0.16 : 0.1),\n '--sel-fg': activeFg,\n // 页签 / 列表当前项\n '--tab-active-bg': rgba(signal, dark ? 0.18 : 0.08),\n '--tab-active-fg': activeFg,\n '--tab-active-ring': rgba(signal, dark ? 0.35 : 0.22),\n // 顶部页签激活态。深色三项是固定的蓝(rgba(59,155,255,.2) / #FFF / rgba(130,190,255,.65)),不随强调色走;\n // 浅色三项随强调色。\n '--tab-on-bg': dark ? 'rgba(59, 155, 255, 0.2)' : rgba(signal, 0.1),\n '--tab-on-fg': dark ? '#ffffff' : readable(signal),\n '--tab-on-ring': dark ? 'rgba(130, 190, 255, 0.65)' : rgba(signal, 0.5),\n // 登录页主按钮渐变 / 标语高亮的第二色:走强调色本色位移,石墨时不退回蓝(见 fieldSrc)\n '--login-accent-2': shift(signal, FIELD[1][0], FIELD[1][1], FIELD[1][2]),\n }\n field.forEach((c, i) => {\n css[`--ambient-${i + 1}`] = rgba(c, ambientOp[i]!)\n css[`--desk-${i + 1}`] = rgba(c, deskOp[i]!)\n })\n // 图表数据色(折线 / 柱 / 饼的系列色,工作台统计卡的图标色也用它):强调色的邻近色相,不复用状态语义色\n chartPalette(signal, dark).forEach((c, i) => {\n css[`--chart-${i + 1}`] = c\n })\n\n return {\n signal,\n acc,\n onAcc: p.on,\n hover: p.hover,\n pressed: p.pressed,\n activeFg,\n linkFg,\n ring,\n css,\n }\n}\n"],"names":["AMBIENT_OP","DESK_OP","deriveAccentTokens","accent","dark","signal","p","derivePrimary","acc","activeFg","mix","readable","linkFg","ring","rgba","field","fieldOf","ambientOp","deskOp","css","shift","FIELD","c","i","chartPalette"],"mappings":";AA8BA,MAAMA,IAAa;AAAA,EACjB,OAAO,CAAC,KAAK,MAAM,MAAM,IAAI;AAAA,EAC7B,MAAM,CAAC,MAAM,MAAM,MAAM,IAAI;AAC/B,GAGMC,IAAU;AAAA,EACd,OAAO,CAAC,MAAM,MAAM,KAAK,IAAI;AAAA,EAC7B,MAAM,CAAC,MAAM,KAAK,KAAK,IAAI;AAC7B;AAEO,SAASC,EAAmBC,GAAgBC,GAA8B;AAC/E,QAAMC,IAASF,GACTG,IAAIC,EAAcJ,GAAQC,CAAI,GAC9BI,IAAMF,EAAE,SAIRG,IAAWL,IAAOM,EAAIL,GAAQ,WAAW,IAAI,IAAIM,EAASN,CAAM,GAChEO,IAASR,IAAOM,EAAIL,GAAQ,WAAW,IAAI,IAAIM,EAASN,CAAM,GAC9DQ,IAAO,aAAaC,EAAKT,GAAQD,IAAO,OAAO,IAAI,CAAC,IAEpDW,IAAQC,EAAQX,CAAM,GACtBY,IAAYb,IAAOJ,EAAW,OAAOA,EAAW,OAChDkB,IAASd,IAAOH,EAAQ,OAAOA,EAAQ,OAEvCkB,IAA8B;AAAA,IAClC,YAAYd;AAAA,IACZ,YAAYA;AAAA,IACZ,iBAAiBS,EAAKT,GAAQD,IAAO,OAAO,IAAI;AAAA,IAChD,eAAeI;AAAA,IACf,YAAYF,EAAE;AAAA,IACd,eAAeA,EAAE;AAAA,IACjB,iBAAiBA,EAAE;AAAA;AAAA,IAEnB,YAAYQ,EAAKT,GAAQD,IAAO,OAAO,IAAI;AAAA,IAC3C,cAAcU,EAAKT,GAAQD,IAAO,MAAM,GAAG;AAAA,IAC3C,cAAcU,EAAKT,GAAQD,IAAO,OAAO,GAAG;AAAA,IAC5C,YAAYK;AAAA;AAAA,IAEZ,mBAAmBK,EAAKT,GAAQD,IAAO,OAAO,IAAI;AAAA,IAClD,mBAAmBK;AAAA,IACnB,qBAAqBK,EAAKT,GAAQD,IAAO,OAAO,IAAI;AAAA;AAAA;AAAA,IAGpD,eAAeA,IAAO,4BAA4BU,EAAKT,GAAQ,GAAG;AAAA,IAClE,eAAeD,IAAO,YAAYO,EAASN,CAAM;AAAA,IACjD,iBAAiBD,IAAO,8BAA8BU,EAAKT,GAAQ,GAAG;AAAA;AAAA,IAEtE,oBAAoBe,EAAMf,GAAQgB,EAAM,CAAC,EAAE,CAAC,GAAGA,EAAM,CAAC,EAAE,CAAC,GAAGA,EAAM,CAAC,EAAE,CAAC,CAAC;AAAA,EAAA;AAEzE,SAAAN,EAAM,QAAQ,CAACO,GAAGC,MAAM;AACtB,IAAAJ,EAAI,aAAaI,IAAI,CAAC,EAAE,IAAIT,EAAKQ,GAAGL,EAAUM,CAAC,CAAE,GACjDJ,EAAI,UAAUI,IAAI,CAAC,EAAE,IAAIT,EAAKQ,GAAGJ,EAAOK,CAAC,CAAE;AAAA,EAC7C,CAAC,GAEDC,EAAanB,GAAQD,CAAI,EAAE,QAAQ,CAACkB,GAAGC,MAAM;AAC3C,IAAAJ,EAAI,WAAWI,IAAI,CAAC,EAAE,IAAID;AAAA,EAC5B,CAAC,GAEM;AAAA,IACL,QAAAjB;AAAA,IACA,KAAAG;AAAA,IACA,OAAOF,EAAE;AAAA,IACT,OAAOA,EAAE;AAAA,IACT,SAASA,EAAE;AAAA,IACX,UAAAG;AAAA,IACA,QAAAG;AAAA,IACA,MAAAC;AAAA,IACA,KAAAM;AAAA,EAAA;AAEJ;"}
|
package/dist/theme/accents.d.ts
CHANGED
|
@@ -1,2 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* 6 个强调色候选,全部取自 macOS 系统色:
|
|
3
|
+
* 蓝 #0A84FF(默认)、靛蓝 #5856D6、紫 #AF52DE、深青 #30B0C7、墨绿 #30D158、石墨 #8E8E93。
|
|
4
|
+
*
|
|
5
|
+
* **取值标准是原值亮度落在 0.14–0.36**,不是看色相好不好看:这一段 `solid()` 之后色相不跑偏,
|
|
6
|
+
* 而且六个色的主按钮一律深底白字。亮度 > 0.5 的色(薄荷 #63E6E2、亮青 #64D2FF、黄 #FFD60A)
|
|
7
|
+
* 会走 `solid()`「保留原色配深字」的分支,换个强调色主按钮的字色就从白翻成黑,所以一个都不收。
|
|
8
|
+
* 加新候选色前先算 `solid()` 的结果,别只看原始色相。
|
|
9
|
+
*
|
|
10
|
+
* 浅色 / 深色共用同一个值。品牌 Logo 的固定靛蓝不在这里(Logo 不随用户换色)。
|
|
11
|
+
*/
|
|
12
|
+
export declare const ACCENTS: readonly ["#0A84FF", "#5856D6", "#AF52DE", "#30B0C7", "#30D158", "#8E8E93"];
|
|
2
13
|
export type Accent = (typeof ACCENTS)[number];
|
|
14
|
+
export interface AccentMeta {
|
|
15
|
+
color: Accent;
|
|
16
|
+
/** 语言包键(settings.accentName.<key>);深青 / 墨绿压暗幅度大,色块里看到的不是 macOS 系统设置里那两个亮色,所以不叫青色 / 绿色。 */
|
|
17
|
+
key: 'blue' | 'indigo' | 'purple' | 'teal' | 'green' | 'graphite';
|
|
18
|
+
/** 色块预览用的颜色 = `solid(color)`:和开关 / 主按钮等实心控件同一套压暗规则,预览才和实际效果对得上。 */
|
|
19
|
+
dot: string;
|
|
20
|
+
}
|
|
21
|
+
/** 外观面板的色块清单(顺序同 ACCENTS)。`dot` 在定义时预计算。 */
|
|
22
|
+
export declare const ACCENT_META: readonly AccentMeta[];
|
package/dist/theme/accents.js
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
import { solid as t } from "./mix.js";
|
|
2
|
+
const o = ["#0A84FF", "#5856D6", "#AF52DE", "#30B0C7", "#30D158", "#8E8E93"], p = [
|
|
3
|
+
["#0A84FF", "blue"],
|
|
4
|
+
["#5856D6", "indigo"],
|
|
5
|
+
["#AF52DE", "purple"],
|
|
6
|
+
["#30B0C7", "teal"],
|
|
7
|
+
["#30D158", "green"],
|
|
8
|
+
["#8E8E93", "graphite"]
|
|
9
|
+
].map(([E, e]) => ({ color: E, key: e, dot: t(E) }));
|
|
2
10
|
export {
|
|
3
|
-
|
|
11
|
+
o as ACCENTS,
|
|
12
|
+
p as ACCENT_META
|
|
4
13
|
};
|
|
5
14
|
//# sourceMappingURL=accents.js.map
|