Diomedes Git commited on
Commit
e83ca8a
·
1 Parent(s): 6869d88

fRoNtEnD iS mY pAsSiOn

Browse files
Files changed (2) hide show
  1. README.md +58 -0
  2. src/gradio/styles.css +98 -96
README.md CHANGED
@@ -1,3 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  title: cluas_huginn
3
  emoji: 💬
 
1
+ <div class="corvid-banner">
2
+ <div class="corvid-banner-inner">
3
+ <h1>The Corvidian Council</h1>
4
+ <h2>A Multi-Agent Deliberation Engine</h2>
5
+ <div class="corvid-banner-meta">Anno MMXXV — Hackathon Edition</div>
6
+ </div>
7
+ </div>
8
+
9
+ <style>
10
+ .corvid-banner {
11
+ width: 100%;
12
+ display: flex;
13
+ justify-content: center;
14
+ margin: 24px 0 32px;
15
+ }
16
+
17
+ .corvid-banner-inner {
18
+ background: #f5f4ef url('/file=static/paper.png') repeat;
19
+ background-size: 200px;
20
+ border: 2px solid rgba(139, 88, 40, 0.55); /* copper ink */
21
+ padding: 24px 32px;
22
+ border-radius: 12px;
23
+ max-width: 720px;
24
+ text-align: center;
25
+ font-family: Labrada, serif;
26
+ box-shadow:
27
+ 0 0 1px rgba(0,0,0,0.05),
28
+ 0 2px 6px rgba(0,0,0,0.06),
29
+ 0 6px 12px rgba(0,0,0,0.04);
30
+ }
31
+
32
+ /* Title */
33
+ .corvid-banner-inner h1 {
34
+ font-size: 1.9rem;
35
+ margin: 0;
36
+ color: #4a3524; /* ink brown */
37
+ font-weight: 700;
38
+ letter-spacing: 0.02em;
39
+ }
40
+
41
+ /* Subtitle */
42
+ .corvid-banner-inner h2 {
43
+ font-size: 1.05rem;
44
+ margin: 6px 0 10px;
45
+ font-weight: 500;
46
+ color: #6a5648;
47
+ letter-spacing: 0.03em;
48
+ }
49
+
50
+ /* Meta line */
51
+ .corvid-banner-meta {
52
+ font-size: 0.9rem;
53
+ color: rgba(70, 50, 35, 0.75);
54
+ font-style: italic;
55
+ letter-spacing: 0.04em;
56
+ }
57
+ </style>
58
+
59
  ---
60
  title: cluas_huginn
61
  emoji: 💬
src/gradio/styles.css CHANGED
@@ -1,65 +1,82 @@
1
- @import url('https://fonts.googleapis.com/css2?family=Labrada:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap');
2
-
3
- html, body {
4
- font-family: Labrada, Inter, system-ui, sans-serif;
5
- background: #f5f4ef;
6
- color: #1a1a1a;
7
- }
8
-
9
- .gradio-container, .block, .gr-block {
10
- padding: 0 !important;
11
- margin: 0 !important;
12
- }
13
 
 
14
  :root {
15
- --radius: 10px;
16
  --bg: #f5f4ef;
17
  --bg-dark: #1b1b1a;
 
18
  --ink-light: rgba(0,0,0,0.75);
19
  --ink-faint: rgba(0,0,0,0.45);
20
- --parchment: rgba(255,255,255,0.6);
 
 
 
 
 
 
 
 
 
21
  }
22
 
23
- .gr-box, .gr-block {
24
- border-radius: var(--radius) !important;
25
- box-shadow: none !important;
 
 
 
 
26
  }
27
 
 
 
 
 
 
 
 
28
 
29
- /* button stuff */
 
 
 
 
 
30
 
 
31
  button {
32
  transition: 0.2s ease all;
33
  }
34
  button:hover {
35
  transform: translateY(-1px);
36
- filter: brightness(1.1);
37
  }
