LogitCode commited on
Commit
5cc380b
·
verified ·
1 Parent(s): ed761e4

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +105 -141
index.html CHANGED
@@ -54,164 +54,128 @@ tailwind.config = {
54
  }
55
  }
56
  </script>
 
57
  <style>
58
  * { box-sizing: border-box; }
59
- body { background: #0d0d0f; font-family: 'DM Mono', monospace; }
60
- /* ── Theme variables ─────────────────────────────── */
61
  body {
62
- --c-bg: #0d0d0f;
63
- --c-surface: #1a1a1f;
64
- --c-border: #2a2a32;
65
- --c-mist: #3d3d48;
66
- --c-fog: #6b6b7a;
67
- --c-ghost: #9898a8;
68
- --c-pearl: #c8c8d8;
69
- --c-cream: #e8e4dc;
70
- --c-text: #c8c8d8;
 
 
 
 
 
 
 
 
 
 
71
  }
72
  body.light {
73
- --c-bg: #f5f0e8;
74
- --c-surface: #ede8df;
75
- --c-border: #d8d0c4;
76
- --c-mist: #c8bfb0;
77
- --c-fog: #8a8070;
78
- --c-ghost: #6a6058;
79
- --c-pearl: #3a3028;
80
- --c-cream: #1a1208;
81
- --c-text: #3a3028;
 
 
 
 
 
 
 
 
 
 
82
  }
83
 
84
-
85
- /* Scrollbar */
86
- ::-webkit-scrollbar { width: 4px; }
87
- ::-webkit-scrollbar-track { background: transparent; }
88
- ::-webkit-scrollbar-thumb { background: #3d3d48; border-radius: 2px; }
89
- ::-webkit-scrollbar-thumb:hover { background: #6b6b7a; }
90
-
91
- /* Prose styles for markdown */
92
- .prose-msg { line-height: 1.65; color: #c8c8d8; }
93
- .prose-msg p { margin: 0 0 0.6em; }
94
- .prose-msg p:last-child { margin-bottom: 0; }
95
- .prose-msg code {
96
- font-family: 'DM Mono', monospace;
97
- background: rgba(255,255,255,0.08);
98
- padding: 0.1em 0.35em;
99
- border-radius: 3px;
100
- font-size: 0.875em;
101
- color: #d4a853;
102
- }
103
- .prose-msg pre {
104
- background: #111116;
105
- border: 1px solid #2a2a32;
106
- border-radius: 6px;
107
- padding: 12px 14px;
108
- overflow-x: auto;
109
- margin: 0.6em 0;
110
- }
111
- .prose-msg pre code {
112
- background: transparent;
113
- padding: 0;
114
- color: #c8c8d8;
115
- font-size: 0.82em;
 
 
 
116
  }
117
- .prose-msg h1,.prose-msg h2,.prose-msg h3 {
118
- font-family: 'Fraunces', serif;
119
- color: #e8e4dc;
120
- margin: 0.8em 0 0.3em;
121
- font-weight: 700;
122
- }
123
- .prose-msg h1 { font-size: 1.25em; }
124
- .prose-msg h2 { font-size: 1.1em; }
125
- .prose-msg h3 { font-size: 1em; }
 
 
126
  .prose-msg ul, .prose-msg ol { padding-left: 1.25em; margin: 0.4em 0 0.6em; }
 
127
  .prose-msg li { margin: 0.2em 0; }
128
- .prose-msg blockquote {
129
- border-left: 2px solid #d4a853;
130
- padding-left: 0.75em;
131
- color: #9898a8;
132
- margin: 0.5em 0;
133
- font-style: italic;
134
- }
135
- .prose-msg a { color: #d4a853; text-decoration: underline; }
136
- .prose-msg strong { color: #e8e4dc; font-weight: 500; }
137
  .prose-msg table { border-collapse: collapse; width: 100%; margin: 0.5em 0; font-size: 0.85em; }
138
- .prose-msg th { background: #2a2a32; color: #e8e4dc; padding: 5px 8px; text-align: left; }
139
- .prose-msg td { border-top: 1px solid #2a2a32; padding: 5px 8px; }
140
-
141
- /* User bubble prose */
142
- .prose-user { line-height: 1.65; color: #1a1a1f; }
143
- .prose-user p { margin: 0 0 0.5em; }
144
- .prose-user p:last-child { margin-bottom: 0; }
145
- .prose-user code { background: rgba(0,0,0,0.12); padding: 0.1em 0.3em; border-radius: 3px; font-size: 0.875em; }
146
- .prose-user pre { background: rgba(0,0,0,0.15); border-radius: 5px; padding: 10px 12px; overflow-x: auto; margin: 0.5em 0; }
147
- .prose-user strong { font-weight: 500; }
148
-
149
- /* Textarea auto-resize trick */
150
- textarea { resize: none; overflow: hidden; }
151
 
152
- /* Sidebar transition */
153
  #sidebar { transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
154
  #overlay { transition: opacity 0.3s ease; }
155
-
156
- /* Thinking dots */
157
- .dot-1 { animation: blink 1.2s 0s infinite; }
158
- .dot-2 { animation: blink 1.2s 0.2s infinite; }
159
- .dot-3 { animation: blink 1.2s 0.4s infinite; }
160
-
161
- .msg-anim { opacity: 0; animation: fadeUp 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
162
-
163
- /* Model select */
164
  select { -webkit-appearance: none; appearance: none; }
165
-
166
- /* Focus ring override */
167
- textarea:focus, input:focus, select:focus { outline: none; box-shadow: 0 0 0 1.5px #d4a853; }
168
-
169
- /* Apply variables to all the fixed-color elements */
170
- body { background: var(--c-bg); }
171
- #sidebar { background: var(--c-surface); border-color: var(--c-border); }
172
- header { background: var(--c-surface); border-color: var(--c-border); }
173
- .border-ash { border-color: var(--c-border) !important; }
174
- .bg-smoke { background: var(--c-surface) !important; }
175
- .bg-ash { background: var(--c-mist) !important; }
176
- .bg-mist { background: var(--c-mist) !important; }
177
- .text-fog { color: var(--c-fog) !important; }
178
- .text-ghost { color: var(--c-ghost) !important; }
179
- .text-pearl { color: var(--c-pearl) !important; }
180
- .text-cream { color: var(--c-cream) !important; }
181
- .border-mist { border-color: var(--c-mist) !important; }
182
-
183
- /* Prose text in light mode */
184
- body.light .prose-msg { color: var(--c-text); }
185
- body.light .prose-msg code { background: rgba(0,0,0,0.08); color: #b06000; }
186
- body.light .prose-msg pre { background: #e8e0d4; border-color: var(--c-border); }
187
- body.light .prose-msg pre code { color: var(--c-text); }
188
- body.light .prose-msg strong { color: var(--c-cream); }
189
- body.light .prose-msg blockquote { color: var(--c-ghost); }
190
-
191
- /* Input/select backgrounds */
192
- body.light textarea,
193
- body.light input[type="text"],
194
- body.light input[type="password"],
195
- body.light input[type="number"],
196
- body.light select { background: var(--c-surface); color: var(--c-cream); }
197
-
198
- /* Conversation list hover */
199
- body.light #conv-list [class*="hover:bg-ash"]:hover { background: var(--c-border) !important; }
200
- body.light #conv-list [class*="bg-mist"] { background: var(--c-mist) !important; }
201
-
202
- /* Message container */
203
- body.light #messages { background: var(--c-bg); }
204
-
205
- /* Scrollbar in light mode */
206
- body.light ::-webkit-scrollbar-thumb { background: var(--c-mist); }
207
-
208
-
209
-
210
-
211
  </style>
212
  </head>
213
- <body class="h-screen flex overflow-hidden text-pearl">
214
-
215
  <!-- Privacy notice -->
216
  <div id="privacy-modal" class="fixed inset-0 z-50 flex items-center justify-center bg-black/70 backdrop-blur-sm">
217
  <div class="bg-smoke border border-ash rounded-xl p-6 max-w-sm w-full mx-4 shadow-2xl">
 
54
  }
55
  }
56
  </script>
57
+ <link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;700&family=Share+Tech+Mono&display=swap" rel="stylesheet">
58
  <style>
59
  * { box-sizing: border-box; }
60
+ body { font-family: 'JetBrains Mono', monospace; }
61
+
62
  body {
63
+ --bg: #020a02;
64
+ --surface: #050f05;
65
+ --border: #0f2a0f;
66
+ --mist: #0a1f0a;
67
+ --fog: #2a5a2a;
68
+ --ghost: #4a8a4a;
69
+ --pearl: #70d870;
70
+ --cream: #a0ffa0;
71
+ --accent: #00ff41;
72
+ --accent2: #00cc33;
73
+ --ink: #020a02;
74
+ --user-bg: #00ff41;
75
+ --user-text: #020a02;
76
+ --danger: #ff4444;
77
+ --safe: #44ff88;
78
+ --prose: #70d870;
79
+ --code-bg: rgba(0,255,65,0.08);
80
+ --code-col: #00ff41;
81
+ --pre-bg: #020702;
82
  }
83
  body.light {
84
+ --bg: #f0fff0;
85
+ --surface: #e4f5e4;
86
+ --border: #b0d8b0;
87
+ --mist: #c8e8c8;
88
+ --fog: #5a8a5a;
89
+ --ghost: #3a6a3a;
90
+ --pearl: #1a3a1a;
91
+ --cream: #0a1f0a;
92
+ --accent: #1a6a1a;
93
+ --accent2: #0f4f0f;
94
+ --ink: #f0fff0;
95
+ --user-bg: #1a6a1a;
96
+ --user-text: #f0fff0;
97
+ --danger: #cc2222;
98
+ --safe: #227722;
99
+ --prose: #1a3a1a;
100
+ --code-bg: rgba(0,100,0,0.08);
101
+ --code-col: #0f5f0f;
102
+ --pre-bg: #dff0df;
103
  }
104
 
105
+ body { background: var(--bg); color: var(--pearl); }
106
+ #sidebar { background: var(--surface); border-color: var(--border); }
107
+ header { background: var(--surface); border-color: var(--border); }
108
+ .bg-smoke { background: var(--surface) !important; }
109
+ .bg-ash { background: var(--mist) !important; }
110
+ .bg-mist { background: var(--mist) !important; }
111
+ .hover\:bg-ash:hover { background: var(--border) !important; }
112
+ .hover\:bg-mist:hover { background: var(--mist) !important; }
113
+ .border-ash { border-color: var(--border) !important; }
114
+ .border-mist { border-color: var(--mist) !important; }
115
+ .text-fog { color: var(--fog) !important; }
116
+ .text-ghost { color: var(--ghost) !important; }
117
+ .text-pearl { color: var(--pearl) !important; }
118
+ .text-cream { color: var(--cream) !important; }
119
+ .text-amber { color: var(--accent) !important; }
120
+ .text-ink { color: var(--user-text) !important; }
121
+ .text-rose { color: var(--danger) !important; }
122
+ .text-sage { color: var(--safe) !important; }
123
+ .bg-amber { background: var(--user-bg) !important; }
124
+ .hover\:bg-ember:hover { background: var(--accent2) !important; }
125
+ .bg-amber\/10 { background: color-mix(in srgb, var(--accent) 10%, transparent) !important; }
126
+ .bg-amber\/20 { background: color-mix(in srgb, var(--accent) 20%, transparent) !important; }
127
+ .border-amber\/25 { border-color: color-mix(in srgb, var(--accent) 25%, transparent) !important; }
128
+ .from-amber { --tw-gradient-from: var(--accent) !important; }
129
+ .to-ember { --tw-gradient-to: var(--accent2) !important; }
130
+ .bg-rose { background: var(--danger) !important; }
131
+ .hover\:text-rose:hover { color: var(--danger) !important; }
132
+ .hover\:text-sage:hover { color: var(--safe) !important; }
133
+ .hover\:text-pearl:hover { color: var(--pearl) !important; }
134
+ textarea, input, select { background: var(--mist); color: var(--cream); }
135
+
136
+ /* Scanline overlay (dark mode only) */
137
+ body:not(.light)::after {
138
+ content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 9999;
139
+ background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.04) 2px, rgba(0,0,0,0.04) 4px);
140
  }
141
+
142
+ /* Square corners everywhere */
143
+ .rounded-xl,.rounded-lg,.rounded-md,.rounded-2xl,.rounded,.rounded-tr-sm { border-radius: 2px !important; }
144
+
145
+ .prose-msg { line-height: 1.7; color: var(--prose); font-family: 'JetBrains Mono', monospace; }
146
+ .prose-msg p { margin: 0 0 0.6em; } .prose-msg p:last-child { margin-bottom: 0; }
147
+ .prose-msg code { font-family: 'JetBrains Mono', monospace; background: var(--code-bg); padding: 0.1em 0.35em; border-radius: 2px; font-size: 0.875em; color: var(--code-col); border: 1px solid color-mix(in srgb, var(--accent) 20%, transparent); }
148
+ .prose-msg pre { background: var(--pre-bg); border: 1px solid var(--border); border-radius: 2px; padding: 12px 14px; overflow-x: auto; margin: 0.6em 0; }
149
+ .prose-msg pre code { background: transparent; border: none; padding: 0; color: var(--prose); font-size: 0.82em; }
150
+ .prose-msg h1,.prose-msg h2,.prose-msg h3 { font-family: 'Share Tech Mono', monospace; color: var(--accent); margin: 0.8em 0 0.3em; font-weight: 400; text-transform: uppercase; letter-spacing: 0.1em; }
151
+ .prose-msg h1 { font-size: 1.1em; } .prose-msg h2 { font-size: 1em; } .prose-msg h3 { font-size: 0.95em; }
152
  .prose-msg ul, .prose-msg ol { padding-left: 1.25em; margin: 0.4em 0 0.6em; }
153
+ .prose-msg li::marker { color: var(--accent); }
154
  .prose-msg li { margin: 0.2em 0; }
155
+ .prose-msg blockquote { border-left: 2px solid var(--accent); padding-left: 0.75em; color: var(--ghost); margin: 0.5em 0; }
156
+ .prose-msg a { color: var(--accent); }
157
+ .prose-msg strong { color: var(--cream); }
 
 
 
 
 
 
158
  .prose-msg table { border-collapse: collapse; width: 100%; margin: 0.5em 0; font-size: 0.85em; }
159
+ .prose-msg th { background: var(--mist); color: var(--accent); padding: 5px 8px; text-align: left; border: 1px solid var(--border); }
160
+ .prose-msg td { border: 1px solid var(--border); padding: 5px 8px; }
161
+
162
+ .prose-user { line-height: 1.65; color: var(--user-text); }
163
+ .prose-user p { margin: 0 0 0.5em; } .prose-user p:last-child { margin-bottom: 0; }
164
+ .prose-user code { background: rgba(0,0,0,0.15); padding: 0.1em 0.3em; border-radius: 2px; font-size: 0.875em; }
165
+ .prose-user strong { font-weight: 600; }
 
 
 
 
 
 
166
 
167
+ textarea { resize: none; overflow: hidden; }
168
  #sidebar { transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
169
  #overlay { transition: opacity 0.3s ease; }
170
+ .dot-1 { animation: blink 1.2s 0s infinite; color: var(--accent); }
171
+ .dot-2 { animation: blink 1.2s 0.2s infinite; color: var(--accent); }
172
+ .dot-3 { animation: blink 1.2s 0.4s infinite; color: var(--accent); }
 
 
 
 
 
 
173
  select { -webkit-appearance: none; appearance: none; }
174
+ textarea:focus, input:focus, select:focus { outline: none; box-shadow: 0 0 0 1px var(--accent), 0 0 8px color-mix(in srgb, var(--accent) 30%, transparent); }
175
+ #input-footer { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
176
  </style>
177
  </head>
178
+ <body class="h-screen flex overflow-hidden">
 
179
  <!-- Privacy notice -->
180
  <div id="privacy-modal" class="fixed inset-0 z-50 flex items-center justify-center bg-black/70 backdrop-blur-sm">
181
  <div class="bg-smoke border border-ash rounded-xl p-6 max-w-sm w-full mx-4 shadow-2xl">