@tempots/beatui 0.87.4 → 0.89.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 +737 -671
  5. package/dist/beatui.tailwind.css +719 -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,48 @@ a:focus-visible {
3392
3437
  }
3393
3438
 
3394
3439
  .bc-control--padding-xs {
3395
- padding: var(--spacing-xs);
3440
+ padding-block: var(--control-padding-block-xs);
3441
+ padding-inline: var(--control-padding-inline-xs);
3396
3442
  }
3397
3443
 
3398
3444
  .bc-control--padding-sm {
3399
- padding: var(--spacing-sm);
3445
+ padding-block: var(--control-padding-block-sm);
3446
+ padding-inline: var(--control-padding-inline-sm);
3400
3447
  }
3401
3448
 
3402
3449
  .bc-control--padding-md {
3403
- padding: var(--spacing-md);
3450
+ padding-block: var(--control-padding-block-md);
3451
+ padding-inline: var(--control-padding-inline-md);
3404
3452
  }
3405
3453
 
3406
3454
  .bc-control--padding-lg {
3407
- padding: var(--spacing-lg);
3455
+ padding-block: var(--control-padding-block-lg);
3456
+ padding-inline: var(--control-padding-inline-lg);
3408
3457
  }
3409
3458
 
3410
3459
  .bc-control--padding-xl {
3411
- padding: var(--spacing-xl);
3460
+ padding-block: var(--control-padding-block-xl);
3461
+ padding-inline: var(--control-padding-inline-xl);
3412
3462
  }
3413
3463
 
3414
3464
  .bc-control--padding-xs:has(> .bc-icon:only-child) {
3415
- padding: var(--spacing-xs);
3465
+ padding: var(--control-padding-block-xs);
3416
3466
  }
3417
3467
 
3418
3468
  .bc-control--padding-sm:has(> .bc-icon:only-child) {
3419
- padding: var(--spacing-sm);
3469
+ padding: var(--control-padding-block-sm);
3420
3470
  }
3421
3471
 
3422
3472
  .bc-control--padding-md:has(> .bc-icon:only-child) {
3423
- padding: var(--spacing-md);
3473
+ padding: var(--control-padding-block-md);
3424
3474
  }
3425
3475
 
3426
3476
  .bc-control--padding-lg:has(> .bc-icon:only-child) {
3427
- padding: var(--spacing-lg);
3477
+ padding: var(--control-padding-block-lg);
3428
3478
  }
3429
3479
 
3430
3480
  .bc-control--padding-xl:has(> .bc-icon:only-child) {
3431
- padding: var(--spacing-xl);
3481
+ padding: var(--control-padding-block-xl);
3432
3482
  }
3433
3483
 
