@firstpick/pi-package-webui 0.3.9 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/public/styles.css CHANGED
@@ -1109,6 +1109,12 @@ body.side-panel-collapsed .terminal-tabs-shell {
1109
1109
  .optional-feature-row.disabled {
1110
1110
  border-color: rgba(249, 226, 175, 0.28);
1111
1111
  }
1112
+ .optional-feature-row.installed {
1113
+ border-color: rgba(137, 180, 250, 0.26);
1114
+ }
1115
+ .optional-feature-row.updating {
1116
+ border-color: rgba(250, 179, 135, 0.32);
1117
+ }
1112
1118
  .optional-feature-row.missing {
1113
1119
  border-color: rgba(243, 139, 168, 0.25);
1114
1120
  }
@@ -1150,6 +1156,14 @@ body.side-panel-collapsed .terminal-tabs-shell {
1150
1156
  color: var(--ctp-yellow);
1151
1157
  border-color: rgba(249, 226, 175, 0.32);
1152
1158
  }
1159
+ .optional-feature-pill.installed {
1160
+ color: var(--ctp-blue);
1161
+ border-color: rgba(137, 180, 250, 0.32);
1162
+ }
1163
+ .optional-feature-pill.updating {
1164
+ color: var(--ctp-peach);
1165
+ border-color: rgba(250, 179, 135, 0.34);
1166
+ }
1153
1167
  .optional-feature-pill.missing {
1154
1168
  color: var(--ctp-red);
1155
1169
  border-color: rgba(243, 139, 168, 0.32);
@@ -1167,15 +1181,30 @@ body.side-panel-collapsed .terminal-tabs-shell {
1167
1181
  color: rgba(var(--ctp-teal-rgb), 0.86);
1168
1182
  font-size: 0.68rem;
1169
1183
  }
1184
+ .optional-feature-actions {
1185
+ display: grid;
1186
+ gap: 0.42rem;
1187
+ justify-items: end;
1188
+ }
1170
1189
  .optional-feature-action {
1171
1190
  min-width: 5.2rem;
1172
1191
  white-space: nowrap;
1173
1192
  }
1174
- .optional-feature-action.install {
1193
+ .optional-feature-action.setup {
1194
+ color: var(--ctp-teal);
1195
+ border-color: rgba(148, 226, 213, 0.32);
1196
+ }
1197
+ .optional-feature-action.install,
1198
+ .optional-feature-action.update {
1175
1199
  color: var(--ctp-yellow);
1176
1200
  border-color: rgba(249, 226, 175, 0.32);
1177
1201
  }
1178
- .optional-feature-action.install:not(:disabled):hover {
1202
+ .optional-feature-action.update {
1203
+ color: var(--ctp-peach);
1204
+ border-color: rgba(250, 179, 135, 0.34);
1205
+ }
1206
+ .optional-feature-action.install:not(:disabled):hover,
1207
+ .optional-feature-action.update:not(:disabled):hover {
1179
1208
  color: #11111b;
1180
1209
  border-color: transparent;
1181
1210
  background: linear-gradient(120deg, var(--ctp-yellow), var(--ctp-peach));
@@ -2609,6 +2638,31 @@ button.git-workflow-step:hover:not(:disabled) {
2609
2638
  line-height: 1.45;
2610
2639
  white-space: pre-wrap;
2611
2640
  }
2641
+ .git-workflow-message-input-row {
2642
+ flex: 1 1 100%;
2643
+ display: flex;
2644
+ gap: 0.5rem;
2645
+ align-items: flex-end;
2646
+ min-width: min(100%, 22rem);
2647
+ }
2648
+ .git-workflow-message-input-field {
2649
+ flex: 1 1 18rem;
2650
+ display: grid;
2651
+ gap: 0.28rem;
2652
+ min-width: min(100%, 15rem);
2653
+ }
2654
+ .git-workflow-message-input-label {
2655
+ color: rgba(var(--ctp-subtext-rgb), 0.82);
2656
+ font-size: 0.72rem;
2657
+ font-weight: 900;
2658
+ letter-spacing: 0.08em;
2659
+ text-transform: uppercase;
2660
+ }
2661
+ .git-workflow-message-input {
2662
+ width: 100%;
2663
+ min-height: 2.15rem;
2664
+ padding: 0.45rem 0.72rem;
2665
+ }
2612
2666
  .git-workflow-actions button {
2613
2667
  min-height: 2.15rem;
2614
2668
  padding: 0.45rem 0.72rem;
@@ -4386,7 +4440,7 @@ button.composer-skill-tag:focus-visible {
4386
4440
  display: flex;
4387
4441
  }
4388
4442
  .composer-options-menu-panel {
4389
- max-height: min(88vh, 36rem);
4443
+ max-height: min(calc(var(--visual-viewport-height, 100dvh) - 2rem), 44rem);
4390
4444
  }
4391
4445
  .composer-publish-menu.open .composer-publish-button {
4392
4446
  border-color: rgba(250, 179, 135, 0.58);
@@ -4434,6 +4488,7 @@ button.composer-skill-tag:focus-visible {
4434
4488
  width: min(22rem, calc(100vw - 2rem));
4435
4489
  min-width: min(18rem, calc(100vw - 2rem));
4436
4490
  max-width: min(22rem, calc(100vw - 2rem));
4491
+ max-height: min(calc(var(--visual-viewport-height, 100dvh) - 2rem), 44rem);
4437
4492
  overflow-x: hidden;
4438
4493
  }
4439
4494
  .composer-app-runner-menu-item {
@@ -5152,6 +5207,297 @@ button.composer-skill-tag:focus-visible {
5152
5207
  padding: 0;
5153
5208
  margin: 1rem 0 0;
5154
5209
  }
5210
+ .extension-dialog.stats-overlay-dialog {
5211
+ width: min(92rem, calc(100vw - 1.5rem));
5212
+ height: min(54rem, calc(var(--visual-viewport-height, 100dvh) - 1.5rem));
5213
+ max-height: calc(var(--visual-viewport-height, 100dvh) - 1.5rem);
5214
+ overflow: hidden;
5215
+ border-color: rgba(137, 180, 250, 0.48);
5216
+ box-shadow: 0 2rem 5rem var(--shadow), 0 0 2rem rgba(137, 180, 250, 0.22);
5217
+ }
5218
+ .stats-overlay-dialog form {
5219
+ display: grid;
5220
+ grid-template-rows: auto auto auto minmax(0, 1fr);
5221
+ gap: 0.82rem;
5222
+ height: 100%;
5223
+ min-height: 0;
5224
+ min-width: 0;
5225
+ max-height: 100%;
5226
+ overflow: hidden;
5227
+ }
5228
+ .stats-overlay-header {
5229
+ display: flex;
5230
+ align-items: flex-start;
5231
+ justify-content: space-between;
5232
+ gap: 1rem;
5233
+ }
5234
+ .stats-overlay-kicker {
5235
+ display: block;
5236
+ color: var(--ctp-sky);
5237
+ font-size: 0.72rem;
5238
+ font-weight: 900;
5239
+ letter-spacing: 0.12em;
5240
+ text-transform: uppercase;
5241
+ }
5242
+ .stats-overlay-header h2 {
5243
+ margin: 0.12rem 0 0;
5244
+ color: var(--ctp-text);
5245
+ }
5246
+ .stats-overlay-header p { margin: 0.25rem 0 0; }
5247
+ .stats-overlay-controls {
5248
+ display: flex;
5249
+ align-items: end;
5250
+ gap: 0.5rem;
5251
+ flex-wrap: wrap;
5252
+ justify-content: flex-end;
5253
+ }
5254
+ .stats-overlay-controls label {
5255
+ color: rgba(var(--ctp-subtext-rgb), 0.74);
5256
+ font-size: 0.68rem;
5257
+ font-weight: 900;
5258
+ letter-spacing: 0.08em;
5259
+ text-transform: uppercase;
5260
+ }
5261
+ .stats-overlay-controls select { min-width: 7.5rem; }
5262
+ .stats-overlay-close-button {
5263
+ border-color: rgba(249, 226, 175, 0.36);
5264
+ color: var(--ctp-yellow);
5265
+ }
5266
+ .stats-overlay-custom-days {
5267
+ width: 7rem;
5268
+ min-width: 0;
5269
+ }
5270
+ .stats-overlay-status {
5271
+ margin: 0;
5272
+ padding: 0.55rem 0.7rem;
5273
+ border: 1px solid rgba(137, 180, 250, 0.22);
5274
+ border-radius: 0.75rem;
5275
+ background: rgba(var(--ctp-surface-rgb), 0.30);
5276
+ }
5277
+ .stats-overlay-status.error {
5278
+ color: var(--ctp-red);
5279
+ border-color: rgba(243, 139, 168, 0.38);
5280
+ }
5281
+ .stats-overlay-tabs {
5282
+ display: flex;
5283
+ gap: 0.42rem;
5284
+ overflow-x: auto;
5285
+ padding-bottom: 0.12rem;
5286
+ scrollbar-width: thin;
5287
+ }
5288
+ .stats-overlay-tabs button {
5289
+ flex: 0 0 auto;
5290
+ border-color: rgba(137, 180, 250, 0.24);
5291
+ background: rgba(var(--ctp-surface-rgb), 0.28);
5292
+ color: rgba(var(--ctp-subtext-rgb), 0.86);
5293
+ font-weight: 800;
5294
+ }
5295
+ .stats-overlay-tabs button.active {
5296
+ color: var(--ctp-sky);
5297
+ border-color: rgba(137, 180, 250, 0.56);
5298
+ box-shadow: 0 0 1rem rgba(137, 180, 250, 0.14), inset 0 0 1rem rgba(137, 180, 250, 0.08);
5299
+ }
5300
+ .stats-overlay-body {
5301
+ min-height: 0;
5302
+ overflow: auto;
5303
+ padding: 0.1rem 0.18rem 0.75rem 0;
5304
+ overscroll-behavior: contain;
5305
+ -webkit-overflow-scrolling: touch;
5306
+ }
5307
+ .stats-overlay-pane {
5308
+ display: grid;
5309
+ gap: 0.82rem;
5310
+ }
5311
+ .stats-overlay-pane h3 {
5312
+ margin: 0.25rem 0 0;
5313
+ color: var(--ctp-blue);
5314
+ font-size: 0.9rem;
5315
+ }
5316
+ .stats-overlay-cards {
5317
+ display: grid;
5318
+ grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));
5319
+ gap: 0.72rem;
5320
+ }
5321
+ .stats-overlay-cards.compact { grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); }
5322
+ .stats-overlay-card {
5323
+ display: grid;
5324
+ gap: 0.22rem;
5325
+ min-width: 0;
5326
+ padding: 0.78rem 0.85rem;
5327
+ border: 1px solid rgba(137, 180, 250, 0.22);
5328
+ border-radius: 0.9rem;
5329
+ background: linear-gradient(145deg, rgba(var(--ctp-surface-rgb), 0.38), rgba(var(--ctp-crust-rgb), 0.48));
5330
+ box-shadow: inset 0 0 1.4rem rgba(137, 180, 250, 0.04);
5331
+ }
5332
+ .stats-overlay-card-label,
5333
+ .stats-overlay-card-detail {
5334
+ min-width: 0;
5335
+ color: rgba(var(--ctp-subtext-rgb), 0.72);
5336
+ font-size: 0.72rem;
5337
+ line-height: 1.25;
5338
+ }
5339
+ .stats-overlay-card-label {
5340
+ font-weight: 900;
5341
+ letter-spacing: 0.08em;
5342
+ text-transform: uppercase;
5343
+ }
5344
+ .stats-overlay-card strong {
5345
+ min-width: 0;
5346
+ color: var(--ctp-text);
5347
+ font-size: 1.35rem;
5348
+ overflow-wrap: anywhere;
5349
+ }
5350
+ .stats-overlay-card.tone-blue { border-color: rgba(137, 180, 250, 0.38); }
5351
+ .stats-overlay-card.tone-green { border-color: rgba(166, 227, 161, 0.38); }
5352
+ .stats-overlay-card.tone-mauve { border-color: rgba(203, 166, 247, 0.38); }
5353
+ .stats-overlay-card.tone-yellow { border-color: rgba(249, 226, 175, 0.38); }
5354
+ .stats-overlay-card.tone-teal { border-color: rgba(148, 226, 213, 0.38); }
5355
+ .stats-overlay-card.tone-pink { border-color: rgba(245, 194, 231, 0.38); }
5356
+ .stats-overlay-calibration-panel {
5357
+ display: flex;
5358
+ align-items: center;
5359
+ justify-content: space-between;
5360
+ gap: 0.8rem;
5361
+ padding: 0.82rem 0.9rem;
5362
+ border: 1px solid rgba(249, 226, 175, 0.26);
5363
+ border-radius: 0.9rem;
5364
+ background: linear-gradient(135deg, rgba(249, 226, 175, 0.08), rgba(var(--ctp-crust-rgb), 0.48));
5365
+ }
5366
+ .stats-overlay-calibration-copy {
5367
+ display: grid;
5368
+ gap: 0.2rem;
5369
+ min-width: 0;
5370
+ }
5371
+ .stats-overlay-calibration-copy strong {
5372
+ color: var(--ctp-yellow);
5373
+ font-size: 0.86rem;
5374
+ }
5375
+ .stats-overlay-calibration-copy span {
5376
+ color: rgba(var(--ctp-subtext-rgb), 0.78);
5377
+ font-size: 0.76rem;
5378
+ line-height: 1.35;
5379
+ }
5380
+ .stats-overlay-calibration-copy .warning { color: var(--ctp-yellow); }
5381
+ .stats-overlay-calibration-actions {
5382
+ display: flex;
5383
+ flex: 0 0 auto;
5384
+ gap: 0.5rem;
5385
+ flex-wrap: wrap;
5386
+ justify-content: flex-end;
5387
+ }
5388
+ .stats-overlay-bars {
5389
+ display: grid;
5390
+ gap: 0.42rem;
5391
+ }
5392
+ .stats-overlay-bar-row {
5393
+ display: grid;
5394
+ grid-template-columns: 6.2rem minmax(7rem, 1fr) 5.5rem 4.8rem;
5395
+ gap: 0.55rem;
5396
+ align-items: center;
5397
+ padding: 0.42rem 0.5rem;
5398
+ border: 1px solid rgba(var(--ctp-overlay-rgb), 0.16);
5399
+ border-radius: 0.72rem;
5400
+ background: rgba(var(--ctp-surface-rgb), 0.20);
5401
+ }
5402
+ .stats-overlay-bar {
5403
+ height: 0.55rem;
5404
+ overflow: hidden;
5405
+ border-radius: 999px;
5406
+ background: rgba(var(--ctp-crust-rgb), 0.78);
5407
+ box-shadow: inset 0 0 0 1px rgba(137, 180, 250, 0.12);
5408
+ }
5409
+ .stats-overlay-bar-fill {
5410
+ display: block;
5411
+ height: 100%;
5412
+ border-radius: inherit;
5413
+ background: linear-gradient(90deg, var(--ctp-blue), var(--ctp-sky), var(--ctp-teal));
5414
+ box-shadow: 0 0 0.9rem rgba(137, 180, 250, 0.32);
5415
+ }
5416
+ .stats-overlay-bar-day,
5417
+ .stats-overlay-bar-value,
5418
+ .stats-overlay-bar-cost {
5419
+ color: rgba(var(--ctp-subtext-rgb), 0.86);
5420
+ font-size: 0.78rem;
5421
+ white-space: nowrap;
5422
+ }
5423
+ .stats-overlay-bar-value,
5424
+ .stats-overlay-bar-cost { text-align: right; }
5425
+ .stats-overlay-table-wrap {
5426
+ overflow: auto;
5427
+ border: 1px solid rgba(137, 180, 250, 0.16);
5428
+ border-radius: 0.88rem;
5429
+ }
5430
+ .stats-overlay-table {
5431
+ width: 100%;
5432
+ min-width: 42rem;
5433
+ border-collapse: collapse;
5434
+ font-size: 0.82rem;
5435
+ }
5436
+ .stats-overlay-table th,
5437
+ .stats-overlay-table td {
5438
+ padding: 0.58rem 0.64rem;
5439
+ border-bottom: 1px solid rgba(var(--ctp-overlay-rgb), 0.12);
5440
+ text-align: left;
5441
+ vertical-align: top;
5442
+ }
5443
+ .stats-overlay-table th {
5444
+ position: sticky;
5445
+ top: 0;
5446
+ z-index: 1;
5447
+ color: var(--ctp-sky);
5448
+ background: rgba(var(--ctp-crust-rgb), 0.96);
5449
+ font-size: 0.68rem;
5450
+ letter-spacing: 0.08em;
5451
+ text-transform: uppercase;
5452
+ }
5453
+ .stats-overlay-table td:nth-child(n+3) { white-space: nowrap; }
5454
+ .stats-overlay-command-section {
5455
+ display: grid;
5456
+ gap: 0.52rem;
5457
+ padding: 0.78rem;
5458
+ border: 1px solid rgba(137, 180, 250, 0.16);
5459
+ border-radius: 0.9rem;
5460
+ background: rgba(var(--ctp-surface-rgb), 0.16);
5461
+ }
5462
+ .stats-overlay-command-header {
5463
+ display: flex;
5464
+ align-items: flex-start;
5465
+ justify-content: space-between;
5466
+ gap: 0.75rem;
5467
+ }
5468
+ .stats-overlay-command-title {
5469
+ display: grid;
5470
+ gap: 0.18rem;
5471
+ min-width: 0;
5472
+ }
5473
+ .stats-overlay-command-title h3,
5474
+ .stats-overlay-command-title p {
5475
+ margin: 0;
5476
+ }
5477
+ .stats-overlay-command-pill {
5478
+ flex: 0 0 auto;
5479
+ padding: 0.28rem 0.46rem;
5480
+ border: 1px solid rgba(137, 180, 250, 0.24);
5481
+ border-radius: 999px;
5482
+ background: rgba(var(--ctp-crust-rgb), 0.55);
5483
+ color: var(--ctp-sky);
5484
+ font-size: 0.72rem;
5485
+ white-space: nowrap;
5486
+ }
5487
+ .stats-overlay-lines {
5488
+ max-height: 24rem;
5489
+ margin: 0;
5490
+ padding: 0.78rem;
5491
+ overflow: auto;
5492
+ border: 1px solid rgba(137, 180, 250, 0.18);
5493
+ border-radius: 0.82rem;
5494
+ background: rgba(var(--ctp-crust-rgb), 0.62);
5495
+ color: rgba(var(--ctp-text-rgb), 0.92);
5496
+ font-size: 0.78rem;
5497
+ line-height: 1.42;
5498
+ white-space: pre;
5499
+ }
5500
+ .stats-overlay-empty { margin: 0.4rem 0; }
5155
5501
  .dialog-options {
5156
5502
  display: grid;
5157
5503
  gap: 0.5rem;
@@ -6444,7 +6790,11 @@ button.composer-skill-tag:focus-visible {
6444
6790
  }
6445
6791
  .composer-actions-panel > .composer-options-menu .composer-publish-menu-panel {
6446
6792
  inset-inline: auto 0;
6447
- max-height: min(76dvh, 34rem);
6793
+ max-height: min(calc(var(--visual-viewport-height, 100dvh) - 2rem), 44rem);
6794
+ }
6795
+ .composer-actions-panel > .composer-app-runner-menu .composer-publish-menu-panel {
6796
+ inset-inline: auto 0;
6797
+ max-height: min(calc(var(--visual-viewport-height, 100dvh) - 2rem), 44rem);
6448
6798
  }
6449
6799
  .composer-actions-panel > .composer-publish-menu .composer-publish-menu-item {
6450
6800
  width: 100%;
@@ -6506,6 +6856,46 @@ button.composer-skill-tag:focus-visible {
6506
6856
  overflow: auto;
6507
6857
  border-radius: 1rem 1rem 0 0;
6508
6858
  }
6859
+ .extension-dialog.stats-overlay-dialog {
6860
+ inset: calc(0.5rem + env(safe-area-inset-top)) 0 0 0;
6861
+ width: 100vw;
6862
+ height: calc(var(--visual-viewport-height, 100dvh) - 0.5rem - env(safe-area-inset-top));
6863
+ max-height: calc(var(--visual-viewport-height, 100dvh) - 0.5rem - env(safe-area-inset-top));
6864
+ }
6865
+ .stats-overlay-dialog form {
6866
+ height: 100%;
6867
+ max-height: 100%;
6868
+ }
6869
+ .stats-overlay-header {
6870
+ flex-direction: column;
6871
+ gap: 0.65rem;
6872
+ }
6873
+ .stats-overlay-controls,
6874
+ .stats-overlay-controls select,
6875
+ .stats-overlay-custom-days,
6876
+ .stats-overlay-controls button {
6877
+ width: 100%;
6878
+ }
6879
+ .stats-overlay-calibration-panel,
6880
+ .stats-overlay-calibration-actions {
6881
+ display: grid;
6882
+ grid-template-columns: 1fr;
6883
+ width: 100%;
6884
+ }
6885
+ .stats-overlay-command-header {
6886
+ display: grid;
6887
+ grid-template-columns: 1fr;
6888
+ }
6889
+ .stats-overlay-command-pill {
6890
+ justify-self: start;
6891
+ white-space: normal;
6892
+ }
6893
+ .stats-overlay-bar-row {
6894
+ grid-template-columns: 1fr;
6895
+ gap: 0.32rem;
6896
+ }
6897
+ .stats-overlay-bar-value,
6898
+ .stats-overlay-bar-cost { text-align: left; }
6509
6899
  .extension-dialog.release-dialog form {
6510
6900
  max-height: calc(var(--visual-viewport-height, 100dvh) - 2rem - env(safe-area-inset-top));
6511
6901
  }
@@ -6561,6 +6951,11 @@ button.composer-skill-tag:focus-visible {
6561
6951
  .composer-row button[data-tooltip].tooltip-open::after { display: block; }
6562
6952
  .git-workflow-actions button,
6563
6953
  #gitWorkflowCancelButton { min-height: 44px; }
6954
+ .git-workflow-message-input-row {
6955
+ flex-direction: column;
6956
+ align-items: stretch;
6957
+ }
6958
+ .git-workflow-message-input-commit { width: 100%; }
6564
6959
  .native-command-body { max-height: min(28rem, 54dvh); }
6565
6960
  .native-settings-grid,
6566
6961
  .native-tree-options { grid-template-columns: 1fr; }
@@ -6584,3 +6979,535 @@ button.composer-skill-tag:focus-visible {
6584
6979
  }
6585
6980
  .path-picker-list { max-height: min(18rem, 42dvh); }
6586
6981
  }
6982
+
6983
+ /* Transcript search (Ctrl/Cmd+F) */
6984
+ .chat-search-bar {
6985
+ display: flex;
6986
+ align-items: center;
6987
+ gap: 0.4rem;
6988
+ padding: 0.4rem 0.75rem;
6989
+ border-bottom: 1px solid var(--border);
6990
+ background: var(--panel-3);
6991
+ }
6992
+ .chat-search-bar[hidden] { display: none; }
6993
+ .chat-search-input {
6994
+ flex: 1 1 auto;
6995
+ min-width: 0;
6996
+ padding: 0.3rem 0.55rem;
6997
+ border: 1px solid var(--border);
6998
+ border-radius: 0.5rem;
6999
+ background: var(--panel);
7000
+ color: inherit;
7001
+ font: inherit;
7002
+ }
7003
+ .chat-search-input:focus-visible {
7004
+ outline: 2px solid var(--accent);
7005
+ outline-offset: 1px;
7006
+ }
7007
+ .chat-search-count {
7008
+ flex: 0 0 auto;
7009
+ min-width: 3.2em;
7010
+ text-align: center;
7011
+ font-variant-numeric: tabular-nums;
7012
+ }
7013
+ .chat-search-button {
7014
+ flex: 0 0 auto;
7015
+ padding: 0.25rem 0.55rem;
7016
+ border: 1px solid var(--border);
7017
+ border-radius: 0.5rem;
7018
+ background: var(--panel-2);
7019
+ color: inherit;
7020
+ cursor: pointer;
7021
+ }
7022
+ .chat-search-button:hover { background: var(--panel); }
7023
+ .message.search-current {
7024
+ outline: 2px solid var(--accent-2);
7025
+ outline-offset: 2px;
7026
+ }
7027
+
7028
+ /* Broad usability MVPs: dashboard, command palette, context meter, edit/retry */
7029
+ .terminal-command-palette-button,
7030
+ .terminal-dashboard-button {
7031
+ position: relative;
7032
+ flex: 0 0 auto;
7033
+ min-height: 2.35rem;
7034
+ padding: 0.38rem 0.7rem;
7035
+ white-space: nowrap;
7036
+ color: var(--ctp-teal);
7037
+ border-color: rgba(148, 226, 213, 0.32);
7038
+ background:
7039
+ linear-gradient(120deg, rgba(148, 226, 213, 0.12), rgba(137, 180, 250, 0.08)),
7040
+ rgba(var(--ctp-crust-rgb), 0.58);
7041
+ }
7042
+ .terminal-command-palette-button,
7043
+ .terminal-dashboard-button {
7044
+ display: inline-grid;
7045
+ place-items: center;
7046
+ width: 2.35rem;
7047
+ min-width: 2.35rem;
7048
+ padding-inline: 0;
7049
+ font-size: 1.05rem;
7050
+ line-height: 1;
7051
+ }
7052
+ .terminal-command-palette-button .command-palette-launcher-icon,
7053
+ .terminal-dashboard-button .workspace-overview-icon {
7054
+ width: 1.18rem;
7055
+ height: 1.18rem;
7056
+ stroke-width: 2.1;
7057
+ filter: drop-shadow(0 0 0.45rem rgba(148, 226, 213, 0.22));
7058
+ }
7059
+ .terminal-dashboard-button[aria-expanded="true"] {
7060
+ color: #11111b;
7061
+ border-color: transparent;
7062
+ background: linear-gradient(120deg, var(--ctp-teal), var(--ctp-blue));
7063
+ }
7064
+ .terminal-command-palette-button[data-tooltip]::before,
7065
+ .terminal-command-palette-button[data-tooltip]::after,
7066
+ .terminal-dashboard-button[data-tooltip]::before,
7067
+ .terminal-dashboard-button[data-tooltip]::after {
7068
+ position: absolute;
7069
+ right: 0;
7070
+ pointer-events: none;
7071
+ opacity: 0;
7072
+ transition: opacity 140ms ease, transform 140ms ease;
7073
+ }
7074
+ .terminal-command-palette-button[data-tooltip]::before,
7075
+ .terminal-dashboard-button[data-tooltip]::before {
7076
+ content: "";
7077
+ top: calc(100% + 0.42rem);
7078
+ right: 0.78rem;
7079
+ z-index: 119;
7080
+ width: 0.72rem;
7081
+ height: 0.72rem;
7082
+ background: rgba(var(--ctp-crust-rgb), 0.96);
7083
+ border-left: 1px solid rgba(166, 227, 161, 0.28);
7084
+ border-top: 1px solid rgba(166, 227, 161, 0.28);
7085
+ transform: translateY(-0.2rem) rotate(45deg);
7086
+ }
7087
+ .terminal-command-palette-button[data-tooltip]::after,
7088
+ .terminal-dashboard-button[data-tooltip]::after {
7089
+ content: attr(data-tooltip);
7090
+ top: calc(100% + 0.72rem);
7091
+ z-index: 120;
7092
+ width: max-content;
7093
+ max-width: min(25rem, calc(100vw - 2rem));
7094
+ padding: 0.78rem 0.9rem;
7095
+ color: var(--ctp-text);
7096
+ text-align: left;
7097
+ white-space: pre-line;
7098
+ line-height: 1.45;
7099
+ border: 1px solid rgba(166, 227, 161, 0.30);
7100
+ border-radius: 0.86rem;
7101
+ background:
7102
+ radial-gradient(circle at 8% 0%, rgba(166, 227, 161, 0.13), transparent 12rem),
7103
+ linear-gradient(145deg, rgba(var(--ctp-crust-rgb), 0.98), rgba(var(--ctp-base-rgb), 0.94));
7104
+ box-shadow: 0 1rem 2.4rem rgba(var(--ctp-crust-rgb), 0.58), 0 0 1.2rem rgba(166, 227, 161, 0.16), inset 0 1px 0 rgba(255,255,255,0.055);
7105
+ font-size: 0.82rem;
7106
+ font-weight: 650;
7107
+ text-transform: none;
7108
+ letter-spacing: 0;
7109
+ transform: translateY(-0.2rem);
7110
+ }
7111
+ .terminal-command-palette-button[data-tooltip]:hover::before,
7112
+ .terminal-command-palette-button[data-tooltip]:hover::after,
7113
+ .terminal-command-palette-button[data-tooltip]:focus-visible::before,
7114
+ .terminal-command-palette-button[data-tooltip]:focus-visible::after,
7115
+ .terminal-dashboard-button[data-tooltip]:hover::before,
7116
+ .terminal-dashboard-button[data-tooltip]:hover::after,
7117
+ .terminal-dashboard-button[data-tooltip]:focus-visible::before,
7118
+ .terminal-dashboard-button[data-tooltip]:focus-visible::after {
7119
+ opacity: 1;
7120
+ transform: translateY(0);
7121
+ }
7122
+ .terminal-command-palette-button[data-tooltip]:hover::before,
7123
+ .terminal-command-palette-button[data-tooltip]:focus-visible::before,
7124
+ .terminal-dashboard-button[data-tooltip]:hover::before,
7125
+ .terminal-dashboard-button[data-tooltip]:focus-visible::before {
7126
+ transform: translateY(0) rotate(45deg);
7127
+ }
7128
+ .workspace-dashboard[hidden],
7129
+ .context-meter-bar[hidden] { display: none; }
7130
+ .workspace-dashboard {
7131
+ display: grid;
7132
+ gap: 0.72rem;
7133
+ padding: 0.78rem 0.95rem;
7134
+ border-bottom: 1px solid rgba(180, 190, 254, 0.16);
7135
+ background:
7136
+ radial-gradient(circle at 8% 0, rgba(148, 226, 213, 0.13), transparent 18rem),
7137
+ linear-gradient(135deg, rgba(var(--ctp-crust-rgb), 0.66), rgba(var(--ctp-base-rgb), 0.54));
7138
+ }
7139
+ .workspace-dashboard-header {
7140
+ display: flex;
7141
+ align-items: start;
7142
+ justify-content: space-between;
7143
+ gap: 0.8rem;
7144
+ }
7145
+ .workspace-dashboard-title {
7146
+ min-width: 0;
7147
+ }
7148
+ .workspace-dashboard-kicker,
7149
+ .command-palette-kicker {
7150
+ color: var(--ctp-pink);
7151
+ font-size: 0.68rem;
7152
+ font-weight: 900;
7153
+ letter-spacing: 0.14em;
7154
+ text-transform: uppercase;
7155
+ }
7156
+ .workspace-dashboard-title h2,
7157
+ .command-palette-header h2 {
7158
+ margin: 0.12rem 0 0.22rem;
7159
+ font-size: 1.05rem;
7160
+ }
7161
+ .workspace-dashboard-title p {
7162
+ margin: 0;
7163
+ overflow-wrap: anywhere;
7164
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
7165
+ font-size: 0.72rem;
7166
+ }
7167
+ .workspace-dashboard-actions {
7168
+ display: flex;
7169
+ flex-wrap: wrap;
7170
+ justify-content: flex-end;
7171
+ gap: 0.42rem;
7172
+ }
7173
+ .workspace-dashboard-action {
7174
+ min-height: 2.15rem;
7175
+ padding: 0.32rem 0.58rem;
7176
+ font-size: 0.72rem;
7177
+ font-weight: 850;
7178
+ }
7179
+ .workspace-dashboard-action.primary {
7180
+ color: var(--button-primary-text);
7181
+ border-color: transparent;
7182
+ background: var(--neon-gradient);
7183
+ }
7184
+ .workspace-dashboard-metrics {
7185
+ display: grid;
7186
+ grid-template-columns: repeat(4, minmax(0, 1fr));
7187
+ gap: 0.58rem;
7188
+ }
7189
+ .workspace-dashboard-metric {
7190
+ min-width: 0;
7191
+ padding: 0.62rem;
7192
+ border: 1px solid rgba(180, 190, 254, 0.16);
7193
+ border-radius: 0.76rem;
7194
+ background: rgba(var(--ctp-crust-rgb), 0.48);
7195
+ }
7196
+ .workspace-dashboard-metric-label,
7197
+ .workspace-dashboard-metric-detail,
7198
+ .workspace-dashboard-tabs-title,
7199
+ .command-palette-item-kind,
7200
+ .command-palette-item-description {
7201
+ display: block;
7202
+ color: rgba(var(--ctp-subtext-rgb), 0.72);
7203
+ font-size: 0.68rem;
7204
+ line-height: 1.35;
7205
+ }
7206
+ .workspace-dashboard-metric-label {
7207
+ font-weight: 900;
7208
+ letter-spacing: 0.08em;
7209
+ text-transform: uppercase;
7210
+ }
7211
+ .workspace-dashboard-metric strong {
7212
+ display: block;
7213
+ margin-top: 0.18rem;
7214
+ overflow: hidden;
7215
+ color: var(--ctp-text);
7216
+ text-overflow: ellipsis;
7217
+ white-space: nowrap;
7218
+ }
7219
+ .workspace-dashboard-tabs {
7220
+ display: grid;
7221
+ gap: 0.42rem;
7222
+ }
7223
+ .workspace-dashboard-tab-list {
7224
+ display: flex;
7225
+ flex-wrap: wrap;
7226
+ gap: 0.38rem;
7227
+ }
7228
+ .workspace-dashboard-tab {
7229
+ display: inline-flex;
7230
+ align-items: center;
7231
+ gap: 0.32rem;
7232
+ min-height: 2rem;
7233
+ padding: 0.28rem 0.52rem;
7234
+ color: rgba(var(--ctp-text-rgb), 0.84);
7235
+ font-size: 0.72rem;
7236
+ }
7237
+ .workspace-dashboard-tab.active {
7238
+ color: #11111b;
7239
+ border-color: transparent;
7240
+ background: linear-gradient(120deg, var(--ctp-teal), var(--ctp-blue));
7241
+ }
7242
+ .workspace-dashboard-tab-dot {
7243
+ color: var(--ctp-teal);
7244
+ font-size: 0.72rem;
7245
+ }
7246
+ .workspace-dashboard-tab-more {
7247
+ align-self: center;
7248
+ color: rgba(var(--ctp-subtext-rgb), 0.72);
7249
+ font-size: 0.72rem;
7250
+ }
7251
+ .context-meter-bar {
7252
+ display: grid;
7253
+ grid-template-columns: minmax(0, 1.2fr) minmax(8rem, 1fr) auto;
7254
+ gap: 0.68rem;
7255
+ align-items: center;
7256
+ padding: 0.56rem 0.95rem;
7257
+ border-top: 1px solid rgba(180, 190, 254, 0.12);
7258
+ border-bottom: 1px solid rgba(180, 190, 254, 0.14);
7259
+ background: linear-gradient(90deg, rgba(166, 227, 161, 0.09), rgba(249, 226, 175, 0.08), rgba(137, 180, 250, 0.08));
7260
+ }
7261
+ .context-meter-summary {
7262
+ display: grid;
7263
+ gap: 0.12rem;
7264
+ min-width: 0;
7265
+ }
7266
+ .context-meter-summary strong,
7267
+ .context-meter-summary span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
7268
+ .context-meter {
7269
+ position: relative;
7270
+ height: 0.72rem;
7271
+ overflow: hidden;
7272
+ border: 1px solid rgba(180, 190, 254, 0.16);
7273
+ border-radius: 999px;
7274
+ background: rgba(var(--ctp-crust-rgb), 0.62);
7275
+ }
7276
+ .context-meter-fill {
7277
+ display: block;
7278
+ height: 100%;
7279
+ border-radius: inherit;
7280
+ background: linear-gradient(90deg, var(--ctp-green), var(--context-active-color, var(--ctp-teal)));
7281
+ box-shadow: 0 0 0.85rem var(--context-active-glow, rgba(148, 226, 213, 0.24));
7282
+ transition: width 180ms ease;
7283
+ }
7284
+ .context-meter.unknown .context-meter-fill {
7285
+ width: 100% !important;
7286
+ background: repeating-linear-gradient(90deg, rgba(148, 226, 213, 0.22) 0 0.8rem, rgba(203, 166, 247, 0.18) 0.8rem 1.6rem);
7287
+ }
7288
+ .context-meter-actions {
7289
+ display: flex;
7290
+ gap: 0.42rem;
7291
+ justify-content: flex-end;
7292
+ }
7293
+ .context-meter-actions button {
7294
+ min-height: 2.1rem;
7295
+ padding: 0.28rem 0.56rem;
7296
+ font-size: 0.72rem;
7297
+ font-weight: 850;
7298
+ }
7299
+ .context-meter-auto[aria-pressed="true"] {
7300
+ color: #11111b;
7301
+ border-color: transparent;
7302
+ background: linear-gradient(120deg, var(--ctp-green), var(--ctp-teal));
7303
+ }
7304
+ .command-palette-dialog {
7305
+ width: min(42rem, calc(100vw - 1.5rem));
7306
+ max-height: min(44rem, calc(var(--visual-viewport-height, 100dvh) - 2rem));
7307
+ padding: 0;
7308
+ overflow: hidden;
7309
+ }
7310
+ .command-palette-dialog form {
7311
+ display: grid;
7312
+ grid-template-rows: auto auto minmax(0, 1fr) auto;
7313
+ gap: 0;
7314
+ width: 100%;
7315
+ max-height: inherit;
7316
+ min-height: 0;
7317
+ }
7318
+ .edit-retry-dialog form {
7319
+ width: min(44rem, calc(100vw - 2rem));
7320
+ }
7321
+ .command-palette-header {
7322
+ display: flex;
7323
+ align-items: start;
7324
+ justify-content: space-between;
7325
+ gap: 0.9rem;
7326
+ min-width: 0;
7327
+ padding: 1rem 1rem 0.72rem;
7328
+ }
7329
+ .command-palette-header > div {
7330
+ min-width: 0;
7331
+ }
7332
+ .command-palette-shortcut {
7333
+ flex: 0 0 auto;
7334
+ max-width: 9rem;
7335
+ padding: 0.18rem 0.52rem;
7336
+ overflow: hidden;
7337
+ border: 1px solid rgba(180, 190, 254, 0.22);
7338
+ border-radius: 999px;
7339
+ color: rgba(var(--ctp-subtext-rgb), 0.78);
7340
+ background: rgba(var(--ctp-crust-rgb), 0.46);
7341
+ font-size: 0.68rem;
7342
+ font-weight: 850;
7343
+ text-overflow: ellipsis;
7344
+ white-space: nowrap;
7345
+ }
7346
+ .command-palette-input {
7347
+ width: calc(100% - 2rem);
7348
+ min-width: 0;
7349
+ margin: 0 1rem 0.72rem;
7350
+ padding: 0.86rem 0.9rem;
7351
+ border-radius: 0.82rem;
7352
+ background:
7353
+ radial-gradient(circle at 0 0, rgba(203, 166, 247, 0.12), transparent 14rem),
7354
+ rgba(var(--ctp-crust-rgb), 0.50);
7355
+ }
7356
+ .command-palette-list {
7357
+ display: grid;
7358
+ gap: 0.42rem;
7359
+ min-height: 0;
7360
+ max-height: none;
7361
+ overflow-x: hidden;
7362
+ overflow-y: auto;
7363
+ padding: 0 1rem 0.7rem;
7364
+ scrollbar-gutter: stable;
7365
+ }
7366
+ .command-palette-item {
7367
+ display: grid;
7368
+ grid-template-columns: 4.8rem minmax(0, 1fr);
7369
+ gap: 0.1rem 0.7rem;
7370
+ width: 100%;
7371
+ min-width: 0;
7372
+ min-height: 3.4rem;
7373
+ padding: 0.62rem 0.74rem;
7374
+ overflow: hidden;
7375
+ text-align: left;
7376
+ border-radius: 0.82rem;
7377
+ background:
7378
+ linear-gradient(120deg, rgba(203, 166, 247, 0.06), rgba(148, 226, 213, 0.04)),
7379
+ rgba(var(--ctp-crust-rgb), 0.46);
7380
+ }
7381
+ .command-palette-item:hover,
7382
+ .command-palette-item:focus-visible {
7383
+ transform: none;
7384
+ }
7385
+ .command-palette-item-kind {
7386
+ grid-row: 1 / span 2;
7387
+ align-self: center;
7388
+ min-width: 0;
7389
+ overflow: hidden;
7390
+ color: var(--ctp-teal);
7391
+ font-size: 0.68rem;
7392
+ font-weight: 900;
7393
+ letter-spacing: 0.08em;
7394
+ text-overflow: ellipsis;
7395
+ text-transform: uppercase;
7396
+ white-space: nowrap;
7397
+ }
7398
+ .command-palette-item-label {
7399
+ min-width: 0;
7400
+ overflow: hidden;
7401
+ color: var(--ctp-text);
7402
+ font-weight: 900;
7403
+ text-overflow: ellipsis;
7404
+ white-space: nowrap;
7405
+ }
7406
+ .command-palette-item-description {
7407
+ min-width: 0;
7408
+ overflow: hidden;
7409
+ text-overflow: ellipsis;
7410
+ white-space: nowrap;
7411
+ }
7412
+ .command-palette-item.active,
7413
+ .command-palette-item:focus-visible {
7414
+ color: var(--ctp-text);
7415
+ border-color: rgba(148, 226, 213, 0.66);
7416
+ background:
7417
+ linear-gradient(90deg, rgba(245, 194, 231, 0.20), rgba(137, 180, 250, 0.14), rgba(148, 226, 213, 0.16)),
7418
+ rgba(var(--ctp-surface-rgb), 0.70);
7419
+ box-shadow: inset 3px 0 0 var(--ctp-teal), 0 0 1rem rgba(148, 226, 213, 0.16);
7420
+ }
7421
+ .command-palette-item.active .command-palette-item-kind,
7422
+ .command-palette-item.active .command-palette-item-label { color: var(--ctp-text); }
7423
+ .command-palette-item.active .command-palette-item-description { color: rgba(var(--ctp-subtext-rgb), 0.84); }
7424
+ .command-palette-empty {
7425
+ padding: 1rem;
7426
+ text-align: center;
7427
+ }
7428
+ .command-palette-hint {
7429
+ margin: 0;
7430
+ padding: 0.62rem 1rem 0.82rem;
7431
+ border-top: 1px solid rgba(180, 190, 254, 0.14);
7432
+ background: rgba(var(--ctp-crust-rgb), 0.50);
7433
+ }
7434
+ .edit-retry-text {
7435
+ width: 100%;
7436
+ min-height: 12rem;
7437
+ margin-top: 0.65rem;
7438
+ }
7439
+ .edit-retry-status.error { color: var(--ctp-red); }
7440
+ .edit-retry-status.info { color: var(--ctp-subtext); }
7441
+ .message.has-edit-retry-action:not(.toolResult):not(.bashExecution):not(.compactionSummary) > .message-header,
7442
+ .message.has-edit-retry-action:not(.toolResult):not(.bashExecution):not(.compactionSummary) > .message-body {
7443
+ padding-right: 5.65rem;
7444
+ }
7445
+ .message-edit-retry-button {
7446
+ position: absolute;
7447
+ top: 0.48rem;
7448
+ right: 2.95rem;
7449
+ z-index: 9;
7450
+ display: inline-flex;
7451
+ align-items: center;
7452
+ justify-content: center;
7453
+ width: 2.15rem;
7454
+ min-width: 2.15rem;
7455
+ min-height: 2.05rem;
7456
+ padding: 0;
7457
+ border-radius: 0.64rem;
7458
+ color: rgba(var(--ctp-text-rgb), 0.82);
7459
+ background: linear-gradient(180deg, rgba(var(--ctp-surface-rgb), 0.82), rgba(var(--ctp-crust-rgb), 0.90));
7460
+ border-color: rgba(203, 166, 247, 0.28);
7461
+ box-shadow: 0 0.45rem 1rem rgba(var(--ctp-crust-rgb), 0.30), inset 0 1px 0 rgba(255,255,255,0.055);
7462
+ font-size: 1rem;
7463
+ line-height: 1;
7464
+ opacity: 0.72;
7465
+ }
7466
+ .message-edit-retry-button:hover,
7467
+ .message-edit-retry-button:focus-visible {
7468
+ color: #11111b;
7469
+ border-color: transparent;
7470
+ background: linear-gradient(120deg, var(--ctp-pink), var(--ctp-mauve));
7471
+ opacity: 1;
7472
+ }
7473
+ @media (max-width: 900px) {
7474
+ .workspace-dashboard-header,
7475
+ .context-meter-bar { grid-template-columns: 1fr; }
7476
+ .workspace-dashboard-header { display: grid; }
7477
+ .workspace-dashboard-actions { justify-content: stretch; }
7478
+ .workspace-dashboard-action { flex: 1 1 8rem; }
7479
+ .workspace-dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
7480
+ .context-meter-actions { justify-content: stretch; }
7481
+ .context-meter-actions button { flex: 1 1 auto; }
7482
+ }
7483
+ @media (max-width: 720px) {
7484
+ .terminal-command-palette-button { display: none; }
7485
+ .workspace-dashboard { padding: 0.62rem 0.7rem; }
7486
+ .workspace-dashboard-metrics { grid-template-columns: 1fr; }
7487
+ .command-palette-dialog {
7488
+ inset: calc(0.5rem + env(safe-area-inset-top)) 0 auto 0;
7489
+ width: min(100vw - 1rem, 42rem);
7490
+ max-height: calc(var(--visual-viewport-height, 100dvh) - 1rem - env(safe-area-inset-top));
7491
+ margin-inline: auto;
7492
+ border-radius: 1rem;
7493
+ }
7494
+ .command-palette-header { padding: 0.85rem 0.85rem 0.62rem; }
7495
+ .command-palette-input {
7496
+ width: calc(100% - 1.7rem);
7497
+ margin-inline: 0.85rem;
7498
+ }
7499
+ .command-palette-list { padding-inline: 0.85rem; }
7500
+ .command-palette-item { grid-template-columns: 1fr; }
7501
+ .command-palette-item-kind { grid-row: auto; }
7502
+ .message-edit-retry-button {
7503
+ top: 0.38rem;
7504
+ right: 2.8rem;
7505
+ width: 2rem;
7506
+ min-width: 2rem;
7507
+ min-height: 1.92rem;
7508
+ }
7509
+ .message.has-edit-retry-action:not(.toolResult):not(.bashExecution):not(.compactionSummary) > .message-header,
7510
+ .message.has-edit-retry-action:not(.toolResult):not(.bashExecution):not(.compactionSummary) > .message-body {
7511
+ padding-right: 5rem;
7512
+ }
7513
+ }