@jjlmoya/utils-astronomy 1.35.1 → 1.37.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.
Files changed (86) hide show
  1. package/package.json +18 -5
  2. package/scripts/postbuild.mjs +17 -0
  3. package/scripts/postinstall.mjs +2 -4
  4. package/src/category/index.ts +2 -1
  5. package/src/components/ProductionBreadcrumb.astro +134 -0
  6. package/src/components/ProductionStructuredData.astro +46 -0
  7. package/src/components/ProductionWidget.astro +182 -0
  8. package/src/entries.ts +4 -2
  9. package/src/i18n/header-ui.ts +15 -0
  10. package/src/i18n/language-ui.ts +9 -0
  11. package/src/i18n/languages.ts +24 -0
  12. package/src/identity/brands.ts +5 -0
  13. package/src/index.ts +2 -1
  14. package/src/layouts/ProductionCategoryPage.astro +184 -0
  15. package/src/layouts/ProductionPage.astro +218 -0
  16. package/src/layouts/ProductionUtilityPage.astro +283 -0
  17. package/src/mfe/assets.ts +39 -0
  18. package/src/mfe/category-ui.ts +34 -0
  19. package/src/mfe/manifest.ts +45 -0
  20. package/src/mfe/routes.ts +50 -0
  21. package/src/pages/[locale]/[utilities]/[categories]/[category]/[slug]/manifest.json.ts +49 -0
  22. package/src/pages/[locale]/[utilities]/[categories]/[category]/[slug].astro +100 -0
  23. package/src/pages/[locale]/[utilities]/[categories]/[category].astro +44 -0
  24. package/src/pages/index.astro +4 -4
  25. package/src/pages/mfe-sitemaps/[locale]/[vertical]/sitemap.xml.ts +75 -0
  26. package/src/pages/utilidades/[slug]/manifest.json.ts +28 -0
  27. package/src/pages/utilidades/[slug].astro +90 -0
  28. package/src/pages/utilidades/categorias/[category].astro +38 -0
  29. package/src/tests/locale_completeness.test.ts +2 -2
  30. package/src/tests/mfe_cache_contract.test.ts +14 -0
  31. package/src/tests/mfe_manifest.test.ts +28 -0
  32. package/src/tests/registry_contract.test.ts +67 -0
  33. package/src/tests/tool_validation.test.ts +4 -3
  34. package/src/tool/astrophotographyExposureStackPlanner/astrophotography-exposure-stacking-planner.css +496 -0
  35. package/src/tool/astrophotographyExposureStackPlanner/bibliography.astro +14 -0
  36. package/src/tool/astrophotographyExposureStackPlanner/bibliography.ts +12 -0
  37. package/src/tool/astrophotographyExposureStackPlanner/component.astro +149 -0
  38. package/src/tool/astrophotographyExposureStackPlanner/controller.ts +125 -0
  39. package/src/tool/astrophotographyExposureStackPlanner/dom-views.ts +41 -0
  40. package/src/tool/astrophotographyExposureStackPlanner/entry.ts +29 -0
  41. package/src/tool/astrophotographyExposureStackPlanner/evaluator.ts +44 -0
  42. package/src/tool/astrophotographyExposureStackPlanner/i18n/de.ts +40 -0
  43. package/src/tool/astrophotographyExposureStackPlanner/i18n/en.ts +232 -0
  44. package/src/tool/astrophotographyExposureStackPlanner/i18n/es.ts +52 -0
  45. package/src/tool/astrophotographyExposureStackPlanner/i18n/fr.ts +40 -0
  46. package/src/tool/astrophotographyExposureStackPlanner/i18n/id.ts +40 -0
  47. package/src/tool/astrophotographyExposureStackPlanner/i18n/it.ts +40 -0
  48. package/src/tool/astrophotographyExposureStackPlanner/i18n/ja.ts +40 -0
  49. package/src/tool/astrophotographyExposureStackPlanner/i18n/ko.ts +40 -0
  50. package/src/tool/astrophotographyExposureStackPlanner/i18n/nl.ts +40 -0
  51. package/src/tool/astrophotographyExposureStackPlanner/i18n/pl.ts +40 -0
  52. package/src/tool/astrophotographyExposureStackPlanner/i18n/pt.ts +40 -0
  53. package/src/tool/astrophotographyExposureStackPlanner/i18n/ru.ts +40 -0
  54. package/src/tool/astrophotographyExposureStackPlanner/i18n/sv.ts +40 -0
  55. package/src/tool/astrophotographyExposureStackPlanner/i18n/tr.ts +40 -0
  56. package/src/tool/astrophotographyExposureStackPlanner/i18n/zh.ts +40 -0
  57. package/src/tool/astrophotographyExposureStackPlanner/index.ts +11 -0
  58. package/src/tool/astrophotographyExposureStackPlanner/localized.ts +59 -0
  59. package/src/tool/astrophotographyExposureStackPlanner/logic.test.ts +74 -0
  60. package/src/tool/astrophotographyExposureStackPlanner/logic.ts +95 -0
  61. package/src/tool/astrophotographyExposureStackPlanner/seo.astro +14 -0
  62. package/src/tool/astrophotographyExposureStackPlanner/storage.ts +22 -0
  63. package/src/tool/astrophotographyExposureStackPlanner/ui.ts +102 -0
  64. package/src/tool/meteorShowerObservingPlanner/dom-views.ts +38 -16
  65. package/src/tool/meteorShowerObservingPlanner/i18n/de.ts +219 -219
  66. package/src/tool/meteorShowerObservingPlanner/i18n/en.ts +219 -219
  67. package/src/tool/meteorShowerObservingPlanner/i18n/es.ts +219 -219
  68. package/src/tool/meteorShowerObservingPlanner/i18n/fr.ts +219 -219
  69. package/src/tool/meteorShowerObservingPlanner/i18n/id.ts +223 -223
  70. package/src/tool/meteorShowerObservingPlanner/i18n/it.ts +223 -223
  71. package/src/tool/meteorShowerObservingPlanner/i18n/ja.ts +219 -219
  72. package/src/tool/meteorShowerObservingPlanner/i18n/ko.ts +219 -219
  73. package/src/tool/meteorShowerObservingPlanner/i18n/nl.ts +223 -223
  74. package/src/tool/meteorShowerObservingPlanner/i18n/pl.ts +223 -223
  75. package/src/tool/meteorShowerObservingPlanner/i18n/pt.ts +223 -223
  76. package/src/tool/meteorShowerObservingPlanner/i18n/ru.ts +219 -219
  77. package/src/tool/meteorShowerObservingPlanner/i18n/sv.ts +223 -223
  78. package/src/tool/meteorShowerObservingPlanner/i18n/tr.ts +223 -223
  79. package/src/tool/meteorShowerObservingPlanner/i18n/zh.ts +219 -219
  80. package/src/tool/meteorShowerObservingPlanner/meteor-shower-observing-planner.css +16 -9
  81. package/src/tool/meteorShowerObservingPlanner/ui.ts +87 -87
  82. package/src/tools.ts +3 -1
  83. package/src/types.ts +2 -2
  84. package/src/worker.ts +27 -0
  85. package/src/pages/[locale]/[slug].astro +0 -161
  86. package/src/pages/[locale].astro +0 -251
