stagent 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stagent",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "Governed AI agent workspace for supervised local execution, workflows, documents, and provider runtimes.",
5
5
  "keywords": [
6
6
  "ai",
@@ -185,41 +185,41 @@
185
185
  }
186
186
 
187
187
  .dark {
188
- /* Background — deep black with navy undertone */
189
- --background: oklch(0.09 0.02 265);
190
- --foreground: oklch(0.93 0.015 270);
191
-
192
- /* Cards — navy-tinted translucency */
193
- --card: oklch(0.16 0.025 265 / 0.6);
194
- --card-foreground: oklch(0.93 0.015 270);
195
- --popover: oklch(0.14 0.025 265 / 0.5);
196
- --popover-foreground: oklch(0.93 0.015 270);
197
-
198
- /* Primary — blue, stays mostly the same */
199
- --primary: oklch(0.65 0.18 260);
200
- --primary-foreground: oklch(0.09 0.02 265);
201
-
202
- /* Secondary — velvet-shifted */
203
- --secondary: oklch(0.18 0.035 310);
204
- --secondary-foreground: oklch(0.93 0.015 270);
205
-
206
- /* Muted — navy mid-tone */
207
- --muted: oklch(0.18 0.03 290);
208
- --muted-foreground: oklch(0.6 0.03 270);
209
- --surface-1: oklch(0.16 0.02 268 / 0.96);
210
- --surface-2: oklch(0.14 0.018 272 / 0.9);
211
- --surface-3: oklch(0.12 0.02 278 / 0.84);
212
- --surface-foreground: oklch(0.93 0.015 270);
213
-
214
- /* Accent — navy, distinct from secondary velvet */
215
- --accent: oklch(0.20 0.04 285);
216
- --accent-foreground: oklch(0.93 0.015 270);
188
+ /* Background — unified hue 250 blue-indigo */
189
+ --background: oklch(0.13 0.02 250);
190
+ --foreground: oklch(0.93 0.01 250);
191
+
192
+ /* Cards — hue 250 translucency */
193
+ --card: oklch(0.16 0.02 250 / 0.6);
194
+ --card-foreground: oklch(0.93 0.01 250);
195
+ --popover: oklch(0.16 0.02 250 / 0.5);
196
+ --popover-foreground: oklch(0.93 0.01 250);
197
+
198
+ /* Primary — blue-indigo hue 250 */
199
+ --primary: oklch(0.65 0.18 250);
200
+ --primary-foreground: oklch(0.13 0.02 250);
201
+
202
+ /* Secondary — unified hue 250 */
203
+ --secondary: oklch(0.19 0.02 250);
204
+ --secondary-foreground: oklch(0.93 0.01 250);
205
+
206
+ /* Muted — consistent hue 250 */
207
+ --muted: oklch(0.19 0.02 250);
208
+ --muted-foreground: oklch(0.6 0.02 250);
209
+ --surface-1: oklch(0.16 0.02 250 / 0.96);
210
+ --surface-2: oklch(0.14 0.02 250 / 0.9);
211
+ --surface-3: oklch(0.13 0.02 250 / 0.84);
212
+ --surface-foreground: oklch(0.93 0.01 250);
213
+
214
+ /* Accent — unified hue 250 */
215
+ --accent: oklch(0.19 0.02 250);
216
+ --accent-foreground: oklch(0.93 0.01 250);
217
217
 
218
218
  --destructive: oklch(0.55 0.2 25);
219
219
  --destructive-foreground: oklch(0.98 0.005 260);
220
220
  --border: var(--glass-border);
221
- --input: oklch(0.14 0.03 265 / 0.4);
222
- --ring: oklch(0.65 0.18 260);
221
+ --input: oklch(0.16 0.02 250 / 0.4);
222
+ --ring: oklch(0.65 0.18 250);
223
223
 
224
224
  --chart-1: oklch(0.65 0.22 260);
225
225
  --chart-2: oklch(0.65 0.19 170);
@@ -227,15 +227,15 @@
227
227
  --chart-4: oklch(0.65 0.22 300);
228
228
  --chart-5: oklch(0.7 0.19 30);
229
229
 
230
- /* Sidebar — slightly lighter velvet-black */
231
- --sidebar: oklch(0.11 0.025 290 / 0.6);
232
- --sidebar-foreground: oklch(0.93 0.015 270);
233
- --sidebar-primary: oklch(0.65 0.18 260);
234
- --sidebar-primary-foreground: oklch(0.09 0.02 265);
235
- --sidebar-accent: oklch(0.20 0.04 300);
236
- --sidebar-accent-foreground: oklch(0.93 0.015 270);
230
+ /* Sidebar — unified hue 250 */
231
+ --sidebar: oklch(0.13 0.02 250 / 0.6);
232
+ --sidebar-foreground: oklch(0.93 0.01 250);
233
+ --sidebar-primary: oklch(0.65 0.18 250);
234
+ --sidebar-primary-foreground: oklch(0.13 0.02 250);
235
+ --sidebar-accent: oklch(0.19 0.02 250);
236
+ --sidebar-accent-foreground: oklch(0.93 0.01 250);
237
237
  --sidebar-border: var(--glass-border-subtle);
238
- --sidebar-ring: oklch(0.65 0.18 260);
238
+ --sidebar-ring: oklch(0.65 0.18 250);
239
239
  /* Semantic status tokens */
240
240
  --status-running: oklch(0.65 0.18 260);
241
241
  --status-completed: oklch(0.65 0.15 170);
@@ -251,72 +251,42 @@
251
251
  --complexity-moderate: oklch(0.75 0.15 75);
252
252
  --complexity-complex: oklch(0.65 0.2 25);
253
253
 
254
- /* Dark mode glass overrides — navy-tinted instead of colorless white */
255
- --glass-bg: oklch(0.18 0.025 265 / 0.45);
256
- --glass-bg-heavy: oklch(0.22 0.03 265 / 0.55);
257
- --glass-bg-light: oklch(0.16 0.02 265 / 0.25);
258
- --glass-bg-subtle: oklch(0.14 0.015 265 / 0.15);
259
-
260
- /* Glass borders — navy-tinted for cohesion */
261
- --glass-border: oklch(0.4 0.04 265 / 0.3);
262
- --glass-border-strong: oklch(0.45 0.05 270 / 0.4);
263
- --glass-border-subtle: oklch(0.35 0.03 285 / 0.18);
264
-
265
- /* Glass shadows — deeper with navy tint */
266
- --glass-shadow: 0 8px 32px oklch(0.05 0.03 265 / 0.5);
267
- --glass-shadow-lg: 0 12px 48px oklch(0.05 0.03 265 / 0.6);
268
- --glass-shadow-sm: 0 4px 16px oklch(0.05 0.03 265 / 0.35);
269
-
270
- /* Inner glow — faint navy highlight */
271
- --glass-inner-glow: inset 0 1px 0 0 oklch(0.5 0.04 270 / 0.15);
272
- --glass-inner-glow-subtle: inset 0 1px 0 0 oklch(0.5 0.04 270 / 0.1);
273
-
274
- /* Modal — deep navy glass */
275
- --glass-bg-modal: oklch(0.12 0.03 285 / 0.75);
276
-
277
- /* Dark mode gradient presets — distinct identities using black/velvet/blue/navy palette */
278
- /* Dashboard/Home — deep black → midnight blue */
279
- --gradient-morning-sky: linear-gradient(
280
- 135deg,
281
- oklch(0.10 0.02 260) 0%,
282
- oklch(0.12 0.035 260) 50%,
283
- oklch(0.10 0.025 270) 100%
284
- );
285
- /* Projects/Workflows deep blue blue-navy */
286
- --gradient-ocean-mist: linear-gradient(
287
- 135deg,
288
- oklch(0.11 0.04 260) 0%,
289
- oklch(0.12 0.045 265) 50%,
290
- oklch(0.11 0.035 265) 100%
291
- );
292
- /* Monitor — black → deep navy */
293
- --gradient-forest-dawn: linear-gradient(
294
- 135deg,
295
- oklch(0.09 0.02 270) 0%,
296
- oklch(0.11 0.035 285) 50%,
297
- oklch(0.10 0.03 290) 100%
298
- );
299
- /* Inbox — velvet → warm navy */
300
- --gradient-sunset-glow: linear-gradient(
301
- 135deg,
302
- oklch(0.12 0.04 320) 0%,
303
- oklch(0.11 0.045 305) 50%,
304
- oklch(0.12 0.035 290) 100%
305
- );
306
- /* Documents — deep navy → indigo */
307
- --gradient-twilight: linear-gradient(
308
- 135deg,
309
- oklch(0.11 0.05 290) 0%,
310
- oklch(0.10 0.045 275) 50%,
311
- oklch(0.11 0.04 260) 100%
312
- );
313
- /* Settings — neutral black with subtle velvet warmth */
314
- --gradient-neutral: linear-gradient(
315
- 135deg,
316
- oklch(0.10 0.015 290) 0%,
317
- oklch(0.095 0.02 300) 50%,
318
- oklch(0.10 0.015 265) 100%
319
- );
254
+ /* Dark mode glass overrides — unified hue 250 blue-indigo */
255
+ --glass-bg: oklch(0.16 0.02 250 / 0.45);
256
+ --glass-bg-heavy: oklch(0.19 0.02 250 / 0.55);
257
+ --glass-bg-light: oklch(0.16 0.02 250 / 0.25);
258
+ --glass-bg-subtle: oklch(0.13 0.02 250 / 0.15);
259
+
260
+ /* Glass borders — hue 250 for cohesion */
261
+ --glass-border: oklch(0.25 0.02 250 / 0.3);
262
+ --glass-border-strong: oklch(0.30 0.02 250 / 0.4);
263
+ --glass-border-subtle: oklch(0.25 0.02 250 / 0.18);
264
+
265
+ /* Glass shadows — deeper with hue 250 tint */
266
+ --glass-shadow: 0 8px 32px oklch(0.05 0.02 250 / 0.5);
267
+ --glass-shadow-lg: 0 12px 48px oklch(0.05 0.02 250 / 0.6);
268
+ --glass-shadow-sm: 0 4px 16px oklch(0.05 0.02 250 / 0.35);
269
+
270
+ /* Inner glow — faint hue 250 highlight */
271
+ --glass-inner-glow: inset 0 1px 0 0 oklch(0.5 0.02 250 / 0.15);
272
+ --glass-inner-glow-subtle: inset 0 1px 0 0 oklch(0.5 0.02 250 / 0.1);
273
+
274
+ /* Modal — hue 250 glass */
275
+ --glass-bg-modal: oklch(0.13 0.02 250 / 0.75);
276
+
277
+ /* Dark mode gradient presets — unified hue 250 with subtle variation (248-252) */
278
+ --gradient-morning-sky: linear-gradient(135deg,
279
+ oklch(0.13 0.02 250) 0%, oklch(0.14 0.025 248) 50%, oklch(0.13 0.02 252) 100%);
280
+ --gradient-ocean-mist: linear-gradient(135deg,
281
+ oklch(0.13 0.025 248) 0%, oklch(0.14 0.03 250) 50%, oklch(0.13 0.025 252) 100%);
282
+ --gradient-forest-dawn: linear-gradient(135deg,
283
+ oklch(0.12 0.02 252) 0%, oklch(0.14 0.025 250) 50%, oklch(0.13 0.02 248) 100%);
284
+ --gradient-sunset-glow: linear-gradient(135deg,
285
+ oklch(0.13 0.02 246) 0%, oklch(0.14 0.025 248) 50%, oklch(0.13 0.02 250) 100%);
286
+ --gradient-twilight: linear-gradient(135deg,
287
+ oklch(0.13 0.03 252) 0%, oklch(0.14 0.025 250) 50%, oklch(0.13 0.02 248) 100%);
288
+ --gradient-neutral: linear-gradient(135deg,
289
+ oklch(0.13 0.015 250) 0%, oklch(0.135 0.02 250) 50%, oklch(0.13 0.015 250) 100%);
320
290
  }
