ALAMDIENG commited on
Commit
2a982cc
·
1 Parent(s): 77a5abf

fix(layout): resolve top bar flex-wrapping and overlapping bug with responsive mobile rules and clean cache-busting v=5.2.0

Browse files
Files changed (2) hide show
  1. frontend/index.html +2 -2
  2. frontend/style.css +92 -39
frontend/index.html CHANGED
@@ -62,7 +62,7 @@
62
  <!-- Three.js 3D Library -->
63
  <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
64
 
65
- <link rel="stylesheet" href="/static/style.css?v=5.1.0">
66
 
67
  <!-- Schema.org Multi-Type JSON-LD Graph for Rapid Search Indexing -->
68
  <script type="application/ld+json">
@@ -1389,6 +1389,6 @@
1389
  <div id="cursor-ring"></div>
1390
 
1391
  <!-- Scripts -->
1392
- <script src="/static/app.js?v=5.1.0"></script>
1393
  </body>
1394
  </html>
 
62
  <!-- Three.js 3D Library -->
63
  <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
64
 
65
+ <link rel="stylesheet" href="/style.css?v=5.2.0">
66
 
67
  <!-- Schema.org Multi-Type JSON-LD Graph for Rapid Search Indexing -->
68
  <script type="application/ld+json">
 
1389
  <div id="cursor-ring"></div>
1390
 
1391
  <!-- Scripts -->
1392
+ <script src="/app.js?v=5.2.0"></script>
1393
  </body>
1394
  </html>
frontend/style.css CHANGED
@@ -69,22 +69,27 @@ body {
69
  display: flex;
70
  justify-content: space-between;
71
  align-items: center;
72
- height: 64px;
73
- padding: 0 1.8rem;
74
- background: rgba(7, 12, 8, 0.95);
75
- backdrop-filter: blur(24px);
76
- -webkit-backdrop-filter: blur(24px);
77
- border-bottom: 1px solid var(--border-color);
 
78
  position: sticky;
79
  top: 0;
80
- z-index: 999;
81
- box-shadow: 0 4px 25px rgba(0, 0, 0, 0.5);
 
 
 
82
  }
83
 
84
  .top-bar-left {
85
  display: flex;
86
  align-items: center;
87
- gap: 1rem;
 
88
  }
89
 
90
  .top-bar-brand {
@@ -92,11 +97,13 @@ body {
92
  align-items: center;
93
  gap: 8px;
94
  cursor: pointer;
 
95
  }
96
 
97
  .top-bar-brand .logo-text {
98
- font-size: 1.45rem;
99
  line-height: 1;
 
100
  }
101
 
102
  .top-bar-brand .version-tag {
@@ -108,80 +115,126 @@ body {
108
  flex-direction: column;
109
  justify-content: center;
110
  align-items: center;
111
- gap: 5px;
112
- width: 40px;
113
- height: 40px;
114
  background: rgba(255, 255, 255, 0.04);
115
- border: 1px solid var(--border-color);
116
- border-radius: 10px;
117
  cursor: pointer;
118
  padding: 0;
119
- transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
 
120
  }
121
 
122
  .menu-toggle-btn span {
123
  display: block;
124
- width: 20px;
125
  height: 2px;
126
- background: var(--text-main);
127
  border-radius: 2px;
128
- transition: all 0.22s ease;
129
  }
130
 
131
  .menu-toggle-btn:hover {
132
- background: rgba(0, 242, 254, 0.12);
133
- border-color: var(--cyan);
134
- transform: scale(1.04);
135
  }
136
 
137
  .menu-toggle-btn:hover span {
138
- background: var(--cyan);
139
  }
140
 
141
  .top-bar-center {
142
  display: flex;
143
  align-items: center;
 
 
 
 
144
  }
145
 
146
  .active-page-pill {
147
  font-family: var(--font-mono);
148
- font-size: 0.75rem;
149
  font-weight: 700;
150
- letter-spacing: 1.5px;
151
- color: var(--cyan);
152
- background: rgba(0, 242, 254, 0.06);
153
- border: 1px solid rgba(0, 242, 254, 0.2);
154
- padding: 4px 14px;
155
  border-radius: 20px;
156
  text-transform: uppercase;
 
 
 
157
  }
158
 
159
  .top-bar-right {
160
  display: flex;
161
  align-items: center;
162
- gap: 1rem;
 
163
  }
164
 
165
  .top-nav-quick-btn {
166
  display: inline-flex;
167
  align-items: center;
168
  gap: 6px;
169
- padding: 6px 14px;
170
- background: rgba(0, 242, 254, 0.1);
171
- border: 1px solid rgba(0, 242, 254, 0.3);
172
- border-radius: 8px;
173
- color: var(--cyan);
174
  font-family: var(--font-mono);
175
- font-size: 0.75rem;
176
- font-weight: 600;
177
  cursor: pointer;
178
  transition: all 0.2s ease;
 
179
  }
180
 
181
  .top-nav-quick-btn:hover {
182
- background: var(--cyan);
183
  color: #050B08;
184
- box-shadow: 0 0 15px rgba(0, 242, 254, 0.4);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
185
  }
186
 
187
  /* Off-Canvas Sidebar Drawer (All Devices) */
 
69
  display: flex;
70
  justify-content: space-between;
71
  align-items: center;
72
+ height: 58px;
73
+ min-height: 58px;
74
+ padding: 0 1.4rem;
75
+ background: rgba(6, 10, 7, 0.95);
76
+ backdrop-filter: blur(20px);
77
+ -webkit-backdrop-filter: blur(20px);
78
+ border-bottom: 1px solid var(--border-subtle);
79
  position: sticky;
80
  top: 0;
81
+ z-index: 1000;
82
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.6);
83
+ flex-wrap: nowrap;
84
+ box-sizing: border-box;
85
+ width: 100%;
86
  }
