codex-map 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.
@@ -0,0 +1,950 @@
1
+ :root {
2
+ --bg: #f5efe4;
3
+ --bg-strong: #efe5d5;
4
+ --panel: rgba(255, 255, 255, 0.72);
5
+ --panel-border: rgba(60, 45, 22, 0.12);
6
+ --text: #24190f;
7
+ --muted: #6f5c46;
8
+ --brand: #0a8a72;
9
+ --brand-soft: #d7f0ea;
10
+ --accent: #d36c3f;
11
+ --shadow: 0 18px 40px rgba(54, 38, 19, 0.12);
12
+ --font-sans: "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;
13
+ --font-serif: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
14
+ --radius: 18px;
15
+ }
16
+
17
+ [data-theme="dark"] {
18
+ --bg: #11161b;
19
+ --bg-strong: #182027;
20
+ --panel: rgba(26, 35, 43, 0.82);
21
+ --panel-border: rgba(255, 255, 255, 0.08);
22
+ --text: #f4eee2;
23
+ --muted: #b6a891;
24
+ --brand: #6ce5c4;
25
+ --brand-soft: rgba(108, 229, 196, 0.14);
26
+ --accent: #f0a36d;
27
+ --shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
28
+ }
29
+
30
+ * {
31
+ box-sizing: border-box;
32
+ }
33
+
34
+ body {
35
+ margin: 0;
36
+ min-height: 100vh;
37
+ font-family: var(--font-sans);
38
+ color: var(--text);
39
+ background:
40
+ radial-gradient(circle at top left, rgba(10, 138, 114, 0.12), transparent 28%),
41
+ radial-gradient(circle at bottom right, rgba(211, 108, 63, 0.16), transparent 26%),
42
+ linear-gradient(135deg, var(--bg), var(--bg-strong));
43
+ }
44
+
45
+ body.loading {
46
+ overflow: hidden;
47
+ }
48
+
49
+ .app-loader {
50
+ position: fixed;
51
+ inset: 0;
52
+ z-index: 2000;
53
+ display: grid;
54
+ place-items: center;
55
+ padding: 24px;
56
+ background:
57
+ radial-gradient(circle at top left, rgba(10, 138, 114, 0.14), transparent 30%),
58
+ rgba(245, 239, 228, 0.86);
59
+ backdrop-filter: blur(10px);
60
+ transition: opacity 180ms ease, visibility 180ms ease;
61
+ }
62
+
63
+ [data-theme="dark"] .app-loader {
64
+ background:
65
+ radial-gradient(circle at top left, rgba(108, 229, 196, 0.16), transparent 30%),
66
+ rgba(17, 22, 27, 0.82);
67
+ }
68
+
69
+ .app-loader.hidden {
70
+ opacity: 0;
71
+ visibility: hidden;
72
+ pointer-events: none;
73
+ }
74
+
75
+ .loader-card {
76
+ min-width: min(420px, 100%);
77
+ padding: 28px 30px;
78
+ text-align: center;
79
+ background: var(--panel);
80
+ border: 1px solid var(--panel-border);
81
+ border-radius: 22px;
82
+ box-shadow: var(--shadow);
83
+ }
84
+
85
+ .loader-card strong {
86
+ display: block;
87
+ margin-top: 14px;
88
+ font-size: 20px;
89
+ }
90
+
91
+ .loader-card p {
92
+ margin: 10px 0 0;
93
+ color: var(--muted);
94
+ }
95
+
96
+ .loader-orb {
97
+ width: 54px;
98
+ height: 54px;
99
+ margin: 0 auto;
100
+ border-radius: 999px;
101
+ border: 4px solid rgba(10, 138, 114, 0.14);
102
+ border-top-color: var(--brand);
103
+ animation: spin 0.9s linear infinite;
104
+ }
105
+
106
+ button,
107
+ input {
108
+ font: inherit;
109
+ }
110
+
111
+ .shell {
112
+ display: grid;
113
+ grid-template-columns: 320px 1fr;
114
+ min-height: 100vh;
115
+ }
116
+
117
+ .sidebar {
118
+ padding: 24px;
119
+ border-right: 1px solid var(--panel-border);
120
+ background: rgba(255, 255, 255, 0.12);
121
+ backdrop-filter: blur(14px);
122
+ display: flex;
123
+ flex-direction: column;
124
+ gap: 18px;
125
+ }
126
+
127
+ .brand {
128
+ display: flex;
129
+ align-items: center;
130
+ border: 0;
131
+ background: transparent;
132
+ color: var(--text);
133
+ font-family: var(--font-serif);
134
+ font-size: 28px;
135
+ text-align: left;
136
+ padding: 0;
137
+ cursor: pointer;
138
+ }
139
+
140
+ .sidebar-card,
141
+ .panel,
142
+ .metric,
143
+ .dialog {
144
+ background: var(--panel);
145
+ border: 1px solid var(--panel-border);
146
+ border-radius: var(--radius);
147
+ box-shadow: var(--shadow);
148
+ }
149
+
150
+ .sidebar-card {
151
+ padding: 16px;
152
+ }
153
+
154
+ .sidebar-row,
155
+ .panel-head,
156
+ .dialog-head {
157
+ display: flex;
158
+ align-items: center;
159
+ justify-content: space-between;
160
+ gap: 12px;
161
+ }
162
+
163
+ .sidebar-row h2,
164
+ .panel-head h3,
165
+ .dialog-head h3 {
166
+ margin: 0;
167
+ font-size: 16px;
168
+ }
169
+
170
+ .input-row {
171
+ display: grid;
172
+ grid-template-columns: 1fr auto;
173
+ gap: 10px;
174
+ margin: 12px 0;
175
+ }
176
+
177
+ input {
178
+ border: 1px solid var(--panel-border);
179
+ border-radius: 12px;
180
+ background: rgba(255, 255, 255, 0.52);
181
+ color: var(--text);
182
+ padding: 10px 12px;
183
+ }
184
+
185
+ .btn,
186
+ .tab,
187
+ .bookmark,
188
+ .crumb,
189
+ .browser-item,
190
+ .project-main,
191
+ .session-card,
192
+ .tree-file {
193
+ border: 0;
194
+ cursor: pointer;
195
+ }
196
+
197
+ .btn,
198
+ .tab,
199
+ .bookmark,
200
+ .crumb,
201
+ .browser-item,
202
+ .project-main,
203
+ .session-card,
204
+ .tree-file {
205
+ border-radius: 12px;
206
+ }
207
+
208
+ .btn {
209
+ background: var(--text);
210
+ color: var(--bg);
211
+ padding: 10px 14px;
212
+ }
213
+
214
+ .btn-small {
215
+ padding: 7px 10px;
216
+ font-size: 13px;
217
+ }
218
+
219
+ .ghost {
220
+ background: transparent;
221
+ color: var(--muted);
222
+ border: 0;
223
+ cursor: pointer;
224
+ }
225
+
226
+ .sidebar-actions {
227
+ display: grid;
228
+ gap: 10px;
229
+ }
230
+
231
+ .sidebar-meta {
232
+ margin-top: auto;
233
+ display: grid;
234
+ gap: 6px;
235
+ color: var(--muted);
236
+ font-size: 13px;
237
+ }
238
+
239
+ .project-list {
240
+ display: grid;
241
+ gap: 10px;
242
+ }
243
+
244
+ .project-item {
245
+ display: grid;
246
+ grid-template-columns: 1fr auto;
247
+ gap: 8px;
248
+ align-items: center;
249
+ }
250
+
251
+ .project-main {
252
+ display: flex;
253
+ align-items: center;
254
+ gap: 10px;
255
+ width: 100%;
256
+ padding: 12px;
257
+ text-align: left;
258
+ background: rgba(255, 255, 255, 0.5);
259
+ color: var(--text);
260
+ }
261
+
262
+ .project-item.active .project-main {
263
+ background: var(--brand-soft);
264
+ }
265
+
266
+ .status-pill,
267
+ .chip {
268
+ display: inline-flex;
269
+ align-items: center;
270
+ gap: 6px;
271
+ padding: 4px 8px;
272
+ border-radius: 999px;
273
+ font-size: 12px;
274
+ background: rgba(36, 25, 15, 0.08);
275
+ }
276
+
277
+ .status-pill.full {
278
+ background: rgba(10, 138, 114, 0.18);
279
+ }
280
+
281
+ .status-pill.partial {
282
+ background: rgba(211, 108, 63, 0.18);
283
+ }
284
+
285
+ .status-pill.missing {
286
+ background: rgba(160, 42, 42, 0.18);
287
+ }
288
+
289
+ .main {
290
+ padding: 28px;
291
+ display: grid;
292
+ gap: 22px;
293
+ align-content: start;
294
+ grid-auto-rows: min-content;
295
+ }
296
+
297
+ .hero {
298
+ display: grid;
299
+ grid-template-columns: 1.4fr 1fr;
300
+ gap: 18px;
301
+ align-items: end;
302
+ }
303
+
304
+ .eyebrow {
305
+ margin: 0 0 8px;
306
+ letter-spacing: 0.14em;
307
+ text-transform: uppercase;
308
+ font-size: 12px;
309
+ color: var(--brand);
310
+ }
311
+
312
+ .hero h1 {
313
+ margin: 0;
314
+ font-family: var(--font-serif);
315
+ font-size: clamp(34px, 5vw, 56px);
316
+ line-height: 0.98;
317
+ }
318
+
319
+ .hero-copy {
320
+ margin: 12px 0 0;
321
+ max-width: 760px;
322
+ color: var(--muted);
323
+ font-size: 16px;
324
+ }
325
+
326
+ .hero-metrics,
327
+ .grid.two {
328
+ display: grid;
329
+ grid-template-columns: repeat(2, minmax(0, 1fr));
330
+ gap: 16px;
331
+ }
332
+
333
+ .metric {
334
+ padding: 16px;
335
+ }
336
+
337
+ .metric span {
338
+ display: block;
339
+ color: var(--muted);
340
+ font-size: 13px;
341
+ }
342
+
343
+ .metric strong {
344
+ display: block;
345
+ margin-top: 8px;
346
+ font-size: 24px;
347
+ }
348
+
349
+ .tabs {
350
+ display: flex;
351
+ flex-wrap: wrap;
352
+ gap: 10px;
353
+ }
354
+
355
+ .tab {
356
+ background: rgba(255, 255, 255, 0.56);
357
+ padding: 11px 14px;
358
+ text-transform: capitalize;
359
+ border: 1px solid transparent;
360
+ color: var(--text);
361
+ }
362
+
363
+ .tab.active {
364
+ background: var(--text);
365
+ color: var(--bg);
366
+ border-color: var(--text);
367
+ box-shadow: inset 0 -3px 0 var(--accent);
368
+ }
369
+
370
+ .content {
371
+ display: grid;
372
+ gap: 16px;
373
+ align-content: start;
374
+ }
375
+
376
+ .panel {
377
+ overflow: hidden;
378
+ }
379
+
380
+ .panel-head {
381
+ padding: 16px 18px;
382
+ border-bottom: 1px solid var(--panel-border);
383
+ }
384
+
385
+ .panel-body {
386
+ padding: 18px;
387
+ }
388
+
389
+ .panel-body > :first-child {
390
+ margin-top: 0;
391
+ }
392
+
393
+ .kv,
394
+ .project-row {
395
+ display: flex;
396
+ justify-content: space-between;
397
+ gap: 12px;
398
+ padding: 8px 0;
399
+ border-bottom: 1px solid rgba(0, 0, 0, 0.06);
400
+ }
401
+
402
+ .project-row:last-child,
403
+ .kv:last-child {
404
+ border-bottom: 0;
405
+ }
406
+
407
+ .project-row span:first-child,
408
+ .kv span {
409
+ color: var(--muted);
410
+ }
411
+
412
+ .skill-card,
413
+ .mini-card,
414
+ .history-item,
415
+ .timeline-item {
416
+ padding: 14px;
417
+ border: 1px solid var(--panel-border);
418
+ border-radius: 14px;
419
+ background: rgba(255, 255, 255, 0.34);
420
+ margin-bottom: 12px;
421
+ }
422
+
423
+ .chart-wrap {
424
+ display: grid;
425
+ gap: 12px;
426
+ }
427
+
428
+ .stats-dashboard {
429
+ display: grid;
430
+ gap: 18px;
431
+ }
432
+
433
+ .stats-range {
434
+ display: grid;
435
+ grid-template-columns: repeat(2, minmax(0, 200px)) auto;
436
+ gap: 12px;
437
+ align-items: end;
438
+ }
439
+
440
+ .stats-field {
441
+ display: grid;
442
+ gap: 6px;
443
+ }
444
+
445
+ .stats-field span {
446
+ color: var(--muted);
447
+ font-size: 13px;
448
+ }
449
+
450
+ .stats-range-actions {
451
+ display: flex;
452
+ gap: 10px;
453
+ align-items: center;
454
+ flex-wrap: wrap;
455
+ }
456
+
457
+ .stats-presets {
458
+ display: flex;
459
+ flex-wrap: wrap;
460
+ gap: 8px;
461
+ margin-top: 12px;
462
+ }
463
+
464
+ .stats-presets .ghost {
465
+ padding: 8px 12px;
466
+ border-radius: 999px;
467
+ border: 1px solid var(--panel-border);
468
+ background: rgba(255, 255, 255, 0.44);
469
+ color: var(--text);
470
+ }
471
+
472
+ .stats-summary {
473
+ display: grid;
474
+ grid-template-columns: repeat(6, minmax(0, 1fr));
475
+ gap: 14px;
476
+ }
477
+
478
+ .stat-tile {
479
+ padding: 16px 18px;
480
+ border: 1px solid var(--panel-border);
481
+ border-radius: 16px;
482
+ background: rgba(255, 255, 255, 0.38);
483
+ }
484
+
485
+ .stat-tile.emphasis {
486
+ background: linear-gradient(180deg, rgba(10, 138, 114, 0.13), rgba(255, 255, 255, 0.38));
487
+ border-color: rgba(10, 138, 114, 0.24);
488
+ }
489
+
490
+ .stat-value {
491
+ font-size: 20px;
492
+ font-weight: 800;
493
+ line-height: 1;
494
+ }
495
+
496
+ .stat-tile.emphasis .stat-value {
497
+ color: var(--brand);
498
+ }
499
+
500
+ .stat-label {
501
+ margin-top: 8px;
502
+ color: var(--muted);
503
+ font-size: 13px;
504
+ }
505
+
506
+ .stat-sub {
507
+ margin-top: 6px;
508
+ color: var(--muted);
509
+ font-size: 12px;
510
+ }
511
+
512
+ .line-chart {
513
+ display: grid;
514
+ gap: 14px;
515
+ }
516
+
517
+ .chart-legend {
518
+ display: flex;
519
+ flex-wrap: wrap;
520
+ gap: 14px;
521
+ align-items: center;
522
+ }
523
+
524
+ .legend-dot {
525
+ width: 10px;
526
+ height: 10px;
527
+ border-radius: 999px;
528
+ display: inline-block;
529
+ margin-right: 6px;
530
+ }
531
+
532
+ .legend-dot.prompts {
533
+ background: #66dcc2;
534
+ }
535
+
536
+ .legend-dot.sessions {
537
+ background: #8f62d5;
538
+ }
539
+
540
+ .legend-dot.tools {
541
+ background: #dd9f68;
542
+ }
543
+
544
+ .chart-svg {
545
+ width: 100%;
546
+ height: auto;
547
+ display: block;
548
+ padding: 8px 0;
549
+ }
550
+
551
+ .chart-surface {
552
+ border: 1px solid var(--panel-border);
553
+ border-radius: 16px;
554
+ background: rgba(255, 255, 255, 0.24);
555
+ padding: 12px;
556
+ }
557
+
558
+ .chart-surface .chart-svg {
559
+ padding: 0;
560
+ }
561
+
562
+ .chart-list {
563
+ display: grid;
564
+ gap: 8px;
565
+ }
566
+
567
+ .tool-row {
568
+ display: grid;
569
+ grid-template-columns: 160px 1fr auto;
570
+ gap: 10px;
571
+ align-items: center;
572
+ }
573
+
574
+ .tool-bar {
575
+ height: 12px;
576
+ background: rgba(36, 25, 15, 0.08);
577
+ border-radius: 999px;
578
+ overflow: hidden;
579
+ }
580
+
581
+ .tool-bar i {
582
+ display: block;
583
+ height: 100%;
584
+ background: linear-gradient(90deg, var(--brand), var(--accent));
585
+ border-radius: 999px;
586
+ }
587
+
588
+ .skill-head,
589
+ .chip-row,
590
+ .panel-actions-inline {
591
+ display: flex;
592
+ flex-wrap: wrap;
593
+ gap: 8px;
594
+ align-items: center;
595
+ }
596
+
597
+ .skill-card p,
598
+ .mini-card p,
599
+ .history-item p {
600
+ margin: 8px 0;
601
+ }
602
+
603
+ .session-list,
604
+ .history-list,
605
+ .timeline {
606
+ display: grid;
607
+ gap: 10px;
608
+ }
609
+
610
+ .history-list {
611
+ max-height: 420px;
612
+ overflow: auto;
613
+ padding-right: 6px;
614
+ align-content: start;
615
+ }
616
+
617
+ .plugins-list-scroll,
618
+ .tool-activity-scroll {
619
+ max-height: 420px;
620
+ overflow: auto;
621
+ padding-right: 6px;
622
+ align-content: start;
623
+ }
624
+
625
+ .history-item {
626
+ min-width: 0;
627
+ }
628
+
629
+ .history-item p {
630
+ overflow-wrap: anywhere;
631
+ }
632
+
633
+ .session-browser {
634
+ display: grid;
635
+ grid-template-columns: minmax(300px, 360px) 1fr;
636
+ gap: 16px;
637
+ align-items: start;
638
+ }
639
+
640
+ .session-master {
641
+ display: grid;
642
+ gap: 10px;
643
+ max-height: 72vh;
644
+ overflow: auto;
645
+ padding-right: 6px;
646
+ }
647
+
648
+ .session-detail-wrap {
649
+ min-width: 0;
650
+ position: sticky;
651
+ top: 0;
652
+ }
653
+
654
+ .session-card {
655
+ text-align: left;
656
+ padding: 15px 16px;
657
+ background: rgba(255, 255, 255, 0.58);
658
+ color: var(--text);
659
+ border: 1px solid rgba(36, 25, 15, 0.08);
660
+ box-shadow: 0 8px 20px rgba(36, 25, 15, 0.05);
661
+ transition: transform 140ms ease, border-color 140ms ease, background 140ms ease;
662
+ }
663
+
664
+ .session-card:hover {
665
+ transform: translateY(-1px);
666
+ border-color: rgba(10, 138, 114, 0.18);
667
+ }
668
+
669
+ .session-card span {
670
+ display: block;
671
+ color: var(--muted);
672
+ margin: 6px 0;
673
+ }
674
+
675
+ .session-card strong {
676
+ display: -webkit-box;
677
+ overflow: hidden;
678
+ -webkit-line-clamp: 2;
679
+ -webkit-box-orient: vertical;
680
+ line-height: 1.35;
681
+ }
682
+
683
+ .session-card.selected {
684
+ background: var(--brand-soft);
685
+ border-color: rgba(10, 138, 114, 0.35);
686
+ box-shadow: 0 14px 26px rgba(10, 138, 114, 0.12);
687
+ }
688
+
689
+ .session-meta {
690
+ display: grid;
691
+ grid-template-columns: repeat(2, minmax(0, 1fr));
692
+ gap: 8px 20px;
693
+ margin-bottom: 14px;
694
+ }
695
+
696
+ .timeline-item pre {
697
+ white-space: pre-wrap;
698
+ margin: 8px 0 0;
699
+ font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
700
+ }
701
+
702
+ .session-detail {
703
+ padding: 18px;
704
+ border: 1px solid var(--panel-border);
705
+ border-radius: 18px;
706
+ background: rgba(255, 255, 255, 0.34);
707
+ }
708
+
709
+ .session-detail h2 {
710
+ margin: 0 0 14px;
711
+ font-size: 24px;
712
+ line-height: 1.15;
713
+ }
714
+
715
+ .session-detail .timeline {
716
+ max-height: 50vh;
717
+ overflow: auto;
718
+ padding-right: 6px;
719
+ }
720
+
721
+ .raw-grid .panel-body {
722
+ max-height: 72vh;
723
+ overflow: auto;
724
+ }
725
+
726
+ .tree-dir {
727
+ font-weight: 700;
728
+ margin: 8px 0 4px;
729
+ }
730
+
731
+ .tree-file {
732
+ display: block;
733
+ width: 100%;
734
+ text-align: left;
735
+ background: transparent;
736
+ color: var(--text);
737
+ padding-top: 6px;
738
+ padding-bottom: 6px;
739
+ }
740
+
741
+ .markdown-body {
742
+ line-height: 1.6;
743
+ }
744
+
745
+ .markdown-body :first-child {
746
+ margin-top: 0;
747
+ }
748
+
749
+ .markdown-compact {
750
+ max-height: 360px;
751
+ overflow: auto;
752
+ padding-right: 8px;
753
+ }
754
+
755
+ .muted {
756
+ color: var(--muted);
757
+ }
758
+
759
+ .plain-list {
760
+ margin: 0;
761
+ padding-left: 18px;
762
+ }
763
+
764
+ pre {
765
+ margin: 0;
766
+ overflow: auto;
767
+ border-radius: 14px;
768
+ }
769
+
770
+ .modal {
771
+ position: fixed;
772
+ inset: 0;
773
+ background: rgba(17, 22, 27, 0.45);
774
+ display: grid;
775
+ place-items: center;
776
+ padding: 20px;
777
+ }
778
+
779
+ .modal.hidden {
780
+ display: none;
781
+ }
782
+
783
+ .toast-stack {
784
+ position: fixed;
785
+ right: 20px;
786
+ bottom: 20px;
787
+ z-index: 2200;
788
+ display: grid;
789
+ gap: 10px;
790
+ width: min(360px, calc(100vw - 32px));
791
+ }
792
+
793
+ .toast {
794
+ padding: 14px 16px;
795
+ border-radius: 14px;
796
+ border: 1px solid var(--panel-border);
797
+ background: rgba(36, 25, 15, 0.92);
798
+ color: #fff8ef;
799
+ box-shadow: var(--shadow);
800
+ transform: translateY(8px);
801
+ opacity: 0;
802
+ transition: transform 180ms ease, opacity 180ms ease;
803
+ }
804
+
805
+ .toast.visible {
806
+ transform: translateY(0);
807
+ opacity: 1;
808
+ }
809
+
810
+ .toast.success {
811
+ background: rgba(10, 138, 114, 0.94);
812
+ }
813
+
814
+ .toast.error {
815
+ background: rgba(162, 54, 54, 0.96);
816
+ }
817
+
818
+ .toast-title {
819
+ display: block;
820
+ font-weight: 700;
821
+ margin-bottom: 4px;
822
+ }
823
+
824
+ .toast-body {
825
+ font-size: 13px;
826
+ line-height: 1.4;
827
+ opacity: 0.94;
828
+ }
829
+
830
+ .dialog {
831
+ width: min(900px, 100%);
832
+ max-height: 80vh;
833
+ overflow: auto;
834
+ padding: 18px;
835
+ background: linear-gradient(180deg, rgba(255, 252, 246, 0.98), rgba(247, 240, 229, 0.98));
836
+ border: 1px solid rgba(60, 45, 22, 0.14);
837
+ }
838
+
839
+ [data-theme="dark"] .dialog {
840
+ background: linear-gradient(180deg, rgba(25, 33, 41, 0.98), rgba(18, 24, 30, 0.98));
841
+ border-color: rgba(255, 255, 255, 0.08);
842
+ }
843
+
844
+ .crumbs,
845
+ .bookmarks {
846
+ display: flex;
847
+ flex-wrap: wrap;
848
+ gap: 8px;
849
+ margin-top: 14px;
850
+ }
851
+
852
+ .crumb,
853
+ .bookmark,
854
+ .browser-item {
855
+ background: rgba(255, 255, 255, 0.5);
856
+ padding: 10px 12px;
857
+ color: var(--text);
858
+ }
859
+
860
+ .browser-list {
861
+ display: grid;
862
+ gap: 8px;
863
+ margin-top: 14px;
864
+ }
865
+
866
+ .browser-note {
867
+ margin: 0 0 6px;
868
+ }
869
+
870
+ .browser-section {
871
+ display: grid;
872
+ gap: 8px;
873
+ margin-bottom: 12px;
874
+ }
875
+
876
+ .browser-section strong {
877
+ font-size: 13px;
878
+ color: var(--muted);
879
+ letter-spacing: 0.04em;
880
+ text-transform: uppercase;
881
+ }
882
+
883
+ .browser-row {
884
+ display: grid;
885
+ grid-template-columns: 1fr auto;
886
+ gap: 8px;
887
+ }
888
+
889
+ .browser-row .browser-item {
890
+ display: flex;
891
+ justify-content: space-between;
892
+ align-items: center;
893
+ gap: 10px;
894
+ text-align: left;
895
+ }
896
+
897
+ .skill-textarea {
898
+ width: 100%;
899
+ min-height: 360px;
900
+ resize: vertical;
901
+ margin: 12px 0;
902
+ border: 1px solid var(--panel-border);
903
+ border-radius: 14px;
904
+ padding: 14px;
905
+ background: rgba(255, 255, 255, 0.55);
906
+ color: var(--text);
907
+ font: inherit;
908
+ font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
909
+ }
910
+
911
+ @media (max-width: 980px) {
912
+ .shell {
913
+ grid-template-columns: 1fr;
914
+ }
915
+
916
+ .sidebar {
917
+ border-right: 0;
918
+ border-bottom: 1px solid var(--panel-border);
919
+ }
920
+
921
+ .hero,
922
+ .hero-metrics,
923
+ .grid.two,
924
+ .session-meta,
925
+ .session-browser {
926
+ grid-template-columns: 1fr;
927
+ }
928
+
929
+ .stats-summary {
930
+ grid-template-columns: repeat(2, minmax(0, 1fr));
931
+ }
932
+
933
+ .stats-range {
934
+ grid-template-columns: 1fr;
935
+ }
936
+
937
+ .main {
938
+ padding: 18px;
939
+ }
940
+
941
+ .session-detail-wrap {
942
+ position: static;
943
+ }
944
+ }
945
+
946
+ @keyframes spin {
947
+ to {
948
+ transform: rotate(360deg);
949
+ }
950
+ }