akhaliq HF Staff Claude commited on
Commit
642f15d
Β·
1 Parent(s): b1d1ea8

Align 'Try it' pill + tighten poolside.ai styling

Browse files

Pills:
- 'Try it:' label pill was wrapping onto two lines because its inner
gradient span broke the inline-flex. Wrap the label + colon in a
dedicated nowrap .try container with its own leading dot so it reads
horizontally on every viewport.
- Update click handler to skip pills that contain the .try marker.

Color / design (closer to poolside.ai):
- Page background switches to a subtle dotted texture (radial-gradient
18px grid) on #fafafa, matching the textured gray panel under the
terminal card in the poolside screenshot.
- Card and terminal body are pure white; brand strip keeps the indigo→magenta
vertical accent.
- macOS chrome title strips magenta β€” 'pool β€” website β€” ~' is plain
mono ink, matching the original pool β€” website screenshot.
- Send button is solid indigo and gets the right-side 12px radius on the
prompt bar (rounded only on mobile via media query).

Co-Authored-By: Claude <noreply@anthropic.com>

Files changed (1) hide show
  1. index.html +28 -20
index.html CHANGED
@@ -7,29 +7,28 @@
7
  <link rel="icon" href="https://cdn-avatars.huggingface.co/v1/production/uploads/699484cbe85a4b61cbc5ee0f/GpYWuz-CovEFgbPOW21dZ.png" />
8
  <style>
