Jan2000 commited on
Commit
d47fc8a
·
unverified ·
1 Parent(s): 72e21e3

Create style.css

Browse files
Files changed (1) hide show
  1. static/css/style.css +1712 -0
static/css/style.css ADDED
@@ -0,0 +1,1712 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ html, body {
2
+ height: 100%;
3
+ overflow: hidden;
4
+ }
5
+ body { font-family: 'Vazirmatn', 'Inter', sans-serif; -webkit-tap-highlight-color: transparent; }
6
+ .custom-scrollbar::-webkit-scrollbar { width: 8px; height: 8px; }
7
+ .custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
8
+ .custom-scrollbar::-webkit-scrollbar-thumb { background-color: rgba(209, 213, 219, 0.7); border-radius: 10px; }
9
+ .dark .custom-scrollbar::-webkit-scrollbar-thumb { background-color: rgba(107, 114, 128, 0.5); }
10
+ .hidden { display: none !important; }
11
+ #history-sidebar, #confirm-modal-content, #rename-modal-content, #edit-modal-content, #html-preview-content, #settings-modal-content { transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1); }
12
+ #sidebar-overlay, #confirm-modal-overlay, #rename-modal-overlay, #edit-modal-overlay, #html-preview-overlay, #settings-modal #settings-modal-overlay { transition: opacity 300ms ease-in-out; }
13
+ #modal-content { transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1); }
14
+
15
+ @keyframes fade-slide-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
16
+ .message-entry { animation: fade-slide-in 300ms ease-out forwards; }
17
+ .typing-indicator span { height: 8px; width: 8px; background-color: #9ca3af; border-radius: 50%; display: inline-block; animation: typing-blink 1.4s infinite both; }
18
+ .dark .typing-indicator span { background-color: #6b7280; }
19
+ .typing-indicator span:nth-child(2) { animation-delay: 0.2s; }
20
+ .typing-indicator span:nth-child(3) { animation-delay: 0.4s; }
21
+ @keyframes typing-blink { 0% { opacity: 0.2; } 20% { opacity: 1; } 100% { opacity: 0.2; } }
22
+
23
+ /* === استایل بلوک کد === */
24
+ .prose pre {
25
+ position: relative;
26
+ background-color: #282c34;
27
+ border-radius: 0.75rem;
28
+ padding-top: 2.8rem;
29
+ overflow-x: auto;
30
+ margin-top: 1em;
31
+ margin-bottom: 1em;
32
+ direction: ltr;
33
+ text-align: left;
34
+ }
35
+ .prose pre code {
36
+ white-space: pre;
37
+ word-break: normal;
38
+ display: block;
39
+ padding: 0.75rem 1rem;
40
+ direction: ltr;
41
+ text-align: left;
42
+ }
43
+ .code-button-container {
44
+ position: absolute;
45
+ top: 0.75rem;
46
+ right: 0.75rem;
47
+ display: flex;
48
+ gap: 0.5rem;
49
+ opacity: 0;
50
+ transition: opacity 0.2s;
51
+ }
52
+ .prose pre:hover .code-button-container {
53
+ opacity: 1;
54
+ }
55
+ .code-button {
56
+ padding: 0.25rem 0.6rem;
57
+ background-color: rgba(75, 85, 99, 0.8);
58
+ color: white;
59
+ border: none;
60
+ border-radius: 0.375rem;
61
+ font-size: 0.8rem;
62
+ font-family: 'Vazirmatn', sans-serif;
63
+ cursor: pointer;
64
+ display: flex;
65
+ align-items: center;
66
+ gap: 0.3rem;
67
+ transition: background-color 0.2s;
68
+ }
69
+ .code-button:hover { background-color: rgba(107, 114, 128, 0.8); }
70
+ .code-button:active { background-color: #4b5563; }
71
+
72
+ /* === استایل دکمه‌های اکشن پیام === */
73
+ .message-actions { opacity: 0; transition: opacity 0.3s ease-in-out; position: absolute; bottom: -1rem; left: 0; display: flex; align-items: center; }
74
+ .group:hover .message-actions { opacity: 1; }
75
+ .action-button { padding: 0.375rem; border-radius: 9999px; background-color: rgba(255, 255, 255, 0.7); backdrop-filter: blur(4px); border: 1px solid #e5e7eb; color: #6b7280; transition: all 0.2s; box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); }
76
+ .dark .action-button { background-color: rgba(55, 65, 81, 0.7); border-color: #4b5563; color: #9ca3af; }
77
+ .action-button:hover { color: #1f2937; background-color: rgba(243, 244, 246, 0.9); border-color: #d1d5db; }
78
+ .dark .action-button:hover { color: #e5e7eb; background-color: rgba(75, 85, 99, 0.9); border-color: #6b7280; }
79
+ .action-button.active { color: #3b82f6; border-color: #93c5fd; background-color: #eff6ff; }
80
+ .dark .action-button.active { color: #60a5fa; border-color: #3b82f6; background-color: #1e3a8a; }
81
+ .like-animation { animation: like-pop 0.4s ease-in-out; }
82
+ @keyframes like-pop { 0% { transform: scale(1); } 50% { transform: scale(1.4); } 100% { transform: scale(1); } }
83
+ .action-button .copy-feedback {
84
+ position: absolute;
85
+ left: calc(100% + 8px);
86
+ top: 50%;
87
+ transform: translateY(-50%);
88
+ background-color: #1f2937;
89
+ color: white;
90
+ padding: 4px 8px;
91
+ border-radius: 6px;
92
+ font-size: 12px;
93
+ white-space: nowrap;
94
+ opacity: 0;
95
+ transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
96
+ pointer-events: none;
97
+ }
98
+ .action-button .copy-feedback.visible {
99
+ opacity: 1;
100
+ transform: translateY(-50%) translateX(-4px);
101
+ }
102
+
103
+ .history-item-button { opacity: 1; }
104
+ #history-item-menu { transform-origin: top right; transform: scale(0.95); opacity: 0; pointer-events: none; transition: transform 150ms ease-out, opacity 150ms ease-out; }
105
+ #history-item-menu.visible { transform: scale(1); opacity: 1; pointer-events: auto; }
106
+
107
+ #message-item-menu { transition: opacity 200ms ease-in-out; }
108
+ #message-item-menu-content { transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1); transform: scale(0.95); opacity: 0; }
109
+ #message-item-menu.visible { opacity: 1; }
110
+ #message-item-menu.visible #message-item-menu-content { transform: scale(1); opacity: 1; }
111
+ .message-preview-container { padding: 0.75rem 1rem; border-bottom: 1px solid #e5e7eb; margin-bottom: 0.5rem; }
112
+ .dark .message-preview-container { border-bottom-color: #374151; }
113
+ .message-preview-text { font-size: 0.875rem; color: #6b7280; line-height: 1.5; max-height: 4.5rem; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; text-overflow: ellipsis; }
114
+ .dark .message-preview-text { color: #d1d5db; }
115
+
116
+ #confirm-modal-content, #rename-modal-content, #edit-modal-content, #html-preview-content { transform: scale(0.95); opacity: 0; }
117
+
118
+ #message-input, #edit-input { resize: none; overflow-y: auto; max-height: 120px; line-height: 1.5; padding-top: 10px; padding-bottom: 10px; }
119
+
120
+ #app-container { display: flex; flex-direction: column; }
121
+ #main-header, #main-footer { position: static; flex-shrink: 0; }
122
+ #chat-window { flex-grow: 1; }
123
+
124
+ #html-preview-modal { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.6); backdrop-filter: blur(5px); display: flex; align-items: center; justify-content: center; padding: 1rem; z-index: 60; }
125
+ #html-preview-content { background-color: #fff; border-radius: 1rem; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3); width: 100%; height: 90%; max-width: 800px; display: flex; flex-direction: column; overflow: hidden; transform: scale(0.95); opacity: 0; }
126
+ #html-preview-header { display: flex; justify-content: space-between; align-items: center; padding: 1rem; border-bottom: 1px solid #e2e8f0; background-color: #f8fafc; }
127
+ .dark #html-preview-header { border-bottom-color: #374151; background-color: #1f2937; }
128
+ #html-preview-iframe-container { flex-grow: 1; overflow: hidden; }
129
+ #html-preview-iframe { width: 100%; height: 100%; border: none; background-color: #fff; }
130
+
131
+ .message-entry p.whitespace-pre-wrap {
132
+ white-space: pre-wrap;
133
+ overflow-wrap: break-word;
134
+ word-break: break-word;
135
+ }
136
+
137
+ .prose {
138
+ overflow-wrap: break-word;
139
+ word-break: break-word;
140
+ }
141
+ .dark .prose { --tw-prose-body: #d1d5db; --tw-prose-headings: #fff; --tw-prose-lead: #9ca3af; --tw-prose-links: #fff; --tw-prose-bold: #fff; --tw-prose-counters: #9ca3af; --tw-prose-bullets: #4b5563; --tw-prose-hr: #374151; --tw-prose-quotes: #f3f4f6; --tw-prose-quote-borders: #374151; --tw-prose-captions: #9ca3af; --tw-prose-code: #fff; --tw-prose-pre-code: #d1d5db; --tw-prose-pre-bg: #1f2937; --tw-prose-th-borders: #4b5563; --tw-prose-td-borders: #374151; }
142
+
143
+ .prose table {
144
+ width: 100%;
145
+ border-collapse: collapse;
146
+ margin-top: 1em;
147
+ margin-bottom: 1em;
148
+ display: block;
149
+ overflow-x: auto;
150
+ white-space: nowrap;
151
+ -webkit-overflow-scrolling: touch;
152
+ min-width: 100%;
153
+ table-layout: auto;
154
+ }
155
+
156
+ .prose th,
157
+ .prose td {
158
+ border: 1px solid #e2e8f0;
159
+ padding: 0.75em 0.5em;
160
+ text-align: right;
161
+ vertical-align: top;
162
+ white-space: normal;
163
+ overflow-wrap: break-word;
164
+ word-break: normal;
165
+ }
166
+ .dark .prose th, .dark .prose td { border-color: #4b5563; }
167
+
168
+ .prose th {
169
+ background-color: #f8fafc;
170
+ font-weight: 600;
171
+ color: #334155;
172
+ }
173
+ .dark .prose th { background-color: #374151; color: #d1d5db; }
174
+
175
+ .prose tr:nth-child(even) {
176
+ background-color: #fcfdfe;
177
+ }
178
+ .dark .prose tr:nth-child(even) { background-color: #1f2937; }
179
+
180
+ @media (max-width: 768px) {
181
+ .prose th,
182
+ .prose td {
183
+ font-size: 0.85rem;
184
+ padding: 0.6em 0.4em;
185
+ }
186
+ }
187
+
188
+ #image-preview-container {
189
+ display: flex;
190
+ align-items: center;
191
+ gap: 0.5rem;
192
+ padding: 0.5rem;
193
+ width: fit-content;
194
+ }
195
+ #image-preview-container.hidden { display: none !important; }
196
+
197
+ #file-info-text {
198
+ font-size: 0.875rem;
199
+ color: #475569;
200
+ max-width: 150px;
201
+ white-space: nowrap;
202
+ overflow: hidden;
203
+ text-overflow: ellipsis;
204
+ }
205
+ .dark #file-info-text {
206
+ color: #cbd5e1;
207
+ }
208
+
209
+ /* === استایل‌های صفحه خوش‌آمدگویی === */
210
+ .welcome-screen {
211
+ position: absolute;
212
+ top: 0;
213
+ left: 0;
214
+ right: 0;
215
+ bottom: 0;
216
+ display: flex;
217
+ flex-direction: column;
218
+ justify-content: center;
219
+ align-items: center;
220
+ padding: 40px 20px;
221
+ overflow-x: hidden;
222
+ box-sizing: border-box;
223
+ }
224
+
225
+ .welcome-container {
226
+ max-width: 500px;
227
+ width: 100%;
228
+ text-align: center;
229
+ }
230
+
231
+ .chatbot-name {
232
+ font-size: 1.8rem;
233
+ font-weight: 700;
234
+ margin-bottom: 0.5rem;
235
+ background: linear-gradient(45deg, #0ea5e9, #6f42c1, #fd7e14);
236
+ background-size: 200% auto;
237
+ -webkit-background-clip: text;
238
+ -webkit-text-fill-color: transparent;
239
+ background-clip: text;
240
+ color: transparent;
241
+ display: inline-block;
242
+ line-height: 1.2;
243
+ opacity: 0;
244
+ transition: opacity 0.5s ease-in-out;
245
+ animation: gradient-flow 8s linear infinite alternate;
246
+ }
247
+
248
+ @keyframes gradient-flow {
249
+ 0% { background-position: 0% 50%; }
250
+ 50% { background-position: 100% 50%; }
251
+ 100% { background-position: 0% 50%; }
252
+ }
253
+
254
+ .main-title {
255
+ font-size: 1.8rem;
256
+ font-weight: 600;
257
+ margin-bottom: 2rem;
258
+ color: #2c3e50;
259
+ line-height: 1.5;
260
+ opacity: 0;
261
+ transition: opacity 0.8s ease-in;
262
+ }
263
+ .dark .main-title { color: #e5e7eb; }
264
+
265
+ /* === استایل‌های جدید برای دکمه‌های پیشنهادی (بدون کارت پس‌زمینه) === */
266
+ .suggestions-container {
267
+ display: grid;
268
+ grid-template-columns: repeat(2, 1fr);
269
+ gap: 16px;
270
+ margin-top: 2rem;
271
+ opacity: 0;
272
+ transform: translateY(20px);
273
+ transition: opacity 0.5s ease-out, transform 0.5s ease-out;
274
+ }
275
+
276
+ .suggestion-button {
277
+ display: flex;
278
+ flex-direction: row-reverse;
279
+ align-items: center;
280
+ justify-content: center;
281
+ background-color: #ffffff;
282
+ border: 1px solid #eef0f2;
283
+ border-radius: 40px;
284
+ padding: 12px 18px;
285
+ font-size: 15px;
286
+ font-weight: 500;
287
+ color: #333;
288
+ white-space: nowrap;
289
+ cursor: pointer;
290
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
291
+ transition: all 0.2s ease-in-out;
292
+ }
293
+ .dark .suggestion-button {
294
+ background-color: #374151;
295
+ border-color: #4b5563;
296
+ color: #e5e7eb;
297
+ }
298
+
299
+ .suggestion-button:hover {
300
+ transform: translateY(-3px);
301
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08);
302
+ border-color: #e0e2e5;
303
+ }
304
+ .dark .suggestion-button:hover {
305
+ background-color: #4b5563;
306
+ border-color: #6b7280;
307
+ }
308
+
309
+ .suggestion-button:active {
310
+ transform: translateY(-1px) scale(0.98);
311
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
312
+ }
313
+
314
+ .suggestion-button svg {
315
+ width: 20px;
316
+ height: 20px;
317
+ margin-left: 10px;
318
+ }
319
+
320
+ @media (max-width: 480px) {
321
+ .chatbot-name, .main-title { font-size: 1.5rem; }
322
+ .suggestion-button { padding: 10px 14px; font-size: 14px; }
323
+ }
324
+
325
+ #image-gallery-modal {
326
+ transition: opacity 300ms ease-in-out;
327
+ }
328
+ #image-gallery-modal.hidden {
329
+ pointer-events: none;
330
+ }
331
+ #image-gallery-modal.visible {
332
+ opacity: 1;
333
+ }
334
+ #image-gallery-modal.visible #image-gallery-content {
335
+ opacity: 1;
336
+ transform: scale(1);
337
+ }
338
+ #gallery-thumbnails .gallery-thumb {
339
+ width: 60px;
340
+ height: 60px;
341
+ object-fit: cover;
342
+ border-radius: 8px;
343
+ cursor: pointer;
344
+ border: 3px solid transparent;
345
+ transition: all 0.2s ease-in-out;
346
+ opacity: 0.6;
347
+ }
348
+ #gallery-thumbnails .gallery-thumb:hover {
349
+ opacity: 1;
350
+ transform: scale(1.05);
351
+ }
352
+ #gallery-thumbnails .gallery-thumb.active {
353
+ border-color: #3b82f6;
354
+ opacity: 1;
355
+ transform: scale(1.1);
356
+ }
357
+
358
+ #gallery-download-btn {
359
+ padding: 0.75rem 1.5rem;
360
+ font-size: 1rem;
361
+ border-radius: 9999px;
362
+ background: linear-gradient(45deg, #3b82f6, #6366f1);
363
+ box-shadow: 0 4px 14px 0 rgba(59, 130, 246, 0.39);
364
+ transition: all 0.3s ease-in-out;
365
+ cursor: pointer;
366
+ min-width: 150px;
367
+ min-height: 48px;
368
+ animation: download-pulse 2.5s infinite;
369
+ }
370
+ #gallery-download-btn:hover {
371
+ transform: translateY(-2px);
372
+ box-shadow: 0 6px 20px 0 rgba(59, 130, 246, 0.45);
373
+ animation-play-state: paused;
374
+ }
375
+ #gallery-download-btn:active {
376
+ transform: translateY(0px) scale(0.98);
377
+ box-shadow: 0 2px 8px 0 rgba(59, 130, 246, 0.3);
378
+ }
379
+ #gallery-download-btn .typing-indicator span {
380
+ background-color: white;
381
+ }
382
+ @keyframes download-pulse {
383
+ 0% {
384
+ box-shadow: 0 4px 14px 0 rgba(59, 130, 246, 0.39);
385
+ }
386
+ 50% {
387
+ box-shadow: 0 6px 20px 0 rgba(99, 102, 241, 0.5);
388
+ }
389
+ 100% {
390
+ box-shadow: 0 4px 14px 0 rgba(59, 130, 246, 0.39);
391
+ }
392
+ }
393
+
394
+ @keyframes fade-slide-in-button {
395
+ from {
396
+ opacity: 0;
397
+ transform: translateY(10px);
398
+ }
399
+ to {
400
+ opacity: 1;
401
+ transform: translateY(0);
402
+ }
403
+ }
404
+
405
+ .clarification-message {
406
+ background-color: #f8fafc;
407
+ border: 1px solid #e2e8f0;
408
+ color: #1e293b;
409
+ }
410
+ .dark .clarification-message { background-color: #1f2937; border-color: #374151; color: #d1d5db; }
411
+
412
+
413
+ .clarification-button.glass-button {
414
+ width: 100%;
415
+ display: flex;
416
+ align-items: center;
417
+ justify-content: flex-start;
418
+ gap: 12px;
419
+ padding: 12px 16px;
420
+ font-size: 0.95rem;
421
+ font-weight: 500;
422
+ color: #334155;
423
+ background: rgba(255, 255, 255, 0.5);
424
+ backdrop-filter: blur(8px);
425
+ -webkit-backdrop-filter: blur(8px);
426
+ border: 1px solid rgba(200, 200, 200, 0.4);
427
+ border-radius: 14px;
428
+ cursor: pointer;
429
+ transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
430
+ animation: fade-slide-in-button 0.5s ease-out forwards;
431
+ opacity: 0;
432
+ }
433
+ .dark .clarification-button.glass-button { color: #e5e7eb; background: rgba(55, 65, 81, 0.5); border-color: rgba(107, 114, 128, 0.4); }
434
+
435
+ .clarification-button.glass-button:nth-of-type(1) {
436
+ animation-delay: 0.1s;
437
+ }
438
+ .clarification-button.glass-button:nth-of-type(2) {
439
+ animation-delay: 0.2s;
440
+ }
441
+
442
+ .clarification-button.glass-button:hover {
443
+ background: rgba(255, 255, 255, 0.8);
444
+ border-color: rgba(107, 114, 128, 0.5);
445
+ transform: translateY(-2px);
446
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.07);
447
+ }
448
+ .dark .clarification-button.glass-button:hover { background: rgba(75, 85, 99, 0.8); border-color: rgba(156, 163, 175, 0.5); }
449
+
450
+ .clarification-button.glass-button:active {
451
+ transform: translateY(0px) scale(0.98);
452
+ box-shadow: none;
453
+ }
454
+
455
+ .clarification-button.glass-button svg {
456
+ flex-shrink: 0;
457
+ color: #4f46e5;
458
+ }
459
+ .dark .clarification-button.glass-button svg { color: #818cf8; }
460
+
461
+ .menu-item {
462
+ display: flex;
463
+ align-items: center;
464
+ gap: 0.75rem;
465
+ padding: 0.5rem 0.75rem;
466
+ font-size: 0.875rem;
467
+ color: #374151;
468
+ border-radius: 0.375rem;
469
+ transition: background-color 0.2s;
470
+ cursor: pointer;
471
+ width: 100%;
472
+ }
473
+ .dark .menu-item { color: #d1d5db; }
474
+ .menu-item:hover {
475
+ background-color: #f3f4f6;
476
+ }
477
+ .dark .menu-item:hover { background-color: #374151; }
478
+ .menu-item.danger:hover {
479
+ background-color: #fee2e2;
480
+ color: #b91c1c;
481
+ }
482
+ .dark .menu-item.danger:hover { background-color: #450a0a; color: #f87171; }
483
+ .menu-item svg {
484
+ width: 1.25rem;
485
+ height: 1.25rem;
486
+ }
487
+ .menu-divider {
488
+ height: 1px;
489
+ background-color: #e5e7eb;
490
+ margin: 0.5rem 0;
491
+ }
492
+ .dark .menu-divider { background-color: #374151; }
493
+
494
+ .sidebar-button {
495
+ display: flex;
496
+ align-items: center;
497
+ gap: 0.75rem;
498
+ padding: 0.75rem;
499
+ width: 100%;
500
+ text-align: right;
501
+ font-size: 0.875rem;
502
+ font-weight: 500;
503
+ border-radius: 0.5rem;
504
+ color: #4b5563;
505
+ transition: background-color 0.2s, color 0.2s;
506
+ }
507
+ .dark .sidebar-button { color: #d1d5db; }
508
+ .sidebar-button:hover { background-color: #e5e7eb; color: #1f2937; }
509
+ .dark .sidebar-button:hover { background-color: #374151; color: #f9fafb; }
510
+ .sidebar-button svg { flex-shrink: 0; }
511
+
512
+ .theme-switch {
513
+ position: relative;
514
+ display: inline-block;
515
+ width: 50px;
516
+ height: 28px;
517
+ }
518
+ .theme-switch input {
519
+ opacity: 0;
520
+ width: 0;
521
+ height: 0;
522
+ }
523
+ .slider {
524
+ position: absolute;
525
+ cursor: pointer;
526
+ top: 0;
527
+ left: 0;
528
+ right: 0;
529
+ bottom: 0;
530
+ background-color: #ccc;
531
+ transition: .4s;
532
+ border-radius: 28px;
533
+ }
534
+ .dark .slider { background-color: #374151; }
535
+ .slider:before {
536
+ position: absolute;
537
+ content: "";
538
+ height: 20px;
539
+ width: 20px;
540
+ left: 4px;
541
+ bottom: 4px;
542
+ background-color: white;
543
+ transition: .4s;
544
+ border-radius: 50%;
545
+ }
546
+ input:checked + .slider {
547
+ background-color: #4f46e5;
548
+ }
549
+ input:checked + .slider:before {
550
+ transform: translateX(22px);
551
+ }
552
+
553
+ .message-entry.model {
554
+ align-items: start;
555
+ }
556
+
557
+ .message-entry .message-content.model-bubble {
558
+ display: flex;
559
+ flex-direction: column;
560
+ width: 100%;
561
+ padding: 0;
562
+ }
563
+
564
+ .thinking-header-area {
565
+ display: flex;
566
+ align-items: center;
567
+ gap: 0.5rem;
568
+ padding: 1rem;
569
+ }
570
+
571
+ .model-icon-in-bubble {
572
+ width: 36px;
573
+ height: 36px;
574
+ border-radius: 50%;
575
+ background-color: #334155;
576
+ color: white;
577
+ display: flex;
578
+ align-items: center;
579
+ justify-content: center;
580
+ flex-shrink: 0;
581
+ margin-right: 0.75rem;
582
+ }
583
+ .dark .model-icon-in-bubble {
584
+ background-color: #475569;
585
+ }
586
+
587
+ .thinking-head {
588
+ display: inline-flex;
589
+ align-items: center;
590
+ gap: 0.5rem;
591
+ padding: 0.25rem 0.75rem;
592
+ border-radius: 9999px;
593
+ background-color: #f1f5f9;
594
+ border: 1px solid #e2e8f0;
595
+ cursor: pointer;
596
+ user-select: none;
597
+ transition: background-color 0.2s;
598
+ }
599
+ .dark .thinking-head {
600
+ background-color: #334151;
601
+ border-color: #475569;
602
+ }
603
+
604
+ .thinking-atom-icon {
605
+ width: 1.25rem;
606
+ height: 1.25rem;
607
+ }
608
+
609
+ .thinking-label {
610
+ font-size: 0.875rem;
611
+ font-weight: 500;
612
+ color: #334151;
613
+ }
614
+ .dark .thinking-label {
615
+ color: #cbd5e1;
616
+ }
617
+
618
+ .thinking-chevron {
619
+ width: 1rem;
620
+ height: 1rem;
621
+ color: #94a3b8;
622
+ transition: transform 0.3s;
623
+ }
624
+ .thinking-chevron.collapsed {
625
+ transform: rotate(-180deg);
626
+ }
627
+
628
+ .thinking-body {
629
+ max-height: 500px;
630
+ overflow-y: auto;
631
+ margin-top: 0.75rem;
632
+ padding: 0.75rem;
633
+ border-radius: 0.75rem;
634
+ background-color: #f8fafc;
635
+ border: 1px solid #e2e8f0;
636
+ color: #1e293b;
637
+ font-size: 0.875rem;
638
+ line-height: 1.6;
639
+ transition: all 0.4s ease-in-out;
640
+ }
641
+ .dark .thinking-body {
642
+ background-color: #1e293b;
643
+ border-color: #334151;
644
+ color: #e2e8f0;
645
+ }
646
+ .thinking-body.collapsed {
647
+ max-height: 0;
648
+ padding-top: 0;
649
+ padding-bottom: 0;
650
+ opacity: 0;
651
+ border: none;
652
+ margin-top: 0;
653
+ overflow: hidden;
654
+ }
655
+
656
+ .final-answer-wrapper {
657
+ width: 100%;
658
+ transition: opacity 0.5s, transform 0.5s;
659
+ }
660
+
661
+ .message-content.user-bubble-multipart {
662
+ padding: 0;
663
+ overflow: hidden;
664
+ }
665
+
666
+ .user-file-part {
667
+ padding: 8px;
668
+ }
669
+
670
+ .user-file-part.single {
671
+ padding: 0;
672
+ }
673
+
674
+ .user-file-part img,
675
+ .user-file-part video {
676
+ width: 100%;
677
+ display: block;
678
+ border-radius: 12px;
679
+ border: 2px solid rgba(255, 255, 255, 0.6);
680
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
681
+ }
682
+
683
+ .user-text-part {
684
+ padding: 10px 16px;
685
+ background-color: rgba(0, 0, 0, 0.1);
686
+ }
687
+
688
+ .beautiful-upgrade-btn {
689
+ font-family: 'Vazirmatn', sans-serif;
690
+ font-weight: 700;
691
+ font-size: 1rem;
692
+ padding: 0.8rem 2rem;
693
+ border-radius: 9999px;
694
+ color: white;
695
+ background-size: 200% auto;
696
+ background-image: linear-gradient(45deg, #f87171 0%, #fb923c 50%, #f87171 100%);
697
+ border: none;
698
+ cursor: pointer;
699
+ box-shadow: 0 4px 15px rgba(251, 146, 60, 0.4);
700
+ transition: all 0.4s ease-in-out;
701
+ display: inline-flex;
702
+ align-items: center;
703
+ justify-content: center;
704
+ gap: 0.5rem;
705
+ }
706
+ .dark .beautiful-upgrade-btn {
707
+ box-shadow: 0 4px 20px rgba(251, 146, 60, 0.5);
708
+ }
709
+
710
+ .beautiful-upgrade-btn:hover {
711
+ background-position: right center;
712
+ transform: translateY(-3px) scale(1.05);
713
+ box-shadow: 0 8px 25px rgba(251, 146, 60, 0.5);
714
+ }
715
+
716
+ .beautiful-upgrade-btn:active {
717
+ transform: translateY(0px) scale(1);
718
+ box-shadow: 0 2px 10px rgba(251, 146, 60, 0.3);
719
+ }
720
+
721
+ .premium-modal-content {
722
+ transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
723
+ transform: scale(0.95);
724
+ opacity: 0;
725
+ }
726
+ #premium-feature-modal.visible .premium-modal-content {
727
+ transform: scale(1);
728
+ opacity: 1;
729
+ }
730
+ #plus-required-modal.visible .premium-modal-content {
731
+ transform: scale(1);
732
+ opacity: 1;
733
+ }
734
+
735
+ @keyframes icon-float {
736
+ 0% { transform: translateY(0px); }
737
+ 50% { transform: translateY(-10px); }
738
+ 100% { transform: translateY(0px); }
739
+ }
740
+
741
+ #premium-modal-icon-container svg,
742
+ #plus-modal-icon-container svg {
743
+ animation: icon-float 3s ease-in-out infinite;
744
+ filter: drop-shadow(0 5px 15px rgba(0,0,0,0.15));
745
+ }
746
+
747
+ .settings-tier-container {
748
+ display: flex;
749
+ align-items: center;
750
+ gap: 12px;
751
+ animation: fade-slide-in 0.5s ease-out;
752
+ }
753
+ .settings-tier-icon {
754
+ width: 40px;
755
+ height: 40px;
756
+ }
757
+ .settings-tier-text {
758
+ font-size: 1rem;
759
+ font-weight: 600;
760
+ }
761
+ .settings-tier-text .tier-name-premium {
762
+ background: linear-gradient(45deg, #a78bfa, #60a5fa);
763
+ -webkit-background-clip: text;
764
+ background-clip: text;
765
+ color: transparent;
766
+ }
767
+ .settings-tier-text .tier-name-free {
768
+ color: #64748b;
769
+ }
770
+ .dark .settings-tier-text .tier-name-free {
771
+ color: #94a3b8;
772
+ }
773
+
774
+ #main-footer {
775
+ background: none;
776
+ }
777
+
778
+ .chat-input-box {
779
+ display: flex;
780
+ flex-direction: column;
781
+ justify-content: space-between;
782
+ background-color: #ffffff;
783
+ border: 1px solid #e0e0e0;
784
+ border-radius: 28px;
785
+ padding: 12px 16px;
786
+ padding-top: 18px;
787
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
788
+ box-sizing: border-box;
789
+ transform: scale(1);
790
+ transition: all 0.2s ease-out;
791
+ }
792
+ .dark .chat-input-box {
793
+ background-color: #1f2937;
794
+ border-color: #374151;
795
+ }
796
+
797
+ .chat-input-box:focus-within {
798
+ border-color: #a0a0a0;
799
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1), 0 4px 12px rgba(0, 0, 0, 0.1);
800
+ transform: scale(1.01);
801
+ }
802
+ .dark .chat-input-box:focus-within {
803
+ border-color: #6b7280;
804
+ box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15), 0 4px 12px rgba(0, 0, 0, 0.2);
805
+ }
806
+
807
+ .chat-text-input {
808
+ width: 100%;
809
+ border: none;
810
+ outline: none;
811
+ background-color: transparent;
812
+ font-size: 17px;
813
+ font-family: 'Vazirmatn', sans-serif;
814
+ color: #111827;
815
+ padding: 0;
816
+ margin-bottom: 10px;
817
+ resize: none;
818
+ max-height: 150px;
819
+ overflow-y: auto;
820
+ }
821
+ .dark .chat-text-input {
822
+ color: #f3f4f6;
823
+ }
824
+
825
+ .chat-text-input::placeholder {
826
+ color: #8e8e8e;
827
+ }
828
+ .dark .chat-text-input::placeholder {
829
+ color: #6b7280;
830
+ }
831
+
832
+ .buttons-wrapper {
833
+ display: flex;
834
+ align-items: center;
835
+ justify-content: flex-end;
836
+ gap: 8px;
837
+ width: 100%;
838
+ flex-shrink: 0;
839
+ }
840
+
841
+ .icon-button {
842
+ display: flex;
843
+ align-items: center;
844
+ justify-content: center;
845
+ width: 38px;
846
+ height: 38px;
847
+ background-color: #f0f2f5;
848
+ border: none;
849
+ border-radius: 50%;
850
+ cursor: pointer;
851
+ font-size: 18px;
852
+ color: #1f2937;
853
+ transition: all 0.3s ease;
854
+ }
855
+ .dark .icon-button {
856
+ background-color: #374151;
857
+ color: #e5e7eb;
858
+ }
859
+
860
+ .icon-button:hover {
861
+ background-color: #e4e6e9;
862
+ }
863
+ .dark .icon-button:hover {
864
+ background-color: #4b5563;
865
+ }
866
+
867
+ .send-button {
868
+ position: relative;
869
+ transition: all 0.3s ease !important;
870
+ }
871
+ .send-button.active {
872
+ background: linear-gradient(45deg, #4f46e5, #a259ff);
873
+ color: white;
874
+ transform: scale(1.05);
875
+ }
876
+ .send-button.active svg {
877
+ stroke: white;
878
+ }
879
+ .send-button svg {
880
+ position: absolute;
881
+ top: 50%;
882
+ left: 50%;
883
+ transform: translate(-50%, -50%);
884
+ transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
885
+ }
886
+ .send-button #stop-icon {
887
+ opacity: 0;
888
+ transform: translate(-50%, -50%) scale(0.5);
889
+ }
890
+ .send-button.is-loading #send-icon {
891
+ opacity: 0;
892
+ transform: translate(-50%, -50%) scale(0.5);
893
+ }
894
+ .send-button.is-loading #stop-icon {
895
+ opacity: 1;
896
+ transform: translate(-50%, -50%) scale(1);
897
+ display: block !important;
898
+ }
899
+ .dark .send-button.active {
900
+ background: linear-gradient(45deg, #6366f1, #c084fc);
901
+ }
902
+
903
+ .tools-container, .attach-container {
904
+ position: relative;
905
+ display: flex;
906
+ }
907
+
908
+ .tools-button {
909
+ display: flex;
910
+ align-items: center;
911
+ gap: 6px;
912
+ background-color: #f0f2f5;
913
+ border: none;
914
+ border-radius: 20px;
915
+ padding: 8px 14px;
916
+ font-size: 15px;
917
+ font-family: 'Vazirmatn', sans-serif;
918
+ cursor: pointer;
919
+ color: #1f2937;
920
+ transition: all 0.2s ease;
921
+ flex-shrink: 0;
922
+ }
923
+ .dark .tools-button {
924
+ background-color: #374151;
925
+ color: #e5e7eb;
926
+ }
927
+
928
+ .tools-button:hover {
929
+ background-color: #e4e6e9;
930
+ }
931
+ .dark .tools-button:hover {
932
+ background-color: #4b5563;
933
+ }
934
+
935
+ .tools-button.tool-selected {
936
+ padding: 8px 10px;
937
+ gap: 4px;
938
+ }
939
+
940
+ .tools-icon svg {
941
+ width: 20px;
942
+ height: 20px;
943
+ stroke: #333;
944
+ }
945
+ .dark .tools-icon svg {
946
+ stroke: #e5e7eb;
947
+ }
948
+
949
+ .tools-menu, #file-popup-menu {
950
+ position: absolute;
951
+ bottom: calc(100% + 10px);
952
+ left: 0;
953
+ background-color: #ffffff;
954
+ border-radius: 12px;
955
+ box-shadow: 0 4px 12px rgba(0,0,0,0.15);
956
+ padding: 8px;
957
+ width: max-content;
958
+ z-index: 50;
959
+ list-style: none;
960
+ margin: 0;
961
+ opacity: 0;
962
+ transform: translateY(10px) scale(0.95);
963
+ pointer-events: none;
964
+ transition: opacity 0.2s ease-out, transform 0.2s ease-out;
965
+ transform-origin: bottom left;
966
+ }
967
+ .dark .tools-menu, .dark #file-popup-menu {
968
+ background-color: #262f3d;
969
+ box-shadow: 0 4px 20px rgba(0,0,0,0.4);
970
+ }
971
+
972
+
973
+ .tools-menu.active, #file-popup-menu.active {
974
+ opacity: 1;
975
+ transform: translateY(0) scale(1);
976
+ pointer-events: auto;
977
+ }
978
+
979
+ .tool-item, .popup-option {
980
+ display: flex;
981
+ align-items: center;
982
+ padding: 0.75rem 1rem;
983
+ border-radius: 8px;
984
+ cursor: pointer;
985
+ transition: background-color 0.2s ease;
986
+ white-space: nowrap;
987
+ color: #374151;
988
+ font-size: 16px;
989
+ background: none;
990
+ border: none;
991
+ font-family: 'Vazirmatn', sans-serif;
992
+ width: 100%;
993
+ text-align: right;
994
+ }
995
+ .dark .tool-item, .dark .popup-option {
996
+ color: #e5e7eb;
997
+ }
998
+
999
+ .tool-item:hover, .popup-option:hover {
1000
+ background-color: #f0f2f5;
1001
+ }
1002
+ .dark .tool-item:hover, .dark .popup-option:hover {
1003
+ background-color: #374151;
1004
+ }
1005
+
1006
+ .tool-item-svg, .popup-option-svg {
1007
+ width: 32px;
1008
+ height: 32px;
1009
+ margin-left: 15px;
1010
+ flex-shrink: 0;
1011
+ filter: drop-shadow(0px 2px 3px rgba(0,0,0,0.2));
1012
+ transition: transform 0.3s ease, filter 0.3s ease;
1013
+ }
1014
+
1015
+ .tool-item:hover .tool-item-svg, .popup-option:hover .popup-option-svg {
1016
+ transform: translateY(-3px) scale(1.05);
1017
+ filter: drop-shadow(0px 4px 6px rgba(0,0,0,0.3));
1018
+ }
1019
+
1020
+ .clear-tool-selection {
1021
+ background: none;
1022
+ border: none;
1023
+ cursor: pointer;
1024
+ padding: 0;
1025
+ margin-right: 5px;
1026
+ display: flex;
1027
+ align-items: center;
1028
+ justify-content: center;
1029
+ color: #8e8e8e;
1030
+ transition: color 0.2s ease;
1031
+ }
1032
+ .dark .clear-tool-selection {
1033
+ color: #9ca3af;
1034
+ }
1035
+
1036
+ .clear-tool-selection:hover {
1037
+ color: #333;
1038
+ }
1039
+ .dark .clear-tool-selection:hover {
1040
+ color: #e5e7eb;
1041
+ }
1042
+
1043
+ .clear-tool-selection svg {
1044
+ width: 16px;
1045
+ height: 16px;
1046
+ stroke: currentColor;
1047
+ }
1048
+
1049
+ .popup-option .upload-arrow {
1050
+ animation: uploadPulse 1.5s infinite alternate ease-in-out;
1051
+ }
1052
+ @keyframes uploadPulse {
1053
+ 0% { transform: translateY(0); opacity: 1; }
1054
+ 50% { transform: translateY(-3px); opacity: 0.8; }
1055
+ 100% { transform: translateY(0); opacity: 1; }
1056
+ }
1057
+
1058
+ .popup-option .magnifier-group {
1059
+ transform-origin: 12px 14px;
1060
+ animation: magnifierFloatScan 3s infinite alternate ease-in-out;
1061
+ }
1062
+ @keyframes magnifierFloatScan {
1063
+ 0% { transform: translate(0px, 0px) scale(1); }
1064
+ 33% { transform: translate(1px, -1px) scale(1.02); }
1065
+ 66% { transform: translate(-1px, 1px) scale(1.02); }
1066
+ 100% { transform: translate(0px, 0px) scale(1); }
1067
+ }
1068
+
1069
+ .popup-option .magnifying-lens {
1070
+ animation: lensGlow 2s infinite alternate ease-in-out;
1071
+ }
1072
+ @keyframes lensGlow {
1073
+ 0% { fill: rgba(180, 220, 255, 0.7); }
1074
+ 50% { fill: rgba(220, 240, 255, 1); }
1075
+ 100% { fill: rgba(180, 220, 255, 0.7); }
1076
+ }
1077
+
1078
+ /* DEEP THINK TV STYLES */
1079
+ .deep-think-tv-container {
1080
+ padding: 1rem;
1081
+ box-sizing: border-box;
1082
+ width: 100%;
1083
+ }
1084
+ .deep-think-tv {
1085
+ width: 100%;
1086
+ aspect-ratio: 16 / 9;
1087
+ position:relative;
1088
+ border-radius: 12px;
1089
+ padding: 1.5vmin;
1090
+ isolation:isolate;
1091
+ transition: background .3s ease, box-shadow .3s ease;
1092
+ background: #dbe1e8;
1093
+ box-shadow: 0 4vmin 9vmin rgba(0,0,0,.25), 0 0 0 1px #fff inset;
1094
+ }
1095
+ .dark .deep-think-tv {
1096
+ background: #0a0f1e;
1097
+ box-shadow: 0 4vmin 9vmin rgba(0,0,0,.45), 0 0 0 2px rgba(255,255,255,.04) inset;
1098
+ }
1099
+ .deep-think-tv::before{
1100
+ content:"";
1101
+ position:absolute; inset:-2px;
1102
+ border-radius: calc(12px + 2px);
1103
+ padding:2px;
1104
+ background: linear-gradient(135deg, #60a5fa, #a78bfa);
1105
+ -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
1106
+ -webkit-mask-composite: xor;
1107
+ mask-composite: exclude;
1108
+ pointer-events:none;
1109
+ filter: blur(.3px);
1110
+ }
1111
+ .deep-think-tv .screen{
1112
+ position:relative;
1113
+ width:100%; height:100%;
1114
+ border-radius: 8px;
1115
+ overflow:hidden;
1116
+ transition: background .3s ease, box-shadow .3s ease;
1117
+ background: linear-gradient(135deg, #e1e7f0, #f8f9fc);
1118
+ box-shadow: inset 0 0 4vmin rgba(0,0,0,.15);
1119
+ }
1120
+ .dark .deep-think-tv .screen {
1121
+ background: radial-gradient(120% 140% at 50% 10%, rgba(167,139,250,.12), rgba(96,165,250,.10) 40%, transparent 60%), radial-gradient(120% 170% at 50% 120%, rgba(10,16,34,1) 40%, rgba(7,11,20,1) 100%), linear-gradient(135deg, #0b1430, #0b1026);
1122
+ box-shadow: inset 0 0 4vmin rgba(0,0,0,.55), inset 0 0 14vmin rgba(88, 101, 242, .12);
1123
+ }
1124
+ .deep-think-tv .scanlines::after{
1125
+ content:"";
1126
+ position:absolute; inset:0;
1127
+ background: repeating-linear-gradient( to bottom, rgba(0,0,0,.08) 0 1px, transparent 1px 3px );
1128
+ opacity:.15;
1129
+ pointer-events:none;
1130
+ }
1131
+ .dark .deep-think-tv .scanlines::after {
1132
+ background: repeating-linear-gradient( to bottom, rgba(255,255,255,.04) 0 1px, rgba(0,0,0,0) 1px 3px );
1133
+ mix-blend-mode: overlay;
1134
+ opacity:.35;
1135
+ }
1136
+ .deep-think-tv .gloss::before{
1137
+ content:"";
1138
+ position:absolute;
1139
+ top:-10%; left:-10%;
1140
+ width:80%; height:80%;
1141
+ background:linear-gradient(160deg, rgba(255,255,255,.35), rgba(255,255,255,0) 60%);
1142
+ border-radius:80% 50% 40% 60% / 50% 50% 40% 50%;
1143
+ filter: blur(6px);
1144
+ transform: rotate(4deg);
1145
+ pointer-events:none;
1146
+ }
1147
+ .dark .deep-think-tv .gloss::before {
1148
+ background:linear-gradient(160deg, rgba(255,255,255,.18), rgba(255,255,255,0) 60%);
1149
+ }
1150
+ .deep-think-tv .ui{
1151
+ position:absolute; inset:0;
1152
+ display:flex; flex-direction:column;
1153
+ padding: 2vmin 2.2vmin;
1154
+ gap: 1.5vmin;
1155
+ color: #2c3e50;
1156
+ }
1157
+ .dark .deep-think-tv .ui { color: #e6ecff; }
1158
+ .deep-think-tv .header { display: flex; flex-direction: column; gap: 1.2vmin; }
1159
+ .deep-think-tv .topbar{ display:flex; align-items:center; justify-content:space-between; gap: 1.2vmin; }
1160
+ .deep-think-tv .badge{
1161
+ display:inline-flex; align-items:center; gap: .8vmin;
1162
+ padding: .8vmin 1.2vmin;
1163
+ border-radius:999px;
1164
+ font-weight:600;
1165
+ letter-spacing:.2px;
1166
+ font-size: 1.4vmin;
1167
+ background: rgba(0, 0, 0, 0.05);
1168
+ border:1px solid rgba(0, 0, 0, 0.1);
1169
+ }
1170
+ .dark .deep-think-tv .badge {
1171
+ background: linear-gradient(135deg, rgba(96,165,250,.18), rgba(167,139,250,.18));
1172
+ border:1px solid rgba(255,255,255,.08);
1173
+ box-shadow: inset 0 0 1.2vmin rgba(96,165,250,.18);
1174
+ }
1175
+ .deep-think-tv .dot{
1176
+ width: .8vmin; height: .8vmin; border-radius:50%;
1177
+ background: #34d399;
1178
+ box-shadow: 0 0 1vmin #34d399, 0 0 2vmin #34d399;
1179
+ animation: blink 1.4s infinite;
1180
+ }
1181
+ @keyframes blink{ 0%, 100% { opacity: .25 } 50% { opacity: 1 } }
1182
+ .deep-think-tv .topic{
1183
+ display:flex; align-items:center; gap: .8vmin; flex-wrap:nowrap;
1184
+ font-size: 1.5vmin;
1185
+ color: #52617a;
1186
+ overflow: hidden;
1187
+ }
1188
+ .dark .deep-think-tv .topic { color: #a9b3d1; }
1189
+ .deep-think-tv .topic strong{
1190
+ font-weight:700;
1191
+ background: linear-gradient(135deg, #4f46e5, #7c3aed);
1192
+ -webkit-background-clip: text; background-clip: text;
1193
+ -webkit-text-fill-color: transparent;
1194
+ white-space: nowrap; text-overflow: ellipsis; overflow: hidden;
1195
+ }
1196
+ .dark .deep-think-tv .topic strong {
1197
+ background: linear-gradient(135deg, #60a5fa, #a78bfa);
1198
+ -webkit-background-clip: text; background-clip: text;
1199
+ color: #f0f4ff;
1200
+ }
1201
+ .deep-think-tv .steps{ display:flex; gap: .8vmin; flex-wrap:wrap; }
1202
+ .deep-think-tv .step{
1203
+ padding: .8vmin 1vmin;
1204
+ border-radius: 1vmin;
1205
+ font-size: 1.3vmin;
1206
+ opacity:.65;
1207
+ transition:.25s ease;
1208
+ background: rgba(0,0,0,.05);
1209
+ border: 1px solid rgba(0,0,0,.08);
1210
+ }
1211
+ .dark .deep-think-tv .step {
1212
+ background: linear-gradient(135deg, rgba(96,165,250,.14), rgba(167,139,250,.14));
1213
+ border: 1px solid rgba(255,255,255,.08);
1214
+ }
1215
+ .deep-think-tv .step.active{
1216
+ opacity:1;
1217
+ box-shadow: 0 0 1.8vmin rgba(96,165,250,.28);
1218
+ }
1219
+ .deep-think-tv .step .mini{
1220
+ display:inline-block; width: .8vmin; height: .8vmin; border-radius:50%; margin-left: .6vmin;
1221
+ background:linear-gradient(135deg, #60a5fa, #a78bfa);
1222
+ box-shadow:0 0 .8vmin rgba(167,139,250,.6);
1223
+ }
1224
+ .deep-think-tv .progress{
1225
+ height: 1vmin; border-radius: .8vmin; overflow:hidden;
1226
+ background: rgba(0,0,0,.1);
1227
+ border:1px solid rgba(0,0,0,.08);
1228
+ }
1229
+ .dark .deep-think-tv .progress {
1230
+ background: rgba(255,255,255,.07);
1231
+ border:1px solid rgba(255,255,255,.06);
1232
+ }
1233
+ .deep-think-tv .bar{
1234
+ height:100%; width:0%;
1235
+ background: linear-gradient(90deg, #60a5fa, #a78bfa);
1236
+ box-shadow: 0 0 2.4vmin rgba(167,139,250,.45);
1237
+ transition: width .6s cubic-bezier(.4, .0, .2, 1);
1238
+ }
1239
+ .deep-think-tv .log{
1240
+ flex:1;
1241
+ display:flex; flex-direction:column; gap: 1vmin;
1242
+ padding: 1.2vmin;
1243
+ border-radius: 1.2vmin;
1244
+ overflow:auto;
1245
+ background: rgba(255,255,255,.4);
1246
+ border:1px solid rgba(255,255,255,.6);
1247
+ }
1248
+ .dark .deep-think-tv .log {
1249
+ background: linear-gradient(180deg, rgba(10,16,34,.65), rgba(10,16,34,.35));
1250
+ border:1px solid rgba(255,255,255,.06);
1251
+ }
1252
+ .deep-think-tv .row{
1253
+ display:flex; align-items:flex-start; gap: 1vmin;
1254
+ font-size: 1.5vmin;
1255
+ color: #3d4c66;
1256
+ animation: fade-in-item 0.4s ease-out;
1257
+ }
1258
+ .dark .deep-think-tv .row { color: #eaf1ff; }
1259
+ .deep-think-tv .row .icon{
1260
+ width: 1.8vmin; height: 1.8vmin; flex:none;
1261
+ border-radius: .6vmin;
1262
+ display:grid; place-items:center;
1263
+ font-size: 1.1vmin;
1264
+ background: rgba(0,0,0,.08);
1265
+ }
1266
+ .dark .deep-think-tv .row .icon {
1267
+ background: linear-gradient(135deg, rgba(96,165,250,.22), rgba(167,139,250,.22));
1268
+ box-shadow: inset 0 0 1vmin rgba(167,139,250,.22);
1269
+ }
1270
+ .deep-think-tv .final-answer-wrapper {
1271
+ transition: opacity 0.5s ease-in-out, max-height 0.5s ease-in-out;
1272
+ max-height: 0;
1273
+ opacity: 0;
1274
+ overflow: hidden;
1275
+ }
1276
+ .deep-think-tv .final-answer-wrapper.visible {
1277
+ max-height: 1000px; /* or a large enough value */
1278
+ opacity: 1;
1279
+ }
1280
+ @keyframes fade-in-item {
1281
+ from { opacity: 0; transform: translateY(5px); }
1282
+ to { opacity: 1; transform: translateY(0); }
1283
+ }
1284
+
1285
+ .ws-loading-container .dots {
1286
+ display: flex;
1287
+ gap: 8px;
1288
+ padding: 0.5rem 0.2rem;
1289
+ }
1290
+
1291
+ .ws-loading-container .dot {
1292
+ width: 14px;
1293
+ height: 14px;
1294
+ border-radius: 50%;
1295
+ background: linear-gradient(135deg, #3a8fff, #a44fff);
1296
+ animation: bounce 1s infinite ease-in-out;
1297
+ }
1298
+
1299
+ .ws-loading-container .dot:nth-child(2) {
1300
+ animation-delay: 0.2s;
1301
+ }
1302
+
1303
+ .ws-loading-container .dot:nth-child(3) {
1304
+ animation-delay: 0.4s;
1305
+ }
1306
+
1307
+ @keyframes bounce {
1308
+ 0%, 80%, 100% {
1309
+ transform: translateY(0);
1310
+ }
1311
+ 40% {
1312
+ transform: translateY(-8px);
1313
+ }
1314
+ }
1315
+
1316
+ /* Premium Feature Animation */
1317
+ @keyframes premium-glow-pulse {
1318
+ 0%, 100% {
1319
+ transform: scale(1);
1320
+ box-shadow: 0 0 8px rgba(167, 139, 250, 0.4);
1321
+ }
1322
+ 50% {
1323
+ transform: scale(1.05);
1324
+ box-shadow: 0 0 20px rgba(167, 139, 250, 0.8);
1325
+ }
1326
+ }
1327
+
1328
+ .animate-premium-lock > * {
1329
+ animation: premium-glow-pulse 0.8s ease-in-out;
1330
+ }
1331
+
1332
+ .premium-locked-item {
1333
+ position: relative;
1334
+ }
1335
+
1336
+ .premium-required-notice {
1337
+ position: absolute;
1338
+ bottom: -28px;
1339
+ left: 50%;
1340
+ transform: translateX(-50%) translateY(10px);
1341
+ background-color: #1f2937;
1342
+ color: #f9fafb;
1343
+ padding: 4px 10px;
1344
+ border-radius: 6px;
1345
+ font-size: 0.75rem;
1346
+ white-space: nowrap;
1347
+ opacity: 0;
1348
+ transition: all 0.3s ease-out;
1349
+ pointer-events: none;
1350
+ box-shadow: 0 2px 5px rgba(0,0,0,0.2);
1351
+ }
1352
+ .dark .premium-required-notice {
1353
+ background-color: #f9fafb;
1354
+ color: #1f2937;
1355
+ }
1356
+
1357
+ .premium-locked-item.show-notice .premium-required-notice {
1358
+ opacity: 1;
1359
+ transform: translateX(-50%) translateY(0);
1360
+ }
1361
+ /* === START: REASONING HUD STYLES === */
1362
+ .reasoning-hud-container {
1363
+ padding: 1rem;
1364
+ box-sizing: border-box;
1365
+ width: 100%;
1366
+ }
1367
+ .reasoning-hud {
1368
+ width: 100%;
1369
+ aspect-ratio: 16 / 9;
1370
+ position: relative;
1371
+ border-radius: 12px;
1372
+ padding: 1.5vmin;
1373
+ isolation: isolate;
1374
+ transition: background .3s ease, box-shadow .3s ease;
1375
+ background: #eef2f7;
1376
+ box-shadow: 0 4vmin 9vmin rgba(0,0,0,.15), 0 0 0 1px #fff inset;
1377
+ overflow: hidden;
1378
+ }
1379
+ .dark .reasoning-hud {
1380
+ background: #111827;
1381
+ box-shadow: 0 4vmin 9vmin rgba(0,0,0,.35), 0 0 0 2px rgba(255,255,255,.04) inset;
1382
+ }
1383
+
1384
+ .reasoning-hud::before {
1385
+ content: "";
1386
+ position: absolute;
1387
+ inset: -2px;
1388
+ border-radius: calc(12px + 2px);
1389
+ padding: 2px;
1390
+ background: linear-gradient(135deg, #34d399, #3b82f6);
1391
+ -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
1392
+ -webkit-mask-composite: xor;
1393
+ mask-composite: exclude;
1394
+ pointer-events: none;
1395
+ filter: blur(.3px);
1396
+ }
1397
+
1398
+ .reasoning-hud .grid-bg {
1399
+ position: absolute;
1400
+ inset: 0;
1401
+ background-image:
1402
+ linear-gradient(rgba(0, 160, 255, 0.1) 1px, transparent 1px),
1403
+ linear-gradient(90deg, rgba(0, 160, 255, 0.1) 1px, transparent 1px);
1404
+ background-size: 20px 20px;
1405
+ opacity: 0.5;
1406
+ animation: pan-grid 10s linear infinite;
1407
+ }
1408
+ .dark .reasoning-hud .grid-bg {
1409
+ background-image:
1410
+ linear-gradient(rgba(59, 130, 246, 0.15) 1px, transparent 1px),
1411
+ linear-gradient(90deg, rgba(59, 130, 246, 0.15) 1px, transparent 1px);
1412
+ }
1413
+
1414
+ @keyframes pan-grid {
1415
+ from { background-position: 0 0; }
1416
+ to { background-position: -20px -20px; }
1417
+ }
1418
+
1419
+ .reasoning-hud .ui-content {
1420
+ position: relative;
1421
+ z-index: 2;
1422
+ width: 100%;
1423
+ height: 100%;
1424
+ display: flex;
1425
+ flex-direction: column;
1426
+ padding: 1.5vmin;
1427
+ gap: 1.5vmin;
1428
+ color: #1f2937;
1429
+ }
1430
+ .dark .reasoning-hud .ui-content {
1431
+ color: #e5e7eb;
1432
+ }
1433
+
1434
+ .reasoning-hud .header {
1435
+ display: flex;
1436
+ flex-direction: column;
1437
+ gap: 1vmin;
1438
+ }
1439
+
1440
+ .reasoning-hud .badge {
1441
+ display: inline-flex;
1442
+ align-items: center;
1443
+ gap: .8vmin;
1444
+ padding: .8vmin 1.2vmin;
1445
+ border-radius: 999px;
1446
+ font-weight: 600;
1447
+ font-size: 1.4vmin;
1448
+ background: rgba(255, 255, 255, 0.5);
1449
+ border: 1px solid rgba(0, 0, 0, 0.1);
1450
+ backdrop-filter: blur(4px);
1451
+ }
1452
+ .dark .reasoning-hud .badge {
1453
+ background: rgba(31, 41, 55, 0.5);
1454
+ border: 1px solid rgba(255, 255, 255, 0.1);
1455
+ }
1456
+
1457
+ .reasoning-hud .dot {
1458
+ width: .8vmin;
1459
+ height: .8vmin;
1460
+ border-radius: 50%;
1461
+ background: #34d399;
1462
+ box-shadow: 0 0 1vmin #34d399, 0 0 2vmin #34d399;
1463
+ animation: blink 1.4s infinite;
1464
+ }
1465
+
1466
+ .reasoning-hud .topic {
1467
+ font-size: 1.5vmin;
1468
+ color: #4b5563;
1469
+ overflow: hidden;
1470
+ white-space: nowrap;
1471
+ text-overflow: ellipsis;
1472
+ }
1473
+ .dark .reasoning-hud .topic {
1474
+ color: #9ca3af;
1475
+ }
1476
+
1477
+ .reasoning-hud .topic strong {
1478
+ font-weight: 700;
1479
+ color: #1d4ed8;
1480
+ }
1481
+ .dark .reasoning-hud .topic strong {
1482
+ color: #60a5fa;
1483
+ }
1484
+
1485
+ .reasoning-hud .progress {
1486
+ height: 1vmin;
1487
+ border-radius: .8vmin;
1488
+ overflow: hidden;
1489
+ background: rgba(0,0,0,.1);
1490
+ border: 1px solid rgba(0,0,0,.08);
1491
+ }
1492
+ .dark .reasoning-hud .progress {
1493
+ background: rgba(255,255,255,.1);
1494
+ border: 1px solid rgba(255,255,255,.1);
1495
+ }
1496
+
1497
+ .reasoning-hud .bar {
1498
+ height: 100%;
1499
+ width: 0%;
1500
+ background: linear-gradient(90deg, #34d399, #3b82f6);
1501
+ box-shadow: 0 0 2.4vmin rgba(59, 130, 246, .45);
1502
+ transition: width .6s cubic-bezier(.4, .0, .2, 1);
1503
+ }
1504
+
1505
+ .reasoning-hud .log {
1506
+ flex: 1;
1507
+ display: flex;
1508
+ flex-direction: column;
1509
+ gap: 1vmin;
1510
+ padding: 1.2vmin;
1511
+ border-radius: 1vmin;
1512
+ overflow: auto;
1513
+ background: rgba(255, 255, 255, 0.4);
1514
+ border: 1px solid rgba(0, 0, 0, 0.05);
1515
+ backdrop-filter: blur(2px);
1516
+ }
1517
+ .dark .reasoning-hud .log {
1518
+ background: rgba(31, 41, 55, 0.4);
1519
+ border: 1px solid rgba(255, 255, 255, 0.08);
1520
+ }
1521
+
1522
+ .reasoning-hud .row {
1523
+ display: flex;
1524
+ align-items: flex-start;
1525
+ gap: 1vmin;
1526
+ font-size: 1.5vmin;
1527
+ color: #374151;
1528
+ animation: fade-in-item 0.4s ease-out;
1529
+ }
1530
+ .dark .reasoning-hud .row {
1531
+ color: #d1d5db;
1532
+ }
1533
+
1534
+ .reasoning-hud .row .icon {
1535
+ width: 1.8vmin;
1536
+ height: 1.8vmin;
1537
+ flex: none;
1538
+ color: #3b82f6;
1539
+ }
1540
+ .dark .reasoning-hud .row .icon {
1541
+ color: #60a5fa;
1542
+ }
1543
+ /* === END: REASONING HUD STYLES === */
1544
+
1545
+ @keyframes spin {
1546
+ to { transform: rotate(360deg); }
1547
+ }
1548
+
1549
+ #global-audio-player.visible {
1550
+ transform: translateY(0);
1551
+ }
1552
+ .action-button .loading-spinner {
1553
+ display: none;
1554
+ width: 1rem;
1555
+ height: 1rem;
1556
+ border-width: 2px;
1557
+ border-color: #9ca3af;
1558
+ border-top-color: #3b82f6;
1559
+ border-radius: 50%;
1560
+ animation: spin 0.8s linear infinite;
1561
+ }
1562
+ .dark .action-button .loading-spinner {
1563
+ border-color: #6b7280;
1564
+ border-top-color: #60a5fa;
1565
+ }
1566
+ .action-button.loading .speak-icon {
1567
+ display: none;
1568
+ }
1569
+ .action-button.loading .loading-spinner {
1570
+ display: block;
1571
+ }
1572
+ /* ... (کدهای قبلی شما) ... */
1573
+
1574
+ /* === START: استایل‌های جدید برای دکمه پخش/توقف صدا === */
1575
+ .action-button .loading-spinner,
1576
+ .action-button .speak-icon,
1577
+ .action-button .pause-icon {
1578
+ display: none; /* در حالت عادی همه مخفی هستند */
1579
+ }
1580
+
1581
+ .action-button .speak-icon {
1582
+ display: block; /* آیکون پخش به صورت پیش‌فرض نمایش داده می‌شود */
1583
+ }
1584
+
1585
+ .action-button.loading .speak-icon,
1586
+ .action-button.loading .pause-icon {
1587
+ display: none;
1588
+ }
1589
+ .action-button.loading .loading-spinner {
1590
+ display: block;
1591
+ }
1592
+
1593
+ .action-button.playing .speak-icon,
1594
+ .action-button.playing .loading-spinner {
1595
+ display: none;
1596
+ }
1597
+ .action-button.playing .pause-icon {
1598
+ display: block !important;
1599
+ }
1600
+ /* === END: استایل‌های جدید === */
1601
+
1602
+
1603
+ @keyframes spin {
1604
+ to { transform: rotate(360deg); }
1605
+ }
1606
+
1607
+ #global-audio-player.visible {
1608
+ transform: translateY(0);
1609
+ }
1610
+ /* START: CSS for Thoughts Toggle Switch */
1611
+ .tool-item-full-width {
1612
+ padding: 0.5rem 0.75rem;
1613
+ width: 100%;
1614
+ cursor: default;
1615
+ }
1616
+ .tool-item-full-width:hover {
1617
+ background-color: transparent !important;
1618
+ }
1619
+ .dark .tool-item-full-width:hover {
1620
+ background-color: transparent !important;
1621
+ }
1622
+
1623
+ .toggle-wrapper {
1624
+ display: flex;
1625
+ align-items: center;
1626
+ justify-content: space-between;
1627
+ width: 100%;
1628
+ }
1629
+
1630
+ .toggle-label {
1631
+ font-size: 16px;
1632
+ color: #374151;
1633
+ font-weight: 500;
1634
+ user-select: none;
1635
+ }
1636
+ .dark .toggle-label {
1637
+ color: #e5e7eb;
1638
+ }
1639
+
1640
+ .toggle-switch {
1641
+ --switch-width: 60px;
1642
+ --switch-height: 30px;
1643
+ --thumb-size: 24px;
1644
+ --padding: 3px;
1645
+ width: var(--switch-width);
1646
+ height: var(--switch-height);
1647
+ background-color: #d1d5db; /* Gray for inactive */
1648
+ border-radius: calc(var(--switch-height) / 2);
1649
+ position: relative;
1650
+ cursor: pointer;
1651
+ transition: background-color 0.3s ease, box-shadow 0.3s ease;
1652
+ box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
1653
+ display: flex;
1654
+ align-items: center;
1655
+ padding: var(--padding);
1656
+ box-sizing: border-box;
1657
+ flex-shrink: 0;
1658
+ }
1659
+ .dark .toggle-switch {
1660
+ background-color: #4b5563;
1661
+ }
1662
+
1663
+ .toggle-switch.active {
1664
+ background-color: #28a745; /* Green for active */
1665
+ box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.25), 0 0 8px rgba(40, 167, 69, 0.4);
1666
+ }
1667
+
1668
+ .toggle-thumb {
1669
+ width: var(--thumb-size);
1670
+ height: var(--thumb-size);
1671
+ background: linear-gradient(145deg, #ffd700, #ccac00);
1672
+ border-radius: 50%;
1673
+ position: absolute;
1674
+ left: var(--padding);
1675
+ transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
1676
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
1677
+ display: flex;
1678
+ justify-content: center;
1679
+ align-items: center;
1680
+ }
1681
+
1682
+ .toggle-switch.active .toggle-thumb {
1683
+ transform: translateX(calc(var(--switch-width) - var(--thumb-size) - 2 * var(--padding)));
1684
+ box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
1685
+ }
1686
+
1687
+ .thumb-text {
1688
+ color: #4a4a4a;
1689
+ font-size: 11px;
1690
+ font-weight: 900;
1691
+ user-select: none;
1692
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
1693
+ }
1694
+ /* END: CSS for Thoughts Toggle Switch */
1695
+ /* ... تمام کدهای قبلی شما ... */
1696
+
1697
+ /* START: NEW STYLES for Final Answer Wrapper */
1698
+ .final-answer-wrapper {
1699
+ transition: opacity 0.5s ease-in-out, max-height 0.5s ease-in-out;
1700
+ max-height: 0;
1701
+ opacity: 0;
1702
+ overflow: hidden;
1703
+ }
1704
+
1705
+ .final-answer-wrapper.visible {
1706
+ /* *** START: MODIFIED - تغییر اصلی برای حذف محدودیت ارتفاع *** */
1707
+ /* یک عدد بسیار بزرگ انتخاب می‌کنیم تا عملا نامحدود باشد اما انیمیشن حفظ شود */
1708
+ max-height: 50000px;
1709
+ opacity: 1;
1710
+ /* *** END: MODIFIED *** */
1711
+ }
1712
+ /* END: NEW STYLES for Final Answer Wrapper */