@@ -1,219 +1,219 @@
1
- import type { MeteorShowerObservingPlannerLocaleContent } from '../ui';
2
- import { METEOR_PLANNER_BIBLIOGRAPHY } from '../bibliography';
3
-
4
- const slug = 'meteor-shower-observing-planner';
5
-
6
- export const content: MeteorShowerObservingPlannerLocaleContent = {
7
- slug,
8
- title: '流星雨观测时间窗口规划器',
9
- description: '通过计算天顶每小时出现率 ZHR、天空黑暗度及月光干扰,规划最佳流星观测时间窗口。',
10
- ui: {
11
- title: '流星雨观测规划器',
12
- subtitle: '计算最佳观测时间窗口并预测每小时可见流星数量',
13
- presetLabel: '选择主要流星雨',
14
- customZhrLabel: '自定义天顶每小时出现率 ZHR',
15
- latitudeLabel: '观测者纬度',
16
- bortleLabel: '波特尔暗空等级',
17
- moonPhaseLabel: '月球照射比例',
18
- sessionHoursLabel: '计划观测时间段',
19
- toLabel: '至',
20
- classLabel: '等级',
21
- radiantTelemetryLabel: '辐射点遥测',
22
- belowHorizonLabel: '地平线下',
23
- altLabel: '高度',
24
- moonLabel: '月球',
25
- hrUnit: '/ 小时',
26
- presets: {
27
- perseids: '英仙座流星雨 (8月12日)',
28
- geminids: '双子座流星雨 (12月14日)',
29
- quadrantids: '象限仪座流星雨 (1月4日)',
30
- lyrids: '天琴座流星雨 (4月22日)',
31
- orionids: '猎户座流星雨 (10月21日)',
32
- 'eta-aquariids': '宝瓶座eta流星雨 (5月6日)',
33
- leonids: '狮子座流星雨 (11月17日)',
34
- custom: '自定义流星雨',
35
- },
36
- constellations: {
37
- Perseus: '英仙座',
38
- Gemini: '双子座',
39
- Bootes: '牧夫座',
40
- Lyra: '天琴座',
41
- Orion: '猎户座',
42
- Aquarius: '宝瓶座',
43
- Leo: '狮子座',
44
- Zenith: '天顶',
45
- },
46
- badgeLabels: {
47
- darkSky: '极佳暗夜环境',
48
- lightPollution: '强光害影响',
49
- favorableMoon: '有利月相条件',
50
- moonWashout: '月光冲淡风险',
51
- primeWindow: '极大爆发窗口',
52
- },
53
- bortleDescriptions: {
54
- 2: '极佳暗夜环境',
55
- 5: '郊区暗夜环境',
56
- 8: '城市光害环境',
57
- },
58
- moonPhaseNames: {
59
- new: '月光影响微弱',
60
- quarter: '中度月光干扰',
61
- full: '严重月光冲淡',
62
- },
63
- resultsTitle: '观测时段分析结果',
64
- bestWindowLabel: '最佳观测窗口',
65
- maxRateLabel: '最大预测可见率',
66
- skyQualityLabel: '夜空质量指数',
67
- hourlyChartTitle: '每小时预测流量与辐射点高度',
68
- checklistTitle: '观测前准备清单',
69
- checklistItems: [
70
- '在计数前至少留出 20 分钟让眼睛完全适应黑暗',
71
- '使用带红光滤镜的手电筒以保护夜视能力',
72
- '躺在舒适的折叠椅上面向地平线上方 45 度角观赏',
73
- '观测期间避免观看亮屏手机',
74
- ],
75
- },
76
- seo: [
77
- {
78
- type: 'title',
79
- text: '理解天顶每小时出现率 ZHR 与实际可见流星',
80
- level: 2,
81
- },
82
- {
83
- type: 'paragraph',
84
- html: '天顶每小时出现率 ZHR 代表在理想暗夜且辐射点位于天顶时,单人单小时内能看到的理论最大流星数。实际观测中由于光害和辐射点高度影响,能看到的流星数量会明显减少。',
85
- },
86
- {
87
- type: 'paragraph',
88
- html: '规划最佳观测时段需要考虑几何与环境因素。当辐射点高度靠近地平线时,流星划过的轨迹大多在大气层外侧,可观察到的数量随之下降。',
89
- },
90
- {
91
- type: 'list',
92
- items: [
93
- '辐射点高度降低按高度正弦比例削减可见数',
94
- '波特尔等级光害掩盖暗弱流星痕迹',
95
- '月相与月光照亮夜空背景',
96
- '观测者视野限制了可覆盖的天区范围',
97
- ],
98
- },
99
- {
100
- type: 'tip',
101
- title: '暗夜观测建议',
102
- html: '在波特尔 2 或 3 级的场地观测,相较于城市院落能成倍增加肉眼可见的暗弱流星数量。',
103
- },
104
- {
105
- type: 'title',
106
- text: '月相与光害的影响',
107
- level: 2,
108
- },
109
- {
110
- type: 'paragraph',
111
- html: '月光是流星雨极大期的主要自然光害源。满月或大半月会冲淡暗弱流星,使实际可见流量在乡村暗夜下也会下降 70% 以上。',
112
- },
113
- {
114
- type: 'paragraph',
115
- html: '选择月落后或月出前的时段能确保夜空背景的最佳对比度。',
116
- },
117
- {
118
- type: 'title',
119
- text: '如何准备流星观测之夜',
120
- level: 2,
121
- },
122
- {
123
- type: 'paragraph',
124
- html: '成功观测流星需要耐心与保暖防寒。流星随机出现在天空各处,肉眼观测比望远镜拥有宽广得多的视野。',
125
- },
126
- {
127
- type: 'list',
128
- items: [
129
- '即使夏季夜晚也请准备多层保暖衣物',
130
- '为折叠椅准备睡袋或保温毯',
131
- '准备热饮维持体温',
132
- '记录亮火流星的出现时间与方向',
133
- ],
134
- },
135
- {
136
- type: 'title',
137
- text: '技术计算方法',
138
- level: 2,
139
- },
140
- {
141
- type: 'paragraph',
142
- html: '本工具通过将极大 ZHR 与辐射点几何高度、波特尔暗空衰减及月光干扰进行综合计算,为天文爱好者提供贴近现实的预估。',
143
- },
144
- ],
145
- faq: [
146
- {
147
- question: '什么是天顶每小时出现率 ZHR',
148
- answer: 'ZHR 是指暗夜环境且辐射点位于天顶时理论上的每小时最大流星数。',
149
- },
150
- {
151
- question: '为什么我看到的流星少于公布的 ZHR',
152
- answer: '公布的 ZHR 假设完美理想条件。光害、低辐射点高度和月光都会减少实际数量。',
153
- },
154
- {
155
- question: '观测流星雨需要望远镜吗',
156
- answer: '不需要,望远镜视野太窄。肉眼全天域观测是最佳选择。',
157
- },
158
- ],
159
- howTo: [
160
- {
161
- name: '选择流星雨',
162
- text: '选择英仙座流星雨等预设流星雨或输入自定义 ZHR。',
163
- },
164
- {
165
- name: '设置纬度',
166
- text: '调整滑块至您所在的观测纬度。',
167
- },
168
- {
169
- name: '设置暗空与月相',
170
- text: '输入波特尔等级与月球照度。',
171
- },
172
- {
173
- name: '查看预测',
174
- text: '分析图表确定最佳观测窗口。',
175
- },
176
- ],
177
- bibliography: METEOR_PLANNER_BIBLIOGRAPHY,
178
- schemas: [
179
- {
180
- '@context': 'https://schema.org',
181
- '@type': 'SoftwareApplication',
182
- name: '流星雨观测时间窗口规划器',
183
- operatingSystem: 'Any',
184
- applicationCategory: 'EducationalApplication',
185
- offers: {
186
- '@type': 'Offer',
187
- price: '0',
188
- priceCurrency: 'CNY',
189
- },
190
- },
191
- {
192
- '@context': 'https://schema.org',
193
- '@type': 'FAQPage',
194
- mainEntity: [
195
- {
196
- '@type': 'Question',
197
- name: '什么是天顶每小时出现率 ZHR',
198
- acceptedAnswer: {
199
- '@type': 'Answer',
200
- text: 'ZHR 是指暗夜环境且辐射点位于天顶时理论上的每小时最大流星数。',
201
- },
202
- },
203
- ],
204
- },
205
- {
206
- '@context': 'https://schema.org',
207
- '@type': 'HowTo',
208
- name: '如何使用流星雨观测规划器',
209
- description: '寻找最佳流星观测时间窗口的步骤。',
210
- step: [
211
- {
212
- '@type': 'HowToStep',
213
- name: '选择流星雨',
214
- text: '选择英仙座流星雨等预设流星雨或输入自定义 ZHR。',
215
- },
216
- ],
217
- },
218
- ],
219
- };
1
+ import type { MeteorShowerObservingPlannerLocaleContent } from '../ui';
2
+ import { METEOR_PLANNER_BIBLIOGRAPHY } from '../bibliography';
3
+
4
+ const slug = 'meteor-shower-observing-planner';
5
+
6
+ export const content: MeteorShowerObservingPlannerLocaleContent = {
7
+ slug,
8
+ title: '流星雨观测时间窗口规划器',
9
+ description: '通过计算天顶每小时出现率 ZHR、天空黑暗度及月光干扰,规划最佳流星观测时间窗口。',
10
+ ui: {
11
+ title: '流星雨观测规划器',
12
+ subtitle: '计算最佳观测时间窗口并预测每小时可见流星数量',
13
+ presetLabel: '选择主要流星雨',
14
+ customZhrLabel: '自定义天顶每小时出现率 ZHR',
15
+ latitudeLabel: '观测者纬度',
16
+ bortleLabel: '波特尔暗空等级',
17
+ moonPhaseLabel: '月球照射比例',
18
+ sessionHoursLabel: '计划观测时间段',
19
+ toLabel: '至',
20
+ classLabel: '等级',
21
+ radiantTelemetryLabel: '辐射点遥测',
22
+ belowHorizonLabel: '地平线下',
23
+ altLabel: '高度',
24
+ moonLabel: '月球',
25
+ hrUnit: '/ 小时',
26
+ presets: {
27
+ perseids: '英仙座流星雨 (8月12日)',
28
+ geminids: '双子座流星雨 (12月14日)',
29
+ quadrantids: '象限仪座流星雨 (1月4日)',
30
+ lyrids: '天琴座流星雨 (4月22日)',
31
+ orionids: '猎户座流星雨 (10月21日)',
32
+ 'eta-aquariids': '宝瓶座eta流星雨 (5月6日)',
33
+ leonids: '狮子座流星雨 (11月17日)',
34
+ custom: '自定义流星雨',
35
+ },
36
+ constellations: {
37
+ Perseus: '英仙座',
38
+ Gemini: '双子座',
39
+ Bootes: '牧夫座',
40
+ Lyra: '天琴座',
41
+ Orion: '猎户座',
42
+ Aquarius: '宝瓶座',
43
+ Leo: '狮子座',
44
+ Zenith: '天顶',
45
+ },
46
+ badgeLabels: {
47
+ darkSky: '极佳暗夜环境',
48
+ lightPollution: '强光害影响',
49
+ favorableMoon: '有利月相条件',
50
+ moonWashout: '月光冲淡风险',
51
+ primeWindow: '极大爆发窗口',
52
+ },
53
+ bortleDescriptions: {
54
+ 2: '极佳暗夜环境',
55
+ 5: '郊区暗夜环境',
56
+ 8: '城市光害环境',
57
+ },
58
+ moonPhaseNames: {
59
+ new: '月光影响微弱',
60
+ quarter: '中度月光干扰',
61
+ full: '严重月光冲淡',
62
+ },
63
+ resultsTitle: '观测时段分析结果',
64
+ bestWindowLabel: '最佳观测窗口',
65
+ maxRateLabel: '最大预测可见率',
66
+ skyQualityLabel: '夜空质量指数',
67
+ hourlyChartTitle: '每小时预测流量与辐射点高度',
68
+ checklistTitle: '观测前准备清单',
69
+ checklistItems: [
70
+ '在计数前至少留出 20 分钟让眼睛完全适应黑暗',
71
+ '使用带红光滤镜的手电筒以保护夜视能力',
72
+ '躺在舒适的折叠椅上面向地平线上方 45 度角观赏',
73
+ '观测期间避免观看亮屏手机',
74
+ ],
75
+ },
76
+ seo: [
77
+ {
78
+ type: 'title',
79
+ text: '理解天顶每小时出现率 ZHR 与实际可见流星',
80
+ level: 2,
81
+ },
82
+ {
83
+ type: 'paragraph',
84
+ html: '天顶每小时出现率 ZHR 代表在理想暗夜且辐射点位于天顶时,单人单小时内能看到的理论最大流星数。实际观测中由于光害和辐射点高度影响,能看到的流星数量会明显减少。',
85
+ },
86
+ {
87
+ type: 'paragraph',
88
+ html: '规划最佳观测时段需要考虑几何与环境因素。当辐射点高度靠近地平线时,流星划过的轨迹大多在大气层外侧,可观察到的数量随之下降。',
89
+ },
90
+ {
91
+ type: 'list',
92
+ items: [
93
+ '辐射点高度降低按高度正弦比例削减可见数',
94
+ '波特尔等级光害掩盖暗弱流星痕迹',
95
+ '月相与月光照亮夜空背景',
96
+ '观测者视野限制了可覆盖的天区范围',
97
+ ],
98
+ },
99
+ {
100
+ type: 'tip',
101
+ title: '暗夜观测建议',
102
+ html: '在波特尔 2 或 3 级的场地观测,相较于城市院落能成倍增加肉眼可见的暗弱流星数量。',
103
+ },
104
+ {
105
+ type: 'title',
106
+ text: '月相与光害的影响',
107
+ level: 2,
108
+ },
109
+ {
110
+ type: 'paragraph',
111
+ html: '月光是流星雨极大期的主要自然光害源。满月或大半月会冲淡暗弱流星,使实际可见流量在乡村暗夜下也会下降 70% 以上。',
112
+ },
113
+ {
114
+ type: 'paragraph',
115
+ html: '选择月落后或月出前的时段能确保夜空背景的最佳对比度。',
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: '如何准备流星观测之夜',
120
+ level: 2,
121
+ },
122
+ {
123
+ type: 'paragraph',
124
+ html: '成功观测流星需要耐心与保暖防寒。流星随机出现在天空各处,肉眼观测比望远镜拥有宽广得多的视野。',
125
+ },
126
+ {
127
+ type: 'list',
128
+ items: [
129
+ '即使夏季夜晚也请准备多层保暖衣物',
130
+ '为折叠椅准备睡袋或保温毯',
131
+ '准备热饮维持体温',
132
+ '记录亮火流星的出现时间与方向',
133
+ ],
134
+ },
135
+ {
136
+ type: 'title',
137
+ text: '技术计算方法',
138
+ level: 2,
139
+ },
140
+ {
141
+ type: 'paragraph',
142
+ html: '本工具通过将极大 ZHR 与辐射点几何高度、波特尔暗空衰减及月光干扰进行综合计算,为天文爱好者提供贴近现实的预估。',
143
+ },
144
+ ],
145
+ faq: [
146
+ {
147
+ question: '什么是天顶每小时出现率 ZHR',
148
+ answer: 'ZHR 是指暗夜环境且辐射点位于天顶时理论上的每小时最大流星数。',
149
+ },
150
+ {
151
+ question: '为什么我看到的流星少于公布的 ZHR',
152
+ answer: '公布的 ZHR 假设完美理想条件。光害、低辐射点高度和月光都会减少实际数量。',
153
+ },
154
+ {
155
+ question: '观测流星雨需要望远镜吗',
156
+ answer: '不需要,望远镜视野太窄。肉眼全天域观测是最佳选择。',
157
+ },
158
+ ],
159
+ howTo: [
160
+ {
161
+ name: '选择流星雨',
162
+ text: '选择英仙座流星雨等预设流星雨或输入自定义 ZHR。',
163
+ },
164
+ {
165
+ name: '设置纬度',
166
+ text: '调整滑块至您所在的观测纬度。',
167
+ },
168
+ {
169
+ name: '设置暗空与月相',
170
+ text: '输入波特尔等级与月球照度。',
171
+ },
172
+ {
173
+ name: '查看预测',
174
+ text: '分析图表确定最佳观测窗口。',
175
+ },
176
+ ],
177
+ bibliography: METEOR_PLANNER_BIBLIOGRAPHY,
178
+ schemas: [
179
+ {
180
+ '@context': 'https://schema.org',
181
+ '@type': 'SoftwareApplication',
182
+ name: '流星雨观测时间窗口规划器',
183
+ operatingSystem: 'Any',
184
+ applicationCategory: 'EducationalApplication',
185
+ offers: {
186
+ '@type': 'Offer',
187
+ price: '0',
188
+ priceCurrency: 'CNY',
189
+ },
190
+ },
191
+ {
192
+ '@context': 'https://schema.org',
193
+ '@type': 'FAQPage',
194
+ mainEntity: [
195
+ {
196
+ '@type': 'Question',
197
+ name: '什么是天顶每小时出现率 ZHR',
198
+ acceptedAnswer: {
199
+ '@type': 'Answer',
200
+ text: 'ZHR 是指暗夜环境且辐射点位于天顶时理论上的每小时最大流星数。',
201
+ },
202
+ },
203
+ ],
204
+ },
205
+ {
206
+ '@context': 'https://schema.org',
207
+ '@type': 'HowTo',
208
+ name: '如何使用流星雨观测规划器',
209
+ description: '寻找最佳流星观测时间窗口的步骤。',
210
+ step: [
211
+ {
212
+ '@type': 'HowToStep',
213
+ name: '选择流星雨',
214
+ text: '选择英仙座流星雨等预设流星雨或输入自定义 ZHR。',
215
+ },
216
+ ],
217
+ },
218
+ ],
219
+ };
@@ -1,5 +1,5 @@
1
1
  :root {
2
- --n-card-bg: #ffffff;
2
+ --n-card-bg: #fff;
3
3
  --n-card-border: #e2e8f0;
4
4
  --n-text-main: #0f172a;
5
5
  --n-text-muted: #475569;
@@ -17,6 +17,10 @@
17
17
  --n-bar-bg: #cbd5e1;
18
18
  --n-bar-fill: #4f46e5;
19
19
  --n-bar-peak: #e11d48;
20
+ --n-text-on-accent: #fff;
21
+ --n-score-excellent: #059669;
22
+ --n-score-moderate: #d97706;
23
+ --n-score-poor: #dc2626;
20
24
  }