9
  :root {
10
- /* poolside-aligned palette: indigo→magenta gradient, soft whites */
11
  --indigo: #4f46e5;
12
  --indigo-700: #4338ca;
13
  --magenta: #d946ef;
14
- --pink: #ec4899;
15
  --ink: #0f1020;
16
  --ink-soft: #1c1d2e;
17
- --paper: #f8f8fc;
18
  --paper-2: #ffffff;
19
  --paper-line: #ececf3;
20
  --paper-line-2: #d9d9e6;
21
  --muted: #6b6c80;
22
  --dim: #9f9fb3;
23
- --bg: #f3f3f7;
24
 
25
- /* terminal ANSI palette mapped onto a paper background */
26
  --term-bg: #ffffff;
27
  --term-divider: #efeff6;
28
  --term-fg: #0f1020;
29
  --term-muted: #6b6c80;
30
- --term-cyan: #0e7490; /* used for prompt prefix */
31
  --term-yellow: #b45309;
32
- --term-green: #047857; /* answer box accent */
33
  --term-bold-green: #059669;
34
  --term-grey: #9ca3af;
35
  --term-red: #b91c1c;
@@ -37,7 +36,10 @@
37
  * { box-sizing: border-box; }
38
  html, body { margin: 0; padding: 0; height: 100%; }
39
  body {
40
- background: var(--bg);
 
 
 
41
  color: var(--ink);
42
  font-family: 'Inter','SF Pro Display','Helvetica Neue',Arial,sans-serif;
43
  -webkit-font-smoothing: antialiased;
@@ -124,12 +126,9 @@
124
  .dot.g { background: #28c840; }
125
  .mactitle {
126
  flex: 1; text-align: center; font-size: 12px; color: var(--muted);
 
127
  }
128
- .mactitle .grad {
129
- background: linear-gradient(90deg, var(--indigo) 0%, var(--magenta) 100%);
130
- -webkit-background-clip: text; background-clip: text; color: transparent;
131
- font-weight: 600;
132
- }
133
 
134
  /* --------- Terminal body (white) --------- */
135
  .term {
@@ -188,9 +187,9 @@
188
  }
189
  .promptbar button.send {
190
  background: var(--indigo); color: #fff; border: none;
191
- border-left: 1px solid var(--indigo-700);
192
  padding: 0 22px; font: inherit; font-weight: 600; cursor: pointer;
193
  transition: background 120ms ease, transform 120ms ease;
 
194
  }
195
  .promptbar button.send:hover { background: var(--indigo-700); }
196
  .promptbar button.send:disabled { opacity: 0.55; cursor: not-allowed; }
@@ -219,6 +218,13 @@
219
  -webkit-background-clip: text; background-clip: text; color: transparent;
220
  font-weight: 600;
221
  }
 
 
 
 
 
 
 
222
  .footline {
223
  color: var(--muted); font-size: 12px; margin-top: 18px;
224
  padding-top: 14px; border-top: 1px solid var(--paper-line);
@@ -273,6 +279,7 @@
273
  .promptbar button.send {
274
  flex: 1 1 70%; padding: 12px 12px; font-size: 14px;
275
  border-top: 1px solid var(--paper-line); border-left: 1px solid var(--indigo-700);
 
276
  }
277
 
278
  .pillrow { gap: 6px; margin-top: 12px; }
@@ -314,7 +321,7 @@
314
  <span class="dots">
315
  <span class="dot r"></span><span class="dot y"></span><span class="dot g"></span>
316
  </span>
317
- <div class="mactitle">pool β€” <span class="grad">website</span> β€” <span class="grad"><span style="filter:blur(0)">~</span></span></div>
318
  </div>
319
 
320
  <div id="term" class="term" aria-live="polite"></div>
@@ -330,7 +337,7 @@
330
  </div>
331
 
332
  <div class="pillrow">
333
- <span class="pill dot"><span class="grad">Try it:</span></span>
334
  <span class="pill">How many r's are in <code style="color:var(--ink)">'strawberry'</code>?</span>
335
  <span class="pill">Write a recursive Fibonacci in Python.</span>
336
  <span class="pill">Explain backprop in one paragraph.</span>
@@ -363,10 +370,10 @@
363
  };
364
 
365
  const banner = [
366
- `${ANSI.green}● Connected to agent server β€” Poolside v2.1${ANSI.reset}`,
367
- `${ANSI.dim}● session id: robust-lake-${Math.floor(Math.random()*9000+1000)} Β· model poolside/laguna-s-2.1:free Β· openrouter${ANSI.reset}`,
368
  "",
369
- `${ANSI.cyan}>${ANSI.reset} ${ANSI.dim}type a question below.${ANSI.reset} ${ANSI.dim}the model${ANSI.reset} ${ANSI.green}reasons before it answers${ANSI.reset}${ANSI.dim}, and remembers its thoughts on the next turn.${ANSI.reset}`,
370
  "",
371
  `${ANSI.dim}─────────────────────────────────────────────────────────────────${ANSI.reset}`,
372
  "",
@@ -521,8 +528,9 @@
521
  // pill-driven seeds
522
  document.querySelectorAll('.pill').forEach(p => {
523
  p.addEventListener('click', () => {
 
 
524
  const txt = p.textContent.trim();
525
- if (p.querySelector('.grad')) return; // the "Try it:" pill isn't a seed
526
  if (txt.startsWith('β€’') || txt.length < 4) return;
527
  input.value = txt;
528
  input.focus();
 
7
  <link rel="icon" href="https://cdn-avatars.huggingface.co/v1/production/uploads/699484cbe85a4b61cbc5ee0f/GpYWuz-CovEFgbPOW21dZ.png" />
8
  <style>
9
  :root {
10
+ /* poolside-aligned palette: indigo + magenta on pure white */
11
  --indigo: #4f46e5;
12
  --indigo-700: #4338ca;
13
  --magenta: #d946ef;
 
14
  --ink: #0f1020;
15
  --ink-soft: #1c1d2e;
16
+ --paper: #ffffff;
17
  --paper-2: #ffffff;
18
  --paper-line: #ececf3;
19
  --paper-line-2: #d9d9e6;
20
  --muted: #6b6c80;
21
  --dim: #9f9fb3;
22
+ --bg: #fafafa;
23
 
24
+ /* terminal ANSI palette mapped onto paper background */
25
  --term-bg: #ffffff;
26
  --term-divider: #efeff6;
27
  --term-fg: #0f1020;
28
  --term-muted: #6b6c80;
29
+ --term-cyan: #0e7490;
30
  --term-yellow: #b45309;
31
+ --term-green: #047857;
32
  --term-bold-green: #059669;
33
  --term-grey: #9ca3af;
34
  --term-red: #b91c1c;
 
36
  * { box-sizing: border-box; }
37
  html, body { margin: 0; padding: 0; height: 100%; }
38
  body {
39
+ background:
40
+ radial-gradient(circle at 1px 1px, rgba(15,16,32,0.06) 1px, transparent 0)
41
+ 0 0 / 18px 18px,
42
+ #fafafa;
43
  color: var(--ink);
44
  font-family: 'Inter','SF Pro Display','Helvetica Neue',Arial,sans-serif;
45
  -webkit-font-smoothing: antialiased;
 
126
  .dot.g { background: #28c840; }
127
  .mactitle {
128
  flex: 1; text-align: center; font-size: 12px; color: var(--muted);
129
+ font-family: 'JetBrains Mono','Fira Code','SF Mono','Menlo',monospace;
130
  }
131
+ .mactitle b { color: var(--ink); font-weight: 600; }
 
 
 
 
132
 
133
  /* --------- Terminal body (white) --------- */
134
  .term {
 
187
  }
188
  .promptbar button.send {
189
  background: var(--indigo); color: #fff; border: none;
 
190
  padding: 0 22px; font: inherit; font-weight: 600; cursor: pointer;
191
  transition: background 120ms ease, transform 120ms ease;
192
+ border-radius: 0 12px 12px 0;
193
  }
194
  .promptbar button.send:hover { background: var(--indigo-700); }
195
  .promptbar button.send:disabled { opacity: 0.55; cursor: not-allowed; }
 
218
  -webkit-background-clip: text; background-clip: text; color: transparent;
219
  font-weight: 600;
220
  }
221
+ .pill .try {
222
+ display: inline-flex; align-items: center; gap: 6px;
223
+ white-space: nowrap;
224
+ }
225
+ .pill .try .dot-mini {
226
+ width: 7px; height: 7px; border-radius: 50%; background: var(--indigo);
227
+ }
228
  .footline {
229
  color: var(--muted); font-size: 12px; margin-top: 18px;
230
  padding-top: 14px; border-top: 1px solid var(--paper-line);
 
279
  .promptbar button.send {
280
  flex: 1 1 70%; padding: 12px 12px; font-size: 14px;
281
  border-top: 1px solid var(--paper-line); border-left: 1px solid var(--indigo-700);
282
+ border-radius: 0 0 12px 0;
283
  }
284
 
285
  .pillrow { gap: 6px; margin-top: 12px; }
 
321
  <span class="dots">
322
  <span class="dot r"></span><span class="dot y"></span><span class="dot g"></span>
323
  </span>
324
+ <div class="mactitle"><b>pool</b> β€” website β€” <b>~</b></div>
325
  </div>
326
 
327
  <div id="term" class="term" aria-live="polite"></div>
 
337
  </div>
338
 
339
  <div class="pillrow">
340
+ <span class="pill"><span class="try"><span class="dot-mini"></span><span class="grad">Try&nbsp;it</span><span class="grad">:</span></span></span>
341
  <span class="pill">How many r's are in <code style="color:var(--ink)">'strawberry'</code>?</span>
342
  <span class="pill">Write a recursive Fibonacci in Python.</span>
343
  <span class="pill">Explain backprop in one paragraph.</span>
 
370
  };
371
 
372
  const banner = [
373
+ `${ANSI.green}● ${ANSI.reset}Connected to agent server: ${ANSI.bold}Poolside v2.1${ANSI.reset}`,
374
+ `${ANSI.dim} session id: robust-lake-${Math.floor(Math.random()*9000+1000)} Β· model poolside/laguna-s-2.1:free Β· openrouter${ANSI.reset}`,
375
  "",
376
+ `${ANSI.cyan}>${ANSI.reset} type a question below. the model ${ANSI.bold}reasons before it answers${ANSI.reset}, and remembers its thoughts on the next turn.`,
377
  "",
378
  `${ANSI.dim}─────────────────────────────────────────────────────────────────${ANSI.reset}`,
379
  "",
 
528
  // pill-driven seeds
529
  document.querySelectorAll('.pill').forEach(p => {
530
  p.addEventListener('click', () => {
531
+ // The "Try it:" label pill isn't a seed
532
+ if (p.querySelector('.try')) return;
533
  const txt = p.textContent.trim();
 
534
  if (txt.startsWith('β€’') || txt.length < 4) return;
535
  input.value = txt;
536
  input.focus();