3939.btn : hover { background : color-mix (in oklab, currentColor 10% , transparent); }
4040.btn : active { transform : translateY (1px ); }
4141.btn : disabled { opacity : .55 ; cursor : not-allowed; }
42- .btn-primary { --_bg : var (--primary ); --_fg : var (--primary-contrast ); --_bd : color-mix (in oklab, var (--primary ) 85% , black); }
42+ .btn-primary {
43+ --_bg : color-mix (in oklab, var (--primary ) 15% , var (--surface-2 ));
44+ --_fg : color-mix (in oklab, var (--primary ) 90% , currentColor);
45+ --_bd : color-mix (in oklab, var (--primary ) 40% , transparent);
46+ font-weight : 500 ;
47+ }
48+ .btn-primary : hover {
49+ --_bg : color-mix (in oklab, var (--primary ) 25% , var (--surface-2 ));
50+ }
4351.btn-ghost { --_bg : transparent; --_bd : var (--border-col ); }
4452.btn-icon { padding : var (--space-2 ); width : 36px ; height : 36px ; }
4553
128136 grid-template-rows : auto auto 1fr ;
129137 grid-template-columns : 1fr ;
130138 height : 100vh ;
131- width : 100 vw ;
132- overflow : hidden ;
139+ width : 100 % ;
140+ min-height : 0 ;
133141}
134142
135143.gc-header {
176184 overflow : hidden;
177185}
178186
179- .diff-bar-arrow {
180- font-size : 1.25rem ;
181- color : var (--border-col );
182- padding : 0 var (--space-2 );
187+ .diff-bar-project-info {
188+ display : flex;
189+ align-items : center;
190+ gap : var (--space-2 );
191+ padding : var (--space-2 ) var (--space-3 );
192+ background : color-mix (in oklab, var (--surface-1 ) 50% , transparent);
193+ border-radius : var (--radius-sm );
194+ font-size : var (--text-sm );
195+ color : inherit;
196+ opacity : 0.8 ;
197+ }
198+
199+ .diff-bar-project-name {
200+ font-weight : 500 ;
201+ max-width : 200px ;
202+ overflow : hidden;
203+ text-overflow : ellipsis;
204+ white-space : nowrap;
183205}
184206
185207.gc-main-content {
186208 display : grid;
187- grid-template-columns : 1fr 400 px ;
209+ grid-template-columns : minmax ( 320 px , 1fr ) clamp ( 280 px , 32 vw , 460 px ) ;
188210 gap : var (--space-4 );
189211 padding : var (--space-4 );
190- overflow : hidden;
191212 min-height : 0 ;
192213}
193214
194215.gc-left-panel {
195216 display : flex;
196217 flex-direction : column;
197- overflow : hidden;
198218 border : 1px solid var (--border-col );
199219 border-radius : var (--radius-lg );
200220 background : var (--surface-1 );
201221 min-height : 0 ;
222+ box-shadow : 0 1px 3px rgba (0 , 0 , 0 , 0.1 );
202223}
203224
204225.gc-right-panel {
205226 display : flex;
206227 flex-direction : column;
207- overflow : hidden;
208228 border : 1px solid var (--border-col );
209229 border-radius : var (--radius-lg );
210230 background : var (--surface-1 );
211231 min-height : 0 ;
232+ box-shadow : 0 1px 3px rgba (0 , 0 , 0 , 0.1 );
212233}
213234
214235.gc-content {
215- flex : 1 ;
216- overflow : hidden;
236+ flex : 1 1 auto;
217237 display : flex;
218238 flex-direction : column;
219239 min-height : 0 ;
226246 }
227247}
228248
249+ @media (max-width : 900px ) {
250+ .gc-main-content {
251+ padding : var (--space-3 );
252+ gap : var (--space-3 );
253+ }
254+ }
255+
256+ /* Height-based media query for short desktop windows */
257+ @media (max-height : 700px ) {
258+ .gc-header {
259+ padding : var (--space-2 ) var (--space-4 );
260+ }
261+ .gc-diff-bar {
262+ padding : var (--space-2 ) var (--space-4 );
263+ }
264+ .left-panel-controls {
265+ padding : var (--space-3 );
266+ }
267+ }
268+
229269.gc-button {
230270 display : inline-flex;
231271 align-items : center;
306346 flex-direction : column;
307347 gap : var (--space-1 );
308348 overflow-y : auto;
349+ min-height : 0 ;
350+ overscroll-behavior : contain;
309351}
310352
311353.selected-file-row {
@@ -744,8 +786,16 @@ button {
744786}
745787
746788/* Rows & hovers */
747- .tree-row , .selected-file-row { border-radius : var (--radius-sm ); }
748- .tree-row : hover , .selected-file-row : hover { background : color-mix (in oklab, currentColor 8% , transparent); }
789+ .tree-row , .selected-file-row {
790+ border-radius : var (--radius-sm );
791+ transition : background 0.1s ease, transform 0.05s ease;
792+ }
793+ .tree-row : hover , .selected-file-row : hover {
794+ background : color-mix (in oklab, currentColor 8% , transparent);
795+ }
796+ .tree-row : active , .selected-file-row : active {
797+ transform : translateY (1px );
798+ }
749799
750800/* Status bar */
751801.status-bar {
@@ -983,32 +1033,36 @@ button {
9831033 position : sticky;
9841034 top : 0 ;
9851035 z-index : 10 ;
986- background : var (--surface-1 );
987- padding : var (--space-4 );
1036+ background : color-mix (in oklab, var (--surface-1 ) 95% , transparent);
1037+ backdrop-filter : blur (8px );
1038+ padding : var (--space-3 );
9881039 border-bottom : 1px solid var (--border-col );
9891040 display : flex;
9901041 flex-direction : column;
991- gap : var (--space-3 );
1042+ gap : var (--space-2 );
9921043}
9931044
994- .tree-action-buttons {
1045+ .tree-controls-row {
9951046 display : flex;
1047+ align-items : center;
1048+ justify-content : space-between;
9961049 gap : var (--space-2 );
9971050 flex-wrap : wrap;
9981051}
9991052
1000- .tree-filter-controls {
1053+ .tree-action-buttons {
10011054 display : flex;
1002- align-items : center ;
1055+ gap : var ( --space-1 ) ;
10031056}
10041057
10051058.tree-filter-checkbox {
10061059 display : flex;
10071060 align-items : center;
10081061 gap : var (--space-2 );
1009- font-size : 13 px ;
1062+ font-size : 12 px ;
10101063 cursor : pointer;
10111064 user-select : none;
1065+ white-space : nowrap;
10121066}
10131067
10141068.tree-filter-checkbox input [type = "checkbox" ] {
@@ -1017,13 +1071,13 @@ button {
10171071
10181072.tree-search-input {
10191073 position : relative;
1020- width : 100% ;
10211074}
10221075
10231076.tree-search-input input {
10241077 width : 100% ;
10251078 font-size : 13px ;
10261079 padding-right : var (--space-8 );
1080+ box-sizing : border-box;
10271081}
10281082
10291083/* Search clear button */
@@ -1058,8 +1112,9 @@ button {
10581112.left-panel-tree-container {
10591113 flex : 1 ;
10601114 overflow : auto;
1061- padding : var (--space-2 );
1115+ padding : var (--space-3 );
10621116 min-height : 0 ;
1117+ overscroll-behavior : contain;
10631118}
10641119
10651120/* Enhanced FileTreeView styling removed to restore original tree design */
@@ -1106,7 +1161,8 @@ button {
11061161
11071162.tab-nav-item .active {
11081163 opacity : 1 ;
1109- border-bottom-color : var (--primary );
1164+ border-bottom-color : color-mix (in oklab, var (--primary ) 80% , currentColor);
1165+ color : color-mix (in oklab, var (--primary ) 70% , currentColor);
11101166}
11111167
11121168.tab-badge {
@@ -1117,16 +1173,18 @@ button {
11171173 height : 20px ;
11181174 padding : 0 var (--space-2 );
11191175 border-radius : 10px ;
1120- background : var (--primary );
1121- color : var (--primary-contrast );
1176+ background : color-mix (in oklab , var (--primary ) 20 % , var ( --surface-2 ) );
1177+ color : color-mix (in oklab , var (--primary ) 80 % , currentColor );
11221178 font-size : 11px ;
11231179 font-weight : 600 ;
1180+ border : 1px solid color-mix (in oklab, var (--primary ) 30% , transparent);
11241181}
11251182
11261183.tab-content {
11271184 flex : 1 ;
11281185 overflow : auto;
11291186 min-height : 0 ;
1187+ overscroll-behavior : contain;
11301188}
11311189
11321190/* Selected files container */
@@ -1241,13 +1299,13 @@ button {
12411299
12421300.token-progress-fill {
12431301 height : 100% ;
1244- background : var (--primary );
1302+ background : color-mix (in oklab , var (--primary ) 60 % , var ( --surface-2 ) );
12451303 transition : width 0.3s ease;
12461304 border-radius : 2px ;
12471305}
12481306
12491307.token-progress-fill .over-limit {
1250- background : # ef4444 ;
1308+ background : color-mix (in oklab , # ef4444 70 % , var ( --surface-2 )) ;
12511309}
12521310
12531311.copy-button {
0 commit comments