321
291
 
322
292
  /* =============================================================
@@ -353,8 +323,8 @@
353
323
  box-shadow: inset 0 1px 0 0 oklch(0.3 0.04 260 / 0.3), var(--glass-shadow-sm);
354
324
  }
355
325
  .dark .logo-glass-bg {
356
- background: oklch(0.12 0.03 260);
357
- box-shadow: inset 0 1px 0 0 oklch(0.3 0.04 260 / 0.15), var(--glass-shadow-sm);
326
+ background: oklch(0.13 0.02 250);
327
+ box-shadow: inset 0 1px 0 0 oklch(0.3 0.02 250 / 0.15), var(--glass-shadow-sm);
358
328
  }
359
329
 
360
330
  .glass-sidebar {
@@ -410,6 +380,25 @@
410
380
  transition: background 0.3s ease, box-shadow 0.3s ease;
411
381
  }
412
382
 
383
+ .dark [data-slot="card"][data-slot="card"] {
384
+ background:
385
+ linear-gradient(180deg,
386
+ color-mix(in oklab, var(--surface-1) 70%, transparent),
387
+ color-mix(in oklab, var(--background) 88%, transparent)),
388
+ linear-gradient(135deg,
389
+ color-mix(in oklab, var(--primary) 10%, transparent),
390
+ transparent 58%);
391
+ box-shadow: 0 24px 50px color-mix(in oklab, var(--background) 84%, transparent);
392
+ }
393
+
394
+ .dark .surface-card {
395
+ background:
396
+ linear-gradient(180deg,
397
+ color-mix(in oklab, var(--surface-1) 85%, transparent),
398
+ color-mix(in oklab, var(--surface-2) 90%, transparent));
399
+ box-shadow: 0 12px 28px color-mix(in oklab, var(--background) 70%, transparent);
400
+ }
401
+
413
402
  [data-sidebar="sidebar"] {
414
403
  -webkit-backdrop-filter: blur(var(--blur-glass-lg));
415
404
  backdrop-filter: blur(var(--blur-glass-lg));
@@ -490,7 +479,7 @@
490
479
  }
491
480
  .dark [data-slot="sheet-overlay"],
492
481
  .dark [data-slot="dialog-overlay"] {
493
- background: oklch(0.05 0.03 285 / 0.65);
482
+ background: oklch(0.05 0.02 250 / 0.65);
494
483
  }
495
484
 
496
485
  /* Glass borders for table rows — doubled selector for cascade priority over TW4 utilities */
