@tempots/beatui 0.87.4 → 0.88.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/{ar-Dn7AkNO5.js → ar-MUKILk4c.js} +1 -1
  2. package/dist/auth/index.es.js +1 -1
  3. package/dist/{auth-divider-BZPM2Xd3.js → auth-divider-DvVmqjnk.js} +7 -7
  4. package/dist/beatui.css +732 -671
  5. package/dist/beatui.tailwind.css +714 -662
  6. package/dist/better-auth/index.es.js +5 -5
  7. package/dist/{colors-CatA-RXf.js → colors-BY0Ja_bf.js} +3 -3
  8. package/dist/{de-QYhBiWv7.js → de-CEsW1rVX.js} +1 -1
  9. package/dist/deep-merge-Dgy9xj6w.cjs +1 -0
  10. package/dist/{deep-merge-D076XcC5.js → deep-merge-OvVqSLSN.js} +322 -304
  11. package/dist/{duration-input-6RN16H08.js → duration-input-BCXujp0V.js} +4 -4
  12. package/dist/{duration-input-CJU-yeKk.cjs → duration-input-MJz6UO6E.cjs} +1 -1
  13. package/dist/{editor-toolbar-group-DRCbXeQP.js → editor-toolbar-group-Cnta0SOa.js} +2 -2
  14. package/dist/{es-Ba31pZAd.js → es-ChP-aFwC.js} +1 -1
  15. package/dist/{fa-DvLjl_Ha.js → fa-CNsrlIqh.js} +1 -1
  16. package/dist/{fr-D64yBpAp.js → fr-DgEFKpML.js} +1 -1
  17. package/dist/{he-DHZGEQ7C.js → he-B4TqfISZ.js} +1 -1
  18. package/dist/{hi-CeAXVCvp.js → hi-TSoDsngT.js} +1 -1
  19. package/dist/{index-KNk3k6NI.js → index-1JaBwDB-.js} +1 -1
  20. package/dist/index-B8cqD9ny.js +838 -0
  21. package/dist/index-CN10Cyqr.cjs +1 -0
  22. package/dist/{index-yMrXbIdg.cjs → index-CTcbhnPw.cjs} +1 -1
  23. package/dist/{index-BIGCKfNz.cjs → index-D3QVPAme.cjs} +2 -2
  24. package/dist/{index-Bso_SkEn.cjs → index-D4ZFV8Rs.cjs} +1 -1
  25. package/dist/{index-anrXec7K.cjs → index-DF7RFzD9.cjs} +1 -1
  26. package/dist/{index-DWDC-qRY.js → index-DOc1_-Nm.js} +1 -1
  27. package/dist/{index-BTITknMc.js → index-D_aTUfqS.js} +6 -6
  28. package/dist/{index-BFe-x3-z.js → index-DfPkCwdC.js} +2 -2
  29. package/dist/index.cjs.js +4 -4
  30. package/dist/index.es.js +1500 -1472
  31. package/dist/{input-container-BTyCOubf.js → input-container-BBWCDGTv.js} +1 -1
  32. package/dist/{it-Im0KgKWL.js → it-BrbebXg4.js} +1 -1
  33. package/dist/{ja-lliCbC19.js → ja-DcfOktrV.js} +1 -1
  34. package/dist/json-schema/index.cjs.js +1 -1
  35. package/dist/json-schema/index.es.js +11 -11
  36. package/dist/json-schema-display/index.es.js +1 -1
  37. package/dist/json-structure/index.cjs.js +1 -1
  38. package/dist/json-structure/index.es.js +6 -6
  39. package/dist/{ko-B9W4RBBs.js → ko-73e6t369.js} +1 -1
  40. package/dist/lexical/index.cjs.js +1 -1
  41. package/dist/lexical/index.es.js +7 -7
  42. package/dist/lexical.css +24 -23
  43. package/dist/markdown/index.cjs.js +1 -1
  44. package/dist/markdown/index.es.js +1 -1
  45. package/dist/markdown.css +7 -7
  46. package/dist/{modal-CD3DwAlD.js → modal-BBJWY7NB.js} +3 -3
  47. package/dist/{nl-ba5SyHsw.js → nl-Bq-1-ulc.js} +1 -1
  48. package/dist/{notice-Cc26kgiB.js → notice-AUVH8Lho.js} +4 -4
  49. package/dist/{oneof-branch-detection-DiAtgGQH.js → oneof-branch-detection-BQnRjp9P.js} +1 -1
  50. package/dist/{pl-DCiJAZWC.js → pl-Du9-VCfW.js} +1 -1
  51. package/dist/prosemirror/index.cjs.js +1 -1
  52. package/dist/prosemirror/index.es.js +1 -1
  53. package/dist/prosemirror.css +7 -7
  54. package/dist/{pt-Df5bAGWA.js → pt-B2UqqSAB.js} +1 -1
  55. package/dist/{ru-Dg-c670Y.js → ru-DiWa2inw.js} +1 -1
  56. package/dist/styles-url-4g2WnNJ8.js +4 -0
  57. package/dist/{styles-url-DZhZ-9Bf.js → styles-url-CJYy5nML.js} +1 -1
  58. package/dist/{styles-url-YAJ6Q1GS.cjs → styles-url-D8nVwSmZ.cjs} +1 -1
  59. package/dist/{styles-url-BSUFsmMD.cjs → styles-url-evUdl8tK.cjs} +1 -1
  60. package/dist/{styles-url-BvcVGpBJ.js → styles-url-hKxIOumK.js} +1 -1
  61. package/dist/styles-url-mlDYoWbF.cjs +1 -0
  62. package/dist/tailwind/preset.cjs.js +1 -1
  63. package/dist/tailwind/preset.es.js +2 -2
  64. package/dist/tailwind/vite-plugin.cjs.js +1 -1
  65. package/dist/tailwind/vite-plugin.es.js +1 -1
  66. package/dist/{text-input-Cux5iiUC.js → text-input-6FD7p7hN.js} +1 -1
  67. package/dist/{toolbar-DYmKrtic.js → toolbar-Cr0JGj5h.js} +1 -1
  68. package/dist/{tr-Dhpiq0u_.js → tr-Culcm2Zb.js} +1 -1
  69. package/dist/{translations-COSDzhvR.js → translations-Cttn6w0G.js} +1 -1
  70. package/dist/{translations-BLlzvZgw.js → translations-uEUkO6gJ.js} +19 -19
  71. package/dist/types/components/form/input/step-utils.d.ts +5 -0
  72. package/dist/types/tailwind/preset.d.ts +1 -1
  73. package/dist/types/tailwind/vite-plugin.d.ts +1 -1
  74. package/dist/types/tokens/borders.d.ts +104 -0
  75. package/dist/types/tokens/controls.d.ts +127 -0
  76. package/dist/types/tokens/index.d.ts +2 -0
  77. package/dist/types/tokens/radius.d.ts +14 -14
  78. package/dist/types/tokens/typography.d.ts +33 -33
  79. package/dist/{ur-Lr1p8f9y.js → ur-Deb-uH6b.js} +1 -1
  80. package/dist/{use-form-BfzX3bwL.js → use-form-lg6-7Brc.js} +3 -2
  81. package/dist/{vi-jozfaxSj.js → vi-CUsCVh3n.js} +1 -1
  82. package/dist/{widget-customization-BZqPoojo.cjs → widget-customization-BLvD4Lqt.cjs} +1 -1
  83. package/dist/{widget-customization-fMNSVtuP.js → widget-customization-CDD72zYs.js} +5 -5
  84. package/dist/{zh-BBYKq49d.js → zh-Dil2Jft8.js} +1 -1
  85. package/package.json +11 -11
  86. package/dist/deep-merge-BmxkFFi1.cjs +0 -1
  87. package/dist/index-BywbRDsb.cjs +0 -1
  88. package/dist/index-rHnH2IGb.js +0 -671
  89. package/dist/styles-url-CCopc5pG.js +0 -4
  90. package/dist/styles-url-CEDSZTyZ.cjs +0 -1
@@ -265,36 +265,36 @@
265
265
  --spacing-3xl: calc(var(--spacing-base) * 12);
266
266
  --spacing-4xl: calc(var(--spacing-base) * 16);
267
267
  --spacing-full: 2000px;
268
- --base-font-size: 1rem;
269
- --font-size-3xs: calc(var(--base-font-size) * 0.5);
270
- --font-size-3xs-lh: calc(var(--base-font-size) * 0.75);
271
- --font-size-2xs: calc(var(--base-font-size) * 0.625);
272
- --font-size-2xs-lh: calc(var(--base-font-size) * 0.75);
273
- --font-size-xs: calc(var(--base-font-size) * 0.75);
274
- --font-size-xs-lh: var(--base-font-size);
275
- --font-size-sm: calc(var(--base-font-size) * 0.875);
276
- --font-size-sm-lh: calc(var(--base-font-size) * 1.25);
277
- --font-size-md: var(--base-font-size);
278
- --font-size-md-lh: calc(var(--base-font-size) * 1.5);
279
- --font-size-lg: calc(var(--base-font-size) * 1.125);
280
- --font-size-lg-lh: calc(var(--base-font-size) * 1.75);
281
- --font-size-xl: calc(var(--base-font-size) * 1.25);
282
- --font-size-xl-lh: calc(var(--base-font-size) * 1.75);
283
- --font-size-2xl: calc(var(--base-font-size) * 1.5);
284
- --font-size-2xl-lh: calc(var(--base-font-size) * 2);
285
- --font-size-3xl: calc(var(--base-font-size) * 1.875);
286
- --font-size-3xl-lh: calc(var(--base-font-size) * 2.25);
287
- --font-size-4xl: calc(var(--base-font-size) * 2.25);
288
- --font-size-4xl-lh: calc(var(--base-font-size) * 2.5);
289
- --font-size-5xl: calc(var(--base-font-size) * 3);
268
+ --font-size-base: 1rem;
269
+ --font-size-3xs: calc(var(--font-size-base) * 0.5);
270
+ --font-size-3xs-lh: calc(var(--font-size-base) * 0.75);
271
+ --font-size-2xs: calc(var(--font-size-base) * 0.625);
272
+ --font-size-2xs-lh: calc(var(--font-size-base) * 0.75);
273
+ --font-size-xs: calc(var(--font-size-base) * 0.75);
274
+ --font-size-xs-lh: var(--font-size-base);
275
+ --font-size-sm: calc(var(--font-size-base) * 0.875);
276
+ --font-size-sm-lh: calc(var(--font-size-base) * 1.25);
277
+ --font-size-md: var(--font-size-base);
278
+ --font-size-md-lh: calc(var(--font-size-base) * 1.5);
279
+ --font-size-lg: calc(var(--font-size-base) * 1.125);
280
+ --font-size-lg-lh: calc(var(--font-size-base) * 1.75);
281
+ --font-size-xl: calc(var(--font-size-base) * 1.25);
282
+ --font-size-xl-lh: calc(var(--font-size-base) * 1.75);
283
+ --font-size-2xl: calc(var(--font-size-base) * 1.5);
284
+ --font-size-2xl-lh: calc(var(--font-size-base) * 2);
285
+ --font-size-3xl: calc(var(--font-size-base) * 1.875);
286
+ --font-size-3xl-lh: calc(var(--font-size-base) * 2.25);
287
+ --font-size-4xl: calc(var(--font-size-base) * 2.25);
288
+ --font-size-4xl-lh: calc(var(--font-size-base) * 2.5);
289
+ --font-size-5xl: calc(var(--font-size-base) * 3);
290
290
  --font-size-5xl-lh: 1;
291
- --font-size-6xl: calc(var(--base-font-size) * 3.75);
291
+ --font-size-6xl: calc(var(--font-size-base) * 3.75);
292
292
  --font-size-6xl-lh: 1;
293
- --font-size-7xl: calc(var(--base-font-size) * 4.5);
293
+ --font-size-7xl: calc(var(--font-size-base) * 4.5);
294
294
  --font-size-7xl-lh: 1;
295
- --font-size-8xl: calc(var(--base-font-size) * 6);
295
+ --font-size-8xl: calc(var(--font-size-base) * 6);
296
296
  --font-size-8xl-lh: 1;
297
- --font-size-9xl: calc(var(--base-font-size) * 8);
297
+ --font-size-9xl: calc(var(--font-size-base) * 8);
298
298
  --font-size-9xl-lh: 1;
299
299
  --font-weight-thin: 100;
300
300
  --font-weight-extralight: 200;
@@ -329,11 +329,11 @@
329
329
  --breakpoint-xl: 80rem;
330
330
  --breakpoint-2xl: 96rem;
331
331
  --radius-none: 0;
332
- --radius-xs: calc(var(--spacing-base) / 2);
333
- --radius-sm: var(--spacing-base);
334
- --radius-md: calc(var(--spacing-base) * 1.5);
335
- --radius-lg: calc(var(--spacing-base) * 2);
336
- --radius-xl: calc(var(--spacing-base) * 3);
332
+ --radius-xs: var(--spacing-xs);
333
+ --radius-sm: var(--spacing-sm);
334
+ --radius-md: var(--spacing-smh);
335
+ --radius-lg: var(--spacing-md);
336
+ --radius-xl: var(--spacing-mdh);
337
337
  --radius-full: 9999px;
338
338
  --shadow-none: none;
339
339
  --shadow-2xs: 0 1px rgb(0 0 0 / 0.05);
@@ -375,6 +375,40 @@
375
375
  --z-index-popover: 80;
376
376
  --z-index-notification: 90;
377
377
  --z-index-maximum: 100;
378
+ --border-width-none: 0;
379
+ --border-width-thin: 1px;
380
+ --border-width-default: 1.5px;
381
+ --border-width-medium: 2px;
382
+ --border-width-thick: 3px;
383
+ --outline-width-none: 0;
384
+ --outline-width-default: 1px;
385
+ --outline-width-focus: 2px;
386
+ --control-height-xs: calc(var(--spacing-base) * 7);
387
+ --control-height-sm: calc(var(--spacing-base) * 8);
388
+ --control-height-md: calc(var(--spacing-base) * 10);
389
+ --control-height-lg: calc(var(--spacing-base) * 12);
390
+ --control-height-xl: calc(var(--spacing-base) * 14);
391
+ --control-padding-block-xs: var(--spacing-xs);
392
+ --control-padding-block-sm: var(--spacing-sm);
393
+ --control-padding-block-md: var(--spacing-md);
394
+ --control-padding-block-lg: var(--spacing-mdh);
395
+ --control-padding-block-xl: var(--spacing-lg);
396
+ --control-padding-inline-xs: var(--spacing-md);
397
+ --control-padding-inline-sm: var(--spacing-mdh);
398
+ --control-padding-inline-md: var(--spacing-lg);
399
+ --control-padding-inline-lg: var(--spacing-lgh);
400
+ --control-padding-inline-xl: var(--spacing-xl);
401
+ --control-gap-xs: var(--spacing-xs);
402
+ --control-gap-sm: var(--spacing-sm);
403
+ --control-gap-md: var(--spacing-smh);
404
+ --control-gap-lg: var(--spacing-md);
405
+ --control-gap-xl: var(--spacing-mdh);
406
+ --overlay-width-xs: min(20rem, 90vw);
407
+ --overlay-width-sm: min(25rem, 90vw);
408
+ --overlay-width-md: min(37.5rem, 90vw);
409
+ --overlay-width-lg: min(50rem, 90vw);
410
+ --overlay-width-xl: min(62.5rem, 90vw);
411
+ --overlay-width-min-width: 12rem;
378
412
  }
379
413
 
380
414
  }
@@ -501,12 +535,12 @@
501
535
  --font-mono: var(--font-family-mono);
502
536
  --font-ui: var(--font-family-sans);
503
537
  --font-prose: var(--font-family-serif);
504
- --default-font-family: var(--font-body);
505
- --default-heading-font-family: var(--font-heading);
506
- --default-display-font-family: var(--font-display);
507
- --default-ui-font-family: var(--font-ui);
508
- --default-prose-font-family: var(--font-prose);
509
- --default-mono-font-family: var(--font-mono);
538
+ --font-family-default: var(--font-body);
539
+ --font-family-default-heading: var(--font-heading);
540
+ --font-family-default-display: var(--font-display);
541
+ --font-family-default-ui: var(--font-ui);
542
+ --font-family-default-prose: var(--font-prose);
543
+ --font-family-default-mono: var(--font-mono);
510
544
  --radius-control: var(--radius-md);
511
545
  --radius-control-sm: var(--radius-sm);
512
546
  --radius-control-xs: var(--radius-xs);
@@ -527,12 +561,12 @@
527
561
  --motion-transition-overlay: var(--motion-duration-relaxed);
528
562
  --motion-transition-emphasis: var(--motion-duration-fast);
529
563
  --motion-easing-emphasis: var(--motion-easing-emphasized);
530
- --spacing-stack-2xs: calc(var(--spacing-base) / 2);
531
- --spacing-stack-xs: calc(var(--spacing-base) * 1);
532
- --spacing-stack-sm: calc(var(--spacing-base) * 2);
533
- --spacing-stack-md: calc(var(--spacing-base) * 3);
534
- --spacing-stack-lg: calc(var(--spacing-base) * 4);
535
- --spacing-stack-xl: calc(var(--spacing-base) * 6);
564
+ --spacing-stack-2xs: var(--spacing-xs);
565
+ --spacing-stack-xs: var(--spacing-sm);
566
+ --spacing-stack-sm: var(--spacing-md);
567
+ --spacing-stack-md: var(--spacing-mdh);
568
+ --spacing-stack-lg: var(--spacing-lg);
569
+ --spacing-stack-xl: var(--spacing-xl);
536
570
  --text-shadow-button-filled: var(--text-shadow-sm);
537
571
  --text-shadow-button-light: var(--text-shadow-xs);
538
572
  --text-shadow-button-default: var(--text-shadow-2xs);
@@ -665,7 +699,8 @@
665
699
 
666
700
  .b-rtl blockquote,
