codexmate 0.0.55 → 0.0.56

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.
Files changed (31) hide show
  1. package/README.md +2 -0
  2. package/README.vi.md +2 -0
  3. package/README.zh.md +2 -0
  4. package/cli/local-bridge.js +221 -22
  5. package/cli.js +117 -5
  6. package/package.json +1 -1
  7. package/web-ui/app.js +2 -0
  8. package/web-ui/modules/app.computed.session.mjs +210 -0
  9. package/web-ui/modules/app.methods.claude-config.mjs +128 -12
  10. package/web-ui/modules/app.methods.codex-config.mjs +294 -65
  11. package/web-ui/modules/app.methods.navigation.mjs +4 -1
  12. package/web-ui/modules/app.methods.providers.mjs +15 -1
  13. package/web-ui/modules/app.methods.runtime.mjs +7 -2
  14. package/web-ui/modules/app.methods.session-actions.mjs +24 -0
  15. package/web-ui/modules/app.methods.startup-claude.mjs +34 -1
  16. package/web-ui/modules/i18n/locales/en.mjs +41 -2
  17. package/web-ui/modules/i18n/locales/ja.mjs +41 -2
  18. package/web-ui/modules/i18n/locales/vi.mjs +41 -8
  19. package/web-ui/modules/i18n/locales/zh-tw.mjs +41 -2
  20. package/web-ui/modules/i18n/locales/zh.mjs +41 -2
  21. package/web-ui/modules/provider-default-names.mjs +25 -0
  22. package/web-ui/partials/index/modal-health-check.html +69 -5
  23. package/web-ui/partials/index/panel-config-codex.html +2 -2
  24. package/web-ui/partials/index/panel-sessions.html +97 -17
  25. package/web-ui/res/web-ui-render.precompiled.js +345 -93
  26. package/web-ui/session-helpers.mjs +4 -1
  27. package/web-ui/styles/responsive.css +98 -0
  28. package/web-ui/styles/sessions-preview.css +212 -2
  29. package/web-ui/styles/sessions-toolbar-trash.css +61 -18
  30. package/web-ui/styles/skills-list.css +122 -0
  31. package/web-ui/styles/titles-cards.css +52 -0
@@ -274,6 +274,8 @@ textarea:focus-visible {
274
274
  }
275
275
  .main-panel {
276
276
  padding: 0 10px 12px;
277
+ max-width: 100%;
278
+ overflow-x: hidden;
277
279
  }
278
280
 
