isaikr 0.0.1

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.
Files changed (51) hide show
  1. package/README.md +35 -0
  2. package/cdn/api.js +19 -0
  3. package/cdn/character.js +254 -0
  4. package/cdn/chat.js +33 -0
  5. package/cdn/code-editor.js +1131 -0
  6. package/cdn/community-compose.js +270 -0
  7. package/cdn/games/2048/index.html +12 -0
  8. package/cdn/games/breakout/index.html +13 -0
  9. package/cdn/games/clicker/index.html +26 -0
  10. package/cdn/games/flappy/index.html +11 -0
  11. package/cdn/games/memory/index.html +34 -0
  12. package/cdn/games/pong/index.html +13 -0
  13. package/cdn/games/reaction/index.html +38 -0
  14. package/cdn/games/runner/index.html +11 -0
  15. package/cdn/games/snake/index.html +11 -0
  16. package/cdn/games/tetris/index.html +14 -0
  17. package/cdn/games/whack/index.html +8 -0
  18. package/cdn/go.js +126 -0
  19. package/cdn/go2.js +127 -0
  20. package/cdn/header3_behavior.js +1167 -0
  21. package/cdn/header3_layout.js +1004 -0
  22. package/cdn/header3_layout.js.bak +1004 -0
  23. package/cdn/header3_style.css +3524 -0
  24. package/cdn/header3_style.css.bak +3514 -0
  25. package/cdn/lang.js +198 -0
  26. package/cdn/loading.js +143 -0
  27. package/cdn/loading2.js +144 -0
  28. package/cdn/local-model.js +2941 -0
  29. package/cdn/main.js +4 -0
  30. package/cdn/main_asset.js +1849 -0
  31. package/cdn/main_asset.js.bak +6999 -0
  32. package/cdn/main_index.css +287 -0
  33. package/cdn/re_board3.css +733 -0
  34. package/cdn/re_board3.js +734 -0
  35. package/cdn/re_chat_tts.js +652 -0
  36. package/cdn/re_local_runtime.js +2246 -0
  37. package/cdn/re_local_runtime.js.bak +2246 -0
  38. package/cdn/re_share.js +577 -0
  39. package/cdn/re_voice.js +542 -0
  40. package/cdn/utils.js +36 -0
  41. package/cdn/view.js +321 -0
  42. package/header3_behavior.js +804 -0
  43. package/header3_layout.js +998 -0
  44. package/header3_style.css +2740 -0
  45. package/index.js +0 -0
  46. package/lang.js +179 -0
  47. package/main_asset.js +2416 -0
  48. package/main_index.css +274 -0
  49. package/package.json +14 -0
  50. package/re_chat_tts.js +1419 -0
  51. package/re_voice.js +430 -0
