99 --text-secondary : rgba (232 , 238 , 246 , 0.68 );
1010 --accent : # f97316 ;
1111 --accent-hover : # ea580c ;
12- --accent2 : # 3b82f6 ;
1312 --ok : # 10b981 ;
14- --sidebar-width : 260px ;
15- --sidebar-width-collapsed : 80px ;
13+ --sidebar-width : 220px ;
14+ --sidebar-width-collapsed : 60px ;
15+ --explorer-width : 280px ;
1616}
1717
1818* { box-sizing : border-box; }
4040.nav-item .active { background : rgba (249 , 115 , 22 , 0.16 ); border-color : rgba (249 , 115 , 22 , 0.45 ); color : var (--accent ); }
4141.tools-menu { display : flex; flex-direction : column; }
4242.nav-item .tools-toggle { justify-content : space-between; }
43- .nav-item .chev { opacity : 0.9 ; }
43+ .nav-item .chev { opacity : 0.9 ; transition : transform 0.2s ; }
44+ .nav-item .tools-toggle [aria-expanded = "true" ] .chev { transform : rotate (180deg ); }
4445.tools-submenu { margin : 4px 0 0 10px ; border-left : 1px solid rgba (255 , 255 , 255 , 0.1 ); padding-left : 10px ; display : flex; flex-direction : column; gap : 4px ; }
4546.nav-subitem { width : 100% ; background : transparent; border : 0 ; color : var (--text ); text-align : left; padding : 8px 10px ; border-radius : 8px ; cursor : pointer; font-size : 13px ; opacity : 0.92 ; }
4647.nav-subitem : hover { background : rgba (255 , 255 , 255 , 0.06 ); opacity : 1 ; }
@@ -50,7 +51,10 @@ body {
5051.btn-full { width : 100% ; display : flex; align-items : center; justify-content : center; gap : 8px ; }
5152.sidebar .collapsed .btn-full span { display : none; }
5253
53- .sidebar-explorer { border-top : 1px solid var (--border ); padding : 12px ; display : flex; flex-direction : column; gap : 8px ; }
54+ /* Right-side Explorer Sidebar */
55+ .explorer-sidebar { width : var (--explorer-width ); min-width : 200px ; max-width : 450px ; background : var (--bg-secondary ); border-left : 1px solid var (--border ); display : flex; flex-direction : column; padding : 12px ; gap : 10px ; transition : width 0.1s ; }
56+ .explorer-sidebar .hidden { display : none; }
57+
5458.explorer-header { display : flex; align-items : center; justify-content : space-between; gap : 10px ; }
5559.explorer-title { font-size : 12px ; font-weight : 800 ; letter-spacing : 0.4px ; text-transform : uppercase; color : rgba (232 , 238 , 246 , 0.75 ); }
5660.explorer-actions { display : flex; gap : 6px ; }
@@ -59,27 +63,29 @@ body {
5963.icon-btn : active { transform : scale (0.98 ); }
6064
6165.explorer-path { font-size : 12px ; color : var (--text-secondary ); padding : 6px 8px ; border : 1px solid var (--border ); border-radius : 10px ; background : rgba (0 , 0 , 0 , 0.18 ); overflow : hidden; text-overflow : ellipsis; white-space : nowrap; }
62- .explorer-list { max-height : 260 px ; overflow-y : auto; border : 1px solid var (--border ); border-radius : 12px ; background : rgba (0 , 0 , 0 , 0.18 ); }
66+ .explorer-list { flex : 1 ; overflow-y : auto; border : 1px solid var (--border ); border-radius : 12px ; background : rgba (0 , 0 , 0 , 0.18 ); }
6367.explorer-list .grid { display : grid; grid-template-columns : repeat (2 , minmax (0 , 1fr )); gap : 8px ; padding : 8px ; }
6468.explorer-list .grid .explorer-item { border-bottom : none; border : 1px solid rgba (255 , 255 , 255 , 0.06 ); border-radius : 12px ; }
65- .explorer-item { display : grid; grid-template-columns : 18px 1fr auto; align-items : center; gap : 8px ; padding : 8px 10px ; border-bottom : 1px solid rgba (255 , 255 , 255 , 0.05 ); font-size : 12px ; color : var (--text ); user-select : none; }
69+ .explorer-item { display : grid; grid-template-columns : 18px 1fr auto; align-items : center; gap : 8px ; padding : 8px 10px ; border-bottom : 1px solid rgba (255 , 255 , 255 , 0.05 ); font-size : 12px ; color : var (--text ); user-select : none; cursor : pointer; }
6670.explorer-item : last-child { border-bottom : none; }
6771.explorer-item : hover { background : var (--panel-hover ); }
6872.explorer-item .name { overflow : hidden; text-overflow : ellipsis; white-space : nowrap; }
6973.explorer-list .grid .explorer-item .name { display : -webkit-box; line-clamp : 2 ; -webkit-line-clamp : 2 ; -webkit-box-orient : vertical; overflow : hidden; white-space : normal; }
70- .explorer-item .selected { outline : 2px solid rgba (76 , 194 , 255 , 0.45 ); background : rgba (76 , 194 , 255 , 0.08 ); }
74+ .explorer-item .selected { outline : 2px solid rgba (249 , 115 , 22 , 0.55 ); background : rgba (249 , 115 , 22 , 0.12 ); }
7175.explorer-item .meta { color : var (--text-secondary ); font-size : 11px ; }
7276.explorer-item .add { border : 1px solid var (--border ); background : var (--panel ); color : var (--accent ); border-radius : 10px ; padding : 5px 8px ; font-size : 11px ; font-weight : 800 ; cursor : pointer; }
7377.explorer-item .add : hover { background : var (--panel-hover ); }
74- .explorer-hint { font-size : 11px ; color : var (--text-secondary ); line-height : 1.35 ; }
78+ .explorer-hint { font-size : 11px ; color : var (--text-secondary ); line-height : 1.35 ; padding-top : 6 px ; }
7579
76- .sidebar .collapsed .sidebar-explorer { display : none; }
80+ /* Resize handle between main content and explorer */
81+ .resize-handle { width : 5px ; background : transparent; cursor : col-resize; transition : background 0.2s ; flex-shrink : 0 ; }
82+ .resize-handle : hover , .resize-handle .dragging { background : var (--accent ); }
7783
78- .main-content { flex : 1 ; display : flex; flex-direction : column; overflow : hidden; }
79- .topbar { display : flex; align-items : center; justify-content : space-between; padding : 16 px 24 px ; border-bottom : 1px solid var (--border ); background : var (--panel ); flex-shrink : 0 ; }
80- .topbar-left h1 { margin : 0 ; font-size : 20 px ; font-weight : 700 ; letter-spacing : 0.3px ; display : flex; align-items : center; gap : 10px ; }
84+ .main-content { flex : 1 ; display : flex; flex-direction : column; overflow : hidden; min-width : 400 px ; }
85+ .topbar { display : flex; align-items : center; justify-content : space-between; padding : 12 px 20 px ; border-bottom : 1px solid var (--border ); background : var (--panel ); flex-shrink : 0 ; }
86+ .topbar-left h1 { margin : 0 ; font-size : 18 px ; font-weight : 700 ; letter-spacing : 0.3px ; display : flex; align-items : center; gap : 10px ; }
8187.topbar-left h1 svg { flex-shrink : 0 ; }
82- .topbar-right { display : flex; gap : 12 px ; align-items : center; }
88+ .topbar-right { display : flex; gap : 10 px ; align-items : center; }
8389.status-badge { font-size : 12px ; color : var (--text-secondary ); background : var (--panel ); padding : 6px 12px ; border-radius : 8px ; border : 1px solid var (--border ); }
8490
8591.drop-zone { position : fixed; inset : 0 ; background : rgba (0 , 0 , 0 , 0.85 ); display : none; align-items : center; justify-content : center; z-index : 9999 ; backdrop-filter : blur (4px ); pointer-events : all; }
@@ -93,20 +99,20 @@ body {
9399.btn : active { transform : scale (0.98 ); }
94100.btn-primary { border-color : rgba (249 , 115 , 22 , 0.45 ); background : rgba (249 , 115 , 22 , 0.16 ); color : var (--accent ); }
95101.btn-primary : hover { background : rgba (249 , 115 , 22 , 0.22 ); }
96- .btn-secondary { border-color : rgba (59 , 130 , 246 , 0.35 ); background : rgba (59 , 130 , 246 , 0.12 ); color : var (--accent2 ); }
97- .btn-secondary : hover { background : rgba (59 , 130 , 246 , 0.18 ); }
102+ .btn-secondary { border-color : rgba (249 , 115 , 22 , 0.35 ); background : rgba (249 , 115 , 22 , 0.10 ); color : var (--accent ); }
103+ .btn-secondary : hover { background : rgba (249 , 115 , 22 , 0.18 ); }
98104.btn-danger { border-color : rgba (239 , 68 , 68 , 0.55 ); background : rgba (239 , 68 , 68 , 0.20 ); color : # ef4444 ; }
99105.btn-danger : hover { background : rgba (239 , 68 , 68 , 0.28 ); }
100106.btn : disabled { opacity : 0.5 ; cursor : not-allowed; }
101107
102- .tools-container { flex : 1 ; overflow : auto; padding : 24 px ; position : relative; }
103- .tool-panel { display : none; max-width : 1200 px ; margin : 0 auto ; }
108+ .tools-container { flex : 1 ; overflow : auto; padding : 16 px ; position : relative; }
109+ .tool-panel { display : none; height : 100 % ; }
104110.tool-panel : not ([hidden ]) { display : block; }
105111.online-shell { display : flex; flex-direction : column; gap : 10px ; height : 100% ; min-height : 0 ; }
106- .online-bar { display : flex; align-items : center; gap : 10px ; }
112+ .online-bar { display : flex; align-items : center; gap : 10px ; flex-shrink : 0 ; }
107113.online-controls { display : flex; gap : 6px ; }
108114.online-url { flex : 1 ; min-width : 0 ; padding : 8px 10px ; border-radius : 10px ; background : rgba (255 , 255 , 255 , 0.05 ); border : 1px solid rgba (255 , 255 , 255 , 0.08 ); color : rgba (255 , 255 , 255 , 0.85 ); font-size : 12px ; white-space : nowrap; overflow : hidden; text-overflow : ellipsis; }
109- .online-frame { height : calc ( 100 vh - 220 px ) ; border-radius : 14 px ; overflow : hidden; border : 1px solid rgba (255 , 255 , 255 , 0.08 ); background : rgba (0 , 0 , 0 , 0.2 ); }
115+ .online-frame { flex : 1 ; border-radius : 10 px ; overflow : hidden; border : 1px solid rgba (255 , 255 , 255 , 0.08 ); background : rgba (0 , 0 , 0 , 0.2 ); }
110116# onlineWebview { width : 100% ; height : 100% ; }
111117.panel-actions { display : flex; gap : 10px ; margin-bottom : 20px ; }
112118.status { font-size : 13px ; color : var (--text-secondary ); margin-bottom : 16px ; padding : 8px 12px ; background : var (--panel ); border-radius : 8px ; border : 1px solid var (--border ); }
0 commit comments