21
25
 
22
26
  .theme-dark .meteor-shower-planner-card,
@@ -39,6 +43,10 @@
39
43
  --n-bar-bg: #334155;
40
44
  --n-bar-fill: #6366f1;
41
45
  --n-bar-peak: #fb7185;
46
+ --n-text-on-accent: #fff;
47
+ --n-score-excellent: #34d399;
48
+ --n-score-moderate: #fbbf24;
49
+ --n-score-poor: #f87171;
42
50
  }
43
51
 
44
52
  .meteor-shower-planner-card {
@@ -47,7 +55,6 @@
47
55
  border-radius: 20px;
48
56
  padding: 24px;
49
57
  color: var(--n-text-main);
50
- font-family: system-ui, -apple-system, sans-serif;
51
58
  max-width: 900px;
52
59
  margin: 0 auto;
53
60
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
@@ -95,7 +102,7 @@
95
102
 
96
103
  .preset-chip-btn.active {
97
104
  background: var(--n-accent);
98
- color: #fff;
105
+ color: var(--n-text-on-accent);
99
106
  border-color: var(--n-accent);
100
107
  }
101
108
 
@@ -194,7 +201,7 @@
194
201
  }
195
202
 
196
203
  .custom-select-menu[hidden] {
197
- display: none !important;
204
+ display: none;
198
205
  }
199
206
 
200
207
  .custom-select-opt {
@@ -218,7 +225,7 @@
218
225
 
219
226
  .custom-select-opt.active {
220
227
  background: var(--n-accent);
221
- color: #ffffff;
228
+ color: var(--n-text-on-accent);
222
229
  }
223
230
 
224
231
  .planner-results-section {
@@ -255,15 +262,15 @@
255
262
  }
256
263
 
257
264
  .res-score-val.badge-excellent {
258
- color: #059669;
265
+ color: var(--n-score-excellent);
259
266
  }
260
267
 
261
268
  .res-score-val.badge-moderate {
262
- color: #d97706;
269
+ color: var(--n-score-moderate);
263
270
  }
264
271
 
265
272
  .res-score-val.badge-poor {
266
- color: #dc2626;
273
+ color: var(--n-score-poor);
267
274
  }
268
275
 
269
276
  .res-badges-list {
@@ -382,7 +389,7 @@
382
389
  .checklist-ul {
383
390
  list-style: none;
384
391
  padding: 0;
385
- margin: 8px 0 0 0;
392
+ margin: 8px 0 0;
386
393
  display: flex;
387
394
  flex-direction: column;
388
395
  gap: 8px;