LokeshReddy001 commited on
Commit
6438d91
·
1 Parent(s): 2c1dd82

Feature: Simplify lobby home screen to a minimal clean layout

Browse files
Files changed (1) hide show
  1. frontend/static/index.html +36 -101
frontend/static/index.html CHANGED
@@ -57,38 +57,29 @@ body {
57
  position: fixed; inset: 0; z-index: 200;
58
  display: flex; align-items: center; justify-content: center;
59
  gap: 0;
60
- background: radial-gradient(ellipse 80% 70% at 50% 30%, #1a0e2a, var(--bg) 75%);
61
  transition: opacity 0.8s cubic-bezier(0.4,0,0.2,1), transform 0.8s cubic-bezier(0.4,0,0.2,1);
62
  }
63
  #lobby.hidden { opacity: 0; transform: scale(0.96); pointer-events: none; }
64
- #lobbyParticles { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
65
 
66
  .lobby-inner {
67
  position: relative; z-index: 1;
68
- display: flex; flex-direction: column; align-items: center; gap: 2.5rem;
69
  }
70
  .lobby-brand {
71
  text-align: center;
72
  }
73
  .lobby-title {
74
- font-family: 'Instrument Serif', serif;
75
- font-size: clamp(52px, 9vw, 96px);
76
- letter-spacing: -3px; line-height: 0.95;
77
- background: linear-gradient(145deg, #fff 0%, #c8c0ff 50%, #ff4655 100%);
78
- -webkit-background-clip: text; -webkit-text-fill-color: transparent;
79
- background-clip: text;
80
- filter: drop-shadow(0 0 40px rgba(180,74,255,0.25));
81
- animation: titleBreath 5s ease-in-out infinite alternate;
82
- }
83
- @keyframes titleBreath {
84
- from { filter: drop-shadow(0 0 30px rgba(180,74,255,0.2)); }
85
- to { filter: drop-shadow(0 0 60px rgba(255,70,85,0.35)); }
86
  }
87
  .lobby-title em {
88
- font-style: italic;
89
- background: linear-gradient(135deg, #ff4655, #b44aff);
90
- -webkit-background-clip: text; -webkit-text-fill-color: transparent;
91
- background-clip: text;
92
  }
93
  .lobby-eyebrow {
94
  margin-top: 10px;
@@ -100,11 +91,9 @@ body {
100
 
101
  .lobby-panel {
102
  width: 380px;
103
- background: rgba(15,15,26,0.7);
104
- backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
105
- border: 1px solid rgba(45,45,82,0.7);
106
- border-radius: 20px; padding: 2rem 1.75rem;
107
- box-shadow: 0 32px 80px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.04);
108
  }
109
  .lobby-section-label {
110
  font-family: 'JetBrains Mono', monospace;
@@ -131,18 +120,17 @@ body {
131
  }
132
  .lobby-row input[type=range]::-webkit-slider-runnable-track {
133
  height: 2px;
134
- background: linear-gradient(90deg, var(--purple), var(--accent), var(--border));
135
  border-radius: 1px;
136
  }
137
  .lobby-row input[type=range]::-webkit-slider-thumb {
138
- -webkit-appearance: none; width: 14px; height: 14px;
139
- border-radius: 50%; background: #fff; border: 2px solid var(--accent);
140
- cursor: pointer; margin-top: -6px;
141
- box-shadow: 0 0 12px var(--accent-glow);
142
- transition: box-shadow 0.2s, transform 0.2s;
143
  }
144
  .lobby-row input[type=range]:hover::-webkit-slider-thumb {
145
- box-shadow: 0 0 24px var(--accent-glow); transform: scale(1.2);
146
  }
147
  .range-val {
148
  font-family: 'JetBrains Mono', monospace;
@@ -171,8 +159,7 @@ body {
171
  transition: border-color 0.2s, box-shadow 0.2s;
172
  }
173
  #systemPromptInput:focus {
174
- border-color: var(--active-tab-color, var(--accent));
175
- box-shadow: 0 0 10px var(--active-tab-glow, var(--accent-glow));
176
  }
177
 
178
  .lobby-prompt-tabs {
@@ -201,10 +188,9 @@ body {
201
  color: var(--text);
202
  }
203
  .lobby-tab.active {
204
- background: var(--surface);
205
- border-color: var(--tab-color, var(--accent));
206
- color: var(--tab-color, var(--accent));
207
- box-shadow: 0 0 8px var(--tab-glow, var(--accent-glow));
208
  }
209
 
210
  .lobby-agent-edit-row {
@@ -221,15 +207,13 @@ body {
221
  transition: border-color 0.2s, box-shadow 0.2s;
222
  }
223
  .lobby-agent-edit-row:focus-within {
224
- border-color: var(--active-tab-color, var(--accent));
225
- box-shadow: 0 0 10px var(--active-tab-glow, var(--accent-glow));
226
  }
227
  .lobby-agent-color-dot {
228
  width: 10px;
229
  height: 10px;
230
  border-radius: 50%;
231
  background: var(--accent);
232
- box-shadow: 0 0 8px var(--accent-glow);
233
  flex-shrink: 0;
234
  transition: all 0.2s ease;
235
  }
@@ -250,31 +234,21 @@ body {
250
 
251
  .lobby-deploy {
252
  width: 100%; margin-top: 24px;
253
- padding: 15px; border: none; border-radius: 12px;
254
- background: linear-gradient(135deg, #b44aff 0%, #ff4655 100%);
255
- color: #fff;
256
  font-family: 'Space Grotesk', sans-serif;
257
- font-size: 13px; font-weight: 700;
258
- text-transform: uppercase; letter-spacing: 0.2em;
259
- cursor: pointer; position: relative; overflow: hidden;
260
- transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
261
- box-shadow: 0 4px 24px rgba(180,74,255,0.4);
262
  }
263
  .lobby-deploy:hover {
264
- transform: translateY(-2px);
265
- box-shadow: 0 8px 40px rgba(255,70,85,0.5);
266
- }
267
- .lobby-deploy:disabled { opacity: 0.4; cursor: not-allowed; transform: none; box-shadow: none; }
268
- .lobby-deploy::after {
269
- content: ''; position: absolute; inset: 0;
270
- background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent);
271
- transform: translateX(-100%);
272
- animation: deployShine 3s ease-in-out infinite;
273
- }
274
- @keyframes deployShine {
275
- 0% { transform: translateX(-100%); }
276
- 35%, 100% { transform: translateX(100%); }
277
  }
 
278
 
279
  .ctrl-btn.warming {
280
  border-color: var(--accent);
@@ -1293,46 +1267,7 @@ const AGENT_COLORS = {
1293
 
1294
  /* ═══════════ LOBBY PARTICLES ═══════════ */
1295
  (function initLobbyParticles() {
1296
- const canvas = document.getElementById('lobbyParticles');
1297
- const ctx = canvas.getContext('2d');
1298
- let particles = [];
1299
- const COUNT = 90;
1300
- function resize() { canvas.width = window.innerWidth; canvas.height = window.innerHeight; }
1301
- resize();
1302
- window.addEventListener('resize', resize);
1303
- const COLORS = ['#b44aff','#ff4655','#4a9eff','#00e5cc'];
1304
- for (let i = 0; i < COUNT; i++) {
1305
- particles.push({
1306
- x: Math.random() * canvas.width,
1307
- y: Math.random() * canvas.height,
1308
- vx: (Math.random()-0.5)*0.3,
1309
- vy: -Math.random()*0.5 - 0.1,
1310
- size: Math.random()*2+0.5,
1311
- alpha: Math.random()*0.35+0.05,
1312
- color: COLORS[Math.floor(Math.random()*COLORS.length)],
1313
- });
1314
- }
1315
- function animate() {
1316
- if (document.getElementById('lobby').classList.contains('hidden')) return;
1317
- requestAnimationFrame(animate);
1318
- ctx.clearRect(0,0,canvas.width,canvas.height);
1319
- particles.forEach(p => {
1320
- p.x += p.vx; p.y += p.vy;
1321
- if (p.y < -10) { p.y = canvas.height+10; p.x = Math.random()*canvas.width; }
1322
- if (p.x < -10 || p.x > canvas.width+10) p.x = Math.random()*canvas.width;
1323
- ctx.beginPath();
1324
- ctx.arc(p.x, p.y, p.size, 0, Math.PI*2);
1325
- ctx.fillStyle = p.color;
1326
- ctx.globalAlpha = p.alpha;
1327
- ctx.fill();
1328
- const g = ctx.createRadialGradient(p.x,p.y,0,p.x,p.y,p.size*4);
1329
- g.addColorStop(0, p.color); g.addColorStop(1,'transparent');
1330
- ctx.beginPath(); ctx.arc(p.x,p.y,p.size*4,0,Math.PI*2);
1331
- ctx.fillStyle = g; ctx.globalAlpha = p.alpha*0.25; ctx.fill();
1332
- });
1333
- ctx.globalAlpha = 1;
1334
- }
1335
- animate();
1336
  })();
1337
 
1338
  const BOT_NAMES = ["Vex", "Nyx", "Kael", "Zara", "Cypher", "Helix", "Apex", "Blaze"];
 
57
  position: fixed; inset: 0; z-index: 200;
58
  display: flex; align-items: center; justify-content: center;
59
  gap: 0;
60
+ background: var(--bg);
61
  transition: opacity 0.8s cubic-bezier(0.4,0,0.2,1), transform 0.8s cubic-bezier(0.4,0,0.2,1);
62
  }
63
  #lobby.hidden { opacity: 0; transform: scale(0.96); pointer-events: none; }
64
+ #lobbyParticles { display: none; }
65
 
66
  .lobby-inner {
67
  position: relative; z-index: 1;
68
+ display: flex; flex-direction: column; align-items: center; gap: 2.0rem;
69
  }
70
  .lobby-brand {
71
  text-align: center;
72
  }
73
  .lobby-title {
74
+ font-family: 'Space Grotesk', sans-serif;
75
+ font-size: clamp(36px, 6vw, 56px);
76
+ font-weight: 500;
77
+ letter-spacing: -1px; line-height: 1.0;
78
+ color: var(--text);
 
 
 
 
 
 
 
79
  }
80
  .lobby-title em {
81
+ font-style: normal;
82
+ color: var(--text-dim);
 
 
83
  }
84
  .lobby-eyebrow {
85
  margin-top: 10px;
 
91
 
92
  .lobby-panel {
93
  width: 380px;
94
+ background: var(--surface);
95
+ border: 1px solid var(--border);
96
+ border-radius: 12px; padding: 2rem 1.75rem;
 
 
97
  }
98
  .lobby-section-label {
99
  font-family: 'JetBrains Mono', monospace;
 
120
  }
121
  .lobby-row input[type=range]::-webkit-slider-runnable-track {
122
  height: 2px;
123
+ background: var(--border2);
124
  border-radius: 1px;
125
  }
126
  .lobby-row input[type=range]::-webkit-slider-thumb {
127
+ -webkit-appearance: none; width: 12px; height: 12px;
128
+ border-radius: 50%; background: var(--text); border: none;
129
+ cursor: pointer; margin-top: -5px;
130
+ transition: transform 0.2s;
 
131
  }
132
  .lobby-row input[type=range]:hover::-webkit-slider-thumb {
133
+ transform: scale(1.15);
134
  }
135
  .range-val {
136
  font-family: 'JetBrains Mono', monospace;
 
159
  transition: border-color 0.2s, box-shadow 0.2s;
160
  }
161
  #systemPromptInput:focus {
162
+ border-color: var(--text-muted);
 
163
  }
164
 
165
  .lobby-prompt-tabs {
 
188
  color: var(--text);
189
  }
190
  .lobby-tab.active {
191
+ background: var(--surface2);
192
+ border-color: var(--text);
193
+ color: var(--text);
 
194
  }
195
 
196
  .lobby-agent-edit-row {
 
207
  transition: border-color 0.2s, box-shadow 0.2s;
208
  }
209
  .lobby-agent-edit-row:focus-within {
210
+ border-color: var(--text-muted);
 
211
  }
212
  .lobby-agent-color-dot {
213
  width: 10px;
214
  height: 10px;
215
  border-radius: 50%;
216
  background: var(--accent);
 
217
  flex-shrink: 0;
218
  transition: all 0.2s ease;
219
  }
 
234
 
235
  .lobby-deploy {
236
  width: 100%; margin-top: 24px;
237
+ padding: 14px; border: 1px solid var(--border); border-radius: 8px;
238
+ background: var(--surface2);
239
+ color: var(--text);
240
  font-family: 'Space Grotesk', sans-serif;
241
+ font-size: 12px; font-weight: 600;
242
+ text-transform: uppercase; letter-spacing: 0.15em;
243
+ cursor: pointer;
244
+ transition: all 0.2s ease;
 
245
  }
246
  .lobby-deploy:hover {
247
+ background: var(--text);
248
+ color: var(--bg);
249
+ border-color: var(--text);
 
 
 
 
 
 
 
 
 
 
250
  }
251
+ .lobby-deploy:disabled { opacity: 0.4; cursor: not-allowed; }
252
 
253
  .ctrl-btn.warming {
254
  border-color: var(--accent);
 
1267
 
1268
  /* ═══════════ LOBBY PARTICLES ═══════════ */
1269
  (function initLobbyParticles() {
1270
+ // Disabled for minimal, clean design
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1271
  })();
1272
 
1273
  const BOT_NAMES = ["Vex", "Nyx", "Kael", "Zara", "Cypher", "Helix", "Apex", "Blaze"];