viveworker 0.1.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/web/app.css ADDED
@@ -0,0 +1,2303 @@
1
+ :root {
2
+ color-scheme: dark;
3
+ --font-ui: "Avenir Next", "SF Pro Rounded", "SF Pro Text", "Helvetica Neue", sans-serif;
4
+ --bg: #091015;
5
+ --bg-soft: #0f1921;
6
+ --panel: rgba(17, 27, 35, 0.94);
7
+ --panel-strong: rgba(13, 21, 28, 0.98);
8
+ --card: rgba(20, 31, 40, 0.96);
9
+ --card-soft: rgba(25, 38, 48, 0.82);
10
+ --text: #f5fbff;
11
+ --muted: #9cb5c5;
12
+ --line: rgba(156, 181, 197, 0.16);
13
+ --line-strong: rgba(156, 181, 197, 0.24);
14
+ --accent: #2f8f67;
15
+ --accent-soft: rgba(47, 143, 103, 0.18);
16
+ --danger: #c85c5c;
17
+ --danger-soft: rgba(200, 92, 92, 0.16);
18
+ --choice: #4f83d8;
19
+ --choice-soft: rgba(79, 131, 216, 0.16);
20
+ --completion: #d2aa63;
21
+ --completion-soft: rgba(210, 170, 99, 0.14);
22
+ --radius-shell: 28px;
23
+ --radius-card: 22px;
24
+ --radius-pill: 999px;
25
+ --shadow-shell: 0 24px 60px rgba(0, 0, 0, 0.22);
26
+ --shadow-card: 0 18px 44px rgba(0, 0, 0, 0.18);
27
+ }
28
+
29
+ *,
30
+ *::before,
31
+ *::after {
32
+ box-sizing: border-box;
33
+ }
34
+
35
+ html {
36
+ background: var(--bg);
37
+ }
38
+
39
+ body {
40
+ margin: 0;
41
+ min-height: 100vh;
42
+ overflow-x: hidden;
43
+ font-family: var(--font-ui);
44
+ color: var(--text);
45
+ background:
46
+ radial-gradient(circle at top, rgba(47, 143, 103, 0.22), transparent 28%),
47
+ radial-gradient(circle at bottom right, rgba(79, 131, 216, 0.12), transparent 24%),
48
+ linear-gradient(180deg, #081015 0%, var(--bg) 100%);
49
+ }
50
+
51
+ a {
52
+ color: #8fd7ff;
53
+ }
54
+
55
+ button,
56
+ input {
57
+ font: inherit;
58
+ }
59
+
60
+ code {
61
+ padding: 0.18rem 0.38rem;
62
+ border-radius: 8px;
63
+ background: rgba(156, 181, 197, 0.12);
64
+ }
65
+
66
+ .app-shell {
67
+ min-height: 100vh;
68
+ padding:
69
+ max(1rem, env(safe-area-inset-top))
70
+ 1rem
71
+ calc(8.6rem + env(safe-area-inset-bottom))
72
+ 1rem;
73
+ }
74
+
75
+ .app-shell--mobile:not(.app-shell--detail)::after {
76
+ content: "";
77
+ position: fixed;
78
+ left: 0;
79
+ right: 0;
80
+ bottom: 0;
81
+ height: calc(9.5rem + env(safe-area-inset-bottom));
82
+ z-index: 15;
83
+ pointer-events: none;
84
+ background:
85
+ linear-gradient(
86
+ 180deg,
87
+ rgba(9, 16, 21, 0) 0%,
88
+ rgba(9, 16, 21, 0.14) 18%,
89
+ rgba(9, 16, 21, 0.34) 42%,
90
+ rgba(9, 16, 21, 0.72) 100%
91
+ );
92
+ -webkit-backdrop-filter: blur(30px) saturate(1.08);
93
+ backdrop-filter: blur(30px) saturate(1.08);
94
+ -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.9) 34%, rgba(0, 0, 0, 1) 100%);
95
+ mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.9) 34%, rgba(0, 0, 0, 1) 100%);
96
+ }
97
+
98
+ .app-shell--detail {
99
+ padding-bottom: max(1rem, env(safe-area-inset-bottom));
100
+ }
101
+
102
+ .app-header {
103
+ display: grid;
104
+ gap: 0.9rem;
105
+ margin-bottom: 1.2rem;
106
+ }
107
+
108
+ .mobile-topbar {
109
+ display: flex;
110
+ align-items: center;
111
+ gap: 0.85rem;
112
+ min-height: 3.1rem;
113
+ margin-top: 0.8rem;
114
+ margin-bottom: 1.2rem;
115
+ }
116
+
117
+ .mobile-topbar--detail {
118
+ display: grid;
119
+ grid-template-columns: auto minmax(0, 1fr);
120
+ align-items: center;
121
+ gap: 0.75rem;
122
+ position: sticky;
123
+ top: 0;
124
+ z-index: 24;
125
+ margin:
126
+ calc(-1 * max(1rem, env(safe-area-inset-top)))
127
+ -0.78rem
128
+ 0.75rem;
129
+ padding:
130
+ max(0.7rem, env(safe-area-inset-top))
131
+ 0.78rem
132
+ 0.8rem;
133
+ background:
134
+ linear-gradient(180deg, rgba(9, 16, 21, 0.92), rgba(9, 16, 21, 0.72)),
135
+ rgba(9, 16, 21, 0.6);
136
+ -webkit-backdrop-filter: blur(22px) saturate(1.06);
137
+ backdrop-filter: blur(22px) saturate(1.06);
138
+ border-bottom: 1px solid rgba(156, 181, 197, 0.12);
139
+ margin-bottom: 0.6rem;
140
+ }
141
+
142
+ .mobile-topbar__heading {
143
+ min-width: 0;
144
+ display: grid;
145
+ gap: 0.62rem;
146
+ }
147
+
148
+ .mobile-topbar__heading--detail {
149
+ gap: 0.2rem;
150
+ flex: 1 1 auto;
151
+ }
152
+
153
+ .mobile-topbar__title {
154
+ margin: 0;
155
+ font-size: 1.55rem;
156
+ line-height: 1.05;
157
+ letter-spacing: -0.03em;
158
+ }
159
+
160
+ .mobile-topbar__title--detail {
161
+ font-size: 1rem;
162
+ line-height: 1.2;
163
+ white-space: nowrap;
164
+ overflow: hidden;
165
+ text-overflow: ellipsis;
166
+ }
167
+
168
+ .mobile-topbar__eyebrow {
169
+ color: var(--muted);
170
+ font-size: 0.78rem;
171
+ font-weight: 700;
172
+ letter-spacing: 0.04em;
173
+ text-transform: uppercase;
174
+ }
175
+
176
+ .mobile-topbar__eyebrow--kind {
177
+ display: inline-flex;
178
+ align-items: center;
179
+ gap: 0.38rem;
180
+ }
181
+
182
+ .mobile-topbar__eyebrow-icon {
183
+ width: 0.95rem;
184
+ height: 0.95rem;
185
+ display: inline-flex;
186
+ }
187
+
188
+ .mobile-topbar__back {
189
+ display: inline-flex;
190
+ align-items: center;
191
+ justify-content: center;
192
+ gap: 0.35rem;
193
+ min-height: 2.55rem;
194
+ min-width: 2.55rem;
195
+ padding: 0.55rem 0.82rem;
196
+ flex-shrink: 0;
197
+ white-space: nowrap;
198
+ border: 1px solid rgba(156, 181, 197, 0.16);
199
+ border-radius: 16px;
200
+ background:
201
+ linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.04)),
202
+ rgba(255, 255, 255, 0.03);
203
+ color: var(--text);
204
+ font-weight: 700;
205
+ line-height: 1;
206
+ -webkit-backdrop-filter: blur(16px) saturate(1.02);
207
+ backdrop-filter: blur(16px) saturate(1.02);
208
+ box-shadow:
209
+ 0 10px 22px rgba(0, 0, 0, 0.14),
210
+ inset 0 1px 0 rgba(255, 255, 255, 0.05);
211
+ }
212
+
213
+ .mobile-topbar__back-icon {
214
+ width: 0.95rem;
215
+ height: 0.95rem;
216
+ display: inline-flex;
217
+ }
218
+
219
+ .mobile-topbar__back-label {
220
+ display: inline-block;
221
+ transform: translateY(-0.01em);
222
+ }
223
+
224
+ .mobile-topbar__back-icon svg,
225
+ .mobile-topbar__eyebrow-icon svg,
226
+ .tab-icon svg,
227
+ .item-card__chevron svg,
228
+ .type-pill__icon svg,
229
+ .item-card__intent-icon svg,
230
+ .detail-intent__icon svg {
231
+ width: 100%;
232
+ height: 100%;
233
+ }
234
+
235
+ .brand-lockup {
236
+ display: grid;
237
+ gap: 0.7rem;
238
+ }
239
+
240
+ .brand-copy {
241
+ display: grid;
242
+ gap: 0.35rem;
243
+ }
244
+
245
+ .brand-title,
246
+ .hero-title,
247
+ .screen-title,
248
+ .detail-title {
249
+ margin: 0;
250
+ letter-spacing: -0.03em;
251
+ }
252
+
253
+ .brand-title {
254
+ font-size: clamp(1.5rem, 4vw, 1.9rem);
255
+ }
256
+
257
+ .brand-subtitle,
258
+ .screen-copy,
259
+ .hero-copy,
260
+ .muted {
261
+ color: var(--muted);
262
+ }
263
+
264
+ .brand-subtitle,
265
+ .hero-copy,
266
+ .screen-copy {
267
+ margin: 0;
268
+ line-height: 1.55;
269
+ }
270
+
271
+ .eyebrow-pill,
272
+ .type-pill,
273
+ .status-pill,
274
+ .count-chip {
275
+ display: inline-flex;
276
+ align-items: center;
277
+ justify-content: center;
278
+ min-height: 1.9rem;
279
+ padding: 0.32rem 0.7rem;
280
+ border-radius: var(--radius-pill);
281
+ font-size: 0.78rem;
282
+ font-weight: 700;
283
+ letter-spacing: 0.03em;
284
+ }
285
+
286
+ .type-pill {
287
+ gap: 0.38rem;
288
+ }
289
+
290
+ .type-pill__icon {
291
+ width: 0.92rem;
292
+ height: 0.92rem;
293
+ display: inline-flex;
294
+ flex: 0 0 auto;
295
+ }
296
+
297
+ .eyebrow-pill {
298
+ width: fit-content;
299
+ color: #eaf7ff;
300
+ background: rgba(156, 181, 197, 0.16);
301
+ }
302
+
303
+ .eyebrow-pill--quiet {
304
+ font-size: 0.74rem;
305
+ min-height: 1.65rem;
306
+ padding: 0.24rem 0.6rem;
307
+ }
308
+
309
+ .type-pill--approval {
310
+ background: var(--accent-soft);
311
+ color: #c7f5de;
312
+ }
313
+
314
+ .type-pill--plan {
315
+ background: rgba(143, 173, 255, 0.18);
316
+ color: #d9e4ff;
317
+ }
318
+
319
+ .type-pill--choice {
320
+ background: var(--choice-soft);
321
+ color: #dbe8ff;
322
+ }
323
+
324
+ .type-pill--completion {
325
+ background: var(--completion-soft);
326
+ color: #faebcb;
327
+ }
328
+
329
+ .type-pill--neutral {
330
+ background: rgba(156, 181, 197, 0.14);
331
+ color: #edf7ff;
332
+ }
333
+
334
+ .status-pill--pending {
335
+ background: rgba(255, 255, 255, 0.08);
336
+ color: #edf7ff;
337
+ }
338
+
339
+ .status-pill--completed {
340
+ background: rgba(255, 255, 255, 0.08);
341
+ color: #d8e7f1;
342
+ }
343
+
344
+ .count-chip {
345
+ min-width: 2.2rem;
346
+ background: rgba(255, 255, 255, 0.08);
347
+ color: #edf7ff;
348
+ }
349
+
350
+ .install-banner,
351
+ .surface,
352
+ .surface-card,
353
+ .onboarding-card,
354
+ .detail-empty {
355
+ border: 1px solid var(--line);
356
+ border-radius: var(--radius-card);
357
+ background: var(--panel);
358
+ box-shadow: var(--shadow-card);
359
+ }
360
+
361
+ .install-banner {
362
+ display: grid;
363
+ gap: 0.75rem;
364
+ margin-bottom: 1rem;
365
+ padding: 0.9rem 0.95rem 0.98rem;
366
+ background:
367
+ linear-gradient(180deg, rgba(47, 143, 103, 0.18), rgba(15, 25, 33, 0.92)),
368
+ var(--panel);
369
+ }
370
+
371
+ .install-banner--push {
372
+ background:
373
+ linear-gradient(180deg, rgba(79, 131, 216, 0.18), rgba(15, 25, 33, 0.92)),
374
+ var(--panel);
375
+ }
376
+
377
+ .install-banner__copy {
378
+ display: grid;
379
+ gap: 0.28rem;
380
+ }
381
+
382
+ .install-banner__copy p {
383
+ margin: 0;
384
+ }
385
+
386
+ .install-banner__actions {
387
+ display: grid;
388
+ grid-template-columns: 1fr;
389
+ }
390
+
391
+ .app-main {
392
+ display: grid;
393
+ gap: 1rem;
394
+ min-width: 0;
395
+ padding-bottom: 0.35rem;
396
+ }
397
+
398
+ .screen-block,
399
+ .screen-shell,
400
+ .detail-shell,
401
+ .settings-stack,
402
+ .stack,
403
+ .choice-stack {
404
+ display: grid;
405
+ gap: 1rem;
406
+ }
407
+
408
+ .detail-shell,
409
+ .choice-stack {
410
+ align-content: start;
411
+ }
412
+
413
+ .stack--tight {
414
+ gap: 0.85rem;
415
+ }
416
+
417
+ .screen-block--detail {
418
+ min-height: calc(100dvh - 8rem);
419
+ }
420
+
421
+ .surface,
422
+ .surface-card {
423
+ padding: 1rem;
424
+ }
425
+
426
+ .surface-card--accent {
427
+ background:
428
+ linear-gradient(180deg, rgba(47, 143, 103, 0.14), rgba(17, 27, 35, 0.96)),
429
+ var(--panel);
430
+ }
431
+
432
+ .settings-screen,
433
+ .settings-page {
434
+ display: grid;
435
+ gap: 1rem;
436
+ align-content: start;
437
+ align-items: start;
438
+ }
439
+
440
+ .settings-page-header {
441
+ display: grid;
442
+ gap: 0.9rem;
443
+ }
444
+
445
+ .settings-page-copy {
446
+ margin: 0;
447
+ padding: 0 0.2rem;
448
+ line-height: 1.55;
449
+ }
450
+
451
+ .settings-inline-back {
452
+ width: fit-content;
453
+ display: inline-flex;
454
+ align-items: center;
455
+ gap: 0.4rem;
456
+ }
457
+
458
+ .settings-inline-back svg {
459
+ width: 1rem;
460
+ height: 1rem;
461
+ }
462
+
463
+ .settings-group {
464
+ display: grid;
465
+ gap: 0.38rem;
466
+ }
467
+
468
+ .settings-group__title {
469
+ margin: 0 0.45rem;
470
+ font-size: 0.74rem;
471
+ letter-spacing: 0.04em;
472
+ text-transform: uppercase;
473
+ color: rgba(205, 220, 231, 0.5);
474
+ }
475
+
476
+ .settings-list,
477
+ .settings-action-panel,
478
+ .settings-copy-block {
479
+ align-self: start;
480
+ overflow: hidden;
481
+ border: 1px solid rgba(156, 181, 197, 0.08);
482
+ border-radius: 18px;
483
+ background: rgba(22, 28, 35, 0.96);
484
+ box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
485
+ }
486
+
487
+ .settings-nav-row,
488
+ .settings-info-row,
489
+ .settings-choice-row {
490
+ width: 100%;
491
+ display: grid;
492
+ gap: 0.85rem;
493
+ align-items: center;
494
+ padding: 0.95rem 1rem;
495
+ background: transparent;
496
+ color: var(--text);
497
+ border: 0;
498
+ text-align: left;
499
+ }
500
+
501
+ .settings-nav-row,
502
+ .settings-choice-row {
503
+ cursor: pointer;
504
+ -webkit-tap-highlight-color: transparent;
505
+ }
506
+
507
+ .settings-nav-row {
508
+ grid-template-columns: auto minmax(0, 1fr) auto auto;
509
+ }
510
+
511
+ .settings-info-row {
512
+ grid-template-columns: minmax(0, 1fr) auto;
513
+ }
514
+
515
+ .settings-info-row--stacked {
516
+ grid-template-columns: minmax(0, 1fr);
517
+ align-items: flex-start;
518
+ gap: 0.48rem;
519
+ }
520
+
521
+ .settings-choice-row {
522
+ grid-template-columns: minmax(0, 1fr) auto;
523
+ }
524
+
525
+ .settings-nav-row + .settings-nav-row,
526
+ .settings-info-row + .settings-info-row,
527
+ .settings-choice-row + .settings-choice-row {
528
+ border-top: 1px solid rgba(255, 255, 255, 0.06);
529
+ }
530
+
531
+ .settings-nav-row:active,
532
+ .settings-choice-row:active {
533
+ background: rgba(255, 255, 255, 0.035);
534
+ }
535
+
536
+ .settings-row__icon {
537
+ width: 1.95rem;
538
+ height: 1.95rem;
539
+ display: inline-flex;
540
+ align-items: center;
541
+ justify-content: center;
542
+ border-radius: 11px;
543
+ background: rgba(123, 195, 255, 0.12);
544
+ color: #e9f7ff;
545
+ }
546
+
547
+ .settings-row__icon svg,
548
+ .settings-row__chevron svg,
549
+ .settings-choice-row__check svg {
550
+ width: 1rem;
551
+ height: 1rem;
552
+ }
553
+
554
+ .settings-row__body {
555
+ min-width: 0;
556
+ display: grid;
557
+ gap: 0.18rem;
558
+ }
559
+
560
+ .settings-row__title,
561
+ .settings-info-row__label {
562
+ font-size: 1rem;
563
+ line-height: 1.3;
564
+ }
565
+
566
+ .settings-row__subtitle {
567
+ color: var(--muted);
568
+ font-size: 0.84rem;
569
+ line-height: 1.35;
570
+ display: -webkit-box;
571
+ overflow: hidden;
572
+ -webkit-line-clamp: 1;
573
+ -webkit-box-orient: vertical;
574
+ }
575
+
576
+ .settings-row__value,
577
+ .settings-info-row__value {
578
+ color: rgba(231, 243, 250, 0.68);
579
+ font-size: 0.88rem;
580
+ text-align: right;
581
+ overflow-wrap: anywhere;
582
+ }
583
+
584
+ .settings-info-row--stacked .settings-info-row__value {
585
+ text-align: left;
586
+ }
587
+
588
+ .settings-info-row__value--mono {
589
+ font-family: ui-monospace, SFMono-Regular, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
590
+ font-size: 0.82rem;
591
+ line-height: 1.45;
592
+ word-break: break-all;
593
+ }
594
+
595
+ .settings-row__chevron {
596
+ width: 0.95rem;
597
+ height: 0.95rem;
598
+ color: rgba(236, 248, 255, 0.32);
599
+ }
600
+
601
+ .settings-choice-row__check {
602
+ width: 1.15rem;
603
+ height: 1.15rem;
604
+ color: #79c4ff;
605
+ }
606
+
607
+ .settings-copy-block {
608
+ padding: 0.95rem 1rem;
609
+ }
610
+
611
+ .settings-copy-block--compact {
612
+ padding: 0.78rem 0.9rem;
613
+ }
614
+
615
+ .settings-copy-block--stacked {
616
+ display: grid;
617
+ gap: 0.9rem;
618
+ }
619
+
620
+ .settings-copy-block p {
621
+ margin: 0;
622
+ }
623
+
624
+ .settings-action-panel {
625
+ padding: 1rem;
626
+ }
627
+
628
+ .settings-list--compact .settings-info-row,
629
+ .settings-list--compact .settings-choice-row {
630
+ padding-top: 0.78rem;
631
+ padding-bottom: 0.78rem;
632
+ }
633
+
634
+ .settings-list--compact .settings-info-row:last-child,
635
+ .settings-list--compact .settings-choice-row:last-child {
636
+ padding-bottom: 0.56rem;
637
+ }
638
+
639
+ .settings-command-card {
640
+ display: grid;
641
+ gap: 0.35rem;
642
+ padding: 0.85rem 0.95rem;
643
+ border: 1px solid rgba(156, 181, 197, 0.12);
644
+ border-radius: 16px;
645
+ background: rgba(255, 255, 255, 0.035);
646
+ }
647
+
648
+ .settings-command-card__label {
649
+ color: var(--muted);
650
+ font-size: 0.8rem;
651
+ line-height: 1.35;
652
+ }
653
+
654
+ .settings-command-card__value {
655
+ display: block;
656
+ font-family: ui-monospace, SFMono-Regular, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
657
+ font-size: 0.86rem;
658
+ line-height: 1.5;
659
+ color: var(--text);
660
+ overflow-wrap: anywhere;
661
+ }
662
+
663
+ .device-list {
664
+ display: grid;
665
+ gap: 0.8rem;
666
+ }
667
+
668
+ .device-card {
669
+ padding: 0.95rem;
670
+ border: 1px solid rgba(156, 181, 197, 0.08);
671
+ border-radius: 18px;
672
+ background: rgba(22, 28, 35, 0.96);
673
+ box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
674
+ }
675
+
676
+ .device-card__header {
677
+ display: flex;
678
+ justify-content: space-between;
679
+ gap: 0.75rem;
680
+ align-items: flex-start;
681
+ }
682
+
683
+ .device-card__title-wrap {
684
+ min-width: 0;
685
+ display: grid;
686
+ gap: 0.34rem;
687
+ }
688
+
689
+ .device-card__headline {
690
+ display: flex;
691
+ align-items: center;
692
+ gap: 0.55rem;
693
+ min-width: 0;
694
+ }
695
+
696
+ .device-card__icon {
697
+ width: 1.9rem;
698
+ height: 1.9rem;
699
+ display: inline-flex;
700
+ align-items: center;
701
+ justify-content: center;
702
+ border-radius: 11px;
703
+ background: rgba(123, 195, 255, 0.12);
704
+ color: #e9f7ff;
705
+ flex: 0 0 auto;
706
+ }
707
+
708
+ .device-card__icon svg {
709
+ width: 1rem;
710
+ height: 1rem;
711
+ }
712
+
713
+ .device-card__title {
714
+ margin: 0;
715
+ font-size: 1rem;
716
+ line-height: 1.3;
717
+ overflow-wrap: anywhere;
718
+ }
719
+
720
+ .device-card__subtitle {
721
+ margin: 0;
722
+ color: rgba(231, 243, 250, 0.62);
723
+ font-size: 0.78rem;
724
+ line-height: 1.45;
725
+ font-family: ui-monospace, SFMono-Regular, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
726
+ overflow-wrap: anywhere;
727
+ }
728
+
729
+ .device-card__badge {
730
+ flex: 0 0 auto;
731
+ display: inline-flex;
732
+ align-items: center;
733
+ justify-content: center;
734
+ min-height: 1.75rem;
735
+ padding: 0.2rem 0.68rem;
736
+ border-radius: 999px;
737
+ border: 1px solid rgba(121, 196, 255, 0.24);
738
+ background: rgba(121, 196, 255, 0.12);
739
+ color: #dcf1ff;
740
+ font-size: 0.78rem;
741
+ font-weight: 600;
742
+ white-space: nowrap;
743
+ }
744
+
745
+ .device-card__meta {
746
+ margin-top: 0.85rem;
747
+ display: grid;
748
+ gap: 0.48rem;
749
+ }
750
+
751
+ .device-card__meta-row {
752
+ display: grid;
753
+ grid-template-columns: minmax(0, 1fr) auto;
754
+ gap: 0.75rem;
755
+ align-items: start;
756
+ }
757
+
758
+ .device-card__meta-label {
759
+ color: var(--muted);
760
+ font-size: 0.82rem;
761
+ line-height: 1.35;
762
+ }
763
+
764
+ .device-card__meta-value {
765
+ color: rgba(231, 243, 250, 0.9);
766
+ font-size: 0.84rem;
767
+ line-height: 1.35;
768
+ text-align: right;
769
+ overflow-wrap: anywhere;
770
+ }
771
+
772
+ .device-card__actions {
773
+ margin-top: 0.95rem;
774
+ }
775
+
776
+ .screen-header {
777
+ display: flex;
778
+ justify-content: space-between;
779
+ gap: 1rem;
780
+ align-items: flex-start;
781
+ margin-bottom: 0.35rem;
782
+ }
783
+
784
+ .screen-eyebrow {
785
+ margin: 0 0 0.5rem;
786
+ font-size: 0.82rem;
787
+ letter-spacing: 0.04em;
788
+ text-transform: uppercase;
789
+ color: var(--muted);
790
+ }
791
+
792
+ .screen-title {
793
+ font-size: clamp(1.5rem, 5vw, 1.95rem);
794
+ }
795
+
796
+ .screen-shell--mobile {
797
+ gap: 0.85rem;
798
+ }
799
+
800
+ .screen-header--mobile {
801
+ align-items: center;
802
+ }
803
+
804
+ .screen-header--mobile .screen-copy {
805
+ max-width: 72%;
806
+ font-size: 0.94rem;
807
+ }
808
+
809
+ .screen-copy--mobile-intro {
810
+ font-size: 0.94rem;
811
+ line-height: 1.5;
812
+ }
813
+
814
+ .card-list {
815
+ display: grid;
816
+ gap: 0.85rem;
817
+ }
818
+
819
+ .item-card {
820
+ width: 100%;
821
+ display: grid;
822
+ gap: 0.8rem;
823
+ padding: 0.95rem;
824
+ border: 1px solid var(--line);
825
+ border-radius: 20px;
826
+ background: var(--card);
827
+ box-shadow: var(--shadow-card);
828
+ color: var(--text);
829
+ text-align: left;
830
+ cursor: pointer;
831
+ }
832
+
833
+ .item-card__header {
834
+ display: flex;
835
+ justify-content: space-between;
836
+ gap: 0.8rem;
837
+ align-items: center;
838
+ }
839
+
840
+ .item-card__header-right {
841
+ display: inline-flex;
842
+ align-items: center;
843
+ justify-content: flex-end;
844
+ gap: 0.55rem;
845
+ min-width: fit-content;
846
+ }
847
+
848
+ .item-card__header--completion-readonly {
849
+ justify-content: flex-end;
850
+ gap: 0.55rem;
851
+ }
852
+
853
+ .item-card__meta,
854
+ .detail-pills {
855
+ display: flex;
856
+ flex-wrap: wrap;
857
+ gap: 0.55rem;
858
+ }
859
+
860
+ .item-card__content {
861
+ display: grid;
862
+ gap: 0.38rem;
863
+ }
864
+
865
+ .item-card__intent,
866
+ .detail-intent {
867
+ margin: 0;
868
+ display: inline-flex;
869
+ align-items: center;
870
+ gap: 0.42rem;
871
+ color: rgba(236, 248, 255, 0.86);
872
+ font-size: 0.84rem;
873
+ line-height: 1.35;
874
+ }
875
+
876
+ .item-card__intent {
877
+ color: #d7e8f3;
878
+ }
879
+
880
+ .item-card__intent-icon,
881
+ .detail-intent__icon {
882
+ width: 0.98rem;
883
+ height: 0.98rem;
884
+ display: inline-flex;
885
+ flex: 0 0 auto;
886
+ color: rgba(236, 248, 255, 0.88);
887
+ }
888
+
889
+ .item-card__title {
890
+ margin: 0;
891
+ font-size: 1.08rem;
892
+ line-height: 1.35;
893
+ overflow-wrap: anywhere;
894
+ }
895
+
896
+ .item-card__summary {
897
+ margin: 0;
898
+ color: var(--muted);
899
+ line-height: 1.45;
900
+ display: -webkit-box;
901
+ overflow: hidden;
902
+ -webkit-line-clamp: 2;
903
+ -webkit-box-orient: vertical;
904
+ overflow-wrap: anywhere;
905
+ }
906
+
907
+ .item-card__thread {
908
+ margin: 0;
909
+ color: var(--muted);
910
+ font-size: 0.82rem;
911
+ line-height: 1.35;
912
+ }
913
+
914
+ .item-card__timestamp {
915
+ color: var(--muted);
916
+ font-size: 0.84rem;
917
+ line-height: 1;
918
+ white-space: nowrap;
919
+ }
920
+
921
+ .item-card__status-note {
922
+ margin: 0;
923
+ color: var(--muted);
924
+ font-size: 0.84rem;
925
+ }
926
+
927
+ .item-card__chevron {
928
+ width: 1rem;
929
+ height: 1rem;
930
+ flex: 0 0 auto;
931
+ color: rgba(236, 248, 255, 0.7);
932
+ }
933
+
934
+ .item-card--approval {
935
+ background:
936
+ linear-gradient(180deg, rgba(47, 143, 103, 0.12), rgba(20, 31, 40, 0.96)),
937
+ var(--card);
938
+ }
939
+
940
+ .item-card--plan {
941
+ background:
942
+ linear-gradient(180deg, rgba(143, 173, 255, 0.12), rgba(20, 31, 40, 0.96)),
943
+ var(--card);
944
+ }
945
+
946
+ .item-card--choice {
947
+ background:
948
+ linear-gradient(180deg, rgba(79, 131, 216, 0.12), rgba(20, 31, 40, 0.96)),
949
+ var(--card);
950
+ }
951
+
952
+ .item-card--completion {
953
+ background:
954
+ linear-gradient(180deg, rgba(210, 170, 99, 0.1), rgba(20, 31, 40, 0.96)),
955
+ var(--card);
956
+ }
957
+
958
+ .item-card--completion-readonly .item-card__content {
959
+ gap: 0.4rem;
960
+ }
961
+
962
+ .item-card--completion-readonly .item-card__title {
963
+ font-size: 1.03rem;
964
+ line-height: 1.55;
965
+ font-weight: 500;
966
+ }
967
+
968
+ .timeline-shell {
969
+ gap: 0.9rem;
970
+ }
971
+
972
+ .timeline-thread-filter {
973
+ display: grid;
974
+ gap: 0.38rem;
975
+ }
976
+
977
+ .timeline-thread-filter__label {
978
+ color: var(--muted);
979
+ font-size: 0.8rem;
980
+ line-height: 1.3;
981
+ }
982
+
983
+ .timeline-thread-select-wrap {
984
+ position: relative;
985
+ }
986
+
987
+ .timeline-thread-select {
988
+ width: 100%;
989
+ appearance: none;
990
+ -webkit-appearance: none;
991
+ border: 1px solid rgba(156, 181, 197, 0.14);
992
+ border-radius: 15px;
993
+ background: rgba(255, 255, 255, 0.05);
994
+ color: var(--text);
995
+ min-height: 2.7rem;
996
+ padding: 0.72rem 2.75rem 0.72rem 0.92rem;
997
+ font-size: 0.92rem;
998
+ font-weight: 600;
999
+ }
1000
+
1001
+ .timeline-thread-select__chevron {
1002
+ position: absolute;
1003
+ right: 0.92rem;
1004
+ top: 50%;
1005
+ width: 1rem;
1006
+ height: 1rem;
1007
+ color: rgba(236, 248, 255, 0.72);
1008
+ transform: translateY(-50%);
1009
+ pointer-events: none;
1010
+ }
1011
+
1012
+ .timeline-list {
1013
+ display: grid;
1014
+ gap: 0.72rem;
1015
+ }
1016
+
1017
+ .timeline-entry {
1018
+ width: 100%;
1019
+ display: grid;
1020
+ gap: 0.55rem;
1021
+ padding: 0.92rem;
1022
+ border: 1px solid var(--line);
1023
+ border-radius: 20px;
1024
+ background: rgba(18, 28, 36, 0.9);
1025
+ box-shadow: var(--shadow-card);
1026
+ color: var(--text);
1027
+ text-align: left;
1028
+ cursor: pointer;
1029
+ }
1030
+
1031
+ .timeline-entry__meta {
1032
+ display: grid;
1033
+ grid-template-columns: minmax(0, 1fr) auto;
1034
+ gap: 0.75rem;
1035
+ align-items: center;
1036
+ }
1037
+
1038
+ .timeline-entry__meta-right {
1039
+ display: inline-flex;
1040
+ align-items: center;
1041
+ gap: 0.45rem;
1042
+ min-width: 0;
1043
+ }
1044
+
1045
+ .timeline-entry__kind {
1046
+ min-width: 0;
1047
+ display: inline-flex;
1048
+ align-items: center;
1049
+ gap: 0.42rem;
1050
+ color: #edf8ff;
1051
+ font-size: 0.8rem;
1052
+ font-weight: 700;
1053
+ }
1054
+
1055
+ .timeline-entry__kind-icon {
1056
+ width: 0.98rem;
1057
+ height: 0.98rem;
1058
+ display: inline-flex;
1059
+ flex: 0 0 auto;
1060
+ color: rgba(236, 248, 255, 0.84);
1061
+ }
1062
+
1063
+ .timeline-entry__time,
1064
+ .timeline-entry__status,
1065
+ .timeline-entry__thread {
1066
+ color: var(--muted);
1067
+ }
1068
+
1069
+ .timeline-entry__time,
1070
+ .timeline-entry__status {
1071
+ font-size: 0.78rem;
1072
+ line-height: 1.3;
1073
+ }
1074
+
1075
+ .timeline-entry__thread {
1076
+ margin: 0;
1077
+ font-size: 0.82rem;
1078
+ line-height: 1.35;
1079
+ }
1080
+
1081
+ .timeline-entry__body {
1082
+ display: grid;
1083
+ gap: 0.34rem;
1084
+ }
1085
+
1086
+ .timeline-entry__title,
1087
+ .timeline-entry__summary {
1088
+ margin: 0;
1089
+ overflow-wrap: anywhere;
1090
+ }
1091
+
1092
+ .timeline-entry__title {
1093
+ font-size: 1rem;
1094
+ line-height: 1.45;
1095
+ }
1096
+
1097
+ .timeline-entry__summary {
1098
+ color: var(--muted);
1099
+ line-height: 1.5;
1100
+ display: -webkit-box;
1101
+ overflow: hidden;
1102
+ -webkit-line-clamp: 3;
1103
+ -webkit-box-orient: vertical;
1104
+ }
1105
+
1106
+ .timeline-entry__footer {
1107
+ display: flex;
1108
+ align-items: center;
1109
+ gap: 0.7rem;
1110
+ }
1111
+
1112
+ .timeline-entry__chevron {
1113
+ width: 1rem;
1114
+ height: 1rem;
1115
+ flex: 0 0 auto;
1116
+ color: rgba(236, 248, 255, 0.66);
1117
+ }
1118
+
1119
+ .timeline-entry--message .timeline-entry__title {
1120
+ font-size: 1.03rem;
1121
+ line-height: 1.55;
1122
+ color: #f2fbff;
1123
+ }
1124
+
1125
+ .timeline-entry--message .timeline-entry__footer {
1126
+ padding-top: 0.1rem;
1127
+ }
1128
+
1129
+ .timeline-entry--kind-user-message {
1130
+ background:
1131
+ linear-gradient(180deg, rgba(156, 181, 197, 0.1), rgba(20, 31, 40, 0.96)),
1132
+ var(--card);
1133
+ }
1134
+
1135
+ .timeline-entry--kind-assistant-commentary {
1136
+ background:
1137
+ linear-gradient(180deg, rgba(143, 173, 255, 0.12), rgba(20, 31, 40, 0.96)),
1138
+ var(--card);
1139
+ }
1140
+
1141
+ .timeline-entry--kind-assistant-final {
1142
+ background:
1143
+ linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(20, 31, 40, 0.96)),
1144
+ var(--card);
1145
+ }
1146
+
1147
+ .timeline-entry--approval {
1148
+ background:
1149
+ linear-gradient(180deg, rgba(47, 143, 103, 0.12), rgba(20, 31, 40, 0.96)),
1150
+ var(--card);
1151
+ }
1152
+
1153
+ .timeline-entry--plan {
1154
+ background:
1155
+ linear-gradient(180deg, rgba(143, 173, 255, 0.12), rgba(20, 31, 40, 0.96)),
1156
+ var(--card);
1157
+ }
1158
+
1159
+ .timeline-entry--choice {
1160
+ background:
1161
+ linear-gradient(180deg, rgba(79, 131, 216, 0.12), rgba(20, 31, 40, 0.96)),
1162
+ var(--card);
1163
+ }
1164
+
1165
+ .timeline-entry--completion {
1166
+ background:
1167
+ linear-gradient(180deg, rgba(210, 170, 99, 0.1), rgba(20, 31, 40, 0.96)),
1168
+ var(--card);
1169
+ }
1170
+
1171
+ .detail-shell {
1172
+ border: 1px solid var(--line);
1173
+ border-radius: var(--radius-card);
1174
+ background: var(--panel);
1175
+ box-shadow: var(--shadow-card);
1176
+ padding: 1rem;
1177
+ }
1178
+
1179
+ .detail-shell--mobile {
1180
+ display: grid;
1181
+ grid-template-rows: minmax(0, 1fr) auto;
1182
+ min-height: calc(100dvh - 5.6rem);
1183
+ align-content: start;
1184
+ padding: 0;
1185
+ border: 0;
1186
+ border-radius: 0;
1187
+ background: transparent;
1188
+ box-shadow: none;
1189
+ overflow: hidden;
1190
+ }
1191
+
1192
+ .mobile-detail-screen {
1193
+ display: flex;
1194
+ flex-direction: column;
1195
+ gap: 0;
1196
+ min-height: calc(100dvh - 5.6rem);
1197
+ }
1198
+
1199
+ .mobile-detail-scroll {
1200
+ min-height: 0;
1201
+ overflow: auto;
1202
+ -webkit-overflow-scrolling: touch;
1203
+ padding: 0 0.42rem 0.78rem;
1204
+ display: flex;
1205
+ flex-direction: column;
1206
+ align-items: stretch;
1207
+ align-content: flex-start;
1208
+ gap: 0.42rem;
1209
+ }
1210
+
1211
+ .mobile-detail-scroll--detail {
1212
+ gap: 0.14rem;
1213
+ }
1214
+
1215
+ .detail-action-bar {
1216
+ display: grid;
1217
+ gap: 0.75rem;
1218
+ padding: 0.78rem 0.52rem calc(0.78rem + env(safe-area-inset-bottom));
1219
+ border-top: 1px solid rgba(156, 181, 197, 0.14);
1220
+ background:
1221
+ linear-gradient(180deg, rgba(11, 18, 24, 0.72), rgba(11, 18, 24, 0.9)),
1222
+ rgba(9, 16, 21, 0.78);
1223
+ -webkit-backdrop-filter: blur(22px) saturate(1.08);
1224
+ backdrop-filter: blur(22px) saturate(1.08);
1225
+ }
1226
+
1227
+ .detail-hero {
1228
+ display: grid;
1229
+ gap: 0.75rem;
1230
+ }
1231
+
1232
+ .detail-meta-row {
1233
+ display: flex;
1234
+ justify-content: space-between;
1235
+ gap: 0.75rem;
1236
+ align-items: center;
1237
+ }
1238
+
1239
+ .detail-meta-row__left {
1240
+ display: flex;
1241
+ flex-wrap: wrap;
1242
+ gap: 0.36rem;
1243
+ align-items: center;
1244
+ }
1245
+
1246
+ .detail-meta-row--mobile {
1247
+ padding-top: 0;
1248
+ }
1249
+
1250
+ .detail-meta-row .type-pill,
1251
+ .detail-meta-row .status-pill {
1252
+ min-height: 1.72rem;
1253
+ padding: 0.24rem 0.62rem;
1254
+ }
1255
+
1256
+ .detail-meta-row__time {
1257
+ color: var(--muted);
1258
+ font-size: 0.84rem;
1259
+ line-height: 1;
1260
+ white-space: nowrap;
1261
+ }
1262
+
1263
+ .detail-title {
1264
+ font-size: clamp(1.5rem, 5vw, 2.1rem);
1265
+ line-height: 1.15;
1266
+ overflow-wrap: anywhere;
1267
+ margin: 0;
1268
+ }
1269
+
1270
+ .detail-title--mobile {
1271
+ font-size: clamp(1.62rem, 7vw, 2.18rem);
1272
+ line-height: 1.06;
1273
+ letter-spacing: -0.045em;
1274
+ }
1275
+
1276
+ .detail-title--desktop {
1277
+ font-size: clamp(1.28rem, 2.3vw, 1.72rem);
1278
+ line-height: 1.15;
1279
+ letter-spacing: -0.03em;
1280
+ }
1281
+
1282
+ .detail-body {
1283
+ overflow-wrap: anywhere;
1284
+ width: 100%;
1285
+ }
1286
+
1287
+ .detail-card--body .detail-body {
1288
+ padding: 0.18rem 0.16rem 0.12rem;
1289
+ }
1290
+
1291
+ .detail-card--message-body .detail-body {
1292
+ padding: 0.82rem 0.86rem 0.74rem;
1293
+ }
1294
+
1295
+ .detail-card--message-body.detail-card--mobile .detail-body {
1296
+ padding: 0.74rem 0.76rem 0.68rem;
1297
+ }
1298
+
1299
+ .detail-body.markdown {
1300
+ line-height: 1.62;
1301
+ color: #f3fbff;
1302
+ }
1303
+
1304
+ .detail-body--message.markdown {
1305
+ line-height: 1.72;
1306
+ }
1307
+
1308
+ .detail-body.markdown > * {
1309
+ margin-top: 0;
1310
+ margin-bottom: 0.6rem;
1311
+ }
1312
+
1313
+ .detail-body.markdown > :last-child {
1314
+ margin-bottom: 0;
1315
+ }
1316
+
1317
+ .detail-body.markdown h1,
1318
+ .detail-body.markdown h2,
1319
+ .detail-body.markdown h3,
1320
+ .detail-body.markdown h4,
1321
+ .detail-body.markdown h5,
1322
+ .detail-body.markdown h6 {
1323
+ line-height: 1.18;
1324
+ }
1325
+
1326
+ .detail-body.markdown h1 {
1327
+ font-size: clamp(1.28rem, 5vw, 1.72rem);
1328
+ }
1329
+
1330
+ .detail-body.markdown h2 {
1331
+ font-size: clamp(1.12rem, 4.2vw, 1.34rem);
1332
+ }
1333
+
1334
+ .detail-body.markdown h3 {
1335
+ font-size: clamp(1rem, 3.5vw, 1.12rem);
1336
+ }
1337
+
1338
+ .detail-body.markdown pre {
1339
+ overflow: auto;
1340
+ padding: 0.82rem 0.88rem;
1341
+ border: 1px solid var(--line);
1342
+ border-radius: 16px;
1343
+ background: var(--panel-strong);
1344
+ }
1345
+
1346
+ .detail-body.markdown table {
1347
+ display: block;
1348
+ overflow-x: auto;
1349
+ }
1350
+
1351
+ .detail-card {
1352
+ border: 1px solid rgba(156, 181, 197, 0.12);
1353
+ border-radius: 18px;
1354
+ background:
1355
+ linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02)),
1356
+ rgba(16, 26, 33, 0.9);
1357
+ box-shadow:
1358
+ 0 12px 24px rgba(0, 0, 0, 0.14),
1359
+ inset 0 1px 0 rgba(255, 255, 255, 0.03);
1360
+ display: flex;
1361
+ flex-direction: column;
1362
+ align-items: stretch;
1363
+ gap: 0.52rem;
1364
+ width: 100%;
1365
+ align-self: start;
1366
+ padding: 0.68rem 0.78rem;
1367
+ }
1368
+
1369
+ .detail-card--mobile {
1370
+ padding: 0.42rem 0.5rem;
1371
+ gap: 0.4rem;
1372
+ }
1373
+
1374
+ .detail-loading {
1375
+ display: grid;
1376
+ gap: 0.58rem;
1377
+ width: 100%;
1378
+ }
1379
+
1380
+ .detail-loading__copy {
1381
+ margin: 0;
1382
+ color: var(--muted);
1383
+ font-size: 0.9rem;
1384
+ line-height: 1.45;
1385
+ }
1386
+
1387
+ .detail-loading__lines {
1388
+ display: grid;
1389
+ gap: 0.46rem;
1390
+ }
1391
+
1392
+ .detail-loading__line {
1393
+ display: block;
1394
+ width: 100%;
1395
+ height: 0.78rem;
1396
+ border-radius: 999px;
1397
+ background:
1398
+ linear-gradient(90deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.08)),
1399
+ rgba(255, 255, 255, 0.08);
1400
+ background-size: 200% 100%;
1401
+ animation: detail-loading-pulse 1.25s ease-in-out infinite;
1402
+ }
1403
+
1404
+ .detail-loading__line--long {
1405
+ width: 100%;
1406
+ }
1407
+
1408
+ .detail-loading__line--mid {
1409
+ width: 74%;
1410
+ }
1411
+
1412
+ .detail-loading__line--short {
1413
+ width: 52%;
1414
+ }
1415
+
1416
+ .detail-card--body {
1417
+ margin-top: 0.28rem;
1418
+ }
1419
+
1420
+ .detail-card--context {
1421
+ margin-top: 0.28rem;
1422
+ gap: 0.42rem;
1423
+ background:
1424
+ linear-gradient(180deg, rgba(156, 181, 197, 0.06), rgba(255, 255, 255, 0.02)),
1425
+ rgba(14, 22, 29, 0.84);
1426
+ }
1427
+
1428
+ .detail-card--reply {
1429
+ margin-top: 0.32rem;
1430
+ gap: 0.72rem;
1431
+ }
1432
+
1433
+ .detail-context-card__header {
1434
+ display: grid;
1435
+ grid-template-columns: minmax(0, 1fr) auto;
1436
+ gap: 0.72rem;
1437
+ align-items: center;
1438
+ }
1439
+
1440
+ .detail-context-card__eyebrow {
1441
+ min-width: 0;
1442
+ display: inline-flex;
1443
+ align-items: center;
1444
+ gap: 0.42rem;
1445
+ color: rgba(236, 248, 255, 0.78);
1446
+ font-size: 0.76rem;
1447
+ font-weight: 700;
1448
+ letter-spacing: 0.02em;
1449
+ text-transform: uppercase;
1450
+ }
1451
+
1452
+ .detail-context-card__icon {
1453
+ width: 0.92rem;
1454
+ height: 0.92rem;
1455
+ flex: 0 0 auto;
1456
+ opacity: 0.88;
1457
+ }
1458
+
1459
+ .detail-context-card__time {
1460
+ color: var(--muted);
1461
+ font-size: 0.76rem;
1462
+ line-height: 1.3;
1463
+ }
1464
+
1465
+ .detail-context-card__kind {
1466
+ margin: 0;
1467
+ color: rgba(236, 248, 255, 0.62);
1468
+ font-size: 0.84rem;
1469
+ line-height: 1.4;
1470
+ }
1471
+
1472
+ .detail-body--context {
1473
+ color: rgba(243, 251, 255, 0.88);
1474
+ }
1475
+
1476
+ .detail-body--context.markdown {
1477
+ font-size: 0.95rem;
1478
+ line-height: 1.58;
1479
+ }
1480
+
1481
+ .detail-lead {
1482
+ margin: 0;
1483
+ display: flex;
1484
+ gap: 0.48rem;
1485
+ align-items: flex-start;
1486
+ color: var(--muted);
1487
+ font-size: 0.88rem;
1488
+ line-height: 1.46;
1489
+ }
1490
+
1491
+ .detail-lead__icon {
1492
+ width: 0.98rem;
1493
+ height: 0.98rem;
1494
+ flex: 0 0 auto;
1495
+ opacity: 0.9;
1496
+ }
1497
+
1498
+ .reply-composer {
1499
+ display: grid;
1500
+ gap: 0.78rem;
1501
+ }
1502
+
1503
+ .reply-composer__copy {
1504
+ display: grid;
1505
+ gap: 0.34rem;
1506
+ }
1507
+
1508
+ .reply-composer__title {
1509
+ margin: 0;
1510
+ font-size: 1rem;
1511
+ line-height: 1.28;
1512
+ }
1513
+
1514
+ .reply-composer__description {
1515
+ margin: 0;
1516
+ }
1517
+
1518
+ .reply-composer__form {
1519
+ display: grid;
1520
+ gap: 0.8rem;
1521
+ }
1522
+
1523
+ .reply-field {
1524
+ gap: 0.5rem;
1525
+ }
1526
+
1527
+ .reply-field__input {
1528
+ width: 100%;
1529
+ min-height: 7.4rem;
1530
+ padding: 0.9rem 1rem;
1531
+ border-radius: 18px;
1532
+ border: 1px solid var(--line);
1533
+ background: rgba(7, 12, 16, 0.96);
1534
+ color: var(--text);
1535
+ resize: vertical;
1536
+ font: inherit;
1537
+ line-height: 1.58;
1538
+ }
1539
+
1540
+ .reply-field__input::placeholder {
1541
+ color: rgba(205, 220, 231, 0.42);
1542
+ }
1543
+
1544
+ .reply-mode-switch {
1545
+ display: grid;
1546
+ grid-template-columns: auto auto minmax(0, 1fr);
1547
+ gap: 0.78rem;
1548
+ align-items: center;
1549
+ padding: 0.82rem 0.92rem;
1550
+ border: 1px solid rgba(156, 181, 197, 0.1);
1551
+ border-radius: 18px;
1552
+ background: rgba(255, 255, 255, 0.035);
1553
+ cursor: pointer;
1554
+ }
1555
+
1556
+ .reply-mode-switch__input {
1557
+ position: absolute;
1558
+ opacity: 0;
1559
+ pointer-events: none;
1560
+ }
1561
+
1562
+ .reply-mode-switch__track {
1563
+ width: 2.9rem;
1564
+ height: 1.8rem;
1565
+ border-radius: 999px;
1566
+ background: rgba(255, 255, 255, 0.1);
1567
+ border: 1px solid rgba(156, 181, 197, 0.16);
1568
+ padding: 0.14rem;
1569
+ display: flex;
1570
+ align-items: center;
1571
+ transition: background 160ms ease, border-color 160ms ease;
1572
+ }
1573
+
1574
+ .reply-mode-switch__thumb {
1575
+ width: 1.22rem;
1576
+ height: 1.22rem;
1577
+ border-radius: 999px;
1578
+ background: rgba(236, 248, 255, 0.94);
1579
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
1580
+ transform: translateX(0);
1581
+ transition: transform 160ms ease;
1582
+ }
1583
+
1584
+ .reply-mode-switch__input:checked + .reply-mode-switch__track {
1585
+ background: rgba(67, 160, 255, 0.28);
1586
+ border-color: rgba(121, 196, 255, 0.34);
1587
+ }
1588
+
1589
+ .reply-mode-switch__input:checked + .reply-mode-switch__track .reply-mode-switch__thumb {
1590
+ transform: translateX(1.06rem);
1591
+ }
1592
+
1593
+ .reply-mode-switch__copy {
1594
+ min-width: 0;
1595
+ display: grid;
1596
+ gap: 0.16rem;
1597
+ }
1598
+
1599
+ .reply-mode-switch__title {
1600
+ display: flex;
1601
+ align-items: center;
1602
+ justify-content: space-between;
1603
+ gap: 0.65rem;
1604
+ font-size: 0.94rem;
1605
+ font-weight: 700;
1606
+ line-height: 1.25;
1607
+ }
1608
+
1609
+ .reply-mode-switch__state {
1610
+ color: rgba(121, 196, 255, 0.92);
1611
+ font-size: 0.78rem;
1612
+ letter-spacing: 0.04em;
1613
+ text-transform: uppercase;
1614
+ }
1615
+
1616
+ .reply-mode-switch__hint {
1617
+ color: var(--muted);
1618
+ font-size: 0.83rem;
1619
+ line-height: 1.45;
1620
+ }
1621
+
1622
+ @keyframes detail-loading-pulse {
1623
+ 0% {
1624
+ background-position: 100% 0;
1625
+ }
1626
+ 100% {
1627
+ background-position: -100% 0;
1628
+ }
1629
+ }
1630
+
1631
+ .detail-intent--featured {
1632
+ padding: 0.72rem 0.78rem;
1633
+ border: 1px solid rgba(156, 181, 197, 0.12);
1634
+ border-radius: 16px;
1635
+ background: rgba(255, 255, 255, 0.05);
1636
+ color: #edf8ff;
1637
+ }
1638
+
1639
+ .detail-empty,
1640
+ .empty-state {
1641
+ padding: 1.4rem;
1642
+ }
1643
+
1644
+ .empty-state {
1645
+ display: grid;
1646
+ gap: 0.4rem;
1647
+ padding: 0.5rem 0.1rem 0;
1648
+ border: 0;
1649
+ border-radius: 0;
1650
+ background: transparent;
1651
+ box-shadow: none;
1652
+ }
1653
+
1654
+ .empty-state__title {
1655
+ margin: 0;
1656
+ color: rgba(236, 248, 255, 0.84);
1657
+ font-size: 0.98rem;
1658
+ font-weight: 600;
1659
+ }
1660
+
1661
+ .empty-state .muted {
1662
+ margin: 0;
1663
+ line-height: 1.55;
1664
+ }
1665
+
1666
+ .choice-form,
1667
+ .choice-question {
1668
+ display: grid;
1669
+ gap: 0.9rem;
1670
+ }
1671
+
1672
+ .choice-question {
1673
+ margin: 0;
1674
+ padding: 0.72rem;
1675
+ border: 1px solid rgba(156, 181, 197, 0.12);
1676
+ border-radius: 16px;
1677
+ background: rgba(255, 255, 255, 0.04);
1678
+ }
1679
+
1680
+ .choice-question legend {
1681
+ padding: 0 0.4rem;
1682
+ color: var(--muted);
1683
+ font-size: 0.88rem;
1684
+ font-weight: 700;
1685
+ }
1686
+
1687
+ .choice-question p {
1688
+ margin: 0;
1689
+ }
1690
+
1691
+ .choice-question__prompt {
1692
+ line-height: 1.45;
1693
+ }
1694
+
1695
+ .choice-question__hint {
1696
+ color: var(--muted);
1697
+ font-size: 0.84rem;
1698
+ line-height: 1.45;
1699
+ }
1700
+
1701
+ .choice-options {
1702
+ display: grid;
1703
+ gap: 0.75rem;
1704
+ }
1705
+
1706
+ .choice-option {
1707
+ display: flex;
1708
+ gap: 0.75rem;
1709
+ align-items: flex-start;
1710
+ padding: 0.9rem;
1711
+ border: 1px solid rgba(156, 181, 197, 0.1);
1712
+ border-radius: 18px;
1713
+ background: rgba(255, 255, 255, 0.045);
1714
+ }
1715
+
1716
+ .choice-option__content {
1717
+ display: grid;
1718
+ gap: 0.2rem;
1719
+ }
1720
+
1721
+ .choice-option__label,
1722
+ .choice-option__description {
1723
+ overflow-wrap: anywhere;
1724
+ }
1725
+
1726
+ .choice-option__label {
1727
+ color: var(--text);
1728
+ }
1729
+
1730
+ .choice-option__description {
1731
+ color: var(--muted);
1732
+ font-size: 0.84rem;
1733
+ line-height: 1.4;
1734
+ }
1735
+
1736
+ .status-list {
1737
+ display: grid;
1738
+ gap: 0.6rem;
1739
+ }
1740
+
1741
+ .status-row {
1742
+ display: flex;
1743
+ justify-content: space-between;
1744
+ gap: 1rem;
1745
+ align-items: flex-start;
1746
+ padding: 0.78rem 0.9rem;
1747
+ border-radius: 16px;
1748
+ background: rgba(255, 255, 255, 0.04);
1749
+ border: 1px solid rgba(156, 181, 197, 0.12);
1750
+ }
1751
+
1752
+ .status-row__label {
1753
+ color: var(--muted);
1754
+ }
1755
+
1756
+ .status-row__value {
1757
+ max-width: 55%;
1758
+ text-align: right;
1759
+ overflow-wrap: anywhere;
1760
+ }
1761
+
1762
+ .settings-disclosure {
1763
+ display: grid;
1764
+ gap: 0.8rem;
1765
+ }
1766
+
1767
+ .settings-disclosure summary {
1768
+ cursor: pointer;
1769
+ font-weight: 700;
1770
+ list-style: none;
1771
+ }
1772
+
1773
+ .settings-disclosure summary::-webkit-details-marker {
1774
+ display: none;
1775
+ }
1776
+
1777
+ .settings-disclosure__body {
1778
+ display: grid;
1779
+ gap: 0.85rem;
1780
+ }
1781
+
1782
+ .actions {
1783
+ display: flex;
1784
+ flex-wrap: wrap;
1785
+ gap: 0.75rem;
1786
+ }
1787
+
1788
+ .actions--stack {
1789
+ display: grid;
1790
+ grid-template-columns: 1fr;
1791
+ }
1792
+
1793
+ .actions--sticky {
1794
+ gap: 0.65rem;
1795
+ }
1796
+
1797
+ .primary,
1798
+ .secondary,
1799
+ .danger,
1800
+ .ghost {
1801
+ display: inline-flex;
1802
+ align-items: center;
1803
+ justify-content: center;
1804
+ min-height: 3rem;
1805
+ padding: 0.9rem 1rem;
1806
+ border-radius: 18px;
1807
+ border: 0;
1808
+ font-weight: 700;
1809
+ cursor: pointer;
1810
+ text-align: center;
1811
+ }
1812
+
1813
+ .primary--wide,
1814
+ .secondary--wide,
1815
+ .danger--wide {
1816
+ width: 100%;
1817
+ }
1818
+
1819
+ .primary {
1820
+ background: var(--accent);
1821
+ color: #fff;
1822
+ }
1823
+
1824
+ .secondary {
1825
+ background: rgba(255, 255, 255, 0.08);
1826
+ color: var(--text);
1827
+ }
1828
+
1829
+ .danger {
1830
+ background: var(--danger);
1831
+ color: #fff;
1832
+ }
1833
+
1834
+ .ghost {
1835
+ background: transparent;
1836
+ color: var(--muted);
1837
+ border: 1px solid rgba(156, 181, 197, 0.16);
1838
+ }
1839
+
1840
+ button:disabled {
1841
+ opacity: 0.48;
1842
+ cursor: not-allowed;
1843
+ }
1844
+
1845
+ .inline-alert {
1846
+ margin: 0;
1847
+ padding: 0.88rem 0.95rem;
1848
+ border-radius: 16px;
1849
+ background: rgba(255, 255, 255, 0.04);
1850
+ color: #eef8ff;
1851
+ }
1852
+
1853
+ .inline-alert--success {
1854
+ background: var(--accent-soft);
1855
+ color: #d8f8e8;
1856
+ }
1857
+
1858
+ .inline-alert--danger {
1859
+ background: var(--danger-soft);
1860
+ color: #ffd8d8;
1861
+ }
1862
+
1863
+ .inline-alert--warning {
1864
+ background: rgba(214, 171, 96, 0.14);
1865
+ color: #ffe7b8;
1866
+ }
1867
+
1868
+ .reply-warning {
1869
+ display: grid;
1870
+ gap: 0.38rem;
1871
+ }
1872
+
1873
+ .reply-warning__title,
1874
+ .reply-warning__copy,
1875
+ .reply-warning__meta {
1876
+ margin: 0;
1877
+ }
1878
+
1879
+ .reply-warning__title {
1880
+ font-weight: 700;
1881
+ color: #fff4d8;
1882
+ }
1883
+
1884
+ .reply-warning__copy {
1885
+ color: #ffe9c1;
1886
+ }
1887
+
1888
+ .reply-warning__meta {
1889
+ display: flex;
1890
+ flex-wrap: wrap;
1891
+ gap: 0.45rem 0.7rem;
1892
+ font-size: 0.83rem;
1893
+ color: rgba(255, 236, 193, 0.8);
1894
+ }
1895
+
1896
+ .reply-sent-summary {
1897
+ display: grid;
1898
+ gap: 0.85rem;
1899
+ }
1900
+
1901
+ .reply-sent-summary__preview {
1902
+ display: grid;
1903
+ gap: 0.38rem;
1904
+ padding: 0.9rem 0.95rem;
1905
+ border-radius: 16px;
1906
+ background: rgba(255, 255, 255, 0.04);
1907
+ }
1908
+
1909
+ .reply-sent-summary__label,
1910
+ .reply-sent-summary__text {
1911
+ margin: 0;
1912
+ }
1913
+
1914
+ .reply-sent-summary__label {
1915
+ font-size: 0.8rem;
1916
+ color: var(--muted);
1917
+ }
1918
+
1919
+ .reply-sent-summary__text {
1920
+ line-height: 1.55;
1921
+ color: #eef8ff;
1922
+ overflow-wrap: anywhere;
1923
+ }
1924
+
1925
+ .segmented-nav {
1926
+ display: none;
1927
+ }
1928
+
1929
+ .bottom-nav {
1930
+ position: fixed;
1931
+ left: 1rem;
1932
+ right: 1rem;
1933
+ bottom: calc(0.45rem + env(safe-area-inset-bottom));
1934
+ z-index: 20;
1935
+ isolation: isolate;
1936
+ display: grid;
1937
+ grid-template-columns: repeat(4, minmax(0, 1fr));
1938
+ gap: 0.4rem;
1939
+ padding: 0.5rem;
1940
+ border: 1px solid var(--line);
1941
+ border-radius: 24px;
1942
+ background: rgba(9, 16, 21, 0.68);
1943
+ -webkit-backdrop-filter: blur(22px) saturate(1.24);
1944
+ backdrop-filter: blur(22px) saturate(1.24);
1945
+ box-shadow:
1946
+ 0 20px 48px rgba(0, 0, 0, 0.26),
1947
+ inset 0 1px 0 rgba(255, 255, 255, 0.05);
1948
+ }
1949
+
1950
+ .bottom-nav::before {
1951
+ content: "";
1952
+ position: absolute;
1953
+ inset: -0.55rem -0.35rem calc(-1rem - env(safe-area-inset-bottom)) -0.35rem;
1954
+ z-index: -1;
1955
+ pointer-events: none;
1956
+ border-radius: 30px 30px 0 0;
1957
+ background:
1958
+ linear-gradient(180deg, rgba(11, 18, 24, 0.08) 0%, rgba(11, 18, 24, 0.34) 40%, rgba(11, 18, 24, 0.56) 100%);
1959
+ -webkit-backdrop-filter: blur(30px) saturate(1.1);
1960
+ backdrop-filter: blur(30px) saturate(1.1);
1961
+ -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.95) 68%, rgba(0, 0, 0, 0) 100%);
1962
+ mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.95) 68%, rgba(0, 0, 0, 0) 100%);
1963
+ }
1964
+
1965
+ .bottom-nav__button,
1966
+ .segmented-nav__button {
1967
+ border: 0;
1968
+ border-radius: 18px;
1969
+ background: transparent;
1970
+ color: var(--muted);
1971
+ min-height: 3.35rem;
1972
+ min-width: 0;
1973
+ padding: 0.35rem 0.2rem;
1974
+ font-weight: 700;
1975
+ text-align: center;
1976
+ transition:
1977
+ background 160ms ease,
1978
+ color 160ms ease,
1979
+ transform 160ms ease,
1980
+ box-shadow 160ms ease,
1981
+ opacity 160ms ease;
1982
+ }
1983
+
1984
+ .bottom-nav__button {
1985
+ display: grid;
1986
+ justify-items: center;
1987
+ align-content: center;
1988
+ gap: 0.2rem;
1989
+ }
1990
+
1991
+ .bottom-nav__button span,
1992
+ .segmented-nav__button span {
1993
+ display: block;
1994
+ max-width: 100%;
1995
+ overflow: hidden;
1996
+ text-overflow: ellipsis;
1997
+ white-space: nowrap;
1998
+ line-height: 1.15;
1999
+ }
2000
+
2001
+ .tab-icon {
2002
+ width: 1.05rem;
2003
+ height: 1.05rem;
2004
+ display: inline-flex;
2005
+ opacity: 0.86;
2006
+ transition:
2007
+ opacity 160ms ease,
2008
+ transform 160ms ease;
2009
+ }
2010
+
2011
+ .tab-label {
2012
+ font-size: 0.74rem;
2013
+ }
2014
+
2015
+ .bottom-nav__button.is-active,
2016
+ .segmented-nav__button.is-active {
2017
+ background:
2018
+ linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06));
2019
+ color: #fff;
2020
+ transform: translateY(-1px);
2021
+ box-shadow:
2022
+ 0 10px 20px rgba(0, 0, 0, 0.18),
2023
+ inset 0 1px 0 rgba(255, 255, 255, 0.08);
2024
+ }
2025
+
2026
+ .bottom-nav__button.is-active .tab-icon {
2027
+ opacity: 1;
2028
+ transform: scale(1.06);
2029
+ }
2030
+
2031
+ .bottom-nav__button:active {
2032
+ transform: translateY(0);
2033
+ }
2034
+
2035
+ .onboarding-shell {
2036
+ min-height: 100vh;
2037
+ display: grid;
2038
+ place-items: center;
2039
+ padding:
2040
+ max(1.2rem, env(safe-area-inset-top))
2041
+ 1rem
2042
+ max(1.2rem, env(safe-area-inset-bottom))
2043
+ 1rem;
2044
+ }
2045
+
2046
+ .onboarding-card {
2047
+ width: min(32rem, 100%);
2048
+ display: grid;
2049
+ gap: 1rem;
2050
+ padding: 1.25rem;
2051
+ }
2052
+
2053
+ .hero-title {
2054
+ font-size: clamp(2rem, 8vw, 3rem);
2055
+ }
2056
+
2057
+ .pair-form,
2058
+ .field {
2059
+ display: grid;
2060
+ gap: 0.55rem;
2061
+ }
2062
+
2063
+ .field-label {
2064
+ color: var(--muted);
2065
+ font-size: 0.88rem;
2066
+ }
2067
+
2068
+ .field input {
2069
+ width: 100%;
2070
+ min-height: 3.25rem;
2071
+ padding: 0.9rem 1rem;
2072
+ border-radius: 18px;
2073
+ border: 1px solid var(--line);
2074
+ background: rgba(7, 12, 16, 0.96);
2075
+ color: var(--text);
2076
+ }
2077
+
2078
+ .helper-card {
2079
+ display: grid;
2080
+ gap: 0.8rem;
2081
+ padding: 0.9rem;
2082
+ border: 1px solid var(--line);
2083
+ border-radius: 20px;
2084
+ background: rgba(255, 255, 255, 0.05);
2085
+ }
2086
+
2087
+ .helper-copy {
2088
+ display: grid;
2089
+ gap: 0.35rem;
2090
+ }
2091
+
2092
+ .helper-copy p {
2093
+ margin: 0;
2094
+ }
2095
+
2096
+ .modal-backdrop {
2097
+ position: fixed;
2098
+ inset: 0;
2099
+ z-index: 40;
2100
+ display: grid;
2101
+ place-items: end center;
2102
+ padding: 1rem;
2103
+ background: rgba(3, 7, 10, 0.7);
2104
+ backdrop-filter: blur(16px);
2105
+ }
2106
+
2107
+ .modal-card {
2108
+ width: min(34rem, 100%);
2109
+ padding: 1.1rem;
2110
+ border-radius: 24px;
2111
+ border: 1px solid var(--line-strong);
2112
+ background: var(--panel-strong);
2113
+ box-shadow: var(--shadow-shell);
2114
+ }
2115
+
2116
+ .modal-card--confirm {
2117
+ display: grid;
2118
+ gap: 0.9rem;
2119
+ }
2120
+
2121
+ .logout-option {
2122
+ display: grid;
2123
+ gap: 0.8rem;
2124
+ padding: 0.95rem;
2125
+ border: 1px solid rgba(156, 181, 197, 0.12);
2126
+ border-radius: 18px;
2127
+ background: rgba(255, 255, 255, 0.035);
2128
+ }
2129
+
2130
+ .logout-option--danger {
2131
+ border-color: rgba(255, 138, 138, 0.18);
2132
+ background: rgba(145, 57, 57, 0.08);
2133
+ }
2134
+
2135
+ .logout-option__copy {
2136
+ display: grid;
2137
+ gap: 0.24rem;
2138
+ }
2139
+
2140
+ .logout-option__copy p {
2141
+ margin: 0;
2142
+ }
2143
+
2144
+ .install-steps {
2145
+ margin: 0;
2146
+ padding-left: 1.15rem;
2147
+ line-height: 1.65;
2148
+ }
2149
+
2150
+ @media (min-width: 980px) {
2151
+ .app-shell {
2152
+ padding:
2153
+ 1.5rem
2154
+ 1.5rem
2155
+ 2rem
2156
+ 1.5rem;
2157
+ }
2158
+
2159
+ .app-header {
2160
+ grid-template-columns: minmax(0, 1fr) auto;
2161
+ align-items: end;
2162
+ }
2163
+
2164
+ .brand-lockup {
2165
+ grid-template-columns: auto minmax(0, 1fr);
2166
+ align-items: start;
2167
+ gap: 1rem;
2168
+ }
2169
+
2170
+ .install-banner {
2171
+ grid-template-columns: minmax(0, 1fr) auto;
2172
+ align-items: center;
2173
+ }
2174
+
2175
+ .install-banner__actions {
2176
+ grid-template-columns: auto auto;
2177
+ }
2178
+
2179
+ .desktop-workspace {
2180
+ display: grid;
2181
+ grid-template-columns: minmax(20rem, 26rem) minmax(0, 1fr);
2182
+ gap: 1rem;
2183
+ align-items: start;
2184
+ }
2185
+
2186
+ .surface {
2187
+ min-height: calc(100vh - 12rem);
2188
+ }
2189
+
2190
+ .surface--detail {
2191
+ padding: 1.25rem 1.35rem;
2192
+ }
2193
+
2194
+ .detail-shell--mobile {
2195
+ min-height: min(46rem, calc(100dvh - 7.75rem));
2196
+ border: 1px solid var(--line);
2197
+ border-radius: var(--radius-card);
2198
+ background: var(--panel);
2199
+ box-shadow: var(--shadow-card);
2200
+ }
2201
+
2202
+ .mobile-detail-screen {
2203
+ min-height: auto;
2204
+ }
2205
+
2206
+ .mobile-detail-scroll {
2207
+ padding: 1rem;
2208
+ gap: 1rem;
2209
+ }
2210
+
2211
+ .segmented-nav {
2212
+ display: grid;
2213
+ grid-auto-flow: column;
2214
+ gap: 0.5rem;
2215
+ padding: 0.35rem;
2216
+ border: 1px solid var(--line);
2217
+ border-radius: 20px;
2218
+ background: rgba(255, 255, 255, 0.04);
2219
+ }
2220
+
2221
+ .segmented-nav__button {
2222
+ display: inline-flex;
2223
+ align-items: center;
2224
+ justify-content: center;
2225
+ min-width: 6rem;
2226
+ padding: 0 1rem;
2227
+ }
2228
+
2229
+ .bottom-nav {
2230
+ display: none;
2231
+ }
2232
+
2233
+ .card-list--desktop {
2234
+ gap: 0.75rem;
2235
+ }
2236
+
2237
+ .timeline-list--desktop .timeline-entry__summary {
2238
+ display: block;
2239
+ overflow: visible;
2240
+ -webkit-line-clamp: unset;
2241
+ }
2242
+
2243
+ .item-card__summary {
2244
+ display: block;
2245
+ overflow: visible;
2246
+ -webkit-line-clamp: unset;
2247
+ }
2248
+
2249
+ .actions--stack {
2250
+ grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
2251
+ }
2252
+
2253
+ .status-row__value {
2254
+ max-width: 65%;
2255
+ }
2256
+
2257
+ .modal-backdrop {
2258
+ place-items: center;
2259
+ }
2260
+ }
2261
+
2262
+ @media (max-width: 390px) {
2263
+ .mobile-topbar--detail {
2264
+ gap: 0.6rem;
2265
+ margin-left: -0.72rem;
2266
+ margin-right: -0.72rem;
2267
+ padding-left: 0.72rem;
2268
+ padding-right: 0.72rem;
2269
+ }
2270
+
2271
+ .mobile-topbar__back {
2272
+ padding: 0;
2273
+ border-radius: 999px;
2274
+ }
2275
+
2276
+ .mobile-topbar__back-label {
2277
+ display: none;
2278
+ }
2279
+
2280
+ .bottom-nav {
2281
+ left: 0.8rem;
2282
+ right: 0.8rem;
2283
+ gap: 0.32rem;
2284
+ padding: 0.42rem;
2285
+ }
2286
+
2287
+ .bottom-nav__button {
2288
+ min-height: 3.15rem;
2289
+ padding: 0.28rem 0.15rem;
2290
+ }
2291
+
2292
+ .bottom-nav__button span {
2293
+ font-size: 0.72rem;
2294
+ }
2295
+
2296
+ .detail-title--mobile {
2297
+ font-size: 1.48rem;
2298
+ }
2299
+
2300
+ .detail-card--mobile {
2301
+ padding: 0.4rem 0.46rem;
2302
+ }
2303
+ }