@tangle-network/sandbox-ui 0.29.0 → 0.30.0

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.
@@ -24,11 +24,11 @@ import * as React from "react";
24
24
  import { jsx } from "react/jsx-runtime";
25
25
  var PANEL_OPEN_KEY = "sandbox-sidebar-panel-open";
26
26
  var SIDEBAR_MODE_KEY = "sandbox-sidebar-mode";
27
- var SIDEBAR_RAIL_WIDTH = 64;
28
- var SIDEBAR_PANEL_WIDTH = 260;
27
+ var SIDEBAR_RAIL_WIDTH = 56;
28
+ var SIDEBAR_PANEL_WIDTH = 268;
29
29
  var SIDEBAR_TOTAL_WIDTH = SIDEBAR_RAIL_WIDTH + SIDEBAR_PANEL_WIDTH;
30
30
  var SIDEBAR_MOBILE_WIDTH = 256;
31
- var SIDEBAR_RAIL_LABELED_WIDTH = 224;
31
+ var SIDEBAR_RAIL_LABELED_WIDTH = 248;
32
32
  var SidebarContext = React.createContext(null);
33
33
  function readStorage(key, fallback) {
34
34
  if (typeof window === "undefined") return fallback;
@@ -168,8 +168,8 @@ function RailThemeToggle({ className }) {
168
168
  "aria-label": "Toggle theme",
169
169
  title: isDark ? "Switch to light mode" : "Switch to dark mode",
170
170
  className: cn(
171
- "flex h-9 w-9 shrink-0 items-center justify-center rounded-lg text-muted-foreground transition-colors",
172
- "hover:bg-[var(--accent-surface-soft)] hover:text-[var(--accent-text)]",
171
+ "flex h-9 w-9 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors",
172
+ "hover:bg-[var(--accent-surface-soft)] hover:text-foreground",
173
173
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary",
174
174
  className
175
175
  ),
@@ -222,9 +222,9 @@ function RailSeparator({ className }) {
222
222
  }
223
223
  function RailButton({ icon: Icon, label, isActive, badge, onClick, className, showLabel, asChild, children }) {
224
224
  const classes = cn(
225
- "group relative flex shrink-0 items-center justify-center rounded-xl transition-all duration-200",
226
- showLabel ? "w-full justify-start px-3 h-11 gap-3" : "w-11 h-11 justify-center",
227
- "hover:bg-[var(--accent-surface-soft)] hover:text-[var(--accent-text)]",
225
+ "group relative flex shrink-0 items-center justify-center rounded-md transition-all duration-200",
226
+ showLabel ? "w-full justify-start px-2.5 h-9 gap-2.5" : "w-9 h-9 justify-center",
227
+ "hover:bg-[var(--accent-surface-soft)] hover:text-foreground",
228
228
  "active:scale-95",
229
229
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary",
230
230
  isActive && "bg-[var(--accent-surface-strong)] text-[var(--accent-text)]",
@@ -232,8 +232,8 @@ function RailButton({ icon: Icon, label, isActive, badge, onClick, className, sh
232
232
  className
233
233
  );
234
234
  const content = /* @__PURE__ */ jsxs(Fragment, { children: [
235
- /* @__PURE__ */ jsx2(Icon, { className: "h-5 w-5 shrink-0" }),
236
- showLabel && /* @__PURE__ */ jsx2("span", { className: "text-sm font-medium", children: label }),
235
+ /* @__PURE__ */ jsx2(Icon, { className: "h-[17px] w-[17px] shrink-0" }),
236
+ showLabel && /* @__PURE__ */ jsx2("span", { className: "text-[13.5px] font-medium", children: label }),
237
237
  badge !== void 0 && badge > 0 && /* @__PURE__ */ jsx2("span", { className: "absolute -top-1 -right-1 flex h-4 min-w-4 items-center justify-center rounded-full bg-primary text-[9px] font-bold text-[var(--md3-on-primary)] px-1 shadow-sm", children: badge > 99 ? "99+" : badge })
238
238
  ] });
239
239
  if (asChild && React2.isValidElement(children)) {
@@ -273,9 +273,9 @@ function RailFlyout({
273
273
  };
274
274
  }, [open]);
275
275
  const triggerClasses = cn(
276
- "group relative flex shrink-0 items-center rounded-xl transition-all duration-200",
277
- showLabel ? "w-full justify-start px-3 h-11 gap-3" : "w-11 h-11 justify-center",
278
- "hover:bg-[var(--accent-surface-soft)] hover:text-[var(--accent-text)]",
276
+ "group relative flex shrink-0 items-center rounded-md transition-all duration-200",
277
+ showLabel ? "w-full justify-start px-2.5 h-9 gap-2.5" : "w-9 h-9 justify-center",
278
+ "hover:bg-[var(--accent-surface-soft)] hover:text-foreground",
279
279
  "active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary",
280
280
  isActive || open ? "bg-[var(--accent-surface-strong)] text-[var(--accent-text)]" : "text-muted-foreground",
281
281
  className
@@ -317,7 +317,7 @@ function RailFlyout({
317
317
  if (el.closest("a,button")) setOpen(false);
318
318
  },
319
319
  className: cn(
320
- "absolute top-0 z-50 min-w-[12rem] rounded-xl border border-border bg-card p-1.5 shadow-lg",
320
+ "absolute top-0 z-50 min-w-[12rem] rounded-md border border-border bg-popover p-1.5 shadow-dropdown",
321
321
  showLabel ? "left-full ml-2" : "left-full ml-2"
322
322
  ),
323
323
  children: [
@@ -356,10 +356,10 @@ function SidebarPanel({ children, className }) {
356
356
  {
357
357
  className: cn(
358
358
  "transition-[opacity] duration-150 h-full overflow-hidden border-l border-border bg-card",
359
- panelOpen ? "w-[260px] opacity-100" : "w-0 opacity-0 pointer-events-none",
359
+ panelOpen ? "w-[268px] opacity-100" : "w-0 opacity-0 pointer-events-none",
360
360
  className
361
361
  ),
362
- children: /* @__PURE__ */ jsx2("div", { className: "flex flex-col h-full w-[260px]", children })
362
+ children: /* @__PURE__ */ jsx2("div", { className: "flex flex-col h-full w-[268px]", children })
363
363
  }
364
364
  );
365
365
  }
@@ -140,9 +140,9 @@ interface ProfileAvatarProps {
140
140
  }
141
141
  declare function ProfileAvatar({ user, isLoading, onLogout, onSettingsClick, settingsHref, children, className, showDetails, LinkComponent, }: ProfileAvatarProps): react_jsx_runtime.JSX.Element;
142
142
 
143
- /** Width constants (px) matching blueprint-agent layout */
144
- declare const SIDEBAR_RAIL_WIDTH = 64;
145
- declare const SIDEBAR_PANEL_WIDTH = 260;
143
+ /** Width constants (px) — Tangle Quiet density (ChatGPT-minimal) */
144
+ declare const SIDEBAR_RAIL_WIDTH = 56;
145
+ declare const SIDEBAR_PANEL_WIDTH = 268;
146
146
  declare const SIDEBAR_TOTAL_WIDTH: number;
147
147
  /**
148
148
  * Width of the mobile drawer when the rail is rendered with labels
package/dist/dashboard.js CHANGED
@@ -48,7 +48,7 @@ import {
48
48
  canAdminSandbox,
49
49
  parseInsufficientBalance,
50
50
  useSidebar
51
- } from "./chunk-F2M5MN7K.js";
51
+ } from "./chunk-YPBFIETY.js";
52
52
  import {
53
53
  BillingDashboard,
54
54
  InfoPanel,
package/dist/globals.css CHANGED
@@ -694,6 +694,9 @@
694
694
  .h-\[3px\] {
695
695
  height: 3px;
696
696
  }
697
+ .h-\[17px\] {
698
+ height: 17px;
699
+ }
697
700
  .h-\[70vh\] {
698
701
  height: 70vh;
699
702
  }
@@ -949,11 +952,14 @@
949
952
  .w-\[3px\] {
950
953
  width: 3px;
951
954
  }
955
+ .w-\[17px\] {
956
+ width: 17px;
957
+ }
952
958
  .w-\[72\%\] {
953
959
  width: 72%;
954
960
  }
955
- .w-\[260px\] {
956
- width: 260px;
961
+ .w-\[268px\] {
962
+ width: 268px;
957
963
  }
958
964
  .w-\[300px\] {
959
965
  width: 300px;
@@ -2457,6 +2463,9 @@
2457
2463
  .text-\[12px\] {
2458
2464
  font-size: 12px;
2459
2465
  }
2466
+ .text-\[13\.5px\] {
2467
+ font-size: 13.5px;
2468
+ }
2460
2469
  .text-\[13px\] {
2461
2470
  font-size: 13px;
2462
2471
  }
@@ -4060,24 +4069,24 @@
4060
4069
  --md3-inverse-primary: #4F46E5;
4061
4070
  --md3-inverse-on-surface: #000000;
4062
4071
  --md3-surface-tint: #818CF8;
4063
- --hsl-background: 244 28% 5%;
4064
- --hsl-foreground: 240 18% 94%;
4065
- --hsl-card: 246 30% 11%;
4066
- --hsl-card-foreground: 240 18% 94%;
4067
- --hsl-popover: 246 28% 14%;
4068
- --hsl-popover-foreground: 240 18% 94%;
4072
+ --hsl-background: 240 8% 5%;
4073
+ --hsl-foreground: 240 6% 93%;
4074
+ --hsl-card: 240 5% 8%;
4075
+ --hsl-card-foreground: 240 6% 93%;
4076
+ --hsl-popover: 240 4% 13%;
4077
+ --hsl-popover-foreground: 240 6% 93%;
4069
4078
  --hsl-primary: 239 84% 67%;
4070
4079
  --hsl-primary-foreground: 0 0% 100%;
4071
- --hsl-secondary: 248 24% 18%;
4072
- --hsl-secondary-foreground: 240 16% 90%;
4073
- --hsl-muted: 246 22% 15%;
4074
- --hsl-muted-foreground: 240 14% 58%;
4075
- --hsl-accent: 248 26% 20%;
4076
- --hsl-accent-foreground: 240 16% 92%;
4080
+ --hsl-secondary: 240 5% 11%;
4081
+ --hsl-secondary-foreground: 240 6% 93%;
4082
+ --hsl-muted: 240 5% 11%;
4083
+ --hsl-muted-foreground: 240 4% 62%;
4084
+ --hsl-accent: 240 5% 11%;
4085
+ --hsl-accent-foreground: 240 6% 93%;
4077
4086
  --hsl-destructive: 348 90% 60%;
4078
4087
  --hsl-destructive-foreground: 0 0% 100%;
4079
- --hsl-border: 244 14% 22%;
4080
- --hsl-input: 246 28% 14%;
4088
+ --hsl-border: 240 3% 13%;
4089
+ --hsl-input: 240 5% 11%;
4081
4090
  --hsl-ring: 239 84% 67%;
4082
4091
  --hsl-success: 160 84% 39%;
4083
4092
  --hsl-warning: 40 94% 56%;
@@ -4105,18 +4114,18 @@
4105
4114
  --warning: var(--hsl-warning);
4106
4115
  --error: var(--hsl-destructive);
4107
4116
  --info: var(--hsl-info);
4108
- --sidebar-background: 244 28% 5%;
4109
- --sidebar-foreground: 240 18% 94%;
4117
+ --sidebar-background: 240 5% 8%;
4118
+ --sidebar-foreground: 240 6% 93%;
4110
4119
  --sidebar-primary: 239 84% 67%;
4111
4120
  --sidebar-primary-foreground: 0 0% 100%;
4112
- --sidebar-accent: 248 26% 20%;
4113
- --sidebar-accent-foreground: 240 16% 92%;
4114
- --sidebar-border: 244 14% 17%;
4121
+ --sidebar-accent: 240 5% 11%;
4122
+ --sidebar-accent-foreground: 240 6% 93%;
4123
+ --sidebar-border: 240 3% 13%;
4115
4124
  --sidebar-ring: 239 84% 67%;
4116
- --depth-1: #0C0B1D;
4117
- --depth-2: #141328;
4118
- --depth-3: #1D1B38;
4119
- --depth-4: #262448;
4125
+ --depth-1: #0b0b0d;
4126
+ --depth-2: #141416;
4127
+ --depth-3: #1a1a1d;
4128
+ --depth-4: #202023;
4120
4129
  --status-running: #10B981;
4121
4130
  --status-creating: #9B93F0;
4122
4131
  --status-stopped: #FFB800;
@@ -4153,29 +4162,27 @@
4153
4162
  --glass-border: var(--border-subtle);
4154
4163
  --glass-border-hover: var(--border-default);
4155
4164
  --glass-blur: 0px;
4156
- --mesh-teal: rgba(16, 185, 129, 0.05);
4157
- --mesh-violet: rgba(99, 102, 241, 0.07);
4158
- --mesh-blue: rgba(129, 140, 248, 0.04);
4165
+ --mesh-teal: transparent;
4166
+ --mesh-violet: transparent;
4167
+ --mesh-blue: transparent;
4159
4168
  --tangle-gradient: linear-gradient(135deg, #6366F1, #818CF8);
4160
4169
  --tangle-gradient-text: linear-gradient(135deg, #A5AAFC, #818CF8);
4161
4170
  --accent-gradient-strong: linear-gradient(135deg, #6366F1, #818CF8);
4162
- --accent-surface-soft: rgba(99, 102, 241, 0.12);
4163
- --accent-surface-strong: rgba(99, 102, 241, 0.20);
4164
- --accent-text: #A5AAFC;
4165
- --bg-root: radial-gradient(ellipse 70% 50% at 20% 0%, rgba(99, 102, 241, 0.08), transparent),
4166
- radial-gradient(ellipse 50% 40% at 80% 10%, rgba(129, 140, 248, 0.06), transparent),
4167
- linear-gradient(180deg, var(--depth-1), #0D0C1E 100%);
4171
+ --accent-surface-soft: rgba(255, 255, 255, 0.04);
4172
+ --accent-surface-strong: rgba(129, 140, 248, 0.14);
4173
+ --accent-text: #b9bffb;
4174
+ --bg-root: #0b0b0d;
4168
4175
  --bg-dark: var(--depth-1);
4169
- --bg-card: hsl(var(--hsl-card));
4170
- --bg-elevated: hsl(246 28% 17%);
4171
- --bg-section: hsl(246 28% 9%);
4172
- --bg-input: hsl(var(--hsl-input));
4173
- --bg-hover: rgba(99, 102, 241, 0.08);
4174
- --bg-selection: rgba(99, 102, 241, 0.18);
4175
- --text-primary: hsl(var(--hsl-foreground));
4176
- --text-secondary: hsl(240 16% 85%);
4177
- --text-muted: #8688B0;
4178
- --text-dim: #606294;
4176
+ --bg-card: var(--depth-2);
4177
+ --bg-elevated: var(--depth-4);
4178
+ --bg-section: var(--depth-1);
4179
+ --bg-input: var(--depth-3);
4180
+ --bg-hover: rgba(255, 255, 255, 0.04);
4181
+ --bg-selection: rgba(129, 140, 248, 0.14);
4182
+ --text-primary: #ececee;
4183
+ --text-secondary: #c8c8cd;
4184
+ --text-muted: #9a9aa2;
4185
+ --text-dim: #6b6b73;
4179
4186
  --brand-primary: #6366F1;
4180
4187
  --brand-strong: #2E2A5E;
4181
4188
  --brand-strong-text: #ffffff;
@@ -4186,11 +4193,11 @@
4186
4193
  --brand-purple: #C7D2FE;
4187
4194
  --brand-vibrant: #6366F1;
4188
4195
  --brand-emerald: #10B981;
4189
- --border-subtle: rgba(100, 100, 148, 0.10);
4190
- --border-default: rgba(100, 100, 148, 0.18);
4191
- --border-hover: rgba(100, 100, 148, 0.28);
4192
- --border-accent: rgba(99, 102, 241, 0.18);
4193
- --border-accent-hover: rgba(99, 102, 241, 0.35);
4196
+ --border-subtle: rgba(255, 255, 255, 0.05);
4197
+ --border-default: rgba(255, 255, 255, 0.07);
4198
+ --border-hover: rgba(255, 255, 255, 0.12);
4199
+ --border-accent: rgba(129, 140, 248, 0.20);
4200
+ --border-accent-hover: rgba(129, 140, 248, 0.35);
4194
4201
  --btn-primary-bg: #6366F1;
4195
4202
  --btn-primary-hover: #818CF8;
4196
4203
  --btn-primary-text: #ffffff;
@@ -4203,20 +4210,21 @@
4203
4210
  --code-success: #10B981;
4204
4211
  --code-comment: #606294;
4205
4212
  --code-error: #FF4D6D;
4206
- --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.04);
4207
- --shadow-dropdown: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.06);
4208
- --shadow-glow: 0 0 32px rgba(99, 102, 241, 0.18);
4209
- --shadow-accent: 0 1px 3px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(99, 102, 241, 0.2);
4213
+ --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.3);
4214
+ --shadow-dropdown: 0 8px 30px rgba(0, 0, 0, 0.45);
4215
+ --shadow-glow: none;
4216
+ --shadow-accent: 0 1px 2px rgba(0, 0, 0, 0.3);
4210
4217
  --shadow-status-running: 0 0 6px rgba(16, 185, 129, 0.5);
4211
4218
  --shadow-status-creating: 0 0 6px rgba(99, 102, 241, 0.5);
4212
4219
  --shadow-status-error: 0 0 6px rgba(255, 77, 109, 0.5);
4213
4220
  --radius-sm: 6px;
4214
4221
  --radius-md: 8px;
4215
- --radius-lg: 12px;
4216
- --radius-xl: 16px;
4222
+ --radius-lg: 10px;
4223
+ --radius-xl: 12px;
4217
4224
  --radius-pill: 999px;
4218
4225
  --radius-full: 999px;
4219
- --radius: 0.625rem;
4226
+ --radius-composer: 26px;
4227
+ --radius: 0.5rem;
4220
4228
  --control-height: 2.25rem;
4221
4229
  --panel-padding: 1rem;
4222
4230
  --content-max-width: 80rem;
@@ -4226,8 +4234,8 @@
4226
4234
  --font-size-lg: 1rem;
4227
4235
  --font-size-xl: 1.25rem;
4228
4236
  --line-height-tight: 1.3;
4229
- --line-height-base: 1.75;
4230
- --line-height-relaxed: 1.8;
4237
+ --line-height-base: 1.6;
4238
+ --line-height-relaxed: 1.75;
4231
4239
  --avatar-size: 2rem;
4232
4240
  --timeline-dot-size: 0.625rem;
4233
4241
  --indicator-dot-size: 0.25rem;
@@ -4254,8 +4262,8 @@
4254
4262
  --transition-fast: 0.1s ease;
4255
4263
  --transition-default: 0.16s ease;
4256
4264
  --transition-medium: 0.24s ease;
4257
- --font-sans: "Geist", "DM Sans", ui-sans-serif, system-ui, sans-serif;
4258
- --font-display: "Outfit", "Geist", sans-serif;
4265
+ --font-sans: "Inter", "Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;
4266
+ --font-display: "Inter", "Geist", sans-serif;
4259
4267
  --font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, monospace;
4260
4268
  }
4261
4269
  [data-sandbox-theme="vault"] {
@@ -4295,32 +4303,32 @@
4295
4303
  --md3-inverse-primary: #A5AAFC;
4296
4304
  --md3-inverse-on-surface: #f0f1f4;
4297
4305
  --md3-surface-tint: #6366F1;
4298
- --hsl-background: 225 20% 97%;
4299
- --hsl-foreground: 228 20% 12%;
4300
- --hsl-card: 0 0% 100%;
4301
- --hsl-card-foreground: 228 20% 12%;
4306
+ --hsl-background: 0 0% 100%;
4307
+ --hsl-foreground: 0 0% 5%;
4308
+ --hsl-card: 240 7% 97%;
4309
+ --hsl-card-foreground: 0 0% 5%;
4302
4310
  --hsl-popover: 0 0% 100%;
4303
- --hsl-popover-foreground: 228 20% 12%;
4304
- --hsl-primary: 239 84% 67%;
4311
+ --hsl-popover-foreground: 0 0% 5%;
4312
+ --hsl-primary: 245 62% 57%;
4305
4313
  --hsl-primary-foreground: 0 0% 100%;
4306
- --hsl-secondary: 242 22% 42%;
4307
- --hsl-secondary-foreground: 0 0% 100%;
4308
- --hsl-muted: 240 14% 89%;
4309
- --hsl-muted-foreground: 240 10% 36%;
4310
- --hsl-accent: 248 22% 86%;
4311
- --hsl-accent-foreground: 248 38% 30%;
4314
+ --hsl-secondary: 240 6% 93%;
4315
+ --hsl-secondary-foreground: 0 0% 10%;
4316
+ --hsl-muted: 240 6% 93%;
4317
+ --hsl-muted-foreground: 240 5% 38%;
4318
+ --hsl-accent: 240 6% 93%;
4319
+ --hsl-accent-foreground: 0 0% 10%;
4312
4320
  --hsl-destructive: 0 72% 41%;
4313
4321
  --hsl-destructive-foreground: 0 0% 100%;
4314
- --hsl-border: 244 14% 78%;
4315
- --hsl-input: 244 12% 80%;
4316
- --hsl-ring: 239 84% 67%;
4322
+ --hsl-border: 240 6% 89%;
4323
+ --hsl-input: 240 6% 89%;
4324
+ --hsl-ring: 245 62% 57%;
4317
4325
  --hsl-success: 160 84% 30%;
4318
4326
  --hsl-warning: 41 96% 50%;
4319
4327
  --hsl-info: 212 80% 50%;
4320
- --depth-1: #f4f4f9;
4321
- --depth-2: #edecf4;
4322
- --depth-3: #e5e4ee;
4323
- --depth-4: #dcdbe8;
4328
+ --depth-1: #ffffff;
4329
+ --depth-2: #f7f7f8;
4330
+ --depth-3: #ececee;
4331
+ --depth-4: #e3e3e6;
4324
4332
  --status-running: #059669;
4325
4333
  --status-creating: #3E349E;
4326
4334
  --status-stopped: #B45309;
@@ -4356,29 +4364,29 @@
4356
4364
  --surface-neutral-bg: var(--depth-3);
4357
4365
  --surface-neutral-border: var(--border-subtle);
4358
4366
  --surface-neutral-text: var(--text-muted);
4359
- --sidebar-background: 232 18% 96%;
4360
- --sidebar-foreground: 228 20% 12%;
4361
- --sidebar-primary: 239 84% 67%;
4367
+ --sidebar-background: 240 7% 97%;
4368
+ --sidebar-foreground: 0 0% 5%;
4369
+ --sidebar-primary: 245 62% 57%;
4362
4370
  --sidebar-primary-foreground: 0 0% 100%;
4363
- --sidebar-accent: 240 18% 90%;
4364
- --sidebar-accent-foreground: 240 38% 30%;
4365
- --sidebar-border: 244 14% 78%;
4366
- --sidebar-ring: 239 84% 67%;
4367
- --mesh-teal: rgba(5, 150, 105, 0.04);
4368
- --mesh-violet: rgba(99, 102, 241, 0.03);
4369
- --mesh-blue: rgba(129, 140, 248, 0.03);
4370
- --bg-root: #f4f4f9;
4371
- --bg-dark: #edecf4;
4372
- --bg-card: #ffffff;
4373
- --bg-elevated: #e5e4ee;
4374
- --bg-section: #edecf4;
4375
- --bg-input: #edecf4;
4376
- --bg-hover: rgba(99, 102, 241, 0.05);
4377
- --bg-selection: rgba(99, 102, 241, 0.10);
4378
- --text-primary: #191c24;
4379
- --text-secondary: #3a3a50;
4380
- --text-muted: #5E5E7A;
4381
- --text-dim: #A0A0B8;
4371
+ --sidebar-accent: 240 6% 93%;
4372
+ --sidebar-accent-foreground: 0 0% 10%;
4373
+ --sidebar-border: 240 6% 89%;
4374
+ --sidebar-ring: 245 62% 57%;
4375
+ --mesh-teal: transparent;
4376
+ --mesh-violet: transparent;
4377
+ --mesh-blue: transparent;
4378
+ --bg-root: #ffffff;
4379
+ --bg-dark: #f7f7f8;
4380
+ --bg-card: #f7f7f8;
4381
+ --bg-elevated: #ffffff;
4382
+ --bg-section: #f7f7f8;
4383
+ --bg-input: #ececee;
4384
+ --bg-hover: rgba(0, 0, 0, 0.04);
4385
+ --bg-selection: rgba(91, 78, 212, 0.10);
4386
+ --text-primary: #0d0d0d;
4387
+ --text-secondary: #2a2a30;
4388
+ --text-muted: #5d5d66;
4389
+ --text-dim: #8e8e98;
4382
4390
  --brand-primary: #6366F1;
4383
4391
  --brand-strong: #2E2A5E;
4384
4392
  --brand-strong-text: #ffffff;
@@ -4389,15 +4397,15 @@
4389
4397
  --brand-purple: #6366F1;
4390
4398
  --brand-vibrant: #6366F1;
4391
4399
  --brand-emerald: #059669;
4392
- --border-subtle: rgba(110, 108, 148, 0.20);
4393
- --border-default: rgba(110, 108, 148, 0.35);
4394
- --border-hover: rgba(110, 108, 148, 0.50);
4395
- --border-accent: rgba(99, 102, 241, 0.15);
4396
- --border-accent-hover: rgba(99, 102, 241, 0.30);
4397
- --btn-primary-bg: #6366F1;
4400
+ --border-subtle: rgba(0, 0, 0, 0.06);
4401
+ --border-default: rgba(0, 0, 0, 0.08);
4402
+ --border-hover: rgba(0, 0, 0, 0.13);
4403
+ --border-accent: rgba(91, 78, 212, 0.18);
4404
+ --border-accent-hover: rgba(91, 78, 212, 0.35);
4405
+ --btn-primary-bg: #5B4ED4;
4398
4406
  --btn-primary-hover: #4F46E5;
4399
4407
  --btn-primary-text: #ffffff;
4400
- --btn-cta-bg: #6366F1;
4408
+ --btn-cta-bg: #5B4ED4;
4401
4409
  --btn-cta-text: #ffffff;
4402
4410
  --code-keyword: #3E349E;
4403
4411
  --code-string: #059669;
@@ -4406,26 +4414,27 @@
4406
4414
  --code-success: #059669;
4407
4415
  --code-comment: #6B6E8A;
4408
4416
  --code-error: #ba1a1a;
4409
- --shadow-card: 0 1px 3px rgba(25, 28, 36, 0.05), 0 0 0 1px rgba(200, 198, 218, 0.22);
4410
- --shadow-dropdown: 0 8px 32px rgba(25, 28, 36, 0.10), 0 0 0 1px rgba(200, 198, 218, 0.28);
4417
+ --shadow-card: 0 1px 2px rgba(25, 28, 36, 0.06);
4418
+ --shadow-dropdown: 0 8px 30px rgba(25, 28, 36, 0.10);
4411
4419
  --shadow-glow: none;
4412
- --shadow-accent: 0 1px 3px rgba(25, 28, 36, 0.05), 0 0 0 1px rgba(99, 102, 241, 0.15);
4413
- --tangle-gradient: linear-gradient(135deg, #6366F1, #818CF8);
4414
- --tangle-gradient-text: linear-gradient(135deg, #4F46E5, #6366F1);
4415
- --accent-gradient-strong: linear-gradient(135deg, #6366F1, #818CF8);
4416
- --accent-surface-soft: rgba(99, 102, 241, 0.06);
4417
- --accent-surface-strong: rgba(99, 102, 241, 0.12);
4420
+ --shadow-accent: 0 1px 2px rgba(25, 28, 36, 0.06);
4421
+ --tangle-gradient: linear-gradient(135deg, #4F46E5, #5B4ED4);
4422
+ --tangle-gradient-text: linear-gradient(135deg, #4F46E5, #5B4ED4);
4423
+ --accent-gradient-strong: linear-gradient(135deg, #4F46E5, #5B4ED4);
4424
+ --accent-surface-soft: rgba(0, 0, 0, 0.04);
4425
+ --accent-surface-strong: rgba(91, 78, 212, 0.10);
4418
4426
  --accent-text: #4F46E5;
4419
- --font-sans: "Inter", "Geist", ui-sans-serif, system-ui, sans-serif;
4420
- --font-display: "Manrope", "Inter", sans-serif;
4427
+ --font-sans: "Inter", "Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;
4428
+ --font-display: "Inter", "Geist", sans-serif;
4421
4429
  --font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, monospace;
4422
- --radius: 0.375rem;
4423
- --radius-sm: 2px;
4424
- --radius-md: 4px;
4425
- --radius-lg: 6px;
4426
- --radius-xl: 8px;
4430
+ --radius: 0.5rem;
4431
+ --radius-sm: 6px;
4432
+ --radius-md: 8px;
4433
+ --radius-lg: 10px;
4434
+ --radius-xl: 12px;
4427
4435
  --radius-pill: 999px;
4428
4436
  --radius-full: 999px;
4437
+ --radius-composer: 26px;
4429
4438
  }
4430
4439
  @layer base {
4431
4440
  :root {
package/dist/index.js CHANGED
@@ -195,7 +195,7 @@ import {
195
195
  canAdminSandbox,
196
196
  parseInsufficientBalance,
197
197
  useSidebar
198
- } from "./chunk-F2M5MN7K.js";
198
+ } from "./chunk-YPBFIETY.js";
199
199
  import {
200
200
  BillingDashboard,
201
201
  InfoPanel,