@@ -516,10 +505,10 @@
516
505
  width: 2px;
517
506
  }
518
507
  .dark [data-slot="separator"][data-orientation="horizontal"] {
519
- background: linear-gradient(to bottom, oklch(0.06 0.02 265 / 0.35), oklch(0.25 0.03 270 / 0.15));
508
+ background: linear-gradient(to bottom, oklch(0.06 0.02 250 / 0.35), oklch(0.25 0.02 250 / 0.15));
520
509
  }
521
510
  .dark [data-slot="separator"][data-orientation="vertical"] {
522
- background: linear-gradient(to right, oklch(0.06 0.02 265 / 0.35), oklch(0.25 0.03 270 / 0.15));
511
+ background: linear-gradient(to right, oklch(0.06 0.02 250 / 0.35), oklch(0.25 0.02 250 / 0.15));
523
512
  }
524
513
 
525
514
  /* Glass buttons — translucent CTAs */
@@ -571,12 +560,12 @@
571
560
 
572
561
  /* Dark mode button overrides */
573
562
  .dark [data-slot="button"][data-variant="default"] {
574
- background: oklch(0.55 0.18 255 / 0.8);
575
- box-shadow: var(--glass-shadow-sm), inset 0 1px 0 0 oklch(0.7 0.1 260 / 0.15);
576
- border: 1px solid oklch(0.6 0.12 260 / 0.25);
563
+ background: oklch(0.55 0.18 250 / 0.8);
564
+ box-shadow: var(--glass-shadow-sm), inset 0 1px 0 0 oklch(0.7 0.1 250 / 0.15);
565
+ border: 1px solid oklch(0.6 0.12 250 / 0.25);
577
566
  }
