@firstpick/pi-package-webui 0.4.8 → 0.4.9

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
@@ -171,7 +171,7 @@ button.danger {
171
171
  box-shadow: 0 0 1.1rem rgba(243, 139, 168, 0.42);
172
172
  }
173
173
  button:disabled { cursor: not-allowed; opacity: 0.5; transform: none; }
174
- button[hidden] { display: none !important; }
174
+ [hidden] { display: none !important; }
175
175
  button:focus-visible, select:focus-visible, textarea:focus-visible, input:focus-visible {
176
176
  border-color: var(--ctp-teal);
177
177
  box-shadow: 0 0 0 3px rgba(148, 226, 213, 0.15), 0 0 1rem var(--glow-teal);
@@ -716,6 +716,14 @@ body.side-panel-collapsed .terminal-tabs-shell {
716
716
  margin: 0;
717
717
  font-size: inherit;
718
718
  }
719
+ .side-panel-section:not(.collapsed) > h2 {
720
+ position: sticky;
721
+ top: 0;
722
+ z-index: 3;
723
+ padding: 0 0 0.16rem;
724
+ background: linear-gradient(180deg, rgba(var(--ctp-mantle-rgb), 0.98) 0%, rgba(var(--ctp-mantle-rgb), 0.92) 72%, rgba(var(--ctp-mantle-rgb), 0) 100%);
725
+ backdrop-filter: blur(12px) saturate(140%);
726
+ }
719
727
  .side-panel-section-toggle {
720
728
  display: flex;
721
729
  align-items: center;
@@ -805,11 +813,81 @@ body.side-panel-collapsed .terminal-tabs-shell {
805
813
  letter-spacing: 0.12em;
806
814
  text-transform: uppercase;
807
815
  }
816
+ #modelControlLabel,
817
+ #themeControlLabel {
818
+ cursor: pointer;
819
+ }
820
+ #modelControlLabel:hover,
821
+ #modelControlLabel:focus-visible,
822
+ #themeControlLabel:hover,
823
+ #themeControlLabel:focus-visible {
824
+ color: var(--ctp-teal);
825
+ }
808
826
  .side-panel-controls select,