87
 
88
  .top-bar-left {
89
  display: flex;
90
  align-items: center;
91
+ gap: 12px;
92
+ flex-shrink: 0;
93
  }
94
 
95
  .top-bar-brand {
 
97
  align-items: center;
98
  gap: 8px;
99
  cursor: pointer;
100
+ user-select: none;
101
  }
102
 
103
  .top-bar-brand .logo-text {
104
+ font-size: 1.3rem;
105
  line-height: 1;
106
+ font-weight: 800;
107
  }
108
 
109
  .top-bar-brand .version-tag {
 
115
  flex-direction: column;
116
  justify-content: center;
117
  align-items: center;
118
+ gap: 4px;
119
+ width: 36px;
120
+ height: 36px;
121
  background: rgba(255, 255, 255, 0.04);
122
+ border: 1px solid var(--border-subtle);
123
+ border-radius: 8px;
124
  cursor: pointer;
125
  padding: 0;
126
+ transition: all 0.2s ease;
127
+ flex-shrink: 0;
128
  }
129
 
130
  .menu-toggle-btn span {
131
  display: block;
132
+ width: 18px;
133
  height: 2px;
134
+ background: var(--text-primary);
135
  border-radius: 2px;
136
+ transition: all 0.2s ease;
137
  }
138
 
139
  .menu-toggle-btn:hover {
140
+ background: rgba(112, 173, 71, 0.15);
141
+ border-color: var(--accent-primary);
 
142
  }
143
 
144
  .menu-toggle-btn:hover span {
145
+ background: var(--accent-primary);
146
  }
147
 
148
  .top-bar-center {
149
  display: flex;
150
  align-items: center;
151
+ justify-content: center;
152
+ flex: 1;
153
+ padding: 0 12px;
154
+ min-width: 0;
155
  }
156
 
157
  .active-page-pill {
158
  font-family: var(--font-mono);
159
+ font-size: 0.72rem;
160
  font-weight: 700;
161
+ letter-spacing: 1px;
162
+ color: var(--accent-primary);
163
+ background: rgba(112, 173, 71, 0.1);
164
+ border: 1px solid rgba(112, 173, 71, 0.3);
165
+ padding: 3px 12px;
166
  border-radius: 20px;
167
  text-transform: uppercase;
168
+ white-space: nowrap;
169
+ overflow: hidden;
170
+ text-overflow: ellipsis;
171
  }
172
 
173
  .top-bar-right {
174
  display: flex;
175
  align-items: center;
176
+ gap: 10px;
177
+ flex-shrink: 0;
178
  }
179
 
180
  .top-nav-quick-btn {
181
  display: inline-flex;
182
  align-items: center;
183
  gap: 6px;
184
+ padding: 6px 12px;
185
+ background: rgba(112, 173, 71, 0.12);
186
+ border: 1px solid rgba(112, 173, 71, 0.4);
187
+ border-radius: 7px;
188
+ color: var(--accent-primary);
189
  font-family: var(--font-mono);
190
+ font-size: 0.72rem;
191
+ font-weight: 700;
192
  cursor: pointer;
193
  transition: all 0.2s ease;
194
+ white-space: nowrap;
195
  }
196
 
197
  .top-nav-quick-btn:hover {
198
+ background: var(--accent-primary);
199
  color: #050B08;
200
+ box-shadow: 0 0 14px rgba(112, 173, 71, 0.4);
201
+ }
202
+
203
+ /* Responsive Top Bar Breakpoints */
204
+ @media (max-width: 768px) {
205
+ .app-top-bar {
206
+ height: 52px;
207
+ min-height: 52px;
208
+ padding: 0 0.85rem;
209
+ }
210
+
211
+ .top-bar-brand .version-tag {
212
+ display: none;
213
+ }
214
+
215
+ .top-bar-brand .logo-text {
216
+ font-size: 1.15rem;
217
+ }
218
+
219
+ .top-bar-right .system-status {
220
+ display: none;
221
+ }
222
+
223
+ .top-nav-quick-btn {
224
+ padding: 5px 8px;
225
+ font-size: 0.68rem;
226
+ }
227
+
228
+ .active-page-pill {
229
+ font-size: 0.62rem;
230
+ padding: 2px 8px;
231
+ }
232
+ }
233
+
234
+ @media (max-width: 480px) {
235
+ .top-bar-center {
236
+ display: none;
237
+ }
238
  }
239
 
240
  /* Off-Canvas Sidebar Drawer (All Devices) */