openfree commited on
Commit
c98a86d
1 Parent(s): ae0eb07

Update app.css

Browse files
Files changed (1) hide show
  1. app.css +59 -287
app.css CHANGED
@@ -1,25 +1,16 @@
1
  /* Modern color scheme */
2
  :root {
3
- /* 주요 브랜드 컬러 */
4
- --primary: #0066cc; /* 메인 브랜드 컬러 */
5
- --secondary: #3385ff; /* 밝은 액센트 */
6
- --accent: #66a3ff; /* 부드러운 포인트 컬러 */
7
-
8
- /* 배경 컬러 */
9
- --background: #f7f9fc; /* 메인 배경 */
10
- --surface: #ffffff; /* 카드 배경 */
11
-
12
- /* 텍스트 컬러 */
13
- --text-primary: #2c3e50; /* 주요 텍스트 */
14
- --text-secondary: #546e7a; /* 부가 텍스트 */
15
- --text-tertiary: #78909c; /* 덜 중요한 텍스트 */
16
-
17
- /* 기능성 컬러 */
18
- --success: #34c759; /* 성공/확인 */
19
- --warning: #ff9500; /* 경고/주의 */
20
- --error: #ff3b30; /* 오류/삭제 */
21
-
22
- /* 중립 컬러 */
23
  --neutral-100: #f8f9fa;
24
  --neutral-200: #e9ecef;
25
  --neutral-300: #dee2e6;
@@ -33,6 +24,52 @@ body {
33
  line-height: 1.5;
34
  }
35
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  .left_header {
37
  display: flex;
38
  flex-direction: column;
@@ -90,51 +127,6 @@ body {
90
  background-color: var(--success);
91
  }
92
 
93
- .right_content {
94
- height: 800px !important;
95
- min-height: 800px !important;
96
- max-height: 800px !important;
97
- overflow-y: auto;
98
- display: flex;
99
- flex-direction: column;
100
- justify-content: center;
101
- align-items: center;
102
- background: var(--surface);
103
- border-radius: 0 0 8px 8px;
104
- }
105
-
106
- .history_chatbot button {
107
- background: none;
108
- border: none;
109
- }
110
-
111
- footer, .footer, div[class*="footer"], #footer {
112
- display: none !important;
113
- }
114
-
115
- /* 프롬프트 입력창 높이 설정 */
116
- #component-0 textarea,
117
- .gradio-container textarea,
118
- .ant-input-textarea-large textarea {
119
- height: 300px !important;
120
- min-height: 300px !important;
121
- max-height: 300px !important;
122
- resize: none !important;
123
- border: 2px solid var(--neutral-200);
124
- border-radius: 12px;
125
- transition: all 0.3s;
126
- background: var(--surface);
127
- color: var(--text-primary);
128
- padding: 1rem;
129
- }
130
-
131
- #component-0 textarea:focus,
132
- .gradio-container textarea:focus,
133
- .ant-input-textarea-large textarea:focus {
134
- border-color: var(--accent);
135
- box-shadow: 0 0 0 3px rgba(102, 163, 255, 0.2);
136
- }
137
-
138
  .setting-buttons {
139
  position: sticky;
140
  top: 1rem;
@@ -150,27 +142,6 @@ footer, .footer, div[class*="footer"], #footer {
150
  border: 1px solid var(--neutral-200);
151
  }
152
 
153
- /* 우측 패널 높이 조정 */
154
- .right_panel {
155
- position: relative;
156
- height: 900px !important;
157
- min-height: 900px !important;
158
- max-height: 900px !important;
159
- padding-top: 50px;
160
- overflow: hidden;
161
- }
162
-
163
- /* 웹 출력 화면 높이 설정 */
164
- .html_content {
165
- height: 800px !important;
166
- min-height: 800px !important;
167
- max-height: 800px !important;
168
- border-radius: 12px;
169
- overflow: auto;
170
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
171
- background: var(--surface);
172
- }
173
-
174
  .ant-btn {
175
  flex: 1;
176
  min-width: 80px;
@@ -189,131 +160,18 @@ footer, .footer, div[class*="footer"], #footer {
189
  color: white;
190
  }
191
 
192
- .ant-btn-primary:hover {
193
- transform: translateY(-2px);
194
- box-shadow: 0 4px 12px rgba(0, 102, 204, 0.3);
195
- }
196
-
197
  .ant-btn-default {
198
  background: var(--surface);
199
  border: 1px solid var(--primary);
200
  color: var(--primary);
201
  }
202
 
203
- .ant-btn-default:hover {
204
- color: var(--secondary);
205
- border-color: var(--secondary);
206
- transform: translateY(-2px);
207
- box-shadow: 0 4px 12px rgba(0, 102, 204, 0.1);
208
- }
209
-
210
  .ant-btn-default[title="Code 실행"] {
211
  background-color: var(--success);
212
  color: white;
213
  border: none;
214
  }
215
 
216
- .ant-btn-default[title="Code 실행"]:hover {
217
- background-color: #40d869;
218
- }
219
-
220
- .session-drawer .chatbot {
221
- height: calc(100vh - 200px);
222
- overflow-y: auto;
223
- }
224
-
225
- .session-history {
226
- height: 700px;
227
- overflow-y: auto;
228
- padding: 1rem;
229
- }
230
-
231
- .prompt-grid {
232
- display: grid;
233
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
234
- gap: 1.5rem;
235
- padding: 1.5rem;
236
- }
237
-
238
- .prompt-card {
239
- background: var(--surface);
240
- border-radius: 16px;
241
- padding: 1.25rem;
242
- cursor: pointer;
243
- transition: all 0.3s;
244
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
245
- min-height: 300px;
246
- border: 1px solid var(--neutral-200);
247
- }
248
-
249
- .prompt-card:hover {
250
- transform: translateY(-4px);
251
- box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
252
- }
253
-
254
- .card-image {
255
- width: 100%;
256
- height: 200px;
257
- object-fit: cover;
258
- border-radius: 12px;
259
- margin-bottom: 1rem;
260
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
261
- }
262
-
263
- .card-name {
264
- font-weight: 600;
265
- margin-bottom: 0.8rem;
266
- font-size: 1.1rem;
267
- color: var(--text-primary);
268
- }
269
-
270
- .card-prompt-container {
271
- position: relative;
272
- padding-right: 60px;
273
- }
274
-
275
- .card-prompt {
276
- font-size: 0.9rem;
277
- color: var(--text-secondary);
278
- display: -webkit-box;
279
- -webkit-line-clamp: 3;
280
- -webkit-box-orient: vertical;
281
- overflow: hidden;
282
- background: var(--neutral-100);
283
- padding: 0.8rem;
284
- border-radius: 8px;
285
- line-height: 1.5;
286
- }
287
-
288
- .copy-btn {
289
- position: absolute;
290
- right: 0;
291
- top: 0;
292
- padding: 6px 12px;
293
- background: var(--accent);
294
- color: white;
295
- border: none;
296
- border-radius: 6px;
297
- cursor: pointer;
298
- font-size: 0.9em;
299
- transition: all 0.2s ease;
300
- }
301
-
302
- .copy-btn:hover {
303
- background: var(--primary);
304
- transform: translateY(-1px);
305
- }
306
-
307
- .copy-btn:active {
308
- transform: translateY(0);
309
- }
310
-
311
- .template-buttons {
312
- margin-top: 1rem;
313
- display: flex;
314
- gap: 0.5rem;
315
- }
316
-
317
  /* Custom scrollbar */
318
  ::-webkit-scrollbar {
319
  width: 8px;
@@ -363,10 +221,6 @@ footer, .footer, div[class*="footer"], #footer {
363
  padding: 1rem;
364
  }
365
 
366
- .prompt-grid {
367
- grid-template-columns: 1fr;
368
- }
369
-
370
  .setting-buttons {
371
  flex-wrap: wrap;
372
  }
@@ -375,90 +229,8 @@ footer, .footer, div[class*="footer"], #footer {
375
  min-width: 60px;
376
  font-size: 0.9rem;
377
  }
