wynai commited on
Commit
8573ae0
·
verified ·
1 Parent(s): fdaa99f

Update custom.css

Browse files
Files changed (1) hide show
  1. custom.css +17 -157
custom.css CHANGED
@@ -1,140 +1,3 @@
1
- /* ===========================
2
- WynGPT - custom.css (updated)
3
- =========================== */
4
-
5
- /* === Voice mode button: gradient + blur + glow === */
6
- [aria-label="Voice mode"]{
7
- background: linear-gradient(135deg,#ffffff,#cceeff,#99ddff,#66ccff,#33ccff,#00ccff);
8
- background-size: 600% 600%;
9
- animation: blendShift 16s ease-in-out infinite;
10
- color:#fff;border:none;
11
- backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
12
- box-shadow: 0 0 20px rgba(0,204,255,.4),0 0 40px rgba(0,204,255,.3),0 0 60px rgba(0,204,255,.2);
13
- transition:.3s; position:relative; z-index:1;
14
- }
15
- @keyframes blendShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
16
-
17
- /* === Send button === */
18
- /*
19
- #send-message-button{ background:#33ccff !important; }
20
- html.dark #send-message-button, :root.dark #send-message-button{ background:#0099ff !important; }
21
- */
22
-
23
- /* === Tooltip (Tippy) blur === */
24
- .tippy-box{
25
- background:rgba(255,255,255,.1) !important;
26
- backdrop-filter: blur(10px) !important; -webkit-backdrop-filter: blur(10px) !important;
27
- color:#000 !important; border:1px solid rgba(0,0,0,.1) !important;
28
- }
29
- html.dark .tippy-box, :root.dark .tippy-box{
30
- background:rgba(0,0,0,.1) !important;
31
- backdrop-filter: blur(10px) !important; -webkit-backdrop-filter: blur(10px) !important;
32
- color:#fff !important; border:1px solid rgba(255,255,255,.1) !important;
33
- }
34
-
35
- /* ================= (Sidebar styles REMOVED as requested) ================= */
36
-
37
- /* ================= Khung nhập tin nhắn ================= */
38
- html.light #message-textarea{
39
- backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
40
- background: rgba(255,255,255,.5) !important; color:#000 !important;
41
- border:1px solid rgba(0,0,0,.1); border-radius:8px;
42
- }
43
- html.dark #message-textarea, :root.dark #message-textarea{
44
- backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
45
- background: rgba(0,0,0,.35) !important; color:#fff !important;
46
- border:1px solid rgba(255,255,255,.1); border-radius:8px;
47
- }
48
-
49
- /* ================= Popup / Menu ================= */
50
- html:has([role="dialog"][data-state="open"]), html:has([role="menu"][data-state="open"]) { position:relative; }
51
- html.light:has([role="dialog"][data-state="open"])::before,
52
- html.light:has([role="menu"][data-state="open"])::before{
53
- content:""; position:fixed; inset:0; z-index: 40;
54
- background: rgba(255,255,255,.1);
55
- backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
56
- pointer-events:none;
57
- }
58
- html.dark:has([role="dialog"][data-state="open"])::before,
59
- html.dark:has([role="menu"][data-state="open"])::before{
60
- content:""; position:fixed; inset:0; z-index: 40;
61
- background: rgba(0,0,0,.18);
62
- backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
63
- pointer-events:none;
64
- }
65
-
66
- /* Popup/menu mờ ĐẬM hơn với màu blur mới */
67
- html.light [role="dialog"], html.light [role="menu"],
68
- html.dark [role="dialog"], html.dark [role="menu"]{
69
- background: rgba(23,23,23,0.5) !important;
70
- backdrop-filter: blur(10px) !important; -webkit-backdrop-filter: blur(10px) !important;
71
- color: inherit !important;
72
- border-radius:12px; overflow:hidden;
73
- border:1px solid rgba(255,255,255,.12);
74
- position:relative; z-index: 50 !important;
75
- }
76
-
77
- /* ================= Cài đặt: POPUP (center, bigger) ================= */
78
- [role="dialog"]{
79
- position: fixed !important;
80
- top: 50% !important; left: 50% !important;
81
- transform: translate(-50%,-50%) !important;
82
- width: min(960px, 96vw) !important;
83
- max-height: 90vh !important; height: auto !important;
84
- margin:0 !important; max-width:none !important;
85
- border-radius:16px !important;
86
- overflow: auto !important;
87
- }
88
-
89
- /* Không blur các phần con bên trong dialog */
90
- [role="dialog"] *{
91
- backdrop-filter: none !important;
92
- -webkit-backdrop-filter: none !important;
93
- background-color: transparent;
94
- }
95
-
96
- /* Nút LƯU */
97
- [role="dialog"] button:is(#save-button, [type="submit"], [aria-label*="Lưu" i], [aria-label*="Save" i], [data-action="save"], [data-testid*="save" i], [id*="save" i], [class*="save" i]){
98
- border-radius: 10px; padding: .55rem 1rem; font-weight:600;
99
- border:1px solid rgba(0,0,0,.8);
100
- background:#000; color:#fff;
101
- transition: transform .12s ease, opacity .2s ease;
102
- }
103
- [role="dialog"] button:is(#save-button, [type="submit"], [aria-label*="Lưu" i], [aria-label*="Save" i], [data-action="save"], [data-testid*="save" i], [id*="save" i], [class*="save" i]):hover{ opacity:.9 }
104
- [role="dialog"] button:is(#save-button, [type="submit"], [aria-label*="Lưu" i], [aria-label*="Save" i], [data-action="save"], [data-testid*="save" i], [id*="save" i], [class*="save" i]):active{ transform: translateY(1px) }
105
- html.dark [role="dialog"] button:is(#save-button, [type="submit"], [aria-label*="Lưu" i], [aria-label*="Save" i], [data-action="save"], [data-testid*="save" i], [id*="save" i], [class*="save" i]){
106
- background:#fff; color:#000; border-color: rgba(255,255,255,.85);
107
- }
108
-
109
- /* Toast/thông báo luôn rõ */
110
- [role="status"], .toast, [data-sonner-toaster]{
111
- position:relative; z-index:60;
112
- backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
113
- }
114
-
115
- [role="switch"]{
116
- position: relative;
117
- display:inline-flex; align-items:center; justify-content:flex-start;
118
- width: 42px; height: 24px; border-radius:999px;
119
- background: rgba(0,0,0,.2);
120
- transition: background-color .25s ease, box-shadow .25s ease;
121
- }
122
- html.dark [role="switch"]{ background: rgba(255,255,255,.25); }
123
-
124
- [role="switch"]::before{
125
- content:""; position:absolute; top:3px; left:3px; width:18px; height:18px;
126
- border-radius:999px; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.25);
127
- transition: transform .25s ease;
128
- }
129
- html.dark [role="switch"]::before{ background:#000; box-shadow:0 1px 2px rgba(0,0,0,.35); }
130
-
131
- [role="switch"][aria-checked="true"] {
132
- background-color: #0099ff !important; /* xanh dương */
133
- box-shadow: 0 0 10px rgba(0, 153, 255, 0.7) !important; /* đổ bóng xanh */
134
- transition: background-color 0.3s ease, box-shadow 0.3s ease; /* mượt khi chuyển */
135
- }
136
- [role="switch"][aria-checked="true"]::before{ transform: translateX(18px); }
137
-
138
  html:not(:has(#logo))::before,
139
  html:not(:has(#logo))::after,
140
  body:not(:has(#logo))::after {
@@ -161,6 +24,8 @@ html::before {
161
  box-shadow: 0 0 0 1px rgba(255,255,255,0.06) inset;
162
  pointer-events: none;
163
  z-index: 9999;
 
 
164
  }
165
  html::after {
166
  content: "";
@@ -175,10 +40,13 @@ html::after {
175
  background: linear-gradient(90deg, #60a5fa, #3b82f6, #38bdf8, #4f46e5, #60a5fa);
176
  background-size: 200% 100%;
177
  box-shadow: 0 0 10px var(--glow-1), 0 0 18px var(--glow-2);
178
- animation: loading-grow 5s cubic-bezier(0.65, 0, 1, 1) forwards, loading-shimmer 2s linear infinite;
 
 
 
179
  }
180
  body::after {
181
- content: var(--label, "Đang xác minh bạn không phải Bot");
182
  position: fixed;
183
  left: 50%;
184
  transform: translateX(-50%);
@@ -192,7 +60,7 @@ body::after {
192
  z-index: 10001;
193
  color: #1f2937;
194
  text-shadow: 0 1px 2px rgba(0,0,0,0.45);
195
- animation: loading-label 5s cubic-bezier(0.65, 0, 1, 1) forwards;
196
  }
197
  html.dark body::after { color: #ffffff; }
198
  html.light body::after { color: #1f2937; }
@@ -211,16 +79,16 @@ html.light body::after { color: #1f2937; }
211
  10% { --label: "Truy xuất CSDL"; opacity: 0; }
212
  11.5% { opacity: 1; }
213
  23% { opacity: 0; }
214
- 24% { --label: "Kiểm tra API"; opacity: 0; }
215
  25.5% { opacity: 1; }
216
  29% { opacity: 0; }
217
  30% { --label: "Xây dựng giao diện"; opacity: 0; }
218
  31.5% { opacity: 1; }
219
  45% { opacity: 0; }
220
- 46% { --label: "Đang kết nối đến AWS"; opacity: 0; }
221
  47.5% { opacity: 1; }
222
  68% { opacity: 0; }
223
- 69% { --label: "Khởi động Ollama"; opacity: 0; }
224
  70.5% { opacity: 1; }
225
  87% { opacity: 0; }
226
  88% { --label: "Kiểm tra lại lần cuối"; opacity: 0; }
@@ -229,18 +97,10 @@ html.light body::after { color: #1f2937; }
229
  99% { --label: "Đang đợi trình duyệt phản hồi"; opacity: 0; }
230
  100% { opacity: 1; }
231
  }
232
- @media (prefers-reduced-motion: reduce) {
233
- html::after { animation: loading-grow 5s linear forwards; }
234
- body::after { animation: none; }
235
  }
236
-
237
- /* Light mode */
238
- #send-message-button {
239
- background-color: #33ccff !important;
240
- }
241
-
242
- /* Dark mode */
243
- html.dark #send-message-button,
244
- :root.dark #send-message-button {
245
- background-color: #0099ff !important;
246
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  html:not(:has(#logo))::before,
2
  html:not(:has(#logo))::after,
3
  body:not(:has(#logo))::after {
 
24
  box-shadow: 0 0 0 1px rgba(255,255,255,0.06) inset;
25
  pointer-events: none;
26
  z-index: 9999;
27
+ animation: fade-out 1s ease forwards;
28
+ animation-delay: 10s;
29
  }
30
  html::after {
31
  content: "";
 
40
  background: linear-gradient(90deg, #60a5fa, #3b82f6, #38bdf8, #4f46e5, #60a5fa);
41
  background-size: 200% 100%;
42
  box-shadow: 0 0 10px var(--glow-1), 0 0 18px var(--glow-2);
43
+ animation:
44
+ loading-grow 4s cubic-bezier(0.65, 0, 1, 1) forwards,
45
+ loading-shimmer 2s linear infinite,
46
+ fade-out 1s ease forwards 10s;
47
  }
48
  body::after {
49
+ content: var(--label, "Đang chuẩn bị mọi thứ...");
50
  position: fixed;
51
  left: 50%;
52
  transform: translateX(-50%);
 
60
  z-index: 10001;
61
  color: #1f2937;
62
  text-shadow: 0 1px 2px rgba(0,0,0,0.45);
63
+ animation: loading-label 4s cubic-bezier(0.65, 0, 1, 1) forwards, fade-out 1s ease forwards 10s;
64
  }
65
  html.dark body::after { color: #ffffff; }
66
  html.light body::after { color: #1f2937; }
 
79
  10% { --label: "Truy xuất CSDL"; opacity: 0; }
80
  11.5% { opacity: 1; }
81
  23% { opacity: 0; }
82
+ 24% { --label: "Kiểm tra API/MCP server"; opacity: 0; }
83
  25.5% { opacity: 1; }
84
  29% { opacity: 0; }
85
  30% { --label: "Xây dựng giao diện"; opacity: 0; }
86
  31.5% { opacity: 1; }
87
  45% { opacity: 0; }
88
+ 46% { --label: "Xử dữ liệu"; opacity: 0; }
89
  47.5% { opacity: 1; }
90
  68% { opacity: 0; }
91
+ 69% { --label: "Kích hoạt Tensorflow"; opacity: 0; }
92
  70.5% { opacity: 1; }
93
  87% { opacity: 0; }
94
  88% { --label: "Kiểm tra lại lần cuối"; opacity: 0; }
 
97
  99% { --label: "Đang đợi trình duyệt phản hồi"; opacity: 0; }
98
  100% { opacity: 1; }
99
  }
100
+ @keyframes fade-out {
101
+ to { opacity: 0; visibility: hidden; }
 
102
  }
103
+ @media (prefers-reduced-motion: reduce) {
104
+ html::after { animation: loading-grow 4s linear forwards, fade-out 1s ease forwards 10s; }
105
+ body::after { animation: fade-out 1s ease forwards 10s; }
106
+ }