@firstpick/pi-package-webui 0.3.1 → 0.3.3

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
@@ -1173,12 +1173,18 @@ body.side-panel-collapsed .terminal-tabs-shell {
1173
1173
  }
1174
1174
  .terminal-tabs-shell:has(.terminal-tab-group:hover),
1175
1175
  .terminal-tabs-shell:has(.terminal-tab-group:focus-within),
1176
- .terminal-tabs-shell:has(.terminal-tab-group.menu-open) {
1176
+ .terminal-tabs-shell:has(.terminal-tab-group.menu-open),
1177
+ .terminal-tabs-shell:has(.terminal-new-tab-menu:hover),
1178
+ .terminal-tabs-shell:has(.terminal-new-tab-menu:focus-within),
1179
+ .terminal-tabs-shell:has(.terminal-new-tab-menu.open) {
1177
1180
  z-index: 90;
1178
1181
  }
1179
1182
  .terminal-tabs:has(.terminal-tab-group:hover),
1180
1183
  .terminal-tabs:has(.terminal-tab-group:focus-within),
1181
- .terminal-tabs:has(.terminal-tab-group.menu-open) {
1184
+ .terminal-tabs:has(.terminal-tab-group.menu-open),
1185
+ .terminal-tabs:has(.terminal-new-tab-menu:hover),
1186
+ .terminal-tabs:has(.terminal-new-tab-menu:focus-within),
1187
+ .terminal-tabs:has(.terminal-new-tab-menu.open) {
1182
1188
  overflow: visible;
1183
1189
  }
1184
1190
  .terminal-tab {
@@ -1445,6 +1451,10 @@ body.side-panel-collapsed .terminal-tabs-shell {
1445
1451
  .terminal-tab-group-close {
1446
1452
  border-left-color: rgba(243, 139, 168, 0.18);
1447
1453
  }
1454
+ .terminal-new-tab-menu.composer-publish-menu {
1455
+ flex: 0 0 auto;
1456
+ margin-right: 0;
1457
+ }
1448
1458
  .terminal-new-tab-button {
1449
1459
  flex: 0 0 auto;
1450
1460
  padding: 0.45rem 0.72rem;
@@ -1455,11 +1465,34 @@ body.side-panel-collapsed .terminal-tabs-shell {
1455
1465
  linear-gradient(120deg, rgba(245, 194, 231, 0.12), rgba(137, 180, 250, 0.08)),
1456
1466
  rgba(var(--ctp-crust-rgb), 0.58);
1457
1467
  }
1458
- .terminal-new-tab-button:hover {
1468
+ .terminal-new-tab-button:hover,
1469
+ .terminal-new-tab-button.menu-open {
1459
1470
  color: #11111b;
1460
1471
  border-color: transparent;
1461
1472
  background: linear-gradient(120deg, var(--ctp-pink), var(--ctp-mauve), var(--ctp-blue));
1462
1473
  }
1474
+ .terminal-new-tab-menu.open .terminal-new-tab-button {
1475
+ border-color: rgba(245, 194, 231, 0.58);
1476
+ }
1477
+ .terminal-new-tab-menu .composer-publish-menu-panel {
1478
+ inset: 100% 0 auto auto;
1479
+ padding-top: 0.38rem;
1480
+ padding-bottom: 0;
1481
+ }
1482
+ .terminal-new-tab-menu .composer-publish-menu-item {
1483
+ color: var(--ctp-pink);
1484
+ border-color: rgba(245, 194, 231, 0.32);
1485
+ background:
1486
+ linear-gradient(120deg, rgba(245, 194, 231, 0.12), rgba(137, 180, 250, 0.08)),
1487
+ var(--ctp-crust);
1488
+ }
1489
+ .terminal-new-tab-menu .composer-publish-menu-item:hover,
1490
+ .terminal-new-tab-menu .composer-publish-menu-item:focus-visible {
1491
+ color: #11111b;
1492
+ border-color: transparent;
1493
+ background: linear-gradient(120deg, var(--ctp-pink), var(--ctp-mauve), var(--ctp-blue));
1494
+ box-shadow: 0 0 1rem rgba(245, 194, 231, 0.20);
1495
+ }
1463
1496
 
1464
1497
  .widget-area {
1465
1498
  flex: 0 0 auto;
@@ -1469,7 +1502,8 @@ body.side-panel-collapsed .terminal-tabs-shell {
1469
1502
  background: linear-gradient(90deg, rgba(203, 166, 247, 0.10), rgba(137, 180, 250, 0.05), rgba(148, 226, 213, 0.08));
1470
1503
  }
1471
1504
  .widget-area:has(.release-npm-live-widget .release-npm-output-details[open]),
1472
- .widget-area:has(.release-aur-live-widget .release-npm-output-details[open]) {
1505
+ .widget-area:has(.release-aur-live-widget .release-npm-output-details[open]),
1506
+ .widget-area:has(.app-runner-live-widget .release-npm-output-details[open]) {
1473
1507
  flex: 0 0 min(44rem, 68dvh);
1474
1508
  min-height: 0;
1475
1509
  overflow: auto;
@@ -1513,6 +1547,7 @@ body.side-panel-collapsed .terminal-tabs-shell {
1513
1547
  box-shadow: none;
1514
1548
  }
1515
1549
  .statusbar-git-footer {
1550
+ --footer-chip-min-width: 7.6rem;
1516
1551
  gap: 0.58rem;
1517
1552
  }
1518
1553
  .footer-line {
@@ -1526,6 +1561,12 @@ body.side-panel-collapsed .terminal-tabs-shell {
1526
1561
  flex-wrap: wrap;
1527
1562
  gap: 0.5rem;
1528
1563
  }
1564
+ .footer-line-main .footer-metric {
1565
+ flex: 1 1 var(--footer-chip-min-width);
1566
+ width: auto;
1567
+ min-width: 0;
1568
+ max-width: 100%;
1569
+ }
1529
1570
  .footer-line-meta {
1530
1571
  display: flex;
1531
1572
  flex-wrap: nowrap;
@@ -1533,14 +1574,14 @@ body.side-panel-collapsed .terminal-tabs-shell {
1533
1574
  color: rgba(var(--ctp-subtext-rgb), 0.76);
1534
1575
  }
1535
1576
  .footer-line-meta .footer-meta {
1536
- flex: 0 1 max-content;
1577
+ flex: 1 1 var(--footer-chip-min-width);
1578
+ width: auto;
1579
+ min-width: 0;
1580
+ max-width: 100%;
1537
1581
  }
1538
1582
  .footer-line-meta .footer-details-toggle {
1539
1583
  flex: 0 0 auto;
1540
1584
  }
1541
- .footer-workspace {
1542
- flex: 1 1 8rem;
1543
- }
1544
1585
  .footer-line-tui {
1545
1586
  align-items: center;
1546
1587
  gap: 0.5rem;
@@ -1818,10 +1859,6 @@ button.footer-meta {
1818
1859
  color: var(--ctp-pink);
1819
1860
  text-shadow: 0 0 0.55rem rgba(245, 194, 231, 0.18);
1820
1861
  }
1821
- .footer-changes,
1822
- .footer-git-extra {
1823
- flex: 0 0 auto;
1824
- }
1825
1862
  .footer-changes {
1826
1863
  border-color: rgba(249, 226, 175, 0.36);
1827
1864
  background: transparent;
@@ -1881,6 +1918,11 @@ button.footer-meta {
1881
1918
  align-items: flex-start;
1882
1919
  justify-content: space-between;
1883
1920
  gap: 1rem;
1921
+ flex-wrap: wrap;
1922
+ }
1923
+ .git-workflow-header > div:first-child {
1924
+ flex: 1 1 18rem;
1925
+ min-width: min(100%, 18rem);
1884
1926
  }
1885
1927
  .git-workflow-header strong {
1886
1928
  display: block;
@@ -1919,6 +1961,15 @@ button.footer-meta {
1919
1961
  letter-spacing: 0.08em;
1920
1962
  text-transform: uppercase;
1921
1963
  }
1964
+ button.git-workflow-step {
1965
+ min-width: auto;
1966
+ min-height: 2.15rem;
1967
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
1968
+ }
1969
+ button.git-workflow-step:hover:not(:disabled) {
1970
+ border-color: rgba(203, 166, 247, 0.48);
1971
+ box-shadow: 0 0 0 1px rgba(203, 166, 247, 0.10), 0 0 1rem rgba(203, 166, 247, 0.14);
1972
+ }
1922
1973
  .git-workflow-step::before {
1923
1974
  content: "";
1924
1975
  position: absolute;
@@ -1927,7 +1978,8 @@ button.footer-meta {
1927
1978
  width: 0.52rem;
1928
1979
  height: 0.52rem;
1929
1980
  border-radius: 999px;
1930
- background: rgba(var(--ctp-overlay-rgb), 0.72);
1981
+ background: var(--ctp-yellow);
1982
+ box-shadow: 0 0 0.65rem rgba(249, 226, 175, 0.26);
1931
1983
  transform: translateY(-50%);
1932
1984
  }
1933
1985
  .git-workflow-step.active {
@@ -1937,8 +1989,8 @@ button.footer-meta {
1937
1989
  box-shadow: 0 0 1rem rgba(203, 166, 247, 0.16);
1938
1990
  }
1939
1991
  .git-workflow-step.active::before {
1940
- background: var(--ctp-pink);
1941
- box-shadow: 0 0 0.7rem var(--glow-pink);
1992
+ background: var(--ctp-yellow);
1993
+ box-shadow: 0 0 0.7rem rgba(249, 226, 175, 0.34);
1942
1994
  }
1943
1995
  .git-workflow-step.done {
1944
1996
  color: var(--ctp-green);
@@ -1969,6 +2021,39 @@ button.footer-meta {
1969
2021
  min-height: 2.15rem;
1970
2022
  padding: 0.45rem 0.72rem;
1971
2023
  }
2024
+ .git-workflow-actions button[data-tooltip] {
2025
+ position: relative;
2026
+ }
2027
+ .git-workflow-actions button[data-tooltip]::after {
2028
+ content: attr(data-tooltip);
2029
+ position: absolute;
2030
+ left: 0;
2031
+ bottom: calc(100% + 0.66rem);
2032
+ z-index: 32;
2033
+ width: min(28rem, calc(100vw - 3rem));
2034
+ max-width: min(28rem, calc(100vw - 3rem));
2035
+ padding: 0.62rem 0.72rem;
2036
+ border: 1px solid rgba(203, 166, 247, 0.28);
2037
+ border-radius: 0.75rem;
2038
+ color: var(--ctp-text);
2039
+ background: rgba(var(--ctp-crust-rgb), 0.96);
2040
+ box-shadow: 0 1rem 2.2rem rgba(var(--ctp-crust-rgb), 0.38), 0 0 1rem rgba(203, 166, 247, 0.18);
2041
+ font-size: 0.78rem;
2042
+ font-weight: 650;
2043
+ line-height: 1.35;
2044
+ letter-spacing: normal;
2045
+ text-align: left;
2046
+ white-space: pre-line;
2047
+ pointer-events: none;
2048
+ opacity: 0;
2049
+ transform: translateY(0.22rem);
2050
+ transition: opacity 140ms ease, transform 140ms ease;
2051
+ }
2052
+ .git-workflow-actions button[data-tooltip]:hover::after,
2053
+ .git-workflow-actions button[data-tooltip]:focus-visible::after {
2054
+ opacity: 1;
2055
+ transform: translateY(0);
2056
+ }
1972
2057
  .widget-area:empty { display: none; }
1973
2058
  .widget {
1974
2059
  background: rgba(var(--ctp-crust-rgb), 0.72);
@@ -2005,6 +2090,55 @@ button.footer-meta {
2005
2090
  linear-gradient(145deg, rgba(var(--ctp-crust-rgb), 0.98), rgba(var(--ctp-mantle-rgb), 0.92));
2006
2091
  }
2007
2092
  .release-aur-widget .release-npm-kicker { color: var(--ctp-peach); }
2093
+ .app-runner-widget {
2094
+ border-color: rgba(166, 227, 161, 0.62);
2095
+ border-left-color: rgba(166, 227, 161, 0.88);
2096
+ background:
2097
+ radial-gradient(circle at 4% 0%, rgba(166, 227, 161, 0.20), transparent 16rem),
2098
+ radial-gradient(circle at 96% 12%, rgba(137, 180, 250, 0.14), transparent 18rem),
2099
+ linear-gradient(145deg, rgba(var(--ctp-crust-rgb), 0.98), rgba(var(--ctp-mantle-rgb), 0.92));
2100
+ }
2101
+ .app-runner-widget .release-npm-kicker { color: var(--ctp-green); }
2102
+ .app-runner-status.done { color: var(--ctp-green); }
2103
+ .app-runner-status.failed,
2104
+ .app-runner-status.error { color: var(--ctp-red); }
2105
+ .app-runner-output-controls {
2106
+ display: flex;
2107
+ flex-wrap: wrap;
2108
+ align-items: center;
2109
+ justify-content: flex-start;
2110
+ gap: 0.56rem 0.62rem;
2111
+ min-width: 0;
2112
+ padding-top: 0.1rem;
2113
+ }
2114
+ .app-runner-output-actions,
2115
+ .app-runner-output-pills {
2116
+ display: flex;
2117
+ flex: 0 1 auto;
2118
+ flex-wrap: wrap;
2119
+ align-items: center;
2120
+ justify-content: flex-start;
2121
+ gap: 0.42rem;
2122
+ min-width: 0;
2123
+ }
2124
+ .app-runner-output-controls .release-npm-action {
2125
+ flex: 0 0 auto;
2126
+ min-height: 2.15rem;
2127
+ padding: 0.34rem 0.72rem;
2128
+ border-radius: 0.68rem;
2129
+ line-height: 1.1;
2130
+ }
2131
+ .app-runner-output-controls .app-runner-close-action {
2132
+ padding-inline: 0.82rem;
2133
+ font-weight: 900;
2134
+ }
2135
+ .app-runner-output-meta {
2136
+ flex: 1 1 16rem;
2137
+ min-width: min(100%, 12rem);
2138
+ overflow: hidden;
2139
+ text-overflow: ellipsis;
2140
+ white-space: nowrap;
2141
+ }
2008
2142
  .release-npm-header {
2009
2143
  display: grid;
2010
2144
  grid-template-columns: minmax(0, 1fr) auto auto;
@@ -2170,7 +2304,8 @@ button.footer-meta {
2170
2304
  overscroll-behavior: contain;
2171
2305
  }
2172
2306
  .release-npm-live-widget .release-npm-output-details[open] .release-npm-terminal,
2173
- .release-aur-live-widget .release-npm-output-details[open] .release-npm-terminal {
2307
+ .release-aur-live-widget .release-npm-output-details[open] .release-npm-terminal,
2308
+ .app-runner-live-widget .release-npm-output-details[open] .release-npm-terminal {
2174
2309
  height: clamp(15rem, 42dvh, 31rem);
2175
2310
  min-height: 0;
2176
2311
  }
@@ -2695,6 +2830,14 @@ button.footer-meta {
2695
2830
  padding: 0 0.9rem 0.85rem;
2696
2831
  border-top: 1px solid rgba(249, 226, 175, 0.12);
2697
2832
  }
2833
+ .message.toolResult .message-collapse[open] > .message-body,
2834
+ .message.bashExecution .message-collapse[open] > .message-body,
2835
+ .message.compactionSummary .message-collapse[open] > .message-body {
2836
+ max-height: min(42rem, 62dvh);
2837
+ overflow: auto;
2838
+ overscroll-behavior: contain;
2839
+ scrollbar-gutter: stable;
2840
+ }
2698
2841
  .tool-result-preview {
2699
2842
  padding: 0 0.9rem 0.85rem;
2700
2843
  border-top: 1px solid rgba(249, 226, 175, 0.10);
@@ -2756,6 +2899,12 @@ button.footer-meta {
2756
2899
  font-weight: 900;
2757
2900
  letter-spacing: 0.04em;
2758
2901
  }
2902
+ .tool-output-details[open] > .tool-output-code {
2903
+ max-height: min(34rem, 52dvh);
2904
+ overflow: auto;
2905
+ overscroll-behavior: contain;
2906
+ scrollbar-gutter: stable;
2907
+ }
2759
2908
  .tool-output-details[open] + .tool-output-preview {
2760
2909
  display: none;
2761
2910
  }
@@ -2778,7 +2927,10 @@ button.footer-meta {
2778
2927
  text-transform: uppercase;
2779
2928
  }
2780
2929
  .tool-raw-code {
2781
- max-height: 18rem;
2930
+ max-height: min(18rem, 42dvh);
2931
+ overflow: auto;
2932
+ overscroll-behavior: contain;
2933
+ scrollbar-gutter: stable;
2782
2934
  color: rgba(var(--ctp-text-rgb), 0.76);
2783
2935
  font-size: 0.78rem;
2784
2936
  }
@@ -3145,14 +3297,29 @@ summary { cursor: pointer; color: var(--warning); }
3145
3297
  color: rgba(var(--ctp-subtext-rgb), 0.72);
3146
3298
  font-size: 0.78rem;
3147
3299
  }
3300
+ .attachment-edit-button,
3148
3301
  .attachment-remove-button {
3149
3302
  min-height: 0;
3150
3303
  padding: 0.12rem 0.34rem;
3151
3304
  border-radius: 999px;
3305
+ box-shadow: none;
3306
+ }
3307
+ .attachment-edit-button {
3308
+ color: var(--ctp-blue);
3309
+ border-color: rgba(137, 180, 250, 0.32);
3310
+ background: rgba(137, 180, 250, 0.08);
3311
+ font-size: 0.75rem;
3312
+ font-weight: 900;
3313
+ }
3314
+ .attachment-edit-button:hover {
3315
+ color: #11111b;
3316
+ background: var(--ctp-blue);
3317
+ border-color: transparent;
3318
+ }
3319
+ .attachment-remove-button {
3152
3320
  color: var(--ctp-red);
3153
3321
  border-color: rgba(243, 139, 168, 0.32);
3154
3322
  background: rgba(243, 139, 168, 0.08);
3155
- box-shadow: none;
3156
3323
  }
3157
3324
  .attachment-remove-button:hover {
3158
3325
  color: #11111b;
@@ -3358,6 +3525,66 @@ summary { cursor: pointer; color: var(--warning); }
3358
3525
  .composer-native-command-menu.open .composer-native-command-button {
3359
3526
  border-color: rgba(203, 166, 247, 0.62);
3360
3527
  }
3528
+ .composer-app-runner-button {
3529
+ color: var(--ctp-green);
3530
+ border-color: rgba(166, 227, 161, 0.40);
3531
+ background:
3532
+ linear-gradient(120deg, rgba(166, 227, 161, 0.15), rgba(148, 226, 213, 0.10)),
3533
+ linear-gradient(180deg, rgba(var(--ctp-surface-rgb), 0.88), rgba(var(--ctp-crust-rgb), 0.88));
3534
+ }
3535
+ .composer-app-runner-button:hover,
3536
+ .composer-app-runner-button.menu-open {
3537
+ color: #11111b;
3538
+ background: linear-gradient(120deg, var(--ctp-green), var(--ctp-teal), var(--ctp-blue));
3539
+ border-color: transparent;
3540
+ }
3541
+ .composer-app-runner-button:disabled {
3542
+ opacity: 0.52;
3543
+ cursor: not-allowed;
3544
+ }
3545
+ .composer-app-runner-menu.open .composer-app-runner-button {
3546
+ border-color: rgba(166, 227, 161, 0.62);
3547
+ }
3548
+ .composer-app-runner-info-button {
3549
+ position: absolute;
3550
+ top: -0.48rem;
3551
+ right: -0.48rem;
3552
+ z-index: 2;
3553
+ flex: none;
3554
+ width: 1.95rem;
3555
+ min-width: 1.95rem;
3556
+ max-width: 1.95rem;
3557
+ height: 1.95rem;
3558
+ min-height: 1.95rem;
3559
+ padding: 0.28rem;
3560
+ overflow: hidden;
3561
+ opacity: 0;
3562
+ color: var(--ctp-teal);
3563
+ border-color: rgba(148, 226, 213, 0.34);
3564
+ border-radius: 999px;
3565
+ background:
3566
+ linear-gradient(120deg, rgba(148, 226, 213, 0.14), rgba(166, 227, 161, 0.08)),
3567
+ linear-gradient(180deg, rgba(var(--ctp-surface-rgb), 0.96), rgba(var(--ctp-crust-rgb), 0.96));
3568
+ box-shadow: none;
3569
+ pointer-events: none;
3570
+ transform: translateY(0.12rem) scale(0.86);
3571
+ transition: opacity 120ms ease, transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
3572
+ }
3573
+ .composer-app-runner-menu.has-runners:hover .composer-app-runner-info-button,
3574
+ .composer-app-runner-menu.has-runners:focus-within .composer-app-runner-info-button,
3575
+ .composer-app-runner-info-button:focus-visible {
3576
+ opacity: 1;
3577
+ pointer-events: auto;
3578
+ transform: translateY(0) scale(1);
3579
+ box-shadow: 0 0 0 1px rgba(148, 226, 213, 0.08), 0 0.55rem 1.2rem rgba(0, 0, 0, 0.16);
3580
+ }
3581
+ .composer-app-runner-info-button:hover,
3582
+ .composer-app-runner-info-button:focus-visible {
3583
+ color: #11111b;
3584
+ border-color: transparent;
3585
+ background: linear-gradient(120deg, var(--ctp-teal), var(--ctp-green));
3586
+ transform: translateY(-1px);
3587
+ }
3361
3588
  .composer-options-button {
3362
3589
  color: var(--ctp-sky);
3363
3590
  border-color: rgba(137, 220, 235, 0.40);
@@ -3440,6 +3667,62 @@ summary { cursor: pointer; color: var(--warning); }
3440
3667
  background: linear-gradient(120deg, var(--ctp-mauve), var(--ctp-blue));
3441
3668
  box-shadow: 0 0 1rem rgba(203, 166, 247, 0.20);
3442
3669
  }
3670
+ .composer-app-runner-menu-panel {
3671
+ width: min(22rem, calc(100vw - 2rem));
3672
+ min-width: min(18rem, calc(100vw - 2rem));
3673
+ max-width: min(22rem, calc(100vw - 2rem));
3674
+ overflow-x: hidden;
3675
+ }
3676
+ .composer-app-runner-menu-item {
3677
+ display: grid;
3678
+ grid-template-columns: minmax(0, 1fr);
3679
+ place-items: start stretch;
3680
+ justify-content: start;
3681
+ gap: 0.14rem;
3682
+ box-sizing: border-box;
3683
+ width: 100%;
3684
+ min-width: 0;
3685
+ max-width: 100%;
3686
+ padding-inline: 0.72rem;
3687
+ color: var(--ctp-green);
3688
+ border-color: rgba(166, 227, 161, 0.32);
3689
+ background:
3690
+ linear-gradient(120deg, rgba(166, 227, 161, 0.12), rgba(148, 226, 213, 0.08)),
3691
+ var(--ctp-crust);
3692
+ text-align: left;
3693
+ }
3694
+ .composer-app-runner-menu-item:hover,
3695
+ .composer-app-runner-menu-item:focus-visible {
3696
+ color: #11111b;
3697
+ border-color: transparent;
3698
+ background: linear-gradient(120deg, var(--ctp-green), var(--ctp-teal));
3699
+ box-shadow: 0 0 1rem rgba(166, 227, 161, 0.20);
3700
+ }
3701
+ .app-runner-menu-item-label,
3702
+ .app-runner-menu-item-command {
3703
+ display: block;
3704
+ justify-self: stretch;
3705
+ min-width: 0;
3706
+ width: 100%;
3707
+ max-width: 100%;
3708
+ margin: 0;
3709
+ padding: 0;
3710
+ overflow: hidden;
3711
+ text-align: left;
3712
+ text-indent: 0;
3713
+ text-overflow: ellipsis;
3714
+ white-space: nowrap;
3715
+ }
3716
+ .app-runner-menu-item-command {
3717
+ color: rgba(var(--ctp-subtext-rgb), 0.78);
3718
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
3719
+ font-size: 0.68rem;
3720
+ font-weight: 800;
3721
+ }
3722
+ .composer-app-runner-menu-item:hover .app-runner-menu-item-command,
3723
+ .composer-app-runner-menu-item:focus-visible .app-runner-menu-item-command {
3724
+ color: rgba(17, 17, 27, 0.74);
3725
+ }
3443
3726
  .composer-options-menu-item {
3444
3727
  color: var(--ctp-sky);
3445
3728
  border-color: rgba(137, 220, 235, 0.32);
@@ -3526,6 +3809,20 @@ summary { cursor: pointer; color: var(--warning); }
3526
3809
  .composer-input-row button[data-tooltip].tooltip-open::before {
3527
3810
  transform: translate(-1.2rem, 0) rotate(45deg);
3528
3811
  }
3812
+ .composer-row .composer-git-button[data-tooltip]::after {
3813
+ left: 0;
3814
+ right: auto;
3815
+ }
3816
+ .composer-row .composer-git-button[data-tooltip]::before {
3817
+ left: 50%;
3818
+ right: auto;
3819
+ transform: translate(-50%, 0.24rem) rotate(45deg);
3820
+ }
3821
+ .composer-row .composer-git-button[data-tooltip]:hover::before,
3822
+ .composer-row .composer-git-button[data-tooltip]:focus-visible::before,
3823
+ .composer-row .composer-git-button[data-tooltip].tooltip-open::before {
3824
+ transform: translate(-50%, 0) rotate(45deg);
3825
+ }
3529
3826
  .composer-publish-menu:hover > .composer-publish-button[data-tooltip]::before,
3530
3827
  .composer-publish-menu:hover > .composer-publish-button[data-tooltip]::after,
3531
3828
  .composer-publish-menu:focus-within > .composer-publish-button[data-tooltip]::before,
@@ -3820,6 +4117,42 @@ summary { cursor: pointer; color: var(--warning); }
3820
4117
  .prompt-list-status.success { color: var(--ctp-green); }
3821
4118
  .prompt-list-status.warn { color: var(--ctp-yellow); }
3822
4119
  .prompt-list-status.error { color: var(--ctp-red); }
4120
+ .extension-dialog.attachment-text-dialog {
4121
+ width: min(176rem, calc(100vw - 1rem), calc(var(--visual-viewport-height, 100dvh) - 1rem));
4122
+ height: min(176rem, calc(100vw - 1rem), calc(var(--visual-viewport-height, 100dvh) - 1rem));
4123
+ max-height: none;
4124
+ overflow: hidden;
4125
+ aspect-ratio: 1 / 1;
4126
+ }
4127
+ .attachment-text-dialog form {
4128
+ display: grid;
4129
+ grid-template-rows: auto auto minmax(0, 1fr) auto auto;
4130
+ height: 100%;
4131
+ min-height: 0;
4132
+ gap: 0.78rem;
4133
+ }
4134
+ .attachment-text-meta,
4135
+ .attachment-text-status {
4136
+ min-height: 1.05rem;
4137
+ margin: 0;
4138
+ font-size: 0.78rem;
4139
+ font-weight: 800;
4140
+ line-height: 1.36;
4141
+ }
4142
+ .attachment-text-editor {
4143
+ min-height: 0;
4144
+ height: 100%;
4145
+ resize: none;
4146
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
4147
+ font-size: 0.9rem;
4148
+ line-height: 1.46;
4149
+ tab-size: 2;
4150
+ white-space: pre-wrap;
4151
+ overflow-x: hidden;
4152
+ overflow-wrap: anywhere;
4153
+ }
4154
+ .attachment-text-status.warn { color: var(--ctp-yellow); }
4155
+ .attachment-text-status.error { color: var(--ctp-red); }
3823
4156
  .commands-search {
3824
4157
  width: 100%;
3825
4158
  min-width: 0;
@@ -4023,6 +4356,196 @@ summary { cursor: pointer; color: var(--warning); }
4023
4356
  .dialog-options button { text-align: left; }
4024
4357
  .dialog-input { width: 100%; padding: 0.7rem; }
4025
4358
  .dialog-editor { width: 100%; min-height: 12rem; padding: 0.7rem; }
4359
+ .git-pr-dialog {
4360
+ width: min(64rem, calc(100vw - 1.5rem));
4361
+ }
4362
+ .git-pr-dialog form {
4363
+ display: grid;
4364
+ gap: 0.8rem;
4365
+ }
4366
+ .git-pr-field {
4367
+ display: grid;
4368
+ gap: 0.38rem;
4369
+ color: rgba(var(--ctp-subtext-rgb), 0.78);
4370
+ font-size: 0.78rem;
4371
+ font-weight: 900;
4372
+ letter-spacing: 0.08em;
4373
+ text-transform: uppercase;
4374
+ }
4375
+ .git-pr-body-editor {
4376
+ min-height: min(28rem, 52vh);
4377
+ line-height: 1.45;
4378
+ letter-spacing: normal;
4379
+ text-transform: none;
4380
+ }
4381
+ .git-pr-status.error { color: var(--ctp-red); }
4382
+
4383
+ .app-runner-info-dialog {
4384
+ width: min(52rem, calc(100vw - 2rem));
4385
+ border-color: rgba(166, 227, 161, 0.46);
4386
+ box-shadow: 0 2rem 5rem var(--shadow), 0 0 2rem rgba(166, 227, 161, 0.20);
4387
+ }
4388
+ .app-runner-info-dialog form {
4389
+ display: grid;
4390
+ gap: 0.75rem;
4391
+ }
4392
+ .app-runner-info-dialog h2 {
4393
+ margin-bottom: 0;
4394
+ color: var(--ctp-green);
4395
+ text-shadow: 0 0 1rem rgba(166, 227, 161, 0.18);
4396
+ }
4397
+ .app-runner-info-body {
4398
+ display: grid;
4399
+ gap: 0.78rem;
4400
+ max-height: min(56vh, 32rem);
4401
+ padding-right: 0.15rem;
4402
+ overflow: auto;
4403
+ overscroll-behavior: contain;
4404
+ }
4405
+ .app-runner-info-section {
4406
+ display: grid;
4407
+ gap: 0.48rem;
4408
+ padding: 0.78rem 0.86rem;
4409
+ border: 1px solid rgba(166, 227, 161, 0.18);
4410
+ border-radius: 0.86rem;
4411
+ background:
4412
+ radial-gradient(circle at 0% 0%, rgba(166, 227, 161, 0.10), transparent 12rem),
4413
+ rgba(var(--ctp-crust-rgb), 0.46);
4414
+ }
4415
+ .app-runner-info-section h3 {
4416
+ margin: 0;
4417
+ color: var(--ctp-teal);
4418
+ font-size: 0.92rem;
4419
+ letter-spacing: 0.04em;
4420
+ text-transform: uppercase;
4421
+ }
4422
+ .app-runner-info-list {
4423
+ display: grid;
4424
+ gap: 0.42rem;
4425
+ margin: 0;
4426
+ padding-left: 1.1rem;
4427
+ }
4428
+ .app-runner-info-list li {
4429
+ line-height: 1.42;
4430
+ }
4431
+ .app-runner-info-detected-list li {
4432
+ display: grid;
4433
+ gap: 0.16rem;
4434
+ }
4435
+ .app-runner-info-detected-list code {
4436
+ width: fit-content;
4437
+ max-width: 100%;
4438
+ padding: 0.14rem 0.42rem;
4439
+ overflow: hidden;
4440
+ color: var(--ctp-yellow);
4441
+ border: 1px solid rgba(249, 226, 175, 0.24);
4442
+ border-radius: 0.52rem;
4443
+ background: rgba(var(--ctp-crust-rgb), 0.68);
4444
+ text-overflow: ellipsis;
4445
+ white-space: nowrap;
4446
+ }
4447
+ .app-runner-section-title-row {
4448
+ display: flex;
4449
+ flex-wrap: wrap;
4450
+ gap: 0.5rem;
4451
+ align-items: center;
4452
+ justify-content: space-between;
4453
+ }
4454
+ .app-runner-section-title-row code,
4455
+ .app-runner-custom-item code {
4456
+ min-width: 0;
4457
+ max-width: 100%;
4458
+ overflow: hidden;
4459
+ color: var(--ctp-yellow);
4460
+ text-overflow: ellipsis;
4461
+ white-space: nowrap;
4462
+ }
4463
+ .app-runner-custom-list,
4464
+ .app-runner-custom-form {
4465
+ display: grid;
4466
+ gap: 0.55rem;
4467
+ }
4468
+ .app-runner-custom-empty,
4469
+ .app-runner-custom-item {
4470
+ padding: 0.62rem 0.7rem;
4471
+ border: 1px solid rgba(148, 226, 213, 0.16);
4472
+ border-radius: 0.74rem;
4473
+ background: rgba(var(--ctp-surface-rgb), 0.30);
4474
+ }
4475
+ .app-runner-custom-item {
4476
+ display: grid;
4477
+ grid-template-columns: minmax(0, 1fr) auto;
4478
+ gap: 0.6rem;
4479
+ align-items: center;
4480
+ }
4481
+ .app-runner-custom-item-details {
4482
+ display: grid;
4483
+ gap: 0.18rem;
4484
+ min-width: 0;
4485
+ }
4486
+ .app-runner-custom-item-actions,
4487
+ .app-runner-custom-form-actions {
4488
+ display: flex;
4489
+ flex-wrap: wrap;
4490
+ gap: 0.42rem;
4491
+ align-items: center;
4492
+ justify-content: flex-end;
4493
+ }
4494
+ .app-runner-custom-item-actions button,
4495
+ .app-runner-custom-form-actions button,
4496
+ .app-runner-custom-browse,
4497
+ .app-runner-file-browser-close {
4498
+ min-height: 2.25rem;
4499
+ padding: 0.38rem 0.68rem;
4500
+ border-radius: 0.64rem;
4501
+ }
4502
+ .app-runner-custom-field {
4503
+ display: grid;
4504
+ gap: 0.24rem;
4505
+ min-width: 0;
4506
+ color: rgba(var(--ctp-text-rgb), 0.82);
4507
+ font-size: 0.82rem;
4508
+ font-weight: 850;
4509
+ }
4510
+ .app-runner-custom-field small {
4511
+ font-weight: 650;
4512
+ }
4513
+ .app-runner-custom-path-row {
4514
+ display: grid;
4515
+ grid-template-columns: minmax(0, 1fr) auto;
4516
+ gap: 0.5rem;
4517
+ align-items: end;
4518
+ }
4519
+ .app-runner-custom-browse {
4520
+ align-self: end;
4521
+ color: var(--ctp-teal);
4522
+ border-color: rgba(148, 226, 213, 0.32);
4523
+ }
4524
+ .app-runner-file-browser {
4525
+ display: grid;
4526
+ gap: 0.5rem;
4527
+ padding: 0.62rem;
4528
+ border: 1px solid rgba(137, 180, 250, 0.18);
4529
+ border-radius: 0.78rem;
4530
+ background: rgba(var(--ctp-crust-rgb), 0.44);
4531
+ }
4532
+ .app-runner-file-browser-header {
4533
+ display: flex;
4534
+ gap: 0.5rem;
4535
+ align-items: center;
4536
+ justify-content: space-between;
4537
+ }
4538
+ .app-runner-file-browser-list {
4539
+ max-height: min(18rem, 34vh);
4540
+ }
4541
+ .app-runner-file-choice {
4542
+ color: var(--ctp-yellow);
4543
+ border-color: rgba(249, 226, 175, 0.22);
4544
+ }
4545
+ .app-runner-file-choice:hover,
4546
+ .app-runner-file-choice:focus-visible {
4547
+ background: linear-gradient(120deg, var(--ctp-yellow), var(--ctp-green));
4548
+ }
4026
4549
 
4027
4550
  .native-command-dialog {
4028
4551
  width: min(56rem, calc(100vw - 2rem));
@@ -4487,16 +5010,79 @@ summary { cursor: pointer; color: var(--warning); }
4487
5010
  @media (max-width: 1050px) {
4488
5011
  body { overflow: auto; }
4489
5012
  .layout,
4490
- body.side-panel-collapsed .layout { grid-template-columns: 1fr; height: auto; min-height: 100dvh; overflow: visible; }
4491
- .chat-panel { min-height: 70dvh; }
4492
- .side-panel { max-height: none; }
4493
- .footer-line-meta {
5013
+ body.side-panel-collapsed .layout {
5014
+ grid-template-columns: 1fr;
5015
+ height: auto;
5016
+ min-height: 100dvh;
5017
+ overflow: visible;
5018
+ }
5019
+ .chat-panel {
5020
+ height: calc(var(--visual-viewport-height, 100dvh) - 2rem);
5021
+ min-height: 0;
5022
+ max-height: calc(var(--visual-viewport-height, 100dvh) - 2rem);
5023
+ }
5024
+ .chat { flex-basis: 0; }
5025
+ body:not(.side-panel-collapsed) { overflow: hidden; }
5026
+ body:not(.side-panel-collapsed) .chat-panel {
5027
+ visibility: hidden;
5028
+ pointer-events: none;
5029
+ }
5030
+ .side-panel-backdrop {
5031
+ position: fixed;
5032
+ inset: 0;
5033
+ z-index: 110;
5034
+ display: block;
5035
+ width: 100%;
5036
+ min-height: 100%;
5037
+ padding: 0;
5038
+ border: 0;
5039
+ border-radius: 0;
5040
+ background: rgba(var(--ctp-crust-rgb), 0.62);
5041
+ box-shadow: none;
5042
+ backdrop-filter: blur(4px);
5043
+ }
5044
+ .side-panel-backdrop[hidden],
5045
+ body.side-panel-collapsed .side-panel-backdrop { display: none; }
5046
+ .side-panel-backdrop:hover,
5047
+ .side-panel-backdrop:active {
5048
+ transform: none;
5049
+ border-color: transparent;
5050
+ box-shadow: none;
5051
+ }
5052
+ .side-panel {
5053
+ position: fixed;
5054
+ z-index: 111;
5055
+ top: calc(0.5rem + env(safe-area-inset-top));
5056
+ right: 0.5rem;
5057
+ bottom: calc(0.5rem + env(safe-area-inset-bottom));
5058
+ left: 0.5rem;
4494
5059
  display: grid;
4495
- grid-template-columns: repeat(2, minmax(0, 1fr));
5060
+ max-height: none;
5061
+ border-radius: 0.95rem;
5062
+ }
5063
+ body.side-panel-collapsed .terminal-tabs-shell {
5064
+ padding-right: 4.85rem;
5065
+ }
5066
+ .side-panel-expand-button {
5067
+ top: calc(0.62rem + env(safe-area-inset-top));
5068
+ right: 0.7rem;
5069
+ z-index: 120;
5070
+ }
5071
+ .side-panel-body { overscroll-behavior: contain; }
5072
+ .footer-line-meta {
5073
+ display: flex;
5074
+ flex-wrap: wrap;
5075
+ gap: 0.5rem;
5076
+ }
5077
+ .footer-line-meta .footer-meta {
5078
+ flex: 1 1 var(--footer-chip-min-width);
5079
+ width: auto;
5080
+ min-width: 0;
5081
+ max-width: 100%;
4496
5082
  }
4497
- .footer-workspace { grid-column: 1 / -1; }
4498
- .footer-model { grid-column: 1; }
4499
- .footer-thinking { grid-column: 2; }
5083
+ .footer-workspace,
5084
+ .footer-model,
5085
+ .footer-thinking { grid-column: auto; }
4500
5086
  }
4501
5087
 
4502
5088
  @media (max-width: 720px), (max-device-width: 720px), (pointer: coarse) and (hover: none) {
@@ -4526,7 +5112,7 @@ summary { cursor: pointer; color: var(--warning); }
4526
5112
  padding: calc(0.12rem + env(safe-area-inset-top)) 0.42rem 0.12rem;
4527
5113
  overflow: visible;
4528
5114
  }
4529
- body.side-panel-collapsed .terminal-tabs-shell { padding-right: 2.75rem; }
5115
+ body.side-panel-collapsed .terminal-tabs-shell { padding-right: calc(44px + 0.8rem); }
4530
5116
  .terminal-tabs-toggle-button {
4531
5117
  display: block;
4532
5118
  width: min(14rem, calc(100vw - 8.8rem));
@@ -4556,6 +5142,7 @@ summary { cursor: pointer; color: var(--warning); }
4556
5142
  .side-panel-expand-button {
4557
5143
  top: calc(0.12rem + env(safe-area-inset-top));
4558
5144
  right: 0.42rem;
5145
+ z-index: 120;
4559
5146
  }
4560
5147
  .terminal-close-all-button {
4561
5148
  min-height: 28px;
@@ -4589,7 +5176,10 @@ summary { cursor: pointer; color: var(--warning); }
4589
5176
  }
4590
5177
  .terminal-tabs:has(.terminal-tab-group:hover),
4591
5178
  .terminal-tabs:has(.terminal-tab-group:focus-within),
4592
- .terminal-tabs:has(.terminal-tab-group.menu-open) {
5179
+ .terminal-tabs:has(.terminal-tab-group.menu-open),
5180
+ .terminal-tabs:has(.terminal-new-tab-menu:hover),
5181
+ .terminal-tabs:has(.terminal-new-tab-menu:focus-within),
5182
+ .terminal-tabs:has(.terminal-new-tab-menu.open) {
4593
5183
  overflow: auto;
4594
5184
  }
4595
5185
  .terminal-tab { min-width: min(11rem, 100%); max-width: 100%; flex: 1 1 9rem; }
@@ -4620,9 +5210,27 @@ summary { cursor: pointer; color: var(--warning); }
4620
5210
  max-width: 100%;
4621
5211
  flex: 0 0 auto;
4622
5212
  }
5213
+ .terminal-new-tab-menu {
5214
+ width: auto;
5215
+ flex-wrap: wrap;
5216
+ }
5217
+ .terminal-new-tab-menu.open,
5218
+ .terminal-new-tab-menu:focus-within {
5219
+ flex-basis: 100%;
5220
+ }
5221
+ .terminal-new-tab-menu .composer-publish-menu-panel {
5222
+ position: static;
5223
+ width: 100%;
5224
+ min-width: min(11rem, 100%);
5225
+ max-width: 100%;
5226
+ margin: 0.34rem 0 0;
5227
+ padding-top: 0;
5228
+ overflow: visible;
5229
+ }
4623
5230
  .terminal-tab-button,
4624
5231
  .terminal-tab-close,
4625
5232
  .terminal-new-tab-button,
5233
+ .terminal-new-tab-menu-item,
4626
5234
  .terminal-tab-group-add { min-height: 44px; }
4627
5235
  .terminal-tab-button { padding: 0.32rem 0.52rem; }
4628
5236
  .terminal-tab-title { font-size: 0.78rem; }
@@ -4637,6 +5245,11 @@ summary { cursor: pointer; color: var(--warning); }
4637
5245
  padding: 0.36rem 0.58rem;
4638
5246
  white-space: nowrap;
4639
5247
  }
5248
+ .terminal-new-tab-menu-item {
5249
+ width: 100%;
5250
+ max-width: 100%;
5251
+ padding: 0.42rem 0.58rem;
5252
+ }
4640
5253
  .widget-area {
4641
5254
  display: block;
4642
5255
  max-height: 34dvh;
@@ -4843,7 +5456,11 @@ summary { cursor: pointer; color: var(--warning); }
4843
5456
  grid-template-columns: 1fr;
4844
5457
  }
4845
5458
  body.footer-details-expanded .footer-line-meta .footer-meta { display: grid; }
4846
- .footer-metric { width: 100%; padding: 0.35rem 0.45rem; }
5459
+ .footer-line-main .footer-metric {
5460
+ width: 100%;
5461
+ min-width: 0;
5462
+ }
5463
+ .footer-metric { padding: 0.35rem 0.45rem; }
4847
5464
  .footer-details-toggle {
4848
5465
  display: block;
4849
5466
  min-height: 44px;
@@ -5010,7 +5627,7 @@ summary { cursor: pointer; color: var(--warning); }
5010
5627
  .side-panel-backdrop {
5011
5628
  position: fixed;
5012
5629
  inset: 0;
5013
- z-index: 18;
5630
+ z-index: 110;
5014
5631
  display: block;
5015
5632
  width: 100%;
5016
5633
  min-height: 100%;
@@ -5031,7 +5648,7 @@ summary { cursor: pointer; color: var(--warning); }
5031
5648
  }
5032
5649
  .side-panel {
5033
5650
  position: fixed;
5034
- z-index: 19;
5651
+ z-index: 111;
5035
5652
  top: calc(0.5rem + env(safe-area-inset-top));
5036
5653
  right: 0.5rem;
5037
5654
  bottom: calc(0.5rem + env(safe-area-inset-bottom));
@@ -5078,6 +5695,13 @@ summary { cursor: pointer; color: var(--warning); }
5078
5695
  .native-command-body { max-height: min(28rem, 54dvh); }
5079
5696
  .native-settings-grid,
5080
5697
  .native-tree-options { grid-template-columns: 1fr; }
5698
+ .app-runner-custom-item,
5699
+ .app-runner-custom-path-row { grid-template-columns: 1fr; }
5700
+ .app-runner-custom-item-actions,
5701
+ .app-runner-custom-form-actions { justify-content: stretch; }
5702
+ .app-runner-custom-item-actions button,
5703
+ .app-runner-custom-form-actions button,
5704
+ .app-runner-custom-browse { width: 100%; }
5081
5705
  .path-picker-current-row,
5082
5706
  .path-picker-create-row,
5083
5707
  .path-picker-search-row { grid-template-columns: 1fr; }