3434
3484
  .bc-control--rounded-none {
@@ -3492,14 +3542,14 @@ a:focus-visible {
3492
3542
  display: flex;
3493
3543
  align-items: center;
3494
3544
  justify-content: space-between;
3495
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
3545
+ gap: var(--spacing-stack-sm, var(--spacing-md));
3496
3546
  }
3497
3547
 
3498
3548
  /* Label container */
3499
3549
  .bc-control-input-wrapper__label {
3500
3550
  display: flex;
3501
3551
  align-items: center;
3502
- gap: var(--spacing-stack-2xs, calc(var(--spacing-base) / 2));
3552
+ gap: var(--spacing-stack-2xs, var(--spacing-xs));
3503
3553
  }
3504
3554
 
3505
3555
  /* Label text styles */
@@ -3570,7 +3620,7 @@ a:focus-visible {
3570
3620
  /* Divider Component */
3571
3621
  .bc-divider {
3572
3622
  border: 0;
3573
- border-top: 1px solid var(--border-divider);
3623
+ border-top: var(--border-width-thin) solid var(--border-divider);
3574
3624
  margin: 0;
3575
3625
  height: 0;
3576
3626
  background: transparent;
@@ -3584,7 +3634,7 @@ a:focus-visible {
3584
3634
  .bc-divider--vertical {
3585
3635
  border-top: none;
3586
3636
  border-top-width: 0;
3587
- border-left: 1px solid var(--border-divider);
3637
+ border-left: var(--border-width-thin) solid var(--border-divider);
3588
3638
  width: auto;
3589
3639
  height: auto;
3590
3640
  align-self: stretch;
@@ -3637,7 +3687,7 @@ a:focus-visible {
3637
3687
  .bc-divider__line {
3638
3688
  flex: 1;
3639
3689
  border: 0;
3640
- border-top: 1px solid var(--border-default);
3690
+ border-top: var(--border-width-thin) solid var(--border-default);
3641
3691
  height: 0;
3642
3692
  background: transparent;
3643
3693
  margin: 0;
@@ -3649,7 +3699,7 @@ a:focus-visible {
3649
3699
  .bc-divider--vertical .bc-divider__line {
3650
3700
  border-top: none;
3651
3701
  border-top-width: 0;
3652
- border-left: 1px solid var(--border-divider);
3702
+ border-left: var(--border-width-thin) solid var(--border-divider);
3653
3703
  width: 0;
3654
3704
  flex: 1;
3655
3705
  min-height: 1rem;
@@ -3661,11 +3711,11 @@ a:focus-visible {
3661
3711
  font-weight: var(--font-weight-medium);
3662
3712
  color: var(--text-muted);
3663
3713
  font-family: var(
3664
- --default-ui-font-family,
3714
+ --font-family-default-ui,
3665
3715
  var(--font-ui, var(--font-body, var(--font-family-sans)))
3666
3716
  );
3667
3717
  white-space: nowrap;
3668
- line-height: 1;
3718
+ line-height: var(--line-height-none);
3669
3719
  }
3670
3720
 
3671
3721
  /* Label alignment */
@@ -3738,7 +3788,7 @@ a:focus-visible {
3738
3788
  @media (prefers-contrast: high) {
3739
3789
  .bc-divider,
3740
3790
  .bc-divider__line {
3741
- border-width: 2px;
3791
+ border-width: var(--border-width-medium);
3742
3792
  }
3743
3793
  }
3744
3794
 
@@ -4017,7 +4067,7 @@ a:focus-visible {
4017
4067
  align-items: center;
4018
4068
  justify-content: space-between;
4019
4069
  padding: var(--spacing-md);
4020
- border-bottom: 1px solid var(--color-base-300);
4070
+ border-bottom: var(--border-width-thin) solid var(--color-base-300);
4021
4071
  background-color: var(--color-base-50);
4022
4072
  flex-shrink: 0;
4023
4073
  }
@@ -4030,7 +4080,7 @@ a:focus-visible {
4030
4080
 
4031
4081
  .bc-drawer__footer {
4032
4082
  padding: var(--spacing-md);
4033
- border-top: 1px solid var(--color-base-300);
4083
+ border-top: var(--border-width-thin) solid var(--color-base-300);
4034
4084
  background-color: var(--color-base-50);
4035
4085
  flex-shrink: 0;
4036
4086
  }
@@ -4039,16 +4089,16 @@ a:focus-visible {
4039
4089
  .dark .bc-drawer {
4040
4090
  background-color: var(--bg-surface);
4041
4091
  color: var(--text-normal);
4042
- border: 1px solid var(--border-default);
4092
+ border: var(--border-width-thin) solid var(--border-default);
4043
4093
  }
4044
4094
 
4045
4095
  .dark .bc-drawer__header {
4046
- border-bottom: 1px solid var(--border-divider);
4096
+ border-bottom: var(--border-width-thin) solid var(--border-divider);
4047
4097
  background-color: var(--bg-elevated);
4048
4098
  }
4049
4099
 
4050
4100
  .dark .bc-drawer__footer {
4051
- border-top: 1px solid var(--border-divider);
4101
+ border-top: var(--border-width-thin) solid var(--border-divider);
4052
4102
  background-color: var(--bg-elevated);
4053
4103
  }
4054
4104
 
@@ -4071,10 +4121,10 @@ a:focus-visible {
4071
4121
 
4072
4122
  /* Editable Text Component */
4073
4123
  .bc-editable-text {
4074
- border-bottom: 1px dashed var(--color-gray-300);
4124
+ border-bottom: var(--border-width-thin) dashed var(--color-gray-300);
4075
4125
  display: flex;
4076
4126
  flex-direction: row;
4077
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
4127
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4078
4128
  align-items: flex-start;
4079
4129
  cursor: pointer;
4080
4130
  }
@@ -4096,7 +4146,7 @@ a:focus-visible {
4096
4146
  /* Input state */
4097
4147
  .bc-editable-text__input {
4098
4148
  outline: none;
4099
- padding: 0 calc(var(--spacing-base) / 2);
4149
+ padding: 0 var(--spacing-xs);
4100
4150
  background: transparent;
4101
4151
  border: none;
4102
4152
  font: inherit;
@@ -4113,8 +4163,8 @@ a:focus-visible {
4113
4163
 
4114
4164
  /* Draw the focus on the display container similar to other inputs via focus-within */
4115
4165
  .bc-editable-text:focus-within {
4116
- outline: 2px solid var(--interactive-focus);
4117
- outline-offset: -2px;
4166
+ outline: var(--outline-width-focus) solid var(--interactive-focus);
4167
+ outline-offset: calc(-1 * var(--outline-width-focus));
4118
4168
  border-radius: var(--radius-sm);
4119
4169
  }
4120
4170
 
@@ -4122,11 +4172,11 @@ a:focus-visible {
4122
4172
  .bc-editable-text__display {
4123
4173
  display: flex;
4124
4174
  flex-direction: row;
4125
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
4175
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4126
4176
  justify-content: space-between;
4127
4177
  align-items: center;
4128
4178
  cursor: pointer;
4129
- padding: 0 calc(var(--spacing-base) / 2);
4179
+ padding: 0 var(--spacing-xs);
4130
4180
  white-space: nowrap;
4131
4181
  flex-grow: 1;
4132
4182
  overflow: hidden;
@@ -4154,7 +4204,7 @@ a:focus-visible {
4154
4204
  background: transparent;
4155
4205
  border: none;
4156
4206
  cursor: pointer;
4157
- padding: calc(var(--spacing-base) / 2);
4207
+ padding: var(--spacing-xs);
4158
4208
  display: flex;
4159
4209
  align-items: center;
4160
4210
  justify-content: center;
@@ -4258,7 +4308,7 @@ a:focus-visible {
4258
4308
  }
4259
4309
 
4260
4310
  .bc-empty-state--size-lg {
4261
- padding: var(--spacing-2xl, calc(var(--spacing-base) * 10));
4311
+ padding: var(--spacing-2xl, var(--spacing-2xlh));
4262
4312
  max-width: 500px;
4263
4313
  }
4264
4314
 
@@ -4289,7 +4339,7 @@ a:focus-visible {
4289
4339
  .bc-file-input__drop-zone {
4290
4340
  width: 100%;
4291
4341
  min-height: 120px;
4292
- border: 2px dashed var(--color-gray-300);
4342
+ border: var(--border-width-medium) dashed var(--color-gray-300);
4293
4343
  border-radius: var(--radius-control, var(--radius-md));
4294
4344
  transition: all
4295
4345
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
@@ -4304,7 +4354,7 @@ a:focus-visible {
4304
4354
  }
4305
4355
 
4306
4356
  .bc-file-input__drop-zone:focus-within {
4307
- outline: 2px solid var(--color-primary-500);
4357
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
4308
4358
  outline-offset: 2px;
4309
4359
  }
4310
4360
 
@@ -4314,11 +4364,11 @@ a:focus-visible {
4314
4364
  flex-direction: column;
4315
4365
  align-items: center;
4316
4366
  justify-content: center;
4317
- padding: calc(var(--spacing-base) * 6);
4367
+ padding: var(--spacing-xl);
4318
4368
  height: 100%;
4319
4369
  min-height: 120px;
4320
4370
  text-align: center;
4321
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
4371
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4322
4372
  }
4323
4373
 
4324
4374
  .bc-file-input__drop-zone-content--empty {
@@ -4333,7 +4383,7 @@ a:focus-visible {
4333
4383
  .bc-file-input__drop-zone-content--has-files {
4334
4384
  color: var(--color-gray-500);
4335
4385
  min-height: 80px;
4336
- padding: calc(var(--spacing-base) * 4);
4386
+ padding: var(--spacing-lg);
4337
4387
  }
4338
4388
 
4339
4389
  .bc-file-input__drop-zone-text {
@@ -4349,22 +4399,22 @@ a:focus-visible {
4349
4399
  }
4350
4400
 
4351
4401
  .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);
4402
+ margin-top: var(--spacing-mdh);
4403
+ border-top: var(--border-width-thin) solid var(--color-gray-200);
4404
+ padding-top: var(--spacing-mdh);
4355
4405
  display: flex;
4356
4406
  flex-direction: row;
4357
4407
  flex-wrap: wrap;
4358
4408
  justify-content: center;
4359
- gap: var(--spacing-stack-md, calc(var(--spacing-base) * 3));
4409
+ gap: var(--spacing-stack-md, var(--spacing-mdh));
4360
4410
  }
4361
4411
 
4362
4412
  .bc-file-input__file-item {
4363
4413
  display: flex;
4364
4414
  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);
4415
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4416
+ padding: var(--spacing-md);
4417
+ border: var(--border-width-thin) solid var(--color-gray-200);
4368
4418
  border-radius: var(--radius-sm);
4369
4419
  background-color: var(--color-white);
4370
4420
  transition:
@@ -4392,10 +4442,10 @@ a:focus-visible {
4392
4442
 
4393
4443
  /* Thumbnail Styles */
4394
4444
  .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);
4445
+ min-width: var(--spacing-3xl);
4446
+ max-width: var(--spacing-3xl);
4447
+ min-height: var(--spacing-3xl);
4448
+ max-height: var(--spacing-3xl);
4399
4449
  border-radius: var(--radius-sm);
4400
4450
  overflow: hidden;
4401
4451
  background-color: var(--color-gray-100);
@@ -4405,24 +4455,24 @@ a:focus-visible {
4405
4455
  }
4406
4456
 
4407
4457
  .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);
4458
+ min-width: var(--spacing-3xl);
4459
+ max-width: var(--spacing-3xl);
4460
+ min-height: var(--spacing-3xl);
4461
+ max-height: var(--spacing-3xl);
4412
4462
  }
4413
4463
 
4414
4464
  .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);
4465
+ min-width: var(--spacing-xl);
4466
+ max-width: var(--spacing-xl);
4467
+ min-height: var(--spacing-xl);
4468
+ max-height: var(--spacing-xl);
4419
4469
  }
4420
4470
 
4421
4471
  .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);
4472
+ min-width: var(--spacing-xl);
4473
+ max-width: var(--spacing-xl);
4474
+ min-height: var(--spacing-xl);
4475
+ max-height: var(--spacing-xl);
4426
4476
  }
4427
4477
 
4428
4478
  .bc-file-input__thumbnail {
@@ -4460,8 +4510,8 @@ a:focus-visible {
4460
4510
  display: flex;
4461
4511
  align-items: center;
4462
4512
  justify-content: center;
4463
- width: calc(var(--spacing-base) * 6);
4464
- height: calc(var(--spacing-base) * 6);
4513
+ width: var(--spacing-xl);
4514
+ height: var(--spacing-xl);
4465
4515
  border: none;
4466
4516
  border-radius: var(--radius-sm);
4467
4517
  background-color: transparent;
@@ -4478,7 +4528,7 @@ a:focus-visible {
4478
4528
  }
4479
4529
 
4480
4530
  .bc-file-input__remove-button:focus {
4481
- outline: 2px solid var(--color-danger-500);
4531
+ outline: var(--outline-width-focus) solid var(--color-danger-500);
4482
4532
  outline-offset: 2px;
4483
4533
  }
4484
4534
 
@@ -4489,9 +4539,9 @@ a:focus-visible {
4489
4539
 
4490
4540
  .bc-file-input__clear-all-button {
4491
4541
  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);
4542
+ margin: var(--spacing-md) auto 0;
4543
+ padding: var(--spacing-smh) var(--spacing-mdh);
4544
+ border: var(--border-width-thin) solid var(--color-gray-300);
4495
4545
  border-radius: var(--radius-sm);
4496
4546
  background-color: var(--color-white);
4497
4547
  color: var(--color-gray-600);
@@ -4510,7 +4560,7 @@ a:focus-visible {
4510
4560
  }
4511
4561
 
4512
4562
  .bc-file-input__clear-all-button:focus {
4513
- outline: 2px solid var(--color-danger-500);
4563
+ outline: var(--outline-width-focus) solid var(--color-danger-500);
4514
4564
  outline-offset: 2px;
4515
4565
  }
4516
4566
 
@@ -4555,7 +4605,7 @@ a:focus-visible {
4555
4605
  .bc-file-input__file-item {
4556
4606
  flex-direction: column;
4557
4607
  align-items: flex-start;
4558
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
4608
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4559
4609
  }
4560
4610
 
4561
4611
  .bc-file-input__remove-button {
@@ -4596,16 +4646,16 @@ a:focus-visible {
4596
4646
  text-overflow: ellipsis;
4597
4647
  display: flex;
4598
4648
  flex-wrap: wrap;
4599
- gap: var(--spacing-stack-xs, calc(var(--spacing-base) * 1));
4649
+ gap: var(--spacing-stack-xs, var(--spacing-sm));
4600
4650
  }
4601
4651
 
4602
4652
  .bc-file-input__compact-value-item {
4603
4653
  background-color: var(--color-gray-100);
4604
4654
  border-radius: var(--radius-sm);
4605
- padding: calc(var(--spacing-base) / 2) calc(var(--spacing-base) * 2);
4655
+ padding: var(--spacing-xs) var(--spacing-md);
4606
4656
  display: flex;
4607
4657
  align-items: center;
4608
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
4658
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4609
4659
  flex-wrap: nowrap;
4610
4660
  overflow: hidden;
4611
4661
  text-overflow: ellipsis;
@@ -4615,8 +4665,8 @@ a:focus-visible {
4615
4665
  display: inline-flex;
4616
4666
  align-items: center;
4617
4667
  justify-content: center;
4618
- width: calc(var(--spacing-base) * 6);
4619
- height: calc(var(--spacing-base) * 6);
4668
+ width: var(--spacing-xl);
4669
+ height: var(--spacing-xl);
4620
4670
  border: none;
4621
4671
  border-radius: var(--radius-sm);
4622
4672
  background-color: transparent;
@@ -4648,8 +4698,8 @@ a:focus-visible {
4648
4698
  display: inline-flex;
4649
4699
  align-items: center;
4650
4700
  justify-content: center;
4651
- width: calc(var(--spacing-base) * 6);
4652
- height: calc(var(--spacing-base) * 6);
4701
+ width: var(--spacing-xl);
4702
+ height: var(--spacing-xl);
4653
4703
  border-radius: var(--radius-xs);
4654
4704
  overflow: hidden;
4655
4705
  background-color: var(--color-gray-100);
@@ -4669,14 +4719,14 @@ a:focus-visible {
4669
4719
  .bc-file-input__compact-drop-zone {
4670
4720
  width: 100%;
4671
4721
  min-height: 100px;
4672
- border: 2px dashed var(--color-gray-300);
4722
+ border: var(--border-width-medium) dashed var(--color-gray-300);
4673
4723
  border-radius: var(--radius-control, var(--radius-md));
4674
4724
  transition: all
4675
4725
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
4676
4726
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
4677
4727
  cursor: pointer;
4678
4728
  position: relative;
4679
- padding: calc(var(--spacing-base) * 3);
4729
+ padding: var(--spacing-mdh);
4680
4730
  }
4681
4731
 
4682
4732
  .bc-file-input__compact-drop-zone:hover {
@@ -4685,7 +4735,7 @@ a:focus-visible {
4685
4735
  }
4686
4736
 
4687
4737
  .bc-file-input__compact-drop-zone:focus-within {
4688
- outline: 2px solid var(--color-primary-500);
4738
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
4689
4739
  outline-offset: 2px;
4690
4740
  }
4691
4741
 
@@ -4695,10 +4745,10 @@ a:focus-visible {
4695
4745
  flex-direction: column;
4696
4746
  align-items: center;
4697
4747
  justify-content: center;
4698
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
4748
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4699
4749
  color: var(--color-gray-600);
4700
4750
  text-align: center;
4701
- padding: calc(var(--spacing-base) * 2);
4751
+ padding: var(--spacing-md);
4702
4752
  }
4703
4753
 
4704
4754
  .bc-file-input__compact-placeholder-text {
@@ -4712,15 +4762,15 @@ a:focus-visible {
4712
4762
  display: flex;
4713
4763
  flex-direction: column;
4714
4764
  justify-items: center;
4715
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
4765
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4716
4766
  overflow-y: auto;
4717
4767
  }
4718
4768
 
4719
4769
  .bc-file-input__compact-file-item {
4720
4770
  display: flex;
4721
4771
  align-items: center;
4722
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
4723
- padding: calc(var(--spacing-base) * 1.5);
4772
+ gap: var(--spacing-stack-sm, var(--spacing-md));
4773
+ padding: var(--spacing-smh);
4724
4774
  border-radius: var(--radius-sm);
4725
4775
  background-color: var(--color-gray-50);
4726
4776
  transition: background-color
@@ -4738,17 +4788,17 @@ a:focus-visible {
4738
4788
  }
4739
4789
 
4740
4790
  .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);
4791
+ min-width: var(--spacing-2xl);
4792
+ max-width: var(--spacing-2xl);
4793
+ min-height: var(--spacing-2xl);
4794
+ max-height: var(--spacing-2xl);
4745
4795
  }
4746
4796
 
4747
4797
  .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);
4798
+ min-width: var(--spacing-2xl);
4799
+ max-width: var(--spacing-2xl);
4800
+ min-height: var(--spacing-2xl);
4801
+ max-height: var(--spacing-2xl);
4752
4802
  }
4753
4803
 
4754
4804
  .bc-file-input__compact-file-info {
@@ -4779,8 +4829,8 @@ a:focus-visible {
4779
4829
  display: flex;
4780
4830
  align-items: center;
4781
4831
  justify-content: center;
4782
- width: calc(var(--spacing-base) * 6);
4783
- height: calc(var(--spacing-base) * 6);
4832
+ width: var(--spacing-xl);
4833
+ height: var(--spacing-xl);
4784
4834
  border: none;
4785
4835
  border-radius: var(--radius-sm);
4786
4836
  background-color: transparent;
@@ -4797,7 +4847,7 @@ a:focus-visible {
4797
4847
  }
4798
4848
 
4799
4849
  .bc-file-input__compact-remove-button:focus {
4800
- outline: 2px solid var(--color-danger-500);
4850
+ outline: var(--outline-width-focus) solid var(--color-danger-500);
4801
4851
  outline-offset: 2px;
4802
4852
  }
4803
4853
 
@@ -5059,7 +5109,7 @@ a:focus-visible {
5059
5109
  .bc-flyout {
5060
5110
  /* Base flyout styles */
5061
5111
  background-color: var(--color-neutral-50);
5062
- border: 1px solid var(--color-neutral-200);
5112
+ border: var(--border-width-thin) solid var(--color-neutral-200);
5063
5113
  border-radius: var(--radius-popover, var(--radius-md));
5064
5114
  box-shadow: var(--shadow-popover, var(--shadow-lg));
5065
5115
  padding: var(--spacing-sm);
@@ -5135,19 +5185,19 @@ a:focus-visible {
5135
5185
  }
5136
5186
 
5137
5187
  .bc-group--gap-1 {
5138
- gap: var(--spacing-stack-xs, calc(var(--spacing-base) * 1));
5188
+ gap: var(--spacing-stack-xs, var(--spacing-sm));
5139
5189
  }
5140
5190
 
5141
5191
  .bc-group--gap-2 {
5142
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
5192
+ gap: var(--spacing-stack-sm, var(--spacing-md));
5143
5193
  }
5144
5194
 
5145
5195
  .bc-group--gap-4 {
5146
- gap: var(--spacing-stack-lg, calc(var(--spacing-base) * 4));
5196
+ gap: var(--spacing-stack-lg, var(--spacing-lg));
5147
5197
  }
5148
5198
 
5149
5199
  .bc-group--gap-md {
5150
- gap: var(--spacing-stack-md, calc(var(--spacing-base) * 3));
5200
+ gap: var(--spacing-stack-md, var(--spacing-mdh));
5151
5201
  }
5152
5202
 
5153
5203
  .bc-group--grow {
@@ -5157,7 +5207,7 @@ a:focus-visible {
5157
5207
  /* History Timeline */
5158
5208
  .bc-history-timeline {
5159
5209
  font-family: var(
5160
- --default-ui-font-family,
5210
+ --font-family-default-ui,
5161
5211
  var(--font-ui, var(--font-body, var(--font-family-sans)))
5162
5212
  );
5163
5213
  }
@@ -5172,7 +5222,7 @@ a:focus-visible {
5172
5222
 
5173
5223
  .bc-history-timeline__filter {
5174
5224
  padding: 4px 12px;
5175
- border: 1px solid var(--color-base-200);
5225
+ border: var(--border-width-thin) solid var(--color-base-200);
5176
5226
  border-radius: var(--radius-full, 9999px);
5177
5227
  background: transparent;
5178
5228
  font-size: var(--font-size-xs);
@@ -5411,7 +5461,7 @@ a:focus-visible {
5411
5461
  color: var(--color-neutral-500);
5412
5462
  white-space: nowrap;
5413
5463
  user-select: none;
5414
- line-height: 1;
5464
+ line-height: var(--line-height-none);
5415
5465
  align-self: stretch;
5416
5466
  }
5417
5467
 
@@ -5487,10 +5537,10 @@ a:focus-visible {
5487
5537
  .bc-input-container {
5488
5538
  width: 100%;
5489
5539
  /* Add a transparent border to match button height math */
5490
- border: 1.5px solid transparent;
5540
+ border: var(--border-width-default) solid transparent;
5491
5541
  border-radius: var(--radius-control, var(--radius-md));
5492
5542
  box-shadow: var(--shadow-xs);
5493
- line-height: 1;
5543
+ line-height: var(--line-height-none);
5494
5544
  transition: all var(--motion-transition-fast) var(--motion-easing-standard);
5495
5545
  align-items: stretch;
5496
5546
  }
@@ -5503,8 +5553,8 @@ a:focus-visible {
5503
5553
 
5504
5554
  .bc-input-container--default {
5505
5555
  background-color: var(--color-white);
5506
- outline: 1px solid var(--border-divider);
5507
- outline-offset: -1px;
5556
+ outline: var(--outline-width-default) solid var(--border-divider);
5557
+ outline-offset: calc(-1 * var(--outline-width-default));
5508
5558
  }
5509
5559
 
5510
5560
  .bc-base-input-container ::placeholder,
@@ -5521,26 +5571,26 @@ a:focus-visible {
5521
5571
 
5522
5572
  .bc-input-container--disabled {
5523
5573
  background-color: var(--color-neutral-200);
5524
- outline: 2px solid var(--border-divider);
5525
- outline-offset: -2px;
5574
+ outline: var(--outline-width-focus) solid var(--border-divider);
5575
+ outline-offset: calc(-1 * var(--outline-width-focus));
5526
5576
  }
5527
5577
 
5528
5578
  /* Focus within state */
5529
5579
  .bc-input-container:focus-within {
5530
5580
  z-index: var(--z-index-navigation);
5531
- outline: 2px solid var(--interactive-focus);
5532
- outline-offset: -2px;
5581
+ outline: var(--outline-width-focus) solid var(--interactive-focus);
5582
+ outline-offset: calc(-1 * var(--outline-width-focus));
5533
5583
  }
5534
5584
 
5535
5585
  /* Error state */
5536
5586
  .bc-input-container--error {
5537
- outline: 2px solid var(--color-danger-600);
5538
- outline-offset: -2px;
5587
+ outline: var(--outline-width-focus) solid var(--color-danger-600);
5588
+ outline-offset: calc(-1 * var(--outline-width-focus));
5539
5589
  }
5540
5590
 
5541
5591
  .bc-input-container--error:focus-within {
5542
- outline: 2px solid var(--color-danger-600);
5543
- outline-offset: -2px;
5592
+ outline: var(--outline-width-focus) solid var(--color-danger-600);
5593
+ outline-offset: calc(-1 * var(--outline-width-focus));
5544
5594
  }
5545
5595
 
5546
5596
  /* Before and after elements */
@@ -5560,7 +5610,7 @@ a:focus-visible {
5560
5610
  align-items: center;
5561
5611
  min-width: 0;
5562
5612
  /* Horizontal padding only; vertical padding comes from size classes */
5563
- padding-inline: calc(var(--spacing-base) * 4);
5613
+ padding-inline: var(--spacing-lg);
5564
5614
  }
5565
5615
 
5566
5616
  .bc-input-container__input--grow {
@@ -5583,10 +5633,9 @@ a:focus-visible {
5583
5633
  /* Normalize native element heights for consistent input container sizing */
5584
5634
  .bc-input-container input,
5585
5635
  .bc-input-container select {
5586
- min-height: 19px;
5587
5636
  padding: 0;
5588
- padding-block: 1.5px;
5589
- line-height: 1;
5637
+ padding-block: var(--spacing-px);
5638
+ line-height: var(--line-height-none);
5590
5639
  }
5591
5640
 
5592
5641
  /* Password toggle button */
@@ -5662,11 +5711,11 @@ a:focus-visible {
5662
5711
  .dark .bc-input-container--default {
5663
5712
  background-color: var(--bg-surface);
5664
5713
  color: var(--text-normal);
5665
- outline: 2px solid var(--border-default);
5714
+ outline: var(--outline-width-focus) solid var(--border-default);
5666
5715
  }
5667
5716
 
5668
5717
  .dark .bc-input-container--default:focus-within {
5669
- outline: 2px solid var(--interactive-focus);
5718
+ outline: var(--outline-width-focus) solid var(--interactive-focus);
5670
5719
  background-color: var(--bg-elevated);
5671
5720
  }
5672
5721
 
@@ -5677,17 +5726,17 @@ a:focus-visible {
5677
5726
 
5678
5727
  .dark .bc-input-container--disabled {
5679
5728
  background-color: var(--bg-subtle);
5680
- outline: 2px solid var(--border-divider);
5729
+ outline: var(--outline-width-focus) solid var(--border-divider);
5681
5730
  opacity: 0.6;
5682
5731
  }
5683
5732
 
5684
5733
  .dark .bc-input-container--error {
5685
- outline: 2px solid var(--color-danger-400);
5734
+ outline: var(--outline-width-focus) solid var(--color-danger-400);
5686
5735
  background-color: var(--color-danger-950);
5687
5736
  }
5688
5737
 
5689
5738
  .dark .bc-input-container--error:focus-within {
5690
- outline: 2px solid var(--color-danger-400);
5739
+ outline: var(--outline-width-focus) solid var(--color-danger-400);
5691
5740
  background-color: var(--color-danger-900);
5692
5741
  }
5693
5742
 
@@ -5718,7 +5767,7 @@ a:focus-visible {
5718
5767
  @media (width >= 40rem) {
5719
5768
  .bc-input-container {
5720
5769
  /* Do not force font-size; sizing classes control this */
5721
- line-height: 1;
5770
+ line-height: var(--line-height-none);
5722
5771
  }
5723
5772
  }
5724
5773
 
@@ -5726,7 +5775,7 @@ a:focus-visible {
5726
5775
  @media (prefers-contrast: high) {
5727
5776
  .bc-input-container,
5728
5777
  .bc-input {
5729
- border-width: 2px;
5778
+ border-width: var(--border-width-medium);
5730
5779
  }
5731
5780
  }
5732
5781
 
@@ -5754,7 +5803,7 @@ a:focus-visible {
5754
5803
  display: grid;
5755
5804
  grid-template-columns: auto 1fr;
5756
5805
  align-items: center;
5757
- gap: var(--spacing-sm, calc(var(--spacing-base) * 4));
5806
+ gap: var(--spacing-sm, var(--spacing-lg));
5758
5807
  }
5759
5808
 
5760
5809
  /* Horizontal with label on right */
@@ -5780,7 +5829,7 @@ a:focus-visible {
5780
5829
  display: flex;
5781
5830
  align-items: center;
5782
5831
  justify-content: space-between;
5783
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
5832
+ gap: var(--spacing-stack-sm, var(--spacing-md));
5784
5833
  }
5785
5834
 
5786
5835
  /* Label section container */
@@ -5793,7 +5842,7 @@ a:focus-visible {
5793
5842
  .bc-input-wrapper__label {
5794
5843
  display: flex;
5795
5844
  align-items: center;
5796
- gap: var(--spacing-stack-2xs, calc(var(--spacing-base) / 2));
5845
+ gap: var(--spacing-stack-2xs, var(--spacing-xs));
5797
5846
  }
5798
5847
 
5799
5848
  /* Label text styles */
@@ -5874,8 +5923,8 @@ a:focus-visible {
5874
5923
  }
5875
5924
 
5876
5925
  .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);
5926
+ border-left: var(--spacing-md) solid var(--color-base-200);
5927
+ padding-inline-start: var(--spacing-md);
5879
5928
  }
5880
5929
 
5881
5930
  .dark .bc-json-schema-object {
@@ -5887,7 +5936,7 @@ a:focus-visible {
5887
5936
  }
5888
5937
 
5889
5938
  .bc-schema-grid--gap-4 {
5890
- gap: var(--spacing-stack-lg, calc(var(--spacing-base) * 4));
5939
+ gap: var(--spacing-stack-lg, var(--spacing-lg));
5891
5940
  }
5892
5941
 
5893
5942
  .bc-schema-grid--cols-1 {
@@ -6073,7 +6122,7 @@ a:focus-visible {
6073
6122
 
6074
6123
  .bc-object-helpers__row {
6075
6124
  display: grid;
6076
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
6125
+ gap: var(--spacing-stack-sm, var(--spacing-md));
6077
6126
  grid-template-columns: 2fr 3fr min-content;
6078
6127
  }
6079
6128
 
@@ -6088,7 +6137,7 @@ a:focus-visible {
6088
6137
  }
6089
6138
 
6090
6139
  .bc-object-helpers__remove {
6091
- padding-top: calc(var(--spacing-base) * 3);
6140
+ padding-top: var(--spacing-mdh);
6092
6141
  flex-shrink: 1;
6093
6142
  }
6094
6143
 
@@ -6112,7 +6161,7 @@ a:focus-visible {
6112
6161
  .bc-json-schema-display__object {
6113
6162
  display: grid;
6114
6163
  grid-template-columns: auto 1fr;
6115
- column-gap: calc(var(--spacing-base) * 3);
6164
+ column-gap: var(--spacing-mdh);
6116
6165
  }
6117
6166
 
6118
6167
  /* Each field spans both parent columns and inherits their sizing via subgrid */
@@ -6135,7 +6184,7 @@ a:focus-visible {
6135
6184
  .bc-json-schema-display__label-row {
6136
6185
  display: flex;
6137
6186
  align-items: center;
6138
- gap: calc(var(--spacing-base) * 1);
6187
+ gap: var(--spacing-sm);
6139
6188
  grid-column: 1;
6140
6189
  max-width: 16rem;
6141
6190
  overflow: hidden;
@@ -6172,7 +6221,7 @@ a:focus-visible {
6172
6221
  font-size: var(--font-size-xs);
6173
6222
  color: var(--color-warning-600);
6174
6223
  background-color: var(--color-warning-100);
6175
- padding: 0.1em calc(var(--spacing-base) * 1);
6224
+ padding: 0.1em var(--spacing-sm);
6176
6225
  border-radius: var(--radius-sm);
6177
6226
  font-weight: var(--font-weight-medium);
6178
6227
  }
@@ -6220,7 +6269,7 @@ a:focus-visible {
6220
6269
  .bc-json-schema-display__value-context {
6221
6270
  font-size: var(--font-size-xs);
6222
6271
  color: var(--color-neutral-400);
6223
- margin-left: calc(var(--spacing-base) * 1);
6272
+ margin-left: var(--spacing-sm);
6224
6273
  }
6225
6274
 
6226
6275
  .dark .bc-json-schema-display__value-context {
@@ -6250,7 +6299,7 @@ a:focus-visible {
6250
6299
  .bc-json-schema-display__color-display {
6251
6300
  display: inline-flex;
6252
6301
  align-items: center;
6253
- gap: calc(var(--spacing-base) * 1);
6302
+ gap: var(--spacing-sm);
6254
6303
  }
6255
6304
 
6256
6305
  .bc-json-schema-display__color-swatch {
@@ -6258,7 +6307,7 @@ a:focus-visible {
6258
6307
  width: 1.25rem;
6259
6308
  height: 1.25rem;
6260
6309
  border-radius: var(--radius-sm);
6261
- border: 1px solid var(--color-neutral-300);
6310
+ border: var(--border-width-thin) solid var(--color-neutral-300);
6262
6311
  vertical-align: middle;
6263
6312
  }
6264
6313
 
@@ -6279,9 +6328,9 @@ a:focus-visible {
6279
6328
  white-space: pre-wrap;
6280
6329
  word-break: break-word;
6281
6330
  background-color: var(--color-neutral-50);
6282
- padding: calc(var(--spacing-base) * 2);
6331
+ padding: var(--spacing-md);
6283
6332
  border-radius: var(--radius-md);
6284
- border: 1px solid var(--color-neutral-200);
6333
+ border: var(--border-width-thin) solid var(--color-neutral-200);
6285
6334
  margin: 0;
6286
6335
  overflow-x: auto;
6287
6336
  }
@@ -6296,7 +6345,7 @@ a:focus-visible {
6296
6345
  display: inline-block;
6297
6346
  font-size: var(--font-size-sm);
6298
6347
  font-weight: var(--font-weight-medium);
6299
- padding: 0 calc(var(--spacing-base) * 1.5);
6348
+ padding: 0 var(--spacing-smh);
6300
6349
  border-radius: var(--radius-full);
6301
6350
  line-height: 1.6;
6302
6351
  }
@@ -6323,8 +6372,8 @@ a:focus-visible {
6323
6372
 
6324
6373
  /* Object */
6325
6374
  .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);
6375
+ border-left: var(--spacing-md) solid var(--color-base-200);
6376
+ padding-inline-start: var(--spacing-md);
6328
6377
  }
6329
6378
 
6330
6379
  .dark .bc-json-schema-display__object {
@@ -6334,8 +6383,8 @@ a:focus-visible {
6334
6383
  /* Extra properties */
6335
6384
  .bc-json-schema-display__extra-property {
6336
6385
  opacity: 0.7;
6337
- border-left: 2px dashed var(--color-warning-400);
6338
- padding-inline-start: calc(var(--spacing-base) * 2);
6386
+ border-left: var(--border-width-medium) dashed var(--color-warning-400);
6387
+ padding-inline-start: var(--spacing-md);
6339
6388
  }
6340
6389
 
6341
6390
  .dark .bc-json-schema-display__extra-property {
@@ -6350,7 +6399,7 @@ a:focus-visible {
6350
6399
 
6351
6400
  .bc-json-schema-display__array-item {
6352
6401
  display: flex;
6353
- gap: calc(var(--spacing-base) * 1.5);
6402
+ gap: var(--spacing-smh);
6354
6403
  align-items: baseline;
6355
6404
  }
6356
6405
 
@@ -6388,11 +6437,11 @@ a:focus-visible {
6388
6437
  font-size: var(--font-size-xs);
6389
6438
  font-weight: var(--font-weight-medium);
6390
6439
  color: var(--color-primary-600);
6391
- padding: 0 calc(var(--spacing-base) * 1);
6440
+ padding: 0 var(--spacing-sm);
6392
6441
  background-color: var(--color-primary-50);
6393
6442
  border-radius: var(--radius-sm);
6394
6443
  display: inline-block;
6395
- margin-bottom: calc(var(--spacing-base) * 1);
6444
+ margin-bottom: var(--spacing-sm);
6396
6445
  }
6397
6446
 
6398
6447
  .dark .bc-json-schema-display__branch-label {
@@ -6424,13 +6473,13 @@ a:focus-visible {
6424
6473
  .bc-json-schema-display__mismatches {
6425
6474
  display: flex;
6426
6475
  flex-wrap: wrap;
6427
- gap: calc(var(--spacing-base) * 1);
6476
+ gap: var(--spacing-sm);
6428
6477
  }
6429
6478
 
6430
6479
  .bc-json-schema-display__mismatch {
6431
6480
  font-size: var(--font-size-xs);
6432
6481
  font-weight: var(--font-weight-medium);
6433
- padding: 0 calc(var(--spacing-base) * 1.5);
6482
+ padding: 0 var(--spacing-smh);
6434
6483
  border-radius: var(--radius-full);
6435
6484
  line-height: 1.6;
6436
6485
  }
@@ -6469,7 +6518,7 @@ a:focus-visible {
6469
6518
  font-size: var(--font-size-xs);
6470
6519
  color: var(--color-danger-600);
6471
6520
  font-style: italic;
6472
- margin-left: calc(var(--spacing-base) * 1);
6521
+ margin-left: var(--spacing-sm);
6473
6522
  }
6474
6523
 
6475
6524
  .dark .bc-json-schema-display__mismatch--type-mismatch,
@@ -6508,7 +6557,7 @@ a:focus-visible {
6508
6557
  .bc-json-structure-form {
6509
6558
  display: flex;
6510
6559
  flex-direction: column;
6511
- gap: var(--spacing-stack-md, calc(var(--spacing-base) * 3));
6560
+ gap: var(--spacing-stack-md, var(--spacing-mdh));
6512
6561
  }
6513
6562
 
6514
6563
  /* =============================================================================
@@ -6516,18 +6565,18 @@ a:focus-visible {
6516
6565
  ============================================================================= */
6517
6566
 
6518
6567
  .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);
6568
+ border-left: var(--spacing-md) solid var(--color-base-200);
6569
+ padding-inline-start: var(--spacing-md);
6521
6570
  }
6522
6571
 
6523
6572
  .bc-json-structure-object-fields {
6524
6573
  display: flex;
6525
6574
  flex-direction: column;
6526
- gap: var(--spacing-stack-md, calc(var(--spacing-base) * 3));
6575
+ gap: var(--spacing-stack-md, var(--spacing-mdh));
6527
6576
  }
6528
6577
 
6529
6578
  .bc-json-structure-object--nested {
6530
- margin-top: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
6579
+ margin-top: var(--spacing-stack-sm, var(--spacing-md));
6531
6580
  }
6532
6581
 
6533
6582
  /* Additional properties */
@@ -6535,8 +6584,8 @@ a:focus-visible {
6535
6584
  display: flex;
6536
6585
  flex-direction: column;
6537
6586
  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);
6587
+ padding: var(--spacing-inline-sm, var(--spacing-md));
6588
+ border: var(--border-width-thin) solid var(--color-base-200);
6540
6589
  border-radius: var(--radius-sm);
6541
6590
  background: var(--color-base-50);
6542
6591
  }
@@ -6545,11 +6594,11 @@ a:focus-visible {
6545
6594
  display: flex;
6546
6595
  justify-content: space-between;
6547
6596
  align-items: center;
6548
- gap: var(--spacing-inline-sm, calc(var(--spacing-base) * 2));
6597
+ gap: var(--spacing-inline-sm, var(--spacing-md));
6549
6598
  }
6550
6599
 
6551
6600
  .bc-json-structure-additional-property-value {
6552
- padding-inline-start: calc(var(--spacing-base) * 2);
6601
+ padding-inline-start: var(--spacing-md);
6553
6602
  }
6554
6603
 
6555
6604
  /* =============================================================================
@@ -6561,7 +6610,7 @@ a:focus-visible {
6561
6610
  .bc-json-structure-map {
6562
6611
  display: flex;
6563
6612
  flex-direction: column;
6564
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
6613
+ gap: var(--spacing-stack-sm, var(--spacing-md));
6565
6614
  }
6566
6615
 
6567
6616
  .bc-json-structure-array-items,
@@ -6569,7 +6618,7 @@ a:focus-visible {
6569
6618
  .bc-json-structure-map-entries {
6570
6619
  display: flex;
6571
6620
  flex-direction: column;
6572
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
6621
+ gap: var(--spacing-stack-sm, var(--spacing-md));
6573
6622
  }
6574
6623
 
6575
6624
  .bc-json-structure-array-item,
@@ -6577,7 +6626,7 @@ a:focus-visible {
6577
6626
  .bc-json-structure-map-entry {
6578
6627
  display: flex;
6579
6628
  align-items: flex-start;
6580
- gap: var(--spacing-inline-sm, calc(var(--spacing-base) * 2));
6629
+ gap: var(--spacing-inline-sm, var(--spacing-md));
6581
6630
  }
6582
6631
 
6583
6632
  .bc-json-structure-array-item-content,
@@ -6602,7 +6651,7 @@ a:focus-visible {
6602
6651
  display: flex;
6603
6652
  justify-content: space-between;
6604
6653
  align-items: center;
6605
- gap: var(--spacing-inline-sm, calc(var(--spacing-base) * 2));
6654
+ gap: var(--spacing-inline-sm, var(--spacing-md));
6606
6655
  margin-bottom: var(--spacing-stack-xs, var(--spacing-base));
6607
6656
  }
6608
6657
 
@@ -6613,7 +6662,7 @@ a:focus-visible {
6613
6662
  }
6614
6663
 
6615
6664
  .bc-json-structure-map-entry-value {
6616
- padding-inline-start: calc(var(--spacing-base) * 2);
6665
+ padding-inline-start: var(--spacing-md);
6617
6666
  }
6618
6667
 
6619
6668
  /* Set error indicator */
@@ -6630,7 +6679,7 @@ a:focus-visible {
6630
6679
  .bc-json-structure-tuple {
6631
6680
  display: flex;
6632
6681
  flex-direction: column;
6633
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
6682
+ gap: var(--spacing-stack-sm, var(--spacing-md));
6634
6683
  }
6635
6684
 
6636
6685
  .bc-json-structure-tuple-label {
@@ -6648,7 +6697,7 @@ a:focus-visible {
6648
6697
  .bc-json-structure-tuple-elements {
6649
6698
  display: flex;
6650
6699
  flex-direction: column;
6651
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
6700
+ gap: var(--spacing-stack-sm, var(--spacing-md));
6652
6701
  }
6653
6702
 
6654
6703
  .bc-json-structure-tuple-element {
@@ -6676,7 +6725,7 @@ a:focus-visible {
6676
6725
  }
6677
6726
 
6678
6727
  .bc-json-structure-tuple-element-control {
6679
- padding-inline-start: calc(var(--spacing-base) * 2);
6728
+ padding-inline-start: var(--spacing-md);
6680
6729
  }
6681
6730
 
6682
6731
  /* =============================================================================
@@ -6686,15 +6735,15 @@ a:focus-visible {
6686
6735
  .bc-json-structure-choice {
6687
6736
  display: flex;
6688
6737
  flex-direction: column;
6689
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
6738
+ gap: var(--spacing-stack-sm, var(--spacing-md));
6690
6739
  }
6691
6740
 
6692
6741
  .bc-json-structure-choice-selector {
6693
- margin-bottom: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
6742
+ margin-bottom: var(--spacing-stack-sm, var(--spacing-md));
6694
6743
  }
6695
6744
 
6696
6745
  .bc-json-structure-choice-options {
6697
- padding-inline-start: calc(var(--spacing-base) * 2);
6746
+ padding-inline-start: var(--spacing-md);
6698
6747
  }
6699
6748
 
6700
6749
  /* =============================================================================
@@ -6706,7 +6755,7 @@ a:focus-visible {
6706
6755
  }
6707
6756
 
6708
6757
  .bc-structure-grid--gap-4 {
6709
- gap: var(--spacing-stack-lg, calc(var(--spacing-base) * 4));
6758
+ gap: var(--spacing-stack-lg, var(--spacing-lg));
6710
6759
  }
6711
6760
 
6712
6761
  .bc-structure-grid--cols-1 {
@@ -6843,7 +6892,7 @@ a:focus-visible {
6843
6892
  font-family: var(--font-family-mono);
6844
6893
  background: var(--color-base-100);
6845
6894
  padding: var(--spacing-inline-xs, calc(var(--spacing-base) * 0.5))
6846
- var(--spacing-inline-sm, calc(var(--spacing-base) * 2));
6895
+ var(--spacing-inline-sm, var(--spacing-md));
6847
6896
  border-radius: var(--radius-sm);
6848
6897
  color: var(--color-base-600);
6849
6898
  }
@@ -6872,8 +6921,8 @@ a:focus-visible {
6872
6921
  display: flex;
6873
6922
  flex-direction: column;
6874
6923
  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);
6924
+ padding: var(--spacing-inline-sm, var(--spacing-md));
6925
+ border: var(--border-width-thin) dashed var(--color-base-300);
6877
6926
  border-radius: var(--radius-md);
6878
6927
  background: var(--color-base-50);
6879
6928
  }
@@ -6888,8 +6937,8 @@ a:focus-visible {
6888
6937
  display: flex;
6889
6938
  flex-direction: column;
6890
6939
  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);
6940
+ padding: var(--spacing-inline-sm, var(--spacing-md));
6941
+ border: var(--border-width-thin) solid var(--color-warning-300);
6893
6942
  border-radius: var(--radius-md);
6894
6943
  background: var(--color-warning-50);
6895
6944
  color: var(--color-warning-700);
@@ -6972,11 +7021,11 @@ a:focus-visible {
6972
7021
  justify-content: center;
6973
7022
  font-family: var(--font-family-mono);
6974
7023
  font-weight: var(--font-weight-medium);
6975
- line-height: 1;
7024
+ line-height: var(--line-height-none);
6976
7025
  border-radius: var(--radius-xs);
6977
7026
  background-color: var(--bg-surface);
6978
7027
  color: var(--text-muted);
6979
- border: 1px solid var(--border-subtle);
7028
+ border: var(--border-width-thin) solid var(--border-subtle);
6980
7029
  box-shadow: rgb(229, 229, 229) 0px 1px 0px;
6981
7030
  white-space: nowrap;
6982
7031
  vertical-align: middle;
@@ -6994,13 +7043,13 @@ a:focus-visible {
6994
7043
 
6995
7044
  .bc-kbd--size-sm {
6996
7045
  font-size: var(--font-size-sm);
6997
- padding: calc(var(--spacing-base) * 0.5) calc(var(--spacing-base) * 1.5);
7046
+ padding: calc(var(--spacing-base) * 0.5) var(--spacing-smh);
6998
7047
  min-width: calc(var(--font-size-sm) + var(--spacing-base) * 2);
6999
7048
  }
7000
7049
 
7001
7050
  .bc-kbd--size-md {
7002
7051
  font-size: var(--font-size-md);
7003
- padding: calc(var(--spacing-base) * 0.5) calc(var(--spacing-base) * 2);
7052
+ padding: calc(var(--spacing-base) * 0.5) var(--spacing-md);
7004
7053
  min-width: calc(var(--font-size-md) + var(--spacing-base) * 2.5);
7005
7054
  }
7006
7055
 
@@ -7016,7 +7065,7 @@ a:focus-visible {
7016
7065
  /* Accessibility adjustments */
7017
7066
  @media (prefers-contrast: high) {
7018
7067
  .bc-kbd {
7019
- border-width: 2px;
7068
+ border-width: var(--border-width-medium);
7020
7069
  }
7021
7070
  }
7022
7071
 
@@ -7030,7 +7079,7 @@ a:focus-visible {
7030
7079
  font-size: var(--font-size-sm);
7031
7080
  line-height: var(--line-height-normal);
7032
7081
  font-family: var(
7033
- --default-ui-font-family,
7082
+ --font-family-default-ui,
7034
7083
  var(--font-ui, var(--font-body, var(--font-family-sans)))
7035
7084
  );
7036
7085
  }
@@ -7069,7 +7118,7 @@ a:focus-visible {
7069
7118
  .bc-lexical-editor-container {
7070
7119
  display: flex;
7071
7120
  flex-direction: column;
7072
- border: 1px solid var(--color-neutral-200);
7121
+ border: var(--border-width-thin) solid var(--color-neutral-200);
7073
7122
  border-radius: var(--radius-control, var(--radius-md));
7074
7123
  background-color: var(--color-neutral-50);
7075
7124
  overflow: hidden;
@@ -7232,7 +7281,8 @@ a:focus-visible {
7232
7281
  .bc-lexical-editor blockquote {
7233
7282
  margin: 1rem 0;
7234
7283
  padding-left: 1rem;
7235
- border-left: 4px solid var(--color-neutral-300);
7284
+ border-left: calc(2 * var(--border-width-medium)) solid
7285
+ var(--color-neutral-300);
7236
7286
  color: var(--color-neutral-700);
7237
7287
  font-style: italic;
7238
7288
  }
@@ -7270,7 +7320,7 @@ a:focus-visible {
7270
7320
  background-color: var(--color-neutral-100);
7271
7321
  border-radius: var(--radius-md, 0.5rem);
7272
7322
  overflow-x: auto;
7273
- border: 1px solid var(--color-neutral-200);
7323
+ border: var(--border-width-thin) solid var(--color-neutral-200);
7274
7324
  }
7275
7325
 
7276
7326
  .bc-lexical-editor pre code {
@@ -7295,7 +7345,7 @@ a:focus-visible {
7295
7345
  .bc-lexical-editor hr {
7296
7346
  margin: 1.5rem 0;
7297
7347
  border: none;
7298
- border-top: 2px solid var(--color-neutral-200);
7348
+ border-top: var(--border-width-medium) solid var(--color-neutral-200);
7299
7349
  }
7300
7350
 
7301
7351
  .bc-lexical-editor strong,
@@ -7349,7 +7399,7 @@ a:focus-visible {
7349
7399
  top: 0.35em;
7350
7400
  width: 1em;
7351
7401
  height: 1em;
7352
- border: 2px solid var(--color-neutral-400);
7402
+ border: var(--border-width-medium) solid var(--color-neutral-400);
7353
7403
  border-radius: var(--radius-xs, 0.25rem);
7354
7404
  cursor: pointer;
7355
7405
  }
@@ -7366,8 +7416,8 @@ a:focus-visible {
7366
7416
  top: 0.45em;
7367
7417
  width: 0.5em;
7368
7418
  height: 0.25em;
7369
- border-left: 2px solid white;
7370
- border-bottom: 2px solid white;
7419
+ border-left: var(--border-width-medium) solid white;
7420
+ border-bottom: var(--border-width-medium) solid white;
7371
7421
  transform: rotate(-45deg);
7372
7422
  }
7373
7423
 
@@ -7506,7 +7556,7 @@ a:focus-visible {
7506
7556
 
7507
7557
  @media (prefers-contrast: high) {
7508
7558
  .bc-lexical-editor-container {
7509
- border-width: 2px;
7559
+ border-width: var(--border-width-medium);
7510
7560
  }
7511
7561
 
7512
7562
  .bc-lexical-editor-container:focus-within {
@@ -7524,7 +7574,7 @@ a:focus-visible {
7524
7574
 
7525
7575
  /* Toolbar positioned at top of editor container */
7526
7576
  .bc-lexical-toolbar {
7527
- border-bottom: 1px solid var(--color-neutral-200);
7577
+ border-bottom: var(--border-width-thin) solid var(--color-neutral-200);
7528
7578
  border-radius: 0;
7529
7579
  border: none;
7530
7580
  background-color: var(--color-neutral-50);
@@ -7538,7 +7588,7 @@ a:focus-visible {
7538
7588
 
7539
7589
  /* When toolbar is inside the editor container, add bottom border */
7540
7590
  .bc-lexical-editor-container > .bc-lexical-toolbar {
7541
- border-bottom: 1px solid var(--color-neutral-200);
7591
+ border-bottom: var(--border-width-thin) solid var(--color-neutral-200);
7542
7592
  }
7543
7593
 
7544
7594
  .dark .bc-lexical-editor-container > .bc-lexical-toolbar {
@@ -7548,7 +7598,7 @@ a:focus-visible {
7548
7598
  /* Bottom position variant */
7549
7599
  .bc-lexical-toolbar--bottom {
7550
7600
  border-bottom: none;
7551
- border-top: 1px solid var(--color-neutral-200);
7601
+ border-top: var(--border-width-thin) solid var(--color-neutral-200);
7552
7602
  }
7553
7603
 
7554
7604
  .dark .bc-lexical-toolbar--bottom {
@@ -7564,7 +7614,7 @@ a:focus-visible {
7564
7614
  .bc-lexical-toolbar-select {
7565
7615
  height: 28px;
7566
7616
  padding: 0 var(--spacing-xs);
7567
- border: 1px solid var(--color-neutral-300);
7617
+ border: var(--border-width-thin) solid var(--color-neutral-300);
7568
7618
  border-radius: var(--radius-sm);
7569
7619
  background-color: var(--bg-surface);
7570
7620
  color: var(--color-neutral-900);
@@ -7613,7 +7663,7 @@ a:focus-visible {
7613
7663
  font-size: 0.875rem;
7614
7664
  font-weight: 700;
7615
7665
  pointer-events: none;
7616
- line-height: 1;
7666
+ line-height: var(--line-height-none);
7617
7667
  }
7618
7668
 
7619
7669
  .bc-lexical-toolbar-color-icon--highlight {
@@ -7645,7 +7695,7 @@ a:focus-visible {
7645
7695
  padding: var(--spacing-xs);
7646
7696
  border-radius: var(--radius-md);
7647
7697
  background-color: var(--color-white);
7648
- border: 1px solid var(--color-neutral-200);
7698
+ border: var(--border-width-thin) solid var(--color-neutral-200);
7649
7699
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
7650
7700
  z-index: 1000;
7651
7701
  animation: bc-floating-toolbar-enter 0.15s ease-out;
@@ -7677,7 +7727,7 @@ a:focus-visible {
7677
7727
  overflow-y: auto;
7678
7728
  border-radius: var(--radius-md);
7679
7729
  background-color: var(--color-white);
7680
- border: 1px solid var(--color-neutral-200);
7730
+ border: var(--border-width-thin) solid var(--color-neutral-200);
7681
7731
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
7682
7732
  padding: var(--spacing-xs);
7683
7733
  z-index: 1000;
@@ -7797,7 +7847,7 @@ a:focus-visible {
7797
7847
  justify-content: center;
7798
7848
  width: 24px;
7799
7849
  height: 24px;
7800
- border: 1px solid var(--color-neutral-200);
7850
+ border: var(--border-width-thin) solid var(--color-neutral-200);
7801
7851
  border-radius: var(--radius-sm);
7802
7852
  background-color: var(--color-white);
7803
7853
  color: var(--color-neutral-400);
@@ -7844,12 +7894,12 @@ a:focus-visible {
7844
7894
  }
7845
7895
 
7846
7896
  .bc-lexical-table-row {
7847
- border-bottom: 1px solid var(--color-neutral-200);
7897
+ border-bottom: var(--border-width-thin) solid var(--color-neutral-200);
7848
7898
  }
7849
7899
 
7850
7900
  .bc-lexical-table-cell,
7851
7901
  .bc-lexical-table-cell-header {
7852
- border: 1px solid var(--color-neutral-200);
7902
+ border: var(--border-width-thin) solid var(--color-neutral-200);
7853
7903
  padding: 0.5rem 0.75rem;
7854
7904
  position: relative;
7855
7905
  vertical-align: top;
@@ -7865,8 +7915,8 @@ a:focus-visible {
7865
7915
  /* Selected cell highlight */
7866
7916
  .bc-lexical-table-cell--selected {
7867
7917
  background-color: var(--color-primary-50);
7868
- outline: 2px solid var(--color-primary-500);
7869
- outline-offset: -2px;
7918
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
7919
+ outline-offset: calc(-1 * var(--outline-width-focus));
7870
7920
  }
7871
7921
 
7872
7922
  /* Table context menu */
@@ -7948,7 +7998,7 @@ a:focus-visible {
7948
7998
  @media (prefers-contrast: high) {
7949
7999
  .bc-lexical-table-cell,
7950
8000
  .bc-lexical-table-cell-header {
7951
- border-width: 2px;
8001
+ border-width: var(--border-width-medium);
7952
8002
  }
7953
8003
 
7954
8004
  .bc-lexical-table-cell--selected {
@@ -7966,7 +8016,7 @@ a:focus-visible {
7966
8016
  margin: 1rem 0;
7967
8017
  padding: 1rem;
7968
8018
  background-color: var(--color-neutral-50);
7969
- border: 1px solid var(--color-neutral-200);
8019
+ border: var(--border-width-thin) solid var(--color-neutral-200);
7970
8020
  border-radius: var(--radius-md);
7971
8021
  overflow-x: auto;
7972
8022
  font-family:
@@ -8179,7 +8229,7 @@ a:focus-visible {
8179
8229
 
8180
8230
  @media (prefers-contrast: high) {
8181
8231
  .bc-lexical-code-block {
8182
- border-width: 2px;
8232
+ border-width: var(--border-width-medium);
8183
8233
  }
8184
8234
  }
8185
8235
  }
@@ -8193,13 +8243,13 @@ a:focus-visible {
8193
8243
  .bc-list-item-controls--aside {
8194
8244
  flex-direction: row;
8195
8245
  align-items: center;
8196
- gap: var(--spacing-stack-xs, calc(var(--spacing-base) * 1));
8246
+ gap: var(--spacing-stack-xs, var(--spacing-sm));
8197
8247
  }
8198
8248
 
8199
8249
  /* Below layout: column, controls under content */
8200
8250
  .bc-list-item-controls--below {
8201
8251
  flex-direction: column;
8202
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
8252
+ gap: var(--spacing-stack-sm, var(--spacing-md));
8203
8253
  }
8204
8254
 
8205
8255
  /* Content area */
@@ -8226,7 +8276,7 @@ a:focus-visible {
8226
8276
  /* Move buttons group */
8227
8277
  .bc-list-item-controls__move {
8228
8278
  display: flex;
8229
- gap: var(--spacing-stack-xs, calc(var(--spacing-base) * 1));
8279
+ gap: var(--spacing-stack-xs, var(--spacing-sm));
8230
8280
  }
8231
8281
 
8232
8282
  .bc-list-item-controls--aside .bc-list-item-controls__move {
@@ -8264,7 +8314,7 @@ a:focus-visible {
8264
8314
  }
8265
8315
 
8266
8316
  .bc-link:focus-visible {
8267
- outline: 2px solid currentColor;
8317
+ outline: var(--outline-width-focus) solid currentColor;
8268
8318
  outline-offset: 2px;
8269
8319
  border-radius: var(--radius-xs);
8270
8320
  }
@@ -8311,7 +8361,7 @@ a:focus-visible {
8311
8361
 
8312
8362
  .bc-link--plain {
8313
8363
  text-decoration: none;
8314
- border-bottom: 2px solid currentColor;
8364
+ border-bottom: var(--border-width-medium) solid currentColor;
8315
8365
  }
8316
8366
 
8317
8367
  .bc-link--hover {
@@ -8334,16 +8384,16 @@ a:focus-visible {
8334
8384
  /* Menu Component */
8335
8385
  .bc-menu {
8336
8386
  background-color: var(--color-white);
8337
- border: 1px solid var(--color-base-200);
8387
+ border: var(--border-width-thin) solid var(--color-base-200);
8338
8388
  border-radius: var(--radius-popover, var(--radius-md));
8339
8389
  box-shadow: var(--shadow-popover, var(--shadow-lg));
8340
8390
  padding: var(--spacing-xs) 0;
8341
8391
  z-index: var(--z-index-popover);
8342
- min-width: 12rem;
8392
+ min-width: var(--overlay-min-width);
8343
8393
  max-height: 20rem;
8344
8394
  overflow-y: auto;
8345
8395
  outline: none;
8346
- font-family: var(--default-ui-font-family, inherit);
8396
+ font-family: var(--font-family-default-ui, inherit);
8347
8397
  }
8348
8398
 
8349
8399
  /* Dark mode styles */
@@ -8362,7 +8412,7 @@ a:focus-visible {
8362
8412
  display: flex;
8363
8413
  align-items: center;
8364
8414
  gap: var(--spacing-stack-md, var(--spacing-md));
8365
- padding: calc(var(--spacing-base) * 1.75) calc(var(--spacing-base) * 3);
8415
+ padding: calc(var(--spacing-base) * 1.75) var(--spacing-mdh);
8366
8416
  border-radius: 0;
8367
8417
  cursor: pointer;
8368
8418
  transition: background-color
@@ -8454,7 +8504,8 @@ a:focus-visible {
8454
8504
  /* Menu Separator Component */
8455
8505
  .bc-menu-separator {
8456
8506
  margin: var(--spacing-xs) var(--spacing-sm);
8457
- border-top: 1px solid var(--border-divider, var(--color-base-200));
8507
+ border-top: var(--border-width-thin) solid
8508
+ var(--border-divider, var(--color-base-200));
8458
8509
  position: relative;
8459
8510
  }
8460
8511
 
@@ -8481,24 +8532,24 @@ a:focus-visible {
8481
8532
 
8482
8533
  /* Focus styles for accessibility */
8483
8534
  .bc-menu-item:focus-visible {
8484
- outline: 2px solid var(--interactive-focus);
8485
- outline-offset: -2px;
8535
+ outline: var(--outline-width-focus) solid var(--interactive-focus);
8536
+ outline-offset: calc(-1 * var(--outline-width-focus));
8486
8537
  border-radius: var(--radius-sm);
8487
8538
  }
8488
8539
 
8489
8540
  /* High contrast mode support */
8490
8541
  @media (prefers-contrast: high) {
8491
8542
  .bc-menu {
8492
- border-width: 2px;
8543
+ border-width: var(--border-width-medium);
8493
8544
  }
8494
8545
 
8495
8546
  .bc-menu-item--focused {
8496
- outline: 2px solid currentColor;
8497
- outline-offset: -2px;
8547
+ outline: var(--outline-width-focus) solid currentColor;
8548
+ outline-offset: calc(-1 * var(--outline-width-focus));
8498
8549
  }
8499
8550
 
8500
8551
  .bc-menu-separator {
8501
- border-width: 2px;
8552
+ border-width: var(--border-width-medium);
8502
8553
  }
8503
8554
  }
8504
8555
 
@@ -8516,7 +8567,7 @@ a:focus-visible {
8516
8567
  }
8517
8568
 
8518
8569
  .bc-menu--size-sm .bc-menu-item {
8519
- padding: var(--spacing-xs) calc(var(--spacing-base) * 2);
8570
+ padding: var(--spacing-xs) var(--spacing-md);
8520
8571
  font-size: var(--font-size-xs);
8521
8572
  }
8522
8573
 
@@ -8526,7 +8577,7 @@ a:focus-visible {
8526
8577
  }
8527
8578
 
8528
8579
  .bc-menu--size-lg .bc-menu-item {
8529
- padding: calc(var(--spacing-base) * 2) calc(var(--spacing-base) * 3.5);
8580
+ padding: var(--spacing-md) calc(var(--spacing-base) * 3.5);
8530
8581
  font-size: var(--font-size-md);
8531
8582
  }
8532
8583
 
@@ -8587,7 +8638,7 @@ a:focus-visible {
8587
8638
  @media (hover: none) and (pointer: coarse) {
8588
8639
  .bc-menu-item {
8589
8640
  min-height: 44px; /* Minimum touch target */
8590
- padding: calc(var(--spacing-base) * 1.75) calc(var(--spacing-base) * 3);
8641
+ padding: calc(var(--spacing-base) * 1.75) var(--spacing-mdh);
8591
8642
  }
8592
8643
 
8593
8644
  .bc-menu-item:hover {
@@ -8630,7 +8681,7 @@ a:focus-visible {
8630
8681
  border-radius: var(--radius-overlay, var(--radius-lg));
8631
8682
  box-shadow: var(--shadow-overlay, var(--shadow-xl));
8632
8683
  background-color: var(--color-base-100);
8633
- border: 3px solid var(--color-base-300);
8684
+ border: var(--border-width-thick) solid var(--color-base-300);
8634
8685
  overflow: hidden;
8635
8686
  transition: all var(--motion-transition-overlay) var(--motion-easing-emphasis);
8636
8687
  }
@@ -8664,7 +8715,7 @@ a:focus-visible {
8664
8715
 
8665
8716
  /* Modal positioning - Top */
8666
8717
  .bc-modal--position-top.bc-modal--container-body {
8667
- top: calc(var(--spacing-base) * 8);
8718
+ top: var(--spacing-2xl);
8668
8719
  left: 50%;
8669
8720
  transform: translateX(-50%);
8670
8721
  }
@@ -8677,7 +8728,7 @@ a:focus-visible {
8677
8728
 
8678
8729
  /* Modal positioning - Bottom */
8679
8730
  .bc-modal--position-bottom.bc-modal--container-body {
8680
- bottom: calc(var(--spacing-base) * 8);
8731
+ bottom: var(--spacing-2xl);
8681
8732
  left: 50%;
8682
8733
  transform: translateX(-50%);
8683
8734
  }
@@ -8691,7 +8742,7 @@ a:focus-visible {
8691
8742
  /* Modal positioning - Left */
8692
8743
  .bc-modal--position-left.bc-modal--container-body {
8693
8744
  top: 50%;
8694
- left: calc(var(--spacing-base) * 8);
8745
+ left: var(--spacing-2xl);
8695
8746
  transform: translateY(-50%);
8696
8747
  }
8697
8748
 
@@ -8704,7 +8755,7 @@ a:focus-visible {
8704
8755
  /* Modal positioning - Right */
8705
8756
  .bc-modal--position-right.bc-modal--container-body {
8706
8757
  top: 50%;
8707
- right: calc(var(--spacing-base) * 8);
8758
+ right: var(--spacing-2xl);
8708
8759
  transform: translateY(-50%);
8709
8760
  }
8710
8761
 
@@ -8716,8 +8767,8 @@ a:focus-visible {
8716
8767
 
8717
8768
  /* Modal positioning - Top Left */
8718
8769
  .bc-modal--position-top-start.bc-modal--container-body {
8719
- top: calc(var(--spacing-base) * 8);
8720
- left: calc(var(--spacing-base) * 8);
8770
+ top: var(--spacing-2xl);
8771
+ left: var(--spacing-2xl);
8721
8772
  }
8722
8773
 
8723
8774
  .bc-modal--position-top-start.bc-modal--container-element {
@@ -8727,8 +8778,8 @@ a:focus-visible {
8727
8778
 
8728
8779
  /* Modal positioning - Top Right */
8729
8780
  .bc-modal--position-top-end.bc-modal--container-body {
8730
- top: calc(var(--spacing-base) * 8);
8731
- right: calc(var(--spacing-base) * 8);
8781
+ top: var(--spacing-2xl);
8782
+ right: var(--spacing-2xl);
8732
8783
  }
8733
8784
 
8734
8785
  .bc-modal--position-top-end.bc-modal--container-element {
@@ -8738,8 +8789,8 @@ a:focus-visible {
8738
8789
 
8739
8790
  /* Modal positioning - Bottom Left */
8740
8791
  .bc-modal--position-bottom-start.bc-modal--container-body {
8741
- bottom: calc(var(--spacing-base) * 8);
8742
- left: calc(var(--spacing-base) * 8);
8792
+ bottom: var(--spacing-2xl);
8793
+ left: var(--spacing-2xl);
8743
8794
  }
8744
8795
 
8745
8796
  .bc-modal--position-bottom-start.bc-modal--container-element {
@@ -8749,8 +8800,8 @@ a:focus-visible {
8749
8800
 
8750
8801
  /* Modal positioning - Bottom Right */
8751
8802
  .bc-modal--position-bottom-end.bc-modal--container-body {
8752
- bottom: calc(var(--spacing-base) * 8);
8753
- right: calc(var(--spacing-base) * 8);
8803
+ bottom: var(--spacing-2xl);
8804
+ right: var(--spacing-2xl);
8754
8805
  }
8755
8806
 
8756
8807
  .bc-modal--position-bottom-end.bc-modal--container-element {
@@ -8761,7 +8812,7 @@ a:focus-visible {
8761
8812
  /* Direction-aware modal positioning - Inline Start */
8762
8813
  .bc-modal--position-inline-start.bc-modal--container-body {
8763
8814
  top: 50%;
8764
- inset-inline-start: calc(var(--spacing-base) * 8);
8815
+ inset-inline-start: var(--spacing-2xl);
8765
8816
  transform: translateY(-50%);
8766
8817
  }
8767
8818
 
@@ -8774,7 +8825,7 @@ a:focus-visible {
8774
8825
  /* Direction-aware modal positioning - Inline End */
8775
8826
  .bc-modal--position-inline-end.bc-modal--container-body {
8776
8827
  top: 50%;
8777
- inset-inline-end: calc(var(--spacing-base) * 8);
8828
+ inset-inline-end: var(--spacing-2xl);
8778
8829
  transform: translateY(-50%);
8779
8830
  }
8780
8831
 
@@ -8786,8 +8837,8 @@ a:focus-visible {
8786
8837
 
8787
8838
  /* Direction-aware modal positioning - Top Inline Start */
8788
8839
  .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);
8840
+ top: var(--spacing-2xl);
8841
+ inset-inline-start: var(--spacing-2xl);
8791
8842
  }
8792
8843
 
8793
8844
  .bc-modal--position-top-inline-start.bc-modal--container-element {
@@ -8797,8 +8848,8 @@ a:focus-visible {
8797
8848
 
8798
8849
  /* Direction-aware modal positioning - Top Inline End */
8799
8850
  .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);
8851
+ top: var(--spacing-2xl);
8852
+ inset-inline-end: var(--spacing-2xl);
8802
8853
  }
8803
8854
 
8804
8855
  .bc-modal--position-top-inline-end.bc-modal--container-element {
@@ -8808,8 +8859,8 @@ a:focus-visible {
8808
8859
 
8809
8860
  /* Direction-aware modal positioning - Bottom Inline Start */
8810
8861
  .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);
8862
+ bottom: var(--spacing-2xl);
8863
+ inset-inline-start: var(--spacing-2xl);
8813
8864
  }
8814
8865
 
8815
8866
  .bc-modal--position-bottom-inline-start.bc-modal--container-element {
@@ -8819,8 +8870,8 @@ a:focus-visible {
8819
8870
 
8820
8871
  /* Direction-aware modal positioning - Bottom Inline End */
8821
8872
  .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);
8873
+ bottom: var(--spacing-2xl);
8874
+ inset-inline-end: var(--spacing-2xl);
8824
8875
  }
8825
8876
 
8826
8877
  .bc-modal--position-bottom-inline-end.bc-modal--container-element {
@@ -8830,19 +8881,19 @@ a:focus-visible {
8830
8881
 
8831
8882
  /* Modal sizes */
8832
8883
  .bc-modal--size-sm {
8833
- width: min(400px, 90vw);
8884
+ width: var(--overlay-width-sm);
8834
8885
  }
8835
8886
 
8836
8887
  .bc-modal--size-md {
8837
- width: min(600px, 90vw);
8888
+ width: var(--overlay-width-md);
8838
8889
  }
8839
8890
 
8840
8891
  .bc-modal--size-lg {
8841
- width: min(800px, 90vw);
8892
+ width: var(--overlay-width-lg);
8842
8893
  }
8843
8894
 
8844
8895
  .bc-modal--size-xl {
8845
- width: min(1000px, 90vw);
8896
+ width: var(--overlay-width-xl);
8846
8897
  }
8847
8898
 
8848
8899
  /* Modal content container */
@@ -8859,7 +8910,7 @@ a:focus-visible {
8859
8910
  align-items: center;
8860
8911
  justify-content: space-between;
8861
8912
  padding: var(--spacing-lg) var(--spacing-lg) var(--spacing-md);
8862
- border-bottom: 1px solid var(--color-base-300);
8913
+ border-bottom: var(--border-width-thin) solid var(--color-base-300);
8863
8914
  flex-shrink: 0;
8864
8915
  background-color: var(--color-base-100);
8865
8916
  }
@@ -8879,7 +8930,7 @@ a:focus-visible {
8879
8930
  display: flex;
8880
8931
  gap: var(--spacing-stack-md);
8881
8932
  padding: var(--spacing-md) var(--spacing-lg) var(--spacing-lg);
8882
- border-top: 1px solid var(--color-base-300);
8933
+ border-top: var(--border-width-thin) solid var(--color-base-300);
8883
8934
  flex-shrink: 0;
8884
8935
  background-color: var(--color-base-100);
8885
8936
  align-items: center;
@@ -8902,7 +8953,8 @@ a:focus-visible {
8902
8953
  .bc-overlay[data-status='start-opening'] .bc-modal--position-top,
8903
8954
  .bc-overlay[data-status='closing'] .bc-modal--position-top {
8904
8955
  opacity: 0;
8905
- transform: translateX(-50%) translateY(-20px) scale(0.95);
8956
+ transform: translateX(-50%) translateY(calc(-1 * var(--spacing-lgh)))
8957
+ scale(0.95);
8906
8958
  }
8907
8959
 
8908
8960
  .bc-overlay[data-status='opened'] .bc-modal--position-top,
@@ -8915,7 +8967,7 @@ a:focus-visible {
8915
8967
  .bc-overlay[data-status='start-opening'] .bc-modal--position-bottom,
8916
8968
  .bc-overlay[data-status='closing'] .bc-modal--position-bottom {
8917
8969
  opacity: 0;
8918
- transform: translateX(-50%) translateY(20px) scale(0.95);
8970
+ transform: translateX(-50%) translateY(var(--spacing-lgh)) scale(0.95);
8919
8971
  }
8920
8972
 
8921
8973
  .bc-overlay[data-status='opened'] .bc-modal--position-bottom,
@@ -8928,7 +8980,8 @@ a:focus-visible {
8928
8980
  .bc-overlay[data-status='start-opening'] .bc-modal--position-left,
8929
8981
  .bc-overlay[data-status='closing'] .bc-modal--position-left {
8930
8982
  opacity: 0;
8931
- transform: translateY(-50%) translateX(-20px) scale(0.95);
8983
+ transform: translateY(-50%) translateX(calc(-1 * var(--spacing-lgh)))
8984
+ scale(0.95);
8932
8985
  }
8933
8986
 
8934
8987
  .bc-overlay[data-status='opened'] .bc-modal--position-left,
@@ -8941,7 +8994,7 @@ a:focus-visible {
8941
8994
  .bc-overlay[data-status='start-opening'] .bc-modal--position-right,
8942
8995
  .bc-overlay[data-status='closing'] .bc-modal--position-right {
8943
8996
  opacity: 0;
8944
- transform: translateY(-50%) translateX(20px) scale(0.95);
8997
+ transform: translateY(-50%) translateX(var(--spacing-lgh)) scale(0.95);
8945
8998
  }
8946
8999
 
8947
9000
  .bc-overlay[data-status='opened'] .bc-modal--position-right,
@@ -8979,7 +9032,8 @@ a:focus-visible {
8979
9032
  .bc-overlay[data-status='start-opening'] .bc-modal--position-inline-start,
8980
9033
  .bc-overlay[data-status='closing'] .bc-modal--position-inline-start {
8981
9034
  opacity: 0;
8982
- transform: translateY(-50%) translateX(-20px) scale(0.95);
9035
+ transform: translateY(-50%) translateX(calc(-1 * var(--spacing-lgh)))
9036
+ scale(0.95);
8983
9037
  }
8984
9038
 
8985
9039
  .bc-overlay[data-status='opened'] .bc-modal--position-inline-start,
@@ -8992,7 +9046,7 @@ a:focus-visible {
8992
9046
  .bc-overlay[data-status='start-opening'] .bc-modal--position-inline-end,
8993
9047
  .bc-overlay[data-status='closing'] .bc-modal--position-inline-end {
8994
9048
  opacity: 0;
8995
- transform: translateY(-50%) translateX(20px) scale(0.95);
9049
+ transform: translateY(-50%) translateX(var(--spacing-lgh)) scale(0.95);
8996
9050
  }
8997
9051
 
8998
9052
  .bc-overlay[data-status='opened'] .bc-modal--position-inline-end,
@@ -9053,12 +9107,12 @@ a:focus-visible {
9053
9107
  /* Dark mode styles */
9054
9108
  .dark .bc-modal {
9055
9109
  background-color: var(--bg-surface);
9056
- border: 1px solid var(--border-default);
9110
+ border: var(--border-width-thin) solid var(--border-default);
9057
9111
  color: var(--text-normal);
9058
9112
  }
9059
9113
 
9060
9114
  .dark .bc-modal__header {
9061
- border-bottom: 1px solid var(--border-divider);
9115
+ border-bottom: var(--border-width-thin) solid var(--border-divider);
9062
9116
  background-color: var(--bg-elevated);
9063
9117
  }
9064
9118
 
@@ -9068,7 +9122,7 @@ a:focus-visible {
9068
9122
  }
9069
9123
 
9070
9124
  .dark .bc-modal__footer {
9071
- border-top: 1px solid var(--border-divider);
9125
+ border-top: var(--border-width-thin) solid var(--border-divider);
9072
9126
  background-color: var(--bg-elevated);
9073
9127
  }
9074
9128
 
@@ -9086,22 +9140,22 @@ a:focus-visible {
9086
9140
  }
9087
9141
 
9088
9142
  .dark .bc-modal--confirm .bc-modal__footer {
9089
- border-top: 1px solid var(--color-base-700);
9143
+ border-top: var(--border-width-thin) solid var(--color-base-700);
9090
9144
  background: var(--color-base-800);
9091
9145
  }
9092
9146
 
9093
9147
  /* High contrast mode support */
9094
9148
  @media (prefers-contrast: high) {
9095
9149
  .bc-modal {
9096
- border-width: 2px;
9150
+ border-width: var(--border-width-medium);
9097
9151
  }
9098
9152
 
9099
9153
  .bc-modal__header {
9100
- border-bottom-width: 2px;
9154
+ border-bottom-width: var(--border-width-medium);
9101
9155
  }
9102
9156
 
9103
9157
  .bc-modal__footer {
9104
- border-top-width: 2px;
9158
+ border-top-width: var(--border-width-medium);
9105
9159
  }
9106
9160
  }
9107
9161
 
@@ -9189,8 +9243,7 @@ a:focus-visible {
9189
9243
  display: flex;
9190
9244
  align-items: center;
9191
9245
  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);
9246
+ padding: var(--spacing-lgh) var(--spacing-xl) calc(var(--spacing-base) * 2.5);
9194
9247
  border-bottom: none;
9195
9248
  }
9196
9249
 
@@ -9205,14 +9258,14 @@ a:focus-visible {
9205
9258
  }
9206
9259
 
9207
9260
  .bc-modal__confirm-body {
9208
- padding: 0 calc(var(--spacing-base) * 6) calc(var(--spacing-base) * 5);
9261
+ padding: 0 var(--spacing-xl) var(--spacing-lgh);
9209
9262
  font-size: var(--font-size-sm);
9210
9263
  color: var(--color-base-600);
9211
9264
  line-height: var(--line-height-normal);
9212
9265
  }
9213
9266
 
9214
9267
  .bc-modal__confirm-consequences {
9215
- padding: calc(var(--spacing-base) * 2) calc(var(--spacing-base) * 3);
9268
+ padding: var(--spacing-md) var(--spacing-mdh);
9216
9269
  border-radius: var(--radius-md);
9217
9270
  background: var(--color-base-50);
9218
9271
  font-size: var(--font-size-xs);
@@ -9220,12 +9273,12 @@ a:focus-visible {
9220
9273
  display: flex;
9221
9274
  flex-direction: column;
9222
9275
  gap: var(--spacing-base);
9223
- margin-top: calc(var(--spacing-base) * 3);
9276
+ margin-top: var(--spacing-mdh);
9224
9277
  }
9225
9278
 
9226
9279
  .bc-modal__confirm-consequences li {
9227
9280
  display: flex;
9228
- gap: calc(var(--spacing-base) * 1.5);
9281
+ gap: var(--spacing-smh);
9229
9282
  list-style: none;
9230
9283
  }
9231
9284
 
@@ -9235,11 +9288,11 @@ a:focus-visible {
9235
9288
  }
9236
9289
 
9237
9290
  .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);
9291
+ padding: var(--spacing-mdh) var(--spacing-xl);
9292
+ border-top: var(--border-width-thin) solid var(--color-base-200);
9240
9293
  display: flex;
9241
9294
  justify-content: flex-end;
9242
- gap: calc(var(--spacing-base) * 2);
9295
+ gap: var(--spacing-md);
9243
9296
  background: var(--color-base-50);
9244
9297
  }
9245
9298
 
@@ -9345,10 +9398,10 @@ a:focus-visible {
9345
9398
  display: flex;
9346
9399
  align-items: center;
9347
9400
  justify-content: center;
9348
- line-height: 1;
9401
+ line-height: var(--line-height-none);
9349
9402
  border-radius: var(--radius-xs);
9350
- outline: 1px solid var(--color-gray-300);
9351
- outline-offset: -1px;
9403
+ outline: var(--outline-width-default) solid var(--color-gray-300);
9404
+ outline-offset: calc(-1 * var(--outline-width-default));
9352
9405
  cursor: pointer;
9353
9406
  transition: all
9354
9407
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
@@ -9431,12 +9484,12 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9431
9484
 
9432
9485
  .bc-popover {
9433
9486
  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);
9487
+ border: var(--border-width-thin) solid var(--color-base-200);
9488
+ border-radius: var(--radius-md);
9489
+ box-shadow: var(--shadow-md);
9490
+ min-width: var(--overlay-min-width);
9491
+ max-width: var(--overlay-width-sm);
9492
+ padding: var(--spacing-md);
9440
9493
  color: var(--color-base-700);
9441
9494
  }
9442
9495
 
@@ -9595,32 +9648,32 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9595
9648
  }
9596
9649
 
9597
9650
  .bc-panel--side-all {
9598
- border: 1px solid var(--border-default);
9651
+ border: var(--border-width-thin) solid var(--border-default);
9599
9652
  }
9600
9653
 
9601
9654
  .bc-panel--side-top {
9602
- border-top: 1px solid var(--border-default);
9655
+ border-top: var(--border-width-thin) solid var(--border-default);
9603
9656
  }
9604
9657
 
9605
9658
  .bc-panel--side-bottom {
9606
- border-bottom: 1px solid var(--border-default);
9659
+ border-bottom: var(--border-width-thin) solid var(--border-default);
9607
9660
  }
9608
9661
 
9609
9662
  .bc-panel--side-left {
9610
- border-left: 1px solid var(--border-default);
9663
+ border-left: var(--border-width-thin) solid var(--border-default);
9611
9664
  }
9612
9665
 
9613
9666
  .bc-panel--side-right {
9614
- border-right: 1px solid var(--border-default);
9667
+ border-right: var(--border-width-thin) solid var(--border-default);
9615
9668
  }
9616
9669
 
9617
9670
  /* Direction-aware panel borders */
9618
9671
  .bc-panel--side-inline-start {
9619
- border-inline-start: 1px solid var(--border-default);
9672
+ border-inline-start: var(--border-width-thin) solid var(--border-default);
9620
9673
  }
9621
9674
 
9622
9675
  .bc-panel--side-inline-end {
9623
- border-inline-end: 1px solid var(--border-default);
9676
+ border-inline-end: var(--border-width-thin) solid var(--border-default);
9624
9677
  }
9625
9678
 
9626
9679
  .bc-panel--shadow-sm {
@@ -9641,7 +9694,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9641
9694
  align-items: center;
9642
9695
  gap: var(--spacing-xs);
9643
9696
  font-family: var(
9644
- --default-ui-font-family,
9697
+ --font-family-default-ui,
9645
9698
  var(--font-ui, var(--font-body, var(--font-family-sans)))
9646
9699
  );
9647
9700
  }
@@ -9657,11 +9710,11 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9657
9710
  display: inline-flex;
9658
9711
  align-items: center;
9659
9712
  justify-content: center;
9660
- min-width: calc(var(--spacing-base) * 8);
9661
- height: calc(var(--spacing-base) * 8);
9713
+ min-width: var(--spacing-2xl);
9714
+ height: var(--spacing-2xl);
9662
9715
  padding: 0;
9663
9716
  cursor: pointer;
9664
- border: 1px solid transparent;
9717
+ border: var(--border-width-thin) solid transparent;
9665
9718
  border-radius: var(--radius-control-sm, var(--radius-sm));
9666
9719
  background: transparent;
9667
9720
  color: var(--color-base-700);
@@ -9678,7 +9731,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9678
9731
  }
9679
9732
 
9680
9733
  .bc-pagination__item:focus-visible {
9681
- outline: 2px solid var(--color-primary-500);
9734
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
9682
9735
  outline-offset: 2px;
9683
9736
  z-index: 1;
9684
9737
  }
@@ -9713,8 +9766,8 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9713
9766
  display: inline-flex;
9714
9767
  align-items: center;
9715
9768
  justify-content: center;
9716
- min-width: calc(var(--spacing-base) * 8);
9717
- height: calc(var(--spacing-base) * 8);
9769
+ min-width: var(--spacing-2xl);
9770
+ height: var(--spacing-2xl);
9718
9771
  color: var(--color-base-500);
9719
9772
  font-size: var(--font-size-md);
9720
9773
  user-select: none;
@@ -9723,8 +9776,8 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9723
9776
  /* Size Variants */
9724
9777
  .bc-pagination--size-xs .bc-pagination__item,
9725
9778
  .bc-pagination--size-xs .bc-pagination__dots {
9726
- min-width: calc(var(--spacing-base) * 6);
9727
- height: calc(var(--spacing-base) * 6);
9779
+ min-width: var(--spacing-xl);
9780
+ height: var(--spacing-xl);
9728
9781
  font-size: var(--font-size-xs);
9729
9782
  }
9730
9783
 
@@ -9737,8 +9790,8 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9737
9790
 
9738
9791
  .bc-pagination--size-md .bc-pagination__item,
9739
9792
  .bc-pagination--size-md .bc-pagination__dots {
9740
- min-width: calc(var(--spacing-base) * 8);
9741
- height: calc(var(--spacing-base) * 8);
9793
+ min-width: var(--spacing-2xl);
9794
+ height: var(--spacing-2xl);
9742
9795
  font-size: var(--font-size-md);
9743
9796
  }
9744
9797
 
@@ -9751,8 +9804,8 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9751
9804
 
9752
9805
  .bc-pagination--size-xl .bc-pagination__item,
9753
9806
  .bc-pagination--size-xl .bc-pagination__dots {
9754
- min-width: calc(var(--spacing-base) * 10);
9755
- height: calc(var(--spacing-base) * 10);
9807
+ min-width: var(--spacing-2xlh);
9808
+ height: var(--spacing-2xlh);
9756
9809
  font-size: var(--font-size-xl);
9757
9810
  }
9758
9811
 
@@ -9795,7 +9848,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
9795
9848
  /* High Contrast Mode Support */
9796
9849
  @media (prefers-contrast: high) {
9797
9850
  .bc-pagination__item {
9798
- border-width: 2px;
9851
+ border-width: var(--border-width-medium);
9799
9852
  }
9800
9853
 
9801
9854
  .bc-pagination__item--active {
@@ -10013,7 +10066,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10013
10066
  @media (prefers-contrast: high) {
10014
10067
  .bc-password-strength__bar,
10015
10068
  .bc-password-strength-bar {
10016
- border: 1px solid var(--border-default);
10069
+ border: var(--border-width-thin) solid var(--border-default);
10017
10070
  }
10018
10071
 
10019
10072
  .dark .bc-password-strength__bar,
@@ -10084,7 +10137,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10084
10137
  line-height: 1.4;
10085
10138
  pointer-events: none;
10086
10139
  font-family: var(
10087
- --default-ui-font-family,
10140
+ --font-family-default-ui,
10088
10141
  var(--font-ui, var(--font-body, var(--font-family-sans)))
10089
10142
  );
10090
10143
  }
@@ -10115,7 +10168,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10115
10168
  .bc-progress-bar-wrapper {
10116
10169
  display: flex;
10117
10170
  flex-direction: column;
10118
- gap: calc(var(--spacing-base) * 1);
10171
+ gap: var(--spacing-sm);
10119
10172
  width: 100%;
10120
10173
  }
10121
10174
 
@@ -10155,11 +10208,11 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10155
10208
  }
10156
10209
 
10157
10210
  .bc-progress-bar--size-md {
10158
- height: calc(var(--spacing-base) * 2);
10211
+ height: var(--spacing-md);
10159
10212
  }
10160
10213
 
10161
10214
  .bc-progress-bar--size-lg {
10162
- height: calc(var(--spacing-base) * 3);
10215
+ height: var(--spacing-mdh);
10163
10216
  }
10164
10217
 
10165
10218
  /* Indeterminate state - animated sliding bar */
@@ -10185,13 +10238,13 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10185
10238
  /* Label text */
10186
10239
  .bc-progress-bar__label {
10187
10240
  font-family: var(
10188
- --default-ui-font-family,
10241
+ --font-family-default-ui,
10189
10242
  var(--font-ui, var(--font-body, var(--font-family-sans)))
10190
10243
  );
10191
10244
  font-size: var(--font-size-sm);
10192
10245
  color: var(--text-muted);
10193
10246
  text-align: right;
10194
- line-height: 1;
10247
+ line-height: var(--line-height-none);
10195
10248
  }
10196
10249
 
10197
10250
  /* Dark mode styles */
@@ -10220,13 +10273,13 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10220
10273
  /* High contrast mode: add borders for better visibility */
10221
10274
  @media (prefers-contrast: high) {
10222
10275
  .bc-progress-bar__track {
10223
- outline: 1px solid currentColor;
10224
- outline-offset: -1px;
10276
+ outline: var(--outline-width-default) solid currentColor;
10277
+ outline-offset: calc(-1 * var(--outline-width-default));
10225
10278
  }
10226
10279
 
10227
10280
  .bc-progress-bar__fill {
10228
- outline: 1px solid var(--progress-fill);
10229
- outline-offset: -1px;
10281
+ outline: var(--outline-width-default) solid var(--progress-fill);
10282
+ outline-offset: calc(-1 * var(--outline-width-default));
10230
10283
  }
10231
10284
  }
10232
10285
 
@@ -10362,7 +10415,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10362
10415
  border-radius: var(--radius-pill, var(--radius-full));
10363
10416
  box-shadow: var(--shadow-surface, var(--shadow-sm));
10364
10417
  position: relative;
10365
- border: 1px solid var(--color-base-300);
10418
+ border: var(--border-width-thin) solid var(--color-base-300);
10366
10419
  padding: var(--spacing-xs);
10367
10420
  display: inline-block;
10368
10421
  }
@@ -10406,7 +10459,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10406
10459
  z-index: 2;
10407
10460
  border-radius: var(--radius-pill, var(--radius-full));
10408
10461
  font-family: var(
10409
- --default-ui-font-family,
10462
+ --font-family-default-ui,
10410
10463
  var(--font-ui, var(--font-body, var(--font-family-sans)))
10411
10464
  );
10412
10465
  }
@@ -10465,7 +10518,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10465
10518
  /* Disabled state */
10466
10519
  .bc-segmented-input--disabled {
10467
10520
  background-color: var(--color-base-300);
10468
- border: 1px solid var(--color-base-300);
10521
+ border: var(--border-width-thin) solid var(--color-base-300);
10469
10522
  cursor: not-allowed;
10470
10523
  }
10471
10524
 
@@ -10487,7 +10540,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10487
10540
  /* Dark mode styles */
10488
10541
  .dark .bc-segmented-input {
10489
10542
  background-color: var(--bg-subtle);
10490
- border: 1px solid var(--border-default);
10543
+ border: var(--border-width-thin) solid var(--border-default);
10491
10544
  }
10492
10545
 
10493
10546
  .dark .bc-segmented-input__indicator {
@@ -10528,7 +10581,7 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10528
10581
  /* Disabled state (dark) */
10529
10582
  .dark .bc-segmented-input--disabled {
10530
10583
  background-color: var(--bg-background);
10531
- border: 1px solid var(--border-divider);
10584
+ border: var(--border-width-thin) solid var(--border-divider);
10532
10585
  opacity: 0.5;
10533
10586
  }
10534
10587
 
@@ -10566,13 +10619,13 @@ export type OverlayMode = 'capturing' | 'non-capturing' */
10566
10619
  display: flex;
10567
10620
  flex-direction: row;
10568
10621
  align-items: center;
10569
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
10622
+ gap: var(--spacing-stack-sm, var(--spacing-md));
10570
10623
  font-size: var(--font-size-sm);
10571
10624
  line-height: var(--line-height-normal);
10572
10625
  transition: all
10573
10626
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
10574
10627
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
10575
- padding: calc(var(--spacing-base) * 2) calc(var(--spacing-base) * 2);
10628
+ padding: var(--spacing-md) var(--spacing-md);
10576
10629
  }
10577
10630
 
10578
10631
  .bc-sidebar-group__header {
@@ -10600,8 +10653,8 @@ span.bc-sidebar-link {
10600
10653
  display: flex;
10601
10654
  align-items: center;
10602
10655
  justify-content: center;
10603
- width: calc(var(--spacing-base) * 4);
10604
- height: calc(var(--spacing-base) * 4);
10656
+ width: var(--spacing-lg);
10657
+ height: var(--spacing-lg);
10605
10658
  color: var(--text-muted);
10606
10659
  }
10607
10660
 
@@ -10609,9 +10662,9 @@ span.bc-sidebar-link {
10609
10662
  display: flex;
10610
10663
  align-items: center;
10611
10664
  justify-content: center;
10612
- width: calc(var(--spacing-base) * 6);
10613
- height: calc(var(--spacing-base) * 6);
10614
- border: 1px solid var(--border-default);
10665
+ width: var(--spacing-xl);
10666
+ height: var(--spacing-xl);
10667
+ border: var(--border-width-thin) solid var(--border-default);
10615
10668
  border-radius: var(--radius-control, var(--radius-md));
10616
10669
  cursor: pointer;
10617
10670
  padding: var(--spacing-sm);
@@ -10632,9 +10685,9 @@ span.bc-sidebar-link {
10632
10685
  }
10633
10686
 
10634
10687
  .bc-sidebar-group--rail {
10635
- padding-inline-start: calc(var(--spacing-base) * 2);
10688
+ padding-inline-start: var(--spacing-md);
10636
10689
  margin-left: 1px;
10637
- border-left: 1px solid var(--border-default);
10690
+ border-left: var(--border-width-thin) solid var(--border-default);
10638
10691
  }
10639
10692
 
10640
10693
  .bc-sidebar-group-collapsible-indicator {
@@ -10683,7 +10736,7 @@ span.bc-sidebar-link {
10683
10736
 
10684
10737
  .bc-sidebar--dark-bg .bc-sidebar-link--action {
10685
10738
  color: var(--text-normal);
10686
- border: 1px solid var(--border-default);
10739
+ border: var(--border-width-thin) solid var(--border-default);
10687
10740
  }
10688
10741
 
10689
10742
  .bc-sidebar--dark-bg .bc-sidebar-link--action:hover {
@@ -10692,7 +10745,7 @@ span.bc-sidebar-link {
10692
10745
  }
10693
10746
 
10694
10747
  .bc-sidebar--dark-bg .bc-sidebar-group--rail {
10695
- border-inline-start: 1px solid var(--border-default);
10748
+ border-inline-start: var(--border-width-thin) solid var(--border-default);
10696
10749
  }
10697
10750
 
10698
10751
  /* Dark background mode in dark theme - inverted back to light colors */
@@ -10702,8 +10755,8 @@ span.bc-sidebar-link {
10702
10755
 
10703
10756
  .bc-sidebar-separator {
10704
10757
  border: none;
10705
- border-top: 1px solid var(--border-default);
10706
- margin: calc(var(--spacing-base) * 2) 0;
10758
+ border-top: var(--border-width-thin) solid var(--border-default);
10759
+ margin: var(--spacing-md) 0;
10707
10760
  }
10708
10761
 
10709
10762
  /* Sink Component */
@@ -10711,7 +10764,7 @@ span.bc-sidebar-link {
10711
10764
  display: flex;
10712
10765
  flex-direction: column;
10713
10766
  border-radius: var(--radius-surface, var(--radius-lg));
10714
- border: 1px solid var(--color-base-300);
10767
+ border: var(--border-width-thin) solid var(--color-base-300);
10715
10768
  padding: var(--spacing-md);
10716
10769
  box-shadow: var(
10717
10770
  --shadow-sink,
@@ -10740,7 +10793,7 @@ span.bc-sidebar-link {
10740
10793
 
10741
10794
  .bc-sink--flat {
10742
10795
  box-shadow: var(--shadow-sink-flat, none);
10743
- border: 1px solid var(--color-base-200);
10796
+ border: var(--border-width-thin) solid var(--color-base-200);
10744
10797
  }
10745
10798
 
10746
10799
  /* Sink sizes */
@@ -10792,7 +10845,7 @@ span.bc-sidebar-link {
10792
10845
  /* Dark mode styles */
10793
10846
  .dark .bc-sink {
10794
10847
  background-color: var(--bg-background);
10795
- border: 1px solid var(--border-default);
10848
+ border: var(--border-width-thin) solid var(--border-default);
10796
10849
  box-shadow: var(--shadow-sink-dark, inset 0 2px 4px var(--shadow-color-dark));
10797
10850
  color: var(--text-normal);
10798
10851
  }
@@ -10813,7 +10866,7 @@ span.bc-sidebar-link {
10813
10866
 
10814
10867
  .dark .bc-sink--flat {
10815
10868
  box-shadow: var(--shadow-sink-dark-flat, none);
10816
- border: 1px solid var(--border-divider);
10869
+ border: var(--border-width-thin) solid var(--border-divider);
10817
10870
  background-color: var(--bg-subtle);
10818
10871
  }
10819
10872
 
@@ -10873,7 +10926,7 @@ span.bc-sidebar-link {
10873
10926
  .bc-skeleton__lines-container {
10874
10927
  display: flex;
10875
10928
  flex-direction: column;
10876
- gap: calc(var(--spacing-base) * 1.5);
10929
+ gap: var(--spacing-smh);
10877
10930
  width: 100%;
10878
10931
  }
10879
10932
 
@@ -10903,8 +10956,8 @@ span.bc-sidebar-link {
10903
10956
  /* High contrast mode: add subtle border */
10904
10957
  @media (prefers-contrast: high) {
10905
10958
  .bc-skeleton {
10906
- outline: 1px solid currentColor;
10907
- outline-offset: -1px;
10959
+ outline: var(--outline-width-default) solid currentColor;
10960
+ outline-offset: calc(-1 * var(--outline-width-default));
10908
10961
  }
10909
10962
  }
10910
10963
 
@@ -10915,15 +10968,15 @@ span.bc-sidebar-link {
10915
10968
  }
10916
10969
 
10917
10970
  .bc-stack--gap-1 {
10918
- gap: var(--spacing-stack-xs, calc(var(--spacing-base) * 1));
10971
+ gap: var(--spacing-stack-xs, var(--spacing-sm));
10919
10972
  }
10920
10973
 
10921
10974
  .bc-stack--gap-2 {
10922
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
10975
+ gap: var(--spacing-stack-sm, var(--spacing-md));
10923
10976
  }
10924
10977
 
10925
10978
  .bc-stack--gap-4 {
10926
- gap: var(--spacing-stack-lg, calc(var(--spacing-base) * 4));
10979
+ gap: var(--spacing-stack-lg, var(--spacing-lg));
10927
10980
  }
10928
10981
 
10929
10982
  .bc-stack--align-center {
@@ -10953,17 +11006,17 @@ span.bc-sidebar-link {
10953
11006
  align-items: center;
10954
11007
  border-radius: var(--radius-pill, var(--radius-full));
10955
11008
  line-height: 1.2;
10956
- border: 1px solid var(--tag-border);
11009
+ border: var(--border-width-thin) solid var(--tag-border);
10957
11010
  transition: all
10958
11011
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
10959
11012
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
10960
11013
  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));
11014
+ padding: 0 var(--spacing-md);
11015
+ gap: var(--spacing-stack-sm, var(--spacing-md));
10963
11016
  background-color: var(--tag-bg);
10964
11017
  color: var(--tag-text);
10965
11018
  font-family: var(
10966
- --default-ui-font-family,
11019
+ --font-family-default-ui,
10967
11020
  var(--font-ui, var(--font-body, var(--font-family-sans)))
10968
11021
  );
10969
11022
  }
@@ -10975,12 +11028,12 @@ span.bc-sidebar-link {
10975
11028
 
10976
11029
  .bc-tag--xs {
10977
11030
  font-size: var(--font-size-xs);
10978
- padding: 0 calc(var(--spacing-base) * 1);
11031
+ padding: 0 var(--spacing-sm);
10979
11032
  }
10980
11033
 
10981
11034
  .bc-tag--sm {
10982
11035
  font-size: var(--font-size-sm);
10983
- padding: 0 calc(var(--spacing-base) * 1.5);
11036
+ padding: 0 var(--spacing-smh);
10984
11037
  }
10985
11038
 
10986
11039
  .bc-tag--lg {
@@ -10990,7 +11043,7 @@ span.bc-sidebar-link {
10990
11043
 
10991
11044
  .bc-tag--xl {
10992
11045
  font-size: var(--font-size-xl);
10993
- padding: 0 calc(var(--spacing-base) * 3);
11046
+ padding: 0 var(--spacing-mdh);
10994
11047
  }
10995
11048
 
10996
11049
  .bc-tag:has(.bc-tag__close) {
@@ -11006,13 +11059,13 @@ span.bc-sidebar-link {
11006
11059
  display: flex;
11007
11060
  align-items: center;
11008
11061
  justify-content: center;
11009
- width: calc(var(--spacing-base) * 4);
11010
- height: calc(var(--spacing-base) * 4);
11062
+ width: var(--spacing-lg);
11063
+ height: var(--spacing-lg);
11011
11064
  border-radius: var(--radius-full);
11012
11065
  transition: all
11013
11066
  var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
11014
11067
  var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
11015
- border: 1px solid transparent;
11068
+ border: var(--border-width-thin) solid transparent;
11016
11069
  }
11017
11070
 
11018
11071
  .bc-tag__close:hover {
@@ -11070,7 +11123,7 @@ span.bc-sidebar-link {
11070
11123
  display: flex;
11071
11124
  align-items: center;
11072
11125
  justify-content: flex-end;
11073
- gap: var(--spacing-stack-sm, calc(var(--spacing-base) * 2));
11126
+ gap: var(--spacing-stack-sm, var(--spacing-md));
11074
11127
  }
11075
11128
 
11076
11129
  /* Switch Component */
@@ -11129,7 +11182,7 @@ span.bc-sidebar-link {
11129
11182
  transition: background-color var(--motion-transition-fast)
11130
11183
  var(--motion-easing-standard);
11131
11184
  cursor: pointer;
11132
- padding: calc(var(--spacing-base)) var(--spacing-base);
11185
+ padding: var(--spacing-sm) var(--spacing-base);
11133
11186
  }
11134
11187
 
11135
11188
  /* Switch track - off state */
@@ -11157,18 +11210,18 @@ span.bc-sidebar-link {
11157
11210
  .bc-switch__track-label--off {
11158
11211
  justify-content: flex-end;
11159
11212
  padding-inline-end: var(--spacing-base);
11160
- padding-inline-start: calc(var(--spacing-base) * 5);
11213
+ padding-inline-start: var(--spacing-lgh);
11161
11214
  color: var(--color-gray-600);
11162
- line-height: 1;
11215
+ line-height: var(--line-height-none);
11163
11216
  }
11164
11217
 
11165
11218
  /* On label positioning and styling */
11166
11219
  .bc-switch__track-label--on {
11167
11220
  justify-content: flex-start;
11168
- padding-inline-end: calc(var(--spacing-base) * 5);
11221
+ padding-inline-end: var(--spacing-lgh);
11169
11222
  padding-inline-start: var(--spacing-base);
11170
11223
  color: var(--switch-track-on-label, var(--color-gray-100));
11171
- line-height: 1;
11224
+ line-height: var(--line-height-none);
11172
11225
  }
11173
11226
 
11174
11227
  .bc-switch--size-xs .bc-switch__track-label {
@@ -11204,8 +11257,8 @@ span.bc-sidebar-link {
11204
11257
  .bc-switch__thumb {
11205
11258
  grid-area: stack;
11206
11259
  position: relative;
11207
- width: calc(var(--spacing-base) * 4); /* 16px equivalent */
11208
- height: calc(var(--spacing-base) * 4);
11260
+ width: var(--spacing-lg); /* 16px equivalent */
11261
+ height: var(--spacing-lg);
11209
11262
  border-radius: var(--radius-full);
11210
11263
  background-color: var(--color-white);
11211
11264
  box-shadow: var(
@@ -11224,23 +11277,23 @@ span.bc-sidebar-link {
11224
11277
  automatically via the logical property. calc(100% - thumbWidth) moves
11225
11278
  the thumb to the far end of the grid area regardless of track width. */
11226
11279
  .bc-switch__thumb--on {
11227
- inset-inline-start: calc(100% - var(--spacing-base) * 4);
11280
+ inset-inline-start: calc(100% - var(--spacing-lg));
11228
11281
  }
11229
11282
 
11230
11283
  /* Size variants for track and thumb */
11231
11284
  .bc-switch--xs .bc-switch__thumb {
11232
- width: calc(var(--spacing-base) * 3); /* 12px equivalent */
11233
- height: calc(var(--spacing-base) * 3);
11285
+ width: var(--spacing-mdh); /* 12px equivalent */
11286
+ height: var(--spacing-mdh);
11234
11287
  }
11235
11288
  .bc-switch--xs .bc-switch__thumb--on {
11236
- inset-inline-start: calc(100% - var(--spacing-base) * 3);
11289
+ inset-inline-start: calc(100% - var(--spacing-mdh));
11237
11290
  }
11238
11291
  .bc-switch--xs .bc-switch__track-label--off {
11239
11292
  padding-inline-end: var(--spacing-base);
11240
- padding-inline-start: calc(var(--spacing-base) * 4);
11293
+ padding-inline-start: var(--spacing-lg);
11241
11294
  }
11242
11295
  .bc-switch--xs .bc-switch__track-label--on {
11243
- padding-inline-end: calc(var(--spacing-base) * 4);
11296
+ padding-inline-end: var(--spacing-lg);
11244
11297
  padding-inline-start: var(--spacing-base);
11245
11298
  }
11246
11299
  .bc-switch--xs .bc-switch__track {
@@ -11256,10 +11309,10 @@ span.bc-sidebar-link {
11256
11309
  }
11257
11310
  .bc-switch--sm .bc-switch__track-label--off {
11258
11311
  padding-inline-end: var(--spacing-base);
11259
- padding-inline-start: calc(var(--spacing-base) * 5);
11312
+ padding-inline-start: var(--spacing-lgh);
11260
11313
  }
11261
11314
  .bc-switch--sm .bc-switch__track-label--on {
11262
- padding-inline-end: calc(var(--spacing-base) * 5);
11315
+ padding-inline-end: var(--spacing-lgh);
11263
11316
  padding-inline-start: var(--spacing-base);
11264
11317
  }
11265
11318
  .bc-switch--sm .bc-switch__track {
@@ -11267,18 +11320,18 @@ span.bc-sidebar-link {
11267
11320
  }
11268
11321
 
11269
11322
  .bc-switch--md .bc-switch__thumb {
11270
- width: calc(var(--spacing-base) * 4); /* 20px equivalent */
11271
- height: calc(var(--spacing-base) * 4);
11323
+ width: var(--spacing-lg); /* 20px equivalent */
11324
+ height: var(--spacing-lg);
11272
11325
  }
11273
11326
  .bc-switch--md .bc-switch__thumb--on {
11274
- inset-inline-start: calc(100% - var(--spacing-base) * 4);
11327
+ inset-inline-start: calc(100% - var(--spacing-lg));
11275
11328
  }
11276
11329
  .bc-switch--md .bc-switch__track-label--off {
11277
11330
  padding-inline-end: var(--spacing-base);
11278
- padding-inline-start: calc(var(--spacing-base) * 6);
11331
+ padding-inline-start: var(--spacing-xl);
11279
11332
  }
11280
11333
  .bc-switch--md .bc-switch__track-label--on {
11281
- padding-inline-end: calc(var(--spacing-base) * 6);
11334
+ padding-inline-end: var(--spacing-xl);
11282
11335
  padding-inline-start: var(--spacing-base);
11283
11336
  }
11284
11337
  .bc-switch--md .bc-switch__track {
@@ -11286,11 +11339,11 @@ span.bc-sidebar-link {
11286
11339
  }
11287
11340
 
11288
11341
  .bc-switch--lg .bc-switch__thumb {
11289
- width: calc(var(--spacing-base) * 5); /* 20px equivalent */
11290
- height: calc(var(--spacing-base) * 5);
11342
+ width: var(--spacing-lgh); /* 20px equivalent */
11343
+ height: var(--spacing-lgh);
11291
11344
  }
11292
11345
  .bc-switch--lg .bc-switch__thumb--on {
11293
- inset-inline-start: calc(100% - var(--spacing-base) * 5);
11346
+ inset-inline-start: calc(100% - var(--spacing-lgh));
11294
11347
  }
11295
11348
  .bc-switch--lg .bc-switch__track-label--off {
11296
11349
  padding-inline-end: var(--spacing-base);
@@ -11301,15 +11354,15 @@ span.bc-sidebar-link {
11301
11354
  padding-inline-start: var(--spacing-base);
11302
11355
  }
11303
11356
  .bc-switch--lg .bc-switch__track {
11304
- min-width: calc(var(--spacing-base) * 12);
11357
+ min-width: var(--spacing-3xl);
11305
11358
  }
11306
11359
 
11307
11360
  .bc-switch--xl .bc-switch__thumb {
11308
- width: calc(var(--spacing-base) * 6); /* 24px equivalent */
11309
- height: calc(var(--spacing-base) * 6);
11361
+ width: var(--spacing-xl); /* 24px equivalent */
11362
+ height: var(--spacing-xl);
11310
11363
  }
11311
11364
  .bc-switch--xl .bc-switch__thumb--on {
11312
- inset-inline-start: calc(100% - var(--spacing-base) * 6);
11365
+ inset-inline-start: calc(100% - var(--spacing-xl));
11313
11366
  }
11314
11367
  .bc-switch--xl .bc-switch__track-label--off {
11315
11368
  padding-inline-end: var(--spacing-base);
@@ -11326,19 +11379,19 @@ span.bc-sidebar-link {
11326
11379
  /* Match input height — adds vertical padding so the switch occupies the same
11327
11380
  height as text inputs at the corresponding size. */
11328
11381
  .bc-switch--match-input.bc-switch--xs {
11329
- padding-block: calc(var(--spacing-base) * 1.5);
11382
+ padding-block: var(--spacing-smh);
11330
11383
  }
11331
11384
  .bc-switch--match-input.bc-switch--sm {
11332
- padding-block: calc(var(--spacing-base) * 2);
11385
+ padding-block: var(--spacing-md);
11333
11386
  }
11334
11387
  .bc-switch--match-input.bc-switch--md {
11335
11388
  padding-block: calc(var(--spacing-base) * 1.75);
11336
11389
  }
11337
11390
  .bc-switch--match-input.bc-switch--lg {
11338
- padding-block: calc(var(--spacing-base) * 2);
11391
+ padding-block: var(--spacing-md);
11339
11392
  }
11340
11393
  .bc-switch--match-input.bc-switch--xl {
11341
- padding-block: calc(var(--spacing-base) * 2);
11394
+ padding-block: var(--spacing-md);
11342
11395
  }
11343
11396
 
11344
11397
  /* Focus styles are handled by the base focus system */
@@ -11360,12 +11413,13 @@ span.bc-sidebar-link {
11360
11413
 
11361
11414
  .dark .bc-switch__track--off {
11362
11415
  background-color: var(--bg-subtle);
11363
- border: 1px solid var(--border-default);
11416
+ border: var(--border-width-thin) solid var(--border-default);
11364
11417
  }
11365
11418
 
11366
11419
  .dark .bc-switch__track--on {
11367
11420
  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));
11421
+ border: var(--border-width-thin) solid
11422
+ var(--switch-track-on-border-dark, var(--color-primary-500));
11369
11423
  }
11370
11424
 
11371
11425
  .dark .bc-switch__track-label--on {
@@ -11413,7 +11467,7 @@ span.bc-sidebar-link {
11413
11467
  background-color: var(--table-bg);
11414
11468
  color: var(--table-text);
11415
11469
  font-family: var(
11416
- --default-ui-font-family,
11470
+ --font-family-default-ui,
11417
11471
  var(--font-ui, var(--font-body, var(--font-family-sans)))
11418
11472
  );
11419
11473
  font-size: var(--font-size-md);
@@ -11467,7 +11521,7 @@ span.bc-sidebar-link {
11467
11521
 
11468
11522
  /* With table border */
11469
11523
  .bc-table-container--with-table-border {
11470
- border: 1px solid var(--table-border);
11524
+ border: var(--border-width-thin) solid var(--table-border);
11471
11525
  }
11472
11526
 
11473
11527
  /* With row borders */
@@ -11477,7 +11531,7 @@ span.bc-sidebar-link {
11477
11531
  .bc-table--with-row-borders > tbody > tr > td,
11478
11532
  .bc-table--with-row-borders > tfoot > tr > th,
11479
11533
  .bc-table--with-row-borders > tfoot > tr > td {
11480
- border-bottom: 1px solid var(--table-border);
11534
+ border-bottom: var(--border-width-thin) solid var(--table-border);
11481
11535
  }
11482
11536
 
11483
11537
  /* With column borders */
@@ -11487,7 +11541,7 @@ span.bc-sidebar-link {
11487
11541
  .bc-table--with-column-borders > tbody > tr > td,
11488
11542
  .bc-table--with-column-borders > tfoot > tr > th,
11489
11543
  .bc-table--with-column-borders > tfoot > tr > td {
11490
- border-right: 1px solid var(--table-border);
11544
+ border-right: var(--border-width-thin) solid var(--table-border);
11491
11545
  }
11492
11546
 
11493
11547
  .bc-table--with-column-borders > thead > tr > th:last-child,
@@ -11529,7 +11583,7 @@ span.bc-sidebar-link {
11529
11583
  .bc-table--size-sm > tbody > tr > td,
11530
11584
  .bc-table--size-sm > tfoot > tr > th,
11531
11585
  .bc-table--size-sm > tfoot > tr > td {
11532
- padding: calc(var(--spacing-base) * 1.5);
11586
+ padding: var(--spacing-smh);
11533
11587
  font-size: var(--font-size-sm);
11534
11588
  }
11535
11589
 
@@ -11548,7 +11602,7 @@ span.bc-sidebar-link {
11548
11602
  .bc-table--size-xl > tbody > tr > td,
11549
11603
  .bc-table--size-xl > tfoot > tr > th,
11550
11604
  .bc-table--size-xl > tfoot > tr > td {
11551
- padding: calc(var(--spacing-base) * 5);
11605
+ padding: var(--spacing-lgh);
11552
11606
  font-size: var(--font-size-lg);
11553
11607
  }
11554
11608
 
@@ -11567,7 +11621,7 @@ span.bc-sidebar-link {
11567
11621
  .bc-table__footer {
11568
11622
  background-color: var(--table-header-bg);
11569
11623
  font-weight: var(--font-weight-semibold);
11570
- border-top: 2px solid var(--table-border);
11624
+ border-top: var(--border-width-medium) solid var(--table-border);
11571
11625
  }
11572
11626
 
11573
11627
  /* Dark mode styles */
@@ -11621,7 +11675,7 @@ span.bc-sidebar-link {
11621
11675
  display: flex;
11622
11676
  position: relative;
11623
11677
  background-color: var(--color-base-100);
11624
- border-bottom: 2px solid var(--color-base-200);
11678
+ border-bottom: var(--border-width-medium) solid var(--color-base-200);
11625
11679
  overflow-x: auto;
11626
11680
  overflow-y: hidden;
11627
11681
  scrollbar-width: none;
@@ -11637,7 +11691,7 @@ span.bc-sidebar-link {
11637
11691
  .bc-tabs--vertical .bc-tabs__list {
11638
11692
  flex-direction: column;
11639
11693
  border-bottom: none;
11640
- border-right: 2px solid var(--color-base-200);
11694
+ border-right: var(--border-width-medium) solid var(--color-base-200);
11641
11695
  min-width: 200px;
11642
11696
  overflow-x: hidden;
11643
11697
  overflow-y: auto;
@@ -11652,7 +11706,7 @@ span.bc-sidebar-link {
11652
11706
  border: none;
11653
11707
  cursor: pointer;
11654
11708
  font-family: var(
11655
- --default-ui-font-family,
11709
+ --font-family-default-ui,
11656
11710
  var(--font-ui, var(--font-body, var(--font-family-sans)))
11657
11711
  );
11658
11712
  font-weight: var(--font-weight-medium);
@@ -11708,8 +11762,8 @@ span.bc-sidebar-link {
11708
11762
  }
11709
11763
 
11710
11764
  .bc-tab:focus-visible {
11711
- outline: 2px solid var(--color-primary-500);
11712
- outline-offset: -2px;
11765
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
11766
+ outline-offset: calc(-1 * var(--outline-width-focus));
11713
11767
  z-index: 1;
11714
11768
  }
11715
11769
 
@@ -11778,8 +11832,8 @@ span.bc-sidebar-link {
11778
11832
  }
11779
11833
 
11780
11834
  .bc-tabs__panel:focus-visible {
11781
- outline: 2px solid var(--color-primary-500);
11782
- outline-offset: -2px;
11835
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
11836
+ outline-offset: calc(-1 * var(--outline-width-focus));
11783
11837
  }
11784
11838
 
11785
11839
  /* Responsive Design */
@@ -11825,7 +11879,7 @@ span.bc-sidebar-link {
11825
11879
  /* High contrast mode support */
11826
11880
  @media (prefers-contrast: high) {
11827
11881
  .bc-tabs__list {
11828
- border-width: 3px;
11882
+ border-width: var(--border-width-thick);
11829
11883
  }
11830
11884
 
11831
11885
  .bc-tab--active::after {
@@ -11921,8 +11975,8 @@ span.bc-sidebar-link {
11921
11975
  }
11922
11976
  .bc-tabs--variant-outline .bc-tab {
11923
11977
  background-color: var(--color-base-50);
11924
- border: 1px solid var(--color-base-300);
11925
- border-bottom: 1px solid var(--color-base-300);
11978
+ border: var(--border-width-thin) solid var(--color-base-300);
11979
+ border-bottom: var(--border-width-thin) solid var(--color-base-300);
11926
11980
  border-radius: var(--radius-control-sm, var(--radius-sm))
11927
11981
  var(--radius-control-sm, var(--radius-sm)) 0 0;
11928
11982
  }
@@ -11980,7 +12034,7 @@ span.bc-sidebar-link {
11980
12034
  /* Underline variant: minimal, clean underline style */
11981
12035
  .bc-tabs--variant-underline .bc-tabs__list {
11982
12036
  background-color: transparent;
11983
- border-bottom: 1px solid var(--color-base-200);
12037
+ border-bottom: var(--border-width-thin) solid var(--color-base-200);
11984
12038
  }
11985
12039
 
11986
12040
  .bc-tabs--variant-underline .bc-tab {
@@ -12050,7 +12104,7 @@ span.bc-sidebar-link {
12050
12104
  }
12051
12105
 
12052
12106
  .bc-tabs--variant-pill .bc-tab--sm {
12053
- padding: var(--spacing-base) calc(var(--spacing-base) * 3);
12107
+ padding: var(--spacing-base) var(--spacing-mdh);
12054
12108
  }
12055
12109
 
12056
12110
  .bc-tabs--variant-pill .bc-tab--md {
@@ -12058,11 +12112,11 @@ span.bc-sidebar-link {
12058
12112
  }
12059
12113
 
12060
12114
  .bc-tabs--variant-pill .bc-tab--lg {
12061
- padding: calc(var(--spacing-base) * 1.5) calc(var(--spacing-base) * 4);
12115
+ padding: var(--spacing-smh) var(--spacing-lg);
12062
12116
  }
12063
12117
 
12064
12118
  .bc-tabs--variant-pill .bc-tab--xl {
12065
- padding: calc(var(--spacing-base) * 2) calc(var(--spacing-base) * 5);
12119
+ padding: var(--spacing-md) var(--spacing-lgh);
12066
12120
  }
12067
12121
 
12068
12122
  .bc-tabs--variant-pill
@@ -12135,7 +12189,7 @@ span.bc-sidebar-link {
12135
12189
  align-items: center;
12136
12190
  gap: 4px;
12137
12191
  padding: 4px 8px;
12138
- border: 1px solid var(--color-base-300);
12192
+ border: var(--border-width-thin) solid var(--color-base-300);
12139
12193
  border-radius: var(--radius-md, 5px);
12140
12194
  background: var(--color-white);
12141
12195
  min-height: 34px;
@@ -12221,7 +12275,7 @@ span.bc-sidebar-link {
12221
12275
  padding: 0;
12222
12276
  margin-left: 2px;
12223
12277
  font-size: 14px;
12224
- line-height: 1;
12278
+ line-height: var(--line-height-none);
12225
12279
  color: var(--color-base-400);
12226
12280
  opacity: 0.5;
12227
12281
  transition: opacity 120ms ease;
@@ -12276,7 +12330,7 @@ span.bc-sidebar-link {
12276
12330
  font-size: var(--font-size-sm);
12277
12331
  line-height: var(--font-size-sm-lh);
12278
12332
  font-weight: var(--font-weight-medium);
12279
- max-width: 200px;
12333
+ max-width: var(--overlay-width-xs);
12280
12334
  word-wrap: break-word;
12281
12335
  z-index: var(--z-index-tooltip);
12282
12336
  box-shadow: var(--shadow-popover, var(--shadow-md));
@@ -12352,7 +12406,7 @@ span.bc-sidebar-link {
12352
12406
  .dark .bc-tooltip {
12353
12407
  background-color: var(--bg-elevated);
12354
12408
  color: var(--text-normal);
12355
- border: 1px solid var(--border-default);
12409
+ border: var(--border-width-thin) solid var(--border-default);
12356
12410
  box-shadow: var(
12357
12411
  --shadow-tooltip-dark,
12358
12412
  0 10px 15px -3px var(--shadow-color-dark),
@@ -12369,11 +12423,11 @@ span.bc-sidebar-link {
12369
12423
  /* High contrast mode */
12370
12424
  @media (prefers-contrast: high) {
12371
12425
  .bc-tooltip {
12372
- border: 1px solid var(--color-neutral-600);
12426
+ border: var(--border-width-thin) solid var(--color-neutral-600);
12373
12427
  }
12374
12428
 
12375
12429
  .dark .bc-tooltip {
12376
- border: 1px solid var(--color-neutral-400);
12430
+ border: var(--border-width-thin) solid var(--color-neutral-400);
12377
12431
  }
12378
12432
  }
12379
12433
 
@@ -12390,7 +12444,7 @@ span.bc-sidebar-link {
12390
12444
  align-items: center;
12391
12445
  gap: var(--spacing-stack-sm);
12392
12446
  padding: var(--spacing-sm);
12393
- border: 1px solid var(--color-neutral-200);
12447
+ border: var(--border-width-thin) solid var(--color-neutral-200);
12394
12448
  border-radius: var(--radius-control, var(--radius-md));
12395
12449
  background-color: var(--color-neutral-50);
12396
12450
  width: 100%;
@@ -12409,7 +12463,7 @@ span.bc-sidebar-link {
12409
12463
 
12410
12464
  .bc-toolbar__divider {
12411
12465
  width: 1px;
12412
- height: calc(var(--spacing-base) * 6);
12466
+ height: var(--spacing-xl);
12413
12467
  background-color: var(--color-neutral-300);
12414
12468
  margin: 0 var(--spacing-xs);
12415
12469
  }
@@ -12438,9 +12492,9 @@ span.bc-sidebar-link {
12438
12492
 
12439
12493
  .bc-toolbar .bc-input-container {
12440
12494
  /* Reduce horizontal padding in toolbar but keep vertical from size */
12441
- padding-inline: calc(var(--spacing-base) * 3);
12495
+ padding-inline: var(--spacing-mdh);
12442
12496
  outline-width: 1px;
12443
- outline-offset: -1px;
12497
+ outline-offset: calc(-1 * var(--outline-width-default));
12444
12498
  width: auto;
12445
12499
  box-shadow: var(--shadow-none, none);
12446
12500
  }
@@ -12453,7 +12507,7 @@ span.bc-sidebar-link {
12453
12507
  }
12454
12508
 
12455
12509
  .bc-toolbar__divider {
12456
- height: calc(var(--spacing-base) * 4);
12510
+ height: var(--spacing-lg);
12457
12511
  margin: 0 var(--spacing-xs);
12458
12512
  }
12459
12513
 
@@ -12582,7 +12636,7 @@ span.bc-sidebar-link {
12582
12636
  background: var(--color-white);
12583
12637
  border-radius: var(--radius-lg);
12584
12638
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
12585
- border: 1px solid var(--color-base-200);
12639
+ border: var(--border-width-thin) solid var(--color-base-200);
12586
12640
  width: auto;
12587
12641
  }
12588
12642
 
@@ -12613,7 +12667,7 @@ span.bc-sidebar-link {
12613
12667
 
12614
12668
  .bc-toolbar--floating .bc-toolbar__divider {
12615
12669
  width: 1px;
12616
- height: calc(var(--spacing-base) * 5);
12670
+ height: var(--spacing-lgh);
12617
12671
  background: var(--color-base-200);
12618
12672
  margin: 0 calc(var(--spacing-base) * 0.5);
12619
12673
  flex-shrink: 0;
@@ -12748,7 +12802,7 @@ span.bc-sidebar-link {
12748
12802
  background: oklch(0.95 0 0);
12749
12803
  border-radius: var(--radius-sm);
12750
12804
  font-weight: 500;
12751
- line-height: 1;
12805
+ line-height: var(--line-height-none);
12752
12806
  display: inline-flex;
12753
12807
  align-items: center;
12754
12808
  }
@@ -12798,8 +12852,8 @@ span.bc-sidebar-link {
12798
12852
 
12799
12853
  /* Focus styles for keyboard navigation */
12800
12854
  .bc-tree-item__row:focus-visible {
12801
- outline: 2px solid var(--color-primary-500);
12802
- outline-offset: -2px;
12855
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
12856
+ outline-offset: calc(-1 * var(--outline-width-focus));
12803
12857
  }
12804
12858
 
12805
12859
  .dark .bc-tree-item__row:focus-visible {
@@ -12809,7 +12863,7 @@ span.bc-sidebar-link {
12809
12863
  /* Rating Input Component */
12810
12864
  .bc-rating-input {
12811
12865
  display: inline-flex;
12812
- gap: var(--spacing-stack-xs, calc(var(--spacing-base) * 1));
12866
+ gap: var(--spacing-stack-xs, var(--spacing-sm));
12813
12867
  }
12814
12868
 
12815
12869
  .bc-rating-input__icon-container {
@@ -12883,12 +12937,12 @@ span.bc-sidebar-link {
12883
12937
 
12884
12938
  /* Custom radio indicator */
12885
12939
  .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);
12940
+ width: var(--spacing-lgh);
12941
+ height: var(--spacing-lgh);
12942
+ min-width: var(--spacing-lgh);
12943
+ min-height: var(--spacing-lgh);
12890
12944
  border-radius: 50%;
12891
- border: 1px solid var(--color-base-400);
12945
+ border: var(--border-width-thin) solid var(--color-base-400);
12892
12946
  background-color: --color-white;
12893
12947
  flex-shrink: 0;
12894
12948
  position: relative;
@@ -12908,8 +12962,8 @@ span.bc-sidebar-link {
12908
12962
  .bc-radio-group__input:checked + .bc-radio-group__indicator::after {
12909
12963
  content: '';
12910
12964
  position: absolute;
12911
- width: calc(var(--spacing-base) * 2);
12912
- height: calc(var(--spacing-base) * 2);
12965
+ width: var(--spacing-md);
12966
+ height: var(--spacing-md);
12913
12967
  border-radius: 50%;
12914
12968
  background-color: var(--color-primary-500);
12915
12969
  transition: all var(--motion-duration-fast) var(--motion-easing-standard);
@@ -12917,7 +12971,7 @@ span.bc-sidebar-link {
12917
12971
 
12918
12972
  /* Focus state */
12919
12973
  .bc-radio-group__input:focus-visible + .bc-radio-group__indicator {
12920
- outline: 2px solid var(--interactive-focus);
12974
+ outline: var(--outline-width-focus) solid var(--interactive-focus);
12921
12975
  outline-offset: 2px;
12922
12976
  }
12923
12977
 
@@ -12966,8 +13020,8 @@ span.bc-sidebar-link {
12966
13020
  .bc-radio-group__item--size-xs
12967
13021
  .bc-radio-group__input:checked
12968
13022
  + .bc-radio-group__indicator::after {
12969
- width: calc(var(--spacing-base) * 1.5);
12970
- height: calc(var(--spacing-base) * 1.5);
13023
+ width: var(--spacing-smh);
13024
+ height: var(--spacing-smh);
12971
13025
  }
12972
13026
 
12973
13027
  .bc-radio-group__item--size-xs .bc-radio-group__label {
@@ -12979,10 +13033,10 @@ span.bc-sidebar-link {
12979
13033
  }
12980
13034
 
12981
13035
  .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);
13036
+ width: var(--spacing-lg);
13037
+ height: var(--spacing-lg);
13038
+ min-width: var(--spacing-lg);
13039
+ min-height: var(--spacing-lg);
12986
13040
  }
12987
13041
 
12988
13042
  .bc-radio-group__item--size-sm
@@ -13003,10 +13057,10 @@ span.bc-sidebar-link {
13003
13057
  /* md is default */
13004
13058
 
13005
13059
  .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);
13060
+ width: var(--spacing-lgh);
13061
+ height: var(--spacing-lgh);
13062
+ min-width: var(--spacing-lgh);
13063
+ min-height: var(--spacing-lgh);
13010
13064
  }
13011
13065
 
13012
13066
  .bc-radio-group__item--size-lg
@@ -13079,7 +13133,7 @@ span.bc-sidebar-link {
13079
13133
  .bc-notice {
13080
13134
  display: flex;
13081
13135
  flex-direction: row;
13082
- gap: var(--spacing-stack-md, calc(var(--spacing-base) * 3));
13136
+ gap: var(--spacing-stack-md, var(--spacing-mdh));
13083
13137
  align-items: start;
13084
13138
  border-radius: var(--radius-control, var(--radius-md));
13085
13139
  padding: var(--spacing-md);
@@ -13102,12 +13156,12 @@ span.bc-sidebar-link {
13102
13156
 
13103
13157
  /* Tones */
13104
13158
  .bc-notice--tone-subtle {
13105
- border: 1px solid var(--border-default);
13159
+ border: var(--border-width-thin) solid var(--border-default);
13106
13160
  background-color: var(--bg-surface);
13107
13161
  }
13108
13162
 
13109
13163
  .bc-notice--tone-prominent {
13110
- border: 1px solid var(--border-default);
13164
+ border: var(--border-width-thin) solid var(--border-default);
13111
13165
  }
13112
13166
 
13113
13167
  /* Variants base color variables per tone */
@@ -13246,7 +13300,7 @@ span.bc-sidebar-link {
13246
13300
  border-radius: var(--notification-radius);
13247
13301
  background-color: var(--notification-bg);
13248
13302
  color: var(--notification-text-color);
13249
- border: 1px solid var(--notification-border-color);
13303
+ border: var(--border-width-thin) solid var(--notification-border-color);
13250
13304
  box-shadow: var(--shadow-md);
13251
13305
  }
13252
13306
 
@@ -13373,12 +13427,12 @@ span.bc-sidebar-link {
13373
13427
  display: flex;
13374
13428
  flex-direction: column;
13375
13429
  background: var(--color-white);
13376
- border: 1px solid var(--color-base-200);
13430
+ border: var(--border-width-thin) solid var(--color-base-200);
13377
13431
  border-radius: var(--radius-lg, 8px);
13378
13432
  box-shadow: var(--shadow-lg, 0 4px 16px rgba(0, 0, 0, 0.12));
13379
13433
  overflow: hidden;
13380
13434
  font-family: var(
13381
- --default-ui-font-family,
13435
+ --font-family-default-ui,
13382
13436
  var(--font-ui, var(--font-body, var(--font-family-sans)))
13383
13437
  );
13384
13438
  }
@@ -13389,7 +13443,7 @@ span.bc-sidebar-link {
13389
13443
  align-items: center;
13390
13444
  justify-content: space-between;
13391
13445
  padding: 12px 16px;
13392
- border-bottom: 1px solid var(--color-base-200);
13446
+ border-bottom: var(--border-width-thin) solid var(--color-base-200);
13393
13447
  flex-shrink: 0;
13394
13448
  }
13395
13449
 
@@ -13670,7 +13724,7 @@ span.bc-sidebar-link {
13670
13724
  bottom: 0;
13671
13725
  overflow: hidden;
13672
13726
  opacity: 0.2;
13673
- line-height: 1;
13727
+ line-height: var(--line-height-none);
13674
13728
  text-align: initial;
13675
13729
  forced-color-adjust: none;
13676
13730
  transform-origin: 0 0;
@@ -13797,7 +13851,7 @@ span.bc-sidebar-link {
13797
13851
  .buttonWidgetAnnotation.radioButton
13798
13852
  input {
13799
13853
  background-image: none;
13800
- border: 1px solid transparent;
13854
+ border: var(--border-width-thin) solid transparent;
13801
13855
  box-sizing: border-box;
13802
13856
  font: calc(9px * var(--scale-factor)) sans-serif;
13803
13857
  height: 100%;
@@ -13830,7 +13884,7 @@ span.bc-sidebar-link {
13830
13884
  .buttonWidgetAnnotation.radioButton
13831
13885
  input[disabled] {
13832
13886
  background: none;
13833
- border: 1px solid transparent;
13887
+ border: var(--border-width-thin) solid transparent;
13834
13888
  cursor: not-allowed;
13835
13889
  }
13836
13890
 
@@ -13843,14 +13897,14 @@ span.bc-sidebar-link {
13843
13897
  .bc-pdf-page-viewer__annotation-layer
13844
13898
  .buttonWidgetAnnotation.radioButton
13845
13899
  input:hover {
13846
- border: 1px solid rgba(0, 0, 0, 1);
13900
+ border: var(--border-width-thin) solid rgba(0, 0, 0, 1);
13847
13901
  }
13848
13902
 
13849
13903
  .bc-pdf-page-viewer__annotation-layer .textWidgetAnnotation input:focus,
13850
13904
  .bc-pdf-page-viewer__annotation-layer .textWidgetAnnotation textarea:focus,
13851
13905
  .bc-pdf-page-viewer__annotation-layer .choiceWidgetAnnotation select:focus {
13852
13906
  background: none;
13853
- border: 1px solid transparent;
13907
+ border: var(--border-width-thin) solid transparent;
13854
13908
  }
13855
13909
 
13856
13910
  .bc-pdf-page-viewer__annotation-layer
@@ -13961,7 +14015,7 @@ span.bc-sidebar-link {
13961
14015
  }
13962
14016
 
13963
14017
  .bc-pdf-page-viewer__annotation-layer .popupContent {
13964
- border-top: 1px solid rgba(51, 51, 51, 1);
14018
+ border-top: var(--border-width-thin) solid rgba(51, 51, 51, 1);
13965
14019
  margin-top: calc(2px * var(--scale-factor));
13966
14020
  padding-top: calc(2px * var(--scale-factor));
13967
14021
  }
@@ -14059,7 +14113,7 @@ span.bc-sidebar-link {
14059
14113
  }
14060
14114
 
14061
14115
  .bc-dialog__consequences {
14062
- padding: calc(var(--spacing-base) * 2) calc(var(--spacing-base) * 3);
14116
+ padding: var(--spacing-md) var(--spacing-mdh);
14063
14117
  border-radius: var(--radius-md);
14064
14118
  background: var(--bg-subtle);
14065
14119
  font-size: var(--font-size-xs);
@@ -14067,13 +14121,13 @@ span.bc-sidebar-link {
14067
14121
  display: flex;
14068
14122
  flex-direction: column;
14069
14123
  gap: var(--spacing-base);
14070
- margin: calc(var(--spacing-base) * 3) 0 0;
14124
+ margin: var(--spacing-mdh) 0 0;
14071
14125
  list-style: none;
14072
14126
  }
14073
14127
 
14074
14128
  .bc-dialog__consequences li {
14075
14129
  display: flex;
14076
- gap: calc(var(--spacing-base) * 1.5);
14130
+ gap: var(--spacing-smh);
14077
14131
  }
14078
14132
 
14079
14133
  .bc-dialog__consequences li::before {
@@ -14085,23 +14139,24 @@ span.bc-sidebar-link {
14085
14139
  .bc-dialog__actions {
14086
14140
  display: flex;
14087
14141
  justify-content: flex-end;
14088
- gap: calc(var(--spacing-base) * 2);
14142
+ gap: var(--spacing-md);
14089
14143
  width: 100%;
14090
14144
  }
14091
14145
 
14092
14146
  .bc-dialog__input {
14093
14147
  display: block;
14094
14148
  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);
14149
+ padding: var(--spacing-md) var(--spacing-mdh);
14150
+ margin-top: var(--spacing-mdh);
14151
+ border: var(--border-width-thin) solid var(--border-input);
14098
14152
  border-radius: var(--radius-md);
14099
14153
  background: var(--bg-background);
14100
14154
  color: var(--text-normal);
14101
14155
  font-size: var(--font-size-sm);
14102
14156
  font-family: inherit;
14103
14157
  outline: none;
14104
- transition: border-color 0.15s ease;
14158
+ transition: border-color var(--motion-duration-fast)
14159
+ var(--motion-easing-standard);
14105
14160
  }
14106
14161
 
14107
14162
  .bc-dialog__input::placeholder {
@@ -14195,7 +14250,8 @@ span.bc-sidebar-link {
14195
14250
  /* High contrast */
14196
14251
  @media (prefers-contrast: more) {
14197
14252
  .bc-ribbon {
14198
- outline: 1px solid var(--border-border-light, var(--color-neutral-500));
14253
+ outline: var(--outline-width-default) solid
14254
+ var(--border-border-light, var(--color-neutral-500));
14199
14255
  }
14200
14256
  }
14201
14257
 
@@ -14215,13 +14271,13 @@ span.bc-sidebar-link {
14215
14271
 
14216
14272
  /* Default variant: bordered list */
14217
14273
  .bc-accordion--default {
14218
- border: 1px solid var(--border-default);
14274
+ border: var(--border-width-thin) solid var(--border-default);
14219
14275
  border-radius: var(--radius-md);
14220
14276
  overflow: hidden;
14221
14277
  }
14222
14278
 
14223
14279
  .bc-accordion--default .bc-accordion__item + .bc-accordion__item {
14224
- border-top: 1px solid var(--border-default);
14280
+ border-top: var(--border-width-thin) solid var(--border-default);
14225
14281
  }
14226
14282
 
14227
14283
  /* Separated variant: cards with gaps */
@@ -14230,7 +14286,7 @@ span.bc-sidebar-link {
14230
14286
  }
14231
14287
 
14232
14288
  .bc-accordion--separated .bc-accordion__item {
14233
- border: 1px solid var(--border-default);
14289
+ border: var(--border-width-thin) solid var(--border-default);
14234
14290
  border-radius: var(--radius-md);
14235
14291
  overflow: hidden;
14236
14292
  }
@@ -14266,8 +14322,8 @@ span.bc-sidebar-link {
14266
14322
  }
14267
14323
 
14268
14324
  .bc-accordion__header:focus-visible {
14269
- outline: 2px solid var(--color-primary-500);
14270
- outline-offset: -2px;
14325
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
14326
+ outline-offset: calc(-1 * var(--outline-width-focus));
14271
14327
  }
14272
14328
 
14273
14329
  .bc-accordion__header:disabled {
@@ -14297,8 +14353,8 @@ span.bc-sidebar-link {
14297
14353
  display: inline-block;
14298
14354
  width: 0.5em;
14299
14355
  height: 0.5em;
14300
- border-right: 2px solid currentColor;
14301
- border-bottom: 2px solid currentColor;
14356
+ border-right: var(--border-width-medium) solid currentColor;
14357
+ border-bottom: var(--border-width-medium) solid currentColor;
14302
14358
  transform: rotate(45deg);
14303
14359
  margin-top: -0.15em;
14304
14360
  }
@@ -14398,7 +14454,7 @@ span.bc-sidebar-link {
14398
14454
  display: inline-flex;
14399
14455
  flex-direction: column;
14400
14456
  background-color: var(--bg-background);
14401
- border: 1px solid var(--border-default);
14457
+ border: var(--border-width-thin) solid var(--border-default);
14402
14458
  border-radius: var(--radius-md);
14403
14459
  padding: var(--spacing-md);
14404
14460
  user-select: none;
@@ -14423,14 +14479,14 @@ span.bc-sidebar-link {
14423
14479
  align-items: center;
14424
14480
  justify-content: center;
14425
14481
  background: none;
14426
- border: 1px solid transparent;
14482
+ border: var(--border-width-thin) solid transparent;
14427
14483
  border-radius: var(--radius-sm);
14428
14484
  cursor: pointer;
14429
14485
  color: var(--text-normal);
14430
14486
  font-weight: var(--font-weight-semibold);
14431
14487
  transition: background-color var(--motion-transition-fast)
14432
14488
  var(--motion-easing-standard);
14433
- line-height: 1;
14489
+ line-height: var(--line-height-none);
14434
14490
  }
14435
14491
 
14436
14492
  .bc-calendar__nav-btn:hover:not(:disabled) {
@@ -14438,8 +14494,8 @@ span.bc-sidebar-link {
14438
14494
  }
14439
14495
 
14440
14496
  .bc-calendar__nav-btn:focus-visible {
14441
- outline: 2px solid var(--color-primary-500);
14442
- outline-offset: -2px;
14497
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
14498
+ outline-offset: calc(-1 * var(--outline-width-focus));
14443
14499
  }
14444
14500
 
14445
14501
  .bc-calendar__nav-btn:disabled {
@@ -14478,8 +14534,8 @@ span.bc-sidebar-link {
14478
14534
  }
14479
14535
 
14480
14536
  .bc-calendar__title-btn:focus-visible {
14481
- outline: 2px solid var(--color-primary-500);
14482
- outline-offset: -2px;
14537
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
14538
+ outline-offset: calc(-1 * var(--outline-width-focus));
14483
14539
  }
14484
14540
 
14485
14541
  .bc-calendar__title-btn:disabled {
@@ -14532,8 +14588,8 @@ span.bc-sidebar-link {
14532
14588
  }
14533
14589
 
14534
14590
  .bc-calendar__day:focus-visible {
14535
- outline: 2px solid var(--cal-selected-bg);
14536
- outline-offset: -2px;
14591
+ outline: var(--outline-width-focus) solid var(--cal-selected-bg);
14592
+ outline-offset: calc(-1 * var(--outline-width-focus));
14537
14593
  }
14538
14594
 
14539
14595
  .bc-calendar__day--outside {
@@ -14606,8 +14662,8 @@ span.bc-sidebar-link {
14606
14662
  }
14607
14663
 
14608
14664
  .bc-calendar__month-cell:focus-visible {
14609
- outline: 2px solid var(--cal-selected-bg);
14610
- outline-offset: -2px;
14665
+ outline: var(--outline-width-focus) solid var(--cal-selected-bg);
14666
+ outline-offset: calc(-1 * var(--outline-width-focus));
14611
14667
  }
14612
14668
 
14613
14669
  .bc-calendar__month-cell--current {
@@ -14652,8 +14708,8 @@ span.bc-sidebar-link {
14652
14708
  }
14653
14709
 
14654
14710
  .bc-calendar__year-cell:focus-visible {
14655
- outline: 2px solid var(--cal-selected-bg);
14656
- outline-offset: -2px;
14711
+ outline: var(--outline-width-focus) solid var(--cal-selected-bg);
14712
+ outline-offset: calc(-1 * var(--outline-width-focus));
14657
14713
  }
14658
14714
 
14659
14715
  .bc-calendar__year-cell--current {
@@ -15007,7 +15063,7 @@ span.bc-sidebar-link {
15007
15063
  /* Thumb */
15008
15064
  .bc-advanced-slider__thumb {
15009
15065
  background-color: var(--color-white);
15010
- border: 2px solid var(--slider-color);
15066
+ border: var(--border-width-medium) solid var(--slider-color);
15011
15067
  border-radius: var(--radius-full);
15012
15068
  cursor: grab;
15013
15069
  box-shadow: var(--shadow-sm);
@@ -15027,7 +15083,7 @@ span.bc-sidebar-link {
15027
15083
  }
15028
15084
 
15029
15085
  .bc-advanced-slider__thumb:focus-visible {
15030
- outline: 2px solid var(--color-primary-500);
15086
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
15031
15087
  outline-offset: 2px;
15032
15088
  }
15033
15089
 
@@ -15045,7 +15101,7 @@ span.bc-sidebar-link {
15045
15101
  }
15046
15102
 
15047
15103
  .bc-advanced-slider__thumb-custom:focus-visible {
15048
- outline: 2px solid var(--color-primary-500);
15104
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
15049
15105
  outline-offset: 2px;
15050
15106
  }
15051
15107
 
@@ -15059,7 +15115,7 @@ span.bc-sidebar-link {
15059
15115
  font-weight: var(--font-weight-semibold);
15060
15116
  pointer-events: none;
15061
15117
  text-align: center;
15062
- line-height: 1;
15118
+ line-height: var(--line-height-none);
15063
15119
  }
15064
15120
 
15065
15121
  /* Ticks container */
@@ -15285,7 +15341,7 @@ span.bc-sidebar-link {
15285
15341
  font-variant-numeric: tabular-nums;
15286
15342
  color: var(--text-normal);
15287
15343
  background-color: var(--bg-background);
15288
- border: 1.5px solid var(--border-default);
15344
+ border: var(--border-width-default) solid var(--border-default);
15289
15345
  border-radius: var(--radius-md);
15290
15346
  outline: none;
15291
15347
  caret-color: var(--otp-focus-color);
@@ -15393,14 +15449,15 @@ span.bc-sidebar-link {
15393
15449
  align-items: center;
15394
15450
  justify-content: center;
15395
15451
  gap: var(--spacing-stack-2xs);
15396
- border: 1.5px var(--toggle-border-style) var(--toggle-border);
15452
+ border: var(--border-width-default) var(--toggle-border-style)
15453
+ var(--toggle-border);
15397
15454
  cursor: pointer;
15398
15455
  font-family: inherit;
15399
15456
  font-weight: var(--font-weight-semibold);
15400
15457
  background-color: var(--toggle-bg);
15401
15458
  color: var(--toggle-text);
15402
15459
  text-shadow: var(--toggle-text-shadow);
15403
- line-height: 1;
15460
+ line-height: var(--line-height-none);
15404
15461
  transition: all var(--motion-transition-fast) var(--motion-easing-standard);
15405
15462
  user-select: none;
15406
15463
  }
@@ -15421,7 +15478,7 @@ span.bc-sidebar-link {
15421
15478
  }
15422
15479
 
15423
15480
  .bc-toggle-button:focus-visible {
15424
- outline: 2px solid var(--color-primary-500);
15481
+ outline: var(--outline-width-focus) solid var(--color-primary-500);
15425
15482
  outline-offset: 2px;
15426
15483
  }
15427
15484
 
@@ -15438,8 +15495,8 @@ span.bc-sidebar-link {
15438
15495
  /* Size variants */
15439
15496
  .bc-toggle-button--size-xs {
15440
15497
  font-size: var(--font-size-xs);
15441
- min-height: calc(var(--spacing-base) * 6);
15442
- min-width: calc(var(--spacing-base) * 6);
15498
+ min-height: var(--spacing-xl);
15499
+ min-width: var(--spacing-xl);
15443
15500
  }
15444
15501
 
15445
15502
  .bc-toggle-button--size-sm {
@@ -15450,20 +15507,20 @@ span.bc-sidebar-link {
15450
15507
 
15451
15508
  .bc-toggle-button--size-md {
15452
15509
  font-size: var(--font-size-md);
15453
- min-height: calc(var(--spacing-base) * 8);
15454
- min-width: calc(var(--spacing-base) * 8);
15510
+ min-height: var(--spacing-2xl);
15511
+ min-width: var(--spacing-2xl);
15455
15512
  }
15456
15513
 
15457
15514
  .bc-toggle-button--size-lg {
15458
15515
  font-size: var(--font-size-lg);
15459
- min-height: calc(var(--spacing-base) * 10);
15460
- min-width: calc(var(--spacing-base) * 10);
15516
+ min-height: var(--spacing-2xlh);
15517
+ min-width: var(--spacing-2xlh);
15461
15518
  }
15462
15519
 
15463
15520
  .bc-toggle-button--size-xl {
15464
15521
  font-size: var(--font-size-xl);
15465
- min-height: calc(var(--spacing-base) * 12);
15466
- min-width: calc(var(--spacing-base) * 12);
15522
+ min-height: var(--spacing-3xl);
15523
+ min-width: var(--spacing-3xl);
15467
15524
  }
15468
15525
 
15469
15526
  /* Dark mode */
@@ -15489,7 +15546,7 @@ span.bc-sidebar-link {
15489
15546
  /* High contrast */
15490
15547
  @media (prefers-contrast: high) {
15491
15548
  .bc-toggle-button {
15492
- border-width: 2px;
15549
+ border-width: var(--border-width-medium);
15493
15550
  }
15494
15551
  }
15495
15552