koishi-plugin-rocom 1.0.1

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 (157) hide show
  1. package/lib/client.d.ts +53 -0
  2. package/lib/client.js +473 -0
  3. package/lib/commands/account.d.ts +5 -0
  4. package/lib/commands/account.js +205 -0
  5. package/lib/commands/admin.d.ts +2 -0
  6. package/lib/commands/admin.js +117 -0
  7. package/lib/commands/egg.d.ts +2 -0
  8. package/lib/commands/egg.js +196 -0
  9. package/lib/commands/merchant.d.ts +2 -0
  10. package/lib/commands/merchant.js +242 -0
  11. package/lib/commands/query.d.ts +2 -0
  12. package/lib/commands/query.js +1264 -0
  13. package/lib/commands/wiki.d.ts +2 -0
  14. package/lib/commands/wiki.js +11 -0
  15. package/lib/egg-service.d.ts +229 -0
  16. package/lib/egg-service.js +705 -0
  17. package/lib/index.d.ts +24 -0
  18. package/lib/index.js +3746 -0
  19. package/lib/render-templates/bind-list/index.html +51 -0
  20. package/lib/render-templates/bind-list/style.css +178 -0
  21. package/lib/render-templates/exchange-hall/css/_@astro-renderers.0KDkAyVb.css +1 -0
  22. package/lib/render-templates/exchange-hall/css/index.B3tv56V6.css +1 -0
  23. package/lib/render-templates/exchange-hall/css/index.D2LGPudy.css +1 -0
  24. package/lib/render-templates/exchange-hall/extracted.css +393 -0
  25. package/lib/render-templates/exchange-hall/index.html +99 -0
  26. package/lib/render-templates/exchange-hall/style.css +267 -0
  27. package/lib/render-templates/friendship/index.html +58 -0
  28. package/lib/render-templates/friendship/style.css +182 -0
  29. package/lib/render-templates/home/data/home_item_list.json +122 -0
  30. package/lib/render-templates/home/img/home_icon/100604.png +0 -0
  31. package/lib/render-templates/home/img/home_icon/100604_1.png +0 -0
  32. package/lib/render-templates/home/img/home_icon/100604_2.png +0 -0
  33. package/lib/render-templates/home/img/home_icon/100605.png +0 -0
  34. package/lib/render-templates/home/img/home_icon/100605_1.png +0 -0
  35. package/lib/render-templates/home/img/home_icon/100605_2.png +0 -0
  36. package/lib/render-templates/home/img/home_icon/100606.png +0 -0
  37. package/lib/render-templates/home/img/home_icon/100606_1.png +0 -0
  38. package/lib/render-templates/home/img/home_icon/100606_2.png +0 -0
  39. package/lib/render-templates/home/img/home_icon/100607.png +0 -0
  40. package/lib/render-templates/home/img/home_icon/100607_1.png +0 -0
  41. package/lib/render-templates/home/img/home_icon/100607_2.png +0 -0
  42. package/lib/render-templates/home/img/home_icon/100608.png +0 -0
  43. package/lib/render-templates/home/img/home_icon/100608_1.png +0 -0
  44. package/lib/render-templates/home/img/home_icon/100608_2.png +0 -0
  45. package/lib/render-templates/home/img/home_icon/100622.png +0 -0
  46. package/lib/render-templates/home/img/home_icon/100622_1.png +0 -0
  47. package/lib/render-templates/home/img/home_icon/100622_2.png +0 -0
  48. package/lib/render-templates/home/img/home_icon/100623.png +0 -0
  49. package/lib/render-templates/home/img/home_icon/100623_1.png +0 -0
  50. package/lib/render-templates/home/img/home_icon/100623_2.png +0 -0
  51. package/lib/render-templates/home/img/home_icon/100624.png +0 -0
  52. package/lib/render-templates/home/img/home_icon/100624_1.png +0 -0
  53. package/lib/render-templates/home/img/home_icon/100624_2.png +0 -0
  54. package/lib/render-templates/home/img/home_icon/100627.png +0 -0
  55. package/lib/render-templates/home/img/home_icon/100627_1.png +0 -0
  56. package/lib/render-templates/home/img/home_icon/100627_2.png +0 -0
  57. package/lib/render-templates/home/img/home_icon/100684.png +0 -0
  58. package/lib/render-templates/home/img/home_icon/100684_1.png +0 -0
  59. package/lib/render-templates/home/img/home_icon/100684_2.png +0 -0
  60. package/lib/render-templates/home/img/home_icon/100686.png +0 -0
  61. package/lib/render-templates/home/img/home_icon/100686_1.png +0 -0
  62. package/lib/render-templates/home/img/home_icon/100686_2.png +0 -0
  63. package/lib/render-templates/home/img/home_icon/100687.png +0 -0
  64. package/lib/render-templates/home/img/home_icon/100687_1.png +0 -0
  65. package/lib/render-templates/home/img/home_icon/100687_2.png +0 -0
  66. package/lib/render-templates/home/img/home_icon/100689.png +0 -0
  67. package/lib/render-templates/home/img/home_icon/100689_1.png +0 -0
  68. package/lib/render-templates/home/img/home_icon/100689_2.png +0 -0
  69. package/lib/render-templates/home/img/home_icon/100690.png +0 -0
  70. package/lib/render-templates/home/img/home_icon/100690_1.png +0 -0
  71. package/lib/render-templates/home/img/home_icon/100690_2.png +0 -0
  72. package/lib/render-templates/home/img/home_icon/100691.png +0 -0
  73. package/lib/render-templates/home/img/home_icon/100691_1.png +0 -0
  74. package/lib/render-templates/home/img/home_icon/100691_2.png +0 -0
  75. package/lib/render-templates/home/img/home_icon/100692.png +0 -0
  76. package/lib/render-templates/home/img/home_icon/100692_1.png +0 -0
  77. package/lib/render-templates/home/img/home_icon/100692_2.png +0 -0
  78. package/lib/render-templates/home/img/home_icon/100693.png +0 -0
  79. package/lib/render-templates/home/img/home_icon/100693_1.png +0 -0
  80. package/lib/render-templates/home/img/home_icon/100693_2.png +0 -0
  81. package/lib/render-templates/home/img/home_icon/100694.png +0 -0
  82. package/lib/render-templates/home/img/home_icon/100694_1.png +0 -0
  83. package/lib/render-templates/home/img/home_icon/100694_2.png +0 -0
  84. package/lib/render-templates/home/img/home_icon/100706.png +0 -0
  85. package/lib/render-templates/home/img/home_icon/100706_1.png +0 -0
  86. package/lib/render-templates/home/img/home_icon/100706_2.png +0 -0
  87. package/lib/render-templates/home/img/home_icon/100751.png +0 -0
  88. package/lib/render-templates/home/img/home_icon/100751_1.png +0 -0
  89. package/lib/render-templates/home/img/home_icon/100751_2.png +0 -0
  90. package/lib/render-templates/home/img/home_icon/100755.png +0 -0
  91. package/lib/render-templates/home/img/home_icon/100755_1.png +0 -0
  92. package/lib/render-templates/home/img/home_icon/100755_2.png +0 -0
  93. package/lib/render-templates/home/img/home_icon/100762.png +0 -0
  94. package/lib/render-templates/home/img/home_icon/100762_1.png +0 -0
  95. package/lib/render-templates/home/img/home_icon/100762_2.png +0 -0
  96. package/lib/render-templates/home/img/home_icon/100764.png +0 -0
  97. package/lib/render-templates/home/img/home_icon/100764_1.png +0 -0
  98. package/lib/render-templates/home/img/home_icon/100764_2.png +0 -0
  99. package/lib/render-templates/home/img/home_icon/100869.png +0 -0
  100. package/lib/render-templates/home/img/home_icon/100869_1.png +0 -0
  101. package/lib/render-templates/home/img/home_icon/100869_2.png +0 -0
  102. package/lib/render-templates/home/img/img_HomeVisit_Icon1.png +0 -0
  103. package/lib/render-templates/home/img/img_LevelReward_Bg2.png +0 -0
  104. package/lib/render-templates/home/index.html +139 -0
  105. package/lib/render-templates/home/style.css +537 -0
  106. package/lib/render-templates/ingame-shop/index.html +87 -0
  107. package/lib/render-templates/ingame-shop/style.css +220 -0
  108. package/lib/render-templates/inspect/index.html +47 -0
  109. package/lib/render-templates/inspect/style.css +149 -0
  110. package/lib/render-templates/lineup/index.html +77 -0
  111. package/lib/render-templates/lineup/style.css +255 -0
  112. package/lib/render-templates/lineup-detail/index.html +63 -0
  113. package/lib/render-templates/lineup-detail/style.css +218 -0
  114. package/lib/render-templates/menu/index.html +36 -0
  115. package/lib/render-templates/menu/style.css +126 -0
  116. package/lib/render-templates/package/index.html +115 -0
  117. package/lib/render-templates/package/style.css +352 -0
  118. package/lib/render-templates/personal-card/index.html +292 -0
  119. package/lib/render-templates/personal-card/style.css +2114 -0
  120. package/lib/render-templates/pet-wiki/index.html +118 -0
  121. package/lib/render-templates/pet-wiki/style.css +382 -0
  122. package/lib/render-templates/player-search/index.html +60 -0
  123. package/lib/render-templates/player-search/style.css +192 -0
  124. package/lib/render-templates/record/index.html +86 -0
  125. package/lib/render-templates/record/style.css +322 -0
  126. package/lib/render-templates/searcheggs/Pets.json +104328 -0
  127. package/lib/render-templates/searcheggs/candidates.html +52 -0
  128. package/lib/render-templates/searcheggs/eggs.py +599 -0
  129. package/lib/render-templates/searcheggs/index.html +198 -0
  130. package/lib/render-templates/searcheggs/pair.html +81 -0
  131. package/lib/render-templates/searcheggs/size.html +82 -0
  132. package/lib/render-templates/searcheggs/style.css +586 -0
  133. package/lib/render-templates/searcheggs/want.html +63 -0
  134. package/lib/render-templates/skill-wiki/index.html +68 -0
  135. package/lib/render-templates/skill-wiki/style.css +182 -0
  136. package/lib/render-templates/student/index.html +95 -0
  137. package/lib/render-templates/student/style.css +255 -0
  138. package/lib/render-templates/student-perks/index.html +78 -0
  139. package/lib/render-templates/student-perks/style.css +238 -0
  140. package/lib/render-templates/student-state/index.html +52 -0
  141. package/lib/render-templates/student-state/style.css +157 -0
  142. package/lib/render-templates/yuanxing-shangren/index.html +371 -0
  143. package/lib/render-templates/yuanxing-shangren/style.css +371 -0
  144. package/lib/render.d.ts +11 -0
  145. package/lib/render.js +226 -0
  146. package/lib/role-token.d.ts +27 -0
  147. package/lib/role-token.js +137 -0
  148. package/lib/send-image.d.ts +3 -0
  149. package/lib/send-image.js +135 -0
  150. package/lib/subscription-send.d.ts +8 -0
  151. package/lib/subscription-send.js +48 -0
  152. package/lib/types.d.ts +32 -0
  153. package/lib/types.js +2 -0
  154. package/lib/user.d.ts +67 -0
  155. package/lib/user.js +176 -0
  156. package/package.json +58 -0
  157. package/readme.md +575 -0