809
- .side-panel-controls button {
827
+ .side-panel-controls button,
828
+ .side-panel-controls input {
810
829
  width: 100%;
811
830
  min-width: 0;
812
831
  }
832
+ .model-search-input {
833
+ padding: 0.5rem 0.7rem;
834
+ border-color: rgba(148, 226, 213, 0.34);
835
+ background:
836
+ linear-gradient(135deg, rgba(148, 226, 213, 0.10), rgba(203, 166, 247, 0.08)),
837
+ linear-gradient(180deg, rgba(var(--ctp-surface-rgb), 0.86), rgba(var(--ctp-mantle-rgb), 0.94));
838
+ }
839
+ .model-select-expanded {
840
+ display: none;
841
+ }
842
+ .model-search-results {
843
+ display: grid;
844
+ gap: 0.34rem;
845
+ max-height: min(28rem, 46dvh);
846
+ overflow: auto;
847
+ padding: 0.32rem;
848
+ border: 1px solid rgba(180, 190, 254, 0.18);
849
+ border-radius: 0.78rem;
850
+ background: rgba(var(--ctp-crust-rgb), 0.42);
851
+ }
852
+ .model-search-result {
853
+ display: grid;
854
+ gap: 0.12rem;
855
+ width: 100%;
856
+ min-height: 3.2rem;
857
+ padding: 0.48rem 0.62rem;
858
+ color: var(--ctp-text);
859
+ border-color: rgba(137, 180, 250, 0.20);
860
+ background: linear-gradient(135deg, rgba(var(--ctp-surface-rgb), 0.56), rgba(var(--ctp-mantle-rgb), 0.82));
861
+ text-align: left;
862
+ }
863
+ .model-search-result.active {
864
+ border-color: rgba(166, 227, 161, 0.52);
865
+ box-shadow: inset 3px 0 0 var(--ctp-green), 0 0 1rem rgba(166, 227, 161, 0.12);
866
+ }
867
+ .model-search-result-main,
868
+ .model-search-result-name {
869
+ min-width: 0;
870
+ overflow: hidden;
871
+ text-overflow: ellipsis;
872
+ white-space: nowrap;
873
+ }
874
+ .model-search-result-main {
875
+ font-weight: 900;
876
+ }
877
+ .model-search-result-name,
878
+ .model-search-empty {
879
+ color: rgba(var(--ctp-subtext-rgb), 0.72);
880
+ font-size: 0.72rem;
881
+ font-weight: 780;
882
+ }
883
+ .model-search-empty {
884
+ padding: 0.68rem;
885
+ text-align: center;
886
+ }
887
+ .theme-search-result {
888
+ min-height: 2.25rem;
889
+ padding: 0.36rem 0.58rem;
890
+ }
813
891
  .background-input {
814
892
  position: absolute;
815
893
  width: 1px;
@@ -1093,16 +1171,47 @@ body.side-panel-collapsed .terminal-tabs-shell {
1093
1171
  box-shadow: 0 0 0.85rem rgba(148, 226, 213, 0.20);
1094
1172
  }
1095
1173
  .optional-feature-row {
1174
+ position: relative;
1096
1175
  display: grid;
1097
1176
  grid-template-columns: minmax(0, 1fr) auto;
1098
1177
  gap: 0.62rem;
1099
- align-items: start;
1178
+ align-items: center;
1100
1179
  min-width: 0;
1101
1180
  padding: 0.62rem;
1102
1181
  border: 1px solid rgba(180, 190, 254, 0.14);
1103
1182
  border-radius: 0.72rem;
1104
1183
  background: rgba(var(--ctp-crust-rgb), 0.55);
1105
1184
  }
1185
+ .optional-feature-row[data-tooltip]::after {
1186
+ content: attr(data-tooltip);
1187
+ position: absolute;
1188
+ left: 0.5rem;
1189
+ right: 0.5rem;
1190
+ top: calc(100% + 0.38rem);
1191
+ z-index: 12;
1192
+ max-width: min(24rem, calc(100vw - 2rem));
1193
+ padding: 0.62rem 0.68rem;
1194
+ border: 1px solid rgba(180, 190, 254, 0.22);
1195
+ border-radius: 0.72rem;
1196
+ color: rgba(var(--ctp-text-rgb), 0.92);
1197
+ background: linear-gradient(145deg, rgba(var(--ctp-base-rgb), 0.98), rgba(var(--ctp-crust-rgb), 0.98));
1198
+ box-shadow: 0 0.8rem 1.8rem rgba(var(--ctp-crust-rgb), 0.55), 0 0 1rem rgba(148, 226, 213, 0.08);
1199
+ font-size: 0.72rem;
1200
+ font-weight: 650;
1201
+ line-height: 1.45;
1202
+ text-align: left;
1203
+ opacity: 0;
1204
+ pointer-events: none;
1205
+ transform: translateY(-0.16rem);
1206
+ transition: opacity 120ms ease, transform 120ms ease;
1207
+ white-space: pre-wrap;
1208
+ }
1209
+ .optional-feature-row[data-tooltip]:hover::after,
1210
+ .optional-feature-row[data-tooltip]:focus::after,
1211
+ .optional-feature-row[data-tooltip]:focus-within::after {
1212
+ opacity: 1;
1213
+ transform: translateY(0);
1214
+ }
1106
1215
  .optional-feature-row.enabled {
1107
1216
  border-color: rgba(166, 227, 161, 0.28);
1108
1217
  }
@@ -1125,9 +1234,9 @@ body.side-panel-collapsed .terminal-tabs-shell {
1125
1234
  }
1126
1235
  .optional-feature-title {
1127
1236
  display: flex;
1128
- flex-wrap: wrap;
1129
- gap: 0.42rem;
1130
- align-items: center;
1237
+ flex-direction: column;
1238
+ gap: 0.28rem;
1239
+ align-items: flex-start;
1131
1240
  min-width: 0;
1132
1241
  }
1133
1242
  .optional-feature-title strong {
@@ -1627,7 +1736,7 @@ body.side-panel-collapsed .terminal-tabs-shell {
1627
1736
  body.terminal-tabs-left .chat-panel {
1628
1737
  display: grid;
1629
1738
  grid-template-columns: clamp(13rem, 18vw, 19rem) minmax(0, 1fr);
1630
- grid-template-rows: auto minmax(0, 1fr) auto auto auto auto auto;
1739
+ grid-template-rows: auto auto minmax(0, 1fr) auto auto auto auto auto;
1631
1740
  align-items: stretch;
1632
1741
  }
1633
1742
  body.terminal-tabs-left .terminal-tabs-shell {
@@ -1700,6 +1809,7 @@ body.side-panel-collapsed .terminal-tabs-shell {
1700
1809
  body.terminal-tabs-left .terminal-close-all-button {
1701
1810
  margin-top: auto;
1702
1811
  }
1812
+ body.terminal-tabs-left .workspace-dashboard,
1703
1813
  body.terminal-tabs-left .widget-area,
1704
1814
  body.terminal-tabs-left .chat,
1705
1815
  body.terminal-tabs-left .feedback-tray,
@@ -1710,13 +1820,14 @@ body.side-panel-collapsed .terminal-tabs-shell {
1710
1820
  grid-column: 2;
1711
1821
  min-width: 0;
1712
1822
  }
1713
- body.terminal-tabs-left .widget-area { grid-row: 1; }
1714
- body.terminal-tabs-left .chat { grid-row: 2; }
1715
- body.terminal-tabs-left .feedback-tray { grid-row: 3; }
1716
- body.terminal-tabs-left .jump-to-latest-button { grid-row: 4; }
1717
- body.terminal-tabs-left .statusbar { grid-row: 5; }
1718
- body.terminal-tabs-left .git-workflow-panel { grid-row: 6; }
1719
- body.terminal-tabs-left .composer { grid-row: 7; }
1823
+ body.terminal-tabs-left .workspace-dashboard { grid-row: 1; }
1824
+ body.terminal-tabs-left .widget-area { grid-row: 2; }
1825
+ body.terminal-tabs-left .chat { grid-row: 3; }
1826
+ body.terminal-tabs-left .feedback-tray { grid-row: 4; }
1827
+ body.terminal-tabs-left .jump-to-latest-button { grid-row: 5; }
1828
+ body.terminal-tabs-left .statusbar { grid-row: 6; }
1829
+ body.terminal-tabs-left .git-workflow-panel { grid-row: 7; }
1830
+ body.terminal-tabs-left .composer { grid-row: 8; }
1720
1831
  }
1721
1832
 
1722
1833
  .widget-area {
@@ -2071,6 +2182,11 @@ button.footer-meta {
2071
2182
  .footer-model-picker-empty.error strong {
2072
2183
  color: var(--ctp-red);
2073
2184
  }
2185
+ .footer-thinking-picker {
2186
+ width: min(22rem, calc(100% - 1.9rem));
2187
+ max-height: none;
2188
+ overflow: visible;
2189
+ }
2074
2190
  .footer-branch-picker {
2075
2191
  width: min(28rem, calc(100vw - 2rem));
2076
2192
  border-color: rgba(245, 194, 231, 0.30);
@@ -2269,12 +2385,12 @@ button.footer-meta {
2269
2385
  .tone-teal .footer-metric-icon { background: linear-gradient(135deg, var(--ctp-teal), var(--ctp-sky)); }
2270
2386
 
2271
2387
  .extension-dialog.git-changes-dialog {
2272
- --git-changes-dialog-size: min(96rem, calc(100vw - 1.5rem), calc(var(--visual-viewport-height, 100dvh) - 1.5rem));
2273
- width: var(--git-changes-dialog-size);
2274
- height: var(--git-changes-dialog-size);
2275
- max-width: var(--git-changes-dialog-size);
2276
- max-height: var(--git-changes-dialog-size);
2277
- aspect-ratio: 1 / 1;
2388
+ --git-changes-dialog-width: min(96rem, calc(100vw - 1.5rem));
2389
+ --git-changes-dialog-height: min(82rem, calc(var(--visual-viewport-height, 100dvh) - 0.75rem));
2390
+ width: var(--git-changes-dialog-width);
2391
+ height: var(--git-changes-dialog-height);
2392
+ max-width: var(--git-changes-dialog-width);
2393
+ max-height: var(--git-changes-dialog-height);
2278
2394
  overflow: hidden;
2279
2395
  }
2280
2396
  .git-changes-dialog form {
@@ -2328,6 +2444,7 @@ button.footer-meta {
2328
2444
  }
2329
2445
  .git-changes-body {
2330
2446
  display: grid;
2447
+ align-content: start;
2331
2448
  gap: 0.82rem;
2332
2449
  min-height: min(32rem, 52dvh);
2333
2450
  overflow: auto;
@@ -2346,14 +2463,24 @@ button.footer-meta {
2346
2463
  display: flex;
2347
2464
  align-items: center;
2348
2465
  gap: 0.58rem;
2466
+ width: calc(100% + 1.44rem);
2349
2467
  min-width: 0;
2468
+ min-height: auto;
2350
2469
  margin: 0 -0.72rem;
2351
2470
  padding: 0.48rem 0.72rem;
2471
+ border: 0;
2352
2472
  border-top: 1px solid rgba(180, 190, 254, 0.12);
2353
2473
  border-bottom: 1px solid rgba(180, 190, 254, 0.18);
2474
+ border-radius: 0;
2354
2475
  background: rgba(var(--ctp-crust-rgb), 0.94);
2355
2476
  box-shadow: 0 0.55rem 1rem rgba(var(--ctp-crust-rgb), 0.36), inset 0 1px 0 rgba(255,255,255,0.04);
2356
2477
  backdrop-filter: blur(12px) saturate(140%);
2478
+ text-align: left;
2479
+ }
2480
+ .git-current-file-header:hover,
2481
+ .git-current-file-header:focus-visible {
2482
+ border-color: rgba(203, 166, 247, 0.38);
2483
+ background: linear-gradient(90deg, rgba(var(--ctp-crust-rgb), 0.96), rgba(203, 166, 247, 0.12));
2357
2484
  }
2358
2485
  .git-current-file-label {
2359
2486
  flex: 0 0 auto;
@@ -2372,6 +2499,17 @@ button.footer-meta {
2372
2499
  text-overflow: ellipsis;
2373
2500
  white-space: nowrap;
2374
2501
  }
2502
+ .git-current-file-toggle {
2503
+ flex: 0 0 auto;
2504
+ margin-left: auto;
2505
+ color: rgba(var(--ctp-subtext-rgb), 0.68);
2506
+ font-size: 0.62rem;
2507
+ font-weight: 950;
2508
+ letter-spacing: 0.12em;
2509
+ text-transform: uppercase;
2510
+ }
2511
+ .git-current-file-header[aria-expanded="false"] .git-current-file-toggle::after { content: " +"; }
2512
+ .git-current-file-header[aria-expanded="true"] .git-current-file-toggle::after { content: " −"; }
2375
2513
  .git-changes-empty {
2376
2514
  display: grid;
2377
2515
  place-items: center;
@@ -2417,6 +2555,60 @@ button.footer-meta {
2417
2555
  .git-changes-chip.warning .git-changes-chip-value { color: var(--ctp-yellow); }
2418
2556
  .git-changes-chip.danger .git-changes-chip-value { color: var(--ctp-red); }
2419
2557
  .git-changes-chip.muted .git-changes-chip-value { color: rgba(var(--ctp-subtext-rgb), 0.76); }
2558
+ .git-changes-file-list {
2559
+ display: grid;
2560
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2561
+ align-items: stretch;
2562
+ gap: 0.5rem;
2563
+ min-width: 0;
2564
+ padding: 0.34rem 0.08rem 0.42rem;
2565
+ }
2566
+ .git-changes-file-list-label {
2567
+ grid-column: 1 / -1;
2568
+ align-self: center;
2569
+ color: rgba(var(--ctp-subtext-rgb), 0.72);
2570
+ font-size: 0.68rem;
2571
+ font-weight: 950;
2572
+ letter-spacing: 0.12em;
2573
+ text-transform: uppercase;
2574
+ }
2575
+ .git-changes-file-jump {
2576
+ display: grid;
2577
+ align-content: center;
2578
+ gap: 0.14rem;
2579
+ min-width: 0;
2580
+ min-height: 3.35rem;
2581
+ margin: 0;
2582
+ padding: 0.48rem 0.72rem;
2583
+ line-height: 1.2;
2584
+ border: 1px solid rgba(137, 180, 250, 0.22);
2585
+ border-radius: 0.72rem;
2586
+ color: var(--ctp-text);
2587
+ background: linear-gradient(135deg, rgba(var(--ctp-crust-rgb), 0.64), rgba(137, 180, 250, 0.08));
2588
+ text-align: left;
2589
+ }
2590
+ .git-changes-file-jump:hover,
2591
+ .git-changes-file-jump:focus-visible {
2592
+ border-color: rgba(203, 166, 247, 0.54);
2593
+ box-shadow: 0 0 0 1px rgba(203, 166, 247, 0.14), 0 0.6rem 1.4rem rgba(var(--ctp-crust-rgb), 0.22);
2594
+ }
2595
+ .git-changes-file-jump-name,
2596
+ .git-changes-file-jump-meta {
2597
+ min-width: 0;
2598
+ overflow: hidden;
2599
+ text-overflow: ellipsis;
2600
+ white-space: nowrap;
2601
+ }
2602
+ .git-changes-file-jump-name {
2603
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
2604
+ font-size: 0.86rem;
2605
+ font-weight: 900;
2606
+ }
2607
+ .git-changes-file-jump-meta {
2608
+ color: rgba(var(--ctp-subtext-rgb), 0.68);
2609
+ font-size: 0.72rem;
2610
+ font-weight: 800;
2611
+ }
2420
2612
  .git-diff-section {
2421
2613
  display: grid;
2422
2614
  gap: 0.55rem;
@@ -2929,6 +3121,59 @@ button.git-workflow-step:hover:not(:disabled) {
2929
3121
  padding-inline: 0.82rem;
2930
3122
  font-weight: 900;
2931
3123
  }
3124
+ .app-runner-stdin-form {
3125
+ display: grid;
3126
+ grid-template-columns: minmax(0, 1fr) auto auto;
3127
+ flex: 1 1 100%;
3128
+ gap: 0.48rem;
3129
+ align-items: stretch;
3130
+ min-width: 0;
3131
+ }
3132
+ .app-runner-stdin-input {
3133
+ min-height: 2.28rem;
3134
+ max-height: min(16dvh, 7rem);
3135
+ padding: 0.58rem 0.66rem;
3136
+ resize: vertical;
3137
+ border: 1px solid rgba(166, 227, 161, 0.28);
3138
+ border-radius: 0.68rem;
3139
+ color: rgba(var(--ctp-text-rgb), 0.96);
3140
+ background: rgba(var(--ctp-crust-rgb), 0.72);
3141
+ box-shadow: inset 0 1px 0 rgba(var(--ctp-text-rgb), 0.04);
3142
+ font: inherit;
3143
+ line-height: 1.35;
3144
+ }
3145
+ .app-runner-stdin-input:focus {
3146
+ outline: 2px solid rgba(166, 227, 161, 0.62);
3147
+ outline-offset: 0.12rem;
3148
+ border-color: rgba(166, 227, 161, 0.54);
3149
+ }
3150
+ .app-runner-stdin-input:disabled {
3151
+ opacity: 0.58;
3152
+ cursor: not-allowed;
3153
+ }
3154
+ .app-runner-stdin-send,
3155
+ .app-runner-stdin-eof {
3156
+ min-width: 6.8rem;
3157
+ color: var(--ctp-green);
3158
+ border-color: rgba(166, 227, 161, 0.34);
3159
+ }
3160
+ .app-runner-stdin-eof {
3161
+ min-width: 4.2rem;
3162
+ color: var(--ctp-yellow);
3163
+ border-color: rgba(249, 226, 175, 0.34);
3164
+ }
3165
+ .app-runner-stdin-send:not(:disabled):hover,
3166
+ .app-runner-stdin-send:not(:disabled):focus-visible {
3167
+ color: #11111b;
3168
+ border-color: transparent;
3169
+ background: linear-gradient(120deg, var(--ctp-green), var(--ctp-blue));
3170
+ }
3171
+ .app-runner-stdin-eof:not(:disabled):hover,
3172
+ .app-runner-stdin-eof:not(:disabled):focus-visible {
3173
+ color: #11111b;
3174
+ border-color: transparent;
3175
+ background: linear-gradient(120deg, var(--ctp-yellow), var(--ctp-peach));
3176
+ }
2932
3177
  .app-runner-output-meta {
2933
3178
  flex: 1 1 16rem;
2934
3179
  min-width: min(100%, 12rem);
@@ -5931,7 +6176,7 @@ button.composer-skill-tag:focus-visible {
5931
6176
  gap: 0.18rem;
5932
6177
  justify-items: stretch;
5933
6178
  width: 100%;
5934
- padding: 0.62rem 0.72rem 0.62rem calc(0.72rem + (var(--tree-depth, 0) * 1rem));
6179
+ padding: 0.62rem 0.72rem;
5935
6180
  text-align: left;
5936
6181
  border-color: rgba(180, 190, 254, 0.16);
5937
6182
  background: rgba(var(--ctp-surface-rgb), 0.36);
@@ -5953,6 +6198,13 @@ button.composer-skill-tag:focus-visible {
5953
6198
  align-items: center;
5954
6199
  color: var(--text);
5955
6200
  }
6201
+ .native-selector-index {
6202
+ min-width: 2.4ch;
6203
+ color: var(--ctp-sapphire);
6204
+ font-weight: 900;
6205
+ font-variant-numeric: tabular-nums;
6206
+ text-align: right;
6207
+ }
5956
6208
  .native-selector-badge {
5957
6209
  padding: 0.1rem 0.38rem;
5958
6210
  border: 1px solid rgba(166, 227, 161, 0.32);
@@ -7210,12 +7462,15 @@ button.composer-skill-tag:focus-visible {
7210
7462
  .native-settings-grid,
7211
7463
  .native-tree-options { grid-template-columns: 1fr; }
7212
7464
  .app-runner-custom-item,
7213
- .app-runner-custom-path-row { grid-template-columns: 1fr; }
7465
+ .app-runner-custom-path-row,
7466
+ .app-runner-stdin-form { grid-template-columns: 1fr; }
7214
7467
  .app-runner-custom-item-actions,
7215
7468
  .app-runner-custom-form-actions { justify-content: stretch; }
7216
7469
  .app-runner-custom-item-actions button,
7217
7470
  .app-runner-custom-form-actions button,
7218
- .app-runner-custom-browse { width: 100%; }
7471
+ .app-runner-custom-browse,
7472
+ .app-runner-stdin-send,
7473
+ .app-runner-stdin-eof { width: 100%; }
7219
7474
  .path-picker-current-row,
7220
7475
  .path-picker-create-row,
7221
7476
  .path-picker-search-row { grid-template-columns: 1fr; }
@@ -7378,21 +7633,44 @@ button.composer-skill-tag:focus-visible {
7378
7633
  .workspace-dashboard[hidden],
7379
7634
  .context-meter-bar[hidden] { display: none; }
7380
7635
  .workspace-dashboard {
7636
+ position: relative;
7637
+ z-index: 12;
7638
+ isolation: isolate;
7639
+ flex: 0 0 auto;
7381
7640
  display: grid;
7382
- gap: 0.72rem;
7383
- padding: 0.78rem 0.95rem;
7384
- border-bottom: 1px solid rgba(180, 190, 254, 0.16);
7641
+ gap: 0.82rem;
7642
+ overflow: hidden;
7643
+ padding: 0.88rem 1rem 0.78rem;
7644
+ border-bottom: 1px solid rgba(180, 190, 254, 0.18);
7645
+ box-shadow: 0 0.9rem 2.2rem rgba(var(--ctp-crust-rgb), 0.20), inset 0 1px 0 rgba(255,255,255,0.045);
7385
7646
  background:
7386
- radial-gradient(circle at 8% 0, rgba(148, 226, 213, 0.13), transparent 18rem),
7387
- linear-gradient(135deg, rgba(var(--ctp-crust-rgb), 0.66), rgba(var(--ctp-base-rgb), 0.54));
7647
+ radial-gradient(circle at 9% -20%, rgba(148, 226, 213, 0.18), transparent 19rem),
7648
+ radial-gradient(circle at 100% 0, rgba(203, 166, 247, 0.14), transparent 18rem),
7649
+ linear-gradient(135deg, rgba(var(--ctp-crust-rgb), 0.72), rgba(var(--ctp-base-rgb), 0.58));
7650
+ }
7651
+ .workspace-dashboard::before {
7652
+ content: "";
7653
+ position: absolute;
7654
+ inset: 0;
7655
+ pointer-events: none;
7656
+ background: linear-gradient(90deg, rgba(255, 255, 255, 0.055), transparent 24%, transparent 76%, rgba(255, 255, 255, 0.035));
7657
+ opacity: 0.7;
7658
+ }
7659
+ .workspace-dashboard-header,
7660
+ .workspace-dashboard-metrics,
7661
+ .workspace-dashboard-tabs {
7662
+ position: relative;
7663
+ z-index: 1;
7388
7664
  }
7389
7665
  .workspace-dashboard-header {
7390
7666
  display: flex;
7391
7667
  align-items: start;
7392
7668
  justify-content: space-between;
7393
- gap: 0.8rem;
7669
+ gap: 1rem;
7394
7670
  }
7395
7671
  .workspace-dashboard-title {
7672
+ display: grid;
7673
+ gap: 0.18rem;
7396
7674
  min-width: 0;
7397
7675
  }
7398
7676
  .workspace-dashboard-kicker,
@@ -7403,45 +7681,125 @@ button.composer-skill-tag:focus-visible {
7403
7681
  letter-spacing: 0.14em;
7404
7682
  text-transform: uppercase;
7405
7683
  }
7406
- .workspace-dashboard-title h2,
7684
+ .workspace-dashboard-title h2 {
7685
+ max-width: min(68vw, 54rem);
7686
+ margin: 0;
7687
+ overflow: hidden;
7688
+ color: rgba(var(--ctp-text-rgb), 0.94);
7689
+ font-size: 1.12rem;
7690
+ letter-spacing: 0.01em;
7691
+ text-overflow: ellipsis;
7692
+ white-space: nowrap;
7693
+ }
7407
7694
  .command-palette-header h2 {
7408
7695
  margin: 0.12rem 0 0.22rem;
7409
7696
  font-size: 1.05rem;
7410
7697
  }
7411
- .workspace-dashboard-title p {
7698
+ .workspace-dashboard-cwd {
7699
+ max-width: min(72vw, 58rem);
7412
7700
  margin: 0;
7413
- overflow-wrap: anywhere;
7701
+ overflow: hidden;
7414
7702
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
7415
7703
  font-size: 0.72rem;
7704
+ text-overflow: ellipsis;
7705
+ white-space: nowrap;
7706
+ }
7707
+ .workspace-dashboard-title-meta {
7708
+ display: flex;
7709
+ flex-wrap: wrap;
7710
+ gap: 0.34rem;
7711
+ margin-top: 0.12rem;
7712
+ }
7713
+ .workspace-dashboard-chip {
7714
+ display: inline-flex;
7715
+ align-items: center;
7716
+ gap: 0.24rem;
7717
+ min-height: 1.35rem;
7718
+ padding: 0.16rem 0.46rem;
7719
+ border: 1px solid rgba(180, 190, 254, 0.14);
7720
+ border-radius: 999px;
7721
+ background: rgba(var(--ctp-crust-rgb), 0.36);
7722
+ color: rgba(var(--ctp-subtext-rgb), 0.86);
7723
+ font-size: 0.66rem;
7724
+ font-weight: 750;
7725
+ }
7726
+ .workspace-dashboard-chip.attention {
7727
+ border-color: rgba(249, 226, 175, 0.42);
7728
+ background: rgba(249, 226, 175, 0.12);
7729
+ color: var(--ctp-yellow);
7730
+ }
7731
+ .workspace-dashboard-chip-dot {
7732
+ color: var(--ctp-teal);
7733
+ font-size: 0.66rem;
7416
7734
  }
7417
7735
  .workspace-dashboard-actions {
7418
7736
  display: flex;
7419
7737
  flex-wrap: wrap;
7420
7738
  justify-content: flex-end;
7421
7739
  gap: 0.42rem;
7740
+ max-width: min(42rem, 54vw);
7422
7741
  }
7423
7742
  .workspace-dashboard-action {
7424
- min-height: 2.15rem;
7425
- padding: 0.32rem 0.58rem;
7743
+ min-height: 2.05rem;
7744
+ padding: 0.32rem 0.62rem;
7745
+ border-radius: 0.72rem;
7426
7746
  font-size: 0.72rem;
7427
7747
  font-weight: 850;
7748
+ white-space: nowrap;
7428
7749
  }
7429
7750
  .workspace-dashboard-action.primary {
7430
7751
  color: var(--button-primary-text);
7431
7752
  border-color: transparent;
7432
7753
  background: var(--neon-gradient);
7754
+ box-shadow: 0 0.55rem 1.4rem rgba(137, 180, 250, 0.18);
7433
7755
  }
7434
7756
  .workspace-dashboard-metrics {
7435
7757
  display: grid;
7436
- grid-template-columns: repeat(4, minmax(0, 1fr));
7437
- gap: 0.58rem;
7758
+ grid-template-columns: minmax(11rem, 1.15fr) minmax(12rem, 1.2fr) minmax(13rem, 1.35fr) minmax(7rem, 0.75fr);
7759
+ gap: 0.62rem;
7438
7760
  }
7439
7761
  .workspace-dashboard-metric {
7762
+ position: relative;
7763
+ display: grid;
7764
+ grid-template-columns: auto minmax(0, 1fr);
7765
+ gap: 0.58rem;
7766
+ align-items: start;
7767
+ min-width: 0;
7768
+ min-height: 5rem;
7769
+ padding: 0.68rem;
7770
+ border: 1px solid rgba(180, 190, 254, 0.18);
7771
+ border-radius: 0.88rem;
7772
+ background: rgba(var(--ctp-crust-rgb), 0.5);
7773
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035), 0 0.5rem 1.6rem rgba(0, 0, 0, 0.12);
7774
+ }
7775
+ .workspace-dashboard-metric::after {
7776
+ content: "";
7777
+ position: absolute;
7778
+ inset: auto 0 0;
7779
+ height: 2px;
7780
+ background: rgba(180, 190, 254, 0.22);
7781
+ }
7782
+ .workspace-dashboard-metric.tone-ok::after { background: linear-gradient(90deg, var(--ctp-green), rgba(166, 227, 161, 0)); }
7783
+ .workspace-dashboard-metric.tone-warning::after { background: linear-gradient(90deg, var(--ctp-yellow), rgba(249, 226, 175, 0)); }
7784
+ .workspace-dashboard-metric.tone-danger::after { background: linear-gradient(90deg, var(--ctp-red), rgba(243, 139, 168, 0)); }
7785
+ .workspace-dashboard-metric.tone-muted { opacity: 0.82; }
7786
+ .workspace-dashboard-metric-icon {
7787
+ display: inline-grid;
7788
+ place-items: center;
7789
+ width: 1.72rem;
7790
+ height: 1.72rem;
7791
+ border: 1px solid rgba(180, 190, 254, 0.18);
7792
+ border-radius: 0.58rem;
7793
+ background: rgba(var(--ctp-surface-rgb), 0.46);
7794
+ color: var(--ctp-teal);
7795
+ font-size: 0.8rem;
7796
+ font-weight: 900;
7797
+ }
7798
+ .workspace-dashboard-metric.tone-ok .workspace-dashboard-metric-icon { color: var(--ctp-green); }
7799
+ .workspace-dashboard-metric.tone-warning .workspace-dashboard-metric-icon { color: var(--ctp-yellow); }
7800
+ .workspace-dashboard-metric.tone-danger .workspace-dashboard-metric-icon { color: var(--ctp-red); }
7801
+ .workspace-dashboard-metric-copy {
7440
7802
  min-width: 0;
7441
- padding: 0.62rem;
7442
- border: 1px solid rgba(180, 190, 254, 0.16);
7443
- border-radius: 0.76rem;
7444
- background: rgba(var(--ctp-crust-rgb), 0.48);
7445
7803
  }
7446
7804
  .workspace-dashboard-metric-label,
7447
7805
  .workspace-dashboard-metric-detail,
@@ -7460,15 +7818,46 @@ button.composer-skill-tag:focus-visible {
7460
7818
  }
7461
7819
  .workspace-dashboard-metric strong {
7462
7820
  display: block;
7463
- margin-top: 0.18rem;
7821
+ margin-top: 0.16rem;
7464
7822
  overflow: hidden;
7465
7823
  color: var(--ctp-text);
7824
+ font-size: 0.88rem;
7825
+ line-height: 1.25;
7466
7826
  text-overflow: ellipsis;
7467
7827
  white-space: nowrap;
7468
7828
  }
7829
+ .workspace-dashboard-metric-detail {
7830
+ margin-top: 0.12rem;
7831
+ overflow: hidden;
7832
+ text-overflow: ellipsis;
7833
+ white-space: nowrap;
7834
+ }
7835
+ .workspace-dashboard-mini-meter {
7836
+ grid-column: 1 / -1;
7837
+ position: relative;
7838
+ height: 0.35rem;
7839
+ overflow: hidden;
7840
+ border-radius: 999px;
7841
+ background: rgba(var(--ctp-surface-rgb), 0.74);
7842
+ }
7843
+ .workspace-dashboard-mini-meter .context-meter-fill {
7844
+ display: block;
7845
+ height: 100%;
7846
+ border-radius: inherit;
7847
+ }
7469
7848
  .workspace-dashboard-tabs {
7470
7849
  display: grid;
7471
- gap: 0.42rem;
7850
+ gap: 0.44rem;
7851
+ }
7852
+ .workspace-dashboard-tabs-header {
7853
+ display: flex;
7854
+ align-items: center;
7855
+ justify-content: space-between;
7856
+ gap: 0.75rem;
7857
+ }
7858
+ .workspace-dashboard-tabs-hint {
7859
+ color: rgba(var(--ctp-subtext-rgb), 0.62);
7860
+ font-size: 0.66rem;
7472
7861
  }
7473
7862
  .workspace-dashboard-tab-list {
7474
7863
  display: flex;
@@ -7478,9 +7867,10 @@ button.composer-skill-tag:focus-visible {
7478
7867
  .workspace-dashboard-tab {
7479
7868
  display: inline-flex;
7480
7869
  align-items: center;
7481
- gap: 0.32rem;
7870
+ gap: 0.34rem;
7871
+ max-width: min(18rem, 40vw);
7482
7872
  min-height: 2rem;
7483
- padding: 0.28rem 0.52rem;
7873
+ padding: 0.28rem 0.56rem;
7484
7874
  color: rgba(var(--ctp-text-rgb), 0.84);
7485
7875
  font-size: 0.72rem;
7486
7876
  }
@@ -7488,12 +7878,22 @@ button.composer-skill-tag:focus-visible {
7488
7878
  color: #11111b;
7489
7879
  border-color: transparent;
7490
7880
  background: linear-gradient(120deg, var(--ctp-teal), var(--ctp-blue));
7881
+ box-shadow: 0 0.5rem 1.2rem rgba(137, 180, 250, 0.16);
7491
7882
  }
7492
7883
  .workspace-dashboard-tab-dot {
7884
+ flex: 0 0 auto;
7493
7885
  color: var(--ctp-teal);
7494
7886
  font-size: 0.72rem;
7495
7887
  }
7496
- .workspace-dashboard-tab-more {
7888
+ .workspace-dashboard-tab.active .workspace-dashboard-tab-dot { color: #11111b; }
7889
+ .workspace-dashboard-tab-label {
7890
+ min-width: 0;
7891
+ overflow: hidden;
7892
+ text-overflow: ellipsis;
7893
+ white-space: nowrap;
7894
+ }
7895
+ .workspace-dashboard-tab-more,
7896
+ .workspace-dashboard-tab-empty {
7497
7897
  align-self: center;
7498
7898
  color: rgba(var(--ctp-subtext-rgb), 0.72);
7499
7899
  font-size: 0.72rem;
@@ -7757,7 +8157,12 @@ button.composer-skill-tag:focus-visible {
7757
8157
  .workspace-dashboard-header,
7758
8158
  .context-meter-bar { grid-template-columns: 1fr; }
7759
8159
  .workspace-dashboard-header { display: grid; }
7760
- .workspace-dashboard-actions { justify-content: stretch; }
8160
+ .workspace-dashboard-title h2,
8161
+ .workspace-dashboard-cwd { max-width: 100%; }
8162
+ .workspace-dashboard-actions {
8163
+ justify-content: stretch;
8164
+ max-width: none;
8165
+ }
7761
8166
  .workspace-dashboard-action { flex: 1 1 8rem; }
7762
8167
  .workspace-dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
7763
8168
  .context-meter-actions { justify-content: stretch; }
@@ -7779,6 +8184,13 @@ button.composer-skill-tag:focus-visible {
7779
8184
  }
7780
8185
  .workspace-dashboard { padding: 0.62rem 0.7rem; }
7781
8186
  .workspace-dashboard-metrics { grid-template-columns: 1fr; }
8187
+ .workspace-dashboard-metric { min-height: 0; }
8188
+ .workspace-dashboard-tabs-header {
8189
+ align-items: flex-start;
8190
+ flex-direction: column;
8191
+ gap: 0.18rem;
8192
+ }
8193
+ .workspace-dashboard-tab { max-width: calc(100vw - 2rem); }
7782
8194
  .command-palette-dialog {
7783
8195
  inset: calc(0.38rem + env(safe-area-inset-top)) 0 auto 0;
7784
8196
  width: min(100vw - 0.5rem, 42rem);