38
 
39
- /* chat container */
40
  #chat-container {
41
- max-height: 100%;
42
  max-width: 720px;
43
- overflow-y: auto;
44
- padding: 16px;
45
  margin: 0 auto;
 
 
 
46
  font-family: Inter, system-ui, sans-serif;
47
- background: var(--bg, #f7f7f8);
48
  }
49
 
50
-
51
- /* individual message wrapper */
52
  .chat-message {
53
  display: flex;
54
  align-items: flex-start;
55
  gap: 12px;
56
- margin: 12px 0;
57
  }
58
 
59
  .chat-message.user {
60
  flex-direction: row-reverse;
61
  }
62
 
 
63
  .chat-avatar {
64
  width: 40px;
65
  height: 40px;
@@ -67,7 +84,7 @@ button:hover {
67
  object-fit: cover;
68
  }
69
 
70
- /* bubble + text */
71
  .chat-content {
72
  max-width: 75%;
73
  }
@@ -78,10 +95,11 @@ button:hover {
78
  margin-bottom: 4px;
79
  }
80
 
 
81
  .chat-bubble {
82
  padding: 12px 16px;
83
- background: #ffffffd8; /* translucent parchment */
84
- border-radius: 10px;
85
  border: 1px solid rgba(120, 90, 50, 0.15);
86
  backdrop-filter: blur(2px);
87
  box-shadow:
@@ -90,30 +108,29 @@ button:hover {
90
  line-height: 1.55;
91
  }
92
 
 
93
  .chat-message.user .chat-bubble {
94
  background: #e4efffdd;
95
  border-color: rgba(50,80,140,0.2);
96
  }
97
 
98
- /* per-character accent colors */
99
- .chat-message.corvus .chat-name { color: #244a72; }
100
- .chat-message.magpie .chat-name { color: #8f1d14; }
101
- .chat-message.raven .chat-name { color: #2f5032; }
102
- .chat-message.crow .chat-name { color: #2e2e2e; }
103
 
104
- .chat-message.corvus .chat-bubble { border-left: 3px solid #244a72; }
105
- .chat-message.magpie .chat-bubble { border-left: 3px solid #8f1d14; }
106
- .chat-message.raven .chat-bubble { border-left: 3px solid #2f5032; }
107
- .chat-message.crow .chat-bubble { border-left: 3px solid #2e2e2e; }
108
 
109
- /* Default assistant (generic) */
110
  .chat-message.assistant .chat-name { color: #666; }
111
 
112
- /* typing indicator */
113
  .typing-indicator {
114
  display: flex;
115
  gap: 4px;
116
- padding-left: 4px;
117
  margin-top: 4px;
118
  }
119
 
@@ -128,37 +145,28 @@ button:hover {
128
  .typing-indicator span:nth-child(2) { animation-delay: 0.2s; }
129
  .typing-indicator span:nth-child(3) { animation-delay: 0.4s; }
130
 
131
- @keyframes blink {
132
- 0% { opacity: 0.2; }
133
- 20% { opacity: 1; }
134
- 100% { opacity: 0.2; }
135
- }
136
-
137
- /* (Old) extracted deliberation CSS */
138
-
139
-
140
  .deliberation-container {
141
- border: 1px solid rgba(120, 90, 50, 0.15);
142
- background: rgba(255,255,255,0.55);
143
- backdrop-filter: blur(1px);
144
- border-radius: 10px;
145
- padding: 16px 20px;
146
- box-shadow:
147
- 0 1px 2px rgba(0,0,0,0.04),
148
- 0 2px 6px rgba(0,0,0,0.04);
149
  }
150
 
151
  .deliberation-title {
152
- font-weight: bold;
153
  margin-bottom: 6px;
154
  }
155
 
 
156
  #deliberate-btn {
157
  position: relative;
158
  }
159
 
160
  #deliberate-btn:hover::after {
161
- content: "Enter a question, choose rounds, and watch the council deliberate:\\A thesis → antithesis → synthesis";
162
  position: absolute;
163
  bottom: 100%;
164
  left: 50%;
@@ -167,9 +175,9 @@ button:hover {
167
  color: #e0e0e0;
168
  padding: 8px 12px;
169
  border-radius: 6px;
170
- font-size: 0.85em;
171
  white-space: nowrap;
172
- z-index: 1000;
173
  margin-bottom: 8px;
174
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
175
  }
@@ -183,45 +191,39 @@ button:hover {
183
  border: 6px solid transparent;
184
  border-top-color: #1a1a2e;
185
  margin-bottom: -4px;
186
- z-index: 1000;
187
- }
188
-
189
- @import url('https://fonts.googleapis.com/css2?family=Karla:wght@400;500;700&display=swap');
190
-
191
-
192
- .message {
193
- font-family: 'Karla', sans-serif !important;
194
  }
195
 
 
 
196
 
197
  .delib-message {
198
- background: rgba(255,255,255,0.65);
199
- border-radius: 10px;
200
  border-left: 4px solid var(--ink-light);
201
  padding: 14px 18px;
202
  font-family: Labrada, serif;
 
203
  }
204
 
 
 
 
205
 
206
- .delib-message.thesis { border-left-color: #2d6a4f; }
207
- .delib-message.antithesis { border-left-color: #9b2226; }
208
- .delib-message.synthesis { border-left-color: #2a4d8f; }
209
-
210
-
211
- .delib-message.corvus { background: rgba(36, 74, 114, 0.12); }
212
- .delib-message.magpie { background: rgba(143, 29, 20, 0.12); }
213
- .delib-message.raven { background: rgba(47, 80, 50, 0.12); }
214
- .delib-message.crow { background: rgba(46, 46, 46, 0.12); }
215
 
216
  .delib-header {
217
- font-size: 0.75em;
218
  color: #888;
219
  margin-bottom: 4px;
220
  }
221
 
222
  .delib-phase {
223
- letter-spacing: 0.03em;
224
  font-weight: 600;
 
225
  color: var(--ink-light);
226
  }
227
 
@@ -234,32 +236,32 @@ button:hover {
234
  line-height: 1.5;
235
  }
236
 
237
-
238
-
239
- /* summary stuff */
240
-
241
-
242
  .delib-summary {
243
  margin-top: 2em;
244
  padding: 1.5em;
245
- background: linear-gradient(145deg, #312f2b, #1b1b1a);
246
  border-left: 4px solid #c9b458;
 
247
  color: #f2f1e8;
248
- font-family: Labrada, serif;
249
  box-shadow: 0 2px 14px rgba(0,0,0,0.25);
 
250
  }
251
 
252
-
253
  .delib-summary h3 {
254
- color: #fff;
255
- margin-top: 0;
256
- margin-bottom: 0.5em;
257
  font-size: 1.2em;
 
258
  }
259
 
260
  .delib-summary p {
261
- color: #f0f0f0;
262
  margin: 0;
263
  line-height: 1.6;
264
  }
265
 
 
 
 
 
 
 
 
1
+ /* FONTS */
2
+ @import url('https://fonts.googleapis.com/css2?family=Labrada:wght@400;500;600;700&family=Inter:wght@300;400;500;600&family=Karla:wght@400;500;700&display=swap');
 
 
 
 
 
 
 
 
 
 
3
 
4
+ /* DESIGN TOKENS */
5
  :root {
6
+ /* Colors */
7
  --bg: #f5f4ef;
8
  --bg-dark: #1b1b1a;
9
+ --ink-strong: rgba(0,0,0,0.85);
10
  --ink-light: rgba(0,0,0,0.75);
11
  --ink-faint: rgba(0,0,0,0.45);
12
+ --parchment: rgba(255,255,255,0.65);
13
+
14
+ /* Character accents */
15
+ --corvus-accent: #244a72;
16
+ --magpie-accent: #8f1d14;
17
+ --raven-accent: #2f5032;
18
+ --crow-accent: #2e2e2e;
19
+
20
+ /* Layout */
21
+ --radius: 10px;
22
  }
23
 
24
+ /* GLOBAL RESET + BASE */
25
+ html, body {
26
+ font-family: Inter, system-ui, sans-serif;
27
+ background: var(--bg);
28
+ color: var(--ink-strong);
29
+ margin: 0;
30
+ padding: 0;
31
  }
32
 
33
+ /* Remove default Gradio spacing */
34
+ .gradio-container,
35
+ .block,
36
+ .gr-block {
37
+ padding: 0 !important;
38
+ margin: 0 !important;
39
+ }
40
 
41
+ /* Default surface elements */
42
+ .gr-box,
43
+ .gr-block {
44
+ border-radius: var(--radius) !important;
45
+ box-shadow: none !important;
46
+ }
47
 
48
+ /* Buttons */
49
  button {
50
  transition: 0.2s ease all;
51
  }
52
  button:hover {
53
  transform: translateY(-1px);
54
+ filter: brightness(1.08);
55
  }
56
 
57
+ /* CHAT LAYOUT */
58
  #chat-container {
 
59
  max-width: 720px;
 
 
60
  margin: 0 auto;
61
+ padding: 16px;
62
+ overflow-y: auto;
63
+ background: var(--bg);
64
  font-family: Inter, system-ui, sans-serif;
 
65
  }
66
 
67
+ /* Message wrapper */
 
68
  .chat-message {
69
  display: flex;
70
  align-items: flex-start;
71
  gap: 12px;
72
+ margin: 14px 0;
73
  }
74
 
75
  .chat-message.user {
76
  flex-direction: row-reverse;
77
  }
78
 
79
+ /* Avatar */
80
  .chat-avatar {
81
  width: 40px;
82
  height: 40px;
 
84
  object-fit: cover;
85
  }
86
 
87
+ /* Message text container */
88
  .chat-content {
89
  max-width: 75%;
90
  }
 
95
  margin-bottom: 4px;
96
  }
97
 
98
+ /* Bubble */
99
  .chat-bubble {
100
  padding: 12px 16px;
101
+ border-radius: var(--radius);
102
+ background: #ffffffd8;
103
  border: 1px solid rgba(120, 90, 50, 0.15);
104
  backdrop-filter: blur(2px);
105
  box-shadow:
 
108
  line-height: 1.55;
109
  }
110
 
111
+ /* User bubble */
112
  .chat-message.user .chat-bubble {
113
  background: #e4efffdd;
114
  border-color: rgba(50,80,140,0.2);
115
  }
116
 
117
+ /* Character-specific accents */
118
+ .chat-message.corvus .chat-name { color: var(--corvus-accent); }
119
+ .chat-message.magpie .chat-name { color: var(--magpie-accent); }
120
+ .chat-message.raven .chat-name { color: var(--raven-accent); }
121
+ .chat-message.crow .chat-name { color: var(--crow-accent); }
122
 
123
+ .chat-message.corvus .chat-bubble { border-left: 3px solid var(--corvus-accent); }
124
+ .chat-message.magpie .chat-bubble { border-left: 3px solid var(--magpie-accent); }
125
+ .chat-message.raven .chat-bubble { border-left: 3px solid var(--raven-accent); }
126
+ chat-message.crow .chat-bubble { border-left: 3px solid var(--crow-accent); }
127
 
 
128
  .chat-message.assistant .chat-name { color: #666; }
129
 
130
+ /* TYPING INDICATOR */
131
  .typing-indicator {
132
  display: flex;
133
  gap: 4px;
 
134
  margin-top: 4px;
135
  }
136
 
 
145
  .typing-indicator span:nth-child(2) { animation-delay: 0.2s; }
146
  .typing-indicator span:nth-child(3) { animation-delay: 0.4s; }
147
 
148
+ /* DELIBERATION PANEL */
 
 
 
 
 
 
 
 
149
  .deliberation-container {
150
+ background: #fafafa;
151
+ border: 1px solid #ddd;
152
+ padding: 12px;
153
+ border-radius: var(--radius);
154
+ margin: 6px 0 14px;
155
+ font-size: 0.9rem;
 
 
156
  }
157
 
158
  .deliberation-title {
159
+ font-weight: 700;
160
  margin-bottom: 6px;
161
  }
162
 
163
+ /* Tooltip for deliberate button */
164
  #deliberate-btn {
165
  position: relative;
166
  }
167
 
168
  #deliberate-btn:hover::after {
169
+ content: "Enter a question, choose rounds, and watch the council deliberate:\A thesis → antithesis → synthesis";
170
  position: absolute;
171
  bottom: 100%;
172
  left: 50%;
 
175
  color: #e0e0e0;
176
  padding: 8px 12px;
177
  border-radius: 6px;
178
+ font-size: 0.85rem;
179
  white-space: nowrap;
180
+ z-index: 999;
181
  margin-bottom: 8px;
182
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
183
  }
 
191
  border: 6px solid transparent;
192
  border-top-color: #1a1a2e;
193
  margin-bottom: -4px;
194
+ z-index: 999;
 
 
 
 
 
 
 
195
  }
196
 
197
+ /* DELIBERATION MESSAGES */
198
+ .message { font-family: Karla, sans-serif !important; }
199
 
200
  .delib-message {
201
+ background: var(--parchment);
202
+ border-radius: var(--radius);
203
  border-left: 4px solid var(--ink-light);
204
  padding: 14px 18px;
205
  font-family: Labrada, serif;
206
+ margin: 10px 0;
207
  }
208
 
209
+ .delib-message.thesis { border-left-color: #2d6a4f; }
210
+ .delib-message.antithesis { border-left-color: #9b2226; }
211
+ .delib-message.synthesis { border-left-color: #2a4d8f; }
212
 
213
+ .delib-message.corvus { background: rgba(37,150,190,0.1); }
214
+ .delib-message.magpie { background: rgba(201,16,16,0.1); }
215
+ .delib-message.raven { background: rgba(46,139,87,0.1); }
216
+ .delib-message.crow { background: rgba(28,28,28,0.15); }
 
 
 
 
 
217
 
218
  .delib-header {
219
+ font-size: 0.75rem;
220
  color: #888;
221
  margin-bottom: 4px;
222
  }
223
 
224
  .delib-phase {
 
225
  font-weight: 600;
226
+ letter-spacing: 0.03em;
227
  color: var(--ink-light);
228
  }
229
 
 
236
  line-height: 1.5;
237
  }
238
 
239
+ /* SUMMARY SECTION */
 
 
 
 
240
  .delib-summary {
241
  margin-top: 2em;
242
  padding: 1.5em;
 
243
  border-left: 4px solid #c9b458;
244
+ background: linear-gradient(145deg, #312f2b, #1b1b1a);
245
  color: #f2f1e8;
246
+ border-radius: var(--radius);
247
  box-shadow: 0 2px 14px rgba(0,0,0,0.25);
248
+ font-family: Labrada, serif;
249
  }
250
 
 
251
  .delib-summary h3 {
252
+ margin: 0 0 0.5em;
 
 
253
  font-size: 1.2em;
254
+ color: #fff;
255
  }
256
 
257
  .delib-summary p {
 
258
  margin: 0;
259
  line-height: 1.6;
260
  }
261
 
262
+ /* ANIMATIONS */
263
+ @keyframes blink {
264
+ 0% { opacity: 0.2; }
265
+ 20% { opacity: 1; }
266
+ 100% { opacity: 0.2; }
267
+ }