378
-
379
- .right_panel {
380
- height: 900px !important;
381
- min-height: 900px !important;
382
- max-height: 900px !important;
383
- }
384
-
385
- .html_content {
386
- height: 800px !important;
387
- min-height: 800px !important;
388
- max-height: 800px !important;
389
- }
390
  }
391
 
392
- /* Animations */
393
- @keyframes fadeIn {
394
- from { opacity: 0; transform: translateY(10px); }
395
- to { opacity: 1; transform: translateY(0); }
396
- }
397
-
398
- .fade-in {
399
- animation: fadeIn 0.5s ease-out;
400
- }
401
-
402
- /* MOUSE 탭 높이 관련 스타일 */
403
- .main-tabs {
404
- min-height: 100vh !important;
405
- display: flex !important;
406
- flex-direction: column !important;
407
- }
408
-
409
- .main-tabs > div[role="tabpanel"] {
410
- flex: 1 !important;
411
- min-height: calc(100vh - 60px) !important;
412
- }
413
-
414
- .mouse-tab {
415
- height: 100% !important;
416
- display: flex !important;
417
- flex-direction: column !important;
418
- }
419
-
420
- /* 레이아웃 컨테이너 높이 조정 */
421
- .ant-row {
422
- min-height: calc(100vh - 100px) !important;
423
- }
424
-
425
- /* 좌측 패널 높이 조정 */
426
- .ant-col-md-8 {
427
- height: 100% !important;
428
- }
429
-
430
- .ant-flex {
431
- height: 100% !important;
432
- }
433
-
434
- /* 탭 컨텐츠 영역 높이 조정 */
435
- .ant-tabs-content {
436
- height: 100% !important;
437
- }
438
-
439
- .ant-tabs-tabpane {
440
- height: 100% !important;
441
- }
442
-
443
- /* 스크롤 영역 조정 */
444
- .right_content {
445
- height: 800px !important;
446
- min-height: 800px !important;
447
- max-height: 800px !important;
448
- overflow-y: auto;
449
- }
450
-
451
- /* 추가적인 레이아웃 안정성을 위한 스타일 */
452
- .ms-application {
453
- height: 100% !important;
454
- min-height: 100vh !important;
455
- }
456
-
457
- .ant-config-provider {
458
- height: 100% !important;
459
- }
460
-
461
- /* 스크롤바가 레이아웃을 깨지지 않도록 설정 */
462
- .right_panel, .html_content {
463
- scrollbar-gutter: stable;
464
  }
 
