@shumin13/claude-pet 0.1.2

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.

Potentially problematic release.


This version of @shumin13/claude-pet might be problematic. Click here for more details.

@@ -0,0 +1,719 @@
1
+ :root {
2
+ color-scheme: dark;
3
+ --ink: #f4f4ec;
4
+ --muted: #b6baae;
5
+ --bubble: rgba(18, 20, 18, 0.9);
6
+ --bubble-border: rgba(255, 255, 255, 0.14);
7
+ --aqua: #7ee3ff;
8
+ --mint: #9df7bf;
9
+ --pet-scale: 1;
10
+ }
11
+
12
+ * {
13
+ box-sizing: border-box;
14
+ }
15
+
16
+ html,
17
+ body {
18
+ margin: 0;
19
+ width: 100%;
20
+ height: 100%;
21
+ overflow: hidden;
22
+ background: transparent;
23
+ color: var(--ink);
24
+ font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
25
+ }
26
+
27
+ .stage {
28
+ width: 100%;
29
+ height: 100%;
30
+ display: grid;
31
+ place-items: end center;
32
+ padding: calc(8px * var(--pet-scale));
33
+ }
34
+
35
+ .pet-shell {
36
+ position: relative;
37
+ width: calc(214px * var(--pet-scale));
38
+ height: calc(250px * var(--pet-scale));
39
+ display: grid;
40
+ grid-template-rows: auto calc(126px * var(--pet-scale));
41
+ justify-items: center;
42
+ align-items: end;
43
+ }
44
+
45
+ .utility-controls {
46
+ position: absolute;
47
+ right: calc(8px * var(--pet-scale));
48
+ bottom: calc(100px * var(--pet-scale));
49
+ z-index: 12;
50
+ display: flex;
51
+ gap: calc(4px * var(--pet-scale));
52
+ opacity: 0;
53
+ transition: opacity 120ms ease;
54
+ }
55
+
56
+ .pet-shell:hover .utility-controls,
57
+ .utility-controls:focus-within {
58
+ opacity: 1;
59
+ }
60
+
61
+ .close-button,
62
+ .collapse-button {
63
+ position: relative;
64
+ width: calc(22px * var(--pet-scale));
65
+ height: calc(22px * var(--pet-scale));
66
+ display: block;
67
+ padding: 0;
68
+ border: 1px solid rgba(255, 255, 255, 0.16);
69
+ border-radius: 999px;
70
+ color: rgba(244, 244, 236, 0.84);
71
+ font-size: 0;
72
+ line-height: 0;
73
+ background: rgba(18, 20, 18, 0.72);
74
+ cursor: pointer;
75
+ transition: opacity 120ms ease, background 120ms ease;
76
+ }
77
+
78
+ .collapse-button::before,
79
+ .close-button::before {
80
+ position: absolute;
81
+ left: 50%;
82
+ top: 50%;
83
+ display: block;
84
+ transform: translate(-50%, -50%);
85
+ pointer-events: none;
86
+ }
87
+
88
+ .collapse-button::before {
89
+ content: "";
90
+ width: calc(9px * var(--pet-scale));
91
+ height: max(1px, calc(1.5px * var(--pet-scale)));
92
+ border-radius: 999px;
93
+ background: currentColor;
94
+ }
95
+
96
+ .close-button::before {
97
+ content: "×";
98
+ font-family: Arial, Helvetica, sans-serif;
99
+ font-size: max(13px, calc(16px * var(--pet-scale)));
100
+ font-weight: 500;
101
+ line-height: 1;
102
+ transform: translate(-50%, -54%);
103
+ }
104
+
105
+ .close-button:hover,
106
+ .collapse-button:hover {
107
+ background: rgba(80, 34, 39, 0.86);
108
+ }
109
+
110
+ .collapsed-badge {
111
+ position: absolute;
112
+ top: calc(62px * var(--pet-scale));
113
+ left: 50%;
114
+ z-index: 6;
115
+ min-width: calc(34px * var(--pet-scale));
116
+ height: calc(28px * var(--pet-scale));
117
+ padding: 0 calc(10px * var(--pet-scale));
118
+ transform: translateX(-50%);
119
+ border: 1px solid rgba(255, 255, 255, 0.28);
120
+ border-radius: 999px;
121
+ background: rgba(23, 27, 27, 0.92);
122
+ color: var(--ink);
123
+ font: inherit;
124
+ font-size: max(11px, calc(12px * var(--pet-scale)));
125
+ font-weight: 800;
126
+ box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
127
+ cursor: pointer;
128
+ display: none;
129
+ }
130
+
131
+ .collapsed-badge::before {
132
+ content: none;
133
+ }
134
+
135
+ .pet-shell[data-collapsed="true"] .collapsed-badge {
136
+ display: block;
137
+ }
138
+
139
+ .pet-shell[data-collapsed="true"][data-state="permission_prompt"] .collapsed-badge {
140
+ background: rgba(93, 62, 19, 0.95);
141
+ border-color: rgba(255, 216, 143, 0.7);
142
+ color: #fff3cf;
143
+ }
144
+
145
+ .pet-shell[data-collapsed="true"][data-state="permission_prompt"] .collapsed-badge::before {
146
+ border-top-color: rgba(93, 62, 19, 0.95);
147
+ }
148
+
149
+ .resize-handle {
150
+ position: absolute;
151
+ right: calc(30px * var(--pet-scale));
152
+ bottom: calc(18px * var(--pet-scale));
153
+ z-index: 5;
154
+ width: calc(24px * var(--pet-scale));
155
+ height: calc(24px * var(--pet-scale));
156
+ display: grid;
157
+ place-items: center;
158
+ padding: 0;
159
+ border: 1px solid rgba(255, 255, 255, 0.18);
160
+ border-radius: 999px;
161
+ background: rgba(18, 20, 18, 0.74);
162
+ color: rgba(244, 244, 236, 0.86);
163
+ box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
164
+ cursor: nwse-resize;
165
+ opacity: 0;
166
+ pointer-events: none;
167
+ transition: opacity 120ms ease, background 120ms ease, transform 120ms ease;
168
+ }
169
+
170
+ .resize-handle svg {
171
+ position: absolute;
172
+ left: 50%;
173
+ top: 50%;
174
+ width: calc(15px * var(--pet-scale));
175
+ height: calc(15px * var(--pet-scale));
176
+ fill: none;
177
+ stroke: currentColor;
178
+ stroke-width: 2;
179
+ stroke-linecap: round;
180
+ stroke-linejoin: round;
181
+ pointer-events: none;
182
+ transform: translate(-50%, -50%) rotate(90deg);
183
+ transform-origin: center;
184
+ }
185
+
186
+ .pet-shell:hover .resize-handle,
187
+ .resize-handle:focus-visible,
188
+ .pet-shell[data-resizing="true"] .resize-handle {
189
+ opacity: 1;
190
+ pointer-events: auto;
191
+ }
192
+
193
+ .resize-handle:hover,
194
+ .pet-shell[data-resizing="true"] .resize-handle {
195
+ background: rgba(31, 48, 52, 0.86);
196
+ transform: scale(1.04);
197
+ }
198
+
199
+ .project-tray {
200
+ position: absolute;
201
+ left: 50%;
202
+ bottom: calc(118px * var(--pet-scale));
203
+ z-index: 5;
204
+ display: grid;
205
+ grid-template-columns: repeat(2, minmax(0, calc(96px * var(--pet-scale))));
206
+ justify-content: center;
207
+ width: calc(204px * var(--pet-scale));
208
+ gap: calc(5px * var(--pet-scale));
209
+ transform: translateX(-50%);
210
+ opacity: 0;
211
+ pointer-events: none;
212
+ transition: opacity 120ms ease;
213
+ }
214
+
215
+ .pet-shell[data-multi-project="true"] .project-tray {
216
+ opacity: 1;
217
+ pointer-events: auto;
218
+ }
219
+
220
+ .project-bubble {
221
+ position: relative;
222
+ min-height: calc(41px * var(--pet-scale));
223
+ padding: calc(6px * var(--pet-scale)) calc(8px * var(--pet-scale));
224
+ border: 1px solid var(--bubble-border);
225
+ border-radius: 8px;
226
+ background: rgba(18, 20, 18, 0.88);
227
+ color: rgba(244, 244, 236, 0.88);
228
+ font: inherit;
229
+ text-align: left;
230
+ box-shadow: 0 10px 26px rgba(0, 0, 0, 0.25);
231
+ backdrop-filter: blur(14px);
232
+ cursor: pointer;
233
+ }
234
+
235
+ .project-bubble[data-urgent="true"] {
236
+ border-color: rgba(255, 216, 143, 0.72);
237
+ }
238
+
239
+ .project-bubble:hover,
240
+ .project-bubble:focus-visible {
241
+ background: rgba(31, 48, 52, 0.92);
242
+ outline: none;
243
+ }
244
+
245
+ .project-bubble-head {
246
+ display: flex;
247
+ align-items: center;
248
+ gap: calc(4px * var(--pet-scale));
249
+ margin-bottom: calc(3px * var(--pet-scale));
250
+ color: #8fe1a5;
251
+ font-size: max(8px, calc(8px * var(--pet-scale)));
252
+ font-weight: 800;
253
+ line-height: 1;
254
+ text-transform: uppercase;
255
+ }
256
+
257
+ .project-bubble-label {
258
+ min-width: 0;
259
+ overflow: hidden;
260
+ text-overflow: ellipsis;
261
+ white-space: nowrap;
262
+ }
263
+
264
+ .project-bubble-count {
265
+ min-width: calc(15px * var(--pet-scale));
266
+ height: calc(15px * var(--pet-scale));
267
+ display: grid;
268
+ place-items: center;
269
+ border-radius: 999px;
270
+ background: rgba(255, 255, 255, 0.16);
271
+ font-size: max(9px, calc(9px * var(--pet-scale)));
272
+ font-weight: 800;
273
+ }
274
+
275
+ .project-bubble-message {
276
+ margin: 0;
277
+ display: -webkit-box;
278
+ overflow: hidden;
279
+ color: var(--muted);
280
+ font-size: max(9px, calc(9px * var(--pet-scale)));
281
+ line-height: 1.15;
282
+ -webkit-box-orient: vertical;
283
+ -webkit-line-clamp: 2;
284
+ }
285
+
286
+ .speech {
287
+ position: relative;
288
+ width: calc(204px * var(--pet-scale));
289
+ min-height: calc(62px * var(--pet-scale));
290
+ padding: calc(8px * var(--pet-scale)) calc(10px * var(--pet-scale)) calc(9px * var(--pet-scale));
291
+ border: 1px solid var(--bubble-border);
292
+ border-radius: 8px;
293
+ background: var(--bubble);
294
+ box-shadow: 0 14px 38px rgba(0, 0, 0, 0.32);
295
+ backdrop-filter: blur(16px);
296
+ }
297
+
298
+ .pet-shell[data-state="ready"] .speech,
299
+ .pet-shell[data-collapsed="true"] .speech,
300
+ .pet-shell[data-multi-project="true"] .speech {
301
+ opacity: 0;
302
+ pointer-events: none;
303
+ }
304
+
305
+ .speech::after {
306
+ content: "";
307
+ position: absolute;
308
+ right: calc(48px * var(--pet-scale));
309
+ bottom: calc(-8px * var(--pet-scale));
310
+ width: 0;
311
+ height: 0;
312
+ border-left: calc(8px * var(--pet-scale)) solid transparent;
313
+ border-right: calc(8px * var(--pet-scale)) solid transparent;
314
+ border-top: calc(8px * var(--pet-scale)) solid var(--bubble);
315
+ filter: drop-shadow(0 1px 0 var(--bubble-border));
316
+ }
317
+
318
+ .eyebrow {
319
+ margin: 0 0 4px;
320
+ color: #8fe1a5;
321
+ font-size: max(9px, calc(9px * var(--pet-scale)));
322
+ font-weight: 800;
323
+ letter-spacing: 0;
324
+ text-transform: uppercase;
325
+ }
326
+
327
+ h1 {
328
+ margin: 0;
329
+ font-size: max(13px, calc(13px * var(--pet-scale)));
330
+ line-height: 1.1;
331
+ letter-spacing: 0;
332
+ }
333
+
334
+ .speech p:last-child {
335
+ margin: 4px 0 0;
336
+ color: var(--muted);
337
+ font-size: max(10px, calc(10px * var(--pet-scale)));
338
+ line-height: 1.25;
339
+ }
340
+
341
+ .pet-wrap,
342
+ .pet {
343
+ width: calc(122px * var(--pet-scale));
344
+ height: calc(122px * var(--pet-scale));
345
+ }
346
+
347
+ .pet {
348
+ overflow: visible;
349
+ }
350
+
351
+ .shadow {
352
+ fill: rgba(0, 0, 0, 0.3);
353
+ transform-origin: 90px 156px;
354
+ transition: opacity 160ms ease, transform 160ms ease;
355
+ }
356
+
357
+ .robot {
358
+ transform-origin: 90px 102px;
359
+ transition: transform 160ms ease;
360
+ }
361
+
362
+ .pet-shell:hover .robot {
363
+ animation: hover-bob 0.72s ease-in-out infinite;
364
+ }
365
+
366
+ .pet-shell:hover .shadow {
367
+ animation: shadow 0.72s ease-in-out infinite;
368
+ }
369
+
370
+ .pet-shell:hover .antenna {
371
+ animation: antenna-hover 0.72s ease-in-out infinite;
372
+ }
373
+
374
+ .pet-shell:hover .eye {
375
+ transform: translateY(-1px);
376
+ }
377
+
378
+ .pet-shell[data-state="ready"] .eye {
379
+ animation: ready-blink 5.2s ease-in-out infinite;
380
+ transform-origin: center;
381
+ }
382
+
383
+ .pet-shell[data-state="ready"] .right-eye {
384
+ animation-delay: 0.06s;
385
+ }
386
+
387
+ .pet-shell:hover .mouth {
388
+ stroke-width: 4.5;
389
+ }
390
+
391
+ .head {
392
+ fill: url(#botBody);
393
+ stroke: rgba(255, 255, 255, 0.7);
394
+ stroke-width: 2;
395
+ }
396
+
397
+ .face {
398
+ fill: url(#botGlass);
399
+ }
400
+
401
+ .side-hand,
402
+ .feet rect {
403
+ fill: #a7bfca;
404
+ stroke: rgba(255, 255, 255, 0.54);
405
+ stroke-width: 2;
406
+ }
407
+
408
+ .eye {
409
+ fill: var(--aqua);
410
+ filter: drop-shadow(0 0 5px rgba(126, 227, 255, 0.8));
411
+ }
412
+
413
+ .mouth {
414
+ fill: none;
415
+ stroke: var(--mint);
416
+ stroke-width: 4;
417
+ stroke-linecap: round;
418
+ }
419
+
420
+ .success-mouth,
421
+ .permission-mouth,
422
+ .idle-mouth,
423
+ .brow,
424
+ .happy-eye {
425
+ display: none;
426
+ fill: none;
427
+ stroke: var(--mint);
428
+ stroke-width: 4;
429
+ stroke-linecap: round;
430
+ }
431
+
432
+ .permission-mouth {
433
+ stroke: var(--mint);
434
+ stroke-width: 3;
435
+ }
436
+
437
+ .brow {
438
+ stroke: var(--aqua);
439
+ stroke-width: 3;
440
+ }
441
+
442
+ .happy-eye {
443
+ stroke: var(--aqua);
444
+ stroke-width: 4;
445
+ }
446
+
447
+ .cheek {
448
+ fill: rgba(255, 154, 179, 0.32);
449
+ }
450
+
451
+ .panel {
452
+ fill: rgba(42, 63, 70, 0.52);
453
+ }
454
+
455
+ .antenna {
456
+ transform-origin: 90px 54px;
457
+ transition: transform 160ms ease;
458
+ }
459
+
460
+ .antenna path {
461
+ fill: none;
462
+ stroke: #9fb7c2;
463
+ stroke-width: 7;
464
+ stroke-linecap: round;
465
+ }
466
+
467
+ .antenna circle {
468
+ fill: url(#antennaGlow);
469
+ filter: drop-shadow(0 0 8px rgba(126, 227, 255, 0.7));
470
+ }
471
+
472
+ .alert-mark {
473
+ opacity: 0;
474
+ transform: translate(-14px, 10px);
475
+ transform-origin: 122px 64px;
476
+ }
477
+
478
+ .alert-mark circle:first-child {
479
+ fill: #f9f2d4;
480
+ stroke: rgba(36, 40, 32, 0.18);
481
+ stroke-width: 2;
482
+ }
483
+
484
+ .alert-mark path,
485
+ .alert-mark circle:last-child {
486
+ fill: none;
487
+ stroke: #20251f;
488
+ stroke-width: 5;
489
+ stroke-linecap: round;
490
+ }
491
+
492
+ .alert-mark circle:last-child {
493
+ fill: #1f251e;
494
+ stroke: none;
495
+ }
496
+
497
+ .pet-shell[data-state="permission_prompt"] .alert-mark {
498
+ opacity: 1;
499
+ animation: pop 0.62s ease-in-out infinite;
500
+ }
501
+
502
+ .pet-shell[data-state="permission_prompt"] .robot {
503
+ animation: ask 0.9s ease-in-out infinite;
504
+ }
505
+
506
+ .pet-shell[data-state="permission_prompt"] .right-arm {
507
+ animation: permission-hand 0.68s ease-in-out infinite;
508
+ transform-origin: 138px 106px;
509
+ }
510
+
511
+ .pet-shell[data-state="permission_prompt"] .mouth {
512
+ display: none;
513
+ }
514
+
515
+ .pet-shell[data-state="permission_prompt"] .eye {
516
+ fill: #ffd88f;
517
+ filter: drop-shadow(0 0 5px rgba(255, 216, 143, 0.75));
518
+ }
519
+
520
+ .pet-shell[data-state="permission_prompt"] .permission-mouth {
521
+ display: initial;
522
+ }
523
+
524
+ .pet-shell[data-state="idle_prompt"] .robot,
525
+ .pet-shell[data-state="idle_prompt"] .antenna,
526
+ .pet-shell[data-state="idle_prompt"] .shadow {
527
+ animation-name: idle;
528
+ animation-duration: 3.2s;
529
+ animation-timing-function: ease-in-out;
530
+ animation-iteration-count: infinite;
531
+ }
532
+
533
+ .pet-shell[data-state="idle_prompt"] .antenna {
534
+ animation-name: antenna;
535
+ }
536
+
537
+ .pet-shell[data-state="idle_prompt"] .shadow {
538
+ animation-name: shadow;
539
+ }
540
+
541
+ .pet-shell[data-state="idle_prompt"] .eye {
542
+ animation: sleepy-blink 3.6s ease-in-out infinite;
543
+ transform-origin: center;
544
+ }
545
+
546
+ .pet-shell[data-state="idle_prompt"] .left-eye {
547
+ animation-delay: 0s;
548
+ }
549
+
550
+ .pet-shell[data-state="idle_prompt"] .right-eye {
551
+ animation-delay: 0.08s;
552
+ }
553
+
554
+ .pet-shell[data-state="idle_prompt"] .antenna circle {
555
+ animation: sleepy-glow 3.6s ease-in-out infinite;
556
+ }
557
+
558
+ .pet-shell[data-state="idle_prompt"] .mouth {
559
+ display: none;
560
+ }
561
+
562
+ .pet-shell[data-state="idle_prompt"] .idle-mouth {
563
+ display: initial;
564
+ }
565
+
566
+ .pet-shell[data-state="auth_success"] .robot,
567
+ .pet-shell[data-state="job_done"] .robot {
568
+ animation: hop 0.72s ease-in-out 5;
569
+ }
570
+
571
+ .pet-shell[data-state="auth_success"] .antenna,
572
+ .pet-shell[data-state="job_done"] .antenna {
573
+ animation: antenna 0.72s ease-in-out 5;
574
+ }
575
+
576
+ .pet-shell[data-state="auth_success"] .eye,
577
+ .pet-shell[data-state="job_done"] .eye,
578
+ .pet-shell[data-state="auth_success"] .mouth,
579
+ .pet-shell[data-state="job_done"] .mouth {
580
+ display: none;
581
+ }
582
+
583
+ .pet-shell[data-state="auth_success"] .happy-eye,
584
+ .pet-shell[data-state="job_done"] .happy-eye,
585
+ .pet-shell[data-state="auth_success"] .success-mouth,
586
+ .pet-shell[data-state="job_done"] .success-mouth {
587
+ display: initial;
588
+ }
589
+
590
+ .pet-shell[data-state="elicitation_dialog"] .speech,
591
+ .pet-shell[data-state="elicitation_response"] .speech,
592
+ .pet-shell[data-state="elicitation_complete"] .speech {
593
+ border-color: rgba(143, 225, 165, 0.45);
594
+ }
595
+
596
+ .flash {
597
+ animation: flash 360ms ease;
598
+ }
599
+
600
+ .pet-shell[data-snapshot="true"],
601
+ .pet-shell[data-snapshot="true"] * {
602
+ animation: none !important;
603
+ transition: none !important;
604
+ }
605
+
606
+ .pet-shell[data-snapshot="true"][data-state="ready"] .eye {
607
+ transform: none;
608
+ opacity: 1;
609
+ }
610
+
611
+ .pet-shell[data-snapshot="true"][data-state="idle_prompt"] .robot,
612
+ .pet-shell[data-snapshot="true"][data-state="idle_prompt"] .antenna,
613
+ .pet-shell[data-snapshot="true"][data-state="idle_prompt"] .shadow,
614
+ .pet-shell[data-snapshot="true"][data-state="permission_prompt"] .robot,
615
+ .pet-shell[data-snapshot="true"][data-state="permission_prompt"] .right-arm,
616
+ .pet-shell[data-snapshot="true"][data-state="permission_prompt"] .alert-mark,
617
+ .pet-shell[data-snapshot="true"][data-state="job_done"] .robot,
618
+ .pet-shell[data-snapshot="true"][data-state="job_done"] .antenna {
619
+ transform: none;
620
+ }
621
+
622
+ .pet-shell[data-snapshot="true"][data-state="idle_prompt"] .eye {
623
+ transform: scaleY(0.28);
624
+ opacity: 0.86;
625
+ }
626
+
627
+ .pet-shell[data-demo-motion="true"][data-state="ready"] .eye {
628
+ animation-duration: 1.25s;
629
+ }
630
+
631
+ .pet-shell[data-demo-motion="true"][data-state="idle_prompt"] .robot,
632
+ .pet-shell[data-demo-motion="true"][data-state="idle_prompt"] .antenna,
633
+ .pet-shell[data-demo-motion="true"][data-state="idle_prompt"] .shadow {
634
+ animation-duration: 1.25s;
635
+ }
636
+
637
+ .pet-shell[data-demo-motion="true"][data-state="idle_prompt"] .eye,
638
+ .pet-shell[data-demo-motion="true"][data-state="idle_prompt"] .antenna circle {
639
+ animation-duration: 1.25s;
640
+ }
641
+
642
+ .pet-shell[data-demo-motion="true"][data-state="permission_prompt"] .robot,
643
+ .pet-shell[data-demo-motion="true"][data-state="permission_prompt"] .right-arm,
644
+ .pet-shell[data-demo-motion="true"][data-state="permission_prompt"] .alert-mark {
645
+ animation-duration: 0.72s;
646
+ }
647
+
648
+ .pet-shell[data-demo-motion="true"][data-state="job_done"] .robot,
649
+ .pet-shell[data-demo-motion="true"][data-state="job_done"] .antenna {
650
+ animation-duration: 0.56s;
651
+ animation-iteration-count: infinite;
652
+ }
653
+
654
+ @keyframes idle {
655
+ 0%, 100% { transform: translateY(0) rotate(-1deg); }
656
+ 50% { transform: translateY(-5px) rotate(1deg); }
657
+ }
658
+
659
+ @keyframes hover-bob {
660
+ 0%, 100% { transform: translateY(-2px) rotate(-1deg); }
661
+ 50% { transform: translateY(-8px) rotate(1.5deg); }
662
+ }
663
+
664
+ @keyframes shadow {
665
+ 0%, 100% { transform: scaleX(1); opacity: 1; }
666
+ 50% { transform: scaleX(0.84); opacity: 0.72; }
667
+ }
668
+
669
+ @keyframes ask {
670
+ 0%, 100% { transform: translateY(0) rotate(-2deg); }
671
+ 50% { transform: translateY(-2px) rotate(2deg); }
672
+ }
673
+
674
+ @keyframes hop {
675
+ 0%, 100% { transform: translateY(0); }
676
+ 45% { transform: translateY(-18px); }
677
+ }
678
+
679
+ @keyframes antenna {
680
+ 0%, 100% { transform: rotate(-2deg); }
681
+ 50% { transform: rotate(3deg); }
682
+ }
683
+
684
+ @keyframes ready-blink {
685
+ 0%, 88%, 94%, 100% { transform: scaleY(1); }
686
+ 90%, 92% { transform: scaleY(0.12); }
687
+ }
688
+
689
+ @keyframes sleepy-blink {
690
+ 0%, 54%, 66%, 100% { transform: translateY(0) scaleY(0.28); opacity: 0.86; }
691
+ 58%, 62% { transform: translateY(1px) scaleY(0.08); opacity: 0.62; }
692
+ 78% { transform: translateY(-1px) scaleY(0.42); opacity: 0.92; }
693
+ }
694
+
695
+ @keyframes sleepy-glow {
696
+ 0%, 100% { filter: drop-shadow(0 0 5px rgba(126, 227, 255, 0.42)); opacity: 0.72; }
697
+ 50% { filter: drop-shadow(0 0 9px rgba(126, 227, 255, 0.72)); opacity: 1; }
698
+ }
699
+
700
+ @keyframes antenna-hover {
701
+ 0%, 100% { transform: rotate(-5deg); }
702
+ 50% { transform: rotate(6deg); }
703
+ }
704
+
705
+ @keyframes permission-hand {
706
+ 0%, 100% { transform: translate(0, 0) rotate(0deg); }
707
+ 50% { transform: translate(-2px, -2px) rotate(-8deg); }
708
+ }
709
+
710
+ @keyframes pop {
711
+ 0%, 100% { transform: translateY(0) scale(1); }
712
+ 50% { transform: translateY(-4px) scale(1.1); }
713
+ }
714
+
715
+ @keyframes flash {
716
+ 0% { transform: translateY(0); }
717
+ 50% { transform: translateY(-2px); }
718
+ 100% { transform: translateY(0); }
719
+ }