koishi-plugin-rocom 1.0.12 → 1.0.13

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 (42) hide show
  1. package/lib/client.d.ts +17 -1
  2. package/lib/client.js +121 -21
  3. package/lib/commands/merchant.js +340 -89
  4. package/lib/commands/query.js +22 -6
  5. package/lib/index.d.ts +4 -0
  6. package/lib/index.js +480 -122
  7. package/lib/render-templates/home/img/rocomuid/a_title.png +0 -0
  8. package/lib/render-templates/home/img/rocomuid/banner_bg.png +0 -0
  9. package/lib/render-templates/home/img/rocomuid/bg.jpg +0 -0
  10. package/lib/render-templates/home/img/rocomuid/img_head.png +0 -0
  11. package/lib/render-templates/home/img/rocomuid/jindu_bar.png +0 -0
  12. package/lib/render-templates/home/img/rocomuid/jindu_tc.png +0 -0
  13. package/lib/render-templates/home/img/rocomuid/level_icon.png +0 -0
  14. package/lib/render-templates/home/img/rocomuid/pet_bg.png +0 -0
  15. package/lib/render-templates/home/img/rocomuid/plant_bg.png +0 -0
  16. package/lib/render-templates/home/img/rocomuid/star_1.png +0 -0
  17. package/lib/render-templates/home/img/rocomuid/star_8.png +0 -0
  18. package/lib/render-templates/home/img/rocomuid/star_9.png +0 -0
  19. package/lib/render-templates/home/img/rocomuid/title_fg.png +0 -0
  20. package/lib/render-templates/home/img/rocomuid/top_bg.png +0 -0
  21. package/lib/render-templates/home/img/rocomuid/touxiang_mask.png +0 -0
  22. package/lib/render-templates/home/index.html +81 -97
  23. package/lib/render-templates/home/style.css +316 -375
  24. package/lib/render-templates/yuanxing-shangren/CHANGELOG.md +138 -0
  25. package/lib/render-templates/yuanxing-shangren/README.md +86 -0
  26. package/lib/render-templates/yuanxing-shangren/img/coin.png +0 -0
  27. package/lib/render-templates/yuanxing-shangren/img//345/272/225/351/203/250/344/277/241/346/201/257/346/241/206.png +0 -0
  28. package/lib/render-templates/yuanxing-shangren/img//346/240/207/351/242/230.png +0 -0
  29. package/lib/render-templates/yuanxing-shangren/img//347/203/255/351/224/200.png +0 -0
  30. package/lib/render-templates/yuanxing-shangren/img//347/274/226/345/217/267/350/203/214/346/231/257/346/241/206.png +0 -0
  31. package/lib/render-templates/yuanxing-shangren/index.html +198 -170
  32. package/lib/render-templates/yuanxing-shangren/index.html.backup +356 -0
  33. package/lib/render-templates/yuanxing-shangren/merchant.html +461 -0
  34. package/lib/render-templates/yuanxing-shangren/style.css +201 -256
  35. package/lib/render-templates/yuanxing-shangren/today.html +461 -0
  36. package/lib/render-templates/yuanxing-shangren/today.style.css +366 -0
  37. package/lib/render.js +11 -4
  38. package/lib/subscription-send.js +4 -5
  39. package/lib/ttf/rocom_skill_origin.ttf +0 -0
  40. package/lib/ttf//351/200/240/345/255/227/345/267/245/346/210/277/345/220/257/351/273/221/344/275/223.ttf +0 -0
  41. package/lib/types.d.ts +4 -0
  42. package/package.json +1 -1
@@ -4,534 +4,475 @@
4
4
  font-display: swap;
5
5
  }
6
6
 
7
+ @font-face {
8
+ font-family: "rocom-skill";
9
+ src: url("../../ttf/rocom_skill_origin.ttf") format("truetype");
10
+ font-display: swap;
11
+ }
12
+
7
13
  * {
8
14
  box-sizing: border-box;
9
15
  }
10
16
 
11
17
  html,
12
- body {
13
- margin: 0;
14
- padding: 28px;
15
- display: inline-block;
16
- background: #f4ecdc;
17
- color: #33271a;
18
- font-family: "rocom-home", "Microsoft YaHei", "PingFang SC", sans-serif;
19
- }
18
+ body {
19
+ margin: 0;
20
+ padding: 0;
21
+ display: inline-block;
22
+ width: fit-content;
23
+ min-width: 0;
24
+ height: auto;
25
+ min-height: 0;
26
+ background: transparent;
27
+ color: #ffffff;
28
+ font-family: "rocom-home", "Microsoft YaHei", "PingFang SC", sans-serif;
29
+ }
20
30
 
