@dmitriikapustin/ui 0.1.0 → 0.2.1

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/dist/index.js CHANGED
@@ -34,6 +34,12 @@ var __objRest = (source, exclude) => {
34
34
  }
35
35
  return target;
36
36
  };
37
+
38
+ // src/atoms/Spinner.module.scss
39
+ var Spinner_module_default = {
40
+ root: "Spinner_module_root",
41
+ fallback: "Spinner_module_fallback"
42
+ };
37
43
  var sizeMap = {
38
44
  sm: 32,
39
45
  md: 48,
@@ -41,7 +47,7 @@ var sizeMap = {
41
47
  };
42
48
  var cachedData = null;
43
49
  function Spinner({ size = "md", className = "" }) {
44
- const s = sizeMap[size];
50
+ const px = sizeMap[size];
45
51
  const [data, setData] = useState(() => cachedData);
46
52
  useEffect(() => {
47
53
  if (data) return;
@@ -60,8 +66,8 @@ function Spinner({ size = "md", className = "" }) {
60
66
  return /* @__PURE__ */ jsx(
61
67
  "div",
62
68
  {
63
- className: `inline-flex items-center justify-center ${className}`,
64
- style: { width: s, height: s },
69
+ className: `${Spinner_module_default.root} ${className}`,
70
+ style: { width: px, height: px },
65
71
  "aria-label": "Loading",
66
72
  children: data ? /* @__PURE__ */ jsx(
67
73
  Lottie,
@@ -69,27 +75,29 @@ function Spinner({ size = "md", className = "" }) {
69
75
  animationData: data,
70
76
  loop: true,
71
77
  autoplay: true,
72
- style: { width: s, height: s }
78
+ style: { width: px, height: px }
73
79
  }
74
80
  ) : /* @__PURE__ */ jsx(
75
81
  "div",
76
82
  {
77
- className: "rounded-full border-2 border-[var(--border-color)] border-t-[var(--fg)] animate-spin",
78
- style: { width: s * 0.7, height: s * 0.7 }
83
+ className: Spinner_module_default.fallback,
84
+ style: { width: px * 0.7, height: px * 0.7 }
79
85
  }
80
86
  )
81
87
  }
82
88
  );
83
89
  }
84
- var variantStyles = {
85
- primary: "bg-[var(--fg)] text-[var(--bg)] border border-[var(--bg)] hover:opacity-90 active:opacity-80 shadow-[var(--shadow-sm)]",
86
- secondary: "bg-[var(--bg-tertiary)] text-[var(--fg)] hover:bg-[var(--border-color)] active:bg-[var(--border-color-strong)]",
87
- outline: "border border-[var(--fg-secondary)] text-[var(--fg-secondary)] hover:bg-[var(--bg-tertiary)] active:bg-[var(--border-color)]",
88
- ghost: "text-[var(--fg-secondary)] hover:text-[var(--fg)] hover:bg-[var(--bg-tertiary)] active:bg-[var(--border-color)]"
89
- };
90
- var sizeStyles = {
91
- sm: "text-[13px] px-4 py-2 gap-1.5 rounded-full tracking-[-0.25px]",
92
- md: "text-[13px] px-4 py-2 gap-2 rounded-full tracking-[-0.25px]"
90
+
91
+ // src/atoms/Button.module.scss
92
+ var Button_module_default = {
93
+ root: "Button_module_root",
94
+ primary: "Button_module_primary",
95
+ secondary: "Button_module_secondary",
96
+ outline: "Button_module_outline",
97
+ ghost: "Button_module_ghost",
98
+ sm: "Button_module_sm",
99
+ md: "Button_module_md",
100
+ disabled: "Button_module_disabled"
93
101
  };
94
102
  function Button(_a) {
95
103
  var _b = _a, {
@@ -114,7 +122,7 @@ function Button(_a) {
114
122
  return /* @__PURE__ */ jsxs(
115
123
  "button",
116
124
  __spreadProps(__spreadValues({
117
- className: `inline-flex items-center justify-center font-medium transition-all duration-[var(--transition-fast)] cursor-pointer select-none whitespace-nowrap ${variantStyles[variant]} ${sizeStyles[size]} ${disabled || loading ? "opacity-50 cursor-not-allowed pointer-events-none" : ""} ${className}`,
125
+ className: `${Button_module_default.root} ${Button_module_default[variant]} ${Button_module_default[size]}${disabled || loading ? ` ${Button_module_default.disabled}` : ""}${className ? ` ${className}` : ""}`,
118
126
  disabled: disabled || loading
119
127
  }, props), {
120
128
  children: [
@@ -125,6 +133,20 @@ function Button(_a) {
125
133
  })
126
134
  );
127
135
  }
136
+
137
+ // src/atoms/Input.module.scss
138
+ var Input_module_default = {
139
+ wrapper: "Input_module_wrapper",
140
+ label: "Input_module_label",
141
+ inputWrap: "Input_module_inputWrap",
142
+ input: "Input_module_input",
143
+ hasIconLeft: "Input_module_hasIconLeft",
144
+ hasIconRight: "Input_module_hasIconRight",
145
+ iconLeft: "Input_module_iconLeft",
146
+ iconRight: "Input_module_iconRight",
147
+ error: "Input_module_error",
148
+ errorText: "Input_module_errorText"
149
+ };
128
150
  function Input(_a) {
129
151
  var _b = _a, {
130
152
  label,
@@ -142,41 +164,37 @@ function Input(_a) {
142
164
  "id"
143
165
  ]);
144
166
  const inputId = id || (label == null ? void 0 : label.toLowerCase().replace(/\s+/g, "-"));
145
- return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
146
- label && /* @__PURE__ */ jsx(
147
- "label",
148
- {
149
- htmlFor: inputId,
150
- className: "text-[13px] font-medium text-[var(--fg)] tracking-[-0.25px]",
151
- children: label
152
- }
153
- ),
154
- /* @__PURE__ */ jsxs("div", { className: "relative", children: [
155
- icon && /* @__PURE__ */ jsx("span", { className: "absolute left-3.5 top-1/2 -translate-y-1/2 text-[var(--fg-muted)]", children: icon }),
167
+ return /* @__PURE__ */ jsxs("div", { className: Input_module_default.wrapper, children: [
168
+ label && /* @__PURE__ */ jsx("label", { htmlFor: inputId, className: Input_module_default.label, children: label }),
169
+ /* @__PURE__ */ jsxs("div", { className: Input_module_default.inputWrap, children: [
170
+ icon && /* @__PURE__ */ jsx("span", { className: Input_module_default.iconLeft, children: icon }),
156
171
  /* @__PURE__ */ jsx(
157
172
  "input",
158
173
  __spreadValues({
159
174
  id: inputId,
160
- className: `w-full border border-[var(--fg-muted)] bg-[var(--bg)] px-[15px] py-3 text-[13px] tracking-[-0.25px] text-[var(--fg-secondary)] placeholder:text-[var(--fg-muted)] transition-all duration-[var(--transition-fast)] focus:outline-none focus:border-[var(--fg)] rounded-full ${icon ? "pl-10" : ""} ${iconRight ? "pr-10" : ""} ${error ? "border-[var(--color-error)] focus:border-[var(--color-error)]" : ""} ${className}`
175
+ className: `${Input_module_default.input}${icon ? ` ${Input_module_default.hasIconLeft}` : ""}${iconRight ? ` ${Input_module_default.hasIconRight}` : ""}${error ? ` ${Input_module_default.error}` : ""}${className ? ` ${className}` : ""}`
161
176
  }, props)
162
177
  ),
163
- iconRight && /* @__PURE__ */ jsx("span", { className: "absolute right-3.5 top-1/2 -translate-y-1/2 text-[var(--fg-muted)]", children: iconRight })
178
+ iconRight && /* @__PURE__ */ jsx("span", { className: Input_module_default.iconRight, children: iconRight })
164
179
  ] }),
165
- error && /* @__PURE__ */ jsx("p", { className: "text-[13px] tracking-[-0.25px] text-[var(--color-error)]", children: error })
180
+ error && /* @__PURE__ */ jsx("p", { className: Input_module_default.errorText, children: error })
166
181
  ] });
167
182
  }
168
- var colorStyles = {
169
- default: "bg-[var(--bg-tertiary)] text-[var(--fg)]",
170
- success: "bg-[var(--bg-tertiary)] text-[var(--color-success)]",
171
- warning: "bg-[var(--bg-tertiary)] text-[var(--color-warning)]",
172
- error: "bg-[var(--bg-tertiary)] text-[var(--color-error)]",
173
- info: "bg-[var(--bg-tertiary)] text-[var(--color-info)]"
183
+
184
+ // src/atoms/Badge.module.scss
185
+ var Badge_module_default = {
186
+ root: "Badge_module_root",
187
+ default: "Badge_module_default",
188
+ success: "Badge_module_success",
189
+ warning: "Badge_module_warning",
190
+ error: "Badge_module_error",
191
+ info: "Badge_module_info"
174
192
  };
175
193
  function Badge({ color = "default", children, className = "" }) {
176
194
  return /* @__PURE__ */ jsx(
177
195
  "span",
178
196
  {
179
- className: `inline-flex items-center px-2.5 py-0.5 rounded-full text-[13px] font-semibold tracking-[-0.25px] ${colorStyles[color]} ${className}`,
197
+ className: `${Badge_module_default.root} ${Badge_module_default[color]}${className ? ` ${className}` : ""}`,
180
198
  children
181
199
  }
182
200
  );
@@ -214,71 +232,108 @@ var IconlyEye = IconlyActivity;
214
232
  var IconlyEyeOff = IconlyActivity;
215
233
  var IconlyChevronRight = IconlyActivity;
216
234
  var IconlyChevronLeft = IconlyActivity;
217
- var colorStyles2 = {
218
- default: "bg-[var(--bg-tertiary)] text-[var(--fg-secondary)] border-[var(--border-color)]",
219
- primary: "bg-[var(--bg-tertiary)] text-[var(--fg)] border-[var(--border-color-strong)]",
220
- success: "bg-[var(--bg-tertiary)] text-[var(--color-success)] border-[var(--border-color)]",
221
- warning: "bg-[var(--bg-tertiary)] text-[var(--color-warning)] border-[var(--border-color)]",
222
- error: "bg-[var(--bg-tertiary)] text-[var(--color-error)] border-[var(--border-color)]"
235
+
236
+ // src/atoms/Tag.module.scss
237
+ var Tag_module_default = {
238
+ root: "Tag_module_root",
239
+ default: "Tag_module_default",
240
+ primary: "Tag_module_primary",
241
+ success: "Tag_module_success",
242
+ warning: "Tag_module_warning",
243
+ error: "Tag_module_error",
244
+ closeBtn: "Tag_module_closeBtn"
223
245
  };
224
246
  function Tag({ color = "default", closable = false, onClose, children, className = "" }) {
247
+ return /* @__PURE__ */ jsxs("span", { className: `${Tag_module_default.root} ${Tag_module_default[color]} ${className}`, children: [
248
+ children,
249
+ closable && /* @__PURE__ */ jsx(
250
+ "button",
251
+ {
252
+ onClick: onClose,
253
+ className: Tag_module_default.closeBtn,
254
+ "aria-label": "Remove tag",
255
+ children: /* @__PURE__ */ jsx(IconlyClose, { size: 12 })
256
+ }
257
+ )
258
+ ] });
259
+ }
260
+
261
+ // src/atoms/Toggle.module.scss
262
+ var Toggle_module_default = {
263
+ root: "Toggle_module_root",
264
+ track: "Toggle_module_track",
265
+ trackOn: "Toggle_module_trackOn",
266
+ trackOff: "Toggle_module_trackOff",
267
+ knob: "Toggle_module_knob",
268
+ knobOn: "Toggle_module_knobOn",
269
+ knobOff: "Toggle_module_knobOff",
270
+ label: "Toggle_module_label",
271
+ disabled: "Toggle_module_disabled"
272
+ };
273
+ function Toggle({
274
+ checked = false,
275
+ onChange,
276
+ label,
277
+ disabled = false,
278
+ className = ""
279
+ }) {
225
280
  return /* @__PURE__ */ jsxs(
226
- "span",
281
+ "label",
227
282
  {
228
- className: `inline-flex items-center gap-1.5 px-3 py-1 rounded-full text-[13px] font-medium tracking-[-0.25px] border ${colorStyles2[color]} ${className}`,
283
+ className: `${Toggle_module_default.root}${disabled ? ` ${Toggle_module_default.disabled}` : ""}${className ? ` ${className}` : ""}`,
229
284
  children: [
230
- children,
231
- closable && /* @__PURE__ */ jsx(
285
+ /* @__PURE__ */ jsx(
232
286
  "button",
233
287
  {
234
- onClick: onClose,
235
- className: "hover:opacity-70 transition-opacity cursor-pointer",
236
- "aria-label": "Remove tag",
237
- children: /* @__PURE__ */ jsx(IconlyClose, { size: 12 })
288
+ role: "switch",
289
+ type: "button",
290
+ "aria-checked": checked,
291
+ disabled,
292
+ onClick: () => onChange == null ? void 0 : onChange(!checked),
293
+ className: `${Toggle_module_default.track} ${checked ? Toggle_module_default.trackOn : Toggle_module_default.trackOff}${disabled ? ` ${Toggle_module_default.disabled}` : ""}`,
294
+ children: /* @__PURE__ */ jsx(
295
+ "span",
296
+ {
297
+ className: `${Toggle_module_default.knob} ${checked ? Toggle_module_default.knobOn : Toggle_module_default.knobOff}`
298
+ }
299
+ )
238
300
  }
239
- )
301
+ ),
302
+ label && /* @__PURE__ */ jsx("span", { className: Toggle_module_default.label, children: label })
240
303
  ]
241
304
  }
242
305
  );
243
306
  }
244
- function Toggle({ checked = false, onChange, label, disabled = false, className = "" }) {
245
- return /* @__PURE__ */ jsxs("label", { className: `inline-flex items-center gap-2.5 ${disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"} ${className}`, children: [
246
- /* @__PURE__ */ jsx(
247
- "button",
248
- {
249
- role: "switch",
250
- type: "button",
251
- "aria-checked": checked,
252
- disabled,
253
- onClick: () => onChange == null ? void 0 : onChange(!checked),
254
- className: `relative inline-flex h-6 w-11 shrink-0 items-center rounded-full px-0.5 transition-colors duration-200 ease-in-out focus:outline-none cursor-pointer ${checked ? "bg-[var(--color-accent)] justify-end" : "bg-[var(--border-color)]"} ${disabled ? "cursor-not-allowed" : ""}`,
255
- children: /* @__PURE__ */ jsx(
256
- "span",
257
- {
258
- className: "pointer-events-none inline-block h-5 w-5 rounded-full bg-white transition-transform duration-200 ease-in-out"
259
- }
260
- )
261
- }
262
- ),
263
- label && /* @__PURE__ */ jsx("span", { className: "text-[13px] font-medium text-[var(--fg)] tracking-[-0.25px]", children: label })
264
- ] });
265
- }
266
- var sizeMap2 = {
267
- sm: { container: "w-8 h-8", text: "text-xs" },
268
- md: { container: "w-10 h-10", text: "text-sm" },
269
- lg: { container: "w-12 h-12", text: "text-base" },
270
- xl: { container: "w-16 h-16", text: "text-lg" }
307
+
308
+ // src/atoms/Avatar.module.scss
309
+ var Avatar_module_default = {
310
+ root: "Avatar_module_root",
311
+ initials: "Avatar_module_initials",
312
+ initialsText: "Avatar_module_initialsText",
313
+ sm: "Avatar_module_sm",
314
+ md: "Avatar_module_md",
315
+ lg: "Avatar_module_lg",
316
+ xl: "Avatar_module_xl",
317
+ textSm: "Avatar_module_textSm",
318
+ textMd: "Avatar_module_textMd",
319
+ textLg: "Avatar_module_textLg",
320
+ textXl: "Avatar_module_textXl"
321
+ };
322
+ var textSizeMap = {
323
+ sm: Avatar_module_default.textSm,
324
+ md: Avatar_module_default.textMd,
325
+ lg: Avatar_module_default.textLg,
326
+ xl: Avatar_module_default.textXl
271
327
  };
272
328
  function Avatar(_a) {
273
329
  var _b = _a, { src, alt = "", initials, size = "md", className = "" } = _b, props = __objRest(_b, ["src", "alt", "initials", "size", "className"]);
274
- const s = sizeMap2[size];
275
330
  if (!src && initials) {
276
331
  return /* @__PURE__ */ jsx(
277
332
  "div",
278
333
  {
279
- className: `${s.container} rounded-full bg-[var(--bg-tertiary)] border border-[var(--border-color)] flex items-center justify-center ${className}`,
334
+ className: `${Avatar_module_default.initials} ${Avatar_module_default[size]}${className ? ` ${className}` : ""}`,
280
335
  "aria-label": alt || initials,
281
- children: /* @__PURE__ */ jsx("span", { className: `${s.text} font-medium text-[var(--fg-secondary)] select-none`, children: initials })
336
+ children: /* @__PURE__ */ jsx("span", { className: `${Avatar_module_default.initialsText} ${textSizeMap[size]}`, children: initials })
282
337
  }
283
338
  );
284
339
  }
@@ -290,37 +345,59 @@ function Avatar(_a) {
290
345
  __spreadValues({
291
346
  src: imgSrc,
292
347
  alt,
293
- className: `${s.container} rounded-full object-cover ${className}`
348
+ className: `${Avatar_module_default.root} ${Avatar_module_default[size]}${className ? ` ${className}` : ""}`
294
349
  }, props)
295
350
  )
296
351
  );
297
352
  }
353
+
354
+ // src/atoms/Divider.module.scss
355
+ var Divider_module_default = {
356
+ root: "Divider_module_root",
357
+ withLabel: "Divider_module_withLabel",
358
+ line: "Divider_module_line",
359
+ label: "Divider_module_label"
360
+ };
298
361
  function Divider({ className = "", label }) {
299
362
  if (label) {
300
- return /* @__PURE__ */ jsxs("div", { className: `flex items-center gap-4 ${className}`, children: [
301
- /* @__PURE__ */ jsx("div", { className: "flex-1 h-px bg-[var(--border-color)]" }),
302
- /* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-[var(--fg-muted)] uppercase tracking-wider", children: label }),
303
- /* @__PURE__ */ jsx("div", { className: "flex-1 h-px bg-[var(--border-color)]" })
363
+ return /* @__PURE__ */ jsxs("div", { className: `${Divider_module_default.withLabel}${className ? ` ${className}` : ""}`, children: [
364
+ /* @__PURE__ */ jsx("div", { className: Divider_module_default.line }),
365
+ /* @__PURE__ */ jsx("span", { className: Divider_module_default.label, children: label }),
366
+ /* @__PURE__ */ jsx("div", { className: Divider_module_default.line })
304
367
  ] });
305
368
  }
306
- return /* @__PURE__ */ jsx("hr", { className: `border-none h-px bg-[var(--border-color)] ${className}` });
369
+ return /* @__PURE__ */ jsx("hr", { className: `${Divider_module_default.root}${className ? ` ${className}` : ""}` });
307
370
  }
308
- function MenuItem({ text, active = false, onClick, className = "" }) {
309
- return /* @__PURE__ */ jsx(
371
+
372
+ // src/atoms/MenuItem.module.scss
373
+ var MenuItem_module_default = {
374
+ root: "MenuItem_module_root",
375
+ icon: "MenuItem_module_icon",
376
+ active: "MenuItem_module_active"
377
+ };
378
+ function MenuItem({ text, active = false, onClick, className = "", icon }) {
379
+ return /* @__PURE__ */ jsxs(
310
380
  "button",
311
381
  {
312
382
  onClick,
313
- className: `inline-flex items-center px-[4px] py-[2px] text-[13px] font-medium tracking-[-0.25px] cursor-pointer border-none text-left whitespace-nowrap transition-colors duration-150 ${active ? "bg-[var(--bg-secondary)] text-[var(--fg)]" : "bg-transparent text-[var(--fg-muted)] hover:text-[var(--fg-secondary)]"} ${className}`,
314
- children: text
383
+ className: `${MenuItem_module_default.root}${active ? ` ${MenuItem_module_default.active}` : ""}${className ? ` ${className}` : ""}`,
384
+ children: [
385
+ icon && /* @__PURE__ */ jsx("span", { className: MenuItem_module_default.icon, children: icon }),
386
+ text
387
+ ]
315
388
  }
316
389
  );
317
390
  }
318
- var variantStyles2 = {
319
- primary: "bg-[var(--fg)] text-[var(--bg)] border border-[var(--bg)] shadow-[var(--shadow-sm)]",
320
- secondary: "bg-[var(--bg-tertiary)] text-[var(--fg-secondary)]",
321
- clear: "bg-transparent text-[var(--fg-secondary)] shadow-[var(--shadow-sm)]",
322
- disabled: "bg-[var(--bg-tertiary)] text-[var(--fg-muted)] opacity-50 cursor-not-allowed",
323
- contrast: "bg-[var(--border-color)] text-[var(--fg-secondary)]"
391
+
392
+ // src/atoms/IconButton.module.scss
393
+ var IconButton_module_default = {
394
+ root: "IconButton_module_root",
395
+ primary: "IconButton_module_primary",
396
+ secondary: "IconButton_module_secondary",
397
+ clear: "IconButton_module_clear",
398
+ disabled: "IconButton_module_disabled",
399
+ contrast: "IconButton_module_contrast",
400
+ isDisabled: "IconButton_module_isDisabled"
324
401
  };
325
402
  function IconButton(_a) {
326
403
  var _b = _a, { icon, variant = "primary", className = "", disabled } = _b, props = __objRest(_b, ["icon", "variant", "className", "disabled"]);
@@ -328,34 +405,57 @@ function IconButton(_a) {
328
405
  return /* @__PURE__ */ jsx(
329
406
  "button",
330
407
  __spreadProps(__spreadValues({
331
- className: `inline-flex items-center justify-center w-9 h-9 rounded-full transition-all duration-[var(--transition-fast)] cursor-pointer shrink-0 ${variantStyles2[variant]} ${isDisabled ? "cursor-not-allowed" : ""} ${className}`,
408
+ className: `${IconButton_module_default.root} ${IconButton_module_default[variant]}${isDisabled ? ` ${IconButton_module_default.isDisabled}` : ""}${className ? ` ${className}` : ""}`,
332
409
  disabled: isDisabled
333
410
  }, props), {
334
411
  children: icon
335
412
  })
336
413
  );
337
414
  }
415
+
416
+ // src/atoms/Logo.module.scss
417
+ var Logo_module_default = {
418
+ short: "Logo_module_short",
419
+ full: "Logo_module_full",
420
+ third: "Logo_module_third",
421
+ thirdText: "Logo_module_thirdText"
422
+ };
338
423
  function Logo({ version = "short", className = "" }) {
339
424
  if (version === "short") {
340
- return /* @__PURE__ */ jsx("div", { className: `w-[19px] h-5 ${className}`, children: /* @__PURE__ */ jsx("img", { className: "logo-img", src: "/assets/logos/logo-short.svg", alt: "aiacade.me", width: 19, height: 20 }) });
425
+ return /* @__PURE__ */ jsx("div", { className: `${Logo_module_default.short}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsx("img", { className: "logo-img", src: "/assets/logos/logo-short.svg", alt: "aiacade.me", width: 19, height: 20 }) });
341
426
  }
342
427
  if (version === "third") {
343
- return /* @__PURE__ */ jsxs("div", { className: `flex items-center gap-1.5 ${className}`, children: [
428
+ return /* @__PURE__ */ jsxs("div", { className: `${Logo_module_default.third}${className ? ` ${className}` : ""}`, children: [
344
429
  /* @__PURE__ */ jsx("img", { className: "logo-img", src: "/assets/logos/logo-icon.svg", alt: "", width: 20, height: 20 }),
345
- /* @__PURE__ */ jsx("span", { className: "text-[13px] font-medium text-[var(--fg)] tracking-[-0.25px]", children: "aiacade.me" })
430
+ /* @__PURE__ */ jsx("span", { className: Logo_module_default.thirdText, children: "aiacade.me" })
346
431
  ] });
347
432
  }
348
- return /* @__PURE__ */ jsx("div", { className: `h-5 w-[130px] ${className}`, children: /* @__PURE__ */ jsx("img", { className: "logo-img", src: "/assets/logos/logo-full.svg", alt: "aiacade.me", width: 130, height: 20 }) });
433
+ return /* @__PURE__ */ jsx("div", { className: `${Logo_module_default.full}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsx("img", { className: "logo-img", src: "/assets/logos/logo-full.svg", alt: "aiacade.me", width: 130, height: 20 }) });
349
434
  }
435
+
436
+ // src/atoms/StatBadge.module.scss
437
+ var StatBadge_module_default = {
438
+ root: "StatBadge_module_root",
439
+ bracket: "StatBadge_module_bracket"
440
+ };
350
441
  function StatBadge({ value, suffix, showBrackets = false, className = "" }) {
351
- return /* @__PURE__ */ jsxs("span", { className: `inline-flex items-center text-[13px] font-medium text-[var(--fg-secondary)] tracking-[-0.25px] whitespace-nowrap ${className}`, children: [
352
- showBrackets && /* @__PURE__ */ jsx("span", { className: "text-[var(--fg-muted)]", children: "[ " }),
442
+ return /* @__PURE__ */ jsxs("span", { className: `${StatBadge_module_default.root}${className ? ` ${className}` : ""}`, children: [
443
+ showBrackets && /* @__PURE__ */ jsx("span", { className: StatBadge_module_default.bracket, children: "[ " }),
353
444
  value,
354
445
  " ",
355
446
  suffix,
356
- showBrackets && /* @__PURE__ */ jsx("span", { className: "text-[var(--fg-muted)]", children: " ]" })
447
+ showBrackets && /* @__PURE__ */ jsx("span", { className: StatBadge_module_default.bracket, children: " ]" })
357
448
  ] });
358
449
  }
450
+
451
+ // src/atoms/Textarea.module.scss
452
+ var Textarea_module_default = {
453
+ wrapper: "Textarea_module_wrapper",
454
+ label: "Textarea_module_label",
455
+ textarea: "Textarea_module_textarea",
456
+ error: "Textarea_module_error",
457
+ errorText: "Textarea_module_errorText"
458
+ };
359
459
  function Textarea(_a) {
360
460
  var _b = _a, {
361
461
  label,
@@ -371,26 +471,30 @@ function Textarea(_a) {
371
471
  "rows"
372
472
  ]);
373
473
  const textareaId = id || (label == null ? void 0 : label.toLowerCase().replace(/\s+/g, "-"));
374
- return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
375
- label && /* @__PURE__ */ jsx(
376
- "label",
377
- {
378
- htmlFor: textareaId,
379
- className: "text-[13px] font-medium text-[var(--fg)] tracking-[-0.25px]",
380
- children: label
381
- }
382
- ),
474
+ return /* @__PURE__ */ jsxs("div", { className: Textarea_module_default.wrapper, children: [
475
+ label && /* @__PURE__ */ jsx("label", { htmlFor: textareaId, className: Textarea_module_default.label, children: label }),
383
476
  /* @__PURE__ */ jsx(
384
477
  "textarea",
385
478
  __spreadValues({
386
479
  id: textareaId,
387
480
  rows,
388
- className: `w-full border border-[var(--fg-muted)] bg-[var(--bg)] px-[15px] py-3 text-[13px] tracking-[-0.25px] text-[var(--fg-secondary)] placeholder:text-[var(--fg-muted)] transition-all duration-[var(--transition-fast)] focus:outline-none focus:border-[var(--fg)] rounded-[var(--radius-lg)] resize-vertical ${error ? "border-[var(--color-error)] focus:border-[var(--color-error)]" : ""} ${className}`
481
+ className: `${Textarea_module_default.textarea}${error ? ` ${Textarea_module_default.error}` : ""}${className ? ` ${className}` : ""}`
389
482
  }, props)
390
483
  ),
391
- error && /* @__PURE__ */ jsx("p", { className: "text-[13px] tracking-[-0.25px] text-[var(--color-error)]", children: error })
484
+ error && /* @__PURE__ */ jsx("p", { className: Textarea_module_default.errorText, children: error })
392
485
  ] });
393
486
  }
487
+
488
+ // src/atoms/Select.module.scss
489
+ var Select_module_default = {
490
+ wrapper: "Select_module_wrapper",
491
+ label: "Select_module_label",
492
+ selectWrap: "Select_module_selectWrap",
493
+ select: "Select_module_select",
494
+ chevron: "Select_module_chevron",
495
+ error: "Select_module_error",
496
+ errorText: "Select_module_errorText"
497
+ };
394
498
  function Select(_a) {
395
499
  var _b = _a, {
396
500
  label,
@@ -408,21 +512,14 @@ function Select(_a) {
408
512
  "id"
409
513
  ]);
410
514
  const selectId = id || (label == null ? void 0 : label.toLowerCase().replace(/\s+/g, "-"));
411
- return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
412
- label && /* @__PURE__ */ jsx(
413
- "label",
414
- {
415
- htmlFor: selectId,
416
- className: "text-[13px] font-medium text-[var(--fg)] tracking-[-0.25px]",
417
- children: label
418
- }
419
- ),
420
- /* @__PURE__ */ jsxs("div", { className: "relative", children: [
515
+ return /* @__PURE__ */ jsxs("div", { className: Select_module_default.wrapper, children: [
516
+ label && /* @__PURE__ */ jsx("label", { htmlFor: selectId, className: Select_module_default.label, children: label }),
517
+ /* @__PURE__ */ jsxs("div", { className: Select_module_default.selectWrap, children: [
421
518
  /* @__PURE__ */ jsxs(
422
519
  "select",
423
520
  __spreadProps(__spreadValues(__spreadValues({
424
521
  id: selectId,
425
- className: `w-full appearance-none border border-[var(--fg-muted)] bg-[var(--bg)] px-[15px] py-3 pr-10 text-[13px] tracking-[-0.25px] text-[var(--fg-secondary)] transition-all duration-[var(--transition-fast)] focus:outline-none focus:border-[var(--fg)] rounded-full ${error ? "border-[var(--color-error)] focus:border-[var(--color-error)]" : ""} ${className}`
522
+ className: `${Select_module_default.select}${error ? ` ${Select_module_default.error}` : ""}${className ? ` ${className}` : ""}`
426
523
  }, !("value" in props) && { defaultValue: "" }), props), {
427
524
  children: [
428
525
  placeholder && /* @__PURE__ */ jsx("option", { value: "", disabled: true, children: placeholder }),
@@ -430,11 +527,22 @@ function Select(_a) {
430
527
  ]
431
528
  })
432
529
  ),
433
- /* @__PURE__ */ jsx("span", { className: "absolute right-3.5 top-1/2 -translate-y-1/2 pointer-events-none text-[var(--fg-muted)]", children: /* @__PURE__ */ jsx(IconlyChevronDown, { size: 16 }) })
530
+ /* @__PURE__ */ jsx("span", { className: Select_module_default.chevron, children: /* @__PURE__ */ jsx(IconlyChevronDown, { size: 16 }) })
434
531
  ] }),
435
- error && /* @__PURE__ */ jsx("p", { className: "text-[13px] tracking-[-0.25px] text-[var(--color-error)]", children: error })
532
+ error && /* @__PURE__ */ jsx("p", { className: Select_module_default.errorText, children: error })
436
533
  ] });
437
534
  }
535
+
536
+ // src/atoms/Checkbox.module.scss
537
+ var Checkbox_module_default = {
538
+ root: "Checkbox_module_root",
539
+ hiddenInput: "Checkbox_module_hiddenInput",
540
+ box: "Checkbox_module_box",
541
+ checked: "Checkbox_module_checked",
542
+ unchecked: "Checkbox_module_unchecked",
543
+ label: "Checkbox_module_label",
544
+ disabled: "Checkbox_module_disabled"
545
+ };
438
546
  function Checkbox({
439
547
  checked = false,
440
548
  onChange,
@@ -445,7 +553,7 @@ function Checkbox({
445
553
  return /* @__PURE__ */ jsxs(
446
554
  "label",
447
555
  {
448
- className: `inline-flex items-center gap-2.5 ${disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"} ${className}`,
556
+ className: `${Checkbox_module_default.root}${disabled ? ` ${Checkbox_module_default.disabled}` : ""}${className ? ` ${className}` : ""}`,
449
557
  children: [
450
558
  /* @__PURE__ */ jsx(
451
559
  "input",
@@ -454,13 +562,13 @@ function Checkbox({
454
562
  checked,
455
563
  disabled,
456
564
  onChange: () => onChange == null ? void 0 : onChange(!checked),
457
- className: "absolute opacity-0 w-0 h-0"
565
+ className: Checkbox_module_default.hiddenInput
458
566
  }
459
567
  ),
460
568
  /* @__PURE__ */ jsx(
461
569
  "span",
462
570
  {
463
- className: `flex items-center justify-center w-[18px] h-[18px] rounded-[5px] border transition-colors duration-200 shrink-0 ${checked ? "bg-[var(--color-accent)] border-[var(--color-accent)]" : "border-[var(--fg-muted)] bg-transparent"}`,
571
+ className: `${Checkbox_module_default.box} ${checked ? Checkbox_module_default.checked : Checkbox_module_default.unchecked}`,
464
572
  children: checked && /* @__PURE__ */ jsx(
465
573
  "svg",
466
574
  {
@@ -483,11 +591,23 @@ function Checkbox({
483
591
  )
484
592
  }
485
593
  ),
486
- label && /* @__PURE__ */ jsx("span", { className: "text-[13px] font-medium text-[var(--fg)] tracking-[-0.25px]", children: label })
594
+ label && /* @__PURE__ */ jsx("span", { className: Checkbox_module_default.label, children: label })
487
595
  ]
488
596
  }
489
597
  );
490
598
  }
599
+
600
+ // src/atoms/Radio.module.scss
601
+ var Radio_module_default = {
602
+ root: "Radio_module_root",
603
+ hiddenInput: "Radio_module_hiddenInput",
604
+ circle: "Radio_module_circle",
605
+ checked: "Radio_module_checked",
606
+ unchecked: "Radio_module_unchecked",
607
+ dot: "Radio_module_dot",
608
+ label: "Radio_module_label",
609
+ disabled: "Radio_module_disabled"
610
+ };
491
611
  function Radio({
492
612
  checked = false,
493
613
  onChange,
@@ -500,7 +620,7 @@ function Radio({
500
620
  return /* @__PURE__ */ jsxs(
501
621
  "label",
502
622
  {
503
- className: `inline-flex items-center gap-2.5 ${disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"} ${className}`,
623
+ className: `${Radio_module_default.root}${disabled ? ` ${Radio_module_default.disabled}` : ""}${className ? ` ${className}` : ""}`,
504
624
  children: [
505
625
  /* @__PURE__ */ jsx(
506
626
  "input",
@@ -511,60 +631,71 @@ function Radio({
511
631
  name,
512
632
  value,
513
633
  onChange: () => onChange == null ? void 0 : onChange(!checked),
514
- className: "absolute opacity-0 w-0 h-0"
634
+ className: Radio_module_default.hiddenInput
515
635
  }
516
636
  ),
517
637
  /* @__PURE__ */ jsx(
518
638
  "span",
519
639
  {
520
- className: `flex items-center justify-center w-[18px] h-[18px] rounded-full border transition-colors duration-200 shrink-0 ${checked ? "border-[var(--color-accent)]" : "border-[var(--fg-muted)]"}`,
521
- children: checked && /* @__PURE__ */ jsx("span", { className: "w-[8px] h-[8px] rounded-full bg-[var(--color-accent)]" })
640
+ className: `${Radio_module_default.circle} ${checked ? Radio_module_default.checked : Radio_module_default.unchecked}`,
641
+ children: checked && /* @__PURE__ */ jsx("span", { className: Radio_module_default.dot })
522
642
  }
523
643
  ),
524
- label && /* @__PURE__ */ jsx("span", { className: "text-[13px] font-medium text-[var(--fg)] tracking-[-0.25px]", children: label })
644
+ label && /* @__PURE__ */ jsx("span", { className: Radio_module_default.label, children: label })
525
645
  ]
526
646
  }
527
647
  );
528
648
  }
529
- var variantStyles3 = {
530
- default: "text-[var(--color-accent)] hover:underline",
531
- muted: "text-[var(--fg-muted)] hover:text-[var(--fg)]",
532
- underline: "text-[var(--fg)] underline underline-offset-2 hover:text-[var(--color-accent)]"
649
+
650
+ // src/atoms/Link.module.scss
651
+ var Link_module_default = {
652
+ root: "Link_module_root",
653
+ default: "Link_module_default",
654
+ muted: "Link_module_muted",
655
+ underline: "Link_module_underline"
533
656
  };
534
657
  function Link(_a) {
535
658
  var _b = _a, { variant = "default", className = "", children } = _b, rest = __objRest(_b, ["variant", "className", "children"]);
536
659
  return /* @__PURE__ */ jsx(
537
660
  "a",
538
661
  __spreadProps(__spreadValues({
539
- className: `text-[13px] tracking-[-0.25px] transition-colors duration-[var(--transition-fast)] inline-flex items-center gap-1 ${variantStyles3[variant]} ${className}`
662
+ className: `${Link_module_default.root} ${Link_module_default[variant]}${className ? ` ${className}` : ""}`
540
663
  }, rest), {
541
664
  children
542
665
  })
543
666
  );
544
667
  }
545
- var positionStyles = {
546
- top: "bottom-full left-1/2 -translate-x-1/2 mb-1.5",
547
- bottom: "top-full left-1/2 -translate-x-1/2 mt-1.5",
548
- left: "right-full top-1/2 -translate-y-1/2 mr-1.5",
549
- right: "left-full top-1/2 -translate-y-1/2 ml-1.5"
668
+
669
+ // src/atoms/Tooltip.module.scss
670
+ var Tooltip_module_default = {
671
+ root: "Tooltip_module_root",
672
+ tooltip: "Tooltip_module_tooltip",
673
+ top: "Tooltip_module_top",
674
+ bottom: "Tooltip_module_bottom",
675
+ left: "Tooltip_module_left",
676
+ right: "Tooltip_module_right"
550
677
  };
551
678
  function Tooltip({ content, position = "top", children, className = "" }) {
552
- return /* @__PURE__ */ jsxs("span", { className: `relative inline-flex group ${className}`, children: [
679
+ return /* @__PURE__ */ jsxs("span", { className: `${Tooltip_module_default.root} ${className}`, children: [
553
680
  children,
554
681
  /* @__PURE__ */ jsx(
555
682
  "span",
556
683
  {
557
684
  role: "tooltip",
558
- className: `absolute invisible group-hover:visible opacity-0 group-hover:opacity-100 transition-opacity bg-[var(--fg)] text-[var(--bg)] text-[11px] px-2 py-1 rounded-md whitespace-nowrap z-50 pointer-events-none ${positionStyles[position]}`,
685
+ className: `${Tooltip_module_default.tooltip} ${Tooltip_module_default[position]}`,
559
686
  children: content
560
687
  }
561
688
  )
562
689
  ] });
563
690
  }
564
- var variantStyles4 = {
565
- line: "h-4 w-full rounded-full",
566
- circle: "rounded-full",
567
- rect: "rounded-[var(--radius-lg)]"
691
+
692
+ // src/atoms/Skeleton.module.scss
693
+ var Skeleton_module_default = {
694
+ pulse: "Skeleton_module_pulse",
695
+ root: "Skeleton_module_root",
696
+ line: "Skeleton_module_line",
697
+ circle: "Skeleton_module_circle",
698
+ rect: "Skeleton_module_rect"
568
699
  };
569
700
  function Skeleton({ variant = "line", width, height, className = "" }) {
570
701
  const style = {};
@@ -577,12 +708,23 @@ function Skeleton({ variant = "line", width, height, className = "" }) {
577
708
  return /* @__PURE__ */ jsx(
578
709
  "div",
579
710
  {
580
- className: `animate-pulse bg-[var(--bg-tertiary)] ${variantStyles4[variant]} ${className}`,
711
+ className: `${Skeleton_module_default.root} ${Skeleton_module_default[variant]} ${className}`,
581
712
  style: Object.keys(style).length > 0 ? style : void 0,
582
713
  "aria-hidden": "true"
583
714
  }
584
715
  );
585
716
  }
717
+
718
+ // src/atoms/TicketButton.module.scss
719
+ var TicketButton_module_default = {
720
+ root: "TicketButton_module_root",
721
+ stub: "TicketButton_module_stub",
722
+ body: "TicketButton_module_body",
723
+ bodySvg: "TicketButton_module_bodySvg",
724
+ bodyText: "TicketButton_module_bodyText",
725
+ stubSvg: "TicketButton_module_stubSvg",
726
+ stubIcon: "TicketButton_module_stubIcon"
727
+ };
586
728
  var DefaultIcon = () => /* @__PURE__ */ jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("polyline", { points: "9 18 15 12 9 6" }) });
587
729
  function TicketButton(_a) {
588
730
  var _b = _a, {
@@ -605,14 +747,14 @@ function TicketButton(_a) {
605
747
  return /* @__PURE__ */ jsxs(
606
748
  "button",
607
749
  __spreadProps(__spreadValues({
608
- className: `group relative inline-flex items-stretch cursor-pointer border-none bg-transparent p-0 select-none ${className}`
750
+ className: `${TicketButton_module_default.root} ${className}`
609
751
  }, props), {
610
752
  children: [
611
- /* @__PURE__ */ jsxs("span", { className: "relative flex items-center", children: [
753
+ /* @__PURE__ */ jsxs("span", { className: TicketButton_module_default.body, children: [
612
754
  /* @__PURE__ */ jsxs(
613
755
  "svg",
614
756
  {
615
- className: "absolute inset-0 w-full h-full",
757
+ className: TicketButton_module_default.bodySvg,
616
758
  viewBox: "0 0 140 56",
617
759
  fill: "none",
618
760
  preserveAspectRatio: "none",
@@ -637,13 +779,13 @@ function TicketButton(_a) {
637
779
  ]
638
780
  }
639
781
  ),
640
- /* @__PURE__ */ jsx("span", { className: "relative z-10 px-6 py-4 text-[13px] font-semibold tracking-[-0.25px] whitespace-nowrap", style: { color: fg }, children })
782
+ /* @__PURE__ */ jsx("span", { className: TicketButton_module_default.bodyText, style: { color: fg }, children })
641
783
  ] }),
642
- /* @__PURE__ */ jsxs("span", { className: "relative flex items-center transition-transform duration-300 ease-[cubic-bezier(0.34,1.56,0.64,1)] group-hover:translate-x-1.5", children: [
784
+ /* @__PURE__ */ jsxs("span", { className: TicketButton_module_default.stub, children: [
643
785
  /* @__PURE__ */ jsxs(
644
786
  "svg",
645
787
  {
646
- className: "absolute inset-0 w-full h-full",
788
+ className: TicketButton_module_default.stubSvg,
647
789
  viewBox: "0 0 56 56",
648
790
  fill: "none",
649
791
  preserveAspectRatio: "none",
@@ -667,36 +809,55 @@ function TicketButton(_a) {
667
809
  ]
668
810
  }
669
811
  ),
670
- /* @__PURE__ */ jsx("span", { className: "relative z-10 w-[56px] h-[56px] flex items-center justify-center", style: { color: fg }, children: icon || /* @__PURE__ */ jsx(DefaultIcon, {}) })
812
+ /* @__PURE__ */ jsx("span", { className: TicketButton_module_default.stubIcon, style: { color: fg }, children: icon || /* @__PURE__ */ jsx(DefaultIcon, {}) })
671
813
  ] })
672
814
  ]
673
815
  })
674
816
  );
675
817
  }
818
+
819
+ // src/molecules/Card.module.scss
820
+ var Card_module_default = {
821
+ root: "Card_module_root",
822
+ imageWrapper: "Card_module_imageWrapper",
823
+ image: "Card_module_image",
824
+ body: "Card_module_body",
825
+ title: "Card_module_title",
826
+ description: "Card_module_description",
827
+ footer: "Card_module_footer"
828
+ };
676
829
  function Card({ image, title, description, footer, children, className = "" }) {
677
- return /* @__PURE__ */ jsxs(
678
- "div",
679
- {
680
- className: `rounded-[var(--radius-xl)] border border-[var(--border-color)] bg-[var(--bg)] overflow-hidden shadow-[var(--shadow-xs)] transition-all duration-[var(--transition-base)] hover:shadow-[var(--shadow-md)] hover:-translate-y-0.5 ${className}`,
681
- children: [
682
- image && /* @__PURE__ */ jsx("div", { className: "aspect-video overflow-hidden", children: /* @__PURE__ */ jsx("img", { src: image, alt: title || "", className: "w-full h-full object-cover" }) }),
683
- /* @__PURE__ */ jsxs("div", { className: "p-5", children: [
684
- title && /* @__PURE__ */ jsx("h3", { className: "text-base font-semibold text-[var(--fg)] mb-1", children: title }),
685
- description && /* @__PURE__ */ jsx("p", { className: "text-sm text-[var(--fg-secondary)] leading-relaxed", children: description }),
686
- children
687
- ] }),
688
- footer && /* @__PURE__ */ jsx("div", { className: "px-5 py-3 border-t border-[var(--border-color)] bg-[var(--bg-secondary)]", children: footer })
689
- ]
690
- }
691
- );
830
+ return /* @__PURE__ */ jsxs("div", { className: `${Card_module_default.root}${className ? ` ${className}` : ""}`, children: [
831
+ image && /* @__PURE__ */ jsx("div", { className: Card_module_default.imageWrapper, children: /* @__PURE__ */ jsx("img", { src: image, alt: title || "", className: Card_module_default.image }) }),
832
+ /* @__PURE__ */ jsxs("div", { className: Card_module_default.body, children: [
833
+ title && /* @__PURE__ */ jsx("h3", { className: Card_module_default.title, children: title }),
834
+ description && /* @__PURE__ */ jsx("p", { className: Card_module_default.description, children: description }),
835
+ children
836
+ ] }),
837
+ footer && /* @__PURE__ */ jsx("div", { className: Card_module_default.footer, children: footer })
838
+ ] });
692
839
  }
840
+
841
+ // src/molecules/FormField.module.scss
842
+ var FormField_module_default = {
843
+ root: "FormField_module_root",
844
+ hint: "FormField_module_hint"
845
+ };
693
846
  function FormField(_a) {
694
847
  var _b = _a, { label, error, hint, icon } = _b, inputProps = __objRest(_b, ["label", "error", "hint", "icon"]);
695
- return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
848
+ return /* @__PURE__ */ jsxs("div", { className: FormField_module_default.root, children: [
696
849
  /* @__PURE__ */ jsx(Input, __spreadValues({ label, error, icon }, inputProps)),
697
- hint && !error && /* @__PURE__ */ jsx("p", { className: "text-[0.8125rem] text-[var(--fg-muted)]", children: hint })
850
+ hint && !error && /* @__PURE__ */ jsx("p", { className: FormField_module_default.hint, children: hint })
698
851
  ] });
699
852
  }
853
+
854
+ // src/molecules/SearchBar.module.scss
855
+ var SearchBar_module_default = {
856
+ root: "SearchBar_module_root",
857
+ searchIcon: "SearchBar_module_searchIcon",
858
+ input: "SearchBar_module_input",
859
+ clearBtn: "SearchBar_module_clearBtn"
860
+ };
700
861
  function SearchBar({ placeholder = "Search...", value: controlledValue, onChange, className = "" }) {
701
862
  const [internalValue, setInternalValue] = useState("");
702
863
  const value = controlledValue != null ? controlledValue : internalValue;
@@ -704,8 +865,8 @@ function SearchBar({ placeholder = "Search...", value: controlledValue, onChange
704
865
  setInternalValue(val);
705
866
  onChange == null ? void 0 : onChange(val);
706
867
  };
707
- return /* @__PURE__ */ jsxs("div", { className: `relative flex items-center ${className}`, children: [
708
- /* @__PURE__ */ jsx("div", { className: "absolute left-3 text-[var(--fg-muted)]", children: /* @__PURE__ */ jsx(IconlySearch, { size: 18 }) }),
868
+ return /* @__PURE__ */ jsxs("div", { className: `${SearchBar_module_default.root}${className ? ` ${className}` : ""}`, children: [
869
+ /* @__PURE__ */ jsx("div", { className: SearchBar_module_default.searchIcon, children: /* @__PURE__ */ jsx(IconlySearch, { size: 18 }) }),
709
870
  /* @__PURE__ */ jsx(
710
871
  "input",
711
872
  {
@@ -714,73 +875,95 @@ function SearchBar({ placeholder = "Search...", value: controlledValue, onChange
714
875
  onChange: (e) => handleChange(e.target.value),
715
876
  placeholder,
716
877
  "aria-label": "Search",
717
- className: "w-full rounded-[var(--radius-lg)] border border-[var(--border-color)] bg-[var(--bg)] pl-10 pr-10 py-2.5 text-sm text-[var(--fg)] placeholder:text-[var(--fg-muted)] transition-all duration-[var(--transition-fast)] focus:outline-none focus:ring-2 focus:ring-[var(--brand-primary)] focus:border-transparent"
878
+ className: SearchBar_module_default.input
718
879
  }
719
880
  ),
720
881
  value && /* @__PURE__ */ jsx(
721
882
  "button",
722
883
  {
723
884
  onClick: () => handleChange(""),
724
- className: "absolute right-3 text-[var(--fg-muted)] hover:text-[var(--fg)] transition-colors cursor-pointer",
885
+ className: SearchBar_module_default.clearBtn,
725
886
  "aria-label": "Clear search",
726
887
  children: /* @__PURE__ */ jsx(IconlyClose, { size: 16 })
727
888
  }
728
889
  )
729
890
  ] });
730
891
  }
892
+
893
+ // src/molecules/Stat.module.scss
894
+ var Stat_module_default = {
895
+ root: "Stat_module_root",
896
+ valueRow: "Stat_module_valueRow",
897
+ value: "Stat_module_value",
898
+ trend: "Stat_module_trend",
899
+ positive: "Stat_module_positive",
900
+ negative: "Stat_module_negative",
901
+ label: "Stat_module_label"
902
+ };
731
903
  function Stat({ value, label, trend, className = "" }) {
732
- return /* @__PURE__ */ jsxs("div", { className: `flex flex-col gap-1 ${className}`, children: [
733
- /* @__PURE__ */ jsxs("div", { className: "flex items-baseline gap-2", children: [
734
- /* @__PURE__ */ jsx("span", { className: "text-2xl font-bold text-[var(--fg)]", children: value }),
735
- trend && /* @__PURE__ */ jsxs(
736
- "span",
737
- {
738
- className: `text-sm font-medium ${trend.positive ? "text-[var(--color-success)]" : "text-[var(--color-error)]"}`,
739
- children: [
740
- trend.positive ? "\u2191" : "\u2193",
741
- " ",
742
- trend.value
743
- ]
744
- }
745
- )
904
+ return /* @__PURE__ */ jsxs("div", { className: `${Stat_module_default.root}${className ? ` ${className}` : ""}`, children: [
905
+ /* @__PURE__ */ jsxs("div", { className: Stat_module_default.valueRow, children: [
906
+ /* @__PURE__ */ jsx("span", { className: Stat_module_default.value, children: value }),
907
+ trend && /* @__PURE__ */ jsxs("span", { className: `${Stat_module_default.trend} ${trend.positive ? Stat_module_default.positive : Stat_module_default.negative}`, children: [
908
+ trend.positive ? "\u2191" : "\u2193",
909
+ " ",
910
+ trend.value
911
+ ] })
746
912
  ] }),
747
- /* @__PURE__ */ jsx("span", { className: "text-sm text-[var(--fg-muted)]", children: label })
913
+ /* @__PURE__ */ jsx("span", { className: Stat_module_default.label, children: label })
748
914
  ] });
749
915
  }
750
- var variantConfig = {
751
- info: { accentColor: "text-[var(--color-info)]", Icon: IconlyInfoCircle },
752
- success: { accentColor: "text-[var(--color-success)]", Icon: IconlySuccess },
753
- warning: { accentColor: "text-[var(--color-warning)]", Icon: IconlyWarning },
754
- error: { accentColor: "text-[var(--color-error)]", Icon: IconlyError }
916
+
917
+ // src/molecules/Alert.module.scss
918
+ var Alert_module_default = {
919
+ root: "Alert_module_root",
920
+ icon: "Alert_module_icon",
921
+ info: "Alert_module_info",
922
+ success: "Alert_module_success",
923
+ warning: "Alert_module_warning",
924
+ error: "Alert_module_error",
925
+ content: "Alert_module_content",
926
+ title: "Alert_module_title",
927
+ message: "Alert_module_message",
928
+ dismiss: "Alert_module_dismiss"
929
+ };
930
+ var variantIcons = {
931
+ info: IconlyInfoCircle,
932
+ success: IconlySuccess,
933
+ warning: IconlyWarning,
934
+ error: IconlyError
755
935
  };
756
936
  function Alert({ variant = "info", title, children, closable = false, className = "" }) {
757
937
  const [visible, setVisible] = useState(true);
758
938
  if (!visible) return null;
759
- const config = variantConfig[variant];
760
- const { Icon } = config;
761
- return /* @__PURE__ */ jsxs(
762
- "div",
763
- {
764
- className: `flex gap-3 p-4 rounded-[var(--radius-lg)] border border-[var(--border-color)] bg-[var(--bg-secondary)] ${className}`,
765
- children: [
766
- /* @__PURE__ */ jsx("div", { className: `shrink-0 mt-0.5 ${config.accentColor}`, children: /* @__PURE__ */ jsx(Icon, { size: 20 }) }),
767
- /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
768
- title && /* @__PURE__ */ jsx("p", { className: `text-[13px] font-medium tracking-[-0.25px] mb-0.5 ${config.accentColor}`, children: title }),
769
- /* @__PURE__ */ jsx("p", { className: "text-[13px] tracking-[-0.25px] text-[var(--fg-secondary)]", children })
770
- ] }),
771
- closable && /* @__PURE__ */ jsx(
772
- "button",
773
- {
774
- onClick: () => setVisible(false),
775
- className: "shrink-0 text-[var(--fg-muted)] hover:text-[var(--fg)] transition-all duration-[var(--transition-fast)] cursor-pointer",
776
- "aria-label": "Dismiss",
777
- children: /* @__PURE__ */ jsx(IconlyClose, { size: 16 })
778
- }
779
- )
780
- ]
781
- }
782
- );
939
+ const Icon = variantIcons[variant];
940
+ const variantClass = Alert_module_default[variant];
941
+ return /* @__PURE__ */ jsxs("div", { className: `${Alert_module_default.root}${className ? ` ${className}` : ""}`, children: [
942
+ /* @__PURE__ */ jsx("div", { className: `${Alert_module_default.icon} ${variantClass}`, children: /* @__PURE__ */ jsx(Icon, { size: 20 }) }),
943
+ /* @__PURE__ */ jsxs("div", { className: Alert_module_default.content, children: [
944
+ title && /* @__PURE__ */ jsx("p", { className: `${Alert_module_default.title} ${variantClass}`, children: title }),
945
+ /* @__PURE__ */ jsx("p", { className: Alert_module_default.message, children })
946
+ ] }),
947
+ closable && /* @__PURE__ */ jsx(
948
+ "button",
949
+ {
950
+ onClick: () => setVisible(false),
951
+ className: Alert_module_default.dismiss,
952
+ "aria-label": "Dismiss",
953
+ children: /* @__PURE__ */ jsx(IconlyClose, { size: 16 })
954
+ }
955
+ )
956
+ ] });
783
957
  }
958
+
959
+ // src/molecules/Tabs.module.scss
960
+ var Tabs_module_default = {
961
+ tabList: "Tabs_module_tabList",
962
+ tab: "Tabs_module_tab",
963
+ active: "Tabs_module_active",
964
+ indicator: "Tabs_module_indicator",
965
+ panel: "Tabs_module_panel"
966
+ };
784
967
  function Tabs({ tabs, defaultTab, onChange, className = "" }) {
785
968
  var _a, _b;
786
969
  const [activeTab, setActiveTab] = useState(defaultTab || ((_a = tabs[0]) == null ? void 0 : _a.id));
@@ -811,7 +994,7 @@ function Tabs({ tabs, defaultTab, onChange, className = "" }) {
811
994
  "div",
812
995
  {
813
996
  role: "tablist",
814
- className: "flex border-b border-[var(--border-color)]",
997
+ className: Tabs_module_default.tabList,
815
998
  onKeyDown: handleKeyDown,
816
999
  children: tabs.map((tab, index) => /* @__PURE__ */ jsxs(
817
1000
  "button",
@@ -825,10 +1008,10 @@ function Tabs({ tabs, defaultTab, onChange, className = "" }) {
825
1008
  "aria-controls": `panel-${tab.id}`,
826
1009
  tabIndex: activeTab === tab.id ? 0 : -1,
827
1010
  onClick: () => activateTab(tab.id),
828
- className: `px-4 py-2.5 text-sm font-medium transition-colors cursor-pointer relative ${activeTab === tab.id ? "text-[var(--brand-primary)]" : "text-[var(--fg-muted)] hover:text-[var(--fg)]"}`,
1011
+ className: `${Tabs_module_default.tab} ${activeTab === tab.id ? Tabs_module_default.active : ""}`,
829
1012
  children: [
830
1013
  tab.label,
831
- activeTab === tab.id && /* @__PURE__ */ jsx("span", { className: "absolute bottom-0 left-0 right-0 h-0.5 bg-[var(--brand-primary)] rounded-full" })
1014
+ activeTab === tab.id && /* @__PURE__ */ jsx("span", { className: Tabs_module_default.indicator })
832
1015
  ]
833
1016
  },
834
1017
  tab.id
@@ -841,12 +1024,24 @@ function Tabs({ tabs, defaultTab, onChange, className = "" }) {
841
1024
  role: "tabpanel",
842
1025
  id: `panel-${activeTab}`,
843
1026
  "aria-labelledby": `tab-${activeTab}`,
844
- className: "pt-4",
1027
+ className: Tabs_module_default.panel,
845
1028
  children: activeContent
846
1029
  }
847
1030
  )
848
1031
  ] });
849
1032
  }
1033
+
1034
+ // src/molecules/ChatInput.module.scss
1035
+ var ChatInput_module_default = {
1036
+ root: "ChatInput_module_root",
1037
+ contrast: "ChatInput_module_contrast",
1038
+ plain: "ChatInput_module_plain",
1039
+ input: "ChatInput_module_input",
1040
+ actions: "ChatInput_module_actions",
1041
+ actionsFull: "ChatInput_module_actionsFull",
1042
+ actionsEasy: "ChatInput_module_actionsEasy",
1043
+ toolGroup: "ChatInput_module_toolGroup"
1044
+ };
850
1045
  function ChatInput({
851
1046
  placeholder = "\u0412\u0432\u0435\u0434\u0438 \u0441\u0432\u043E\u0439 email...",
852
1047
  buttonText = "\u041D\u0430\u0447\u0430\u0442\u044C \u0431\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",
@@ -864,7 +1059,6 @@ function ChatInput({
864
1059
  setValue("");
865
1060
  }
866
1061
  };
867
- const containerStyles = contrast ? "bg-[var(--bg)] border border-[var(--bg-tertiary)] shadow-[var(--shadow-md)] px-[15px] py-[13px]" : "bg-[var(--bg-tertiary)] pl-3.5 pr-3 py-3";
868
1062
  return /* @__PURE__ */ jsxs(
869
1063
  "form",
870
1064
  {
@@ -873,7 +1067,7 @@ function ChatInput({
873
1067
  var _a;
874
1068
  return (_a = inputRef.current) == null ? void 0 : _a.focus();
875
1069
  },
876
- className: `rounded-[16px] overflow-hidden flex flex-col gap-4 w-full max-w-[440px] cursor-text ${containerStyles} ${className}`,
1070
+ className: `${ChatInput_module_default.root} ${contrast ? ChatInput_module_default.contrast : ChatInput_module_default.plain}${className ? ` ${className}` : ""}`,
877
1071
  children: [
878
1072
  /* @__PURE__ */ jsx(
879
1073
  "input",
@@ -883,11 +1077,11 @@ function ChatInput({
883
1077
  value,
884
1078
  onChange: (e) => setValue(e.target.value),
885
1079
  placeholder,
886
- className: "w-full bg-transparent border-none outline-none text-[13px] tracking-[-0.25px] text-[var(--fg)] placeholder:text-[var(--fg-muted)] font-normal"
1080
+ className: ChatInput_module_default.input
887
1081
  }
888
1082
  ),
889
- /* @__PURE__ */ jsxs("div", { className: `flex items-center ${type === "full" ? "justify-between" : "justify-end"}`, children: [
890
- type === "full" && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
1083
+ /* @__PURE__ */ jsxs("div", { className: `${ChatInput_module_default.actions} ${type === "full" ? ChatInput_module_default.actionsFull : ChatInput_module_default.actionsEasy}`, children: [
1084
+ type === "full" && /* @__PURE__ */ jsxs("div", { className: ChatInput_module_default.toolGroup, children: [
891
1085
  /* @__PURE__ */ jsx(IconButton, { variant: "secondary", icon: /* @__PURE__ */ jsx(IconlySmile, { size: 20 }), type: "button", "aria-label": "Emoji" }),
892
1086
  /* @__PURE__ */ jsx(IconButton, { variant: "clear", icon: /* @__PURE__ */ jsx(IconlyAttach, { size: 20 }), type: "button", "aria-label": "Attach" }),
893
1087
  /* @__PURE__ */ jsx(IconButton, { variant: "clear", icon: /* @__PURE__ */ jsx(IconlyInfo, { size: 20 }), type: "button", "aria-label": "Info" })
@@ -898,43 +1092,83 @@ function ChatInput({
898
1092
  }
899
1093
  );
900
1094
  }
1095
+
1096
+ // src/molecules/ChatMessage.module.scss
1097
+ var ChatMessage_module_default = {
1098
+ root: "ChatMessage_module_root",
1099
+ user: "ChatMessage_module_user",
1100
+ ai: "ChatMessage_module_ai",
1101
+ bubble: "ChatMessage_module_bubble",
1102
+ sm: "ChatMessage_module_sm",
1103
+ lg: "ChatMessage_module_lg",
1104
+ bubbleUser: "ChatMessage_module_bubbleUser",
1105
+ bubbleAi: "ChatMessage_module_bubbleAi"
1106
+ };
901
1107
  function ChatMessage({ children, role = "user", size = "sm", className = "" }) {
902
1108
  const isUser = role === "user";
903
- const isLarge = size === "lg";
904
- return /* @__PURE__ */ jsx("div", { className: `flex ${isUser ? "justify-end" : "justify-start"} ${className}`, children: /* @__PURE__ */ jsx(
1109
+ return /* @__PURE__ */ jsx("div", { className: `${ChatMessage_module_default.root} ${isUser ? ChatMessage_module_default.user : ChatMessage_module_default.ai}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsx(
905
1110
  "div",
906
1111
  {
907
- className: `text-[13px] tracking-[-0.25px] font-normal px-4 rounded-tl-[16px] rounded-tr-[16px] ${isLarge ? "w-[225px] py-3" : "py-2"} ${isUser ? "bg-[var(--bg-secondary)] text-[var(--fg)] rounded-bl-[16px]" : "bg-[var(--color-accent)] text-[var(--bg)] rounded-br-[16px]"} ${isLarge ? "leading-normal" : "leading-normal"}`,
1112
+ className: `${ChatMessage_module_default.bubble} ${ChatMessage_module_default[size]} ${isUser ? ChatMessage_module_default.bubbleUser : ChatMessage_module_default.bubbleAi}`,
908
1113
  children
909
1114
  }
910
1115
  ) });
911
1116
  }
1117
+
1118
+ // src/molecules/TopPromo.module.scss
1119
+ var TopPromo_module_default = {
1120
+ root: "TopPromo_module_root",
1121
+ text: "TopPromo_module_text"
1122
+ };
912
1123
  function TopPromo({ text, buttonText = "\u0421\u043C\u043E\u0442\u0440\u0435\u0442\u044C", onButtonClick, className = "" }) {
913
- return /* @__PURE__ */ jsxs("div", { className: `flex items-center gap-2.5 ${className}`, children: [
914
- /* @__PURE__ */ jsx("span", { className: "text-[13px] tracking-[-0.25px] text-[var(--fg-secondary)]", children: text }),
1124
+ return /* @__PURE__ */ jsxs("div", { className: `${TopPromo_module_default.root}${className ? ` ${className}` : ""}`, children: [
1125
+ /* @__PURE__ */ jsx("span", { className: TopPromo_module_default.text, children: text }),
915
1126
  /* @__PURE__ */ jsx(Button, { variant: "primary", size: "sm", onClick: onButtonClick, children: buttonText })
916
1127
  ] });
917
1128
  }
1129
+
1130
+ // src/molecules/ProfileNav.module.scss
1131
+ var ProfileNav_module_default = {
1132
+ root: "ProfileNav_module_root",
1133
+ stats: "ProfileNav_module_stats",
1134
+ statItem: "ProfileNav_module_statItem",
1135
+ statText: "ProfileNav_module_statText",
1136
+ separator: "ProfileNav_module_separator"
1137
+ };
918
1138
  function ProfileNav({ stats, avatarSrc, avatarInitials = "DK", className = "" }) {
919
- return /* @__PURE__ */ jsxs("div", { className: `flex items-center gap-5 ${className}`, children: [
920
- /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1", children: stats.map((stat, i) => /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center text-[13px] font-medium tracking-[-0.25px] whitespace-nowrap", children: [
921
- /* @__PURE__ */ jsxs("span", { className: "text-[var(--fg-secondary)]", children: [
1139
+ return /* @__PURE__ */ jsxs("div", { className: `${ProfileNav_module_default.root}${className ? ` ${className}` : ""}`, children: [
1140
+ /* @__PURE__ */ jsx("div", { className: ProfileNav_module_default.stats, children: stats.map((stat, i) => /* @__PURE__ */ jsxs("span", { className: ProfileNav_module_default.statItem, children: [
1141
+ /* @__PURE__ */ jsxs("span", { className: ProfileNav_module_default.statText, children: [
922
1142
  stat.value,
923
1143
  " ",
924
1144
  stat.suffix
925
1145
  ] }),
926
- i < stats.length - 1 && /* @__PURE__ */ jsx("span", { className: "text-[var(--fg-muted)]", children: " //" })
1146
+ i < stats.length - 1 && /* @__PURE__ */ jsx("span", { className: ProfileNav_module_default.separator, children: " //" })
927
1147
  ] }, i)) }),
928
1148
  /* @__PURE__ */ jsx(Avatar, { size: "sm", src: avatarSrc, initials: avatarInitials })
929
1149
  ] });
930
1150
  }
1151
+
1152
+ // src/molecules/IconWithText.module.scss
1153
+ var IconWithText_module_default = {
1154
+ root: "IconWithText_module_root",
1155
+ icon: "IconWithText_module_icon",
1156
+ text: "IconWithText_module_text"
1157
+ };
931
1158
  function IconWithText({ icon, text, side = "left", className = "" }) {
932
- return /* @__PURE__ */ jsxs("div", { className: `inline-flex items-center gap-1.5 py-1 rounded-full ${className}`, children: [
933
- side === "left" && /* @__PURE__ */ jsx("span", { className: "shrink-0 w-5 h-5 flex items-center justify-center", children: icon }),
934
- /* @__PURE__ */ jsx("span", { className: "text-[13px] font-medium text-[var(--fg)] tracking-[-0.25px] whitespace-nowrap", children: text }),
935
- side === "right" && /* @__PURE__ */ jsx("span", { className: "shrink-0 w-5 h-5 flex items-center justify-center", children: icon })
1159
+ return /* @__PURE__ */ jsxs("div", { className: `${IconWithText_module_default.root}${className ? ` ${className}` : ""}`, children: [
1160
+ side === "left" && /* @__PURE__ */ jsx("span", { className: IconWithText_module_default.icon, children: icon }),
1161
+ /* @__PURE__ */ jsx("span", { className: IconWithText_module_default.text, children: text }),
1162
+ side === "right" && /* @__PURE__ */ jsx("span", { className: IconWithText_module_default.icon, children: icon })
936
1163
  ] });
937
1164
  }
1165
+
1166
+ // src/molecules/StampCard.module.scss
1167
+ var StampCard_module_default = {
1168
+ root: "StampCard_module_root",
1169
+ plain: "StampCard_module_plain",
1170
+ inner: "StampCard_module_inner"
1171
+ };
938
1172
  function StampCard({
939
1173
  children,
940
1174
  className = "",
@@ -986,9 +1220,9 @@ function StampCard({
986
1220
  };
987
1221
  }, [build, stamp]);
988
1222
  if (!stamp) {
989
- return /* @__PURE__ */ jsx("div", { className: `rounded-[var(--radius-xl)] border border-[var(--border-color)] bg-[var(--bg)] overflow-hidden shadow-[var(--shadow-xs)] ${className}`, children });
1223
+ return /* @__PURE__ */ jsx("div", { className: `${StampCard_module_default.plain} ${className}`, children });
990
1224
  }
991
- return /* @__PURE__ */ jsx("div", { ref: outerRef, className: `relative ${className}`, children: /* @__PURE__ */ jsx("div", { style: { filter: "drop-shadow(0 1px 3px rgba(0,0,0,0.25)) drop-shadow(0 4px 12px rgba(0,0,0,0.20))" }, children: /* @__PURE__ */ jsx(
1225
+ return /* @__PURE__ */ jsx("div", { ref: outerRef, className: `${StampCard_module_default.root} ${className}`, children: /* @__PURE__ */ jsx("div", { style: { filter: "drop-shadow(0 1px 3px rgba(0,0,0,0.25)) drop-shadow(0 4px 12px rgba(0,0,0,0.20))" }, children: /* @__PURE__ */ jsx(
992
1226
  "div",
993
1227
  {
994
1228
  style: {
@@ -997,10 +1231,15 @@ function StampCard({
997
1231
  WebkitMaskSize: "100% 100%",
998
1232
  maskSize: "100% 100%"
999
1233
  },
1000
- children: /* @__PURE__ */ jsx("div", { className: "bg-[var(--bg)]", children })
1234
+ children: /* @__PURE__ */ jsx("div", { className: StampCard_module_default.inner, children })
1001
1235
  }
1002
1236
  ) }) });
1003
1237
  }
1238
+
1239
+ // src/molecules/PasswordInput.module.scss
1240
+ var PasswordInput_module_default = {
1241
+ toggle: "PasswordInput_module_toggle"
1242
+ };
1004
1243
  function PasswordInput(_a) {
1005
1244
  var props = __objRest(_a, []);
1006
1245
  const [showPassword, setShowPassword] = useState(false);
@@ -1013,7 +1252,7 @@ function PasswordInput(_a) {
1013
1252
  {
1014
1253
  type: "button",
1015
1254
  onClick: () => setShowPassword((prev) => !prev),
1016
- className: "flex items-center justify-center cursor-pointer",
1255
+ className: PasswordInput_module_default.toggle,
1017
1256
  "aria-label": showPassword ? "Hide password" : "Show password",
1018
1257
  tabIndex: -1,
1019
1258
  children: showPassword ? /* @__PURE__ */ jsx(IconlyEyeOff, { size: 18 }) : /* @__PURE__ */ jsx(IconlyEye, { size: 18 })
@@ -1022,31 +1261,54 @@ function PasswordInput(_a) {
1022
1261
  })
1023
1262
  );
1024
1263
  }
1264
+
1265
+ // src/molecules/Breadcrumbs.module.scss
1266
+ var Breadcrumbs_module_default = {
1267
+ list: "Breadcrumbs_module_list",
1268
+ item: "Breadcrumbs_module_item",
1269
+ separator: "Breadcrumbs_module_separator",
1270
+ active: "Breadcrumbs_module_active",
1271
+ link: "Breadcrumbs_module_link"
1272
+ };
1025
1273
  function Breadcrumbs({
1026
1274
  items,
1027
1275
  separator = /* @__PURE__ */ jsx(IconlyChevronRight, { size: 14 })
1028
1276
  }) {
1029
- return /* @__PURE__ */ jsx("nav", { "aria-label": "Breadcrumb", children: /* @__PURE__ */ jsx("ol", { className: "flex items-center gap-1.5 text-[13px] tracking-[-0.25px]", children: items.map((item, index) => {
1277
+ return /* @__PURE__ */ jsx("nav", { "aria-label": "Breadcrumb", children: /* @__PURE__ */ jsx("ol", { className: Breadcrumbs_module_default.list, children: items.map((item, index) => {
1030
1278
  var _a;
1031
1279
  const isLast = index === items.length - 1;
1032
- return /* @__PURE__ */ jsxs("li", { className: "flex items-center gap-1.5", children: [
1033
- index > 0 && /* @__PURE__ */ jsx("span", { className: "text-[var(--fg-muted)]", "aria-hidden": "true", children: separator }),
1034
- isLast ? /* @__PURE__ */ jsx("span", { className: "text-[var(--fg)] font-medium", "aria-current": "page", children: item.label }) : /* @__PURE__ */ jsx(
1280
+ return /* @__PURE__ */ jsxs("li", { className: Breadcrumbs_module_default.item, children: [
1281
+ index > 0 && /* @__PURE__ */ jsx("span", { className: Breadcrumbs_module_default.separator, "aria-hidden": "true", children: separator }),
1282
+ isLast ? /* @__PURE__ */ jsx("span", { className: Breadcrumbs_module_default.active, "aria-current": "page", children: item.label }) : /* @__PURE__ */ jsx(
1035
1283
  "a",
1036
1284
  {
1037
1285
  href: (_a = item.href) != null ? _a : "#",
1038
- className: "text-[var(--fg-muted)] hover:text-[var(--fg)] transition-colors duration-[var(--transition-fast)]",
1286
+ className: Breadcrumbs_module_default.link,
1039
1287
  children: item.label
1040
1288
  }
1041
1289
  )
1042
1290
  ] }, index);
1043
1291
  }) }) });
1044
1292
  }
1045
- var variantConfig2 = {
1046
- info: { accentColor: "text-[var(--color-info)]", Icon: IconlyInfoCircle },
1047
- success: { accentColor: "text-[var(--color-success)]", Icon: IconlySuccess },
1048
- warning: { accentColor: "text-[var(--color-warning)]", Icon: IconlyWarning },
1049
- error: { accentColor: "text-[var(--color-error)]", Icon: IconlyError }
1293
+
1294
+ // src/molecules/Toast.module.scss
1295
+ var Toast_module_default = {
1296
+ root: "Toast_module_root",
1297
+ icon: "Toast_module_icon",
1298
+ info: "Toast_module_info",
1299
+ success: "Toast_module_success",
1300
+ warning: "Toast_module_warning",
1301
+ error: "Toast_module_error",
1302
+ content: "Toast_module_content",
1303
+ title: "Toast_module_title",
1304
+ message: "Toast_module_message",
1305
+ dismiss: "Toast_module_dismiss"
1306
+ };
1307
+ var variantIcons2 = {
1308
+ info: IconlyInfoCircle,
1309
+ success: IconlySuccess,
1310
+ warning: IconlyWarning,
1311
+ error: IconlyError
1050
1312
  };
1051
1313
  function Toast({
1052
1314
  variant = "info",
@@ -1063,25 +1325,25 @@ function Toast({
1063
1325
  return () => clearTimeout(timer);
1064
1326
  }, [visible, duration, onClose]);
1065
1327
  if (!visible) return null;
1066
- const config = variantConfig2[variant];
1067
- const { Icon } = config;
1328
+ const Icon = variantIcons2[variant];
1329
+ const variantClass = Toast_module_default[variant];
1068
1330
  return /* @__PURE__ */ jsxs(
1069
1331
  "div",
1070
1332
  {
1071
1333
  role: "alert",
1072
1334
  "aria-live": "assertive",
1073
- className: `fixed bottom-6 right-6 z-50 flex gap-3 p-4 rounded-[var(--radius-lg)] border border-[var(--border-color)] bg-[var(--bg-secondary)] shadow-lg max-w-sm ${className}`,
1335
+ className: `${Toast_module_default.root}${className ? ` ${className}` : ""}`,
1074
1336
  children: [
1075
- /* @__PURE__ */ jsx("div", { className: `shrink-0 mt-0.5 ${config.accentColor}`, children: /* @__PURE__ */ jsx(Icon, { size: 20 }) }),
1076
- /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
1077
- title && /* @__PURE__ */ jsx("p", { className: `text-[13px] font-medium tracking-[-0.25px] mb-0.5 ${config.accentColor}`, children: title }),
1078
- /* @__PURE__ */ jsx("p", { className: "text-[13px] tracking-[-0.25px] text-[var(--fg-secondary)]", children: message })
1337
+ /* @__PURE__ */ jsx("div", { className: `${Toast_module_default.icon} ${variantClass}`, children: /* @__PURE__ */ jsx(Icon, { size: 20 }) }),
1338
+ /* @__PURE__ */ jsxs("div", { className: Toast_module_default.content, children: [
1339
+ title && /* @__PURE__ */ jsx("p", { className: `${Toast_module_default.title} ${variantClass}`, children: title }),
1340
+ /* @__PURE__ */ jsx("p", { className: Toast_module_default.message, children: message })
1079
1341
  ] }),
1080
1342
  /* @__PURE__ */ jsx(
1081
1343
  "button",
1082
1344
  {
1083
1345
  onClick: onClose,
1084
- className: "shrink-0 text-[var(--fg-muted)] hover:text-[var(--fg)] transition-all duration-[var(--transition-fast)] cursor-pointer",
1346
+ className: Toast_module_default.dismiss,
1085
1347
  "aria-label": "Dismiss",
1086
1348
  children: /* @__PURE__ */ jsx(IconlyClose, { size: 16 })
1087
1349
  }
@@ -1090,6 +1352,15 @@ function Toast({
1090
1352
  }
1091
1353
  );
1092
1354
  }
1355
+
1356
+ // src/molecules/Pagination.module.scss
1357
+ var Pagination_module_default = {
1358
+ root: "Pagination_module_root",
1359
+ pageBtn: "Pagination_module_pageBtn",
1360
+ activePage: "Pagination_module_activePage",
1361
+ ellipsis: "Pagination_module_ellipsis",
1362
+ nav: "Pagination_module_nav"
1363
+ };
1093
1364
  function getPageRange(current, total, siblings) {
1094
1365
  const range = /* @__PURE__ */ new Set();
1095
1366
  range.add(1);
@@ -1118,32 +1389,24 @@ function Pagination({
1118
1389
  const pages = getPageRange(currentPage, totalPages, siblingCount);
1119
1390
  const isFirst = currentPage === 1;
1120
1391
  const isLast = currentPage === totalPages;
1121
- const buttonBase = "min-w-[36px] h-[36px] flex items-center justify-center text-[13px] tracking-[-0.25px] transition-all duration-[var(--transition-fast)] cursor-pointer";
1122
- return /* @__PURE__ */ jsxs("nav", { "aria-label": "Pagination", className: `flex items-center gap-1 ${className}`, children: [
1392
+ return /* @__PURE__ */ jsxs("nav", { "aria-label": "Pagination", className: `${Pagination_module_default.root} ${className}`, children: [
1123
1393
  /* @__PURE__ */ jsx(
1124
1394
  "button",
1125
1395
  {
1126
1396
  onClick: () => onPageChange(currentPage - 1),
1127
1397
  disabled: isFirst,
1128
1398
  "aria-label": "Previous page",
1129
- className: `${buttonBase} text-[var(--fg-secondary)] hover:text-[var(--fg)] ${isFirst ? "opacity-50 cursor-not-allowed" : ""}`,
1399
+ className: Pagination_module_default.nav,
1130
1400
  children: /* @__PURE__ */ jsx(IconlyChevronLeft, { size: 18 })
1131
1401
  }
1132
1402
  ),
1133
1403
  pages.map(
1134
- (page, i) => page === "\u2026" ? /* @__PURE__ */ jsx(
1135
- "span",
1136
- {
1137
- className: "min-w-[36px] h-[36px] flex items-center justify-center text-[13px] text-[var(--fg-muted)]",
1138
- children: "\u2026"
1139
- },
1140
- `ellipsis-${i}`
1141
- ) : /* @__PURE__ */ jsx(
1404
+ (page, i) => page === "\u2026" ? /* @__PURE__ */ jsx("span", { className: Pagination_module_default.ellipsis, children: "\u2026" }, `ellipsis-${i}`) : /* @__PURE__ */ jsx(
1142
1405
  "button",
1143
1406
  {
1144
1407
  onClick: () => onPageChange(page),
1145
1408
  "aria-current": page === currentPage ? "page" : void 0,
1146
- className: `${buttonBase} rounded-full ${page === currentPage ? "bg-[var(--fg)] text-[var(--bg)] font-medium" : "text-[var(--fg-secondary)] hover:text-[var(--fg)] hover:bg-[var(--bg-secondary)]"}`,
1409
+ className: `${Pagination_module_default.pageBtn} ${page === currentPage ? Pagination_module_default.activePage : ""}`,
1147
1410
  children: page
1148
1411
  },
1149
1412
  page
@@ -1155,12 +1418,22 @@ function Pagination({
1155
1418
  onClick: () => onPageChange(currentPage + 1),
1156
1419
  disabled: isLast,
1157
1420
  "aria-label": "Next page",
1158
- className: `${buttonBase} text-[var(--fg-secondary)] hover:text-[var(--fg)] ${isLast ? "opacity-50 cursor-not-allowed" : ""}`,
1421
+ className: Pagination_module_default.nav,
1159
1422
  children: /* @__PURE__ */ jsx(IconlyChevronRight, { size: 18 })
1160
1423
  }
1161
1424
  )
1162
1425
  ] });
1163
1426
  }
1427
+
1428
+ // src/molecules/CodeInput.module.scss
1429
+ var CodeInput_module_default = {
1430
+ root: "CodeInput_module_root",
1431
+ label: "CodeInput_module_label",
1432
+ group: "CodeInput_module_group",
1433
+ digitInput: "CodeInput_module_digitInput",
1434
+ digitError: "CodeInput_module_digitError",
1435
+ errorText: "CodeInput_module_errorText"
1436
+ };
1164
1437
  function CodeInput({
1165
1438
  length,
1166
1439
  value,
@@ -1213,16 +1486,9 @@ function CodeInput({
1213
1486
  [length, onChange, focusInput]
1214
1487
  );
1215
1488
  const inputId = label == null ? void 0 : label.toLowerCase().replace(/\s+/g, "-");
1216
- return /* @__PURE__ */ jsxs("div", { className: `flex flex-col gap-1.5 ${className}`, children: [
1217
- label && /* @__PURE__ */ jsx(
1218
- "label",
1219
- {
1220
- htmlFor: inputId,
1221
- className: "text-[13px] font-medium text-[var(--fg)] tracking-[-0.25px]",
1222
- children: label
1223
- }
1224
- ),
1225
- /* @__PURE__ */ jsx("div", { className: "flex gap-3", role: "group", "aria-label": label || "Code input", children: Array.from({ length }, (_, i) => /* @__PURE__ */ jsx(
1489
+ return /* @__PURE__ */ jsxs("div", { className: `${CodeInput_module_default.root} ${className}`, children: [
1490
+ label && /* @__PURE__ */ jsx("label", { htmlFor: inputId, className: CodeInput_module_default.label, children: label }),
1491
+ /* @__PURE__ */ jsx("div", { className: CodeInput_module_default.group, role: "group", "aria-label": label || "Code input", children: Array.from({ length }, (_, i) => /* @__PURE__ */ jsx(
1226
1492
  "input",
1227
1493
  {
1228
1494
  id: i === 0 ? inputId : void 0,
@@ -1237,14 +1503,25 @@ function CodeInput({
1237
1503
  onKeyDown: handleKeyDown(i),
1238
1504
  onPaste: handlePaste,
1239
1505
  autoComplete: "one-time-code",
1240
- className: `w-12 h-12 text-center text-lg border bg-[var(--bg)] text-[var(--fg)] rounded-[var(--radius-lg)] transition-all duration-[var(--transition-fast)] focus:outline-none focus:border-[var(--fg)] ${error ? "border-[var(--color-error)] focus:border-[var(--color-error)]" : "border-[var(--fg-muted)]"}`,
1506
+ className: `${CodeInput_module_default.digitInput} ${error ? CodeInput_module_default.digitError : ""}`,
1241
1507
  "aria-label": `Digit ${i + 1}`
1242
1508
  },
1243
1509
  i
1244
1510
  )) }),
1245
- error && /* @__PURE__ */ jsx("p", { className: "text-[13px] tracking-[-0.25px] text-[var(--color-error)]", children: error })
1511
+ error && /* @__PURE__ */ jsx("p", { className: CodeInput_module_default.errorText, children: error })
1246
1512
  ] });
1247
1513
  }
1514
+
1515
+ // src/molecules/Modal.module.scss
1516
+ var Modal_module_default = {
1517
+ dialog: "Modal_module_dialog",
1518
+ content: "Modal_module_content",
1519
+ header: "Modal_module_header",
1520
+ title: "Modal_module_title",
1521
+ closeBtn: "Modal_module_closeBtn",
1522
+ body: "Modal_module_body",
1523
+ footer: "Modal_module_footer"
1524
+ };
1248
1525
  function Modal({
1249
1526
  open,
1250
1527
  onClose,
@@ -1274,27 +1551,39 @@ function Modal({
1274
1551
  ref: dialogRef,
1275
1552
  onClose,
1276
1553
  onClick: handleBackdropClick,
1277
- className: `max-w-lg w-full p-0 rounded-[var(--radius-lg)] shadow-xl bg-[var(--bg)] border border-[var(--border-color)] backdrop:bg-black/50 ${className}`,
1278
- children: /* @__PURE__ */ jsxs("div", { className: "p-6", children: [
1279
- /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between mb-4", children: [
1280
- title && /* @__PURE__ */ jsx("h2", { className: "text-lg font-semibold text-[var(--fg)] tracking-[-0.25px]", children: title }),
1554
+ className: `${Modal_module_default.dialog}${className ? ` ${className}` : ""}`,
1555
+ children: /* @__PURE__ */ jsxs("div", { className: Modal_module_default.content, children: [
1556
+ /* @__PURE__ */ jsxs("div", { className: Modal_module_default.header, children: [
1557
+ title && /* @__PURE__ */ jsx("h2", { className: Modal_module_default.title, children: title }),
1281
1558
  /* @__PURE__ */ jsx(
1282
1559
  "button",
1283
1560
  {
1284
1561
  type: "button",
1285
1562
  onClick: onClose,
1286
- className: "shrink-0 ml-auto text-[var(--fg-muted)] hover:text-[var(--fg)] transition-all duration-[var(--transition-fast)] cursor-pointer",
1563
+ className: Modal_module_default.closeBtn,
1287
1564
  "aria-label": "Close",
1288
1565
  children: /* @__PURE__ */ jsx(IconlyClose, { size: 20 })
1289
1566
  }
1290
1567
  )
1291
1568
  ] }),
1292
- /* @__PURE__ */ jsx("div", { className: "text-[14px] text-[var(--fg-secondary)] leading-relaxed", children }),
1293
- footer && /* @__PURE__ */ jsx("div", { className: "flex gap-3 justify-end mt-6", children: footer })
1569
+ /* @__PURE__ */ jsx("div", { className: Modal_module_default.body, children }),
1570
+ footer && /* @__PURE__ */ jsx("div", { className: Modal_module_default.footer, children: footer })
1294
1571
  ] })
1295
1572
  }
1296
1573
  );
1297
1574
  }
1575
+
1576
+ // src/molecules/DropdownMenu.module.scss
1577
+ var DropdownMenu_module_default = {
1578
+ root: "DropdownMenu_module_root",
1579
+ trigger: "DropdownMenu_module_trigger",
1580
+ menu: "DropdownMenu_module_menu",
1581
+ alignLeft: "DropdownMenu_module_alignLeft",
1582
+ alignRight: "DropdownMenu_module_alignRight",
1583
+ item: "DropdownMenu_module_item",
1584
+ itemIcon: "DropdownMenu_module_itemIcon",
1585
+ divider: "DropdownMenu_module_divider"
1586
+ };
1298
1587
  function DropdownMenu({
1299
1588
  trigger,
1300
1589
  items,
@@ -1362,7 +1651,7 @@ function DropdownMenu({
1362
1651
  openMenu();
1363
1652
  }
1364
1653
  };
1365
- return /* @__PURE__ */ jsxs("div", { ref: containerRef, className: `relative inline-block ${className}`, children: [
1654
+ return /* @__PURE__ */ jsxs("div", { ref: containerRef, className: `${DropdownMenu_module_default.root} ${className}`, children: [
1366
1655
  /* @__PURE__ */ jsx(
1367
1656
  "div",
1368
1657
  {
@@ -1371,7 +1660,7 @@ function DropdownMenu({
1371
1660
  tabIndex: 0,
1372
1661
  onClick: () => isOpen ? closeMenu() : openMenu(),
1373
1662
  onKeyDown: handleTriggerKeyDown,
1374
- className: "cursor-pointer inline-flex",
1663
+ className: DropdownMenu_module_default.trigger,
1375
1664
  "aria-haspopup": "true",
1376
1665
  "aria-expanded": isOpen,
1377
1666
  children: trigger
@@ -1382,9 +1671,9 @@ function DropdownMenu({
1382
1671
  {
1383
1672
  role: "menu",
1384
1673
  onKeyDown: handleMenuKeyDown,
1385
- className: `absolute top-full mt-1 z-50 rounded-[var(--radius-lg)] shadow-lg border border-[var(--border-color)] bg-[var(--bg)] min-w-[180px] py-1 ${align === "right" ? "right-0" : "left-0"}`,
1674
+ className: `${DropdownMenu_module_default.menu} ${align === "right" ? DropdownMenu_module_default.alignRight : DropdownMenu_module_default.alignLeft}`,
1386
1675
  children: items.map((item, i) => /* @__PURE__ */ jsxs("div", { children: [
1387
- item.divider && /* @__PURE__ */ jsx("hr", { className: "my-1 border-[var(--border-color)]" }),
1676
+ item.divider && /* @__PURE__ */ jsx("hr", { className: DropdownMenu_module_default.divider }),
1388
1677
  /* @__PURE__ */ jsxs(
1389
1678
  "button",
1390
1679
  {
@@ -1398,9 +1687,9 @@ function DropdownMenu({
1398
1687
  item.onClick();
1399
1688
  closeMenu();
1400
1689
  },
1401
- className: "flex items-center gap-2 w-full px-3 py-2 text-[13px] tracking-[-0.25px] text-[var(--fg-secondary)] hover:bg-[var(--bg-secondary)] hover:text-[var(--fg)] transition-all duration-[var(--transition-fast)] cursor-pointer text-left",
1690
+ className: DropdownMenu_module_default.item,
1402
1691
  children: [
1403
- item.icon && /* @__PURE__ */ jsx("span", { className: "shrink-0 text-[var(--fg-muted)]", children: item.icon }),
1692
+ item.icon && /* @__PURE__ */ jsx("span", { className: DropdownMenu_module_default.itemIcon, children: item.icon }),
1404
1693
  item.label
1405
1694
  ]
1406
1695
  }
@@ -1410,56 +1699,90 @@ function DropdownMenu({
1410
1699
  )
1411
1700
  ] });
1412
1701
  }
1702
+
1703
+ // src/organisms/Header.module.scss
1704
+ var Header_module_default = {
1705
+ root: "Header_module_root",
1706
+ container: "Header_module_container",
1707
+ bar: "Header_module_bar",
1708
+ leftGroup: "Header_module_leftGroup",
1709
+ logoFallback: "Header_module_logoFallback",
1710
+ logoBrand: "Header_module_logoBrand",
1711
+ desktopNav: "Header_module_desktopNav",
1712
+ navLink: "Header_module_navLink",
1713
+ desktopActions: "Header_module_desktopActions",
1714
+ mobileToggle: "Header_module_mobileToggle",
1715
+ mobileMenu: "Header_module_mobileMenu",
1716
+ mobileNav: "Header_module_mobileNav",
1717
+ mobileActions: "Header_module_mobileActions"
1718
+ };
1413
1719
  function Header({ logo, navItems = [], className = "" }) {
1414
1720
  const [mobileOpen, setMobileOpen] = useState(false);
1415
- return /* @__PURE__ */ jsxs("header", { className: `border-b border-[var(--border-color)] bg-[var(--bg)]/80 backdrop-blur-md sticky top-0 z-50 ${className}`, children: [
1416
- /* @__PURE__ */ jsx("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between h-16", children: [
1417
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-8", children: [
1418
- logo || /* @__PURE__ */ jsxs("span", { className: "text-lg font-bold text-[var(--fg)]", children: [
1419
- /* @__PURE__ */ jsx("span", { className: "text-[var(--brand-primary)]", children: "K" }),
1721
+ return /* @__PURE__ */ jsxs("header", { className: `${Header_module_default.root}${className ? ` ${className}` : ""}`, children: [
1722
+ /* @__PURE__ */ jsx("div", { className: Header_module_default.container, children: /* @__PURE__ */ jsxs("div", { className: Header_module_default.bar, children: [
1723
+ /* @__PURE__ */ jsxs("div", { className: Header_module_default.leftGroup, children: [
1724
+ logo || /* @__PURE__ */ jsxs("span", { className: Header_module_default.logoFallback, children: [
1725
+ /* @__PURE__ */ jsx("span", { className: Header_module_default.logoBrand, children: "K" }),
1420
1726
  "apustin"
1421
1727
  ] }),
1422
- /* @__PURE__ */ jsx("nav", { className: "hidden md:flex items-center gap-1", children: navItems.map((item) => /* @__PURE__ */ jsx(
1728
+ /* @__PURE__ */ jsx("nav", { className: Header_module_default.desktopNav, children: navItems.map((item) => /* @__PURE__ */ jsx(
1423
1729
  "a",
1424
1730
  {
1425
1731
  href: item.href,
1426
- className: "px-3 py-2 text-sm text-[var(--fg-secondary)] hover:text-[var(--fg)] rounded-[var(--radius-md)] hover:bg-[var(--bg-tertiary)] transition-colors",
1732
+ className: Header_module_default.navLink,
1427
1733
  children: item.label
1428
1734
  },
1429
1735
  item.label
1430
1736
  )) })
1431
1737
  ] }),
1432
- /* @__PURE__ */ jsxs("div", { className: "hidden md:flex items-center gap-3", children: [
1738
+ /* @__PURE__ */ jsxs("div", { className: Header_module_default.desktopActions, children: [
1433
1739
  /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "sm", children: "Sign in" }),
1434
1740
  /* @__PURE__ */ jsx(Button, { size: "sm", children: "Get started" })
1435
1741
  ] }),
1436
1742
  /* @__PURE__ */ jsx(
1437
1743
  "button",
1438
1744
  {
1439
- className: "md:hidden p-2 text-[var(--fg-secondary)] hover:text-[var(--fg)] cursor-pointer",
1745
+ className: Header_module_default.mobileToggle,
1440
1746
  onClick: () => setMobileOpen(!mobileOpen),
1441
1747
  "aria-label": "Toggle menu",
1442
1748
  children: mobileOpen ? /* @__PURE__ */ jsx(IconlyClose, { size: 24 }) : /* @__PURE__ */ jsx(IconlyMenu, { size: 24 })
1443
1749
  }
1444
1750
  )
1445
1751
  ] }) }),
1446
- mobileOpen && /* @__PURE__ */ jsxs("div", { className: "md:hidden border-t border-[var(--border-color)] bg-[var(--bg)] px-4 py-4", children: [
1447
- /* @__PURE__ */ jsx("nav", { className: "flex flex-col gap-1", children: navItems.map((item) => /* @__PURE__ */ jsx(
1752
+ mobileOpen && /* @__PURE__ */ jsxs("div", { className: Header_module_default.mobileMenu, children: [
1753
+ /* @__PURE__ */ jsx("nav", { className: Header_module_default.mobileNav, children: navItems.map((item) => /* @__PURE__ */ jsx(
1448
1754
  "a",
1449
1755
  {
1450
1756
  href: item.href,
1451
- className: "px-3 py-2 text-sm text-[var(--fg-secondary)] hover:text-[var(--fg)] rounded-[var(--radius-md)] hover:bg-[var(--bg-tertiary)] transition-colors",
1757
+ className: Header_module_default.navLink,
1452
1758
  children: item.label
1453
1759
  },
1454
1760
  item.label
1455
1761
  )) }),
1456
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 mt-4 pt-4 border-t border-[var(--border-color)]", children: [
1762
+ /* @__PURE__ */ jsxs("div", { className: Header_module_default.mobileActions, children: [
1457
1763
  /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "sm", children: "Sign in" }),
1458
1764
  /* @__PURE__ */ jsx(Button, { size: "sm", children: "Get started" })
1459
1765
  ] })
1460
1766
  ] })
1461
1767
  ] });
1462
1768
  }
1769
+
1770
+ // src/organisms/Footer.module.scss
1771
+ var Footer_module_default = {
1772
+ root: "Footer_module_root",
1773
+ container: "Footer_module_container",
1774
+ grid: "Footer_module_grid",
1775
+ brand: "Footer_module_brand",
1776
+ brandAccent: "Footer_module_brandAccent",
1777
+ tagline: "Footer_module_tagline",
1778
+ columnTitle: "Footer_module_columnTitle",
1779
+ linkList: "Footer_module_linkList",
1780
+ link: "Footer_module_link",
1781
+ bottom: "Footer_module_bottom",
1782
+ copyright: "Footer_module_copyright",
1783
+ socials: "Footer_module_socials",
1784
+ socialLink: "Footer_module_socialLink"
1785
+ };
1463
1786
  var defaultColumns = [
1464
1787
  {
1465
1788
  title: "Product",
@@ -1490,38 +1813,38 @@ var defaultColumns = [
1490
1813
  }
1491
1814
  ];
1492
1815
  function Footer({ columns = defaultColumns, className = "" }) {
1493
- return /* @__PURE__ */ jsx("footer", { className: `border-t border-[var(--border-color)] bg-[var(--bg)] ${className}`, children: /* @__PURE__ */ jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12", children: [
1494
- /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 md:grid-cols-4 gap-8", children: [
1816
+ return /* @__PURE__ */ jsx("footer", { className: `${Footer_module_default.root}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxs("div", { className: Footer_module_default.container, children: [
1817
+ /* @__PURE__ */ jsxs("div", { className: Footer_module_default.grid, children: [
1495
1818
  /* @__PURE__ */ jsxs("div", { children: [
1496
- /* @__PURE__ */ jsxs("span", { className: "text-lg font-bold text-[var(--fg)]", children: [
1497
- /* @__PURE__ */ jsx("span", { className: "text-[var(--brand-primary)]", children: "K" }),
1819
+ /* @__PURE__ */ jsxs("span", { className: Footer_module_default.brand, children: [
1820
+ /* @__PURE__ */ jsx("span", { className: Footer_module_default.brandAccent, children: "K" }),
1498
1821
  "apustin"
1499
1822
  ] }),
1500
- /* @__PURE__ */ jsx("p", { className: "mt-3 text-[13px] text-[var(--fg-muted)] leading-relaxed tracking-[-0.25px]", children: "A modern design system for building beautiful interfaces." })
1823
+ /* @__PURE__ */ jsx("p", { className: Footer_module_default.tagline, children: "A modern design system for building beautiful interfaces." })
1501
1824
  ] }),
1502
1825
  columns.map((col) => /* @__PURE__ */ jsxs("div", { children: [
1503
- /* @__PURE__ */ jsx("h4", { className: "text-[13px] font-semibold text-[var(--fg-secondary)] mb-3 tracking-[-0.25px]", children: col.title }),
1504
- /* @__PURE__ */ jsx("ul", { className: "space-y-2.5", children: col.links.map((link) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
1826
+ /* @__PURE__ */ jsx("h4", { className: Footer_module_default.columnTitle, children: col.title }),
1827
+ /* @__PURE__ */ jsx("ul", { className: Footer_module_default.linkList, children: col.links.map((link) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
1505
1828
  "a",
1506
1829
  {
1507
1830
  href: link.href,
1508
- className: "text-[13px] text-[var(--fg-muted)] hover:text-[var(--fg)] transition-colors duration-[var(--transition-fast)] tracking-[-0.25px]",
1831
+ className: Footer_module_default.link,
1509
1832
  children: link.label
1510
1833
  }
1511
1834
  ) }, link.label)) })
1512
1835
  ] }, col.title))
1513
1836
  ] }),
1514
- /* @__PURE__ */ jsxs("div", { className: "mt-12 pt-8 border-t border-[var(--border-color)] flex flex-col sm:flex-row justify-between items-center gap-4", children: [
1515
- /* @__PURE__ */ jsxs("p", { className: "text-[13px] text-[var(--fg-muted)] tracking-[-0.25px]", children: [
1837
+ /* @__PURE__ */ jsxs("div", { className: Footer_module_default.bottom, children: [
1838
+ /* @__PURE__ */ jsxs("p", { className: Footer_module_default.copyright, children: [
1516
1839
  "\xA9 ",
1517
1840
  (/* @__PURE__ */ new Date()).getFullYear(),
1518
1841
  " Kapustin Team. All rights reserved."
1519
1842
  ] }),
1520
- /* @__PURE__ */ jsx("div", { className: "flex gap-4", children: ["Twitter", "GitHub", "Discord"].map((social) => /* @__PURE__ */ jsx(
1843
+ /* @__PURE__ */ jsx("div", { className: Footer_module_default.socials, children: ["Twitter", "GitHub", "Discord"].map((social) => /* @__PURE__ */ jsx(
1521
1844
  "a",
1522
1845
  {
1523
1846
  href: "#",
1524
- className: "text-[13px] text-[var(--fg-muted)] hover:text-[var(--fg)] transition-colors duration-[var(--transition-fast)] tracking-[-0.25px]",
1847
+ className: Footer_module_default.socialLink,
1525
1848
  children: social
1526
1849
  },
1527
1850
  social
@@ -1529,6 +1852,23 @@ function Footer({ columns = defaultColumns, className = "" }) {
1529
1852
  ] })
1530
1853
  ] }) });
1531
1854
  }
1855
+
1856
+ // src/organisms/PricingCard.module.scss
1857
+ var PricingCard_module_default = {
1858
+ root: "PricingCard_module_root",
1859
+ highlighted: "PricingCard_module_highlighted",
1860
+ badgeWrap: "PricingCard_module_badgeWrap",
1861
+ header: "PricingCard_module_header",
1862
+ plan: "PricingCard_module_plan",
1863
+ description: "PricingCard_module_description",
1864
+ priceBlock: "PricingCard_module_priceBlock",
1865
+ price: "PricingCard_module_price",
1866
+ period: "PricingCard_module_period",
1867
+ features: "PricingCard_module_features",
1868
+ featureItem: "PricingCard_module_featureItem",
1869
+ featureIcon: "PricingCard_module_featureIcon",
1870
+ cta: "PricingCard_module_cta"
1871
+ };
1532
1872
  function PricingCard({
1533
1873
  plan,
1534
1874
  price,
@@ -1542,63 +1882,89 @@ function PricingCard({
1542
1882
  return /* @__PURE__ */ jsxs(
1543
1883
  "div",
1544
1884
  {
1545
- className: `relative rounded-[var(--radius-xl)] border p-6 flex flex-col ${highlighted ? "border-[var(--brand-primary)] shadow-[0_0_0_1px_var(--brand-primary),var(--shadow-lg)] bg-[var(--bg)]" : "border-[var(--border-color)] bg-[var(--bg)] shadow-[var(--shadow-xs)]"} ${className}`,
1885
+ className: `${PricingCard_module_default.root}${highlighted ? ` ${PricingCard_module_default.highlighted}` : ""}${className ? ` ${className}` : ""}`,
1546
1886
  children: [
1547
- badge && /* @__PURE__ */ jsx("div", { className: "absolute -top-3 left-1/2 -translate-x-1/2", children: /* @__PURE__ */ jsx(Badge, { color: "info", children: badge }) }),
1548
- /* @__PURE__ */ jsxs("div", { className: "mb-4", children: [
1549
- /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold text-[var(--fg)]", children: plan }),
1550
- description && /* @__PURE__ */ jsx("p", { className: "text-sm text-[var(--fg-muted)] mt-1", children: description })
1887
+ badge && /* @__PURE__ */ jsx("div", { className: PricingCard_module_default.badgeWrap, children: /* @__PURE__ */ jsx(Badge, { color: "info", children: badge }) }),
1888
+ /* @__PURE__ */ jsxs("div", { className: PricingCard_module_default.header, children: [
1889
+ /* @__PURE__ */ jsx("h3", { className: PricingCard_module_default.plan, children: plan }),
1890
+ description && /* @__PURE__ */ jsx("p", { className: PricingCard_module_default.description, children: description })
1551
1891
  ] }),
1552
- /* @__PURE__ */ jsxs("div", { className: "mb-6", children: [
1553
- /* @__PURE__ */ jsx("span", { className: "text-4xl font-bold text-[var(--fg)]", children: price }),
1554
- /* @__PURE__ */ jsx("span", { className: "text-[var(--fg-muted)]", children: period })
1892
+ /* @__PURE__ */ jsxs("div", { className: PricingCard_module_default.priceBlock, children: [
1893
+ /* @__PURE__ */ jsx("span", { className: PricingCard_module_default.price, children: price }),
1894
+ /* @__PURE__ */ jsx("span", { className: PricingCard_module_default.period, children: period })
1555
1895
  ] }),
1556
- /* @__PURE__ */ jsx("ul", { className: "space-y-3 mb-8 flex-1", children: features.map((feature, i) => /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-2.5 text-sm text-[var(--fg-secondary)]", children: [
1557
- /* @__PURE__ */ jsx("span", { className: "shrink-0 mt-0.5 text-[var(--color-success)]", children: /* @__PURE__ */ jsx(IconlyCheck, { size: 16 }) }),
1896
+ /* @__PURE__ */ jsx("ul", { className: PricingCard_module_default.features, children: features.map((feature, i) => /* @__PURE__ */ jsxs("li", { className: PricingCard_module_default.featureItem, children: [
1897
+ /* @__PURE__ */ jsx("span", { className: PricingCard_module_default.featureIcon, children: /* @__PURE__ */ jsx(IconlyCheck, { size: 16 }) }),
1558
1898
  feature
1559
1899
  ] }, i)) }),
1560
- /* @__PURE__ */ jsx(Button, { variant: highlighted ? "primary" : "outline", className: "w-full", children: "Get started" })
1900
+ /* @__PURE__ */ jsx(Button, { variant: highlighted ? "primary" : "outline", className: PricingCard_module_default.cta, children: "Get started" })
1561
1901
  ]
1562
1902
  }
1563
1903
  );
1564
1904
  }
1905
+
1906
+ // src/organisms/TestimonialCard.module.scss
1907
+ var TestimonialCard_module_default = {
1908
+ root: "TestimonialCard_module_root",
1909
+ quoteIcon: "TestimonialCard_module_quoteIcon",
1910
+ quoteText: "TestimonialCard_module_quoteText",
1911
+ author: "TestimonialCard_module_author",
1912
+ authorName: "TestimonialCard_module_authorName",
1913
+ authorRole: "TestimonialCard_module_authorRole"
1914
+ };
1565
1915
  function TestimonialCard({ quote, name, role, avatarSrc, className = "" }) {
1566
1916
  const initials = name.split(" ").map((n) => n[0]).join("").toUpperCase();
1567
- return /* @__PURE__ */ jsxs("div", { className: `rounded-[var(--radius-xl)] border border-[var(--border-color)] bg-[var(--bg)] p-6 shadow-[var(--shadow-xs)] ${className}`, children: [
1568
- /* @__PURE__ */ jsx("div", { className: "text-[var(--brand-primary)] opacity-30 mb-4", children: /* @__PURE__ */ jsx(IconlyQuote, { size: 32 }) }),
1569
- /* @__PURE__ */ jsxs("p", { className: "text-sm text-[var(--fg-secondary)] leading-relaxed mb-6", children: [
1917
+ return /* @__PURE__ */ jsxs("div", { className: `${TestimonialCard_module_default.root}${className ? ` ${className}` : ""}`, children: [
1918
+ /* @__PURE__ */ jsx("div", { className: TestimonialCard_module_default.quoteIcon, children: /* @__PURE__ */ jsx(IconlyQuote, { size: 32 }) }),
1919
+ /* @__PURE__ */ jsxs("p", { className: TestimonialCard_module_default.quoteText, children: [
1570
1920
  "\u201C",
1571
1921
  quote,
1572
1922
  "\u201D"
1573
1923
  ] }),
1574
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
1924
+ /* @__PURE__ */ jsxs("div", { className: TestimonialCard_module_default.author, children: [
1575
1925
  /* @__PURE__ */ jsx(Avatar, { src: avatarSrc, initials, size: "sm" }),
1576
1926
  /* @__PURE__ */ jsxs("div", { children: [
1577
- /* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-[var(--fg)]", children: name }),
1578
- /* @__PURE__ */ jsx("p", { className: "text-xs text-[var(--fg-muted)]", children: role })
1927
+ /* @__PURE__ */ jsx("p", { className: TestimonialCard_module_default.authorName, children: name }),
1928
+ /* @__PURE__ */ jsx("p", { className: TestimonialCard_module_default.authorRole, children: role })
1579
1929
  ] })
1580
1930
  ] })
1581
1931
  ] });
1582
1932
  }
1933
+
1934
+ // src/organisms/FeatureGrid.module.scss
1935
+ var FeatureGrid_module_default = {
1936
+ root: "FeatureGrid_module_root",
1937
+ cols2: "FeatureGrid_module_cols2",
1938
+ cols3: "FeatureGrid_module_cols3",
1939
+ cols4: "FeatureGrid_module_cols4",
1940
+ card: "FeatureGrid_module_card",
1941
+ cardIcon: "FeatureGrid_module_cardIcon",
1942
+ cardTitle: "FeatureGrid_module_cardTitle",
1943
+ cardDescription: "FeatureGrid_module_cardDescription"
1944
+ };
1583
1945
  function FeatureGrid({ features, columns = 3, className = "" }) {
1584
- const gridCols = {
1585
- 2: "md:grid-cols-2",
1586
- 3: "md:grid-cols-3",
1587
- 4: "md:grid-cols-2 lg:grid-cols-4"
1946
+ const colsClass = {
1947
+ 2: FeatureGrid_module_default.cols2,
1948
+ 3: FeatureGrid_module_default.cols3,
1949
+ 4: FeatureGrid_module_default.cols4
1588
1950
  };
1589
- return /* @__PURE__ */ jsx("div", { className: `grid grid-cols-1 ${gridCols[columns]} gap-6 ${className}`, children: features.map((feature, i) => /* @__PURE__ */ jsxs(
1590
- "div",
1591
- {
1592
- className: "rounded-[var(--radius-xl)] border border-[var(--border-color)] bg-[var(--bg)] p-6 transition-all duration-[var(--transition-base)] hover:shadow-[var(--shadow-md)] hover:-translate-y-0.5",
1593
- children: [
1594
- /* @__PURE__ */ jsx("div", { className: "w-10 h-10 rounded-[var(--radius-lg)] bg-[var(--brand-primary)]/10 flex items-center justify-center text-[var(--brand-primary)] mb-4", children: feature.icon }),
1595
- /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-[var(--fg)] mb-1.5", children: feature.title }),
1596
- /* @__PURE__ */ jsx("p", { className: "text-sm text-[var(--fg-muted)] leading-relaxed", children: feature.description })
1597
- ]
1598
- },
1599
- i
1600
- )) });
1951
+ return /* @__PURE__ */ jsx("div", { className: `${FeatureGrid_module_default.root} ${colsClass[columns]}${className ? ` ${className}` : ""}`, children: features.map((feature, i) => /* @__PURE__ */ jsxs("div", { className: FeatureGrid_module_default.card, children: [
1952
+ /* @__PURE__ */ jsx("div", { className: FeatureGrid_module_default.cardIcon, children: feature.icon }),
1953
+ /* @__PURE__ */ jsx("h3", { className: FeatureGrid_module_default.cardTitle, children: feature.title }),
1954
+ /* @__PURE__ */ jsx("p", { className: FeatureGrid_module_default.cardDescription, children: feature.description })
1955
+ ] }, i)) });
1601
1956
  }
1957
+
1958
+ // src/organisms/Sidebar.module.scss
1959
+ var Sidebar_module_default = {
1960
+ root: "Sidebar_module_root",
1961
+ menu: "Sidebar_module_menu",
1962
+ courseSubmenu: "Sidebar_module_courseSubmenu",
1963
+ logo: "Sidebar_module_logo",
1964
+ nav: "Sidebar_module_nav",
1965
+ footer: "Sidebar_module_footer",
1966
+ legal: "Sidebar_module_legal"
1967
+ };
1602
1968
  var defaultMenuItems = [
1603
1969
  "\u0413\u043B\u0430\u0432\u043D\u0430\u044F",
1604
1970
  "\u041C\u043E\u0438 \u043A\u0443\u0440\u0441\u044B",
@@ -1617,36 +1983,80 @@ var courseMenuItems = [
1617
1983
  "\u0421\u043E\u0446. \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0430",
1618
1984
  "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u044B"
1619
1985
  ];
1620
- function Sidebar({ type = "menu", menuItems, footer, className = "" }) {
1621
- const items = menuItems || (type === "courseSubmenu" ? courseMenuItems : defaultMenuItems);
1622
- const [active, setActive] = useState(0);
1623
- const width = type === "courseSubmenu" ? "w-[340px]" : "w-[240px]";
1986
+ var DEFAULT_LEGAL = "kapustin.cc, 2026 \n\u0418\u041F \u041A\u0430\u043F\u0443\u0441\u0442\u0438\u043D \u0414.\u0412., \u0418\u041D\u041D 7721250201";
1987
+ function normaliseItems(items) {
1988
+ if (items.length === 0) return [];
1989
+ if (typeof items[0] === "string") {
1990
+ return items.map((label, i) => ({ id: String(i), label }));
1991
+ }
1992
+ return items;
1993
+ }
1994
+ function Sidebar({
1995
+ type = "menu",
1996
+ menuItems,
1997
+ footer,
1998
+ className = "",
1999
+ activeId,
2000
+ onItemClick,
2001
+ logo,
2002
+ legalText
2003
+ }) {
2004
+ const rawItems = menuItems || (type === "courseSubmenu" ? courseMenuItems : defaultMenuItems);
2005
+ const items = normaliseItems(rawItems);
2006
+ const [internalActive, setInternalActive] = useState(0);
2007
+ const isControlled = activeId !== void 0;
2008
+ const widthClass = type === "courseSubmenu" ? Sidebar_module_default.courseSubmenu : Sidebar_module_default.menu;
2009
+ const showLegal = legalText !== null;
2010
+ const legalContent = legalText === void 0 ? DEFAULT_LEGAL : legalText;
1624
2011
  return /* @__PURE__ */ jsxs(
1625
2012
  "aside",
1626
2013
  {
1627
- className: `bg-[var(--bg)] border-r border-[var(--border-color)] flex flex-col justify-between p-8 shrink-0 h-full ${width} ${className}`,
2014
+ className: `${Sidebar_module_default.root} ${widthClass}${className ? ` ${className}` : ""}`,
1628
2015
  children: [
1629
- /* @__PURE__ */ jsx("nav", { className: "flex flex-col gap-1 items-start", children: items.map((item, i) => /* @__PURE__ */ jsx(
1630
- MenuItem,
1631
- {
1632
- text: item,
1633
- active: i === active,
1634
- onClick: () => setActive(i)
1635
- },
1636
- `${item}-${i}`
1637
- )) }),
1638
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-5 w-full", children: [
2016
+ logo && /* @__PURE__ */ jsx("div", { className: Sidebar_module_default.logo, children: logo }),
2017
+ /* @__PURE__ */ jsx("nav", { className: Sidebar_module_default.nav, children: items.map((item, i) => {
2018
+ const isActive = isControlled ? item.id === activeId : i === internalActive;
2019
+ return /* @__PURE__ */ jsx(
2020
+ MenuItem,
2021
+ {
2022
+ text: item.label,
2023
+ icon: item.icon,
2024
+ active: isActive,
2025
+ onClick: () => {
2026
+ if (onItemClick) onItemClick(item.id);
2027
+ if (!isControlled) setInternalActive(i);
2028
+ }
2029
+ },
2030
+ item.id
2031
+ );
2032
+ }) }),
2033
+ /* @__PURE__ */ jsxs("div", { className: Sidebar_module_default.footer, children: [
1639
2034
  type === "menu" && footer,
1640
- /* @__PURE__ */ jsxs("p", { className: "text-[10px] text-[var(--fg-muted)] tracking-[-0.2px]", children: [
1641
- "kapustin.cc, 2026 ",
1642
- /* @__PURE__ */ jsx("br", {}),
1643
- "\u0418\u041F \u041A\u0430\u043F\u0443\u0441\u0442\u0438\u043D \u0414.\u0412., \u0418\u041D\u041D 7721250201"
1644
- ] })
2035
+ showLegal && /* @__PURE__ */ jsx("p", { className: Sidebar_module_default.legal, children: legalContent })
1645
2036
  ] })
1646
2037
  ]
1647
2038
  }
1648
2039
  );
1649
2040
  }
2041
+
2042
+ // src/organisms/AppCard.module.scss
2043
+ var AppCard_module_default = {
2044
+ defaultCard: "AppCard_module_defaultCard",
2045
+ stampCard: "AppCard_module_stampCard",
2046
+ imageWrap: "AppCard_module_imageWrap",
2047
+ imageWrapRounded: "AppCard_module_imageWrap AppCard_module_imageWrapRounded",
2048
+ image: "AppCard_module_image",
2049
+ contentDefaultNoImage: "AppCard_module_contentArea AppCard_module_contentDefault AppCard_module_contentDefaultNoImage",
2050
+ contentDefaultWithImage: "AppCard_module_contentArea AppCard_module_contentDefault AppCard_module_contentDefaultWithImage",
2051
+ contentStamp: "AppCard_module_contentArea AppCard_module_contentStamp",
2052
+ textGroup: "AppCard_module_textGroup",
2053
+ cardTitle: "AppCard_module_cardTitle",
2054
+ cardDesc: "AppCard_module_cardDesc",
2055
+ footer: "AppCard_module_footer",
2056
+ iconRow: "AppCard_module_iconRow",
2057
+ shadowWrap: "AppCard_module_shadowWrap",
2058
+ stampBg: "AppCard_module_stampBg"
2059
+ };
1650
2060
  var HOLE_R = 4;
1651
2061
  var HOLE_SP = 16;
1652
2062
  function buildStampMask(w, h) {
@@ -1673,18 +2083,18 @@ function CardContent({
1673
2083
  isStamp
1674
2084
  }) {
1675
2085
  return /* @__PURE__ */ jsxs(Fragment, { children: [
1676
- image && /* @__PURE__ */ jsx("div", { className: `relative w-full aspect-[16/9] overflow-hidden ${isStamp ? "" : "rounded-t-[16px]"}`, children: /* @__PURE__ */ jsx("img", { src: image, alt: title, className: "absolute inset-0 w-full h-full object-cover" }) }),
2086
+ image && /* @__PURE__ */ jsx("div", { className: isStamp ? AppCard_module_default.imageWrap : AppCard_module_default.imageWrapRounded, children: /* @__PURE__ */ jsx("img", { src: image, alt: title, className: AppCard_module_default.image }) }),
1677
2087
  /* @__PURE__ */ jsxs(
1678
2088
  "div",
1679
2089
  {
1680
- className: `bg-[var(--bg)] overflow-hidden flex flex-col justify-between px-[25px] pt-[25px] pb-[21px] flex-1 min-h-[220px] relative ${isStamp ? "" : `border border-[var(--bg-tertiary)] shadow-[var(--shadow-md)] ${image ? "rounded-b-[16px]" : "rounded-[16px]"}`}`,
2090
+ className: isStamp ? AppCard_module_default.contentStamp : image ? AppCard_module_default.contentDefaultWithImage : AppCard_module_default.contentDefaultNoImage,
1681
2091
  children: [
1682
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3 pr-8", children: [
1683
- /* @__PURE__ */ jsx("h3", { className: "text-base font-semibold text-[var(--fg-secondary)] tracking-[-0.25px]", children: title }),
1684
- /* @__PURE__ */ jsx("p", { className: "text-[13px] text-[var(--fg-muted)] tracking-[-0.25px] leading-normal", children: description })
2092
+ /* @__PURE__ */ jsxs("div", { className: AppCard_module_default.textGroup, children: [
2093
+ /* @__PURE__ */ jsx("h3", { className: AppCard_module_default.cardTitle, children: title }),
2094
+ /* @__PURE__ */ jsx("p", { className: AppCard_module_default.cardDesc, children: description })
1685
2095
  ] }),
1686
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mt-5", children: [
1687
- /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1", children: icons }),
2096
+ /* @__PURE__ */ jsxs("div", { className: AppCard_module_default.footer, children: [
2097
+ /* @__PURE__ */ jsx("div", { className: AppCard_module_default.iconRow, children: icons }),
1688
2098
  /* @__PURE__ */ jsx(Button, { variant: buttonVariant === "outline" ? "outline" : "primary", size: "sm", onClick: onButtonClick, children: buttonText })
1689
2099
  ] })
1690
2100
  ]
@@ -1701,7 +2111,7 @@ function AppCard(_a) {
1701
2111
  "className"
1702
2112
  ]);
1703
2113
  if (variant === "default") {
1704
- return /* @__PURE__ */ jsx("div", { className: `flex flex-col w-[320px] ${className}`, children: /* @__PURE__ */ jsx(CardContent, __spreadProps(__spreadValues({}, contentProps), { isStamp: false })) });
2114
+ return /* @__PURE__ */ jsx("div", { className: `${AppCard_module_default.defaultCard}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsx(CardContent, __spreadProps(__spreadValues({}, contentProps), { isStamp: false })) });
1705
2115
  }
1706
2116
  const padded = variant === "stamp-padded";
1707
2117
  return /* @__PURE__ */ jsx(StampWrapper, { className, padded, children: /* @__PURE__ */ jsx(CardContent, __spreadProps(__spreadValues({}, contentProps), { isStamp: true })) });
@@ -1727,7 +2137,7 @@ function StampWrapper({ children, className, padded }) {
1727
2137
  ro.disconnect();
1728
2138
  };
1729
2139
  }, [build]);
1730
- return /* @__PURE__ */ jsx("div", { ref, className: `flex flex-col w-[320px] relative ${className}`, children: /* @__PURE__ */ jsx("div", { style: { filter: "drop-shadow(0 1px 3px rgba(0,0,0,0.15)) drop-shadow(0 4px 12px rgba(0,0,0,0.12))" }, children: /* @__PURE__ */ jsx(
2140
+ return /* @__PURE__ */ jsx("div", { ref, className: `${AppCard_module_default.stampCard}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsx("div", { className: AppCard_module_default.shadowWrap, children: /* @__PURE__ */ jsx(
1731
2141
  "div",
1732
2142
  {
1733
2143
  style: {
@@ -1736,10 +2146,15 @@ function StampWrapper({ children, className, padded }) {
1736
2146
  WebkitMaskSize: "100% 100%",
1737
2147
  maskSize: "100% 100%"
1738
2148
  },
1739
- children: /* @__PURE__ */ jsx("div", { className: "bg-[var(--bg)]", style: padded ? { padding: STAMP_PADDING } : void 0, children })
2149
+ children: /* @__PURE__ */ jsx("div", { className: AppCard_module_default.stampBg, style: padded ? { padding: STAMP_PADDING } : void 0, children })
1740
2150
  }
1741
2151
  ) }) });
1742
2152
  }
2153
+
2154
+ // src/organisms/AppTopLine.module.scss
2155
+ var AppTopLine_module_default = {
2156
+ root: "AppTopLine_module_root"
2157
+ };
1743
2158
  function AppTopLine({
1744
2159
  promoText = "\u0412\u0430\u043C \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u0441\u043A\u0438\u0434\u043A\u0430 10% \u043D\u0430 \u0432\u0441\u0435 \u043F\u043B\u0430\u0442\u043D\u044B\u0435 \u043A\u0443\u0440\u0441\u044B",
1745
2160
  promoButtonText = "\u0421\u043C\u043E\u0442\u0440\u0435\u0442\u044C",
@@ -1752,19 +2167,51 @@ function AppTopLine({
1752
2167
  avatarSrc,
1753
2168
  className = ""
1754
2169
  }) {
1755
- return /* @__PURE__ */ jsxs("div", { className: `bg-[var(--bg)] flex items-center justify-between w-full ${className}`, children: [
2170
+ return /* @__PURE__ */ jsxs("div", { className: `${AppTopLine_module_default.root}${className ? ` ${className}` : ""}`, children: [
1756
2171
  /* @__PURE__ */ jsx(TopPromo, { text: promoText, buttonText: promoButtonText }),
1757
2172
  /* @__PURE__ */ jsx(ProfileNav, { stats, avatarSrc })
1758
2173
  ] });
1759
2174
  }
2175
+
2176
+ // src/organisms/EmptyState.module.scss
2177
+ var EmptyState_module_default = {
2178
+ root: "EmptyState_module_root",
2179
+ icon: "EmptyState_module_icon",
2180
+ title: "EmptyState_module_title",
2181
+ description: "EmptyState_module_description",
2182
+ action: "EmptyState_module_action"
2183
+ };
1760
2184
  function EmptyState({ icon, title, description, action, className = "" }) {
1761
- return /* @__PURE__ */ jsxs("div", { className: `rounded-[var(--radius-xl)] border border-[var(--border-color)] bg-[var(--bg)] p-8 shadow-[var(--shadow-xs)] flex flex-col items-center text-center ${className}`, children: [
1762
- icon && /* @__PURE__ */ jsx("div", { className: "text-[var(--fg-muted)] mb-4", children: icon }),
1763
- /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold text-[var(--fg)]", children: title }),
1764
- /* @__PURE__ */ jsx("p", { className: "text-[13px] text-[var(--fg-muted)] tracking-[-0.25px] mt-1 max-w-sm", children: description }),
1765
- action && /* @__PURE__ */ jsx("div", { className: "mt-5", children: action })
2185
+ return /* @__PURE__ */ jsxs("div", { className: `${EmptyState_module_default.root}${className ? ` ${className}` : ""}`, children: [
2186
+ icon && /* @__PURE__ */ jsx("div", { className: EmptyState_module_default.icon, children: icon }),
2187
+ /* @__PURE__ */ jsx("h3", { className: EmptyState_module_default.title, children: title }),
2188
+ /* @__PURE__ */ jsx("p", { className: EmptyState_module_default.description, children: description }),
2189
+ action && /* @__PURE__ */ jsx("div", { className: EmptyState_module_default.action, children: action })
1766
2190
  ] });
1767
2191
  }
2192
+
2193
+ // src/organisms/HeroSection.module.scss
2194
+ var HeroSection_module_default = {
2195
+ root: "HeroSection_module_root",
2196
+ bgGlow: "HeroSection_module_bgGlow",
2197
+ glowOrb: "HeroSection_module_glowOrb",
2198
+ inner: "HeroSection_module_inner",
2199
+ innerCompact: "HeroSection_module_innerCompact",
2200
+ content: "HeroSection_module_content",
2201
+ contentCenter: "HeroSection_module_content HeroSection_module_contentCenter",
2202
+ eyebrowWrap: "HeroSection_module_eyebrowWrap",
2203
+ eyebrowCenter: "HeroSection_module_eyebrowCenter",
2204
+ eyebrow: "HeroSection_module_eyebrow",
2205
+ eyebrowDot: "HeroSection_module_eyebrowDot",
2206
+ title: "HeroSection_module_title",
2207
+ subtitle: "HeroSection_module_subtitle",
2208
+ subtitleCenter: "HeroSection_module_subtitleCenter",
2209
+ actions: "HeroSection_module_actions",
2210
+ actionsCenter: "HeroSection_module_actionsCenter",
2211
+ mediaWrapCenter: "HeroSection_module_mediaWrap HeroSection_module_mediaWrapCenter",
2212
+ mediaWrapLeft: "HeroSection_module_mediaWrap HeroSection_module_mediaWrapLeft",
2213
+ mediaBox: "HeroSection_module_mediaBox"
2214
+ };
1768
2215
  function HeroSection({
1769
2216
  eyebrow,
1770
2217
  title,
@@ -1777,30 +2224,40 @@ function HeroSection({
1777
2224
  }) {
1778
2225
  const isCenter = align === "center";
1779
2226
  const isCompact = size === "compact";
1780
- return /* @__PURE__ */ jsxs("section", { className: `relative overflow-hidden ${className}`, children: [
1781
- /* @__PURE__ */ jsx("div", { className: "absolute inset-0 pointer-events-none", "aria-hidden": "true", children: /* @__PURE__ */ jsx("div", { className: "absolute top-0 left-1/2 -translate-x-1/2 w-[800px] h-[600px] bg-[radial-gradient(ellipse_at_center,var(--brand-primary)_0%,transparent_70%)] opacity-[0.04]" }) }),
1782
- /* @__PURE__ */ jsxs("div", { className: `relative ${isCompact ? "py-16 md:py-20" : "py-20 md:py-32"}`, children: [
1783
- /* @__PURE__ */ jsxs("div", { className: `max-w-4xl ${isCenter ? "mx-auto text-center" : ""}`, children: [
1784
- eyebrow && /* @__PURE__ */ jsx("div", { className: `mb-4 md:mb-5 ${isCenter ? "flex justify-center" : ""}`, children: /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5 px-3 py-1 rounded-full text-[11px] font-semibold uppercase tracking-[0.08em] bg-[var(--brand-primary)]/10 text-[var(--brand-primary)] border border-[var(--brand-primary)]/15", children: [
1785
- /* @__PURE__ */ jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-[var(--brand-primary)] animate-pulse" }),
2227
+ return /* @__PURE__ */ jsxs("section", { className: `${HeroSection_module_default.root}${className ? ` ${className}` : ""}`, children: [
2228
+ /* @__PURE__ */ jsx("div", { className: HeroSection_module_default.bgGlow, "aria-hidden": "true", children: /* @__PURE__ */ jsx("div", { className: HeroSection_module_default.glowOrb }) }),
2229
+ /* @__PURE__ */ jsxs("div", { className: isCompact ? HeroSection_module_default.innerCompact : HeroSection_module_default.inner, children: [
2230
+ /* @__PURE__ */ jsxs("div", { className: isCenter ? HeroSection_module_default.contentCenter : HeroSection_module_default.content, children: [
2231
+ eyebrow && /* @__PURE__ */ jsx("div", { className: `${HeroSection_module_default.eyebrowWrap}${isCenter ? ` ${HeroSection_module_default.eyebrowCenter}` : ""}`, children: /* @__PURE__ */ jsxs("span", { className: HeroSection_module_default.eyebrow, children: [
2232
+ /* @__PURE__ */ jsx("span", { className: HeroSection_module_default.eyebrowDot }),
1786
2233
  eyebrow
1787
2234
  ] }) }),
1788
- /* @__PURE__ */ jsx("h1", { className: `text-[clamp(2rem,5vw,3.75rem)] font-bold leading-[1.08] tracking-[-0.035em] text-[var(--fg)] text-balance`, children: title }),
1789
- subtitle && /* @__PURE__ */ jsx("p", { className: `mt-5 md:mt-6 text-base md:text-lg text-[var(--fg-secondary)] leading-relaxed max-w-2xl ${isCenter ? "mx-auto" : ""}`, children: subtitle }),
1790
- actions && /* @__PURE__ */ jsx("div", { className: `mt-8 md:mt-10 flex flex-wrap gap-3 ${isCenter ? "justify-center" : ""}`, children: actions })
2235
+ /* @__PURE__ */ jsx("h1", { className: HeroSection_module_default.title, children: title }),
2236
+ subtitle && /* @__PURE__ */ jsx("p", { className: `${HeroSection_module_default.subtitle}${isCenter ? ` ${HeroSection_module_default.subtitleCenter}` : ""}`, children: subtitle }),
2237
+ actions && /* @__PURE__ */ jsx("div", { className: `${HeroSection_module_default.actions}${isCenter ? ` ${HeroSection_module_default.actionsCenter}` : ""}`, children: actions })
1791
2238
  ] }),
1792
- media && /* @__PURE__ */ jsx("div", { className: `mt-12 md:mt-16 ${isCenter ? "max-w-5xl mx-auto" : "max-w-4xl"}`, children: /* @__PURE__ */ jsx("div", { className: "rounded-[var(--radius-xl)] border border-[var(--border-color)] shadow-[var(--shadow-xl)] overflow-hidden bg-[var(--bg-secondary)]", children: media }) })
2239
+ media && /* @__PURE__ */ jsx("div", { className: isCenter ? HeroSection_module_default.mediaWrapCenter : HeroSection_module_default.mediaWrapLeft, children: /* @__PURE__ */ jsx("div", { className: HeroSection_module_default.mediaBox, children: media }) })
1793
2240
  ] })
1794
2241
  ] });
1795
2242
  }
2243
+
2244
+ // src/organisms/LogoCloud.module.scss
2245
+ var LogoCloud_module_default = {
2246
+ root: "LogoCloud_module_root",
2247
+ label: "LogoCloud_module_label",
2248
+ grid: "LogoCloud_module_grid",
2249
+ logoItem: "LogoCloud_module_logoItem",
2250
+ logoImg: "LogoCloud_module_logoImg",
2251
+ logoText: "LogoCloud_module_logoText"
2252
+ };
1796
2253
  function LogoCloud({
1797
2254
  label = "Trusted by teams at",
1798
2255
  logos,
1799
2256
  className = ""
1800
2257
  }) {
1801
- return /* @__PURE__ */ jsxs("section", { className: `py-10 md:py-14 ${className}`, children: [
1802
- label && /* @__PURE__ */ jsx("p", { className: "text-center text-[11px] font-semibold uppercase tracking-[0.1em] text-[var(--fg-muted)] mb-8", children: label }),
1803
- /* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center justify-center gap-x-10 gap-y-6 md:gap-x-14", children: logos.map((logo) => /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 opacity-40 hover:opacity-70 transition-opacity duration-[var(--transition-base)]", children: logo.src ? (
2258
+ return /* @__PURE__ */ jsxs("section", { className: `${LogoCloud_module_default.root}${className ? ` ${className}` : ""}`, children: [
2259
+ label && /* @__PURE__ */ jsx("p", { className: LogoCloud_module_default.label, children: label }),
2260
+ /* @__PURE__ */ jsx("div", { className: LogoCloud_module_default.grid, children: logos.map((logo) => /* @__PURE__ */ jsx("div", { className: LogoCloud_module_default.logoItem, children: logo.src ? (
1804
2261
  // eslint-disable-next-line @next/next/no-img-element
1805
2262
  /* @__PURE__ */ jsx(
1806
2263
  "img",
@@ -1808,32 +2265,52 @@ function LogoCloud({
1808
2265
  src: logo.src,
1809
2266
  alt: logo.name,
1810
2267
  width: logo.width || 100,
1811
- className: "h-6 md:h-7 w-auto object-contain logo-img"
2268
+ className: `${LogoCloud_module_default.logoImg} logo-img`
1812
2269
  }
1813
2270
  )
1814
- ) : /* @__PURE__ */ jsx("span", { className: "text-sm md:text-base font-bold tracking-[-0.02em] text-[var(--fg)] select-none", children: logo.name }) }, logo.name)) })
2271
+ ) : /* @__PURE__ */ jsx("span", { className: LogoCloud_module_default.logoText, children: logo.name }) }, logo.name)) })
1815
2272
  ] });
1816
2273
  }
2274
+
2275
+ // src/organisms/StatsBar.module.scss
2276
+ var StatsBar_module_default = {
2277
+ root: "StatsBar_module_root",
2278
+ inline: "StatsBar_module_inline",
2279
+ inlineGrid: "StatsBar_module_inlineGrid",
2280
+ inlineItem: "StatsBar_module_inlineItem",
2281
+ cardsGrid: "StatsBar_module_cardsGrid",
2282
+ card: "StatsBar_module_card",
2283
+ cardIconWrap: "StatsBar_module_cardIconWrap",
2284
+ statValue: "StatsBar_module_statValue",
2285
+ statLabel: "StatsBar_module_statLabel"
2286
+ };
1817
2287
  function StatsBar({ stats, variant = "inline", className = "" }) {
1818
2288
  if (variant === "cards") {
1819
- return /* @__PURE__ */ jsx("section", { className: `py-10 md:py-14 ${className}`, children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 md:grid-cols-4 gap-4", children: stats.map((stat, i) => /* @__PURE__ */ jsxs(
1820
- "div",
1821
- {
1822
- className: "rounded-[var(--radius-xl)] border border-[var(--border-color)] bg-[var(--bg)] p-5 md:p-6 text-center transition-all duration-[var(--transition-base)] hover:shadow-[var(--shadow-md)] hover:-translate-y-0.5",
1823
- children: [
1824
- stat.icon && /* @__PURE__ */ jsx("div", { className: "flex justify-center mb-3 text-[var(--brand-primary)]", children: stat.icon }),
1825
- /* @__PURE__ */ jsx("div", { className: "text-2xl md:text-3xl font-bold text-[var(--fg)] tracking-[-0.03em] tabular-nums", children: stat.value }),
1826
- /* @__PURE__ */ jsx("div", { className: "mt-1 text-[13px] text-[var(--fg-muted)] tracking-[-0.25px]", children: stat.label })
1827
- ]
1828
- },
1829
- i
1830
- )) }) });
2289
+ return /* @__PURE__ */ jsx("section", { className: `${StatsBar_module_default.root}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsx("div", { className: StatsBar_module_default.cardsGrid, children: stats.map((stat, i) => /* @__PURE__ */ jsxs("div", { className: StatsBar_module_default.card, children: [
2290
+ stat.icon && /* @__PURE__ */ jsx("div", { className: StatsBar_module_default.cardIconWrap, children: stat.icon }),
2291
+ /* @__PURE__ */ jsx("div", { className: StatsBar_module_default.statValue, children: stat.value }),
2292
+ /* @__PURE__ */ jsx("div", { className: StatsBar_module_default.statLabel, children: stat.label })
2293
+ ] }, i)) }) });
1831
2294
  }
1832
- return /* @__PURE__ */ jsx("section", { className: `py-10 md:py-14 border-y border-[var(--border-color)] ${className}`, children: /* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center justify-center gap-8 md:gap-16", children: stats.map((stat, i) => /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
1833
- /* @__PURE__ */ jsx("div", { className: "text-2xl md:text-3xl font-bold text-[var(--fg)] tracking-[-0.03em] tabular-nums", children: stat.value }),
1834
- /* @__PURE__ */ jsx("div", { className: "mt-1 text-[13px] text-[var(--fg-muted)] tracking-[-0.25px]", children: stat.label })
2295
+ return /* @__PURE__ */ jsx("section", { className: `${StatsBar_module_default.root} ${StatsBar_module_default.inline}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsx("div", { className: StatsBar_module_default.inlineGrid, children: stats.map((stat, i) => /* @__PURE__ */ jsxs("div", { className: StatsBar_module_default.inlineItem, children: [
2296
+ /* @__PURE__ */ jsx("div", { className: StatsBar_module_default.statValue, children: stat.value }),
2297
+ /* @__PURE__ */ jsx("div", { className: StatsBar_module_default.statLabel, children: stat.label })
1835
2298
  ] }, i)) }) });
1836
2299
  }
2300
+
2301
+ // src/organisms/CTASection.module.scss
2302
+ var CTASection_module_default = {
2303
+ root: "CTASection_module_root",
2304
+ default: "CTASection_module_default",
2305
+ filled: "CTASection_module_filled",
2306
+ bordered: "CTASection_module_bordered",
2307
+ inner: "CTASection_module_inner",
2308
+ title: "CTASection_module_title",
2309
+ titleFilled: "CTASection_module_titleFilled",
2310
+ description: "CTASection_module_description",
2311
+ descriptionFilled: "CTASection_module_descriptionFilled",
2312
+ actions: "CTASection_module_actions"
2313
+ };
1837
2314
  function CTASection({
1838
2315
  title,
1839
2316
  description,
@@ -1841,44 +2318,42 @@ function CTASection({
1841
2318
  variant = "default",
1842
2319
  className = ""
1843
2320
  }) {
1844
- const variantStyles5 = {
1845
- default: "py-16 md:py-24",
1846
- filled: "py-12 md:py-16 px-6 md:px-12 rounded-[var(--radius-xl)] bg-[var(--fg)] text-[var(--bg)]",
1847
- bordered: "py-12 md:py-16 px-6 md:px-12 rounded-[var(--radius-xl)] border-2 border-dashed border-[var(--border-color-strong)]"
1848
- };
1849
2321
  const isFilled = variant === "filled";
1850
- return /* @__PURE__ */ jsx("section", { className: `${variantStyles5[variant]} ${className}`, children: /* @__PURE__ */ jsxs("div", { className: "max-w-2xl mx-auto text-center", children: [
1851
- /* @__PURE__ */ jsx(
1852
- "h2",
1853
- {
1854
- className: `text-2xl md:text-4xl font-bold tracking-[-0.03em] leading-[1.1] ${isFilled ? "text-[var(--bg)]" : "text-[var(--fg)]"}`,
1855
- children: title
1856
- }
1857
- ),
1858
- description && /* @__PURE__ */ jsx(
1859
- "p",
1860
- {
1861
- className: `mt-4 text-base leading-relaxed ${isFilled ? "text-[var(--bg)]/70" : "text-[var(--fg-secondary)]"}`,
1862
- children: description
1863
- }
1864
- ),
1865
- actions && /* @__PURE__ */ jsx("div", { className: "mt-8 flex flex-wrap gap-3 justify-center", children: actions })
2322
+ return /* @__PURE__ */ jsx("section", { className: `${CTASection_module_default.root} ${CTASection_module_default[variant]}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxs("div", { className: CTASection_module_default.inner, children: [
2323
+ /* @__PURE__ */ jsx("h2", { className: `${CTASection_module_default.title}${isFilled ? ` ${CTASection_module_default.titleFilled}` : ""}`, children: title }),
2324
+ description && /* @__PURE__ */ jsx("p", { className: `${CTASection_module_default.description}${isFilled ? ` ${CTASection_module_default.descriptionFilled}` : ""}`, children: description }),
2325
+ actions && /* @__PURE__ */ jsx("div", { className: CTASection_module_default.actions, children: actions })
1866
2326
  ] }) });
1867
2327
  }
2328
+
2329
+ // src/organisms/BentoGrid.module.scss
2330
+ var BentoGrid_module_default = {
2331
+ root: "BentoGrid_module_root",
2332
+ grid: "BentoGrid_module_grid",
2333
+ item: "BentoGrid_module_item",
2334
+ colSpan2: "BentoGrid_module_colSpan2",
2335
+ rowSpan2: "BentoGrid_module_rowSpan2",
2336
+ mediaWrap: "BentoGrid_module_mediaWrap",
2337
+ content: "BentoGrid_module_content",
2338
+ contentTall: "BentoGrid_module_contentTall",
2339
+ itemIcon: "BentoGrid_module_itemIcon",
2340
+ itemTitle: "BentoGrid_module_itemTitle",
2341
+ itemDescription: "BentoGrid_module_itemDescription"
2342
+ };
1868
2343
  function BentoGrid({ items, className = "" }) {
1869
- return /* @__PURE__ */ jsx("section", { className: `py-10 md:py-14 ${className}`, children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4", children: items.map((item, i) => {
1870
- const colSpanClass = item.span === 2 ? "md:col-span-2" : "";
1871
- const rowSpanClass = item.rowSpan === 2 ? "md:row-span-2" : "";
2344
+ return /* @__PURE__ */ jsx("section", { className: `${BentoGrid_module_default.root}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsx("div", { className: BentoGrid_module_default.grid, children: items.map((item, i) => {
2345
+ const spanClass = item.span === 2 ? ` ${BentoGrid_module_default.colSpan2}` : "";
2346
+ const rowClass = item.rowSpan === 2 ? ` ${BentoGrid_module_default.rowSpan2}` : "";
1872
2347
  return /* @__PURE__ */ jsxs(
1873
2348
  "div",
1874
2349
  {
1875
- className: `group relative rounded-[var(--radius-xl)] border border-[var(--border-color)] bg-[var(--bg)] overflow-hidden transition-all duration-[var(--transition-base)] hover:shadow-[var(--shadow-md)] hover:border-[var(--border-color-strong)] ${colSpanClass} ${rowSpanClass} ${item.className || ""}`,
2350
+ className: `${BentoGrid_module_default.item}${spanClass}${rowClass}${item.className ? ` ${item.className}` : ""}`,
1876
2351
  children: [
1877
- item.media && /* @__PURE__ */ jsx("div", { className: "w-full overflow-hidden", children: item.media }),
1878
- /* @__PURE__ */ jsxs("div", { className: `p-5 md:p-6 ${item.rowSpan === 2 ? "flex flex-col h-full" : ""}`, children: [
1879
- item.icon && /* @__PURE__ */ jsx("div", { className: "w-9 h-9 rounded-[var(--radius-md)] bg-[var(--brand-primary)]/10 flex items-center justify-center text-[var(--brand-primary)] mb-3.5", children: item.icon }),
1880
- /* @__PURE__ */ jsx("h3", { className: "text-[15px] font-semibold text-[var(--fg)] tracking-[-0.01em]", children: item.title }),
1881
- item.description && /* @__PURE__ */ jsx("p", { className: "mt-1.5 text-[13px] text-[var(--fg-muted)] leading-relaxed tracking-[-0.25px]", children: item.description })
2352
+ item.media && /* @__PURE__ */ jsx("div", { className: BentoGrid_module_default.mediaWrap, children: item.media }),
2353
+ /* @__PURE__ */ jsxs("div", { className: `${BentoGrid_module_default.content}${item.rowSpan === 2 ? ` ${BentoGrid_module_default.contentTall}` : ""}`, children: [
2354
+ item.icon && /* @__PURE__ */ jsx("div", { className: BentoGrid_module_default.itemIcon, children: item.icon }),
2355
+ /* @__PURE__ */ jsx("h3", { className: BentoGrid_module_default.itemTitle, children: item.title }),
2356
+ item.description && /* @__PURE__ */ jsx("p", { className: BentoGrid_module_default.itemDescription, children: item.description })
1882
2357
  ] })
1883
2358
  ]
1884
2359
  },
@@ -1886,6 +2361,23 @@ function BentoGrid({ items, className = "" }) {
1886
2361
  );
1887
2362
  }) }) });
1888
2363
  }
2364
+
2365
+ // src/organisms/FAQSection.module.scss
2366
+ var FAQSection_module_default = {
2367
+ root: "FAQSection_module_root",
2368
+ container: "FAQSection_module_container",
2369
+ title: "FAQSection_module_title",
2370
+ subtitle: "FAQSection_module_subtitle",
2371
+ list: "FAQSection_module_list",
2372
+ item: "FAQSection_module_item",
2373
+ question: "FAQSection_module_question",
2374
+ questionText: "FAQSection_module_questionText",
2375
+ toggleIcon: "FAQSection_module_toggleIcon",
2376
+ toggleIconOpen: "FAQSection_module_toggleIcon FAQSection_module_toggleIconOpen",
2377
+ answerOpen: "FAQSection_module_answer FAQSection_module_answerOpen",
2378
+ answerClosed: "FAQSection_module_answer FAQSection_module_answerClosed",
2379
+ answerText: "FAQSection_module_answerText"
2380
+ };
1889
2381
  function FAQSection({
1890
2382
  title = "Frequently asked questions",
1891
2383
  subtitle,
@@ -1894,64 +2386,72 @@ function FAQSection({
1894
2386
  }) {
1895
2387
  const [openIndex, setOpenIndex] = useState(null);
1896
2388
  const toggle = (i) => setOpenIndex(openIndex === i ? null : i);
1897
- return /* @__PURE__ */ jsx("section", { className: `py-14 md:py-20 ${className}`, children: /* @__PURE__ */ jsxs("div", { className: "max-w-2xl mx-auto", children: [
1898
- title && /* @__PURE__ */ jsx("h2", { className: "text-2xl md:text-3xl font-bold text-[var(--fg)] tracking-[-0.03em] text-center", children: title }),
1899
- subtitle && /* @__PURE__ */ jsx("p", { className: "mt-3 text-base text-[var(--fg-secondary)] text-center", children: subtitle }),
1900
- /* @__PURE__ */ jsx("div", { className: `${title || subtitle ? "mt-10" : ""} divide-y divide-[var(--border-color)]`, children: items.map((item, i) => {
2389
+ return /* @__PURE__ */ jsx("section", { className: `${FAQSection_module_default.root}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxs("div", { className: FAQSection_module_default.container, children: [
2390
+ title && /* @__PURE__ */ jsx("h2", { className: FAQSection_module_default.title, children: title }),
2391
+ subtitle && /* @__PURE__ */ jsx("p", { className: FAQSection_module_default.subtitle, children: subtitle }),
2392
+ /* @__PURE__ */ jsx("div", { className: title || subtitle ? FAQSection_module_default.list : "", children: items.map((item, i) => {
1901
2393
  const isOpen = openIndex === i;
1902
- return /* @__PURE__ */ jsxs("div", { className: "py-5", children: [
2394
+ return /* @__PURE__ */ jsxs("div", { className: FAQSection_module_default.item, children: [
1903
2395
  /* @__PURE__ */ jsxs(
1904
2396
  "button",
1905
2397
  {
1906
2398
  onClick: () => toggle(i),
1907
- className: "w-full flex items-center justify-between gap-4 text-left cursor-pointer group",
2399
+ className: FAQSection_module_default.question,
1908
2400
  "aria-expanded": isOpen,
1909
2401
  children: [
1910
- /* @__PURE__ */ jsx("span", { className: "text-[15px] font-medium text-[var(--fg)] group-hover:text-[var(--brand-primary)] transition-colors", children: item.question }),
1911
- /* @__PURE__ */ jsx(
1912
- "span",
1913
- {
1914
- className: `shrink-0 w-5 h-5 flex items-center justify-center text-[var(--fg-muted)] transition-transform duration-200 ${isOpen ? "rotate-45" : ""}`,
1915
- children: /* @__PURE__ */ jsx("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", children: /* @__PURE__ */ jsx("path", { d: "M7 1v12M1 7h12", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) })
1916
- }
1917
- )
2402
+ /* @__PURE__ */ jsx("span", { className: FAQSection_module_default.questionText, children: item.question }),
2403
+ /* @__PURE__ */ jsx("span", { className: isOpen ? FAQSection_module_default.toggleIconOpen : FAQSection_module_default.toggleIcon, children: /* @__PURE__ */ jsx("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", children: /* @__PURE__ */ jsx("path", { d: "M7 1v12M1 7h12", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) })
1918
2404
  ]
1919
2405
  }
1920
2406
  ),
1921
- /* @__PURE__ */ jsx(
1922
- "div",
1923
- {
1924
- className: `overflow-hidden transition-all duration-200 ease-out ${isOpen ? "max-h-96 opacity-100 mt-3" : "max-h-0 opacity-0"}`,
1925
- children: /* @__PURE__ */ jsx("p", { className: "text-[14px] text-[var(--fg-secondary)] leading-relaxed pr-8", children: item.answer })
1926
- }
1927
- )
2407
+ /* @__PURE__ */ jsx("div", { className: isOpen ? FAQSection_module_default.answerOpen : FAQSection_module_default.answerClosed, children: /* @__PURE__ */ jsx("p", { className: FAQSection_module_default.answerText, children: item.answer }) })
1928
2408
  ] }, i);
1929
2409
  }) })
1930
2410
  ] }) });
1931
2411
  }
2412
+
2413
+ // src/organisms/ComparisonTable.module.scss
2414
+ var ComparisonTable_module_default = {
2415
+ root: "ComparisonTable_module_root",
2416
+ scrollWrap: "ComparisonTable_module_scrollWrap",
2417
+ table: "ComparisonTable_module_table",
2418
+ headerCell: "ComparisonTable_module_headerCell",
2419
+ columnHeader: "ComparisonTable_module_columnHeader",
2420
+ columnHeaderHighlighted: "ComparisonTable_module_columnHeader ComparisonTable_module_columnHeaderHighlighted",
2421
+ bodyRow: "ComparisonTable_module_bodyRow",
2422
+ featureCell: "ComparisonTable_module_featureCell",
2423
+ valueCell: "ComparisonTable_module_valueCell",
2424
+ valueCellHighlighted: "ComparisonTable_module_valueCell ComparisonTable_module_valueCellHighlighted",
2425
+ valueCellHighlightedLast: "ComparisonTable_module_valueCell ComparisonTable_module_valueCellHighlighted ComparisonTable_module_valueCellHighlightedLast",
2426
+ iconSuccess: "ComparisonTable_module_iconSuccess",
2427
+ iconMuted: "ComparisonTable_module_iconMuted",
2428
+ textValue: "ComparisonTable_module_textValue"
2429
+ };
1932
2430
  function ComparisonTable({ columns, rows, className = "" }) {
1933
- return /* @__PURE__ */ jsx("section", { className: `py-10 md:py-14 ${className}`, children: /* @__PURE__ */ jsx("div", { className: "overflow-x-auto -mx-4 px-4", children: /* @__PURE__ */ jsxs("table", { className: "w-full border-collapse min-w-[500px]", children: [
2431
+ return /* @__PURE__ */ jsx("section", { className: `${ComparisonTable_module_default.root}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsx("div", { className: ComparisonTable_module_default.scrollWrap, children: /* @__PURE__ */ jsxs("table", { className: ComparisonTable_module_default.table, children: [
1934
2432
  /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
1935
- /* @__PURE__ */ jsx("th", { className: "text-left py-4 px-4 text-[13px] font-medium text-[var(--fg-muted)] tracking-[-0.25px] w-[40%]" }),
2433
+ /* @__PURE__ */ jsx("th", { className: ComparisonTable_module_default.headerCell }),
1936
2434
  columns.map((col, i) => /* @__PURE__ */ jsx(
1937
2435
  "th",
1938
2436
  {
1939
- className: `py-4 px-4 text-center text-sm font-semibold ${col.highlighted ? "text-[var(--brand-primary)] bg-[var(--brand-primary)]/5 rounded-t-[var(--radius-lg)]" : "text-[var(--fg)]"}`,
2437
+ className: col.highlighted ? ComparisonTable_module_default.columnHeaderHighlighted : ComparisonTable_module_default.columnHeader,
1940
2438
  children: col.label
1941
2439
  },
1942
2440
  i
1943
2441
  ))
1944
2442
  ] }) }),
1945
- /* @__PURE__ */ jsx("tbody", { children: rows.map((row, ri) => /* @__PURE__ */ jsxs("tr", { className: "border-t border-[var(--border-color)]", children: [
1946
- /* @__PURE__ */ jsx("td", { className: "py-3.5 px-4 text-[14px] text-[var(--fg-secondary)]", children: row.feature }),
2443
+ /* @__PURE__ */ jsx("tbody", { children: rows.map((row, ri) => /* @__PURE__ */ jsxs("tr", { className: ComparisonTable_module_default.bodyRow, children: [
2444
+ /* @__PURE__ */ jsx("td", { className: ComparisonTable_module_default.featureCell, children: row.feature }),
1947
2445
  row.values.map((val, vi) => {
1948
2446
  var _a;
1949
2447
  const isHighlighted = (_a = columns[vi]) == null ? void 0 : _a.highlighted;
2448
+ const isLast = ri === rows.length - 1;
2449
+ const cellClass = isHighlighted ? isLast ? ComparisonTable_module_default.valueCellHighlightedLast : ComparisonTable_module_default.valueCellHighlighted : ComparisonTable_module_default.valueCell;
1950
2450
  return /* @__PURE__ */ jsx(
1951
2451
  "td",
1952
2452
  {
1953
- className: `py-3.5 px-4 text-center ${isHighlighted ? "bg-[var(--brand-primary)]/5" : ""} ${ri === rows.length - 1 && isHighlighted ? "rounded-b-[var(--radius-lg)]" : ""}`,
1954
- children: typeof val === "boolean" ? val ? /* @__PURE__ */ jsx("span", { className: "inline-flex text-[var(--color-success)]", children: /* @__PURE__ */ jsx(IconlyCheck, { size: 18 }) }) : /* @__PURE__ */ jsx("span", { className: "inline-flex text-[var(--fg-muted)]/40", children: /* @__PURE__ */ jsx(IconlyClose, { size: 18 }) }) : /* @__PURE__ */ jsx("span", { className: "text-[13px] font-medium text-[var(--fg)]", children: val })
2453
+ className: cellClass,
2454
+ children: typeof val === "boolean" ? val ? /* @__PURE__ */ jsx("span", { className: ComparisonTable_module_default.iconSuccess, children: /* @__PURE__ */ jsx(IconlyCheck, { size: 18 }) }) : /* @__PURE__ */ jsx("span", { className: ComparisonTable_module_default.iconMuted, children: /* @__PURE__ */ jsx(IconlyClose, { size: 18 }) }) : /* @__PURE__ */ jsx("span", { className: ComparisonTable_module_default.textValue, children: val })
1955
2455
  },
1956
2456
  vi
1957
2457
  );
@@ -1959,79 +2459,121 @@ function ComparisonTable({ columns, rows, className = "" }) {
1959
2459
  ] }, ri)) })
1960
2460
  ] }) }) });
1961
2461
  }
2462
+
2463
+ // src/organisms/PromoBento.module.scss
2464
+ var PromoBento_module_default = {
2465
+ root: "PromoBento_module_root",
2466
+ header: "PromoBento_module_header",
2467
+ heading: "PromoBento_module_heading",
2468
+ subtitle: "PromoBento_module_subtitle",
2469
+ grid: "PromoBento_module_grid",
2470
+ card: "PromoBento_module_card",
2471
+ cardMedia: "PromoBento_module_cardMedia",
2472
+ cardMediaInner: "PromoBento_module_cardMediaInner",
2473
+ cardFade: "PromoBento_module_cardFade",
2474
+ cardContent: "PromoBento_module_cardContent",
2475
+ pill: "PromoBento_module_pill",
2476
+ pillInner: "PromoBento_module_pillInner",
2477
+ pillIcon: "PromoBento_module_pillIcon",
2478
+ cardTitle: "PromoBento_module_cardTitle",
2479
+ cardDesc: "PromoBento_module_cardDesc",
2480
+ cardCta: "PromoBento_module_cardCta"
2481
+ };
1962
2482
  function PromoBentoCard({ pill, title, description, cta, media, className = "" }) {
1963
- return /* @__PURE__ */ jsxs(
1964
- "div",
1965
- {
1966
- className: `relative flex flex-col rounded-[clamp(24px,3vw,48px)] bg-[var(--bg-secondary)] overflow-hidden group transition-shadow duration-[var(--transition-slow)] hover:shadow-[var(--shadow-lg)] ${className}`,
1967
- children: [
1968
- media && /* @__PURE__ */ jsxs("div", { className: "relative flex-1 min-h-[240px] md:min-h-[320px] overflow-hidden", children: [
1969
- /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center p-6", children: media }),
1970
- /* @__PURE__ */ jsx(
1971
- "div",
1972
- {
1973
- className: "absolute bottom-0 left-0 right-0 h-[140px] pointer-events-none",
1974
- style: {
1975
- background: "linear-gradient(to top, var(--bg-secondary) 0%, transparent 100%)"
1976
- }
1977
- }
1978
- )
1979
- ] }),
1980
- /* @__PURE__ */ jsxs("div", { className: "relative flex flex-col gap-4 p-6 md:p-8 pt-0", children: [
1981
- pill && /* @__PURE__ */ jsx("div", { className: "flex", children: /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-2 px-4 py-2 rounded-full bg-[var(--bg)] border border-[var(--border-color)] text-sm font-semibold text-[var(--fg)]", children: [
1982
- pill.icon && /* @__PURE__ */ jsx("span", { className: "w-5 h-5 flex items-center justify-center", children: pill.icon }),
1983
- pill.label
1984
- ] }) }),
1985
- /* @__PURE__ */ jsx("h3", { className: "text-xl md:text-[28px] leading-[1.2] tracking-[-0.02em] text-[var(--fg)]", children: title }),
1986
- description && /* @__PURE__ */ jsx("p", { className: "text-sm md:text-base leading-relaxed text-[var(--fg-secondary)] max-w-[85%]", children: description }),
1987
- cta && /* @__PURE__ */ jsx("div", { className: "mt-1", children: /* @__PURE__ */ jsx(
1988
- Button,
1989
- {
1990
- variant: "outline",
1991
- onClick: cta.onClick,
1992
- icon: /* @__PURE__ */ jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "M6 3l5 5-5 5" }) }),
1993
- children: cta.label
1994
- }
1995
- ) })
1996
- ] })
1997
- ]
1998
- }
1999
- );
2483
+ return /* @__PURE__ */ jsxs("div", { className: `${PromoBento_module_default.card}${className ? ` ${className}` : ""}`, children: [
2484
+ media && /* @__PURE__ */ jsxs("div", { className: PromoBento_module_default.cardMedia, children: [
2485
+ /* @__PURE__ */ jsx("div", { className: PromoBento_module_default.cardMediaInner, children: media }),
2486
+ /* @__PURE__ */ jsx("div", { className: PromoBento_module_default.cardFade })
2487
+ ] }),
2488
+ /* @__PURE__ */ jsxs("div", { className: PromoBento_module_default.cardContent, children: [
2489
+ pill && /* @__PURE__ */ jsx("div", { className: PromoBento_module_default.pill, children: /* @__PURE__ */ jsxs("span", { className: PromoBento_module_default.pillInner, children: [
2490
+ pill.icon && /* @__PURE__ */ jsx("span", { className: PromoBento_module_default.pillIcon, children: pill.icon }),
2491
+ pill.label
2492
+ ] }) }),
2493
+ /* @__PURE__ */ jsx("h3", { className: PromoBento_module_default.cardTitle, children: title }),
2494
+ description && /* @__PURE__ */ jsx("p", { className: PromoBento_module_default.cardDesc, children: description }),
2495
+ cta && /* @__PURE__ */ jsx("div", { className: PromoBento_module_default.cardCta, children: /* @__PURE__ */ jsx(
2496
+ Button,
2497
+ {
2498
+ variant: "outline",
2499
+ onClick: cta.onClick,
2500
+ icon: /* @__PURE__ */ jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "M6 3l5 5-5 5" }) }),
2501
+ children: cta.label
2502
+ }
2503
+ ) })
2504
+ ] })
2505
+ ] });
2000
2506
  }
2001
2507
  function PromoBento({ heading, subtitle, items, className = "" }) {
2002
- return /* @__PURE__ */ jsxs("section", { className: `py-16 md:py-24 ${className}`, children: [
2003
- /* @__PURE__ */ jsxs("div", { className: "mb-10 md:mb-14 max-w-xl", children: [
2004
- /* @__PURE__ */ jsx("h2", { className: "text-[clamp(1.75rem,4vw,2.75rem)] font-bold leading-[1.1] tracking-[-0.03em] text-[var(--fg)] text-balance", children: heading }),
2005
- subtitle && /* @__PURE__ */ jsx("p", { className: "mt-3 text-base text-[var(--fg-secondary)] leading-relaxed", children: subtitle })
2508
+ return /* @__PURE__ */ jsxs("section", { className: `${PromoBento_module_default.root}${className ? ` ${className}` : ""}`, children: [
2509
+ /* @__PURE__ */ jsxs("div", { className: PromoBento_module_default.header, children: [
2510
+ /* @__PURE__ */ jsx("h2", { className: PromoBento_module_default.heading, children: heading }),
2511
+ subtitle && /* @__PURE__ */ jsx("p", { className: PromoBento_module_default.subtitle, children: subtitle })
2006
2512
  ] }),
2007
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6 md:gap-9", children: items.map((item, i) => /* @__PURE__ */ jsx(PromoBentoCard, __spreadValues({}, item), i)) })
2513
+ /* @__PURE__ */ jsx("div", { className: PromoBento_module_default.grid, children: items.map((item, i) => /* @__PURE__ */ jsx(PromoBentoCard, __spreadValues({}, item), i)) })
2008
2514
  ] });
2009
2515
  }
2516
+
2517
+ // src/organisms/PromoShowcase.module.scss
2518
+ var PromoShowcase_module_default = {
2519
+ root: "PromoShowcase_module_root",
2520
+ heading: "PromoShowcase_module_heading",
2521
+ headingText: "PromoShowcase_module_headingText",
2522
+ body: "PromoShowcase_module_body",
2523
+ stepper: "PromoShowcase_module_stepper",
2524
+ stepButton: "PromoShowcase_module_stepButton",
2525
+ stepButtonActive: "PromoShowcase_module_stepButtonActive",
2526
+ contentArea: "PromoShowcase_module_contentArea",
2527
+ panel: "PromoShowcase_module_panel",
2528
+ panelActive: "PromoShowcase_module_panelActive",
2529
+ panelInner: "PromoShowcase_module_panelInner"
2530
+ };
2010
2531
  function PromoShowcase({ heading, steps, className = "" }) {
2011
2532
  const [activeIndex, setActiveIndex] = useState(0);
2012
- return /* @__PURE__ */ jsxs("section", { className: `py-16 md:py-24 ${className}`, children: [
2013
- /* @__PURE__ */ jsx("div", { className: "mb-10 md:mb-14 max-w-xl", children: /* @__PURE__ */ jsx("h2", { className: "text-[clamp(1.75rem,4vw,2.75rem)] font-bold leading-[1.1] tracking-[-0.03em] text-[var(--fg)] text-balance", children: heading }) }),
2014
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6 md:gap-8", children: [
2015
- /* @__PURE__ */ jsx("div", { className: "flex gap-1 p-1 rounded-full bg-[var(--bg-secondary)] border border-[var(--border-color)] w-fit", children: steps.map((step, i) => /* @__PURE__ */ jsx(
2533
+ return /* @__PURE__ */ jsxs("section", { className: `${PromoShowcase_module_default.root}${className ? ` ${className}` : ""}`, children: [
2534
+ /* @__PURE__ */ jsx("div", { className: PromoShowcase_module_default.heading, children: /* @__PURE__ */ jsx("h2", { className: PromoShowcase_module_default.headingText, children: heading }) }),
2535
+ /* @__PURE__ */ jsxs("div", { className: PromoShowcase_module_default.body, children: [
2536
+ /* @__PURE__ */ jsx("div", { className: PromoShowcase_module_default.stepper, children: steps.map((step, i) => /* @__PURE__ */ jsx(
2016
2537
  "button",
2017
2538
  {
2018
2539
  onClick: () => setActiveIndex(i),
2019
- className: `px-5 py-2.5 rounded-full text-sm font-medium transition-all duration-[var(--transition-base)] cursor-pointer ${i === activeIndex ? "bg-[var(--fg)] text-[var(--bg)] shadow-[var(--shadow-sm)]" : "text-[var(--fg-secondary)] hover:text-[var(--fg)] hover:bg-[var(--bg-tertiary)]"}`,
2540
+ className: `${PromoShowcase_module_default.stepButton}${i === activeIndex ? ` ${PromoShowcase_module_default.stepButtonActive}` : ""}`,
2020
2541
  children: step.label
2021
2542
  },
2022
2543
  i
2023
2544
  )) }),
2024
- /* @__PURE__ */ jsx("div", { className: "relative rounded-[clamp(16px,2vw,32px)] border border-[var(--border-color)] bg-[var(--bg-secondary)] overflow-hidden min-h-[300px] md:min-h-[480px]", children: steps.map((step, i) => /* @__PURE__ */ jsx(
2545
+ /* @__PURE__ */ jsx("div", { className: PromoShowcase_module_default.contentArea, children: steps.map((step, i) => /* @__PURE__ */ jsx(
2025
2546
  "div",
2026
2547
  {
2027
- className: `absolute inset-0 transition-opacity duration-300 ease-out ${i === activeIndex ? "opacity-100 z-10" : "opacity-0 z-0 pointer-events-none"}`,
2028
- children: /* @__PURE__ */ jsx("div", { className: "w-full h-full flex items-center justify-center p-6 md:p-10", children: step.content })
2548
+ className: `${PromoShowcase_module_default.panel}${i === activeIndex ? ` ${PromoShowcase_module_default.panelActive}` : ""}`,
2549
+ children: /* @__PURE__ */ jsx("div", { className: PromoShowcase_module_default.panelInner, children: step.content })
2029
2550
  },
2030
2551
  i
2031
2552
  )) })
2032
2553
  ] })
2033
2554
  ] });
2034
2555
  }
2556
+
2557
+ // src/organisms/PromoSplit.module.scss
2558
+ var PromoSplit_module_default = {
2559
+ root: "PromoSplit_module_root",
2560
+ grid: "PromoSplit_module_grid",
2561
+ gridReversed: "PromoSplit_module_grid PromoSplit_module_gridReversed",
2562
+ textColumn: "PromoSplit_module_textColumn",
2563
+ textColumnLtr: "PromoSplit_module_textColumnLtr",
2564
+ heading: "PromoSplit_module_heading",
2565
+ description: "PromoSplit_module_description",
2566
+ features: "PromoSplit_module_features",
2567
+ feature: "PromoSplit_module_feature",
2568
+ featureTitle: "PromoSplit_module_featureTitle",
2569
+ featureDesc: "PromoSplit_module_featureDesc",
2570
+ mediaColumn: "PromoSplit_module_mediaColumn",
2571
+ mediaColumnLtr: "PromoSplit_module_mediaColumnLtr",
2572
+ mediaBox: "PromoSplit_module_mediaBox",
2573
+ mediaContent: "PromoSplit_module_mediaContent",
2574
+ mediaPlaceholder: "PromoSplit_module_mediaPlaceholder",
2575
+ placeholderCircle: "PromoSplit_module_placeholderCircle"
2576
+ };
2035
2577
  function PromoSplit({
2036
2578
  heading,
2037
2579
  description,
@@ -2041,66 +2583,118 @@ function PromoSplit({
2041
2583
  className = ""
2042
2584
  }) {
2043
2585
  const isLeft = mediaPosition === "left";
2044
- return /* @__PURE__ */ jsx("section", { className: `py-16 md:py-24 ${className}`, children: /* @__PURE__ */ jsxs("div", { className: `grid grid-cols-1 lg:grid-cols-2 gap-10 md:gap-16 items-center ${isLeft ? "lg:[direction:rtl]" : ""}`, children: [
2045
- /* @__PURE__ */ jsxs("div", { className: `flex flex-col gap-6 ${isLeft ? "lg:[direction:ltr]" : ""}`, children: [
2046
- /* @__PURE__ */ jsx("h2", { className: "text-[clamp(1.75rem,4vw,2.75rem)] font-bold leading-[1.1] tracking-[-0.03em] text-[var(--fg)] text-balance", children: heading }),
2047
- description && /* @__PURE__ */ jsx("p", { className: "text-base md:text-lg leading-relaxed text-[var(--fg-secondary)]", children: description }),
2048
- features && features.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-5 mt-2", children: features.map((feature, i) => /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
2049
- /* @__PURE__ */ jsx("h3", { className: "text-base font-semibold text-[var(--fg)]", children: feature.title }),
2050
- /* @__PURE__ */ jsx("p", { className: "text-sm text-[var(--fg-secondary)] leading-relaxed", children: feature.description })
2586
+ return /* @__PURE__ */ jsx("section", { className: `${PromoSplit_module_default.root}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxs("div", { className: isLeft ? PromoSplit_module_default.gridReversed : PromoSplit_module_default.grid, children: [
2587
+ /* @__PURE__ */ jsxs("div", { className: `${PromoSplit_module_default.textColumn}${isLeft ? ` ${PromoSplit_module_default.textColumnLtr}` : ""}`, children: [
2588
+ /* @__PURE__ */ jsx("h2", { className: PromoSplit_module_default.heading, children: heading }),
2589
+ description && /* @__PURE__ */ jsx("p", { className: PromoSplit_module_default.description, children: description }),
2590
+ features && features.length > 0 && /* @__PURE__ */ jsx("div", { className: PromoSplit_module_default.features, children: features.map((feature, i) => /* @__PURE__ */ jsxs("div", { className: PromoSplit_module_default.feature, children: [
2591
+ /* @__PURE__ */ jsx("h3", { className: PromoSplit_module_default.featureTitle, children: feature.title }),
2592
+ /* @__PURE__ */ jsx("p", { className: PromoSplit_module_default.featureDesc, children: feature.description })
2051
2593
  ] }, i)) })
2052
2594
  ] }),
2053
- /* @__PURE__ */ jsx("div", { className: `relative ${isLeft ? "lg:[direction:ltr]" : ""}`, children: /* @__PURE__ */ jsx("div", { className: "relative rounded-[clamp(16px,2vw,32px)] bg-[var(--bg-secondary)] border border-[var(--border-color)] overflow-hidden min-h-[280px] md:min-h-[380px]", children: media ? /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center p-6", children: media }) : /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "w-20 h-20 rounded-full bg-[var(--bg-tertiary)] flex items-center justify-center", children: /* @__PURE__ */ jsxs("svg", { width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", stroke: "var(--fg-muted)", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
2595
+ /* @__PURE__ */ jsx("div", { className: `${PromoSplit_module_default.mediaColumn}${isLeft ? ` ${PromoSplit_module_default.mediaColumnLtr}` : ""}`, children: /* @__PURE__ */ jsx("div", { className: PromoSplit_module_default.mediaBox, children: media ? /* @__PURE__ */ jsx("div", { className: PromoSplit_module_default.mediaContent, children: media }) : /* @__PURE__ */ jsx("div", { className: PromoSplit_module_default.mediaPlaceholder, children: /* @__PURE__ */ jsx("div", { className: PromoSplit_module_default.placeholderCircle, children: /* @__PURE__ */ jsxs("svg", { width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", stroke: "var(--fg-muted)", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
2054
2596
  /* @__PURE__ */ jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2" }),
2055
2597
  /* @__PURE__ */ jsx("circle", { cx: "8.5", cy: "8.5", r: "1.5" }),
2056
2598
  /* @__PURE__ */ jsx("path", { d: "m21 15-5-5L5 21" })
2057
2599
  ] }) }) }) }) })
2058
2600
  ] }) });
2059
2601
  }
2602
+
2603
+ // src/organisms/PromoTrustGrid.module.scss
2604
+ var PromoTrustGrid_module_default = {
2605
+ root: "PromoTrustGrid_module_root",
2606
+ heading: "PromoTrustGrid_module_heading",
2607
+ headingText: "PromoTrustGrid_module_headingText",
2608
+ grid: "PromoTrustGrid_module_grid",
2609
+ featureCard: "PromoTrustGrid_module_featureCard",
2610
+ featureIcon: "PromoTrustGrid_module_featureIcon",
2611
+ featureTitle: "PromoTrustGrid_module_featureTitle",
2612
+ featureDescription: "PromoTrustGrid_module_featureDescription",
2613
+ media: "PromoTrustGrid_module_media",
2614
+ mediaInner: "PromoTrustGrid_module_mediaInner"
2615
+ };
2060
2616
  function PromoTrustGrid({ heading, features, media, className = "" }) {
2061
- return /* @__PURE__ */ jsxs("section", { className: `py-16 md:py-24 ${className}`, children: [
2062
- /* @__PURE__ */ jsx("div", { className: "mb-10 md:mb-14", children: /* @__PURE__ */ jsx("h2", { className: "text-[clamp(1.75rem,4vw,2.75rem)] font-bold leading-[1.1] tracking-[-0.03em] text-[var(--fg)] text-balance", children: heading }) }),
2063
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-6 mb-10 md:mb-14", children: features.map((feature, i) => /* @__PURE__ */ jsxs(
2064
- "div",
2065
- {
2066
- className: "group relative flex flex-col gap-3 p-6 md:p-8 rounded-[var(--radius-xl)] bg-[var(--bg)] border border-[var(--border-color)] transition-all duration-[var(--transition-base)] hover:shadow-[var(--shadow-md)] hover:-translate-y-0.5",
2067
- children: [
2068
- feature.icon && /* @__PURE__ */ jsx("div", { className: "w-10 h-10 rounded-[var(--radius-lg)] bg-[var(--fg)]/5 flex items-center justify-center text-[var(--fg)] mb-1", children: feature.icon }),
2069
- /* @__PURE__ */ jsx("h3", { className: "text-base font-semibold text-[var(--fg)] leading-snug", children: feature.title }),
2070
- /* @__PURE__ */ jsx("p", { className: "text-sm text-[var(--fg-secondary)] leading-relaxed", children: feature.description })
2071
- ]
2072
- },
2073
- i
2074
- )) }),
2075
- media && /* @__PURE__ */ jsx("div", { className: "relative rounded-[clamp(16px,2vw,32px)] bg-[var(--bg-secondary)] border border-[var(--border-color)] overflow-hidden min-h-[280px] md:min-h-[420px]", children: /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center p-6", children: media }) })
2617
+ return /* @__PURE__ */ jsxs("section", { className: `${PromoTrustGrid_module_default.root}${className ? ` ${className}` : ""}`, children: [
2618
+ /* @__PURE__ */ jsx("div", { className: PromoTrustGrid_module_default.heading, children: /* @__PURE__ */ jsx("h2", { className: PromoTrustGrid_module_default.headingText, children: heading }) }),
2619
+ /* @__PURE__ */ jsx("div", { className: PromoTrustGrid_module_default.grid, children: features.map((feature, i) => /* @__PURE__ */ jsxs("div", { className: PromoTrustGrid_module_default.featureCard, children: [
2620
+ feature.icon && /* @__PURE__ */ jsx("div", { className: PromoTrustGrid_module_default.featureIcon, children: feature.icon }),
2621
+ /* @__PURE__ */ jsx("h3", { className: PromoTrustGrid_module_default.featureTitle, children: feature.title }),
2622
+ /* @__PURE__ */ jsx("p", { className: PromoTrustGrid_module_default.featureDescription, children: feature.description })
2623
+ ] }, i)) }),
2624
+ media && /* @__PURE__ */ jsx("div", { className: PromoTrustGrid_module_default.media, children: /* @__PURE__ */ jsx("div", { className: PromoTrustGrid_module_default.mediaInner, children: media }) })
2076
2625
  ] });
2077
2626
  }
2627
+
2628
+ // src/organisms/PromoDevicesCTA.module.scss
2629
+ var PromoDevicesCTA_module_default = {
2630
+ root: "PromoDevicesCTA_module_root",
2631
+ textBlock: "PromoDevicesCTA_module_textBlock",
2632
+ heading: "PromoDevicesCTA_module_heading",
2633
+ description: "PromoDevicesCTA_module_description",
2634
+ ctaWrap: "PromoDevicesCTA_module_ctaWrap",
2635
+ devices: "PromoDevicesCTA_module_devices",
2636
+ laptop: "PromoDevicesCTA_module_laptop",
2637
+ laptopScreen: "PromoDevicesCTA_module_laptopScreen",
2638
+ laptopScreenInner: "PromoDevicesCTA_module_laptopScreenInner",
2639
+ laptopHinge: "PromoDevicesCTA_module_laptopHinge",
2640
+ laptopBase: "PromoDevicesCTA_module_laptopBase",
2641
+ tablet: "PromoDevicesCTA_module_tablet",
2642
+ tabletShell: "PromoDevicesCTA_module_tabletShell",
2643
+ tabletScreen: "PromoDevicesCTA_module_tabletScreen",
2644
+ phone: "PromoDevicesCTA_module_phone",
2645
+ phoneShell: "PromoDevicesCTA_module_phoneShell",
2646
+ phoneNotch: "PromoDevicesCTA_module_phoneNotch",
2647
+ phoneScreen: "PromoDevicesCTA_module_phoneScreen"
2648
+ };
2078
2649
  function PromoDevicesCTA({
2079
2650
  heading,
2080
2651
  description,
2081
2652
  cta,
2082
2653
  className = ""
2083
2654
  }) {
2084
- return /* @__PURE__ */ jsxs("section", { className: `py-16 md:py-24 ${className}`, children: [
2085
- /* @__PURE__ */ jsxs("div", { className: "max-w-2xl mx-auto text-center mb-8 md:mb-10", children: [
2086
- /* @__PURE__ */ jsx("h2", { className: "text-[clamp(1.75rem,4vw,2.75rem)] font-bold leading-[1.1] tracking-[-0.03em] text-[var(--fg)] text-balance", children: heading }),
2087
- description && /* @__PURE__ */ jsx("p", { className: "mt-4 text-base md:text-lg leading-relaxed text-[var(--fg-secondary)]", children: description }),
2088
- cta && /* @__PURE__ */ jsx("div", { className: "mt-6 flex justify-center", children: /* @__PURE__ */ jsx(Button, { variant: "primary", onClick: cta.onClick, children: cta.label }) })
2655
+ return /* @__PURE__ */ jsxs("section", { className: `${PromoDevicesCTA_module_default.root}${className ? ` ${className}` : ""}`, children: [
2656
+ /* @__PURE__ */ jsxs("div", { className: PromoDevicesCTA_module_default.textBlock, children: [
2657
+ /* @__PURE__ */ jsx("h2", { className: PromoDevicesCTA_module_default.heading, children: heading }),
2658
+ description && /* @__PURE__ */ jsx("p", { className: PromoDevicesCTA_module_default.description, children: description }),
2659
+ cta && /* @__PURE__ */ jsx("div", { className: PromoDevicesCTA_module_default.ctaWrap, children: /* @__PURE__ */ jsx(Button, { variant: "primary", onClick: cta.onClick, children: cta.label }) })
2089
2660
  ] }),
2090
- /* @__PURE__ */ jsxs("div", { className: "relative flex items-end justify-center gap-6 md:gap-10 px-4 md:px-0 max-w-4xl mx-auto", children: [
2091
- /* @__PURE__ */ jsxs("div", { className: "hidden md:block relative w-[38%] max-w-[380px]", children: [
2092
- /* @__PURE__ */ jsx("div", { className: "aspect-[16/10] rounded-t-[var(--radius-lg)] border border-b-0 border-[var(--border-color)] bg-[var(--bg-secondary)] overflow-hidden shadow-[var(--shadow-md)]", children: /* @__PURE__ */ jsx("div", { className: "absolute inset-3 rounded-[var(--radius-md)] bg-[var(--bg-tertiary)]" }) }),
2093
- /* @__PURE__ */ jsx("div", { className: "h-2.5 bg-[var(--bg-tertiary)] border border-[var(--border-color)] rounded-b-sm" }),
2094
- /* @__PURE__ */ jsx("div", { className: "h-1 bg-[var(--bg-tertiary)] border-x border-b border-[var(--border-color)] rounded-b-[var(--radius-sm)] mx-[-4%]" })
2661
+ /* @__PURE__ */ jsxs("div", { className: PromoDevicesCTA_module_default.devices, children: [
2662
+ /* @__PURE__ */ jsxs("div", { className: PromoDevicesCTA_module_default.laptop, children: [
2663
+ /* @__PURE__ */ jsx("div", { className: PromoDevicesCTA_module_default.laptopScreen, children: /* @__PURE__ */ jsx("div", { className: PromoDevicesCTA_module_default.laptopScreenInner }) }),
2664
+ /* @__PURE__ */ jsx("div", { className: PromoDevicesCTA_module_default.laptopHinge }),
2665
+ /* @__PURE__ */ jsx("div", { className: PromoDevicesCTA_module_default.laptopBase })
2095
2666
  ] }),
2096
- /* @__PURE__ */ jsx("div", { className: "relative w-[40%] md:w-[28%] max-w-[280px]", children: /* @__PURE__ */ jsx("div", { className: "aspect-[3/4] rounded-[var(--radius-xl)] border-2 border-[var(--border-color)] bg-[var(--bg-secondary)] overflow-hidden shadow-[var(--shadow-lg)]", children: /* @__PURE__ */ jsx("div", { className: "absolute inset-2.5 rounded-[var(--radius-lg)] bg-[var(--bg-tertiary)]" }) }) }),
2097
- /* @__PURE__ */ jsx("div", { className: "relative w-[24%] md:w-[14%] max-w-[140px]", children: /* @__PURE__ */ jsxs("div", { className: "aspect-[9/19] rounded-[clamp(12px,2vw,24px)] border-2 border-[var(--border-color)] bg-[var(--bg-secondary)] overflow-hidden shadow-[var(--shadow-lg)]", children: [
2098
- /* @__PURE__ */ jsx("div", { className: "absolute top-1.5 left-1/2 -translate-x-1/2 w-[40%] h-[3%] rounded-full bg-[var(--border-color)]" }),
2099
- /* @__PURE__ */ jsx("div", { className: "absolute inset-1.5 top-[6%] rounded-[clamp(8px,1.5vw,16px)] bg-[var(--bg-tertiary)]" })
2667
+ /* @__PURE__ */ jsx("div", { className: PromoDevicesCTA_module_default.tablet, children: /* @__PURE__ */ jsx("div", { className: PromoDevicesCTA_module_default.tabletShell, children: /* @__PURE__ */ jsx("div", { className: PromoDevicesCTA_module_default.tabletScreen }) }) }),
2668
+ /* @__PURE__ */ jsx("div", { className: PromoDevicesCTA_module_default.phone, children: /* @__PURE__ */ jsxs("div", { className: PromoDevicesCTA_module_default.phoneShell, children: [
2669
+ /* @__PURE__ */ jsx("div", { className: PromoDevicesCTA_module_default.phoneNotch }),
2670
+ /* @__PURE__ */ jsx("div", { className: PromoDevicesCTA_module_default.phoneScreen })
2100
2671
  ] }) })
2101
2672
  ] })
2102
2673
  ] });
2103
2674
  }
2675
+
2676
+ // src/organisms/PromoTestimonials.module.scss
2677
+ var PromoTestimonials_module_default = {
2678
+ root: "PromoTestimonials_module_root",
2679
+ wrapper: "PromoTestimonials_module_wrapper",
2680
+ avatarSection: "PromoTestimonials_module_avatarSection",
2681
+ avatarStack: "PromoTestimonials_module_avatarStack",
2682
+ avatarRing: "PromoTestimonials_module_avatarRing",
2683
+ overflowBadge: "PromoTestimonials_module_overflowBadge",
2684
+ overflowCircle: "PromoTestimonials_module_overflowCircle",
2685
+ headingSection: "PromoTestimonials_module_headingSection",
2686
+ heading: "PromoTestimonials_module_heading",
2687
+ subtitle: "PromoTestimonials_module_subtitle",
2688
+ cardsSection: "PromoTestimonials_module_cardsSection",
2689
+ cardsGrid: "PromoTestimonials_module_cardsGrid",
2690
+ card: "PromoTestimonials_module_card",
2691
+ quote: "PromoTestimonials_module_quote",
2692
+ author: "PromoTestimonials_module_author",
2693
+ authorName: "PromoTestimonials_module_authorName",
2694
+ authorRole: "PromoTestimonials_module_authorRole",
2695
+ mediaSection: "PromoTestimonials_module_mediaSection",
2696
+ mediaBox: "PromoTestimonials_module_mediaBox"
2697
+ };
2104
2698
  function PromoTestimonials({
2105
2699
  heading,
2106
2700
  subtitle,
@@ -2108,14 +2702,14 @@ function PromoTestimonials({
2108
2702
  media,
2109
2703
  className = ""
2110
2704
  }) {
2111
- return /* @__PURE__ */ jsx("section", { className: `py-16 md:py-24 ${className}`, children: /* @__PURE__ */ jsxs("div", { className: "relative rounded-[clamp(20px,3vw,40px)] border border-[var(--border-color)] bg-[var(--bg)] overflow-hidden", children: [
2112
- /* @__PURE__ */ jsx("div", { className: "flex justify-center pt-10 md:pt-14 pb-2", children: /* @__PURE__ */ jsxs("div", { className: "flex -space-x-3", children: [
2705
+ return /* @__PURE__ */ jsx("section", { className: `${PromoTestimonials_module_default.root}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxs("div", { className: PromoTestimonials_module_default.wrapper, children: [
2706
+ /* @__PURE__ */ jsx("div", { className: PromoTestimonials_module_default.avatarSection, children: /* @__PURE__ */ jsxs("div", { className: PromoTestimonials_module_default.avatarStack, children: [
2113
2707
  testimonials.slice(0, 5).map((t, i) => {
2114
2708
  const initials = t.name.split(" ").map((n) => n[0]).join("").toUpperCase();
2115
2709
  return /* @__PURE__ */ jsx(
2116
2710
  "div",
2117
2711
  {
2118
- className: "relative ring-3 ring-[var(--bg)] rounded-full",
2712
+ className: PromoTestimonials_module_default.avatarRing,
2119
2713
  style: { zIndex: 10 - i },
2120
2714
  children: /* @__PURE__ */ jsx(
2121
2715
  Avatar,
@@ -2129,32 +2723,32 @@ function PromoTestimonials({
2129
2723
  i
2130
2724
  );
2131
2725
  }),
2132
- testimonials.length > 5 && /* @__PURE__ */ jsx("div", { className: "relative ring-3 ring-[var(--bg)] rounded-full z-0", children: /* @__PURE__ */ jsxs("div", { className: "w-10 h-10 rounded-full bg-[var(--bg-tertiary)] flex items-center justify-center text-xs font-semibold text-[var(--fg-secondary)]", children: [
2726
+ testimonials.length > 5 && /* @__PURE__ */ jsx("div", { className: PromoTestimonials_module_default.overflowBadge, children: /* @__PURE__ */ jsxs("div", { className: PromoTestimonials_module_default.overflowCircle, children: [
2133
2727
  "+",
2134
2728
  testimonials.length - 5
2135
2729
  ] }) })
2136
2730
  ] }) }),
2137
- /* @__PURE__ */ jsxs("div", { className: "text-center px-6 pb-8 md:pb-10", children: [
2138
- /* @__PURE__ */ jsx("h2", { className: "text-[clamp(1.75rem,4vw,2.75rem)] font-bold leading-[1.1] tracking-[-0.03em] text-[var(--fg)] text-balance", children: heading }),
2139
- subtitle && /* @__PURE__ */ jsx("p", { className: "mt-3 text-base text-[var(--fg-secondary)] leading-relaxed max-w-lg mx-auto", children: subtitle })
2731
+ /* @__PURE__ */ jsxs("div", { className: PromoTestimonials_module_default.headingSection, children: [
2732
+ /* @__PURE__ */ jsx("h2", { className: PromoTestimonials_module_default.heading, children: heading }),
2733
+ subtitle && /* @__PURE__ */ jsx("p", { className: PromoTestimonials_module_default.subtitle, children: subtitle })
2140
2734
  ] }),
2141
- /* @__PURE__ */ jsx("div", { className: "px-6 md:px-10 pb-8 md:pb-12", children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 md:gap-5", children: testimonials.map((t, i) => {
2735
+ /* @__PURE__ */ jsx("div", { className: PromoTestimonials_module_default.cardsSection, children: /* @__PURE__ */ jsx("div", { className: PromoTestimonials_module_default.cardsGrid, children: testimonials.map((t, i) => {
2142
2736
  const initials = t.name.split(" ").map((n) => n[0]).join("").toUpperCase();
2143
2737
  return /* @__PURE__ */ jsxs(
2144
2738
  "div",
2145
2739
  {
2146
- className: "flex flex-col gap-4 p-5 md:p-6 rounded-[var(--radius-xl)] border border-[var(--border-color)] bg-[var(--bg)] transition-shadow duration-[var(--transition-base)] hover:shadow-[var(--shadow-md)]",
2740
+ className: PromoTestimonials_module_default.card,
2147
2741
  children: [
2148
- /* @__PURE__ */ jsxs("p", { className: "text-sm text-[var(--fg-secondary)] leading-relaxed flex-1", children: [
2742
+ /* @__PURE__ */ jsxs("p", { className: PromoTestimonials_module_default.quote, children: [
2149
2743
  "\u201C",
2150
2744
  t.quote,
2151
2745
  "\u201D"
2152
2746
  ] }),
2153
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pt-1", children: [
2747
+ /* @__PURE__ */ jsxs("div", { className: PromoTestimonials_module_default.author, children: [
2154
2748
  /* @__PURE__ */ jsx(Avatar, { size: "sm", src: t.avatarSrc, initials }),
2155
2749
  /* @__PURE__ */ jsxs("div", { children: [
2156
- /* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-[var(--fg)]", children: t.name }),
2157
- /* @__PURE__ */ jsx("p", { className: "text-xs text-[var(--fg-muted)]", children: t.role })
2750
+ /* @__PURE__ */ jsx("p", { className: PromoTestimonials_module_default.authorName, children: t.name }),
2751
+ /* @__PURE__ */ jsx("p", { className: PromoTestimonials_module_default.authorRole, children: t.role })
2158
2752
  ] })
2159
2753
  ] })
2160
2754
  ]
@@ -2162,9 +2756,30 @@ function PromoTestimonials({
2162
2756
  i
2163
2757
  );
2164
2758
  }) }) }),
2165
- media && /* @__PURE__ */ jsx("div", { className: "px-6 md:px-10 pb-8 md:pb-12", children: /* @__PURE__ */ jsx("div", { className: "rounded-[var(--radius-xl)] bg-[var(--bg-secondary)] overflow-hidden", children: media }) })
2759
+ media && /* @__PURE__ */ jsx("div", { className: PromoTestimonials_module_default.mediaSection, children: /* @__PURE__ */ jsx("div", { className: PromoTestimonials_module_default.mediaBox, children: media }) })
2166
2760
  ] }) });
2167
2761
  }
2762
+
2763
+ // src/organisms/PromoHero.module.scss
2764
+ var PromoHero_module_default = {
2765
+ root: "PromoHero_module_root",
2766
+ dark: "PromoHero_module_dark",
2767
+ light: "PromoHero_module_light",
2768
+ gradient: "PromoHero_module_gradient",
2769
+ glowLayer: "PromoHero_module_glowLayer",
2770
+ glowTop: "PromoHero_module_glowTop",
2771
+ glowBottom: "PromoHero_module_glowBottom",
2772
+ inner: "PromoHero_module_inner",
2773
+ textColumn: "PromoHero_module_textColumn",
2774
+ title: "PromoHero_module_title",
2775
+ subtitle: "PromoHero_module_subtitle",
2776
+ subtitleDark: "PromoHero_module_subtitleDark",
2777
+ subtitleLight: "PromoHero_module_subtitleLight",
2778
+ actions: "PromoHero_module_actions",
2779
+ ctaDark: "PromoHero_module_ctaDark",
2780
+ ghostDark: "PromoHero_module_ghostDark",
2781
+ mediaColumn: "PromoHero_module_mediaColumn"
2782
+ };
2168
2783
  function PromoHero({
2169
2784
  title,
2170
2785
  subtitle,
@@ -2174,36 +2789,29 @@ function PromoHero({
2174
2789
  variant = "dark",
2175
2790
  className = ""
2176
2791
  }) {
2177
- const variantStyles5 = {
2178
- dark: "bg-[var(--neutral-900)] text-white",
2179
- light: "bg-[var(--bg)] text-[var(--fg)]",
2180
- gradient: "bg-gradient-to-br from-[var(--neutral-900)] via-[var(--neutral-800)] to-[var(--neutral-700)] text-white"
2181
- };
2182
- const subtitleColor = {
2183
- dark: "text-white/70",
2184
- light: "text-[var(--fg-secondary)]",
2185
- gradient: "text-white/70"
2186
- };
2792
+ const variantClass = variant === "dark" ? PromoHero_module_default.dark : variant === "gradient" ? PromoHero_module_default.gradient : PromoHero_module_default.light;
2793
+ const subtitleClass = variant === "light" ? PromoHero_module_default.subtitleLight : PromoHero_module_default.subtitleDark;
2794
+ const isLight = variant === "light";
2187
2795
  return /* @__PURE__ */ jsxs(
2188
2796
  "section",
2189
2797
  {
2190
- className: `relative overflow-hidden rounded-[clamp(20px,3vw,40px)] min-h-[480px] md:min-h-[600px] flex items-center ${variantStyles5[variant]} ${className}`,
2798
+ className: `${PromoHero_module_default.root} ${variantClass}${className ? ` ${className}` : ""}`,
2191
2799
  children: [
2192
- variant !== "light" && /* @__PURE__ */ jsxs("div", { className: "absolute inset-0 pointer-events-none", "aria-hidden": "true", children: [
2193
- /* @__PURE__ */ jsx("div", { className: "absolute top-[-20%] right-[-10%] w-[600px] h-[600px] rounded-full bg-white/[0.03] blur-[100px]" }),
2194
- /* @__PURE__ */ jsx("div", { className: "absolute bottom-[-30%] left-[-5%] w-[400px] h-[400px] rounded-full bg-white/[0.02] blur-[80px]" })
2800
+ !isLight && /* @__PURE__ */ jsxs("div", { className: PromoHero_module_default.glowLayer, "aria-hidden": "true", children: [
2801
+ /* @__PURE__ */ jsx("div", { className: PromoHero_module_default.glowTop }),
2802
+ /* @__PURE__ */ jsx("div", { className: PromoHero_module_default.glowBottom })
2195
2803
  ] }),
2196
- /* @__PURE__ */ jsxs("div", { className: "relative z-10 grid grid-cols-1 lg:grid-cols-2 gap-10 md:gap-16 w-full p-8 md:p-12 lg:p-16 items-center", children: [
2197
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-5 md:gap-6", children: [
2198
- /* @__PURE__ */ jsx("h1", { className: "text-[clamp(2.25rem,5.5vw,5rem)] font-bold leading-[0.95] tracking-[-0.04em] text-balance", children: title }),
2199
- subtitle && /* @__PURE__ */ jsx("p", { className: `text-base md:text-lg leading-relaxed max-w-lg ${subtitleColor[variant]}`, children: subtitle }),
2200
- (cta || secondaryCta) && /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-3 mt-2", children: [
2804
+ /* @__PURE__ */ jsxs("div", { className: PromoHero_module_default.inner, children: [
2805
+ /* @__PURE__ */ jsxs("div", { className: PromoHero_module_default.textColumn, children: [
2806
+ /* @__PURE__ */ jsx("h1", { className: PromoHero_module_default.title, children: title }),
2807
+ subtitle && /* @__PURE__ */ jsx("p", { className: `${PromoHero_module_default.subtitle} ${subtitleClass}`, children: subtitle }),
2808
+ (cta || secondaryCta) && /* @__PURE__ */ jsxs("div", { className: PromoHero_module_default.actions, children: [
2201
2809
  cta && /* @__PURE__ */ jsx(
2202
2810
  Button,
2203
2811
  {
2204
- variant: variant === "light" ? "primary" : "outline",
2812
+ variant: isLight ? "primary" : "outline",
2205
2813
  onClick: cta.onClick,
2206
- className: variant !== "light" ? "border-white/20 text-white hover:bg-white/10" : "",
2814
+ className: !isLight ? PromoHero_module_default.ctaDark : "",
2207
2815
  children: cta.label
2208
2816
  }
2209
2817
  ),
@@ -2212,18 +2820,65 @@ function PromoHero({
2212
2820
  {
2213
2821
  variant: "ghost",
2214
2822
  onClick: secondaryCta.onClick,
2215
- className: variant !== "light" ? "text-white/70 hover:text-white hover:bg-white/5" : "",
2823
+ className: !isLight ? PromoHero_module_default.ghostDark : "",
2216
2824
  children: secondaryCta.label
2217
2825
  }
2218
2826
  )
2219
2827
  ] })
2220
2828
  ] }),
2221
- media && /* @__PURE__ */ jsx("div", { className: "relative flex items-center justify-center", children: media })
2829
+ media && /* @__PURE__ */ jsx("div", { className: PromoHero_module_default.mediaColumn, children: media })
2222
2830
  ] })
2223
2831
  ]
2224
2832
  }
2225
2833
  );
2226
2834
  }
2835
+
2836
+ // src/organisms/PromoPricing.module.scss
2837
+ var PromoPricing_module_default = {
2838
+ root: "PromoPricing_module_root",
2839
+ dark: "PromoPricing_module_dark",
2840
+ light: "PromoPricing_module_light",
2841
+ headingSection: "PromoPricing_module_headingSection",
2842
+ heading: "PromoPricing_module_heading",
2843
+ headingDark: "PromoPricing_module_headingDark",
2844
+ headingLight: "PromoPricing_module_headingLight",
2845
+ subtitle: "PromoPricing_module_subtitle",
2846
+ subtitleDark: "PromoPricing_module_subtitleDark",
2847
+ subtitleLight: "PromoPricing_module_subtitleLight",
2848
+ tiersGrid: "PromoPricing_module_tiersGrid",
2849
+ tierDefault: "PromoPricing_module_tierCard PromoPricing_module_tierDefault",
2850
+ tierHighlighted: "PromoPricing_module_tierCard PromoPricing_module_tierHighlighted",
2851
+ tierDark: "PromoPricing_module_tierCard PromoPricing_module_tierDark",
2852
+ tierDarkHighlighted: "PromoPricing_module_tierCard PromoPricing_module_tierDarkHighlighted",
2853
+ tierName: "PromoPricing_module_tierName",
2854
+ tierNameMuted: "PromoPricing_module_tierNameMuted",
2855
+ tierNameDark: "PromoPricing_module_tierNameDark",
2856
+ tierNameHighlightedLight: "PromoPricing_module_tierNameHighlightedLight",
2857
+ tierNameHighlightedDark: "PromoPricing_module_tierNameHighlightedDark",
2858
+ price: "PromoPricing_module_price",
2859
+ period: "PromoPricing_module_period",
2860
+ periodMuted: "PromoPricing_module_periodMuted",
2861
+ periodDark: "PromoPricing_module_periodDark",
2862
+ periodHighlightedLight: "PromoPricing_module_periodHighlightedLight",
2863
+ periodHighlightedDark: "PromoPricing_module_periodHighlightedDark",
2864
+ tierDesc: "PromoPricing_module_tierDesc",
2865
+ tierDescMuted: "PromoPricing_module_tierDescMuted",
2866
+ tierDescDark: "PromoPricing_module_tierDescDark",
2867
+ tierDescHighlightedLight: "PromoPricing_module_tierDescHighlightedLight",
2868
+ tierDescHighlightedDark: "PromoPricing_module_tierDescHighlightedDark",
2869
+ featureList: "PromoPricing_module_featureList",
2870
+ featureItem: "PromoPricing_module_featureItem",
2871
+ checkIcon: "PromoPricing_module_checkIcon",
2872
+ checkDefault: "PromoPricing_module_checkDefault",
2873
+ checkDark: "PromoPricing_module_checkDark",
2874
+ checkHighlightedLight: "PromoPricing_module_checkHighlightedLight",
2875
+ checkHighlightedDark: "PromoPricing_module_checkHighlightedDark",
2876
+ featureTextMuted: "PromoPricing_module_featureTextMuted",
2877
+ featureTextDark: "PromoPricing_module_featureTextDark",
2878
+ featureTextHighlightedLight: "PromoPricing_module_featureTextHighlightedLight",
2879
+ featureTextHighlightedDark: "PromoPricing_module_featureTextHighlightedDark",
2880
+ ctaWrap: "PromoPricing_module_ctaWrap"
2881
+ };
2227
2882
  function PromoPricing({
2228
2883
  heading,
2229
2884
  subtitle,
@@ -2232,39 +2887,51 @@ function PromoPricing({
2232
2887
  className = ""
2233
2888
  }) {
2234
2889
  const isDark = variant === "dark";
2890
+ const getTierClass = (highlighted) => {
2891
+ if (highlighted) return isDark ? PromoPricing_module_default.tierDarkHighlighted : PromoPricing_module_default.tierHighlighted;
2892
+ return isDark ? PromoPricing_module_default.tierDark : PromoPricing_module_default.tierDefault;
2893
+ };
2894
+ const getNameClass = (highlighted) => {
2895
+ if (highlighted) return isDark ? PromoPricing_module_default.tierNameHighlightedDark : PromoPricing_module_default.tierNameHighlightedLight;
2896
+ return isDark ? PromoPricing_module_default.tierNameDark : PromoPricing_module_default.tierNameMuted;
2897
+ };
2898
+ const getPeriodClass = (highlighted) => {
2899
+ if (highlighted) return isDark ? PromoPricing_module_default.periodHighlightedDark : PromoPricing_module_default.periodHighlightedLight;
2900
+ return isDark ? PromoPricing_module_default.periodDark : PromoPricing_module_default.periodMuted;
2901
+ };
2902
+ const getDescClass = (highlighted) => {
2903
+ if (highlighted) return isDark ? PromoPricing_module_default.tierDescHighlightedDark : PromoPricing_module_default.tierDescHighlightedLight;
2904
+ return isDark ? PromoPricing_module_default.tierDescDark : PromoPricing_module_default.tierDescMuted;
2905
+ };
2906
+ const getCheckClass = (highlighted) => {
2907
+ if (highlighted) return isDark ? PromoPricing_module_default.checkHighlightedDark : PromoPricing_module_default.checkHighlightedLight;
2908
+ return isDark ? PromoPricing_module_default.checkDark : PromoPricing_module_default.checkDefault;
2909
+ };
2910
+ const getFeatureTextClass = (highlighted) => {
2911
+ if (highlighted) return isDark ? PromoPricing_module_default.featureTextHighlightedDark : PromoPricing_module_default.featureTextHighlightedLight;
2912
+ return isDark ? PromoPricing_module_default.featureTextDark : PromoPricing_module_default.featureTextMuted;
2913
+ };
2235
2914
  return /* @__PURE__ */ jsxs(
2236
2915
  "section",
2237
2916
  {
2238
- className: `py-16 md:py-24 px-6 md:px-12 rounded-[clamp(20px,3vw,40px)] ${isDark ? "bg-[var(--neutral-900)] text-white" : "bg-[var(--bg)]"} ${className}`,
2917
+ className: `${PromoPricing_module_default.root} ${isDark ? PromoPricing_module_default.dark : PromoPricing_module_default.light}${className ? ` ${className}` : ""}`,
2239
2918
  children: [
2240
- /* @__PURE__ */ jsxs("div", { className: "text-center mb-10 md:mb-14 max-w-2xl mx-auto", children: [
2241
- /* @__PURE__ */ jsx(
2242
- "h2",
2243
- {
2244
- className: `text-[clamp(2rem,5vw,4.75rem)] font-bold leading-[0.95] tracking-[-0.04em] text-balance ${isDark ? "text-white" : "text-[var(--fg)]"}`,
2245
- children: heading
2246
- }
2247
- ),
2248
- subtitle && /* @__PURE__ */ jsx("p", { className: `mt-4 text-base md:text-lg leading-relaxed ${isDark ? "text-white/60" : "text-[var(--fg-secondary)]"}`, children: subtitle })
2919
+ /* @__PURE__ */ jsxs("div", { className: PromoPricing_module_default.headingSection, children: [
2920
+ /* @__PURE__ */ jsx("h2", { className: `${PromoPricing_module_default.heading} ${isDark ? PromoPricing_module_default.headingDark : PromoPricing_module_default.headingLight}`, children: heading }),
2921
+ subtitle && /* @__PURE__ */ jsx("p", { className: `${PromoPricing_module_default.subtitle} ${isDark ? PromoPricing_module_default.subtitleDark : PromoPricing_module_default.subtitleLight}`, children: subtitle })
2249
2922
  ] }),
2250
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5 md:gap-6 max-w-5xl mx-auto", children: tiers.map((tier, i) => /* @__PURE__ */ jsxs(
2923
+ /* @__PURE__ */ jsx("div", { className: PromoPricing_module_default.tiersGrid, children: tiers.map((tier, i) => /* @__PURE__ */ jsxs(
2251
2924
  "div",
2252
2925
  {
2253
- className: `relative flex flex-col rounded-[var(--radius-xl)] p-6 md:p-8 transition-all duration-[var(--transition-base)] ${tier.highlighted ? isDark ? "bg-white text-[var(--neutral-900)] shadow-[0_0_60px_rgba(255,255,255,0.1)]" : "bg-[var(--fg)] text-[var(--bg)] shadow-[var(--shadow-xl)]" : isDark ? "bg-white/[0.06] border border-white/10 text-white hover:bg-white/[0.1]" : "bg-[var(--bg)] border border-[var(--border-color)] hover:shadow-[var(--shadow-md)] hover:-translate-y-0.5"}`,
2926
+ className: getTierClass(tier.highlighted),
2254
2927
  children: [
2255
- /* @__PURE__ */ jsx("div", { className: "mb-4", children: /* @__PURE__ */ jsx(
2256
- "h3",
2257
- {
2258
- className: `text-sm font-semibold uppercase tracking-[0.06em] ${tier.highlighted ? isDark ? "text-[var(--neutral-500)]" : "text-[var(--bg)]/60" : isDark ? "text-white/50" : "text-[var(--fg-muted)]"}`,
2259
- children: tier.name
2260
- }
2261
- ) }),
2262
- /* @__PURE__ */ jsxs("div", { className: "mb-2", children: [
2263
- /* @__PURE__ */ jsx("span", { className: "text-4xl md:text-5xl font-bold tracking-[-0.03em]", children: tier.price }),
2264
- tier.period && /* @__PURE__ */ jsx("span", { className: `text-sm ml-1 ${tier.highlighted ? isDark ? "text-[var(--neutral-500)]" : "text-[var(--bg)]/50" : isDark ? "text-white/40" : "text-[var(--fg-muted)]"}`, children: tier.period })
2928
+ /* @__PURE__ */ jsx("div", { className: PromoPricing_module_default.tierName, children: /* @__PURE__ */ jsx("h3", { className: getNameClass(tier.highlighted), children: tier.name }) }),
2929
+ /* @__PURE__ */ jsxs("div", { className: PromoPricing_module_default.price, children: [
2930
+ /* @__PURE__ */ jsx("span", { children: tier.price }),
2931
+ tier.period && /* @__PURE__ */ jsx("span", { className: `${PromoPricing_module_default.period} ${getPeriodClass(tier.highlighted)}`, children: tier.period })
2265
2932
  ] }),
2266
- tier.description && /* @__PURE__ */ jsx("p", { className: `text-sm mb-6 ${tier.highlighted ? isDark ? "text-[var(--neutral-600)]" : "text-[var(--bg)]/60" : isDark ? "text-white/50" : "text-[var(--fg-secondary)]"}`, children: tier.description }),
2267
- /* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-2.5 mb-8 flex-1", children: tier.features.map((feature, fi) => /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-2.5 text-sm", children: [
2933
+ tier.description && /* @__PURE__ */ jsx("p", { className: `${PromoPricing_module_default.tierDesc} ${getDescClass(tier.highlighted)}`, children: tier.description }),
2934
+ /* @__PURE__ */ jsx("ul", { className: PromoPricing_module_default.featureList, children: tier.features.map((feature, fi) => /* @__PURE__ */ jsxs("li", { className: PromoPricing_module_default.featureItem, children: [
2268
2935
  /* @__PURE__ */ jsx(
2269
2936
  "svg",
2270
2937
  {
@@ -2272,13 +2939,13 @@ function PromoPricing({
2272
2939
  height: "16",
2273
2940
  viewBox: "0 0 16 16",
2274
2941
  fill: "none",
2275
- className: `shrink-0 mt-0.5 ${tier.highlighted ? isDark ? "text-[var(--color-success)]" : "text-[var(--color-success-light)]" : isDark ? "text-white/40" : "text-[var(--color-success)]"}`,
2942
+ className: `${PromoPricing_module_default.checkIcon} ${getCheckClass(tier.highlighted)}`,
2276
2943
  children: /* @__PURE__ */ jsx("path", { d: "M3.5 8.5L6.5 11.5L12.5 4.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })
2277
2944
  }
2278
2945
  ),
2279
- /* @__PURE__ */ jsx("span", { className: `${tier.highlighted ? isDark ? "text-[var(--neutral-700)]" : "text-[var(--bg)]/80" : isDark ? "text-white/70" : "text-[var(--fg-secondary)]"}`, children: feature })
2946
+ /* @__PURE__ */ jsx("span", { className: getFeatureTextClass(tier.highlighted), children: feature })
2280
2947
  ] }, fi)) }),
2281
- tier.cta && /* @__PURE__ */ jsx("div", { className: "mt-auto", children: tier.cta })
2948
+ tier.cta && /* @__PURE__ */ jsx("div", { className: PromoPricing_module_default.ctaWrap, children: tier.cta })
2282
2949
  ]
2283
2950
  },
2284
2951
  i
@@ -2287,6 +2954,24 @@ function PromoPricing({
2287
2954
  }
2288
2955
  );
2289
2956
  }
2957
+
2958
+ // src/organisms/PromoActionCards.module.scss
2959
+ var PromoActionCards_module_default = {
2960
+ root: "PromoActionCards_module_root",
2961
+ header: "PromoActionCards_module_header",
2962
+ heading: "PromoActionCards_module_heading",
2963
+ subtitle: "PromoActionCards_module_subtitle",
2964
+ grid2: "PromoActionCards_module_grid PromoActionCards_module_grid2",
2965
+ grid3: "PromoActionCards_module_grid PromoActionCards_module_grid3",
2966
+ card: "PromoActionCards_module_card",
2967
+ cardContent: "PromoActionCards_module_cardContent",
2968
+ cardTitle: "PromoActionCards_module_cardTitle",
2969
+ cardDesc: "PromoActionCards_module_cardDesc",
2970
+ cardFooter: "PromoActionCards_module_cardFooter",
2971
+ iconGroup: "PromoActionCards_module_iconGroup",
2972
+ iconCircle: "PromoActionCards_module_iconCircle",
2973
+ ctaBtn: "PromoActionCards_module_ctaBtn"
2974
+ };
2290
2975
  function PromoActionCards({
2291
2976
  heading,
2292
2977
  subtitle,
@@ -2294,28 +2979,28 @@ function PromoActionCards({
2294
2979
  columns = 3,
2295
2980
  className = ""
2296
2981
  }) {
2297
- const gridCols = columns === 2 ? "md:grid-cols-2" : "md:grid-cols-2 lg:grid-cols-3";
2298
- return /* @__PURE__ */ jsxs("section", { className: `py-16 md:py-24 ${className}`, children: [
2299
- /* @__PURE__ */ jsxs("div", { className: "mb-10 md:mb-14 max-w-xl", children: [
2300
- /* @__PURE__ */ jsx("h2", { className: "text-[clamp(1.25rem,3vw,1.5rem)] font-medium leading-[1.3] tracking-[-0.01em] text-[var(--fg-secondary)] text-balance", children: heading }),
2301
- subtitle && /* @__PURE__ */ jsx("p", { className: "mt-2 text-sm text-[var(--fg-muted)]", children: subtitle })
2982
+ const gridClass = columns === 2 ? PromoActionCards_module_default.grid2 : PromoActionCards_module_default.grid3;
2983
+ return /* @__PURE__ */ jsxs("section", { className: `${PromoActionCards_module_default.root}${className ? ` ${className}` : ""}`, children: [
2984
+ /* @__PURE__ */ jsxs("div", { className: PromoActionCards_module_default.header, children: [
2985
+ /* @__PURE__ */ jsx("h2", { className: PromoActionCards_module_default.heading, children: heading }),
2986
+ subtitle && /* @__PURE__ */ jsx("p", { className: PromoActionCards_module_default.subtitle, children: subtitle })
2302
2987
  ] }),
2303
- /* @__PURE__ */ jsx("div", { className: `grid grid-cols-1 ${gridCols} gap-4 md:gap-5`, children: cards.map((card, i) => {
2988
+ /* @__PURE__ */ jsx("div", { className: gridClass, children: cards.map((card, i) => {
2304
2989
  var _a;
2305
2990
  return /* @__PURE__ */ jsxs(
2306
2991
  "div",
2307
2992
  {
2308
- className: "group flex flex-col gap-4 p-5 md:p-6 rounded-[var(--radius-xl)] border border-[var(--border-color)] bg-[var(--bg)] transition-all duration-[var(--transition-base)] hover:shadow-[var(--shadow-md)] hover:border-[var(--border-color-strong)]",
2993
+ className: PromoActionCards_module_default.card,
2309
2994
  children: [
2310
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 flex-1", children: [
2311
- /* @__PURE__ */ jsx("h3", { className: "text-[15px] font-semibold text-[var(--fg)] leading-snug", children: card.title }),
2312
- /* @__PURE__ */ jsx("p", { className: "text-sm text-[var(--fg-secondary)] leading-relaxed", children: card.description })
2995
+ /* @__PURE__ */ jsxs("div", { className: PromoActionCards_module_default.cardContent, children: [
2996
+ /* @__PURE__ */ jsx("h3", { className: PromoActionCards_module_default.cardTitle, children: card.title }),
2997
+ /* @__PURE__ */ jsx("p", { className: PromoActionCards_module_default.cardDesc, children: card.description })
2313
2998
  ] }),
2314
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between pt-1", children: [
2315
- /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: (_a = card.icons) == null ? void 0 : _a.map((icon, ii) => /* @__PURE__ */ jsx(
2999
+ /* @__PURE__ */ jsxs("div", { className: PromoActionCards_module_default.cardFooter, children: [
3000
+ /* @__PURE__ */ jsx("div", { className: PromoActionCards_module_default.iconGroup, children: (_a = card.icons) == null ? void 0 : _a.map((icon, ii) => /* @__PURE__ */ jsx(
2316
3001
  "span",
2317
3002
  {
2318
- className: "w-7 h-7 rounded-full bg-[var(--bg-secondary)] flex items-center justify-center text-[var(--fg-secondary)]",
3003
+ className: PromoActionCards_module_default.iconCircle,
2319
3004
  children: icon
2320
3005
  },
2321
3006
  ii
@@ -2324,7 +3009,7 @@ function PromoActionCards({
2324
3009
  "button",
2325
3010
  {
2326
3011
  onClick: card.cta.onClick,
2327
- className: "inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-xs font-medium bg-[var(--fg)] text-[var(--bg)] hover:opacity-90 transition-opacity cursor-pointer",
3012
+ className: PromoActionCards_module_default.ctaBtn,
2328
3013
  children: [
2329
3014
  card.cta.label,
2330
3015
  /* @__PURE__ */ jsx("svg", { width: "11", height: "11", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "M4.5 2.5l4 3.5-4 3.5" }) })
@@ -2339,6 +3024,22 @@ function PromoActionCards({
2339
3024
  }) })
2340
3025
  ] });
2341
3026
  }
3027
+
3028
+ // src/templates/ArticleHero.module.scss
3029
+ var ArticleHero_module_default = {
3030
+ root: "ArticleHero_module_root",
3031
+ bgLayer: "ArticleHero_module_bgLayer",
3032
+ bgImage: "ArticleHero_module_bgImage",
3033
+ overlay: "ArticleHero_module_overlay",
3034
+ topBar: "ArticleHero_module_topBar",
3035
+ logo: "ArticleHero_module_logo",
3036
+ divider: "ArticleHero_module_divider",
3037
+ nav: "ArticleHero_module_nav",
3038
+ bottom: "ArticleHero_module_bottom",
3039
+ category: "ArticleHero_module_category",
3040
+ title: "ArticleHero_module_title",
3041
+ subtitle: "ArticleHero_module_subtitle"
3042
+ };
2342
3043
  var DEFAULT_BG = "https://images.unsplash.com/photo-1451187580459-43490279c0fa?w=1600&h=900&fit=crop&q=80";
2343
3044
  function ArticleHero({
2344
3045
  category,
@@ -2350,48 +3051,44 @@ function ArticleHero({
2350
3051
  className = ""
2351
3052
  }) {
2352
3053
  const bgSrc = backgroundImage != null ? backgroundImage : DEFAULT_BG;
2353
- return /* @__PURE__ */ jsxs(
2354
- "section",
2355
- {
2356
- className: `relative w-full rounded-[var(--radius-xl)] overflow-hidden min-h-[320px] md:min-h-[480px] flex flex-col justify-between p-5 md:p-10 ${className}`,
2357
- children: [
2358
- /* @__PURE__ */ jsxs("div", { className: "absolute inset-0 pointer-events-none", children: [
2359
- /* @__PURE__ */ jsx(
2360
- "img",
2361
- {
2362
- src: bgSrc,
2363
- alt: "",
2364
- className: "absolute inset-0 w-full h-full object-cover"
2365
- }
2366
- ),
2367
- /* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-black/40" })
2368
- ] }),
2369
- /* @__PURE__ */ jsxs("div", { className: "relative z-10 flex items-center w-full", children: [
2370
- logo && /* @__PURE__ */ jsx("div", { className: "shrink-0 pr-4 md:pr-10", children: logo }),
2371
- /* @__PURE__ */ jsx("div", { className: "flex-1 h-px bg-white/30" }),
2372
- nav && /* @__PURE__ */ jsx("div", { className: "shrink-0 pl-4 md:pl-10", children: nav })
2373
- ] }),
2374
- /* @__PURE__ */ jsxs("div", { className: "relative z-10 max-w-[500px]", children: [
2375
- category && /* @__PURE__ */ jsx("p", { className: "text-lg text-white leading-7 mb-2", children: category }),
2376
- /* @__PURE__ */ jsx("h1", { className: "text-[32px] leading-[34px] md:text-[60px] md:leading-[60px] font-normal text-white tracking-[-2px] md:tracking-[-3px] mb-4", children: title }),
2377
- subtitle && /* @__PURE__ */ jsx("p", { className: "text-lg text-white/90 leading-[22.5px]", children: subtitle })
2378
- ] })
2379
- ]
2380
- }
2381
- );
3054
+ return /* @__PURE__ */ jsxs("section", { className: `${ArticleHero_module_default.root}${className ? ` ${className}` : ""}`, children: [
3055
+ /* @__PURE__ */ jsxs("div", { className: ArticleHero_module_default.bgLayer, children: [
3056
+ /* @__PURE__ */ jsx("img", { src: bgSrc, alt: "", className: ArticleHero_module_default.bgImage }),
3057
+ /* @__PURE__ */ jsx("div", { className: ArticleHero_module_default.overlay })
3058
+ ] }),
3059
+ /* @__PURE__ */ jsxs("div", { className: ArticleHero_module_default.topBar, children: [
3060
+ logo && /* @__PURE__ */ jsx("div", { className: ArticleHero_module_default.logo, children: logo }),
3061
+ /* @__PURE__ */ jsx("div", { className: ArticleHero_module_default.divider }),
3062
+ nav && /* @__PURE__ */ jsx("div", { className: ArticleHero_module_default.nav, children: nav })
3063
+ ] }),
3064
+ /* @__PURE__ */ jsxs("div", { className: ArticleHero_module_default.bottom, children: [
3065
+ category && /* @__PURE__ */ jsx("p", { className: ArticleHero_module_default.category, children: category }),
3066
+ /* @__PURE__ */ jsx("h1", { className: ArticleHero_module_default.title, children: title }),
3067
+ subtitle && /* @__PURE__ */ jsx("p", { className: ArticleHero_module_default.subtitle, children: subtitle })
3068
+ ] })
3069
+ ] });
2382
3070
  }
3071
+
3072
+ // src/templates/ArticleBody.module.scss
3073
+ var ArticleBody_module_default = {
3074
+ root: "ArticleBody_module_root"
3075
+ };
2383
3076
  function ArticleBody({ children, className = "" }) {
2384
- return /* @__PURE__ */ jsx(
2385
- "div",
2386
- {
2387
- className: `text-[16px] leading-7 text-[var(--fg-secondary)] font-normal ${className}`,
2388
- children
2389
- }
2390
- );
3077
+ return /* @__PURE__ */ jsx("div", { className: `${ArticleBody_module_default.root}${className ? ` ${className}` : ""}`, children });
2391
3078
  }
2392
- var levelStyles = {
2393
- 2: "text-[24px] leading-8 font-bold pt-12",
2394
- 3: "text-[20px] leading-8 font-semibold pt-8"
3079
+
3080
+ // src/templates/ArticleHeading.module.scss
3081
+ var ArticleHeading_module_default = {
3082
+ root: "ArticleHeading_module_root",
3083
+ header: "ArticleHeading_module_header",
3084
+ h2: "ArticleHeading_module_h2",
3085
+ h3: "ArticleHeading_module_h3",
3086
+ action: "ArticleHeading_module_action",
3087
+ subtitle: "ArticleHeading_module_subtitle"
3088
+ };
3089
+ var levelClass = {
3090
+ 2: ArticleHeading_module_default.h2,
3091
+ 3: ArticleHeading_module_default.h3
2395
3092
  };
2396
3093
  function ArticleHeading({
2397
3094
  level = 2,
@@ -2401,14 +3098,29 @@ function ArticleHeading({
2401
3098
  className = ""
2402
3099
  }) {
2403
3100
  const Tag2 = `h${level}`;
2404
- return /* @__PURE__ */ jsxs("div", { className: `flex flex-col gap-1 ${className}`, children: [
2405
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
2406
- /* @__PURE__ */ jsx(Tag2, { className: `text-[var(--fg)] tracking-tight ${levelStyles[level]}`, children }),
2407
- action && /* @__PURE__ */ jsx("div", { className: "shrink-0", children: action })
3101
+ return /* @__PURE__ */ jsxs("div", { className: `${ArticleHeading_module_default.root}${className ? ` ${className}` : ""}`, children: [
3102
+ /* @__PURE__ */ jsxs("div", { className: ArticleHeading_module_default.header, children: [
3103
+ /* @__PURE__ */ jsx(Tag2, { className: levelClass[level], children }),
3104
+ action && /* @__PURE__ */ jsx("div", { className: ArticleHeading_module_default.action, children: action })
2408
3105
  ] }),
2409
- subtitle && /* @__PURE__ */ jsx("p", { className: "text-[14px] leading-5 text-[var(--fg-muted)]", children: subtitle })
3106
+ subtitle && /* @__PURE__ */ jsx("p", { className: ArticleHeading_module_default.subtitle, children: subtitle })
2410
3107
  ] });
2411
3108
  }
3109
+
3110
+ // src/templates/ArticleFigure.module.scss
3111
+ var ArticleFigure_module_default = {
3112
+ root: "ArticleFigure_module_root",
3113
+ imageWrapper: "ArticleFigure_module_imageWrapper",
3114
+ image: "ArticleFigure_module_image",
3115
+ childWrapper: "ArticleFigure_module_childWrapper",
3116
+ placeholder: "ArticleFigure_module_placeholder",
3117
+ placeholderText: "ArticleFigure_module_placeholderText",
3118
+ legend: "ArticleFigure_module_legend",
3119
+ legendItem: "ArticleFigure_module_legendItem",
3120
+ legendSwatch: "ArticleFigure_module_legendSwatch",
3121
+ legendLabel: "ArticleFigure_module_legendLabel",
3122
+ caption: "ArticleFigure_module_caption"
3123
+ };
2412
3124
  function ArticleFigure({
2413
3125
  src,
2414
3126
  alt = "",
@@ -2418,37 +3130,52 @@ function ArticleFigure({
2418
3130
  children,
2419
3131
  className = ""
2420
3132
  }) {
2421
- return /* @__PURE__ */ jsxs("figure", { className: `w-full ${className}`, children: [
3133
+ return /* @__PURE__ */ jsxs("figure", { className: `${ArticleFigure_module_default.root}${className ? ` ${className}` : ""}`, children: [
2422
3134
  /* @__PURE__ */ jsx(
2423
3135
  "div",
2424
3136
  {
2425
- className: "w-full rounded-[var(--radius-lg)] overflow-hidden bg-[var(--bg-secondary)] flex items-center justify-center",
3137
+ className: ArticleFigure_module_default.imageWrapper,
2426
3138
  style: { minHeight: height },
2427
3139
  children: src ? (
2428
3140
  // eslint-disable-next-line @next/next/no-img-element
2429
- /* @__PURE__ */ jsx("img", { src, alt, className: "w-full h-full object-contain" })
2430
- ) : children ? /* @__PURE__ */ jsx("div", { className: "w-full h-full p-4", children }) : /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-2 text-[var(--fg-muted)]", children: [
3141
+ /* @__PURE__ */ jsx("img", { src, alt, className: ArticleFigure_module_default.image })
3142
+ ) : children ? /* @__PURE__ */ jsx("div", { className: ArticleFigure_module_default.childWrapper, children }) : /* @__PURE__ */ jsxs("div", { className: ArticleFigure_module_default.placeholder, children: [
2431
3143
  /* @__PURE__ */ jsxs("svg", { width: "48", height: "48", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", children: [
2432
3144
  /* @__PURE__ */ jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2" }),
2433
3145
  /* @__PURE__ */ jsx("path", { d: "M3 16l5-5 4 4 4-6 5 7" })
2434
3146
  ] }),
2435
- /* @__PURE__ */ jsx("span", { className: "text-sm", children: "Figure placeholder" })
3147
+ /* @__PURE__ */ jsx("span", { className: ArticleFigure_module_default.placeholderText, children: "Figure placeholder" })
2436
3148
  ] })
2437
3149
  }
2438
3150
  ),
2439
- legend && legend.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex items-center gap-4 mt-3 flex-wrap", children: legend.map((item) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5", children: [
3151
+ legend && legend.length > 0 && /* @__PURE__ */ jsx("div", { className: ArticleFigure_module_default.legend, children: legend.map((item) => /* @__PURE__ */ jsxs("div", { className: ArticleFigure_module_default.legendItem, children: [
2440
3152
  /* @__PURE__ */ jsx(
2441
3153
  "span",
2442
3154
  {
2443
- className: "w-3 h-3 rounded-sm shrink-0",
3155
+ className: ArticleFigure_module_default.legendSwatch,
2444
3156
  style: { backgroundColor: item.color }
2445
3157
  }
2446
3158
  ),
2447
- /* @__PURE__ */ jsx("span", { className: "text-[12px] leading-4 text-[var(--fg-secondary)]", children: item.label })
3159
+ /* @__PURE__ */ jsx("span", { className: ArticleFigure_module_default.legendLabel, children: item.label })
2448
3160
  ] }, item.label)) }),
2449
- caption && /* @__PURE__ */ jsx("figcaption", { className: "mt-2 text-[14px] leading-5 text-[var(--fg-muted)]", children: caption })
3161
+ caption && /* @__PURE__ */ jsx("figcaption", { className: ArticleFigure_module_default.caption, children: caption })
2450
3162
  ] });
2451
3163
  }
3164
+
3165
+ // src/templates/ArticleTable.module.scss
3166
+ var ArticleTable_module_default = {
3167
+ root: "ArticleTable_module_root",
3168
+ headerRow: "ArticleTable_module_headerRow",
3169
+ rankCell: "ArticleTable_module_rankCell",
3170
+ headerCell: "ArticleTable_module_headerCell",
3171
+ headerLabel: "ArticleTable_module_headerLabel",
3172
+ row: "ArticleTable_module_row",
3173
+ rankValue: "ArticleTable_module_rankValue",
3174
+ cell: "ArticleTable_module_cell",
3175
+ cellText: "ArticleTable_module_cellText",
3176
+ badge: "ArticleTable_module_badge",
3177
+ showMore: "ArticleTable_module_showMore"
3178
+ };
2452
3179
  function ArticleTable({
2453
3180
  columns,
2454
3181
  rows,
@@ -2460,34 +3187,27 @@ function ArticleTable({
2460
3187
  const limit = initialVisible != null ? initialVisible : rows.length;
2461
3188
  const visibleRows = expanded ? rows : rows.slice(0, limit);
2462
3189
  const hiddenCount = rows.length - limit;
2463
- return /* @__PURE__ */ jsxs("div", { className: `w-full ${className}`, children: [
2464
- /* @__PURE__ */ jsxs("div", { className: "flex items-center border-b border-[var(--border-color)] pb-px", children: [
2465
- showRank && /* @__PURE__ */ jsx("div", { className: "w-[120px] shrink-0" }),
2466
- columns.map((col) => /* @__PURE__ */ jsx("div", { className: "flex-1 px-4 py-3.5", children: /* @__PURE__ */ jsx("span", { className: "text-[14px] leading-5 font-medium text-[var(--fg-muted)]", children: col.label }) }, col.key))
3190
+ return /* @__PURE__ */ jsxs("div", { className: `${ArticleTable_module_default.root}${className ? ` ${className}` : ""}`, children: [
3191
+ /* @__PURE__ */ jsxs("div", { className: ArticleTable_module_default.headerRow, children: [
3192
+ showRank && /* @__PURE__ */ jsx("div", { className: ArticleTable_module_default.rankCell }),
3193
+ columns.map((col) => /* @__PURE__ */ jsx("div", { className: ArticleTable_module_default.headerCell, children: /* @__PURE__ */ jsx("span", { className: ArticleTable_module_default.headerLabel, children: col.label }) }, col.key))
2467
3194
  ] }),
2468
- /* @__PURE__ */ jsx("div", { children: visibleRows.map((row, i) => /* @__PURE__ */ jsxs(
2469
- "div",
2470
- {
2471
- className: "flex items-center gap-4 border-b border-[var(--border-color)] last:border-b-0",
2472
- children: [
2473
- showRank && /* @__PURE__ */ jsx("div", { className: "w-[120px] shrink-0 px-4 py-4", children: /* @__PURE__ */ jsx("span", { className: "text-[14px] leading-5 text-[var(--fg-muted)]", children: i + 1 }) }),
2474
- columns.map((col) => {
2475
- const value = row[col.key];
2476
- const hasBadge = row._badge && row._badgeColumn === col.key;
2477
- return /* @__PURE__ */ jsxs("div", { className: "flex-1 px-4 py-4 flex items-center gap-3", children: [
2478
- col.render ? col.render(value, row) : /* @__PURE__ */ jsx("span", { className: "text-[14px] leading-5 text-[var(--fg-secondary)]", children: String(value != null ? value : "") }),
2479
- hasBadge && /* @__PURE__ */ jsx("span", { className: "inline-flex items-center px-2.5 py-0.5 rounded-full text-[12px] leading-4 font-semibold bg-[var(--bg-tertiary)] text-[var(--fg)]", children: row._badge })
2480
- ] }, col.key);
2481
- })
2482
- ]
2483
- },
2484
- i
2485
- )) }),
3195
+ /* @__PURE__ */ jsx("div", { children: visibleRows.map((row, i) => /* @__PURE__ */ jsxs("div", { className: ArticleTable_module_default.row, children: [
3196
+ showRank && /* @__PURE__ */ jsx("div", { className: ArticleTable_module_default.rankValue, children: /* @__PURE__ */ jsx("span", { children: i + 1 }) }),
3197
+ columns.map((col) => {
3198
+ const value = row[col.key];
3199
+ const hasBadge = row._badge && row._badgeColumn === col.key;
3200
+ return /* @__PURE__ */ jsxs("div", { className: ArticleTable_module_default.cell, children: [
3201
+ col.render ? col.render(value, row) : /* @__PURE__ */ jsx("span", { className: ArticleTable_module_default.cellText, children: String(value != null ? value : "") }),
3202
+ hasBadge && /* @__PURE__ */ jsx("span", { className: ArticleTable_module_default.badge, children: row._badge })
3203
+ ] }, col.key);
3204
+ })
3205
+ ] }, i)) }),
2486
3206
  hiddenCount > 0 && !expanded && /* @__PURE__ */ jsxs(
2487
3207
  "button",
2488
3208
  {
2489
3209
  onClick: () => setExpanded(true),
2490
- className: "mt-4 text-[14px] leading-5 font-medium text-[var(--fg-muted)] hover:text-[var(--fg)] transition-colors cursor-pointer",
3210
+ className: ArticleTable_module_default.showMore,
2491
3211
  children: [
2492
3212
  "Show ",
2493
3213
  hiddenCount,
@@ -2497,34 +3217,62 @@ function ArticleTable({
2497
3217
  )
2498
3218
  ] });
2499
3219
  }
3220
+
3221
+ // src/templates/ArticleList.module.scss
3222
+ var ArticleList_module_default = {
3223
+ root: "ArticleList_module_root",
3224
+ ordered: "ArticleList_module_ordered",
3225
+ unordered: "ArticleList_module_unordered",
3226
+ item: "ArticleList_module_item"
3227
+ };
2500
3228
  function ArticleList({
2501
3229
  variant = "unordered",
2502
3230
  items,
2503
3231
  className = ""
2504
3232
  }) {
2505
3233
  const Tag2 = variant === "ordered" ? "ol" : "ul";
2506
- const markerClass = variant === "ordered" ? "list-decimal" : "list-disc";
3234
+ const variantClass = variant === "ordered" ? ArticleList_module_default.ordered : ArticleList_module_default.unordered;
2507
3235
  return /* @__PURE__ */ jsx(
2508
3236
  Tag2,
2509
3237
  {
2510
- className: `pl-[26px] flex flex-col gap-2 text-[16px] leading-7 text-[var(--fg-secondary)] ${markerClass} ${className}`,
2511
- children: items.map((item, i) => /* @__PURE__ */ jsx("li", { className: "pl-1", children: item }, i))
3238
+ className: `${ArticleList_module_default.root} ${variantClass}${className ? ` ${className}` : ""}`,
3239
+ children: items.map((item, i) => /* @__PURE__ */ jsx("li", { className: ArticleList_module_default.item, children: item }, i))
2512
3240
  }
2513
3241
  );
2514
3242
  }
3243
+
3244
+ // src/templates/ArticleNote.module.scss
3245
+ var ArticleNote_module_default = {
3246
+ root: "ArticleNote_module_root"
3247
+ };
2515
3248
  function ArticleNote({ children, className = "" }) {
2516
- return /* @__PURE__ */ jsx(
2517
- "p",
2518
- {
2519
- className: `text-[16px] leading-7 text-[var(--fg-secondary)] italic ${className}`,
2520
- children
2521
- }
2522
- );
3249
+ return /* @__PURE__ */ jsx("p", { className: `${ArticleNote_module_default.root}${className ? ` ${className}` : ""}`, children });
2523
3250
  }
2524
- var roleStyles = {
2525
- assistant: { bg: "bg-[var(--bg-secondary)]", label: "text-[var(--fg-secondary)]", gradient: "var(--bg-secondary)" },
2526
- system: { bg: "bg-[var(--bg-tertiary)]", label: "text-[var(--fg-secondary)]", gradient: "var(--bg-tertiary)" },
2527
- user: { bg: "bg-[var(--bg-secondary)]", label: "text-[var(--fg-secondary)]", gradient: "var(--bg-secondary)" }
3251
+
3252
+ // src/templates/ArticleChatBlock.module.scss
3253
+ var ArticleChatBlock_module_default = {
3254
+ root: "ArticleChatBlock_module_root",
3255
+ assistant: "ArticleChatBlock_module_assistant",
3256
+ system: "ArticleChatBlock_module_system",
3257
+ user: "ArticleChatBlock_module_user",
3258
+ header: "ArticleChatBlock_module_header",
3259
+ roleLabel: "ArticleChatBlock_module_roleLabel",
3260
+ toolBadge: "ArticleChatBlock_module_toolBadge",
3261
+ toolBadgeInner: "ArticleChatBlock_module_toolBadgeInner",
3262
+ toolDot: "ArticleChatBlock_module_toolDot",
3263
+ toolLabel: "ArticleChatBlock_module_toolLabel",
3264
+ divider: "ArticleChatBlock_module_divider",
3265
+ contentWrapper: "ArticleChatBlock_module_contentWrapper",
3266
+ content: "ArticleChatBlock_module_content",
3267
+ fadeOverlay: "ArticleChatBlock_module_fadeOverlay",
3268
+ fadeGradient: "ArticleChatBlock_module_fadeGradient",
3269
+ showMoreBar: "ArticleChatBlock_module_showMoreBar",
3270
+ showMoreBtn: "ArticleChatBlock_module_showMoreBtn"
3271
+ };
3272
+ var roleConfig = {
3273
+ assistant: { cls: ArticleChatBlock_module_default.assistant, gradient: "var(--bg-secondary)" },
3274
+ system: { cls: ArticleChatBlock_module_default.system, gradient: "var(--bg-tertiary)" },
3275
+ user: { cls: ArticleChatBlock_module_default.user, gradient: "var(--bg-secondary)" }
2528
3276
  };
2529
3277
  function ArticleChatBlock({
2530
3278
  role,
@@ -2537,41 +3285,41 @@ function ArticleChatBlock({
2537
3285
  }) {
2538
3286
  var _a;
2539
3287
  const [expanded, setExpanded] = useState(false);
2540
- const styles = (_a = roleStyles[role]) != null ? _a : roleStyles.assistant;
2541
- return /* @__PURE__ */ jsxs("div", { className: `w-full rounded-[var(--radius-lg)] overflow-hidden ${styles.bg} ${className}`, children: [
2542
- /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 px-5 pt-4 pb-2", children: /* @__PURE__ */ jsxs("span", { className: `text-[12px] leading-4 ${styles.label}`, children: [
3288
+ const config = (_a = roleConfig[role]) != null ? _a : roleConfig.assistant;
3289
+ return /* @__PURE__ */ jsxs("div", { className: `${ArticleChatBlock_module_default.root} ${config.cls}${className ? ` ${className}` : ""}`, children: [
3290
+ /* @__PURE__ */ jsx("div", { className: ArticleChatBlock_module_default.header, children: /* @__PURE__ */ jsxs("span", { className: ArticleChatBlock_module_default.roleLabel, children: [
2543
3291
  role,
2544
3292
  model && ` \u2022 ${model}`
2545
3293
  ] }) }),
2546
- toolCall && /* @__PURE__ */ jsx("div", { className: "px-5 pb-2", children: /* @__PURE__ */ jsxs("div", { className: "inline-flex items-center gap-1.5 px-3 py-1 rounded-full border border-[var(--border-color)] bg-[var(--bg)]", children: [
2547
- /* @__PURE__ */ jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-[var(--color-accent)]" }),
2548
- /* @__PURE__ */ jsx("span", { className: "text-[13px] font-medium tracking-[-0.25px] text-[var(--fg-secondary)]", children: toolCall })
3294
+ toolCall && /* @__PURE__ */ jsx("div", { className: ArticleChatBlock_module_default.toolBadge, children: /* @__PURE__ */ jsxs("div", { className: ArticleChatBlock_module_default.toolBadgeInner, children: [
3295
+ /* @__PURE__ */ jsx("span", { className: ArticleChatBlock_module_default.toolDot }),
3296
+ /* @__PURE__ */ jsx("span", { className: ArticleChatBlock_module_default.toolLabel, children: toolCall })
2549
3297
  ] }) }),
2550
- /* @__PURE__ */ jsx("div", { className: "mx-5 h-px bg-[var(--border-color)]" }),
2551
- /* @__PURE__ */ jsxs("div", { className: "relative", children: [
3298
+ /* @__PURE__ */ jsx("div", { className: ArticleChatBlock_module_default.divider }),
3299
+ /* @__PURE__ */ jsxs("div", { className: ArticleChatBlock_module_default.contentWrapper, children: [
2552
3300
  /* @__PURE__ */ jsx(
2553
3301
  "div",
2554
3302
  {
2555
- className: "px-5 py-4 text-[14px] leading-6 text-[var(--fg-secondary)] overflow-hidden transition-all",
3303
+ className: ArticleChatBlock_module_default.content,
2556
3304
  style: collapsible && !expanded ? { maxHeight: collapsedHeight, overflow: "hidden" } : void 0,
2557
3305
  children
2558
3306
  }
2559
3307
  ),
2560
- collapsible && !expanded && /* @__PURE__ */ jsxs("div", { className: "absolute bottom-0 left-0 right-0", children: [
3308
+ collapsible && !expanded && /* @__PURE__ */ jsxs("div", { className: ArticleChatBlock_module_default.fadeOverlay, children: [
2561
3309
  /* @__PURE__ */ jsx(
2562
3310
  "div",
2563
3311
  {
2564
- className: "h-16 pointer-events-none",
3312
+ className: ArticleChatBlock_module_default.fadeGradient,
2565
3313
  style: {
2566
- background: `linear-gradient(to top, ${styles.gradient}, transparent)`
3314
+ background: `linear-gradient(to top, ${config.gradient}, transparent)`
2567
3315
  }
2568
3316
  }
2569
3317
  ),
2570
- /* @__PURE__ */ jsx("div", { className: `px-5 pb-4 ${styles.bg}`, children: /* @__PURE__ */ jsx(
3318
+ /* @__PURE__ */ jsx("div", { className: `${ArticleChatBlock_module_default.showMoreBar} ${config.cls}`, children: /* @__PURE__ */ jsx(
2571
3319
  "button",
2572
3320
  {
2573
3321
  onClick: () => setExpanded(true),
2574
- className: "text-[14px] leading-5 font-medium text-[var(--fg-muted)] hover:text-[var(--fg)] transition-colors cursor-pointer",
3322
+ className: ArticleChatBlock_module_default.showMoreBtn,
2575
3323
  children: "Show more"
2576
3324
  }
2577
3325
  ) })
@@ -2579,40 +3327,79 @@ function ArticleChatBlock({
2579
3327
  ] })
2580
3328
  ] });
2581
3329
  }
3330
+
3331
+ // src/templates/ArticleLinkButton.module.scss
3332
+ var ArticleLinkButton_module_default = {
3333
+ root: "ArticleLinkButton_module_root"
3334
+ };
2582
3335
  function ArticleLinkButton({
2583
3336
  children,
2584
3337
  href,
2585
3338
  onClick,
2586
3339
  className = ""
2587
3340
  }) {
2588
- const baseClass = `inline-flex items-center justify-center px-4 py-2 rounded-full bg-[var(--fg)] text-[13px] font-medium tracking-[-0.25px] text-[var(--bg)] border border-[var(--bg)] shadow-[var(--shadow-sm)] hover:opacity-90 active:opacity-80 transition-all duration-[var(--transition-fast)] cursor-pointer ${className}`;
3341
+ const cls = `${ArticleLinkButton_module_default.root}${className ? ` ${className}` : ""}`;
2589
3342
  if (href) {
2590
- return /* @__PURE__ */ jsx("a", { href, className: baseClass, children });
3343
+ return /* @__PURE__ */ jsx("a", { href, className: cls, children });
2591
3344
  }
2592
- return /* @__PURE__ */ jsx("button", { onClick, className: baseClass, children });
3345
+ return /* @__PURE__ */ jsx("button", { onClick, className: cls, children });
2593
3346
  }
3347
+
3348
+ // src/templates/ArticleFooter.module.scss
3349
+ var ArticleFooter_module_default = {
3350
+ root: "ArticleFooter_module_root",
3351
+ topBar: "ArticleFooter_module_topBar",
3352
+ logo: "ArticleFooter_module_logo",
3353
+ divider: "ArticleFooter_module_divider",
3354
+ copyright: "ArticleFooter_module_copyright"
3355
+ };
2594
3356
  function ArticleFooter({
2595
3357
  logo,
2596
3358
  copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} All rights reserved.`,
2597
3359
  className = ""
2598
3360
  }) {
2599
- return /* @__PURE__ */ jsxs("footer", { className: `w-full px-20 py-10 flex flex-col gap-10 ${className}`, children: [
2600
- /* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
2601
- logo && /* @__PURE__ */ jsx("div", { className: "shrink-0 pr-10", children: logo }),
2602
- /* @__PURE__ */ jsx("div", { className: "flex-1 h-px bg-[var(--fg)]" })
3361
+ return /* @__PURE__ */ jsxs("footer", { className: `${ArticleFooter_module_default.root}${className ? ` ${className}` : ""}`, children: [
3362
+ /* @__PURE__ */ jsxs("div", { className: ArticleFooter_module_default.topBar, children: [
3363
+ logo && /* @__PURE__ */ jsx("div", { className: ArticleFooter_module_default.logo, children: logo }),
3364
+ /* @__PURE__ */ jsx("div", { className: ArticleFooter_module_default.divider })
2603
3365
  ] }),
2604
- /* @__PURE__ */ jsx("p", { className: "text-[14px] leading-5 text-[var(--fg-muted)]", children: copyright })
3366
+ /* @__PURE__ */ jsx("p", { className: ArticleFooter_module_default.copyright, children: copyright })
2605
3367
  ] });
2606
3368
  }
3369
+
3370
+ // src/templates/ArticleLayout.module.scss
3371
+ var ArticleLayout_module_default = {
3372
+ root: "ArticleLayout_module_root",
3373
+ wide: "ArticleLayout_module_wide",
3374
+ narrow: "ArticleLayout_module_narrow"
3375
+ };
2607
3376
  function ArticleLayout({ children, className = "" }) {
2608
- return /* @__PURE__ */ jsx("article", { className: `w-full max-w-[1100px] mx-auto flex flex-col gap-5 ${className}`, children });
3377
+ return /* @__PURE__ */ jsx("article", { className: `${ArticleLayout_module_default.root}${className ? ` ${className}` : ""}`, children });
2609
3378
  }
2610
3379
  function ArticleWide({ children, className = "" }) {
2611
- return /* @__PURE__ */ jsx("div", { className: `w-full ${className}`, children });
3380
+ return /* @__PURE__ */ jsx("div", { className: `${ArticleLayout_module_default.wide}${className ? ` ${className}` : ""}`, children });
2612
3381
  }
2613
3382
  function ArticleNarrow({ children, className = "" }) {
2614
- return /* @__PURE__ */ jsx("div", { className: `w-full max-w-[720px] ${className}`, children });
3383
+ return /* @__PURE__ */ jsx("div", { className: `${ArticleLayout_module_default.narrow}${className ? ` ${className}` : ""}`, children });
2615
3384
  }
3385
+
3386
+ // src/templates/ArticleChart.module.scss
3387
+ var ArticleChart_module_default = {
3388
+ figure: "ArticleChart_module_figure",
3389
+ chartWrapper: "ArticleChart_module_chartWrapper",
3390
+ tooltip: "ArticleChart_module_tooltip",
3391
+ tooltipLabel: "ArticleChart_module_tooltipLabel",
3392
+ tooltipRow: "ArticleChart_module_tooltipRow",
3393
+ tooltipDot: "ArticleChart_module_tooltipDot",
3394
+ tooltipName: "ArticleChart_module_tooltipName",
3395
+ tooltipValue: "ArticleChart_module_tooltipValue",
3396
+ scatterTooltipLabel: "ArticleChart_module_scatterTooltipLabel",
3397
+ scatterTooltipRow: "ArticleChart_module_scatterTooltipRow",
3398
+ legend: "ArticleChart_module_legend",
3399
+ legendItem: "ArticleChart_module_legendItem",
3400
+ legendSwatch: "ArticleChart_module_legendSwatch",
3401
+ legendLabel: "ArticleChart_module_legendLabel"
3402
+ };
2616
3403
  function ChartTooltip({
2617
3404
  active,
2618
3405
  payload,
@@ -2623,15 +3410,15 @@ function ChartTooltip({
2623
3410
  }) {
2624
3411
  if (!active || !(payload == null ? void 0 : payload.length)) return null;
2625
3412
  const fmt = valueFormatter != null ? valueFormatter : ((v) => String(v));
2626
- return /* @__PURE__ */ jsxs("div", { className: "bg-[var(--bg)] border border-[var(--border-color)] rounded-[var(--radius-md)] shadow-[var(--shadow-md)] px-3 py-2 text-[12px] leading-4", children: [
2627
- label !== void 0 && /* @__PURE__ */ jsxs("p", { className: "text-[var(--fg-muted)] mb-1", children: [
3413
+ return /* @__PURE__ */ jsxs("div", { className: ArticleChart_module_default.tooltip, children: [
3414
+ label !== void 0 && /* @__PURE__ */ jsxs("p", { className: ArticleChart_module_default.tooltipLabel, children: [
2628
3415
  xLabel ? `${xLabel}: ` : "",
2629
3416
  label
2630
3417
  ] }),
2631
- payload.map((entry, i) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
2632
- /* @__PURE__ */ jsx("span", { className: "w-2 h-2 rounded-full shrink-0", style: { backgroundColor: entry.color } }),
2633
- /* @__PURE__ */ jsx("span", { className: "text-[var(--fg-secondary)]", children: entry.name }),
2634
- /* @__PURE__ */ jsx("span", { className: "font-medium text-[var(--fg)] ml-auto pl-3", children: yLabel ? `${fmt(entry.value)} ` : fmt(entry.value) })
3418
+ payload.map((entry, i) => /* @__PURE__ */ jsxs("div", { className: ArticleChart_module_default.tooltipRow, children: [
3419
+ /* @__PURE__ */ jsx("span", { className: ArticleChart_module_default.tooltipDot, style: { backgroundColor: entry.color } }),
3420
+ /* @__PURE__ */ jsx("span", { className: ArticleChart_module_default.tooltipName, children: entry.name }),
3421
+ /* @__PURE__ */ jsx("span", { className: ArticleChart_module_default.tooltipValue, children: yLabel ? `${fmt(entry.value)} ` : fmt(entry.value) })
2635
3422
  ] }, i))
2636
3423
  ] });
2637
3424
  }
@@ -2645,8 +3432,8 @@ function ArticleLineChart({
2645
3432
  valueFormatter,
2646
3433
  className = ""
2647
3434
  }) {
2648
- return /* @__PURE__ */ jsxs("figure", { className: `w-full ${className}`, children: [
2649
- /* @__PURE__ */ jsx("div", { className: "w-full", style: { height }, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ jsxs(LineChart, { data, margin: { top: 8, right: 16, bottom: 4, left: 8 }, children: [
3435
+ return /* @__PURE__ */ jsxs("figure", { className: `${ArticleChart_module_default.figure}${className ? ` ${className}` : ""}`, children: [
3436
+ /* @__PURE__ */ jsx("div", { className: ArticleChart_module_default.chartWrapper, style: { height }, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ jsxs(LineChart, { data, margin: { top: 8, right: 16, bottom: 4, left: 8 }, children: [
2650
3437
  /* @__PURE__ */ jsx(CartesianGrid, { strokeDasharray: "3 3", stroke: "var(--border-color)" }),
2651
3438
  /* @__PURE__ */ jsx(
2652
3439
  XAxis,
@@ -2696,9 +3483,9 @@ function ArticleLineChart({
2696
3483
  s.dataKey
2697
3484
  ))
2698
3485
  ] }) }) }),
2699
- /* @__PURE__ */ jsx("div", { className: "flex items-center gap-4 mt-3 flex-wrap", children: series.map((s) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5", children: [
2700
- /* @__PURE__ */ jsx("span", { className: "w-3 h-3 rounded-sm shrink-0", style: { backgroundColor: s.color } }),
2701
- /* @__PURE__ */ jsx("span", { className: "text-[12px] leading-4 text-[var(--fg-secondary)]", children: s.name })
3486
+ /* @__PURE__ */ jsx("div", { className: ArticleChart_module_default.legend, children: series.map((s) => /* @__PURE__ */ jsxs("div", { className: ArticleChart_module_default.legendItem, children: [
3487
+ /* @__PURE__ */ jsx("span", { className: ArticleChart_module_default.legendSwatch, style: { backgroundColor: s.color } }),
3488
+ /* @__PURE__ */ jsx("span", { className: ArticleChart_module_default.legendLabel, children: s.name })
2702
3489
  ] }, s.dataKey)) })
2703
3490
  ] });
2704
3491
  }
@@ -2713,8 +3500,8 @@ function ArticleBarChart({
2713
3500
  valueFormatter,
2714
3501
  className = ""
2715
3502
  }) {
2716
- return /* @__PURE__ */ jsxs("figure", { className: `w-full ${className}`, children: [
2717
- /* @__PURE__ */ jsx("div", { className: "w-full", style: { height }, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ jsxs(BarChart, { data, margin: { top: 8, right: 16, bottom: 4, left: 8 }, children: [
3503
+ return /* @__PURE__ */ jsxs("figure", { className: `${ArticleChart_module_default.figure}${className ? ` ${className}` : ""}`, children: [
3504
+ /* @__PURE__ */ jsx("div", { className: ArticleChart_module_default.chartWrapper, style: { height }, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ jsxs(BarChart, { data, margin: { top: 8, right: 16, bottom: 4, left: 8 }, children: [
2718
3505
  /* @__PURE__ */ jsx(CartesianGrid, { strokeDasharray: "3 3", stroke: "var(--border-color)", vertical: false }),
2719
3506
  /* @__PURE__ */ jsx(
2720
3507
  XAxis,
@@ -2762,9 +3549,9 @@ function ArticleBarChart({
2762
3549
  s.dataKey
2763
3550
  ))
2764
3551
  ] }) }) }),
2765
- /* @__PURE__ */ jsx("div", { className: "flex items-center gap-4 mt-3 flex-wrap", children: series.map((s) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5", children: [
2766
- /* @__PURE__ */ jsx("span", { className: "w-3 h-3 rounded-sm shrink-0", style: { backgroundColor: s.color } }),
2767
- /* @__PURE__ */ jsx("span", { className: "text-[12px] leading-4 text-[var(--fg-secondary)]", children: s.name })
3552
+ /* @__PURE__ */ jsx("div", { className: ArticleChart_module_default.legend, children: series.map((s) => /* @__PURE__ */ jsxs("div", { className: ArticleChart_module_default.legendItem, children: [
3553
+ /* @__PURE__ */ jsx("span", { className: ArticleChart_module_default.legendSwatch, style: { backgroundColor: s.color } }),
3554
+ /* @__PURE__ */ jsx("span", { className: ArticleChart_module_default.legendLabel, children: s.name })
2768
3555
  ] }, s.dataKey)) })
2769
3556
  ] });
2770
3557
  }
@@ -2782,7 +3569,7 @@ function ArticleScatterChart({
2782
3569
  var _a;
2783
3570
  return (_a = d.color) != null ? _a : color;
2784
3571
  });
2785
- return /* @__PURE__ */ jsx("figure", { className: `w-full ${className}`, children: /* @__PURE__ */ jsx("div", { className: "w-full", style: { height }, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ jsxs(ScatterChart, { margin: { top: 8, right: 16, bottom: 4, left: 8 }, children: [
3572
+ return /* @__PURE__ */ jsx("figure", { className: `${ArticleChart_module_default.figure}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsx("div", { className: ArticleChart_module_default.chartWrapper, style: { height }, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ jsxs(ScatterChart, { margin: { top: 8, right: 16, bottom: 4, left: 8 }, children: [
2786
3573
  /* @__PURE__ */ jsx(CartesianGrid, { strokeDasharray: "3 3", stroke: "var(--border-color)" }),
2787
3574
  /* @__PURE__ */ jsx(
2788
3575
  XAxis,
@@ -2818,14 +3605,14 @@ function ArticleScatterChart({
2818
3605
  if (!active || !(payload == null ? void 0 : payload.length)) return null;
2819
3606
  const point = (_a = payload[0]) == null ? void 0 : _a.payload;
2820
3607
  const fmt = valueFormatter != null ? valueFormatter : ((v) => String(v));
2821
- return /* @__PURE__ */ jsxs("div", { className: "bg-[var(--bg)] border border-[var(--border-color)] rounded-[var(--radius-md)] shadow-[var(--shadow-md)] px-3 py-2 text-[12px] leading-4", children: [
2822
- point.label && /* @__PURE__ */ jsx("p", { className: "font-medium text-[var(--fg)] mb-1", children: point.label }),
2823
- xLabel && /* @__PURE__ */ jsxs("p", { className: "text-[var(--fg-secondary)]", children: [
3608
+ return /* @__PURE__ */ jsxs("div", { className: ArticleChart_module_default.tooltip, children: [
3609
+ point.label && /* @__PURE__ */ jsx("p", { className: ArticleChart_module_default.scatterTooltipLabel, children: point.label }),
3610
+ xLabel && /* @__PURE__ */ jsxs("p", { className: ArticleChart_module_default.scatterTooltipRow, children: [
2824
3611
  xLabel,
2825
3612
  ": ",
2826
3613
  fmt(point.x)
2827
3614
  ] }),
2828
- yLabel && /* @__PURE__ */ jsxs("p", { className: "text-[var(--fg-secondary)]", children: [
3615
+ yLabel && /* @__PURE__ */ jsxs("p", { className: ArticleChart_module_default.scatterTooltipRow, children: [
2829
3616
  yLabel,
2830
3617
  ": ",
2831
3618
  fmt(point.y)
@@ -2837,6 +3624,16 @@ function ArticleScatterChart({
2837
3624
  /* @__PURE__ */ jsx(Scatter, { data, children: data.map((_, i) => /* @__PURE__ */ jsx(Cell, { fill: colors[i], r: 6 }, i)) })
2838
3625
  ] }) }) }) });
2839
3626
  }
3627
+
3628
+ // src/templates/LandingLayout.module.scss
3629
+ var LandingLayout_module_default = {
3630
+ headerMode: "LandingLayout_module_headerMode",
3631
+ headerMain: "LandingLayout_module_headerMain",
3632
+ sidebarMode: "LandingLayout_module_sidebarMode",
3633
+ sidebarNav: "LandingLayout_module_sidebarNav",
3634
+ sidebarMain: "LandingLayout_module_sidebarMain",
3635
+ sidebarContent: "LandingLayout_module_sidebarContent"
3636
+ };
2840
3637
  function LandingLayout({
2841
3638
  mode = "header",
2842
3639
  nav,
@@ -2844,14 +3641,14 @@ function LandingLayout({
2844
3641
  className = ""
2845
3642
  }) {
2846
3643
  if (mode === "sidebar") {
2847
- return /* @__PURE__ */ jsxs("div", { className: `flex min-h-screen bg-[var(--bg)] ${className}`, children: [
2848
- nav && /* @__PURE__ */ jsx("div", { className: "hidden md:flex shrink-0", children: nav }),
2849
- /* @__PURE__ */ jsx("main", { className: "flex-1 overflow-y-auto", children: /* @__PURE__ */ jsx("div", { className: "px-6 md:px-10 lg:px-16 max-w-5xl", children }) })
3644
+ return /* @__PURE__ */ jsxs("div", { className: `${LandingLayout_module_default.sidebarMode}${className ? ` ${className}` : ""}`, children: [
3645
+ nav && /* @__PURE__ */ jsx("div", { className: LandingLayout_module_default.sidebarNav, children: nav }),
3646
+ /* @__PURE__ */ jsx("main", { className: LandingLayout_module_default.sidebarMain, children: /* @__PURE__ */ jsx("div", { className: LandingLayout_module_default.sidebarContent, children }) })
2850
3647
  ] });
2851
3648
  }
2852
- return /* @__PURE__ */ jsxs("div", { className: `min-h-screen bg-[var(--bg)] ${className}`, children: [
3649
+ return /* @__PURE__ */ jsxs("div", { className: `${LandingLayout_module_default.headerMode}${className ? ` ${className}` : ""}`, children: [
2853
3650
  nav,
2854
- /* @__PURE__ */ jsx("main", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children })
3651
+ /* @__PURE__ */ jsx("main", { className: LandingLayout_module_default.headerMain, children })
2855
3652
  ] });
2856
3653
  }
2857
3654