@memtensor/memos-cloud-openclaw-plugin 0.1.10 → 0.1.11-beta.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.
@@ -0,0 +1,920 @@
1
+ :root {
2
+ --bg: #f4efe4;
3
+ --bg2: #fbf8f1;
4
+ --card: rgba(255, 252, 245, 0.86);
5
+ --line: rgba(37, 43, 52, 0.12);
6
+ --text: #202734;
7
+ --muted: #64748b;
8
+ --strong: #101828;
9
+ --accent: #0f766e;
10
+ --accent2: #0b5b56;
11
+ --warn: #b54708;
12
+ --danger: #b42318;
13
+ --shadow: 0 24px 64px rgba(15, 23, 42, 0.08);
14
+ --shell-max-width: 1360px;
15
+ --floating-nav-width: 132px;
16
+ --floating-nav-collapsed-width: 52px;
17
+ --floating-nav-gap: 12px;
18
+ --page-padding: 28px;
19
+ }
20
+
21
+ * {
22
+ box-sizing: border-box;
23
+ }
24
+
25
+ html,
26
+ body {
27
+ margin: 0;
28
+ min-height: 100%;
29
+ color: var(--text);
30
+ background:
31
+ radial-gradient(circle at top left, rgba(15, 118, 110, 0.18), transparent 28%),
32
+ radial-gradient(circle at top right, rgba(234, 179, 8, 0.12), transparent 24%),
33
+ linear-gradient(180deg, var(--bg), var(--bg2));
34
+ font-family: "Segoe UI Variable", "Aptos", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
35
+ }
36
+
37
+ body {
38
+ padding: var(--page-padding);
39
+ }
40
+
41
+ button,
42
+ input,
43
+ select,
44
+ textarea {
45
+ font: inherit;
46
+ }
47
+
48
+ .shell {
49
+ display: grid;
50
+ grid-template-columns: minmax(0, 1fr) var(--floating-nav-width);
51
+ column-gap: var(--floating-nav-gap);
52
+ align-items: start;
53
+ max-width: var(--shell-max-width);
54
+ margin: 0 auto;
55
+ }
56
+
57
+ body.nav-collapsed .shell {
58
+ grid-template-columns: minmax(0, 1fr) var(--floating-nav-collapsed-width);
59
+ }
60
+
61
+ .hero,
62
+ .layout {
63
+ grid-column: 1;
64
+ }
65
+
66
+ .hero,
67
+ .card {
68
+ border: 1px solid var(--line);
69
+ background: var(--card);
70
+ box-shadow: var(--shadow);
71
+ }
72
+
73
+ .hero {
74
+ margin-bottom: 22px;
75
+ padding: 22px;
76
+ border-radius: 28px;
77
+ backdrop-filter: blur(16px);
78
+ }
79
+
80
+ .hero-grid,
81
+ .layout {
82
+ gap: 18px;
83
+ }
84
+
85
+ .hero-grid {
86
+ display: grid;
87
+ grid-template-columns: 1.4fr 1fr;
88
+ }
89
+
90
+ .hero-top {
91
+ display: flex;
92
+ align-items: center;
93
+ justify-content: space-between;
94
+ gap: 16px;
95
+ flex-wrap: wrap;
96
+ }
97
+
98
+ .layout {
99
+ display: grid;
100
+ grid-template-columns: minmax(0, 1fr);
101
+ gap: 18px;
102
+ }
103
+
104
+ .eyebrow,
105
+ .pill,
106
+ .inline-btn {
107
+ display: inline-flex;
108
+ align-items: center;
109
+ gap: 8px;
110
+ border-radius: 999px;
111
+ }
112
+
113
+ .eyebrow {
114
+ padding: 8px 12px;
115
+ background: rgba(16, 24, 40, 0.05);
116
+ color: var(--strong);
117
+ font-size: 13px;
118
+ font-weight: 700;
119
+ }
120
+
121
+ .eyebrow-icon {
122
+ width: 16px;
123
+ height: 16px;
124
+ flex: 0 0 16px;
125
+ }
126
+
127
+ .hero-title-row {
128
+ display: flex;
129
+ align-items: center;
130
+ gap: 14px;
131
+ margin-top: 14px;
132
+ }
133
+
134
+ .hero-logo {
135
+ width: clamp(42px, 5vw, 56px);
136
+ height: clamp(42px, 5vw, 56px);
137
+ flex: 0 0 auto;
138
+ border-radius: 16px;
139
+ }
140
+
141
+ .lang-switch {
142
+ display: inline-flex;
143
+ align-items: center;
144
+ gap: 10px;
145
+ min-height: 36px;
146
+ }
147
+
148
+ .lang-label {
149
+ color: #5b6677;
150
+ font-size: 11px;
151
+ font-weight: 700;
152
+ letter-spacing: 0.08em;
153
+ text-transform: uppercase;
154
+ }
155
+
156
+ .lang-dropdown {
157
+ position: relative;
158
+ }
159
+
160
+ .lang-select {
161
+ appearance: none;
162
+ display: inline-flex;
163
+ align-items: center;
164
+ justify-content: space-between;
165
+ min-height: 32px;
166
+ min-width: 124px;
167
+ padding: 0 38px 0 14px;
168
+ border: 1px solid rgba(15, 23, 42, 0.08);
169
+ border-radius: 999px;
170
+ background:
171
+ linear-gradient(180deg, rgba(249, 250, 251, 0.96), rgba(241, 245, 249, 0.92));
172
+ background-image:
173
+ linear-gradient(45deg, transparent 50%, #667085 50%),
174
+ linear-gradient(135deg, #667085 50%, transparent 50%),
175
+ linear-gradient(180deg, rgba(249, 250, 251, 0.96), rgba(241, 245, 249, 0.92));
176
+ background-position:
177
+ calc(100% - 18px) 13px,
178
+ calc(100% - 12px) 13px,
179
+ 0 0;
180
+ background-size: 6px 6px, 6px 6px, 100% 100%;
181
+ background-repeat: no-repeat;
182
+ box-shadow:
183
+ inset 0 1px 0 rgba(255, 255, 255, 0.7),
184
+ 0 1px 2px rgba(15, 23, 42, 0.04);
185
+ color: var(--strong);
186
+ font-size: 13px;
187
+ font-weight: 700;
188
+ cursor: pointer;
189
+ transition:
190
+ background 160ms ease,
191
+ color 160ms ease,
192
+ border-color 160ms ease,
193
+ box-shadow 160ms ease,
194
+ transform 160ms ease;
195
+ }
196
+
197
+ .lang-select-text {
198
+ white-space: nowrap;
199
+ }
200
+
201
+ .lang-select:hover {
202
+ border-color: rgba(15, 118, 110, 0.18);
203
+ box-shadow:
204
+ inset 0 1px 0 rgba(255, 255, 255, 0.74),
205
+ 0 6px 16px rgba(15, 23, 42, 0.08);
206
+ transform: translateY(-1px);
207
+ }
208
+
209
+ .lang-select:focus {
210
+ outline: none;
211
+ border-color: rgba(15, 118, 110, 0.34);
212
+ box-shadow: 0 0 0 4px rgba(15, 118, 110, 0.12);
213
+ }
214
+
215
+ .lang-dropdown.open .lang-select {
216
+ border-color: rgba(15, 118, 110, 0.28);
217
+ box-shadow:
218
+ 0 0 0 4px rgba(15, 118, 110, 0.08),
219
+ 0 12px 28px rgba(15, 23, 42, 0.12);
220
+ }
221
+
222
+ .lang-menu {
223
+ position: absolute;
224
+ top: calc(100% + 10px);
225
+ right: 0;
226
+ z-index: 30;
227
+ display: grid;
228
+ gap: 6px;
229
+ min-width: 148px;
230
+ padding: 8px;
231
+ border: 1px solid rgba(15, 23, 42, 0.08);
232
+ border-radius: 18px;
233
+ background: #f8fafc;
234
+ box-shadow:
235
+ 0 18px 40px rgba(15, 23, 42, 0.12),
236
+ inset 0 1px 0 rgba(255, 255, 255, 0.7);
237
+ opacity: 0;
238
+ pointer-events: none;
239
+ transform: translateY(-6px) scale(0.98);
240
+ transform-origin: top right;
241
+ transition: opacity 140ms ease, transform 140ms ease;
242
+ }
243
+
244
+ .lang-dropdown.open .lang-menu {
245
+ opacity: 1;
246
+ pointer-events: auto;
247
+ transform: translateY(0) scale(1);
248
+ }
249
+
250
+ .lang-option {
251
+ appearance: none;
252
+ display: flex;
253
+ align-items: center;
254
+ width: 100%;
255
+ min-height: 40px;
256
+ padding: 0 12px;
257
+ border: 0;
258
+ border-radius: 12px;
259
+ background: transparent;
260
+ color: var(--strong);
261
+ text-align: left;
262
+ font-size: 13px;
263
+ font-weight: 700;
264
+ cursor: pointer;
265
+ transition: background 140ms ease, color 140ms ease, transform 140ms ease;
266
+ }
267
+
268
+ .lang-option:hover {
269
+ background: rgba(15, 23, 42, 0.06);
270
+ transform: translateX(1px);
271
+ }
272
+
273
+ .lang-option:focus {
274
+ outline: none;
275
+ background: rgba(15, 118, 110, 0.1);
276
+ }
277
+
278
+ .lang-option.active {
279
+ background: rgba(15, 118, 110, 0.12);
280
+ color: var(--accent2);
281
+ }
282
+
283
+ h1 {
284
+ margin: 0;
285
+ font-size: clamp(34px, 5vw, 52px);
286
+ line-height: 1;
287
+ letter-spacing: -0.04em;
288
+ }
289
+
290
+ .subtitle,
291
+ .muted,
292
+ .field-desc,
293
+ .card-head p,
294
+ .panel p,
295
+ .helper {
296
+ color: var(--muted);
297
+ line-height: 1.6;
298
+ }
299
+
300
+ .subtitle {
301
+ font-size: 15px;
302
+ }
303
+
304
+ .status-row,
305
+ .meta-row,
306
+ .button-row,
307
+ .inline-actions {
308
+ display: flex;
309
+ flex-wrap: wrap;
310
+ gap: 10px;
311
+ }
312
+
313
+ .status-row,
314
+ .meta-row {
315
+ margin-top: 16px;
316
+ }
317
+
318
+ .pill {
319
+ min-height: 38px;
320
+ padding: 8px 14px;
321
+ border: 1px solid rgba(15, 23, 42, 0.08);
322
+ background: rgba(255, 255, 255, 0.74);
323
+ font-size: 13px;
324
+ }
325
+
326
+ .pill strong {
327
+ color: var(--strong);
328
+ }
329
+
330
+ .pill.ok {
331
+ background: rgba(15, 118, 110, 0.1);
332
+ color: var(--accent2);
333
+ }
334
+
335
+ .pill.warn {
336
+ background: rgba(181, 71, 8, 0.1);
337
+ color: var(--warn);
338
+ }
339
+
340
+ .hero-actions {
341
+ display: grid;
342
+ gap: 12px;
343
+ }
344
+
345
+ .panel {
346
+ padding: 18px;
347
+ border: 1px solid var(--line);
348
+ border-radius: 22px;
349
+ background: rgba(255, 255, 255, 0.72);
350
+ }
351
+
352
+ .panel h2,
353
+ .card-head h3 {
354
+ margin: 0;
355
+ }
356
+
357
+ .path-box {
358
+ padding: 14px 16px;
359
+ border-radius: 18px;
360
+ background: rgba(15, 23, 42, 0.04);
361
+ border: 1px dashed rgba(15, 23, 42, 0.12);
362
+ font-family: "Cascadia Code", "Consolas", monospace;
363
+ font-size: 12px;
364
+ line-height: 1.7;
365
+ word-break: break-all;
366
+ }
367
+
368
+ .path-box-row {
369
+ display: grid;
370
+ grid-template-columns: minmax(0, 1fr) auto;
371
+ gap: 10px;
372
+ align-items: stretch;
373
+ margin-top: 14px;
374
+ margin-bottom: 18px;
375
+ }
376
+
377
+ .icon-button {
378
+ appearance: none;
379
+ width: 48px;
380
+ min-height: 48px;
381
+ border: 1px solid rgba(15, 23, 42, 0.1);
382
+ border-radius: 16px;
383
+ background: rgba(255, 255, 255, 0.78);
384
+ color: var(--muted);
385
+ cursor: pointer;
386
+ transition: transform 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
387
+ }
388
+
389
+ .icon-button:hover {
390
+ transform: translateY(-1px);
391
+ color: var(--strong);
392
+ }
393
+
394
+ .icon-button:focus {
395
+ outline: none;
396
+ border-color: rgba(15, 118, 110, 0.34);
397
+ box-shadow: 0 0 0 4px rgba(15, 118, 110, 0.12);
398
+ }
399
+
400
+ .btn {
401
+ appearance: none;
402
+ min-height: 48px;
403
+ padding: 0 18px;
404
+ border: 0;
405
+ border-radius: 16px;
406
+ cursor: pointer;
407
+ transition: transform 160ms ease, box-shadow 160ms ease, opacity 160ms ease;
408
+ }
409
+
410
+ .btn:hover {
411
+ transform: translateY(-1px);
412
+ }
413
+
414
+ .btn:disabled {
415
+ opacity: 0.58;
416
+ cursor: not-allowed;
417
+ transform: none;
418
+ }
419
+
420
+ .btn-primary {
421
+ background: linear-gradient(135deg, var(--accent), var(--accent2));
422
+ color: white;
423
+ box-shadow: 0 14px 30px rgba(15, 118, 110, 0.24);
424
+ }
425
+
426
+ .btn-secondary {
427
+ background: rgba(15, 23, 42, 0.06);
428
+ color: var(--strong);
429
+ }
430
+
431
+ .btn-ghost {
432
+ background: transparent;
433
+ color: var(--muted);
434
+ border: 1px solid rgba(15, 23, 42, 0.1);
435
+ }
436
+
437
+ .banner {
438
+ display: none;
439
+ margin: 18px 0 0;
440
+ padding: 14px 16px;
441
+ border-radius: 18px;
442
+ border: 1px solid transparent;
443
+ line-height: 1.55;
444
+ font-size: 14px;
445
+ }
446
+
447
+ .banner.show {
448
+ display: block;
449
+ }
450
+
451
+ .banner.info {
452
+ background: rgba(15, 118, 110, 0.08);
453
+ border-color: rgba(15, 118, 110, 0.18);
454
+ }
455
+
456
+ .banner.warn {
457
+ background: rgba(181, 71, 8, 0.1);
458
+ border-color: rgba(181, 71, 8, 0.18);
459
+ color: var(--warn);
460
+ }
461
+
462
+ .banner.error {
463
+ background: rgba(180, 35, 24, 0.1);
464
+ border-color: rgba(180, 35, 24, 0.18);
465
+ color: var(--danger);
466
+ }
467
+
468
+ .card {
469
+ padding: 22px;
470
+ border-radius: 22px;
471
+ width: 100%;
472
+ margin: 0 0 18px;
473
+ }
474
+
475
+ .card-head {
476
+ display: flex;
477
+ justify-content: space-between;
478
+ gap: 16px;
479
+ margin-bottom: 18px;
480
+ }
481
+
482
+ .card-anchor {
483
+ scroll-margin-top: 28px;
484
+ }
485
+
486
+ .stack {
487
+ display: grid;
488
+ grid-template-columns: repeat(2, minmax(0, 1fr));
489
+ gap: 16px;
490
+ align-items: stretch;
491
+ }
492
+
493
+ .layout .card:last-child {
494
+ margin-bottom: 0;
495
+ }
496
+
497
+ .field {
498
+ display: flex;
499
+ flex-direction: column;
500
+ width: 100%;
501
+ margin: 0;
502
+ padding: 14px;
503
+ border-radius: 18px;
504
+ background: rgba(255, 255, 255, 0.75);
505
+ border: 1px solid rgba(15, 23, 42, 0.08);
506
+ min-height: 180px;
507
+ min-width: 0;
508
+ break-inside: auto;
509
+ }
510
+
511
+ .field-head,
512
+ .field-tools {
513
+ display: flex;
514
+ justify-content: space-between;
515
+ gap: 16px;
516
+ align-items: center;
517
+ }
518
+
519
+ .field-head {
520
+ margin-bottom: 8px;
521
+ }
522
+
523
+ .field-tools {
524
+ margin-top: auto;
525
+ padding-top: 6px;
526
+ }
527
+
528
+ .field-title {
529
+ font-weight: 700;
530
+ color: var(--strong);
531
+ }
532
+
533
+ .field-state {
534
+ font-size: 12px;
535
+ color: var(--muted);
536
+ }
537
+
538
+ .field-desc {
539
+ margin: 0 0 8px;
540
+ font-size: 13px;
541
+ }
542
+
543
+ .control,
544
+ .text-area,
545
+ .select {
546
+ width: 100%;
547
+ border: 1px solid rgba(15, 23, 42, 0.1);
548
+ background: rgba(248, 250, 252, 0.88);
549
+ color: var(--strong);
550
+ outline: none;
551
+ border-radius: 16px;
552
+ padding: 12px 14px;
553
+ transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
554
+ }
555
+
556
+ .control:focus,
557
+ .text-area:focus,
558
+ .select:focus {
559
+ border-color: rgba(15, 118, 110, 0.4);
560
+ box-shadow: 0 0 0 4px rgba(15, 118, 110, 0.12);
561
+ background: white;
562
+ }
563
+
564
+ .text-area {
565
+ min-height: 112px;
566
+ resize: vertical;
567
+ line-height: 1.6;
568
+ flex: 1;
569
+ }
570
+
571
+ .json-font {
572
+ font-family: "Cascadia Code", "Consolas", monospace;
573
+ font-size: 12px;
574
+ }
575
+
576
+ .segmented {
577
+ display: inline-flex;
578
+ width: 100%;
579
+ margin-bottom: 8px;
580
+ padding: 5px;
581
+ gap: 6px;
582
+ border-radius: 18px;
583
+ background: rgba(15, 23, 42, 0.05);
584
+ }
585
+
586
+ .segmented button {
587
+ flex: 1;
588
+ min-height: 38px;
589
+ border-radius: 14px;
590
+ border: 0;
591
+ background: transparent;
592
+ color: var(--muted);
593
+ cursor: pointer;
594
+ }
595
+
596
+ .segmented button.active {
597
+ background: white;
598
+ color: var(--strong);
599
+ box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
600
+ }
601
+
602
+ .inline-btn {
603
+ appearance: none;
604
+ min-height: 32px;
605
+ padding: 0 12px;
606
+ border: 0;
607
+ background: rgba(15, 23, 42, 0.05);
608
+ color: var(--muted);
609
+ cursor: pointer;
610
+ }
611
+
612
+ .error {
613
+ color: var(--danger);
614
+ font-size: 12px;
615
+ line-height: 1.55;
616
+ }
617
+
618
+ .helper {
619
+ font-size: 12px;
620
+ line-height: 1.45;
621
+ }
622
+
623
+ .overlay {
624
+ position: fixed;
625
+ inset: 0;
626
+ display: none;
627
+ align-items: center;
628
+ justify-content: center;
629
+ padding: 24px;
630
+ background: rgba(15, 23, 42, 0.28);
631
+ backdrop-filter: blur(6px);
632
+ z-index: 20;
633
+ }
634
+
635
+ .overlay.show {
636
+ display: flex;
637
+ }
638
+
639
+ .overlay-card {
640
+ width: min(520px, 100%);
641
+ padding: 24px;
642
+ border-radius: 24px;
643
+ background: rgba(255, 255, 255, 0.96);
644
+ box-shadow: 0 28px 80px rgba(15, 23, 42, 0.18);
645
+ }
646
+
647
+ .overlay-card h4 {
648
+ margin: 0 0 10px;
649
+ font-size: 22px;
650
+ }
651
+
652
+ .overlay-card p {
653
+ margin: 0;
654
+ color: var(--muted);
655
+ line-height: 1.7;
656
+ }
657
+
658
+ .overlay-actions {
659
+ margin-top: 18px;
660
+ display: flex;
661
+ justify-content: center;
662
+ }
663
+
664
+ .overlay-refresh-button {
665
+ width: 52px;
666
+ min-height: 52px;
667
+ border-radius: 18px;
668
+ }
669
+
670
+ .floating-tools {
671
+ grid-column: 2;
672
+ grid-row: 1 / span 2;
673
+ position: sticky;
674
+ top: var(--page-padding);
675
+ z-index: 12;
676
+ width: var(--floating-nav-width);
677
+ opacity: 1;
678
+ pointer-events: auto;
679
+ transition: transform 180ms ease;
680
+ }
681
+
682
+ .floating-nav-card,
683
+ .back-top-button {
684
+ border: 1px solid rgba(15, 23, 42, 0.1);
685
+ background: rgba(255, 252, 245, 0.88);
686
+ box-shadow: 0 22px 44px rgba(15, 23, 42, 0.12);
687
+ backdrop-filter: blur(16px);
688
+ }
689
+
690
+ .floating-nav-card {
691
+ padding: 10px;
692
+ border-radius: 24px;
693
+ overflow: hidden;
694
+ transition: padding 160ms ease, border-radius 160ms ease, box-shadow 160ms ease;
695
+ }
696
+
697
+ .floating-nav-head {
698
+ margin-bottom: 10px;
699
+ padding: 0 4px;
700
+ color: var(--muted);
701
+ font-size: 12px;
702
+ font-weight: 700;
703
+ display: flex;
704
+ align-items: center;
705
+ justify-content: space-between;
706
+ gap: 8px;
707
+ }
708
+
709
+ .floating-nav {
710
+ display: grid;
711
+ gap: 8px;
712
+ transition: opacity 140ms ease, transform 140ms ease;
713
+ }
714
+
715
+ .floating-toggle {
716
+ appearance: none;
717
+ display: inline-flex;
718
+ align-items: center;
719
+ justify-content: center;
720
+ width: 28px;
721
+ min-width: 28px;
722
+ height: 28px;
723
+ padding: 0;
724
+ border: 0;
725
+ border-radius: 999px;
726
+ background: rgba(15, 23, 42, 0.06);
727
+ color: var(--muted);
728
+ cursor: pointer;
729
+ transition: transform 160ms ease, background 160ms ease, color 160ms ease;
730
+ }
731
+
732
+ .floating-toggle:hover {
733
+ background: rgba(15, 118, 110, 0.12);
734
+ color: var(--accent2);
735
+ transform: translateY(-1px);
736
+ }
737
+
738
+ .floating-toggle:focus {
739
+ outline: none;
740
+ box-shadow: 0 0 0 4px rgba(15, 118, 110, 0.12);
741
+ }
742
+
743
+ .floating-toggle-icon {
744
+ font-size: 14px;
745
+ line-height: 1;
746
+ transition: transform 160ms ease;
747
+ }
748
+
749
+ body.nav-collapsed .floating-tools {
750
+ width: var(--floating-nav-collapsed-width);
751
+ }
752
+
753
+ body.nav-collapsed .floating-nav-card {
754
+ padding: 8px;
755
+ border-radius: 20px;
756
+ }
757
+
758
+ body.nav-collapsed .floating-nav-head {
759
+ margin-bottom: 0;
760
+ padding: 0;
761
+ justify-content: center;
762
+ }
763
+
764
+ body.nav-collapsed .floating-nav-head > span {
765
+ display: none;
766
+ }
767
+
768
+ body.nav-collapsed .floating-toggle {
769
+ width: 36px;
770
+ min-width: 36px;
771
+ height: 36px;
772
+ }
773
+
774
+ body.nav-collapsed .floating-toggle-icon {
775
+ transform: scaleX(-1);
776
+ }
777
+
778
+ body.nav-collapsed .floating-nav {
779
+ opacity: 0;
780
+ transform: translateY(-6px);
781
+ pointer-events: none;
782
+ height: 0;
783
+ overflow: hidden;
784
+ gap: 0;
785
+ }
786
+
787
+ .floating-link,
788
+ .back-top-button {
789
+ appearance: none;
790
+ width: 100%;
791
+ min-height: 42px;
792
+ border-radius: 16px;
793
+ border: 0;
794
+ cursor: pointer;
795
+ transition: transform 160ms ease, background 160ms ease, color 160ms ease, box-shadow 160ms ease;
796
+ }
797
+
798
+ .floating-link {
799
+ padding: 11px 12px;
800
+ background: rgba(15, 23, 42, 0.05);
801
+ color: var(--muted);
802
+ font-size: 12px;
803
+ font-weight: 700;
804
+ line-height: 1;
805
+ white-space: nowrap;
806
+ overflow: hidden;
807
+ text-overflow: ellipsis;
808
+ }
809
+
810
+ .floating-link:hover,
811
+ .back-top-button:hover {
812
+ transform: translateY(-1px);
813
+ }
814
+
815
+ .floating-link.active {
816
+ background: linear-gradient(135deg, rgba(15, 118, 110, 0.16), rgba(11, 91, 86, 0.08));
817
+ color: var(--accent2);
818
+ box-shadow: inset 0 0 0 1px rgba(15, 118, 110, 0.16);
819
+ }
820
+
821
+ .back-top-button {
822
+ position: fixed;
823
+ left: auto;
824
+ right: max(var(--page-padding), calc((100vw - var(--shell-max-width)) / 2 + (var(--floating-nav-width) - 56px) / 2));
825
+ bottom: 22px;
826
+ z-index: 13;
827
+ width: 56px;
828
+ min-height: 56px;
829
+ padding: 0;
830
+ border-radius: 999px;
831
+ color: var(--strong);
832
+ font-weight: 700;
833
+ font-size: 24px;
834
+ opacity: 0;
835
+ pointer-events: none;
836
+ transition: opacity 180ms ease, transform 180ms ease, background 160ms ease, color 160ms ease, box-shadow 160ms ease;
837
+ }
838
+
839
+ .back-top-button.is-visible {
840
+ opacity: 1;
841
+ pointer-events: auto;
842
+ }
843
+
844
+ .back-top-button span {
845
+ transform: translateY(-1px);
846
+ }
847
+
848
+ @media (max-width: 1100px) {
849
+ .hero-grid {
850
+ grid-template-columns: 1fr;
851
+ }
852
+
853
+ .layout {
854
+ grid-template-columns: minmax(0, 1fr);
855
+ }
856
+
857
+ .stack {
858
+ grid-template-columns: 1fr;
859
+ }
860
+ }
861
+
862
+ @media (max-width: 720px) {
863
+ body {
864
+ padding: 16px;
865
+ }
866
+
867
+ .hero {
868
+ padding: 18px;
869
+ }
870
+
871
+ .card,
872
+ .panel {
873
+ padding: 18px;
874
+ }
875
+
876
+ .field {
877
+ padding: 14px;
878
+ }
879
+
880
+ .shell {
881
+ display: block;
882
+ max-width: var(--shell-max-width);
883
+ }
884
+
885
+ .floating-tools {
886
+ grid-column: auto;
887
+ grid-row: auto;
888
+ position: fixed;
889
+ top: 16px;
890
+ left: auto;
891
+ right: 16px;
892
+ width: var(--floating-nav-collapsed-width);
893
+ }
894
+
895
+ body:not(.nav-collapsed) .floating-tools {
896
+ width: 144px;
897
+ }
898
+
899
+ .floating-nav-card {
900
+ padding: 12px;
901
+ }
902
+
903
+ .floating-nav {
904
+ grid-template-columns: 1fr;
905
+ }
906
+
907
+ .back-top-button {
908
+ left: auto;
909
+ right: 16px;
910
+ bottom: 16px;
911
+ }
912
+
913
+ .stack {
914
+ grid-template-columns: 1fr;
915
+ }
916
+
917
+ .path-box-row {
918
+ grid-template-columns: minmax(0, 1fr) 48px;
919
+ }
920
+ }