clauddy 1.29.0 → 2.0.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/renderer/pets.css DELETED
@@ -1,916 +0,0 @@
1
- /* Selectable pets (pets.js). Everything is scoped to #skin, the pet drawn
2
- inside #claude, so the Settings thumbnails stay still and nothing leaks into
3
- the rest of the widget. Keyframes carry a pk- prefix for the same reason. */
4
-
5
- #claude.skinned > #body,
6
- #claude.skinned > #eyes,
7
- #claude.skinned > #mouth {
8
- display: none;
9
- }
10
- #skin {
11
- overflow: visible;
12
- }
13
- #skin * {
14
- transform-box: view-box;
15
- }
16
- /* Pets stand taller than the sprite, so their box reaches above it. Next to
17
- two or more provider rows there's no room up there: fit the pet inside the
18
- sprite's own box instead, level with the first row. */
19
- body.collapsed.dual #skin {
20
- x: -6px;
21
- y: -14px;
22
- width: 112px;
23
- height: 106px;
24
- }
25
- #skin .blink {
26
- animation: pk-blink 5.5s infinite;
27
- }
28
- #skin .only-work {
29
- display: none;
30
- }
31
- body.state-working #skin .only-work {
32
- display: inline;
33
- }
34
- body.state-working #skin .only-idle {
35
- display: none;
36
- }
37
- /* The classic sprite recolours its pixels for these moods; a pet has many
38
- colours, so it gets a filter instead: heated red on fire, drained when
39
- maxed out, dimmed asleep. */
40
- #skin {
41
- transition: filter 0.4s ease;
42
- }
43
- body.state-stressed #skin {
44
- filter: sepia(0.85) saturate(3.4) hue-rotate(-32deg) brightness(0.92)
45
- drop-shadow(0 0 6px rgba(255, 86, 48, 0.7));
46
- }
47
- body.state-tired #skin {
48
- filter: grayscale(0.7) brightness(0.8);
49
- }
50
- body.state-sleeping #skin {
51
- filter: saturate(0.7) brightness(0.82);
52
- }
53
- /* A pet's fire rises behind it, as it does next to two providers. The classic
54
- sprite's single-provider crown over the head reads as a hat on a taller
55
- pet, so a pet never gets it. */
56
- body.collapsed.state-stressed #claude.skinned ~ #compact-flames {
57
- z-index: 1;
58
- }
59
- /* asleep or maxed out, the eyes close like the classic sprite's do */
60
- body.state-sleeping #skin .blink {
61
- animation: none;
62
- transform: scaleY(0.12);
63
- }
64
- body.state-tired #skin .blink {
65
- animation: none;
66
- transform: scaleY(0.4);
67
- }
68
-
69
- /* while working, each pet moves its own way instead of the shared hop */
70
- body.state-working[class*="pet-move-"] #claude {
71
- transform-origin: 50% 100%;
72
- }
73
- body.state-working.pet-move-rock #claude {
74
- animation: pk-rock 1s ease-in-out infinite;
75
- }
76
- body.state-working.pet-move-sway #claude {
77
- animation: pk-rock 1.6s ease-in-out infinite;
78
- }
79
- body.state-working.pet-move-dance #claude {
80
- animation: pk-dance 0.8s ease-in-out infinite;
81
- }
82
- body.state-working.pet-move-drift #claude {
83
- animation: pk-drift 1.8s ease-in-out infinite alternate;
84
- }
85
- body.state-working.pet-move-wiggle #claude {
86
- animation: pk-wiggle 1.8s ease-in-out infinite;
87
- }
88
- body.state-working.pet-move-levitate #claude {
89
- animation: pk-levitate 1.4s ease-in-out infinite alternate;
90
- }
91
- body.state-working.pet-move-jolly #claude {
92
- animation: pk-jolly 0.7s ease-in-out infinite;
93
- }
94
- body.state-working.pet-move-prance #claude {
95
- animation: pk-prance 0.8s ease-in-out infinite;
96
- }
97
- body.state-working.pet-move-jump #claude {
98
- animation: pk-jump 0.7s ease-in-out infinite;
99
- }
100
-
101
- /* pumpkin */
102
- #skin .p-halo {
103
- opacity: 0.55;
104
- }
105
- body.state-working #skin .p-flame {
106
- animation: pk-flicker 0.9s steps(1) infinite;
107
- }
108
- body.state-working #skin .p-halo {
109
- animation: pk-halo 0.9s ease-in-out infinite;
110
- }
111
- body.state-working #skin .p-leaf {
112
- animation: pk-leaf 0.6s ease-in-out infinite alternate;
113
- }
114
- body.state-working #skin .p-body {
115
- animation: pk-wobble 1.2s ease-in-out infinite;
116
- }
117
-
118
- /* skull */
119
- #skin .k-glow {
120
- opacity: 0.55;
121
- }
122
- body.state-working #skin .k-jaw {
123
- animation: pk-chatter 0.18s ease-in-out infinite alternate;
124
- }
125
- body.state-working #skin .k-glow {
126
- animation: pk-halo 0.5s ease-in-out infinite;
127
- }
128
- body.state-working #skin .k-head {
129
- transform-origin: 100px 118px;
130
- animation: pk-wobble 0.6s ease-in-out infinite;
131
- }
132
- body.state-working #skin .k-arm-l {
133
- animation: pk-arm-l 0.6s ease-in-out infinite;
134
- }
135
- body.state-working #skin .k-arm-r {
136
- animation: pk-arm-r 0.6s ease-in-out infinite 0.3s;
137
- }
138
- body.state-working #skin .k-leg-a {
139
- animation: pk-step 0.6s ease-in-out infinite;
140
- }
141
- body.state-working #skin .k-leg-b {
142
- animation: pk-step 0.6s ease-in-out infinite 0.3s;
143
- }
144
-
145
- /* ghost */
146
- #skin .g-mouth {
147
- transform-box: fill-box;
148
- transform-origin: center;
149
- }
150
- body.state-working #skin .g-float {
151
- animation: pk-float 1.2s ease-in-out infinite;
152
- }
153
- body.state-working #skin .g-sheet {
154
- animation: pk-hem 0.45s ease-in-out infinite alternate;
155
- }
156
- body.state-working #skin .g-arm-l {
157
- animation: pk-boo-l 1.2s ease-in-out infinite;
158
- }
159
- body.state-working #skin .g-arm-r {
160
- animation: pk-boo-r 1.2s ease-in-out infinite;
161
- }
162
- body.state-working #skin .g-mouth {
163
- animation: pk-boo 1.2s ease-in-out infinite;
164
- }
165
-
166
- /* bat: wings folded at rest, flapping at work */
167
- #skin .b-wing-l {
168
- transform: rotate(18deg);
169
- }
170
- #skin .b-wing-r {
171
- transform: rotate(-18deg);
172
- }
173
- body.state-working #skin .b-wing-l {
174
- animation: pk-bat-l 0.22s ease-in-out infinite alternate;
175
- }
176
- body.state-working #skin .b-wing-r {
177
- animation: pk-bat-r 0.22s ease-in-out infinite alternate;
178
- }
179
- body.state-working #skin .b-fly {
180
- animation: pk-float 0.44s ease-in-out infinite;
181
- }
182
-
183
- /* black cat */
184
- #skin .c-pupil {
185
- transform-box: fill-box;
186
- transform-origin: center;
187
- transition: transform 0.3s;
188
- }
189
- body.state-working #skin .c-pupil {
190
- transform: scale(2.6, 1);
191
- }
192
- body.state-working #skin .c-tail {
193
- animation: pk-whip 0.5s ease-in-out infinite alternate;
194
- }
195
- body.state-working #skin .c-ear-l {
196
- animation: pk-twitch 0.9s ease-in-out infinite;
197
- }
198
- body.state-working #skin .c-ear-r {
199
- animation: pk-twitch 0.9s ease-in-out infinite 0.45s;
200
- }
201
- body.state-working #skin .c-hat {
202
- animation: pk-sway 0.3s ease-in-out infinite alternate;
203
- }
204
-
205
- /* snowman, and the Santa hat it shares with Santa */
206
- #skin .flake {
207
- animation: pk-fall 2.2s linear infinite;
208
- }
209
- body.state-working #skin .s-hat {
210
- animation: pk-hat 0.6s ease-in-out infinite alternate;
211
- }
212
- body.state-working #skin .s-pom {
213
- animation: pk-pom 0.6s ease-in-out infinite alternate;
214
- }
215
- body.state-working #skin .s-arm-l {
216
- animation: pk-arm-l 0.6s ease-in-out infinite;
217
- }
218
- body.state-working #skin .s-arm-r {
219
- animation: pk-arm-r 0.6s ease-in-out infinite 0.3s;
220
- }
221
- body.state-working #skin .s-scarf {
222
- animation: pk-sway 0.5s ease-in-out infinite alternate;
223
- }
224
-
225
- /* santa */
226
- body.state-working #skin .n-arm-l {
227
- animation: pk-wave-hi 0.7s ease-in-out infinite;
228
- }
229
- body.state-working #skin .n-sack {
230
- animation: pk-sack 0.7s ease-in-out infinite;
231
- }
232
-
233
- /* reindeer */
234
- body.state-working #skin .r-bell {
235
- animation: pk-sway 0.4s ease-in-out infinite alternate;
236
- }
237
- body.state-working #skin .r-ear-l {
238
- animation: pk-twitch 0.8s ease-in-out infinite;
239
- }
240
- body.state-working #skin .r-ear-r {
241
- animation: pk-twitch 0.8s ease-in-out infinite 0.4s;
242
- }
243
- body.state-working #skin .r-leg-a {
244
- animation: pk-step 0.4s ease-in-out infinite;
245
- }
246
- body.state-working #skin .r-leg-b {
247
- animation: pk-step 0.4s ease-in-out infinite 0.2s;
248
- }
249
-
250
- /* gingerbread: jumping jacks */
251
- body.state-working #skin .gb-arm-l {
252
- animation: pk-jack-l 0.7s ease-in-out infinite;
253
- }
254
- body.state-working #skin .gb-arm-r {
255
- animation: pk-jack-r 0.7s ease-in-out infinite;
256
- }
257
- body.state-working #skin .gb-leg-l {
258
- animation: pk-legs-l 0.7s ease-in-out infinite;
259
- }
260
- body.state-working #skin .gb-leg-r {
261
- animation: pk-legs-r 0.7s ease-in-out infinite;
262
- }
263
-
264
- /* wizard: the owl only flies while the spell is on */
265
- #skin .m-lumos {
266
- opacity: 0.25;
267
- transform-box: fill-box;
268
- transform-origin: center;
269
- }
270
- #skin .spark {
271
- transform-box: fill-box;
272
- transform-origin: center;
273
- animation: pk-pop 0.9s ease-out infinite;
274
- }
275
- #skin .s2 {
276
- animation-delay: 0.22s;
277
- }
278
- #skin .s3 {
279
- animation-delay: 0.45s;
280
- }
281
- #skin .s4 {
282
- animation-delay: 0.68s;
283
- }
284
- #skin .m-owl {
285
- animation: pk-fly 3.2s linear infinite;
286
- }
287
- #skin .m-owl-bob {
288
- animation: pk-owlbob 0.5s ease-in-out infinite alternate;
289
- }
290
- #skin .m-wing-l {
291
- animation: pk-wing-l 0.25s ease-in-out infinite alternate;
292
- }
293
- #skin .m-wing-r {
294
- animation: pk-wing-r 0.25s ease-in-out infinite alternate;
295
- }
296
- body.state-working #skin .m-arm {
297
- animation: pk-spell 1.2s ease-in-out infinite;
298
- }
299
- body.state-working #skin .m-lumos {
300
- animation: pk-lumos 1.2s ease-in-out infinite;
301
- }
302
- body.state-working #skin .m-scarf {
303
- animation: pk-sway 0.6s ease-in-out infinite alternate;
304
- }
305
- body.state-working #skin .twinkle {
306
- transform-box: fill-box;
307
- transform-origin: center;
308
- animation: pk-twinkle 1.1s ease-in-out infinite;
309
- }
310
- body.state-working #skin .t2 {
311
- animation-delay: 0.3s;
312
- }
313
- body.state-working #skin .t3 {
314
- animation-delay: 0.6s;
315
- }
316
- body.state-working #skin .t4 {
317
- animation-delay: 0.85s;
318
- }
319
-
320
- /* body moves (on #claude, in screen px) */
321
- @keyframes pk-rock {
322
- 0%,
323
- 100% {
324
- transform: rotate(-6deg);
325
- }
326
- 50% {
327
- transform: rotate(6deg);
328
- }
329
- }
330
- @keyframes pk-dance {
331
- 0%,
332
- 100% {
333
- transform: translateX(-5px) rotate(-5deg);
334
- }
335
- 25%,
336
- 75% {
337
- transform: translateY(-4px);
338
- }
339
- 50% {
340
- transform: translateX(5px) rotate(5deg);
341
- }
342
- }
343
- @keyframes pk-drift {
344
- from {
345
- transform: translateX(-8px) rotate(-3deg);
346
- }
347
- to {
348
- transform: translateX(8px) rotate(3deg);
349
- }
350
- }
351
- @keyframes pk-wiggle {
352
- 0%,
353
- 40%,
354
- 80%,
355
- 100% {
356
- transform: none;
357
- }
358
- 5%,
359
- 15%,
360
- 25%,
361
- 35% {
362
- transform: rotate(-2.5deg);
363
- }
364
- 10%,
365
- 20%,
366
- 30% {
367
- transform: rotate(2.5deg);
368
- }
369
- 55% {
370
- transform: translateY(-10px) scale(1.04, 0.97);
371
- }
372
- 70% {
373
- transform: translateY(0) scale(1.05, 0.94);
374
- }
375
- }
376
- @keyframes pk-levitate {
377
- from {
378
- transform: translateY(0);
379
- }
380
- to {
381
- transform: translateY(-8px);
382
- }
383
- }
384
- @keyframes pk-jolly {
385
- 0%,
386
- 100% {
387
- transform: scale(1, 1);
388
- }
389
- 25%,
390
- 75% {
391
- transform: scale(1.05, 0.95);
392
- }
393
- 50% {
394
- transform: translateY(-4px) scale(0.97, 1.03);
395
- }
396
- }
397
- @keyframes pk-prance {
398
- 0%,
399
- 100% {
400
- transform: rotate(-3deg);
401
- }
402
- 25%,
403
- 75% {
404
- transform: translateY(-6px);
405
- }
406
- 50% {
407
- transform: rotate(3deg);
408
- }
409
- }
410
- @keyframes pk-jump {
411
- 0%,
412
- 85%,
413
- 100% {
414
- transform: scale(1.06, 0.93);
415
- }
416
- 40%,
417
- 60% {
418
- transform: translateY(-13px) scale(0.97, 1.04);
419
- }
420
- }
421
-
422
- /* parts (inside #skin, in the pet's own viewBox units) */
423
- @keyframes pk-blink {
424
- 0%,
425
- 93%,
426
- 100% {
427
- transform: scaleY(1);
428
- }
429
- 96% {
430
- transform: scaleY(0.08);
431
- }
432
- }
433
- @keyframes pk-arm-l {
434
- 0%,
435
- 100% {
436
- transform: rotate(0);
437
- }
438
- 50% {
439
- transform: rotate(62deg);
440
- }
441
- }
442
- @keyframes pk-arm-r {
443
- 0%,
444
- 100% {
445
- transform: rotate(0);
446
- }
447
- 50% {
448
- transform: rotate(-62deg);
449
- }
450
- }
451
- @keyframes pk-step {
452
- 0%,
453
- 100% {
454
- transform: translateY(0);
455
- }
456
- 50% {
457
- transform: translateY(-7px);
458
- }
459
- }
460
- @keyframes pk-flicker {
461
- 0% {
462
- opacity: 1;
463
- }
464
- 18% {
465
- opacity: 0.55;
466
- }
467
- 30% {
468
- opacity: 0.95;
469
- }
470
- 52% {
471
- opacity: 0.7;
472
- }
473
- 66% {
474
- opacity: 1;
475
- }
476
- 84% {
477
- opacity: 0.6;
478
- }
479
- }
480
- @keyframes pk-halo {
481
- 0%,
482
- 100% {
483
- opacity: 0.7;
484
- }
485
- 40% {
486
- opacity: 1;
487
- }
488
- 70% {
489
- opacity: 0.6;
490
- }
491
- }
492
- @keyframes pk-leaf {
493
- from {
494
- transform: rotate(-9deg);
495
- }
496
- to {
497
- transform: rotate(10deg);
498
- }
499
- }
500
- @keyframes pk-wobble {
501
- 0%,
502
- 100% {
503
- transform: rotate(-2.5deg);
504
- }
505
- 50% {
506
- transform: rotate(2.5deg);
507
- }
508
- }
509
- @keyframes pk-sway {
510
- from {
511
- transform: rotate(-8deg);
512
- }
513
- to {
514
- transform: rotate(10deg);
515
- }
516
- }
517
- @keyframes pk-twitch {
518
- 0%,
519
- 70%,
520
- 100% {
521
- transform: rotate(0);
522
- }
523
- 80% {
524
- transform: rotate(-9deg);
525
- }
526
- 90% {
527
- transform: rotate(5deg);
528
- }
529
- }
530
- @keyframes pk-chatter {
531
- from {
532
- transform: translateY(0);
533
- }
534
- to {
535
- transform: translateY(6px);
536
- }
537
- }
538
- @keyframes pk-float {
539
- 0%,
540
- 100% {
541
- transform: translateY(0);
542
- }
543
- 50% {
544
- transform: translateY(-10px);
545
- }
546
- }
547
- @keyframes pk-hem {
548
- from {
549
- d: path(
550
- "M100 30 C 140 30, 156 64, 156 104 L 156 166 Q 147 180 138 166 Q 129 152 119 166 Q 110 180 100 166 Q 90 152 81 166 Q 72 180 62 166 Q 53 152 44 166 L 44 104 C 44 64, 60 30, 100 30 Z"
551
- );
552
- }
553
- to {
554
- d: path(
555
- "M100 30 C 140 30, 156 64, 156 104 L 156 166 Q 147 152 138 166 Q 129 180 119 166 Q 110 152 100 166 Q 90 180 81 166 Q 72 152 62 166 Q 53 180 44 166 L 44 104 C 44 64, 60 30, 100 30 Z"
556
- );
557
- }
558
- }
559
- @keyframes pk-boo-l {
560
- 0%,
561
- 100% {
562
- transform: rotate(0);
563
- }
564
- 50% {
565
- transform: rotate(70deg);
566
- }
567
- }
568
- @keyframes pk-boo-r {
569
- 0%,
570
- 100% {
571
- transform: rotate(0);
572
- }
573
- 50% {
574
- transform: rotate(-70deg);
575
- }
576
- }
577
- @keyframes pk-boo {
578
- 0%,
579
- 100% {
580
- transform: scale(1);
581
- }
582
- 50% {
583
- transform: scale(1.6, 1.8);
584
- }
585
- }
586
- @keyframes pk-bat-l {
587
- from {
588
- transform: rotate(-22deg);
589
- }
590
- to {
591
- transform: rotate(24deg);
592
- }
593
- }
594
- @keyframes pk-bat-r {
595
- from {
596
- transform: rotate(22deg);
597
- }
598
- to {
599
- transform: rotate(-24deg);
600
- }
601
- }
602
- @keyframes pk-whip {
603
- from {
604
- transform: rotate(-12deg);
605
- }
606
- to {
607
- transform: rotate(14deg);
608
- }
609
- }
610
- @keyframes pk-fall {
611
- 0% {
612
- transform: translateY(-10px);
613
- opacity: 0;
614
- }
615
- 20% {
616
- opacity: 1;
617
- }
618
- 100% {
619
- transform: translateY(70px);
620
- opacity: 0;
621
- }
622
- }
623
- @keyframes pk-hat {
624
- from {
625
- d: path(
626
- "M42 84 C 42 48, 72 24, 108 24 C 142 22, 168 30, 178 50 L 168 58 C 160 48, 148 46, 134 50 C 146 58, 154 70, 158 84 Z"
627
- );
628
- }
629
- to {
630
- d: path(
631
- "M42 84 C 42 48, 72 24, 108 24 C 140 26, 164 48, 166 86 L 154 86 C 152 68, 146 56, 134 50 C 146 58, 154 70, 158 84 Z"
632
- );
633
- }
634
- }
635
- @keyframes pk-pom {
636
- from {
637
- transform: translate(6px, -21px);
638
- }
639
- to {
640
- transform: translate(-7px, 11px);
641
- }
642
- }
643
- @keyframes pk-wave-hi {
644
- 0%,
645
- 100% {
646
- transform: rotate(110deg);
647
- }
648
- 50% {
649
- transform: rotate(140deg);
650
- }
651
- }
652
- @keyframes pk-sack {
653
- 0%,
654
- 100% {
655
- transform: translateY(0) rotate(0);
656
- }
657
- 50% {
658
- transform: translateY(-8px) rotate(6deg);
659
- }
660
- }
661
- @keyframes pk-jack-l {
662
- 0%,
663
- 100% {
664
- transform: rotate(0);
665
- }
666
- 40%,
667
- 60% {
668
- transform: rotate(48deg);
669
- }
670
- }
671
- @keyframes pk-jack-r {
672
- 0%,
673
- 100% {
674
- transform: rotate(0);
675
- }
676
- 40%,
677
- 60% {
678
- transform: rotate(-48deg);
679
- }
680
- }
681
- @keyframes pk-legs-l {
682
- 0%,
683
- 100% {
684
- transform: rotate(0);
685
- }
686
- 40%,
687
- 60% {
688
- transform: rotate(14deg);
689
- }
690
- }
691
- @keyframes pk-legs-r {
692
- 0%,
693
- 100% {
694
- transform: rotate(0);
695
- }
696
- 40%,
697
- 60% {
698
- transform: rotate(-14deg);
699
- }
700
- }
701
- @keyframes pk-spell {
702
- 0%,
703
- 100% {
704
- transform: rotate(0);
705
- }
706
- 30% {
707
- transform: rotate(-38deg);
708
- }
709
- 60% {
710
- transform: rotate(12deg);
711
- }
712
- }
713
- @keyframes pk-pop {
714
- 0% {
715
- transform: scale(0);
716
- opacity: 0;
717
- }
718
- 30% {
719
- transform: scale(1.3);
720
- opacity: 1;
721
- }
722
- 100% {
723
- transform: scale(0.2) rotate(90deg);
724
- opacity: 0;
725
- }
726
- }
727
- @keyframes pk-lumos {
728
- 0%,
729
- 100% {
730
- opacity: 0.4;
731
- transform: scale(0.8);
732
- }
733
- 30% {
734
- opacity: 1;
735
- transform: scale(1.25);
736
- }
737
- }
738
- @keyframes pk-fly {
739
- 0% {
740
- transform: translate(14px, 40px) scale(1.3);
741
- opacity: 0;
742
- }
743
- 10%,
744
- 90% {
745
- opacity: 1;
746
- }
747
- 50% {
748
- transform: translate(100px, 22px) scale(1.3);
749
- }
750
- 100% {
751
- transform: translate(186px, 40px) scale(1.3);
752
- opacity: 0;
753
- }
754
- }
755
- @keyframes pk-owlbob {
756
- from {
757
- transform: translateY(-3px);
758
- }
759
- to {
760
- transform: translateY(3px);
761
- }
762
- }
763
- @keyframes pk-wing-l {
764
- from {
765
- transform: rotate(-35deg);
766
- }
767
- to {
768
- transform: rotate(25deg);
769
- }
770
- }
771
- @keyframes pk-wing-r {
772
- from {
773
- transform: rotate(35deg);
774
- }
775
- to {
776
- transform: rotate(-25deg);
777
- }
778
- }
779
- @keyframes pk-twinkle {
780
- 0%,
781
- 100% {
782
- opacity: 1;
783
- transform: scale(1);
784
- }
785
- 50% {
786
- opacity: 0.35;
787
- transform: scale(0.7);
788
- }
789
- }
790
-
791
- /* Settings: the current pet and a pencil; the catalog opens in a modal */
792
- .pet-current {
793
- display: flex;
794
- align-items: center;
795
- gap: 8px;
796
- }
797
- .pet-thumb {
798
- width: 26px;
799
- height: 26px;
800
- display: grid;
801
- place-items: center;
802
- }
803
- .pet-thumb svg {
804
- width: 100%;
805
- height: 100%;
806
- }
807
- .pet-thumb .only-work {
808
- display: none;
809
- }
810
- .pet-edit {
811
- width: 24px;
812
- height: 24px;
813
- display: grid;
814
- place-items: center;
815
- padding: 0;
816
- border-radius: 6px;
817
- border: 1px solid var(--hair);
818
- background: rgba(255, 255, 255, 0.03);
819
- color: var(--muted);
820
- cursor: pointer;
821
- }
822
- .pet-edit:hover {
823
- background: rgba(255, 255, 255, 0.1);
824
- color: var(--text);
825
- }
826
- .pet-edit .ic {
827
- width: 12px;
828
- height: 12px;
829
- stroke-width: 2;
830
- }
831
- /* inside #card, over the card alone: the window's clear margin around it
832
- stays clear */
833
- #pet-modal {
834
- position: absolute;
835
- inset: 0;
836
- border-radius: inherit;
837
- z-index: 60;
838
- display: flex;
839
- align-items: center;
840
- justify-content: center;
841
- padding: 14px;
842
- background: rgba(12, 9, 7, 0.62);
843
- -webkit-app-region: no-drag;
844
- }
845
- #pet-modal[hidden] {
846
- display: none;
847
- }
848
- .pet-modal-card {
849
- width: 100%;
850
- min-width: 0;
851
- max-height: 100%;
852
- overflow-y: auto;
853
- padding: 12px;
854
- border-radius: 8px;
855
- border: 1px solid var(--panel-border);
856
- background: var(--settings-bg);
857
- box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
858
- }
859
- .pet-modal-head {
860
- display: flex;
861
- justify-content: space-between;
862
- align-items: center;
863
- margin-bottom: 10px;
864
- font-size: 13px;
865
- color: var(--text);
866
- }
867
-
868
- /* the pet picker in Settings */
869
- #set-pet {
870
- display: flex;
871
- flex-direction: column;
872
- gap: 8px;
873
- }
874
- .pet-pack-name {
875
- font-size: 11px;
876
- color: var(--muted);
877
- }
878
- .pet-grid {
879
- display: grid;
880
- grid-template-columns: repeat(5, minmax(0, 1fr));
881
- gap: 6px;
882
- margin-top: 4px;
883
- }
884
- .pet-opt {
885
- aspect-ratio: 1;
886
- padding: 3px;
887
- border-radius: 10px;
888
- border: 1px solid var(--hair);
889
- background: rgba(255, 255, 255, 0.03);
890
- cursor: pointer;
891
- display: grid;
892
- place-items: center;
893
- }
894
- .pet-opt:hover {
895
- background: rgba(255, 255, 255, 0.07);
896
- }
897
- .pet-opt.on {
898
- border-color: var(--coral);
899
- background: rgba(217, 119, 87, 0.14);
900
- }
901
- .pet-opt:focus-visible {
902
- outline: 2px solid var(--coral-soft);
903
- outline-offset: 1px;
904
- }
905
- .pet-opt svg {
906
- width: 100%;
907
- height: 100%;
908
- }
909
- #pet-season {
910
- font-size: 11px;
911
- color: var(--muted);
912
- }
913
- /* thumbnails show the pet at rest */
914
- .pet-opt .only-work {
915
- display: none;
916
- }