21
31
  .home-page {
22
32
  position: relative;
23
- width: 1280px;
24
- min-height: 860px;
33
+ width: 1000px;
34
+ min-height: 760px;
25
35
  overflow: hidden;
26
- border-radius: 28px;
27
- background:
28
- linear-gradient(rgba(38, 29, 18, 0.10), rgba(38, 29, 18, 0.10)),
29
- url("../../img/ercode-bg.D1ccSQKH.png") center / cover no-repeat;
30
- box-shadow: 0 26px 58px rgba(76, 55, 32, 0.18);
36
+ padding-bottom: 72px;
37
+ background: #efe6d2;
31
38
  }
32
39
 
33
- .page-bg {
40
+ .page-bg-img {
34
41
  position: absolute;
35
- inset: 0;
36
- background:
37
- radial-gradient(circle at 10% 12%, rgba(255, 231, 177, 0.52), transparent 28%),
38
- radial-gradient(circle at 96% 18%, rgba(255, 188, 85, 0.24), transparent 30%);
42
+ inset: 0 auto auto 0;
43
+ z-index: 0;
44
+ width: 1000px;
45
+ min-height: 100%;
46
+ object-fit: cover;
47
+ object-position: top center;
39
48
  pointer-events: none;
40
49
  }
41
50
 
42
- .home-header,
43
- .profile-strip,
44
- .summary-strip,
45
- .content-grid {
51
+ .home-top {
46
52
  position: relative;
47
53
  z-index: 1;
54
+ height: 228px;
48
55
  }
49
56
 
50
- .home-header {
51
- position: relative;
52
- min-height: 112px;
53
- display: grid;
54
- place-items: center;
55
- overflow: hidden;
56
- background: linear-gradient(90deg, #ffc95f, #f5b64c);
57
+ .top-bg,
58
+ .title-fg {
59
+ position: absolute;
60
+ left: 0;
61
+ top: 0;
62
+ width: 1000px;
63
+ pointer-events: none;
57
64
  }
58
65
 
59
- .home-title {
60
- position: relative;
61
- z-index: 2;
62
- color: #10100e;
63
- font-size: 46px;
64
- line-height: 1;
65
- letter-spacing: 4px;
66
- text-shadow: 0 3px 0 rgba(255, 255, 255, 0.22);
66
+ .top-bg {
67
+ height: 250px;
68
+ object-fit: cover;
67
69
  }
68
70
 
69
- .home-title-ghost {
70
- position: absolute;
71
- inset: -18px 0 auto;
72
- z-index: 1;
73
- text-align: center;
74
- color: rgba(255, 228, 152, 0.24);
75
- font-size: 120px;
76
- line-height: 1.1;
77
- letter-spacing: 8px;
78
- white-space: nowrap;
71
+ .title-fg {
72
+ height: 210px;
73
+ object-fit: contain;
79
74
  }
80
75
 
81
- .update-badge {
76
+ .avatar-wrap {
82
77
  position: absolute;
83
- top: 18px;
84
- right: 28px;
85
- z-index: 3;
86
- padding: 8px 14px;
87
- border-radius: 999px;
88
- background: rgba(255, 255, 255, 0.52);
89
- color: #79521b;
90
- font-size: 15px;
91
- line-height: 1;
92
- box-shadow: inset 0 -2px 0 rgba(141, 94, 30, 0.08);
93
- }
94
-
95
- .profile-strip {
96
- display: flex;
97
- align-items: center;
98
- gap: 22px;
99
- margin: 28px 44px 0;
100
- padding: 24px 30px;
101
- border-radius: 24px;
102
- background: rgba(250, 247, 238, 0.78);
103
- border: 1px solid rgba(143, 113, 73, 0.16);
104
- box-shadow: 0 12px 26px rgba(88, 64, 38, 0.08);
105
- }
106
-
107
- .home-icon {
108
- flex: none;
109
- width: 86px;
110
- height: 86px;
111
- object-fit: contain;
112
- filter: drop-shadow(0 8px 10px rgba(88, 67, 38, 0.16));
78
+ left: 31px;
79
+ top: 14px;
80
+ width: 152px;
81
+ height: 152px;
82
+ overflow: hidden;
83
+ border-radius: 50%;
84
+ filter: drop-shadow(0 8px 10px rgba(0, 0, 0, 0.22));
113
85
  }
114
86
 
115
- .profile-main {
116
- min-width: 0;
87
+ .avatar-img {
88
+ width: 152px;
89
+ height: 152px;
90
+ object-fit: cover;
117
91
  }
118
92
 
119
- .home-name-row {
120
- display: flex;
121
- align-items: center;
122
- flex-wrap: wrap;
123
- gap: 14px;
93
+ .home-profile {
94
+ position: absolute;
95
+ left: 200px;
96
+ top: 70px;
97
+ right: 130px;
98
+ text-shadow: none;
124
99
  }
125
100
 
126
101
  .home-owner {
127
- max-width: 620px;
128
102
  overflow: hidden;
129
- color: #171411;
130
- font-size: 38px;
131
- line-height: 1.12;
103
+ color: #ffffff;
104
+ font-family: "rocom-skill", "rocom-home", "Microsoft YaHei", sans-serif;
105
+ font-size: 46px;
106
+ font-weight: 400;
107
+ line-height: 1;
132
108
  text-overflow: ellipsis;
133
109
  white-space: nowrap;
134
110
  }
135
111
 
136
- .uid-pill {
137
- padding: 8px 16px;
138
- border-radius: 999px;
139
- background: #ffc65f;
140
- color: #3c2a12;
141
- font-size: 20px;
112
+ .home-uid {
113
+ margin-top: 11px;
114
+ color: #ffffff;
115
+ font-family: "rocom-skill", "rocom-home", "Microsoft YaHei", sans-serif;
116
+ font-size: 38px;
117
+ font-weight: 400;
142
118
  line-height: 1;
143
- box-shadow: inset 0 -2px 0 rgba(141, 94, 30, 0.12);
144
119
  }
145
120
 
146
- .profile-subtitle {
147
- margin-top: 8px;
148
- color: #7f6e57;
149
- font-size: 20px;
121
+ .update-time {
122
+ position: absolute;
123
+ right: 28px;
124
+ top: 18px;
125
+ padding: 7px 14px;
126
+ border-radius: 999px;
127
+ background: rgba(255, 255, 255, 0.23);
128
+ color: #ffffff;
129
+ font-size: 15px;
130
+ text-shadow: 0 2px 4px rgba(0, 0, 0, 0.28);
150
131
  }
151
132
 
152
- .summary-strip {
153
- display: grid;
154
- grid-template-columns: repeat(4, minmax(0, 1fr));
155
- gap: 16px;
156
- margin: 20px 44px 0;
133
+ .home-banner {
134
+ position: relative;
135
+ z-index: 1;
136
+ height: 161px;
157
137
  }
158
138
 
159
- .summary-item,
160
- .panel {
161
- border: 1px solid rgba(143, 113, 73, 0.14);
162
- background: rgba(250, 247, 238, 0.82);
163
- box-shadow: 0 12px 26px rgba(88, 64, 38, 0.08);
139
+ .banner-bg {
140
+ position: absolute;
141
+ inset: 0;
142
+ width: 1000px;
143
+ height: 161px;
164
144
  }
165
145
 
166
- .summary-item {
167
- min-height: 84px;
168
- padding: 15px 18px;
169
- border-radius: 999px;
146
+ .banner-item {
147
+ position: absolute;
148
+ top: 38px;
149
+ width: 170px;
150
+ text-align: center;
170
151
  }
171
152
 
172
- .summary-label {
173
- color: #7e6a50;
174
- font-size: 17px;
153
+ .banner-item-0 {
154
+ left: 134px;
155
+ top: 38px;
175
156
  }
176
157
 
177
- .summary-value {
178
- margin-top: 6px;
179
- color: #33271a;
180
- font-size: 28px;
181
- line-height: 1.1;
182
- white-space: nowrap;
158
+ .banner-item-1 {
159
+ left: 322px;
160
+ top: 38px;
183
161
  }
184
162
 
185
- .content-grid {
186
- display: grid;
187
- grid-template-columns: minmax(0, 1.12fr) minmax(400px, 0.88fr);
188
- gap: 22px;
189
- align-items: start;
190
- margin: 22px 44px 0;
163
+ .banner-item-2 {
164
+ left: 511px;
165
+ top: 38px;
191
166
  }
192
167
 
193
- .left-column {
194
- display: grid;
195
- grid-template-columns: 1fr;
196
- gap: 14px;
197
- align-items: start;
168
+ .banner-item-3 {
169
+ left: 701px;
170
+ top: 38px;
198
171
  }
199
172
 
200
- .panel {
201
- border-radius: 24px;
202
- padding: 22px;
173
+ .banner-value {
174
+ overflow: hidden;
175
+ color: #000000;
176
+ font-family: "rocom-skill", "rocom-home", "Microsoft YaHei", sans-serif;
177
+ font-size: 42px;
178
+ line-height: 1;
179
+ text-overflow: ellipsis;
180
+ white-space: nowrap;
203
181
  }
204
182
 
205
- .panel-head {
206
- display: flex;
207
- align-items: flex-start;
208
- justify-content: space-between;
209
- gap: 14px;
210
- margin-bottom: 16px;
183
+ .home-content {
184
+ position: relative;
185
+ z-index: 1;
186
+ padding-top: 28px;
211
187
  }
212
188
 
213
- .panel-label {
214
- color: #907b5e;
215
- font-size: 14px;
189
+ .section-block {
190
+ margin-top: 22px;
216
191
  }
217
192
 
218
- h2 {
219
- margin: 3px 0 0;
220
- color: #171411;
221
- font-size: 30px;
222
- line-height: 1.1;
193
+ .section-title {
194
+ position: relative;
195
+ height: 60px;
196
+ margin-left: 48px;
223
197
  }
224
198
 
225
- .garden-title-row {
226
- display: flex;
227
- align-items: center;
228
- flex-wrap: wrap;
229
- gap: 14px;
230
- margin-top: 3px;
199
+ .section-title img {
200
+ position: absolute;
201
+ left: 0;
202
+ top: 0;
203
+ width: 312px;
204
+ height: 60px;
231
205
  }
232
206
 
233
- .garden-title-row h2 {
234
- margin: 0;
207
+ .section-title span {
208
+ position: absolute;
209
+ left: 66px;
210
+ top: 10px;
211
+ font-family: "rocom-skill", "rocom-home", "Microsoft YaHei", sans-serif;
212
+ font-size: 28px;
213
+ line-height: 1;
214
+ text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
235
215
  }
236
216
 
237
- .guard-inline {
238
- display: inline-flex;
217
+ .guard-row {
218
+ display: flex;
239
219
  align-items: center;
240
220
  flex-wrap: wrap;
241
- gap: 7px;
242
- min-height: 34px;
243
- padding: 5px 8px 5px 12px;
244
- border-radius: 999px;
245
- background: rgba(255, 255, 255, 0.62);
246
- border: 1px solid rgba(143, 113, 73, 0.12);
247
- }
248
-
249
- .guard-inline-label {
250
- color: #8c7354;
251
- font-size: 15px;
252
- }
253
-
254
- .guard-inline-name {
255
- max-width: 160px;
256
- overflow: hidden;
257
- color: #33271a;
258
- font-size: 18px;
259
- text-overflow: ellipsis;
260
- white-space: nowrap;
221
+ gap: 10px;
222
+ margin: 16px 46px 0;
223
+ padding: 12px 18px;
224
+ border-radius: 18px;
225
+ background: rgba(42, 93, 16, 0.62);
226
+ font-size: 22px;
261
227
  }
262
228
 
263
- .guard-inline-empty {
264
- color: #9a876d;
265
- font-size: 15px;
229
+ .guard-row strong {
230
+ color: #ffff00;
231
+ font-weight: 400;
266
232
  }
267
233
 
268
- .panel-count {
269
- min-width: 46px;
270
- padding: 6px 12px;
271
- border-radius: 999px;
272
- background: #ffc65f;
273
- color: #4a2d0b;
274
- text-align: center;
275
- font-size: 19px;
276
- box-shadow: inset 0 -2px 0 rgba(141, 94, 30, 0.14);
234
+ .guard-row em {
235
+ font-style: normal;
236
+ color: #ffffff;
277
237
  }
278
238
 
279
- .garden-grid {
239
+ .pet-grid {
280
240
  display: grid;
281
- grid-template-columns: repeat(2, minmax(0, 1fr));
282
- gap: 12px;
241
+ grid-template-columns: repeat(2, 486px);
242
+ justify-content: center;
243
+ gap: 0;
244
+ margin-top: 20px;
283
245
  }
284
246
 
285
- .plot-card,
286
247
  .pet-card {
287
- border-radius: 19px;
288
- border: 1px solid rgba(143, 113, 73, 0.12);
289
- background: rgba(255, 255, 255, 0.62);
248
+ position: relative;
249
+ width: 486px;
250
+ height: 192px;
290
251
  }
291
252
 
292
- .plot-card {
293
- min-height: 138px;
294
- padding: 13px 14px;
253
+ .card-bg {
254
+ position: absolute;
255
+ inset: 0;
256
+ width: 100%;
257
+ height: 100%;
295
258
  }
296
259
 
297
- .plot-index {
298
- display: inline-flex;
299
- padding: 4px 10px;
300
- border-radius: 999px;
301
- background: rgba(255, 198, 95, 0.28);
302
- color: #9a5f0f;
303
- font-size: 15px;
260
+
261
+
262
+ .pet-avatar-box {
263
+ position: absolute;
264
+ left: 24px;
265
+ top: 28px;
266
+ width: 150px;
267
+ height: 150px;
304
268
  }
305
269
 
306
- .plot-main {
307
- display: flex;
308
- align-items: center;
309
- gap: 12px;
310
- margin-top: 10px;
270
+ .pet-avatar {
271
+ width: 150px;
272
+ height: 150px;
273
+ object-fit: contain;
311
274
  }
312
275
 
313
- .plant-icon,
314
- .empty-icon {
315
- flex: none;
316
- width: 62px;
317
- height: 62px;
276
+ .pet-star {
277
+ position: absolute;
278
+ left: -3px;
279
+ top: -30px;
280
+ width: 70px;
281
+ height: 70px;
318
282
  object-fit: contain;
319
283
  }
320
284
 
321
- .empty-icon {
285
+ .pet-empty,
286
+ .plant-empty {
322
287
  display: grid;
323
288
  place-items: center;
324
289
  border-radius: 16px;
325
- background: rgba(143, 113, 73, 0.10);
326
- color: rgba(93, 75, 50, 0.52);
327
- font-size: 17px;
290
+ background: rgba(255, 255, 255, 0.18);
291
+ color: rgba(255, 255, 255, 0.72);
292
+ font-size: 22px;
328
293
  }
329
294
 
330
- .plot-info {
331
- min-width: 0;
295
+ .level-badge {
296
+ position: absolute;
297
+ left: 38px;
298
+ top: 97px;
299
+ width: 82px;
300
+ height: 48px;
301
+ transform: rotate(10deg);
332
302
  }
333
303
 
334
- .plant-name,
335
- .pet-name {
336
- overflow: hidden;
337
- color: #33271a;
338
- text-overflow: ellipsis;
339
- white-space: nowrap;
304
+ .level-badge img {
305
+ width: 74px;
306
+ height: 39px;
340
307
  }
341
308
 
342
- .plant-name {
343
- font-size: 21px;
309
+ .level-badge span {
310
+ position: absolute;
311
+ left: 0;
312
+ top: 9px;
313
+ width: 74px;
314
+ text-align: center;
315
+ color: #ffffff;
316
+ font-size: 22px;
317
+ line-height: 1;
344
318
  }
345
319
 
346
- .plant-state {
347
- margin-top: 3px;
348
- font-size: 16px;
349
- color: #639055;
320
+ .pet-info {
321
+ position: absolute;
322
+ left: 166px;
323
+ top: 36px;
324
+ width: 286px;
350
325
  }
351
326
 
352
- .state-warning {
353
- color: #c47a24;
327
+ .pet-name,
328
+ .plant-name {
329
+ overflow: hidden;
330
+ color: #ffff00;
331
+ text-overflow: ellipsis;
332
+ white-space: nowrap;
354
333
  }
355
334
 
356
- .state-ready {
357
- color: #3e9c60;
335
+ .pet-name {
336
+ font-family: "rocom-skill", "rocom-home", "Microsoft YaHei", sans-serif;
337
+ font-size: 28px;
338
+ line-height: 1.1;
358
339
  }
359
340
 
360
- .time-text {
361
- margin-top: 3px;
362
- color: #806f58;
363
- font-size: 15px;
341
+ .pet-status,
342
+ .pet-note {
343
+ overflow: hidden;
344
+ color: #ffffff;
345
+ text-overflow: ellipsis;
346
+ white-space: nowrap;
364
347
  }
365
348
 
366
- .plot-tags {
367
- display: flex;
368
- flex-wrap: wrap;
369
- gap: 5px;
370
- margin-top: 6px;
349
+ .pet-status {
350
+ margin-top: 12px;
351
+ font-family: "rocom-skill", "rocom-home", "Microsoft YaHei", sans-serif;
352
+ font-size: 28px;
353
+ line-height: 1;
371
354
  }
372
355
 
373
- .plot-tags span,
374
- .pet-meta span {
375
- padding: 3px 8px;
376
- border-radius: 999px;
377
- background: rgba(255, 198, 95, 0.22);
378
- color: #795f3f;
379
- font-size: 13px;
356
+ .pet-note {
357
+ margin-top: 8px;
358
+ font-family: "rocom-skill", "rocom-home", "Microsoft YaHei", sans-serif;
359
+ font-size: 22px;
380
360
  }
381
361
 
382
- .progress-track {
383
- height: 9px;
384
- margin-top: 10px;
362
+ .progress-line,
363
+ .plant-progress {
364
+ position: relative;
385
365
  overflow: hidden;
366
+ height: 13px;
367
+ margin-top: 10px;
386
368
  border-radius: 999px;
387
- background: rgba(143, 113, 73, 0.12);
388
369
  }
389
370
 
390
- .progress-fill {
391
- height: 100%;
392
- min-width: 4%;
393
- max-width: 100%;
394
- border-radius: inherit;
395
- background: linear-gradient(90deg, #83c665, #ffc65f);
396
- }
397
-
398
- .pet-grid {
399
- display: grid;
400
- gap: 12px;
371
+ .progress-line {
372
+ width: 270px;
401
373
  }
402
374
 
403
- .indoor-panel {
404
- min-height: 100%;
405
- }
406
-
407
- .pet-grid {
408
- grid-template-columns: 1fr;
409
- }
410
-
411
- .pet-card {
412
- display: flex;
413
- align-items: center;
414
- min-height: 122px;
415
- gap: 14px;
416
- padding: 13px 14px;
417
- }
418
-
419
- .pet-card.status-ready {
420
- border-color: rgba(65, 162, 83, 0.30);
421
- background:
422
- linear-gradient(90deg, rgba(101, 196, 101, 0.20), rgba(255, 255, 255, 0.70)),
423
- rgba(255, 255, 255, 0.62);
375
+ .progress-track,
376
+ .progress-bar {
377
+ position: absolute;
378
+ left: 0;
379
+ top: 0;
380
+ height: 13px;
424
381
  }
425
382
 
426
- .pet-card.status-idle {
427
- border-color: rgba(177, 112, 42, 0.24);
428
- background:
429
- linear-gradient(90deg, rgba(255, 180, 78, 0.20), rgba(255, 255, 255, 0.68)),
430
- rgba(255, 255, 255, 0.62);
383
+ .progress-track {
384
+ width: 100%;
431
385
  }
432
386
 
433
- .pet-card.status-progress {
434
- border-color: rgba(87, 157, 138, 0.24);
435
- background:
436
- linear-gradient(90deg, rgba(110, 191, 154, 0.18), rgba(255, 245, 221, 0.72)),
437
- rgba(255, 255, 255, 0.62);
387
+ .progress-bar {
388
+ max-width: 100%;
389
+ object-fit: cover;
390
+ object-position: left center;
438
391
  }
439
392
 
440
- .pet-card.status-guard {
441
- border-color: rgba(76, 136, 181, 0.26);
442
- background:
443
- linear-gradient(90deg, rgba(105, 174, 210, 0.18), rgba(255, 255, 255, 0.70)),
444
- rgba(255, 255, 255, 0.62);
393
+ .plant-grid {
394
+ display: grid;
395
+ grid-template-columns: repeat(3, 306px);
396
+ justify-content: center;
397
+ gap: 0;
398
+ margin-top: 20px;
445
399
  }
446
400
 
447
- .pet-avatar-wrap {
401
+ .plant-card {
448
402
  position: relative;
449
- flex: none;
450
- width: 82px;
451
- height: 82px;
403
+ width: 306px;
404
+ height: 148px;
452
405
  }
453
406
 
454
- .pet-avatar {
455
- width: 82px;
456
- height: 82px;
407
+ .plant-icon {
408
+ position: absolute;
409
+ left: 17px;
410
+ top: 19px;
411
+ width: 105px;
412
+ height: 105px;
457
413
  object-fit: contain;
458
- border-radius: 20px;
459
- background: #fff7e6;
460
- border: 2px solid rgba(255, 198, 95, 0.32);
461
414
  }
462
415
 
463
- .pet-badge {
416
+ .plant-info {
464
417
  position: absolute;
465
- left: -4px;
466
- top: -5px;
467
- min-width: 32px;
468
- padding: 3px 8px;
469
- border-radius: 999px;
470
- background: #f1b84d;
471
- color: #ffffff;
472
- font-size: 14px;
473
- text-align: center;
474
- box-shadow: 0 3px 8px rgba(124, 86, 27, 0.18);
475
- }
476
-
477
- .pet-info {
478
- min-width: 0;
479
- flex: 1;
480
- }
481
-
482
- .pet-name {
483
- font-size: 24px;
418
+ left: 131px;
419
+ top: 24px;
420
+ width: 150px;
484
421
  }
485
422
 
486
- .pet-meta {
487
- display: flex;
488
- flex-wrap: wrap;
489
- gap: 7px;
490
- margin-top: 8px;
423
+ .plant-name {
424
+ font-family: "rocom-skill", "rocom-home", "Microsoft YaHei", sans-serif;
425
+ font-size: 25px;
426
+ line-height: 1.1;
491
427
  }
492
428
 
493
- .status-pill {
494
- padding: 3px 8px;
495
- border-radius: 999px;
496
- background: rgba(255, 198, 95, 0.22);
497
- color: #fff;
498
- font-size: 15px;
499
- box-shadow: 0 3px 8px rgba(111, 80, 42, 0.14);
429
+ .plant-state,
430
+ .plant-time {
431
+ color: #ffffff;
432
+ font-family: "rocom-skill", "rocom-home", "Microsoft YaHei", sans-serif;
433
+ font-size: 22px;
434
+ line-height: 1;
500
435
  }
501
436
 
502
- .status-ready {
503
- background: linear-gradient(135deg, #39a75b, #82cf55);
437
+ .plant-state {
438
+ margin-top: 16px;
504
439
  }
505
440
 
506
- .status-progress {
507
- background: linear-gradient(135deg, #55a876, #e0b857);
441
+ .plant-time {
442
+ font-size: 18px;
443
+ margin-top: 8px;
508
444
  }
509
445
 
510
- .status-idle {
511
- background: linear-gradient(135deg, #d7772d, #f4b24e);
446
+ .state-ready {
447
+ color: #67d737;
448
+ font-size: 35px;
512
449
  }
513
450
 
514
- .status-guard {
515
- background: linear-gradient(135deg, #387fae, #72b5d5);
516
- }
517
451
 
518
- .pet-note {
452
+ .plant-progress {
453
+ width: 147px;
519
454
  margin-top: 8px;
520
- color: #806f58;
521
- font-size: 16px;
522
- line-height: 1.32;
523
455
  }
524
456
 
525
457
  .empty-state {
526
- min-height: 108px;
527
- display: grid;
528
- place-items: center;
529
- padding: 16px;
458
+ margin: 20px 46px 0;
459
+ padding: 32px;
530
460
  border-radius: 18px;
531
- border: 1px dashed rgba(143, 113, 73, 0.28);
532
- background: rgba(255, 255, 255, 0.44);
533
- color: #8b7a62;
461
+ background: rgba(42, 93, 16, 0.58);
462
+ color: #ffffff;
534
463
  text-align: center;
535
- font-size: 19px;
536
- line-height: 1.35;
464
+ font-size: 28px;
465
+ }
466
+
467
+ .home-footer {
468
+ position: absolute;
469
+ z-index: 1;
470
+ left: 0;
471
+ bottom: 15px;
472
+ width: 1000px;
473
+ color: rgba(255, 255, 255, 0.82);
474
+ text-align: center;
475
+ font-size: 18px;
476
+ letter-spacing: 1px;
477
+ text-shadow: 0 2px 5px rgba(0, 0, 0, 0.32);
537
478
  }