1
  /* Modern color scheme */
2
  :root {
3
+ --primary: #0066cc;
4
+ --secondary: #3385ff;
5
+ --accent: #66a3ff;
6
+ --background: #f7f9fc;
7
+ --surface: #ffffff;
8
+ --text-primary: #2c3e50;
9
+ --text-secondary: #546e7a;
10
+ --text-tertiary: #78909c;
11
+ --success: #34c759;
12
+ --warning: #ff9500;
13
+ --error: #ff3b30;
 
 
 
 
 
 
 
 
 
14
  --neutral-100: #f8f9fa;
15
  --neutral-200: #e9ecef;
16
  --neutral-300: #dee2e6;
 
24
  line-height: 1.5;
25
  }
26
 
27
+ /* 프롬프트 입력창 높이 강제 설정 */
28
+ .ant-input-textarea-large textarea,
29
+ .ant-input-textarea textarea,
30
+ #component-0 textarea,
31
+ textarea {
32
+ height: 300px !important;
33
+ min-height: 300px !important;
34
+ max-height: 300px !important;
35
+ resize: none !important;
36
+ overflow-y: auto !important;
37
+ border: 2px solid var(--neutral-200);
38
+ border-radius: 12px;
39
+ padding: 1rem;
40
+ }
41
+
42
+ /* 우측 웹 출력 화면 높이 강제 설정 */
43
+ .html_content,
44
+ .html_content iframe,
45
+ iframe {
46
+ height: 800px !important;
47
+ min-height: 800px !important;
48
+ max-height: 800px !important;
49
+ overflow-y: auto !important;
50
+ border-radius: 12px;
51
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
52
+ background: var(--surface);
53
+ }
54
+
55
+ /* 우측 패널 전체 높이 설정 */
56
+ .right_panel {
57
+ position: relative;
58
+ height: 900px !important;
59
+ min-height: 900px !important;
60
+ max-height: 900px !important;
61
+ padding-top: 50px;
62
+ overflow: hidden !important;
63
+ }
64
+
65
+ /* iframe 내부 스크롤 설정 */
66
+ .html_content iframe {
67
+ width: 100% !important;
68
+ border: none !important;
69
+ overflow-y: scroll !important;
70
+ display: block !important;
71
+ }
72
+
73
  .left_header {
74
  display: flex;
75
  flex-direction: column;
 
127
  background-color: var(--success);
128
  }
129
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  .setting-buttons {
131
  position: sticky;
132
  top: 1rem;
 
142
  border: 1px solid var(--neutral-200);
143
  }
144
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
145
  .ant-btn {
146
  flex: 1;
147
  min-width: 80px;
 
160
  color: white;
161
  }
162
 
 
 
 
 
 
163
  .ant-btn-default {
164
  background: var(--surface);
165
  border: 1px solid var(--primary);
166
  color: var(--primary);
167
  }
168
 
 
 
 
 
 
 
 
169
  .ant-btn-default[title="Code 실행"] {
170
  background-color: var(--success);
171
  color: white;
172
  border: none;
173
  }
174
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
  /* Custom scrollbar */
176
  ::-webkit-scrollbar {
177
  width: 8px;
 
221
  padding: 1rem;
222
  }
223
 
 
 
 
 
224
  .setting-buttons {
225
  flex-wrap: wrap;
226
  }
 
229
  min-width: 60px;
230
  font-size: 0.9rem;
231
  }
 
 
 
 
 
 
 
 
 
 
 
 
232
  }
233
 
234
+ footer, .footer, div[class*="footer"], #footer {
235
+ display: none !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
236
  }