279
281
  .main-panel-topbar {
@@ -286,6 +288,35 @@ textarea:focus-visible {
286
288
  grid-template-columns: 1fr;
287
289
  height: auto;
288
290
  min-height: 0;
291
+ max-width: 100%;
292
+ overflow-x: hidden;
293
+ }
294
+
295
+ .session-toolbar,
296
+ .session-toolbar-group,
297
+ .session-toolbar-primary,
298
+ .session-toolbar-secondary,
299
+ .session-toolbar-grow,
300
+ .session-list,
301
+ .session-preview,
302
+ .session-preview-scroll,
303
+ .session-preview-body,
304
+ .session-workspace,
305
+ .session-workspace-card,
306
+ .session-item,
307
+ .session-item-main {
308
+ min-width: 0;
309
+ max-width: 100%;
310
+ box-sizing: border-box;
311
+ }
312
+
313
+ .session-toolbar {
314
+ grid-template-columns: minmax(0, 1fr);
315
+ overflow-x: hidden;
316
+ }
317
+
318
+ .session-toolbar-group {
319
+ width: 100%;
289
320
  }
290
321
 
291
322
  .status-strip {
@@ -400,6 +431,13 @@ textarea:focus-visible {
400
431
  padding: 8px;
401
432
  }
402
433
 
434
+ #panel-config-provider .card-list > .card,
435
+ #panel-config-claude .card-list > .card {
436
+ min-height: 84px;
437
+ padding-top: 18px;
438
+ padding-bottom: 18px;
439
+ }
440
+
403
441
  .card-list {
404
442
  gap: 4px;
405
443
  margin-bottom: 4px;
@@ -477,6 +515,66 @@ textarea:focus-visible {
477
515
 
478
516
  .session-preview {
479
517
  border-radius: var(--radius-lg);
518
+ overflow: hidden;
519
+ }
520
+
521
+ .session-preview-header {
522
+ padding: 12px;
523
+ gap: 10px;
524
+ max-width: 100%;
525
+ box-sizing: border-box;
526
+ overflow: hidden;
527
+ }
528
+
529
+ .session-preview-header > div:first-child {
530
+ width: 100%;
531
+ min-width: 0;
532
+ }
533
+
534
+ .session-preview-meta {
535
+ min-width: 0;
536
+ }
537
+
538
+ .session-preview-meta-item {
539
+ min-width: 0;
540
+ max-width: 100%;
541
+ white-space: normal;
542
+ overflow-wrap: anywhere;
543
+ }
544
+
545
+ .session-preview-title {
546
+ -webkit-line-clamp: 3;
547
+ overflow-wrap: anywhere;
548
+ }
549
+
550
+ .session-actions {
551
+ display: grid;
552
+ grid-template-columns: repeat(4, minmax(0, 1fr));
553
+ width: 100%;
554
+ gap: 6px;
555
+ justify-content: stretch;
556
+ }
557
+
558
+ .session-link-group {
559
+ display: contents;
560
+ }
561
+
562
+ .session-actions .btn-session-export,
563
+ .session-actions .btn-session-open,
564
+ .session-actions .btn-session-refresh,
565
+ .session-actions .btn-session-delete,
566
+ .session-link-group .btn-session-open {
567
+ width: 100%;
568
+ min-width: 0;
569
+ height: 40px;
570
+ }
571
+
572
+ .session-preview-body {
573
+ padding: 12px;
574
+ }
575
+
576
+ .session-workspace {
577
+ border-radius: 14px;
480
578
  }
481
579
 
482
580
  .skills-summary-strip {
@@ -9,6 +9,8 @@
9
9
  overflow-y: auto;
10
10
  overflow-x: hidden;
11
11
  padding-right: 52px;
12
+ padding-bottom: 28px;
13
+ scroll-padding-bottom: 40px;
12
14
  display: flex;
13
15
  flex-direction: column;
14
16
  scrollbar-width: none;
@@ -100,6 +102,7 @@
100
102
  flex: 1;
101
103
  min-height: 0;
102
104
  padding: var(--spacing-md);
105
+ padding-bottom: calc(var(--spacing-md) + 20px);
103
106
  display: flex;
104
107
  flex-direction: column;
105
108
  gap: 12px;
@@ -110,9 +113,146 @@
110
113
  display: flex;
111
114
  flex-direction: column;
112
115
  gap: 12px;
116
+ padding-bottom: 28px;
113
117
  contain: layout style;
114
118
  }
115
119
 
120
+ .session-workspace {
121
+ border: 1px solid rgba(88, 94, 112, 0.12);
122
+ border-radius: 18px;
123
+ background:
124
+ linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(251, 247, 244, 0.9)),
125
+ var(--color-surface-elevated);
126
+ box-shadow: 0 14px 34px rgba(50, 38, 30, 0.08);
127
+ padding: 16px;
128
+ display: flex;
129
+ flex-direction: column;
130
+ gap: 14px;
131
+ }
132
+
133
+ .session-workspace-header {
134
+ display: flex;
135
+ align-items: flex-start;
136
+ justify-content: space-between;
137
+ gap: 12px;
138
+ }
139
+
140
+ .session-workspace-kicker {
141
+ font-size: 11px;
142
+ font-weight: 700;
143
+ letter-spacing: 0.08em;
144
+ color: var(--color-brand);
145
+ text-transform: uppercase;
146
+ }
147
+
148
+ .session-workspace-title {
149
+ margin: 2px 0 0;
150
+ font-size: 16px;
151
+ line-height: 1.35;
152
+ color: var(--color-text-primary);
153
+ }
154
+
155
+ .session-workspace-subtitle {
156
+ margin: 4px 0 0;
157
+ color: var(--color-text-tertiary);
158
+ font-size: var(--font-size-caption);
159
+ line-height: 1.45;
160
+ }
161
+
162
+ .session-workspace-metrics {
163
+ display: grid;
164
+ grid-template-columns: repeat(6, minmax(0, 1fr));
165
+ gap: 8px;
166
+ }
167
+
168
+ .session-workspace-metric {
169
+ min-width: 0;
170
+ border: 1px solid var(--color-border-soft);
171
+ border-radius: 12px;
172
+ background: rgba(255, 255, 255, 0.72);
173
+ padding: 10px;
174
+ }
175
+
176
+ .session-workspace-metric-value {
177
+ display: block;
178
+ font-size: 18px;
179
+ line-height: 1.1;
180
+ font-weight: 750;
181
+ color: var(--color-text-primary);
182
+ }
183
+
184
+ .session-workspace-metric-label {
185
+ display: block;
186
+ margin-top: 4px;
187
+ font-size: 11px;
188
+ line-height: 1.2;
189
+ color: var(--color-text-tertiary);
190
+ overflow: hidden;
191
+ white-space: nowrap;
192
+ text-overflow: ellipsis;
193
+ }
194
+
195
+ .session-workspace-grid {
196
+ display: grid;
197
+ grid-template-columns: repeat(2, minmax(0, 1fr));
198
+ gap: 10px;
199
+ }
200
+
201
+ .session-workspace-card {
202
+ min-width: 0;
203
+ border: 1px solid var(--color-border-soft);
204
+ border-radius: 14px;
205
+ background: rgba(255, 255, 255, 0.7);
206
+ padding: 12px;
207
+ }
208
+
209
+ .session-workspace-card-wide {
210
+ grid-column: 1 / -1;
211
+ }
212
+
213
+ .session-workspace-card-alert {
214
+ border-color: rgba(210, 107, 90, 0.28);
215
+ background: rgba(210, 107, 90, 0.06);
216
+ }
217
+
218
+ .session-workspace-card-title {
219
+ font-size: 12px;
220
+ font-weight: 720;
221
+ color: var(--color-text-primary);
222
+ margin-bottom: 8px;
223
+ }
224
+
225
+ .session-workspace-list {
226
+ margin: 0;
227
+ padding-left: 17px;
228
+ display: flex;
229
+ flex-direction: column;
230
+ gap: 6px;
231
+ color: var(--color-text-secondary);
232
+ font-size: var(--font-size-caption);
233
+ line-height: 1.45;
234
+ }
235
+
236
+ .session-workspace-list li {
237
+ min-width: 0;
238
+ overflow-wrap: anywhere;
239
+ }
240
+
241
+ .session-workspace-code-list code {
242
+ font-size: 11px;
243
+ line-height: 1.4;
244
+ color: var(--color-text-primary);
245
+ background: rgba(35, 39, 47, 0.06);
246
+ border-radius: 6px;
247
+ padding: 2px 5px;
248
+ }
249
+
250
+ .session-workspace-empty {
251
+ color: var(--color-text-tertiary);
252
+ font-size: var(--font-size-caption);
253
+ line-height: 1.45;
254
+ }
255
+
116
256
  .session-timeline {
117
257
  position: absolute;
118
258
  top: var(--session-preview-header-offset, 72px);
@@ -307,6 +447,17 @@
307
447
  word-break: break-word;
308
448
  }
309
449
 
450
+ .session-preview-load-more {
451
+ display: flex;
452
+ align-items: center;
453
+ justify-content: center;
454
+ gap: 10px;
455
+ padding: 10px 0 8px;
456
+ margin-bottom: 18px;
457
+ color: var(--color-text-tertiary);
458
+ font-size: var(--font-size-caption);
459
+ }
460
+
310
461
  .session-preview-empty {
311
462
  flex: 1;
312
463
  display: flex;
@@ -380,6 +531,14 @@
380
531
  justify-content: flex-start;
381
532
  }
382
533
 
534
+ .session-workspace-metrics {
535
+ grid-template-columns: repeat(3, minmax(0, 1fr));
536
+ }
537
+
538
+ .session-workspace-grid {
539
+ grid-template-columns: 1fr;
540
+ }
541
+
383
542
  .session-preview.active {
384
543
  box-shadow: var(--shadow-float);
385
544
  }
@@ -402,10 +561,24 @@
402
561
  }
403
562
 
404
563
  .btn-session-refresh,
405
- .btn-session-export {
564
+ .btn-session-export,
565
+ .btn-session-open {
406
566
  width: 100%;
407
567
  }
408
568
 
569
+ .session-workspace {
570
+ padding: 12px;
571
+ }
572
+
573
+ .session-workspace-header {
574
+ flex-direction: column;
575
+ align-items: stretch;
576
+ }
577
+
578
+ .session-workspace-metrics {
579
+ grid-template-columns: repeat(2, minmax(0, 1fr));
580
+ }
581
+
409
582
  .session-toolbar-group.session-toolbar-actions {
410
583
  flex-direction: column;
411
584
  align-items: stretch;
@@ -415,6 +588,44 @@
415
588
  width: 100%;
416
589
  }
417
590
 
591
+ .session-toolbar-group {
592
+ align-items: stretch;
593
+ }
594
+
595
+ .session-source-pills {
596
+ max-width: 100%;
597
+ overflow-x: auto;
598
+ flex-wrap: nowrap;
599
+ scrollbar-width: none;
600
+ }
601
+
602
+ .session-source-pills::-webkit-scrollbar {
603
+ display: none;
604
+ }
605
+
606
+ .session-path-select,
607
+ .session-query-input,
608
+ .session-role-select,
609
+ .session-time-select {
610
+ width: 100%;
611
+ min-width: 0;
612
+ }
613
+
614
+ .session-toolbar-footer {
615
+ flex-wrap: wrap;
616
+ align-items: stretch;
617
+ justify-content: flex-start;
618
+ }
619
+
620
+ .session-toolbar-footer .quick-option {
621
+ flex: 1 1 calc(50% - 6px);
622
+ text-align: center;
623
+ }
624
+
625
+ .session-filter-chip-value {
626
+ max-width: 180px;
627
+ }
628
+
418
629
  .trash-item-header {
419
630
  flex-direction: column;
420
631
  align-items: stretch;
@@ -460,4 +671,3 @@
460
671
  transform: none;
461
672
  box-shadow: none;
462
673
  }
463
-
@@ -1,9 +1,15 @@
1
+ .session-selector-section {
2
+ padding: 8px 10px;
3
+ gap: 4px;
4
+ margin-bottom: 8px;
5
+ }
6
+
1
7
  .session-toolbar {
2
8
  display: grid;
3
- grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
4
- gap: var(--spacing-xs);
5
- margin-bottom: var(--spacing-xs);
6
- align-items: end;
9
+ grid-template-columns: minmax(0, 1fr);
10
+ gap: 8px;
11
+ margin-bottom: 0;
12
+ align-items: center;
7
13
  }
8
14
 
9
15
  .session-toolbar-group {
@@ -15,15 +21,30 @@
15
21
  }
16
22
 
17
23
  .session-toolbar-secondary {
18
- justify-content: flex-end;
24
+ justify-content: flex-start;
25
+ flex-wrap: wrap;
19
26
  }
20
27
 
21
28
  .session-toolbar-grow {
22
- grid-column: 1 / -1;
29
+ grid-column: auto;
30
+ }
31
+
32
+ .session-toolbar .btn-tool,
33
+ .session-toolbar .btn-tool-compact {
34
+ width: auto;
35
+ min-width: 0;
36
+ white-space: nowrap;
37
+ }
38
+
39
+ .selector-section .session-toolbar .btn-tool + .btn-tool,
40
+ .selector-section .session-toolbar .btn-tool-compact + .btn-tool,
41
+ .selector-section .session-toolbar .btn-tool + .btn-tool-compact,
42
+ .selector-section .session-toolbar .btn-tool-compact + .btn-tool-compact {
43
+ margin-top: 0;
23
44
  }
24
45
 
25
46
  .session-toolbar-actions {
26
- justify-content: flex-end;
47
+ justify-content: flex-start;
27
48
  }
28
49
 
29
50
  .session-toolbar-footer {
@@ -121,10 +142,17 @@
121
142
  }
122
143
 
123
144
  /* ===== Session source pill bar ===== */
145
+ .session-source-tabs-row {
146
+ display: flex;
147
+ align-items: center;
148
+ margin-bottom: 0;
149
+ min-width: 0;
150
+ }
151
+
124
152
  .session-source-pills {
125
153
  display: flex;
126
- gap: 4px;
127
- padding: 3px;
154
+ gap: 3px;
155
+ padding: 2px;
128
156
  border-radius: var(--radius-md);
129
157
  background: var(--color-surface-alt);
130
158
  border: 1px solid var(--color-border-soft);
@@ -133,8 +161,8 @@
133
161
  .session-source-pill {
134
162
  display: inline-flex;
135
163
  align-items: center;
136
- gap: 6px;
137
- padding: 6px 12px;
164
+ gap: 5px;
165
+ padding: 5px 10px;
138
166
  border-radius: var(--radius-sm);
139
167
  border: none;
140
168
  background: transparent;
@@ -257,7 +285,7 @@
257
285
  .session-time-select {
258
286
  flex: 1;
259
287
  min-width: 160px;
260
- padding: 9px 12px;
288
+ padding: 7px 10px;
261
289
  border-radius: var(--radius-md);
262
290
  border: 1px solid var(--color-border-soft);
263
291
  background: var(--color-surface);
@@ -273,23 +301,38 @@
273
301
  min-width: 220px;
274
302
  }
275
303
 
276
- @media (min-width: 980px) {
304
+ @media (min-width: 1101px) {
277
305
  .session-toolbar {
278
- grid-template-columns: repeat(12, minmax(0, 1fr));
279
- gap: 10px;
306
+ grid-template-columns: minmax(180px, 220px) minmax(240px, 1fr) minmax(560px, auto);
307
+ gap: 8px;
280
308
  }
281
309
 
282
310
  .session-toolbar-primary {
283
- grid-column: span 7;
311
+ grid-column: 1;
284
312
  }
285
313
 
286
314
  .session-toolbar-secondary {
287
- grid-column: span 5;
315
+ grid-column: 3;
316
+ justify-content: flex-end;
317
+ flex-wrap: nowrap;
318
+ }
319
+
320
+ .session-toolbar-secondary .session-role-select,
321
+ .session-toolbar-secondary .session-time-select {
322
+ flex: 0 1 112px;
323
+ min-width: 104px;
324
+ }
325
+
326
+ .session-toolbar-primary .session-path-select {
327
+ min-width: 180px;
328
+ }
329
+
330
+ .session-toolbar-actions {
288
331
  justify-content: flex-end;
289
332
  }
290
333
 
291
334
  .session-toolbar-grow {
292
- grid-column: 1 / -1;
335
+ grid-column: 2;
293
336
  }
294
337
  }
295
338
 
@@ -303,3 +303,125 @@
303
303
  box-shadow: 0 2px 6px rgba(200, 74, 58, 0.25);
304
304
  border-color: transparent;
305
305
  }
306
+
307
+ .health-failed-provider-header {
308
+ font-weight: var(--font-weight-heading);
309
+ background: rgba(176, 58, 46, 0.08);
310
+ }
311
+
312
+ .health-failed-provider-item.disabled {
313
+ opacity: 0.62;
314
+ }
315
+
316
+ .health-failed-provider-main {
317
+ display: flex;
318
+ align-items: flex-start;
319
+ gap: var(--spacing-xs);
320
+ min-width: 0;
321
+ }
322
+
323
+ .health-failed-provider-main input {
324
+ flex: 0 0 auto;
325
+ width: 13px;
326
+ height: 13px;
327
+ margin-top: 2px;
328
+ accent-color: var(--color-brand-dark);
329
+ }
330
+
331
+ .health-failed-provider-main > span {
332
+ min-width: 0;
333
+ }
334
+
335
+ .health-failed-provider-main .form-hint {
336
+ display: block;
337
+ margin-top: 3px;
338
+ }
339
+
340
+ .modal-health-check {
341
+ width: min(92vw, 560px);
342
+ max-height: min(86vh, 720px);
343
+ display: flex;
344
+ flex-direction: column;
345
+ overflow: hidden;
346
+ padding: 0;
347
+ }
348
+
349
+ .modal-health-check > .modal-title {
350
+ padding: var(--spacing-md) var(--spacing-md) 0;
351
+ margin-bottom: var(--spacing-sm);
352
+ }
353
+
354
+ .health-check-modal-body {
355
+ min-height: 0;
356
+ overflow-y: auto;
357
+ padding: 0 var(--spacing-md);
358
+ scrollbar-width: none;
359
+ overscroll-behavior: contain;
360
+ }
361
+
362
+ .health-check-modal-body::-webkit-scrollbar {
363
+ display: none;
364
+ }
365
+
366
+ .health-check-modal-actions {
367
+ margin-top: 0;
368
+ padding: var(--spacing-sm) var(--spacing-md) var(--spacing-md);
369
+ border-top: 1px solid var(--color-border-soft);
370
+ background: linear-gradient(to bottom, rgba(255, 250, 246, 0.78) 0%, rgba(255, 250, 246, 0.98) 100%);
371
+ }
372
+
373
+ .health-failed-provider-list {
374
+ max-height: min(320px, 42vh);
375
+ border-color: rgba(176, 58, 46, 0.18);
376
+ border-radius: var(--radius-md);
377
+ background: linear-gradient(180deg, rgba(255, 250, 246, 0.98), rgba(255, 255, 255, 0.92));
378
+ }
379
+
380
+ .health-failed-provider-list::-webkit-scrollbar {
381
+ display: none;
382
+ }
383
+
384
+ .health-failed-provider-header {
385
+ position: sticky;
386
+ top: 0;
387
+ z-index: 1;
388
+ align-items: center;
389
+ background: linear-gradient(135deg, rgba(176, 58, 46, 0.11), rgba(210, 107, 90, 0.07));
390
+ backdrop-filter: blur(8px);
391
+ -webkit-backdrop-filter: blur(8px);
392
+ }
393
+
394
+ .health-failed-provider-actions {
395
+ display: inline-flex;
396
+ align-items: center;
397
+ gap: 8px;
398
+ flex-shrink: 0;
399
+ }
400
+
401
+ .btn-link {
402
+ border: 0;
403
+ background: transparent;
404
+ color: var(--color-brand-dark);
405
+ font-size: var(--font-size-caption);
406
+ font-weight: var(--font-weight-secondary);
407
+ cursor: pointer;
408
+ padding: 4px 6px;
409
+ border-radius: var(--radius-xs);
410
+ }
411
+
412
+ .btn-link:hover:not(:disabled) {
413
+ background: rgba(210, 107, 90, 0.1);
414
+ }
415
+
416
+ .btn-link:disabled {
417
+ cursor: not-allowed;
418
+ opacity: 0.45;
419
+ }
420
+
421
+ .health-failed-provider-item {
422
+ align-items: flex-start;
423
+ }
424
+
425
+ .health-failed-provider-item .latency {
426
+ margin-top: 1px;
427
+ }
@@ -112,6 +112,58 @@
112
112
  overflow: hidden;
113
113
  }
114
114
 
115
+ #panel-config-provider .card-list > .card,
116
+ #panel-config-claude .card-list > .card {
117
+ align-items: flex-start;
118
+ min-height: 88px;
119
+ padding-top: 22px;
120
+ padding-bottom: 22px;
121
+ }
122
+
123
+ #panel-config-provider .card-list > .card .card-leading,
124
+ #panel-config-claude .card-list > .card .card-leading {
125
+ align-items: flex-start;
126
+ }
127
+
128
+ #panel-config-provider .card-list > .card .card-content,
129
+ #panel-config-claude .card-list > .card .card-content {
130
+ gap: 4px;
131
+ }
132
+
133
+ #panel-config-provider .card-list > .card .card-title,
134
+ #panel-config-claude .card-list > .card .card-title {
135
+ align-items: flex-start;
136
+ flex-wrap: wrap;
137
+ white-space: normal;
138
+ overflow: visible;
139
+ text-overflow: clip;
140
+ overflow-wrap: anywhere;
141
+ line-height: 1.3;
142
+ }
143
+
144
+ #panel-config-provider .card-list > .card .card-title > span:first-child,
145
+ #panel-config-claude .card-list > .card .card-title > span:first-child {
146
+ white-space: normal;
147
+ overflow: visible;
148
+ text-overflow: clip;
149
+ overflow-wrap: anywhere;
150
+ line-height: 1.3;
151
+ }
152
+
153
+ @media (hover: none) and (pointer: coarse) {
154
+ #panel-config-provider .card-list,
155
+ #panel-config-claude .card-list {
156
+ grid-template-columns: 1fr;
157
+ }
158
+
159
+ #panel-config-provider .card-list > .card,
160
+ #panel-config-claude .card-list > .card {
161
+ min-height: 96px;
162
+ padding-top: 24px;
163
+ padding-bottom: 24px;
164
+ }
165
+ }
166
+
115
167
  .card:hover {
116
168
  border-color: var(--color-border-strong);
117
169
  box-shadow: var(--shadow-card-hover);