@@ -0,0 +1,586 @@
1
+ @font-face {
2
+ font-family: 'mianfeiziti';
3
+ src: url('../../ttf/HYWenHei-85W-1.ttf') format('truetype');
4
+ font-display: swap;
5
+ }
6
+
7
+ :root {
8
+ --helper-font-family-mianfeiziti: 'mianfeiziti', system-ui, "calibri", "Roboto", verdana, "PingFang SC", sans-serif;
9
+ --color-gold: #ffc65f;
10
+ --color-brown: #5a3e1b;
11
+ --color-brown-light: #8c7a61;
12
+ --color-brown-border: #c97926;
13
+ --color-bg-warm: #FAF6ED;
14
+ --color-card-bg: rgba(255, 255, 255, 0.6);
15
+ --color-tag-green: #4ade80;
16
+ --color-tag-red: #f87171;
17
+ --color-tag-blue: #60a5fa;
18
+ --color-tag-amber: #fbbf24;
19
+ }
20
+
21
+ * { margin: 0; padding: 0; box-sizing: border-box; }
22
+
23
+ body {
24
+ margin: 0;
25
+ padding: 30px;
26
+ background-color: var(--color-bg-warm);
27
+ display: inline-block;
28
+ font-family: var(--helper-font-family-mianfeiziti);
29
+ }
30
+
31
+ .searcheggs-cont {
32
+ width: 820px;
33
+ background: url("../../img/ercode-bg.D1ccSQKH.png") no-repeat center center;
34
+ background-size: 100% 100%;
35
+ position: relative;
36
+ padding: 40px 45px;
37
+ }
38
+
39
+ .xiaoluoke-overlay {
40
+ position: absolute;
41
+ bottom: -15px;
42
+ right: -30px;
43
+ width: 280px;
44
+ opacity: 0.12;
45
+ z-index: 1;
46
+ pointer-events: none;
47
+ }
48
+
49
+ .page-inner {
50
+ position: relative;
51
+ z-index: 2;
52
+ }
53
+
54
+ /* ---- Header ---- */
55
+ .header {
56
+ text-align: center;
57
+ margin-bottom: 25px;
58
+ padding-bottom: 15px;
59
+ border-bottom: 2px dashed rgba(160, 140, 110, 0.4);
60
+ }
61
+
62
+ .header-title {
63
+ color: #1f1f1f;
64
+ font-size: 36px;
65
+ font-weight: bold;
66
+ text-shadow: none;
67
+ -webkit-text-stroke: 0;
68
+ letter-spacing: 2px;
69
+ }
70
+
71
+ .header-subtitle {
72
+ color: #9e8e76;
73
+ font-size: 15px;
74
+ margin-top: 6px;
75
+ }
76
+
77
+ /* ---- Pet Info Card ---- */
78
+ .pet-card {
79
+ background: var(--color-card-bg);
80
+ border-radius: 18px;
81
+ padding: 22px 28px;
82
+ margin-bottom: 20px;
83
+ border: 1px solid rgba(201, 121, 38, 0.25);
84
+ }
85
+
86
+ .pet-card-header {
87
+ display: flex;
88
+ align-items: center;
89
+ justify-content: space-between;
90
+ gap: 18px;
91
+ margin-bottom: 16px;
92
+ }
93
+
94
+ .pet-card-main {
95
+ display: flex;
96
+ align-items: center;
97
+ gap: 14px;
98
+ min-width: 0;
99
+ }
100
+
101
+ .pet-icon-wrap {
102
+ width: 72px;
103
+ height: 72px;
104
+ border-radius: 18px;
105
+ background: rgba(255,255,255,0.92);
106
+ border: 1px solid rgba(201, 121, 38, 0.2);
107
+ display: flex;
108
+ align-items: center;
109
+ justify-content: center;
110
+ overflow: hidden;
111
+ flex-shrink: 0;
112
+ }
113
+
114
+ .pet-icon {
115
+ width: 64px;
116
+ height: 64px;
117
+ object-fit: contain;
118
+ }
119
+
120
+ .pet-name {
121
+ font-size: 28px;
122
+ font-weight: bold;
123
+ color: var(--color-brown);
124
+ }
125
+
126
+ .pet-id {
127
+ font-size: 14px;
128
+ color: var(--color-brown-light);
129
+ }
130
+
131
+ .pet-type-badge {
132
+ display: inline-block;
133
+ background: linear-gradient(135deg, #fde68a, #fbbf24);
134
+ color: var(--color-brown);
135
+ font-size: 13px;
136
+ font-weight: bold;
137
+ padding: 3px 12px;
138
+ border-radius: 20px;
139
+ margin-left: 8px;
140
+ }
141
+
142
+ /* ---- Info Grid ---- */
143
+ .info-grid {
144
+ display: grid;
145
+ grid-template-columns: repeat(3, 1fr);
146
+ gap: 12px;
147
+ margin-bottom: 16px;
148
+ }
149
+
150
+ .info-item {
151
+ background: rgba(255,255,255,0.7);
152
+ border-radius: 12px;
153
+ padding: 12px 16px;
154
+ border: 1px solid rgba(201, 121, 38, 0.15);
155
+ }
156
+
157
+ .info-label {
158
+ font-size: 12px;
159
+ color: var(--color-brown-light);
160
+ margin-bottom: 4px;
161
+ text-transform: uppercase;
162
+ letter-spacing: 1px;
163
+ }
164
+
165
+ .info-value {
166
+ font-size: 18px;
167
+ font-weight: bold;
168
+ color: var(--color-brown);
169
+ }
170
+
171
+ .info-value-sm {
172
+ font-size: 15px;
173
+ font-weight: bold;
174
+ color: var(--color-brown);
175
+ }
176
+
177
+ /* ---- Egg Group Tags ---- */
178
+ .egg-groups-row {
179
+ display: flex;
180
+ align-items: center;
181
+ gap: 10px;
182
+ flex-wrap: wrap;
183
+ margin-bottom: 12px;
184
+ }
185
+
186
+ .egg-group-tag {
187
+ display: inline-flex;
188
+ align-items: center;
189
+ gap: 5px;
190
+ background: linear-gradient(135deg, #fef3c7, #fde68a);
191
+ color: var(--color-brown);
192
+ font-size: 14px;
193
+ font-weight: bold;
194
+ padding: 5px 14px;
195
+ border-radius: 20px;
196
+ border: 1px solid rgba(201, 121, 38, 0.3);
197
+ }
198
+
199
+ .egg-group-tag-undiscovered {
200
+ background: linear-gradient(135deg, #fecaca, #fca5a5);
201
+ color: #991b1b;
202
+ border-color: rgba(239, 68, 68, 0.3);
203
+ }
204
+
205
+ /* ---- Gender Bar ---- */
206
+ .gender-bar-wrap {
207
+ margin-bottom: 12px;
208
+ }
209
+
210
+ .gender-bar-label {
211
+ font-size: 13px;
212
+ color: var(--color-brown-light);
213
+ margin-bottom: 6px;
214
+ }
215
+
216
+ .gender-bar {
217
+ display: flex;
218
+ height: 10px;
219
+ border-radius: 5px;
220
+ overflow: hidden;
221
+ background: #e5e7eb;
222
+ }
223
+
224
+ .gender-male {
225
+ background: linear-gradient(90deg, #60a5fa, #3b82f6);
226
+ }
227
+
228
+ .gender-female {
229
+ background: linear-gradient(90deg, #f472b6, #ec4899);
230
+ }
231
+
232
+ .gender-text {
233
+ display: flex;
234
+ justify-content: space-between;
235
+ font-size: 12px;
236
+ color: var(--color-brown-light);
237
+ margin-top: 4px;
238
+ }
239
+
240
+ /* ---- Undiscovered Notice ---- */
241
+ .undiscovered-notice {
242
+ background: linear-gradient(135deg, #fef2f2, #fecaca);
243
+ border: 1px solid rgba(239, 68, 68, 0.25);
244
+ border-radius: 14px;
245
+ padding: 18px 22px;
246
+ margin-bottom: 20px;
247
+ text-align: center;
248
+ }
249
+
250
+ .undiscovered-notice-title {
251
+ font-size: 20px;
252
+ font-weight: bold;
253
+ color: #991b1b;
254
+ margin-bottom: 6px;
255
+ }
256
+
257
+ .undiscovered-notice-desc {
258
+ font-size: 14px;
259
+ color: #b91c1c;
260
+ }
261
+
262
+ /* ---- Egg Group Section ---- */
263
+ .egg-section {
264
+ margin-bottom: 22px;
265
+ }
266
+
267
+ .egg-section-header {
268
+ display: flex;
269
+ align-items: center;
270
+ gap: 12px;
271
+ margin-bottom: 12px;
272
+ padding-bottom: 8px;
273
+ border-bottom: 2px solid rgba(201, 121, 38, 0.2);
274
+ }
275
+
276
+ .egg-section-icon {
277
+ width: 36px;
278
+ height: 36px;
279
+ border-radius: 50%;
280
+ background: linear-gradient(135deg, #fde68a, #f59e0b);
281
+ display: flex;
282
+ align-items: center;
283
+ justify-content: center;
284
+ font-size: 18px;
285
+ color: white;
286
+ font-weight: bold;
287
+ flex-shrink: 0;
288
+ }
289
+
290
+ .egg-section-title {
291
+ font-size: 20px;
292
+ font-weight: bold;
293
+ color: var(--color-brown-border);
294
+ }
295
+
296
+ .egg-section-count {
297
+ font-size: 13px;
298
+ color: var(--color-brown-light);
299
+ margin-left: auto;
300
+ }
301
+
302
+ .egg-section-desc {
303
+ font-size: 13px;
304
+ color: var(--color-brown-light);
305
+ margin-bottom: 10px;
306
+ padding-left: 4px;
307
+ }
308
+
309
+ /* ---- Member Grid ---- */
310
+ .member-grid {
311
+ display: grid;
312
+ grid-template-columns: repeat(3, 1fr);
313
+ gap: 8px;
314
+ }
315
+
316
+ .member-item {
317
+ background: rgba(255, 255, 255, 0.65);
318
+ border-radius: 10px;
319
+ padding: 10px 14px;
320
+ border: 1px solid rgba(201, 121, 38, 0.12);
321
+ transition: background 0.15s;
322
+ }
323
+
324
+ .member-name {
325
+ font-size: 15px;
326
+ font-weight: bold;
327
+ color: var(--color-brown);
328
+ margin-bottom: 2px;
329
+ }
330
+
331
+ .member-meta {
332
+ font-size: 11px;
333
+ color: var(--color-brown-light);
334
+ }
335
+
336
+ .member-more {
337
+ grid-column: 1 / -1;
338
+ text-align: center;
339
+ font-size: 13px;
340
+ color: var(--color-brown-light);
341
+ padding: 8px;
342
+ }
343
+
344
+ /* ---- Egg Details Card ---- */
345
+ .egg-details-card {
346
+ background: var(--color-card-bg);
347
+ border-radius: 18px;
348
+ padding: 22px 28px;
349
+ margin-bottom: 20px;
350
+ border: 1px solid rgba(201, 121, 38, 0.25);
351
+ }
352
+
353
+ .egg-details-title {
354
+ font-size: 22px;
355
+ font-weight: bold;
356
+ color: var(--color-brown);
357
+ margin-bottom: 16px;
358
+ text-align: center;
359
+ padding-bottom: 10px;
360
+ border-bottom: 2px dashed rgba(160, 140, 110, 0.4);
361
+ }
362
+
363
+ .egg-info-grid {
364
+ display: grid;
365
+ grid-template-columns: repeat(2, 1fr);
366
+ gap: 12px;
367
+ margin-bottom: 20px;
368
+ }
369
+
370
+ .egg-info-item {
371
+ background: rgba(255,255,255,0.7);
372
+ border-radius: 12px;
373
+ padding: 12px 16px;
374
+ border: 1px solid rgba(201, 121, 38, 0.15);
375
+ text-align: center;
376
+ }
377
+
378
+ .egg-info-label {
379
+ font-size: 12px;
380
+ color: var(--color-brown-light);
381
+ margin-bottom: 6px;
382
+ text-transform: uppercase;
383
+ letter-spacing: 1px;
384
+ }
385
+
386
+ .egg-info-value {
387
+ font-size: 16px;
388
+ font-weight: bold;
389
+ color: var(--color-brown);
390
+ }
391
+
392
+ /* ---- Variants Section ---- */
393
+ .variants-section {
394
+ margin-top: 10px;
395
+ }
396
+
397
+ .variants-title {
398
+ font-size: 18px;
399
+ font-weight: bold;
400
+ color: var(--color-brown-border);
401
+ margin-bottom: 12px;
402
+ padding-bottom: 8px;
403
+ border-bottom: 2px solid rgba(201, 121, 38, 0.2);
404
+ }
405
+
406
+ .variant-card {
407
+ background: rgba(255, 255, 255, 0.5);
408
+ border-radius: 14px;
409
+ padding: 16px;
410
+ margin-bottom: 12px;
411
+ border: 1px solid rgba(201, 121, 38, 0.2);
412
+ }
413
+
414
+ .variant-header {
415
+ display: flex;
416
+ align-items: center;
417
+ gap: 10px;
418
+ margin-bottom: 12px;
419
+ padding-bottom: 8px;
420
+ border-bottom: 1px solid rgba(201, 121, 38, 0.15);
421
+ }
422
+
423
+ .variant-name {
424
+ font-size: 18px;
425
+ font-weight: bold;
426
+ color: var(--color-brown);
427
+ }
428
+
429
+ .variant-id {
430
+ font-size: 13px;
431
+ color: var(--color-brown-light);
432
+ }
433
+
434
+ .variant-info-grid {
435
+ display: grid;
436
+ grid-template-columns: repeat(3, 1fr);
437
+ gap: 8px;
438
+ }
439
+
440
+ .variant-info-item {
441
+ text-align: center;
442
+ padding: 8px;
443
+ background: rgba(255, 255, 255, 0.6);
444
+ border-radius: 8px;
445
+ }
446
+
447
+ .variant-info-item .label {
448
+ display: block;
449
+ font-size: 11px;
450
+ color: var(--color-brown-light);
451
+ margin-bottom: 4px;
452
+ text-transform: uppercase;
453
+ letter-spacing: 0.5px;
454
+ }
455
+
456
+ .variant-info-item .value {
457
+ display: block;
458
+ font-size: 14px;
459
+ font-weight: bold;
460
+ color: var(--color-brown);
461
+ }
462
+
463
+ /* ---- Pair Result ---- */
464
+ .pair-card {
465
+ background: var(--color-card-bg);
466
+ border-radius: 18px;
467
+ padding: 22px 28px;
468
+ margin-bottom: 20px;
469
+ border: 1px solid rgba(201, 121, 38, 0.25);
470
+ }
471
+
472
+ .pair-pets {
473
+ display: grid;
474
+ grid-template-columns: 1fr auto 1fr;
475
+ gap: 16px;
476
+ align-items: center;
477
+ margin-bottom: 18px;
478
+ }
479
+
480
+ .pair-pet-info {
481
+ text-align: center;
482
+ }
483
+
484
+ .pair-pet-name {
485
+ font-size: 22px;
486
+ font-weight: bold;
487
+ color: var(--color-brown);
488
+ }
489
+
490
+ .pair-pet-role {
491
+ font-size: 12px;
492
+ color: var(--color-brown-light);
493
+ margin-bottom: 4px;
494
+ text-transform: uppercase;
495
+ letter-spacing: 1px;
496
+ }
497
+
498
+ .pair-pet-type {
499
+ font-size: 13px;
500
+ color: var(--color-brown-light);
501
+ }
502
+
503
+ .pair-arrow {
504
+ font-size: 28px;
505
+ color: var(--color-brown-border);
506
+ }
507
+
508
+ .pair-result-badge {
509
+ text-align: center;
510
+ padding: 14px;
511
+ border-radius: 14px;
512
+ margin-bottom: 16px;
513
+ }
514
+
515
+ .pair-result-compatible {
516
+ background: linear-gradient(135deg, #d1fae5, #a7f3d0);
517
+ border: 1px solid rgba(16, 185, 129, 0.3);
518
+ }
519
+
520
+ .pair-result-incompatible {
521
+ background: linear-gradient(135deg, #fef2f2, #fecaca);
522
+ border: 1px solid rgba(239, 68, 68, 0.25);
523
+ }
524
+
525
+ .pair-result-text {
526
+ font-size: 20px;
527
+ font-weight: bold;
528
+ }
529
+
530
+ .pair-result-compatible .pair-result-text {
531
+ color: #065f46;
532
+ }
533
+
534
+ .pair-result-incompatible .pair-result-text {
535
+ color: #991b1b;
536
+ }
537
+
538
+ .pair-result-reason {
539
+ font-size: 14px;
540
+ margin-top: 4px;
541
+ }
542
+
543
+ .pair-result-compatible .pair-result-reason {
544
+ color: #047857;
545
+ }
546
+
547
+ .pair-result-incompatible .pair-result-reason {
548
+ color: #b91c1c;
549
+ }
550
+
551
+ /* ---- Shared Groups ---- */
552
+ .shared-groups {
553
+ display: flex;
554
+ gap: 8px;
555
+ flex-wrap: wrap;
556
+ justify-content: center;
557
+ margin-top: 8px;
558
+ }
559
+
560
+ .shared-group-tag {
561
+ display: inline-block;
562
+ background: linear-gradient(135deg, #d1fae5, #6ee7b7);
563
+ color: #065f46;
564
+ font-size: 13px;
565
+ font-weight: bold;
566
+ padding: 4px 12px;
567
+ border-radius: 16px;
568
+ }
569
+
570
+ /* ---- Footer ---- */
571
+ .footer {
572
+ margin-top: 25px;
573
+ text-align: center;
574
+ font-size: 13px;
575
+ color: #bfae95;
576
+ }
577
+
578
+ .command-hint {
579
+ text-align: center;
580
+ font-size: 13px;
581
+ color: var(--color-brown-light);
582
+ margin-top: 15px;
583
+ padding: 10px;
584
+ background: rgba(255,255,255,0.4);
585
+ border-radius: 10px;
586
+ }
@@ -0,0 +1,63 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <link rel="stylesheet" href="{{_res_path}}render/searcheggs/style.css">
6
+ <style>
7
+ .want-panel { background: rgba(255,255,255,0.94); border-radius: 20px; padding: 22px; box-shadow: 0 10px 24px rgba(40, 31, 23, 0.08); margin-top: 18px; }
8
+ .want-title { font-size: 30px; font-weight: 800; color: #4d3624; }
9
+ .want-meta { margin-top: 10px; color: #75563d; font-size: 19px; line-height: 1.8; }
10
+ .father-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
11
+ .father-card { background: rgba(244, 236, 224, 0.95); border-radius: 18px; padding: 16px 18px; }
12
+ .father-card-name { font-size: 24px; font-weight: 700; color: #4b3524; }
13
+ .father-card-meta { margin-top: 8px; color: #735640; font-size: 17px; line-height: 1.7; }
14
+ .warn-box { margin-top: 16px; padding: 16px 18px; border-radius: 14px; background: rgba(240, 98, 82, 0.12); color: #8a3d2e; font-size: 18px; }
15
+ .pagination-footer { margin-top: 22px; display: flex; justify-content: space-between; gap: 14px; color: #8c7a61; font-size: 14px; }
16
+ .pagination-hint { max-width: 70%; }
17
+ .copyright { white-space: nowrap; }
18
+ </style>
19
+ </head>
20
+ <body>
21
+ <div class="searcheggs-cont page-section-main">
22
+ <div class="header-card">
23
+ <div class="header-main">
24
+ <div class="header-title">目标配种方案</div>
25
+ <div class="header-subtitle">想要孵出「{{target.name}}」时,母体应固定为目标精灵</div>
26
+ </div>
27
+ </div>
28
+
29
+ <div class="want-panel">
30
+ <div class="want-title">{{target.name}} #{{target.id}}</div>
31
+ <div class="want-meta">
32
+ 属性:{{target.type_label}}<br>
33
+ 蛋组:{{egg_groups_label}}<br>
34
+ 性别比:雄性 {{if male_rate != null}}{{male_rate}}{{else}}?{{/if}}% | 雌性 {{if female_rate != null}}{{female_rate}}{{else}}?{{/if}}%
35
+ </div>
36
+
37
+ {{if is_undiscovered}}
38
+ <div class="warn-box">该精灵属于未发现蛋组,无法通过常规配种获得。</div>
39
+ {{else if !fathers || !fathers.length}}
40
+ <div class="warn-box">没有找到可与该目标精灵共享蛋组的父体候选。</div>
41
+ {{else}}
42
+ <div class="father-grid">
43
+ {{each fathers item}}
44
+ <div class="father-card">
45
+ <div class="father-card-name">{{item.name}} #{{item.id}}</div>
46
+ <div class="father-card-meta">
47
+ 属性:{{item.type_label}}<br>
48
+ 蛋组:{{item.egg_groups_label}}<br>
49
+ 身高:{{item.height_label}} | 体重:{{item.weight_label}}
50
+ </div>
51
+ </div>
52
+ {{/each}}
53
+ </div>
54
+ {{/if}}
55
+ </div>
56
+
57
+ <div class="pagination-footer">
58
+ <span class="pagination-hint">{{commandHint}}</span>
59
+ <span class="copyright">{{copyright}}</span>
60
+ </div>
61
+ </div>
62
+ </body>
63
+ </html>
@@ -0,0 +1,68 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>洛克技能 Wiki - {{name}}</title>
7
+ <link rel="stylesheet" href="{{_res_path}}render/skill-wiki/style.css">
8
+ </head>
9
+ <body class="skill-body">
10
+ <div class="skill-shell">
11
+ <header class="skill-hero">
12
+ <div class="hero-main">
13
+ <div class="hero-kicker">ROCOM BWIKI STYLE</div>
14
+ <h1 class="hero-name">{{name}}</h1>
15
+ <div class="hero-tags">
16
+ <span class="tag">{{attribute}}</span>
17
+ <span class="tag">{{category}}</span>
18
+ </div>
19
+ <div class="hero-summary">{{description}}</div>
20
+ </div>
21
+ <div class="hero-stats">
22
+ <div class="stat-card">
23
+ <div class="stat-label">PP</div>
24
+ <div class="stat-value">{{cost}}</div>
25
+ </div>
26
+ <div class="stat-card accent">
27
+ <div class="stat-label">威力</div>
28
+ <div class="stat-value">{{power}}</div>
29
+ </div>
30
+ </div>
31
+ </header>
32
+
33
+ <main class="skill-content">
34
+ <section class="panel">
35
+ <div class="panel-title">技能说明</div>
36
+ <div class="panel-text">{{description}}</div>
37
+ </section>
38
+ <section class="panel">
39
+ <div class="panel-title">基础信息</div>
40
+ <div class="meta-grid">
41
+ <div class="meta-item">
42
+ <div class="meta-label">属性</div>
43
+ <div class="meta-value">{{attribute}}</div>
44
+ </div>
45
+ <div class="meta-item">
46
+ <div class="meta-label">类别</div>
47
+ <div class="meta-value">{{category}}</div>
48
+ </div>
49
+ <div class="meta-item">
50
+ <div class="meta-label">PP</div>
51
+ <div class="meta-value">{{cost}}</div>
52
+ </div>
53
+ <div class="meta-item">
54
+ <div class="meta-label">威力</div>
55
+ <div class="meta-value">{{power}}</div>
56
+ </div>
57
+ </div>
58
+ </section>
59
+ </main>
60
+
61
+ <footer class="skill-footer">
62
+ <div>{{commandHint}}</div>
63
+ <div>Updated: {{updated_at}}</div>
64
+ <div>{{copyright}}</div>
65
+ </footer>
66
+ </div>
67
+ </body>
68
+ </html>