beyoru commited on
Commit
4ed74a0
·
1 Parent(s): fdd946d

Update space

Browse files
Files changed (4) hide show
  1. .gitattributes +0 -35
  2. README.md +12 -6
  3. index.html +981 -18
  4. style.css +0 -28
.gitattributes DELETED
@@ -1,35 +0,0 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
- *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
- *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
README.md CHANGED
@@ -1,10 +1,16 @@
1
  ---
2
- title: Crab Agent
3
- emoji: 🌍
4
- colorFrom: pink
5
- colorTo: red
6
  sdk: static
7
- pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
1
  ---
2
+ title: Crab-Agent
3
+ emoji: 🦀
4
+ colorFrom: red
5
+ colorTo: orange
6
  sdk: static
7
+ pinned: true
8
+ license: mit
9
+ short_description: AI Browser Agent - Chrome Extension
10
  ---
11
 
12
+ # Crab-Agent
13
+
14
+ AI-powered Chrome extension that automates browser tasks using natural language.
15
+
16
+ Visit this Space to learn more and get started!
index.html CHANGED
@@ -1,19 +1,982 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Crab-Agent - AI Browser Agent</title>
7
+ <style>
8
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
9
+
10
+ * { margin: 0; padding: 0; box-sizing: border-box; }
11
+
12
+ :root {
13
+ --crab-orange: #DE886D;
14
+ --crab-dark: #1a1a2e;
15
+ --crab-deeper: #0f0f1e;
16
+ --crab-accent: #ff6b35;
17
+ --crab-accent2: #f7c59f;
18
+ --crab-blue: #40C4FF;
19
+ --crab-green: #4ade80;
20
+ --crab-purple: #a78bfa;
21
+ --crab-text: #e2e8f0;
22
+ --crab-muted: #94a3b8;
23
+ --crab-card: rgba(255, 255, 255, 0.05);
24
+ --crab-border: rgba(255, 255, 255, 0.08);
25
+ }
26
+
27
+ body {
28
+ font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
29
+ background: var(--crab-deeper);
30
+ color: var(--crab-text);
31
+ overflow-x: hidden;
32
+ line-height: 1.6;
33
+ }
34
+
35
+ /* Background effects */
36
+ .bg-glow {
37
+ position: fixed;
38
+ width: 600px;
39
+ height: 600px;
40
+ border-radius: 50%;
41
+ filter: blur(150px);
42
+ opacity: 0.15;
43
+ pointer-events: none;
44
+ z-index: 0;
45
+ }
46
+ .bg-glow-1 { top: -200px; left: -100px; background: var(--crab-accent); }
47
+ .bg-glow-2 { top: 400px; right: -200px; background: var(--crab-blue); }
48
+ .bg-glow-3 { bottom: -100px; left: 30%; background: var(--crab-purple); }
49
+
50
+ /* Grid pattern overlay */
51
+ .grid-overlay {
52
+ position: fixed;
53
+ inset: 0;
54
+ background-image:
55
+ linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
56
+ linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
57
+ background-size: 60px 60px;
58
+ pointer-events: none;
59
+ z-index: 0;
60
+ }
61
+
62
+ section { position: relative; z-index: 1; }
63
+
64
+ /* ===== NAV ===== */
65
+ nav {
66
+ position: fixed;
67
+ top: 0;
68
+ left: 0;
69
+ right: 0;
70
+ z-index: 100;
71
+ padding: 16px 40px;
72
+ display: flex;
73
+ align-items: center;
74
+ justify-content: space-between;
75
+ background: rgba(15, 15, 30, 0.8);
76
+ backdrop-filter: blur(20px);
77
+ border-bottom: 1px solid var(--crab-border);
78
+ }
79
+ .nav-brand {
80
+ display: flex;
81
+ align-items: center;
82
+ gap: 12px;
83
+ font-weight: 800;
84
+ font-size: 1.25rem;
85
+ color: var(--crab-accent2);
86
+ text-decoration: none;
87
+ }
88
+ .nav-brand svg { width: 48px; height: 48px; }
89
+ .nav-links { display: flex; gap: 32px; align-items: center; }
90
+ .nav-links a {
91
+ color: var(--crab-muted);
92
+ text-decoration: none;
93
+ font-size: 0.9rem;
94
+ font-weight: 500;
95
+ transition: color 0.2s;
96
+ }
97
+ .nav-links a:hover { color: var(--crab-text); }
98
+
99
+ /* ===== BUTTONS ===== */
100
+ .btn {
101
+ display: inline-flex;
102
+ align-items: center;
103
+ gap: 8px;
104
+ padding: 12px 28px;
105
+ border-radius: 12px;
106
+ font-weight: 600;
107
+ font-size: 1rem;
108
+ text-decoration: none;
109
+ transition: all 0.3s ease;
110
+ cursor: pointer;
111
+ border: none;
112
+ }
113
+ .btn-primary {
114
+ background: linear-gradient(135deg, var(--crab-accent), #e85d26);
115
+ color: #fff;
116
+ box-shadow: 0 4px 20px rgba(255, 107, 53, 0.3);
117
+ }
118
+ .btn-primary:hover {
119
+ transform: translateY(-2px);
120
+ box-shadow: 0 8px 30px rgba(255, 107, 53, 0.4);
121
+ }
122
+ .btn-secondary {
123
+ background: var(--crab-card);
124
+ color: var(--crab-text);
125
+ border: 1px solid var(--crab-border);
126
+ }
127
+ .btn-secondary:hover {
128
+ background: rgba(255, 255, 255, 0.1);
129
+ transform: translateY(-2px);
130
+ }
131
+
132
+ /* ===== HERO ===== */
133
+ .hero {
134
+ min-height: 100vh;
135
+ display: flex;
136
+ align-items: center;
137
+ justify-content: center;
138
+ padding: 120px 40px 80px;
139
+ }
140
+ .hero-inner {
141
+ max-width: 1200px;
142
+ display: grid;
143
+ grid-template-columns: 1fr 1fr;
144
+ gap: 80px;
145
+ align-items: center;
146
+ }
147
+ .hero-text { max-width: 560px; }
148
+ .hero-badge {
149
+ display: inline-flex;
150
+ align-items: center;
151
+ gap: 8px;
152
+ padding: 6px 16px;
153
+ background: rgba(255, 107, 53, 0.1);
154
+ border: 1px solid rgba(255, 107, 53, 0.2);
155
+ border-radius: 100px;
156
+ font-size: 0.85rem;
157
+ color: var(--crab-accent);
158
+ font-weight: 600;
159
+ margin-bottom: 24px;
160
+ }
161
+ .hero-badge .dot {
162
+ width: 8px; height: 8px;
163
+ background: var(--crab-green);
164
+ border-radius: 50%;
165
+ animation: pulse 2s infinite;
166
+ }
167
+ @keyframes pulse {
168
+ 0%, 100% { opacity: 1; }
169
+ 50% { opacity: 0.4; }
170
+ }
171
+ .hero h1 {
172
+ font-size: 3.5rem;
173
+ font-weight: 900;
174
+ line-height: 1.1;
175
+ margin-bottom: 20px;
176
+ background: linear-gradient(135deg, #fff, var(--crab-accent2));
177
+ -webkit-background-clip: text;
178
+ -webkit-text-fill-color: transparent;
179
+ background-clip: text;
180
+ }
181
+ .hero h1 span {
182
+ background: linear-gradient(135deg, var(--crab-accent), var(--crab-blue));
183
+ -webkit-background-clip: text;
184
+ background-clip: text;
185
+ }
186
+ .hero p {
187
+ font-size: 1.15rem;
188
+ color: var(--crab-muted);
189
+ margin-bottom: 36px;
190
+ line-height: 1.7;
191
+ }
192
+ .hero-buttons { display: flex; gap: 16px; flex-wrap: wrap; }
193
+
194
+ /* Hero mascot */
195
+ .hero-visual {
196
+ display: flex;
197
+ align-items: center;
198
+ justify-content: center;
199
+ position: relative;
200
+ }
201
+ .mascot-container {
202
+ position: relative;
203
+ width: 350px;
204
+ height: 350px;
205
+ display: flex;
206
+ align-items: center;
207
+ justify-content: center;
208
+ }
209
+ .mascot-container object {
210
+ width: 250px;
211
+ height: 250px;
212
+ filter: drop-shadow(0 20px 60px rgba(222, 136, 109, 0.3));
213
+ }
214
+ .mascot-ring {
215
+ position: absolute;
216
+ inset: 0;
217
+ border-radius: 50%;
218
+ border: 2px solid rgba(222, 136, 109, 0.15);
219
+ animation: ring-spin 20s linear infinite;
220
+ }
221
+ .mascot-ring::before {
222
+ content: '';
223
+ position: absolute;
224
+ top: -4px;
225
+ left: 50%;
226
+ width: 8px;
227
+ height: 8px;
228
+ background: var(--crab-accent);
229
+ border-radius: 50%;
230
+ box-shadow: 0 0 15px var(--crab-accent);
231
+ }
232
+ @keyframes ring-spin { to { transform: rotate(360deg); } }
233
+ .mascot-ring-2 {
234
+ position: absolute;
235
+ inset: -20px;
236
+ border-radius: 50%;
237
+ border: 1px dashed rgba(64, 196, 255, 0.1);
238
+ animation: ring-spin 30s linear infinite reverse;
239
+ }
240
+
241
+ /* Floating tool badges around mascot */
242
+ .float-badge {
243
+ position: absolute;
244
+ padding: 6px 14px;
245
+ background: rgba(15, 15, 30, 0.9);
246
+ border: 1px solid var(--crab-border);
247
+ border-radius: 10px;
248
+ font-size: 0.75rem;
249
+ font-weight: 600;
250
+ white-space: nowrap;
251
+ animation: float 6s ease-in-out infinite;
252
+ backdrop-filter: blur(10px);
253
+ }
254
+ .float-badge:nth-child(2) { top: 10%; left: -10%; animation-delay: 0s; color: var(--crab-blue); }
255
+ .float-badge:nth-child(3) { top: 5%; right: -5%; animation-delay: 1s; color: var(--crab-green); }
256
+ .float-badge:nth-child(4) { bottom: 25%; left: -15%; animation-delay: 2s; color: var(--crab-purple); }
257
+ .float-badge:nth-child(5) { bottom: 15%; right: -10%; animation-delay: 3s; color: var(--crab-accent2); }
258
+ .float-badge:nth-child(6) { top: 40%; left: -20%; animation-delay: 4s; color: var(--crab-accent); }
259
+ @keyframes float {
260
+ 0%, 100% { transform: translateY(0); }
261
+ 50% { transform: translateY(-10px); }
262
+ }
263
+
264
+ /* ===== PROVIDERS ===== */
265
+ .providers {
266
+ padding: 40px 40px 80px;
267
+ text-align: center;
268
+ }
269
+ .providers-label {
270
+ font-size: 0.85rem;
271
+ color: var(--crab-muted);
272
+ text-transform: uppercase;
273
+ letter-spacing: 2px;
274
+ font-weight: 600;
275
+ margin-bottom: 32px;
276
+ }
277
+ .providers-grid {
278
+ display: flex;
279
+ justify-content: center;
280
+ gap: 40px;
281
+ flex-wrap: wrap;
282
+ max-width: 800px;
283
+ margin: 0 auto;
284
+ }
285
+ .provider-item {
286
+ display: flex;
287
+ align-items: center;
288
+ gap: 10px;
289
+ padding: 12px 20px;
290
+ background: var(--crab-card);
291
+ border: 1px solid var(--crab-border);
292
+ border-radius: 12px;
293
+ font-size: 0.9rem;
294
+ font-weight: 600;
295
+ color: var(--crab-muted);
296
+ transition: all 0.3s;
297
+ }
298
+ .provider-item:hover {
299
+ border-color: var(--crab-accent);
300
+ color: var(--crab-text);
301
+ transform: translateY(-2px);
302
+ }
303
+ .provider-icon {
304
+ width: 24px;
305
+ height: 24px;
306
+ border-radius: 6px;
307
+ display: flex;
308
+ align-items: center;
309
+ justify-content: center;
310
+ font-size: 0.75rem;
311
+ font-weight: 800;
312
+ }
313
+
314
+ /* ===== FEATURES ===== */
315
+ .features {
316
+ padding: 100px 40px;
317
+ max-width: 1200px;
318
+ margin: 0 auto;
319
+ }
320
+ .section-header {
321
+ text-align: center;
322
+ margin-bottom: 64px;
323
+ }
324
+ .section-tag {
325
+ display: inline-block;
326
+ padding: 6px 16px;
327
+ background: rgba(64, 196, 255, 0.1);
328
+ border: 1px solid rgba(64, 196, 255, 0.2);
329
+ border-radius: 100px;
330
+ font-size: 0.8rem;
331
+ color: var(--crab-blue);
332
+ font-weight: 600;
333
+ text-transform: uppercase;
334
+ letter-spacing: 1px;
335
+ margin-bottom: 16px;
336
+ }
337
+ .section-header h2 {
338
+ font-size: 2.5rem;
339
+ font-weight: 800;
340
+ margin-bottom: 16px;
341
+ }
342
+ .section-header p {
343
+ color: var(--crab-muted);
344
+ font-size: 1.1rem;
345
+ max-width: 600px;
346
+ margin: 0 auto;
347
+ }
348
+ .features-grid {
349
+ display: grid;
350
+ grid-template-columns: repeat(3, 1fr);
351
+ gap: 24px;
352
+ }
353
+ .feature-card {
354
+ padding: 32px;
355
+ background: var(--crab-card);
356
+ border: 1px solid var(--crab-border);
357
+ border-radius: 20px;
358
+ transition: all 0.3s;
359
+ }
360
+ .feature-card:hover {
361
+ border-color: rgba(255, 255, 255, 0.15);
362
+ transform: translateY(-4px);
363
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
364
+ }
365
+ .feature-icon {
366
+ width: 48px;
367
+ height: 48px;
368
+ border-radius: 14px;
369
+ display: flex;
370
+ align-items: center;
371
+ justify-content: center;
372
+ font-size: 1.4rem;
373
+ margin-bottom: 20px;
374
+ }
375
+ .feature-card h3 {
376
+ font-size: 1.15rem;
377
+ font-weight: 700;
378
+ margin-bottom: 10px;
379
+ }
380
+ .feature-card p {
381
+ font-size: 0.9rem;
382
+ color: var(--crab-muted);
383
+ line-height: 1.6;
384
+ }
385
+
386
+ /* ===== HOW IT WORKS ===== */
387
+ .how-it-works {
388
+ padding: 100px 40px;
389
+ max-width: 1000px;
390
+ margin: 0 auto;
391
+ }
392
+ .steps {
393
+ display: flex;
394
+ flex-direction: column;
395
+ gap: 0;
396
+ position: relative;
397
+ }
398
+ .steps::before {
399
+ content: '';
400
+ position: absolute;
401
+ left: 28px;
402
+ top: 40px;
403
+ bottom: 40px;
404
+ width: 2px;
405
+ background: linear-gradient(to bottom, var(--crab-accent), var(--crab-blue), var(--crab-green));
406
+ }
407
+ .step {
408
+ display: flex;
409
+ gap: 32px;
410
+ align-items: flex-start;
411
+ padding: 32px 0;
412
+ }
413
+ .step-number {
414
+ width: 56px;
415
+ height: 56px;
416
+ min-width: 56px;
417
+ border-radius: 16px;
418
+ display: flex;
419
+ align-items: center;
420
+ justify-content: center;
421
+ font-weight: 800;
422
+ font-size: 1.2rem;
423
+ color: #fff;
424
+ position: relative;
425
+ z-index: 1;
426
+ }
427
+ .step:nth-child(1) .step-number { background: linear-gradient(135deg, var(--crab-accent), #e85d26); }
428
+ .step:nth-child(2) .step-number { background: linear-gradient(135deg, var(--crab-blue), #0ea5e9); }
429
+ .step:nth-child(3) .step-number { background: linear-gradient(135deg, var(--crab-purple), #8b5cf6); }
430
+ .step:nth-child(4) .step-number { background: linear-gradient(135deg, var(--crab-green), #22c55e); }
431
+ .step-content h3 {
432
+ font-size: 1.2rem;
433
+ font-weight: 700;
434
+ margin-bottom: 8px;
435
+ }
436
+ .step-content p {
437
+ color: var(--crab-muted);
438
+ font-size: 0.95rem;
439
+ }
440
+
441
+ /* ===== TOOLS SHOWCASE ===== */
442
+ .tools-section {
443
+ padding: 100px 40px;
444
+ max-width: 1200px;
445
+ margin: 0 auto;
446
+ }
447
+ .tools-grid {
448
+ display: grid;
449
+ grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
450
+ gap: 12px;
451
+ }
452
+ .tool-chip {
453
+ padding: 12px 16px;
454
+ background: var(--crab-card);
455
+ border: 1px solid var(--crab-border);
456
+ border-radius: 12px;
457
+ font-size: 0.85rem;
458
+ font-weight: 500;
459
+ display: flex;
460
+ align-items: center;
461
+ gap: 8px;
462
+ transition: all 0.2s;
463
+ }
464
+ .tool-chip:hover {
465
+ border-color: var(--crab-accent);
466
+ background: rgba(255, 107, 53, 0.05);
467
+ }
468
+ .tool-chip .tool-dot {
469
+ width: 8px;
470
+ height: 8px;
471
+ border-radius: 50%;
472
+ flex-shrink: 0;
473
+ }
474
+
475
+ /* ===== ARCH DIAGRAM ===== */
476
+ .arch-section {
477
+ padding: 100px 40px;
478
+ max-width: 1000px;
479
+ margin: 0 auto;
480
+ }
481
+ .arch-box {
482
+ background: var(--crab-card);
483
+ border: 1px solid var(--crab-border);
484
+ border-radius: 20px;
485
+ padding: 48px;
486
+ font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
487
+ font-size: 0.8rem;
488
+ line-height: 1.6;
489
+ color: var(--crab-muted);
490
+ overflow-x: auto;
491
+ white-space: pre;
492
+ }
493
+ .arch-box .h { color: var(--crab-accent); font-weight: 700; }
494
+ .arch-box .b { color: var(--crab-blue); }
495
+ .arch-box .g { color: var(--crab-green); }
496
+ .arch-box .p { color: var(--crab-purple); }
497
+
498
+ /* ===== CTA ===== */
499
+ .cta {
500
+ padding: 120px 40px;
501
+ text-align: center;
502
+ }
503
+ .cta-inner {
504
+ max-width: 700px;
505
+ margin: 0 auto;
506
+ padding: 64px;
507
+ background: linear-gradient(135deg, rgba(255, 107, 53, 0.08), rgba(64, 196, 255, 0.05));
508
+ border: 1px solid rgba(255, 107, 53, 0.15);
509
+ border-radius: 32px;
510
+ position: relative;
511
+ overflow: hidden;
512
+ }
513
+ .cta-inner::before {
514
+ content: '';
515
+ position: absolute;
516
+ inset: 0;
517
+ background: radial-gradient(circle at top right, rgba(255, 107, 53, 0.1), transparent 60%);
518
+ pointer-events: none;
519
+ }
520
+ .cta h2 {
521
+ font-size: 2.2rem;
522
+ font-weight: 800;
523
+ margin-bottom: 16px;
524
+ position: relative;
525
+ }
526
+ .cta p {
527
+ color: var(--crab-muted);
528
+ font-size: 1.05rem;
529
+ margin-bottom: 32px;
530
+ position: relative;
531
+ }
532
+ .cta-buttons {
533
+ display: flex;
534
+ gap: 16px;
535
+ justify-content: center;
536
+ flex-wrap: wrap;
537
+ position: relative;
538
+ }
539
+
540
+ /* ===== CREDITS ===== */
541
+ .credits {
542
+ padding: 80px 40px;
543
+ max-width: 800px;
544
+ margin: 0 auto;
545
+ }
546
+ .credits-grid {
547
+ display: grid;
548
+ grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
549
+ gap: 20px;
550
+ }
551
+ .credit-card {
552
+ padding: 28px;
553
+ background: var(--crab-card);
554
+ border: 1px solid var(--crab-border);
555
+ border-radius: 16px;
556
+ transition: all 0.3s;
557
+ }
558
+ .credit-card:hover {
559
+ border-color: rgba(255, 255, 255, 0.15);
560
+ transform: translateY(-2px);
561
+ }
562
+ .credit-card-header {
563
+ display: flex;
564
+ align-items: center;
565
+ gap: 14px;
566
+ margin-bottom: 14px;
567
+ }
568
+ .credit-avatar {
569
+ width: 44px;
570
+ height: 44px;
571
+ border-radius: 12px;
572
+ display: flex;
573
+ align-items: center;
574
+ justify-content: center;
575
+ font-size: 1.2rem;
576
+ font-weight: 800;
577
+ flex-shrink: 0;
578
+ }
579
+ .credit-card-header h4 {
580
+ font-size: 1rem;
581
+ font-weight: 700;
582
+ }
583
+ .credit-card-header h4 a {
584
+ color: var(--crab-text);
585
+ text-decoration: none;
586
+ transition: color 0.2s;
587
+ }
588
+ .credit-card-header h4 a:hover { color: var(--crab-accent); }
589
+ .credit-tag {
590
+ display: inline-block;
591
+ padding: 2px 10px;
592
+ border-radius: 6px;
593
+ font-size: 0.7rem;
594
+ font-weight: 600;
595
+ margin-top: 4px;
596
+ }
597
+ .credit-card p {
598
+ font-size: 0.88rem;
599
+ color: var(--crab-muted);
600
+ line-height: 1.6;
601
+ }
602
+
603
+ /* ===== FOOTER ===== */
604
+ footer {
605
+ padding: 40px;
606
+ text-align: center;
607
+ border-top: 1px solid var(--crab-border);
608
+ color: var(--crab-muted);
609
+ font-size: 0.85rem;
610
+ }
611
+ footer a {
612
+ color: var(--crab-accent2);
613
+ text-decoration: none;
614
+ }
615
+
616
+ /* ===== RESPONSIVE ===== */
617
+ @media (max-width: 900px) {
618
+ .hero-inner {
619
+ grid-template-columns: 1fr;
620
+ text-align: center;
621
+ gap: 48px;
622
+ }
623
+ .hero-text { max-width: 100%; }
624
+ .hero h1 { font-size: 2.5rem; }
625
+ .hero-buttons { justify-content: center; }
626
+ .features-grid { grid-template-columns: 1fr; }
627
+ .mascot-container { width: 250px; height: 250px; }
628
+ .mascot-container object { width: 180px; height: 180px; }
629
+ .float-badge { display: none; }
630
+ nav { padding: 12px 20px; }
631
+ .nav-links { gap: 16px; }
632
+ .arch-box { padding: 24px; font-size: 0.7rem; }
633
+ }
634
+ @media (max-width: 600px) {
635
+ .hero { padding: 100px 20px 60px; }
636
+ .hero h1 { font-size: 2rem; }
637
+ .providers-grid { gap: 12px; }
638
+ .provider-item { padding: 8px 14px; font-size: 0.8rem; }
639
+ .section-header h2 { font-size: 1.8rem; }
640
+ .cta-inner { padding: 40px 24px; }
641
+ .tools-grid { grid-template-columns: repeat(2, 1fr); }
642
+ }
643
+ </style>
644
+ </head>
645
+ <body>
646
+
647
+ <div class="bg-glow bg-glow-1"></div>
648
+ <div class="bg-glow bg-glow-2"></div>
649
+ <div class="bg-glow bg-glow-3"></div>
650
+ <div class="grid-overlay"></div>
651
+
652
+ <!-- NAV -->
653
+ <nav>
654
+ <a href="#" class="nav-brand">
655
+ <svg viewBox="-1 5 17 12" width="48" height="48">
656
+ <rect x="2" y="6" width="11" height="7" fill="#DE886D"/>
657
+ <rect x="0" y="9" width="2" height="2" fill="#DE886D"/>
658
+ <rect x="13" y="9" width="2" height="2" fill="#DE886D"/>
659
+ <rect x="3" y="13" width="1" height="2" fill="#DE886D"/>
660
+ <rect x="5" y="13" width="1" height="2" fill="#DE886D"/>
661
+ <rect x="9" y="13" width="1" height="2" fill="#DE886D"/>
662
+ <rect x="11" y="13" width="1" height="2" fill="#DE886D"/>
663
+ <rect x="4" y="8" width="1" height="2" fill="#000"/>
664
+ <rect x="10" y="8" width="1" height="2" fill="#000"/>
665
+ </svg>
666
+ Crab-Agent
667
+ </a>
668
+ <div class="nav-links">
669
+ <a href="#features">Features</a>
670
+ <a href="#how-it-works">How it works</a>
671
+ <a href="#tools">Tools</a>
672
+ <a href="#credits">Credits</a>
673
+ <a href="https://github.com/Hert4/crab-agent-extension" target="_blank" class="btn btn-secondary" style="padding: 8px 20px; font-size: 0.85rem;">
674
+ <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg>
675
+ GitHub
676
+ </a>
677
+ </div>
678
+ </nav>
679
+
680
+ <!-- HERO -->
681
+ <section class="hero">
682
+ <div class="hero-inner">
683
+ <div class="hero-text">
684
+ <div class="hero-badge">
685
+ <span class="dot"></span>
686
+ v2.3.0 &mdash; Open Source
687
+ </div>
688
+ <h1>Your AI Agent<br>for the <span>Browser</span></h1>
689
+ <p>
690
+ Type what you want in natural language. Crab-Agent navigates pages, clicks elements, fills forms,
691
+ reads content, manages tabs, records workflows &mdash; all autonomously.
692
+ Bring your own API key. Works with any LLM provider.
693
+ </p>
694
+ <div class="hero-buttons">
695
+ <a href="https://github.com/Hert4/crab-agent-extension" target="_blank" class="btn btn-primary">
696
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg>
697
+ Get Extension
698
+ </a>
699
+ <a href="#how-it-works" class="btn btn-secondary">
700
+ See how it works
701
+ </a>
702
+ </div>
703
+ </div>
704
+
705
+ <div class="hero-visual">
706
+ <div class="mascot-container">
707
+ <div class="mascot-ring"></div>
708
+ <div class="mascot-ring-2"></div>
709
+ <object type="image/svg+xml" data="animations/clawd-idle-living.svg" aria-label="Clawd the crab mascot"></object>
710
+ <div class="float-badge">Click & Type</div>
711
+ <div class="float-badge">Navigate</div>
712
+ <div class="float-badge">Read Pages</div>
713
+ <div class="float-badge">Workflows</div>
714
+ <div class="float-badge">Memory</div>
715
+ </div>
716
+ </div>
717
+ </div>
718
+ </section>
719
+
720
+ <!-- PROVIDERS -->
721
+ <section class="providers">
722
+ <div class="providers-label">Works with your favorite LLM provider</div>
723
+ <div class="providers-grid">
724
+ <div class="provider-item">
725
+ <div class="provider-icon" style="background: #d97706; color: #fff;">A</div>
726
+ Anthropic
727
+ </div>
728
+ <div class="provider-item">
729
+ <div class="provider-icon" style="background: #10a37f; color: #fff;">O</div>
730
+ OpenAI
731
+ </div>
732
+ <div class="provider-item">
733
+ <div class="provider-icon" style="background: #4285f4; color: #fff;">G</div>
734
+ Google Gemini
735
+ </div>
736
+ <div class="provider-item">
737
+ <div class="provider-icon" style="background: #6366f1; color: #fff;">R</div>
738
+ OpenRouter
739
+ </div>
740
+ <div class="provider-item">
741
+ <div class="provider-icon" style="background: #333; color: #fff;">O</div>
742
+ Ollama (Local)
743
+ </div>
744
+ <div class="provider-item">
745
+ <div class="provider-icon" style="background: #64748b; color: #fff;">+</div>
746
+ OpenAI-compatible
747
+ </div>
748
+ </div>
749
+ </section>
750
+
751
+ <!-- FEATURES -->
752
+ <section class="features" id="features">
753
+ <div class="section-header">
754
+ <div class="section-tag">Features</div>
755
+ <h2>Everything you need to automate the web</h2>
756
+ <p>A complete agent toolkit built into a Chrome side panel. No coding required.</p>
757
+ </div>
758
+ <div class="features-grid">
759
+ <div class="feature-card">
760
+ <div class="feature-icon" style="background: rgba(255, 107, 53, 0.15); color: var(--crab-accent);">
761
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
762
+ </div>
763
+ <h3>Vision + DOM Understanding</h3>
764
+ <p>Takes screenshots and reads the full DOM tree with interactive element references. Sees your page like a human would.</p>
765
+ </div>
766
+ <div class="feature-card">
767
+ <div class="feature-icon" style="background: rgba(64, 196, 255, 0.15); color: var(--crab-blue);">
768
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></svg>
769
+ </div>
770
+ <h3>Full Browser Control</h3>
771
+ <p>Click, type, scroll, drag, navigate, open tabs, fill forms, upload files, execute JavaScript &mdash; all via Chrome DevTools Protocol.</p>
772
+ </div>
773
+ <div class="feature-card">
774
+ <div class="feature-icon" style="background: rgba(167, 139, 250, 0.15); color: var(--crab-purple);">
775
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/></svg>
776
+ </div>
777
+ <h3>Persistent Memory</h3>
778
+ <p>Remembers your preferences, rules, and personal info across sessions. Dream consolidation keeps memory clean and relevant.</p>
779
+ </div>
780
+ <div class="feature-card">
781
+ <div class="feature-icon" style="background: rgba(74, 222, 128, 0.15); color: var(--crab-green);">
782
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg>
783
+ </div>
784
+ <h3>Workflow Recording</h3>
785
+ <p>Record browser interactions as reusable workflows. Replay them on demand or let the agent invoke them automatically.</p>
786
+ </div>
787
+ <div class="feature-card">
788
+ <div class="feature-icon" style="background: rgba(251, 191, 36, 0.15); color: #fbbf24;">
789
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
790
+ </div>
791
+ <h3>Task Scheduler</h3>
792
+ <p>Schedule tasks for the future &mdash; one-time or recurring with cron expressions. The agent runs them automatically via Chrome alarms.</p>
793
+ </div>
794
+ <div class="feature-card">
795
+ <div class="feature-icon" style="background: rgba(244, 114, 182, 0.15); color: #f472b6;">
796
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
797
+ </div>
798
+ <h3>Permission System</h3>
799
+ <p>You stay in control. Choose between Ask, Auto, or Strict modes. Sensitive pages always require explicit approval.</p>
800
+ </div>
801
+ </div>
802
+ </section>
803
+
804
+ <!-- HOW IT WORKS -->
805
+ <section class="how-it-works" id="how-it-works">
806
+ <div class="section-header">
807
+ <div class="section-tag">How it works</div>
808
+ <h2>From natural language to action</h2>
809
+ <p>A tool-use agent loop that keeps going until the task is done.</p>
810
+ </div>
811
+ <div class="steps">
812
+ <div class="step">
813
+ <div class="step-number">1</div>
814
+ <div class="step-content">
815
+ <h3>You describe the task</h3>
816
+ <p>Open the side panel and type what you want in plain language. Attach screenshots if needed. <em>"Book the cheapest flight to Tokyo for next Friday"</em></p>
817
+ </div>
818
+ </div>
819
+ <div class="step">
820
+ <div class="step-number">2</div>
821
+ <div class="step-content">
822
+ <h3>Agent observes the page</h3>
823
+ <p>Crab-Agent takes a screenshot and reads the DOM, building a map of every interactive element with coordinate references.</p>
824
+ </div>
825
+ </div>
826
+ <div class="step">
827
+ <div class="step-number">3</div>
828
+ <div class="step-content">
829
+ <h3>LLM decides the next action</h3>
830
+ <p>The conversation (including the visual context) is sent to your chosen LLM. It selects a tool &mdash; click, type, navigate, read &mdash; and the extension executes it via CDP.</p>
831
+ </div>
832
+ </div>
833
+ <div class="step">
834
+ <div class="step-number">4</div>
835
+ <div class="step-content">
836
+ <h3>Repeat until done</h3>
837
+ <p>The result is appended to the conversation and the loop continues. The agent handles multi-step flows, tab switching, form filling, and error recovery automatically.</p>
838
+ </div>
839
+ </div>
840
+ </div>
841
+ </section>
842
+
843
+ <!-- TOOLS -->
844
+ <section class="tools-section" id="tools">
845
+ <div class="section-header">
846
+ <div class="section-tag">30+ Built-in Tools</div>
847
+ <h2>A tool for every browser interaction</h2>
848
+ <p>The agent picks the right tool for each step. Here's what's in the toolkit.</p>
849
+ </div>
850
+ <div class="tools-grid">
851
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-accent);"></span> computer (click/type/scroll)</div>
852
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-blue);"></span> navigate</div>
853
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-green);"></span> read_page</div>
854
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-purple);"></span> find (accessibility)</div>
855
+ <div class="tool-chip"><span class="tool-dot" style="background: #fbbf24;"></span> form_input</div>
856
+ <div class="tool-chip"><span class="tool-dot" style="background: #f472b6;"></span> get_page_text</div>
857
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-accent);"></span> tabs_context</div>
858
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-blue);"></span> tabs_create</div>
859
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-green);"></span> switch_tab</div>
860
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-purple);"></span> close_tab</div>
861
+ <div class="tool-chip"><span class="tool-dot" style="background: #fbbf24;"></span> javascript_tool</div>
862
+ <div class="tool-chip"><span class="tool-dot" style="background: #f472b6;"></span> file_upload</div>
863
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-accent);"></span> download_file</div>
864
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-blue);"></span> document_generator</div>
865
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-green);"></span> gif_creator</div>
866
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-purple);"></span> canvas_toolkit</div>
867
+ <div class="tool-chip"><span class="tool-dot" style="background: #fbbf24;"></span> visualize (charts)</div>
868
+ <div class="tool-chip"><span class="tool-dot" style="background: #f472b6;"></span> code_editor</div>
869
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-accent);"></span> run_workflow</div>
870
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-blue);"></span> schedule_task</div>
871
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-green);"></span> memory (CRUD)</div>
872
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-purple);"></span> suggest_rule</div>
873
+ <div class="tool-chip"><span class="tool-dot" style="background: #fbbf24;"></span> update_plan</div>
874
+ <div class="tool-chip"><span class="tool-dot" style="background: #f472b6;"></span> set_of_mark</div>
875
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-accent);"></span> resize_window</div>
876
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-blue);"></span> shortcuts_list</div>
877
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-green);"></span> shortcuts_execute</div>
878
+ <div class="tool-chip"><span class="tool-dot" style="background: var(--crab-purple);"></span> read_console</div>
879
+ <div class="tool-chip"><span class="tool-dot" style="background: #fbbf24;"></span> read_network</div>
880
+ <div class="tool-chip"><span class="tool-dot" style="background: #f472b6;"></span> ask_user / done</div>
881
+ </div>
882
+ </section>
883
+
884
+ <!-- ARCHITECTURE -->
885
+ <section class="arch-section">
886
+ <div class="section-header">
887
+ <div class="section-tag">Architecture</div>
888
+ <h2>Built for reliability</h2>
889
+ <p>Chrome MV3 service worker, React side panel, multi-provider LLM gateway.</p>
890
+ </div>
891
+ <div class="arch-box"><span class="h">Side Panel (React + Zustand)</span>
892
+ Chat | Workflows | Schedule | Memory | Settings
893
+ |
894
+ Port messages
895
+ |
896
+ <span class="b">Background Service Worker</span>
897
+ Session management | Tab groups | Memory dreams | Alarms
898
+ |
899
+ <span class="g">Agent Loop (tool-use cycle)</span>
900
+ Screenshot -> Read DOM -> Call LLM -> Execute Tool -> Repeat
901
+ | |
902
+ <span class="p">LLM Gateway</span> <span class="h">Tool Executors</span>
903
+ Anthropic CDP: click, type, scroll
904
+ OpenAI Browser: tabs, navigate
905
+ Gemini Page: read, find, JS
906
+ OpenRouter Files: upload, download
907
+ Ollama Docs, GIF, workflows
908
+ OpenAI-compatible Memory, scheduler</div>
909
+ </section>
910
+
911
+ <!-- CTA -->
912
+ <section class="cta">
913
+ <div class="cta-inner">
914
+ <h2>Ready to automate your browser?</h2>
915
+ <p>Open source, free to use. Bring your own API key and let Clawd handle the rest.</p>
916
+ <div class="cta-buttons">
917
+ <a href="https://github.com/Hert4/crab-agent-extension" target="_blank" class="btn btn-primary">
918
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg>
919
+ Get it on GitHub
920
+ </a>
921
+ <a href="https://github.com/Hert4/crab-agent-extension/issues" target="_blank" class="btn btn-secondary">
922
+ Report Issues
923
+ </a>
924
+ </div>
925
+ </div>
926
+ </section>
927
+
928
+ <!-- CREDITS -->
929
+ <section class="credits" id="credits">
930
+ <div class="section-header">
931
+ <div class="section-tag">Credits & Thanks</div>
932
+ <h2>Standing on the shoulders of giants</h2>
933
+ <p>Crab-Agent wouldn't exist without these amazing projects and their creators.</p>
934
+ </div>
935
+ <div class="credits-grid">
936
+ <div class="credit-card">
937
+ <div class="credit-card-header">
938
+ <div class="credit-avatar" style="background: rgba(222, 136, 109, 0.2); color: var(--crab-orange);">
939
+ <svg viewBox="-15 -25 45 45" width="28" height="28">
940
+ <rect x="2" y="6" width="11" height="7" fill="#DE886D"/>
941
+ <rect x="0" y="9" width="2" height="2" fill="#DE886D"/>
942
+ <rect x="13" y="9" width="2" height="2" fill="#DE886D"/>
943
+ <rect x="3" y="13" width="1" height="2" fill="#DE886D"/>
944
+ <rect x="5" y="13" width="1" height="2" fill="#DE886D"/>
945
+ <rect x="9" y="13" width="1" height="2" fill="#DE886D"/>
946
+ <rect x="11" y="13" width="1" height="2" fill="#DE886D"/>
947
+ <rect x="4" y="8" width="1" height="2" fill="#000"/>
948
+ <rect x="10" y="8" width="1" height="2" fill="#000"/>
949
+ </svg>
950
+ </div>
951
+ <div>
952
+ <h4><a href="https://github.com/marciogranzotto/clawd-tank" target="_blank">Clawd Tank</a></h4>
953
+ <span class="credit-tag" style="background: rgba(222, 136, 109, 0.15); color: var(--crab-orange);">Assets & Mascot</span>
954
+ </div>
955
+ </div>
956
+ <p>The adorable "Clawd" crab pixel-art mascot and SVG animations used throughout Crab-Agent are derived from the Clawd Tank project by <strong>Marcio Granzotto</strong>. Thank you for the amazing crab character!</p>
957
+ </div>
958
+ <div class="credit-card">
959
+ <div class="credit-card-header">
960
+ <div class="credit-avatar" style="background: rgba(167, 139, 250, 0.2); color: var(--crab-purple);">
961
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="3" width="20" height="14" rx="2"/><path d="M8 21h8"/><path d="M12 17v4"/></svg>
962
+ </div>
963
+ <div>
964
+ <h4>Claude Computer Use (Anthropic)</h4>
965
+ <span class="credit-tag" style="background: rgba(167, 139, 250, 0.15); color: var(--crab-purple);">Agent Logic</span>
966
+ </div>
967
+ </div>
968
+ <p>Core agent loop architecture and browser automation logic inspired by Anthropic's computer-use approach. The tool-use cycle pattern &mdash; screenshot, observe, decide, act &mdash; draws heavily from their pioneering work on AI browser agents.</p>
969
+ </div>
970
+ </div>
971
+ </section>
972
+
973
+ <!-- FOOTER -->
974
+ <footer>
975
+ <p>
976
+ Built by <a href="https://github.com/Hert4" target="_blank">Hert4</a> &mdash;
977
+ Crab-Agent is open source under the MIT License.
978
+ </p>
979
+ </footer>
980
+
981
+ </body>
982
  </html>
style.css DELETED
@@ -1,28 +0,0 @@
1
- body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
4
- }
5
-
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
9
- }
10
-
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
- }
17
-
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
- }
25
-
26
- .card p:last-child {
27
- margin-bottom: 0;
28
- }