667
701
  .b-ltr blockquote {
668
- border-inline-start: 4px solid var(--color-base-300);
702
+ border-inline-start: calc(2 * var(--border-width-medium)) solid
703
+ var(--color-base-300);
669
704
  border-inline-end: none;
670
705
  padding-inline-start: 1rem;
671
706
  padding-inline-end: 0;
@@ -822,7 +857,7 @@ a:focus-visible {
822
857
  padding: var(--spacing-md);
823
858
 
824
859
  /* Border */
825
- border: 2px solid var(--action-card-border);
860
+ border: var(--border-width-medium) solid var(--action-card-border);
826
861
  border-radius: var(--radius-lg);
827
862
 
828
863
  /* Background */
@@ -963,7 +998,7 @@ a:focus-visible {
963
998
 
964
999
  /* Focus styles for accessibility */
965
1000
  .bc-action-card--clickable:focus-visible {
966
- outline: 2px solid var(--color-primary-500);
1001
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
967
1002
  outline-offset: 2px;
968
1003
  }
969
1004
 
@@ -985,7 +1020,7 @@ a:focus-visible {
985
1020
  --animation-easing: cubic-bezier(0.2, 0, 0, 1);
986
1021
  --scale-factor: 0.95;
987
1022
  --transform-origin: center;
988
- --slide-distance: calc(var(--spacing-base) * 6);
1023
+ --slide-distance: var(--spacing-xl);
989
1024
 
990
1025
  transition-property: opacity, transform;
991
1026
  transition-duration: var(--animation-duration);
@@ -1305,7 +1340,7 @@ a:focus-visible {
1305
1340
  /* High contrast mode support */
1306
1341
  @media (prefers-contrast: high) {
1307
1342
  .bc-auth-container--styled {
1308
- border: 2px solid var(--border-default);
1343
+ border: var(--border-width-medium) solid var(--border-default);
1309
1344
  }
1310
1345
 
1311
1346
  .dark .bc-auth-container--styled {
@@ -1378,7 +1413,7 @@ a:focus-visible {
1378
1413
  .bc-auth-form__social {
1379
1414
  display: flex;
1380
1415
  flex-direction: column;
1381
- gap: var(--spacing-stack-md, calc(var(--spacing-base) * 3));
1416
+ gap: var(--spacing-stack-md, var(--spacing-mdh));
1382
1417
  }
1383
1418
 
1384
1419
  /* Form fields */
@@ -1391,7 +1426,7 @@ a:focus-visible {
1391
1426
  .bc-auth-form__fields {
1392
1427
  display: flex;
1393
1428
  flex-direction: column;
1394
- gap: var(--spacing-stack-lg, calc(var(--spacing-base) * 4));
1429
+ gap: var(--spacing-stack-lg, var(--spacing-lg));
1395
1430
  }
1396
1431
 
1397
1432
  /* Remember me checkbox */
@@ -1465,7 +1500,7 @@ a:focus-visible {
1465
1500
  }
1466
1501
 
1467
1502
  .bc-auth-form__link:focus-visible {
1468
- outline: 2px solid var(--interactive-focus);
1503
+ outline: var(--outline-width-focus) solid var(--interactive-focus);
1469
1504
  outline-offset: 2px;
1470
1505
  }
1471
1506
 
@@ -1481,7 +1516,7 @@ a:focus-visible {
1481
1516
  /* Responsive adjustments */
1482
1517
  @media (width < 40rem) {
1483
1518
  .bc-auth-form {
1484
- gap: var(--spacing-stack-lg, calc(var(--spacing-base) * 4));
1519
+ gap: var(--spacing-stack-lg, var(--spacing-lg));
1485
1520
  }
1486
1521
 
1487
1522
  .bc-auth-form__title {
@@ -1489,7 +1524,7 @@ a:focus-visible {
1489
1524
  }
1490
1525
 
1491
1526
  .bc-auth-form__fields {
1492
- gap: var(--spacing-stack-md, calc(var(--spacing-base) * 3));
1527
+ gap: var(--spacing-stack-md, var(--spacing-mdh));
1493
1528
  }
1494
1529
  }
1495
1530
 
@@ -1509,8 +1544,8 @@ a:focus-visible {
1509
1544
  }
1510
1545
 
1511
1546
  .bc-social-login-buttons.bc-stack {
1512
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
1513
- padding-inline: calc(var(--spacing-base) * 8);
1547
+ gap: var(--spacing-stack-sm, var(--spacing-md));
1548
+ padding-inline: var(--spacing-2xl);
1514
1549
  width: 100%;
1515
1550
  }
1516
1551
 
@@ -1523,7 +1558,7 @@ a:focus-visible {
1523
1558
  align-items: center;
1524
1559
  justify-content: center;
1525
1560
  width: 100%;
1526
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
1561
+ gap: var(--spacing-stack-sm, var(--spacing-md));
1527
1562
  }
1528
1563
 
1529
1564
  .bc-social-login-button__icon {
@@ -1532,7 +1567,7 @@ a:focus-visible {
1532
1567
  justify-content: center;
1533
1568
  background-color: var(--color-white);
1534
1569
  border-radius: var(--radius-full);
1535
- padding: calc(var(--spacing-base) * 1);
1570
+ padding: var(--spacing-sm);
1536
1571
  }
1537
1572
 
1538
1573
  .dark .bc-social-login-button__icon {
@@ -1553,7 +1588,7 @@ a:focus-visible {
1553
1588
  align-items: center;
1554
1589
  justify-content: center;
1555
1590
  text-align: center;
1556
- padding-inline: calc(var(--spacing-base) * 4);
1591
+ padding-inline: var(--spacing-lg);
1557
1592
  }
1558
1593
 
1559
1594
  /* Provider-specific icon backgrounds and colors */
@@ -1714,7 +1749,7 @@ a:focus-visible {
1714
1749
  .bc-two-factor__methods {
1715
1750
  display: flex;
1716
1751
  gap: var(--spacing-sm);
1717
- border-bottom: 1px solid var(--color-neutral-200);
1752
+ border-bottom: var(--border-width-thin) solid var(--color-neutral-200);
1718
1753
  padding-bottom: var(--spacing-sm);
1719
1754
  }
1720
1755
 
@@ -1743,7 +1778,7 @@ a:focus-visible {
1743
1778
  .bc-two-factor__method-button--active {
1744
1779
  color: var(--color-primary-600);
1745
1780
  font-weight: var(--font-weight-semibold);
1746
- border-bottom: 2px solid var(--color-primary-600);
1781
+ border-bottom: var(--border-width-medium) solid var(--color-primary-600);
1747
1782
  }
1748
1783
 
1749
1784
  .dark .bc-two-factor__method-button:hover {
@@ -1853,7 +1888,7 @@ a:focus-visible {
1853
1888
  padding: var(--spacing-sm) var(--spacing-md);
1854
1889
  background-color: var(--color-neutral-50);
1855
1890
  border-radius: var(--radius-md);
1856
- border: 1px solid var(--color-neutral-200);
1891
+ border: var(--border-width-thin) solid var(--color-neutral-200);
1857
1892
  }
1858
1893
 
1859
1894
  .dark .bc-passkey-item {
@@ -1922,7 +1957,7 @@ a:focus-visible {
1922
1957
  background-color: var(--avatar-bg);
1923
1958
  color: var(--avatar-text);
1924
1959
  font-family: var(
1925
- --default-ui-font-family,
1960
+ --font-family-default-ui,
1926
1961
  var(--font-ui, var(--font-body, var(--font-family-sans)))
1927
1962
  );
1928
1963
  user-select: none;
@@ -1941,7 +1976,7 @@ a:focus-visible {
1941
1976
  /* Initials text */
1942
1977
  .bc-avatar__initials {
1943
1978
  font-weight: var(--font-weight-semibold);
1944
- line-height: 1;
1979
+ line-height: var(--line-height-none);
1945
1980
  text-align: center;
1946
1981
  text-transform: uppercase;
1947
1982
  }
@@ -1957,32 +1992,32 @@ a:focus-visible {
1957
1992
 
1958
1993
  /* Size variants */
1959
1994
  .bc-avatar--size-xs {
1960
- width: calc(var(--spacing-base) * 6);
1961
- height: calc(var(--spacing-base) * 6);
1995
+ width: var(--spacing-xl);
1996
+ height: var(--spacing-xl);
1962
1997
  font-size: var(--font-size-xs);
1963
1998
  }
1964
1999
 
1965
2000
  .bc-avatar--size-sm {
1966
- width: calc(var(--spacing-base) * 8);
1967
- height: calc(var(--spacing-base) * 8);
2001
+ width: var(--spacing-2xl);
2002
+ height: var(--spacing-2xl);
1968
2003
  font-size: var(--font-size-sm);
1969
2004
  }
1970
2005
 
1971
2006
  .bc-avatar--size-md {
1972
- width: calc(var(--spacing-base) * 10);
1973
- height: calc(var(--spacing-base) * 10);
2007
+ width: var(--spacing-2xlh);
2008
+ height: var(--spacing-2xlh);
1974
2009
  font-size: var(--font-size-md);
1975
2010
  }
1976
2011
 
1977
2012
  .bc-avatar--size-lg {
1978
- width: calc(var(--spacing-base) * 12);
1979
- height: calc(var(--spacing-base) * 12);
2013
+ width: var(--spacing-3xl);
2014
+ height: var(--spacing-3xl);
1980
2015
  font-size: var(--font-size-lg);
1981
2016
  }
1982
2017
 
1983
2018
  .bc-avatar--size-xl {
1984
- width: calc(var(--spacing-base) * 16);
1985
- height: calc(var(--spacing-base) * 16);
2019
+ width: var(--spacing-4xl);
2020
+ height: var(--spacing-4xl);
1986
2021
  font-size: var(--font-size-xl);
1987
2022
  }
1988
2023
 
@@ -2003,7 +2038,7 @@ a:focus-visible {
2003
2038
 
2004
2039
  /* Bordered variant */
2005
2040
  .bc-avatar--bordered {
2006
- border: 2px solid var(--color-white);
2041
+ border: var(--border-width-medium) solid var(--color-white);
2007
2042
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
2008
2043
  }
2009
2044
 
@@ -2027,7 +2062,7 @@ a:focus-visible {
2027
2062
  /* Add border to overlapping avatars for better separation */
2028
2063
  .bc-avatar-group--spacing-tight > .bc-avatar,
2029
2064
  .bc-avatar-group--spacing-tight > .bc-avatar-group__overflow {
2030
- border: 2px solid var(--color-white);
2065
+ border: var(--border-width-medium) solid var(--color-white);
2031
2066
  }
2032
2067
 
2033
2068
  /* Normal spacing - standard gap */
@@ -2059,12 +2094,12 @@ a:focus-visible {
2059
2094
  /* Accessibility adjustments */
2060
2095
  @media (prefers-contrast: high) {
2061
2096
  .bc-avatar--bordered {
2062
- border-width: 3px;
2097
+ border-width: var(--border-width-thick);
2063
2098
  }
2064
2099
 
2065
2100
  .bc-avatar-group--spacing-tight > .bc-avatar,
2066
2101
  .bc-avatar-group--spacing-tight > .bc-avatar-group__overflow {
2067
- border-width: 3px;
2102
+ border-width: var(--border-width-thick);
2068
2103
  }
2069
2104
  }
2070
2105
 
@@ -2090,13 +2125,13 @@ a:focus-visible {
2090
2125
  display: inline-flex;
2091
2126
  align-items: center;
2092
2127
  justify-content: center;
2093
- border: 1.5px solid var(--badge-border);
2128
+ border: var(--border-width-default) solid var(--badge-border);
2094
2129
  font-family: var(
2095
- --default-ui-font-family,
2130
+ --font-family-default-ui,
2096
2131
  var(--font-ui, var(--font-body, var(--font-family-sans)))
2097
2132
  );
2098
2133
  font-size: inherit;
2099
- line-height: 1;
2134
+ line-height: var(--line-height-none);
2100
2135
  border-radius: var(--radius-badge, var(--radius-control, var(--radius-md)));
2101
2136
  transition: all var(--motion-transition-fast) var(--motion-easing-standard);
2102
2137
  background-color: var(--badge-bg);
@@ -2108,40 +2143,37 @@ a:focus-visible {
2108
2143
  display: flex;
2109
2144
  align-items: center;
2110
2145
  justify-content: center;
2111
- gap: var(
2112
- --badge-gap,
2113
- var(--spacing-stack-2xs, calc(var(--spacing-base) / 2))
2114
- );
2146
+ gap: var(--badge-gap, var(--control-gap-md));
2115
2147
  }
2116
2148
 
2117
2149
  /* Size variants */
2118
2150
  .bc-badge--size-xs {
2119
2151
  font-size: var(--font-size-xs);
2120
- padding: calc(var(--spacing-base) * 0.5) calc(var(--spacing-base) * 1);
2152
+ padding: var(--spacing-xs) var(--spacing-sm);
2121
2153
  --badge-gap: calc(var(--spacing-base) * 0.25);
2122
2154
  }
2123
2155
 
2124
2156
  .bc-badge--size-sm {
2125
2157
  font-size: var(--font-size-sm);
2126
- padding: calc(var(--spacing-base) * 0.75) calc(var(--spacing-base) * 1.5);
2127
- --badge-gap: calc(var(--spacing-base) * 0.5);
2158
+ padding: calc(var(--spacing-base) * 0.75) var(--spacing-smh);
2159
+ --badge-gap: var(--spacing-xs);
2128
2160
  }
2129
2161
 
2130
2162
  .bc-badge--size-md {
2131
2163
  font-size: var(--font-size-md);
2132
- padding: var(--spacing-base) calc(var(--spacing-base) * 2);
2164
+ padding: var(--spacing-sm) var(--spacing-md);
2133
2165
  --badge-gap: calc(var(--spacing-base) * 0.75);
2134
2166
  }
2135
2167
 
2136
2168
  .bc-badge--size-lg {
2137
2169
  font-size: var(--font-size-lg);
2138
2170
  padding: calc(var(--spacing-base) * 1.25) calc(var(--spacing-base) * 2.5);
2139
- --badge-gap: var(--spacing-base);
2171
+ --badge-gap: var(--spacing-sm);
2140
2172
  }
2141
2173
 
2142
2174
  .bc-badge--size-xl {
2143
2175
  font-size: var(--font-size-xl);
2144
- padding: calc(var(--spacing-base) * 1.5) calc(var(--spacing-base) * 3);
2176
+ padding: var(--spacing-smh) var(--spacing-mdh);
2145
2177
  --badge-gap: calc(var(--spacing-base) * 1.25);
2146
2178
  }
2147
2179
 
@@ -2154,23 +2186,35 @@ a:focus-visible {
2154
2186
  }
2155
2187
 
2156
2188
  .bc-badge--circle.bc-badge--size-xs {
2157
- min-width: calc(var(--font-size-xs) + var(--spacing-base) * 1 + 3px);
2189
+ min-width: calc(
2190
+ var(--font-size-xs) + var(--spacing-base) * 1 + var(--border-width-thick)
2191
+ );
2158
2192
  }
2159
2193
 
2160
2194
  .bc-badge--circle.bc-badge--size-sm {
2161
- min-width: calc(var(--font-size-sm) + var(--spacing-base) * 1.5 + 3px);
2195
+ min-width: calc(
2196
+ var(--font-size-sm) + var(--spacing-base) * 1.5 + var(--border-width-thick)
2197
+ );
2162
2198
  }
2163
2199
 
2164
2200
  .bc-badge--circle.bc-badge--size-md {
2165
- min-width: calc(var(--font-size-md) + var(--spacing-base) * 2 + 3px);
2201
+ min-width: calc(
2202
+ var(--font-size-md) + var(--spacing-base) * 2 + var(--border-width-thick)
2203
+ );
2166
2204
  }
2167
2205
 
2168
2206
  .bc-badge--circle.bc-badge--size-lg {
2169
- min-width: calc(var(--font-size-lg) * 1.2 + var(--spacing-base) * 2.5 + 3px);
2207
+ min-width: calc(
2208
+ var(--font-size-lg) * 1.2 + var(--spacing-base) * 2.5 +
2209
+ var(--border-width-thick)
2210
+ );
2170
2211
  }
2171
2212
 
2172
2213
  .bc-badge--circle.bc-badge--size-xl {
2173
- min-width: calc(var(--font-size-xl) * 1.2 + var(--spacing-base) * 3 + 3px);
2214
+ min-width: calc(
2215
+ var(--font-size-xl) * 1.2 + var(--spacing-base) * 3 +
2216
+ var(--border-width-thick)
2217
+ );
2174
2218
  }
2175
2219
 
2176
2220
  /* Full width variant */
@@ -2181,9 +2225,9 @@ a:focus-visible {
2181
2225
 
2182
2226
  /* Dot variant - small colored circle indicator */
2183
2227
  .bc-badge--dot {
2184
- width: calc(var(--spacing-base) * 2);
2185
- height: calc(var(--spacing-base) * 2);
2186
- min-width: calc(var(--spacing-base) * 2);
2228
+ width: var(--spacing-md);
2229
+ height: var(--spacing-md);
2230
+ min-width: var(--spacing-md);
2187
2231
  padding: 0;
2188
2232
  border-radius: 50%;
2189
2233
  border: none;
@@ -2195,15 +2239,15 @@ a:focus-visible {
2195
2239
 
2196
2240
  /* Dot variant size adjustments */
2197
2241
  .bc-badge--dot.bc-badge--size-xs {
2198
- width: calc(var(--spacing-base) * 1.5);
2199
- height: calc(var(--spacing-base) * 1.5);
2200
- min-width: calc(var(--spacing-base) * 1.5);
2242
+ width: var(--spacing-smh);
2243
+ height: var(--spacing-smh);
2244
+ min-width: var(--spacing-smh);
2201
2245
  }
2202
2246
 
2203
2247
  .bc-badge--dot.bc-badge--size-sm {
2204
- width: calc(var(--spacing-base) * 2);
2205
- height: calc(var(--spacing-base) * 2);
2206
- min-width: calc(var(--spacing-base) * 2);
2248
+ width: var(--spacing-md);
2249
+ height: var(--spacing-md);
2250
+ min-width: var(--spacing-md);
2207
2251
  }
2208
2252
 
2209
2253
  .bc-badge--dot.bc-badge--size-md {
@@ -2213,9 +2257,9 @@ a:focus-visible {
2213
2257
  }
2214
2258
 
2215
2259
  .bc-badge--dot.bc-badge--size-lg {
2216
- width: calc(var(--spacing-base) * 3);
2217
- height: calc(var(--spacing-base) * 3);
2218
- min-width: calc(var(--spacing-base) * 3);
2260
+ width: var(--spacing-mdh);
2261
+ height: var(--spacing-mdh);
2262
+ min-width: var(--spacing-mdh);
2219
2263
  }
2220
2264
 
2221
2265
  .bc-badge--dot.bc-badge--size-xl {
@@ -2239,7 +2283,7 @@ a:focus-visible {
2239
2283
  /* Accessibility adjustments */
2240
2284
  @media (prefers-contrast: high) {
2241
2285
  .bc-badge {
2242
- border-width: 2px;
2286
+ border-width: var(--border-width-medium);
2243
2287
  }
2244
2288
  }
2245
2289
 
@@ -2253,13 +2297,13 @@ a:focus-visible {
2253
2297
  .bc-block-command-palette {
2254
2298
  width: 280px;
2255
2299
  background: var(--color-white);
2256
- border: 1px solid var(--color-base-200);
2300
+ border: var(--border-width-thin) solid var(--color-base-200);
2257
2301
  border-radius: var(--radius-lg, 8px);
2258
2302
  box-shadow: var(--shadow-lg, 0 4px 16px rgba(0, 0, 0, 0.12));
2259
2303
  overflow: hidden;
2260
2304
  z-index: var(--z-index-popover, 1000);
2261
2305
  font-family: var(
2262
- --default-ui-font-family,
2306
+ --font-family-default-ui,
2263
2307
  var(--font-ui, var(--font-body, var(--font-family-sans)))
2264
2308
  );
2265
2309
  animation: block-command-enter 120ms ease-out;
@@ -2282,7 +2326,7 @@ a:focus-visible {
2282
2326
  align-items: center;
2283
2327
  gap: 6px;
2284
2328
  padding: 8px 12px;
2285
- border-bottom: 1px solid var(--color-base-200);
2329
+ border-bottom: var(--border-width-thin) solid var(--color-base-200);
2286
2330
  }
2287
2331
 
2288
2332
  .bc-block-command-palette__search-prefix {
@@ -2415,7 +2459,7 @@ a:focus-visible {
2415
2459
  .bc-breadcrumbs__item {
2416
2460
  display: inline-flex;
2417
2461
  align-items: center;
2418
- gap: var(--spacing-stack-2xs, calc(var(--spacing-base) / 2));
2462
+ gap: var(--spacing-stack-2xs, var(--spacing-xs));
2419
2463
  list-style: none;
2420
2464
  }
2421
2465
 
@@ -2424,7 +2468,7 @@ a:focus-visible {
2424
2468
  .bc-breadcrumbs__button {
2425
2469
  display: inline-flex;
2426
2470
  align-items: center;
2427
- gap: var(--spacing-stack-2xs, calc(var(--spacing-base) / 2));
2471
+ gap: var(--spacing-stack-2xs, var(--spacing-xs));
2428
2472
  color: var(--text-muted);
2429
2473
  text-decoration: none;
2430
2474
  cursor: pointer;
@@ -2449,7 +2493,7 @@ a:focus-visible {
2449
2493
 
2450
2494
  .bc-breadcrumbs__link:focus-visible,
2451
2495
  .bc-breadcrumbs__button:focus-visible {
2452
- outline: 2px solid var(--color-primary-500);
2496
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
2453
2497
  outline-offset: 2px;
2454
2498
  }
2455
2499
 
@@ -2462,7 +2506,7 @@ a:focus-visible {
2462
2506
  .bc-breadcrumbs__text {
2463
2507
  display: inline-flex;
2464
2508
  align-items: center;
2465
- gap: var(--spacing-stack-2xs, calc(var(--spacing-base) / 2));
2509
+ gap: var(--spacing-stack-2xs, var(--spacing-xs));
2466
2510
  }
2467
2511
 
2468
2512
  /* Current page styling */
@@ -2547,16 +2591,17 @@ a:focus-visible {
2547
2591
  display: inline-flex;
2548
2592
  align-items: center;
2549
2593
  justify-content: center;
2550
- gap: var(--spacing-stack-2xs, calc(var(--spacing-base) / 2));
2551
- border: 1.5px var(--button-border-style) var(--button-border);
2594
+ gap: var(--control-gap-md);
2595
+ border: var(--border-width-default) var(--button-border-style)
2596
+ var(--button-border);
2552
2597
  cursor: pointer;
2553
2598
  font-weight: var(--font-weight-semibold);
2554
2599
  font-family: var(
2555
- --default-ui-font-family,
2600
+ --font-family-default-ui,
2556
2601
  var(--font-ui, var(--font-body, var(--font-family-sans)))
2557
2602
  );
2558
2603
  font-size: inherit;
2559
- line-height: 1;
2604
+ line-height: var(--line-height-none);
2560
2605
  border-radius: var(--radius-button, var(--radius-control, var(--radius-md)));
2561
2606
  transition: all
2562
2607
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
@@ -2571,7 +2616,7 @@ a:focus-visible {
2571
2616
  }
2572
2617
 
2573
2618
  .bc-button > span {
2574
- min-height: 10px;
2619
+ min-height: var(--spacing-md);
2575
2620
  }
2576
2621
 
2577
2622
  .bc-button:hover:not(:disabled) {
@@ -2643,7 +2688,7 @@ a:focus-visible {
2643
2688
  /* Accessibility adjustments */
2644
2689
  @media (prefers-contrast: high) {
2645
2690
  .bc-button {
2646
- border-width: 2px;
2691
+ border-width: var(--border-width-medium);
2647
2692
  }
2648
2693
  }
2649
2694
 
@@ -2661,7 +2706,7 @@ a:focus-visible {
2661
2706
  display: flex;
2662
2707
  flex-direction: column;
2663
2708
  border-radius: var(--radius-surface, var(--radius-lg));
2664
- border: 1px solid var(--card-border);
2709
+ border: var(--border-width-thin) solid var(--card-border);
2665
2710
  padding: var(--spacing-lg);
2666
2711
  box-shadow: var(--shadow-surface, var(--shadow-md));
2667
2712
  background-color: var(--card-bg);
@@ -2771,11 +2816,11 @@ a:focus-visible {
2771
2816
  }
2772
2817
 
2773
2818
  .bc-center--gap-md {
2774
- gap: var(--spacing-stack-md, calc(var(--spacing-base) * 3));
2819
+ gap: var(--spacing-stack-md, var(--spacing-mdh));
2775
2820
  }
2776
2821
 
2777
2822
  .bc-center--gap-lg {
2778
- gap: var(--spacing-stack-lg, calc(var(--spacing-base) * 4));
2823
+ gap: var(--spacing-stack-lg, var(--spacing-lg));
2779
2824
  }
2780
2825
 
2781
2826
  .bc-center--gap-xl {
@@ -2828,8 +2873,8 @@ a:focus-visible {
2828
2873
 
2829
2874
  .bc-checkbox-input__checkbox:focus-visible,
2830
2875
  .bc-checkbox-input:focus-within .bc-checkbox-input__checkbox {
2831
- outline: 1px solid var(--interactive-focus);
2832
- outline-offset: -1px;
2876
+ outline: var(--outline-width-default) solid var(--interactive-focus);
2877
+ outline-offset: calc(-1 * var(--outline-width-default));
2833
2878
  border-radius: var(--radius-lg);
2834
2879
  }
2835
2880
 
@@ -2852,7 +2897,7 @@ a:focus-visible {
2852
2897
 
2853
2898
  .dark .bc-checkbox-input__checkbox:focus-visible,
2854
2899
  .dark .bc-checkbox-input:focus-within .bc-checkbox-input__checkbox {
2855
- outline: 2px solid var(--interactive-focus);
2900
+ outline: var(--outline-width-focus) solid var(--interactive-focus);
2856
2901
  outline-offset: 2px;
2857
2902
  }
2858
2903
 
@@ -2903,7 +2948,7 @@ a:focus-visible {
2903
2948
  border-radius: var(--radius-control, var(--radius-md));
2904
2949
  overflow: visible;
2905
2950
  cursor: pointer;
2906
- border: 1px solid var(--color-neutral-300);
2951
+ border: var(--border-width-thin) solid var(--color-neutral-300);
2907
2952
  }
2908
2953
 
2909
2954
  .bc-input-container .bc-color-input__swatch-container {
@@ -2917,7 +2962,7 @@ a:focus-visible {
2917
2962
  width: 1.8rem;
2918
2963
  height: 1.8rem;
2919
2964
  cursor: pointer;
2920
- border: 1px solid var(--color-neutral-300);
2965
+ border: var(--border-width-thin) solid var(--color-neutral-300);
2921
2966
  border-radius: 100%;
2922
2967
  }
2923
2968
 
@@ -2957,7 +3002,7 @@ a:focus-visible {
2957
3002
  }
2958
3003
 
2959
3004
  .bc-color-swatch-input__control:focus-within {
2960
- outline: 2px solid var(--interactive-focus);
3005
+ outline: var(--outline-width-focus) solid var(--interactive-focus);
2961
3006
  outline-offset: 2px;
2962
3007
  }
2963
3008
 
@@ -2972,7 +3017,7 @@ a:focus-visible {
2972
3017
  }
2973
3018
 
2974
3019
  .bc-input-container--error .bc-color-swatch-input__control:focus-within {
2975
- outline: 2px solid var(--color-danger-600);
3020
+ outline: var(--outline-width-focus) solid var(--color-danger-600);
2976
3021
  }
2977
3022
 
2978
3023
  .bc-color-swatch-input__native {
@@ -3001,7 +3046,7 @@ a:focus-visible {
3001
3046
 
3002
3047
  .bc-color-swatch-input__alpha {
3003
3048
  width: 5rem;
3004
- margin-inline-start: calc(var(--spacing-base) * 2);
3049
+ margin-inline-start: var(--spacing-md);
3005
3050
  }
3006
3051
 
3007
3052
  .bc-color-input input[type='text'] {
@@ -3011,7 +3056,7 @@ a:focus-visible {
3011
3056
 
3012
3057
  /* Dark mode */
3013
3058
  .dark .bc-input-container--error .bc-color-swatch-input__control:focus-within {
3014
- outline: 2px solid var(--color-danger-400);
3059
+ outline: var(--outline-width-focus) solid var(--color-danger-400);
3015
3060
  }
3016
3061
 
3017
3062
  /* Responsive styles */
@@ -3026,7 +3071,7 @@ a:focus-visible {
3026
3071
  display: flex;
3027
3072
  flex-direction: column;
3028
3073
  background: var(--bg-surface);
3029
- border: 1px solid var(--border-default);
3074
+ border: var(--border-width-thin) solid var(--border-default);
3030
3075
  border-radius: var(--radius-lg);
3031
3076
  box-shadow: var(--shadow-xl);
3032
3077
  overflow: hidden;
@@ -3050,9 +3095,9 @@ a:focus-visible {
3050
3095
  .bc-command-palette__header {
3051
3096
  display: flex;
3052
3097
  align-items: center;
3053
- gap: calc(var(--spacing-base) * 2);
3054
- padding: calc(var(--spacing-base) * 3) calc(var(--spacing-base) * 4);
3055
- border-bottom: 1px solid var(--border-default);
3098
+ gap: var(--spacing-md);
3099
+ padding: var(--spacing-mdh) var(--spacing-lg);
3100
+ border-bottom: var(--border-width-thin) solid var(--border-default);
3056
3101
  }
3057
3102
 
3058
3103
  .bc-command-palette__search-icon {
@@ -3077,22 +3122,22 @@ a:focus-visible {
3077
3122
 
3078
3123
  .bc-command-palette__body {
3079
3124
  overflow-y: auto;
3080
- padding: calc(var(--spacing-base) * 2);
3125
+ padding: var(--spacing-md);
3081
3126
  }
3082
3127
 
3083
3128
  .bc-command-palette__empty {
3084
- padding: calc(var(--spacing-base) * 6) calc(var(--spacing-base) * 4);
3129
+ padding: var(--spacing-xl) var(--spacing-lg);
3085
3130
  text-align: center;
3086
3131
  color: var(--text-muted);
3087
3132
  font-size: var(--font-size-sm);
3088
3133
  }
3089
3134
 
3090
3135
  .bc-command-palette__section + .bc-command-palette__section {
3091
- margin-top: calc(var(--spacing-base) * 2);
3136
+ margin-top: var(--spacing-md);
3092
3137
  }
3093
3138
 
3094
3139
  .bc-command-palette__section-title {
3095
- padding: var(--spacing-base) calc(var(--spacing-base) * 2);
3140
+ padding: var(--spacing-base) var(--spacing-md);
3096
3141
  font-size: var(--font-size-xs);
3097
3142
  font-weight: var(--font-weight-semibold);
3098
3143
  color: var(--text-muted);
@@ -3103,8 +3148,8 @@ a:focus-visible {
3103
3148
  .bc-command-palette__item {
3104
3149
  display: flex;
3105
3150
  align-items: center;
3106
- gap: calc(var(--spacing-base) * 2);
3107
- padding: calc(var(--spacing-base) * 2);
3151
+ gap: var(--spacing-md);
3152
+ padding: var(--spacing-md);
3108
3153
  border-radius: var(--radius-sm);
3109
3154
  cursor: pointer;
3110
3155
  transition: background-color var(--motion-transition-fast)
@@ -3157,11 +3202,11 @@ a:focus-visible {
3157
3202
  outline: none;
3158
3203
  font: inherit;
3159
3204
  color: inherit;
3160
- padding: var(--spacing-base) calc(var(--spacing-base) * 2);
3205
+ padding: var(--spacing-base) var(--spacing-md);
3161
3206
  margin: 0;
3162
3207
  background-color: var(--color-gray-50);
3163
3208
  border-radius: 0;
3164
- border-bottom: 1px solid var(--color-gray-300);
3209
+ border-bottom: var(--border-width-thin) solid var(--color-gray-300);
3165
3210
  }
3166
3211
 
3167
3212
  /* Dark mode */
@@ -3205,8 +3250,8 @@ a:focus-visible {
3205
3250
  display: flex;
3206
3251
  align-items: center;
3207
3252
  justify-content: center;
3208
- width: calc(var(--spacing-base) * 6);
3209
- height: calc(var(--spacing-base) * 6);
3253
+ width: var(--spacing-xl);
3254
+ height: var(--spacing-xl);
3210
3255
  flex-shrink: 0;
3211
3256
  margin-inline-start: var(--spacing-sm);
3212
3257
  margin-inline-end: calc(var(--spacing-base) * -1.25);
@@ -3215,12 +3260,12 @@ a:focus-visible {
3215
3260
  /* Listbox (dropdown) */
3216
3261
  .bc-dropdown__listbox {
3217
3262
  background-color: var(--color-white);
3218
- border: 1px solid var(--color-base-200);
3263
+ border: var(--border-width-thin) solid var(--color-base-200);
3219
3264
  border-radius: var(--radius-popover, var(--radius-md));
3220
3265
  box-shadow: var(--shadow-popover, var(--shadow-lg));
3221
3266
  padding: var(--spacing-xs) 0;
3222
3267
  z-index: var(--z-index-navigation);
3223
- min-width: 12rem;
3268
+ min-width: var(--overlay-min-width);
3224
3269
  max-height: 20rem;
3225
3270
  overflow-y: auto;
3226
3271
  outline: none;
@@ -3230,7 +3275,7 @@ a:focus-visible {
3230
3275
  .bc-dropdown__option {
3231
3276
  display: flex;
3232
3277
  align-items: center;
3233
- padding: calc(var(--spacing-base) * 1.75) calc(var(--spacing-base) * 3);
3278
+ padding: calc(var(--spacing-base) * 1.75) var(--spacing-mdh);
3234
3279
  border-radius: 0;
3235
3280
  cursor: pointer;
3236
3281
  transition: background-color var(--motion-transition-fast)
@@ -3305,7 +3350,7 @@ a:focus-visible {
3305
3350
  .bc-dropdown__separator {
3306
3351
  margin: var(--spacing-xs) 0;
3307
3352
  border: none;
3308
- border-top: 1px solid var(--color-gray-200);
3353
+ border-top: var(--border-width-thin) solid var(--color-gray-200);
3309
3354
  }
3310
3355
 
3311
3356
  /* Dark mode styles */
@@ -3341,7 +3386,7 @@ a:focus-visible {
3341
3386
  /* Responsive styles */
3342
3387
  @media (width >= 40rem) {
3343
3388
  .bc-dropdown__option {
3344
- padding: calc(var(--spacing-base) * 1.75) calc(var(--spacing-base) * 3);
3389
+ padding: calc(var(--spacing-base) * 1.75) var(--spacing-mdh);
3345
3390
  }
3346
3391
 
3347
3392
  .bc-dropdown__listbox {
@@ -3370,13 +3415,13 @@ a:focus-visible {
3370
3415
  /* High contrast mode support */
3371
3416
  @media (prefers-contrast: high) {
3372
3417
  .bc-dropdown__option--focused {
3373
- outline: 2px solid currentColor;
3374
- outline-offset: -2px;
3418
+ outline: var(--outline-width-focus) solid currentColor;
3419
+ outline-offset: calc(-1 * var(--outline-width-focus));
3375
3420
  }
3376
3421
 
3377
3422
  .bc-dropdown__option--selected {
3378
- outline: 2px solid currentColor;
3379
- outline-offset: -2px;
3423
+ outline: var(--outline-width-focus) solid currentColor;
3424
+ outline-offset: calc(-1 * var(--outline-width-focus));
3380
3425
  }
3381
3426
  }
3382
3427
 
@@ -3392,43 +3437,43 @@ a:focus-visible {
3392
3437
  }
3393
3438
 
3394
3439
  .bc-control--padding-xs {
3395
- padding: var(--spacing-xs);
3440
+ padding: var(--control-padding-block-xs) var(--control-padding-inline-xs);
3396
3441
  }
3397
3442
 
3398
3443
  .bc-control--padding-sm {
3399
- padding: var(--spacing-sm);
3444
+ padding: var(--control-padding-block-sm) var(--control-padding-inline-sm);
3400
3445
  }
3401
3446
 
3402
3447
  .bc-control--padding-md {
3403
- padding: var(--spacing-md);
3448
+ padding: var(--control-padding-block-md) var(--control-padding-inline-md);
3404
3449
  }
3405
3450
 
3406
3451
  .bc-control--padding-lg {
3407
- padding: var(--spacing-lg);
3452
+ padding: var(--control-padding-block-lg) var(--control-padding-inline-lg);
3408
3453
  }
3409
3454
 
3410
3455
  .bc-control--padding-xl {
3411
- padding: var(--spacing-xl);
3456
+ padding: var(--control-padding-block-xl) var(--control-padding-inline-xl);
3412
3457
  }
3413
3458
 
3414
3459
  .bc-control--padding-xs:has(> .bc-icon:only-child) {
3415
- padding: var(--spacing-xs);
3460
+ padding: var(--control-padding-block-xs);
3416
3461
  }
3417
3462
 
3418
3463
  .bc-control--padding-sm:has(> .bc-icon:only-child) {
3419
- padding: var(--spacing-sm);
3464
+ padding: var(--control-padding-block-sm);
3420
3465
  }
3421
3466
 
3422
3467
  .bc-control--padding-md:has(> .bc-icon:only-child) {
3423
- padding: var(--spacing-md);
3468
+ padding: var(--control-padding-block-md);
3424
3469
  }
3425
3470
 
3426
3471
  .bc-control--padding-lg:has(> .bc-icon:only-child) {
3427
- padding: var(--spacing-lg);
3472
+ padding: var(--control-padding-block-lg);
3428
3473
  }
3429
3474
 
3430
3475
  .bc-control--padding-xl:has(> .bc-icon:only-child) {
3431
- padding: var(--spacing-xl);
3476
+ padding: var(--control-padding-block-xl);
3432
3477
  }
3433
3478
 
3434
3479
  .bc-control--rounded-none {
@@ -3492,14 +3537,14 @@ a:focus-visible {
3492
3537
  display: flex;
3493
3538
  align-items: center;
3494
3539
  justify-content: space-between;
3495
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
3540
+ gap: var(--spacing-stack-sm, var(--spacing-md));
3496
3541
  }
3497
3542
 
3498
3543
  /* Label container */
3499
3544
  .bc-control-input-wrapper__label {
3500
3545
  display: flex;
3501
3546
  align-items: center;
3502
- gap: var(--spacing-stack-2xs, calc(var(--spacing-base) / 2));
3547
+ gap: var(--spacing-stack-2xs, var(--spacing-xs));
3503
3548
  }
3504
3549
 
3505
3550
  /* Label text styles */
@@ -3570,7 +3615,7 @@ a:focus-visible {
3570
3615
  /* Divider Component */
3571
3616
  .bc-divider {
3572
3617
  border: 0;
3573
- border-top: 1px solid var(--border-divider);
3618
+ border-top: var(--border-width-thin) solid var(--border-divider);
3574
3619
  margin: 0;
3575
3620
  height: 0;
3576
3621
  background: transparent;
@@ -3584,7 +3629,7 @@ a:focus-visible {
3584
3629
  .bc-divider--vertical {
3585
3630
  border-top: none;
3586
3631
  border-top-width: 0;
3587
- border-left: 1px solid var(--border-divider);
3632
+ border-left: var(--border-width-thin) solid var(--border-divider);
3588
3633
  width: auto;
3589
3634
  height: auto;
3590
3635
  align-self: stretch;
@@ -3637,7 +3682,7 @@ a:focus-visible {
3637
3682
  .bc-divider__line {
3638
3683
  flex: 1;
3639
3684
  border: 0;
3640
- border-top: 1px solid var(--border-default);
3685
+ border-top: var(--border-width-thin) solid var(--border-default);
3641
3686
  height: 0;
3642
3687
  background: transparent;
3643
3688
  margin: 0;
@@ -3649,7 +3694,7 @@ a:focus-visible {
3649
3694
  .bc-divider--vertical .bc-divider__line {
3650
3695
  border-top: none;
3651
3696
  border-top-width: 0;
3652
- border-left: 1px solid var(--border-divider);
3697
+ border-left: var(--border-width-thin) solid var(--border-divider);
3653
3698
  width: 0;
3654
3699
  flex: 1;
3655
3700
  min-height: 1rem;
@@ -3661,11 +3706,11 @@ a:focus-visible {
3661
3706
  font-weight: var(--font-weight-medium);
3662
3707
  color: var(--text-muted);
3663
3708
  font-family: var(
3664
- --default-ui-font-family,
3709
+ --font-family-default-ui,
3665
3710
  var(--font-ui, var(--font-body, var(--font-family-sans)))
3666
3711
  );
3667
3712
  white-space: nowrap;
3668
- line-height: 1;
3713
+ line-height: var(--line-height-none);
3669
3714
  }
3670
3715
 
3671
3716
  /* Label alignment */
@@ -3738,7 +3783,7 @@ a:focus-visible {
3738
3783
  @media (prefers-contrast: high) {
3739
3784
  .bc-divider,
3740
3785
  .bc-divider__line {
3741
- border-width: 2px;
3786
+ border-width: var(--border-width-medium);
3742
3787
  }
3743
3788
  }
3744
3789
 
@@ -4017,7 +4062,7 @@ a:focus-visible {
4017
4062
  align-items: center;
4018
4063
  justify-content: space-between;
4019
4064
  padding: var(--spacing-md);
4020
- border-bottom: 1px solid var(--color-base-300);
4065
+ border-bottom: var(--border-width-thin) solid var(--color-base-300);
4021
4066
  background-color: var(--color-base-50);
4022
4067
  flex-shrink: 0;
4023
4068
  }
@@ -4030,7 +4075,7 @@ a:focus-visible {
4030
4075
 
4031
4076
  .bc-drawer__footer {
4032
4077
  padding: var(--spacing-md);
4033
- border-top: 1px solid var(--color-base-300);
4078
+ border-top: var(--border-width-thin) solid var(--color-base-300);
4034
4079
  background-color: var(--color-base-50);
4035
4080
  flex-shrink: 0;
4036
4081
  }
@@ -4039,16 +4084,16 @@ a:focus-visible {
4039
4084
  .dark .bc-drawer {
4040
4085
  background-color: var(--bg-surface);
4041
4086
  color: var(--text-normal);
4042
- border: 1px solid var(--border-default);
4087
+ border: var(--border-width-thin) solid var(--border-default);
4043
4088
  }
4044
4089
 
4045
4090
  .dark .bc-drawer__header {
4046
- border-bottom: 1px solid var(--border-divider);
4091
+ border-bottom: var(--border-width-thin) solid var(--border-divider);
4047
4092
  background-color: var(--bg-elevated);
4048
4093
  }
4049
4094
 
4050
4095
  .dark .bc-drawer__footer {
4051
- border-top: 1px solid var(--border-divider);
4096
+ border-top: var(--border-width-thin) solid var(--border-divider);
4052
4097
  background-color: var(--bg-elevated);
4053
4098
  }
4054
4099
 
@@ -4071,10 +4116,10 @@ a:focus-visible {
4071
4116
 
4072
4117
  /* Editable Text Component */
4073
4118
  .bc-editable-text {
4074
- border-bottom: 1px dashed var(--color-gray-300);
4119
+ border-bottom: var(--border-width-thin) dashed var(--color-gray-300);
4075
4120
  display: flex;
4076
4121
  flex-direction: row;
4077
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
4122
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4078
4123
  align-items: flex-start;
4079
4124
  cursor: pointer;
4080
4125
  }
@@ -4096,7 +4141,7 @@ a:focus-visible {
4096
4141
  /* Input state */
4097
4142
  .bc-editable-text__input {
4098
4143
  outline: none;
4099
- padding: 0 calc(var(--spacing-base) / 2);
4144
+ padding: 0 var(--spacing-xs);
4100
4145
  background: transparent;
4101
4146
  border: none;
4102
4147
  font: inherit;
@@ -4113,8 +4158,8 @@ a:focus-visible {
4113
4158
 
4114
4159
  /* Draw the focus on the display container similar to other inputs via focus-within */
4115
4160
  .bc-editable-text:focus-within {
4116
- outline: 2px solid var(--interactive-focus);
4117
- outline-offset: -2px;
4161
+ outline: var(--outline-width-focus) solid var(--interactive-focus);
4162
+ outline-offset: calc(-1 * var(--outline-width-focus));
4118
4163
  border-radius: var(--radius-sm);
4119
4164
  }
4120
4165
 
@@ -4122,11 +4167,11 @@ a:focus-visible {
4122
4167
  .bc-editable-text__display {
4123
4168
  display: flex;
4124
4169
  flex-direction: row;
4125
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
4170
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4126
4171
  justify-content: space-between;
4127
4172
  align-items: center;
4128
4173
  cursor: pointer;
4129
- padding: 0 calc(var(--spacing-base) / 2);
4174
+ padding: 0 var(--spacing-xs);
4130
4175
  white-space: nowrap;
4131
4176
  flex-grow: 1;
4132
4177
  overflow: hidden;
@@ -4154,7 +4199,7 @@ a:focus-visible {
4154
4199
  background: transparent;
4155
4200
  border: none;
4156
4201
  cursor: pointer;
4157
- padding: calc(var(--spacing-base) / 2);
4202
+ padding: var(--spacing-xs);
4158
4203
  display: flex;
4159
4204
  align-items: center;
4160
4205
  justify-content: center;
@@ -4258,7 +4303,7 @@ a:focus-visible {
4258
4303
  }
4259
4304
 
4260
4305
  .bc-empty-state--size-lg {
4261
- padding: var(--spacing-2xl, calc(var(--spacing-base) * 10));
4306
+ padding: var(--spacing-2xl, var(--spacing-2xlh));
4262
4307
  max-width: 500px;
4263
4308
  }
4264
4309
 
@@ -4289,7 +4334,7 @@ a:focus-visible {
4289
4334
  .bc-file-input__drop-zone {
4290
4335
  width: 100%;
4291
4336
  min-height: 120px;
4292
- border: 2px dashed var(--color-gray-300);
4337
+ border: var(--border-width-medium) dashed var(--color-gray-300);
4293
4338
  border-radius: var(--radius-control, var(--radius-md));
4294
4339
  transition: all
4295
4340
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
@@ -4304,7 +4349,7 @@ a:focus-visible {
4304
4349
  }
4305
4350
 
4306
4351
  .bc-file-input__drop-zone:focus-within {
4307
- outline: 2px solid var(--color-primary-500);
4352
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
4308
4353
  outline-offset: 2px;
4309
4354
  }
4310
4355
 
@@ -4314,11 +4359,11 @@ a:focus-visible {
4314
4359
  flex-direction: column;
4315
4360
  align-items: center;
4316
4361
  justify-content: center;
4317
- padding: calc(var(--spacing-base) * 6);
4362
+ padding: var(--spacing-xl);
4318
4363
  height: 100%;
4319
4364
  min-height: 120px;
4320
4365
  text-align: center;
4321
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
4366
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4322
4367
  }
4323
4368
 
4324
4369
  .bc-file-input__drop-zone-content--empty {
@@ -4333,7 +4378,7 @@ a:focus-visible {
4333
4378
  .bc-file-input__drop-zone-content--has-files {
4334
4379
  color: var(--color-gray-500);
4335
4380
  min-height: 80px;
4336
- padding: calc(var(--spacing-base) * 4);
4381
+ padding: var(--spacing-lg);
4337
4382
  }
4338
4383
 
4339
4384
  .bc-file-input__drop-zone-text {
@@ -4349,22 +4394,22 @@ a:focus-visible {
4349
4394
  }
4350
4395
 
4351
4396
  .bc-file-input__file-list {
4352
- margin-top: calc(var(--spacing-base) * 3);
4353
- border-top: 1px solid var(--color-gray-200);
4354
- padding-top: calc(var(--spacing-base) * 3);
4397
+ margin-top: var(--spacing-mdh);
4398
+ border-top: var(--border-width-thin) solid var(--color-gray-200);
4399
+ padding-top: var(--spacing-mdh);
4355
4400
  display: flex;
4356
4401
  flex-direction: row;
4357
4402
  flex-wrap: wrap;
4358
4403
  justify-content: center;
4359
- gap: var(--spacing-stack-md, calc(var(--spacing-base) * 3));
4404
+ gap: var(--spacing-stack-md, var(--spacing-mdh));
4360
4405
  }
4361
4406
 
4362
4407
  .bc-file-input__file-item {
4363
4408
  display: flex;
4364
4409
  align-items: center;
4365
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
4366
- padding: calc(var(--spacing-base) * 2);
4367
- border: 1px solid var(--color-gray-200);
4410
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4411
+ padding: var(--spacing-md);
4412
+ border: var(--border-width-thin) solid var(--color-gray-200);
4368
4413
  border-radius: var(--radius-sm);
4369
4414
  background-color: var(--color-white);
4370
4415
  transition:
@@ -4392,10 +4437,10 @@ a:focus-visible {
4392
4437
 
4393
4438
  /* Thumbnail Styles */
4394
4439
  .bc-file-input__thumbnail-container {
4395
- min-width: calc(var(--spacing-base) * 12);
4396
- max-width: calc(var(--spacing-base) * 12);
4397
- min-height: calc(var(--spacing-base) * 12);
4398
- max-height: calc(var(--spacing-base) * 12);
4440
+ min-width: var(--spacing-3xl);
4441
+ max-width: var(--spacing-3xl);
4442
+ min-height: var(--spacing-3xl);
4443
+ max-height: var(--spacing-3xl);
4399
4444
  border-radius: var(--radius-sm);
4400
4445
  overflow: hidden;
4401
4446
  background-color: var(--color-gray-100);
@@ -4405,24 +4450,24 @@ a:focus-visible {
4405
4450
  }
4406
4451
 
4407
4452
  .bc-file-input__file-icon .bc-icon {
4408
- min-width: calc(var(--spacing-base) * 12);
4409
- max-width: calc(var(--spacing-base) * 12);
4410
- min-height: calc(var(--spacing-base) * 12);
4411
- max-height: calc(var(--spacing-base) * 12);
4453
+ min-width: var(--spacing-3xl);
4454
+ max-width: var(--spacing-3xl);
4455
+ min-height: var(--spacing-3xl);
4456
+ max-height: var(--spacing-3xl);
4412
4457
  }
4413
4458
 
4414
4459
  .bc-file-input__compact-value-item .bc-icon {
4415
- min-width: calc(var(--spacing-base) * 6);
4416
- max-width: calc(var(--spacing-base) * 6);
4417
- min-height: calc(var(--spacing-base) * 6);
4418
- max-height: calc(var(--spacing-base) * 6);
4460
+ min-width: var(--spacing-xl);
4461
+ max-width: var(--spacing-xl);
4462
+ min-height: var(--spacing-xl);
4463
+ max-height: var(--spacing-xl);
4419
4464
  }
4420
4465
 
4421
4466
  .bc-file-input__compact-value-item .bc-file-input__thumbnail-container {
4422
- min-width: calc(var(--spacing-base) * 6);
4423
- max-width: calc(var(--spacing-base) * 6);
4424
- min-height: calc(var(--spacing-base) * 6);
4425
- max-height: calc(var(--spacing-base) * 6);
4467
+ min-width: var(--spacing-xl);
4468
+ max-width: var(--spacing-xl);
4469
+ min-height: var(--spacing-xl);
4470
+ max-height: var(--spacing-xl);
4426
4471
  }
4427
4472
 
4428
4473
  .bc-file-input__thumbnail {
@@ -4460,8 +4505,8 @@ a:focus-visible {
4460
4505
  display: flex;
4461
4506
  align-items: center;
4462
4507
  justify-content: center;
4463
- width: calc(var(--spacing-base) * 6);
4464
- height: calc(var(--spacing-base) * 6);
4508
+ width: var(--spacing-xl);
4509
+ height: var(--spacing-xl);
4465
4510
  border: none;
4466
4511
  border-radius: var(--radius-sm);
4467
4512
  background-color: transparent;
@@ -4478,7 +4523,7 @@ a:focus-visible {
4478
4523
  }
4479
4524
 
4480
4525
  .bc-file-input__remove-button:focus {
4481
- outline: 2px solid var(--color-danger-500);
4526
+ outline: var(--outline-width-focus) solid var(--color-danger-500);
4482
4527
  outline-offset: 2px;
4483
4528
  }
4484
4529
 
@@ -4489,9 +4534,9 @@ a:focus-visible {
4489
4534
 
4490
4535
  .bc-file-input__clear-all-button {
4491
4536
  display: block;
4492
- margin: calc(var(--spacing-base) * 2) auto 0;
4493
- padding: calc(var(--spacing-base) * 1.5) calc(var(--spacing-base) * 3);
4494
- border: 1px solid var(--color-gray-300);
4537
+ margin: var(--spacing-md) auto 0;
4538
+ padding: var(--spacing-smh) var(--spacing-mdh);
4539
+ border: var(--border-width-thin) solid var(--color-gray-300);
4495
4540
  border-radius: var(--radius-sm);
4496
4541
  background-color: var(--color-white);
4497
4542
  color: var(--color-gray-600);
@@ -4510,7 +4555,7 @@ a:focus-visible {
4510
4555
  }
4511
4556
 
4512
4557
  .bc-file-input__clear-all-button:focus {
4513
- outline: 2px solid var(--color-danger-500);
4558
+ outline: var(--outline-width-focus) solid var(--color-danger-500);
4514
4559
  outline-offset: 2px;
4515
4560
  }
4516
4561
 
@@ -4555,7 +4600,7 @@ a:focus-visible {
4555
4600
  .bc-file-input__file-item {
4556
4601
  flex-direction: column;
4557
4602
  align-items: flex-start;
4558
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
4603
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4559
4604
  }
4560
4605
 
4561
4606
  .bc-file-input__remove-button {
@@ -4596,16 +4641,16 @@ a:focus-visible {
4596
4641
  text-overflow: ellipsis;
4597
4642
  display: flex;
4598
4643
  flex-wrap: wrap;
4599
- gap: var(--spacing-stack-xs, calc(var(--spacing-base) * 1));
4644
+ gap: var(--spacing-stack-xs, var(--spacing-sm));
4600
4645
  }
4601
4646
 
4602
4647
  .bc-file-input__compact-value-item {
4603
4648
  background-color: var(--color-gray-100);
4604
4649
  border-radius: var(--radius-sm);
4605
- padding: calc(var(--spacing-base) / 2) calc(var(--spacing-base) * 2);
4650
+ padding: var(--spacing-xs) var(--spacing-md);
4606
4651
  display: flex;
4607
4652
  align-items: center;
4608
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
4653
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4609
4654
  flex-wrap: nowrap;
4610
4655
  overflow: hidden;
4611
4656
  text-overflow: ellipsis;
@@ -4615,8 +4660,8 @@ a:focus-visible {
4615
4660
  display: inline-flex;
4616
4661
  align-items: center;
4617
4662
  justify-content: center;
4618
- width: calc(var(--spacing-base) * 6);
4619
- height: calc(var(--spacing-base) * 6);
4663
+ width: var(--spacing-xl);
4664
+ height: var(--spacing-xl);
4620
4665
  border: none;
4621
4666
  border-radius: var(--radius-sm);
4622
4667
  background-color: transparent;
@@ -4648,8 +4693,8 @@ a:focus-visible {
4648
4693
  display: inline-flex;
4649
4694
  align-items: center;
4650
4695
  justify-content: center;
4651
- width: calc(var(--spacing-base) * 6);
4652
- height: calc(var(--spacing-base) * 6);
4696
+ width: var(--spacing-xl);
4697
+ height: var(--spacing-xl);
4653
4698
  border-radius: var(--radius-xs);
4654
4699
  overflow: hidden;
4655
4700
  background-color: var(--color-gray-100);
@@ -4669,14 +4714,14 @@ a:focus-visible {
4669
4714
  .bc-file-input__compact-drop-zone {
4670
4715
  width: 100%;
4671
4716
  min-height: 100px;
4672
- border: 2px dashed var(--color-gray-300);
4717
+ border: var(--border-width-medium) dashed var(--color-gray-300);
4673
4718
  border-radius: var(--radius-control, var(--radius-md));
4674
4719
  transition: all
4675
4720
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
4676
4721
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
4677
4722
  cursor: pointer;
4678
4723
  position: relative;
4679
- padding: calc(var(--spacing-base) * 3);
4724
+ padding: var(--spacing-mdh);
4680
4725
  }
4681
4726
 
4682
4727
  .bc-file-input__compact-drop-zone:hover {
@@ -4685,7 +4730,7 @@ a:focus-visible {
4685
4730
  }
4686
4731
 
4687
4732
  .bc-file-input__compact-drop-zone:focus-within {
4688
- outline: 2px solid var(--color-primary-500);
4733
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
4689
4734
  outline-offset: 2px;
4690
4735
  }
4691
4736
 
@@ -4695,10 +4740,10 @@ a:focus-visible {
4695
4740
  flex-direction: column;
4696
4741
  align-items: center;
4697
4742
  justify-content: center;
4698
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
4743
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4699
4744
  color: var(--color-gray-600);
4700
4745
  text-align: center;
4701
- padding: calc(var(--spacing-base) * 2);
4746
+ padding: var(--spacing-md);
4702
4747
  }
4703
4748
 
4704
4749
  .bc-file-input__compact-placeholder-text {
@@ -4712,15 +4757,15 @@ a:focus-visible {
4712
4757
  display: flex;
4713
4758
  flex-direction: column;
4714
4759
  justify-items: center;
4715
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
4760
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4716
4761
  overflow-y: auto;
4717
4762
  }
4718
4763
 
4719
4764
  .bc-file-input__compact-file-item {
4720
4765
  display: flex;
4721
4766
  align-items: center;
4722
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
4723
- padding: calc(var(--spacing-base) * 1.5);
4767
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4768
+ padding: var(--spacing-smh);
4724
4769
  border-radius: var(--radius-sm);
4725
4770
  background-color: var(--color-gray-50);
4726
4771
  transition: background-color
@@ -4738,17 +4783,17 @@ a:focus-visible {
4738
4783
  }
4739
4784
 
4740
4785
  .bc-file-input__compact-file-icon .bc-icon {
4741
- min-width: calc(var(--spacing-base) * 8);
4742
- max-width: calc(var(--spacing-base) * 8);
4743
- min-height: calc(var(--spacing-base) * 8);
4744
- max-height: calc(var(--spacing-base) * 8);
4786
+ min-width: var(--spacing-2xl);
4787
+ max-width: var(--spacing-2xl);
4788
+ min-height: var(--spacing-2xl);
4789
+ max-height: var(--spacing-2xl);
4745
4790
  }
4746
4791
 
4747
4792
  .bc-file-input__compact-file-icon .bc-file-input__thumbnail-container {
4748
- min-width: calc(var(--spacing-base) * 8);
4749
- max-width: calc(var(--spacing-base) * 8);
4750
- min-height: calc(var(--spacing-base) * 8);
4751
- max-height: calc(var(--spacing-base) * 8);
4793
+ min-width: var(--spacing-2xl);
4794
+ max-width: var(--spacing-2xl);
4795
+ min-height: var(--spacing-2xl);
4796
+ max-height: var(--spacing-2xl);
4752
4797
  }
4753
4798
 
4754
4799
  .bc-file-input__compact-file-info {
@@ -4779,8 +4824,8 @@ a:focus-visible {
4779
4824
  display: flex;
4780
4825
  align-items: center;
4781
4826
  justify-content: center;
4782
- width: calc(var(--spacing-base) * 6);
4783
- height: calc(var(--spacing-base) * 6);
4827
+ width: var(--spacing-xl);
4828
+ height: var(--spacing-xl);
4784
4829
  border: none;
4785
4830
  border-radius: var(--radius-sm);
4786
4831
  background-color: transparent;
@@ -4797,7 +4842,7 @@ a:focus-visible {
4797
4842
  }
4798
4843
 
4799
4844
  .bc-file-input__compact-remove-button:focus {
4800
- outline: 2px solid var(--color-danger-500);
4845
+ outline: var(--outline-width-focus) solid var(--color-danger-500);
4801
4846
  outline-offset: 2px;
4802
4847
  }
4803
4848
 
@@ -5059,7 +5104,7 @@ a:focus-visible {
5059
5104
  .bc-flyout {
5060
5105
  /* Base flyout styles */
5061
5106
  background-color: var(--color-neutral-50);
5062
- border: 1px solid var(--color-neutral-200);
5107
+ border: var(--border-width-thin) solid var(--color-neutral-200);
5063
5108
  border-radius: var(--radius-popover, var(--radius-md));
5064
5109
  box-shadow: var(--shadow-popover, var(--shadow-lg));
5065
5110
  padding: var(--spacing-sm);
@@ -5135,19 +5180,19 @@ a:focus-visible {
5135
5180
  }
5136
5181
 
5137
5182
  .bc-group--gap-1 {
5138
- gap: var(--spacing-stack-xs, calc(var(--spacing-base) * 1));
5183
+ gap: var(--spacing-stack-xs, var(--spacing-sm));
5139
5184
  }
5140
5185
 
5141
5186
  .bc-group--gap-2 {
5142
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
5187
+ gap: var(--spacing-stack-sm, var(--spacing-md));
5143
5188
  }
5144
5189
 
5145
5190
  .bc-group--gap-4 {
5146
- gap: var(--spacing-stack-lg, calc(var(--spacing-base) * 4));
5191
+ gap: var(--spacing-stack-lg, var(--spacing-lg));
5147
5192
  }
5148
5193
 
5149
5194
  .bc-group--gap-md {
5150
- gap: var(--spacing-stack-md, calc(var(--spacing-base) * 3));
5195
+ gap: var(--spacing-stack-md, var(--spacing-mdh));
5151
5196
  }
5152
5197
 
5153
5198
  .bc-group--grow {
@@ -5157,7 +5202,7 @@ a:focus-visible {
5157
5202
  /* History Timeline */
5158
5203
  .bc-history-timeline {
5159
5204
  font-family: var(
5160
- --default-ui-font-family,
5205
+ --font-family-default-ui,
5161
5206
  var(--font-ui, var(--font-body, var(--font-family-sans)))
5162
5207
  );
5163
5208
  }
@@ -5172,7 +5217,7 @@ a:focus-visible {
5172
5217
 
5173
5218
  .bc-history-timeline__filter {
5174
5219
  padding: 4px 12px;
5175
- border: 1px solid var(--color-base-200);
5220
+ border: var(--border-width-thin) solid var(--color-base-200);
5176
5221
  border-radius: var(--radius-full, 9999px);
5177
5222
  background: transparent;
5178
5223
  font-size: var(--font-size-xs);
@@ -5411,7 +5456,7 @@ a:focus-visible {
5411
5456
  color: var(--color-neutral-500);
5412
5457
  white-space: nowrap;
5413
5458
  user-select: none;
5414
- line-height: 1;
5459
+ line-height: var(--line-height-none);
5415
5460
  align-self: stretch;
5416
5461
  }
5417
5462
 
@@ -5487,10 +5532,10 @@ a:focus-visible {
5487
5532
  .bc-input-container {
5488
5533
  width: 100%;
5489
5534
  /* Add a transparent border to match button height math */
5490
- border: 1.5px solid transparent;
5535
+ border: var(--border-width-default) solid transparent;
5491
5536
  border-radius: var(--radius-control, var(--radius-md));
5492
5537
  box-shadow: var(--shadow-xs);
5493
- line-height: 1;
5538
+ line-height: var(--line-height-none);
5494
5539
  transition: all var(--motion-transition-fast) var(--motion-easing-standard);
5495
5540
  align-items: stretch;
5496
5541
  }
@@ -5503,8 +5548,8 @@ a:focus-visible {
5503
5548
 
5504
5549
  .bc-input-container--default {
5505
5550
  background-color: var(--color-white);
5506
- outline: 1px solid var(--border-divider);
5507
- outline-offset: -1px;
5551
+ outline: var(--outline-width-default) solid var(--border-divider);
5552
+ outline-offset: calc(-1 * var(--outline-width-default));
5508
5553
  }
5509
5554
 
5510
5555
  .bc-base-input-container ::placeholder,
@@ -5521,26 +5566,26 @@ a:focus-visible {
5521
5566
 
5522
5567
  .bc-input-container--disabled {
5523
5568
  background-color: var(--color-neutral-200);
5524
- outline: 2px solid var(--border-divider);
5525
- outline-offset: -2px;
5569
+ outline: var(--outline-width-focus) solid var(--border-divider);
5570
+ outline-offset: calc(-1 * var(--outline-width-focus));
5526
5571
  }
5527
5572
 
5528
5573
  /* Focus within state */
5529
5574
  .bc-input-container:focus-within {
5530
5575
  z-index: var(--z-index-navigation);
5531
- outline: 2px solid var(--interactive-focus);
5532
- outline-offset: -2px;
5576
+ outline: var(--outline-width-focus) solid var(--interactive-focus);
5577
+ outline-offset: calc(-1 * var(--outline-width-focus));
5533
5578
  }
5534
5579
 
5535
5580
  /* Error state */
5536
5581
  .bc-input-container--error {
5537
- outline: 2px solid var(--color-danger-600);
5538
- outline-offset: -2px;
5582
+ outline: var(--outline-width-focus) solid var(--color-danger-600);
5583
+ outline-offset: calc(-1 * var(--outline-width-focus));
5539
5584
  }
5540
5585
 
5541
5586
  .bc-input-container--error:focus-within {
5542
- outline: 2px solid var(--color-danger-600);
5543
- outline-offset: -2px;
5587
+ outline: var(--outline-width-focus) solid var(--color-danger-600);
5588
+ outline-offset: calc(-1 * var(--outline-width-focus));
5544
5589
  }
5545
5590
 
5546
5591
  /* Before and after elements */
@@ -5560,7 +5605,7 @@ a:focus-visible {
5560
5605
  align-items: center;
5561
5606
  min-width: 0;
5562
5607
  /* Horizontal padding only; vertical padding comes from size classes */
5563
- padding-inline: calc(var(--spacing-base) * 4);
5608
+ padding-inline: var(--spacing-lg);
5564
5609
  }
5565
5610
 
5566
5611
  .bc-input-container__input--grow {
@@ -5583,10 +5628,9 @@ a:focus-visible {
5583
5628
  /* Normalize native element heights for consistent input container sizing */
5584
5629
  .bc-input-container input,
5585
5630
  .bc-input-container select {
5586
- min-height: 19px;
5587
5631
  padding: 0;
5588
- padding-block: 1.5px;
5589
- line-height: 1;
5632
+ padding-block: var(--spacing-px);
5633
+ line-height: var(--line-height-none);
5590
5634
  }
5591
5635
 
5592
5636
  /* Password toggle button */
@@ -5662,11 +5706,11 @@ a:focus-visible {
5662
5706
  .dark .bc-input-container--default {
5663
5707
  background-color: var(--bg-surface);
5664
5708
  color: var(--text-normal);
5665
- outline: 2px solid var(--border-default);
5709
+ outline: var(--outline-width-focus) solid var(--border-default);
5666
5710
  }
5667
5711
 
5668
5712
  .dark .bc-input-container--default:focus-within {
5669
- outline: 2px solid var(--interactive-focus);
5713
+ outline: var(--outline-width-focus) solid var(--interactive-focus);
5670
5714
  background-color: var(--bg-elevated);
5671
5715
  }
5672
5716
 
@@ -5677,17 +5721,17 @@ a:focus-visible {
5677
5721
 
5678
5722
  .dark .bc-input-container--disabled {
5679
5723
  background-color: var(--bg-subtle);
5680
- outline: 2px solid var(--border-divider);
5724
+ outline: var(--outline-width-focus) solid var(--border-divider);
5681
5725
  opacity: 0.6;
5682
5726
  }
5683
5727
 
5684
5728
  .dark .bc-input-container--error {
5685
- outline: 2px solid var(--color-danger-400);
5729
+ outline: var(--outline-width-focus) solid var(--color-danger-400);
5686
5730
  background-color: var(--color-danger-950);
5687
5731
  }
5688
5732
 
5689
5733
  .dark .bc-input-container--error:focus-within {
5690
- outline: 2px solid var(--color-danger-400);
5734
+ outline: var(--outline-width-focus) solid var(--color-danger-400);
5691
5735
  background-color: var(--color-danger-900);
5692
5736
  }
5693
5737
 
@@ -5718,7 +5762,7 @@ a:focus-visible {
5718
5762
  @media (width >= 40rem) {
5719
5763
  .bc-input-container {
5720
5764
  /* Do not force font-size; sizing classes control this */
5721
- line-height: 1;
5765
+ line-height: var(--line-height-none);
5722
5766
  }
5723
5767
  }
5724
5768
 
@@ -5726,7 +5770,7 @@ a:focus-visible {
5726
5770
  @media (prefers-contrast: high) {
5727
5771
  .bc-input-container,
5728
5772
  .bc-input {
5729
- border-width: 2px;
5773
+ border-width: var(--border-width-medium);
5730
5774
  }
5731
5775
  }
5732
5776
 
@@ -5754,7 +5798,7 @@ a:focus-visible {
5754
5798
  display: grid;
5755
5799
  grid-template-columns: auto 1fr;
5756
5800
  align-items: center;
5757
- gap: var(--spacing-sm, calc(var(--spacing-base) * 4));
5801
+ gap: var(--spacing-sm, var(--spacing-lg));
5758
5802
  }
5759
5803
 
5760
5804
  /* Horizontal with label on right */
@@ -5780,7 +5824,7 @@ a:focus-visible {
5780
5824
  display: flex;
5781
5825
  align-items: center;
5782
5826
  justify-content: space-between;
5783
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
5827
+ gap: var(--spacing-stack-sm, var(--spacing-md));
5784
5828
  }
5785
5829
 
5786
5830
  /* Label section container */
@@ -5793,7 +5837,7 @@ a:focus-visible {
5793
5837
  .bc-input-wrapper__label {
5794
5838
  display: flex;
5795
5839
  align-items: center;
5796
- gap: var(--spacing-stack-2xs, calc(var(--spacing-base) / 2));
5840
+ gap: var(--spacing-stack-2xs, var(--spacing-xs));
5797
5841
  }
5798
5842
 
5799
5843
  /* Label text styles */
@@ -5874,8 +5918,8 @@ a:focus-visible {
5874
5918
  }
5875
5919
 
5876
5920
  .bc-json-schema-object {
5877
- border-left: calc(var(--spacing-base) * 2) solid var(--color-base-200);
5878
- padding-inline-start: calc(var(--spacing-base) * 2);
5921
+ border-left: var(--spacing-md) solid var(--color-base-200);
5922
+ padding-inline-start: var(--spacing-md);
5879
5923
  }
5880
5924
 
5881
5925
  .dark .bc-json-schema-object {
@@ -5887,7 +5931,7 @@ a:focus-visible {
5887
5931
  }
5888
5932
 
5889
5933
  .bc-schema-grid--gap-4 {
5890
- gap: var(--spacing-stack-lg, calc(var(--spacing-base) * 4));
5934
+ gap: var(--spacing-stack-lg, var(--spacing-lg));
5891
5935
  }
5892
5936
 
5893
5937
  .bc-schema-grid--cols-1 {
@@ -6073,7 +6117,7 @@ a:focus-visible {
6073
6117
 
6074
6118
  .bc-object-helpers__row {
6075
6119
  display: grid;
6076
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
6120
+ gap: var(--spacing-stack-sm, var(--spacing-md));
6077
6121
  grid-template-columns: 2fr 3fr min-content;
6078
6122
  }
6079
6123
 
@@ -6088,7 +6132,7 @@ a:focus-visible {
6088
6132
  }
6089
6133
 
6090
6134
  .bc-object-helpers__remove {
6091
- padding-top: calc(var(--spacing-base) * 3);
6135
+ padding-top: var(--spacing-mdh);
6092
6136
  flex-shrink: 1;
6093
6137
  }
6094
6138
 
@@ -6112,7 +6156,7 @@ a:focus-visible {
6112
6156
  .bc-json-schema-display__object {
6113
6157
  display: grid;
6114
6158
  grid-template-columns: auto 1fr;
6115
- column-gap: calc(var(--spacing-base) * 3);
6159
+ column-gap: var(--spacing-mdh);
6116
6160
  }
6117
6161
 
6118
6162
  /* Each field spans both parent columns and inherits their sizing via subgrid */
@@ -6135,7 +6179,7 @@ a:focus-visible {
6135
6179
  .bc-json-schema-display__label-row {
6136
6180
  display: flex;
6137
6181
  align-items: center;
6138
- gap: calc(var(--spacing-base) * 1);
6182
+ gap: var(--spacing-sm);
6139
6183
  grid-column: 1;
6140
6184
  max-width: 16rem;
6141
6185
  overflow: hidden;
@@ -6172,7 +6216,7 @@ a:focus-visible {
6172
6216
  font-size: var(--font-size-xs);
6173
6217
  color: var(--color-warning-600);
6174
6218
  background-color: var(--color-warning-100);
6175
- padding: 0.1em calc(var(--spacing-base) * 1);
6219
+ padding: 0.1em var(--spacing-sm);
6176
6220
  border-radius: var(--radius-sm);
6177
6221
  font-weight: var(--font-weight-medium);
6178
6222
  }
@@ -6220,7 +6264,7 @@ a:focus-visible {
6220
6264
  .bc-json-schema-display__value-context {
6221
6265
  font-size: var(--font-size-xs);
6222
6266
  color: var(--color-neutral-400);
6223
- margin-left: calc(var(--spacing-base) * 1);
6267
+ margin-left: var(--spacing-sm);
6224
6268
  }
6225
6269
 
6226
6270
  .dark .bc-json-schema-display__value-context {
@@ -6250,7 +6294,7 @@ a:focus-visible {
6250
6294
  .bc-json-schema-display__color-display {
6251
6295
  display: inline-flex;
6252
6296
  align-items: center;
6253
- gap: calc(var(--spacing-base) * 1);
6297
+ gap: var(--spacing-sm);
6254
6298
  }
6255
6299
 
6256
6300
  .bc-json-schema-display__color-swatch {
@@ -6258,7 +6302,7 @@ a:focus-visible {
6258
6302
  width: 1.25rem;
6259
6303
  height: 1.25rem;
6260
6304
  border-radius: var(--radius-sm);
6261
- border: 1px solid var(--color-neutral-300);
6305
+ border: var(--border-width-thin) solid var(--color-neutral-300);
6262
6306
  vertical-align: middle;
6263
6307
  }
6264
6308
 
@@ -6279,9 +6323,9 @@ a:focus-visible {
6279
6323
  white-space: pre-wrap;
6280
6324
  word-break: break-word;
6281
6325
  background-color: var(--color-neutral-50);
6282
- padding: calc(var(--spacing-base) * 2);
6326
+ padding: var(--spacing-md);
6283
6327
  border-radius: var(--radius-md);
6284
- border: 1px solid var(--color-neutral-200);
6328
+ border: var(--border-width-thin) solid var(--color-neutral-200);
6285
6329
  margin: 0;
6286
6330
  overflow-x: auto;
6287
6331
  }
@@ -6296,7 +6340,7 @@ a:focus-visible {
6296
6340
  display: inline-block;
6297
6341
  font-size: var(--font-size-sm);
6298
6342
  font-weight: var(--font-weight-medium);
6299
- padding: 0 calc(var(--spacing-base) * 1.5);
6343
+ padding: 0 var(--spacing-smh);
6300
6344
  border-radius: var(--radius-full);
6301
6345
  line-height: 1.6;
6302
6346
  }
@@ -6323,8 +6367,8 @@ a:focus-visible {
6323
6367
 
6324
6368
  /* Object */
6325
6369
  .bc-json-schema-display__object {
6326
- border-left: calc(var(--spacing-base) * 2) solid var(--color-base-200);
6327
- padding-inline-start: calc(var(--spacing-base) * 2);
6370
+ border-left: var(--spacing-md) solid var(--color-base-200);
6371
+ padding-inline-start: var(--spacing-md);
6328
6372
  }
6329
6373
 
6330
6374
  .dark .bc-json-schema-display__object {
@@ -6334,8 +6378,8 @@ a:focus-visible {
6334
6378
  /* Extra properties */
6335
6379
  .bc-json-schema-display__extra-property {
6336
6380
  opacity: 0.7;
6337
- border-left: 2px dashed var(--color-warning-400);
6338
- padding-inline-start: calc(var(--spacing-base) * 2);
6381
+ border-left: var(--border-width-medium) dashed var(--color-warning-400);
6382
+ padding-inline-start: var(--spacing-md);
6339
6383
  }
6340
6384
 
6341
6385
  .dark .bc-json-schema-display__extra-property {
@@ -6350,7 +6394,7 @@ a:focus-visible {
6350
6394
 
6351
6395
  .bc-json-schema-display__array-item {
6352
6396
  display: flex;
6353
- gap: calc(var(--spacing-base) * 1.5);
6397
+ gap: var(--spacing-smh);
6354
6398
  align-items: baseline;
6355
6399
  }
6356
6400
 
@@ -6388,11 +6432,11 @@ a:focus-visible {
6388
6432
  font-size: var(--font-size-xs);
6389
6433
  font-weight: var(--font-weight-medium);
6390
6434
  color: var(--color-primary-600);
6391
- padding: 0 calc(var(--spacing-base) * 1);
6435
+ padding: 0 var(--spacing-sm);
6392
6436
  background-color: var(--color-primary-50);
6393
6437
  border-radius: var(--radius-sm);
6394
6438
  display: inline-block;
6395
- margin-bottom: calc(var(--spacing-base) * 1);
6439
+ margin-bottom: var(--spacing-sm);
6396
6440
  }
6397
6441
 
6398
6442
  .dark .bc-json-schema-display__branch-label {
@@ -6424,13 +6468,13 @@ a:focus-visible {
6424
6468
  .bc-json-schema-display__mismatches {
6425
6469
  display: flex;
6426
6470
  flex-wrap: wrap;
6427
- gap: calc(var(--spacing-base) * 1);
6471
+ gap: var(--spacing-sm);
6428
6472
  }
6429
6473
 
6430
6474
  .bc-json-schema-display__mismatch {
6431
6475
  font-size: var(--font-size-xs);
6432
6476
  font-weight: var(--font-weight-medium);
6433
- padding: 0 calc(var(--spacing-base) * 1.5);
6477
+ padding: 0 var(--spacing-smh);
6434
6478
  border-radius: var(--radius-full);
6435
6479
  line-height: 1.6;
6436
6480
  }
@@ -6469,7 +6513,7 @@ a:focus-visible {
6469
6513
  font-size: var(--font-size-xs);
6470
6514
  color: var(--color-danger-600);
6471
6515
  font-style: italic;
6472
- margin-left: calc(var(--spacing-base) * 1);
6516
+ margin-left: var(--spacing-sm);
6473
6517
  }
6474
6518
 
6475
6519
  .dark .bc-json-schema-display__mismatch--type-mismatch,
@@ -6508,7 +6552,7 @@ a:focus-visible {
6508
6552
  .bc-json-structure-form {
6509
6553
  display: flex;
6510
6554
  flex-direction: column;
6511
- gap: var(--spacing-stack-md, calc(var(--spacing-base) * 3));
6555
+ gap: var(--spacing-stack-md, var(--spacing-mdh));
6512
6556
  }
6513
6557
 
6514
6558
  /* =============================================================================
@@ -6516,18 +6560,18 @@ a:focus-visible {
6516
6560
  ============================================================================= */
6517
6561
 
6518
6562
  .bc-json-structure-object {
6519
- border-left: calc(var(--spacing-base) * 2) solid var(--color-base-200);
6520
- padding-inline-start: calc(var(--spacing-base) * 2);
6563
+ border-left: var(--spacing-md) solid var(--color-base-200);
6564
+ padding-inline-start: var(--spacing-md);
6521
6565
  }
6522
6566
 
6523
6567
  .bc-json-structure-object-fields {
6524
6568
  display: flex;
6525
6569
  flex-direction: column;
6526
- gap: var(--spacing-stack-md, calc(var(--spacing-base) * 3));
6570
+ gap: var(--spacing-stack-md, var(--spacing-mdh));
6527
6571
  }
6528
6572
 
6529
6573
  .bc-json-structure-object--nested {
6530
- margin-top: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
6574
+ margin-top: var(--spacing-stack-sm, var(--spacing-md));
6531
6575
  }
6532
6576
 
6533
6577
  /* Additional properties */
@@ -6535,8 +6579,8 @@ a:focus-visible {
6535
6579
  display: flex;
6536
6580
  flex-direction: column;
6537
6581
  gap: var(--spacing-stack-xs, var(--spacing-base));
6538
- padding: var(--spacing-inline-sm, calc(var(--spacing-base) * 2));
6539
- border: 1px solid var(--color-base-200);
6582
+ padding: var(--spacing-inline-sm, var(--spacing-md));
6583
+ border: var(--border-width-thin) solid var(--color-base-200);
6540
6584
  border-radius: var(--radius-sm);
6541
6585
  background: var(--color-base-50);
6542
6586
  }
@@ -6545,11 +6589,11 @@ a:focus-visible {
6545
6589
  display: flex;
6546
6590
  justify-content: space-between;
6547
6591
  align-items: center;
6548
- gap: var(--spacing-inline-sm, calc(var(--spacing-base) * 2));
6592
+ gap: var(--spacing-inline-sm, var(--spacing-md));
6549
6593
  }
6550
6594
 
6551
6595
  .bc-json-structure-additional-property-value {
6552
- padding-inline-start: calc(var(--spacing-base) * 2);
6596
+ padding-inline-start: var(--spacing-md);
6553
6597
  }
6554
6598
 
6555
6599
  /* =============================================================================
@@ -6561,7 +6605,7 @@ a:focus-visible {
6561
6605
  .bc-json-structure-map {
6562
6606
  display: flex;
6563
6607
  flex-direction: column;
6564
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
6608
+ gap: var(--spacing-stack-sm, var(--spacing-md));
6565
6609
  }
6566
6610
 
6567
6611
  .bc-json-structure-array-items,
@@ -6569,7 +6613,7 @@ a:focus-visible {
6569
6613
  .bc-json-structure-map-entries {
6570
6614
  display: flex;
6571
6615
  flex-direction: column;
6572
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
6616
+ gap: var(--spacing-stack-sm, var(--spacing-md));
6573
6617
  }
6574
6618
 
6575
6619
  .bc-json-structure-array-item,
@@ -6577,7 +6621,7 @@ a:focus-visible {
6577
6621
  .bc-json-structure-map-entry {
6578
6622
  display: flex;
6579
6623
  align-items: flex-start;
6580
- gap: var(--spacing-inline-sm, calc(var(--spacing-base) * 2));
6624
+ gap: var(--spacing-inline-sm, var(--spacing-md));
6581
6625
  }
6582
6626
 
6583
6627
  .bc-json-structure-array-item-content,
@@ -6602,7 +6646,7 @@ a:focus-visible {
6602
6646
  display: flex;
6603
6647
  justify-content: space-between;
6604
6648
  align-items: center;
6605
- gap: var(--spacing-inline-sm, calc(var(--spacing-base) * 2));
6649
+ gap: var(--spacing-inline-sm, var(--spacing-md));
6606
6650
  margin-bottom: var(--spacing-stack-xs, var(--spacing-base));
6607
6651
  }
6608
6652
 
@@ -6613,7 +6657,7 @@ a:focus-visible {
6613
6657
  }
6614
6658
 
6615
6659
  .bc-json-structure-map-entry-value {
6616
- padding-inline-start: calc(var(--spacing-base) * 2);
6660
+ padding-inline-start: var(--spacing-md);
6617
6661
  }
6618
6662
 
6619
6663
  /* Set error indicator */
@@ -6630,7 +6674,7 @@ a:focus-visible {
6630
6674
  .bc-json-structure-tuple {
6631
6675
  display: flex;
6632
6676
  flex-direction: column;
6633
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
6677
+ gap: var(--spacing-stack-sm, var(--spacing-md));
6634
6678
  }
6635
6679
 
6636
6680
  .bc-json-structure-tuple-label {
@@ -6648,7 +6692,7 @@ a:focus-visible {
6648
6692
  .bc-json-structure-tuple-elements {
6649
6693
  display: flex;
6650
6694
  flex-direction: column;
6651
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
6695
+ gap: var(--spacing-stack-sm, var(--spacing-md));
6652
6696
  }
6653
6697
 
6654
6698
  .bc-json-structure-tuple-element {
@@ -6676,7 +6720,7 @@ a:focus-visible {
6676
6720
  }
6677
6721
 
6678
6722
  .bc-json-structure-tuple-element-control {
6679
- padding-inline-start: calc(var(--spacing-base) * 2);
6723
+ padding-inline-start: var(--spacing-md);
6680
6724
  }
6681
6725
 
6682
6726
  /* =============================================================================
@@ -6686,15 +6730,15 @@ a:focus-visible {
6686
6730
  .bc-json-structure-choice {
6687
6731
  display: flex;
6688
6732
  flex-direction: column;
6689
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
6733
+ gap: var(--spacing-stack-sm, var(--spacing-md));
6690
6734
  }
6691
6735
 
6692
6736
  .bc-json-structure-choice-selector {
6693
- margin-bottom: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
6737
+ margin-bottom: var(--spacing-stack-sm, var(--spacing-md));
6694
6738
  }
6695
6739
 
6696
6740
  .bc-json-structure-choice-options {
6697
- padding-inline-start: calc(var(--spacing-base) * 2);
6741
+ padding-inline-start: var(--spacing-md);
6698
6742
  }
6699
6743
 
6700
6744
  /* =============================================================================
@@ -6706,7 +6750,7 @@ a:focus-visible {
6706
6750
  }
6707
6751
 
6708
6752
  .bc-structure-grid--gap-4 {
6709
- gap: var(--spacing-stack-lg, calc(var(--spacing-base) * 4));
6753
+ gap: var(--spacing-stack-lg, var(--spacing-lg));
6710
6754
  }
6711
6755
 
6712
6756
  .bc-structure-grid--cols-1 {
@@ -6843,7 +6887,7 @@ a:focus-visible {
6843
6887
  font-family: var(--font-family-mono);
6844
6888
  background: var(--color-base-100);
6845
6889
  padding: var(--spacing-inline-xs, calc(var(--spacing-base) * 0.5))
6846
- var(--spacing-inline-sm, calc(var(--spacing-base) * 2));
6890
+ var(--spacing-inline-sm, var(--spacing-md));
6847
6891
  border-radius: var(--radius-sm);
6848
6892
  color: var(--color-base-600);
6849
6893
  }
@@ -6872,8 +6916,8 @@ a:focus-visible {
6872
6916
  display: flex;
6873
6917
  flex-direction: column;
6874
6918
  gap: var(--spacing-stack-xs, var(--spacing-base));
6875
- padding: var(--spacing-inline-sm, calc(var(--spacing-base) * 2));
6876
- border: 1px dashed var(--color-base-300);
6919
+ padding: var(--spacing-inline-sm, var(--spacing-md));
6920
+ border: var(--border-width-thin) dashed var(--color-base-300);
6877
6921
  border-radius: var(--radius-md);
6878
6922
  background: var(--color-base-50);
6879
6923
  }
@@ -6888,8 +6932,8 @@ a:focus-visible {
6888
6932
  display: flex;
6889
6933
  flex-direction: column;
6890
6934
  gap: var(--spacing-stack-xs, var(--spacing-base));
6891
- padding: var(--spacing-inline-sm, calc(var(--spacing-base) * 2));
6892
- border: 1px solid var(--color-warning-300);
6935
+ padding: var(--spacing-inline-sm, var(--spacing-md));
6936
+ border: var(--border-width-thin) solid var(--color-warning-300);
6893
6937
  border-radius: var(--radius-md);
6894
6938
  background: var(--color-warning-50);
6895
6939
  color: var(--color-warning-700);
@@ -6972,11 +7016,11 @@ a:focus-visible {
6972
7016
  justify-content: center;
6973
7017
  font-family: var(--font-family-mono);
6974
7018
  font-weight: var(--font-weight-medium);
6975
- line-height: 1;
7019
+ line-height: var(--line-height-none);
6976
7020
  border-radius: var(--radius-xs);
6977
7021
  background-color: var(--bg-surface);
6978
7022
  color: var(--text-muted);
6979
- border: 1px solid var(--border-subtle);
7023
+ border: var(--border-width-thin) solid var(--border-subtle);
6980
7024
  box-shadow: rgb(229, 229, 229) 0px 1px 0px;
6981
7025
  white-space: nowrap;
6982
7026
  vertical-align: middle;
@@ -6994,13 +7038,13 @@ a:focus-visible {
6994
7038
 
6995
7039
  .bc-kbd--size-sm {
6996
7040
  font-size: var(--font-size-sm);
6997
- padding: calc(var(--spacing-base) * 0.5) calc(var(--spacing-base) * 1.5);
7041
+ padding: calc(var(--spacing-base) * 0.5) var(--spacing-smh);
6998
7042
  min-width: calc(var(--font-size-sm) + var(--spacing-base) * 2);
6999
7043
  }
7000
7044
 
7001
7045
  .bc-kbd--size-md {
7002
7046
  font-size: var(--font-size-md);
7003
- padding: calc(var(--spacing-base) * 0.5) calc(var(--spacing-base) * 2);
7047
+ padding: calc(var(--spacing-base) * 0.5) var(--spacing-md);
7004
7048
  min-width: calc(var(--font-size-md) + var(--spacing-base) * 2.5);
7005
7049
  }
7006
7050
 
@@ -7016,7 +7060,7 @@ a:focus-visible {
7016
7060
  /* Accessibility adjustments */
7017
7061
  @media (prefers-contrast: high) {
7018
7062
  .bc-kbd {
7019
- border-width: 2px;
7063
+ border-width: var(--border-width-medium);
7020
7064
  }
7021
7065
  }
7022
7066
 
@@ -7030,7 +7074,7 @@ a:focus-visible {
7030
7074
  font-size: var(--font-size-sm);
7031
7075
  line-height: var(--line-height-normal);
7032
7076
  font-family: var(
7033
- --default-ui-font-family,
7077
+ --font-family-default-ui,
7034
7078
  var(--font-ui, var(--font-body, var(--font-family-sans)))
7035
7079
  );
7036
7080
  }
@@ -7069,7 +7113,7 @@ a:focus-visible {
7069
7113
  .bc-lexical-editor-container {
7070
7114
  display: flex;
7071
7115
  flex-direction: column;
7072
- border: 1px solid var(--color-neutral-200);
7116
+ border: var(--border-width-thin) solid var(--color-neutral-200);
7073
7117
  border-radius: var(--radius-control, var(--radius-md));
7074
7118
  background-color: var(--color-neutral-50);
7075
7119
  overflow: hidden;
@@ -7232,7 +7276,8 @@ a:focus-visible {
7232
7276
  .bc-lexical-editor blockquote {
7233
7277
  margin: 1rem 0;
7234
7278
  padding-left: 1rem;
7235
- border-left: 4px solid var(--color-neutral-300);
7279
+ border-left: calc(2 * var(--border-width-medium)) solid
7280
+ var(--color-neutral-300);
7236
7281
  color: var(--color-neutral-700);
7237
7282
  font-style: italic;
7238
7283
  }
@@ -7270,7 +7315,7 @@ a:focus-visible {
7270
7315
  background-color: var(--color-neutral-100);
7271
7316
  border-radius: var(--radius-md, 0.5rem);
7272
7317
  overflow-x: auto;
7273
- border: 1px solid var(--color-neutral-200);
7318
+ border: var(--border-width-thin) solid var(--color-neutral-200);
7274
7319
  }
7275
7320
 
7276
7321
  .bc-lexical-editor pre code {
@@ -7295,7 +7340,7 @@ a:focus-visible {
7295
7340
  .bc-lexical-editor hr {
7296
7341
  margin: 1.5rem 0;
7297
7342
  border: none;
7298
- border-top: 2px solid var(--color-neutral-200);
7343
+ border-top: var(--border-width-medium) solid var(--color-neutral-200);
7299
7344
  }
7300
7345
 
7301
7346
  .bc-lexical-editor strong,
@@ -7349,7 +7394,7 @@ a:focus-visible {
7349
7394
  top: 0.35em;
7350
7395
  width: 1em;
7351
7396
  height: 1em;
7352
- border: 2px solid var(--color-neutral-400);
7397
+ border: var(--border-width-medium) solid var(--color-neutral-400);
7353
7398
  border-radius: var(--radius-xs, 0.25rem);
7354
7399
  cursor: pointer;
7355
7400
  }
@@ -7366,8 +7411,8 @@ a:focus-visible {
7366
7411
  top: 0.45em;
7367
7412
  width: 0.5em;
7368
7413
  height: 0.25em;
7369
- border-left: 2px solid white;
7370
- border-bottom: 2px solid white;
7414
+ border-left: var(--border-width-medium) solid white;
7415
+ border-bottom: var(--border-width-medium) solid white;
7371
7416
  transform: rotate(-45deg);
7372
7417
  }
7373
7418
 
@@ -7506,7 +7551,7 @@ a:focus-visible {
7506
7551
 
7507
7552
  @media (prefers-contrast: high) {
7508
7553
  .bc-lexical-editor-container {
7509
- border-width: 2px;
7554
+ border-width: var(--border-width-medium);
7510
7555
  }
7511
7556
 
7512
7557
  .bc-lexical-editor-container:focus-within {
@@ -7524,7 +7569,7 @@ a:focus-visible {
7524
7569
 
7525
7570
  /* Toolbar positioned at top of editor container */
7526
7571
  .bc-lexical-toolbar {
7527
- border-bottom: 1px solid var(--color-neutral-200);
7572
+ border-bottom: var(--border-width-thin) solid var(--color-neutral-200);
7528
7573
  border-radius: 0;
7529
7574
  border: none;
7530
7575
  background-color: var(--color-neutral-50);
@@ -7538,7 +7583,7 @@ a:focus-visible {
7538
7583
 
7539
7584
  /* When toolbar is inside the editor container, add bottom border */
7540
7585
  .bc-lexical-editor-container > .bc-lexical-toolbar {
7541
- border-bottom: 1px solid var(--color-neutral-200);
7586
+ border-bottom: var(--border-width-thin) solid var(--color-neutral-200);
7542
7587
  }
7543
7588
 
7544
7589
  .dark .bc-lexical-editor-container > .bc-lexical-toolbar {
@@ -7548,7 +7593,7 @@ a:focus-visible {
7548
7593
  /* Bottom position variant */
7549
7594
  .bc-lexical-toolbar--bottom {
7550
7595
  border-bottom: none;
7551
- border-top: 1px solid var(--color-neutral-200);
7596
+ border-top: var(--border-width-thin) solid var(--color-neutral-200);
7552
7597
  }
7553
7598
 
7554
7599
  .dark .bc-lexical-toolbar--bottom {
@@ -7564,7 +7609,7 @@ a:focus-visible {
7564
7609
  .bc-lexical-toolbar-select {
7565
7610
  height: 28px;
7566
7611
  padding: 0 var(--spacing-xs);
7567
- border: 1px solid var(--color-neutral-300);
7612
+ border: var(--border-width-thin) solid var(--color-neutral-300);
7568
7613
  border-radius: var(--radius-sm);
7569
7614
  background-color: var(--bg-surface);
7570
7615
  color: var(--color-neutral-900);
@@ -7613,7 +7658,7 @@ a:focus-visible {
7613
7658
  font-size: 0.875rem;
7614
7659
  font-weight: 700;
7615
7660
  pointer-events: none;
7616
- line-height: 1;
7661
+ line-height: var(--line-height-none);
7617
7662
  }
7618
7663
 
7619
7664
  .bc-lexical-toolbar-color-icon--highlight {
@@ -7645,7 +7690,7 @@ a:focus-visible {
7645
7690
  padding: var(--spacing-xs);
7646
7691
  border-radius: var(--radius-md);
7647
7692
  background-color: var(--color-white);
7648
- border: 1px solid var(--color-neutral-200);
7693
+ border: var(--border-width-thin) solid var(--color-neutral-200);
7649
7694
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
7650
7695
  z-index: 1000;
7651
7696
  animation: bc-floating-toolbar-enter 0.15s ease-out;
@@ -7677,7 +7722,7 @@ a:focus-visible {
7677
7722
  overflow-y: auto;
7678
7723
  border-radius: var(--radius-md);
7679
7724
  background-color: var(--color-white);
7680
- border: 1px solid var(--color-neutral-200);
7725
+ border: var(--border-width-thin) solid var(--color-neutral-200);
7681
7726
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
7682
7727
  padding: var(--spacing-xs);
7683
7728
  z-index: 1000;
@@ -7797,7 +7842,7 @@ a:focus-visible {
7797
7842
  justify-content: center;
7798
7843
  width: 24px;
7799
7844
  height: 24px;
7800
- border: 1px solid var(--color-neutral-200);
7845
+ border: var(--border-width-thin) solid var(--color-neutral-200);
7801
7846
  border-radius: var(--radius-sm);
7802
7847
  background-color: var(--color-white);
7803
7848
  color: var(--color-neutral-400);
@@ -7844,12 +7889,12 @@ a:focus-visible {
7844
7889
  }
7845
7890
 
7846
7891
  .bc-lexical-table-row {
7847
- border-bottom: 1px solid var(--color-neutral-200);
7892
+ border-bottom: var(--border-width-thin) solid var(--color-neutral-200);
7848
7893
  }
7849
7894
 
7850
7895
  .bc-lexical-table-cell,
7851
7896
  .bc-lexical-table-cell-header {
7852
- border: 1px solid var(--color-neutral-200);
7897
+ border: var(--border-width-thin) solid var(--color-neutral-200);
7853
7898
  padding: 0.5rem 0.75rem;
7854
7899
  position: relative;
7855
7900
  vertical-align: top;
@@ -7865,8 +7910,8 @@ a:focus-visible {
7865
7910
  /* Selected cell highlight */
7866
7911
  .bc-lexical-table-cell--selected {
7867
7912
  background-color: var(--color-primary-50);
7868
- outline: 2px solid var(--color-primary-500);
7869
- outline-offset: -2px;
7913
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
7914
+ outline-offset: calc(-1 * var(--outline-width-focus));
7870
7915
  }
7871
7916
 
7872
7917
  /* Table context menu */
@@ -7948,7 +7993,7 @@ a:focus-visible {
7948
7993
  @media (prefers-contrast: high) {
7949
7994
  .bc-lexical-table-cell,
7950
7995
  .bc-lexical-table-cell-header {
7951
- border-width: 2px;
7996
+ border-width: var(--border-width-medium);
7952
7997
  }
7953
7998
 
7954
7999
  .bc-lexical-table-cell--selected {
@@ -7966,7 +8011,7 @@ a:focus-visible {
7966
8011
  margin: 1rem 0;
7967
8012
  padding: 1rem;
7968
8013
  background-color: var(--color-neutral-50);
7969
- border: 1px solid var(--color-neutral-200);
8014
+ border: var(--border-width-thin) solid var(--color-neutral-200);
7970
8015
  border-radius: var(--radius-md);
7971
8016
  overflow-x: auto;
7972
8017
  font-family:
@@ -8179,7 +8224,7 @@ a:focus-visible {
8179
8224
 
8180
8225
  @media (prefers-contrast: high) {
8181
8226
  .bc-lexical-code-block {
8182
- border-width: 2px;
8227
+ border-width: var(--border-width-medium);
8183
8228
  }
8184
8229
  }
8185
8230
  }
@@ -8193,13 +8238,13 @@ a:focus-visible {
8193
8238
  .bc-list-item-controls--aside {
8194
8239
  flex-direction: row;
8195
8240
  align-items: center;
8196
- gap: var(--spacing-stack-xs, calc(var(--spacing-base) * 1));
8241
+ gap: var(--spacing-stack-xs, var(--spacing-sm));
8197
8242
  }
8198
8243
 
8199
8244
  /* Below layout: column, controls under content */
8200
8245
  .bc-list-item-controls--below {
8201
8246
  flex-direction: column;
8202
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
8247
+ gap: var(--spacing-stack-sm, var(--spacing-md));
8203
8248
  }
8204
8249
 
8205
8250
  /* Content area */
@@ -8226,7 +8271,7 @@ a:focus-visible {
8226
8271
  /* Move buttons group */
8227
8272
  .bc-list-item-controls__move {
8228
8273
  display: flex;
8229
- gap: var(--spacing-stack-xs, calc(var(--spacing-base) * 1));
8274
+ gap: var(--spacing-stack-xs, var(--spacing-sm));
8230
8275
  }
8231
8276
 
8232
8277
  .bc-list-item-controls--aside .bc-list-item-controls__move {
@@ -8264,7 +8309,7 @@ a:focus-visible {
8264
8309
  }
8265
8310
 
8266
8311
  .bc-link:focus-visible {
8267
- outline: 2px solid currentColor;
8312
+ outline: var(--outline-width-focus) solid currentColor;
8268
8313
  outline-offset: 2px;
8269
8314
  border-radius: var(--radius-xs);
8270
8315
  }
@@ -8311,7 +8356,7 @@ a:focus-visible {
8311
8356
 
8312
8357
  .bc-link--plain {
8313
8358
  text-decoration: none;
8314
- border-bottom: 2px solid currentColor;
8359
+ border-bottom: var(--border-width-medium) solid currentColor;
8315
8360
  }
8316
8361
 
8317
8362
  .bc-link--hover {
@@ -8334,16 +8379,16 @@ a:focus-visible {
8334
8379
  /* Menu Component */
8335
8380
  .bc-menu {
8336
8381
  background-color: var(--color-white);
8337
- border: 1px solid var(--color-base-200);
8382
+ border: var(--border-width-thin) solid var(--color-base-200);
8338
8383
  border-radius: var(--radius-popover, var(--radius-md));
8339
8384
  box-shadow: var(--shadow-popover, var(--shadow-lg));
8340
8385
  padding: var(--spacing-xs) 0;
8341
8386
  z-index: var(--z-index-popover);
8342
- min-width: 12rem;
8387
+ min-width: var(--overlay-min-width);
8343
8388
  max-height: 20rem;
8344
8389
  overflow-y: auto;
8345
8390
  outline: none;
8346
- font-family: var(--default-ui-font-family, inherit);
8391
+ font-family: var(--font-family-default-ui, inherit);
8347
8392
  }
8348
8393
 
8349
8394
  /* Dark mode styles */
@@ -8362,7 +8407,7 @@ a:focus-visible {
8362
8407
  display: flex;
8363
8408
  align-items: center;
8364
8409
  gap: var(--spacing-stack-md, var(--spacing-md));
8365
- padding: calc(var(--spacing-base) * 1.75) calc(var(--spacing-base) * 3);
8410
+ padding: calc(var(--spacing-base) * 1.75) var(--spacing-mdh);
8366
8411
  border-radius: 0;
8367
8412
  cursor: pointer;
8368
8413
  transition: background-color
@@ -8454,7 +8499,8 @@ a:focus-visible {
8454
8499
  /* Menu Separator Component */
8455
8500
  .bc-menu-separator {
8456
8501
  margin: var(--spacing-xs) var(--spacing-sm);
8457
- border-top: 1px solid var(--border-divider, var(--color-base-200));
8502
+ border-top: var(--border-width-thin) solid
8503
+ var(--border-divider, var(--color-base-200));
8458
8504
  position: relative;
8459
8505
  }
8460
8506
 
@@ -8481,24 +8527,24 @@ a:focus-visible {
8481
8527
 
8482
8528
  /* Focus styles for accessibility */
8483
8529
  .bc-menu-item:focus-visible {
8484
- outline: 2px solid var(--interactive-focus);
8485
- outline-offset: -2px;
8530
+ outline: var(--outline-width-focus) solid var(--interactive-focus);
8531
+ outline-offset: calc(-1 * var(--outline-width-focus));
8486
8532
  border-radius: var(--radius-sm);
8487
8533
  }
8488
8534
 
8489
8535
  /* High contrast mode support */
8490
8536
  @media (prefers-contrast: high) {
8491
8537
  .bc-menu {
8492
- border-width: 2px;
8538
+ border-width: var(--border-width-medium);
8493
8539
  }
8494
8540
 
8495
8541
  .bc-menu-item--focused {
8496
- outline: 2px solid currentColor;
8497
- outline-offset: -2px;
8542
+ outline: var(--outline-width-focus) solid currentColor;
8543
+ outline-offset: calc(-1 * var(--outline-width-focus));
8498
8544
  }
8499
8545
 
8500
8546
  .bc-menu-separator {
8501
- border-width: 2px;
8547
+ border-width: var(--border-width-medium);
8502
8548
  }
8503
8549
  }
8504
8550
 
@@ -8516,7 +8562,7 @@ a:focus-visible {
8516
8562
  }
8517
8563
 
8518
8564
  .bc-menu--size-sm .bc-menu-item {
8519
- padding: var(--spacing-xs) calc(var(--spacing-base) * 2);
8565
+ padding: var(--spacing-xs) var(--spacing-md);
8520
8566
  font-size: var(--font-size-xs);
8521
8567
  }
8522
8568
 
@@ -8526,7 +8572,7 @@ a:focus-visible {
8526
8572
  }
8527
8573
 
8528
8574
  .bc-menu--size-lg .bc-menu-item {
8529
- padding: calc(var(--spacing-base) * 2) calc(var(--spacing-base) * 3.5);
8575
+ padding: var(--spacing-md) calc(var(--spacing-base) * 3.5);
8530
8576
  font-size: var(--font-size-md);
8531
8577
  }
8532
8578
 
@@ -8587,7 +8633,7 @@ a:focus-visible {
8587
8633
  @media (hover: none) and (pointer: coarse) {
8588
8634
  .bc-menu-item {
8589
8635
  min-height: 44px; /* Minimum touch target */
8590
- padding: calc(var(--spacing-base) * 1.75) calc(var(--spacing-base) * 3);
8636
+ padding: calc(var(--spacing-base) * 1.75) var(--spacing-mdh);
8591
8637
  }
8592
8638
 
8593
8639
  .bc-menu-item:hover {
@@ -8630,7 +8676,7 @@ a:focus-visible {
8630
8676
  border-radius: var(--radius-overlay, var(--radius-lg));
8631
8677
  box-shadow: var(--shadow-overlay, var(--shadow-xl));
8632
8678
  background-color: var(--color-base-100);
8633
- border: 3px solid var(--color-base-300);
8679
+ border: var(--border-width-thick) solid var(--color-base-300);
8634
8680
  overflow: hidden;
8635
8681
  transition: all var(--motion-transition-overlay) var(--motion-easing-emphasis);
8636
8682
  }
@@ -8664,7 +8710,7 @@ a:focus-visible {
8664
8710
 
8665
8711
  /* Modal positioning - Top */
8666
8712
  .bc-modal--position-top.bc-modal--container-body {
8667
- top: calc(var(--spacing-base) * 8);
8713
+ top: var(--spacing-2xl);
8668
8714
  left: 50%;
8669
8715
  transform: translateX(-50%);
8670
8716
  }
@@ -8677,7 +8723,7 @@ a:focus-visible {
8677
8723
 
8678
8724
  /* Modal positioning - Bottom */
8679
8725
  .bc-modal--position-bottom.bc-modal--container-body {
8680
- bottom: calc(var(--spacing-base) * 8);
8726
+ bottom: var(--spacing-2xl);
8681
8727
  left: 50%;
8682
8728
  transform: translateX(-50%);
8683
8729
  }
@@ -8691,7 +8737,7 @@ a:focus-visible {
8691
8737
  /* Modal positioning - Left */
8692
8738
  .bc-modal--position-left.bc-modal--container-body {
8693
8739
  top: 50%;
8694
- left: calc(var(--spacing-base) * 8);
8740
+ left: var(--spacing-2xl);
8695
8741
  transform: translateY(-50%);
8696
8742
  }
8697
8743
 
@@ -8704,7 +8750,7 @@ a:focus-visible {
8704
8750
  /* Modal positioning - Right */
8705
8751
  .bc-modal--position-right.bc-modal--container-body {
8706
8752
  top: 50%;
8707
- right: calc(var(--spacing-base) * 8);
8753
+ right: var(--spacing-2xl);
8708
8754
  transform: translateY(-50%);
8709
8755
  }
8710
8756
 
@@ -8716,8 +8762,8 @@ a:focus-visible {
8716
8762
 
8717
8763
  /* Modal positioning - Top Left */
8718
8764
  .bc-modal--position-top-start.bc-modal--container-body {
8719
- top: calc(var(--spacing-base) * 8);
8720
- left: calc(var(--spacing-base) * 8);
8765
+ top: var(--spacing-2xl);
8766
+ left: var(--spacing-2xl);
8721
8767
  }
8722
8768
 
8723
8769
  .bc-modal--position-top-start.bc-modal--container-element {
@@ -8727,8 +8773,8 @@ a:focus-visible {
8727
8773
 
8728
8774
  /* Modal positioning - Top Right */
8729
8775
  .bc-modal--position-top-end.bc-modal--container-body {
8730
- top: calc(var(--spacing-base) * 8);
8731
- right: calc(var(--spacing-base) * 8);
8776
+ top: var(--spacing-2xl);
8777
+ right: var(--spacing-2xl);
8732
8778
  }
8733
8779
 
8734
8780
  .bc-modal--position-top-end.bc-modal--container-element {
@@ -8738,8 +8784,8 @@ a:focus-visible {
8738
8784
 
8739
8785
  /* Modal positioning - Bottom Left */
8740
8786
  .bc-modal--position-bottom-start.bc-modal--container-body {
8741
- bottom: calc(var(--spacing-base) * 8);
8742
- left: calc(var(--spacing-base) * 8);
8787
+ bottom: var(--spacing-2xl);
8788
+ left: var(--spacing-2xl);
8743
8789
  }
8744
8790
 
8745
8791
  .bc-modal--position-bottom-start.bc-modal--container-element {
@@ -8749,8 +8795,8 @@ a:focus-visible {
8749
8795
 
8750
8796
  /* Modal positioning - Bottom Right */
8751
8797
  .bc-modal--position-bottom-end.bc-modal--container-body {
8752
- bottom: calc(var(--spacing-base) * 8);
8753
- right: calc(var(--spacing-base) * 8);
8798
+ bottom: var(--spacing-2xl);
8799
+ right: var(--spacing-2xl);
8754
8800
  }
8755
8801
 
8756
8802
  .bc-modal--position-bottom-end.bc-modal--container-element {
@@ -8761,7 +8807,7 @@ a:focus-visible {
8761
8807
  /* Direction-aware modal positioning - Inline Start */
8762
8808
  .bc-modal--position-inline-start.bc-modal--container-body {
8763
8809
  top: 50%;
8764
- inset-inline-start: calc(var(--spacing-base) * 8);
8810
+ inset-inline-start: var(--spacing-2xl);
8765
8811
  transform: translateY(-50%);
8766
8812
  }
8767
8813
 
@@ -8774,7 +8820,7 @@ a:focus-visible {
8774
8820
  /* Direction-aware modal positioning - Inline End */
8775
8821
  .bc-modal--position-inline-end.bc-modal--container-body {
8776
8822
  top: 50%;
8777
- inset-inline-end: calc(var(--spacing-base) * 8);
8823
+ inset-inline-end: var(--spacing-2xl);
8778
8824
  transform: translateY(-50%);
8779
8825
  }
8780
8826
 
@@ -8786,8 +8832,8 @@ a:focus-visible {
8786
8832
 
8787
8833
  /* Direction-aware modal positioning - Top Inline Start */
8788
8834
  .bc-modal--position-top-inline-start.bc-modal--container-body {
8789
- top: calc(var(--spacing-base) * 8);
8790
- inset-inline-start: calc(var(--spacing-base) * 8);
8835
+ top: var(--spacing-2xl);
8836
+ inset-inline-start: var(--spacing-2xl);
8791
8837
  }
8792
8838
 
8793
8839
  .bc-modal--position-top-inline-start.bc-modal--container-element {
@@ -8797,8 +8843,8 @@ a:focus-visible {
8797
8843
 
8798
8844
  /* Direction-aware modal positioning - Top Inline End */
8799
8845
  .bc-modal--position-top-inline-end.bc-modal--container-body {
8800
- top: calc(var(--spacing-base) * 8);
8801
- inset-inline-end: calc(var(--spacing-base) * 8);
8846
+ top: var(--spacing-2xl);
8847
+ inset-inline-end: var(--spacing-2xl);
8802
8848
  }
8803
8849
 
8804
8850
  .bc-modal--position-top-inline-end.bc-modal--container-element {
@@ -8808,8 +8854,8 @@ a:focus-visible {
8808
8854
 
8809
8855
  /* Direction-aware modal positioning - Bottom Inline Start */
8810
8856
  .bc-modal--position-bottom-inline-start.bc-modal--container-body {
8811
- bottom: calc(var(--spacing-base) * 8);
8812
- inset-inline-start: calc(var(--spacing-base) * 8);
8857
+ bottom: var(--spacing-2xl);
8858
+ inset-inline-start: var(--spacing-2xl);
8813
8859
  }
8814
8860
 
8815
8861
  .bc-modal--position-bottom-inline-start.bc-modal--container-element {
@@ -8819,8 +8865,8 @@ a:focus-visible {
8819
8865
 
8820
8866
  /* Direction-aware modal positioning - Bottom Inline End */
8821
8867
  .bc-modal--position-bottom-inline-end.bc-modal--container-body {
8822
- bottom: calc(var(--spacing-base) * 8);
8823
- inset-inline-end: calc(var(--spacing-base) * 8);
8868
+ bottom: var(--spacing-2xl);
8869
+ inset-inline-end: var(--spacing-2xl);
8824
8870
  }
8825
8871
 
8826
8872
  .bc-modal--position-bottom-inline-end.bc-modal--container-element {
@@ -8830,19 +8876,19 @@ a:focus-visible {
8830
8876
 
8831
8877
  /* Modal sizes */
8832
8878
  .bc-modal--size-sm {
8833
- width: min(400px, 90vw);
8879
+ width: var(--overlay-width-sm);
8834
8880
  }
8835
8881
 
8836
8882
  .bc-modal--size-md {
8837
- width: min(600px, 90vw);
8883
+ width: var(--overlay-width-md);
8838
8884
  }
8839
8885
 
8840
8886
  .bc-modal--size-lg {
8841
- width: min(800px, 90vw);
8887
+ width: var(--overlay-width-lg);
8842
8888
  }
8843
8889
 
8844
8890
  .bc-modal--size-xl {
8845
- width: min(1000px, 90vw);
8891
+ width: var(--overlay-width-xl);
8846
8892
  }
8847
8893
 
8848
8894
  /* Modal content container */
@@ -8859,7 +8905,7 @@ a:focus-visible {
8859
8905
  align-items: center;
8860
8906
  justify-content: space-between;
8861
8907
  padding: var(--spacing-lg) var(--spacing-lg) var(--spacing-md);
8862
- border-bottom: 1px solid var(--color-base-300);
8908
+ border-bottom: var(--border-width-thin) solid var(--color-base-300);
8863
8909
  flex-shrink: 0;
8864
8910
  background-color: var(--color-base-100);
8865
8911
  }
@@ -8879,7 +8925,7 @@ a:focus-visible {
8879
8925
  display: flex;
8880
8926
  gap: var(--spacing-stack-md);
8881
8927
  padding: var(--spacing-md) var(--spacing-lg) var(--spacing-lg);
8882
- border-top: 1px solid var(--color-base-300);
8928
+ border-top: var(--border-width-thin) solid var(--color-base-300);
8883
8929
  flex-shrink: 0;
8884
8930
  background-color: var(--color-base-100);
8885
8931
  align-items: center;
@@ -8902,7 +8948,8 @@ a:focus-visible {
8902
8948
  .bc-overlay[data-status='start-opening'] .bc-modal--position-top,
8903
8949
  .bc-overlay[data-status='closing'] .bc-modal--position-top {
8904
8950
  opacity: 0;
8905
- transform: translateX(-50%) translateY(-20px) scale(0.95);
8951
+ transform: translateX(-50%) translateY(calc(-1 * var(--spacing-lgh)))
8952
+ scale(0.95);
8906
8953
  }
8907
8954
 
8908
8955
  .bc-overlay[data-status='opened'] .bc-modal--position-top,
@@ -8915,7 +8962,7 @@ a:focus-visible {
8915
8962
  .bc-overlay[data-status='start-opening'] .bc-modal--position-bottom,
8916
8963
  .bc-overlay[data-status='closing'] .bc-modal--position-bottom {
8917
8964
  opacity: 0;
8918
- transform: translateX(-50%) translateY(20px) scale(0.95);
8965
+ transform: translateX(-50%) translateY(var(--spacing-lgh)) scale(0.95);
8919
8966
  }
8920
8967
 
8921
8968
  .bc-overlay[data-status='opened'] .bc-modal--position-bottom,
@@ -8928,7 +8975,8 @@ a:focus-visible {
8928
8975
  .bc-overlay[data-status='start-opening'] .bc-modal--position-left,
8929
8976
  .bc-overlay[data-status='closing'] .bc-modal--position-left {
8930
8977
  opacity: 0;
8931
- transform: translateY(-50%) translateX(-20px) scale(0.95);
8978
+ transform: translateY(-50%) translateX(calc(-1 * var(--spacing-lgh)))
8979
+ scale(0.95);
8932
8980
  }
8933
8981
 
8934
8982
  .bc-overlay[data-status='opened'] .bc-modal--position-left,
@@ -8941,7 +8989,7 @@ a:focus-visible {
8941
8989
  .bc-overlay[data-status='start-opening'] .bc-modal--position-right,
8942
8990
  .bc-overlay[data-status='closing'] .bc-modal--position-right {
8943
8991
  opacity: 0;
8944
- transform: translateY(-50%) translateX(20px) scale(0.95);
8992
+ transform: translateY(-50%) translateX(var(--spacing-lgh)) scale(0.95);
8945
8993
  }
8946
8994
 
8947
8995
  .bc-overlay[data-status='opened'] .bc-modal--position-right,
@@ -8979,7 +9027,8 @@ a:focus-visible {
8979
9027
  .bc-overlay[data-status='start-opening'] .bc-modal--position-inline-start,
8980
9028
  .bc-overlay[data-status='closing'] .bc-modal--position-inline-start {
8981
9029
  opacity: 0;
8982
- transform: translateY(-50%) translateX(-20px) scale(0.95);
9030
+ transform: translateY(-50%) translateX(calc(-1 * var(--spacing-lgh)))
9031
+ scale(0.95);
8983
9032
  }
8984
9033
 
8985
9034
  .bc-overlay[data-status='opened'] .bc-modal--position-inline-start,
@@ -8992,7 +9041,7 @@ a:focus-visible {
8992
9041
  .bc-overlay[data-status='start-opening'] .bc-modal--position-inline-end,
8993
9042
  .bc-overlay[data-status='closing'] .bc-modal--position-inline-end {
8994
9043
  opacity: 0;
8995
- transform: translateY(-50%) translateX(20px) scale(0.95);
9044
+ transform: translateY(-50%) translateX(var(--spacing-lgh)) scale(0.95);
8996
9045
  }
8997
9046
 
8998
9047
  .bc-overlay[data-status='opened'] .bc-modal--position-inline-end,
@@ -9053,12 +9102,12 @@ a:focus-visible {
9053
9102
  /* Dark mode styles */
9054
9103
  .dark .bc-modal {
9055
9104
  background-color: var(--bg-surface);
9056
- border: 1px solid var(--border-default);
9105
+ border: var(--border-width-thin) solid var(--border-default);
9057
9106
  color: var(--text-normal);
9058
9107
  }
9059
9108
 
9060
9109
  .dark .bc-modal__header {
9061
- border-bottom: 1px solid var(--border-divider);
9110
+ border-bottom: var(--border-width-thin) solid var(--border-divider);
9062
9111
  background-color: var(--bg-elevated);
9063
9112
  }
9064
9113
 
@@ -9068,7 +9117,7 @@ a:focus-visible {
9068
9117
  }
9069
9118
 
9070
9119
  .dark .bc-modal__footer {
9071
- border-top: 1px solid var(--border-divider);
9120
+ border-top: var(--border-width-thin) solid var(--border-divider);
9072
9121
  background-color: var(--bg-elevated);
9073
9122
  }
9074
9123
 
@@ -9086,22 +9135,22 @@ a:focus-visible {
9086
9135
  }
9087
9136
 
9088
9137
  .dark .bc-modal--confirm .bc-modal__footer {
9089
- border-top: 1px solid var(--color-base-700);
9138
+ border-top: var(--border-width-thin) solid var(--color-base-700);
9090
9139
  background: var(--color-base-800);
9091
9140
  }
9092
9141
 
9093
9142
  /* High contrast mode support */
9094
9143
  @media (prefers-contrast: high) {
9095
9144
  .bc-modal {
9096
- border-width: 2px;
9145
+ border-width: var(--border-width-medium);
9097
9146
  }
9098
9147
 
9099
9148
  .bc-modal__header {
9100
- border-bottom-width: 2px;
9149
+ border-bottom-width: var(--border-width-medium);
9101
9150
  }
9102
9151
 
9103
9152
  .bc-modal__footer {
9104
- border-top-width: 2px;
9153
+ border-top-width: var(--border-width-medium);
9105
9154
  }
9106
9155
  }
9107
9156
 
@@ -9189,8 +9238,7 @@ a:focus-visible {
9189
9238
  display: flex;
9190
9239
  align-items: center;
9191
9240
  gap: calc(var(--spacing-base) * 2.5);
9192
- padding: calc(var(--spacing-base) * 5) calc(var(--spacing-base) * 6)
9193
- calc(var(--spacing-base) * 2.5);
9241
+ padding: var(--spacing-lgh) var(--spacing-xl) calc(var(--spacing-base) * 2.5);
9194
9242
  border-bottom: none;
9195
9243
  }
9196
9244
 
@@ -9205,14 +9253,14 @@ a:focus-visible {
9205
9253
  }
9206
9254
 
9207
9255
  .bc-modal__confirm-body {
9208
- padding: 0 calc(var(--spacing-base) * 6) calc(var(--spacing-base) * 5);
9256
+ padding: 0 var(--spacing-xl) var(--spacing-lgh);
9209
9257
  font-size: var(--font-size-sm);
9210
9258
  color: var(--color-base-600);
9211
9259
  line-height: var(--line-height-normal);
9212
9260
  }
9213
9261
 
9214
9262
  .bc-modal__confirm-consequences {
9215
- padding: calc(var(--spacing-base) * 2) calc(var(--spacing-base) * 3);
9263
+ padding: var(--spacing-md) var(--spacing-mdh);
9216
9264
  border-radius: var(--radius-md);
9217
9265
  background: var(--color-base-50);
9218
9266
  font-size: var(--font-size-xs);
@@ -9220,12 +9268,12 @@ a:focus-visible {
9220
9268
  display: flex;
9221
9269
  flex-direction: column;
9222
9270
  gap: var(--spacing-base);
9223
- margin-top: calc(var(--spacing-base) * 3);
9271
+ margin-top: var(--spacing-mdh);
9224
9272
  }
9225
9273
 
9226
9274
  .bc-modal__confirm-consequences li {
9227
9275
  display: flex;
9228
- gap: calc(var(--spacing-base) * 1.5);
9276
+ gap: var(--spacing-smh);
9229
9277
  list-style: none;
9230
9278
  }
9231
9279
 
@@ -9235,11 +9283,11 @@ a:focus-visible {
9235
9283
  }
9236
9284
 
9237
9285
  .bc-modal--confirm .bc-modal__footer {
9238
- padding: calc(var(--spacing-base) * 3) calc(var(--spacing-base) * 6);
9239
- border-top: 1px solid var(--color-base-200);
9286
+ padding: var(--spacing-mdh) var(--spacing-xl);
9287
+ border-top: var(--border-width-thin) solid var(--color-base-200);
9240
9288
  display: flex;
9241
9289
  justify-content: flex-end;
9242
- gap: calc(var(--spacing-base) * 2);
9290
+ gap: var(--spacing-md);
9243
9291
  background: var(--color-base-50);
9244
9292
  }
9245
9293
 
@@ -9345,10 +9393,10 @@ a:focus-visible {
9345
9393
  display: flex;
9346
9394
  align-items: center;
9347
9395
  justify-content: center;
9348
- line-height: 1;
9396
+ line-height: var(--line-height-none);
9349
9397
  border-radius: var(--radius-xs);
9350
- outline: 1px solid var(--color-gray-300);
9351
- outline-offset: -1px;
9398
+ outline: var(--outline-width-default) solid var(--color-gray-300);
9399
+ outline-offset: calc(-1 * var(--outline-width-default));
9352
9400
  cursor: pointer;
9353
9401
  transition: all
9354
9402
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
@@ -9431,12 +9479,12 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9431
9479
 
9432
9480
  .bc-popover {
9433
9481
  background: var(--color-white);
9434
- border: 1px solid var(--color-base-200);
9435
- border-radius: var(--radius-md, 5px);
9436
- box-shadow: var(--shadow-md, 0 2px 8px rgba(0, 0, 0, 0.08));
9437
- min-width: 200px;
9438
- max-width: 400px;
9439
- padding: var(--spacing-md, 12px);
9482
+ border: var(--border-width-thin) solid var(--color-base-200);
9483
+ border-radius: var(--radius-md);
9484
+ box-shadow: var(--shadow-md);
9485
+ min-width: var(--overlay-min-width);
9486
+ max-width: var(--overlay-width-sm);
9487
+ padding: var(--spacing-md);
9440
9488
  color: var(--color-base-700);
9441
9489
  }
9442
9490
 
@@ -9595,32 +9643,32 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9595
9643
  }
9596
9644
 
9597
9645
  .bc-panel--side-all {
9598
- border: 1px solid var(--border-default);
9646
+ border: var(--border-width-thin) solid var(--border-default);
9599
9647
  }
9600
9648
 
9601
9649
  .bc-panel--side-top {
9602
- border-top: 1px solid var(--border-default);
9650
+ border-top: var(--border-width-thin) solid var(--border-default);
9603
9651
  }
9604
9652
 
9605
9653
  .bc-panel--side-bottom {
9606
- border-bottom: 1px solid var(--border-default);
9654
+ border-bottom: var(--border-width-thin) solid var(--border-default);
9607
9655
  }
9608
9656
 
9609
9657
  .bc-panel--side-left {
9610
- border-left: 1px solid var(--border-default);
9658
+ border-left: var(--border-width-thin) solid var(--border-default);
9611
9659
  }
9612
9660
 
9613
9661
  .bc-panel--side-right {
9614
- border-right: 1px solid var(--border-default);
9662
+ border-right: var(--border-width-thin) solid var(--border-default);
9615
9663
  }
9616
9664
 
9617
9665
  /* Direction-aware panel borders */
9618
9666
  .bc-panel--side-inline-start {
9619
- border-inline-start: 1px solid var(--border-default);
9667
+ border-inline-start: var(--border-width-thin) solid var(--border-default);
9620
9668
  }
9621
9669
 
9622
9670
  .bc-panel--side-inline-end {
9623
- border-inline-end: 1px solid var(--border-default);
9671
+ border-inline-end: var(--border-width-thin) solid var(--border-default);
9624
9672
  }
9625
9673
 
9626
9674
  .bc-panel--shadow-sm {
@@ -9641,7 +9689,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9641
9689
  align-items: center;
9642
9690
  gap: var(--spacing-xs);
9643
9691
  font-family: var(
9644
- --default-ui-font-family,
9692
+ --font-family-default-ui,
9645
9693
  var(--font-ui, var(--font-body, var(--font-family-sans)))
9646
9694
  );
9647
9695
  }
@@ -9657,11 +9705,11 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9657
9705
  display: inline-flex;
9658
9706
  align-items: center;
9659
9707
  justify-content: center;
9660
- min-width: calc(var(--spacing-base) * 8);
9661
- height: calc(var(--spacing-base) * 8);
9708
+ min-width: var(--spacing-2xl);
9709
+ height: var(--spacing-2xl);
9662
9710
  padding: 0;
9663
9711
  cursor: pointer;
9664
- border: 1px solid transparent;
9712
+ border: var(--border-width-thin) solid transparent;
9665
9713
  border-radius: var(--radius-control-sm, var(--radius-sm));
9666
9714
  background: transparent;
9667
9715
  color: var(--color-base-700);
@@ -9678,7 +9726,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9678
9726
  }
9679
9727
 
9680
9728
  .bc-pagination__item:focus-visible {
9681
- outline: 2px solid var(--color-primary-500);
9729
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
9682
9730
  outline-offset: 2px;
9683
9731
  z-index: 1;
9684
9732
  }
@@ -9713,8 +9761,8 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9713
9761
  display: inline-flex;
9714
9762
  align-items: center;
9715
9763
  justify-content: center;
9716
- min-width: calc(var(--spacing-base) * 8);
9717
- height: calc(var(--spacing-base) * 8);
9764
+ min-width: var(--spacing-2xl);
9765
+ height: var(--spacing-2xl);
9718
9766
  color: var(--color-base-500);
9719
9767
  font-size: var(--font-size-md);
9720
9768
  user-select: none;
@@ -9723,8 +9771,8 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9723
9771
  /* Size Variants */
9724
9772
  .bc-pagination--size-xs .bc-pagination__item,
9725
9773
  .bc-pagination--size-xs .bc-pagination__dots {
9726
- min-width: calc(var(--spacing-base) * 6);
9727
- height: calc(var(--spacing-base) * 6);
9774
+ min-width: var(--spacing-xl);
9775
+ height: var(--spacing-xl);
9728
9776
  font-size: var(--font-size-xs);
9729
9777
  }
9730
9778
 
@@ -9737,8 +9785,8 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9737
9785
 
9738
9786
  .bc-pagination--size-md .bc-pagination__item,
9739
9787
  .bc-pagination--size-md .bc-pagination__dots {
9740
- min-width: calc(var(--spacing-base) * 8);
9741
- height: calc(var(--spacing-base) * 8);
9788
+ min-width: var(--spacing-2xl);
9789
+ height: var(--spacing-2xl);
9742
9790
  font-size: var(--font-size-md);
9743
9791
  }
9744
9792
 
@@ -9751,8 +9799,8 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9751
9799
 
9752
9800
  .bc-pagination--size-xl .bc-pagination__item,
9753
9801
  .bc-pagination--size-xl .bc-pagination__dots {
9754
- min-width: calc(var(--spacing-base) * 10);
9755
- height: calc(var(--spacing-base) * 10);
9802
+ min-width: var(--spacing-2xlh);
9803
+ height: var(--spacing-2xlh);
9756
9804
  font-size: var(--font-size-xl);
9757
9805
  }
9758
9806
 
@@ -9795,7 +9843,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9795
9843
  /* High Contrast Mode Support */
9796
9844
  @media (prefers-contrast: high) {
9797
9845
  .bc-pagination__item {
9798
- border-width: 2px;
9846
+ border-width: var(--border-width-medium);
9799
9847
  }
9800
9848
 
9801
9849
  .bc-pagination__item--active {
@@ -10013,7 +10061,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10013
10061
  @media (prefers-contrast: high) {
10014
10062
  .bc-password-strength__bar,
10015
10063
  .bc-password-strength-bar {
10016
- border: 1px solid var(--border-default);
10064
+ border: var(--border-width-thin) solid var(--border-default);
10017
10065
  }
10018
10066
 
10019
10067
  .dark .bc-password-strength__bar,
@@ -10084,7 +10132,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10084
10132
  line-height: 1.4;
10085
10133
  pointer-events: none;
10086
10134
  font-family: var(
10087
- --default-ui-font-family,
10135
+ --font-family-default-ui,
10088
10136
  var(--font-ui, var(--font-body, var(--font-family-sans)))
10089
10137
  );
10090
10138
  }
@@ -10115,7 +10163,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10115
10163
  .bc-progress-bar-wrapper {
10116
10164
  display: flex;
10117
10165
  flex-direction: column;
10118
- gap: calc(var(--spacing-base) * 1);
10166
+ gap: var(--spacing-sm);
10119
10167
  width: 100%;
10120
10168
  }
10121
10169
 
@@ -10155,11 +10203,11 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10155
10203
  }
10156
10204
 
10157
10205
  .bc-progress-bar--size-md {
10158
- height: calc(var(--spacing-base) * 2);
10206
+ height: var(--spacing-md);
10159
10207
  }
10160
10208
 
10161
10209
  .bc-progress-bar--size-lg {
10162
- height: calc(var(--spacing-base) * 3);
10210
+ height: var(--spacing-mdh);
10163
10211
  }
10164
10212
 
10165
10213
  /* Indeterminate state - animated sliding bar */
@@ -10185,13 +10233,13 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10185
10233
  /* Label text */
10186
10234
  .bc-progress-bar__label {
10187
10235
  font-family: var(
10188
- --default-ui-font-family,
10236
+ --font-family-default-ui,
10189
10237
  var(--font-ui, var(--font-body, var(--font-family-sans)))
10190
10238
  );
10191
10239
  font-size: var(--font-size-sm);
10192
10240
  color: var(--text-muted);
10193
10241
  text-align: right;
10194
- line-height: 1;
10242
+ line-height: var(--line-height-none);
10195
10243
  }
10196
10244
 
10197
10245
  /* Dark mode styles */
@@ -10220,13 +10268,13 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10220
10268
  /* High contrast mode: add borders for better visibility */
10221
10269
  @media (prefers-contrast: high) {
10222
10270
  .bc-progress-bar__track {
10223
- outline: 1px solid currentColor;
10224
- outline-offset: -1px;
10271
+ outline: var(--outline-width-default) solid currentColor;
10272
+ outline-offset: calc(-1 * var(--outline-width-default));
10225
10273
  }
10226
10274
 
10227
10275
  .bc-progress-bar__fill {
10228
- outline: 1px solid var(--progress-fill);
10229
- outline-offset: -1px;
10276
+ outline: var(--outline-width-default) solid var(--progress-fill);
10277
+ outline-offset: calc(-1 * var(--outline-width-default));
10230
10278
  }
10231
10279
  }
10232
10280
 
@@ -10362,7 +10410,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10362
10410
  border-radius: var(--radius-pill, var(--radius-full));
10363
10411
  box-shadow: var(--shadow-surface, var(--shadow-sm));
10364
10412
  position: relative;
10365
- border: 1px solid var(--color-base-300);
10413
+ border: var(--border-width-thin) solid var(--color-base-300);
10366
10414
  padding: var(--spacing-xs);
10367
10415
  display: inline-block;
10368
10416
  }
@@ -10406,7 +10454,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10406
10454
  z-index: 2;
10407
10455
  border-radius: var(--radius-pill, var(--radius-full));
10408
10456
  font-family: var(
10409
- --default-ui-font-family,
10457
+ --font-family-default-ui,
10410
10458
  var(--font-ui, var(--font-body, var(--font-family-sans)))
10411
10459
  );
10412
10460
  }
@@ -10465,7 +10513,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10465
10513
  /* Disabled state */
10466
10514
  .bc-segmented-input--disabled {
10467
10515
  background-color: var(--color-base-300);
10468
- border: 1px solid var(--color-base-300);
10516
+ border: var(--border-width-thin) solid var(--color-base-300);
10469
10517
  cursor: not-allowed;
10470
10518
  }
10471
10519
 
@@ -10487,7 +10535,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10487
10535
  /* Dark mode styles */
10488
10536
  .dark .bc-segmented-input {
10489
10537
  background-color: var(--bg-subtle);
10490
- border: 1px solid var(--border-default);
10538
+ border: var(--border-width-thin) solid var(--border-default);
10491
10539
  }
10492
10540
 
10493
10541
  .dark .bc-segmented-input__indicator {
@@ -10528,7 +10576,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10528
10576
  /* Disabled state (dark) */
10529
10577
  .dark .bc-segmented-input--disabled {
10530
10578
  background-color: var(--bg-background);
10531
- border: 1px solid var(--border-divider);
10579
+ border: var(--border-width-thin) solid var(--border-divider);
10532
10580
  opacity: 0.5;
10533
10581
  }
10534
10582
 
@@ -10566,13 +10614,13 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10566
10614
  display: flex;
10567
10615
  flex-direction: row;
10568
10616
  align-items: center;
10569
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
10617
+ gap: var(--spacing-stack-sm, var(--spacing-md));
10570
10618
  font-size: var(--font-size-sm);
10571
10619
  line-height: var(--line-height-normal);
10572
10620
  transition: all
10573
10621
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
10574
10622
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
10575
- padding: calc(var(--spacing-base) * 2) calc(var(--spacing-base) * 2);
10623
+ padding: var(--spacing-md) var(--spacing-md);
10576
10624
  }
10577
10625
 
10578
10626
  .bc-sidebar-group__header {
@@ -10600,8 +10648,8 @@ span.bc-sidebar-link {
10600
10648
  display: flex;
10601
10649
  align-items: center;
10602
10650
  justify-content: center;
10603
- width: calc(var(--spacing-base) * 4);
10604
- height: calc(var(--spacing-base) * 4);
10651
+ width: var(--spacing-lg);
10652
+ height: var(--spacing-lg);
10605
10653
  color: var(--text-muted);
10606
10654
  }
10607
10655
 
@@ -10609,9 +10657,9 @@ span.bc-sidebar-link {
10609
10657
  display: flex;
10610
10658
  align-items: center;
10611
10659
  justify-content: center;
10612
- width: calc(var(--spacing-base) * 6);
10613
- height: calc(var(--spacing-base) * 6);
10614
- border: 1px solid var(--border-default);
10660
+ width: var(--spacing-xl);
10661
+ height: var(--spacing-xl);
10662
+ border: var(--border-width-thin) solid var(--border-default);
10615
10663
  border-radius: var(--radius-control, var(--radius-md));
10616
10664
  cursor: pointer;
10617
10665
  padding: var(--spacing-sm);
@@ -10632,9 +10680,9 @@ span.bc-sidebar-link {
10632
10680
  }
10633
10681
 
10634
10682
  .bc-sidebar-group--rail {
10635
- padding-inline-start: calc(var(--spacing-base) * 2);
10683
+ padding-inline-start: var(--spacing-md);
10636
10684
  margin-left: 1px;
10637
- border-left: 1px solid var(--border-default);
10685
+ border-left: var(--border-width-thin) solid var(--border-default);
10638
10686
  }
10639
10687
 
10640
10688
  .bc-sidebar-group-collapsible-indicator {
@@ -10683,7 +10731,7 @@ span.bc-sidebar-link {
10683
10731
 
10684
10732
  .bc-sidebar--dark-bg .bc-sidebar-link--action {
10685
10733
  color: var(--text-normal);
10686
- border: 1px solid var(--border-default);
10734
+ border: var(--border-width-thin) solid var(--border-default);
10687
10735
  }
10688
10736
 
10689
10737
  .bc-sidebar--dark-bg .bc-sidebar-link--action:hover {
@@ -10692,7 +10740,7 @@ span.bc-sidebar-link {
10692
10740
  }
10693
10741
 
10694
10742
  .bc-sidebar--dark-bg .bc-sidebar-group--rail {
10695
- border-inline-start: 1px solid var(--border-default);
10743
+ border-inline-start: var(--border-width-thin) solid var(--border-default);
10696
10744
  }
10697
10745
 
10698
10746
  /* Dark background mode in dark theme - inverted back to light colors */
@@ -10702,8 +10750,8 @@ span.bc-sidebar-link {
10702
10750
 
10703
10751
  .bc-sidebar-separator {
10704
10752
  border: none;
10705
- border-top: 1px solid var(--border-default);
10706
- margin: calc(var(--spacing-base) * 2) 0;
10753
+ border-top: var(--border-width-thin) solid var(--border-default);
10754
+ margin: var(--spacing-md) 0;
10707
10755
  }
10708
10756
 
10709
10757
  /* Sink Component */
@@ -10711,7 +10759,7 @@ span.bc-sidebar-link {
10711
10759
  display: flex;
10712
10760
  flex-direction: column;
10713
10761
  border-radius: var(--radius-surface, var(--radius-lg));
10714
- border: 1px solid var(--color-base-300);
10762
+ border: var(--border-width-thin) solid var(--color-base-300);
10715
10763
  padding: var(--spacing-md);
10716
10764
  box-shadow: var(
10717
10765
  --shadow-sink,
@@ -10740,7 +10788,7 @@ span.bc-sidebar-link {
10740
10788
 
10741
10789
  .bc-sink--flat {
10742
10790
  box-shadow: var(--shadow-sink-flat, none);
10743
- border: 1px solid var(--color-base-200);
10791
+ border: var(--border-width-thin) solid var(--color-base-200);
10744
10792
  }
10745
10793
 
10746
10794
  /* Sink sizes */
@@ -10792,7 +10840,7 @@ span.bc-sidebar-link {
10792
10840
  /* Dark mode styles */
10793
10841
  .dark .bc-sink {
10794
10842
  background-color: var(--bg-background);
10795
- border: 1px solid var(--border-default);
10843
+ border: var(--border-width-thin) solid var(--border-default);
10796
10844
  box-shadow: var(--shadow-sink-dark, inset 0 2px 4px var(--shadow-color-dark));
10797
10845
  color: var(--text-normal);
10798
10846
  }
@@ -10813,7 +10861,7 @@ span.bc-sidebar-link {
10813
10861
 
10814
10862
  .dark .bc-sink--flat {
10815
10863
  box-shadow: var(--shadow-sink-dark-flat, none);
10816
- border: 1px solid var(--border-divider);
10864
+ border: var(--border-width-thin) solid var(--border-divider);
10817
10865
  background-color: var(--bg-subtle);
10818
10866
  }
10819
10867
 
@@ -10873,7 +10921,7 @@ span.bc-sidebar-link {
10873
10921
  .bc-skeleton__lines-container {
10874
10922
  display: flex;
10875
10923
  flex-direction: column;
10876
- gap: calc(var(--spacing-base) * 1.5);
10924
+ gap: var(--spacing-smh);
10877
10925
  width: 100%;
10878
10926
  }
10879
10927
 
@@ -10903,8 +10951,8 @@ span.bc-sidebar-link {
10903
10951
  /* High contrast mode: add subtle border */
10904
10952
  @media (prefers-contrast: high) {
10905
10953
  .bc-skeleton {
10906
- outline: 1px solid currentColor;
10907
- outline-offset: -1px;
10954
+ outline: var(--outline-width-default) solid currentColor;
10955
+ outline-offset: calc(-1 * var(--outline-width-default));
10908
10956
  }
10909
10957
  }
10910
10958
 
@@ -10915,15 +10963,15 @@ span.bc-sidebar-link {
10915
10963
  }
10916
10964
 
10917
10965
  .bc-stack--gap-1 {
10918
- gap: var(--spacing-stack-xs, calc(var(--spacing-base) * 1));
10966
+ gap: var(--spacing-stack-xs, var(--spacing-sm));
10919
10967
  }
10920
10968
 
10921
10969
  .bc-stack--gap-2 {
10922
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
10970
+ gap: var(--spacing-stack-sm, var(--spacing-md));
10923
10971
  }
10924
10972
 
10925
10973
  .bc-stack--gap-4 {
10926
- gap: var(--spacing-stack-lg, calc(var(--spacing-base) * 4));
10974
+ gap: var(--spacing-stack-lg, var(--spacing-lg));
10927
10975
  }
10928
10976
 
10929
10977
  .bc-stack--align-center {
@@ -10953,17 +11001,17 @@ span.bc-sidebar-link {
10953
11001
  align-items: center;
10954
11002
  border-radius: var(--radius-pill, var(--radius-full));
10955
11003
  line-height: 1.2;
10956
- border: 1px solid var(--tag-border);
11004
+ border: var(--border-width-thin) solid var(--tag-border);
10957
11005
  transition: all
10958
11006
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
10959
11007
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
10960
11008
  font-size: var(--font-size-md);
10961
- padding: 0 calc(var(--spacing-base) * 2);
10962
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
11009
+ padding: 0 var(--spacing-md);
11010
+ gap: var(--spacing-stack-sm, var(--spacing-md));
10963
11011
  background-color: var(--tag-bg);
10964
11012
  color: var(--tag-text);
10965
11013
  font-family: var(
10966
- --default-ui-font-family,
11014
+ --font-family-default-ui,
10967
11015
  var(--font-ui, var(--font-body, var(--font-family-sans)))
10968
11016
  );
10969
11017
  }
@@ -10975,12 +11023,12 @@ span.bc-sidebar-link {
10975
11023
 
10976
11024
  .bc-tag--xs {
10977
11025
  font-size: var(--font-size-xs);
10978
- padding: 0 calc(var(--spacing-base) * 1);
11026
+ padding: 0 var(--spacing-sm);
10979
11027
  }
10980
11028
 
10981
11029
  .bc-tag--sm {
10982
11030
  font-size: var(--font-size-sm);
10983
- padding: 0 calc(var(--spacing-base) * 1.5);
11031
+ padding: 0 var(--spacing-smh);
10984
11032
  }
10985
11033
 
10986
11034
  .bc-tag--lg {
@@ -10990,7 +11038,7 @@ span.bc-sidebar-link {
10990
11038
 
10991
11039
  .bc-tag--xl {
10992
11040
  font-size: var(--font-size-xl);
10993
- padding: 0 calc(var(--spacing-base) * 3);
11041
+ padding: 0 var(--spacing-mdh);
10994
11042
  }
10995
11043
 
10996
11044
  .bc-tag:has(.bc-tag__close) {
@@ -11006,13 +11054,13 @@ span.bc-sidebar-link {
11006
11054
  display: flex;
11007
11055
  align-items: center;
11008
11056
  justify-content: center;
11009
- width: calc(var(--spacing-base) * 4);
11010
- height: calc(var(--spacing-base) * 4);
11057
+ width: var(--spacing-lg);
11058
+ height: var(--spacing-lg);
11011
11059
  border-radius: var(--radius-full);
11012
11060
  transition: all
11013
11061
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
11014
11062
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
11015
- border: 1px solid transparent;
11063
+ border: var(--border-width-thin) solid transparent;
11016
11064
  }
11017
11065
 
11018
11066
  .bc-tag__close:hover {
@@ -11070,7 +11118,7 @@ span.bc-sidebar-link {
11070
11118
  display: flex;
11071
11119
  align-items: center;
11072
11120
  justify-content: flex-end;
11073
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
11121
+ gap: var(--spacing-stack-sm, var(--spacing-md));
11074
11122
  }
11075
11123
 
11076
11124
  /* Switch Component */
@@ -11129,7 +11177,7 @@ span.bc-sidebar-link {
11129
11177
  transition: background-color var(--motion-transition-fast)
11130
11178
  var(--motion-easing-standard);
11131
11179
  cursor: pointer;
11132
- padding: calc(var(--spacing-base)) var(--spacing-base);
11180
+ padding: var(--spacing-sm) var(--spacing-base);
11133
11181
  }
11134
11182
 
11135
11183
  /* Switch track - off state */
@@ -11157,18 +11205,18 @@ span.bc-sidebar-link {
11157
11205
  .bc-switch__track-label--off {
11158
11206
  justify-content: flex-end;
11159
11207
  padding-inline-end: var(--spacing-base);
11160
- padding-inline-start: calc(var(--spacing-base) * 5);
11208
+ padding-inline-start: var(--spacing-lgh);
11161
11209
  color: var(--color-gray-600);
11162
- line-height: 1;
11210
+ line-height: var(--line-height-none);
11163
11211
  }
11164
11212
 
11165
11213
  /* On label positioning and styling */
11166
11214
  .bc-switch__track-label--on {
11167
11215
  justify-content: flex-start;
11168
- padding-inline-end: calc(var(--spacing-base) * 5);
11216
+ padding-inline-end: var(--spacing-lgh);
11169
11217
  padding-inline-start: var(--spacing-base);
11170
11218
  color: var(--switch-track-on-label, var(--color-gray-100));
11171
- line-height: 1;
11219
+ line-height: var(--line-height-none);
11172
11220
  }
11173
11221
 
11174
11222
  .bc-switch--size-xs .bc-switch__track-label {
@@ -11204,8 +11252,8 @@ span.bc-sidebar-link {
11204
11252
  .bc-switch__thumb {
11205
11253
  grid-area: stack;
11206
11254
  position: relative;
11207
- width: calc(var(--spacing-base) * 4); /* 16px equivalent */
11208
- height: calc(var(--spacing-base) * 4);
11255
+ width: var(--spacing-lg); /* 16px equivalent */
11256
+ height: var(--spacing-lg);
11209
11257
  border-radius: var(--radius-full);
11210
11258
  background-color: var(--color-white);
11211
11259
  box-shadow: var(
@@ -11224,23 +11272,23 @@ span.bc-sidebar-link {
11224
11272
  automatically via the logical property. calc(100% - thumbWidth) moves
11225
11273
  the thumb to the far end of the grid area regardless of track width. */
11226
11274
  .bc-switch__thumb--on {
11227
- inset-inline-start: calc(100% - var(--spacing-base) * 4);
11275
+ inset-inline-start: calc(100% - var(--spacing-lg));
11228
11276
  }
11229
11277
 
11230
11278
  /* Size variants for track and thumb */
11231
11279
  .bc-switch--xs .bc-switch__thumb {
11232
- width: calc(var(--spacing-base) * 3); /* 12px equivalent */
11233
- height: calc(var(--spacing-base) * 3);
11280
+ width: var(--spacing-mdh); /* 12px equivalent */
11281
+ height: var(--spacing-mdh);
11234
11282
  }
11235
11283
  .bc-switch--xs .bc-switch__thumb--on {
11236
- inset-inline-start: calc(100% - var(--spacing-base) * 3);
11284
+ inset-inline-start: calc(100% - var(--spacing-mdh));
11237
11285
  }
11238
11286
  .bc-switch--xs .bc-switch__track-label--off {
11239
11287
  padding-inline-end: var(--spacing-base);
11240
- padding-inline-start: calc(var(--spacing-base) * 4);
11288
+ padding-inline-start: var(--spacing-lg);
11241
11289
  }
11242
11290
  .bc-switch--xs .bc-switch__track-label--on {
11243
- padding-inline-end: calc(var(--spacing-base) * 4);
11291
+ padding-inline-end: var(--spacing-lg);
11244
11292
  padding-inline-start: var(--spacing-base);
11245
11293
  }
11246
11294
  .bc-switch--xs .bc-switch__track {
@@ -11256,10 +11304,10 @@ span.bc-sidebar-link {
11256
11304
  }
11257
11305
  .bc-switch--sm .bc-switch__track-label--off {
11258
11306
  padding-inline-end: var(--spacing-base);
11259
- padding-inline-start: calc(var(--spacing-base) * 5);
11307
+ padding-inline-start: var(--spacing-lgh);
11260
11308
  }
11261
11309
  .bc-switch--sm .bc-switch__track-label--on {
11262
- padding-inline-end: calc(var(--spacing-base) * 5);
11310
+ padding-inline-end: var(--spacing-lgh);
11263
11311
  padding-inline-start: var(--spacing-base);
11264
11312
  }
11265
11313
  .bc-switch--sm .bc-switch__track {
@@ -11267,18 +11315,18 @@ span.bc-sidebar-link {
11267
11315
  }
11268
11316
 
11269
11317
  .bc-switch--md .bc-switch__thumb {
11270
- width: calc(var(--spacing-base) * 4); /* 20px equivalent */
11271
- height: calc(var(--spacing-base) * 4);
11318
+ width: var(--spacing-lg); /* 20px equivalent */
11319
+ height: var(--spacing-lg);
11272
11320
  }
11273
11321
  .bc-switch--md .bc-switch__thumb--on {
11274
- inset-inline-start: calc(100% - var(--spacing-base) * 4);
11322
+ inset-inline-start: calc(100% - var(--spacing-lg));
11275
11323
  }
11276
11324
  .bc-switch--md .bc-switch__track-label--off {
11277
11325
  padding-inline-end: var(--spacing-base);
11278
- padding-inline-start: calc(var(--spacing-base) * 6);
11326
+ padding-inline-start: var(--spacing-xl);
11279
11327
  }
11280
11328
  .bc-switch--md .bc-switch__track-label--on {
11281
- padding-inline-end: calc(var(--spacing-base) * 6);
11329
+ padding-inline-end: var(--spacing-xl);
11282
11330
  padding-inline-start: var(--spacing-base);
11283
11331
  }
11284
11332
  .bc-switch--md .bc-switch__track {
@@ -11286,11 +11334,11 @@ span.bc-sidebar-link {
11286
11334
  }
11287
11335
 
11288
11336
  .bc-switch--lg .bc-switch__thumb {
11289
- width: calc(var(--spacing-base) * 5); /* 20px equivalent */
11290
- height: calc(var(--spacing-base) * 5);
11337
+ width: var(--spacing-lgh); /* 20px equivalent */
11338
+ height: var(--spacing-lgh);
11291
11339
  }
11292
11340
  .bc-switch--lg .bc-switch__thumb--on {
11293
- inset-inline-start: calc(100% - var(--spacing-base) * 5);
11341
+ inset-inline-start: calc(100% - var(--spacing-lgh));
11294
11342
  }
11295
11343
  .bc-switch--lg .bc-switch__track-label--off {
11296
11344
  padding-inline-end: var(--spacing-base);
@@ -11301,15 +11349,15 @@ span.bc-sidebar-link {
11301
11349
  padding-inline-start: var(--spacing-base);
11302
11350
  }
11303
11351
  .bc-switch--lg .bc-switch__track {
11304
- min-width: calc(var(--spacing-base) * 12);
11352
+ min-width: var(--spacing-3xl);
11305
11353
  }
11306
11354
 
11307
11355
  .bc-switch--xl .bc-switch__thumb {
11308
- width: calc(var(--spacing-base) * 6); /* 24px equivalent */
11309
- height: calc(var(--spacing-base) * 6);
11356
+ width: var(--spacing-xl); /* 24px equivalent */
11357
+ height: var(--spacing-xl);
11310
11358
  }
11311
11359
  .bc-switch--xl .bc-switch__thumb--on {
11312
- inset-inline-start: calc(100% - var(--spacing-base) * 6);
11360
+ inset-inline-start: calc(100% - var(--spacing-xl));
11313
11361
  }
11314
11362
  .bc-switch--xl .bc-switch__track-label--off {
11315
11363
  padding-inline-end: var(--spacing-base);
@@ -11326,19 +11374,19 @@ span.bc-sidebar-link {
11326
11374
  /* Match input height — adds vertical padding so the switch occupies the same
11327
11375
  height as text inputs at the corresponding size. */
11328
11376
  .bc-switch--match-input.bc-switch--xs {
11329
- padding-block: calc(var(--spacing-base) * 1.5);
11377
+ padding-block: var(--spacing-smh);
11330
11378
  }
11331
11379
  .bc-switch--match-input.bc-switch--sm {
11332
- padding-block: calc(var(--spacing-base) * 2);
11380
+ padding-block: var(--spacing-md);
11333
11381
  }
11334
11382
  .bc-switch--match-input.bc-switch--md {
11335
11383
  padding-block: calc(var(--spacing-base) * 1.75);
11336
11384
  }
11337
11385
  .bc-switch--match-input.bc-switch--lg {
11338
- padding-block: calc(var(--spacing-base) * 2);
11386
+ padding-block: var(--spacing-md);
11339
11387
  }
11340
11388
  .bc-switch--match-input.bc-switch--xl {
11341
- padding-block: calc(var(--spacing-base) * 2);
11389
+ padding-block: var(--spacing-md);
11342
11390
  }
11343
11391
 
11344
11392
  /* Focus styles are handled by the base focus system */
@@ -11360,12 +11408,13 @@ span.bc-sidebar-link {
11360
11408
 
11361
11409
  .dark .bc-switch__track--off {
11362
11410
  background-color: var(--bg-subtle);
11363
- border: 1px solid var(--border-default);
11411
+ border: var(--border-width-thin) solid var(--border-default);
11364
11412
  }
11365
11413
 
11366
11414
  .dark .bc-switch__track--on {
11367
11415
  background-color: var(--switch-track-on-bg-dark, var(--color-primary-600));
11368
- border: 1px solid var(--switch-track-on-border-dark, var(--color-primary-500));
11416
+ border: var(--border-width-thin) solid
11417
+ var(--switch-track-on-border-dark, var(--color-primary-500));
11369
11418
  }
11370
11419
 
11371
11420
  .dark .bc-switch__track-label--on {
@@ -11413,7 +11462,7 @@ span.bc-sidebar-link {
11413
11462
  background-color: var(--table-bg);
11414
11463
  color: var(--table-text);
11415
11464
  font-family: var(
11416
- --default-ui-font-family,
11465
+ --font-family-default-ui,
11417
11466
  var(--font-ui, var(--font-body, var(--font-family-sans)))
11418
11467
  );
11419
11468
  font-size: var(--font-size-md);
@@ -11467,7 +11516,7 @@ span.bc-sidebar-link {
11467
11516
 
11468
11517
  /* With table border */
11469
11518
  .bc-table-container--with-table-border {
11470
- border: 1px solid var(--table-border);
11519
+ border: var(--border-width-thin) solid var(--table-border);
11471
11520
  }
11472
11521
 
11473
11522
  /* With row borders */
@@ -11477,7 +11526,7 @@ span.bc-sidebar-link {
11477
11526
  .bc-table--with-row-borders > tbody > tr > td,
11478
11527
  .bc-table--with-row-borders > tfoot > tr > th,
11479
11528
  .bc-table--with-row-borders > tfoot > tr > td {
11480
- border-bottom: 1px solid var(--table-border);
11529
+ border-bottom: var(--border-width-thin) solid var(--table-border);
11481
11530
  }
11482
11531
 
11483
11532
  /* With column borders */
@@ -11487,7 +11536,7 @@ span.bc-sidebar-link {
11487
11536
  .bc-table--with-column-borders > tbody > tr > td,
11488
11537
  .bc-table--with-column-borders > tfoot > tr > th,
11489
11538
  .bc-table--with-column-borders > tfoot > tr > td {
11490
- border-right: 1px solid var(--table-border);
11539
+ border-right: var(--border-width-thin) solid var(--table-border);
11491
11540
  }
11492
11541
 
11493
11542
  .bc-table--with-column-borders > thead > tr > th:last-child,
@@ -11529,7 +11578,7 @@ span.bc-sidebar-link {
11529
11578
  .bc-table--size-sm > tbody > tr > td,
11530
11579
  .bc-table--size-sm > tfoot > tr > th,
11531
11580
  .bc-table--size-sm > tfoot > tr > td {
11532
- padding: calc(var(--spacing-base) * 1.5);
11581
+ padding: var(--spacing-smh);
11533
11582
  font-size: var(--font-size-sm);
11534
11583
  }
11535
11584
 
@@ -11548,7 +11597,7 @@ span.bc-sidebar-link {
11548
11597
  .bc-table--size-xl > tbody > tr > td,
11549
11598
  .bc-table--size-xl > tfoot > tr > th,
11550
11599
  .bc-table--size-xl > tfoot > tr > td {
11551
- padding: calc(var(--spacing-base) * 5);
11600
+ padding: var(--spacing-lgh);
11552
11601
  font-size: var(--font-size-lg);
11553
11602
  }
11554
11603
 
@@ -11567,7 +11616,7 @@ span.bc-sidebar-link {
11567
11616
  .bc-table__footer {
11568
11617
  background-color: var(--table-header-bg);
11569
11618
  font-weight: var(--font-weight-semibold);
11570
- border-top: 2px solid var(--table-border);
11619
+ border-top: var(--border-width-medium) solid var(--table-border);
11571
11620
  }
11572
11621
 
11573
11622
  /* Dark mode styles */
@@ -11621,7 +11670,7 @@ span.bc-sidebar-link {
11621
11670
  display: flex;
11622
11671
  position: relative;
11623
11672
  background-color: var(--color-base-100);
11624
- border-bottom: 2px solid var(--color-base-200);
11673
+ border-bottom: var(--border-width-medium) solid var(--color-base-200);
11625
11674
  overflow-x: auto;
11626
11675
  overflow-y: hidden;
11627
11676
  scrollbar-width: none;
@@ -11637,7 +11686,7 @@ span.bc-sidebar-link {
11637
11686
  .bc-tabs--vertical .bc-tabs__list {
11638
11687
  flex-direction: column;
11639
11688
  border-bottom: none;
11640
- border-right: 2px solid var(--color-base-200);
11689
+ border-right: var(--border-width-medium) solid var(--color-base-200);
11641
11690
  min-width: 200px;
11642
11691
  overflow-x: hidden;
11643
11692
  overflow-y: auto;
@@ -11652,7 +11701,7 @@ span.bc-sidebar-link {
11652
11701
  border: none;
11653
11702
  cursor: pointer;
11654
11703
  font-family: var(
11655
- --default-ui-font-family,
11704
+ --font-family-default-ui,
11656
11705
  var(--font-ui, var(--font-body, var(--font-family-sans)))
11657
11706
  );
11658
11707
  font-weight: var(--font-weight-medium);
@@ -11708,8 +11757,8 @@ span.bc-sidebar-link {
11708
11757
  }
11709
11758
 
11710
11759
  .bc-tab:focus-visible {
11711
- outline: 2px solid var(--color-primary-500);
11712
- outline-offset: -2px;
11760
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
11761
+ outline-offset: calc(-1 * var(--outline-width-focus));
11713
11762
  z-index: 1;
11714
11763
  }
11715
11764
 
@@ -11778,8 +11827,8 @@ span.bc-sidebar-link {
11778
11827
  }
11779
11828
 
11780
11829
  .bc-tabs__panel:focus-visible {
11781
- outline: 2px solid var(--color-primary-500);
11782
- outline-offset: -2px;
11830
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
11831
+ outline-offset: calc(-1 * var(--outline-width-focus));
11783
11832
  }
11784
11833
 
11785
11834
  /* Responsive Design */
@@ -11825,7 +11874,7 @@ span.bc-sidebar-link {
11825
11874
  /* High contrast mode support */
11826
11875
  @media (prefers-contrast: high) {
11827
11876
  .bc-tabs__list {
11828
- border-width: 3px;
11877
+ border-width: var(--border-width-thick);
11829
11878
  }
11830
11879
 
11831
11880
  .bc-tab--active::after {
@@ -11921,8 +11970,8 @@ span.bc-sidebar-link {
11921
11970
  }
11922
11971
  .bc-tabs--variant-outline .bc-tab {
11923
11972
  background-color: var(--color-base-50);
11924
- border: 1px solid var(--color-base-300);
11925
- border-bottom: 1px solid var(--color-base-300);
11973
+ border: var(--border-width-thin) solid var(--color-base-300);
11974
+ border-bottom: var(--border-width-thin) solid var(--color-base-300);
11926
11975
  border-radius: var(--radius-control-sm, var(--radius-sm))
11927
11976
  var(--radius-control-sm, var(--radius-sm)) 0 0;
11928
11977
  }
@@ -11980,7 +12029,7 @@ span.bc-sidebar-link {
11980
12029
  /* Underline variant: minimal, clean underline style */
11981
12030
  .bc-tabs--variant-underline .bc-tabs__list {
11982
12031
  background-color: transparent;
11983
- border-bottom: 1px solid var(--color-base-200);
12032
+ border-bottom: var(--border-width-thin) solid var(--color-base-200);
11984
12033
  }
11985
12034
 
11986
12035
  .bc-tabs--variant-underline .bc-tab {
@@ -12050,7 +12099,7 @@ span.bc-sidebar-link {
12050
12099
  }
12051
12100
 
12052
12101
  .bc-tabs--variant-pill .bc-tab--sm {
12053
- padding: var(--spacing-base) calc(var(--spacing-base) * 3);
12102
+ padding: var(--spacing-base) var(--spacing-mdh);
12054
12103
  }
12055
12104
 
12056
12105
  .bc-tabs--variant-pill .bc-tab--md {
@@ -12058,11 +12107,11 @@ span.bc-sidebar-link {
12058
12107
  }
12059
12108
 
12060
12109
  .bc-tabs--variant-pill .bc-tab--lg {
12061
- padding: calc(var(--spacing-base) * 1.5) calc(var(--spacing-base) * 4);
12110
+ padding: var(--spacing-smh) var(--spacing-lg);
12062
12111
  }
12063
12112
 
12064
12113
  .bc-tabs--variant-pill .bc-tab--xl {
12065
- padding: calc(var(--spacing-base) * 2) calc(var(--spacing-base) * 5);
12114
+ padding: var(--spacing-md) var(--spacing-lgh);
12066
12115
  }
12067
12116
 
12068
12117
  .bc-tabs--variant-pill
@@ -12135,7 +12184,7 @@ span.bc-sidebar-link {
12135
12184
  align-items: center;
12136
12185
  gap: 4px;
12137
12186
  padding: 4px 8px;
12138
- border: 1px solid var(--color-base-300);
12187
+ border: var(--border-width-thin) solid var(--color-base-300);
12139
12188
  border-radius: var(--radius-md, 5px);
12140
12189
  background: var(--color-white);
12141
12190
  min-height: 34px;
@@ -12221,7 +12270,7 @@ span.bc-sidebar-link {
12221
12270
  padding: 0;
12222
12271
  margin-left: 2px;
12223
12272
  font-size: 14px;
12224
- line-height: 1;
12273
+ line-height: var(--line-height-none);
12225
12274
  color: var(--color-base-400);
12226
12275
  opacity: 0.5;
12227
12276
  transition: opacity 120ms ease;
@@ -12276,7 +12325,7 @@ span.bc-sidebar-link {
12276
12325
  font-size: var(--font-size-sm);
12277
12326
  line-height: var(--font-size-sm-lh);
12278
12327
  font-weight: var(--font-weight-medium);
12279
- max-width: 200px;
12328
+ max-width: var(--overlay-width-xs);
12280
12329
  word-wrap: break-word;
12281
12330
  z-index: var(--z-index-tooltip);
12282
12331
  box-shadow: var(--shadow-popover, var(--shadow-md));
@@ -12352,7 +12401,7 @@ span.bc-sidebar-link {
12352
12401
  .dark .bc-tooltip {
12353
12402
  background-color: var(--bg-elevated);
12354
12403
  color: var(--text-normal);
12355
- border: 1px solid var(--border-default);
12404
+ border: var(--border-width-thin) solid var(--border-default);
12356
12405
  box-shadow: var(
12357
12406
  --shadow-tooltip-dark,
12358
12407
  0 10px 15px -3px var(--shadow-color-dark),
@@ -12369,11 +12418,11 @@ span.bc-sidebar-link {
12369
12418
  /* High contrast mode */
12370
12419
  @media (prefers-contrast: high) {
12371
12420
  .bc-tooltip {
12372
- border: 1px solid var(--color-neutral-600);
12421
+ border: var(--border-width-thin) solid var(--color-neutral-600);
12373
12422
  }
12374
12423
 
12375
12424
  .dark .bc-tooltip {
12376
- border: 1px solid var(--color-neutral-400);
12425
+ border: var(--border-width-thin) solid var(--color-neutral-400);
12377
12426
  }
12378
12427
  }
12379
12428
 
@@ -12390,7 +12439,7 @@ span.bc-sidebar-link {
12390
12439
  align-items: center;
12391
12440
  gap: var(--spacing-stack-sm);
12392
12441
  padding: var(--spacing-sm);
12393
- border: 1px solid var(--color-neutral-200);
12442
+ border: var(--border-width-thin) solid var(--color-neutral-200);
12394
12443
  border-radius: var(--radius-control, var(--radius-md));
12395
12444
  background-color: var(--color-neutral-50);
12396
12445
  width: 100%;
@@ -12409,7 +12458,7 @@ span.bc-sidebar-link {
12409
12458
 
12410
12459
  .bc-toolbar__divider {
12411
12460
  width: 1px;
12412
- height: calc(var(--spacing-base) * 6);
12461
+ height: var(--spacing-xl);
12413
12462
  background-color: var(--color-neutral-300);
12414
12463
  margin: 0 var(--spacing-xs);
12415
12464
  }
@@ -12438,9 +12487,9 @@ span.bc-sidebar-link {
12438
12487
 
12439
12488
  .bc-toolbar .bc-input-container {
12440
12489
  /* Reduce horizontal padding in toolbar but keep vertical from size */
12441
- padding-inline: calc(var(--spacing-base) * 3);
12490
+ padding-inline: var(--spacing-mdh);
12442
12491
  outline-width: 1px;
12443
- outline-offset: -1px;
12492
+ outline-offset: calc(-1 * var(--outline-width-default));
12444
12493
  width: auto;
12445
12494
  box-shadow: var(--shadow-none, none);
12446
12495
  }
@@ -12453,7 +12502,7 @@ span.bc-sidebar-link {
12453
12502
  }
12454
12503
 
12455
12504
  .bc-toolbar__divider {
12456
- height: calc(var(--spacing-base) * 4);
12505
+ height: var(--spacing-lg);
12457
12506
  margin: 0 var(--spacing-xs);
12458
12507
  }
12459
12508
 
@@ -12582,7 +12631,7 @@ span.bc-sidebar-link {
12582
12631
  background: var(--color-white);
12583
12632
  border-radius: var(--radius-lg);
12584
12633
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
12585
- border: 1px solid var(--color-base-200);
12634
+ border: var(--border-width-thin) solid var(--color-base-200);
12586
12635
  width: auto;
12587
12636
  }
12588
12637
 
@@ -12613,7 +12662,7 @@ span.bc-sidebar-link {
12613
12662
 
12614
12663
  .bc-toolbar--floating .bc-toolbar__divider {
12615
12664
  width: 1px;
12616
- height: calc(var(--spacing-base) * 5);
12665
+ height: var(--spacing-lgh);
12617
12666
  background: var(--color-base-200);
12618
12667
  margin: 0 calc(var(--spacing-base) * 0.5);
12619
12668
  flex-shrink: 0;
@@ -12748,7 +12797,7 @@ span.bc-sidebar-link {
12748
12797
  background: oklch(0.95 0 0);
12749
12798
  border-radius: var(--radius-sm);
12750
12799
  font-weight: 500;
12751
- line-height: 1;
12800
+ line-height: var(--line-height-none);
12752
12801
  display: inline-flex;
12753
12802
  align-items: center;
12754
12803
  }
@@ -12798,8 +12847,8 @@ span.bc-sidebar-link {
12798
12847
 
12799
12848
  /* Focus styles for keyboard navigation */
12800
12849
  .bc-tree-item__row:focus-visible {
12801
- outline: 2px solid var(--color-primary-500);
12802
- outline-offset: -2px;
12850
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
12851
+ outline-offset: calc(-1 * var(--outline-width-focus));
12803
12852
  }
12804
12853
 
12805
12854
  .dark .bc-tree-item__row:focus-visible {
@@ -12809,7 +12858,7 @@ span.bc-sidebar-link {
12809
12858
  /* Rating Input Component */
12810
12859
  .bc-rating-input {
12811
12860
  display: inline-flex;
12812
- gap: var(--spacing-stack-xs, calc(var(--spacing-base) * 1));
12861
+ gap: var(--spacing-stack-xs, var(--spacing-sm));
12813
12862
  }
12814
12863
 
12815
12864
  .bc-rating-input__icon-container {
@@ -12883,12 +12932,12 @@ span.bc-sidebar-link {
12883
12932
 
12884
12933
  /* Custom radio indicator */
12885
12934
  .bc-radio-group__indicator {
12886
- width: calc(var(--spacing-base) * 5);
12887
- height: calc(var(--spacing-base) * 5);
12888
- min-width: calc(var(--spacing-base) * 5);
12889
- min-height: calc(var(--spacing-base) * 5);
12935
+ width: var(--spacing-lgh);
12936
+ height: var(--spacing-lgh);
12937
+ min-width: var(--spacing-lgh);
12938
+ min-height: var(--spacing-lgh);
12890
12939
  border-radius: 50%;
12891
- border: 1px solid var(--color-base-400);
12940
+ border: var(--border-width-thin) solid var(--color-base-400);
12892
12941
  background-color: --color-white;
12893
12942
  flex-shrink: 0;
12894
12943
  position: relative;
@@ -12908,8 +12957,8 @@ span.bc-sidebar-link {
12908
12957
  .bc-radio-group__input:checked + .bc-radio-group__indicator::after {
12909
12958
  content: '';
12910
12959
  position: absolute;
12911
- width: calc(var(--spacing-base) * 2);
12912
- height: calc(var(--spacing-base) * 2);
12960
+ width: var(--spacing-md);
12961
+ height: var(--spacing-md);
12913
12962
  border-radius: 50%;
12914
12963
  background-color: var(--color-primary-500);
12915
12964
  transition: all var(--motion-duration-fast) var(--motion-easing-standard);
@@ -12917,7 +12966,7 @@ span.bc-sidebar-link {
12917
12966
 
12918
12967
  /* Focus state */
12919
12968
  .bc-radio-group__input:focus-visible + .bc-radio-group__indicator {
12920
- outline: 2px solid var(--interactive-focus);
12969
+ outline: var(--outline-width-focus) solid var(--interactive-focus);
12921
12970
  outline-offset: 2px;
12922
12971
  }
12923
12972
 
@@ -12966,8 +13015,8 @@ span.bc-sidebar-link {
12966
13015
  .bc-radio-group__item--size-xs
12967
13016
  .bc-radio-group__input:checked
12968
13017
  + .bc-radio-group__indicator::after {
12969
- width: calc(var(--spacing-base) * 1.5);
12970
- height: calc(var(--spacing-base) * 1.5);
13018
+ width: var(--spacing-smh);
13019
+ height: var(--spacing-smh);
12971
13020
  }
12972
13021
 
12973
13022
  .bc-radio-group__item--size-xs .bc-radio-group__label {
@@ -12979,10 +13028,10 @@ span.bc-sidebar-link {
12979
13028
  }
12980
13029
 
12981
13030
  .bc-radio-group__item--size-sm .bc-radio-group__indicator {
12982
- width: calc(var(--spacing-base) * 4);
12983
- height: calc(var(--spacing-base) * 4);
12984
- min-width: calc(var(--spacing-base) * 4);
12985
- min-height: calc(var(--spacing-base) * 4);
13031
+ width: var(--spacing-lg);
13032
+ height: var(--spacing-lg);
13033
+ min-width: var(--spacing-lg);
13034
+ min-height: var(--spacing-lg);
12986
13035
  }
12987
13036
 
12988
13037
  .bc-radio-group__item--size-sm
@@ -13003,10 +13052,10 @@ span.bc-sidebar-link {
13003
13052
  /* md is default */
13004
13053
 
13005
13054
  .bc-radio-group__item--size-lg .bc-radio-group__indicator {
13006
- width: calc(var(--spacing-base) * 5);
13007
- height: calc(var(--spacing-base) * 5);
13008
- min-width: calc(var(--spacing-base) * 5);
13009
- min-height: calc(var(--spacing-base) * 5);
13055
+ width: var(--spacing-lgh);
13056
+ height: var(--spacing-lgh);
13057
+ min-width: var(--spacing-lgh);
13058
+ min-height: var(--spacing-lgh);
13010
13059
  }
13011
13060
 
13012
13061
  .bc-radio-group__item--size-lg
@@ -13079,7 +13128,7 @@ span.bc-sidebar-link {
13079
13128
  .bc-notice {
13080
13129
  display: flex;
13081
13130
  flex-direction: row;
13082
- gap: var(--spacing-stack-md, calc(var(--spacing-base) * 3));
13131
+ gap: var(--spacing-stack-md, var(--spacing-mdh));
13083
13132
  align-items: start;
13084
13133
  border-radius: var(--radius-control, var(--radius-md));
13085
13134
  padding: var(--spacing-md);
@@ -13102,12 +13151,12 @@ span.bc-sidebar-link {
13102
13151
 
13103
13152
  /* Tones */
13104
13153
  .bc-notice--tone-subtle {
13105
- border: 1px solid var(--border-default);
13154
+ border: var(--border-width-thin) solid var(--border-default);
13106
13155
  background-color: var(--bg-surface);
13107
13156
  }
13108
13157
 
13109
13158
  .bc-notice--tone-prominent {
13110
- border: 1px solid var(--border-default);
13159
+ border: var(--border-width-thin) solid var(--border-default);
13111
13160
  }
13112
13161
 
13113
13162
  /* Variants base color variables per tone */
@@ -13246,7 +13295,7 @@ span.bc-sidebar-link {
13246
13295
  border-radius: var(--notification-radius);
13247
13296
  background-color: var(--notification-bg);
13248
13297
  color: var(--notification-text-color);
13249
- border: 1px solid var(--notification-border-color);
13298
+ border: var(--border-width-thin) solid var(--notification-border-color);
13250
13299
  box-shadow: var(--shadow-md);
13251
13300
  }
13252
13301
 
@@ -13373,12 +13422,12 @@ span.bc-sidebar-link {
13373
13422
  display: flex;
13374
13423
  flex-direction: column;
13375
13424
  background: var(--color-white);
13376
- border: 1px solid var(--color-base-200);
13425
+ border: var(--border-width-thin) solid var(--color-base-200);
13377
13426
  border-radius: var(--radius-lg, 8px);
13378
13427
  box-shadow: var(--shadow-lg, 0 4px 16px rgba(0, 0, 0, 0.12));
13379
13428
  overflow: hidden;
13380
13429
  font-family: var(
13381
- --default-ui-font-family,
13430
+ --font-family-default-ui,
13382
13431
  var(--font-ui, var(--font-body, var(--font-family-sans)))
13383
13432
  );
13384
13433
  }
@@ -13389,7 +13438,7 @@ span.bc-sidebar-link {
13389
13438
  align-items: center;
13390
13439
  justify-content: space-between;
13391
13440
  padding: 12px 16px;
13392
- border-bottom: 1px solid var(--color-base-200);
13441
+ border-bottom: var(--border-width-thin) solid var(--color-base-200);
13393
13442
  flex-shrink: 0;
13394
13443
  }
13395
13444
 
@@ -13670,7 +13719,7 @@ span.bc-sidebar-link {
13670
13719
  bottom: 0;
13671
13720
  overflow: hidden;
13672
13721
  opacity: 0.2;
13673
- line-height: 1;
13722
+ line-height: var(--line-height-none);
13674
13723
  text-align: initial;
13675
13724
  forced-color-adjust: none;
13676
13725
  transform-origin: 0 0;
@@ -13797,7 +13846,7 @@ span.bc-sidebar-link {
13797
13846
  .buttonWidgetAnnotation.radioButton
13798
13847
  input {
13799
13848
  background-image: none;
13800
- border: 1px solid transparent;
13849
+ border: var(--border-width-thin) solid transparent;
13801
13850
  box-sizing: border-box;
13802
13851
  font: calc(9px * var(--scale-factor)) sans-serif;
13803
13852
  height: 100%;
@@ -13830,7 +13879,7 @@ span.bc-sidebar-link {
13830
13879
  .buttonWidgetAnnotation.radioButton
13831
13880
  input[disabled] {
13832
13881
  background: none;
13833
- border: 1px solid transparent;
13882
+ border: var(--border-width-thin) solid transparent;
13834
13883
  cursor: not-allowed;
13835
13884
  }
13836
13885
 
@@ -13843,14 +13892,14 @@ span.bc-sidebar-link {
13843
13892
  .bc-pdf-page-viewer__annotation-layer
13844
13893
  .buttonWidgetAnnotation.radioButton
13845
13894
  input:hover {
13846
- border: 1px solid rgba(0, 0, 0, 1);
13895
+ border: var(--border-width-thin) solid rgba(0, 0, 0, 1);
13847
13896
  }
13848
13897
 
13849
13898
  .bc-pdf-page-viewer__annotation-layer .textWidgetAnnotation input:focus,
13850
13899
  .bc-pdf-page-viewer__annotation-layer .textWidgetAnnotation textarea:focus,
13851
13900
  .bc-pdf-page-viewer__annotation-layer .choiceWidgetAnnotation select:focus {
13852
13901
  background: none;
13853
- border: 1px solid transparent;
13902
+ border: var(--border-width-thin) solid transparent;
13854
13903
  }
13855
13904
 
13856
13905
  .bc-pdf-page-viewer__annotation-layer
@@ -13961,7 +14010,7 @@ span.bc-sidebar-link {
13961
14010
  }
13962
14011
 
13963
14012
  .bc-pdf-page-viewer__annotation-layer .popupContent {
13964
- border-top: 1px solid rgba(51, 51, 51, 1);
14013
+ border-top: var(--border-width-thin) solid rgba(51, 51, 51, 1);
13965
14014
  margin-top: calc(2px * var(--scale-factor));
13966
14015
  padding-top: calc(2px * var(--scale-factor));
13967
14016
  }
@@ -14059,7 +14108,7 @@ span.bc-sidebar-link {
14059
14108
  }
14060
14109
 
14061
14110
  .bc-dialog__consequences {
14062
- padding: calc(var(--spacing-base) * 2) calc(var(--spacing-base) * 3);
14111
+ padding: var(--spacing-md) var(--spacing-mdh);
14063
14112
  border-radius: var(--radius-md);
14064
14113
  background: var(--bg-subtle);
14065
14114
  font-size: var(--font-size-xs);
@@ -14067,13 +14116,13 @@ span.bc-sidebar-link {
14067
14116
  display: flex;
14068
14117
  flex-direction: column;
14069
14118
  gap: var(--spacing-base);
14070
- margin: calc(var(--spacing-base) * 3) 0 0;
14119
+ margin: var(--spacing-mdh) 0 0;
14071
14120
  list-style: none;
14072
14121
  }
14073
14122
 
14074
14123
  .bc-dialog__consequences li {
14075
14124
  display: flex;
14076
- gap: calc(var(--spacing-base) * 1.5);
14125
+ gap: var(--spacing-smh);
14077
14126
  }
14078
14127
 
14079
14128
  .bc-dialog__consequences li::before {
@@ -14085,23 +14134,24 @@ span.bc-sidebar-link {
14085
14134
  .bc-dialog__actions {
14086
14135
  display: flex;
14087
14136
  justify-content: flex-end;
14088
- gap: calc(var(--spacing-base) * 2);
14137
+ gap: var(--spacing-md);
14089
14138
  width: 100%;
14090
14139
  }
14091
14140
 
14092
14141
  .bc-dialog__input {
14093
14142
  display: block;
14094
14143
  width: 100%;
14095
- padding: calc(var(--spacing-base) * 2) calc(var(--spacing-base) * 3);
14096
- margin-top: calc(var(--spacing-base) * 3);
14097
- border: 1px solid var(--border-input);
14144
+ padding: var(--spacing-md) var(--spacing-mdh);
14145
+ margin-top: var(--spacing-mdh);
14146
+ border: var(--border-width-thin) solid var(--border-input);
14098
14147
  border-radius: var(--radius-md);
14099
14148
  background: var(--bg-background);
14100
14149
  color: var(--text-normal);
14101
14150
  font-size: var(--font-size-sm);
14102
14151
  font-family: inherit;
14103
14152
  outline: none;
14104
- transition: border-color 0.15s ease;
14153
+ transition: border-color var(--motion-duration-fast)
14154
+ var(--motion-easing-standard);
14105
14155
  }
14106
14156
 
14107
14157
  .bc-dialog__input::placeholder {
@@ -14195,7 +14245,8 @@ span.bc-sidebar-link {
14195
14245
  /* High contrast */
14196
14246
  @media (prefers-contrast: more) {
14197
14247
  .bc-ribbon {
14198
- outline: 1px solid var(--border-border-light, var(--color-neutral-500));
14248
+ outline: var(--outline-width-default) solid
14249
+ var(--border-border-light, var(--color-neutral-500));
14199
14250
  }
14200
14251
  }
14201
14252
 
@@ -14215,13 +14266,13 @@ span.bc-sidebar-link {
14215
14266
 
14216
14267
  /* Default variant: bordered list */
14217
14268
  .bc-accordion--default {
14218
- border: 1px solid var(--border-default);
14269
+ border: var(--border-width-thin) solid var(--border-default);
14219
14270
  border-radius: var(--radius-md);
14220
14271
  overflow: hidden;
14221
14272
  }
14222
14273
 
14223
14274
  .bc-accordion--default .bc-accordion__item + .bc-accordion__item {
14224
- border-top: 1px solid var(--border-default);
14275
+ border-top: var(--border-width-thin) solid var(--border-default);
14225
14276
  }
14226
14277
 
14227
14278
  /* Separated variant: cards with gaps */
@@ -14230,7 +14281,7 @@ span.bc-sidebar-link {
14230
14281
  }
14231
14282
 
14232
14283
  .bc-accordion--separated .bc-accordion__item {
14233
- border: 1px solid var(--border-default);
14284
+ border: var(--border-width-thin) solid var(--border-default);
14234
14285
  border-radius: var(--radius-md);
14235
14286
  overflow: hidden;
14236
14287
  }
@@ -14266,8 +14317,8 @@ span.bc-sidebar-link {
14266
14317
  }
14267
14318
 
14268
14319
  .bc-accordion__header:focus-visible {
14269
- outline: 2px solid var(--color-primary-500);
14270
- outline-offset: -2px;
14320
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
14321
+ outline-offset: calc(-1 * var(--outline-width-focus));
14271
14322
  }
14272
14323
 
14273
14324
  .bc-accordion__header:disabled {
@@ -14297,8 +14348,8 @@ span.bc-sidebar-link {
14297
14348
  display: inline-block;
14298
14349
  width: 0.5em;
14299
14350
  height: 0.5em;
14300
- border-right: 2px solid currentColor;
14301
- border-bottom: 2px solid currentColor;
14351
+ border-right: var(--border-width-medium) solid currentColor;
14352
+ border-bottom: var(--border-width-medium) solid currentColor;
14302
14353
  transform: rotate(45deg);
14303
14354
  margin-top: -0.15em;
14304
14355
  }
@@ -14398,7 +14449,7 @@ span.bc-sidebar-link {
14398
14449
  display: inline-flex;
14399
14450
  flex-direction: column;
14400
14451
  background-color: var(--bg-background);
14401
- border: 1px solid var(--border-default);
14452
+ border: var(--border-width-thin) solid var(--border-default);
14402
14453
  border-radius: var(--radius-md);
14403
14454
  padding: var(--spacing-md);
14404
14455
  user-select: none;
@@ -14423,14 +14474,14 @@ span.bc-sidebar-link {
14423
14474
  align-items: center;
14424
14475
  justify-content: center;
14425
14476
  background: none;
14426
- border: 1px solid transparent;
14477
+ border: var(--border-width-thin) solid transparent;
14427
14478
  border-radius: var(--radius-sm);
14428
14479
  cursor: pointer;
14429
14480
  color: var(--text-normal);
14430
14481
  font-weight: var(--font-weight-semibold);
14431
14482
  transition: background-color var(--motion-transition-fast)
14432
14483
  var(--motion-easing-standard);
14433
- line-height: 1;
14484
+ line-height: var(--line-height-none);
14434
14485
  }
14435
14486
 
14436
14487
  .bc-calendar__nav-btn:hover:not(:disabled) {
@@ -14438,8 +14489,8 @@ span.bc-sidebar-link {
14438
14489
  }
14439
14490
 
14440
14491
  .bc-calendar__nav-btn:focus-visible {
14441
- outline: 2px solid var(--color-primary-500);
14442
- outline-offset: -2px;
14492
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
14493
+ outline-offset: calc(-1 * var(--outline-width-focus));
14443
14494
  }
14444
14495
 
14445
14496
  .bc-calendar__nav-btn:disabled {
@@ -14478,8 +14529,8 @@ span.bc-sidebar-link {
14478
14529
  }
14479
14530
 
14480
14531
  .bc-calendar__title-btn:focus-visible {
14481
- outline: 2px solid var(--color-primary-500);
14482
- outline-offset: -2px;
14532
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
14533
+ outline-offset: calc(-1 * var(--outline-width-focus));
14483
14534
  }
14484
14535
 
14485
14536
  .bc-calendar__title-btn:disabled {
@@ -14532,8 +14583,8 @@ span.bc-sidebar-link {
14532
14583
  }
14533
14584
 
14534
14585
  .bc-calendar__day:focus-visible {
14535
- outline: 2px solid var(--cal-selected-bg);
14536
- outline-offset: -2px;
14586
+ outline: var(--outline-width-focus) solid var(--cal-selected-bg);
14587
+ outline-offset: calc(-1 * var(--outline-width-focus));
14537
14588
  }
14538
14589
 
14539
14590
  .bc-calendar__day--outside {
@@ -14606,8 +14657,8 @@ span.bc-sidebar-link {
14606
14657
  }
14607
14658
 
14608
14659
  .bc-calendar__month-cell:focus-visible {
14609
- outline: 2px solid var(--cal-selected-bg);
14610
- outline-offset: -2px;
14660
+ outline: var(--outline-width-focus) solid var(--cal-selected-bg);
14661
+ outline-offset: calc(-1 * var(--outline-width-focus));
14611
14662
  }
14612
14663
 
14613
14664
  .bc-calendar__month-cell--current {
@@ -14652,8 +14703,8 @@ span.bc-sidebar-link {
14652
14703
  }
14653
14704
 
14654
14705
  .bc-calendar__year-cell:focus-visible {
14655
- outline: 2px solid var(--cal-selected-bg);
14656
- outline-offset: -2px;
14706
+ outline: var(--outline-width-focus) solid var(--cal-selected-bg);
14707
+ outline-offset: calc(-1 * var(--outline-width-focus));
14657
14708
  }
14658
14709
 
14659
14710
  .bc-calendar__year-cell--current {
@@ -15007,7 +15058,7 @@ span.bc-sidebar-link {
15007
15058
  /* Thumb */
15008
15059
  .bc-advanced-slider__thumb {
15009
15060
  background-color: var(--color-white);
15010
- border: 2px solid var(--slider-color);
15061
+ border: var(--border-width-medium) solid var(--slider-color);
15011
15062
  border-radius: var(--radius-full);
15012
15063
  cursor: grab;
15013
15064
  box-shadow: var(--shadow-sm);
@@ -15027,7 +15078,7 @@ span.bc-sidebar-link {
15027
15078
  }
15028
15079
 
15029
15080
  .bc-advanced-slider__thumb:focus-visible {
15030
- outline: 2px solid var(--color-primary-500);
15081
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
15031
15082
  outline-offset: 2px;
15032
15083
  }
15033
15084
 
@@ -15045,7 +15096,7 @@ span.bc-sidebar-link {
15045
15096
  }
15046
15097
 
15047
15098
  .bc-advanced-slider__thumb-custom:focus-visible {
15048
- outline: 2px solid var(--color-primary-500);
15099
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
15049
15100
  outline-offset: 2px;
15050
15101
  }
15051
15102
 
@@ -15059,7 +15110,7 @@ span.bc-sidebar-link {
15059
15110
  font-weight: var(--font-weight-semibold);
15060
15111
  pointer-events: none;
15061
15112
  text-align: center;
15062
- line-height: 1;
15113
+ line-height: var(--line-height-none);
15063
15114
  }
15064
15115
 
15065
15116
  /* Ticks container */
@@ -15285,7 +15336,7 @@ span.bc-sidebar-link {
15285
15336
  font-variant-numeric: tabular-nums;
15286
15337
  color: var(--text-normal);
15287
15338
  background-color: var(--bg-background);
15288
- border: 1.5px solid var(--border-default);
15339
+ border: var(--border-width-default) solid var(--border-default);
15289
15340
  border-radius: var(--radius-md);
15290
15341
  outline: none;
15291
15342
  caret-color: var(--otp-focus-color);
@@ -15393,14 +15444,15 @@ span.bc-sidebar-link {
15393
15444
  align-items: center;
15394
15445
  justify-content: center;
15395
15446
  gap: var(--spacing-stack-2xs);
15396
- border: 1.5px var(--toggle-border-style) var(--toggle-border);
15447
+ border: var(--border-width-default) var(--toggle-border-style)
15448
+ var(--toggle-border);
15397
15449
  cursor: pointer;
15398
15450
  font-family: inherit;
15399
15451
  font-weight: var(--font-weight-semibold);
15400
15452
  background-color: var(--toggle-bg);
15401
15453
  color: var(--toggle-text);
15402
15454
  text-shadow: var(--toggle-text-shadow);
15403
- line-height: 1;
15455
+ line-height: var(--line-height-none);
15404
15456
  transition: all var(--motion-transition-fast) var(--motion-easing-standard);
15405
15457
  user-select: none;
15406
15458
  }
@@ -15421,7 +15473,7 @@ span.bc-sidebar-link {
15421
15473
  }
15422
15474
 
15423
15475
  .bc-toggle-button:focus-visible {
15424
- outline: 2px solid var(--color-primary-500);
15476
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
15425
15477
  outline-offset: 2px;
15426
15478
  }
15427
15479
 
@@ -15438,8 +15490,8 @@ span.bc-sidebar-link {
15438
15490
  /* Size variants */
15439
15491
  .bc-toggle-button--size-xs {
15440
15492
  font-size: var(--font-size-xs);
15441
- min-height: calc(var(--spacing-base) * 6);
15442
- min-width: calc(var(--spacing-base) * 6);
15493
+ min-height: var(--spacing-xl);
15494
+ min-width: var(--spacing-xl);
15443
15495
  }
15444
15496
 
15445
15497
  .bc-toggle-button--size-sm {
@@ -15450,20 +15502,20 @@ span.bc-sidebar-link {
15450
15502
 
15451
15503
  .bc-toggle-button--size-md {
15452
15504
  font-size: var(--font-size-md);
15453
- min-height: calc(var(--spacing-base) * 8);
15454
- min-width: calc(var(--spacing-base) * 8);
15505
+ min-height: var(--spacing-2xl);
15506
+ min-width: var(--spacing-2xl);
15455
15507
  }
15456
15508
 
15457
15509
  .bc-toggle-button--size-lg {
15458
15510
  font-size: var(--font-size-lg);
15459
- min-height: calc(var(--spacing-base) * 10);
15460
- min-width: calc(var(--spacing-base) * 10);
15511
+ min-height: var(--spacing-2xlh);
15512
+ min-width: var(--spacing-2xlh);
15461
15513
  }
15462
15514
 
15463
15515
  .bc-toggle-button--size-xl {
15464
15516
  font-size: var(--font-size-xl);
15465
- min-height: calc(var(--spacing-base) * 12);
15466
- min-width: calc(var(--spacing-base) * 12);
15517
+ min-height: var(--spacing-3xl);
15518
+ min-width: var(--spacing-3xl);
15467
15519
  }
15468
15520
 
15469
15521
  /* Dark mode */
@@ -15489,7 +15541,7 @@ span.bc-sidebar-link {
15489
15541
  /* High contrast */
15490
15542
  @media (prefers-contrast: high) {
15491
15543
  .bc-toggle-button {
15492
- border-width: 2px;
15544
+ border-width: var(--border-width-medium);
15493
15545
  }
15494
15546
  }
15495
15547