@@ -0,0 +1,3514 @@
1
+ select, option {
2
+ background-color: #151515 !important;
3
+ color: white !important;
4
+ }
5
+
6
+ select {
7
+ color-scheme: dark;
8
+ appearance: none;
9
+ -webkit-appearance: none;
10
+ }
11
+
12
+ select:focus {
13
+ outline: none !important;
14
+ background-color: #151515 !important;
15
+ box-shadow: none !important;
16
+ }
17
+ select option {
18
+ padding: 10px;
19
+ background: #151515;
20
+ }
21
+
22
+
23
+ * {
24
+ font-family: var(--isai-font-family, "Noto Sans", sans-serif) !important;
25
+ font-weight: 500 !important;
26
+ -webkit-font-smoothing: antialiased;
27
+ }
28
+
29
+ ::-webkit-scrollbar {
30
+ width: 10px;
31
+ height: 10px;
32
+ }
33
+
34
+ ::-webkit-scrollbar-track {
35
+ background: #121212;
36
+ }
37
+
38
+ ::-webkit-scrollbar-thumb {
39
+ background: #333333;
40
+ border-radius: 10px;
41
+ border: 2px solid #121212;
42
+ }
43
+
44
+ ::-webkit-scrollbar-thumb:hover {
45
+ background: #444444;
46
+ }
47
+
48
+ ::-webkit-scrollbar-thumb:active {
49
+ background: #555555;
50
+ }
51
+
52
+ * {
53
+ scrollbar-width: thin;
54
+ scrollbar-color: #333333 #121212;
55
+ }
56
+
57
+ html,
58
+ body {
59
+ margin: 0 !important;
60
+ padding: 0 !important;
61
+ width: 100%;
62
+ height: 100%;
63
+ }
64
+
65
+ body {
66
+ background: radial-gradient(circle at center, #262626 0%, #000000 100%) !important;
67
+ background-attachment: fixed !important;
68
+ color: white !important;
69
+ width: 100%;
70
+ height: 100vh;
71
+ display: flex;
72
+ flex-direction: column;
73
+ }
74
+
75
+ /* Island Box */
76
+ .island-box {
77
+ background: linear-gradient(180deg, #191919 0%, #111111 100%) !important;
78
+ backdrop-filter: blur(10px) !important;
79
+ -webkit-backdrop-filter: blur(10px) !important;
80
+ border: none !important;
81
+ border-radius: 2.5rem 0 0 2.5rem !important;
82
+ box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45) !important;
83
+ transition: all 0.3s ease;
84
+ position: relative;
85
+ overflow: hidden;
86
+ display: flex !important;
87
+ flex-direction: row !important;
88
+ align-items: stretch;
89
+ width: 100%;
90
+ margin-bottom: 5px;
91
+ --menu-rail-space: 88px;
92
+ padding-right: 0;
93
+ min-height: 270px;
94
+ max-height: 270px;
95
+ height: 270px;
96
+ min-width: 0;
97
+ flex: 0 0 auto;
98
+ }
99
+
100
+ /* App Items */
101
+ .app-item, .store-item, .fixed-app-item {
102
+ background: #1a1a1a !important;
103
+ border-radius: 18px !important;
104
+ border: 1px solid rgba(255,255,255,0.05) !important;
105
+ width: 48px; height: 48px;
106
+ display: flex; align-items: center; justify-content: center;
107
+ flex-shrink: 0;
108
+ cursor: pointer;
109
+ transition: all 0.2s;
110
+ }
111
+ .app-item:hover { background: #333 !important; }
112
+
113
+ /* Icons */
114
+ .btn-icon {
115
+ width: 40px; height: 40px;
116
+ border-radius: 14px;
117
+ display: flex; align-items: center; justify-content: center;
118
+ color: #9ca3af !important;
119
+ transition: all 0.2s;
120
+ background: transparent;
121
+ clip-path: inset(0 round 14px);
122
+ }
123
+ .btn-icon:hover, .btn-icon.active {
124
+ color: #ffffff !important;
125
+ background-color: #262626 !important;
126
+ border-radius: 14px !important;
127
+ clip-path: inset(0 round 14px);
128
+ }
129
+ .btn-submit {
130
+ background: white !important;
131
+ color: black !important;
132
+ border-radius: 50%;
133
+ transition: transform 0.2s;
134
+ }
135
+ .btn-submit:active { transform: scale(0.95); }
136
+
137
+ /* Select Pills */
138
+ .select-pill {
139
+ background-color: #000000;
140
+ border: 1px solid rgba(255,255,255,0.15);
141
+ border-radius: 9999px;
142
+ height: 24px;
143
+ display: flex;
144
+ align-items: center;
145
+ padding: 0 10px 0 12px;
146
+ gap: 6px;
147
+ }
148
+ .select-pill i { font-size: 12px; color: #9ca3af; }
149
+ .select-pill select {
150
+ appearance: none; -webkit-appearance: none;
151
+ background: transparent;
152
+ border: none;
153
+ color: white;
154
+ font-size: 11px;
155
+ font-weight: 700;
156
+ outline: none;
157
+ cursor: pointer;
158
+ padding-right: 2px;
159
+ }
160
+ #image-ratio-toggle-btn {
161
+ width: 30px !important;
162
+ height: 30px !important;
163
+ min-width: 30px !important;
164
+ min-height: 30px !important;
165
+ padding: 0 !important;
166
+ border-radius: 9999px !important;
167
+ display: inline-flex !important;
168
+ align-items: center !important;
169
+ justify-content: center !important;
170
+ gap: 0 !important;
171
+ clip-path: circle(50% at 50% 50%);
172
+ overflow: hidden;
173
+ }
174
+ #image-ratio-toggle-btn input[type="hidden"] {
175
+ display: none !important;
176
+ }
177
+ .flag-select {
178
+ position: relative;
179
+ padding: 0 !important;
180
+ min-width: 46px;
181
+ width: 46px;
182
+ overflow: visible;
183
+ }
184
+ .flag-select-trigger {
185
+ width: 100%;
186
+ height: 100%;
187
+ border: 0;
188
+ background: #000000;
189
+ color: #ffffff;
190
+ border-radius: 9999px;
191
+ padding: 0 6px;
192
+ display: inline-flex;
193
+ align-items: center;
194
+ justify-content: center;
195
+ gap: 3px;
196
+ font-size: 11px;
197
+ font-weight: 700;
198
+ cursor: pointer;
199
+ line-height: 1;
200
+ }
201
+ .flag-select-trigger:focus-visible {
202
+ outline: 2px solid rgba(255, 255, 255, 0.24);
203
+ outline-offset: 1px;
204
+ }
205
+ .flag-select-img {
206
+ width: 16px;
207
+ height: 16px;
208
+ border-radius: 9999px;
209
+ object-fit: cover;
210
+ flex: 0 0 16px;
211
+ box-shadow: 0 0 0 1px rgba(255,255,255,0.18);
212
+ }
213
+ .flag-select-label {
214
+ display: none !important;
215
+ }
216
+ .flag-select-caret {
217
+ font-size: 12px !important;
218
+ color: #9ca3af !important;
219
+ margin-left: 1px;
220
+ }
221
+ .flag-select-native {
222
+ position: absolute !important;
223
+ inset: 0 !important;
224
+ width: 1px !important;
225
+ height: 1px !important;
226
+ opacity: 0 !important;
227
+ pointer-events: none !important;
228
+ overflow: hidden !important;
229
+ }
230
+ .flag-select-menu {
231
+ position: absolute;
232
+ top: calc(100% + 8px);
233
+ left: 0;
234
+ right: auto;
235
+ transform: none;
236
+ display: none;
237
+ background: #0f1012;
238
+ border: 1px solid rgba(255,255,255,0.14);
239
+ border-radius: 12px;
240
+ box-shadow: 0 12px 30px rgba(0,0,0,0.35);
241
+ padding: 4px 3px;
242
+ z-index: 360;
243
+ max-height: 210px;
244
+ width: 40px;
245
+ min-width: 40px;
246
+ overflow-y: auto;
247
+ overflow-x: hidden;
248
+ }
249
+ .flag-select-item {
250
+ width: 100%;
251
+ border: 0;
252
+ background: transparent;
253
+ color: rgba(255,255,255,0.9);
254
+ border-radius: 9px;
255
+ height: 32px;
256
+ padding: 0;
257
+ display: flex;
258
+ align-items: center;
259
+ justify-content: center;
260
+ gap: 0;
261
+ cursor: pointer;
262
+ text-align: left;
263
+ font-size: 11px;
264
+ line-height: 1;
265
+ appearance: none;
266
+ -webkit-appearance: none;
267
+ outline: none;
268
+ box-shadow: none !important;
269
+ transform: none !important;
270
+ clip-path: none !important;
271
+ }
272
+ .flag-select-item:hover,
273
+ .flag-select-item.is-active {
274
+ background: transparent !important;
275
+ box-shadow: none !important;
276
+ transform: none !important;
277
+ outline: none !important;
278
+ border: 0 !important;
279
+ }
280
+ .flag-select-item:focus,
281
+ .flag-select-item:focus-visible,
282
+ .flag-select-item:active {
283
+ background: transparent !important;
284
+ box-shadow: none !important;
285
+ transform: none !important;
286
+ outline: none !important;
287
+ border: 0 !important;
288
+ }
289
+ .flag-select-item-code {
290
+ display: none !important;
291
+ }
292
+ .flag-select-item-name {
293
+ display: none !important;
294
+ }
295
+ .flag-select-menu.hidden {
296
+ display: none !important;
297
+ }
298
+ .flag-select-menu:not(.hidden) {
299
+ display: block;
300
+ }
301
+ #translation-right-wrapper .flag-select-menu {
302
+ left: auto;
303
+ right: 0;
304
+ transform: none;
305
+ }
306
+ .flag-select-menu {
307
+ scrollbar-color: rgba(255,255,255,0.22) transparent;
308
+ }
309
+ .flag-select-menu::-webkit-scrollbar {
310
+ width: 4px;
311
+ }
312
+ .flag-select-menu::-webkit-scrollbar-track {
313
+ background: transparent;
314
+ }
315
+ .flag-select-menu::-webkit-scrollbar-thumb {
316
+ background: rgba(255,255,255,0.22);
317
+ border-radius: 9999px;
318
+ }
319
+ #community-tools > label,
320
+ #community-tools > div {
321
+ background: #000000 !important;
322
+ border-color: rgba(255,255,255,0.2) !important;
323
+ }
324
+ #chat-box .text-blue-300 {
325
+ color: #111111 !important;
326
+ }
327
+ #chat-box .translate-result,
328
+ #chat-box .translate-result * {
329
+ color: #111111 !important;
330
+ }
331
+ #btn-submit-left i.animate-spin,
332
+ #btn-voice i.animate-spin,
333
+ #icon-submit-left.animate-spin {
334
+ animation: none !important;
335
+ -webkit-animation: none !important;
336
+ }
337
+ #local-model-tier-wrapper {
338
+ width: max-content;
339
+ max-width: min(calc(100vw - 32px), 420px);
340
+ }
341
+
342
+
343
+ #local-model-tier-list {
344
+ display: flex;
345
+ align-items: center;
346
+ gap: 6px;
347
+ padding: 4px;
348
+ border-radius: 9999px;
349
+ border: 1px solid rgba(255, 255, 255, 0.14);
350
+ background: rgba(10, 10, 11, 0.52);
351
+ backdrop-filter: blur(10px);
352
+ -webkit-backdrop-filter: blur(10px);
353
+ overflow-x: auto;
354
+ overflow-y: hidden;
355
+ white-space: nowrap;
356
+ scrollbar-width: none;
357
+ -ms-overflow-style: none;
358
+ }
359
+ #local-model-tier-list::-webkit-scrollbar {
360
+ display: none;
361
+ }
362
+ .local-model-tier-btn {
363
+ width: 32px;
364
+ height: 32px;
365
+ min-width: 32px;
366
+ min-height: 32px;
367
+ max-width: 32px;
368
+ max-height: 32px;
369
+ border: 1px solid rgba(255, 255, 255, 0.08);
370
+ background: rgba(255, 255, 255, 0.035);
371
+ color: rgba(255, 255, 255, 0.78);
372
+ border-radius: 50%;
373
+ padding: 0;
374
+ font-size: 11px;
375
+ font-weight: 700;
376
+ line-height: 1;
377
+ display: inline-flex;
378
+ align-items: center;
379
+ justify-content: center;
380
+ cursor: pointer;
381
+ flex: 0 0 32px;
382
+ box-sizing: border-box;
383
+ transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
384
+ }
385
+ .local-model-tier-btn:hover {
386
+ background: rgba(255, 255, 255, 0.12);
387
+ border-color: rgba(255, 255, 255, 0.16);
388
+ color: #ffffff;
389
+ }
390
+ .local-model-tier-btn.active {
391
+ background: #ececec;
392
+ border-color: #ececec;
393
+ color: #111111;
394
+ box-shadow: none;
395
+ }
396
+
397
+ /* Store Panel */
398
+ #store-panel {
399
+ max-height: 0;
400
+ overflow: hidden;
401
+ transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
402
+ opacity: 0;
403
+ display: none;
404
+ }
405
+ #store-panel.open {
406
+ display: flex;
407
+ max-height: 500px;
408
+ opacity: 1;
409
+ padding-bottom: 10px;
410
+ margin-bottom: 10px;
411
+ }
412
+
413
+ textarea:focus, input:focus { outline: none !important; }
414
+ #prompt-input { color: #e5e7eb !important; }
415
+ #app-container {
416
+ max-height: 0;
417
+ overflow: hidden;
418
+ transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
419
+ opacity: 0;
420
+ margin-top: 5px;
421
+ display: none;
422
+ }
423
+
424
+ .modal-box {
425
+ background-color: #1a1a1a !important;
426
+ border: 1px solid #333 !important;
427
+ border-radius: 24px !important;
428
+ backdrop-filter: none !important;
429
+ }
430
+ .modal-overlay {
431
+ background-color: rgba(0, 0, 0, 0.85) !important;
432
+ backdrop-filter: none !important;
433
+ }
434
+ #loader-overlay {
435
+ display: none !important;
436
+ opacity: 0;
437
+ pointer-events: none;
438
+ border-radius: inherit !important;
439
+ }
440
+ #loader-overlay.active {
441
+ display: flex !important;
442
+ opacity: 1;
443
+ pointer-events: auto;
444
+ border-radius: inherit !important;
445
+ }
446
+
447
+ .no-scrollbar::-webkit-scrollbar { display: none; }
448
+ .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
449
+ #chat-box {
450
+ width: 100%;
451
+ height: 100%;
452
+ min-height: 0;
453
+ max-height: 100%;
454
+ overflow-y: auto;
455
+ overflow-x: hidden;
456
+ overscroll-behavior: contain;
457
+ -webkit-overflow-scrolling: touch;
458
+ padding: 14px 22px 14px 22px;
459
+ display: flex;
460
+ flex-direction: column;
461
+ justify-content: flex-start;
462
+ gap: 12px;
463
+ flex: 1 1 auto;
464
+ }
465
+ #chat-box > div:first-child:not(.chat-spacer) {
466
+ margin-top: 0 !important;
467
+ }
468
+ .chat-spacer {
469
+ margin-top: auto !important;
470
+ height: 0;
471
+ min-height: 0;
472
+ flex: 0 0 auto;
473
+ pointer-events: none;
474
+ }
475
+ .chat-entry {
476
+ width: 100%;
477
+ display: flex;
478
+ gap: 10px;
479
+ align-items: flex-start;
480
+ animation: fadeIn 0.25s ease;
481
+ }
482
+ .chat-entry.ai-entry { justify-content: flex-start; }
483
+ .chat-entry.user-entry { justify-content: flex-end; }
484
+ .chat-entry-body {
485
+ min-width: 0;
486
+ max-width: min(86%, 520px);
487
+ display: flex;
488
+ flex-direction: column;
489
+ gap: 5px;
490
+ }
491
+ .chat-entry-name {
492
+ display: none !important;
493
+ }
494
+ .chat-entry-avatar,
495
+ .chat-entry-avatar-fallback {
496
+ display: none !important;
497
+ }
498
+ .chat-entry.ai-entry .chat-entry-body {
499
+ max-width: 85% !important;
500
+ }
501
+ .chat-bubble-ai {
502
+ border-radius: 24px;
503
+ background: #ffffff;
504
+ color: #121212;
505
+ padding: 8px 12px;
506
+ line-height: 1.55;
507
+ font-size: 13px;
508
+ border: 1px solid rgba(15, 23, 42, 0.08);
509
+ box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
510
+ word-break: break-word;
511
+ }
512
+ .chat-bubble-image-error {
513
+ width: 58px;
514
+ height: 58px;
515
+ padding: 0 !important;
516
+ border-radius: 24px;
517
+ background: #ffffff;
518
+ color: #111827;
519
+ border: 1px solid rgba(15, 23, 42, 0.08);
520
+ box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
521
+ display: inline-flex;
522
+ align-items: center;
523
+ justify-content: center;
524
+ }
525
+ .image-error-icon {
526
+ position: relative;
527
+ width: 30px;
528
+ height: 30px;
529
+ display: inline-flex;
530
+ align-items: center;
531
+ justify-content: center;
532
+ color: #111827;
533
+ }
534
+ .image-error-icon > i:first-child {
535
+ font-size: 22px;
536
+ opacity: 0.9;
537
+ }
538
+ .image-error-icon-badge {
539
+ position: absolute;
540
+ right: -2px;
541
+ bottom: -1px;
542
+ font-size: 14px;
543
+ color: #ef4444;
544
+ background: #ffffff;
545
+ border-radius: 9999px;
546
+ box-shadow: 0 0 0 2px #ffffff;
547
+ }
548
+ .search-result-bubble {
549
+ background: #ffffff !important;
550
+ color: #111827 !important;
551
+ border: 1px solid rgba(15, 23, 42, 0.12) !important;
552
+ box-shadow: 0 14px 30px rgba(15, 23, 42, 0.12) !important;
553
+ }
554
+ .search-result-bubble p,
555
+ .search-result-bubble li,
556
+ .search-result-bubble strong,
557
+ .search-result-bubble b,
558
+ .search-result-bubble h1,
559
+ .search-result-bubble h2,
560
+ .search-result-bubble h3,
561
+ .search-result-bubble h4,
562
+ .search-result-bubble h5,
563
+ .search-result-bubble h6,
564
+ .search-result-bubble blockquote,
565
+ .search-result-bubble span,
566
+ .search-result-bubble a:not(.search-source-link),
567
+ .search-result-bubble code:not(pre code) {
568
+ color: #111827 !important;
569
+ }
570
+ .search-result-bubble [class*="text-white"],
571
+ .search-result-bubble [class*="text-gray-"],
572
+ .search-result-bubble [class*="text-blue-"] {
573
+ color: #111827 !important;
574
+ }
575
+ .search-result-bubble .code-wrapper pre,
576
+ .search-result-bubble .code-wrapper code,
577
+ .search-result-bubble .code-wrapper span,
578
+ .search-result-bubble .code-wrapper button,
579
+ .search-result-bubble .code-wrapper i {
580
+ color: #e5e7eb !important;
581
+ }
582
+ .search-result-bubble .search-source-link,
583
+ .search-result-bubble .search-source-link span,
584
+ .search-result-bubble .search-source-label {
585
+ color: #111827 !important;
586
+ }
587
+ .chat-bubble-ai ul,
588
+ .chat-bubble-ai ol,
589
+ .chat-bubble-user ul,
590
+ .chat-bubble-user ol {
591
+ margin: 8px 0;
592
+ padding: 0;
593
+ list-style: none;
594
+ }
595
+ .chat-bubble-ai li,
596
+ .chat-bubble-user li {
597
+ display: block;
598
+ margin: 3px 0;
599
+ }
600
+ .chat-bubble-user {
601
+ border-radius: 24px;
602
+ background: #0c0c0c;
603
+ color: #ffffff;
604
+ padding: 8px 12px;
605
+ line-height: 1.55;
606
+ font-size: 13px;
607
+ border: 1px solid rgba(255, 255, 255, 0.1);
608
+ box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
609
+ word-break: break-word;
610
+ }
611
+ /* Force-hide legacy AI avatar/logo block next to bubbles */
612
+ #chat-box > div.group.w-full.items-start > div.relative.flex-shrink-0 {
613
+ display: none !important;
614
+ }
615
+ #chat-box > div.group.w-full.items-start > div.flex.flex-col > span {
616
+ display: none !important;
617
+ }
618
+ #chat-box > div.group.w-full.items-start > div.flex.flex-col {
619
+ max-width: 85% !important;
620
+ }
621
+ .user-entry .chat-entry-body {
622
+ align-items: flex-end;
623
+ }
624
+ #chat-input-shell {
625
+ width: 100%;
626
+ display: flex;
627
+ flex-direction: column;
628
+ align-items: stretch;
629
+ gap: 6px;
630
+ padding: 10px 16px 42px 16px;
631
+ border: none !important;
632
+ position: relative;
633
+ min-height: 82px;
634
+ box-sizing: border-box !important;
635
+ }
636
+ #chat-input-profile {
637
+ position: absolute;
638
+ left: 16px;
639
+ bottom: 10px;
640
+ z-index: 12;
641
+ width: 42px;
642
+ height: 42px;
643
+ border-radius: 9999px;
644
+ overflow: hidden;
645
+ border: none;
646
+ background: #ffffff;
647
+ box-shadow: none;
648
+ }
649
+ #chat-input-profile img {
650
+ width: 100%;
651
+ height: 100%;
652
+ object-fit: cover;
653
+ display: block;
654
+ }
655
+ #chat-input-field {
656
+ width: 100% !important;
657
+ max-width: 100% !important;
658
+ flex: 1 1 auto;
659
+ min-width: 0;
660
+ display: flex;
661
+ flex-direction: column;
662
+ gap: 8px;
663
+ padding: 0 !important;
664
+ order: 2;
665
+ position: relative;
666
+ z-index: 1;
667
+ box-sizing: border-box !important;
668
+ }
669
+ #prompt-attachment-row {
670
+ display: flex;
671
+ align-items: center;
672
+ gap: 8px;
673
+ flex-wrap: wrap;
674
+ min-height: 0;
675
+ padding: 0 76px 0 56px;
676
+ }
677
+ #prompt-attachment-row.hidden {
678
+ display: none !important;
679
+ }
680
+ .prompt-attachment-chip {
681
+ display: inline-flex;
682
+ align-items: center;
683
+ gap: 8px;
684
+ min-height: 24px;
685
+ max-width: 100%;
686
+ padding: 0 8px 0 10px;
687
+ border-radius: 999px;
688
+ border: 1px solid rgba(255,255,255,0.1);
689
+ background: rgba(255,255,255,0.06);
690
+ color: rgba(255,255,255,0.9);
691
+ box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
692
+ }
693
+ .prompt-attachment-chip-icon {
694
+ width: 16px;
695
+ height: 16px;
696
+ border-radius: 999px;
697
+ display: inline-flex;
698
+ align-items: center;
699
+ justify-content: center;
700
+ background: rgba(255,255,255,0.1);
701
+ color: #ffffff;
702
+ font-size: 11px;
703
+ flex: 0 0 auto;
704
+ }
705
+ .prompt-attachment-chip-label {
706
+ min-width: 0;
707
+ max-width: 220px;
708
+ overflow: hidden;
709
+ text-overflow: ellipsis;
710
+ white-space: nowrap;
711
+ font-size: 11px;
712
+ line-height: 1;
713
+ font-weight: 700;
714
+ letter-spacing: 0.01em;
715
+ }
716
+ .prompt-attachment-chip-remove {
717
+ width: 18px;
718
+ height: 18px;
719
+ border-radius: 999px;
720
+ display: inline-flex;
721
+ align-items: center;
722
+ justify-content: center;
723
+ background: transparent;
724
+ color: rgba(255,255,255,0.72);
725
+ transition: all 0.18s ease;
726
+ }
727
+ .prompt-attachment-chip-remove:hover {
728
+ background: rgba(255,255,255,0.1);
729
+ color: #ffffff;
730
+ }
731
+ #prompt-input {
732
+ width: 100% !important;
733
+ max-width: 100% !important;
734
+ background: transparent !important;
735
+ border: none !important;
736
+ outline: none !important;
737
+ resize: none;
738
+ overflow-y: auto !important;
739
+ overflow-x: hidden !important;
740
+ color: #f5f5f5 !important;
741
+ text-align: left !important;
742
+ font-size: 0.9rem;
743
+ line-height: 1.55;
744
+ min-height: 34px;
745
+ max-height: 72px;
746
+ display: block;
747
+ min-width: 0 !important;
748
+ flex: 1 1 auto;
749
+ box-sizing: border-box !important;
750
+ white-space: pre-wrap;
751
+ overflow-wrap: anywhere;
752
+ word-break: break-word;
753
+ padding: 6px 0 0 0 !important;
754
+ }
755
+ #prompt-input::-webkit-scrollbar {
756
+ display: block !important;
757
+ width: 6px !important;
758
+ height: 6px !important;
759
+ }
760
+ #prompt-input::-webkit-scrollbar-track {
761
+ background: transparent !important;
762
+ }
763
+ #prompt-input::-webkit-scrollbar-thumb {
764
+ background: rgba(255,255,255,0.22) !important;
765
+ border-radius: 999px !important;
766
+ }
767
+ #chat-input-actions {
768
+ position: absolute;
769
+ order: 1;
770
+ width: auto;
771
+ top: auto !important;
772
+ left: auto !important;
773
+ right: 16px;
774
+ bottom: 12px;
775
+ display: flex;
776
+ align-items: center;
777
+ justify-content: flex-end;
778
+ gap: 3px;
779
+ z-index: 12;
780
+ padding: 3px 5px;
781
+ border-radius: 9999px;
782
+ background: rgba(10, 10, 11, 0.96);
783
+ border: 1px solid rgba(255,255,255,.08) !important;
784
+ backdrop-filter: blur(14px);
785
+ -webkit-backdrop-filter: blur(14px);
786
+ box-shadow: 0 14px 34px rgba(0,0,0,.34);
787
+ pointer-events: auto;
788
+ overflow: hidden;
789
+ }
790
+ #recent-mode-actions {
791
+ display: inline-flex;
792
+ align-items: center;
793
+ gap: 3px;
794
+ flex-wrap: nowrap;
795
+ justify-content: flex-end;
796
+ max-width: none;
797
+ overflow: visible;
798
+ }
799
+ #recent-mode-actions.hidden {
800
+ display: none !important;
801
+ }
802
+ #chat-input-actions .input-action-btn {
803
+ position: relative;
804
+ width: 24px;
805
+ height: 24px;
806
+ min-width: 24px;
807
+ min-height: 24px;
808
+ border-radius: 9999px;
809
+ border: 1px solid rgba(255,255,255,.08) !important;
810
+ background: rgba(255,255,255,.035);
811
+ color: rgba(255,255,255,.82);
812
+ display: inline-flex;
813
+ align-items: center;
814
+ justify-content: center;
815
+ transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
816
+ backdrop-filter: blur(8px);
817
+ -webkit-backdrop-filter: blur(8px);
818
+ box-shadow: none;
819
+ pointer-events: auto;
820
+ overflow: hidden;
821
+ flex: 0 0 auto;
822
+ }
823
+ #chat-input-actions .input-action-btn i,
824
+ #chat-input-actions #btn-submit i,
825
+ #chat-input-actions #icon-submit,
826
+ #chat-input-actions .ri-arrow-up-s-line,
827
+ #chat-input-actions .ri-square-fill {
828
+ font-size: 13px !important;
829
+ line-height: 1 !important;
830
+ }
831
+ #chat-input-actions .input-action-btn::after {
832
+ content: "";
833
+ position: absolute;
834
+ inset: 1px;
835
+ border-radius: inherit;
836
+ background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0));
837
+ opacity: .5;
838
+ pointer-events: none;
839
+ }
840
+ #chat-input-actions .input-action-btn:hover {
841
+ background: rgba(255,255,255,.12);
842
+ border-color: rgba(255,255,255,.16) !important;
843
+ color: #fff;
844
+ }
845
+ #chat-input-actions #btn-submit {
846
+ width: 24px;
847
+ height: 24px;
848
+ background: rgba(255,255,255,.035) !important;
849
+ color: #ffffff !important;
850
+ border-radius: 9999px !important;
851
+ clip-path: circle(50% at 50% 50%);
852
+ overflow: hidden;
853
+ }
854
+ #chat-input-actions #btn-submit,
855
+ #chat-input-actions #btn-submit i,
856
+ #chat-input-actions #btn-submit #icon-submit,
857
+ #chat-input-actions #btn-submit .ri-arrow-up-s-line,
858
+ #chat-input-actions #btn-submit .ri-square-fill {
859
+ color: #ffffff !important;
860
+ fill: #ffffff !important;
861
+ }
862
+ #chat-input-actions #btn-submit.stop-mode,
863
+ #chat-input-actions #btn-submit.is-generating {
864
+ border-radius: 9999px !important;
865
+ clip-path: circle(50% at 50% 50%);
866
+ background: rgba(255,255,255,.12) !important;
867
+ border-color: rgba(255,255,255,.16) !important;
868
+ color: #ffffff !important;
869
+ }
870
+ #chat-input-actions #btn-continue-writing {
871
+ width: 24px;
872
+ height: 24px;
873
+ background: rgba(255,255,255,.035) !important;
874
+ color: #f5d37a !important;
875
+ }
876
+ #chat-input-actions #btn-continue-writing:hover {
877
+ background: rgba(255,255,255,.12) !important;
878
+ border-color: rgba(255,255,255,.16) !important;
879
+ color: #ffe49e !important;
880
+ }
881
+ #chat-input-actions .recent-mode-btn {
882
+ background: rgba(255,255,255,.035) !important;
883
+ border-color: rgba(255,255,255,.08) !important;
884
+ color: rgba(255,255,255,.82) !important;
885
+ opacity: 1;
886
+ }
887
+ #chat-input-actions .recent-mode-btn:hover {
888
+ background: rgba(255,255,255,.12) !important;
889
+ border-color: rgba(255,255,255,.16) !important;
890
+ color: #fff !important;
891
+ }
892
+ #chat-input-actions .recent-mode-btn img {
893
+ width: 16px;
894
+ height: 16px;
895
+ object-fit: contain;
896
+ display: block;
897
+ }
898
+ .island-box:fullscreen,
899
+ .island-box:-webkit-full-screen {
900
+ width: 100vw !important;
901
+ height: 100dvh !important;
902
+ min-height: 100dvh !important;
903
+ max-height: 100dvh !important;
904
+ border-radius: 0 !important;
905
+ margin: 0 !important;
906
+ padding: 0 !important;
907
+ display: grid !important;
908
+ grid-template-columns: minmax(0, 1fr) 58px !important;
909
+ grid-template-rows: minmax(0, 1fr) !important;
910
+ align-items: stretch !important;
911
+ justify-items: stretch !important;
912
+ overflow: hidden !important;
913
+ }
914
+ .island-box:fullscreen #chat-main-stack,
915
+ .island-box:-webkit-full-screen #chat-main-stack {
916
+ grid-column: 1 !important;
917
+ grid-row: 1 !important;
918
+ width: auto !important;
919
+ min-width: 0 !important;
920
+ max-width: none !important;
921
+ min-height: 0 !important;
922
+ height: 100% !important;
923
+ max-height: 100% !important;
924
+ flex: 1 1 auto !important;
925
+ padding-right: 0 !important;
926
+ box-sizing: border-box !important;
927
+ }
928
+ .island-box:fullscreen #top-zone,
929
+ .island-box:-webkit-full-screen #top-zone {
930
+ display: flex !important;
931
+ flex-direction: column !important;
932
+ flex: 1 1 auto !important;
933
+ min-height: 0 !important;
934
+ max-height: none !important;
935
+ }
936
+ .island-box:fullscreen #chat-box,
937
+ .island-box:-webkit-full-screen #chat-box {
938
+ flex: 1 1 auto !important;
939
+ min-height: 0 !important;
940
+ max-height: none !important;
941
+ height: 100% !important;
942
+ padding: 16px !important;
943
+ }
944
+ .island-box:fullscreen #chat-side-ad,
945
+ .island-box:-webkit-full-screen #chat-side-ad {
946
+ display: none !important;
947
+ }
948
+ .island-box:fullscreen #board-right-rail,
949
+ .island-box:-webkit-full-screen #board-right-rail {
950
+ display: none !important;
951
+ }
952
+ .island-box:fullscreen #right-panel,
953
+ .island-box:-webkit-full-screen #right-panel {
954
+ display: none !important;
955
+ }
956
+ .island-box:fullscreen #toolbar-area,
957
+ .island-box:-webkit-full-screen #toolbar-area {
958
+ grid-column: 2 !important;
959
+ grid-row: 1 !important;
960
+ width: 58px !important;
961
+ min-width: 58px !important;
962
+ max-width: 58px !important;
963
+ min-height: 100% !important;
964
+ height: 100% !important;
965
+ max-height: 100% !important;
966
+ align-self: stretch !important;
967
+ justify-self: stretch !important;
968
+ border-left: 1px solid rgba(255, 255, 255, 0.08) !important;
969
+ border-top: none !important;
970
+ padding: 10px 6px calc(10px + env(safe-area-inset-bottom)) 6px !important;
971
+ overflow: hidden !important;
972
+ }
973
+ .island-box:fullscreen #store-panel,
974
+ .island-box:fullscreen #app-container,
975
+ .island-box:-webkit-full-screen #store-panel,
976
+ .island-box:-webkit-full-screen #app-container {
977
+ display: none !important;
978
+ }
979
+ .island-box:fullscreen #chat-input-shell,
980
+ .island-box:-webkit-full-screen #chat-input-shell {
981
+ padding-bottom: calc(42px + env(safe-area-inset-bottom)) !important;
982
+ }
983
+ .island-box:fullscreen #chat-input-actions,
984
+ .island-box:-webkit-full-screen #chat-input-actions {
985
+ right: 16px !important;
986
+ bottom: calc(12px + env(safe-area-inset-bottom)) !important;
987
+ left: auto !important;
988
+ top: auto !important;
989
+ }
990
+ body.mode-code .island-box:fullscreen,
991
+ body.mode-code .island-box:-webkit-full-screen,
992
+ body[data-ui-mode="code"] .island-box:fullscreen,
993
+ body[data-ui-mode="code"] .island-box:-webkit-full-screen {
994
+ grid-template-rows: minmax(0, 1fr) minmax(260px, 42vh) !important;
995
+ }
996
+ body.mode-code .island-box:fullscreen #chat-main-stack,
997
+ body.mode-code .island-box:-webkit-full-screen #chat-main-stack,
998
+ body[data-ui-mode="code"] .island-box:fullscreen #chat-main-stack,
999
+ body[data-ui-mode="code"] .island-box:-webkit-full-screen #chat-main-stack {
1000
+ grid-column: 1 !important;
1001
+ grid-row: 1 !important;
1002
+ display: flex !important;
1003
+ height: auto !important;
1004
+ min-height: 0 !important;
1005
+ max-height: none !important;
1006
+ }
1007
+ body.mode-code .island-box:fullscreen #toolbar-area,
1008
+ body.mode-code .island-box:-webkit-full-screen #toolbar-area,
1009
+ body[data-ui-mode="code"] .island-box:fullscreen #toolbar-area,
1010
+ body[data-ui-mode="code"] .island-box:-webkit-full-screen #toolbar-area {
1011
+ grid-column: 2 !important;
1012
+ grid-row: 1 / span 2 !important;
1013
+ height: 100% !important;
1014
+ min-height: 100% !important;
1015
+ max-height: 100% !important;
1016
+ }
1017
+ body.mode-code .island-box:fullscreen #right-panel,
1018
+ body.mode-code .island-box:-webkit-full-screen #right-panel,
1019
+ body[data-ui-mode="code"] .island-box:fullscreen #right-panel,
1020
+ body[data-ui-mode="code"] .island-box:-webkit-full-screen #right-panel {
1021
+ grid-column: 1 !important;
1022
+ grid-row: 2 !important;
1023
+ display: flex !important;
1024
+ width: 100% !important;
1025
+ min-width: 0 !important;
1026
+ max-width: 100% !important;
1027
+ height: auto !important;
1028
+ min-height: 260px !important;
1029
+ max-height: 42vh !important;
1030
+ opacity: 1 !important;
1031
+ visibility: visible !important;
1032
+ overflow: hidden !important;
1033
+ border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
1034
+ }
1035
+ @media (min-width: 901px) {
1036
+ .island-box:fullscreen,
1037
+ .island-box:-webkit-full-screen {
1038
+ grid-template-columns: minmax(0, 1fr) 74px !important;
1039
+ }
1040
+ .island-box:fullscreen #toolbar-area,
1041
+ .island-box:-webkit-full-screen #toolbar-area {
1042
+ width: 74px !important;
1043
+ min-width: 74px !important;
1044
+ max-width: 74px !important;
1045
+ padding: 10px 8px calc(10px + env(safe-area-inset-bottom)) 8px !important;
1046
+ overflow-y: auto !important;
1047
+ overflow-x: visible !important;
1048
+ box-sizing: border-box !important;
1049
+ scrollbar-gutter: stable both-edges !important;
1050
+ }
1051
+ .island-box:fullscreen #toolbar-main-controls #icon-scroll-wrapper,
1052
+ .island-box:-webkit-full-screen #toolbar-main-controls #icon-scroll-wrapper {
1053
+ width: 100% !important;
1054
+ overflow: visible !important;
1055
+ }
1056
+ .island-box:fullscreen #toolbar-main-controls #icon-scroll-container,
1057
+ .island-box:-webkit-full-screen #toolbar-main-controls #icon-scroll-container {
1058
+ overflow-x: visible !important;
1059
+ overflow-y: visible !important;
1060
+ }
1061
+ }
1062
+ #prompt-input::placeholder {
1063
+ color: transparent !important;
1064
+ opacity: 0 !important;
1065
+ }
1066
+ #prompt-input::-webkit-input-placeholder {
1067
+ color: transparent !important;
1068
+ opacity: 0 !important;
1069
+ }
1070
+ #prompt-input::-moz-placeholder {
1071
+ color: transparent !important;
1072
+ opacity: 0 !important;
1073
+ }
1074
+ #prompt-input:-ms-input-placeholder {
1075
+ color: transparent !important;
1076
+ opacity: 0 !important;
1077
+ }
1078
+
1079
+ /* Mask & Scroll Dot */
1080
+ #icon-scroll-wrapper {
1081
+ mask-image: linear-gradient(to right, black 0%, black 90%, transparent 100%);
1082
+ -webkit-mask-image: linear-gradient(to right, black 0%, black 90%, transparent 100%);
1083
+ }
1084
+ #scroll-dot {
1085
+ background-color: #ffffff;
1086
+ box-shadow: 0 0 8px rgba(255, 255, 255, 0.8), 0 0 4px rgba(255,255,255,1);
1087
+ transition: left 0.1s ease-out;
1088
+ }
1089
+
1090
+ #middle-zone {
1091
+ display: flex;
1092
+ flex-direction: row;
1093
+ justify-content: center;
1094
+ gap: 12px;
1095
+ width: 100%;
1096
+ max-width: min(100%, 1180px);
1097
+ margin: 0 auto;
1098
+ min-height: 0;
1099
+ align-items: stretch;
1100
+ flex: 1;
1101
+ padding: 24px 12px;
1102
+ box-sizing: border-box;
1103
+ }
1104
+ #custom-scrollbar {
1105
+ display: none !important;
1106
+ }
1107
+ body:not(.started) #left-panel {
1108
+ justify-content: flex-start !important;
1109
+ }
1110
+ body:not(.started) #middle-zone,
1111
+ body.started #middle-zone {
1112
+ justify-content: stretch !important;
1113
+ align-items: stretch !important;
1114
+ }
1115
+ body:not(.started) #chat-main-stack {
1116
+ flex: 1 1 auto !important;
1117
+ min-height: 0 !important;
1118
+ }
1119
+ body:not(.started) #top-zone {
1120
+ flex: 1 1 auto !important;
1121
+ opacity: 1 !important;
1122
+ height: auto !important;
1123
+ min-height: 0 !important;
1124
+ padding: 0 !important;
1125
+ overflow: hidden !important;
1126
+ }
1127
+ body.started #top-zone {
1128
+ padding: 0 !important;
1129
+ }
1130
+ #chat-main-stack {
1131
+ position: relative;
1132
+ display: flex;
1133
+ flex-direction: column;
1134
+ flex: 1 1 auto;
1135
+ width: auto;
1136
+ min-width: 0;
1137
+ max-width: none;
1138
+ min-height: 270px;
1139
+ height: 270px;
1140
+ max-height: 270px;
1141
+ padding: 0 0 4px 0;
1142
+ box-sizing: border-box;
1143
+ }
1144
+ #top-zone {
1145
+ display: flex;
1146
+ flex-direction: column;
1147
+ position: relative;
1148
+ width: 100%;
1149
+ max-width: none;
1150
+ margin: 0;
1151
+ min-height: 0;
1152
+ max-height: 100%;
1153
+ flex: 1 1 auto;
1154
+ padding-top: 0;
1155
+ overflow: hidden;
1156
+ }
1157
+ #tts-controls {
1158
+ width: 100%;
1159
+ flex: 0 0 auto;
1160
+ order: 1;
1161
+ padding: 12px 14px 0 14px;
1162
+ box-sizing: border-box;
1163
+ }
1164
+ #tts-controls:not(.hidden) {
1165
+ display: flex;
1166
+ flex-direction: column;
1167
+ flex: 1 1 auto;
1168
+ min-height: 0;
1169
+ height: 100%;
1170
+ overflow-y: auto;
1171
+ }
1172
+ .tts-panel {
1173
+ display: flex;
1174
+ flex-direction: column;
1175
+ gap: 8px;
1176
+ padding: 10px;
1177
+ border-radius: 20px;
1178
+ background: rgba(255, 255, 255, 0.04);
1179
+ border: 1px solid rgba(255, 255, 255, 0.08);
1180
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
1181
+ max-height: none;
1182
+ min-height: 100%;
1183
+ height: 100%;
1184
+ flex: 1 1 auto;
1185
+ overflow: visible;
1186
+ }
1187
+ #chat-main-stack.settings-mode {
1188
+ min-height: 100% !important;
1189
+ height: 100% !important;
1190
+ max-height: none !important;
1191
+ padding-bottom: 0 !important;
1192
+ }
1193
+ #chat-main-stack.settings-mode #top-zone {
1194
+ flex: 1 1 auto !important;
1195
+ height: 100% !important;
1196
+ min-height: 0 !important;
1197
+ max-height: none !important;
1198
+ overflow: hidden !important;
1199
+ }
1200
+ #chat-main-stack.settings-mode #tts-controls {
1201
+ flex: 1 1 auto !important;
1202
+ height: 100% !important;
1203
+ min-height: 0 !important;
1204
+ padding: 10px 12px 12px 12px !important;
1205
+ }
1206
+ #chat-main-stack.settings-mode .tts-panel {
1207
+ flex: 1 1 auto !important;
1208
+ height: 100% !important;
1209
+ min-height: 100% !important;
1210
+ overflow-y: auto !important;
1211
+ scrollbar-width: thin !important;
1212
+ scrollbar-color: rgba(255,255,255,0.22) transparent !important;
1213
+ scrollbar-gutter: stable both-edges;
1214
+ }
1215
+ #chat-main-stack.settings-mode #tts-controls::-webkit-scrollbar,
1216
+ #chat-main-stack.settings-mode .tts-panel::-webkit-scrollbar {
1217
+ display: block !important;
1218
+ width: 6px !important;
1219
+ }
1220
+ #chat-main-stack.settings-mode #tts-controls::-webkit-scrollbar-track,
1221
+ #chat-main-stack.settings-mode .tts-panel::-webkit-scrollbar-track {
1222
+ background: transparent !important;
1223
+ }
1224
+ #chat-main-stack.settings-mode #tts-controls::-webkit-scrollbar-thumb,
1225
+ #chat-main-stack.settings-mode .tts-panel::-webkit-scrollbar-thumb {
1226
+ background: rgba(255,255,255,0.22) !important;
1227
+ border-radius: 999px !important;
1228
+ }
1229
+ #chat-main-stack.settings-mode #chat-box,
1230
+ #chat-main-stack.settings-mode #chat-input-shell,
1231
+ #chat-main-stack.settings-mode #active-app-status,
1232
+ #chat-main-stack.settings-mode #comm-img-preview-box {
1233
+ display: none !important;
1234
+ }
1235
+ .tts-panel-head {
1236
+ display: flex;
1237
+ align-items: center;
1238
+ justify-content: space-between;
1239
+ gap: 10px;
1240
+ }
1241
+ .tts-panel-head-main {
1242
+ min-width: 0;
1243
+ display: flex;
1244
+ align-items: center;
1245
+ gap: 8px;
1246
+ flex: 1 1 auto;
1247
+ }
1248
+ .tts-panel-badge {
1249
+ width: 38px;
1250
+ height: 38px;
1251
+ border-radius: 14px;
1252
+ flex: 0 0 38px;
1253
+ display: inline-flex;
1254
+ align-items: center;
1255
+ justify-content: center;
1256
+ background: rgba(255, 255, 255, 0.08);
1257
+ border: 1px solid rgba(255, 255, 255, 0.08);
1258
+ color: #ffffff;
1259
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
1260
+ }
1261
+ .tts-panel-badge i {
1262
+ font-size: 16px;
1263
+ }
1264
+ .tts-panel-copy {
1265
+ min-width: 0;
1266
+ display: flex;
1267
+ flex-direction: column;
1268
+ gap: 2px;
1269
+ }
1270
+ .tts-panel-kicker {
1271
+ display: inline-flex;
1272
+ align-items: center;
1273
+ gap: 6px;
1274
+ font-size: 10px;
1275
+ font-weight: 700;
1276
+ letter-spacing: 0.18em;
1277
+ text-transform: uppercase;
1278
+ color: rgba(255, 255, 255, 0.52);
1279
+ }
1280
+ .tts-panel-kicker i {
1281
+ font-size: 12px;
1282
+ letter-spacing: normal;
1283
+ }
1284
+ .tts-panel-title {
1285
+ font-size: 12px;
1286
+ line-height: 1.2;
1287
+ font-weight: 700;
1288
+ color: #ffffff;
1289
+ letter-spacing: 0.14em;
1290
+ text-transform: uppercase;
1291
+ }
1292
+ #tts-helper-text {
1293
+ font-size: 12px;
1294
+ line-height: 1.55;
1295
+ color: rgba(255, 255, 255, 0.62);
1296
+ }
1297
+ .tts-download-btn {
1298
+ flex-shrink: 0;
1299
+ width: 38px;
1300
+ height: 38px;
1301
+ min-width: 38px;
1302
+ min-height: 38px;
1303
+ padding: 0;
1304
+ border-radius: 14px;
1305
+ display: inline-flex;
1306
+ align-items: center;
1307
+ justify-content: center;
1308
+ gap: 0;
1309
+ background: #ffffff;
1310
+ color: #111111;
1311
+ border: none;
1312
+ font-size: 12px;
1313
+ font-weight: 700;
1314
+ transition: transform 0.2s ease, opacity 0.2s ease;
1315
+ text-align: center;
1316
+ }
1317
+ .tts-download-btn:disabled {
1318
+ opacity: 0.6;
1319
+ cursor: wait;
1320
+ }
1321
+ .tts-meta-grid {
1322
+ display: grid;
1323
+ grid-template-columns: repeat(4, minmax(0, 1fr));
1324
+ gap: 7px;
1325
+ }
1326
+ .tts-meta-item {
1327
+ padding: 8px 6px;
1328
+ border-radius: 18px;
1329
+ background: rgba(255, 255, 255, 0.04);
1330
+ border: 1px solid rgba(255, 255, 255, 0.06);
1331
+ display: flex;
1332
+ flex-direction: column;
1333
+ align-items: center;
1334
+ justify-content: center;
1335
+ gap: 6px;
1336
+ min-width: 0;
1337
+ min-height: 76px;
1338
+ text-align: center;
1339
+ }
1340
+ .tts-meta-icon {
1341
+ width: 32px;
1342
+ height: 32px;
1343
+ border-radius: 12px;
1344
+ flex: 0 0 32px;
1345
+ display: inline-flex;
1346
+ align-items: center;
1347
+ justify-content: center;
1348
+ background: rgba(255, 255, 255, 0.08);
1349
+ color: rgba(255, 255, 255, 0.92);
1350
+ border: 1px solid rgba(255,255,255,0.06);
1351
+ }
1352
+ .tts-meta-icon i {
1353
+ font-size: 14px;
1354
+ }
1355
+ .tts-meta-copy {
1356
+ min-width: 0;
1357
+ display: flex;
1358
+ flex-direction: column;
1359
+ gap: 3px;
1360
+ align-items: center;
1361
+ }
1362
+ .tts-meta-copy span {
1363
+ font-size: 10px;
1364
+ text-transform: uppercase;
1365
+ letter-spacing: 0.14em;
1366
+ color: rgba(255, 255, 255, 0.38);
1367
+ }
1368
+ .tts-meta-copy strong {
1369
+ font-size: 11px;
1370
+ line-height: 1.15;
1371
+ color: #ffffff;
1372
+ white-space: nowrap;
1373
+ overflow: hidden;
1374
+ text-overflow: ellipsis;
1375
+ max-width: 100%;
1376
+ }
1377
+ .tts-control-group {
1378
+ display: flex;
1379
+ flex-direction: column;
1380
+ gap: 6px;
1381
+ }
1382
+ .assistant-settings-grid {
1383
+ display: flex;
1384
+ flex-direction: column;
1385
+ gap: 8px;
1386
+ }
1387
+ .assistant-settings-field {
1388
+ display: flex;
1389
+ flex-direction: column;
1390
+ gap: 6px;
1391
+ padding: 8px;
1392
+ border-radius: 18px;
1393
+ background: rgba(255,255,255,0.03);
1394
+ border: 1px solid rgba(255,255,255,0.06);
1395
+ }
1396
+ .assistant-settings-label {
1397
+ display: inline-flex;
1398
+ align-items: center;
1399
+ gap: 8px;
1400
+ font-size: 11px;
1401
+ font-weight: 700;
1402
+ color: rgba(255,255,255,0.88);
1403
+ }
1404
+ .assistant-settings-label i {
1405
+ width: 22px;
1406
+ height: 22px;
1407
+ border-radius: 9px;
1408
+ display: inline-flex;
1409
+ align-items: center;
1410
+ justify-content: center;
1411
+ background: rgba(255,255,255,0.08);
1412
+ border: 1px solid rgba(255,255,255,0.08);
1413
+ font-size: 12px;
1414
+ }
1415
+ .assistant-settings-help {
1416
+ font-size: 11px;
1417
+ line-height: 1.45;
1418
+ color: rgba(255,255,255,0.48);
1419
+ }
1420
+ .assistant-settings-textarea {
1421
+ width: 100%;
1422
+ min-height: 72px;
1423
+ border-radius: 16px;
1424
+ border: 1px solid rgba(255,255,255,0.08);
1425
+ background: rgba(255,255,255,0.04);
1426
+ color: #ffffff;
1427
+ padding: 10px 12px;
1428
+ font-size: 12px;
1429
+ line-height: 1.45;
1430
+ resize: vertical;
1431
+ outline: none;
1432
+ box-sizing: border-box;
1433
+ }
1434
+ .assistant-settings-textarea::placeholder {
1435
+ color: rgba(255,255,255,0.28);
1436
+ }
1437
+ .tts-control-heading {
1438
+ display: inline-flex;
1439
+ align-items: center;
1440
+ gap: 8px;
1441
+ font-size: 10px;
1442
+ text-transform: uppercase;
1443
+ letter-spacing: 0.16em;
1444
+ color: rgba(255, 255, 255, 0.38);
1445
+ }
1446
+ .tts-control-heading i {
1447
+ width: 22px;
1448
+ height: 22px;
1449
+ border-radius: 9px;
1450
+ display: inline-flex;
1451
+ align-items: center;
1452
+ justify-content: center;
1453
+ background: rgba(255,255,255,0.08);
1454
+ border: 1px solid rgba(255,255,255,0.08);
1455
+ font-size: 12px;
1456
+ letter-spacing: normal;
1457
+ }
1458
+ .tts-chip-list {
1459
+ display: flex;
1460
+ gap: 6px;
1461
+ overflow-x: auto;
1462
+ overflow-y: hidden;
1463
+ padding-bottom: 2px;
1464
+ }
1465
+ .tts-chip {
1466
+ display: inline-flex;
1467
+ flex-direction: column;
1468
+ align-items: center;
1469
+ justify-content: center;
1470
+ gap: 6px;
1471
+ flex: 0 0 auto;
1472
+ min-width: 64px;
1473
+ width: 64px;
1474
+ min-height: 64px;
1475
+ padding: 8px 6px;
1476
+ border-radius: 18px;
1477
+ background: rgba(255, 255, 255, 0.04);
1478
+ border: 1px solid rgba(255, 255, 255, 0.08);
1479
+ color: rgba(255, 255, 255, 0.82);
1480
+ transition: all 0.2s ease;
1481
+ }
1482
+ .tts-chip.active {
1483
+ background: #ffffff;
1484
+ border-color: #ffffff;
1485
+ color: #111111;
1486
+ }
1487
+ .tts-chip-icon {
1488
+ width: 30px;
1489
+ height: 30px;
1490
+ border-radius: 12px;
1491
+ flex: 0 0 30px;
1492
+ display: inline-flex;
1493
+ align-items: center;
1494
+ justify-content: center;
1495
+ background: rgba(255, 255, 255, 0.08);
1496
+ border: 1px solid rgba(255,255,255,0.06);
1497
+ color: inherit;
1498
+ }
1499
+ .tts-chip.active .tts-chip-icon {
1500
+ background: rgba(17, 17, 17, 0.08);
1501
+ border-color: rgba(17, 17, 17, 0.06);
1502
+ }
1503
+ .tts-chip-icon i {
1504
+ font-size: 14px;
1505
+ }
1506
+ .tts-chip-main {
1507
+ display: flex;
1508
+ flex-direction: column;
1509
+ gap: 1px;
1510
+ align-items: center;
1511
+ justify-content: center;
1512
+ min-width: 0;
1513
+ max-width: 100%;
1514
+ }
1515
+ .tts-chip-main small {
1516
+ font-size: 9px;
1517
+ text-transform: uppercase;
1518
+ letter-spacing: 0.14em;
1519
+ opacity: 0.6;
1520
+ }
1521
+ .tts-chip-main strong {
1522
+ font-size: 10px;
1523
+ font-weight: 700;
1524
+ line-height: 1.15;
1525
+ text-align: center;
1526
+ display: block;
1527
+ max-width: 100%;
1528
+ white-space: nowrap;
1529
+ overflow: hidden;
1530
+ text-overflow: ellipsis;
1531
+ }
1532
+ .tts-slider-grid {
1533
+ display: grid;
1534
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1535
+ gap: 8px;
1536
+ }
1537
+ .tts-slider-item {
1538
+ display: flex;
1539
+ flex-direction: column;
1540
+ gap: 8px;
1541
+ min-width: 0;
1542
+ padding: 8px;
1543
+ border-radius: 18px;
1544
+ background: rgba(255,255,255,0.03);
1545
+ border: 1px solid rgba(255,255,255,0.06);
1546
+ }
1547
+ .tts-slider-item label {
1548
+ display: flex;
1549
+ align-items: center;
1550
+ justify-content: space-between;
1551
+ gap: 8px;
1552
+ font-size: 10px;
1553
+ text-transform: uppercase;
1554
+ letter-spacing: 0.14em;
1555
+ color: rgba(255, 255, 255, 0.38);
1556
+ }
1557
+ .tts-slider-label-main {
1558
+ display: inline-flex;
1559
+ align-items: center;
1560
+ gap: 8px;
1561
+ }
1562
+ .tts-slider-label-main i {
1563
+ width: 22px;
1564
+ height: 22px;
1565
+ border-radius: 9px;
1566
+ display: inline-flex;
1567
+ align-items: center;
1568
+ justify-content: center;
1569
+ background: rgba(255,255,255,0.08);
1570
+ border: 1px solid rgba(255,255,255,0.08);
1571
+ font-size: 12px;
1572
+ letter-spacing: normal;
1573
+ }
1574
+ .tts-slider-item strong {
1575
+ font-size: 11px;
1576
+ color: #ffffff;
1577
+ letter-spacing: normal;
1578
+ text-transform: none;
1579
+ }
1580
+ .tts-slider-item input[type="range"] {
1581
+ width: 100%;
1582
+ accent-color: #ffffff;
1583
+ }
1584
+ #chat-main-stack.settings-mode .tts-panel-kicker,
1585
+ #chat-main-stack.settings-mode #tts-helper-text,
1586
+ #chat-main-stack.settings-mode .assistant-settings-help,
1587
+ #chat-main-stack.settings-mode .assistant-settings-label span,
1588
+ #chat-main-stack.settings-mode .tts-control-heading span,
1589
+ #chat-main-stack.settings-mode .tts-meta-copy span,
1590
+ #chat-main-stack.settings-mode .tts-chip-main small,
1591
+ #chat-main-stack.settings-mode #tts-download-label,
1592
+ #chat-main-stack.settings-mode .tts-slider-label-main span:last-child {
1593
+ display: none !important;
1594
+ }
1595
+ #chat-main-stack.settings-mode .tts-panel-head {
1596
+ margin-bottom: 2px;
1597
+ }
1598
+ #chat-main-stack.settings-mode .tts-panel-copy {
1599
+ justify-content: center;
1600
+ }
1601
+ #chat-main-stack.settings-mode .assistant-settings-label,
1602
+ #chat-main-stack.settings-mode .tts-control-heading {
1603
+ gap: 0;
1604
+ }
1605
+ #chat-main-stack.settings-mode .assistant-settings-label i,
1606
+ #chat-main-stack.settings-mode .tts-control-heading i {
1607
+ width: 24px;
1608
+ height: 24px;
1609
+ border-radius: 12px;
1610
+ }
1611
+ #chat-main-stack.settings-mode .assistant-settings-textarea {
1612
+ min-height: 68px;
1613
+ }
1614
+ #chat-main-stack.settings-mode .tts-panel,
1615
+ #chat-main-stack.settings-mode .assistant-settings-field,
1616
+ #chat-main-stack.settings-mode .assistant-settings-textarea,
1617
+ #chat-main-stack.settings-mode .tts-meta-item,
1618
+ #chat-main-stack.settings-mode .tts-slider-item,
1619
+ #chat-main-stack.settings-mode .tts-chip,
1620
+ #chat-main-stack.settings-mode .tts-panel-badge,
1621
+ #chat-main-stack.settings-mode .tts-meta-icon,
1622
+ #chat-main-stack.settings-mode .tts-chip-icon,
1623
+ #chat-main-stack.settings-mode .assistant-settings-label i,
1624
+ #chat-main-stack.settings-mode .tts-control-heading i,
1625
+ #chat-main-stack.settings-mode .tts-slider-label-main i {
1626
+ background: transparent !important;
1627
+ box-shadow: none !important;
1628
+ }
1629
+ #chat-main-stack.settings-mode .tts-chip.active {
1630
+ background: transparent !important;
1631
+ border-color: rgba(255, 255, 255, 0.24) !important;
1632
+ color: #ffffff !important;
1633
+ }
1634
+ #chat-main-stack.settings-mode .tts-chip.active .tts-chip-icon {
1635
+ background: transparent !important;
1636
+ border-color: rgba(255, 255, 255, 0.24) !important;
1637
+ color: #ffffff !important;
1638
+ }
1639
+ #chat-main-stack.menu-mode {
1640
+ min-height: 100% !important;
1641
+ height: 100% !important;
1642
+ max-height: none !important;
1643
+ padding-bottom: 0 !important;
1644
+ }
1645
+ #chat-main-stack.menu-mode #top-zone {
1646
+ display: none !important;
1647
+ flex: 0 0 auto !important;
1648
+ width: 100% !important;
1649
+ height: 0 !important;
1650
+ min-height: 0 !important;
1651
+ max-height: 0 !important;
1652
+ padding: 0 !important;
1653
+ margin: 0 !important;
1654
+ overflow: hidden !important;
1655
+ opacity: 0 !important;
1656
+ visibility: hidden !important;
1657
+ }
1658
+ #chat-main-stack.menu-mode #chat-box,
1659
+ #chat-main-stack.menu-mode #chat-input-shell,
1660
+ #chat-main-stack.menu-mode #active-app-status,
1661
+ #chat-main-stack.menu-mode #comm-img-preview-box,
1662
+ #chat-main-stack.menu-mode #tts-controls,
1663
+ #chat-main-stack.menu-mode #app-container {
1664
+ display: none !important;
1665
+ }
1666
+ #chat-main-stack.menu-mode #store-panel {
1667
+ display: flex !important;
1668
+ flex: 1 1 auto !important;
1669
+ width: 100% !important;
1670
+ height: 100% !important;
1671
+ min-height: 0 !important;
1672
+ max-height: none !important;
1673
+ opacity: 1 !important;
1674
+ overflow: hidden !important;
1675
+ padding: 12px !important;
1676
+ margin: 0 !important;
1677
+ }
1678
+ #chat-main-stack.menu-mode #store-panel > .flex.flex-col {
1679
+ display: flex !important;
1680
+ flex: 1 1 auto !important;
1681
+ min-height: 0 !important;
1682
+ height: 100% !important;
1683
+ }
1684
+ #chat-main-stack.menu-mode #fixed-apps-list,
1685
+ #chat-main-stack.menu-mode #store-category-filters,
1686
+ #chat-main-stack.menu-mode #store-loader {
1687
+ flex: 0 0 auto;
1688
+ }
1689
+ #chat-main-stack.menu-mode #store-grid {
1690
+ flex: 1 1 auto !important;
1691
+ min-height: 0 !important;
1692
+ overflow-y: auto !important;
1693
+ overflow-x: hidden !important;
1694
+ display: flex !important;
1695
+ flex-wrap: wrap !important;
1696
+ align-content: flex-start !important;
1697
+ gap: 10px !important;
1698
+ padding: 6px 2px 8px 0 !important;
1699
+ scrollbar-width: thin;
1700
+ scrollbar-color: rgba(255,255,255,0.22) transparent;
1701
+ }
1702
+ #chat-main-stack.menu-mode #store-grid::-webkit-scrollbar {
1703
+ width: 6px;
1704
+ }
1705
+ #chat-main-stack.menu-mode #store-grid::-webkit-scrollbar-track {
1706
+ background: transparent;
1707
+ }
1708
+ #chat-main-stack.menu-mode #store-grid::-webkit-scrollbar-thumb {
1709
+ background: rgba(255,255,255,0.22);
1710
+ border-radius: 999px;
1711
+ }
1712
+ #chat-main-stack.menu-mode .store-item {
1713
+ width: 48px !important;
1714
+ height: 48px !important;
1715
+ border-radius: 16px !important;
1716
+ }
1717
+ #active-app-status { order: 2; }
1718
+ #chat-box { order: 2; }
1719
+ #comm-img-preview-box { order: 22; }
1720
+ #store-panel { order: 30; }
1721
+ #app-container { order: 31; }
1722
+ #store-panel,
1723
+ #app-container,
1724
+ #comm-img-preview-box,
1725
+ #active-app-status {
1726
+ width: 100%;
1727
+ margin-right: 0;
1728
+ }
1729
+ #chat-input-shell {
1730
+ width: 100%;
1731
+ margin-right: 0;
1732
+ order: 20;
1733
+ margin-top: auto;
1734
+ padding-bottom: 10px;
1735
+ }
1736
+ #toolbar-area {
1737
+ position: relative;
1738
+ right: auto;
1739
+ top: auto;
1740
+ bottom: auto;
1741
+ display: flex;
1742
+ flex-direction: column;
1743
+ width: 74px;
1744
+ min-width: 74px;
1745
+ height: 270px;
1746
+ min-height: 270px;
1747
+ padding: 10px 6px !important;
1748
+ border-top: none !important;
1749
+ border-left: 1px solid rgba(255, 255, 255, 0.08);
1750
+ background: transparent;
1751
+ z-index: 20;
1752
+ align-self: stretch;
1753
+ box-sizing: border-box;
1754
+ overflow-y: auto !important;
1755
+ overflow-x: hidden !important;
1756
+ scrollbar-width: thin !important;
1757
+ scrollbar-color: rgba(255, 255, 255, 0.22) transparent !important;
1758
+ -ms-overflow-style: auto !important;
1759
+ scrollbar-gutter: stable both-edges;
1760
+ align-items: center;
1761
+ justify-content: flex-start;
1762
+ }
1763
+ #toolbar-area::-webkit-scrollbar {
1764
+ display: block !important;
1765
+ width: 5px !important;
1766
+ }
1767
+ #toolbar-area::-webkit-scrollbar-track {
1768
+ background: transparent !important;
1769
+ }
1770
+ #toolbar-area::-webkit-scrollbar-thumb {
1771
+ background: rgba(255, 255, 255, 0.2) !important;
1772
+ border-radius: 9999px !important;
1773
+ }
1774
+ #toolbar-area::-webkit-scrollbar-thumb:hover {
1775
+ background: rgba(255, 255, 255, 0.32) !important;
1776
+ }
1777
+ #toolbar-main-controls {
1778
+ width: 100%;
1779
+ flex: 0 0 auto;
1780
+ height: auto;
1781
+ min-height: auto;
1782
+ display: flex;
1783
+ flex-direction: column;
1784
+ align-items: center;
1785
+ justify-content: flex-start;
1786
+ gap: 10px;
1787
+ }
1788
+ #toolbar-area > #toolbar-scroll-indicator {
1789
+ width: 100%;
1790
+ margin: 8px 0 0 0 !important;
1791
+ flex: 0 0 auto;
1792
+ display: flex;
1793
+ align-items: center;
1794
+ justify-content: center;
1795
+ box-sizing: border-box;
1796
+ }
1797
+ #toolbar-main-controls .btn-icon {
1798
+ width: 28px;
1799
+ height: 28px;
1800
+ margin-right: 0 !important;
1801
+ flex-shrink: 0;
1802
+ border-radius: 12px !important;
1803
+ clip-path: inset(0 round 12px);
1804
+ }
1805
+ #toolbar-main-controls > #toolbar-scroll-indicator {
1806
+ width: 100%;
1807
+ margin: auto 0 0 0 !important;
1808
+ display: flex;
1809
+ align-items: center;
1810
+ justify-content: center;
1811
+ box-sizing: border-box;
1812
+ }
1813
+ #btn-menu {
1814
+ width: 40px !important;
1815
+ height: 40px !important;
1816
+ min-width: 40px !important;
1817
+ min-height: 40px !important;
1818
+ max-width: 40px !important;
1819
+ max-height: 40px !important;
1820
+ border-radius: 12px !important;
1821
+ margin: 0 auto !important;
1822
+ margin-right: 0 !important;
1823
+ flex-shrink: 0 !important;
1824
+ display: flex !important;
1825
+ align-items: center !important;
1826
+ justify-content: center !important;
1827
+ padding: 0 !important;
1828
+ aspect-ratio: 1 / 1 !important;
1829
+ background: rgba(255, 255, 255, 0.08) !important;
1830
+ clip-path: inset(0 round 12px);
1831
+ }
1832
+ #btn-menu:hover,
1833
+ #btn-menu.active,
1834
+ #btn-menu.menu-open {
1835
+ border-radius: 12px !important;
1836
+ clip-path: inset(0 round 12px);
1837
+ }
1838
+ #btn-menu.menu-open {
1839
+ background: #ececec !important;
1840
+ color: #111111 !important;
1841
+ box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
1842
+ }
1843
+ #btn-menu.menu-open i {
1844
+ color: #111111 !important;
1845
+ }
1846
+ #btn-submit-left {
1847
+ width: 38px !important;
1848
+ height: 38px !important;
1849
+ min-width: 38px !important;
1850
+ min-height: 38px !important;
1851
+ max-width: 38px !important;
1852
+ max-height: 38px !important;
1853
+ border-radius: 12px !important;
1854
+ margin: 0 auto !important;
1855
+ flex-shrink: 0 !important;
1856
+ display: flex !important;
1857
+ align-items: center !important;
1858
+ justify-content: center !important;
1859
+ clip-path: inset(0 round 12px);
1860
+ }
1861
+ #toolbar-main-controls #icon-scroll-wrapper {
1862
+ flex: 0 0 auto;
1863
+ width: 100%;
1864
+ min-height: 0;
1865
+ height: auto;
1866
+ margin: 0 !important;
1867
+ mask-image: none !important;
1868
+ -webkit-mask-image: none !important;
1869
+ overflow: visible !important;
1870
+ display: flex;
1871
+ align-items: flex-start;
1872
+ justify-content: flex-start;
1873
+ box-sizing: border-box;
1874
+ }
1875
+ #toolbar-main-controls #icon-scroll-wrapper::-webkit-scrollbar {
1876
+ display: none !important;
1877
+ }
1878
+ #toolbar-main-controls #icon-scroll-container {
1879
+ width: 100%;
1880
+ min-height: 0;
1881
+ height: auto;
1882
+ overflow: visible !important;
1883
+ display: flex !important;
1884
+ flex-direction: column !important;
1885
+ align-items: center !important;
1886
+ justify-content: flex-start !important;
1887
+ gap: 12px !important;
1888
+ padding: 6px 0 14px !important;
1889
+ margin: 0 auto !important;
1890
+ box-sizing: border-box;
1891
+ }
1892
+ #toolbar-main-controls #icon-scroll-container > button {
1893
+ align-self: center !important;
1894
+ margin-left: auto !important;
1895
+ margin-right: auto !important;
1896
+ }
1897
+ #toolbar-main-controls #btn-submit {
1898
+ width: 42px !important;
1899
+ height: 42px !important;
1900
+ margin-left: 0 !important;
1901
+ margin-top: 6px;
1902
+ flex-shrink: 0;
1903
+ }
1904
+ #music-duration-wrapper,
1905
+ #translation-right-wrapper {
1906
+ right: 12px !important;
1907
+ }
1908
+ #toolbar-scroll-indicator {
1909
+ display: none !important;
1910
+ }
1911
+ #chat-side-ad {
1912
+ width: 324px;
1913
+ min-width: 324px;
1914
+ height: 270px;
1915
+ min-height: 270px;
1916
+ max-height: none;
1917
+ background: #ffffff;
1918
+ color: #e5e7eb;
1919
+ border: none;
1920
+ border-radius: 0;
1921
+ overflow: visible;
1922
+ display: flex;
1923
+ flex-direction: column;
1924
+ align-self: stretch;
1925
+ border-left: 1px solid rgba(255, 255, 255, 0.08);
1926
+ flex: 0 0 324px;
1927
+ justify-content: center;
1928
+ align-items: center;
1929
+ }
1930
+ .island-box {
1931
+ width: 100%;
1932
+ min-width: 0;
1933
+ max-width: 100%;
1934
+ display: grid !important;
1935
+ grid-template-columns: minmax(0, 1fr) 74px 324px 74px;
1936
+ grid-template-rows: 270px minmax(0, auto);
1937
+ align-items: stretch;
1938
+ justify-items: stretch;
1939
+ }
1940
+ #chat-main-stack {
1941
+ grid-column: 1;
1942
+ grid-row: 1;
1943
+ }
1944
+ #toolbar-area {
1945
+ grid-column: 2;
1946
+ grid-row: 1;
1947
+ }
1948
+ #chat-side-ad-body {
1949
+ flex: 1 1 auto;
1950
+ height: 270px;
1951
+ min-height: 270px;
1952
+ display: flex;
1953
+ flex-direction: column;
1954
+ align-items: center;
1955
+ justify-content: center;
1956
+ padding: 9px 11px;
1957
+ box-sizing: border-box;
1958
+ gap: 0;
1959
+ background: #ffffff;
1960
+ overflow: visible;
1961
+ width: 100%;
1962
+ }
1963
+ .chat-ad-frame {
1964
+ width: 300px;
1965
+ height: 250px;
1966
+ min-width: 0;
1967
+ min-height: 250px;
1968
+ max-width: 300px;
1969
+ display: flex;
1970
+ align-items: center;
1971
+ justify-content: center;
1972
+ overflow: visible;
1973
+ margin: 0 auto;
1974
+ position: relative;
1975
+ transform-origin: center center;
1976
+ box-sizing: content-box;
1977
+ padding: 1px;
1978
+ }
1979
+ .chat-ad-frame > iframe,
1980
+ .chat-ad-frame > object,
1981
+ .chat-ad-frame > embed,
1982
+ .chat-ad-frame > img,
1983
+ .chat-ad-frame iframe,
1984
+ .chat-ad-frame object,
1985
+ .chat-ad-frame embed,
1986
+ .chat-ad-frame img {
1987
+ display: block !important;
1988
+ margin: 0 auto !important;
1989
+ }
1990
+ .chat-ad-frame > img,
1991
+ .chat-ad-frame img {
1992
+ object-fit: contain;
1993
+ }
1994
+ #chat-side-ad-body > * {
1995
+ max-width: 100% !important;
1996
+ box-sizing: border-box !important;
1997
+ }
1998
+ @media (max-width: 1180px) {
1999
+ #middle-zone {
2000
+ max-width: 100% !important;
2001
+ padding: 18px 8px !important;
2002
+ }
2003
+ .island-box {
2004
+ width: 100% !important;
2005
+ min-width: 0 !important;
2006
+ max-width: 100% !important;
2007
+ grid-template-columns: minmax(0, 1fr) 74px 324px 74px !important;
2008
+ }
2009
+ #chat-main-stack {
2010
+ width: auto !important;
2011
+ min-width: 0 !important;
2012
+ max-width: none !important;
2013
+ }
2014
+ }
2015
+ @media (max-width: 1180px) and (min-width: 901px) {
2016
+ .island-box {
2017
+ grid-template-columns: minmax(0, 1fr) 74px !important;
2018
+ grid-template-rows: 270px 270px minmax(0, auto) !important;
2019
+ }
2020
+ #chat-main-stack {
2021
+ grid-column: 1 !important;
2022
+ grid-row: 1 !important;
2023
+ }
2024
+ #toolbar-area {
2025
+ grid-column: 2 !important;
2026
+ grid-row: 1 !important;
2027
+ width: 74px !important;
2028
+ min-width: 74px !important;
2029
+ max-width: 74px !important;
2030
+ }
2031
+ #chat-side-ad {
2032
+ grid-column: 1 !important;
2033
+ grid-row: 2 !important;
2034
+ width: auto !important;
2035
+ min-width: 0 !important;
2036
+ max-width: 100% !important;
2037
+ flex: 1 1 auto !important;
2038
+ height: 270px !important;
2039
+ min-height: 270px !important;
2040
+ max-height: 270px !important;
2041
+ justify-self: stretch !important;
2042
+ align-self: stretch !important;
2043
+ }
2044
+ #board-right-rail {
2045
+ grid-column: 2 !important;
2046
+ grid-row: 2 !important;
2047
+ width: 74px !important;
2048
+ min-width: 74px !important;
2049
+ max-width: 74px !important;
2050
+ min-height: 270px !important;
2051
+ max-height: 270px !important;
2052
+ }
2053
+ #right-panel {
2054
+ grid-column: 1 / span 2 !important;
2055
+ grid-row: 3 !important;
2056
+ width: 100% !important;
2057
+ min-width: 0 !important;
2058
+ max-width: 100% !important;
2059
+ }
2060
+ }
2061
+ #board-right-rail {
2062
+ grid-column: 4;
2063
+ grid-row: 1;
2064
+ width: 74px;
2065
+ min-width: 74px;
2066
+ max-width: 74px;
2067
+ min-height: 270px;
2068
+ align-self: stretch;
2069
+ background: #ffffff;
2070
+ border: 1px solid rgba(0, 0, 0, 0.08);
2071
+ box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
2072
+ overflow: hidden;
2073
+ display: flex;
2074
+ flex-direction: column;
2075
+ }
2076
+ #board-right-rail-scroll {
2077
+ width: 100%;
2078
+ height: 100%;
2079
+ overflow-y: auto;
2080
+ overflow-x: hidden;
2081
+ display: flex;
2082
+ flex-direction: column;
2083
+ align-items: center;
2084
+ justify-content: flex-start;
2085
+ gap: 10px;
2086
+ padding: 12px 0;
2087
+ scrollbar-width: thin;
2088
+ scrollbar-color: rgba(0, 0, 0, 0.24) transparent;
2089
+ scrollbar-gutter: stable;
2090
+ box-sizing: border-box;
2091
+ }
2092
+ #board-right-rail-scroll::-webkit-scrollbar {
2093
+ width: 6px;
2094
+ display: block;
2095
+ }
2096
+ #board-right-rail-scroll::-webkit-scrollbar-track {
2097
+ background: transparent;
2098
+ margin: 4px 0;
2099
+ }
2100
+ #board-right-rail-scroll::-webkit-scrollbar-thumb {
2101
+ background: rgba(0, 0, 0, 0.24);
2102
+ border-radius: 999px;
2103
+ }
2104
+ #board-right-rail-scroll::-webkit-scrollbar-thumb:hover {
2105
+ background: rgba(0, 0, 0, 0.38);
2106
+ }
2107
+ .board-rail-btn {
2108
+ width: 40px;
2109
+ height: 40px;
2110
+ border-radius: 14px;
2111
+ color: #5f5f5f;
2112
+ background: transparent;
2113
+ display: flex;
2114
+ align-items: center;
2115
+ justify-content: center;
2116
+ flex-shrink: 0;
2117
+ transition: all 0.2s ease;
2118
+ }
2119
+ .board-rail-btn:hover,
2120
+ .board-rail-btn.active {
2121
+ color: #111111;
2122
+ background: rgba(0, 0, 0, 0.06);
2123
+ }
2124
+ .board-rail-btn img {
2125
+ display: block;
2126
+ object-fit: contain;
2127
+ }
2128
+ #chat-side-ad {
2129
+ grid-column: 3;
2130
+ grid-row: 1;
2131
+ }
2132
+ body.mode-code #left-panel {
2133
+ flex: 1 1 auto !important;
2134
+ width: 100% !important;
2135
+ max-width: 100% !important;
2136
+ height: auto !important;
2137
+ min-height: 0 !important;
2138
+ }
2139
+ body.mode-code #middle-zone,
2140
+ body.mode-code .island-box {
2141
+ height: auto !important;
2142
+ min-height: 0 !important;
2143
+ max-height: none !important;
2144
+ }
2145
+ body.mode-code .island-box {
2146
+ overflow: hidden !important;
2147
+ }
2148
+ @media (min-width: 901px) {
2149
+ body.mode-code #main-layout,
2150
+ body.mode-code #left-panel,
2151
+ body.mode-code #middle-zone {
2152
+ height: auto !important;
2153
+ min-height: 0 !important;
2154
+ max-height: none !important;
2155
+ overflow: visible !important;
2156
+ }
2157
+ body.mode-code .island-box {
2158
+ grid-template-rows: 270px minmax(320px, auto) !important;
2159
+ min-height: 590px !important;
2160
+ height: auto !important;
2161
+ max-height: none !important;
2162
+ overflow: visible !important;
2163
+ }
2164
+ body.mode-code #chat-main-stack {
2165
+ grid-column: 1 !important;
2166
+ grid-row: 1 !important;
2167
+ display: flex !important;
2168
+ min-height: 270px !important;
2169
+ height: 270px !important;
2170
+ max-height: 270px !important;
2171
+ }
2172
+ body.mode-code #toolbar-area {
2173
+ grid-column: 2 !important;
2174
+ grid-row: 1 !important;
2175
+ min-height: 270px !important;
2176
+ height: 270px !important;
2177
+ max-height: 270px !important;
2178
+ }
2179
+ body.mode-code #chat-side-ad {
2180
+ grid-column: 3 !important;
2181
+ grid-row: 1 !important;
2182
+ }
2183
+ body.mode-code #board-right-rail {
2184
+ grid-column: 4 !important;
2185
+ grid-row: 1 !important;
2186
+ }
2187
+ body.mode-code #top-zone {
2188
+ display: flex !important;
2189
+ flex-direction: column !important;
2190
+ flex: 1 1 auto !important;
2191
+ min-height: 0 !important;
2192
+ max-height: none !important;
2193
+ visibility: visible !important;
2194
+ opacity: 1 !important;
2195
+ overflow-y: auto !important;
2196
+ overflow-x: hidden !important;
2197
+ }
2198
+ body.mode-code #chat-box {
2199
+ display: flex !important;
2200
+ flex: 1 1 auto !important;
2201
+ min-height: 0 !important;
2202
+ max-height: 100% !important;
2203
+ visibility: visible !important;
2204
+ opacity: 1 !important;
2205
+ }
2206
+ body.mode-code #chat-input-shell {
2207
+ display: flex !important;
2208
+ visibility: visible !important;
2209
+ opacity: 1 !important;
2210
+ }
2211
+ }
2212
+ @media (min-width: 1181px) {
2213
+ body.mode-code .island-box {
2214
+ grid-template-columns: minmax(0, 1fr) 74px 324px 74px !important;
2215
+ grid-template-rows: 270px minmax(320px, auto) !important;
2216
+ min-height: 590px !important;
2217
+ height: auto !important;
2218
+ max-height: none !important;
2219
+ overflow: visible !important;
2220
+ }
2221
+ body.mode-code #chat-main-stack {
2222
+ grid-column: 1 !important;
2223
+ grid-row: 1 !important;
2224
+ display: flex !important;
2225
+ min-height: 270px !important;
2226
+ height: 270px !important;
2227
+ max-height: 270px !important;
2228
+ }
2229
+ body.mode-code #toolbar-area {
2230
+ grid-column: 2 !important;
2231
+ grid-row: 1 !important;
2232
+ min-height: 270px !important;
2233
+ height: 270px !important;
2234
+ max-height: 270px !important;
2235
+ }
2236
+ body.mode-code #chat-side-ad {
2237
+ grid-column: 3 !important;
2238
+ grid-row: 1 !important;
2239
+ }
2240
+ body.mode-code #board-right-rail {
2241
+ grid-column: 4 !important;
2242
+ grid-row: 1 !important;
2243
+ }
2244
+ body.mode-code #right-panel {
2245
+ grid-column: 1 / span 4 !important;
2246
+ grid-row: 2 !important;
2247
+ width: 100% !important;
2248
+ min-width: 0 !important;
2249
+ max-width: 100% !important;
2250
+ display: flex !important;
2251
+ opacity: 1 !important;
2252
+ min-height: 320px !important;
2253
+ max-height: 520px !important;
2254
+ overflow: hidden !important;
2255
+ }
2256
+ }
2257
+ @media (max-width: 1180px) and (min-width: 901px) {
2258
+ body.mode-code .island-box {
2259
+ grid-template-columns: minmax(0, 1fr) 74px !important;
2260
+ grid-template-rows: 270px 270px minmax(320px, auto) !important;
2261
+ min-height: 860px !important;
2262
+ height: auto !important;
2263
+ max-height: none !important;
2264
+ overflow: visible !important;
2265
+ }
2266
+ body.mode-code #chat-main-stack {
2267
+ grid-column: 1 !important;
2268
+ grid-row: 1 !important;
2269
+ display: flex !important;
2270
+ min-height: 270px !important;
2271
+ height: 270px !important;
2272
+ max-height: 270px !important;
2273
+ }
2274
+ body.mode-code #toolbar-area {
2275
+ grid-column: 2 !important;
2276
+ grid-row: 1 !important;
2277
+ width: 74px !important;
2278
+ min-width: 74px !important;
2279
+ max-width: 74px !important;
2280
+ min-height: 270px !important;
2281
+ height: 270px !important;
2282
+ max-height: 270px !important;
2283
+ }
2284
+ body.mode-code #chat-side-ad {
2285
+ grid-column: 1 !important;
2286
+ grid-row: 2 !important;
2287
+ width: auto !important;
2288
+ min-width: 0 !important;
2289
+ max-width: 100% !important;
2290
+ flex: 1 1 auto !important;
2291
+ height: 270px !important;
2292
+ min-height: 270px !important;
2293
+ max-height: 270px !important;
2294
+ justify-self: stretch !important;
2295
+ align-self: stretch !important;
2296
+ display: flex !important;
2297
+ }
2298
+ body.mode-code #board-right-rail {
2299
+ grid-column: 2 !important;
2300
+ grid-row: 2 !important;
2301
+ width: 74px !important;
2302
+ min-width: 74px !important;
2303
+ max-width: 74px !important;
2304
+ min-height: 270px !important;
2305
+ max-height: 270px !important;
2306
+ display: flex !important;
2307
+ }
2308
+ body.mode-code #right-panel {
2309
+ grid-column: 1 / span 2 !important;
2310
+ grid-row: 3 !important;
2311
+ width: 100% !important;
2312
+ min-width: 0 !important;
2313
+ max-width: 100% !important;
2314
+ display: flex !important;
2315
+ opacity: 1 !important;
2316
+ min-height: 320px !important;
2317
+ max-height: 520px !important;
2318
+ overflow: hidden !important;
2319
+ }
2320
+ }
2321
+ #right-panel {
2322
+ grid-column: 1 / span 3;
2323
+ grid-row: 2;
2324
+ position: relative !important;
2325
+ top: auto !important;
2326
+ left: auto !important;
2327
+ right: auto !important;
2328
+ bottom: auto !important;
2329
+ width: 100%;
2330
+ min-width: 0;
2331
+ max-width: 100%;
2332
+ height: auto !important;
2333
+ flex-direction: column;
2334
+ border-left: none !important;
2335
+ border-top: 1px solid rgba(255, 255, 255, 0.06);
2336
+ background: #080808 !important;
2337
+ padding: 0 !important;
2338
+ margin: 0 !important;
2339
+ transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease;
2340
+ }
2341
+ #desktop-code-panel-host {
2342
+ display: none;
2343
+ width: 100%;
2344
+ min-width: 0;
2345
+ }
2346
+ .code-panel-head {
2347
+ display: flex;
2348
+ align-items: center;
2349
+ justify-content: space-between;
2350
+ gap: 12px;
2351
+ padding: 12px 14px 10px 14px;
2352
+ background: linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.01) 100%);
2353
+ border-bottom: 1px solid rgba(255,255,255,0.05);
2354
+ }
2355
+ .code-panel-head-left {
2356
+ display: flex;
2357
+ align-items: center;
2358
+ gap: 10px;
2359
+ min-width: 0;
2360
+ flex: 1 1 auto;
2361
+ }
2362
+ .code-panel-brand {
2363
+ display: inline-flex;
2364
+ align-items: center;
2365
+ gap: 10px;
2366
+ }
2367
+ .code-panel-brand-icon {
2368
+ width: 34px;
2369
+ height: 34px;
2370
+ border-radius: 14px;
2371
+ display: inline-flex;
2372
+ align-items: center;
2373
+ justify-content: center;
2374
+ background: rgba(255,255,255,0.06);
2375
+ border: 1px solid rgba(255,255,255,0.08);
2376
+ color: rgba(255,255,255,0.92);
2377
+ box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
2378
+ }
2379
+ .code-panel-head-actions {
2380
+ display: inline-flex;
2381
+ align-items: center;
2382
+ gap: 8px;
2383
+ }
2384
+ .code-head-btn {
2385
+ width: 34px;
2386
+ height: 34px;
2387
+ border-radius: 14px;
2388
+ display: inline-flex;
2389
+ align-items: center;
2390
+ justify-content: center;
2391
+ color: rgba(255,255,255,0.52);
2392
+ background: rgba(255,255,255,0.04);
2393
+ border: 1px solid rgba(255,255,255,0.05);
2394
+ transition: all 0.2s ease;
2395
+ }
2396
+ .code-head-btn:hover {
2397
+ color: rgba(255,255,255,0.92);
2398
+ background: rgba(255,255,255,0.08);
2399
+ }
2400
+ #code-tabs {
2401
+ min-height: 0;
2402
+ padding: 0;
2403
+ gap: 8px;
2404
+ background: transparent !important;
2405
+ border-bottom: none !important;
2406
+ box-sizing: border-box;
2407
+ display: inline-flex;
2408
+ align-items: center;
2409
+ justify-content: flex-start;
2410
+ min-width: 0;
2411
+ flex: 1 1 auto;
2412
+ overflow-x: auto;
2413
+ overflow-y: hidden;
2414
+ }
2415
+ .code-tab-btn {
2416
+ width: 38px;
2417
+ min-width: 38px;
2418
+ height: 38px;
2419
+ min-height: 38px;
2420
+ padding: 0;
2421
+ border-radius: 14px;
2422
+ display: inline-flex;
2423
+ align-items: center;
2424
+ justify-content: center;
2425
+ box-sizing: border-box;
2426
+ color: rgba(255,255,255,0.46);
2427
+ background: rgba(255,255,255,0.03);
2428
+ border: 1px solid rgba(255,255,255,0.05);
2429
+ transition: all 0.2s ease;
2430
+ }
2431
+ .code-tab-btn.active {
2432
+ color: #111111;
2433
+ background: #f2f2f2;
2434
+ border-color: #f2f2f2;
2435
+ box-shadow: 0 10px 24px rgba(0,0,0,0.18);
2436
+ }
2437
+ .code-tab-btn:hover:not(.active) {
2438
+ color: rgba(255,255,255,0.9);
2439
+ background: rgba(255,255,255,0.08);
2440
+ }
2441
+ .code-tab-icon {
2442
+ width: 20px;
2443
+ height: 20px;
2444
+ border-radius: 8px;
2445
+ display: inline-flex;
2446
+ align-items: center;
2447
+ justify-content: center;
2448
+ background: transparent;
2449
+ border: 1px solid transparent;
2450
+ font-size: 11px;
2451
+ color: inherit;
2452
+ }
2453
+ .code-tab-btn.active .code-tab-icon {
2454
+ background: transparent;
2455
+ border-color: transparent;
2456
+ }
2457
+ .code-tab-label {
2458
+ display: none !important;
2459
+ }
2460
+ .code-panel-empty {
2461
+ width: auto;
2462
+ min-height: 34px;
2463
+ display: flex;
2464
+ align-items: center;
2465
+ justify-content: flex-start;
2466
+ gap: 8px;
2467
+ color: rgba(255,255,255,0.24);
2468
+ }
2469
+ .code-panel-empty-icon {
2470
+ width: 30px;
2471
+ height: 30px;
2472
+ border-radius: 12px;
2473
+ display: inline-flex;
2474
+ align-items: center;
2475
+ justify-content: center;
2476
+ background: rgba(255,255,255,0.04);
2477
+ border: 1px solid rgba(255,255,255,0.04);
2478
+ }
2479
+ .code-panel-empty-dots {
2480
+ display: inline-flex;
2481
+ align-items: center;
2482
+ gap: 5px;
2483
+ }
2484
+ .code-panel-empty-dots span {
2485
+ width: 6px;
2486
+ height: 6px;
2487
+ border-radius: 999px;
2488
+ background: rgba(255,255,255,0.16);
2489
+ }
2490
+ .code-workspace {
2491
+ flex: 1 1 auto;
2492
+ min-height: 0;
2493
+ display: flex;
2494
+ flex-direction: column;
2495
+ }
2496
+ .code-editor-pane {
2497
+ flex: 1 1 auto;
2498
+ min-height: 0;
2499
+ }
2500
+ .html-preview-pane {
2501
+ min-width: 0;
2502
+ min-height: 0;
2503
+ background:
2504
+ radial-gradient(circle at top left, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.01) 22%, transparent 40%),
2505
+ linear-gradient(180deg, #101013 0%, #09090b 100%);
2506
+ border-left: 1px solid rgba(255,255,255,0.06);
2507
+ display: none;
2508
+ flex-direction: column;
2509
+ }
2510
+ .html-preview-pane.hidden {
2511
+ display: none !important;
2512
+ }
2513
+ .html-preview-head {
2514
+ height: 52px;
2515
+ min-height: 52px;
2516
+ display: flex;
2517
+ align-items: center;
2518
+ justify-content: space-between;
2519
+ padding: 0 14px;
2520
+ border-bottom: 1px solid rgba(255,255,255,0.06);
2521
+ background: rgba(255,255,255,0.02);
2522
+ }
2523
+ .html-preview-chip,
2524
+ .html-preview-refresh {
2525
+ width: 32px;
2526
+ height: 32px;
2527
+ border-radius: 11px;
2528
+ display: inline-flex;
2529
+ align-items: center;
2530
+ justify-content: center;
2531
+ border: 1px solid rgba(255,255,255,0.08);
2532
+ background: rgba(255,255,255,0.04);
2533
+ color: rgba(255,255,255,0.74);
2534
+ }
2535
+ .html-preview-refresh:hover {
2536
+ background: rgba(255,255,255,0.09);
2537
+ color: rgba(255,255,255,0.94);
2538
+ }
2539
+ .html-preview-body {
2540
+ flex: 1 1 auto;
2541
+ min-height: 0;
2542
+ padding: 0;
2543
+ }
2544
+ #html-preview-frame {
2545
+ width: 100%;
2546
+ height: 100%;
2547
+ min-height: 0;
2548
+ border: none;
2549
+ border-radius: 0;
2550
+ background: #ffffff;
2551
+ box-shadow: none;
2552
+ display: block;
2553
+ }
2554
+ #code-editor {
2555
+ background:
2556
+ radial-gradient(circle at top right, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.01) 22%, transparent 44%),
2557
+ linear-gradient(180deg, #0d0d0f 0%, #09090a 100%);
2558
+ padding: 18px 18px 20px 18px !important;
2559
+ font-size: 13px;
2560
+ line-height: 1.65;
2561
+ color: rgba(255,255,255,0.86) !important;
2562
+ }
2563
+ #code-editor.is-structured-hidden {
2564
+ display: none !important;
2565
+ }
2566
+ #code-editor::placeholder {
2567
+ color: rgba(255,255,255,0.16);
2568
+ }
2569
+ .code-structured-editor {
2570
+ flex: 1 1 auto;
2571
+ min-height: 0;
2572
+ display: none;
2573
+ flex-direction: column;
2574
+ gap: 10px;
2575
+ padding: 14px;
2576
+ overflow-y: auto;
2577
+ overflow-x: hidden;
2578
+ background:
2579
+ radial-gradient(circle at top right, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.01) 22%, transparent 44%),
2580
+ linear-gradient(180deg, #0d0d0f 0%, #09090a 100%);
2581
+ scrollbar-width: thin;
2582
+ scrollbar-color: rgba(255,255,255,0.26) transparent;
2583
+ }
2584
+ .code-structured-editor.is-active {
2585
+ display: flex;
2586
+ }
2587
+ .code-structured-editor::-webkit-scrollbar {
2588
+ width: 6px;
2589
+ }
2590
+ .code-structured-editor::-webkit-scrollbar-track {
2591
+ background: transparent;
2592
+ }
2593
+ .code-structured-editor::-webkit-scrollbar-thumb {
2594
+ background: rgba(255,255,255,0.22);
2595
+ border-radius: 999px;
2596
+ }
2597
+ .code-structured-card {
2598
+ display: flex;
2599
+ flex-direction: column;
2600
+ min-height: 0;
2601
+ border-radius: 16px;
2602
+ border: 1px solid rgba(255,255,255,0.08);
2603
+ background: rgba(255,255,255,0.035);
2604
+ box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
2605
+ overflow: hidden;
2606
+ }
2607
+ .code-structured-card.is-attached {
2608
+ border-color: rgba(96,165,250,0.5);
2609
+ box-shadow: 0 0 0 1px rgba(96,165,250,0.24), inset 0 1px 0 rgba(255,255,255,0.04);
2610
+ }
2611
+ .code-structured-card-head {
2612
+ display: flex;
2613
+ align-items: center;
2614
+ gap: 10px;
2615
+ min-height: 46px;
2616
+ padding: 0 12px;
2617
+ background: rgba(255,255,255,0.03);
2618
+ border-bottom: 1px solid rgba(255,255,255,0.05);
2619
+ }
2620
+ .code-structured-card-head-main {
2621
+ min-width: 0;
2622
+ flex: 1 1 auto;
2623
+ display: flex;
2624
+ align-items: center;
2625
+ gap: 10px;
2626
+ }
2627
+ .code-structured-card-title-wrap {
2628
+ min-width: 0;
2629
+ flex: 1 1 auto;
2630
+ display: flex;
2631
+ flex-direction: column;
2632
+ gap: 2px;
2633
+ }
2634
+ .code-structured-card-title {
2635
+ min-width: 0;
2636
+ overflow: hidden;
2637
+ text-overflow: ellipsis;
2638
+ white-space: nowrap;
2639
+ font-size: 12px;
2640
+ line-height: 1.2;
2641
+ font-weight: 800;
2642
+ color: rgba(255,255,255,0.92);
2643
+ }
2644
+ .code-structured-card-meta {
2645
+ font-size: 10px;
2646
+ line-height: 1;
2647
+ color: rgba(255,255,255,0.4);
2648
+ font-weight: 700;
2649
+ letter-spacing: 0.02em;
2650
+ }
2651
+ .code-structured-card-actions {
2652
+ display: inline-flex;
2653
+ align-items: center;
2654
+ gap: 6px;
2655
+ flex: 0 0 auto;
2656
+ }
2657
+ .code-structured-icon,
2658
+ .code-structured-ai,
2659
+ .code-structured-toggle {
2660
+ width: 24px;
2661
+ height: 24px;
2662
+ border-radius: 999px;
2663
+ display: inline-flex;
2664
+ align-items: center;
2665
+ justify-content: center;
2666
+ border: 1px solid rgba(255,255,255,0.1);
2667
+ background: rgba(255,255,255,0.06);
2668
+ color: rgba(255,255,255,0.86);
2669
+ flex: 0 0 auto;
2670
+ transition: all 0.18s ease;
2671
+ }
2672
+ .code-structured-ai:hover,
2673
+ .code-structured-toggle:hover {
2674
+ background: rgba(255,255,255,0.14);
2675
+ color: #ffffff;
2676
+ border-color: rgba(255,255,255,0.18);
2677
+ }
2678
+ .code-structured-ai.is-attached {
2679
+ background: rgba(96,165,250,0.18);
2680
+ color: #93c5fd;
2681
+ border-color: rgba(96,165,250,0.32);
2682
+ }
2683
+ .code-structured-card-body {
2684
+ display: block;
2685
+ min-height: 0;
2686
+ padding: 0;
2687
+ }
2688
+ .code-structured-card.is-collapsed .code-structured-card-body {
2689
+ display: none;
2690
+ }
2691
+ .code-structured-editor-input {
2692
+ width: 100%;
2693
+ min-height: 120px;
2694
+ border: none;
2695
+ outline: none;
2696
+ resize: vertical;
2697
+ padding: 14px 16px 16px;
2698
+ background: transparent;
2699
+ color: rgba(255,255,255,0.88);
2700
+ font-size: 13px;
2701
+ line-height: 1.7;
2702
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
2703
+ white-space: pre;
2704
+ overflow-wrap: normal;
2705
+ tab-size: 2;
2706
+ }
2707
+ .code-block-actions {
2708
+ display: none !important;
2709
+ overflow-y: auto;
2710
+ overflow-x: hidden;
2711
+ scrollbar-width: thin;
2712
+ scrollbar-color: rgba(255,255,255,0.26) transparent;
2713
+ }
2714
+ .code-block-actions.hidden {
2715
+ display: none !important;
2716
+ }
2717
+ .code-block-actions::-webkit-scrollbar {
2718
+ width: 5px;
2719
+ }
2720
+ .code-block-actions::-webkit-scrollbar-track {
2721
+ background: transparent;
2722
+ }
2723
+ .code-block-actions::-webkit-scrollbar-thumb {
2724
+ background: rgba(255,255,255,0.22);
2725
+ border-radius: 999px;
2726
+ }
2727
+ .code-block-item {
2728
+ display: flex;
2729
+ align-items: center;
2730
+ gap: 8px;
2731
+ min-height: 34px;
2732
+ padding: 5px 7px;
2733
+ border-radius: 11px;
2734
+ border: 1px solid rgba(255,255,255,0.08);
2735
+ background: rgba(255,255,255,0.03);
2736
+ }
2737
+ .code-block-item-label {
2738
+ min-width: 0;
2739
+ flex: 1 1 auto;
2740
+ overflow: hidden;
2741
+ text-overflow: ellipsis;
2742
+ white-space: nowrap;
2743
+ font-size: 11px;
2744
+ line-height: 1.2;
2745
+ color: rgba(255,255,255,0.84);
2746
+ letter-spacing: 0.01em;
2747
+ }
2748
+ .code-block-edit-btn {
2749
+ width: 26px;
2750
+ height: 26px;
2751
+ border-radius: 999px;
2752
+ display: inline-flex;
2753
+ align-items: center;
2754
+ justify-content: center;
2755
+ border: 1px solid rgba(255,255,255,0.12);
2756
+ background: rgba(255,255,255,0.07);
2757
+ color: rgba(255,255,255,0.92);
2758
+ transition: all 0.18s ease;
2759
+ }
2760
+ .code-block-edit-btn:hover {
2761
+ background: rgba(255,255,255,0.18);
2762
+ border-color: rgba(255,255,255,0.24);
2763
+ color: #ffffff;
2764
+ }
2765
+ .code-block-icon {
2766
+ width: 22px;
2767
+ height: 22px;
2768
+ border-radius: 999px;
2769
+ display: inline-flex;
2770
+ align-items: center;
2771
+ justify-content: center;
2772
+ background: rgba(255,255,255,0.08);
2773
+ border: 1px solid rgba(255,255,255,0.1);
2774
+ color: rgba(255,255,255,0.9);
2775
+ flex: 0 0 auto;
2776
+ font-size: 12px;
2777
+ }
2778
+ .code-block-empty {
2779
+ min-height: 34px;
2780
+ border-radius: 11px;
2781
+ border: 1px dashed rgba(255,255,255,0.14);
2782
+ display: flex;
2783
+ align-items: center;
2784
+ justify-content: center;
2785
+ color: rgba(255,255,255,0.45);
2786
+ }
2787
+ body.html-preview-active #code-workspace {
2788
+ flex-direction: row;
2789
+ }
2790
+ body.html-preview-active .code-editor-pane,
2791
+ body.html-preview-active .code-structured-editor {
2792
+ width: 50%;
2793
+ flex: 0 0 50%;
2794
+ }
2795
+ body.html-preview-active .html-preview-pane {
2796
+ display: flex !important;
2797
+ width: 50%;
2798
+ flex: 0 0 50%;
2799
+ }
2800
+ body.mode-code #right-panel,
2801
+ body[data-ui-mode="code"] #right-panel,
2802
+ #right-panel.mobile-active {
2803
+ display: flex !important;
2804
+ width: 100% !important;
2805
+ min-width: 0 !important;
2806
+ max-width: 100% !important;
2807
+ min-height: 360px !important;
2808
+ max-height: 520px !important;
2809
+ opacity: 1 !important;
2810
+ visibility: visible !important;
2811
+ overflow: hidden !important;
2812
+ transition: none !important;
2813
+ }
2814
+ body:not(.mode-code):not([data-ui-mode="code"]) #right-panel:not(.mobile-active) {
2815
+ min-height: 0;
2816
+ max-height: 0;
2817
+ opacity: 0;
2818
+ overflow: hidden;
2819
+ display: none !important;
2820
+ }
2821
+ @media (min-width: 901px) {
2822
+ body.desktop-code-open {
2823
+ height: auto !important;
2824
+ min-height: 100vh !important;
2825
+ overflow-y: auto !important;
2826
+ overflow-x: hidden !important;
2827
+ }
2828
+ body.desktop-code-open #main-layout,
2829
+ body.desktop-code-open #left-panel,
2830
+ body.desktop-code-open #middle-zone,
2831
+ body.desktop-code-panel-mounted #main-layout,
2832
+ body.desktop-code-panel-mounted #left-panel,
2833
+ body.desktop-code-panel-mounted #middle-zone {
2834
+ height: auto !important;
2835
+ min-height: 0 !important;
2836
+ max-height: none !important;
2837
+ overflow: visible !important;
2838
+ }
2839
+ body.desktop-code-panel-mounted #middle-zone {
2840
+ display: flex !important;
2841
+ flex-direction: column !important;
2842
+ width: 100% !important;
2843
+ flex: 0 0 auto !important;
2844
+ min-height: 602px !important;
2845
+ align-items: stretch !important;
2846
+ gap: 0 !important;
2847
+ }
2848
+ body.desktop-code-panel-mounted #left-panel {
2849
+ display: flex !important;
2850
+ flex-direction: column !important;
2851
+ align-items: stretch !important;
2852
+ }
2853
+ body.desktop-code-panel-mounted .island-box {
2854
+ display: grid !important;
2855
+ width: 100% !important;
2856
+ flex: 0 0 auto !important;
2857
+ grid-template-rows: 270px !important;
2858
+ min-height: 270px !important;
2859
+ height: 270px !important;
2860
+ max-height: 270px !important;
2861
+ overflow: hidden !important;
2862
+ margin-bottom: 0 !important;
2863
+ }
2864
+ body.desktop-code-panel-mounted #desktop-code-panel-host {
2865
+ display: block !important;
2866
+ width: 100% !important;
2867
+ min-width: 0 !important;
2868
+ min-height: 320px !important;
2869
+ margin-top: 0 !important;
2870
+ visibility: visible !important;
2871
+ opacity: 1 !important;
2872
+ }
2873
+ body.desktop-code-panel-mounted #right-panel {
2874
+ grid-column: auto !important;
2875
+ grid-row: auto !important;
2876
+ width: 100% !important;
2877
+ min-width: 0 !important;
2878
+ max-width: 100% !important;
2879
+ display: flex !important;
2880
+ opacity: 1 !important;
2881
+ visibility: visible !important;
2882
+ border-radius: 0 0 28px 28px !important;
2883
+ border-top: 1px solid rgba(255,255,255,0.05) !important;
2884
+ box-shadow: 0 24px 50px rgba(0,0,0,0.32) !important;
2885
+ }
2886
+ body.desktop-code-open #top-zone,
2887
+ body.desktop-code-open #chat-box,
2888
+ body.desktop-code-open #chat-input-shell,
2889
+ body.desktop-code-open #chat-main-stack {
2890
+ visibility: visible !important;
2891
+ opacity: 1 !important;
2892
+ display: flex !important;
2893
+ }
2894
+ }
2895
+ @media (max-width: 1280px) {
2896
+ #chat-side-ad {
2897
+ display: flex !important;
2898
+ width: 324px;
2899
+ min-width: 324px;
2900
+ flex-basis: 324px;
2901
+ }
2902
+ }
2903
+ @media (max-width: 900px) {
2904
+ body.mobile-code-stacked .island-box {
2905
+ grid-template-rows: 320px minmax(240px, auto) 270px !important;
2906
+ }
2907
+ body.mobile-code-stacked #right-panel {
2908
+ grid-column: 1 / span 2 !important;
2909
+ grid-row: 2 !important;
2910
+ z-index: 8 !important;
2911
+ }
2912
+ body.mobile-code-stacked #chat-side-ad {
2913
+ grid-column: 1 !important;
2914
+ grid-row: 3 !important;
2915
+ z-index: 16 !important;
2916
+ margin-top: 0 !important;
2917
+ }
2918
+ body.mobile-code-stacked #board-right-rail {
2919
+ grid-column: 2 !important;
2920
+ grid-row: 3 !important;
2921
+ z-index: 17 !important;
2922
+ }
2923
+ #main-layout {
2924
+ width: 100%;
2925
+ max-width: 100%;
2926
+ margin-left: 0;
2927
+ padding-left: 0 !important;
2928
+ flex: 0 0 auto !important;
2929
+ height: auto !important;
2930
+ min-height: 320px !important;
2931
+ box-sizing: border-box;
2932
+ overflow-x: visible !important;
2933
+ overflow-y: visible !important;
2934
+ display: flex !important;
2935
+ }
2936
+ #board-right-rail {
2937
+ display: flex !important;
2938
+ grid-column: 2 !important;
2939
+ grid-row: 3 !important;
2940
+ order: 5;
2941
+ width: 58px !important;
2942
+ min-width: 58px !important;
2943
+ max-width: 58px !important;
2944
+ height: 270px !important;
2945
+ min-height: 270px !important;
2946
+ max-height: 270px !important;
2947
+ border-radius: 0 !important;
2948
+ border: none !important;
2949
+ border-left: 1px solid rgba(255, 255, 255, 0.08) !important;
2950
+ background: #ffffff !important;
2951
+ box-shadow: none !important;
2952
+ overflow: hidden !important;
2953
+ }
2954
+ #board-right-rail-scroll {
2955
+ height: 100% !important;
2956
+ padding: 10px 0 !important;
2957
+ gap: 8px !important;
2958
+ align-items: center !important;
2959
+ justify-content: flex-start !important;
2960
+ }
2961
+ .board-rail-btn {
2962
+ width: 36px;
2963
+ height: 36px;
2964
+ border-radius: 12px;
2965
+ }
2966
+ #left-panel {
2967
+ height: auto !important;
2968
+ min-height: 320px !important;
2969
+ display: flex !important;
2970
+ }
2971
+ .island-box {
2972
+ border-radius: 0 !important;
2973
+ padding: 0 !important;
2974
+ margin: 0 !important;
2975
+ margin-bottom: 0 !important;
2976
+ display: grid !important;
2977
+ grid-template-columns: minmax(0, calc(100% - 58px)) 58px !important;
2978
+ grid-template-rows: 320px auto auto !important;
2979
+ align-content: stretch !important;
2980
+ align-items: stretch !important;
2981
+ justify-items: stretch !important;
2982
+ height: auto !important;
2983
+ max-height: none !important;
2984
+ }
2985
+ body:not(.started) #chat-main-stack,
2986
+ body.started #chat-main-stack {
2987
+ grid-column: 1 !important;
2988
+ grid-row: 1 !important;
2989
+ flex: 1 1 auto !important;
2990
+ width: 100% !important;
2991
+ max-width: 100% !important;
2992
+ min-width: 0 !important;
2993
+ min-height: 320px !important;
2994
+ height: 320px !important;
2995
+ max-height: 320px !important;
2996
+ padding-right: 0 !important;
2997
+ box-sizing: border-box !important;
2998
+ }
2999
+ #chat-main-stack {
3000
+ grid-column: 1 !important;
3001
+ grid-row: 1 !important;
3002
+ order: 1;
3003
+ flex: 1 1 auto !important;
3004
+ width: 100% !important;
3005
+ max-width: 100% !important;
3006
+ min-width: 0;
3007
+ min-height: 320px !important;
3008
+ height: 320px !important;
3009
+ max-height: 320px !important;
3010
+ padding-right: 0 !important;
3011
+ box-sizing: border-box !important;
3012
+ }
3013
+ #top-zone {
3014
+ flex: 1 1 auto !important;
3015
+ min-height: 0 !important;
3016
+ max-height: 100% !important;
3017
+ }
3018
+ #chat-box {
3019
+ min-height: 0 !important;
3020
+ max-height: 100% !important;
3021
+ padding: 14px !important;
3022
+ }
3023
+ #tts-controls {
3024
+ padding: 10px 12px 0 12px;
3025
+ }
3026
+ .tts-panel {
3027
+ max-height: none;
3028
+ padding: 11px;
3029
+ }
3030
+ .tts-panel-head {
3031
+ flex-direction: column;
3032
+ align-items: stretch;
3033
+ }
3034
+ .tts-download-btn {
3035
+ width: 100%;
3036
+ }
3037
+ .tts-meta-grid,
3038
+ .tts-slider-grid {
3039
+ grid-template-columns: repeat(2, minmax(0, 1fr));
3040
+ }
3041
+ #chat-input-shell {
3042
+ position: relative !important;
3043
+ padding: 14px !important;
3044
+ min-height: 82px !important;
3045
+ }
3046
+ #chat-input-field {
3047
+ width: 100% !important;
3048
+ padding: 0 !important;
3049
+ }
3050
+ #chat-input-actions {
3051
+ position: absolute !important;
3052
+ left: auto !important;
3053
+ right: 14px !important;
3054
+ bottom: 10px !important;
3055
+ width: auto !important;
3056
+ justify-content: flex-end !important;
3057
+ gap: 4px !important;
3058
+ z-index: 40 !important;
3059
+ }
3060
+ #recent-mode-actions {
3061
+ flex-wrap: nowrap !important;
3062
+ max-width: 144px !important;
3063
+ overflow-x: visible !important;
3064
+ overflow-y: visible !important;
3065
+ }
3066
+ #chat-input-profile {
3067
+ left: 14px !important;
3068
+ bottom: 12px !important;
3069
+ width: 40px !important;
3070
+ height: 40px !important;
3071
+ }
3072
+ #prompt-input {
3073
+ min-height: 34px !important;
3074
+ max-height: 64px !important;
3075
+ padding: 6px 0 0 0 !important;
3076
+ }
3077
+ #middle-zone {
3078
+ padding: 0 !important;
3079
+ gap: 0 !important;
3080
+ max-width: 100% !important;
3081
+ }
3082
+ #toolbar-area {
3083
+ grid-column: 2 !important;
3084
+ grid-row: 1 !important;
3085
+ order: 2;
3086
+ display: flex !important;
3087
+ flex-direction: column !important;
3088
+ position: relative !important;
3089
+ right: auto !important;
3090
+ top: auto !important;
3091
+ left: auto !important;
3092
+ bottom: auto !important;
3093
+ flex: 0 0 58px !important;
3094
+ width: 58px !important;
3095
+ min-width: 58px !important;
3096
+ max-width: 58px !important;
3097
+ flex-shrink: 0 !important;
3098
+ height: 250px;
3099
+ min-height: 250px;
3100
+ max-height: 250px;
3101
+ border-top: none !important;
3102
+ border-left: 1px solid rgba(255, 255, 255, 0.08);
3103
+ padding: 10px 6px !important;
3104
+ box-sizing: border-box;
3105
+ z-index: 260 !important;
3106
+ align-self: stretch !important;
3107
+ justify-self: stretch !important;
3108
+ background: transparent !important;
3109
+ overflow-y: auto !important;
3110
+ overflow-x: hidden !important;
3111
+ scrollbar-width: thin !important;
3112
+ scrollbar-color: rgba(255, 255, 255, 0.22) transparent !important;
3113
+ scrollbar-gutter: stable both-edges;
3114
+ align-items: center !important;
3115
+ justify-content: flex-start !important;
3116
+ }
3117
+ #toolbar-area::-webkit-scrollbar {
3118
+ display: block !important;
3119
+ width: 5px !important;
3120
+ }
3121
+ #toolbar-area::-webkit-scrollbar-track {
3122
+ background: transparent !important;
3123
+ }
3124
+ #toolbar-area::-webkit-scrollbar-thumb {
3125
+ background: rgba(255, 255, 255, 0.2) !important;
3126
+ border-radius: 9999px !important;
3127
+ }
3128
+ #toolbar-main-controls {
3129
+ display: flex !important;
3130
+ width: 100% !important;
3131
+ flex: 0 0 auto !important;
3132
+ height: auto !important;
3133
+ min-height: auto !important;
3134
+ flex-direction: column !important;
3135
+ align-items: center;
3136
+ justify-content: flex-start;
3137
+ gap: 10px;
3138
+ }
3139
+ #toolbar-area > #toolbar-scroll-indicator {
3140
+ width: 100% !important;
3141
+ margin: 8px 0 0 0 !important;
3142
+ flex: 0 0 auto !important;
3143
+ display: flex !important;
3144
+ align-items: center !important;
3145
+ justify-content: center !important;
3146
+ box-sizing: border-box !important;
3147
+ }
3148
+ #toolbar-main-controls .btn-icon {
3149
+ width: 28px;
3150
+ height: 28px;
3151
+ border-radius: 12px !important;
3152
+ clip-path: inset(0 round 12px);
3153
+ }
3154
+ #toolbar-main-controls > #toolbar-scroll-indicator {
3155
+ width: 100%;
3156
+ margin: auto 0 0 0 !important;
3157
+ display: flex;
3158
+ align-items: center;
3159
+ justify-content: center;
3160
+ box-sizing: border-box;
3161
+ }
3162
+ #btn-menu {
3163
+ width: 38px !important;
3164
+ height: 38px !important;
3165
+ min-width: 38px !important;
3166
+ min-height: 38px !important;
3167
+ max-width: 38px !important;
3168
+ max-height: 38px !important;
3169
+ border-radius: 12px !important;
3170
+ margin: 0 auto !important;
3171
+ margin-right: 0 !important;
3172
+ padding: 0 !important;
3173
+ aspect-ratio: 1 / 1 !important;
3174
+ background: rgba(255, 255, 255, 0.08) !important;
3175
+ clip-path: inset(0 round 12px);
3176
+ }
3177
+ #btn-menu:hover,
3178
+ #btn-menu.active,
3179
+ #btn-menu.menu-open {
3180
+ border-radius: 12px !important;
3181
+ clip-path: inset(0 round 12px);
3182
+ }
3183
+ #btn-menu.menu-open {
3184
+ background: #ececec !important;
3185
+ color: #111111 !important;
3186
+ box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
3187
+ }
3188
+ #btn-menu.menu-open i {
3189
+ color: #111111 !important;
3190
+ }
3191
+ #btn-submit-left {
3192
+ width: 36px !important;
3193
+ height: 36px !important;
3194
+ min-width: 36px !important;
3195
+ min-height: 36px !important;
3196
+ max-width: 36px !important;
3197
+ max-height: 36px !important;
3198
+ border-radius: 12px !important;
3199
+ margin: 0 auto !important;
3200
+ clip-path: inset(0 round 12px);
3201
+ }
3202
+ #toolbar-main-controls #icon-scroll-wrapper {
3203
+ flex: 0 0 auto;
3204
+ width: 100%;
3205
+ min-height: 0;
3206
+ height: auto;
3207
+ overflow: visible !important;
3208
+ display: flex;
3209
+ align-items: flex-start;
3210
+ justify-content: flex-start;
3211
+ mask-image: none !important;
3212
+ -webkit-mask-image: none !important;
3213
+ }
3214
+ #toolbar-main-controls #icon-scroll-wrapper::-webkit-scrollbar {
3215
+ display: none !important;
3216
+ }
3217
+ #toolbar-main-controls #icon-scroll-container {
3218
+ width: 100% !important;
3219
+ min-height: 0 !important;
3220
+ height: auto !important;
3221
+ overflow: visible !important;
3222
+ display: flex !important;
3223
+ flex-direction: column !important;
3224
+ align-items: center !important;
3225
+ justify-content: flex-start !important;
3226
+ gap: 12px !important;
3227
+ padding: 6px 0 14px !important;
3228
+ margin: 0 auto !important;
3229
+ box-sizing: border-box !important;
3230
+ }
3231
+ #toolbar-main-controls #icon-scroll-container > button {
3232
+ align-self: center !important;
3233
+ margin-left: auto !important;
3234
+ margin-right: auto !important;
3235
+ }
3236
+ #toolbar-scroll-indicator {
3237
+ display: none !important;
3238
+ }
3239
+ #chat-side-ad {
3240
+ grid-column: 1 !important;
3241
+ grid-row: 3 !important;
3242
+ order: 4;
3243
+ width: auto !important;
3244
+ min-width: 0 !important;
3245
+ max-width: 100% !important;
3246
+ flex-basis: auto;
3247
+ flex: 1 1 auto;
3248
+ height: 270px !important;
3249
+ min-height: 270px !important;
3250
+ max-height: 270px !important;
3251
+ border-left: none;
3252
+ border-top: 1px solid rgba(15, 23, 42, 0.08);
3253
+ background: #ffffff !important;
3254
+ overflow: hidden !important;
3255
+ display: flex !important;
3256
+ align-items: center !important;
3257
+ justify-content: center !important;
3258
+ justify-self: stretch !important;
3259
+ align-self: stretch !important;
3260
+ }
3261
+ #chat-side-ad-body {
3262
+ height: 270px !important;
3263
+ min-height: 270px !important;
3264
+ max-height: 270px !important;
3265
+ padding: 9px 11px !important;
3266
+ align-items: center;
3267
+ justify-content: center;
3268
+ background: #ffffff !important;
3269
+ overflow: hidden !important;
3270
+ width: 100%;
3271
+ min-width: 0 !important;
3272
+ box-sizing: border-box;
3273
+ }
3274
+ .chat-ad-frame {
3275
+ width: 300px !important;
3276
+ height: 250px !important;
3277
+ aspect-ratio: auto !important;
3278
+ min-width: 0 !important;
3279
+ max-width: 300px !important;
3280
+ margin: 0 auto !important;
3281
+ transform-origin: top center !important;
3282
+ overflow: visible !important;
3283
+ }
3284
+ #right-panel {
3285
+ grid-column: 1 / span 2 !important;
3286
+ grid-row: 2 !important;
3287
+ order: 3;
3288
+ width: 100% !important;
3289
+ min-width: 0 !important;
3290
+ max-width: 100% !important;
3291
+ border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
3292
+ border-left: none !important;
3293
+ border-radius: 0 !important;
3294
+ min-height: 0;
3295
+ }
3296
+ body.mode-code #right-panel,
3297
+ #right-panel.mobile-active {
3298
+ max-height: 520px !important;
3299
+ min-height: 320px !important;
3300
+ }
3301
+ }
3302
+ @media (max-width: 380px) {
3303
+ /* Keep right sidebar identical even on very small screens */
3304
+ #main-layout {
3305
+ padding-left: 0 !important;
3306
+ }
3307
+ body:not(.started) #chat-main-stack,
3308
+ body.started #chat-main-stack,
3309
+ #chat-main-stack {
3310
+ width: 100% !important;
3311
+ max-width: 100% !important;
3312
+ }
3313
+ #toolbar-area {
3314
+ flex: 0 0 58px !important;
3315
+ width: 58px !important;
3316
+ min-width: 58px !important;
3317
+ max-width: 58px !important;
3318
+ }
3319
+ #chat-input-field {
3320
+ padding-right: 0 !important;
3321
+ }
3322
+ #chat-input-actions {
3323
+ right: 12px !important;
3324
+ bottom: 10px !important;
3325
+ }
3326
+ #chat-side-ad-body {
3327
+ padding: 9px 11px !important;
3328
+ }
3329
+ #tts-controls {
3330
+ padding: 10px 10px 0 10px;
3331
+ }
3332
+ .tts-meta-grid,
3333
+ .tts-slider-grid {
3334
+ grid-template-columns: 1fr;
3335
+ }
3336
+ }
3337
+ @media (max-width: 640px) {
3338
+ #chat-side-ad {
3339
+ width: auto !important;
3340
+ min-width: 0 !important;
3341
+ max-width: 100% !important;
3342
+ flex-basis: auto !important;
3343
+ flex: 1 1 auto !important;
3344
+ overflow: hidden !important;
3345
+ }
3346
+ #chat-side-ad-body {
3347
+ padding: 9px 11px !important;
3348
+ overflow: hidden !important;
3349
+ }
3350
+ .chat-ad-frame {
3351
+ width: 300px !important;
3352
+ height: 250px !important;
3353
+ min-width: 0 !important;
3354
+ max-width: 300px !important;
3355
+ aspect-ratio: auto !important;
3356
+ }
3357
+ }
3358
+ @media (max-width: 500px) {
3359
+ #toolbar-area {
3360
+ position: relative !important;
3361
+ display: flex !important;
3362
+ right: auto !important;
3363
+ top: auto !important;
3364
+ left: auto !important;
3365
+ bottom: auto !important;
3366
+ z-index: 260 !important;
3367
+ }
3368
+ #board-right-rail {
3369
+ display: flex !important;
3370
+ width: 58px !important;
3371
+ min-width: 58px !important;
3372
+ max-width: 58px !important;
3373
+ }
3374
+ #chat-input-actions {
3375
+ right: 12px !important;
3376
+ bottom: 10px !important;
3377
+ z-index: 280 !important;
3378
+ }
3379
+ #recent-mode-actions {
3380
+ max-width: 32px !important;
3381
+ }
3382
+ #prompt-input {
3383
+ padding-right: 0 !important;
3384
+ }
3385
+ }
3386
+
3387
+ /* Chat layout: full-height list + keep input/profile in normal relative flow */
3388
+ #chat-main-stack {
3389
+ position: relative !important;
3390
+ overflow: hidden !important;
3391
+ }
3392
+ #chat-main-stack:not(.settings-mode):not(.menu-mode) #top-zone {
3393
+ position: relative !important;
3394
+ display: flex !important;
3395
+ flex-direction: column !important;
3396
+ flex: 1 1 auto !important;
3397
+ min-height: 0 !important;
3398
+ height: 100% !important;
3399
+ }
3400
+ #chat-main-stack:not(.settings-mode):not(.menu-mode) #chat-box {
3401
+ flex: 1 1 auto !important;
3402
+ min-height: 0 !important;
3403
+ height: 100% !important;
3404
+ max-height: 100% !important;
3405
+ padding: 14px !important;
3406
+ padding-bottom: 76px !important;
3407
+ }
3408
+ #chat-main-stack:not(.settings-mode):not(.menu-mode) #chat-input-shell {
3409
+ position: absolute !important;
3410
+ left: 0 !important;
3411
+ right: 0 !important;
3412
+ bottom: 0 !important;
3413
+ z-index: 12 !important;
3414
+ display: flex !important;
3415
+ flex-direction: row !important;
3416
+ align-items: center !important;
3417
+ gap: 10px !important;
3418
+ margin-top: 0 !important;
3419
+ min-height: 0 !important;
3420
+ padding: 14px !important;
3421
+ background: linear-gradient(
3422
+ to bottom,
3423
+ rgba(0, 0, 0, 0) 0%,
3424
+ rgba(0, 0, 0, 0.16) 46%,
3425
+ rgba(0, 0, 0, 0.52) 100%
3426
+ ) !important;
3427
+ border: none !important;
3428
+ backdrop-filter: none !important;
3429
+ -webkit-backdrop-filter: none !important;
3430
+ box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.16) !important;
3431
+ }
3432
+ #chat-main-stack:not(.settings-mode):not(.menu-mode) #chat-input-shell::after {
3433
+ content: none !important;
3434
+ display: none !important;
3435
+ }
3436
+ #chat-main-stack:not(.settings-mode):not(.menu-mode) #chat-input-field,
3437
+ #chat-main-stack:not(.settings-mode):not(.menu-mode) #chat-input-profile {
3438
+ position: relative;
3439
+ z-index: 2;
3440
+ }
3441
+ #chat-main-stack:not(.settings-mode):not(.menu-mode) #chat-input-profile {
3442
+ left: auto !important;
3443
+ bottom: auto !important;
3444
+ width: 34px !important;
3445
+ height: 34px !important;
3446
+ flex: 0 0 34px !important;
3447
+ align-self: center !important;
3448
+ }
3449
+ #chat-main-stack:not(.settings-mode):not(.menu-mode) #chat-input-field {
3450
+ order: 0 !important;
3451
+ flex: 1 1 auto !important;
3452
+ min-width: 0 !important;
3453
+ display: block !important;
3454
+ gap: 4px !important;
3455
+ padding-right: 118px !important;
3456
+ background: transparent !important;
3457
+ border: none !important;
3458
+ box-shadow: none !important;
3459
+ }
3460
+ #chat-main-stack:not(.settings-mode):not(.menu-mode) #prompt-attachment-row {
3461
+ padding: 0 118px 0 0 !important;
3462
+ }
3463
+ #chat-main-stack:not(.settings-mode):not(.menu-mode) #chat-input-actions {
3464
+ order: 0 !important;
3465
+ position: absolute !important;
3466
+ right: 12px !important;
3467
+ bottom: 8px !important;
3468
+ top: auto !important;
3469
+ left: auto !important;
3470
+ align-self: auto !important;
3471
+ gap: 4px !important;
3472
+ z-index: 22 !important;
3473
+ padding: 4px 8px !important;
3474
+ border-radius: 9999px !important;
3475
+ background: rgba(0, 0, 0, 0.92) !important;
3476
+ box-shadow: 0 8px 18px rgba(0,0,0,0.22) !important;
3477
+ }
3478
+ #chat-main-stack:not(.settings-mode):not(.menu-mode) #prompt-input {
3479
+ padding: 6px 0 0 0 !important;
3480
+ margin: 0 !important;
3481
+ transform: translateY(0) !important;
3482
+ min-height: 30px !important;
3483
+ max-height: 64px !important;
3484
+ height: auto !important;
3485
+ line-height: 1.45 !important;
3486
+ overflow-y: auto !important;
3487
+ }
3488
+ #prompt-input {
3489
+ font-size: 0.9rem !important;
3490
+ line-height: 1.45 !important;
3491
+ min-height: 30px !important;
3492
+ max-height: 64px !important;
3493
+ padding: 6px 0 0 0 !important;
3494
+ }
3495
+
3496
+ @media (max-width: 900px) {
3497
+ body.html-preview-active #code-workspace {
3498
+ flex-direction: column;
3499
+ }
3500
+ body.html-preview-active .code-editor-pane {
3501
+ width: 100%;
3502
+ flex: 0 0 auto;
3503
+ }
3504
+ body.html-preview-active .html-preview-pane {
3505
+ display: flex !important;
3506
+ width: 100%;
3507
+ flex: 0 0 auto;
3508
+ }
3509
+ #html-preview-frame {
3510
+ min-height: 180px;
3511
+ }
3512
+ }
3513
+
3514
+