578
567
  .dark [data-slot="button"][data-variant="default"]:hover {
579
- background: oklch(0.58 0.18 255 / 0.9);
568
+ background: oklch(0.58 0.18 250 / 0.9);
580
569
  }
581
570
  .dark [data-slot="button"][data-variant="destructive"] {
582
571
  background: oklch(0.55 0.2 25 / 0.8);
@@ -701,7 +690,7 @@
701
690
  background: linear-gradient(
702
691
  90deg,
703
692
  transparent 0%,
704
- oklch(0.5 0.04 270 / 0.08) 50%,
693
+ oklch(0.5 0.02 250 / 0.08) 50%,
705
694
  transparent 100%
706
695
  );
707
696
  background-size: 200% 100%;
@@ -718,16 +707,29 @@ body {
718
707
 
719
708
  .dark .glass-sidebar [data-sidebar="sidebar"] {
720
709
  box-shadow:
721
- inset -1px 0 0 0 oklch(0.58 0.03 270 / 0.08),
722
- 12px 0 32px oklch(0.03 0.02 265 / 0.32);
710
+ inset -1px 0 0 0 oklch(0.58 0.02 250 / 0.08),
711
+ 12px 0 32px oklch(0.03 0.02 250 / 0.32);
723
712
  }
724
713
 
725
714
  .dark .surface-page-shell {
726
715
  box-shadow:
727
- 0 24px 56px oklch(0.03 0.02 265 / 0.44),
728
- inset 0 1px 0 0 oklch(0.58 0.03 270 / 0.08);
716
+ 0 24px 56px oklch(0.03 0.02 250 / 0.44),
717
+ inset 0 1px 0 0 oklch(0.58 0.02 250 / 0.08);
729
718
  }
730
719
 
731
720
  .dark .surface-toolbar {
732
- box-shadow: 0 10px 24px oklch(0.03 0.02 265 / 0.32);
721
+ box-shadow: 0 10px 24px oklch(0.03 0.02 250 / 0.32);
722
+ }
723
+
724
+ /* Noise grain overlay — subtle texture matching stagent.github.io */
725
+ .dark body::before {
726
+ content: "";
727
+ position: fixed;
728
+ inset: 0;
729
+ pointer-events: none;
730
+ z-index: 9999;
731
+ opacity: 0.03;
732
+ background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
733
+ background-size: 256px 256px;
734
+ mix-blend-mode: overlay;
733
735
  }
@@ -21,7 +21,7 @@ export default async function InboxPage() {
21
21
 
22
22
  return (
23
23
  <div className="gradient-sunset-glow min-h-screen p-4 sm:p-6">
24
- <div className="surface-page surface-page-shell mx-auto min-h-[calc(100dvh-2rem)] max-w-6xl rounded-[30px] p-5 sm:p-6 lg:p-7">
24
+ <div className="surface-page surface-page-shell min-h-[calc(100dvh-2rem)] rounded-[30px] p-5 sm:p-6 lg:p-7">
25
25
  <div className="mb-5 space-y-1">
26
26
  <h1 className="text-2xl font-bold">Inbox</h1>
27
27
  <p className="text-sm text-muted-foreground">
@@ -35,17 +35,17 @@ const CRITICAL_THEME_CSS = `
35
35
  }
36
36
  html.dark {
37
37
  color-scheme: dark;
38
- --background: oklch(0.09 0.02 265);
39
- --foreground: oklch(0.93 0.015 270);
40
- --surface-1: oklch(0.16 0.02 268 / 0.96);
41
- --surface-2: oklch(0.14 0.018 272 / 0.9);
42
- --border: oklch(0.36 0.03 270 / 0.28);
38
+ --background: oklch(0.13 0.02 250);
39
+ --foreground: oklch(0.93 0.01 250);
40
+ --surface-1: oklch(0.16 0.02 250 / 0.96);
41
+ --surface-2: oklch(0.14 0.02 250 / 0.9);
42
+ --border: oklch(0.25 0.02 250 / 0.28);
43
43
  }
44
44
  html { background: var(--background); }
45
45
  `.replace(/\s+/g, " ").trim();
46
46
 
47
47
  // Static theme initialization script — no user input, safe from XSS.
48
- const THEME_INIT_SCRIPT = `(function(){try{var d=document.documentElement;var s=localStorage.getItem('stagent-theme');var t=s==='dark'||s==='light'?s:(window.matchMedia('(prefers-color-scheme:dark)').matches?'dark':'light');d.classList.toggle('dark',t==='dark');d.dataset.theme=t;d.style.colorScheme=t;d.style.backgroundColor=t==='dark'?'oklch(0.09 0.02 265)':'oklch(0.98 0.005 260)';document.cookie='stagent-theme='+t+';path=/;max-age=31536000;SameSite=Lax';}catch(e){}})()`;
48
+ const THEME_INIT_SCRIPT = `(function(){try{var d=document.documentElement;var s=localStorage.getItem('stagent-theme');var t=s==='dark'||s==='light'?s:(window.matchMedia('(prefers-color-scheme:dark)').matches?'dark':'light');d.classList.toggle('dark',t==='dark');d.dataset.theme=t;d.style.colorScheme=t;d.style.backgroundColor=t==='dark'?'oklch(0.13 0.02 250)':'oklch(0.98 0.005 260)';document.cookie='stagent-theme='+t+';path=/;max-age=31536000;SameSite=Lax';}catch(e){}})()`;
49
49
 
50
50
  export default function RootLayout({
51
51
  children,
package/src/app/page.tsx CHANGED
@@ -127,7 +127,7 @@ export default async function HomePage() {
127
127
 
128
128
  return (
129
129
  <div className="gradient-morning-sky min-h-screen p-4 sm:p-6">
130
- <div className="surface-page surface-page-shell mx-auto min-h-[calc(100dvh-2rem)] max-w-7xl rounded-[30px] p-5 sm:p-6 lg:p-7">
130
+ <div className="surface-page surface-page-shell min-h-[calc(100dvh-2rem)] rounded-[30px] p-5 sm:p-6 lg:p-7">
131
131
  <Greeting
132
132
  runningCount={runningResult.count}
133
133
  awaitingCount={awaitingResult.count}
@@ -25,7 +25,7 @@ export default async function EditProfilePage({
25
25
 
26
26
  return (
27
27
  <div className="gradient-ocean-mist min-h-screen p-6">
28
- <div className="max-w-6xl mx-auto">
28
+ <div className="">
29
29
  <Link href={duplicate === "true" ? "/profiles" : `/profiles/${id}`}>
30
30
  <Button variant="ghost" size="sm" className="mb-4">
31
31
  <ArrowLeft className="h-4 w-4 mr-1" />
@@ -19,7 +19,7 @@ export default async function ProfileDetailPage({
19
19
 
20
20
  return (
21
21
  <div className="gradient-ocean-mist min-h-[100dvh] p-4 sm:p-6">
22
- <div className="surface-page mx-auto max-w-7xl rounded-[28px] border border-border/60 p-6 shadow-[0_18px_48px_oklch(0.12_0.02_260_/_0.08)]">
22
+ <div className="surface-page rounded-[28px] border border-border/60 p-6 shadow-[0_18px_48px_oklch(0.12_0.02_260_/_0.08)]">
23
23
  <Link href="/profiles">
24
24
  <Button variant="ghost" size="sm" className="mb-4">
25
25
  <ArrowLeft className="h-4 w-4 mr-1" />
@@ -8,7 +8,7 @@ export const dynamic = "force-dynamic";
8
8
  export default async function NewProfilePage() {
9
9
  return (
10
10
  <div className="gradient-ocean-mist min-h-screen p-6">
11
- <div className="max-w-6xl mx-auto">
11
+ <div className="">
12
12
  <Link href="/profiles">
13
13
  <Button variant="ghost" size="sm" className="mb-4">
14
14
  <ArrowLeft className="h-4 w-4 mr-1" />
@@ -11,7 +11,7 @@ export default async function ProfilesPage() {
11
11
 
12
12
  return (
13
13
  <div className="gradient-ocean-mist min-h-[100dvh] p-4 sm:p-6">
14
- <div className="surface-page mx-auto max-w-7xl rounded-[28px] border border-border/60 p-6 shadow-[0_18px_48px_oklch(0.12_0.02_260_/_0.08)]">
14
+ <div className="surface-page rounded-[28px] border border-border/60 p-6 shadow-[0_18px_48px_oklch(0.12_0.02_260_/_0.08)]">
15
15
  <ProfileBrowser initialProfiles={profiles} />
16
16
  </div>
17
17
  </div>
@@ -24,7 +24,7 @@ export default async function ProjectsPage() {
24
24
 
25
25
  return (
26
26
  <div className="gradient-ocean-mist min-h-screen p-4 sm:p-6">
27
- <div className="surface-page surface-page-shell mx-auto min-h-[calc(100dvh-2rem)] max-w-6xl rounded-[30px] p-5 sm:p-6 lg:p-7">
27
+ <div className="surface-page surface-page-shell min-h-[calc(100dvh-2rem)] rounded-[30px] p-5 sm:p-6 lg:p-7">
28
28
  <ProjectList initialProjects={result} />
29
29
  </div>
30
30
  </div>
@@ -3,7 +3,7 @@ import { Card, CardContent, CardHeader } from "@/components/ui/card";
3
3
 
4
4
  export default function SettingsLoading() {
5
5
  return (
6
- <div className="p-6 max-w-2xl space-y-6">
6
+ <div className="p-6 space-y-6">
7
7
  <div className="space-y-2">
8
8
  <Skeleton className="h-8 w-32" />
9
9
  <Skeleton className="h-4 w-56" />
@@ -9,7 +9,7 @@ export const dynamic = "force-dynamic";
9
9
  export default function SettingsPage() {
10
10
  return (
11
11
  <div className="gradient-sunset-glow min-h-screen">
12
- <div className="max-w-3xl mx-auto p-6 space-y-6">
12
+ <div className="p-6 space-y-6">
13
13
  <div>
14
14
  <h1 className="text-2xl font-bold tracking-tight">Settings</h1>
15
15
  <p className="text-muted-foreground">
@@ -47,7 +47,7 @@ export default async function EditWorkflowPage({
47
47
 
48
48
  return (
49
49
  <div className="gradient-ocean-mist min-h-screen p-6">
50
- <div className="max-w-6xl mx-auto">
50
+ <div className="">
51
51
  <Link href={clone === "true" ? "/workflows" : `/workflows/${id}`}>
52
52
  <Button variant="ghost" size="sm" className="mb-4">
53
53
  <ArrowLeft className="h-4 w-4 mr-1" />
@@ -22,7 +22,7 @@ export default async function NewWorkflowPage() {
22
22
 
23
23
  return (
24
24
  <div className="gradient-ocean-mist min-h-screen p-6">
25
- <div className="max-w-6xl mx-auto">
25
+ <div className="">
26
26
  <Link href="/workflows">
27
27
  <Button variant="ghost" size="sm" className="mb-4">
28
28
  <ArrowLeft className="h-4 w-4 mr-1" />
@@ -361,7 +361,7 @@ export function CostDashboard({
361
361
  );
362
362
 
363
363
  return (
364
- <div className="mx-auto flex max-w-7xl flex-col gap-6">
364
+ <div className="flex flex-col gap-6">
365
365
  <div className="max-w-3xl space-y-3">
366
366
  <div className="inline-flex items-center gap-2 rounded-full border border-border/60 bg-background/55 px-3 py-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-muted-foreground">
367
367
  <Wallet className="h-3.5 w-3.5" />
@@ -18,7 +18,7 @@ function applyTheme(theme: ResolvedTheme) {
18
18
  root.dataset.theme = theme;
19
19
  root.style.colorScheme = theme;
20
20
  root.style.backgroundColor =
21
- theme === "dark" ? "oklch(0.09 0.02 265)" : "oklch(0.98 0.005 260)";
21
+ theme === "dark" ? "oklch(0.13 0.02 250)" : "oklch(0.98 0.005 260)";
22
22
  localStorage.setItem("stagent-theme", theme);
23
23
  document.cookie = `stagent-theme=${theme};path=/;max-age=31536000;SameSite=Lax`;
24
24
  }