@firstpick/pi-package-webui 0.3.2 → 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
@@ -1502,7 +1502,8 @@ body.side-panel-collapsed .terminal-tabs-shell {
1502
1502
  background: linear-gradient(90deg, rgba(203, 166, 247, 0.10), rgba(137, 180, 250, 0.05), rgba(148, 226, 213, 0.08));
1503
1503
  }
1504
1504
  .widget-area:has(.release-npm-live-widget .release-npm-output-details[open]),
1505
- .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]) {
1506
1507
  flex: 0 0 min(44rem, 68dvh);
1507
1508
  min-height: 0;
1508
1509
  overflow: auto;
@@ -1546,6 +1547,7 @@ body.side-panel-collapsed .terminal-tabs-shell {
1546
1547
  box-shadow: none;
1547
1548
  }
1548
1549
  .statusbar-git-footer {
1550
+ --footer-chip-min-width: 7.6rem;
1549
1551
  gap: 0.58rem;
1550
1552
  }
1551
1553
  .footer-line {
@@ -1559,6 +1561,12 @@ body.side-panel-collapsed .terminal-tabs-shell {
1559
1561
  flex-wrap: wrap;
1560
1562
  gap: 0.5rem;
1561
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
+ }
1562
1570
  .footer-line-meta {
1563
1571
  display: flex;
1564
1572
  flex-wrap: nowrap;
@@ -1566,14 +1574,14 @@ body.side-panel-collapsed .terminal-tabs-shell {
1566
1574
  color: rgba(var(--ctp-subtext-rgb), 0.76);
1567
1575
  }
1568
1576
  .footer-line-meta .footer-meta {
1569
- 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%;
1570
1581
  }
1571
1582
  .footer-line-meta .footer-details-toggle {
1572
1583
  flex: 0 0 auto;
1573
1584
  }
1574
- .footer-workspace {
1575
- flex: 1 1 8rem;
1576
- }
1577
1585
  .footer-line-tui {
1578
1586
  align-items: center;
1579
1587
  gap: 0.5rem;
@@ -1851,10 +1859,6 @@ button.footer-meta {
1851
1859
  color: var(--ctp-pink);
1852
1860
  text-shadow: 0 0 0.55rem rgba(245, 194, 231, 0.18);
1853
1861
  }
1854
- .footer-changes,
1855
- .footer-git-extra {
1856
- flex: 0 0 auto;
1857
- }
1858
1862
  .footer-changes {
1859
1863
  border-color: rgba(249, 226, 175, 0.36);
1860
1864
  background: transparent;
@@ -1914,6 +1918,11 @@ button.footer-meta {
1914
1918
  align-items: flex-start;
1915
1919
  justify-content: space-between;
1916
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);
1917
1926
  }
1918
1927
  .git-workflow-header strong {
1919
1928
  display: block;
@@ -1952,6 +1961,15 @@ button.footer-meta {
1952
1961
  letter-spacing: 0.08em;
1953
1962
  text-transform: uppercase;
1954
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
+ }
1955
1973
  .git-workflow-step::before {
1956
1974
  content: "";
1957
1975
  position: absolute;
@@ -1960,7 +1978,8 @@ button.footer-meta {
1960
1978
  width: 0.52rem;
1961
1979
  height: 0.52rem;
1962
1980
  border-radius: 999px;
1963
- 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);
1964
1983
  transform: translateY(-50%);
1965
1984
  }
1966
1985
  .git-workflow-step.active {
@@ -1970,8 +1989,8 @@ button.footer-meta {
1970
1989
  box-shadow: 0 0 1rem rgba(203, 166, 247, 0.16);
1971
1990
  }
1972
1991
  .git-workflow-step.active::before {
1973
- background: var(--ctp-pink);
1974
- 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);
1975
1994
  }
1976
1995
  .git-workflow-step.done {
1977
1996
  color: var(--ctp-green);
@@ -2002,6 +2021,39 @@ button.footer-meta {
2002
2021
  min-height: 2.15rem;
2003
2022
  padding: 0.45rem 0.72rem;
2004
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
+ }
2005
2057
  .widget-area:empty { display: none; }
2006
2058
  .widget {
2007
2059
  background: rgba(var(--ctp-crust-rgb), 0.72);
@@ -2038,6 +2090,55 @@ button.footer-meta {
2038
2090
  linear-gradient(145deg, rgba(var(--ctp-crust-rgb), 0.98), rgba(var(--ctp-mantle-rgb), 0.92));
2039
2091
  }
2040
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
+ }
2041
2142
  .release-npm-header {
2042
2143
  display: grid;
2043
2144
  grid-template-columns: minmax(0, 1fr) auto auto;
@@ -2203,7 +2304,8 @@ button.footer-meta {
2203
2304
  overscroll-behavior: contain;
2204
2305
  }
2205
2306
  .release-npm-live-widget .release-npm-output-details[open] .release-npm-terminal,
2206
- .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 {
2207
2309
  height: clamp(15rem, 42dvh, 31rem);
2208
2310
  min-height: 0;
2209
2311
  }
@@ -2728,6 +2830,14 @@ button.footer-meta {
2728
2830
  padding: 0 0.9rem 0.85rem;
2729
2831
  border-top: 1px solid rgba(249, 226, 175, 0.12);
2730
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
+ }
2731
2841
  .tool-result-preview {
2732
2842
  padding: 0 0.9rem 0.85rem;
2733
2843
  border-top: 1px solid rgba(249, 226, 175, 0.10);
@@ -2789,6 +2899,12 @@ button.footer-meta {
2789
2899
  font-weight: 900;
2790
2900
  letter-spacing: 0.04em;
2791
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
+ }
2792
2908
  .tool-output-details[open] + .tool-output-preview {
2793
2909
  display: none;
2794
2910
  }
@@ -2811,7 +2927,10 @@ button.footer-meta {
2811
2927
  text-transform: uppercase;
2812
2928
  }
2813
2929
  .tool-raw-code {
2814
- max-height: 18rem;
2930
+ max-height: min(18rem, 42dvh);
2931
+ overflow: auto;
2932
+ overscroll-behavior: contain;
2933
+ scrollbar-gutter: stable;
2815
2934
  color: rgba(var(--ctp-text-rgb), 0.76);
2816
2935
  font-size: 0.78rem;
2817
2936
  }
@@ -3178,14 +3297,29 @@ summary { cursor: pointer; color: var(--warning); }
3178
3297
  color: rgba(var(--ctp-subtext-rgb), 0.72);
3179
3298
  font-size: 0.78rem;
3180
3299
  }
3300
+ .attachment-edit-button,
3181
3301
  .attachment-remove-button {
3182
3302
  min-height: 0;
3183
3303
  padding: 0.12rem 0.34rem;
3184
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 {
3185
3320
  color: var(--ctp-red);
3186
3321
  border-color: rgba(243, 139, 168, 0.32);
3187
3322
  background: rgba(243, 139, 168, 0.08);
3188
- box-shadow: none;
3189
3323
  }
3190
3324
  .attachment-remove-button:hover {
3191
3325
  color: #11111b;
@@ -3391,6 +3525,66 @@ summary { cursor: pointer; color: var(--warning); }
3391
3525
  .composer-native-command-menu.open .composer-native-command-button {
3392
3526
  border-color: rgba(203, 166, 247, 0.62);
3393
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
+ }
3394
3588
  .composer-options-button {
3395
3589
  color: var(--ctp-sky);
3396
3590
  border-color: rgba(137, 220, 235, 0.40);
@@ -3473,6 +3667,62 @@ summary { cursor: pointer; color: var(--warning); }
3473
3667
  background: linear-gradient(120deg, var(--ctp-mauve), var(--ctp-blue));
3474
3668
  box-shadow: 0 0 1rem rgba(203, 166, 247, 0.20);
3475
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
+ }
3476
3726
  .composer-options-menu-item {
3477
3727
  color: var(--ctp-sky);
3478
3728
  border-color: rgba(137, 220, 235, 0.32);
@@ -3559,6 +3809,20 @@ summary { cursor: pointer; color: var(--warning); }
3559
3809
  .composer-input-row button[data-tooltip].tooltip-open::before {
3560
3810
  transform: translate(-1.2rem, 0) rotate(45deg);
3561
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
+ }
3562
3826
  .composer-publish-menu:hover > .composer-publish-button[data-tooltip]::before,
3563
3827
  .composer-publish-menu:hover > .composer-publish-button[data-tooltip]::after,
3564
3828
  .composer-publish-menu:focus-within > .composer-publish-button[data-tooltip]::before,
@@ -3853,6 +4117,42 @@ summary { cursor: pointer; color: var(--warning); }
3853
4117
  .prompt-list-status.success { color: var(--ctp-green); }
3854
4118
  .prompt-list-status.warn { color: var(--ctp-yellow); }
3855
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); }
3856
4156
  .commands-search {
3857
4157
  width: 100%;
3858
4158
  min-width: 0;
@@ -4056,6 +4356,196 @@ summary { cursor: pointer; color: var(--warning); }
4056
4356
  .dialog-options button { text-align: left; }
4057
4357
  .dialog-input { width: 100%; padding: 0.7rem; }
4058
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
+ }
4059
4549
 
4060
4550
  .native-command-dialog {
4061
4551
  width: min(56rem, calc(100vw - 2rem));
@@ -4520,16 +5010,79 @@ summary { cursor: pointer; color: var(--warning); }
4520
5010
  @media (max-width: 1050px) {
4521
5011
  body { overflow: auto; }
4522
5012
  .layout,
4523
- body.side-panel-collapsed .layout { grid-template-columns: 1fr; height: auto; min-height: 100dvh; overflow: visible; }
4524
- .chat-panel { min-height: 70dvh; }
4525
- .side-panel { max-height: none; }
4526
- .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;
4527
5059
  display: grid;
4528
- 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;
4529
5076
  }
4530
- .footer-workspace { grid-column: 1 / -1; }
4531
- .footer-model { grid-column: 1; }
4532
- .footer-thinking { grid-column: 2; }
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%;
5082
+ }
5083
+ .footer-workspace,
5084
+ .footer-model,
5085
+ .footer-thinking { grid-column: auto; }
4533
5086
  }
4534
5087
 
4535
5088
  @media (max-width: 720px), (max-device-width: 720px), (pointer: coarse) and (hover: none) {
@@ -4559,7 +5112,7 @@ summary { cursor: pointer; color: var(--warning); }
4559
5112
  padding: calc(0.12rem + env(safe-area-inset-top)) 0.42rem 0.12rem;
4560
5113
  overflow: visible;
4561
5114
  }
4562
- 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); }
4563
5116
  .terminal-tabs-toggle-button {
4564
5117
  display: block;
4565
5118
  width: min(14rem, calc(100vw - 8.8rem));
@@ -4589,6 +5142,7 @@ summary { cursor: pointer; color: var(--warning); }
4589
5142
  .side-panel-expand-button {
4590
5143
  top: calc(0.12rem + env(safe-area-inset-top));
4591
5144
  right: 0.42rem;
5145
+ z-index: 120;
4592
5146
  }
4593
5147
  .terminal-close-all-button {
4594
5148
  min-height: 28px;
@@ -4902,7 +5456,11 @@ summary { cursor: pointer; color: var(--warning); }
4902
5456
  grid-template-columns: 1fr;
4903
5457
  }
4904
5458
  body.footer-details-expanded .footer-line-meta .footer-meta { display: grid; }
4905
- .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; }
4906
5464
  .footer-details-toggle {
4907
5465
  display: block;
4908
5466
  min-height: 44px;
@@ -5069,7 +5627,7 @@ summary { cursor: pointer; color: var(--warning); }
5069
5627
  .side-panel-backdrop {
5070
5628
  position: fixed;
5071
5629
  inset: 0;
5072
- z-index: 18;
5630
+ z-index: 110;
5073
5631
  display: block;
5074
5632
  width: 100%;
5075
5633
  min-height: 100%;
@@ -5090,7 +5648,7 @@ summary { cursor: pointer; color: var(--warning); }
5090
5648
  }
5091
5649
  .side-panel {
5092
5650
  position: fixed;
5093
- z-index: 19;
5651
+ z-index: 111;
5094
5652
  top: calc(0.5rem + env(safe-area-inset-top));
5095
5653
  right: 0.5rem;
5096
5654
  bottom: calc(0.5rem + env(safe-area-inset-bottom));
@@ -5137,6 +5695,13 @@ summary { cursor: pointer; color: var(--warning); }
5137
5695
  .native-command-body { max-height: min(28rem, 54dvh); }
5138
5696
  .native-settings-grid,
5139
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%; }
5140
5705
  .path-picker-current-row,
5141
5706
  .path-picker-create-row,
5142
5707
  .path-picker-search-row { grid-template-columns: 1fr; }