@rhavenside/baseline-ui 1.0.6 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/baseline.css
CHANGED
|
@@ -3666,7 +3666,7 @@ textarea {
|
|
|
3666
3666
|
position: fixed;
|
|
3667
3667
|
top: 0;
|
|
3668
3668
|
left: 0;
|
|
3669
|
-
z-index:
|
|
3669
|
+
z-index: 1;
|
|
3670
3670
|
width: 100vw;
|
|
3671
3671
|
height: 100vh;
|
|
3672
3672
|
background: var(--color-bg-overlay);
|
|
@@ -3696,6 +3696,7 @@ textarea {
|
|
|
3696
3696
|
max-width: 500px;
|
|
3697
3697
|
margin: 0;
|
|
3698
3698
|
pointer-events: none;
|
|
3699
|
+
z-index: 2;
|
|
3699
3700
|
}
|
|
3700
3701
|
@media (min-width: 576px) {
|
|
3701
3702
|
.bl-modal-dialog {
|
package/dist/baseline.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["file:///Volumes/Main/Codes/Baseline/src/tokens/_colors.scss","file:///Volumes/Main/Codes/Baseline/src/tokens/_spacing.scss","file:///Volumes/Main/Codes/Baseline/src/tokens/_typography.scss","file:///Volumes/Main/Codes/Baseline/src/tokens/_borders.scss","file:///Volumes/Main/Codes/Baseline/src/tokens/_shadows.scss","file:///Volumes/Main/Codes/Baseline/src/tokens/_z-index.scss","file:///Volumes/Main/Codes/Baseline/src/tokens/_transitions.scss","file:///Volumes/Main/Codes/Baseline/src/tokens/_forms.scss","file:///Volumes/Main/Codes/Baseline/src/tokens/_glassmorphism.scss","file:///Volumes/Main/Codes/Baseline/src/base/_reset.scss","file:///Volumes/Main/Codes/Baseline/src/base/_normalize.scss","file:///Volumes/Main/Codes/Baseline/src/base/_base.scss","file:///Volumes/Main/Codes/Baseline/src/layout/_container.scss","file:///Volumes/Main/Codes/Baseline/src/layout/_grid.scss","file:///Volumes/Main/Codes/Baseline/src/layout/_grid-modern.scss","file:///Volumes/Main/Codes/Baseline/src/layout/_flex.scss","file:///Volumes/Main/Codes/Baseline/src/utilities/_spacing.scss","file:///Volumes/Main/Codes/Baseline/src/utilities/_display.scss","file:///Volumes/Main/Codes/Baseline/src/utilities/_text.scss","file:///Volumes/Main/Codes/Baseline/src/utilities/_visibility.scss","file:///Volumes/Main/Codes/Baseline/src/utilities/_position.scss","file:///Volumes/Main/Codes/Baseline/src/utilities/_animations.scss","file:///Volumes/Main/Codes/Baseline/src/utilities/_accessibility.scss","file:///Volumes/Main/Codes/Baseline/src/components/_button.scss","file:///Volumes/Main/Codes/Baseline/src/components/_form.scss","file:///Volumes/Main/Codes/Baseline/src/components/_card.scss","file:///Volumes/Main/Codes/Baseline/src/components/_alert.scss","file:///Volumes/Main/Codes/Baseline/src/components/_badge.scss","file:///Volumes/Main/Codes/Baseline/src/components/_modal.scss","file:///Volumes/Main/Codes/Baseline/src/components/_dropdown.scss","file:///Volumes/Main/Codes/Baseline/src/components/_nav.scss","file:///Volumes/Main/Codes/Baseline/src/components/_table.scss","file:///Volumes/Main/Codes/Baseline/src/components/_tooltip.scss","file:///Volumes/Main/Codes/Baseline/src/components/_progress.scss","file:///Volumes/Main/Codes/Baseline/src/components/_spinner.scss","file:///Volumes/Main/Codes/Baseline/src/icons/_icons.scss","file:///Volumes/Main/Codes/Baseline/src/themes/_dark.scss"],"names":[],"mappings":";AAsEA;EAEE;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA;;;ACnHF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACkBF;EAEE;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;;;AClEF;EAEE;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACpBF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;ACNF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACAF;EAEE;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;;;ACkDF;EAEE;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EAGA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;;;ACxIF;EAEE;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;;;ACtDF;AAAA;AAAA;EAGE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AChBF;EACE;EACA;;;AAIF;EACE;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;AAAA;EAGE;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAIF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAAA;EAIE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAIF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AChLF;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;;AAKJ;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;AAAA;AAAA;EAGE;EACA;;;AAIF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AC9KF;EACE;EACA;EACA;EACA;EACA;;AAGA;EARF;IASI;;;AAIF;EAbF;IAcI;;;AAIF;EAlBF;IAmBI;;;AAIF;EAvBF;IAwBI;;;AAIF;EA5BF;IA6BI;;;;AAIJ;EACE;EACA;EACA;;;AClCF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAKA;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAMJ;EACE;IACE;IACA;IACA;;EAIA;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;;AAMN;EACE;IACE;IACA;IACA;;EAIA;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;;AAMN;EACE;IACE;IACA;IACA;;EAIA;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;;AAMN;EACE;IACE;IACA;IACA;;EAIA;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;;AAMN;EACE;IACE;IACA;IACA;;EAIA;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;;AC/GN;EACE;EACA;;;AAKA;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAMF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAKJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKA;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAMF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAKJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACtHF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACtJA;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAOA;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AC9EN;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;IAAgB;;EAChB;IAAkB;;EAClB;IAAwB;;EACxB;IAAiB;;EACjB;IAAgB;;EAChB;IAAuB;;EACvB;IAAgB;;;AAGlB;EACE;IAAgB;;EAChB;IAAkB;;EAClB;IAAwB;;EACxB;IAAiB;;EACjB;IAAgB;;EAChB;IAAuB;;EACvB;IAAgB;;;AAGlB;EACE;IAAgB;;EAChB;IAAkB;;EAClB;IAAwB;;EACxB;IAAiB;;EACjB;IAAgB;;EAChB;IAAuB;;EACvB;IAAgB;;;AAGlB;EACE;IAAgB;;EAChB;IAAkB;;EAClB;IAAwB;;EACxB;IAAiB;;EACjB;IAAgB;;EAChB;IAAuB;;EACvB;IAAgB;;;AC/ElB;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACxPF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACnEF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC/FF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;IACE;;EAEF;IACE;;;AAIJ;EACE;IACE;;EAEF;IACE;;;AAIJ;EACE;;;AAGF;EACE;;;AAIF;EACE;IACE;IACA;;EAEF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAEF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAEF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAEF;IACE;IACA;;;AAIJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;IACE;;EAEF;IACE;;;AAIJ;EACE;;;AAIF;EACE;IACE;;EAEF;IACE;;;AAIJ;EACE;;;ACzKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAKJ;EACE;EACA;;;AAIF;EACE;IACE;;EAGF;IACE;;;AAKJ;EACE;AAAA;AAAA;IAGE;IACA;IACA;IACA;;;AClEJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EAEE;EACA;EACA;;;AAKJ;EACE;EACA;;;AAGF;EACE;EACA;;;AAIF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAKJ;EACE;EACA;;;AC/LF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;;;AAKJ;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAIF;EACE;;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAIJ;EAEE;EACA;EACA;EACA;;;AAMN;AAAA;AAAA;EAGE;;AAEA;AAAA;AAAA;EACE;EACA;EACA;;;AAIJ;AAAA;AAAA;EAGE;;AAEA;AAAA;AAAA;EACE;EACA;EACA;;;AAKJ;AAAA;EAEE;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;;;AAIF;EACE;EACA;;;AAIF;AAAA;EAEE;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAEA;EACE;;AAIJ;EACE;;AAGF;EACE;EACA;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;;AAEA;AAAA;EAEE;EACA;EACA;;AAEA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;EACE;EACA;;;ACjdN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAIF;EACE;;AAEA;EACE;EACA;;;ACjFJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;;AAKJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;;ACxFJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKA;EACE;EACA;;;AAKF;EACE;EACA;;;AAKF;EACE;EACA;;;AAKF;EACE;EACA;;;AAKF;EACE;EACA;;;AAKF;EACE;EACA;;;AAKJ;EACE;;AAEA;AAAA;EAEE;;;AAIJ;EACE;;AAEA;AAAA;EAEE;;;AChGJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EAPF;IAQI;;;AAGF;EAXF;IAYI;;;AAGF;EAfF;IAgBI;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAOA;EADF;IAEI;;;;AAOF;EADF;IAEI;;;;AAOF;EADF;IAEI;;;;AAMN;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;;AAKJ;EACE;EACA;;;ACzLF;EACE;EACA;;;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EAEE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;ACzGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;;AAKJ;EACE;;AAEA;EACE;;;AAKJ;EACE;;AAEA;EACE;;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;;AAOJ;EACE;;AAEA;EACE;EACA;EACA;;;AAMN;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;;;AAKJ;EACE;EACA;EACA;;;AAGF;EACE;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;;AC1MJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKA;EACE;EACA;EACA;;;AAIJ;EACE;;AAEA;EACE;;AAEA;EACE;EACA;;;AAMJ;EACE;EACA;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;;;AAMF;EACE;;;AAKF;EACE;;;AAKJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;IACE;IACA;IACA;IACA;;EAEA;IACE;;;AAKN;EACE;IACE;IACA;IACA;IACA;;EAEA;IACE;;;AAKN;EACE;IACE;IACA;IACA;IACA;;EAEA;IACE;;;AAKN;EACE;IACE;IACA;IACA;IACA;;EAEA;IACE;;;AC5KN;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAMF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AC5HN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;ACtDF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;IACE;;;AAIJ;EACE;IACE;IACA;;EAEF;IACE;;EAEF;IACE;IACA;;;AAKJ;EACE;;AAEA;EACE;;;AAIJ;EACE;;AAEA;EACE;;;AAIJ;EACE;;AAEA;EACE;;;AAIJ;EACE;;AAEA;EACE;;;AAIJ;EACE;;AAEA;EACE;;;AAIJ;EACE;;AAEA;EACE;;;AAKJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;ACtGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAKF;EAAwB;;;AACxB;EAAwB;;;AACxB;EAA0B;;;AAC1B;EAAwB;;;AACxB;EAAyB;;;AACzB;EAAgC;;;AAChC;EAAiC;;;AACjC;EAA8B;;;AAC9B;EAAgC;;;AAChC;EAA8B;;;AAC9B;EAA+B;;;AAC/B;EAA4B;;;AAC5B;EAA8B;;;AAC9B;EAAyB;;;AACzB;EAAyB;;;AACzB;EAAwB;;;AACxB;EAAyB;;;AACzB;EAAwB;;;AACxB;EAA2B;;;AAC3B;EAAyB;;;AACzB;EAA2B;;;AAC3B;EAAyB;;;AACzB;EAAwB;;;AACxB;EAA4B;;;AAC5B;EAAyB;;;AACzB;EAA4B;;;AAC5B;EAA0B;;;AAC1B;EAAwB;;;AACxB;EAA0B;;;AAC1B;EAA4B;;;AAC5B;EAAwB;;;AACxB;EAAwB;;;AACxB;EAAyB;;;AACzB;EAA4B;;;AAC5B;EAAyB;;;AACzB;EAAyB;;;AACzB;EAAyB;;;AACzB;EAAwB;;;AACxB;EAA0B;;;AAC1B;EAAwB;;;AACxB;EAA0B;;;AAC1B;EAAuB;;;AACvB;EAA2B;;;AAC3B;EAA0B;;;AAC1B;EAAwB;;;AACxB;EAAwB;;;AACxB;EAAwB;;;AACxB;EAA2B;;;AAC3B;EAA2B;;;AAC3B;EAAwB;;;AACxB;EAAyB;;;AACzB;EAAwB;;;AACxB;EAAwB;;;AACxB;EAAwB;;;AACxB;EAA0B;;;AAC1B;EAA8B;;;AAC9B;EAA8B;;;AAC9B;EAAmC;;;AACnC;EAAwB;;;AACxB;EAA4B;;;AAC5B;EAAwB;;;AACxB;EAAuB;;;AACvB;EAAyB;;;AACzB;EAAwB;;;AACxB;EAAwB;;;AACxB;EAAwB;;;AACxB;EAAyB;;;AACzB;EAA2B;;;AAC3B;EAA4B;;;AAC5B;EAA4B;;;AAC5B;EAA4B;;;AAG5B;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AChJF;EACE;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IAEA;IACA;IACA;IAEA;IACA;IACA;IAEA;IACA;IACA;IAEA;IACA;IACA;IAEA;IACA;IACA;IAGA;IACA;IACA;IACA;IAGA;IACA;IACA;IAGA;IACA;IACA;IACA;;;AAKJ;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA","sourcesContent":["// ============================================================================\n// Color Tokens (Technical Glass Design)\n// ============================================================================\n\n// Base Tone: Dark Graphite\n$color-base: #1A1A1A;\n$color-base-light: #2A2A2A;\n$color-base-dark: #0F0F0F;\n\n// Accent: Ice Blue\n$color-accent: #4A9EFF;\n$color-accent-light: #6BB0FF;\n$color-accent-dark: #3A8EEF;\n\n// Neutral Grayscale (for glass effects)\n$color-gray-50: #f9fafb;\n$color-gray-100: #f3f4f6;\n$color-gray-200: #e5e7eb;\n$color-gray-300: #d1d5db;\n$color-gray-400: #9ca3af;\n$color-gray-500: #6b7280;\n$color-gray-600: #4b5563;\n$color-gray-700: #374151;\n$color-gray-800: #1f2937;\n$color-gray-900: #111827;\n$color-gray-950: #030712;\n\n// Semantic Colors (using accent for primary)\n$color-primary: $color-accent;\n$color-primary-light: $color-accent-light;\n$color-primary-dark: $color-accent-dark;\n\n$color-secondary: $color-gray-600;\n$color-secondary-light: $color-gray-500;\n$color-secondary-dark: $color-gray-700;\n\n$color-success: #10b981;\n$color-success-light: #34d399;\n$color-success-dark: #059669;\n\n$color-warning: #f59e0b;\n$color-warning-light: #fbbf24;\n$color-warning-dark: #d97706;\n\n$color-error: #ef4444;\n$color-error-light: #f87171;\n$color-error-dark: #dc2626;\n\n$color-info: $color-accent;\n$color-info-light: $color-accent-light;\n$color-info-dark: $color-accent-dark;\n\n// Text Colors (high contrast on dark ground)\n$color-text: #ffffff;\n$color-text-muted: rgba(255, 255, 255, 0.7);\n$color-text-light: rgba(255, 255, 255, 0.5);\n$color-text-inverse: #1A1A1A;\n\n// Background Colors\n$color-bg: $color-base;\n$color-bg-alt: $color-base-light;\n$color-bg-overlay: rgba(0, 0, 0, 0.3); // Desaturated, not darkened\n\n// Border Colors (cool, slightly bright on dark ground)\n$color-border: rgba(255, 255, 255, 0.15);\n$color-border-light: rgba(255, 255, 255, 0.1);\n$color-border-dark: rgba(255, 255, 255, 0.2);\n$color-border-focus: $color-accent;\n\n// Export as CSS Custom Properties\n:root {\n // Base Tone\n --color-base: #{$color-base};\n --color-base-light: #{$color-base-light};\n --color-base-dark: #{$color-base-dark};\n\n // Accent\n --color-accent: #{$color-accent};\n --color-accent-light: #{$color-accent-light};\n --color-accent-dark: #{$color-accent-dark};\n\n // Neutral Grayscale\n --color-gray-50: #{$color-gray-50};\n --color-gray-100: #{$color-gray-100};\n --color-gray-200: #{$color-gray-200};\n --color-gray-300: #{$color-gray-300};\n --color-gray-400: #{$color-gray-400};\n --color-gray-500: #{$color-gray-500};\n --color-gray-600: #{$color-gray-600};\n --color-gray-700: #{$color-gray-700};\n --color-gray-800: #{$color-gray-800};\n --color-gray-900: #{$color-gray-900};\n --color-gray-950: #{$color-gray-950};\n\n // Semantic Colors\n --color-primary: #{$color-primary};\n --color-primary-light: #{$color-primary-light};\n --color-primary-dark: #{$color-primary-dark};\n\n --color-secondary: #{$color-secondary};\n --color-secondary-light: #{$color-secondary-light};\n --color-secondary-dark: #{$color-secondary-dark};\n\n --color-success: #{$color-success};\n --color-success-light: #{$color-success-light};\n --color-success-dark: #{$color-success-dark};\n\n --color-warning: #{$color-warning};\n --color-warning-light: #{$color-warning-light};\n --color-warning-dark: #{$color-warning-dark};\n\n --color-error: #{$color-error};\n --color-error-light: #{$color-error-light};\n --color-error-dark: #{$color-error-dark};\n\n --color-info: #{$color-info};\n --color-info-light: #{$color-info-light};\n --color-info-dark: #{$color-info-dark};\n\n // Text Colors\n --color-text: #{$color-text};\n --color-text-muted: #{$color-text-muted};\n --color-text-light: #{$color-text-light};\n --color-text-inverse: #{$color-text-inverse};\n\n // Background Colors\n --color-bg: #{$color-bg};\n --color-bg-alt: #{$color-bg-alt};\n --color-bg-overlay: #{$color-bg-overlay};\n\n // Border Colors\n --color-border: #{$color-border};\n --color-border-light: #{$color-border-light};\n --color-border-dark: #{$color-border-dark};\n --color-border-focus: #{$color-border-focus};\n}\n","// ============================================================================\n// Spacing Tokens\n// ============================================================================\n\n// Base spacing unit: 4px (0.25rem)\n$spacing-base: 0.25rem; // 4px\n\n// Spacing scale (8px base system)\n$spacing-xs: 0.25rem; // 4px\n$spacing-sm: 0.5rem; // 8px\n$spacing-md: 1rem; // 16px\n$spacing-lg: 1.5rem; // 24px\n$spacing-xl: 2rem; // 32px\n$spacing-2xl: 3rem; // 48px\n$spacing-3xl: 4rem; // 64px\n$spacing-4xl: 6rem; // 96px\n$spacing-5xl: 8rem; // 128px\n\n// Export as CSS Custom Properties\n:root {\n --spacing-xs: #{$spacing-xs};\n --spacing-sm: #{$spacing-sm};\n --spacing-md: #{$spacing-md};\n --spacing-lg: #{$spacing-lg};\n --spacing-xl: #{$spacing-xl};\n --spacing-2xl: #{$spacing-2xl};\n --spacing-3xl: #{$spacing-3xl};\n --spacing-4xl: #{$spacing-4xl};\n --spacing-5xl: #{$spacing-5xl};\n}\n\n","// ============================================================================\n// Typography Tokens\n// ============================================================================\n\n// Font Families\n$font-family-base: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n$font-family-mono: \"SF Mono\", Monaco, \"Cascadia Code\", \"Roboto Mono\", Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n$font-family-serif: Georgia, \"Times New Roman\", Times, serif;\n\n// Font Sizes (Modular Scale: 1.125, 1.25, 1.5, 1.875, 2.25)\n$font-size-xs: 0.75rem; // 12px\n$font-size-sm: 0.875rem; // 14px\n$font-size-base: 1rem; // 16px\n$font-size-lg: 1.125rem; // 18px\n$font-size-xl: 1.25rem; // 20px\n$font-size-2xl: 1.5rem; // 24px\n$font-size-3xl: 1.875rem; // 30px\n$font-size-4xl: 2.25rem; // 36px\n$font-size-5xl: 3rem; // 48px\n$font-size-6xl: 3.75rem; // 60px\n\n// Line Heights\n$line-height-none: 1;\n$line-height-tight: 1.25;\n$line-height-snug: 1.375;\n$line-height-base: 1.5;\n$line-height-relaxed: 1.75;\n$line-height-loose: 2;\n\n// Font Weights\n$font-weight-light: 300;\n$font-weight-normal: 400;\n$font-weight-medium: 500;\n$font-weight-semibold: 600;\n$font-weight-bold: 700;\n$font-weight-extrabold: 800;\n\n// Letter Spacing\n$letter-spacing-tighter: -0.05em;\n$letter-spacing-tight: -0.025em;\n$letter-spacing-normal: 0;\n$letter-spacing-wide: 0.025em;\n$letter-spacing-wider: 0.05em;\n$letter-spacing-widest: 0.1em;\n\n// Export as CSS Custom Properties\n:root {\n // Font Families\n --font-family-base: #{$font-family-base};\n --font-family-mono: #{$font-family-mono};\n --font-family-serif: #{$font-family-serif};\n\n // Font Sizes\n --font-size-xs: #{$font-size-xs};\n --font-size-sm: #{$font-size-sm};\n --font-size-base: #{$font-size-base};\n --font-size-lg: #{$font-size-lg};\n --font-size-xl: #{$font-size-xl};\n --font-size-2xl: #{$font-size-2xl};\n --font-size-3xl: #{$font-size-3xl};\n --font-size-4xl: #{$font-size-4xl};\n --font-size-5xl: #{$font-size-5xl};\n --font-size-6xl: #{$font-size-6xl};\n\n // Line Heights\n --line-height-none: #{$line-height-none};\n --line-height-tight: #{$line-height-tight};\n --line-height-snug: #{$line-height-snug};\n --line-height-base: #{$line-height-base};\n --line-height-relaxed: #{$line-height-relaxed};\n --line-height-loose: #{$line-height-loose};\n\n // Font Weights\n --font-weight-light: #{$font-weight-light};\n --font-weight-normal: #{$font-weight-normal};\n --font-weight-medium: #{$font-weight-medium};\n --font-weight-semibold: #{$font-weight-semibold};\n --font-weight-bold: #{$font-weight-bold};\n --font-weight-extrabold: #{$font-weight-extrabold};\n\n // Letter Spacing\n --letter-spacing-tighter: #{$letter-spacing-tighter};\n --letter-spacing-tight: #{$letter-spacing-tight};\n --letter-spacing-normal: #{$letter-spacing-normal};\n --letter-spacing-wide: #{$letter-spacing-wide};\n --letter-spacing-wider: #{$letter-spacing-wider};\n --letter-spacing-widest: #{$letter-spacing-widest};\n}\n\n","// ============================================================================\n// Border Tokens (Technical Design - Max 4px Radius)\n// ============================================================================\n\n// Border Widths\n$border-width-none: 0;\n$border-width-thin: 1px;\n$border-width-base: 2px;\n$border-width-thick: 4px;\n\n// Border Radius (Technical - Max 4px)\n$border-radius-none: 0;\n$border-radius-sm: 2px;\n$border-radius-md: 4px;\n$border-radius-lg: 4px; // Max 4px\n$border-radius-xl: 4px; // Max 4px\n$border-radius-2xl: 4px; // Max 4px\n$border-radius-full: 9999px; // Keep for special cases like switches\n\n// Export as CSS Custom Properties\n:root {\n // Border Widths\n --border-width-none: #{$border-width-none};\n --border-width-thin: #{$border-width-thin};\n --border-width-base: #{$border-width-base};\n --border-width-thick: #{$border-width-thick};\n\n // Border Radius (Technical)\n --border-radius-none: #{$border-radius-none};\n --border-radius-sm: #{$border-radius-sm};\n --border-radius-md: #{$border-radius-md};\n --border-radius-lg: #{$border-radius-lg};\n --border-radius-xl: #{$border-radius-xl};\n --border-radius-2xl: #{$border-radius-2xl};\n --border-radius-full: #{$border-radius-full};\n}\n","// ============================================================================\n// Shadow Tokens (Elevation System)\n// ============================================================================\n\n// Box Shadows\n$shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n$shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n$shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n$shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);\n$shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);\n$shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);\n$shadow-none: none;\n\n// Export as CSS Custom Properties\n:root {\n --shadow-sm: #{$shadow-sm};\n --shadow-md: #{$shadow-md};\n --shadow-lg: #{$shadow-lg};\n --shadow-xl: #{$shadow-xl};\n --shadow-2xl: #{$shadow-2xl};\n --shadow-inner: #{$shadow-inner};\n --shadow-none: #{$shadow-none};\n}\n\n","// ============================================================================\n// Z-Index Tokens (Layer System)\n// ============================================================================\n\n// Z-Index Layers\n$z-index-base: 0;\n$z-index-dropdown: 9999; // Immer im Vordergrund\n$z-index-sticky: 1020;\n$z-index-fixed: 1030;\n$z-index-modal-backdrop: 1040;\n$z-index-modal: 1050;\n$z-index-popover: 1060;\n$z-index-tooltip: 1070;\n\n// Export as CSS Custom Properties\n:root {\n --z-index-base: #{$z-index-base};\n --z-index-dropdown: #{$z-index-dropdown};\n --z-index-sticky: #{$z-index-sticky};\n --z-index-fixed: #{$z-index-fixed};\n --z-index-modal-backdrop: #{$z-index-modal-backdrop};\n --z-index-modal: #{$z-index-modal};\n --z-index-popover: #{$z-index-popover};\n --z-index-tooltip: #{$z-index-tooltip};\n}\n\n","// ============================================================================\n// Transition Tokens (Mechanical, Linear)\n// ============================================================================\n\n// Transition Durations (shorter, mechanical)\n$transition-duration-fast: 100ms;\n$transition-duration-base: 150ms;\n$transition-duration-slow: 200ms;\n$transition-duration-slower: 300ms;\n\n// Transition Timing Functions (all linear - mechanical)\n$transition-ease-linear: linear;\n$transition-ease-in: linear;\n$transition-ease-out: linear;\n$transition-ease-in-out: linear;\n\n// Common Transitions (all linear)\n$transition-base: all $transition-duration-base $transition-ease-linear;\n$transition-colors: color $transition-duration-base $transition-ease-linear, background-color $transition-duration-base $transition-ease-linear, border-color $transition-duration-base $transition-ease-linear;\n$transition-opacity: opacity $transition-duration-base $transition-ease-linear;\n$transition-transform: transform $transition-duration-base $transition-ease-linear;\n\n// Export as CSS Custom Properties\n:root {\n // Durations\n --transition-duration-fast: #{$transition-duration-fast};\n --transition-duration-base: #{$transition-duration-base};\n --transition-duration-slow: #{$transition-duration-slow};\n --transition-duration-slower: #{$transition-duration-slower};\n\n // Timing Functions (all linear)\n --transition-ease-linear: #{$transition-ease-linear};\n --transition-ease-in: #{$transition-ease-in};\n --transition-ease-out: #{$transition-ease-out};\n --transition-ease-in-out: #{$transition-ease-in-out};\n\n // Common Transitions\n --transition-base: #{$transition-base};\n --transition-colors: #{$transition-colors};\n --transition-opacity: #{$transition-opacity};\n --transition-transform: #{$transition-transform};\n}\n","// ============================================================================\n// Form Tokens\n// ============================================================================\n\n@use 'spacing' as *;\n@use 'colors' as *;\n@use 'typography' as *;\n@use 'borders' as *;\n@use 'transitions' as *;\n\n// Form Input Tokens\n$form-input-padding-x: $spacing-md;\n$form-input-padding-y: $spacing-sm;\n$form-input-padding-x-sm: $spacing-sm;\n$form-input-padding-y-sm: $spacing-xs;\n$form-input-padding-x-lg: $spacing-lg;\n$form-input-padding-y-lg: $spacing-md;\n\n$form-input-border-width: $border-width-thin;\n$form-input-border-radius: $border-radius-md;\n$form-input-font-size: $font-size-base;\n$form-input-font-size-sm: $font-size-sm;\n$form-input-font-size-lg: $font-size-lg;\n$form-input-line-height: $line-height-base;\n\n$form-input-bg: $color-bg;\n$form-input-bg-disabled: $color-bg-alt;\n$form-input-color: $color-text;\n$form-input-border: $color-border;\n$form-input-border-focus: $color-border-focus;\n$form-input-placeholder-color: $color-text-muted;\n\n$form-input-focus-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);\n$form-input-focus-shadow-error: 0 0 0 3px rgba(239, 68, 68, 0.1);\n$form-input-focus-shadow-success: 0 0 0 3px rgba(16, 185, 129, 0.1);\n\n$form-input-opacity-disabled: 0.6;\n\n// Form Label Tokens\n$form-label-font-size: $font-size-sm;\n$form-label-font-weight: $font-weight-medium;\n$form-label-color: $color-text;\n$form-label-margin-bottom: $spacing-xs;\n\n// Form Helper/Error Tokens\n$form-helper-font-size: $font-size-xs;\n$form-helper-color: $color-text-muted;\n$form-error-color: $color-error;\n$form-error-font-size: $font-size-xs;\n$form-helper-margin-top: $spacing-xs;\n\n// Form Group Tokens\n$form-group-margin-bottom: $spacing-md;\n\n// Checkbox & Radio Tokens\n$form-checkbox-size: 1.25rem;\n$form-checkbox-margin-right: $spacing-sm;\n$form-checkbox-accent-color: $color-primary;\n$form-checkbox-opacity-disabled: 0.6;\n\n// Switch Tokens\n$form-switch-width: 3rem;\n$form-switch-height: 1.5rem;\n$form-switch-slider-size: 1.25rem;\n$form-switch-slider-offset: 0.125rem;\n$form-switch-slider-translate: 1.5rem;\n$form-switch-bg: $color-gray-300;\n$form-switch-bg-active: $color-primary;\n$form-switch-slider-bg: #ffffff;\n$form-switch-focus-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);\n$form-switch-opacity-disabled: 0.6;\n\n// Textarea Tokens\n$form-textarea-min-height: 100px;\n$form-textarea-resize: vertical;\n\n// Range Tokens\n$form-range-height: 0.5rem;\n$form-range-thumb-size: 1.25rem;\n$form-range-bg: $color-gray-200;\n$form-range-thumb-bg: $color-primary;\n\n// File Input Tokens\n$form-file-input-padding: $spacing-sm;\n$form-file-input-font-size: $font-size-sm;\n$form-file-input-border-style: dashed;\n$form-file-input-bg: $color-bg-alt;\n$form-file-input-bg-hover: $color-bg;\n\n// Export as CSS Custom Properties\n:root {\n // Form Input\n --form-input-padding-x: #{$form-input-padding-x};\n --form-input-padding-y: #{$form-input-padding-y};\n --form-input-padding-x-sm: #{$form-input-padding-x-sm};\n --form-input-padding-y-sm: #{$form-input-padding-y-sm};\n --form-input-padding-x-lg: #{$form-input-padding-x-lg};\n --form-input-padding-y-lg: #{$form-input-padding-y-lg};\n\n --form-input-border-width: #{$form-input-border-width};\n --form-input-border-radius: #{$form-input-border-radius};\n --form-input-font-size: #{$form-input-font-size};\n --form-input-font-size-sm: #{$form-input-font-size-sm};\n --form-input-font-size-lg: #{$form-input-font-size-lg};\n --form-input-line-height: #{$form-input-line-height};\n\n --form-input-bg: #{$form-input-bg};\n --form-input-bg-disabled: #{$form-input-bg-disabled};\n --form-input-color: #{$form-input-color};\n --form-input-border: #{$form-input-border};\n --form-input-border-focus: #{$form-input-border-focus};\n --form-input-placeholder-color: #{$form-input-placeholder-color};\n\n --form-input-focus-shadow: #{$form-input-focus-shadow};\n --form-input-focus-shadow-error: #{$form-input-focus-shadow-error};\n --form-input-focus-shadow-success: #{$form-input-focus-shadow-success};\n\n --form-input-opacity-disabled: #{$form-input-opacity-disabled};\n\n // Form Label\n --form-label-font-size: #{$form-label-font-size};\n --form-label-font-weight: #{$form-label-font-weight};\n --form-label-color: #{$form-label-color};\n --form-label-margin-bottom: #{$form-label-margin-bottom};\n\n // Form Helper/Error\n --form-helper-font-size: #{$form-helper-font-size};\n --form-helper-color: #{$form-helper-color};\n --form-error-color: #{$form-error-color};\n --form-error-font-size: #{$form-error-font-size};\n --form-helper-margin-top: #{$form-helper-margin-top};\n\n // Form Group\n --form-group-margin-bottom: #{$form-group-margin-bottom};\n\n // Checkbox & Radio\n --form-checkbox-size: #{$form-checkbox-size};\n --form-checkbox-margin-right: #{$form-checkbox-margin-right};\n --form-checkbox-accent-color: #{$form-checkbox-accent-color};\n --form-checkbox-opacity-disabled: #{$form-checkbox-opacity-disabled};\n\n // Switch\n --form-switch-width: #{$form-switch-width};\n --form-switch-height: #{$form-switch-height};\n --form-switch-slider-size: #{$form-switch-slider-size};\n --form-switch-slider-offset: #{$form-switch-slider-offset};\n --form-switch-slider-translate: #{$form-switch-slider-translate};\n --form-switch-bg: #{$form-switch-bg};\n --form-switch-bg-active: #{$form-switch-bg-active};\n --form-switch-slider-bg: #{$form-switch-slider-bg};\n --form-switch-focus-shadow: #{$form-switch-focus-shadow};\n --form-switch-opacity-disabled: #{$form-switch-opacity-disabled};\n\n // Textarea\n --form-textarea-min-height: #{$form-textarea-min-height};\n --form-textarea-resize: #{$form-textarea-resize};\n\n // Range\n --form-range-height: #{$form-range-height};\n --form-range-thumb-size: #{$form-range-thumb-size};\n --form-range-bg: #{$form-range-bg};\n --form-range-thumb-bg: #{$form-range-thumb-bg};\n\n // File Input\n --form-file-input-padding: #{$form-file-input-padding};\n --form-file-input-font-size: #{$form-file-input-font-size};\n --form-file-input-border-style: #{$form-file-input-border-style};\n --form-file-input-bg: #{$form-file-input-bg};\n --form-file-input-bg-hover: #{$form-file-input-bg-hover};\n}\n","// ============================================================================\n// Glassmorphism Tokens (Technical Glass Design)\n// ============================================================================\n\n// Glass Background Colors (milky, desaturated)\n$glass-bg-light: rgba(255, 255, 255, 0.05);\n$glass-bg-medium: rgba(255, 255, 255, 0.08);\n$glass-bg-heavy: rgba(255, 255, 255, 0.12);\n$glass-bg-etched: rgba(255, 255, 255, 0.15); // For table headers (etched glass)\n\n// Backdrop Blur (subtle, reduced)\n$glass-blur-sm: 2px;\n$glass-blur-md: 4px;\n$glass-blur-lg: 6px;\n$glass-blur-xl: 8px;\n\n// Glass Borders (cool, slightly bright on dark ground)\n$glass-border-light: rgba(255, 255, 255, 0.1);\n$glass-border-medium: rgba(255, 255, 255, 0.15);\n$glass-border-heavy: rgba(255, 255, 255, 0.2);\n\n// Glass Shadows (subtle gray, no colorful glows)\n$glass-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.1);\n$glass-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.15);\n$glass-shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.2);\n\n// Technical Border Radius (max 4px)\n$tech-border-radius-none: 0;\n$tech-border-radius-sm: 2px;\n$tech-border-radius-md: 4px;\n\n// Export as CSS Custom Properties\n:root {\n // Glass Backgrounds\n --glass-bg-light: #{$glass-bg-light};\n --glass-bg-medium: #{$glass-bg-medium};\n --glass-bg-heavy: #{$glass-bg-heavy};\n --glass-bg-etched: #{$glass-bg-etched};\n\n // Backdrop Blur\n --glass-blur-sm: #{$glass-blur-sm};\n --glass-blur-md: #{$glass-blur-md};\n --glass-blur-lg: #{$glass-blur-lg};\n --glass-blur-xl: #{$glass-blur-xl};\n\n // Glass Borders\n --glass-border-light: #{$glass-border-light};\n --glass-border-medium: #{$glass-border-medium};\n --glass-border-heavy: #{$glass-border-heavy};\n\n // Glass Shadows\n --glass-shadow-sm: #{$glass-shadow-sm};\n --glass-shadow-md: #{$glass-shadow-md};\n --glass-shadow-lg: #{$glass-shadow-lg};\n\n // Technical Border Radius\n --tech-border-radius-none: #{$tech-border-radius-none};\n --tech-border-radius-sm: #{$tech-border-radius-sm};\n --tech-border-radius-md: #{$tech-border-radius-md};\n}\n","// ============================================================================\n// CSS Reset\n// ============================================================================\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n}\n\nhtml {\n -webkit-text-size-adjust: 100%;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n}\n\nbody {\n margin: 0;\n padding: 0;\n}\n\n","// ============================================================================\n// Normalize.css-inspired Browser Normalization\n// ============================================================================\n\n// Document\nhtml {\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n}\n\n// Sections\nbody {\n margin: 0;\n}\n\n// Grouping content\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Text-level semantics\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n// Embedded content\nimg {\n border-style: none;\n max-width: 100%;\n height: auto;\n display: block;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Forms\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\n// Interactive\ndetails {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\n// Misc\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\n","// ============================================================================\n// Base Styles (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Root Element\n:root {\n font-size: 16px; // Base font size for rem calculations\n}\n\n// Body (Dark Graphite, Desaturated)\nbody {\n font-family: var(--font-family-base);\n font-size: var(--font-size-base);\n line-height: var(--line-height-base);\n color: var(--color-text);\n background-color: var(--color-bg);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n min-height: 100vh;\n}\n\n// Headings (High Contrast)\nh1, h2, h3, h4, h5, h6 {\n margin: 0;\n font-weight: var(--font-weight-semibold);\n line-height: var(--line-height-tight);\n color: var(--color-text);\n}\n\nh1 {\n font-size: var(--font-size-4xl);\n}\n\nh2 {\n font-size: var(--font-size-3xl);\n}\n\nh3 {\n font-size: var(--font-size-2xl);\n}\n\nh4 {\n font-size: var(--font-size-xl);\n}\n\nh5 {\n font-size: var(--font-size-lg);\n}\n\nh6 {\n font-size: var(--font-size-base);\n}\n\n// Paragraphs\np {\n margin: 0;\n line-height: var(--line-height-base);\n color: var(--color-text);\n}\n\n// Links\na {\n color: var(--color-accent);\n text-decoration: none;\n transition: var(--transition-colors);\n\n &:hover {\n color: var(--color-accent-light);\n }\n\n &:focus {\n outline: 1px solid var(--color-border-focus);\n outline-offset: 2px;\n }\n}\n\n// Lists\nul, ol {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n// Images\nimg {\n max-width: 100%;\n height: auto;\n display: block;\n}\n\n// Horizontal Rule\nhr {\n border: 0;\n border-top: 1px solid var(--color-border);\n margin: var(--spacing-lg) 0;\n}\n\n// Code (Technical Style, Monospace)\ncode {\n font-family: var(--font-family-mono);\n font-size: 0.875em;\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n border: 1px solid var(--glass-border-light);\n padding: 0.125em 0.25em;\n border-radius: var(--tech-border-radius-sm);\n color: var(--color-text);\n}\n\npre {\n font-family: var(--font-family-mono);\n font-size: var(--font-size-sm);\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n border: 1px solid var(--glass-border-medium);\n padding: var(--spacing-md);\n border-radius: var(--tech-border-radius-md);\n overflow-x: auto;\n color: var(--color-text);\n\n code {\n background-color: transparent;\n padding: 0;\n border: none;\n }\n}\n\n// Blockquote\nblockquote {\n margin: 0;\n padding-left: var(--spacing-lg);\n border-left: var(--border-width-base) solid var(--color-border);\n color: var(--color-text-muted);\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n padding: var(--spacing-md);\n border-radius: var(--tech-border-radius-md);\n}\n\n// Tables (basic)\ntable {\n width: 100%;\n border-collapse: collapse;\n}\n\n// Buttons (reset)\nbutton {\n background: none;\n border: none;\n padding: 0;\n font: inherit;\n cursor: pointer;\n color: inherit;\n}\n\n// Inputs (reset)\ninput,\nselect,\ntextarea {\n font: inherit;\n color: inherit;\n}\n\n// Focus styles (accessibility)\n*:focus {\n outline: 1px solid var(--color-border-focus);\n outline-offset: 2px;\n}\n\n*:focus:not(:focus-visible) {\n outline: none;\n}\n\n*:focus-visible {\n outline: 1px solid var(--color-border-focus);\n outline-offset: 2px;\n}\n","// ============================================================================\n// Container\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-container {\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n\n // Small devices (landscape phones, 640px and up)\n @media (min-width: 640px) {\n max-width: 640px;\n }\n\n // Medium devices (tablets, 768px and up)\n @media (min-width: 768px) {\n max-width: 768px;\n }\n\n // Large devices (desktops, 1024px and up)\n @media (min-width: 1024px) {\n max-width: 1024px;\n }\n\n // Extra large devices (large desktops, 1280px and up)\n @media (min-width: 1280px) {\n max-width: 1280px;\n }\n\n // 2X Large devices (larger desktops, 1536px and up)\n @media (min-width: 1536px) {\n max-width: 1536px;\n }\n}\n\n.bl-container-fluid {\n width: 100%;\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n}\n\n","// ============================================================================\n// Flexbox 12-Column Grid System\n// ============================================================================\n\n@use 'sass:math';\n@use '../tokens/tokens' as *;\n\n// Row\n.bl-row {\n display: flex;\n flex-wrap: wrap;\n margin-left: calc(var(--spacing-md) * -1);\n margin-right: calc(var(--spacing-md) * -1);\n}\n\n// Column Base\n.bl-col {\n flex: 1 0 0%;\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n}\n\n// Column Sizes (1-12)\n@for $i from 1 through 12 {\n .bl-col-#{$i} {\n flex: 0 0 auto;\n width: math.percentage(math.div($i, 12));\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n}\n\n// Responsive Breakpoints\n// Small (sm: 640px)\n@media (min-width: 640px) {\n .bl-col-sm {\n flex: 1 0 0%;\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n\n @for $i from 1 through 12 {\n .bl-col-sm-#{$i} {\n flex: 0 0 auto;\n width: math.percentage(math.div($i, 12));\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n }\n}\n\n// Medium (md: 768px)\n@media (min-width: 768px) {\n .bl-col-md {\n flex: 1 0 0%;\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n\n @for $i from 1 through 12 {\n .bl-col-md-#{$i} {\n flex: 0 0 auto;\n width: math.percentage(math.div($i, 12));\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n }\n}\n\n// Large (lg: 1024px)\n@media (min-width: 1024px) {\n .bl-col-lg {\n flex: 1 0 0%;\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n\n @for $i from 1 through 12 {\n .bl-col-lg-#{$i} {\n flex: 0 0 auto;\n width: math.percentage(math.div($i, 12));\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n }\n}\n\n// Extra Large (xl: 1280px)\n@media (min-width: 1280px) {\n .bl-col-xl {\n flex: 1 0 0%;\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n\n @for $i from 1 through 12 {\n .bl-col-xl-#{$i} {\n flex: 0 0 auto;\n width: math.percentage(math.div($i, 12));\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n }\n}\n\n// 2X Large (2xl: 1536px)\n@media (min-width: 1536px) {\n .bl-col-2xl {\n flex: 1 0 0%;\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n\n @for $i from 1 through 12 {\n .bl-col-2xl-#{$i} {\n flex: 0 0 auto;\n width: math.percentage(math.div($i, 12));\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n }\n}\n\n","// ============================================================================\n// CSS Grid Utilities\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Base Grid\n.bl-grid {\n display: grid;\n gap: var(--spacing-md);\n}\n\n// Grid Columns (1-12)\n@for $i from 1 through 12 {\n .bl-grid-cols-#{$i} {\n grid-template-columns: repeat(#{$i}, minmax(0, 1fr));\n }\n}\n\n// Grid Rows (1-12)\n@for $i from 1 through 12 {\n .bl-grid-rows-#{$i} {\n grid-template-rows: repeat(#{$i}, minmax(0, 1fr));\n }\n}\n\n// Gap Utilities\n.bl-gap-xs {\n gap: var(--spacing-xs);\n}\n\n.bl-gap-sm {\n gap: var(--spacing-sm);\n}\n\n.bl-gap-md {\n gap: var(--spacing-md);\n}\n\n.bl-gap-lg {\n gap: var(--spacing-lg);\n}\n\n.bl-gap-xl {\n gap: var(--spacing-xl);\n}\n\n.bl-gap-2xl {\n gap: var(--spacing-2xl);\n}\n\n// Column Gap\n.bl-gap-x-xs {\n column-gap: var(--spacing-xs);\n}\n\n.bl-gap-x-sm {\n column-gap: var(--spacing-sm);\n}\n\n.bl-gap-x-md {\n column-gap: var(--spacing-md);\n}\n\n.bl-gap-x-lg {\n column-gap: var(--spacing-lg);\n}\n\n.bl-gap-x-xl {\n column-gap: var(--spacing-xl);\n}\n\n.bl-gap-x-2xl {\n column-gap: var(--spacing-2xl);\n}\n\n// Row Gap\n.bl-gap-y-xs {\n row-gap: var(--spacing-xs);\n}\n\n.bl-gap-y-sm {\n row-gap: var(--spacing-sm);\n}\n\n.bl-gap-y-md {\n row-gap: var(--spacing-md);\n}\n\n.bl-gap-y-lg {\n row-gap: var(--spacing-lg);\n}\n\n.bl-gap-y-xl {\n row-gap: var(--spacing-xl);\n}\n\n.bl-gap-y-2xl {\n row-gap: var(--spacing-2xl);\n}\n\n// Grid Column Span\n@for $i from 1 through 12 {\n .bl-col-span-#{$i} {\n grid-column: span #{$i} / span #{$i};\n }\n}\n\n// Grid Row Span\n@for $i from 1 through 12 {\n .bl-row-span-#{$i} {\n grid-row: span #{$i} / span #{$i};\n }\n}\n\n// Auto Flow\n.bl-grid-flow-row {\n grid-auto-flow: row;\n}\n\n.bl-grid-flow-col {\n grid-auto-flow: column;\n}\n\n.bl-grid-flow-dense {\n grid-auto-flow: dense;\n}\n\n","// ============================================================================\n// Flexbox Utilities\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Display\n.bl-flex {\n display: flex;\n}\n\n.bl-inline-flex {\n display: inline-flex;\n}\n\n// Direction\n.bl-flex-row {\n flex-direction: row;\n}\n\n.bl-flex-row-reverse {\n flex-direction: row-reverse;\n}\n\n.bl-flex-col {\n flex-direction: column;\n}\n\n.bl-flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n// Wrap\n.bl-flex-wrap {\n flex-wrap: wrap;\n}\n\n.bl-flex-nowrap {\n flex-wrap: nowrap;\n}\n\n.bl-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n}\n\n// Justify Content\n.bl-justify-start {\n justify-content: flex-start;\n}\n\n.bl-justify-end {\n justify-content: flex-end;\n}\n\n.bl-justify-center {\n justify-content: center;\n}\n\n.bl-justify-between {\n justify-content: space-between;\n}\n\n.bl-justify-around {\n justify-content: space-around;\n}\n\n.bl-justify-evenly {\n justify-content: space-evenly;\n}\n\n// Align Items\n.bl-items-start {\n align-items: flex-start;\n}\n\n.bl-items-end {\n align-items: flex-end;\n}\n\n.bl-items-center {\n align-items: center;\n}\n\n.bl-items-baseline {\n align-items: baseline;\n}\n\n.bl-items-stretch {\n align-items: stretch;\n}\n\n// Align Self\n.bl-self-auto {\n align-self: auto;\n}\n\n.bl-self-start {\n align-self: flex-start;\n}\n\n.bl-self-end {\n align-self: flex-end;\n}\n\n.bl-self-center {\n align-self: center;\n}\n\n.bl-self-stretch {\n align-self: stretch;\n}\n\n.bl-self-baseline {\n align-self: baseline;\n}\n\n// Align Content\n.bl-content-start {\n align-content: flex-start;\n}\n\n.bl-content-end {\n align-content: flex-end;\n}\n\n.bl-content-center {\n align-content: center;\n}\n\n.bl-content-between {\n align-content: space-between;\n}\n\n.bl-content-around {\n align-content: space-around;\n}\n\n.bl-content-stretch {\n align-content: stretch;\n}\n\n// Flex Grow/Shrink\n.bl-flex-1 {\n flex: 1 1 0%;\n}\n\n.bl-flex-auto {\n flex: 1 1 auto;\n}\n\n.bl-flex-initial {\n flex: 0 1 auto;\n}\n\n.bl-flex-none {\n flex: none;\n}\n\n.bl-grow {\n flex-grow: 1;\n}\n\n.bl-grow-0 {\n flex-grow: 0;\n}\n\n.bl-shrink {\n flex-shrink: 1;\n}\n\n.bl-shrink-0 {\n flex-shrink: 0;\n}\n\n","// ============================================================================\n// Spacing Utilities\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Spacing sizes\n$spacing-sizes: (\n 'xs': var(--spacing-xs),\n 'sm': var(--spacing-sm),\n 'md': var(--spacing-md),\n 'lg': var(--spacing-lg),\n 'xl': var(--spacing-xl),\n '2xl': var(--spacing-2xl),\n '3xl': var(--spacing-3xl),\n '0': 0,\n 'auto': auto\n);\n\n// Margin Utilities\n@each $name, $value in $spacing-sizes {\n .m-#{$name} {\n margin: #{$value};\n }\n\n .mt-#{$name} {\n margin-top: #{$value};\n }\n\n .mr-#{$name} {\n margin-right: #{$value};\n }\n\n .mb-#{$name} {\n margin-bottom: #{$value};\n }\n\n .ml-#{$name} {\n margin-left: #{$value};\n }\n\n .mx-#{$name} {\n margin-left: #{$value};\n margin-right: #{$value};\n }\n\n .my-#{$name} {\n margin-top: #{$value};\n margin-bottom: #{$value};\n }\n}\n\n// Padding Utilities\n@each $name, $value in $spacing-sizes {\n @if $name != 'auto' {\n .p-#{$name} {\n padding: #{$value};\n }\n\n .pt-#{$name} {\n padding-top: #{$value};\n }\n\n .pr-#{$name} {\n padding-right: #{$value};\n }\n\n .pb-#{$name} {\n padding-bottom: #{$value};\n }\n\n .pl-#{$name} {\n padding-left: #{$value};\n }\n\n .px-#{$name} {\n padding-left: #{$value};\n padding-right: #{$value};\n }\n\n .py-#{$name} {\n padding-top: #{$value};\n padding-bottom: #{$value};\n }\n }\n}\n\n","// ============================================================================\n// Display Utilities\n// ============================================================================\n\n.bl-d-none {\n display: none;\n}\n\n.bl-d-inline {\n display: inline;\n}\n\n.bl-d-inline-block {\n display: inline-block;\n}\n\n.bl-d-block {\n display: block;\n}\n\n.bl-d-table {\n display: table;\n}\n\n.bl-d-table-row {\n display: table-row;\n}\n\n.bl-d-table-cell {\n display: table-cell;\n}\n\n.bl-d-flex {\n display: flex;\n}\n\n.bl-d-inline-flex {\n display: inline-flex;\n}\n\n.bl-d-grid {\n display: grid;\n}\n\n.bl-d-inline-grid {\n display: inline-grid;\n}\n\n// Responsive Display Utilities\n@media (min-width: 640px) {\n .bl-d-sm-none { display: none; }\n .bl-d-sm-inline { display: inline; }\n .bl-d-sm-inline-block { display: inline-block; }\n .bl-d-sm-block { display: block; }\n .bl-d-sm-flex { display: flex; }\n .bl-d-sm-inline-flex { display: inline-flex; }\n .bl-d-sm-grid { display: grid; }\n}\n\n@media (min-width: 768px) {\n .bl-d-md-none { display: none; }\n .bl-d-md-inline { display: inline; }\n .bl-d-md-inline-block { display: inline-block; }\n .bl-d-md-block { display: block; }\n .bl-d-md-flex { display: flex; }\n .bl-d-md-inline-flex { display: inline-flex; }\n .bl-d-md-grid { display: grid; }\n}\n\n@media (min-width: 1024px) {\n .bl-d-lg-none { display: none; }\n .bl-d-lg-inline { display: inline; }\n .bl-d-lg-inline-block { display: inline-block; }\n .bl-d-lg-block { display: block; }\n .bl-d-lg-flex { display: flex; }\n .bl-d-lg-inline-flex { display: inline-flex; }\n .bl-d-lg-grid { display: grid; }\n}\n\n@media (min-width: 1280px) {\n .bl-d-xl-none { display: none; }\n .bl-d-xl-inline { display: inline; }\n .bl-d-xl-inline-block { display: inline-block; }\n .bl-d-xl-block { display: block; }\n .bl-d-xl-flex { display: flex; }\n .bl-d-xl-inline-flex { display: inline-flex; }\n .bl-d-xl-grid { display: grid; }\n}\n\n","// ============================================================================\n// Text Utilities\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Text Alignment\n.bl-text-left {\n text-align: left;\n}\n\n.bl-text-center {\n text-align: center;\n}\n\n.bl-text-right {\n text-align: right;\n}\n\n.bl-text-justify {\n text-align: justify;\n}\n\n// Text Size\n.bl-text-xs {\n font-size: var(--font-size-xs);\n}\n\n.bl-text-sm {\n font-size: var(--font-size-sm);\n}\n\n.bl-text-base {\n font-size: var(--font-size-base);\n}\n\n.bl-text-lg {\n font-size: var(--font-size-lg);\n}\n\n.bl-text-xl {\n font-size: var(--font-size-xl);\n}\n\n.bl-text-2xl {\n font-size: var(--font-size-2xl);\n}\n\n.bl-text-3xl {\n font-size: var(--font-size-3xl);\n}\n\n.bl-text-4xl {\n font-size: var(--font-size-4xl);\n}\n\n.bl-text-5xl {\n font-size: var(--font-size-5xl);\n}\n\n.bl-text-6xl {\n font-size: var(--font-size-6xl);\n}\n\n// Font Weight\n.bl-font-light {\n font-weight: var(--font-weight-light);\n}\n\n.bl-font-normal {\n font-weight: var(--font-weight-normal);\n}\n\n.bl-font-medium {\n font-weight: var(--font-weight-medium);\n}\n\n.bl-font-semibold {\n font-weight: var(--font-weight-semibold);\n}\n\n.bl-font-bold {\n font-weight: var(--font-weight-bold);\n}\n\n.bl-font-extrabold {\n font-weight: var(--font-weight-extrabold);\n}\n\n// Line Height\n.bl-leading-none {\n line-height: var(--line-height-none);\n}\n\n.bl-leading-tight {\n line-height: var(--line-height-tight);\n}\n\n.bl-leading-snug {\n line-height: var(--line-height-snug);\n}\n\n.bl-leading-base {\n line-height: var(--line-height-base);\n}\n\n.bl-leading-relaxed {\n line-height: var(--line-height-relaxed);\n}\n\n.bl-leading-loose {\n line-height: var(--line-height-loose);\n}\n\n// Text Transform\n.bl-uppercase {\n text-transform: uppercase;\n}\n\n.bl-lowercase {\n text-transform: lowercase;\n}\n\n.bl-capitalize {\n text-transform: capitalize;\n}\n\n.bl-normal-case {\n text-transform: none;\n}\n\n// Text Decoration\n.bl-underline {\n text-decoration: underline;\n}\n\n.bl-line-through {\n text-decoration: line-through;\n}\n\n.bl-no-underline {\n text-decoration: none;\n}\n\n// Letter Spacing\n.bl-tracking-tighter {\n letter-spacing: var(--letter-spacing-tighter);\n}\n\n.bl-tracking-tight {\n letter-spacing: var(--letter-spacing-tight);\n}\n\n.bl-tracking-normal {\n letter-spacing: var(--letter-spacing-normal);\n}\n\n.bl-tracking-wide {\n letter-spacing: var(--letter-spacing-wide);\n}\n\n.bl-tracking-wider {\n letter-spacing: var(--letter-spacing-wider);\n}\n\n.bl-tracking-widest {\n letter-spacing: var(--letter-spacing-widest);\n}\n\n// Text Color\n.bl-text-primary {\n color: var(--color-primary);\n}\n\n.bl-text-secondary {\n color: var(--color-secondary);\n}\n\n.bl-text-success {\n color: var(--color-success);\n}\n\n.bl-text-warning {\n color: var(--color-warning);\n}\n\n.bl-text-error {\n color: var(--color-error);\n}\n\n.bl-text-info {\n color: var(--color-info);\n}\n\n.bl-text-muted {\n color: var(--color-text-muted);\n}\n\n.bl-text-light {\n color: var(--color-text-light);\n}\n\n.bl-text-inverse {\n color: var(--color-text-inverse);\n}\n\n// Font Family\n.bl-font-sans {\n font-family: var(--font-family-base);\n}\n\n.bl-font-mono {\n font-family: var(--font-family-mono);\n}\n\n.bl-font-serif {\n font-family: var(--font-family-serif);\n}\n\n// Text Overflow\n.bl-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.bl-text-ellipsis {\n text-overflow: ellipsis;\n}\n\n.bl-text-clip {\n text-overflow: clip;\n}\n\n// White Space\n.bl-whitespace-normal {\n white-space: normal;\n}\n\n.bl-whitespace-nowrap {\n white-space: nowrap;\n}\n\n.bl-whitespace-pre {\n white-space: pre;\n}\n\n.bl-whitespace-pre-line {\n white-space: pre-line;\n}\n\n.bl-whitespace-pre-wrap {\n white-space: pre-wrap;\n}\n\n","// ============================================================================\n// Visibility Utilities\n// ============================================================================\n\n.bl-visible {\n visibility: visible;\n}\n\n.bl-invisible {\n visibility: hidden;\n}\n\n// Opacity\n.bl-opacity-0 {\n opacity: 0;\n}\n\n.bl-opacity-25 {\n opacity: 0.25;\n}\n\n.bl-opacity-50 {\n opacity: 0.5;\n}\n\n.bl-opacity-75 {\n opacity: 0.75;\n}\n\n.bl-opacity-100 {\n opacity: 1;\n}\n\n// Overflow\n.bl-overflow-auto {\n overflow: auto;\n}\n\n.bl-overflow-hidden {\n overflow: hidden;\n}\n\n.bl-overflow-visible {\n overflow: visible;\n}\n\n.bl-overflow-scroll {\n overflow: scroll;\n}\n\n.bl-overflow-x-auto {\n overflow-x: auto;\n}\n\n.bl-overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.bl-overflow-x-scroll {\n overflow-x: scroll;\n}\n\n.bl-overflow-y-auto {\n overflow-y: auto;\n}\n\n.bl-overflow-y-hidden {\n overflow-y: hidden;\n}\n\n.bl-overflow-y-scroll {\n overflow-y: scroll;\n}\n\n","// ============================================================================\n// Position Utilities\n// ============================================================================\n\n.bl-static {\n position: static;\n}\n\n.bl-fixed {\n position: fixed;\n}\n\n.bl-absolute {\n position: absolute;\n}\n\n.bl-relative {\n position: relative;\n}\n\n.bl-sticky {\n position: sticky;\n}\n\n// Top, Right, Bottom, Left\n.bl-top-0 {\n top: 0;\n}\n\n.bl-right-0 {\n right: 0;\n}\n\n.bl-bottom-0 {\n bottom: 0;\n}\n\n.bl-left-0 {\n left: 0;\n}\n\n.bl-top-auto {\n top: auto;\n}\n\n.bl-right-auto {\n right: auto;\n}\n\n.bl-bottom-auto {\n bottom: auto;\n}\n\n.bl-left-auto {\n left: auto;\n}\n\n// Insets\n.bl-inset-0 {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n\n.bl-inset-auto {\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n}\n\n// Z-Index\n.bl-z-0 {\n z-index: var(--z-index-base);\n}\n\n.bl-z-dropdown {\n z-index: var(--z-index-dropdown);\n}\n\n.bl-z-sticky {\n z-index: var(--z-index-sticky);\n}\n\n.bl-z-fixed {\n z-index: var(--z-index-fixed);\n}\n\n.bl-z-modal-backdrop {\n z-index: var(--z-index-modal-backdrop);\n}\n\n.bl-z-modal {\n z-index: var(--z-index-modal);\n}\n\n.bl-z-popover {\n z-index: var(--z-index-popover);\n}\n\n.bl-z-tooltip {\n z-index: var(--z-index-tooltip);\n}\n\n","// ============================================================================\n// Animation Utilities\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Transition\n.bl-transition {\n transition: var(--transition-base);\n}\n\n.bl-transition-colors {\n transition: var(--transition-colors);\n}\n\n.bl-transition-opacity {\n transition: var(--transition-opacity);\n}\n\n.bl-transition-transform {\n transition: var(--transition-transform);\n}\n\n.bl-transition-none {\n transition: none;\n}\n\n// Duration\n.bl-duration-fast {\n transition-duration: var(--transition-duration-fast);\n}\n\n.bl-duration-base {\n transition-duration: var(--transition-duration-base);\n}\n\n.bl-duration-slow {\n transition-duration: var(--transition-duration-slow);\n}\n\n.bl-duration-slower {\n transition-duration: var(--transition-duration-slower);\n}\n\n// Easing\n.bl-ease-linear {\n transition-timing-function: var(--transition-ease-linear);\n}\n\n.bl-ease-in {\n transition-timing-function: var(--transition-ease-in);\n}\n\n.bl-ease-out {\n transition-timing-function: var(--transition-ease-out);\n}\n\n.bl-ease-in-out {\n transition-timing-function: var(--transition-ease-in-out);\n}\n\n// Fade Animations\n@keyframes bl-fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n@keyframes bl-fade-out {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n\n.bl-fade-in {\n animation: bl-fade-in var(--transition-duration-base) var(--transition-ease-out);\n}\n\n.bl-fade-out {\n animation: bl-fade-out var(--transition-duration-base) var(--transition-ease-out);\n}\n\n// Slide Animations\n@keyframes bl-slide-up {\n from {\n transform: translateY(100%);\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n}\n\n@keyframes bl-slide-down {\n from {\n transform: translateY(-100%);\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n}\n\n@keyframes bl-slide-left {\n from {\n transform: translateX(100%);\n opacity: 0;\n }\n to {\n transform: translateX(0);\n opacity: 1;\n }\n}\n\n@keyframes bl-slide-right {\n from {\n transform: translateX(-100%);\n opacity: 0;\n }\n to {\n transform: translateX(0);\n opacity: 1;\n }\n}\n\n.bl-slide-up {\n animation: bl-slide-up var(--transition-duration-base) var(--transition-ease-out);\n}\n\n.bl-slide-down {\n animation: bl-slide-down var(--transition-duration-base) var(--transition-ease-out);\n}\n\n.bl-slide-left {\n animation: bl-slide-left var(--transition-duration-base) var(--transition-ease-out);\n}\n\n.bl-slide-right {\n animation: bl-slide-right var(--transition-duration-base) var(--transition-ease-out);\n}\n\n// Spin Animation\n@keyframes bl-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n.bl-animate-spin {\n animation: bl-spin 1s linear infinite;\n}\n\n// Pulse Animation\n@keyframes bl-pulse {\n 0%, 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n}\n\n.bl-animate-pulse {\n animation: bl-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n\n","// ============================================================================\n// Accessibility Utilities\n// ============================================================================\n\n// Screen Reader Only\n.bl-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.bl-sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n padding: inherit;\n margin: inherit;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n// Skip Link\n.bl-skip-link {\n position: absolute;\n top: -40px;\n left: 0;\n z-index: var(--z-index-tooltip);\n padding: var(--spacing-sm) var(--spacing-md);\n background-color: var(--color-primary);\n color: var(--color-text-inverse);\n text-decoration: none;\n border-radius: var(--border-radius-md);\n\n &:focus {\n top: var(--spacing-sm);\n outline: 2px solid var(--color-border-focus);\n outline-offset: 2px;\n }\n}\n\n// Focus Visible (for keyboard navigation)\n.bl-focus-visible:focus-visible {\n outline: 2px solid var(--color-border-focus);\n outline-offset: 2px;\n}\n\n// High Contrast Mode Support\n@media (prefers-contrast: high) {\n * {\n border-color: currentColor !important;\n }\n\n .bl-skip-link {\n border: 2px solid currentColor;\n }\n}\n\n// Reduced Motion\n@media (prefers-reduced-motion: reduce) {\n *,\n *::before,\n *::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n}\n\n","// ============================================================================\n// Button Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-sm) var(--spacing-md);\n font-family: var(--font-family-base);\n font-size: var(--font-size-base);\n font-weight: var(--font-weight-medium);\n line-height: var(--line-height-base);\n text-align: center;\n text-decoration: none;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-sm);\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n transition: var(--transition-base);\n color: var(--color-text);\n\n &:focus {\n outline: 1px solid var(--color-border-focus);\n outline-offset: 2px;\n }\n\n &:disabled,\n &.bl-disabled {\n opacity: 0.6;\n cursor: not-allowed;\n pointer-events: none;\n }\n}\n\n// Button Sizes\n.bl-btn-sm {\n padding: var(--spacing-xs) var(--spacing-sm);\n font-size: var(--font-size-sm);\n}\n\n.bl-btn-lg {\n padding: var(--spacing-md) var(--spacing-lg);\n font-size: var(--font-size-lg);\n}\n\n// Button Variants\n.bl-btn-primary {\n background: var(--color-accent);\n color: var(--color-text-inverse);\n border-color: var(--color-accent);\n\n &:hover:not(:disabled):not(.bl-disabled) {\n background: var(--color-accent-dark);\n border-color: var(--color-accent-dark);\n }\n\n &:active:not(:disabled):not(.bl-disabled) {\n transform: translateY(1px); // Pressed effect\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n.bl-btn-secondary {\n background: var(--glass-bg-medium);\n color: var(--color-text);\n border-color: var(--glass-border-medium);\n\n &:hover:not(:disabled):not(.bl-disabled) {\n background: var(--glass-bg-heavy);\n border-color: var(--glass-border-heavy);\n }\n\n &:active:not(:disabled):not(.bl-disabled) {\n transform: translateY(1px);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n.bl-btn-outline {\n background: transparent;\n color: var(--color-accent);\n border-color: var(--color-accent);\n\n &:hover:not(:disabled):not(.bl-disabled) {\n background: var(--glass-bg-light);\n border-color: var(--color-accent-light);\n }\n\n &:active:not(:disabled):not(.bl-disabled) {\n transform: translateY(1px);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n.bl-btn-ghost {\n background: transparent;\n color: var(--color-text);\n border-color: transparent;\n\n &:hover:not(:disabled):not(.bl-disabled) {\n background: var(--glass-bg-light);\n border-color: var(--glass-border-light);\n }\n\n &:active:not(:disabled):not(.bl-disabled) {\n transform: translateY(1px);\n }\n}\n\n.bl-btn-link {\n background: transparent;\n color: var(--color-accent);\n border-color: transparent;\n padding: 0;\n text-decoration: underline;\n\n &:hover:not(:disabled):not(.bl-disabled) {\n color: var(--color-accent-light);\n text-decoration: none;\n }\n}\n\n// Semantic Button Variants\n.bl-btn-success {\n background: var(--color-success);\n color: var(--color-text-inverse);\n border-color: var(--color-success);\n\n &:hover:not(:disabled):not(.bl-disabled) {\n background: var(--color-success-dark);\n border-color: var(--color-success-dark);\n }\n\n &:active:not(:disabled):not(.bl-disabled) {\n transform: translateY(1px);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n.bl-btn-warning {\n background: var(--color-warning);\n color: var(--color-text-inverse);\n border-color: var(--color-warning);\n\n &:hover:not(:disabled):not(.bl-disabled) {\n background: var(--color-warning-dark);\n border-color: var(--color-warning-dark);\n }\n\n &:active:not(:disabled):not(.bl-disabled) {\n transform: translateY(1px);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n.bl-btn-error {\n background: var(--color-error);\n color: var(--color-text-inverse);\n border-color: var(--color-error);\n\n &:hover:not(:disabled):not(.bl-disabled) {\n background: var(--color-error-dark);\n border-color: var(--color-error-dark);\n }\n\n &:active:not(:disabled):not(.bl-disabled) {\n transform: translateY(1px);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n.bl-btn-info {\n background: var(--color-info);\n color: var(--color-text-inverse);\n border-color: var(--color-info);\n\n &:hover:not(:disabled):not(.bl-disabled) {\n background: var(--color-info-dark);\n border-color: var(--color-info-dark);\n }\n\n &:active:not(:disabled):not(.bl-disabled) {\n transform: translateY(1px);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n// Button Block (full width)\n.bl-btn-block {\n display: flex;\n width: 100%;\n}\n","// ============================================================================\n// Form Components (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Form Group\n.bl-form-group {\n margin-bottom: var(--form-group-margin-bottom);\n}\n\n.bl-form-label {\n display: block;\n margin-bottom: var(--form-label-margin-bottom);\n font-size: var(--form-label-font-size);\n font-weight: var(--form-label-font-weight);\n color: var(--color-text);\n}\n\n.bl-form-label-required::after {\n content: ' *';\n color: var(--form-error-color);\n}\n\n.bl-form-helper {\n display: block;\n margin-top: var(--form-helper-margin-top);\n font-size: var(--form-helper-font-size);\n color: var(--color-text-muted);\n}\n\n.bl-form-error {\n display: block;\n margin-top: var(--form-helper-margin-top);\n font-size: var(--form-error-font-size);\n color: var(--color-error);\n}\n\n// Input Base (Recessed Glass Windows)\n.bl-input,\n.bl-textarea {\n display: block;\n width: 100%;\n padding: var(--form-input-padding-y) var(--form-input-padding-x);\n font-family: var(--font-family-base);\n font-size: var(--form-input-font-size);\n line-height: var(--form-input-line-height);\n color: var(--color-text);\n background: var(--glass-bg-light);\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-sm);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n transition: var(--transition-base);\n\n &::placeholder {\n color: var(--color-text-muted);\n opacity: 1;\n font-style: normal; // Technical labeling style\n }\n\n &:focus {\n outline: none;\n border-width: 2px; // Sharper border, not brighter\n border-color: var(--color-accent);\n background: var(--glass-bg-medium);\n }\n\n &:disabled {\n opacity: var(--form-input-opacity-disabled);\n cursor: not-allowed;\n background: var(--glass-bg-dark);\n }\n}\n\n// Select (wird automatisch zu Dropdown umgewandelt)\n.bl-select {\n // Wird durch JavaScript in .bl-select-dropdown umgewandelt\n // Fallback-Styling für den Fall, dass JS nicht lädt\n display: block;\n width: 100%;\n padding: var(--form-input-padding-y) var(--form-input-padding-x);\n padding-right: calc(var(--form-input-padding-x) + 1.5rem);\n font-family: var(--font-family-base);\n font-size: var(--form-input-font-size);\n line-height: var(--form-input-line-height);\n color: var(--color-text);\n background: var(--glass-bg-medium);\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-md);\n backdrop-filter: blur(var(--glass-blur-lg));\n -webkit-backdrop-filter: blur(var(--glass-blur-lg));\n transition: var(--transition-base);\n cursor: pointer;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%23ffffff' d='M0 2l4 4 4-4z'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: right var(--form-input-padding-x) center;\n background-size: 0.75rem;\n box-shadow: var(--glass-shadow-sm);\n\n &:focus {\n outline: none;\n border-width: 2px;\n border-color: var(--color-accent);\n background-color: var(--glass-bg-medium);\n box-shadow: var(--glass-shadow-md), 0 0 0 1px var(--color-accent);\n }\n\n &:hover {\n background-color: var(--glass-bg-heavy);\n border-color: var(--glass-border-heavy);\n }\n\n &:disabled {\n opacity: var(--form-input-opacity-disabled);\n cursor: not-allowed;\n background-color: var(--glass-bg-dark);\n box-shadow: none;\n }\n\n // Wenn Select in Dropdown umgewandelt wurde, verstecken\n &.bl-select-converted {\n display: none;\n }\n}\n\n// Select Dropdown (automatisch generiert aus .bl-select)\n.bl-select-dropdown {\n position: relative;\n display: block;\n width: 100%;\n\n .bl-select-toggle {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: var(--form-input-padding-y) var(--form-input-padding-x);\n font-family: var(--font-family-base);\n font-size: var(--form-input-font-size);\n line-height: var(--form-input-line-height);\n color: var(--color-text);\n background: var(--glass-bg-medium);\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-md);\n backdrop-filter: blur(var(--glass-blur-lg));\n -webkit-backdrop-filter: blur(var(--glass-blur-lg));\n transition: var(--transition-base);\n cursor: pointer;\n box-shadow: var(--glass-shadow-sm);\n text-align: left;\n border: none; // Reset button border\n\n &::after {\n display: inline-block;\n margin-left: var(--spacing-xs);\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid var(--color-text);\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n flex-shrink: 0;\n }\n\n &:focus {\n outline: none;\n border-width: 2px;\n border-color: var(--color-accent);\n box-shadow: var(--glass-shadow-md), 0 0 0 1px var(--color-accent);\n }\n\n &:hover {\n background-color: var(--glass-bg-heavy);\n border-color: var(--glass-border-heavy);\n }\n\n &:disabled {\n opacity: var(--form-input-opacity-disabled);\n cursor: not-allowed;\n background-color: var(--glass-bg-dark);\n }\n }\n\n .bl-select-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 999999 !important; // Immer ganz oben\n display: none;\n width: 100%;\n min-width: 100%;\n padding: var(--spacing-xs) 0;\n margin: var(--spacing-xs) 0 0 0;\n font-size: var(--font-size-base);\n color: var(--color-text);\n text-align: left;\n list-style: none;\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-lg));\n -webkit-backdrop-filter: blur(var(--glass-blur-lg));\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-md);\n overflow: hidden;\n overflow-y: auto;\n max-height: 300px;\n box-shadow: var(--glass-shadow-lg);\n\n &.bl-show {\n display: block;\n }\n }\n\n .bl-select-item {\n display: block;\n width: 100%;\n padding: var(--spacing-sm) var(--spacing-md);\n clear: both;\n font-weight: var(--font-weight-normal);\n color: var(--color-text);\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n cursor: pointer;\n transition: var(--transition-base);\n\n &:hover,\n &:focus {\n color: var(--color-text);\n text-decoration: none;\n background: var(--glass-bg-heavy);\n }\n\n &:active {\n color: var(--color-text);\n background: var(--glass-bg-heavy);\n }\n\n &.bl-selected {\n background: var(--glass-bg-heavy);\n color: var(--color-accent);\n\n &::before {\n content: \"✓ \";\n margin-right: var(--spacing-xs);\n }\n }\n\n &.bl-disabled,\n &:disabled {\n color: var(--color-text-muted);\n pointer-events: none;\n background-color: transparent;\n opacity: 0.6;\n }\n }\n}\n\n// Input States\n.bl-input-error,\n.bl-select-error,\n.bl-textarea-error {\n border-bottom: 2px solid var(--color-error); // Line, not area\n\n &:focus {\n border-width: 2px;\n border-color: var(--color-error);\n border-bottom-width: 2px;\n }\n}\n\n.bl-input-success,\n.bl-select-success,\n.bl-textarea-success {\n border-bottom: 2px solid var(--color-success);\n\n &:focus {\n border-width: 2px;\n border-color: var(--color-success);\n border-bottom-width: 2px;\n }\n}\n\n// Input Sizes\n.bl-input-sm,\n.bl-select-sm {\n padding: var(--form-input-padding-y-sm) var(--form-input-padding-x-sm);\n font-size: var(--form-input-font-size-sm);\n}\n\n.bl-select-sm {\n padding-right: calc(var(--form-input-padding-x-sm) + 1.25rem);\n}\n\n.bl-input-lg,\n.bl-select-lg {\n padding: var(--form-input-padding-y-lg) var(--form-input-padding-x-lg);\n font-size: var(--form-input-font-size-lg);\n}\n\n.bl-select-lg {\n padding-right: calc(var(--form-input-padding-x-lg) + 1.75rem);\n}\n\n// Textarea\n.bl-textarea {\n resize: var(--form-textarea-resize);\n min-height: var(--form-textarea-min-height);\n}\n\n// Checkbox & Radio\n.bl-checkbox,\n.bl-radio {\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n user-select: none;\n\n input[type=\"checkbox\"],\n input[type=\"radio\"] {\n width: var(--form-checkbox-size);\n height: var(--form-checkbox-size);\n margin-right: var(--form-checkbox-margin-right);\n cursor: pointer;\n accent-color: var(--form-checkbox-accent-color);\n }\n\n &:disabled {\n opacity: var(--form-checkbox-opacity-disabled);\n cursor: not-allowed;\n }\n}\n\n// Switch (Toggle)\n.bl-switch {\n position: relative;\n display: inline-block;\n width: var(--form-switch-width);\n height: var(--form-switch-height);\n\n input {\n opacity: 0;\n width: 0;\n height: 0;\n\n &:checked + .bl-switch-slider {\n background-color: var(--form-switch-bg-active);\n\n &::before {\n transform: translateX(var(--form-switch-slider-translate));\n }\n }\n\n &:focus + .bl-switch-slider {\n border-color: var(--color-accent);\n }\n\n &:disabled + .bl-switch-slider {\n opacity: var(--form-switch-opacity-disabled);\n cursor: not-allowed;\n }\n }\n}\n\n.bl-switch-slider {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--glass-bg-medium);\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--border-radius-full);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n transition: var(--transition-base);\n cursor: pointer;\n\n &::before {\n position: absolute;\n content: \"\";\n height: var(--form-switch-slider-size);\n width: var(--form-switch-slider-size);\n left: var(--form-switch-slider-offset);\n bottom: var(--form-switch-slider-offset);\n background: var(--glass-bg-heavy);\n border: 1px solid var(--glass-border-light);\n border-radius: var(--border-radius-full);\n transition: var(--transition-base);\n }\n}\n\n// File Input\n.bl-file-input {\n display: block;\n width: 100%;\n padding: var(--form-file-input-padding);\n font-size: var(--form-file-input-font-size);\n color: var(--color-text);\n border: 1px dashed var(--glass-border-medium);\n border-radius: var(--tech-border-radius-sm);\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n cursor: pointer;\n transition: var(--transition-base);\n\n &:hover {\n border-color: var(--glass-border-heavy);\n background: var(--glass-bg-medium);\n }\n\n input[type=\"file\"] {\n display: none;\n }\n}\n\n// Range Input\n.bl-range {\n width: 100%;\n height: var(--form-range-height);\n border-radius: var(--tech-border-radius-sm);\n background: var(--form-range-bg);\n outline: none;\n -webkit-appearance: none;\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: var(--form-range-thumb-size);\n height: var(--form-range-thumb-size);\n border-radius: var(--tech-border-radius-sm);\n background: var(--form-range-thumb-bg);\n border: 1px solid var(--glass-border-medium);\n cursor: pointer;\n }\n\n &::-moz-range-thumb {\n width: var(--form-range-thumb-size);\n height: var(--form-range-thumb-size);\n border-radius: var(--tech-border-radius-sm);\n background: var(--form-range-thumb-bg);\n border: 1px solid var(--glass-border-medium);\n cursor: pointer;\n }\n}\n\n// Input Group\n.bl-input-group {\n display: flex;\n width: 100%;\n\n .bl-input,\n .bl-select {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n\n &:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n margin-left: -1px;\n }\n\n &:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n }\n}\n","// ============================================================================\n// Card Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-card {\n display: flex;\n flex-direction: column;\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-md);\n overflow: hidden;\n transition: var(--transition-base);\n position: relative;\n\n // Optional: Vertical accent line at edge\n &.bl-card-accent-left {\n border-left: 4px solid var(--color-accent);\n }\n\n &.bl-card-accent-right {\n border-right: 4px solid var(--color-accent);\n }\n}\n\n.bl-card-header {\n padding: var(--spacing-md);\n border-bottom: 1px solid var(--glass-border-light);\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n}\n\n.bl-card-title {\n margin: 0;\n font-size: var(--font-size-lg);\n font-weight: var(--font-weight-semibold);\n color: var(--color-text);\n}\n\n.bl-card-subtitle {\n margin: var(--spacing-xs) 0 0 0;\n font-size: var(--font-size-sm);\n color: var(--color-text-muted);\n}\n\n.bl-card-body {\n padding: var(--spacing-md);\n flex: 1 1 auto;\n color: var(--color-text);\n}\n\n.bl-card-footer {\n padding: var(--spacing-md);\n border-top: 1px solid var(--glass-border-light);\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n}\n\n// Card Variants\n.bl-card-primary {\n border-color: var(--color-accent);\n}\n\n.bl-card-secondary {\n border-color: var(--glass-border-heavy);\n}\n\n// Card with Shadow\n.bl-card-shadow {\n box-shadow: var(--glass-shadow-md);\n}\n\n.bl-card-shadow-lg {\n box-shadow: var(--glass-shadow-lg);\n}\n\n// Card Hover Effect (subtle, no movement)\n.bl-card-hover {\n cursor: pointer;\n\n &:hover {\n background: var(--glass-bg-heavy);\n border-color: var(--glass-border-heavy);\n }\n}\n","// ============================================================================\n// Alert Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-alert {\n position: relative;\n padding: var(--spacing-md);\n margin-bottom: var(--spacing-md);\n border: 1px solid var(--glass-border-medium);\n border-left-width: 2px; // Clear border color line\n border-radius: var(--tech-border-radius-md);\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n color: var(--color-text);\n}\n\n.bl-alert-title {\n margin: 0 0 var(--spacing-xs) 0;\n font-size: var(--font-size-base);\n font-weight: var(--font-weight-semibold);\n color: var(--color-text);\n}\n\n.bl-alert-message {\n margin: 0;\n font-size: var(--font-size-sm);\n color: var(--color-text-muted);\n}\n\n// Alert Variants (Structure: Line → Title → Text)\n.bl-alert-info {\n border-left-color: var(--color-accent);\n color: var(--color-text);\n\n .bl-alert-title {\n color: var(--color-text);\n }\n}\n\n.bl-alert-success {\n border-left-color: var(--color-success);\n color: var(--color-text);\n\n .bl-alert-title {\n color: var(--color-text);\n }\n}\n\n.bl-alert-warning {\n border-left-color: var(--color-warning);\n color: var(--color-text);\n\n .bl-alert-title {\n color: var(--color-text);\n }\n}\n\n.bl-alert-error {\n border-left-color: var(--color-error);\n color: var(--color-text);\n\n .bl-alert-title {\n color: var(--color-text);\n }\n}\n\n// Dismissible Alert\n.bl-alert-dismissible {\n padding-right: var(--spacing-3xl);\n}\n\n.bl-alert-close {\n position: absolute;\n top: var(--spacing-sm);\n right: var(--spacing-sm);\n padding: var(--spacing-xs);\n background: transparent;\n border: none;\n cursor: pointer;\n opacity: 0.6;\n transition: var(--transition-opacity);\n color: var(--color-text);\n border-radius: var(--tech-border-radius-sm);\n\n &:hover {\n opacity: 1;\n }\n\n &::before {\n content: '×';\n font-size: var(--font-size-xl);\n line-height: 1;\n }\n}\n","// ============================================================================\n// Badge Component (Technical Glass Design - 2-part)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-badge {\n display: inline-flex;\n align-items: stretch;\n overflow: hidden;\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-medium);\n line-height: 1;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: var(--tech-border-radius-sm);\n border: 1px solid var(--glass-border-medium);\n}\n\n// Badge Label (Left Part - Matte)\n.bl-badge-label {\n display: inline-flex;\n align-items: center;\n padding: var(--spacing-xs) var(--spacing-sm);\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n color: var(--color-text-muted);\n border-right: 1px solid var(--glass-border-medium); // Technical edge\n flex-shrink: 0;\n}\n\n// Badge Value (Right Part - Glassy or Accented)\n.bl-badge-value {\n display: inline-flex;\n align-items: center;\n padding: var(--spacing-xs) var(--spacing-sm);\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n color: var(--color-text);\n flex-shrink: 0;\n}\n\n// Badge Variants\n.bl-badge-primary {\n .bl-badge-value {\n background: var(--color-accent);\n color: var(--color-text-inverse);\n }\n}\n\n.bl-badge-secondary {\n .bl-badge-value {\n background: var(--glass-bg-heavy);\n color: var(--color-text);\n }\n}\n\n.bl-badge-success {\n .bl-badge-value {\n background: var(--color-success);\n color: var(--color-text-inverse);\n }\n}\n\n.bl-badge-warning {\n .bl-badge-value {\n background: var(--color-warning);\n color: var(--color-text-inverse);\n }\n}\n\n.bl-badge-error {\n .bl-badge-value {\n background: var(--color-error);\n color: var(--color-text-inverse);\n }\n}\n\n.bl-badge-info {\n .bl-badge-value {\n background: var(--color-info);\n color: var(--color-text-inverse);\n }\n}\n\n// Badge Sizes\n.bl-badge-sm {\n font-size: 0.625rem;\n\n .bl-badge-label,\n .bl-badge-value {\n padding: 0.125rem var(--spacing-xs);\n }\n}\n\n.bl-badge-lg {\n font-size: var(--font-size-sm);\n\n .bl-badge-label,\n .bl-badge-value {\n padding: var(--spacing-sm) var(--spacing-md);\n }\n}\n","// ============================================================================\n// Modal Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--z-index-modal-backdrop);\n width: 100vw;\n height: 100vh;\n background: var(--color-bg-overlay);\n backdrop-filter: blur(var(--glass-blur-lg));\n -webkit-backdrop-filter: blur(var(--glass-blur-lg));\n}\n\n.bl-modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--z-index-modal);\n width: 100%;\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n outline: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-md);\n}\n\n.bl-modal-dialog {\n position: relative;\n width: 100%;\n max-width: 500px;\n margin: 0;\n pointer-events: none;\n\n @media (min-width: 576px) {\n max-width: 500px;\n }\n\n @media (min-width: 768px) {\n max-width: 600px;\n }\n\n @media (min-width: 1024px) {\n max-width: 800px;\n }\n}\n\n.bl-modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-xl));\n -webkit-backdrop-filter: blur(var(--glass-blur-xl));\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-md);\n outline: 0;\n}\n\n.bl-modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: var(--spacing-md);\n border-bottom: 1px solid var(--glass-border-light); // Clear divider line\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n}\n\n.bl-modal-title {\n margin: 0;\n font-size: var(--font-size-xl);\n font-weight: var(--font-weight-semibold);\n line-height: var(--line-height-tight);\n color: var(--color-text);\n}\n\n.bl-modal-close {\n padding: var(--spacing-xs);\n margin: calc(var(--spacing-xs) * -1) calc(var(--spacing-xs) * -1) calc(var(--spacing-xs) * -1) auto;\n background: transparent;\n border: 0;\n border-radius: var(--tech-border-radius-sm);\n opacity: 0.6;\n cursor: pointer;\n transition: var(--transition-opacity);\n color: var(--color-text);\n font-family: monospace; // Angular, minimal\n\n &:hover {\n opacity: 1;\n }\n\n &::before {\n content: '×';\n font-size: var(--font-size-2xl);\n font-weight: var(--font-weight-bold);\n line-height: 1;\n }\n}\n\n.bl-modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--spacing-md);\n color: var(--color-text);\n}\n\n.bl-modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: var(--spacing-md);\n border-top: 1px solid var(--glass-border-light);\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n\n > * {\n margin: var(--spacing-xs);\n }\n}\n\n// Modal Sizes\n.bl-modal-sm {\n .bl-modal-dialog {\n @media (min-width: 576px) {\n max-width: 300px;\n }\n }\n}\n\n.bl-modal-lg {\n .bl-modal-dialog {\n @media (min-width: 1024px) {\n max-width: 1000px;\n }\n }\n}\n\n.bl-modal-xl {\n .bl-modal-dialog {\n @media (min-width: 1024px) {\n max-width: 1200px;\n }\n }\n}\n\n// Modal Positions\n.bl-modal-top {\n align-items: flex-start;\n padding-top: var(--spacing-xl);\n}\n\n.bl-modal-bottom {\n align-items: flex-end;\n padding-bottom: var(--spacing-xl);\n}\n\n.bl-modal-left {\n justify-content: flex-start;\n padding-left: var(--spacing-xl);\n \n .bl-modal-dialog {\n margin-right: auto;\n }\n}\n\n.bl-modal-right {\n justify-content: flex-end;\n padding-right: var(--spacing-xl);\n \n .bl-modal-dialog {\n margin-left: auto;\n }\n}\n\n// Centered Modal (default, can be explicitly set)\n.bl-modal-centered {\n align-items: center;\n justify-content: center;\n}\n","// ============================================================================\n// Dropdown Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-dropdown {\n position: relative;\n display: inline-block;\n}\n\n.bl-dropdown-toggle {\n &::after {\n display: inline-block;\n margin-left: var(--spacing-xs);\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n }\n}\n\n.bl-dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 99999 !important; // Immer ganz oben\n display: none;\n min-width: 10rem;\n padding: var(--spacing-xs) 0;\n margin: var(--spacing-xs) 0 0 0;\n font-size: var(--font-size-base);\n color: var(--color-text);\n text-align: left;\n list-style: none;\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-lg));\n -webkit-backdrop-filter: blur(var(--glass-blur-lg));\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-md);\n overflow: hidden;\n overflow-y: auto;\n max-height: 300px;\n box-shadow: var(--glass-shadow-lg);\n\n &.bl-show {\n display: block;\n }\n}\n\n.bl-dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.bl-dropdown-item {\n display: block;\n width: 100%;\n padding: var(--spacing-sm) var(--spacing-md);\n clear: both;\n font-weight: var(--font-weight-normal);\n color: var(--color-text);\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n cursor: pointer;\n transition: var(--transition-base);\n\n &:hover,\n &:focus {\n color: var(--color-text);\n text-decoration: none;\n background: var(--glass-bg-heavy); // Flat, not floating\n }\n\n &:active {\n color: var(--color-text);\n background: var(--glass-bg-heavy);\n }\n\n &.bl-active {\n background: var(--glass-bg-heavy);\n color: var(--color-accent);\n }\n\n &.bl-disabled,\n &:disabled {\n color: var(--color-text-muted);\n pointer-events: none;\n background-color: transparent;\n opacity: 0.6;\n }\n}\n\n.bl-dropdown-divider {\n height: 0;\n margin: var(--spacing-xs) 0;\n overflow: hidden;\n border-top: 1px solid var(--glass-border-light);\n}\n\n.bl-dropdown-header {\n display: block;\n padding: var(--spacing-sm) var(--spacing-md);\n margin-bottom: 0;\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-semibold);\n color: var(--color-text-muted);\n white-space: nowrap;\n}\n","// ============================================================================\n// Navigation Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Base Nav\n.bl-nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-sm);\n padding: var(--spacing-xs);\n}\n\n.bl-nav-item {\n display: list-item;\n}\n\n.bl-nav-link {\n display: block;\n padding: var(--spacing-sm) var(--spacing-md);\n color: var(--color-text);\n text-decoration: none;\n border-radius: var(--tech-border-radius-sm);\n transition: var(--transition-base);\n\n &:hover {\n color: var(--color-text);\n text-decoration: none;\n background: var(--glass-bg-medium);\n }\n\n &:focus {\n outline: 1px solid var(--color-border-focus);\n outline-offset: -2px;\n }\n\n &.bl-active {\n color: var(--color-text);\n font-weight: var(--font-weight-semibold);\n background: var(--glass-bg-heavy);\n border-bottom: 2px solid var(--color-accent); // Sharp underline or block marking\n }\n\n &.bl-disabled {\n color: var(--color-text-muted);\n pointer-events: none;\n cursor: default;\n }\n}\n\n// Horizontal Nav\n.bl-nav-horizontal {\n flex-direction: row;\n\n .bl-nav-item {\n margin-right: var(--spacing-xs);\n }\n}\n\n// Vertical Nav\n.bl-nav-vertical {\n flex-direction: column;\n\n .bl-nav-item {\n margin-bottom: var(--spacing-xs);\n }\n}\n\n// Tabs\n.bl-nav-tabs {\n border-bottom: 1px solid var(--glass-border-light);\n background: transparent;\n padding: 0;\n\n .bl-nav-link {\n margin-bottom: calc(1px * -1);\n border: 1px solid transparent;\n border-top-left-radius: var(--tech-border-radius-sm);\n border-top-right-radius: var(--tech-border-radius-sm);\n background: transparent;\n\n &:hover {\n border-color: var(--glass-border-medium);\n background: var(--glass-bg-light);\n isolation: isolate;\n }\n\n &.bl-active {\n color: var(--color-text);\n background: var(--glass-bg-medium);\n border-color: var(--glass-border-medium) var(--glass-border-medium) transparent;\n border-bottom: 2px solid var(--color-accent);\n }\n }\n}\n\n// Pills\n.bl-nav-pills {\n .bl-nav-link {\n border-radius: var(--tech-border-radius-sm);\n\n &.bl-active {\n color: var(--color-text);\n background: var(--glass-bg-heavy);\n border-bottom: 2px solid var(--color-accent);\n }\n }\n}\n\n// Breadcrumb\n.bl-breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: var(--spacing-sm) 0;\n margin-bottom: var(--spacing-md);\n list-style: none;\n}\n\n.bl-breadcrumb-item {\n display: flex;\n align-items: center;\n\n + .bl-breadcrumb-item {\n padding-left: var(--spacing-sm);\n\n &::before {\n display: inline-block;\n padding-right: var(--spacing-sm);\n color: var(--color-text-muted);\n content: \"/\";\n }\n }\n\n &.bl-active {\n color: var(--color-text-muted);\n }\n}\n\n// Pagination\n.bl-pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.bl-page-item {\n display: list-item;\n\n &:first-child .bl-page-link {\n margin-left: 0;\n border-top-left-radius: var(--tech-border-radius-sm);\n border-bottom-left-radius: var(--tech-border-radius-sm);\n }\n\n &:last-child .bl-page-link {\n border-top-right-radius: var(--tech-border-radius-sm);\n border-bottom-right-radius: var(--tech-border-radius-sm);\n }\n\n &.bl-active .bl-page-link {\n z-index: 1;\n color: var(--color-text);\n background: var(--glass-bg-heavy);\n border-color: var(--glass-border-heavy);\n }\n\n &.bl-disabled .bl-page-link {\n color: var(--color-text-muted);\n pointer-events: none;\n cursor: auto;\n background: var(--glass-bg-dark);\n border-color: var(--glass-border-light);\n }\n}\n\n.bl-page-link {\n position: relative;\n display: block;\n padding: var(--spacing-sm) var(--spacing-md);\n margin-left: calc(1px * -1);\n line-height: var(--line-height-base);\n color: var(--color-text);\n text-decoration: none;\n background: var(--glass-bg-light);\n border: 1px solid var(--glass-border-medium);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n transition: var(--transition-base);\n\n &:hover {\n z-index: 2;\n color: var(--color-text);\n text-decoration: none;\n background: var(--glass-bg-medium);\n border-color: var(--glass-border-heavy);\n }\n\n &:focus {\n z-index: 2;\n outline: 1px solid var(--color-border-focus);\n outline-offset: -2px;\n }\n}\n","// ============================================================================\n// Table Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-table {\n width: 100%;\n margin-bottom: var(--spacing-md);\n color: var(--color-text);\n vertical-align: top;\n border-color: var(--glass-border-medium);\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-md);\n overflow: hidden;\n\n > :not(caption) > * > * {\n padding: var(--spacing-sm) var(--spacing-md);\n background-color: transparent;\n border-bottom-width: 1px;\n border-bottom-color: var(--glass-border-light);\n border-right-width: 1px;\n border-right-color: var(--glass-border-light);\n box-shadow: inset 0 0 0 9999px transparent;\n }\n\n > :not(caption) > * > *:last-child {\n border-right-width: 0;\n }\n\n > tbody {\n vertical-align: inherit;\n }\n\n > thead {\n vertical-align: bottom;\n }\n\n > :not(:first-child) {\n border-top: 1px solid var(--glass-border-light);\n }\n}\n\n.bl-table-caption {\n padding-top: var(--spacing-sm);\n padding-bottom: var(--spacing-sm);\n color: var(--color-text-muted);\n text-align: left;\n caption-side: bottom;\n}\n\n.bl-table-head {\n font-weight: var(--font-weight-semibold);\n color: var(--color-text);\n text-align: inherit;\n text-align: -webkit-match-parent;\n background: var(--glass-bg-etched); // Etched glass effect\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n}\n\n// Table Variants\n.bl-table-striped {\n > tbody > tr:nth-of-type(odd) > * {\n --bl-table-accent-bg: var(--glass-bg-light);\n color: var(--color-text);\n box-shadow: inset 0 0 0 9999px var(--bl-table-accent-bg);\n }\n}\n\n.bl-table-bordered {\n border: 1px solid var(--glass-border-medium);\n\n > :not(caption) > * {\n border-width: 1px 0;\n\n > * {\n border-width: 0 1px;\n border-color: var(--glass-border-light);\n }\n }\n}\n\n.bl-table-borderless {\n > :not(caption) > * > * {\n border-bottom-width: 0;\n border-right-width: 0;\n }\n\n > :not(:first-child) {\n border-top-width: 0;\n }\n}\n\n.bl-table-hover {\n > tbody > tr:hover > * {\n --bl-table-accent-bg: var(--glass-bg-heavy);\n color: var(--color-text);\n box-shadow: inset 0 0 0 9999px var(--bl-table-accent-bg);\n transition: var(--transition-base);\n }\n}\n\n// Table Sizes\n.bl-table-sm {\n > :not(caption) > * > * {\n padding: var(--spacing-xs) var(--spacing-sm);\n }\n}\n\n.bl-table-lg {\n > :not(caption) > * > * {\n padding: var(--spacing-md) var(--spacing-lg);\n }\n}\n\n// Responsive Table\n.bl-table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n > .bl-table {\n margin-bottom: 0;\n }\n}\n\n@media (max-width: 575.98px) {\n .bl-table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n > .bl-table {\n margin-bottom: 0;\n }\n }\n}\n\n@media (max-width: 767.98px) {\n .bl-table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n > .bl-table {\n margin-bottom: 0;\n }\n }\n}\n\n@media (max-width: 1023.98px) {\n .bl-table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n > .bl-table {\n margin-bottom: 0;\n }\n }\n}\n\n@media (max-width: 1279.98px) {\n .bl-table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n > .bl-table {\n margin-bottom: 0;\n }\n }\n}\n","// ============================================================================\n// Tooltip Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-tooltip {\n position: relative;\n display: inline-block;\n}\n\n.bl-tooltip-trigger {\n cursor: help;\n}\n\n.bl-tooltip-content {\n position: absolute;\n z-index: var(--z-index-tooltip);\n display: none;\n max-width: 200px;\n padding: var(--spacing-xs) var(--spacing-sm);\n font-size: var(--font-size-xs);\n font-family: var(--font-family-mono); // Precise, monospace possible\n line-height: var(--line-height-base);\n color: var(--color-text);\n text-align: center;\n text-decoration: none;\n word-wrap: break-word;\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-sm);\n opacity: 0;\n transition: var(--transition-opacity);\n\n &.bl-show {\n display: block;\n opacity: 1;\n }\n}\n\n// Tooltip Positions (Angular, Trapezoidal Arrow)\n.bl-tooltip-top {\n .bl-tooltip-content {\n bottom: 100%;\n left: 50%;\n margin-bottom: var(--spacing-xs);\n transform: translateX(-50%);\n\n &::after {\n position: absolute;\n top: 100%;\n left: 50%;\n width: 0;\n height: 0;\n margin-left: -6px;\n content: \"\";\n border-width: 6px 6px 0 6px;\n border-style: solid;\n border-color: var(--glass-bg-medium) transparent transparent transparent;\n clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); // Trapezoidal\n }\n }\n}\n\n.bl-tooltip-bottom {\n .bl-tooltip-content {\n top: 100%;\n left: 50%;\n margin-top: var(--spacing-xs);\n transform: translateX(-50%);\n\n &::after {\n position: absolute;\n bottom: 100%;\n left: 50%;\n width: 0;\n height: 0;\n margin-left: -6px;\n content: \"\";\n border-width: 0 6px 6px 6px;\n border-style: solid;\n border-color: transparent transparent var(--glass-bg-medium) transparent;\n clip-path: polygon(20% 0, 80% 0, 100% 100%, 0 100%); // Trapezoidal\n }\n }\n}\n\n.bl-tooltip-left {\n .bl-tooltip-content {\n top: 50%;\n right: 100%;\n margin-right: var(--spacing-xs);\n transform: translateY(-50%);\n\n &::after {\n position: absolute;\n top: 50%;\n left: 100%;\n width: 0;\n height: 0;\n margin-top: -6px;\n content: \"\";\n border-width: 6px 0 6px 6px;\n border-style: solid;\n border-color: transparent transparent transparent var(--glass-bg-medium);\n clip-path: polygon(0 20%, 0 80%, 100% 100%, 100% 0); // Trapezoidal\n }\n }\n}\n\n.bl-tooltip-right {\n .bl-tooltip-content {\n top: 50%;\n left: 100%;\n margin-left: var(--spacing-xs);\n transform: translateY(-50%);\n\n &::after {\n position: absolute;\n top: 50%;\n right: 100%;\n width: 0;\n height: 0;\n margin-top: -6px;\n content: \"\";\n border-width: 6px 6px 6px 0;\n border-style: solid;\n border-color: transparent var(--glass-bg-medium) transparent transparent;\n clip-path: polygon(0 0, 0 100%, 100% 80%, 100% 20%); // Trapezoidal\n }\n }\n}\n","// ============================================================================\n// Progress Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-sm);\n}\n\n.bl-progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--color-text-inverse);\n text-align: center;\n white-space: nowrap;\n background: var(--color-accent);\n transition: width var(--transition-duration-slow) var(--transition-ease-linear);\n}\n\n// Progress Variants\n.bl-progress-bar-primary {\n background: var(--color-accent);\n}\n\n.bl-progress-bar-secondary {\n background: var(--glass-bg-heavy);\n}\n\n.bl-progress-bar-success {\n background: var(--color-success);\n}\n\n.bl-progress-bar-warning {\n background: var(--color-warning);\n}\n\n.bl-progress-bar-error {\n background: var(--color-error);\n}\n\n.bl-progress-bar-info {\n background: var(--color-info);\n}\n\n// Progress Sizes\n.bl-progress-sm {\n height: 0.5rem;\n}\n\n.bl-progress-lg {\n height: 1.5rem;\n}\n\n// Striped Progress (removed - no gradients)\n// Animated Progress (removed - only linear growth)\n","// ============================================================================\n// Spinner Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-spinner {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: var(--border-width-base) solid var(--glass-border-medium);\n border-top-color: var(--color-accent);\n border-radius: var(--tech-border-radius-sm); // Square frame\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n animation: bl-spinner-rotate 0.75s linear infinite;\n position: relative;\n\n // Rotating inner segment\n &::before {\n content: '';\n position: absolute;\n top: 2px;\n left: 2px;\n right: 2px;\n bottom: 2px;\n background: var(--color-accent);\n opacity: 0.3;\n border-radius: var(--tech-border-radius-sm);\n animation: bl-spinner-inner 1.5s linear infinite;\n }\n}\n\n@keyframes bl-spinner-rotate {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes bl-spinner-inner {\n 0% {\n transform: rotate(0deg);\n opacity: 0.3;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n transform: rotate(360deg);\n opacity: 0.3;\n }\n}\n\n// Spinner Variants\n.bl-spinner-primary {\n border-top-color: var(--color-accent);\n \n &::before {\n background: var(--color-accent);\n }\n}\n\n.bl-spinner-secondary {\n border-top-color: var(--color-secondary);\n \n &::before {\n background: var(--color-secondary);\n }\n}\n\n.bl-spinner-success {\n border-top-color: var(--color-success);\n \n &::before {\n background: var(--color-success);\n }\n}\n\n.bl-spinner-warning {\n border-top-color: var(--color-warning);\n \n &::before {\n background: var(--color-warning);\n }\n}\n\n.bl-spinner-error {\n border-top-color: var(--color-error);\n \n &::before {\n background: var(--color-error);\n }\n}\n\n.bl-spinner-info {\n border-top-color: var(--color-info);\n \n &::before {\n background: var(--color-info);\n }\n}\n\n// Spinner Sizes\n.bl-spinner-sm {\n width: 1rem;\n height: 1rem;\n border-width: var(--border-width-thin);\n}\n\n.bl-spinner-lg {\n width: 3rem;\n height: 3rem;\n border-width: var(--border-width-base);\n}\n\n.bl-spinner-xl {\n width: 4rem;\n height: 4rem;\n border-width: var(--border-width-base);\n}\n","// ============================================================================\n// Icon Font System\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Icon Font Face (to be generated from icon font files)\n// Font files are optional - icons will work without them using Unicode fallback\n// @font-face {\n// font-family: 'Baseline Icons';\n// src: url('../fonts/baseline-icons.woff2') format('woff2'),\n// url('../fonts/baseline-icons.woff') format('woff');\n// font-weight: normal;\n// font-style: normal;\n// font-display: swap;\n// }\n\n// Base Icon Class\n.bl-icon {\n display: inline-block;\n font-family: 'Baseline Icons';\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n speak: never;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n vertical-align: middle;\n}\n\n// Icon Sizes\n.bl-icon-xs {\n font-size: 0.75rem;\n width: 0.75rem;\n height: 0.75rem;\n}\n\n.bl-icon-sm {\n font-size: 1rem;\n width: 1rem;\n height: 1rem;\n}\n\n.bl-icon-md {\n font-size: 1.25rem;\n width: 1.25rem;\n height: 1.25rem;\n}\n\n.bl-icon-lg {\n font-size: 1.5rem;\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.bl-icon-xl {\n font-size: 2rem;\n width: 2rem;\n height: 2rem;\n}\n\n// Icon Variants (using Unicode/Private Use Area)\n// These would be replaced with actual icon font mappings\n.bl-icon-home::before { content: '\\e900'; }\n.bl-icon-user::before { content: '\\e901'; }\n.bl-icon-search::before { content: '\\e902'; }\n.bl-icon-menu::before { content: '\\e903'; }\n.bl-icon-close::before { content: '\\e904'; }\n.bl-icon-chevron-left::before { content: '\\e905'; }\n.bl-icon-chevron-right::before { content: '\\e906'; }\n.bl-icon-chevron-up::before { content: '\\e907'; }\n.bl-icon-chevron-down::before { content: '\\e908'; }\n.bl-icon-arrow-left::before { content: '\\e909'; }\n.bl-icon-arrow-right::before { content: '\\e90a'; }\n.bl-icon-arrow-up::before { content: '\\e90b'; }\n.bl-icon-arrow-down::before { content: '\\e90c'; }\n.bl-icon-check::before { content: '\\e90d'; }\n.bl-icon-cross::before { content: '\\e90e'; }\n.bl-icon-plus::before { content: '\\e90f'; }\n.bl-icon-minus::before { content: '\\e910'; }\n.bl-icon-info::before { content: '\\e911'; }\n.bl-icon-warning::before { content: '\\e912'; }\n.bl-icon-error::before { content: '\\e913'; }\n.bl-icon-success::before { content: '\\e914'; }\n.bl-icon-heart::before { content: '\\e915'; }\n.bl-icon-star::before { content: '\\e916'; }\n.bl-icon-bookmark::before { content: '\\e917'; }\n.bl-icon-share::before { content: '\\e918'; }\n.bl-icon-download::before { content: '\\e919'; }\n.bl-icon-upload::before { content: '\\e91a'; }\n.bl-icon-edit::before { content: '\\e91b'; }\n.bl-icon-delete::before { content: '\\e91c'; }\n.bl-icon-settings::before { content: '\\e91d'; }\n.bl-icon-bell::before { content: '\\e91e'; }\n.bl-icon-mail::before { content: '\\e91f'; }\n.bl-icon-phone::before { content: '\\e920'; }\n.bl-icon-calendar::before { content: '\\e921'; }\n.bl-icon-clock::before { content: '\\e922'; }\n.bl-icon-image::before { content: '\\e923'; }\n.bl-icon-video::before { content: '\\e924'; }\n.bl-icon-file::before { content: '\\e925'; }\n.bl-icon-folder::before { content: '\\e926'; }\n.bl-icon-lock::before { content: '\\e927'; }\n.bl-icon-unlock::before { content: '\\e928'; }\n.bl-icon-eye::before { content: '\\e929'; }\n.bl-icon-eye-off::before { content: '\\e92a'; }\n.bl-icon-filter::before { content: '\\e92b'; }\n.bl-icon-sort::before { content: '\\e92c'; }\n.bl-icon-grid::before { content: '\\e92d'; }\n.bl-icon-list::before { content: '\\e92e'; }\n.bl-icon-refresh::before { content: '\\e92f'; }\n.bl-icon-loading::before { content: '\\e930'; }\n.bl-icon-play::before { content: '\\e931'; }\n.bl-icon-pause::before { content: '\\e932'; }\n.bl-icon-stop::before { content: '\\e933'; }\n.bl-icon-next::before { content: '\\e934'; }\n.bl-icon-prev::before { content: '\\e935'; }\n.bl-icon-volume::before { content: '\\e936'; }\n.bl-icon-volume-off::before { content: '\\e937'; }\n.bl-icon-fullscreen::before { content: '\\e938'; }\n.bl-icon-fullscreen-exit::before { content: '\\e939'; }\n.bl-icon-link::before { content: '\\e93a'; }\n.bl-icon-external::before { content: '\\e93b'; }\n.bl-icon-copy::before { content: '\\e93c'; }\n.bl-icon-cut::before { content: '\\e93d'; }\n.bl-icon-paste::before { content: '\\e93e'; }\n.bl-icon-undo::before { content: '\\e93f'; }\n.bl-icon-redo::before { content: '\\e940'; }\n.bl-icon-save::before { content: '\\e941'; }\n.bl-icon-print::before { content: '\\e942'; }\n.bl-icon-zoom-in::before { content: '\\e943'; }\n.bl-icon-zoom-out::before { content: '\\e944'; }\n.bl-icon-maximize::before { content: '\\e945'; }\n.bl-icon-minimize::before { content: '\\e946'; }\n\n// Icon in Button\n.bl-btn .bl-icon {\n margin-right: var(--spacing-xs);\n}\n\n.bl-btn .bl-icon:last-child {\n margin-right: 0;\n margin-left: var(--spacing-xs);\n}\n\n.bl-btn .bl-icon:only-child {\n margin: 0;\n}\n\n","// ============================================================================\n// Dark Theme\n// ============================================================================\n\n@media (prefers-color-scheme: dark) {\n :root {\n // Neutral Grayscale (inverted)\n --color-gray-50: #030712;\n --color-gray-100: #111827;\n --color-gray-200: #1f2937;\n --color-gray-300: #374151;\n --color-gray-400: #4b5563;\n --color-gray-500: #6b7280;\n --color-gray-600: #9ca3af;\n --color-gray-700: #d1d5db;\n --color-gray-800: #e5e7eb;\n --color-gray-900: #f3f4f6;\n --color-gray-950: #f9fafb;\n\n // Semantic Colors (adjusted for dark mode)\n --color-primary: #f3f4f6;\n --color-primary-light: #e5e7eb;\n --color-primary-dark: #d1d5db;\n\n --color-secondary: #9ca3af;\n --color-secondary-light: #d1d5db;\n --color-secondary-dark: #6b7280;\n\n --color-success: #34d399;\n --color-success-light: #6ee7b7;\n --color-success-dark: #10b981;\n\n --color-warning: #fbbf24;\n --color-warning-light: #fcd34d;\n --color-warning-dark: #f59e0b;\n\n --color-error: #f87171;\n --color-error-light: #fca5a5;\n --color-error-dark: #ef4444;\n\n --color-info: #60a5fa;\n --color-info-light: #93c5fd;\n --color-info-dark: #3b82f6;\n\n // Text Colors\n --color-text: #f3f4f6;\n --color-text-muted: #9ca3af;\n --color-text-light: #6b7280;\n --color-text-inverse: #111827;\n\n // Background Colors\n --color-bg: #111827;\n --color-bg-alt: #1f2937;\n --color-bg-overlay: rgba(0, 0, 0, 0.7);\n\n // Border Colors\n --color-border: #374151;\n --color-border-light: #1f2937;\n --color-border-dark: #4b5563;\n --color-border-focus: #60a5fa;\n }\n}\n\n// Manual Dark Theme Toggle (via class)\n.bl-theme-dark,\n[data-theme=\"dark\"] {\n // Neutral Grayscale (inverted)\n --color-gray-50: #030712;\n --color-gray-100: #111827;\n --color-gray-200: #1f2937;\n --color-gray-300: #374151;\n --color-gray-400: #4b5563;\n --color-gray-500: #6b7280;\n --color-gray-600: #9ca3af;\n --color-gray-700: #d1d5db;\n --color-gray-800: #e5e7eb;\n --color-gray-900: #f3f4f6;\n --color-gray-950: #f9fafb;\n\n // Semantic Colors (adjusted for dark mode)\n --color-primary: #f3f4f6;\n --color-primary-light: #e5e7eb;\n --color-primary-dark: #d1d5db;\n\n --color-secondary: #9ca3af;\n --color-secondary-light: #d1d5db;\n --color-secondary-dark: #6b7280;\n\n --color-success: #34d399;\n --color-success-light: #6ee7b7;\n --color-success-dark: #10b981;\n\n --color-warning: #fbbf24;\n --color-warning-light: #fcd34d;\n --color-warning-dark: #f59e0b;\n\n --color-error: #f87171;\n --color-error-light: #fca5a5;\n --color-error-dark: #ef4444;\n\n --color-info: #60a5fa;\n --color-info-light: #93c5fd;\n --color-info-dark: #3b82f6;\n\n // Text Colors\n --color-text: #f3f4f6;\n --color-text-muted: #9ca3af;\n --color-text-light: #6b7280;\n --color-text-inverse: #111827;\n\n // Background Colors\n --color-bg: #111827;\n --color-bg-alt: #1f2937;\n --color-bg-overlay: rgba(0, 0, 0, 0.7);\n\n // Border Colors\n --color-border: #374151;\n --color-border-light: #1f2937;\n --color-border-dark: #4b5563;\n --color-border-focus: #60a5fa;\n}\n\n"]}
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["file:///Volumes/Main/Codes/Baseline/src/tokens/_colors.scss","file:///Volumes/Main/Codes/Baseline/src/tokens/_spacing.scss","file:///Volumes/Main/Codes/Baseline/src/tokens/_typography.scss","file:///Volumes/Main/Codes/Baseline/src/tokens/_borders.scss","file:///Volumes/Main/Codes/Baseline/src/tokens/_shadows.scss","file:///Volumes/Main/Codes/Baseline/src/tokens/_z-index.scss","file:///Volumes/Main/Codes/Baseline/src/tokens/_transitions.scss","file:///Volumes/Main/Codes/Baseline/src/tokens/_forms.scss","file:///Volumes/Main/Codes/Baseline/src/tokens/_glassmorphism.scss","file:///Volumes/Main/Codes/Baseline/src/base/_reset.scss","file:///Volumes/Main/Codes/Baseline/src/base/_normalize.scss","file:///Volumes/Main/Codes/Baseline/src/base/_base.scss","file:///Volumes/Main/Codes/Baseline/src/layout/_container.scss","file:///Volumes/Main/Codes/Baseline/src/layout/_grid.scss","file:///Volumes/Main/Codes/Baseline/src/layout/_grid-modern.scss","file:///Volumes/Main/Codes/Baseline/src/layout/_flex.scss","file:///Volumes/Main/Codes/Baseline/src/utilities/_spacing.scss","file:///Volumes/Main/Codes/Baseline/src/utilities/_display.scss","file:///Volumes/Main/Codes/Baseline/src/utilities/_text.scss","file:///Volumes/Main/Codes/Baseline/src/utilities/_visibility.scss","file:///Volumes/Main/Codes/Baseline/src/utilities/_position.scss","file:///Volumes/Main/Codes/Baseline/src/utilities/_animations.scss","file:///Volumes/Main/Codes/Baseline/src/utilities/_accessibility.scss","file:///Volumes/Main/Codes/Baseline/src/components/_button.scss","file:///Volumes/Main/Codes/Baseline/src/components/_form.scss","file:///Volumes/Main/Codes/Baseline/src/components/_card.scss","file:///Volumes/Main/Codes/Baseline/src/components/_alert.scss","file:///Volumes/Main/Codes/Baseline/src/components/_badge.scss","file:///Volumes/Main/Codes/Baseline/src/components/_modal.scss","file:///Volumes/Main/Codes/Baseline/src/components/_dropdown.scss","file:///Volumes/Main/Codes/Baseline/src/components/_nav.scss","file:///Volumes/Main/Codes/Baseline/src/components/_table.scss","file:///Volumes/Main/Codes/Baseline/src/components/_tooltip.scss","file:///Volumes/Main/Codes/Baseline/src/components/_progress.scss","file:///Volumes/Main/Codes/Baseline/src/components/_spinner.scss","file:///Volumes/Main/Codes/Baseline/src/icons/_icons.scss","file:///Volumes/Main/Codes/Baseline/src/themes/_dark.scss"],"names":[],"mappings":";AAsEA;EAEE;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA;;;ACnHF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACkBF;EAEE;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;;;AClEF;EAEE;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACpBF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;ACNF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACAF;EAEE;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;;;ACkDF;EAEE;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EAGA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;;;ACxIF;EAEE;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;;;ACtDF;AAAA;AAAA;EAGE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AChBF;EACE;EACA;;;AAIF;EACE;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;AAAA;EAGE;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAIF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAAA;EAIE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAIF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AChLF;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;;AAKJ;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;AAAA;AAAA;EAGE;EACA;;;AAIF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AC9KF;EACE;EACA;EACA;EACA;EACA;;AAGA;EARF;IASI;;;AAIF;EAbF;IAcI;;;AAIF;EAlBF;IAmBI;;;AAIF;EAvBF;IAwBI;;;AAIF;EA5BF;IA6BI;;;;AAIJ;EACE;EACA;EACA;;;AClCF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAKA;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAMJ;EACE;IACE;IACA;IACA;;EAIA;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;;AAMN;EACE;IACE;IACA;IACA;;EAIA;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;;AAMN;EACE;IACE;IACA;IACA;;EAIA;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;;AAMN;EACE;IACE;IACA;IACA;;EAIA;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;;AAMN;EACE;IACE;IACA;IACA;;EAIA;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;;AC/GN;EACE;EACA;;;AAKA;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAMF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAKJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKA;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAMF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAKJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACtHF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACtJA;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAOA;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AA3BF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AC9EN;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;IAAgB;;EAChB;IAAkB;;EAClB;IAAwB;;EACxB;IAAiB;;EACjB;IAAgB;;EAChB;IAAuB;;EACvB;IAAgB;;;AAGlB;EACE;IAAgB;;EAChB;IAAkB;;EAClB;IAAwB;;EACxB;IAAiB;;EACjB;IAAgB;;EAChB;IAAuB;;EACvB;IAAgB;;;AAGlB;EACE;IAAgB;;EAChB;IAAkB;;EAClB;IAAwB;;EACxB;IAAiB;;EACjB;IAAgB;;EAChB;IAAuB;;EACvB;IAAgB;;;AAGlB;EACE;IAAgB;;EAChB;IAAkB;;EAClB;IAAwB;;EACxB;IAAiB;;EACjB;IAAgB;;EAChB;IAAuB;;EACvB;IAAgB;;;AC/ElB;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACxPF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;ACnEF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC/FF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;IACE;;EAEF;IACE;;;AAIJ;EACE;IACE;;EAEF;IACE;;;AAIJ;EACE;;;AAGF;EACE;;;AAIF;EACE;IACE;IACA;;EAEF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAEF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAEF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAEF;IACE;IACA;;;AAIJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;IACE;;EAEF;IACE;;;AAIJ;EACE;;;AAIF;EACE;IACE;;EAEF;IACE;;;AAIJ;EACE;;;ACzKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAKJ;EACE;EACA;;;AAIF;EACE;IACE;;EAGF;IACE;;;AAKJ;EACE;AAAA;AAAA;IAGE;IACA;IACA;IACA;;;AClEJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EAEE;EACA;EACA;;;AAKJ;EACE;EACA;;;AAGF;EACE;EACA;;;AAIF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAKJ;EACE;EACA;;;AC/LF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;;;AAKJ;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAIF;EACE;;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAIJ;EAEE;EACA;EACA;EACA;;;AAMN;AAAA;AAAA;EAGE;;AAEA;AAAA;AAAA;EACE;EACA;EACA;;;AAIJ;AAAA;AAAA;EAGE;;AAEA;AAAA;AAAA;EACE;EACA;EACA;;;AAKJ;AAAA;EAEE;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;;;AAIF;EACE;EACA;;;AAIF;AAAA;EAEE;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAEA;EACE;;AAIJ;EACE;;AAGF;EACE;EACA;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;;AAEA;AAAA;EAEE;EACA;EACA;;AAEA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;EACE;EACA;;;ACjdN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAIF;EACE;;AAEA;EACE;EACA;;;ACjFJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;;AAKJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;;ACxFJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKA;EACE;EACA;;;AAKF;EACE;EACA;;;AAKF;EACE;EACA;;;AAKF;EACE;EACA;;;AAKF;EACE;EACA;;;AAKF;EACE;EACA;;;AAKJ;EACE;;AAEA;AAAA;EAEE;;;AAIJ;EACE;;AAEA;AAAA;EAEE;;;AChGJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EARF;IASI;;;AAGF;EAZF;IAaI;;;AAGF;EAhBF;IAiBI;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAOA;EADF;IAEI;;;;AAOF;EADF;IAEI;;;;AAOF;EADF;IAEI;;;;AAMN;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;;AAKJ;EACE;EACA;;;AC1LF;EACE;EACA;;;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EAEE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;ACzGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;;AAKJ;EACE;;AAEA;EACE;;;AAKJ;EACE;;AAEA;EACE;;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;;AAOJ;EACE;;AAEA;EACE;EACA;EACA;;;AAMN;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;;;AAKJ;EACE;EACA;EACA;;;AAGF;EACE;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;;AC1MJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKA;EACE;EACA;EACA;;;AAIJ;EACE;;AAEA;EACE;;AAEA;EACE;EACA;;;AAMJ;EACE;EACA;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;;;AAMF;EACE;;;AAKF;EACE;;;AAKJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;IACE;IACA;IACA;IACA;;EAEA;IACE;;;AAKN;EACE;IACE;IACA;IACA;IACA;;EAEA;IACE;;;AAKN;EACE;IACE;IACA;IACA;IACA;;EAEA;IACE;;;AAKN;EACE;IACE;IACA;IACA;IACA;;EAEA;IACE;;;AC5KN;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAMF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AC5HN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;ACtDF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;IACE;;;AAIJ;EACE;IACE;IACA;;EAEF;IACE;;EAEF;IACE;IACA;;;AAKJ;EACE;;AAEA;EACE;;;AAIJ;EACE;;AAEA;EACE;;;AAIJ;EACE;;AAEA;EACE;;;AAIJ;EACE;;AAEA;EACE;;;AAIJ;EACE;;AAEA;EACE;;;AAIJ;EACE;;AAEA;EACE;;;AAKJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;ACtGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAKF;EAAwB;;;AACxB;EAAwB;;;AACxB;EAA0B;;;AAC1B;EAAwB;;;AACxB;EAAyB;;;AACzB;EAAgC;;;AAChC;EAAiC;;;AACjC;EAA8B;;;AAC9B;EAAgC;;;AAChC;EAA8B;;;AAC9B;EAA+B;;;AAC/B;EAA4B;;;AAC5B;EAA8B;;;AAC9B;EAAyB;;;AACzB;EAAyB;;;AACzB;EAAwB;;;AACxB;EAAyB;;;AACzB;EAAwB;;;AACxB;EAA2B;;;AAC3B;EAAyB;;;AACzB;EAA2B;;;AAC3B;EAAyB;;;AACzB;EAAwB;;;AACxB;EAA4B;;;AAC5B;EAAyB;;;AACzB;EAA4B;;;AAC5B;EAA0B;;;AAC1B;EAAwB;;;AACxB;EAA0B;;;AAC1B;EAA4B;;;AAC5B;EAAwB;;;AACxB;EAAwB;;;AACxB;EAAyB;;;AACzB;EAA4B;;;AAC5B;EAAyB;;;AACzB;EAAyB;;;AACzB;EAAyB;;;AACzB;EAAwB;;;AACxB;EAA0B;;;AAC1B;EAAwB;;;AACxB;EAA0B;;;AAC1B;EAAuB;;;AACvB;EAA2B;;;AAC3B;EAA0B;;;AAC1B;EAAwB;;;AACxB;EAAwB;;;AACxB;EAAwB;;;AACxB;EAA2B;;;AAC3B;EAA2B;;;AAC3B;EAAwB;;;AACxB;EAAyB;;;AACzB;EAAwB;;;AACxB;EAAwB;;;AACxB;EAAwB;;;AACxB;EAA0B;;;AAC1B;EAA8B;;;AAC9B;EAA8B;;;AAC9B;EAAmC;;;AACnC;EAAwB;;;AACxB;EAA4B;;;AAC5B;EAAwB;;;AACxB;EAAuB;;;AACvB;EAAyB;;;AACzB;EAAwB;;;AACxB;EAAwB;;;AACxB;EAAwB;;;AACxB;EAAyB;;;AACzB;EAA2B;;;AAC3B;EAA4B;;;AAC5B;EAA4B;;;AAC5B;EAA4B;;;AAG5B;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AChJF;EACE;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IAEA;IACA;IACA;IAEA;IACA;IACA;IAEA;IACA;IACA;IAEA;IACA;IACA;IAEA;IACA;IACA;IAGA;IACA;IACA;IACA;IAGA;IACA;IACA;IAGA;IACA;IACA;IACA;;;AAKJ;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA","sourcesContent":["// ============================================================================\n// Color Tokens (Technical Glass Design)\n// ============================================================================\n\n// Base Tone: Dark Graphite\n$color-base: #1A1A1A;\n$color-base-light: #2A2A2A;\n$color-base-dark: #0F0F0F;\n\n// Accent: Ice Blue\n$color-accent: #4A9EFF;\n$color-accent-light: #6BB0FF;\n$color-accent-dark: #3A8EEF;\n\n// Neutral Grayscale (for glass effects)\n$color-gray-50: #f9fafb;\n$color-gray-100: #f3f4f6;\n$color-gray-200: #e5e7eb;\n$color-gray-300: #d1d5db;\n$color-gray-400: #9ca3af;\n$color-gray-500: #6b7280;\n$color-gray-600: #4b5563;\n$color-gray-700: #374151;\n$color-gray-800: #1f2937;\n$color-gray-900: #111827;\n$color-gray-950: #030712;\n\n// Semantic Colors (using accent for primary)\n$color-primary: $color-accent;\n$color-primary-light: $color-accent-light;\n$color-primary-dark: $color-accent-dark;\n\n$color-secondary: $color-gray-600;\n$color-secondary-light: $color-gray-500;\n$color-secondary-dark: $color-gray-700;\n\n$color-success: #10b981;\n$color-success-light: #34d399;\n$color-success-dark: #059669;\n\n$color-warning: #f59e0b;\n$color-warning-light: #fbbf24;\n$color-warning-dark: #d97706;\n\n$color-error: #ef4444;\n$color-error-light: #f87171;\n$color-error-dark: #dc2626;\n\n$color-info: $color-accent;\n$color-info-light: $color-accent-light;\n$color-info-dark: $color-accent-dark;\n\n// Text Colors (high contrast on dark ground)\n$color-text: #ffffff;\n$color-text-muted: rgba(255, 255, 255, 0.7);\n$color-text-light: rgba(255, 255, 255, 0.5);\n$color-text-inverse: #1A1A1A;\n\n// Background Colors\n$color-bg: $color-base;\n$color-bg-alt: $color-base-light;\n$color-bg-overlay: rgba(0, 0, 0, 0.3); // Desaturated, not darkened\n\n// Border Colors (cool, slightly bright on dark ground)\n$color-border: rgba(255, 255, 255, 0.15);\n$color-border-light: rgba(255, 255, 255, 0.1);\n$color-border-dark: rgba(255, 255, 255, 0.2);\n$color-border-focus: $color-accent;\n\n// Export as CSS Custom Properties\n:root {\n // Base Tone\n --color-base: #{$color-base};\n --color-base-light: #{$color-base-light};\n --color-base-dark: #{$color-base-dark};\n\n // Accent\n --color-accent: #{$color-accent};\n --color-accent-light: #{$color-accent-light};\n --color-accent-dark: #{$color-accent-dark};\n\n // Neutral Grayscale\n --color-gray-50: #{$color-gray-50};\n --color-gray-100: #{$color-gray-100};\n --color-gray-200: #{$color-gray-200};\n --color-gray-300: #{$color-gray-300};\n --color-gray-400: #{$color-gray-400};\n --color-gray-500: #{$color-gray-500};\n --color-gray-600: #{$color-gray-600};\n --color-gray-700: #{$color-gray-700};\n --color-gray-800: #{$color-gray-800};\n --color-gray-900: #{$color-gray-900};\n --color-gray-950: #{$color-gray-950};\n\n // Semantic Colors\n --color-primary: #{$color-primary};\n --color-primary-light: #{$color-primary-light};\n --color-primary-dark: #{$color-primary-dark};\n\n --color-secondary: #{$color-secondary};\n --color-secondary-light: #{$color-secondary-light};\n --color-secondary-dark: #{$color-secondary-dark};\n\n --color-success: #{$color-success};\n --color-success-light: #{$color-success-light};\n --color-success-dark: #{$color-success-dark};\n\n --color-warning: #{$color-warning};\n --color-warning-light: #{$color-warning-light};\n --color-warning-dark: #{$color-warning-dark};\n\n --color-error: #{$color-error};\n --color-error-light: #{$color-error-light};\n --color-error-dark: #{$color-error-dark};\n\n --color-info: #{$color-info};\n --color-info-light: #{$color-info-light};\n --color-info-dark: #{$color-info-dark};\n\n // Text Colors\n --color-text: #{$color-text};\n --color-text-muted: #{$color-text-muted};\n --color-text-light: #{$color-text-light};\n --color-text-inverse: #{$color-text-inverse};\n\n // Background Colors\n --color-bg: #{$color-bg};\n --color-bg-alt: #{$color-bg-alt};\n --color-bg-overlay: #{$color-bg-overlay};\n\n // Border Colors\n --color-border: #{$color-border};\n --color-border-light: #{$color-border-light};\n --color-border-dark: #{$color-border-dark};\n --color-border-focus: #{$color-border-focus};\n}\n","// ============================================================================\n// Spacing Tokens\n// ============================================================================\n\n// Base spacing unit: 4px (0.25rem)\n$spacing-base: 0.25rem; // 4px\n\n// Spacing scale (8px base system)\n$spacing-xs: 0.25rem; // 4px\n$spacing-sm: 0.5rem; // 8px\n$spacing-md: 1rem; // 16px\n$spacing-lg: 1.5rem; // 24px\n$spacing-xl: 2rem; // 32px\n$spacing-2xl: 3rem; // 48px\n$spacing-3xl: 4rem; // 64px\n$spacing-4xl: 6rem; // 96px\n$spacing-5xl: 8rem; // 128px\n\n// Export as CSS Custom Properties\n:root {\n --spacing-xs: #{$spacing-xs};\n --spacing-sm: #{$spacing-sm};\n --spacing-md: #{$spacing-md};\n --spacing-lg: #{$spacing-lg};\n --spacing-xl: #{$spacing-xl};\n --spacing-2xl: #{$spacing-2xl};\n --spacing-3xl: #{$spacing-3xl};\n --spacing-4xl: #{$spacing-4xl};\n --spacing-5xl: #{$spacing-5xl};\n}\n\n","// ============================================================================\n// Typography Tokens\n// ============================================================================\n\n// Font Families\n$font-family-base: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n$font-family-mono: \"SF Mono\", Monaco, \"Cascadia Code\", \"Roboto Mono\", Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n$font-family-serif: Georgia, \"Times New Roman\", Times, serif;\n\n// Font Sizes (Modular Scale: 1.125, 1.25, 1.5, 1.875, 2.25)\n$font-size-xs: 0.75rem; // 12px\n$font-size-sm: 0.875rem; // 14px\n$font-size-base: 1rem; // 16px\n$font-size-lg: 1.125rem; // 18px\n$font-size-xl: 1.25rem; // 20px\n$font-size-2xl: 1.5rem; // 24px\n$font-size-3xl: 1.875rem; // 30px\n$font-size-4xl: 2.25rem; // 36px\n$font-size-5xl: 3rem; // 48px\n$font-size-6xl: 3.75rem; // 60px\n\n// Line Heights\n$line-height-none: 1;\n$line-height-tight: 1.25;\n$line-height-snug: 1.375;\n$line-height-base: 1.5;\n$line-height-relaxed: 1.75;\n$line-height-loose: 2;\n\n// Font Weights\n$font-weight-light: 300;\n$font-weight-normal: 400;\n$font-weight-medium: 500;\n$font-weight-semibold: 600;\n$font-weight-bold: 700;\n$font-weight-extrabold: 800;\n\n// Letter Spacing\n$letter-spacing-tighter: -0.05em;\n$letter-spacing-tight: -0.025em;\n$letter-spacing-normal: 0;\n$letter-spacing-wide: 0.025em;\n$letter-spacing-wider: 0.05em;\n$letter-spacing-widest: 0.1em;\n\n// Export as CSS Custom Properties\n:root {\n // Font Families\n --font-family-base: #{$font-family-base};\n --font-family-mono: #{$font-family-mono};\n --font-family-serif: #{$font-family-serif};\n\n // Font Sizes\n --font-size-xs: #{$font-size-xs};\n --font-size-sm: #{$font-size-sm};\n --font-size-base: #{$font-size-base};\n --font-size-lg: #{$font-size-lg};\n --font-size-xl: #{$font-size-xl};\n --font-size-2xl: #{$font-size-2xl};\n --font-size-3xl: #{$font-size-3xl};\n --font-size-4xl: #{$font-size-4xl};\n --font-size-5xl: #{$font-size-5xl};\n --font-size-6xl: #{$font-size-6xl};\n\n // Line Heights\n --line-height-none: #{$line-height-none};\n --line-height-tight: #{$line-height-tight};\n --line-height-snug: #{$line-height-snug};\n --line-height-base: #{$line-height-base};\n --line-height-relaxed: #{$line-height-relaxed};\n --line-height-loose: #{$line-height-loose};\n\n // Font Weights\n --font-weight-light: #{$font-weight-light};\n --font-weight-normal: #{$font-weight-normal};\n --font-weight-medium: #{$font-weight-medium};\n --font-weight-semibold: #{$font-weight-semibold};\n --font-weight-bold: #{$font-weight-bold};\n --font-weight-extrabold: #{$font-weight-extrabold};\n\n // Letter Spacing\n --letter-spacing-tighter: #{$letter-spacing-tighter};\n --letter-spacing-tight: #{$letter-spacing-tight};\n --letter-spacing-normal: #{$letter-spacing-normal};\n --letter-spacing-wide: #{$letter-spacing-wide};\n --letter-spacing-wider: #{$letter-spacing-wider};\n --letter-spacing-widest: #{$letter-spacing-widest};\n}\n\n","// ============================================================================\n// Border Tokens (Technical Design - Max 4px Radius)\n// ============================================================================\n\n// Border Widths\n$border-width-none: 0;\n$border-width-thin: 1px;\n$border-width-base: 2px;\n$border-width-thick: 4px;\n\n// Border Radius (Technical - Max 4px)\n$border-radius-none: 0;\n$border-radius-sm: 2px;\n$border-radius-md: 4px;\n$border-radius-lg: 4px; // Max 4px\n$border-radius-xl: 4px; // Max 4px\n$border-radius-2xl: 4px; // Max 4px\n$border-radius-full: 9999px; // Keep for special cases like switches\n\n// Export as CSS Custom Properties\n:root {\n // Border Widths\n --border-width-none: #{$border-width-none};\n --border-width-thin: #{$border-width-thin};\n --border-width-base: #{$border-width-base};\n --border-width-thick: #{$border-width-thick};\n\n // Border Radius (Technical)\n --border-radius-none: #{$border-radius-none};\n --border-radius-sm: #{$border-radius-sm};\n --border-radius-md: #{$border-radius-md};\n --border-radius-lg: #{$border-radius-lg};\n --border-radius-xl: #{$border-radius-xl};\n --border-radius-2xl: #{$border-radius-2xl};\n --border-radius-full: #{$border-radius-full};\n}\n","// ============================================================================\n// Shadow Tokens (Elevation System)\n// ============================================================================\n\n// Box Shadows\n$shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n$shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n$shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n$shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);\n$shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);\n$shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);\n$shadow-none: none;\n\n// Export as CSS Custom Properties\n:root {\n --shadow-sm: #{$shadow-sm};\n --shadow-md: #{$shadow-md};\n --shadow-lg: #{$shadow-lg};\n --shadow-xl: #{$shadow-xl};\n --shadow-2xl: #{$shadow-2xl};\n --shadow-inner: #{$shadow-inner};\n --shadow-none: #{$shadow-none};\n}\n\n","// ============================================================================\n// Z-Index Tokens (Layer System)\n// ============================================================================\n\n// Z-Index Layers\n$z-index-base: 0;\n$z-index-dropdown: 9999; // Immer im Vordergrund\n$z-index-sticky: 1020;\n$z-index-fixed: 1030;\n$z-index-modal-backdrop: 1040;\n$z-index-modal: 1050;\n$z-index-popover: 1060;\n$z-index-tooltip: 1070;\n\n// Export as CSS Custom Properties\n:root {\n --z-index-base: #{$z-index-base};\n --z-index-dropdown: #{$z-index-dropdown};\n --z-index-sticky: #{$z-index-sticky};\n --z-index-fixed: #{$z-index-fixed};\n --z-index-modal-backdrop: #{$z-index-modal-backdrop};\n --z-index-modal: #{$z-index-modal};\n --z-index-popover: #{$z-index-popover};\n --z-index-tooltip: #{$z-index-tooltip};\n}\n\n","// ============================================================================\n// Transition Tokens (Mechanical, Linear)\n// ============================================================================\n\n// Transition Durations (shorter, mechanical)\n$transition-duration-fast: 100ms;\n$transition-duration-base: 150ms;\n$transition-duration-slow: 200ms;\n$transition-duration-slower: 300ms;\n\n// Transition Timing Functions (all linear - mechanical)\n$transition-ease-linear: linear;\n$transition-ease-in: linear;\n$transition-ease-out: linear;\n$transition-ease-in-out: linear;\n\n// Common Transitions (all linear)\n$transition-base: all $transition-duration-base $transition-ease-linear;\n$transition-colors: color $transition-duration-base $transition-ease-linear, background-color $transition-duration-base $transition-ease-linear, border-color $transition-duration-base $transition-ease-linear;\n$transition-opacity: opacity $transition-duration-base $transition-ease-linear;\n$transition-transform: transform $transition-duration-base $transition-ease-linear;\n\n// Export as CSS Custom Properties\n:root {\n // Durations\n --transition-duration-fast: #{$transition-duration-fast};\n --transition-duration-base: #{$transition-duration-base};\n --transition-duration-slow: #{$transition-duration-slow};\n --transition-duration-slower: #{$transition-duration-slower};\n\n // Timing Functions (all linear)\n --transition-ease-linear: #{$transition-ease-linear};\n --transition-ease-in: #{$transition-ease-in};\n --transition-ease-out: #{$transition-ease-out};\n --transition-ease-in-out: #{$transition-ease-in-out};\n\n // Common Transitions\n --transition-base: #{$transition-base};\n --transition-colors: #{$transition-colors};\n --transition-opacity: #{$transition-opacity};\n --transition-transform: #{$transition-transform};\n}\n","// ============================================================================\n// Form Tokens\n// ============================================================================\n\n@use 'spacing' as *;\n@use 'colors' as *;\n@use 'typography' as *;\n@use 'borders' as *;\n@use 'transitions' as *;\n\n// Form Input Tokens\n$form-input-padding-x: $spacing-md;\n$form-input-padding-y: $spacing-sm;\n$form-input-padding-x-sm: $spacing-sm;\n$form-input-padding-y-sm: $spacing-xs;\n$form-input-padding-x-lg: $spacing-lg;\n$form-input-padding-y-lg: $spacing-md;\n\n$form-input-border-width: $border-width-thin;\n$form-input-border-radius: $border-radius-md;\n$form-input-font-size: $font-size-base;\n$form-input-font-size-sm: $font-size-sm;\n$form-input-font-size-lg: $font-size-lg;\n$form-input-line-height: $line-height-base;\n\n$form-input-bg: $color-bg;\n$form-input-bg-disabled: $color-bg-alt;\n$form-input-color: $color-text;\n$form-input-border: $color-border;\n$form-input-border-focus: $color-border-focus;\n$form-input-placeholder-color: $color-text-muted;\n\n$form-input-focus-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);\n$form-input-focus-shadow-error: 0 0 0 3px rgba(239, 68, 68, 0.1);\n$form-input-focus-shadow-success: 0 0 0 3px rgba(16, 185, 129, 0.1);\n\n$form-input-opacity-disabled: 0.6;\n\n// Form Label Tokens\n$form-label-font-size: $font-size-sm;\n$form-label-font-weight: $font-weight-medium;\n$form-label-color: $color-text;\n$form-label-margin-bottom: $spacing-xs;\n\n// Form Helper/Error Tokens\n$form-helper-font-size: $font-size-xs;\n$form-helper-color: $color-text-muted;\n$form-error-color: $color-error;\n$form-error-font-size: $font-size-xs;\n$form-helper-margin-top: $spacing-xs;\n\n// Form Group Tokens\n$form-group-margin-bottom: $spacing-md;\n\n// Checkbox & Radio Tokens\n$form-checkbox-size: 1.25rem;\n$form-checkbox-margin-right: $spacing-sm;\n$form-checkbox-accent-color: $color-primary;\n$form-checkbox-opacity-disabled: 0.6;\n\n// Switch Tokens\n$form-switch-width: 3rem;\n$form-switch-height: 1.5rem;\n$form-switch-slider-size: 1.25rem;\n$form-switch-slider-offset: 0.125rem;\n$form-switch-slider-translate: 1.5rem;\n$form-switch-bg: $color-gray-300;\n$form-switch-bg-active: $color-primary;\n$form-switch-slider-bg: #ffffff;\n$form-switch-focus-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);\n$form-switch-opacity-disabled: 0.6;\n\n// Textarea Tokens\n$form-textarea-min-height: 100px;\n$form-textarea-resize: vertical;\n\n// Range Tokens\n$form-range-height: 0.5rem;\n$form-range-thumb-size: 1.25rem;\n$form-range-bg: $color-gray-200;\n$form-range-thumb-bg: $color-primary;\n\n// File Input Tokens\n$form-file-input-padding: $spacing-sm;\n$form-file-input-font-size: $font-size-sm;\n$form-file-input-border-style: dashed;\n$form-file-input-bg: $color-bg-alt;\n$form-file-input-bg-hover: $color-bg;\n\n// Export as CSS Custom Properties\n:root {\n // Form Input\n --form-input-padding-x: #{$form-input-padding-x};\n --form-input-padding-y: #{$form-input-padding-y};\n --form-input-padding-x-sm: #{$form-input-padding-x-sm};\n --form-input-padding-y-sm: #{$form-input-padding-y-sm};\n --form-input-padding-x-lg: #{$form-input-padding-x-lg};\n --form-input-padding-y-lg: #{$form-input-padding-y-lg};\n\n --form-input-border-width: #{$form-input-border-width};\n --form-input-border-radius: #{$form-input-border-radius};\n --form-input-font-size: #{$form-input-font-size};\n --form-input-font-size-sm: #{$form-input-font-size-sm};\n --form-input-font-size-lg: #{$form-input-font-size-lg};\n --form-input-line-height: #{$form-input-line-height};\n\n --form-input-bg: #{$form-input-bg};\n --form-input-bg-disabled: #{$form-input-bg-disabled};\n --form-input-color: #{$form-input-color};\n --form-input-border: #{$form-input-border};\n --form-input-border-focus: #{$form-input-border-focus};\n --form-input-placeholder-color: #{$form-input-placeholder-color};\n\n --form-input-focus-shadow: #{$form-input-focus-shadow};\n --form-input-focus-shadow-error: #{$form-input-focus-shadow-error};\n --form-input-focus-shadow-success: #{$form-input-focus-shadow-success};\n\n --form-input-opacity-disabled: #{$form-input-opacity-disabled};\n\n // Form Label\n --form-label-font-size: #{$form-label-font-size};\n --form-label-font-weight: #{$form-label-font-weight};\n --form-label-color: #{$form-label-color};\n --form-label-margin-bottom: #{$form-label-margin-bottom};\n\n // Form Helper/Error\n --form-helper-font-size: #{$form-helper-font-size};\n --form-helper-color: #{$form-helper-color};\n --form-error-color: #{$form-error-color};\n --form-error-font-size: #{$form-error-font-size};\n --form-helper-margin-top: #{$form-helper-margin-top};\n\n // Form Group\n --form-group-margin-bottom: #{$form-group-margin-bottom};\n\n // Checkbox & Radio\n --form-checkbox-size: #{$form-checkbox-size};\n --form-checkbox-margin-right: #{$form-checkbox-margin-right};\n --form-checkbox-accent-color: #{$form-checkbox-accent-color};\n --form-checkbox-opacity-disabled: #{$form-checkbox-opacity-disabled};\n\n // Switch\n --form-switch-width: #{$form-switch-width};\n --form-switch-height: #{$form-switch-height};\n --form-switch-slider-size: #{$form-switch-slider-size};\n --form-switch-slider-offset: #{$form-switch-slider-offset};\n --form-switch-slider-translate: #{$form-switch-slider-translate};\n --form-switch-bg: #{$form-switch-bg};\n --form-switch-bg-active: #{$form-switch-bg-active};\n --form-switch-slider-bg: #{$form-switch-slider-bg};\n --form-switch-focus-shadow: #{$form-switch-focus-shadow};\n --form-switch-opacity-disabled: #{$form-switch-opacity-disabled};\n\n // Textarea\n --form-textarea-min-height: #{$form-textarea-min-height};\n --form-textarea-resize: #{$form-textarea-resize};\n\n // Range\n --form-range-height: #{$form-range-height};\n --form-range-thumb-size: #{$form-range-thumb-size};\n --form-range-bg: #{$form-range-bg};\n --form-range-thumb-bg: #{$form-range-thumb-bg};\n\n // File Input\n --form-file-input-padding: #{$form-file-input-padding};\n --form-file-input-font-size: #{$form-file-input-font-size};\n --form-file-input-border-style: #{$form-file-input-border-style};\n --form-file-input-bg: #{$form-file-input-bg};\n --form-file-input-bg-hover: #{$form-file-input-bg-hover};\n}\n","// ============================================================================\n// Glassmorphism Tokens (Technical Glass Design)\n// ============================================================================\n\n// Glass Background Colors (milky, desaturated)\n$glass-bg-light: rgba(255, 255, 255, 0.05);\n$glass-bg-medium: rgba(255, 255, 255, 0.08);\n$glass-bg-heavy: rgba(255, 255, 255, 0.12);\n$glass-bg-etched: rgba(255, 255, 255, 0.15); // For table headers (etched glass)\n\n// Backdrop Blur (subtle, reduced)\n$glass-blur-sm: 2px;\n$glass-blur-md: 4px;\n$glass-blur-lg: 6px;\n$glass-blur-xl: 8px;\n\n// Glass Borders (cool, slightly bright on dark ground)\n$glass-border-light: rgba(255, 255, 255, 0.1);\n$glass-border-medium: rgba(255, 255, 255, 0.15);\n$glass-border-heavy: rgba(255, 255, 255, 0.2);\n\n// Glass Shadows (subtle gray, no colorful glows)\n$glass-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.1);\n$glass-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.15);\n$glass-shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.2);\n\n// Technical Border Radius (max 4px)\n$tech-border-radius-none: 0;\n$tech-border-radius-sm: 2px;\n$tech-border-radius-md: 4px;\n\n// Export as CSS Custom Properties\n:root {\n // Glass Backgrounds\n --glass-bg-light: #{$glass-bg-light};\n --glass-bg-medium: #{$glass-bg-medium};\n --glass-bg-heavy: #{$glass-bg-heavy};\n --glass-bg-etched: #{$glass-bg-etched};\n\n // Backdrop Blur\n --glass-blur-sm: #{$glass-blur-sm};\n --glass-blur-md: #{$glass-blur-md};\n --glass-blur-lg: #{$glass-blur-lg};\n --glass-blur-xl: #{$glass-blur-xl};\n\n // Glass Borders\n --glass-border-light: #{$glass-border-light};\n --glass-border-medium: #{$glass-border-medium};\n --glass-border-heavy: #{$glass-border-heavy};\n\n // Glass Shadows\n --glass-shadow-sm: #{$glass-shadow-sm};\n --glass-shadow-md: #{$glass-shadow-md};\n --glass-shadow-lg: #{$glass-shadow-lg};\n\n // Technical Border Radius\n --tech-border-radius-none: #{$tech-border-radius-none};\n --tech-border-radius-sm: #{$tech-border-radius-sm};\n --tech-border-radius-md: #{$tech-border-radius-md};\n}\n","// ============================================================================\n// CSS Reset\n// ============================================================================\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n}\n\nhtml {\n -webkit-text-size-adjust: 100%;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n}\n\nbody {\n margin: 0;\n padding: 0;\n}\n\n","// ============================================================================\n// Normalize.css-inspired Browser Normalization\n// ============================================================================\n\n// Document\nhtml {\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n}\n\n// Sections\nbody {\n margin: 0;\n}\n\n// Grouping content\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Text-level semantics\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n// Embedded content\nimg {\n border-style: none;\n max-width: 100%;\n height: auto;\n display: block;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Forms\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\n// Interactive\ndetails {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\n// Misc\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\n","// ============================================================================\n// Base Styles (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Root Element\n:root {\n font-size: 16px; // Base font size for rem calculations\n}\n\n// Body (Dark Graphite, Desaturated)\nbody {\n font-family: var(--font-family-base);\n font-size: var(--font-size-base);\n line-height: var(--line-height-base);\n color: var(--color-text);\n background-color: var(--color-bg);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n min-height: 100vh;\n}\n\n// Headings (High Contrast)\nh1, h2, h3, h4, h5, h6 {\n margin: 0;\n font-weight: var(--font-weight-semibold);\n line-height: var(--line-height-tight);\n color: var(--color-text);\n}\n\nh1 {\n font-size: var(--font-size-4xl);\n}\n\nh2 {\n font-size: var(--font-size-3xl);\n}\n\nh3 {\n font-size: var(--font-size-2xl);\n}\n\nh4 {\n font-size: var(--font-size-xl);\n}\n\nh5 {\n font-size: var(--font-size-lg);\n}\n\nh6 {\n font-size: var(--font-size-base);\n}\n\n// Paragraphs\np {\n margin: 0;\n line-height: var(--line-height-base);\n color: var(--color-text);\n}\n\n// Links\na {\n color: var(--color-accent);\n text-decoration: none;\n transition: var(--transition-colors);\n\n &:hover {\n color: var(--color-accent-light);\n }\n\n &:focus {\n outline: 1px solid var(--color-border-focus);\n outline-offset: 2px;\n }\n}\n\n// Lists\nul, ol {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n// Images\nimg {\n max-width: 100%;\n height: auto;\n display: block;\n}\n\n// Horizontal Rule\nhr {\n border: 0;\n border-top: 1px solid var(--color-border);\n margin: var(--spacing-lg) 0;\n}\n\n// Code (Technical Style, Monospace)\ncode {\n font-family: var(--font-family-mono);\n font-size: 0.875em;\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n border: 1px solid var(--glass-border-light);\n padding: 0.125em 0.25em;\n border-radius: var(--tech-border-radius-sm);\n color: var(--color-text);\n}\n\npre {\n font-family: var(--font-family-mono);\n font-size: var(--font-size-sm);\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n border: 1px solid var(--glass-border-medium);\n padding: var(--spacing-md);\n border-radius: var(--tech-border-radius-md);\n overflow-x: auto;\n color: var(--color-text);\n\n code {\n background-color: transparent;\n padding: 0;\n border: none;\n }\n}\n\n// Blockquote\nblockquote {\n margin: 0;\n padding-left: var(--spacing-lg);\n border-left: var(--border-width-base) solid var(--color-border);\n color: var(--color-text-muted);\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n padding: var(--spacing-md);\n border-radius: var(--tech-border-radius-md);\n}\n\n// Tables (basic)\ntable {\n width: 100%;\n border-collapse: collapse;\n}\n\n// Buttons (reset)\nbutton {\n background: none;\n border: none;\n padding: 0;\n font: inherit;\n cursor: pointer;\n color: inherit;\n}\n\n// Inputs (reset)\ninput,\nselect,\ntextarea {\n font: inherit;\n color: inherit;\n}\n\n// Focus styles (accessibility)\n*:focus {\n outline: 1px solid var(--color-border-focus);\n outline-offset: 2px;\n}\n\n*:focus:not(:focus-visible) {\n outline: none;\n}\n\n*:focus-visible {\n outline: 1px solid var(--color-border-focus);\n outline-offset: 2px;\n}\n","// ============================================================================\n// Container\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-container {\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n\n // Small devices (landscape phones, 640px and up)\n @media (min-width: 640px) {\n max-width: 640px;\n }\n\n // Medium devices (tablets, 768px and up)\n @media (min-width: 768px) {\n max-width: 768px;\n }\n\n // Large devices (desktops, 1024px and up)\n @media (min-width: 1024px) {\n max-width: 1024px;\n }\n\n // Extra large devices (large desktops, 1280px and up)\n @media (min-width: 1280px) {\n max-width: 1280px;\n }\n\n // 2X Large devices (larger desktops, 1536px and up)\n @media (min-width: 1536px) {\n max-width: 1536px;\n }\n}\n\n.bl-container-fluid {\n width: 100%;\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n}\n\n","// ============================================================================\n// Flexbox 12-Column Grid System\n// ============================================================================\n\n@use 'sass:math';\n@use '../tokens/tokens' as *;\n\n// Row\n.bl-row {\n display: flex;\n flex-wrap: wrap;\n margin-left: calc(var(--spacing-md) * -1);\n margin-right: calc(var(--spacing-md) * -1);\n}\n\n// Column Base\n.bl-col {\n flex: 1 0 0%;\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n}\n\n// Column Sizes (1-12)\n@for $i from 1 through 12 {\n .bl-col-#{$i} {\n flex: 0 0 auto;\n width: math.percentage(math.div($i, 12));\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n}\n\n// Responsive Breakpoints\n// Small (sm: 640px)\n@media (min-width: 640px) {\n .bl-col-sm {\n flex: 1 0 0%;\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n\n @for $i from 1 through 12 {\n .bl-col-sm-#{$i} {\n flex: 0 0 auto;\n width: math.percentage(math.div($i, 12));\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n }\n}\n\n// Medium (md: 768px)\n@media (min-width: 768px) {\n .bl-col-md {\n flex: 1 0 0%;\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n\n @for $i from 1 through 12 {\n .bl-col-md-#{$i} {\n flex: 0 0 auto;\n width: math.percentage(math.div($i, 12));\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n }\n}\n\n// Large (lg: 1024px)\n@media (min-width: 1024px) {\n .bl-col-lg {\n flex: 1 0 0%;\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n\n @for $i from 1 through 12 {\n .bl-col-lg-#{$i} {\n flex: 0 0 auto;\n width: math.percentage(math.div($i, 12));\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n }\n}\n\n// Extra Large (xl: 1280px)\n@media (min-width: 1280px) {\n .bl-col-xl {\n flex: 1 0 0%;\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n\n @for $i from 1 through 12 {\n .bl-col-xl-#{$i} {\n flex: 0 0 auto;\n width: math.percentage(math.div($i, 12));\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n }\n}\n\n// 2X Large (2xl: 1536px)\n@media (min-width: 1536px) {\n .bl-col-2xl {\n flex: 1 0 0%;\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n\n @for $i from 1 through 12 {\n .bl-col-2xl-#{$i} {\n flex: 0 0 auto;\n width: math.percentage(math.div($i, 12));\n padding-left: var(--spacing-md);\n padding-right: var(--spacing-md);\n }\n }\n}\n\n","// ============================================================================\n// CSS Grid Utilities\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Base Grid\n.bl-grid {\n display: grid;\n gap: var(--spacing-md);\n}\n\n// Grid Columns (1-12)\n@for $i from 1 through 12 {\n .bl-grid-cols-#{$i} {\n grid-template-columns: repeat(#{$i}, minmax(0, 1fr));\n }\n}\n\n// Grid Rows (1-12)\n@for $i from 1 through 12 {\n .bl-grid-rows-#{$i} {\n grid-template-rows: repeat(#{$i}, minmax(0, 1fr));\n }\n}\n\n// Gap Utilities\n.bl-gap-xs {\n gap: var(--spacing-xs);\n}\n\n.bl-gap-sm {\n gap: var(--spacing-sm);\n}\n\n.bl-gap-md {\n gap: var(--spacing-md);\n}\n\n.bl-gap-lg {\n gap: var(--spacing-lg);\n}\n\n.bl-gap-xl {\n gap: var(--spacing-xl);\n}\n\n.bl-gap-2xl {\n gap: var(--spacing-2xl);\n}\n\n// Column Gap\n.bl-gap-x-xs {\n column-gap: var(--spacing-xs);\n}\n\n.bl-gap-x-sm {\n column-gap: var(--spacing-sm);\n}\n\n.bl-gap-x-md {\n column-gap: var(--spacing-md);\n}\n\n.bl-gap-x-lg {\n column-gap: var(--spacing-lg);\n}\n\n.bl-gap-x-xl {\n column-gap: var(--spacing-xl);\n}\n\n.bl-gap-x-2xl {\n column-gap: var(--spacing-2xl);\n}\n\n// Row Gap\n.bl-gap-y-xs {\n row-gap: var(--spacing-xs);\n}\n\n.bl-gap-y-sm {\n row-gap: var(--spacing-sm);\n}\n\n.bl-gap-y-md {\n row-gap: var(--spacing-md);\n}\n\n.bl-gap-y-lg {\n row-gap: var(--spacing-lg);\n}\n\n.bl-gap-y-xl {\n row-gap: var(--spacing-xl);\n}\n\n.bl-gap-y-2xl {\n row-gap: var(--spacing-2xl);\n}\n\n// Grid Column Span\n@for $i from 1 through 12 {\n .bl-col-span-#{$i} {\n grid-column: span #{$i} / span #{$i};\n }\n}\n\n// Grid Row Span\n@for $i from 1 through 12 {\n .bl-row-span-#{$i} {\n grid-row: span #{$i} / span #{$i};\n }\n}\n\n// Auto Flow\n.bl-grid-flow-row {\n grid-auto-flow: row;\n}\n\n.bl-grid-flow-col {\n grid-auto-flow: column;\n}\n\n.bl-grid-flow-dense {\n grid-auto-flow: dense;\n}\n\n","// ============================================================================\n// Flexbox Utilities\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Display\n.bl-flex {\n display: flex;\n}\n\n.bl-inline-flex {\n display: inline-flex;\n}\n\n// Direction\n.bl-flex-row {\n flex-direction: row;\n}\n\n.bl-flex-row-reverse {\n flex-direction: row-reverse;\n}\n\n.bl-flex-col {\n flex-direction: column;\n}\n\n.bl-flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n// Wrap\n.bl-flex-wrap {\n flex-wrap: wrap;\n}\n\n.bl-flex-nowrap {\n flex-wrap: nowrap;\n}\n\n.bl-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n}\n\n// Justify Content\n.bl-justify-start {\n justify-content: flex-start;\n}\n\n.bl-justify-end {\n justify-content: flex-end;\n}\n\n.bl-justify-center {\n justify-content: center;\n}\n\n.bl-justify-between {\n justify-content: space-between;\n}\n\n.bl-justify-around {\n justify-content: space-around;\n}\n\n.bl-justify-evenly {\n justify-content: space-evenly;\n}\n\n// Align Items\n.bl-items-start {\n align-items: flex-start;\n}\n\n.bl-items-end {\n align-items: flex-end;\n}\n\n.bl-items-center {\n align-items: center;\n}\n\n.bl-items-baseline {\n align-items: baseline;\n}\n\n.bl-items-stretch {\n align-items: stretch;\n}\n\n// Align Self\n.bl-self-auto {\n align-self: auto;\n}\n\n.bl-self-start {\n align-self: flex-start;\n}\n\n.bl-self-end {\n align-self: flex-end;\n}\n\n.bl-self-center {\n align-self: center;\n}\n\n.bl-self-stretch {\n align-self: stretch;\n}\n\n.bl-self-baseline {\n align-self: baseline;\n}\n\n// Align Content\n.bl-content-start {\n align-content: flex-start;\n}\n\n.bl-content-end {\n align-content: flex-end;\n}\n\n.bl-content-center {\n align-content: center;\n}\n\n.bl-content-between {\n align-content: space-between;\n}\n\n.bl-content-around {\n align-content: space-around;\n}\n\n.bl-content-stretch {\n align-content: stretch;\n}\n\n// Flex Grow/Shrink\n.bl-flex-1 {\n flex: 1 1 0%;\n}\n\n.bl-flex-auto {\n flex: 1 1 auto;\n}\n\n.bl-flex-initial {\n flex: 0 1 auto;\n}\n\n.bl-flex-none {\n flex: none;\n}\n\n.bl-grow {\n flex-grow: 1;\n}\n\n.bl-grow-0 {\n flex-grow: 0;\n}\n\n.bl-shrink {\n flex-shrink: 1;\n}\n\n.bl-shrink-0 {\n flex-shrink: 0;\n}\n\n","// ============================================================================\n// Spacing Utilities\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Spacing sizes\n$spacing-sizes: (\n 'xs': var(--spacing-xs),\n 'sm': var(--spacing-sm),\n 'md': var(--spacing-md),\n 'lg': var(--spacing-lg),\n 'xl': var(--spacing-xl),\n '2xl': var(--spacing-2xl),\n '3xl': var(--spacing-3xl),\n '0': 0,\n 'auto': auto\n);\n\n// Margin Utilities\n@each $name, $value in $spacing-sizes {\n .m-#{$name} {\n margin: #{$value};\n }\n\n .mt-#{$name} {\n margin-top: #{$value};\n }\n\n .mr-#{$name} {\n margin-right: #{$value};\n }\n\n .mb-#{$name} {\n margin-bottom: #{$value};\n }\n\n .ml-#{$name} {\n margin-left: #{$value};\n }\n\n .mx-#{$name} {\n margin-left: #{$value};\n margin-right: #{$value};\n }\n\n .my-#{$name} {\n margin-top: #{$value};\n margin-bottom: #{$value};\n }\n}\n\n// Padding Utilities\n@each $name, $value in $spacing-sizes {\n @if $name != 'auto' {\n .p-#{$name} {\n padding: #{$value};\n }\n\n .pt-#{$name} {\n padding-top: #{$value};\n }\n\n .pr-#{$name} {\n padding-right: #{$value};\n }\n\n .pb-#{$name} {\n padding-bottom: #{$value};\n }\n\n .pl-#{$name} {\n padding-left: #{$value};\n }\n\n .px-#{$name} {\n padding-left: #{$value};\n padding-right: #{$value};\n }\n\n .py-#{$name} {\n padding-top: #{$value};\n padding-bottom: #{$value};\n }\n }\n}\n\n","// ============================================================================\n// Display Utilities\n// ============================================================================\n\n.bl-d-none {\n display: none;\n}\n\n.bl-d-inline {\n display: inline;\n}\n\n.bl-d-inline-block {\n display: inline-block;\n}\n\n.bl-d-block {\n display: block;\n}\n\n.bl-d-table {\n display: table;\n}\n\n.bl-d-table-row {\n display: table-row;\n}\n\n.bl-d-table-cell {\n display: table-cell;\n}\n\n.bl-d-flex {\n display: flex;\n}\n\n.bl-d-inline-flex {\n display: inline-flex;\n}\n\n.bl-d-grid {\n display: grid;\n}\n\n.bl-d-inline-grid {\n display: inline-grid;\n}\n\n// Responsive Display Utilities\n@media (min-width: 640px) {\n .bl-d-sm-none { display: none; }\n .bl-d-sm-inline { display: inline; }\n .bl-d-sm-inline-block { display: inline-block; }\n .bl-d-sm-block { display: block; }\n .bl-d-sm-flex { display: flex; }\n .bl-d-sm-inline-flex { display: inline-flex; }\n .bl-d-sm-grid { display: grid; }\n}\n\n@media (min-width: 768px) {\n .bl-d-md-none { display: none; }\n .bl-d-md-inline { display: inline; }\n .bl-d-md-inline-block { display: inline-block; }\n .bl-d-md-block { display: block; }\n .bl-d-md-flex { display: flex; }\n .bl-d-md-inline-flex { display: inline-flex; }\n .bl-d-md-grid { display: grid; }\n}\n\n@media (min-width: 1024px) {\n .bl-d-lg-none { display: none; }\n .bl-d-lg-inline { display: inline; }\n .bl-d-lg-inline-block { display: inline-block; }\n .bl-d-lg-block { display: block; }\n .bl-d-lg-flex { display: flex; }\n .bl-d-lg-inline-flex { display: inline-flex; }\n .bl-d-lg-grid { display: grid; }\n}\n\n@media (min-width: 1280px) {\n .bl-d-xl-none { display: none; }\n .bl-d-xl-inline { display: inline; }\n .bl-d-xl-inline-block { display: inline-block; }\n .bl-d-xl-block { display: block; }\n .bl-d-xl-flex { display: flex; }\n .bl-d-xl-inline-flex { display: inline-flex; }\n .bl-d-xl-grid { display: grid; }\n}\n\n","// ============================================================================\n// Text Utilities\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Text Alignment\n.bl-text-left {\n text-align: left;\n}\n\n.bl-text-center {\n text-align: center;\n}\n\n.bl-text-right {\n text-align: right;\n}\n\n.bl-text-justify {\n text-align: justify;\n}\n\n// Text Size\n.bl-text-xs {\n font-size: var(--font-size-xs);\n}\n\n.bl-text-sm {\n font-size: var(--font-size-sm);\n}\n\n.bl-text-base {\n font-size: var(--font-size-base);\n}\n\n.bl-text-lg {\n font-size: var(--font-size-lg);\n}\n\n.bl-text-xl {\n font-size: var(--font-size-xl);\n}\n\n.bl-text-2xl {\n font-size: var(--font-size-2xl);\n}\n\n.bl-text-3xl {\n font-size: var(--font-size-3xl);\n}\n\n.bl-text-4xl {\n font-size: var(--font-size-4xl);\n}\n\n.bl-text-5xl {\n font-size: var(--font-size-5xl);\n}\n\n.bl-text-6xl {\n font-size: var(--font-size-6xl);\n}\n\n// Font Weight\n.bl-font-light {\n font-weight: var(--font-weight-light);\n}\n\n.bl-font-normal {\n font-weight: var(--font-weight-normal);\n}\n\n.bl-font-medium {\n font-weight: var(--font-weight-medium);\n}\n\n.bl-font-semibold {\n font-weight: var(--font-weight-semibold);\n}\n\n.bl-font-bold {\n font-weight: var(--font-weight-bold);\n}\n\n.bl-font-extrabold {\n font-weight: var(--font-weight-extrabold);\n}\n\n// Line Height\n.bl-leading-none {\n line-height: var(--line-height-none);\n}\n\n.bl-leading-tight {\n line-height: var(--line-height-tight);\n}\n\n.bl-leading-snug {\n line-height: var(--line-height-snug);\n}\n\n.bl-leading-base {\n line-height: var(--line-height-base);\n}\n\n.bl-leading-relaxed {\n line-height: var(--line-height-relaxed);\n}\n\n.bl-leading-loose {\n line-height: var(--line-height-loose);\n}\n\n// Text Transform\n.bl-uppercase {\n text-transform: uppercase;\n}\n\n.bl-lowercase {\n text-transform: lowercase;\n}\n\n.bl-capitalize {\n text-transform: capitalize;\n}\n\n.bl-normal-case {\n text-transform: none;\n}\n\n// Text Decoration\n.bl-underline {\n text-decoration: underline;\n}\n\n.bl-line-through {\n text-decoration: line-through;\n}\n\n.bl-no-underline {\n text-decoration: none;\n}\n\n// Letter Spacing\n.bl-tracking-tighter {\n letter-spacing: var(--letter-spacing-tighter);\n}\n\n.bl-tracking-tight {\n letter-spacing: var(--letter-spacing-tight);\n}\n\n.bl-tracking-normal {\n letter-spacing: var(--letter-spacing-normal);\n}\n\n.bl-tracking-wide {\n letter-spacing: var(--letter-spacing-wide);\n}\n\n.bl-tracking-wider {\n letter-spacing: var(--letter-spacing-wider);\n}\n\n.bl-tracking-widest {\n letter-spacing: var(--letter-spacing-widest);\n}\n\n// Text Color\n.bl-text-primary {\n color: var(--color-primary);\n}\n\n.bl-text-secondary {\n color: var(--color-secondary);\n}\n\n.bl-text-success {\n color: var(--color-success);\n}\n\n.bl-text-warning {\n color: var(--color-warning);\n}\n\n.bl-text-error {\n color: var(--color-error);\n}\n\n.bl-text-info {\n color: var(--color-info);\n}\n\n.bl-text-muted {\n color: var(--color-text-muted);\n}\n\n.bl-text-light {\n color: var(--color-text-light);\n}\n\n.bl-text-inverse {\n color: var(--color-text-inverse);\n}\n\n// Font Family\n.bl-font-sans {\n font-family: var(--font-family-base);\n}\n\n.bl-font-mono {\n font-family: var(--font-family-mono);\n}\n\n.bl-font-serif {\n font-family: var(--font-family-serif);\n}\n\n// Text Overflow\n.bl-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.bl-text-ellipsis {\n text-overflow: ellipsis;\n}\n\n.bl-text-clip {\n text-overflow: clip;\n}\n\n// White Space\n.bl-whitespace-normal {\n white-space: normal;\n}\n\n.bl-whitespace-nowrap {\n white-space: nowrap;\n}\n\n.bl-whitespace-pre {\n white-space: pre;\n}\n\n.bl-whitespace-pre-line {\n white-space: pre-line;\n}\n\n.bl-whitespace-pre-wrap {\n white-space: pre-wrap;\n}\n\n","// ============================================================================\n// Visibility Utilities\n// ============================================================================\n\n.bl-visible {\n visibility: visible;\n}\n\n.bl-invisible {\n visibility: hidden;\n}\n\n// Opacity\n.bl-opacity-0 {\n opacity: 0;\n}\n\n.bl-opacity-25 {\n opacity: 0.25;\n}\n\n.bl-opacity-50 {\n opacity: 0.5;\n}\n\n.bl-opacity-75 {\n opacity: 0.75;\n}\n\n.bl-opacity-100 {\n opacity: 1;\n}\n\n// Overflow\n.bl-overflow-auto {\n overflow: auto;\n}\n\n.bl-overflow-hidden {\n overflow: hidden;\n}\n\n.bl-overflow-visible {\n overflow: visible;\n}\n\n.bl-overflow-scroll {\n overflow: scroll;\n}\n\n.bl-overflow-x-auto {\n overflow-x: auto;\n}\n\n.bl-overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.bl-overflow-x-scroll {\n overflow-x: scroll;\n}\n\n.bl-overflow-y-auto {\n overflow-y: auto;\n}\n\n.bl-overflow-y-hidden {\n overflow-y: hidden;\n}\n\n.bl-overflow-y-scroll {\n overflow-y: scroll;\n}\n\n","// ============================================================================\n// Position Utilities\n// ============================================================================\n\n.bl-static {\n position: static;\n}\n\n.bl-fixed {\n position: fixed;\n}\n\n.bl-absolute {\n position: absolute;\n}\n\n.bl-relative {\n position: relative;\n}\n\n.bl-sticky {\n position: sticky;\n}\n\n// Top, Right, Bottom, Left\n.bl-top-0 {\n top: 0;\n}\n\n.bl-right-0 {\n right: 0;\n}\n\n.bl-bottom-0 {\n bottom: 0;\n}\n\n.bl-left-0 {\n left: 0;\n}\n\n.bl-top-auto {\n top: auto;\n}\n\n.bl-right-auto {\n right: auto;\n}\n\n.bl-bottom-auto {\n bottom: auto;\n}\n\n.bl-left-auto {\n left: auto;\n}\n\n// Insets\n.bl-inset-0 {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n\n.bl-inset-auto {\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n}\n\n// Z-Index\n.bl-z-0 {\n z-index: var(--z-index-base);\n}\n\n.bl-z-dropdown {\n z-index: var(--z-index-dropdown);\n}\n\n.bl-z-sticky {\n z-index: var(--z-index-sticky);\n}\n\n.bl-z-fixed {\n z-index: var(--z-index-fixed);\n}\n\n.bl-z-modal-backdrop {\n z-index: var(--z-index-modal-backdrop);\n}\n\n.bl-z-modal {\n z-index: var(--z-index-modal);\n}\n\n.bl-z-popover {\n z-index: var(--z-index-popover);\n}\n\n.bl-z-tooltip {\n z-index: var(--z-index-tooltip);\n}\n\n","// ============================================================================\n// Animation Utilities\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Transition\n.bl-transition {\n transition: var(--transition-base);\n}\n\n.bl-transition-colors {\n transition: var(--transition-colors);\n}\n\n.bl-transition-opacity {\n transition: var(--transition-opacity);\n}\n\n.bl-transition-transform {\n transition: var(--transition-transform);\n}\n\n.bl-transition-none {\n transition: none;\n}\n\n// Duration\n.bl-duration-fast {\n transition-duration: var(--transition-duration-fast);\n}\n\n.bl-duration-base {\n transition-duration: var(--transition-duration-base);\n}\n\n.bl-duration-slow {\n transition-duration: var(--transition-duration-slow);\n}\n\n.bl-duration-slower {\n transition-duration: var(--transition-duration-slower);\n}\n\n// Easing\n.bl-ease-linear {\n transition-timing-function: var(--transition-ease-linear);\n}\n\n.bl-ease-in {\n transition-timing-function: var(--transition-ease-in);\n}\n\n.bl-ease-out {\n transition-timing-function: var(--transition-ease-out);\n}\n\n.bl-ease-in-out {\n transition-timing-function: var(--transition-ease-in-out);\n}\n\n// Fade Animations\n@keyframes bl-fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n@keyframes bl-fade-out {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n\n.bl-fade-in {\n animation: bl-fade-in var(--transition-duration-base) var(--transition-ease-out);\n}\n\n.bl-fade-out {\n animation: bl-fade-out var(--transition-duration-base) var(--transition-ease-out);\n}\n\n// Slide Animations\n@keyframes bl-slide-up {\n from {\n transform: translateY(100%);\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n}\n\n@keyframes bl-slide-down {\n from {\n transform: translateY(-100%);\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n}\n\n@keyframes bl-slide-left {\n from {\n transform: translateX(100%);\n opacity: 0;\n }\n to {\n transform: translateX(0);\n opacity: 1;\n }\n}\n\n@keyframes bl-slide-right {\n from {\n transform: translateX(-100%);\n opacity: 0;\n }\n to {\n transform: translateX(0);\n opacity: 1;\n }\n}\n\n.bl-slide-up {\n animation: bl-slide-up var(--transition-duration-base) var(--transition-ease-out);\n}\n\n.bl-slide-down {\n animation: bl-slide-down var(--transition-duration-base) var(--transition-ease-out);\n}\n\n.bl-slide-left {\n animation: bl-slide-left var(--transition-duration-base) var(--transition-ease-out);\n}\n\n.bl-slide-right {\n animation: bl-slide-right var(--transition-duration-base) var(--transition-ease-out);\n}\n\n// Spin Animation\n@keyframes bl-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n.bl-animate-spin {\n animation: bl-spin 1s linear infinite;\n}\n\n// Pulse Animation\n@keyframes bl-pulse {\n 0%, 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n}\n\n.bl-animate-pulse {\n animation: bl-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n\n","// ============================================================================\n// Accessibility Utilities\n// ============================================================================\n\n// Screen Reader Only\n.bl-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.bl-sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n padding: inherit;\n margin: inherit;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n// Skip Link\n.bl-skip-link {\n position: absolute;\n top: -40px;\n left: 0;\n z-index: var(--z-index-tooltip);\n padding: var(--spacing-sm) var(--spacing-md);\n background-color: var(--color-primary);\n color: var(--color-text-inverse);\n text-decoration: none;\n border-radius: var(--border-radius-md);\n\n &:focus {\n top: var(--spacing-sm);\n outline: 2px solid var(--color-border-focus);\n outline-offset: 2px;\n }\n}\n\n// Focus Visible (for keyboard navigation)\n.bl-focus-visible:focus-visible {\n outline: 2px solid var(--color-border-focus);\n outline-offset: 2px;\n}\n\n// High Contrast Mode Support\n@media (prefers-contrast: high) {\n * {\n border-color: currentColor !important;\n }\n\n .bl-skip-link {\n border: 2px solid currentColor;\n }\n}\n\n// Reduced Motion\n@media (prefers-reduced-motion: reduce) {\n *,\n *::before,\n *::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n}\n\n","// ============================================================================\n// Button Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-sm) var(--spacing-md);\n font-family: var(--font-family-base);\n font-size: var(--font-size-base);\n font-weight: var(--font-weight-medium);\n line-height: var(--line-height-base);\n text-align: center;\n text-decoration: none;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-sm);\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n transition: var(--transition-base);\n color: var(--color-text);\n\n &:focus {\n outline: 1px solid var(--color-border-focus);\n outline-offset: 2px;\n }\n\n &:disabled,\n &.bl-disabled {\n opacity: 0.6;\n cursor: not-allowed;\n pointer-events: none;\n }\n}\n\n// Button Sizes\n.bl-btn-sm {\n padding: var(--spacing-xs) var(--spacing-sm);\n font-size: var(--font-size-sm);\n}\n\n.bl-btn-lg {\n padding: var(--spacing-md) var(--spacing-lg);\n font-size: var(--font-size-lg);\n}\n\n// Button Variants\n.bl-btn-primary {\n background: var(--color-accent);\n color: var(--color-text-inverse);\n border-color: var(--color-accent);\n\n &:hover:not(:disabled):not(.bl-disabled) {\n background: var(--color-accent-dark);\n border-color: var(--color-accent-dark);\n }\n\n &:active:not(:disabled):not(.bl-disabled) {\n transform: translateY(1px); // Pressed effect\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n.bl-btn-secondary {\n background: var(--glass-bg-medium);\n color: var(--color-text);\n border-color: var(--glass-border-medium);\n\n &:hover:not(:disabled):not(.bl-disabled) {\n background: var(--glass-bg-heavy);\n border-color: var(--glass-border-heavy);\n }\n\n &:active:not(:disabled):not(.bl-disabled) {\n transform: translateY(1px);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n.bl-btn-outline {\n background: transparent;\n color: var(--color-accent);\n border-color: var(--color-accent);\n\n &:hover:not(:disabled):not(.bl-disabled) {\n background: var(--glass-bg-light);\n border-color: var(--color-accent-light);\n }\n\n &:active:not(:disabled):not(.bl-disabled) {\n transform: translateY(1px);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n.bl-btn-ghost {\n background: transparent;\n color: var(--color-text);\n border-color: transparent;\n\n &:hover:not(:disabled):not(.bl-disabled) {\n background: var(--glass-bg-light);\n border-color: var(--glass-border-light);\n }\n\n &:active:not(:disabled):not(.bl-disabled) {\n transform: translateY(1px);\n }\n}\n\n.bl-btn-link {\n background: transparent;\n color: var(--color-accent);\n border-color: transparent;\n padding: 0;\n text-decoration: underline;\n\n &:hover:not(:disabled):not(.bl-disabled) {\n color: var(--color-accent-light);\n text-decoration: none;\n }\n}\n\n// Semantic Button Variants\n.bl-btn-success {\n background: var(--color-success);\n color: var(--color-text-inverse);\n border-color: var(--color-success);\n\n &:hover:not(:disabled):not(.bl-disabled) {\n background: var(--color-success-dark);\n border-color: var(--color-success-dark);\n }\n\n &:active:not(:disabled):not(.bl-disabled) {\n transform: translateY(1px);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n.bl-btn-warning {\n background: var(--color-warning);\n color: var(--color-text-inverse);\n border-color: var(--color-warning);\n\n &:hover:not(:disabled):not(.bl-disabled) {\n background: var(--color-warning-dark);\n border-color: var(--color-warning-dark);\n }\n\n &:active:not(:disabled):not(.bl-disabled) {\n transform: translateY(1px);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n.bl-btn-error {\n background: var(--color-error);\n color: var(--color-text-inverse);\n border-color: var(--color-error);\n\n &:hover:not(:disabled):not(.bl-disabled) {\n background: var(--color-error-dark);\n border-color: var(--color-error-dark);\n }\n\n &:active:not(:disabled):not(.bl-disabled) {\n transform: translateY(1px);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n.bl-btn-info {\n background: var(--color-info);\n color: var(--color-text-inverse);\n border-color: var(--color-info);\n\n &:hover:not(:disabled):not(.bl-disabled) {\n background: var(--color-info-dark);\n border-color: var(--color-info-dark);\n }\n\n &:active:not(:disabled):not(.bl-disabled) {\n transform: translateY(1px);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n// Button Block (full width)\n.bl-btn-block {\n display: flex;\n width: 100%;\n}\n","// ============================================================================\n// Form Components (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Form Group\n.bl-form-group {\n margin-bottom: var(--form-group-margin-bottom);\n}\n\n.bl-form-label {\n display: block;\n margin-bottom: var(--form-label-margin-bottom);\n font-size: var(--form-label-font-size);\n font-weight: var(--form-label-font-weight);\n color: var(--color-text);\n}\n\n.bl-form-label-required::after {\n content: ' *';\n color: var(--form-error-color);\n}\n\n.bl-form-helper {\n display: block;\n margin-top: var(--form-helper-margin-top);\n font-size: var(--form-helper-font-size);\n color: var(--color-text-muted);\n}\n\n.bl-form-error {\n display: block;\n margin-top: var(--form-helper-margin-top);\n font-size: var(--form-error-font-size);\n color: var(--color-error);\n}\n\n// Input Base (Recessed Glass Windows)\n.bl-input,\n.bl-textarea {\n display: block;\n width: 100%;\n padding: var(--form-input-padding-y) var(--form-input-padding-x);\n font-family: var(--font-family-base);\n font-size: var(--form-input-font-size);\n line-height: var(--form-input-line-height);\n color: var(--color-text);\n background: var(--glass-bg-light);\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-sm);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n transition: var(--transition-base);\n\n &::placeholder {\n color: var(--color-text-muted);\n opacity: 1;\n font-style: normal; // Technical labeling style\n }\n\n &:focus {\n outline: none;\n border-width: 2px; // Sharper border, not brighter\n border-color: var(--color-accent);\n background: var(--glass-bg-medium);\n }\n\n &:disabled {\n opacity: var(--form-input-opacity-disabled);\n cursor: not-allowed;\n background: var(--glass-bg-dark);\n }\n}\n\n// Select (wird automatisch zu Dropdown umgewandelt)\n.bl-select {\n // Wird durch JavaScript in .bl-select-dropdown umgewandelt\n // Fallback-Styling für den Fall, dass JS nicht lädt\n display: block;\n width: 100%;\n padding: var(--form-input-padding-y) var(--form-input-padding-x);\n padding-right: calc(var(--form-input-padding-x) + 1.5rem);\n font-family: var(--font-family-base);\n font-size: var(--form-input-font-size);\n line-height: var(--form-input-line-height);\n color: var(--color-text);\n background: var(--glass-bg-medium);\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-md);\n backdrop-filter: blur(var(--glass-blur-lg));\n -webkit-backdrop-filter: blur(var(--glass-blur-lg));\n transition: var(--transition-base);\n cursor: pointer;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%23ffffff' d='M0 2l4 4 4-4z'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: right var(--form-input-padding-x) center;\n background-size: 0.75rem;\n box-shadow: var(--glass-shadow-sm);\n\n &:focus {\n outline: none;\n border-width: 2px;\n border-color: var(--color-accent);\n background-color: var(--glass-bg-medium);\n box-shadow: var(--glass-shadow-md), 0 0 0 1px var(--color-accent);\n }\n\n &:hover {\n background-color: var(--glass-bg-heavy);\n border-color: var(--glass-border-heavy);\n }\n\n &:disabled {\n opacity: var(--form-input-opacity-disabled);\n cursor: not-allowed;\n background-color: var(--glass-bg-dark);\n box-shadow: none;\n }\n\n // Wenn Select in Dropdown umgewandelt wurde, verstecken\n &.bl-select-converted {\n display: none;\n }\n}\n\n// Select Dropdown (automatisch generiert aus .bl-select)\n.bl-select-dropdown {\n position: relative;\n display: block;\n width: 100%;\n\n .bl-select-toggle {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: var(--form-input-padding-y) var(--form-input-padding-x);\n font-family: var(--font-family-base);\n font-size: var(--form-input-font-size);\n line-height: var(--form-input-line-height);\n color: var(--color-text);\n background: var(--glass-bg-medium);\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-md);\n backdrop-filter: blur(var(--glass-blur-lg));\n -webkit-backdrop-filter: blur(var(--glass-blur-lg));\n transition: var(--transition-base);\n cursor: pointer;\n box-shadow: var(--glass-shadow-sm);\n text-align: left;\n border: none; // Reset button border\n\n &::after {\n display: inline-block;\n margin-left: var(--spacing-xs);\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid var(--color-text);\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n flex-shrink: 0;\n }\n\n &:focus {\n outline: none;\n border-width: 2px;\n border-color: var(--color-accent);\n box-shadow: var(--glass-shadow-md), 0 0 0 1px var(--color-accent);\n }\n\n &:hover {\n background-color: var(--glass-bg-heavy);\n border-color: var(--glass-border-heavy);\n }\n\n &:disabled {\n opacity: var(--form-input-opacity-disabled);\n cursor: not-allowed;\n background-color: var(--glass-bg-dark);\n }\n }\n\n .bl-select-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 999999 !important; // Immer ganz oben\n display: none;\n width: 100%;\n min-width: 100%;\n padding: var(--spacing-xs) 0;\n margin: var(--spacing-xs) 0 0 0;\n font-size: var(--font-size-base);\n color: var(--color-text);\n text-align: left;\n list-style: none;\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-lg));\n -webkit-backdrop-filter: blur(var(--glass-blur-lg));\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-md);\n overflow: hidden;\n overflow-y: auto;\n max-height: 300px;\n box-shadow: var(--glass-shadow-lg);\n\n &.bl-show {\n display: block;\n }\n }\n\n .bl-select-item {\n display: block;\n width: 100%;\n padding: var(--spacing-sm) var(--spacing-md);\n clear: both;\n font-weight: var(--font-weight-normal);\n color: var(--color-text);\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n cursor: pointer;\n transition: var(--transition-base);\n\n &:hover,\n &:focus {\n color: var(--color-text);\n text-decoration: none;\n background: var(--glass-bg-heavy);\n }\n\n &:active {\n color: var(--color-text);\n background: var(--glass-bg-heavy);\n }\n\n &.bl-selected {\n background: var(--glass-bg-heavy);\n color: var(--color-accent);\n\n &::before {\n content: \"✓ \";\n margin-right: var(--spacing-xs);\n }\n }\n\n &.bl-disabled,\n &:disabled {\n color: var(--color-text-muted);\n pointer-events: none;\n background-color: transparent;\n opacity: 0.6;\n }\n }\n}\n\n// Input States\n.bl-input-error,\n.bl-select-error,\n.bl-textarea-error {\n border-bottom: 2px solid var(--color-error); // Line, not area\n\n &:focus {\n border-width: 2px;\n border-color: var(--color-error);\n border-bottom-width: 2px;\n }\n}\n\n.bl-input-success,\n.bl-select-success,\n.bl-textarea-success {\n border-bottom: 2px solid var(--color-success);\n\n &:focus {\n border-width: 2px;\n border-color: var(--color-success);\n border-bottom-width: 2px;\n }\n}\n\n// Input Sizes\n.bl-input-sm,\n.bl-select-sm {\n padding: var(--form-input-padding-y-sm) var(--form-input-padding-x-sm);\n font-size: var(--form-input-font-size-sm);\n}\n\n.bl-select-sm {\n padding-right: calc(var(--form-input-padding-x-sm) + 1.25rem);\n}\n\n.bl-input-lg,\n.bl-select-lg {\n padding: var(--form-input-padding-y-lg) var(--form-input-padding-x-lg);\n font-size: var(--form-input-font-size-lg);\n}\n\n.bl-select-lg {\n padding-right: calc(var(--form-input-padding-x-lg) + 1.75rem);\n}\n\n// Textarea\n.bl-textarea {\n resize: var(--form-textarea-resize);\n min-height: var(--form-textarea-min-height);\n}\n\n// Checkbox & Radio\n.bl-checkbox,\n.bl-radio {\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n user-select: none;\n\n input[type=\"checkbox\"],\n input[type=\"radio\"] {\n width: var(--form-checkbox-size);\n height: var(--form-checkbox-size);\n margin-right: var(--form-checkbox-margin-right);\n cursor: pointer;\n accent-color: var(--form-checkbox-accent-color);\n }\n\n &:disabled {\n opacity: var(--form-checkbox-opacity-disabled);\n cursor: not-allowed;\n }\n}\n\n// Switch (Toggle)\n.bl-switch {\n position: relative;\n display: inline-block;\n width: var(--form-switch-width);\n height: var(--form-switch-height);\n\n input {\n opacity: 0;\n width: 0;\n height: 0;\n\n &:checked + .bl-switch-slider {\n background-color: var(--form-switch-bg-active);\n\n &::before {\n transform: translateX(var(--form-switch-slider-translate));\n }\n }\n\n &:focus + .bl-switch-slider {\n border-color: var(--color-accent);\n }\n\n &:disabled + .bl-switch-slider {\n opacity: var(--form-switch-opacity-disabled);\n cursor: not-allowed;\n }\n }\n}\n\n.bl-switch-slider {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--glass-bg-medium);\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--border-radius-full);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n transition: var(--transition-base);\n cursor: pointer;\n\n &::before {\n position: absolute;\n content: \"\";\n height: var(--form-switch-slider-size);\n width: var(--form-switch-slider-size);\n left: var(--form-switch-slider-offset);\n bottom: var(--form-switch-slider-offset);\n background: var(--glass-bg-heavy);\n border: 1px solid var(--glass-border-light);\n border-radius: var(--border-radius-full);\n transition: var(--transition-base);\n }\n}\n\n// File Input\n.bl-file-input {\n display: block;\n width: 100%;\n padding: var(--form-file-input-padding);\n font-size: var(--form-file-input-font-size);\n color: var(--color-text);\n border: 1px dashed var(--glass-border-medium);\n border-radius: var(--tech-border-radius-sm);\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n cursor: pointer;\n transition: var(--transition-base);\n\n &:hover {\n border-color: var(--glass-border-heavy);\n background: var(--glass-bg-medium);\n }\n\n input[type=\"file\"] {\n display: none;\n }\n}\n\n// Range Input\n.bl-range {\n width: 100%;\n height: var(--form-range-height);\n border-radius: var(--tech-border-radius-sm);\n background: var(--form-range-bg);\n outline: none;\n -webkit-appearance: none;\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: var(--form-range-thumb-size);\n height: var(--form-range-thumb-size);\n border-radius: var(--tech-border-radius-sm);\n background: var(--form-range-thumb-bg);\n border: 1px solid var(--glass-border-medium);\n cursor: pointer;\n }\n\n &::-moz-range-thumb {\n width: var(--form-range-thumb-size);\n height: var(--form-range-thumb-size);\n border-radius: var(--tech-border-radius-sm);\n background: var(--form-range-thumb-bg);\n border: 1px solid var(--glass-border-medium);\n cursor: pointer;\n }\n}\n\n// Input Group\n.bl-input-group {\n display: flex;\n width: 100%;\n\n .bl-input,\n .bl-select {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n\n &:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n margin-left: -1px;\n }\n\n &:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n }\n}\n","// ============================================================================\n// Card Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-card {\n display: flex;\n flex-direction: column;\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-md);\n overflow: hidden;\n transition: var(--transition-base);\n position: relative;\n\n // Optional: Vertical accent line at edge\n &.bl-card-accent-left {\n border-left: 4px solid var(--color-accent);\n }\n\n &.bl-card-accent-right {\n border-right: 4px solid var(--color-accent);\n }\n}\n\n.bl-card-header {\n padding: var(--spacing-md);\n border-bottom: 1px solid var(--glass-border-light);\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n}\n\n.bl-card-title {\n margin: 0;\n font-size: var(--font-size-lg);\n font-weight: var(--font-weight-semibold);\n color: var(--color-text);\n}\n\n.bl-card-subtitle {\n margin: var(--spacing-xs) 0 0 0;\n font-size: var(--font-size-sm);\n color: var(--color-text-muted);\n}\n\n.bl-card-body {\n padding: var(--spacing-md);\n flex: 1 1 auto;\n color: var(--color-text);\n}\n\n.bl-card-footer {\n padding: var(--spacing-md);\n border-top: 1px solid var(--glass-border-light);\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n}\n\n// Card Variants\n.bl-card-primary {\n border-color: var(--color-accent);\n}\n\n.bl-card-secondary {\n border-color: var(--glass-border-heavy);\n}\n\n// Card with Shadow\n.bl-card-shadow {\n box-shadow: var(--glass-shadow-md);\n}\n\n.bl-card-shadow-lg {\n box-shadow: var(--glass-shadow-lg);\n}\n\n// Card Hover Effect (subtle, no movement)\n.bl-card-hover {\n cursor: pointer;\n\n &:hover {\n background: var(--glass-bg-heavy);\n border-color: var(--glass-border-heavy);\n }\n}\n","// ============================================================================\n// Alert Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-alert {\n position: relative;\n padding: var(--spacing-md);\n margin-bottom: var(--spacing-md);\n border: 1px solid var(--glass-border-medium);\n border-left-width: 2px; // Clear border color line\n border-radius: var(--tech-border-radius-md);\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n color: var(--color-text);\n}\n\n.bl-alert-title {\n margin: 0 0 var(--spacing-xs) 0;\n font-size: var(--font-size-base);\n font-weight: var(--font-weight-semibold);\n color: var(--color-text);\n}\n\n.bl-alert-message {\n margin: 0;\n font-size: var(--font-size-sm);\n color: var(--color-text-muted);\n}\n\n// Alert Variants (Structure: Line → Title → Text)\n.bl-alert-info {\n border-left-color: var(--color-accent);\n color: var(--color-text);\n\n .bl-alert-title {\n color: var(--color-text);\n }\n}\n\n.bl-alert-success {\n border-left-color: var(--color-success);\n color: var(--color-text);\n\n .bl-alert-title {\n color: var(--color-text);\n }\n}\n\n.bl-alert-warning {\n border-left-color: var(--color-warning);\n color: var(--color-text);\n\n .bl-alert-title {\n color: var(--color-text);\n }\n}\n\n.bl-alert-error {\n border-left-color: var(--color-error);\n color: var(--color-text);\n\n .bl-alert-title {\n color: var(--color-text);\n }\n}\n\n// Dismissible Alert\n.bl-alert-dismissible {\n padding-right: var(--spacing-3xl);\n}\n\n.bl-alert-close {\n position: absolute;\n top: var(--spacing-sm);\n right: var(--spacing-sm);\n padding: var(--spacing-xs);\n background: transparent;\n border: none;\n cursor: pointer;\n opacity: 0.6;\n transition: var(--transition-opacity);\n color: var(--color-text);\n border-radius: var(--tech-border-radius-sm);\n\n &:hover {\n opacity: 1;\n }\n\n &::before {\n content: '×';\n font-size: var(--font-size-xl);\n line-height: 1;\n }\n}\n","// ============================================================================\n// Badge Component (Technical Glass Design - 2-part)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-badge {\n display: inline-flex;\n align-items: stretch;\n overflow: hidden;\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-medium);\n line-height: 1;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: var(--tech-border-radius-sm);\n border: 1px solid var(--glass-border-medium);\n}\n\n// Badge Label (Left Part - Matte)\n.bl-badge-label {\n display: inline-flex;\n align-items: center;\n padding: var(--spacing-xs) var(--spacing-sm);\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n color: var(--color-text-muted);\n border-right: 1px solid var(--glass-border-medium); // Technical edge\n flex-shrink: 0;\n}\n\n// Badge Value (Right Part - Glassy or Accented)\n.bl-badge-value {\n display: inline-flex;\n align-items: center;\n padding: var(--spacing-xs) var(--spacing-sm);\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n color: var(--color-text);\n flex-shrink: 0;\n}\n\n// Badge Variants\n.bl-badge-primary {\n .bl-badge-value {\n background: var(--color-accent);\n color: var(--color-text-inverse);\n }\n}\n\n.bl-badge-secondary {\n .bl-badge-value {\n background: var(--glass-bg-heavy);\n color: var(--color-text);\n }\n}\n\n.bl-badge-success {\n .bl-badge-value {\n background: var(--color-success);\n color: var(--color-text-inverse);\n }\n}\n\n.bl-badge-warning {\n .bl-badge-value {\n background: var(--color-warning);\n color: var(--color-text-inverse);\n }\n}\n\n.bl-badge-error {\n .bl-badge-value {\n background: var(--color-error);\n color: var(--color-text-inverse);\n }\n}\n\n.bl-badge-info {\n .bl-badge-value {\n background: var(--color-info);\n color: var(--color-text-inverse);\n }\n}\n\n// Badge Sizes\n.bl-badge-sm {\n font-size: 0.625rem;\n\n .bl-badge-label,\n .bl-badge-value {\n padding: 0.125rem var(--spacing-xs);\n }\n}\n\n.bl-badge-lg {\n font-size: var(--font-size-sm);\n\n .bl-badge-label,\n .bl-badge-value {\n padding: var(--spacing-sm) var(--spacing-md);\n }\n}\n","// ============================================================================\n// Modal Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1;\n width: 100vw;\n height: 100vh;\n background: var(--color-bg-overlay);\n backdrop-filter: blur(var(--glass-blur-lg));\n -webkit-backdrop-filter: blur(var(--glass-blur-lg));\n}\n\n.bl-modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--z-index-modal);\n width: 100%;\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n outline: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-md);\n}\n\n.bl-modal-dialog {\n position: relative;\n width: 100%;\n max-width: 500px;\n margin: 0;\n pointer-events: none;\n z-index: 2;\n\n @media (min-width: 576px) {\n max-width: 500px;\n }\n\n @media (min-width: 768px) {\n max-width: 600px;\n }\n\n @media (min-width: 1024px) {\n max-width: 800px;\n }\n}\n\n.bl-modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-xl));\n -webkit-backdrop-filter: blur(var(--glass-blur-xl));\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-md);\n outline: 0;\n}\n\n.bl-modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: var(--spacing-md);\n border-bottom: 1px solid var(--glass-border-light); // Clear divider line\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n}\n\n.bl-modal-title {\n margin: 0;\n font-size: var(--font-size-xl);\n font-weight: var(--font-weight-semibold);\n line-height: var(--line-height-tight);\n color: var(--color-text);\n}\n\n.bl-modal-close {\n padding: var(--spacing-xs);\n margin: calc(var(--spacing-xs) * -1) calc(var(--spacing-xs) * -1) calc(var(--spacing-xs) * -1) auto;\n background: transparent;\n border: 0;\n border-radius: var(--tech-border-radius-sm);\n opacity: 0.6;\n cursor: pointer;\n transition: var(--transition-opacity);\n color: var(--color-text);\n font-family: monospace; // Angular, minimal\n\n &:hover {\n opacity: 1;\n }\n\n &::before {\n content: '×';\n font-size: var(--font-size-2xl);\n font-weight: var(--font-weight-bold);\n line-height: 1;\n }\n}\n\n.bl-modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--spacing-md);\n color: var(--color-text);\n}\n\n.bl-modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: var(--spacing-md);\n border-top: 1px solid var(--glass-border-light);\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n\n > * {\n margin: var(--spacing-xs);\n }\n}\n\n// Modal Sizes\n.bl-modal-sm {\n .bl-modal-dialog {\n @media (min-width: 576px) {\n max-width: 300px;\n }\n }\n}\n\n.bl-modal-lg {\n .bl-modal-dialog {\n @media (min-width: 1024px) {\n max-width: 1000px;\n }\n }\n}\n\n.bl-modal-xl {\n .bl-modal-dialog {\n @media (min-width: 1024px) {\n max-width: 1200px;\n }\n }\n}\n\n// Modal Positions\n.bl-modal-top {\n align-items: flex-start;\n padding-top: var(--spacing-xl);\n}\n\n.bl-modal-bottom {\n align-items: flex-end;\n padding-bottom: var(--spacing-xl);\n}\n\n.bl-modal-left {\n justify-content: flex-start;\n padding-left: var(--spacing-xl);\n \n .bl-modal-dialog {\n margin-right: auto;\n }\n}\n\n.bl-modal-right {\n justify-content: flex-end;\n padding-right: var(--spacing-xl);\n \n .bl-modal-dialog {\n margin-left: auto;\n }\n}\n\n// Centered Modal (default, can be explicitly set)\n.bl-modal-centered {\n align-items: center;\n justify-content: center;\n}\n","// ============================================================================\n// Dropdown Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-dropdown {\n position: relative;\n display: inline-block;\n}\n\n.bl-dropdown-toggle {\n &::after {\n display: inline-block;\n margin-left: var(--spacing-xs);\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n }\n}\n\n.bl-dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 99999 !important; // Immer ganz oben\n display: none;\n min-width: 10rem;\n padding: var(--spacing-xs) 0;\n margin: var(--spacing-xs) 0 0 0;\n font-size: var(--font-size-base);\n color: var(--color-text);\n text-align: left;\n list-style: none;\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-lg));\n -webkit-backdrop-filter: blur(var(--glass-blur-lg));\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-md);\n overflow: hidden;\n overflow-y: auto;\n max-height: 300px;\n box-shadow: var(--glass-shadow-lg);\n\n &.bl-show {\n display: block;\n }\n}\n\n.bl-dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.bl-dropdown-item {\n display: block;\n width: 100%;\n padding: var(--spacing-sm) var(--spacing-md);\n clear: both;\n font-weight: var(--font-weight-normal);\n color: var(--color-text);\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n cursor: pointer;\n transition: var(--transition-base);\n\n &:hover,\n &:focus {\n color: var(--color-text);\n text-decoration: none;\n background: var(--glass-bg-heavy); // Flat, not floating\n }\n\n &:active {\n color: var(--color-text);\n background: var(--glass-bg-heavy);\n }\n\n &.bl-active {\n background: var(--glass-bg-heavy);\n color: var(--color-accent);\n }\n\n &.bl-disabled,\n &:disabled {\n color: var(--color-text-muted);\n pointer-events: none;\n background-color: transparent;\n opacity: 0.6;\n }\n}\n\n.bl-dropdown-divider {\n height: 0;\n margin: var(--spacing-xs) 0;\n overflow: hidden;\n border-top: 1px solid var(--glass-border-light);\n}\n\n.bl-dropdown-header {\n display: block;\n padding: var(--spacing-sm) var(--spacing-md);\n margin-bottom: 0;\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-semibold);\n color: var(--color-text-muted);\n white-space: nowrap;\n}\n","// ============================================================================\n// Navigation Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Base Nav\n.bl-nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-sm);\n padding: var(--spacing-xs);\n}\n\n.bl-nav-item {\n display: list-item;\n}\n\n.bl-nav-link {\n display: block;\n padding: var(--spacing-sm) var(--spacing-md);\n color: var(--color-text);\n text-decoration: none;\n border-radius: var(--tech-border-radius-sm);\n transition: var(--transition-base);\n\n &:hover {\n color: var(--color-text);\n text-decoration: none;\n background: var(--glass-bg-medium);\n }\n\n &:focus {\n outline: 1px solid var(--color-border-focus);\n outline-offset: -2px;\n }\n\n &.bl-active {\n color: var(--color-text);\n font-weight: var(--font-weight-semibold);\n background: var(--glass-bg-heavy);\n border-bottom: 2px solid var(--color-accent); // Sharp underline or block marking\n }\n\n &.bl-disabled {\n color: var(--color-text-muted);\n pointer-events: none;\n cursor: default;\n }\n}\n\n// Horizontal Nav\n.bl-nav-horizontal {\n flex-direction: row;\n\n .bl-nav-item {\n margin-right: var(--spacing-xs);\n }\n}\n\n// Vertical Nav\n.bl-nav-vertical {\n flex-direction: column;\n\n .bl-nav-item {\n margin-bottom: var(--spacing-xs);\n }\n}\n\n// Tabs\n.bl-nav-tabs {\n border-bottom: 1px solid var(--glass-border-light);\n background: transparent;\n padding: 0;\n\n .bl-nav-link {\n margin-bottom: calc(1px * -1);\n border: 1px solid transparent;\n border-top-left-radius: var(--tech-border-radius-sm);\n border-top-right-radius: var(--tech-border-radius-sm);\n background: transparent;\n\n &:hover {\n border-color: var(--glass-border-medium);\n background: var(--glass-bg-light);\n isolation: isolate;\n }\n\n &.bl-active {\n color: var(--color-text);\n background: var(--glass-bg-medium);\n border-color: var(--glass-border-medium) var(--glass-border-medium) transparent;\n border-bottom: 2px solid var(--color-accent);\n }\n }\n}\n\n// Pills\n.bl-nav-pills {\n .bl-nav-link {\n border-radius: var(--tech-border-radius-sm);\n\n &.bl-active {\n color: var(--color-text);\n background: var(--glass-bg-heavy);\n border-bottom: 2px solid var(--color-accent);\n }\n }\n}\n\n// Breadcrumb\n.bl-breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: var(--spacing-sm) 0;\n margin-bottom: var(--spacing-md);\n list-style: none;\n}\n\n.bl-breadcrumb-item {\n display: flex;\n align-items: center;\n\n + .bl-breadcrumb-item {\n padding-left: var(--spacing-sm);\n\n &::before {\n display: inline-block;\n padding-right: var(--spacing-sm);\n color: var(--color-text-muted);\n content: \"/\";\n }\n }\n\n &.bl-active {\n color: var(--color-text-muted);\n }\n}\n\n// Pagination\n.bl-pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.bl-page-item {\n display: list-item;\n\n &:first-child .bl-page-link {\n margin-left: 0;\n border-top-left-radius: var(--tech-border-radius-sm);\n border-bottom-left-radius: var(--tech-border-radius-sm);\n }\n\n &:last-child .bl-page-link {\n border-top-right-radius: var(--tech-border-radius-sm);\n border-bottom-right-radius: var(--tech-border-radius-sm);\n }\n\n &.bl-active .bl-page-link {\n z-index: 1;\n color: var(--color-text);\n background: var(--glass-bg-heavy);\n border-color: var(--glass-border-heavy);\n }\n\n &.bl-disabled .bl-page-link {\n color: var(--color-text-muted);\n pointer-events: none;\n cursor: auto;\n background: var(--glass-bg-dark);\n border-color: var(--glass-border-light);\n }\n}\n\n.bl-page-link {\n position: relative;\n display: block;\n padding: var(--spacing-sm) var(--spacing-md);\n margin-left: calc(1px * -1);\n line-height: var(--line-height-base);\n color: var(--color-text);\n text-decoration: none;\n background: var(--glass-bg-light);\n border: 1px solid var(--glass-border-medium);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n transition: var(--transition-base);\n\n &:hover {\n z-index: 2;\n color: var(--color-text);\n text-decoration: none;\n background: var(--glass-bg-medium);\n border-color: var(--glass-border-heavy);\n }\n\n &:focus {\n z-index: 2;\n outline: 1px solid var(--color-border-focus);\n outline-offset: -2px;\n }\n}\n","// ============================================================================\n// Table Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-table {\n width: 100%;\n margin-bottom: var(--spacing-md);\n color: var(--color-text);\n vertical-align: top;\n border-color: var(--glass-border-medium);\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-md);\n overflow: hidden;\n\n > :not(caption) > * > * {\n padding: var(--spacing-sm) var(--spacing-md);\n background-color: transparent;\n border-bottom-width: 1px;\n border-bottom-color: var(--glass-border-light);\n border-right-width: 1px;\n border-right-color: var(--glass-border-light);\n box-shadow: inset 0 0 0 9999px transparent;\n }\n\n > :not(caption) > * > *:last-child {\n border-right-width: 0;\n }\n\n > tbody {\n vertical-align: inherit;\n }\n\n > thead {\n vertical-align: bottom;\n }\n\n > :not(:first-child) {\n border-top: 1px solid var(--glass-border-light);\n }\n}\n\n.bl-table-caption {\n padding-top: var(--spacing-sm);\n padding-bottom: var(--spacing-sm);\n color: var(--color-text-muted);\n text-align: left;\n caption-side: bottom;\n}\n\n.bl-table-head {\n font-weight: var(--font-weight-semibold);\n color: var(--color-text);\n text-align: inherit;\n text-align: -webkit-match-parent;\n background: var(--glass-bg-etched); // Etched glass effect\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n}\n\n// Table Variants\n.bl-table-striped {\n > tbody > tr:nth-of-type(odd) > * {\n --bl-table-accent-bg: var(--glass-bg-light);\n color: var(--color-text);\n box-shadow: inset 0 0 0 9999px var(--bl-table-accent-bg);\n }\n}\n\n.bl-table-bordered {\n border: 1px solid var(--glass-border-medium);\n\n > :not(caption) > * {\n border-width: 1px 0;\n\n > * {\n border-width: 0 1px;\n border-color: var(--glass-border-light);\n }\n }\n}\n\n.bl-table-borderless {\n > :not(caption) > * > * {\n border-bottom-width: 0;\n border-right-width: 0;\n }\n\n > :not(:first-child) {\n border-top-width: 0;\n }\n}\n\n.bl-table-hover {\n > tbody > tr:hover > * {\n --bl-table-accent-bg: var(--glass-bg-heavy);\n color: var(--color-text);\n box-shadow: inset 0 0 0 9999px var(--bl-table-accent-bg);\n transition: var(--transition-base);\n }\n}\n\n// Table Sizes\n.bl-table-sm {\n > :not(caption) > * > * {\n padding: var(--spacing-xs) var(--spacing-sm);\n }\n}\n\n.bl-table-lg {\n > :not(caption) > * > * {\n padding: var(--spacing-md) var(--spacing-lg);\n }\n}\n\n// Responsive Table\n.bl-table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n > .bl-table {\n margin-bottom: 0;\n }\n}\n\n@media (max-width: 575.98px) {\n .bl-table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n > .bl-table {\n margin-bottom: 0;\n }\n }\n}\n\n@media (max-width: 767.98px) {\n .bl-table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n > .bl-table {\n margin-bottom: 0;\n }\n }\n}\n\n@media (max-width: 1023.98px) {\n .bl-table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n > .bl-table {\n margin-bottom: 0;\n }\n }\n}\n\n@media (max-width: 1279.98px) {\n .bl-table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n > .bl-table {\n margin-bottom: 0;\n }\n }\n}\n","// ============================================================================\n// Tooltip Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-tooltip {\n position: relative;\n display: inline-block;\n}\n\n.bl-tooltip-trigger {\n cursor: help;\n}\n\n.bl-tooltip-content {\n position: absolute;\n z-index: var(--z-index-tooltip);\n display: none;\n max-width: 200px;\n padding: var(--spacing-xs) var(--spacing-sm);\n font-size: var(--font-size-xs);\n font-family: var(--font-family-mono); // Precise, monospace possible\n line-height: var(--line-height-base);\n color: var(--color-text);\n text-align: center;\n text-decoration: none;\n word-wrap: break-word;\n background: var(--glass-bg-medium);\n backdrop-filter: blur(var(--glass-blur-md));\n -webkit-backdrop-filter: blur(var(--glass-blur-md));\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-sm);\n opacity: 0;\n transition: var(--transition-opacity);\n\n &.bl-show {\n display: block;\n opacity: 1;\n }\n}\n\n// Tooltip Positions (Angular, Trapezoidal Arrow)\n.bl-tooltip-top {\n .bl-tooltip-content {\n bottom: 100%;\n left: 50%;\n margin-bottom: var(--spacing-xs);\n transform: translateX(-50%);\n\n &::after {\n position: absolute;\n top: 100%;\n left: 50%;\n width: 0;\n height: 0;\n margin-left: -6px;\n content: \"\";\n border-width: 6px 6px 0 6px;\n border-style: solid;\n border-color: var(--glass-bg-medium) transparent transparent transparent;\n clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); // Trapezoidal\n }\n }\n}\n\n.bl-tooltip-bottom {\n .bl-tooltip-content {\n top: 100%;\n left: 50%;\n margin-top: var(--spacing-xs);\n transform: translateX(-50%);\n\n &::after {\n position: absolute;\n bottom: 100%;\n left: 50%;\n width: 0;\n height: 0;\n margin-left: -6px;\n content: \"\";\n border-width: 0 6px 6px 6px;\n border-style: solid;\n border-color: transparent transparent var(--glass-bg-medium) transparent;\n clip-path: polygon(20% 0, 80% 0, 100% 100%, 0 100%); // Trapezoidal\n }\n }\n}\n\n.bl-tooltip-left {\n .bl-tooltip-content {\n top: 50%;\n right: 100%;\n margin-right: var(--spacing-xs);\n transform: translateY(-50%);\n\n &::after {\n position: absolute;\n top: 50%;\n left: 100%;\n width: 0;\n height: 0;\n margin-top: -6px;\n content: \"\";\n border-width: 6px 0 6px 6px;\n border-style: solid;\n border-color: transparent transparent transparent var(--glass-bg-medium);\n clip-path: polygon(0 20%, 0 80%, 100% 100%, 100% 0); // Trapezoidal\n }\n }\n}\n\n.bl-tooltip-right {\n .bl-tooltip-content {\n top: 50%;\n left: 100%;\n margin-left: var(--spacing-xs);\n transform: translateY(-50%);\n\n &::after {\n position: absolute;\n top: 50%;\n right: 100%;\n width: 0;\n height: 0;\n margin-top: -6px;\n content: \"\";\n border-width: 6px 6px 6px 0;\n border-style: solid;\n border-color: transparent var(--glass-bg-medium) transparent transparent;\n clip-path: polygon(0 0, 0 100%, 100% 80%, 100% 20%); // Trapezoidal\n }\n }\n}\n","// ============================================================================\n// Progress Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n border: 1px solid var(--glass-border-medium);\n border-radius: var(--tech-border-radius-sm);\n}\n\n.bl-progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--color-text-inverse);\n text-align: center;\n white-space: nowrap;\n background: var(--color-accent);\n transition: width var(--transition-duration-slow) var(--transition-ease-linear);\n}\n\n// Progress Variants\n.bl-progress-bar-primary {\n background: var(--color-accent);\n}\n\n.bl-progress-bar-secondary {\n background: var(--glass-bg-heavy);\n}\n\n.bl-progress-bar-success {\n background: var(--color-success);\n}\n\n.bl-progress-bar-warning {\n background: var(--color-warning);\n}\n\n.bl-progress-bar-error {\n background: var(--color-error);\n}\n\n.bl-progress-bar-info {\n background: var(--color-info);\n}\n\n// Progress Sizes\n.bl-progress-sm {\n height: 0.5rem;\n}\n\n.bl-progress-lg {\n height: 1.5rem;\n}\n\n// Striped Progress (removed - no gradients)\n// Animated Progress (removed - only linear growth)\n","// ============================================================================\n// Spinner Component (Technical Glass Design)\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n.bl-spinner {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: var(--border-width-base) solid var(--glass-border-medium);\n border-top-color: var(--color-accent);\n border-radius: var(--tech-border-radius-sm); // Square frame\n background: var(--glass-bg-light);\n backdrop-filter: blur(var(--glass-blur-sm));\n -webkit-backdrop-filter: blur(var(--glass-blur-sm));\n animation: bl-spinner-rotate 0.75s linear infinite;\n position: relative;\n\n // Rotating inner segment\n &::before {\n content: '';\n position: absolute;\n top: 2px;\n left: 2px;\n right: 2px;\n bottom: 2px;\n background: var(--color-accent);\n opacity: 0.3;\n border-radius: var(--tech-border-radius-sm);\n animation: bl-spinner-inner 1.5s linear infinite;\n }\n}\n\n@keyframes bl-spinner-rotate {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes bl-spinner-inner {\n 0% {\n transform: rotate(0deg);\n opacity: 0.3;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n transform: rotate(360deg);\n opacity: 0.3;\n }\n}\n\n// Spinner Variants\n.bl-spinner-primary {\n border-top-color: var(--color-accent);\n \n &::before {\n background: var(--color-accent);\n }\n}\n\n.bl-spinner-secondary {\n border-top-color: var(--color-secondary);\n \n &::before {\n background: var(--color-secondary);\n }\n}\n\n.bl-spinner-success {\n border-top-color: var(--color-success);\n \n &::before {\n background: var(--color-success);\n }\n}\n\n.bl-spinner-warning {\n border-top-color: var(--color-warning);\n \n &::before {\n background: var(--color-warning);\n }\n}\n\n.bl-spinner-error {\n border-top-color: var(--color-error);\n \n &::before {\n background: var(--color-error);\n }\n}\n\n.bl-spinner-info {\n border-top-color: var(--color-info);\n \n &::before {\n background: var(--color-info);\n }\n}\n\n// Spinner Sizes\n.bl-spinner-sm {\n width: 1rem;\n height: 1rem;\n border-width: var(--border-width-thin);\n}\n\n.bl-spinner-lg {\n width: 3rem;\n height: 3rem;\n border-width: var(--border-width-base);\n}\n\n.bl-spinner-xl {\n width: 4rem;\n height: 4rem;\n border-width: var(--border-width-base);\n}\n","// ============================================================================\n// Icon Font System\n// ============================================================================\n\n@use '../tokens/tokens' as *;\n\n// Icon Font Face (to be generated from icon font files)\n// Font files are optional - icons will work without them using Unicode fallback\n// @font-face {\n// font-family: 'Baseline Icons';\n// src: url('../fonts/baseline-icons.woff2') format('woff2'),\n// url('../fonts/baseline-icons.woff') format('woff');\n// font-weight: normal;\n// font-style: normal;\n// font-display: swap;\n// }\n\n// Base Icon Class\n.bl-icon {\n display: inline-block;\n font-family: 'Baseline Icons';\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n speak: never;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n vertical-align: middle;\n}\n\n// Icon Sizes\n.bl-icon-xs {\n font-size: 0.75rem;\n width: 0.75rem;\n height: 0.75rem;\n}\n\n.bl-icon-sm {\n font-size: 1rem;\n width: 1rem;\n height: 1rem;\n}\n\n.bl-icon-md {\n font-size: 1.25rem;\n width: 1.25rem;\n height: 1.25rem;\n}\n\n.bl-icon-lg {\n font-size: 1.5rem;\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.bl-icon-xl {\n font-size: 2rem;\n width: 2rem;\n height: 2rem;\n}\n\n// Icon Variants (using Unicode/Private Use Area)\n// These would be replaced with actual icon font mappings\n.bl-icon-home::before { content: '\\e900'; }\n.bl-icon-user::before { content: '\\e901'; }\n.bl-icon-search::before { content: '\\e902'; }\n.bl-icon-menu::before { content: '\\e903'; }\n.bl-icon-close::before { content: '\\e904'; }\n.bl-icon-chevron-left::before { content: '\\e905'; }\n.bl-icon-chevron-right::before { content: '\\e906'; }\n.bl-icon-chevron-up::before { content: '\\e907'; }\n.bl-icon-chevron-down::before { content: '\\e908'; }\n.bl-icon-arrow-left::before { content: '\\e909'; }\n.bl-icon-arrow-right::before { content: '\\e90a'; }\n.bl-icon-arrow-up::before { content: '\\e90b'; }\n.bl-icon-arrow-down::before { content: '\\e90c'; }\n.bl-icon-check::before { content: '\\e90d'; }\n.bl-icon-cross::before { content: '\\e90e'; }\n.bl-icon-plus::before { content: '\\e90f'; }\n.bl-icon-minus::before { content: '\\e910'; }\n.bl-icon-info::before { content: '\\e911'; }\n.bl-icon-warning::before { content: '\\e912'; }\n.bl-icon-error::before { content: '\\e913'; }\n.bl-icon-success::before { content: '\\e914'; }\n.bl-icon-heart::before { content: '\\e915'; }\n.bl-icon-star::before { content: '\\e916'; }\n.bl-icon-bookmark::before { content: '\\e917'; }\n.bl-icon-share::before { content: '\\e918'; }\n.bl-icon-download::before { content: '\\e919'; }\n.bl-icon-upload::before { content: '\\e91a'; }\n.bl-icon-edit::before { content: '\\e91b'; }\n.bl-icon-delete::before { content: '\\e91c'; }\n.bl-icon-settings::before { content: '\\e91d'; }\n.bl-icon-bell::before { content: '\\e91e'; }\n.bl-icon-mail::before { content: '\\e91f'; }\n.bl-icon-phone::before { content: '\\e920'; }\n.bl-icon-calendar::before { content: '\\e921'; }\n.bl-icon-clock::before { content: '\\e922'; }\n.bl-icon-image::before { content: '\\e923'; }\n.bl-icon-video::before { content: '\\e924'; }\n.bl-icon-file::before { content: '\\e925'; }\n.bl-icon-folder::before { content: '\\e926'; }\n.bl-icon-lock::before { content: '\\e927'; }\n.bl-icon-unlock::before { content: '\\e928'; }\n.bl-icon-eye::before { content: '\\e929'; }\n.bl-icon-eye-off::before { content: '\\e92a'; }\n.bl-icon-filter::before { content: '\\e92b'; }\n.bl-icon-sort::before { content: '\\e92c'; }\n.bl-icon-grid::before { content: '\\e92d'; }\n.bl-icon-list::before { content: '\\e92e'; }\n.bl-icon-refresh::before { content: '\\e92f'; }\n.bl-icon-loading::before { content: '\\e930'; }\n.bl-icon-play::before { content: '\\e931'; }\n.bl-icon-pause::before { content: '\\e932'; }\n.bl-icon-stop::before { content: '\\e933'; }\n.bl-icon-next::before { content: '\\e934'; }\n.bl-icon-prev::before { content: '\\e935'; }\n.bl-icon-volume::before { content: '\\e936'; }\n.bl-icon-volume-off::before { content: '\\e937'; }\n.bl-icon-fullscreen::before { content: '\\e938'; }\n.bl-icon-fullscreen-exit::before { content: '\\e939'; }\n.bl-icon-link::before { content: '\\e93a'; }\n.bl-icon-external::before { content: '\\e93b'; }\n.bl-icon-copy::before { content: '\\e93c'; }\n.bl-icon-cut::before { content: '\\e93d'; }\n.bl-icon-paste::before { content: '\\e93e'; }\n.bl-icon-undo::before { content: '\\e93f'; }\n.bl-icon-redo::before { content: '\\e940'; }\n.bl-icon-save::before { content: '\\e941'; }\n.bl-icon-print::before { content: '\\e942'; }\n.bl-icon-zoom-in::before { content: '\\e943'; }\n.bl-icon-zoom-out::before { content: '\\e944'; }\n.bl-icon-maximize::before { content: '\\e945'; }\n.bl-icon-minimize::before { content: '\\e946'; }\n\n// Icon in Button\n.bl-btn .bl-icon {\n margin-right: var(--spacing-xs);\n}\n\n.bl-btn .bl-icon:last-child {\n margin-right: 0;\n margin-left: var(--spacing-xs);\n}\n\n.bl-btn .bl-icon:only-child {\n margin: 0;\n}\n\n","// ============================================================================\n// Dark Theme\n// ============================================================================\n\n@media (prefers-color-scheme: dark) {\n :root {\n // Neutral Grayscale (inverted)\n --color-gray-50: #030712;\n --color-gray-100: #111827;\n --color-gray-200: #1f2937;\n --color-gray-300: #374151;\n --color-gray-400: #4b5563;\n --color-gray-500: #6b7280;\n --color-gray-600: #9ca3af;\n --color-gray-700: #d1d5db;\n --color-gray-800: #e5e7eb;\n --color-gray-900: #f3f4f6;\n --color-gray-950: #f9fafb;\n\n // Semantic Colors (adjusted for dark mode)\n --color-primary: #f3f4f6;\n --color-primary-light: #e5e7eb;\n --color-primary-dark: #d1d5db;\n\n --color-secondary: #9ca3af;\n --color-secondary-light: #d1d5db;\n --color-secondary-dark: #6b7280;\n\n --color-success: #34d399;\n --color-success-light: #6ee7b7;\n --color-success-dark: #10b981;\n\n --color-warning: #fbbf24;\n --color-warning-light: #fcd34d;\n --color-warning-dark: #f59e0b;\n\n --color-error: #f87171;\n --color-error-light: #fca5a5;\n --color-error-dark: #ef4444;\n\n --color-info: #60a5fa;\n --color-info-light: #93c5fd;\n --color-info-dark: #3b82f6;\n\n // Text Colors\n --color-text: #f3f4f6;\n --color-text-muted: #9ca3af;\n --color-text-light: #6b7280;\n --color-text-inverse: #111827;\n\n // Background Colors\n --color-bg: #111827;\n --color-bg-alt: #1f2937;\n --color-bg-overlay: rgba(0, 0, 0, 0.7);\n\n // Border Colors\n --color-border: #374151;\n --color-border-light: #1f2937;\n --color-border-dark: #4b5563;\n --color-border-focus: #60a5fa;\n }\n}\n\n// Manual Dark Theme Toggle (via class)\n.bl-theme-dark,\n[data-theme=\"dark\"] {\n // Neutral Grayscale (inverted)\n --color-gray-50: #030712;\n --color-gray-100: #111827;\n --color-gray-200: #1f2937;\n --color-gray-300: #374151;\n --color-gray-400: #4b5563;\n --color-gray-500: #6b7280;\n --color-gray-600: #9ca3af;\n --color-gray-700: #d1d5db;\n --color-gray-800: #e5e7eb;\n --color-gray-900: #f3f4f6;\n --color-gray-950: #f9fafb;\n\n // Semantic Colors (adjusted for dark mode)\n --color-primary: #f3f4f6;\n --color-primary-light: #e5e7eb;\n --color-primary-dark: #d1d5db;\n\n --color-secondary: #9ca3af;\n --color-secondary-light: #d1d5db;\n --color-secondary-dark: #6b7280;\n\n --color-success: #34d399;\n --color-success-light: #6ee7b7;\n --color-success-dark: #10b981;\n\n --color-warning: #fbbf24;\n --color-warning-light: #fcd34d;\n --color-warning-dark: #f59e0b;\n\n --color-error: #f87171;\n --color-error-light: #fca5a5;\n --color-error-dark: #ef4444;\n\n --color-info: #60a5fa;\n --color-info-light: #93c5fd;\n --color-info-dark: #3b82f6;\n\n // Text Colors\n --color-text: #f3f4f6;\n --color-text-muted: #9ca3af;\n --color-text-light: #6b7280;\n --color-text-inverse: #111827;\n\n // Background Colors\n --color-bg: #111827;\n --color-bg-alt: #1f2937;\n --color-bg-overlay: rgba(0, 0, 0, 0.7);\n\n // Border Colors\n --color-border: #374151;\n --color-border-light: #1f2937;\n --color-border-dark: #4b5563;\n --color-border-focus: #60a5fa;\n}\n\n"]}
|
package/dist/baseline.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--color-base: #1A1A1A;--color-base-light: #2A2A2A;--color-base-dark: #0F0F0F;--color-accent: #4A9EFF;--color-accent-light: #6BB0FF;--color-accent-dark: #3A8EEF;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-gray-950: #030712;--color-primary: #4A9EFF;--color-primary-light: #6BB0FF;--color-primary-dark: #3A8EEF;--color-secondary: #4b5563;--color-secondary-light: #6b7280;--color-secondary-dark: #374151;--color-success: #10b981;--color-success-light: #34d399;--color-success-dark: #059669;--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-warning-dark: #d97706;--color-error: #ef4444;--color-error-light: #f87171;--color-error-dark: #dc2626;--color-info: #4A9EFF;--color-info-light: #6BB0FF;--color-info-dark: #3A8EEF;--color-text: #ffffff;--color-text-muted: rgba(255, 255, 255, 0.7);--color-text-light: rgba(255, 255, 255, 0.5);--color-text-inverse: #1A1A1A;--color-bg: #1A1A1A;--color-bg-alt: #2A2A2A;--color-bg-overlay: rgba(0, 0, 0, 0.3);--color-border: rgba(255, 255, 255, 0.15);--color-border-light: rgba(255, 255, 255, 0.1);--color-border-dark: rgba(255, 255, 255, 0.2);--color-border-focus: #4A9EFF}:root{--spacing-xs: 0.25rem;--spacing-sm: 0.5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 6rem;--spacing-5xl: 8rem}:root{--font-family-base: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;--font-family-mono: SF Mono, Monaco, Cascadia Code, Roboto Mono, Consolas, Liberation Mono, Courier New, monospace;--font-family-serif: Georgia, Times New Roman, Times, serif;--font-size-xs: 0.75rem;--font-size-sm: 0.875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-base: 1.5;--line-height-relaxed: 1.75;--line-height-loose: 2;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--letter-spacing-tighter: -0.05em;--letter-spacing-tight: -0.025em;--letter-spacing-normal: 0;--letter-spacing-wide: 0.025em;--letter-spacing-wider: 0.05em;--letter-spacing-widest: 0.1em}:root{--border-width-none: 0;--border-width-thin: 1px;--border-width-base: 2px;--border-width-thick: 4px;--border-radius-none: 0;--border-radius-sm: 2px;--border-radius-md: 4px;--border-radius-lg: 4px;--border-radius-xl: 4px;--border-radius-2xl: 4px;--border-radius-full: 9999px}:root{--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);--shadow-none: none}:root{--z-index-base: 0;--z-index-dropdown: 9999;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070}:root{--transition-duration-fast: 100ms;--transition-duration-base: 150ms;--transition-duration-slow: 200ms;--transition-duration-slower: 300ms;--transition-ease-linear: linear;--transition-ease-in: linear;--transition-ease-out: linear;--transition-ease-in-out: linear;--transition-base: all 150ms linear;--transition-colors: color 150ms linear, background-color 150ms linear, border-color 150ms linear;--transition-opacity: opacity 150ms linear;--transition-transform: transform 150ms linear}:root{--form-input-padding-x: 1rem;--form-input-padding-y: 0.5rem;--form-input-padding-x-sm: 0.5rem;--form-input-padding-y-sm: 0.25rem;--form-input-padding-x-lg: 1.5rem;--form-input-padding-y-lg: 1rem;--form-input-border-width: 1px;--form-input-border-radius: 4px;--form-input-font-size: 1rem;--form-input-font-size-sm: 0.875rem;--form-input-font-size-lg: 1.125rem;--form-input-line-height: 1.5;--form-input-bg: #1A1A1A;--form-input-bg-disabled: #2A2A2A;--form-input-color: #ffffff;--form-input-border: rgba(255, 255, 255, 0.15);--form-input-border-focus: #4A9EFF;--form-input-placeholder-color: rgba(255, 255, 255, 0.7);--form-input-focus-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);--form-input-focus-shadow-error: 0 0 0 3px rgba(239, 68, 68, 0.1);--form-input-focus-shadow-success: 0 0 0 3px rgba(16, 185, 129, 0.1);--form-input-opacity-disabled: 0.6;--form-label-font-size: 0.875rem;--form-label-font-weight: 500;--form-label-color: #ffffff;--form-label-margin-bottom: 0.25rem;--form-helper-font-size: 0.75rem;--form-helper-color: rgba(255, 255, 255, 0.7);--form-error-color: #ef4444;--form-error-font-size: 0.75rem;--form-helper-margin-top: 0.25rem;--form-group-margin-bottom: 1rem;--form-checkbox-size: 1.25rem;--form-checkbox-margin-right: 0.5rem;--form-checkbox-accent-color: #4A9EFF;--form-checkbox-opacity-disabled: 0.6;--form-switch-width: 3rem;--form-switch-height: 1.5rem;--form-switch-slider-size: 1.25rem;--form-switch-slider-offset: 0.125rem;--form-switch-slider-translate: 1.5rem;--form-switch-bg: #d1d5db;--form-switch-bg-active: #4A9EFF;--form-switch-slider-bg: #ffffff;--form-switch-focus-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);--form-switch-opacity-disabled: 0.6;--form-textarea-min-height: 100px;--form-textarea-resize: vertical;--form-range-height: 0.5rem;--form-range-thumb-size: 1.25rem;--form-range-bg: #e5e7eb;--form-range-thumb-bg: #4A9EFF;--form-file-input-padding: 0.5rem;--form-file-input-font-size: 0.875rem;--form-file-input-border-style: dashed;--form-file-input-bg: #2A2A2A;--form-file-input-bg-hover: #1A1A1A}:root{--glass-bg-light: rgba(255, 255, 255, 0.05);--glass-bg-medium: rgba(255, 255, 255, 0.08);--glass-bg-heavy: rgba(255, 255, 255, 0.12);--glass-bg-etched: rgba(255, 255, 255, 0.15);--glass-blur-sm: 2px;--glass-blur-md: 4px;--glass-blur-lg: 6px;--glass-blur-xl: 8px;--glass-border-light: rgba(255, 255, 255, 0.1);--glass-border-medium: rgba(255, 255, 255, 0.15);--glass-border-heavy: rgba(255, 255, 255, 0.2);--glass-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.1);--glass-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.15);--glass-shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.2);--tech-border-radius-none: 0;--tech-border-radius-sm: 2px;--tech-border-radius-md: 4px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none;max-width:100%;height:auto;display:block}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{font-size:16px}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0;line-height:var(--line-height-base);color:var(--color-text)}a{color:var(--color-accent);text-decoration:none;transition:var(--transition-colors)}a:hover{color:var(--color-accent-light)}a:focus{outline:1px solid var(--color-border-focus);outline-offset:2px}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%;height:auto;display:block}hr{border:0;border-top:1px solid var(--color-border);margin:var(--spacing-lg) 0}code{font-family:var(--font-family-mono);font-size:.875em;background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border-light);padding:.125em .25em;border-radius:var(--tech-border-radius-sm);color:var(--color-text)}pre{font-family:var(--font-family-mono);font-size:var(--font-size-sm);background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));border:1px solid var(--glass-border-medium);padding:var(--spacing-md);border-radius:var(--tech-border-radius-md);overflow-x:auto;color:var(--color-text)}pre code{background-color:rgba(0,0,0,0);padding:0;border:none}blockquote{margin:0;padding-left:var(--spacing-lg);border-left:var(--border-width-base) solid var(--color-border);color:var(--color-text-muted);background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));padding:var(--spacing-md);border-radius:var(--tech-border-radius-md)}table{width:100%;border-collapse:collapse}button{background:none;border:none;padding:0;font:inherit;cursor:pointer;color:inherit}input,select,textarea{font:inherit;color:inherit}*:focus{outline:1px solid var(--color-border-focus);outline-offset:2px}*:focus:not(:focus-visible){outline:none}*:focus-visible{outline:1px solid var(--color-border-focus);outline-offset:2px}.bl-container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}@media(min-width: 640px){.bl-container{max-width:640px}}@media(min-width: 768px){.bl-container{max-width:768px}}@media(min-width: 1024px){.bl-container{max-width:1024px}}@media(min-width: 1280px){.bl-container{max-width:1280px}}@media(min-width: 1536px){.bl-container{max-width:1536px}}.bl-container-fluid{width:100%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-row{display:flex;flex-wrap:wrap;margin-left:calc(var(--spacing-md)*-1);margin-right:calc(var(--spacing-md)*-1)}.bl-col{flex:1 0 0%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-1{flex:0 0 auto;width:8.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2{flex:0 0 auto;width:16.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-3{flex:0 0 auto;width:25%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-4{flex:0 0 auto;width:33.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-5{flex:0 0 auto;width:41.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-6{flex:0 0 auto;width:50%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-7{flex:0 0 auto;width:58.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-8{flex:0 0 auto;width:66.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-9{flex:0 0 auto;width:75%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-10{flex:0 0 auto;width:83.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-11{flex:0 0 auto;width:91.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-12{flex:0 0 auto;width:100%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}@media(min-width: 640px){.bl-col-sm{flex:1 0 0%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-1{flex:0 0 auto;width:8.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-2{flex:0 0 auto;width:16.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-3{flex:0 0 auto;width:25%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-4{flex:0 0 auto;width:33.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-5{flex:0 0 auto;width:41.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-6{flex:0 0 auto;width:50%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-7{flex:0 0 auto;width:58.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-8{flex:0 0 auto;width:66.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-9{flex:0 0 auto;width:75%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-10{flex:0 0 auto;width:83.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-11{flex:0 0 auto;width:91.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-12{flex:0 0 auto;width:100%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}@media(min-width: 768px){.bl-col-md{flex:1 0 0%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-1{flex:0 0 auto;width:8.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-2{flex:0 0 auto;width:16.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-3{flex:0 0 auto;width:25%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-4{flex:0 0 auto;width:33.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-5{flex:0 0 auto;width:41.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-6{flex:0 0 auto;width:50%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-7{flex:0 0 auto;width:58.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-8{flex:0 0 auto;width:66.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-9{flex:0 0 auto;width:75%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-10{flex:0 0 auto;width:83.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-11{flex:0 0 auto;width:91.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-12{flex:0 0 auto;width:100%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}@media(min-width: 1024px){.bl-col-lg{flex:1 0 0%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-1{flex:0 0 auto;width:8.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-2{flex:0 0 auto;width:16.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-3{flex:0 0 auto;width:25%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-4{flex:0 0 auto;width:33.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-5{flex:0 0 auto;width:41.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-6{flex:0 0 auto;width:50%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-7{flex:0 0 auto;width:58.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-8{flex:0 0 auto;width:66.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-9{flex:0 0 auto;width:75%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-10{flex:0 0 auto;width:83.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-11{flex:0 0 auto;width:91.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-12{flex:0 0 auto;width:100%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}@media(min-width: 1280px){.bl-col-xl{flex:1 0 0%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-1{flex:0 0 auto;width:8.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-2{flex:0 0 auto;width:16.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-3{flex:0 0 auto;width:25%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-4{flex:0 0 auto;width:33.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-5{flex:0 0 auto;width:41.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-6{flex:0 0 auto;width:50%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-7{flex:0 0 auto;width:58.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-8{flex:0 0 auto;width:66.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-9{flex:0 0 auto;width:75%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-10{flex:0 0 auto;width:83.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-11{flex:0 0 auto;width:91.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-12{flex:0 0 auto;width:100%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}@media(min-width: 1536px){.bl-col-2xl{flex:1 0 0%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-1{flex:0 0 auto;width:8.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-2{flex:0 0 auto;width:16.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-3{flex:0 0 auto;width:25%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-4{flex:0 0 auto;width:33.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-5{flex:0 0 auto;width:41.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-6{flex:0 0 auto;width:50%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-7{flex:0 0 auto;width:58.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-8{flex:0 0 auto;width:66.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-9{flex:0 0 auto;width:75%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-10{flex:0 0 auto;width:83.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-11{flex:0 0 auto;width:91.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-12{flex:0 0 auto;width:100%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}.bl-grid{display:grid;gap:var(--spacing-md)}.bl-grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.bl-grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.bl-grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.bl-grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.bl-grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.bl-grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.bl-grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.bl-grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr))}.bl-grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr))}.bl-grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr))}.bl-grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.bl-grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}.bl-grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr))}.bl-grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr))}.bl-grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr))}.bl-grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr))}.bl-grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr))}.bl-grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr))}.bl-grid-rows-7{grid-template-rows:repeat(7, minmax(0, 1fr))}.bl-grid-rows-8{grid-template-rows:repeat(8, minmax(0, 1fr))}.bl-grid-rows-9{grid-template-rows:repeat(9, minmax(0, 1fr))}.bl-grid-rows-10{grid-template-rows:repeat(10, minmax(0, 1fr))}.bl-grid-rows-11{grid-template-rows:repeat(11, minmax(0, 1fr))}.bl-grid-rows-12{grid-template-rows:repeat(12, minmax(0, 1fr))}.bl-gap-xs{gap:var(--spacing-xs)}.bl-gap-sm{gap:var(--spacing-sm)}.bl-gap-md{gap:var(--spacing-md)}.bl-gap-lg{gap:var(--spacing-lg)}.bl-gap-xl{gap:var(--spacing-xl)}.bl-gap-2xl{gap:var(--spacing-2xl)}.bl-gap-x-xs{column-gap:var(--spacing-xs)}.bl-gap-x-sm{column-gap:var(--spacing-sm)}.bl-gap-x-md{column-gap:var(--spacing-md)}.bl-gap-x-lg{column-gap:var(--spacing-lg)}.bl-gap-x-xl{column-gap:var(--spacing-xl)}.bl-gap-x-2xl{column-gap:var(--spacing-2xl)}.bl-gap-y-xs{row-gap:var(--spacing-xs)}.bl-gap-y-sm{row-gap:var(--spacing-sm)}.bl-gap-y-md{row-gap:var(--spacing-md)}.bl-gap-y-lg{row-gap:var(--spacing-lg)}.bl-gap-y-xl{row-gap:var(--spacing-xl)}.bl-gap-y-2xl{row-gap:var(--spacing-2xl)}.bl-col-span-1{grid-column:span 1/span 1}.bl-col-span-2{grid-column:span 2/span 2}.bl-col-span-3{grid-column:span 3/span 3}.bl-col-span-4{grid-column:span 4/span 4}.bl-col-span-5{grid-column:span 5/span 5}.bl-col-span-6{grid-column:span 6/span 6}.bl-col-span-7{grid-column:span 7/span 7}.bl-col-span-8{grid-column:span 8/span 8}.bl-col-span-9{grid-column:span 9/span 9}.bl-col-span-10{grid-column:span 10/span 10}.bl-col-span-11{grid-column:span 11/span 11}.bl-col-span-12{grid-column:span 12/span 12}.bl-row-span-1{grid-row:span 1/span 1}.bl-row-span-2{grid-row:span 2/span 2}.bl-row-span-3{grid-row:span 3/span 3}.bl-row-span-4{grid-row:span 4/span 4}.bl-row-span-5{grid-row:span 5/span 5}.bl-row-span-6{grid-row:span 6/span 6}.bl-row-span-7{grid-row:span 7/span 7}.bl-row-span-8{grid-row:span 8/span 8}.bl-row-span-9{grid-row:span 9/span 9}.bl-row-span-10{grid-row:span 10/span 10}.bl-row-span-11{grid-row:span 11/span 11}.bl-row-span-12{grid-row:span 12/span 12}.bl-grid-flow-row{grid-auto-flow:row}.bl-grid-flow-col{grid-auto-flow:column}.bl-grid-flow-dense{grid-auto-flow:dense}.bl-flex{display:flex}.bl-inline-flex{display:inline-flex}.bl-flex-row{flex-direction:row}.bl-flex-row-reverse{flex-direction:row-reverse}.bl-flex-col{flex-direction:column}.bl-flex-col-reverse{flex-direction:column-reverse}.bl-flex-wrap{flex-wrap:wrap}.bl-flex-nowrap{flex-wrap:nowrap}.bl-flex-wrap-reverse{flex-wrap:wrap-reverse}.bl-justify-start{justify-content:flex-start}.bl-justify-end{justify-content:flex-end}.bl-justify-center{justify-content:center}.bl-justify-between{justify-content:space-between}.bl-justify-around{justify-content:space-around}.bl-justify-evenly{justify-content:space-evenly}.bl-items-start{align-items:flex-start}.bl-items-end{align-items:flex-end}.bl-items-center{align-items:center}.bl-items-baseline{align-items:baseline}.bl-items-stretch{align-items:stretch}.bl-self-auto{align-self:auto}.bl-self-start{align-self:flex-start}.bl-self-end{align-self:flex-end}.bl-self-center{align-self:center}.bl-self-stretch{align-self:stretch}.bl-self-baseline{align-self:baseline}.bl-content-start{align-content:flex-start}.bl-content-end{align-content:flex-end}.bl-content-center{align-content:center}.bl-content-between{align-content:space-between}.bl-content-around{align-content:space-around}.bl-content-stretch{align-content:stretch}.bl-flex-1{flex:1 1 0%}.bl-flex-auto{flex:1 1 auto}.bl-flex-initial{flex:0 1 auto}.bl-flex-none{flex:none}.bl-grow{flex-grow:1}.bl-grow-0{flex-grow:0}.bl-shrink{flex-shrink:1}.bl-shrink-0{flex-shrink:0}.m-xs{margin:var(--spacing-xs)}.mt-xs{margin-top:var(--spacing-xs)}.mr-xs{margin-right:var(--spacing-xs)}.mb-xs{margin-bottom:var(--spacing-xs)}.ml-xs{margin-left:var(--spacing-xs)}.mx-xs{margin-left:var(--spacing-xs);margin-right:var(--spacing-xs)}.my-xs{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.mt-sm{margin-top:var(--spacing-sm)}.mr-sm{margin-right:var(--spacing-sm)}.mb-sm{margin-bottom:var(--spacing-sm)}.ml-sm{margin-left:var(--spacing-sm)}.mx-sm{margin-left:var(--spacing-sm);margin-right:var(--spacing-sm)}.my-sm{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.mt-md{margin-top:var(--spacing-md)}.mr-md{margin-right:var(--spacing-md)}.mb-md{margin-bottom:var(--spacing-md)}.ml-md{margin-left:var(--spacing-md)}.mx-md{margin-left:var(--spacing-md);margin-right:var(--spacing-md)}.my-md{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.mt-lg{margin-top:var(--spacing-lg)}.mr-lg{margin-right:var(--spacing-lg)}.mb-lg{margin-bottom:var(--spacing-lg)}.ml-lg{margin-left:var(--spacing-lg)}.mx-lg{margin-left:var(--spacing-lg);margin-right:var(--spacing-lg)}.my-lg{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.mt-xl{margin-top:var(--spacing-xl)}.mr-xl{margin-right:var(--spacing-xl)}.mb-xl{margin-bottom:var(--spacing-xl)}.ml-xl{margin-left:var(--spacing-xl)}.mx-xl{margin-left:var(--spacing-xl);margin-right:var(--spacing-xl)}.my-xl{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.m-2xl{margin:var(--spacing-2xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.mr-2xl{margin-right:var(--spacing-2xl)}.mb-2xl{margin-bottom:var(--spacing-2xl)}.ml-2xl{margin-left:var(--spacing-2xl)}.mx-2xl{margin-left:var(--spacing-2xl);margin-right:var(--spacing-2xl)}.my-2xl{margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-2xl)}.m-3xl{margin:var(--spacing-3xl)}.mt-3xl{margin-top:var(--spacing-3xl)}.mr-3xl{margin-right:var(--spacing-3xl)}.mb-3xl{margin-bottom:var(--spacing-3xl)}.ml-3xl{margin-left:var(--spacing-3xl)}.mx-3xl{margin-left:var(--spacing-3xl);margin-right:var(--spacing-3xl)}.my-3xl{margin-top:var(--spacing-3xl);margin-bottom:var(--spacing-3xl)}.m-0{margin:0}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mx-0{margin-left:0;margin-right:0}.my-0{margin-top:0;margin-bottom:0}.m-auto{margin:auto}.mt-auto{margin-top:auto}.mr-auto{margin-right:auto}.mb-auto{margin-bottom:auto}.ml-auto{margin-left:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.p-xs{padding:var(--spacing-xs)}.pt-xs{padding-top:var(--spacing-xs)}.pr-xs{padding-right:var(--spacing-xs)}.pb-xs{padding-bottom:var(--spacing-xs)}.pl-xs{padding-left:var(--spacing-xs)}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.py-xs{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.pt-sm{padding-top:var(--spacing-sm)}.pr-sm{padding-right:var(--spacing-sm)}.pb-sm{padding-bottom:var(--spacing-sm)}.pl-sm{padding-left:var(--spacing-sm)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.pt-md{padding-top:var(--spacing-md)}.pr-md{padding-right:var(--spacing-md)}.pb-md{padding-bottom:var(--spacing-md)}.pl-md{padding-left:var(--spacing-md)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.pt-lg{padding-top:var(--spacing-lg)}.pr-lg{padding-right:var(--spacing-lg)}.pb-lg{padding-bottom:var(--spacing-lg)}.pl-lg{padding-left:var(--spacing-lg)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.pt-xl{padding-top:var(--spacing-xl)}.pr-xl{padding-right:var(--spacing-xl)}.pb-xl{padding-bottom:var(--spacing-xl)}.pl-xl{padding-left:var(--spacing-xl)}.px-xl{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.py-xl{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.p-2xl{padding:var(--spacing-2xl)}.pt-2xl{padding-top:var(--spacing-2xl)}.pr-2xl{padding-right:var(--spacing-2xl)}.pb-2xl{padding-bottom:var(--spacing-2xl)}.pl-2xl{padding-left:var(--spacing-2xl)}.px-2xl{padding-left:var(--spacing-2xl);padding-right:var(--spacing-2xl)}.py-2xl{padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl)}.p-3xl{padding:var(--spacing-3xl)}.pt-3xl{padding-top:var(--spacing-3xl)}.pr-3xl{padding-right:var(--spacing-3xl)}.pb-3xl{padding-bottom:var(--spacing-3xl)}.pl-3xl{padding-left:var(--spacing-3xl)}.px-3xl{padding-left:var(--spacing-3xl);padding-right:var(--spacing-3xl)}.py-3xl{padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-3xl)}.p-0{padding:0}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.px-0{padding-left:0;padding-right:0}.py-0{padding-top:0;padding-bottom:0}.bl-d-none{display:none}.bl-d-inline{display:inline}.bl-d-inline-block{display:inline-block}.bl-d-block{display:block}.bl-d-table{display:table}.bl-d-table-row{display:table-row}.bl-d-table-cell{display:table-cell}.bl-d-flex{display:flex}.bl-d-inline-flex{display:inline-flex}.bl-d-grid{display:grid}.bl-d-inline-grid{display:inline-grid}@media(min-width: 640px){.bl-d-sm-none{display:none}.bl-d-sm-inline{display:inline}.bl-d-sm-inline-block{display:inline-block}.bl-d-sm-block{display:block}.bl-d-sm-flex{display:flex}.bl-d-sm-inline-flex{display:inline-flex}.bl-d-sm-grid{display:grid}}@media(min-width: 768px){.bl-d-md-none{display:none}.bl-d-md-inline{display:inline}.bl-d-md-inline-block{display:inline-block}.bl-d-md-block{display:block}.bl-d-md-flex{display:flex}.bl-d-md-inline-flex{display:inline-flex}.bl-d-md-grid{display:grid}}@media(min-width: 1024px){.bl-d-lg-none{display:none}.bl-d-lg-inline{display:inline}.bl-d-lg-inline-block{display:inline-block}.bl-d-lg-block{display:block}.bl-d-lg-flex{display:flex}.bl-d-lg-inline-flex{display:inline-flex}.bl-d-lg-grid{display:grid}}@media(min-width: 1280px){.bl-d-xl-none{display:none}.bl-d-xl-inline{display:inline}.bl-d-xl-inline-block{display:inline-block}.bl-d-xl-block{display:block}.bl-d-xl-flex{display:flex}.bl-d-xl-inline-flex{display:inline-flex}.bl-d-xl-grid{display:grid}}.bl-text-left{text-align:left}.bl-text-center{text-align:center}.bl-text-right{text-align:right}.bl-text-justify{text-align:justify}.bl-text-xs{font-size:var(--font-size-xs)}.bl-text-sm{font-size:var(--font-size-sm)}.bl-text-base{font-size:var(--font-size-base)}.bl-text-lg{font-size:var(--font-size-lg)}.bl-text-xl{font-size:var(--font-size-xl)}.bl-text-2xl{font-size:var(--font-size-2xl)}.bl-text-3xl{font-size:var(--font-size-3xl)}.bl-text-4xl{font-size:var(--font-size-4xl)}.bl-text-5xl{font-size:var(--font-size-5xl)}.bl-text-6xl{font-size:var(--font-size-6xl)}.bl-font-light{font-weight:var(--font-weight-light)}.bl-font-normal{font-weight:var(--font-weight-normal)}.bl-font-medium{font-weight:var(--font-weight-medium)}.bl-font-semibold{font-weight:var(--font-weight-semibold)}.bl-font-bold{font-weight:var(--font-weight-bold)}.bl-font-extrabold{font-weight:var(--font-weight-extrabold)}.bl-leading-none{line-height:var(--line-height-none)}.bl-leading-tight{line-height:var(--line-height-tight)}.bl-leading-snug{line-height:var(--line-height-snug)}.bl-leading-base{line-height:var(--line-height-base)}.bl-leading-relaxed{line-height:var(--line-height-relaxed)}.bl-leading-loose{line-height:var(--line-height-loose)}.bl-uppercase{text-transform:uppercase}.bl-lowercase{text-transform:lowercase}.bl-capitalize{text-transform:capitalize}.bl-normal-case{text-transform:none}.bl-underline{text-decoration:underline}.bl-line-through{text-decoration:line-through}.bl-no-underline{text-decoration:none}.bl-tracking-tighter{letter-spacing:var(--letter-spacing-tighter)}.bl-tracking-tight{letter-spacing:var(--letter-spacing-tight)}.bl-tracking-normal{letter-spacing:var(--letter-spacing-normal)}.bl-tracking-wide{letter-spacing:var(--letter-spacing-wide)}.bl-tracking-wider{letter-spacing:var(--letter-spacing-wider)}.bl-tracking-widest{letter-spacing:var(--letter-spacing-widest)}.bl-text-primary{color:var(--color-primary)}.bl-text-secondary{color:var(--color-secondary)}.bl-text-success{color:var(--color-success)}.bl-text-warning{color:var(--color-warning)}.bl-text-error{color:var(--color-error)}.bl-text-info{color:var(--color-info)}.bl-text-muted{color:var(--color-text-muted)}.bl-text-light{color:var(--color-text-light)}.bl-text-inverse{color:var(--color-text-inverse)}.bl-font-sans{font-family:var(--font-family-base)}.bl-font-mono{font-family:var(--font-family-mono)}.bl-font-serif{font-family:var(--font-family-serif)}.bl-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bl-text-ellipsis{text-overflow:ellipsis}.bl-text-clip{text-overflow:clip}.bl-whitespace-normal{white-space:normal}.bl-whitespace-nowrap{white-space:nowrap}.bl-whitespace-pre{white-space:pre}.bl-whitespace-pre-line{white-space:pre-line}.bl-whitespace-pre-wrap{white-space:pre-wrap}.bl-visible{visibility:visible}.bl-invisible{visibility:hidden}.bl-opacity-0{opacity:0}.bl-opacity-25{opacity:.25}.bl-opacity-50{opacity:.5}.bl-opacity-75{opacity:.75}.bl-opacity-100{opacity:1}.bl-overflow-auto{overflow:auto}.bl-overflow-hidden{overflow:hidden}.bl-overflow-visible{overflow:visible}.bl-overflow-scroll{overflow:scroll}.bl-overflow-x-auto{overflow-x:auto}.bl-overflow-x-hidden{overflow-x:hidden}.bl-overflow-x-scroll{overflow-x:scroll}.bl-overflow-y-auto{overflow-y:auto}.bl-overflow-y-hidden{overflow-y:hidden}.bl-overflow-y-scroll{overflow-y:scroll}.bl-static{position:static}.bl-fixed{position:fixed}.bl-absolute{position:absolute}.bl-relative{position:relative}.bl-sticky{position:sticky}.bl-top-0{top:0}.bl-right-0{right:0}.bl-bottom-0{bottom:0}.bl-left-0{left:0}.bl-top-auto{top:auto}.bl-right-auto{right:auto}.bl-bottom-auto{bottom:auto}.bl-left-auto{left:auto}.bl-inset-0{top:0;right:0;bottom:0;left:0}.bl-inset-auto{top:auto;right:auto;bottom:auto;left:auto}.bl-z-0{z-index:var(--z-index-base)}.bl-z-dropdown{z-index:var(--z-index-dropdown)}.bl-z-sticky{z-index:var(--z-index-sticky)}.bl-z-fixed{z-index:var(--z-index-fixed)}.bl-z-modal-backdrop{z-index:var(--z-index-modal-backdrop)}.bl-z-modal{z-index:var(--z-index-modal)}.bl-z-popover{z-index:var(--z-index-popover)}.bl-z-tooltip{z-index:var(--z-index-tooltip)}.bl-transition{transition:var(--transition-base)}.bl-transition-colors{transition:var(--transition-colors)}.bl-transition-opacity{transition:var(--transition-opacity)}.bl-transition-transform{transition:var(--transition-transform)}.bl-transition-none{transition:none}.bl-duration-fast{transition-duration:var(--transition-duration-fast)}.bl-duration-base{transition-duration:var(--transition-duration-base)}.bl-duration-slow{transition-duration:var(--transition-duration-slow)}.bl-duration-slower{transition-duration:var(--transition-duration-slower)}.bl-ease-linear{transition-timing-function:var(--transition-ease-linear)}.bl-ease-in{transition-timing-function:var(--transition-ease-in)}.bl-ease-out{transition-timing-function:var(--transition-ease-out)}.bl-ease-in-out{transition-timing-function:var(--transition-ease-in-out)}@keyframes bl-fade-in{from{opacity:0}to{opacity:1}}@keyframes bl-fade-out{from{opacity:1}to{opacity:0}}.bl-fade-in{animation:bl-fade-in var(--transition-duration-base) var(--transition-ease-out)}.bl-fade-out{animation:bl-fade-out var(--transition-duration-base) var(--transition-ease-out)}@keyframes bl-slide-up{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bl-slide-down{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bl-slide-left{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes bl-slide-right{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}.bl-slide-up{animation:bl-slide-up var(--transition-duration-base) var(--transition-ease-out)}.bl-slide-down{animation:bl-slide-down var(--transition-duration-base) var(--transition-ease-out)}.bl-slide-left{animation:bl-slide-left var(--transition-duration-base) var(--transition-ease-out)}.bl-slide-right{animation:bl-slide-right var(--transition-duration-base) var(--transition-ease-out)}@keyframes bl-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.bl-animate-spin{animation:bl-spin 1s linear infinite}@keyframes bl-pulse{0%,100%{opacity:1}50%{opacity:.5}}.bl-animate-pulse{animation:bl-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.bl-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.bl-sr-only-focusable:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}.bl-skip-link{position:absolute;top:-40px;left:0;z-index:var(--z-index-tooltip);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-primary);color:var(--color-text-inverse);text-decoration:none;border-radius:var(--border-radius-md)}.bl-skip-link:focus{top:var(--spacing-sm);outline:2px solid var(--color-border-focus);outline-offset:2px}.bl-focus-visible:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}@media(prefers-contrast: high){*{border-color:currentColor !important}.bl-skip-link{border:2px solid currentColor}}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}.bl-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-base);text-align:center;text-decoration:none;white-space:nowrap;vertical-align:middle;cursor:pointer;user-select:none;border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-sm);background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));transition:var(--transition-base);color:var(--color-text)}.bl-btn:focus{outline:1px solid var(--color-border-focus);outline-offset:2px}.bl-btn:disabled,.bl-btn.bl-disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.bl-btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.bl-btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg)}.bl-btn-primary{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.bl-btn-primary:hover:not(:disabled):not(.bl-disabled){background:var(--color-accent-dark);border-color:var(--color-accent-dark)}.bl-btn-primary:active:not(:disabled):not(.bl-disabled){transform:translateY(1px);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.bl-btn-secondary{background:var(--glass-bg-medium);color:var(--color-text);border-color:var(--glass-border-medium)}.bl-btn-secondary:hover:not(:disabled):not(.bl-disabled){background:var(--glass-bg-heavy);border-color:var(--glass-border-heavy)}.bl-btn-secondary:active:not(:disabled):not(.bl-disabled){transform:translateY(1px);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.bl-btn-outline{background:rgba(0,0,0,0);color:var(--color-accent);border-color:var(--color-accent)}.bl-btn-outline:hover:not(:disabled):not(.bl-disabled){background:var(--glass-bg-light);border-color:var(--color-accent-light)}.bl-btn-outline:active:not(:disabled):not(.bl-disabled){transform:translateY(1px);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.bl-btn-ghost{background:rgba(0,0,0,0);color:var(--color-text);border-color:rgba(0,0,0,0)}.bl-btn-ghost:hover:not(:disabled):not(.bl-disabled){background:var(--glass-bg-light);border-color:var(--glass-border-light)}.bl-btn-ghost:active:not(:disabled):not(.bl-disabled){transform:translateY(1px)}.bl-btn-link{background:rgba(0,0,0,0);color:var(--color-accent);border-color:rgba(0,0,0,0);padding:0;text-decoration:underline}.bl-btn-link:hover:not(:disabled):not(.bl-disabled){color:var(--color-accent-light);text-decoration:none}.bl-btn-success{background:var(--color-success);color:var(--color-text-inverse);border-color:var(--color-success)}.bl-btn-success:hover:not(:disabled):not(.bl-disabled){background:var(--color-success-dark);border-color:var(--color-success-dark)}.bl-btn-success:active:not(:disabled):not(.bl-disabled){transform:translateY(1px);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.bl-btn-warning{background:var(--color-warning);color:var(--color-text-inverse);border-color:var(--color-warning)}.bl-btn-warning:hover:not(:disabled):not(.bl-disabled){background:var(--color-warning-dark);border-color:var(--color-warning-dark)}.bl-btn-warning:active:not(:disabled):not(.bl-disabled){transform:translateY(1px);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.bl-btn-error{background:var(--color-error);color:var(--color-text-inverse);border-color:var(--color-error)}.bl-btn-error:hover:not(:disabled):not(.bl-disabled){background:var(--color-error-dark);border-color:var(--color-error-dark)}.bl-btn-error:active:not(:disabled):not(.bl-disabled){transform:translateY(1px);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.bl-btn-info{background:var(--color-info);color:var(--color-text-inverse);border-color:var(--color-info)}.bl-btn-info:hover:not(:disabled):not(.bl-disabled){background:var(--color-info-dark);border-color:var(--color-info-dark)}.bl-btn-info:active:not(:disabled):not(.bl-disabled){transform:translateY(1px);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.bl-btn-block{display:flex;width:100%}.bl-form-group{margin-bottom:var(--form-group-margin-bottom)}.bl-form-label{display:block;margin-bottom:var(--form-label-margin-bottom);font-size:var(--form-label-font-size);font-weight:var(--form-label-font-weight);color:var(--color-text)}.bl-form-label-required::after{content:" *";color:var(--form-error-color)}.bl-form-helper{display:block;margin-top:var(--form-helper-margin-top);font-size:var(--form-helper-font-size);color:var(--color-text-muted)}.bl-form-error{display:block;margin-top:var(--form-helper-margin-top);font-size:var(--form-error-font-size);color:var(--color-error)}.bl-input,.bl-textarea{display:block;width:100%;padding:var(--form-input-padding-y) var(--form-input-padding-x);font-family:var(--font-family-base);font-size:var(--form-input-font-size);line-height:var(--form-input-line-height);color:var(--color-text);background:var(--glass-bg-light);border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-sm);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));transition:var(--transition-base)}.bl-input::placeholder,.bl-textarea::placeholder{color:var(--color-text-muted);opacity:1;font-style:normal}.bl-input:focus,.bl-textarea:focus{outline:none;border-width:2px;border-color:var(--color-accent);background:var(--glass-bg-medium)}.bl-input:disabled,.bl-textarea:disabled{opacity:var(--form-input-opacity-disabled);cursor:not-allowed;background:var(--glass-bg-dark)}.bl-select{display:block;width:100%;padding:var(--form-input-padding-y) var(--form-input-padding-x);padding-right:calc(var(--form-input-padding-x) + 1.5rem);font-family:var(--font-family-base);font-size:var(--form-input-font-size);line-height:var(--form-input-line-height);color:var(--color-text);background:var(--glass-bg-medium);border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-md);backdrop-filter:blur(var(--glass-blur-lg));-webkit-backdrop-filter:blur(var(--glass-blur-lg));transition:var(--transition-base);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%23ffffff' d='M0 2l4 4 4-4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--form-input-padding-x) center;background-size:.75rem;box-shadow:var(--glass-shadow-sm)}.bl-select:focus{outline:none;border-width:2px;border-color:var(--color-accent);background-color:var(--glass-bg-medium);box-shadow:var(--glass-shadow-md),0 0 0 1px var(--color-accent)}.bl-select:hover{background-color:var(--glass-bg-heavy);border-color:var(--glass-border-heavy)}.bl-select:disabled{opacity:var(--form-input-opacity-disabled);cursor:not-allowed;background-color:var(--glass-bg-dark);box-shadow:none}.bl-select.bl-select-converted{display:none}.bl-select-dropdown{position:relative;display:block;width:100%}.bl-select-dropdown .bl-select-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--form-input-padding-y) var(--form-input-padding-x);font-family:var(--font-family-base);font-size:var(--form-input-font-size);line-height:var(--form-input-line-height);color:var(--color-text);background:var(--glass-bg-medium);border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-md);backdrop-filter:blur(var(--glass-blur-lg));-webkit-backdrop-filter:blur(var(--glass-blur-lg));transition:var(--transition-base);cursor:pointer;box-shadow:var(--glass-shadow-sm);text-align:left;border:none}.bl-select-dropdown .bl-select-toggle::after{display:inline-block;margin-left:var(--spacing-xs);vertical-align:.255em;content:"";border-top:.3em solid var(--color-text);border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0);flex-shrink:0}.bl-select-dropdown .bl-select-toggle:focus{outline:none;border-width:2px;border-color:var(--color-accent);box-shadow:var(--glass-shadow-md),0 0 0 1px var(--color-accent)}.bl-select-dropdown .bl-select-toggle:hover{background-color:var(--glass-bg-heavy);border-color:var(--glass-border-heavy)}.bl-select-dropdown .bl-select-toggle:disabled{opacity:var(--form-input-opacity-disabled);cursor:not-allowed;background-color:var(--glass-bg-dark)}.bl-select-dropdown .bl-select-menu{position:absolute;top:100%;left:0;z-index:999999 !important;display:none;width:100%;min-width:100%;padding:var(--spacing-xs) 0;margin:var(--spacing-xs) 0 0 0;font-size:var(--font-size-base);color:var(--color-text);text-align:left;list-style:none;background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-lg));-webkit-backdrop-filter:blur(var(--glass-blur-lg));border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-md);overflow:hidden;overflow-y:auto;max-height:300px;box-shadow:var(--glass-shadow-lg)}.bl-select-dropdown .bl-select-menu.bl-show{display:block}.bl-select-dropdown .bl-select-item{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);clear:both;font-weight:var(--font-weight-normal);color:var(--color-text);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:rgba(0,0,0,0);border:0;cursor:pointer;transition:var(--transition-base)}.bl-select-dropdown .bl-select-item:hover,.bl-select-dropdown .bl-select-item:focus{color:var(--color-text);text-decoration:none;background:var(--glass-bg-heavy)}.bl-select-dropdown .bl-select-item:active{color:var(--color-text);background:var(--glass-bg-heavy)}.bl-select-dropdown .bl-select-item.bl-selected{background:var(--glass-bg-heavy);color:var(--color-accent)}.bl-select-dropdown .bl-select-item.bl-selected::before{content:"✓ ";margin-right:var(--spacing-xs)}.bl-select-dropdown .bl-select-item.bl-disabled,.bl-select-dropdown .bl-select-item:disabled{color:var(--color-text-muted);pointer-events:none;background-color:rgba(0,0,0,0);opacity:.6}.bl-input-error,.bl-select-error,.bl-textarea-error{border-bottom:2px solid var(--color-error)}.bl-input-error:focus,.bl-select-error:focus,.bl-textarea-error:focus{border-width:2px;border-color:var(--color-error);border-bottom-width:2px}.bl-input-success,.bl-select-success,.bl-textarea-success{border-bottom:2px solid var(--color-success)}.bl-input-success:focus,.bl-select-success:focus,.bl-textarea-success:focus{border-width:2px;border-color:var(--color-success);border-bottom-width:2px}.bl-input-sm,.bl-select-sm{padding:var(--form-input-padding-y-sm) var(--form-input-padding-x-sm);font-size:var(--form-input-font-size-sm)}.bl-select-sm{padding-right:calc(var(--form-input-padding-x-sm) + 1.25rem)}.bl-input-lg,.bl-select-lg{padding:var(--form-input-padding-y-lg) var(--form-input-padding-x-lg);font-size:var(--form-input-font-size-lg)}.bl-select-lg{padding-right:calc(var(--form-input-padding-x-lg) + 1.75rem)}.bl-textarea{resize:var(--form-textarea-resize);min-height:var(--form-textarea-min-height)}.bl-checkbox,.bl-radio{display:inline-flex;align-items:center;cursor:pointer;user-select:none}.bl-checkbox input[type=checkbox],.bl-checkbox input[type=radio],.bl-radio input[type=checkbox],.bl-radio input[type=radio]{width:var(--form-checkbox-size);height:var(--form-checkbox-size);margin-right:var(--form-checkbox-margin-right);cursor:pointer;accent-color:var(--form-checkbox-accent-color)}.bl-checkbox:disabled,.bl-radio:disabled{opacity:var(--form-checkbox-opacity-disabled);cursor:not-allowed}.bl-switch{position:relative;display:inline-block;width:var(--form-switch-width);height:var(--form-switch-height)}.bl-switch input{opacity:0;width:0;height:0}.bl-switch input:checked+.bl-switch-slider{background-color:var(--form-switch-bg-active)}.bl-switch input:checked+.bl-switch-slider::before{transform:translateX(var(--form-switch-slider-translate))}.bl-switch input:focus+.bl-switch-slider{border-color:var(--color-accent)}.bl-switch input:disabled+.bl-switch-slider{opacity:var(--form-switch-opacity-disabled);cursor:not-allowed}.bl-switch-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--glass-bg-medium);border:1px solid var(--glass-border-medium);border-radius:var(--border-radius-full);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));transition:var(--transition-base);cursor:pointer}.bl-switch-slider::before{position:absolute;content:"";height:var(--form-switch-slider-size);width:var(--form-switch-slider-size);left:var(--form-switch-slider-offset);bottom:var(--form-switch-slider-offset);background:var(--glass-bg-heavy);border:1px solid var(--glass-border-light);border-radius:var(--border-radius-full);transition:var(--transition-base)}.bl-file-input{display:block;width:100%;padding:var(--form-file-input-padding);font-size:var(--form-file-input-font-size);color:var(--color-text);border:1px dashed var(--glass-border-medium);border-radius:var(--tech-border-radius-sm);background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));cursor:pointer;transition:var(--transition-base)}.bl-file-input:hover{border-color:var(--glass-border-heavy);background:var(--glass-bg-medium)}.bl-file-input input[type=file]{display:none}.bl-range{width:100%;height:var(--form-range-height);border-radius:var(--tech-border-radius-sm);background:var(--form-range-bg);outline:none;-webkit-appearance:none}.bl-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:var(--form-range-thumb-size);height:var(--form-range-thumb-size);border-radius:var(--tech-border-radius-sm);background:var(--form-range-thumb-bg);border:1px solid var(--glass-border-medium);cursor:pointer}.bl-range::-moz-range-thumb{width:var(--form-range-thumb-size);height:var(--form-range-thumb-size);border-radius:var(--tech-border-radius-sm);background:var(--form-range-thumb-bg);border:1px solid var(--glass-border-medium);cursor:pointer}.bl-input-group{display:flex;width:100%}.bl-input-group .bl-input,.bl-input-group .bl-select{position:relative;flex:1 1 auto;width:1%}.bl-input-group .bl-input:not(:first-child),.bl-input-group .bl-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.bl-input-group .bl-input:not(:last-child),.bl-input-group .bl-select:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.bl-card{display:flex;flex-direction:column;background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-md);overflow:hidden;transition:var(--transition-base);position:relative}.bl-card.bl-card-accent-left{border-left:4px solid var(--color-accent)}.bl-card.bl-card-accent-right{border-right:4px solid var(--color-accent)}.bl-card-header{padding:var(--spacing-md);border-bottom:1px solid var(--glass-border-light);background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm))}.bl-card-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.bl-card-subtitle{margin:var(--spacing-xs) 0 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.bl-card-body{padding:var(--spacing-md);flex:1 1 auto;color:var(--color-text)}.bl-card-footer{padding:var(--spacing-md);border-top:1px solid var(--glass-border-light);background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm))}.bl-card-primary{border-color:var(--color-accent)}.bl-card-secondary{border-color:var(--glass-border-heavy)}.bl-card-shadow{box-shadow:var(--glass-shadow-md)}.bl-card-shadow-lg{box-shadow:var(--glass-shadow-lg)}.bl-card-hover{cursor:pointer}.bl-card-hover:hover{background:var(--glass-bg-heavy);border-color:var(--glass-border-heavy)}.bl-alert{position:relative;padding:var(--spacing-md);margin-bottom:var(--spacing-md);border:1px solid var(--glass-border-medium);border-left-width:2px;border-radius:var(--tech-border-radius-md);background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));color:var(--color-text)}.bl-alert-title{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text)}.bl-alert-message{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.bl-alert-info{border-left-color:var(--color-accent);color:var(--color-text)}.bl-alert-info .bl-alert-title{color:var(--color-text)}.bl-alert-success{border-left-color:var(--color-success);color:var(--color-text)}.bl-alert-success .bl-alert-title{color:var(--color-text)}.bl-alert-warning{border-left-color:var(--color-warning);color:var(--color-text)}.bl-alert-warning .bl-alert-title{color:var(--color-text)}.bl-alert-error{border-left-color:var(--color-error);color:var(--color-text)}.bl-alert-error .bl-alert-title{color:var(--color-text)}.bl-alert-dismissible{padding-right:var(--spacing-3xl)}.bl-alert-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);padding:var(--spacing-xs);background:rgba(0,0,0,0);border:none;cursor:pointer;opacity:.6;transition:var(--transition-opacity);color:var(--color-text);border-radius:var(--tech-border-radius-sm)}.bl-alert-close:hover{opacity:1}.bl-alert-close::before{content:"×";font-size:var(--font-size-xl);line-height:1}.bl-badge{display:inline-flex;align-items:stretch;overflow:hidden;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;vertical-align:baseline;border-radius:var(--tech-border-radius-sm);border:1px solid var(--glass-border-medium)}.bl-badge-label{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));color:var(--color-text-muted);border-right:1px solid var(--glass-border-medium);flex-shrink:0}.bl-badge-value{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));color:var(--color-text);flex-shrink:0}.bl-badge-primary .bl-badge-value{background:var(--color-accent);color:var(--color-text-inverse)}.bl-badge-secondary .bl-badge-value{background:var(--glass-bg-heavy);color:var(--color-text)}.bl-badge-success .bl-badge-value{background:var(--color-success);color:var(--color-text-inverse)}.bl-badge-warning .bl-badge-value{background:var(--color-warning);color:var(--color-text-inverse)}.bl-badge-error .bl-badge-value{background:var(--color-error);color:var(--color-text-inverse)}.bl-badge-info .bl-badge-value{background:var(--color-info);color:var(--color-text-inverse)}.bl-badge-sm{font-size:.625rem}.bl-badge-sm .bl-badge-label,.bl-badge-sm .bl-badge-value{padding:.125rem var(--spacing-xs)}.bl-badge-lg{font-size:var(--font-size-sm)}.bl-badge-lg .bl-badge-label,.bl-badge-lg .bl-badge-value{padding:var(--spacing-sm) var(--spacing-md)}.bl-modal-backdrop{position:fixed;top:0;left:0;z-index:var(--z-index-modal-backdrop);width:100vw;height:100vh;background:var(--color-bg-overlay);backdrop-filter:blur(var(--glass-blur-lg));-webkit-backdrop-filter:blur(var(--glass-blur-lg))}.bl-modal{position:fixed;top:0;left:0;z-index:var(--z-index-modal);width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.bl-modal-dialog{position:relative;width:100%;max-width:500px;margin:0;pointer-events:none}@media(min-width: 576px){.bl-modal-dialog{max-width:500px}}@media(min-width: 768px){.bl-modal-dialog{max-width:600px}}@media(min-width: 1024px){.bl-modal-dialog{max-width:800px}}.bl-modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-xl));-webkit-backdrop-filter:blur(var(--glass-blur-xl));border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-md);outline:0}.bl-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--spacing-md);border-bottom:1px solid var(--glass-border-light);background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm))}.bl-modal-title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text)}.bl-modal-close{padding:var(--spacing-xs);margin:calc(var(--spacing-xs)*-1) calc(var(--spacing-xs)*-1) calc(var(--spacing-xs)*-1) auto;background:rgba(0,0,0,0);border:0;border-radius:var(--tech-border-radius-sm);opacity:.6;cursor:pointer;transition:var(--transition-opacity);color:var(--color-text);font-family:monospace}.bl-modal-close:hover{opacity:1}.bl-modal-close::before{content:"×";font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1}.bl-modal-body{position:relative;flex:1 1 auto;padding:var(--spacing-md);color:var(--color-text)}.bl-modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:var(--spacing-md);border-top:1px solid var(--glass-border-light);background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm))}.bl-modal-footer>*{margin:var(--spacing-xs)}@media(min-width: 576px){.bl-modal-sm .bl-modal-dialog{max-width:300px}}@media(min-width: 1024px){.bl-modal-lg .bl-modal-dialog{max-width:1000px}}@media(min-width: 1024px){.bl-modal-xl .bl-modal-dialog{max-width:1200px}}.bl-modal-top{align-items:flex-start;padding-top:var(--spacing-xl)}.bl-modal-bottom{align-items:flex-end;padding-bottom:var(--spacing-xl)}.bl-modal-left{justify-content:flex-start;padding-left:var(--spacing-xl)}.bl-modal-left .bl-modal-dialog{margin-right:auto}.bl-modal-right{justify-content:flex-end;padding-right:var(--spacing-xl)}.bl-modal-right .bl-modal-dialog{margin-left:auto}.bl-modal-centered{align-items:center;justify-content:center}.bl-dropdown{position:relative;display:inline-block}.bl-dropdown-toggle::after{display:inline-block;margin-left:var(--spacing-xs);vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0)}.bl-dropdown-menu{position:absolute;top:100%;left:0;z-index:99999 !important;display:none;min-width:10rem;padding:var(--spacing-xs) 0;margin:var(--spacing-xs) 0 0 0;font-size:var(--font-size-base);color:var(--color-text);text-align:left;list-style:none;background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-lg));-webkit-backdrop-filter:blur(var(--glass-blur-lg));border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-md);overflow:hidden;overflow-y:auto;max-height:300px;box-shadow:var(--glass-shadow-lg)}.bl-dropdown-menu.bl-show{display:block}.bl-dropdown-menu-right{right:0;left:auto}.bl-dropdown-item{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);clear:both;font-weight:var(--font-weight-normal);color:var(--color-text);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:rgba(0,0,0,0);border:0;cursor:pointer;transition:var(--transition-base)}.bl-dropdown-item:hover,.bl-dropdown-item:focus{color:var(--color-text);text-decoration:none;background:var(--glass-bg-heavy)}.bl-dropdown-item:active{color:var(--color-text);background:var(--glass-bg-heavy)}.bl-dropdown-item.bl-active{background:var(--glass-bg-heavy);color:var(--color-accent)}.bl-dropdown-item.bl-disabled,.bl-dropdown-item:disabled{color:var(--color-text-muted);pointer-events:none;background-color:rgba(0,0,0,0);opacity:.6}.bl-dropdown-divider{height:0;margin:var(--spacing-xs) 0;overflow:hidden;border-top:1px solid var(--glass-border-light)}.bl-dropdown-header{display:block;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);white-space:nowrap}.bl-nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none;background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-sm);padding:var(--spacing-xs)}.bl-nav-item{display:list-item}.bl-nav-link{display:block;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text);text-decoration:none;border-radius:var(--tech-border-radius-sm);transition:var(--transition-base)}.bl-nav-link:hover{color:var(--color-text);text-decoration:none;background:var(--glass-bg-medium)}.bl-nav-link:focus{outline:1px solid var(--color-border-focus);outline-offset:-2px}.bl-nav-link.bl-active{color:var(--color-text);font-weight:var(--font-weight-semibold);background:var(--glass-bg-heavy);border-bottom:2px solid var(--color-accent)}.bl-nav-link.bl-disabled{color:var(--color-text-muted);pointer-events:none;cursor:default}.bl-nav-horizontal{flex-direction:row}.bl-nav-horizontal .bl-nav-item{margin-right:var(--spacing-xs)}.bl-nav-vertical{flex-direction:column}.bl-nav-vertical .bl-nav-item{margin-bottom:var(--spacing-xs)}.bl-nav-tabs{border-bottom:1px solid var(--glass-border-light);background:rgba(0,0,0,0);padding:0}.bl-nav-tabs .bl-nav-link{margin-bottom:-1px;border:1px solid rgba(0,0,0,0);border-top-left-radius:var(--tech-border-radius-sm);border-top-right-radius:var(--tech-border-radius-sm);background:rgba(0,0,0,0)}.bl-nav-tabs .bl-nav-link:hover{border-color:var(--glass-border-medium);background:var(--glass-bg-light);isolation:isolate}.bl-nav-tabs .bl-nav-link.bl-active{color:var(--color-text);background:var(--glass-bg-medium);border-color:var(--glass-border-medium) var(--glass-border-medium) rgba(0,0,0,0);border-bottom:2px solid var(--color-accent)}.bl-nav-pills .bl-nav-link{border-radius:var(--tech-border-radius-sm)}.bl-nav-pills .bl-nav-link.bl-active{color:var(--color-text);background:var(--glass-bg-heavy);border-bottom:2px solid var(--color-accent)}.bl-breadcrumb{display:flex;flex-wrap:wrap;padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-md);list-style:none}.bl-breadcrumb-item{display:flex;align-items:center}.bl-breadcrumb-item+.bl-breadcrumb-item{padding-left:var(--spacing-sm)}.bl-breadcrumb-item+.bl-breadcrumb-item::before{display:inline-block;padding-right:var(--spacing-sm);color:var(--color-text-muted);content:"/"}.bl-breadcrumb-item.bl-active{color:var(--color-text-muted)}.bl-pagination{display:flex;padding-left:0;list-style:none}.bl-page-item{display:list-item}.bl-page-item:first-child .bl-page-link{margin-left:0;border-top-left-radius:var(--tech-border-radius-sm);border-bottom-left-radius:var(--tech-border-radius-sm)}.bl-page-item:last-child .bl-page-link{border-top-right-radius:var(--tech-border-radius-sm);border-bottom-right-radius:var(--tech-border-radius-sm)}.bl-page-item.bl-active .bl-page-link{z-index:1;color:var(--color-text);background:var(--glass-bg-heavy);border-color:var(--glass-border-heavy)}.bl-page-item.bl-disabled .bl-page-link{color:var(--color-text-muted);pointer-events:none;cursor:auto;background:var(--glass-bg-dark);border-color:var(--glass-border-light)}.bl-page-link{position:relative;display:block;padding:var(--spacing-sm) var(--spacing-md);margin-left:-1px;line-height:var(--line-height-base);color:var(--color-text);text-decoration:none;background:var(--glass-bg-light);border:1px solid var(--glass-border-medium);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));transition:var(--transition-base)}.bl-page-link:hover{z-index:2;color:var(--color-text);text-decoration:none;background:var(--glass-bg-medium);border-color:var(--glass-border-heavy)}.bl-page-link:focus{z-index:2;outline:1px solid var(--color-border-focus);outline-offset:-2px}.bl-table{width:100%;margin-bottom:var(--spacing-md);color:var(--color-text);vertical-align:top;border-color:var(--glass-border-medium);background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-md);overflow:hidden}.bl-table>:not(caption)>*>*{padding:var(--spacing-sm) var(--spacing-md);background-color:rgba(0,0,0,0);border-bottom-width:1px;border-bottom-color:var(--glass-border-light);border-right-width:1px;border-right-color:var(--glass-border-light);box-shadow:inset 0 0 0 9999px rgba(0,0,0,0)}.bl-table>:not(caption)>*>*:last-child{border-right-width:0}.bl-table>tbody{vertical-align:inherit}.bl-table>thead{vertical-align:bottom}.bl-table>:not(:first-child){border-top:1px solid var(--glass-border-light)}.bl-table-caption{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm);color:var(--color-text-muted);text-align:left;caption-side:bottom}.bl-table-head{font-weight:var(--font-weight-semibold);color:var(--color-text);text-align:inherit;text-align:-webkit-match-parent;background:var(--glass-bg-etched);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm))}.bl-table-striped>tbody>tr:nth-of-type(odd)>*{--bl-table-accent-bg: var(--glass-bg-light);color:var(--color-text);box-shadow:inset 0 0 0 9999px var(--bl-table-accent-bg)}.bl-table-bordered{border:1px solid var(--glass-border-medium)}.bl-table-bordered>:not(caption)>*{border-width:1px 0}.bl-table-bordered>:not(caption)>*>*{border-width:0 1px;border-color:var(--glass-border-light)}.bl-table-borderless>:not(caption)>*>*{border-bottom-width:0;border-right-width:0}.bl-table-borderless>:not(:first-child){border-top-width:0}.bl-table-hover>tbody>tr:hover>*{--bl-table-accent-bg: var(--glass-bg-heavy);color:var(--color-text);box-shadow:inset 0 0 0 9999px var(--bl-table-accent-bg);transition:var(--transition-base)}.bl-table-sm>:not(caption)>*>*{padding:var(--spacing-xs) var(--spacing-sm)}.bl-table-lg>:not(caption)>*>*{padding:var(--spacing-md) var(--spacing-lg)}.bl-table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.bl-table-responsive>.bl-table{margin-bottom:0}@media(max-width: 575.98px){.bl-table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.bl-table-responsive-sm>.bl-table{margin-bottom:0}}@media(max-width: 767.98px){.bl-table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.bl-table-responsive-md>.bl-table{margin-bottom:0}}@media(max-width: 1023.98px){.bl-table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.bl-table-responsive-lg>.bl-table{margin-bottom:0}}@media(max-width: 1279.98px){.bl-table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.bl-table-responsive-xl>.bl-table{margin-bottom:0}}.bl-tooltip{position:relative;display:inline-block}.bl-tooltip-trigger{cursor:help}.bl-tooltip-content{position:absolute;z-index:var(--z-index-tooltip);display:none;max-width:200px;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-family:var(--font-family-mono);line-height:var(--line-height-base);color:var(--color-text);text-align:center;text-decoration:none;word-wrap:break-word;background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-sm);opacity:0;transition:var(--transition-opacity)}.bl-tooltip-content.bl-show{display:block;opacity:1}.bl-tooltip-top .bl-tooltip-content{bottom:100%;left:50%;margin-bottom:var(--spacing-xs);transform:translateX(-50%)}.bl-tooltip-top .bl-tooltip-content::after{position:absolute;top:100%;left:50%;width:0;height:0;margin-left:-6px;content:"";border-width:6px 6px 0 6px;border-style:solid;border-color:var(--glass-bg-medium) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);clip-path:polygon(0 0, 100% 0, 80% 100%, 20% 100%)}.bl-tooltip-bottom .bl-tooltip-content{top:100%;left:50%;margin-top:var(--spacing-xs);transform:translateX(-50%)}.bl-tooltip-bottom .bl-tooltip-content::after{position:absolute;bottom:100%;left:50%;width:0;height:0;margin-left:-6px;content:"";border-width:0 6px 6px 6px;border-style:solid;border-color:rgba(0,0,0,0) rgba(0,0,0,0) var(--glass-bg-medium) rgba(0,0,0,0);clip-path:polygon(20% 0, 80% 0, 100% 100%, 0 100%)}.bl-tooltip-left .bl-tooltip-content{top:50%;right:100%;margin-right:var(--spacing-xs);transform:translateY(-50%)}.bl-tooltip-left .bl-tooltip-content::after{position:absolute;top:50%;left:100%;width:0;height:0;margin-top:-6px;content:"";border-width:6px 0 6px 6px;border-style:solid;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) var(--glass-bg-medium);clip-path:polygon(0 20%, 0 80%, 100% 100%, 100% 0)}.bl-tooltip-right .bl-tooltip-content{top:50%;left:100%;margin-left:var(--spacing-xs);transform:translateY(-50%)}.bl-tooltip-right .bl-tooltip-content::after{position:absolute;top:50%;right:100%;width:0;height:0;margin-top:-6px;content:"";border-width:6px 6px 6px 0;border-style:solid;border-color:rgba(0,0,0,0) var(--glass-bg-medium) rgba(0,0,0,0) rgba(0,0,0,0);clip-path:polygon(0 0, 0 100%, 100% 80%, 100% 20%)}.bl-progress{display:flex;height:1rem;overflow:hidden;background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-sm)}.bl-progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--color-text-inverse);text-align:center;white-space:nowrap;background:var(--color-accent);transition:width var(--transition-duration-slow) var(--transition-ease-linear)}.bl-progress-bar-primary{background:var(--color-accent)}.bl-progress-bar-secondary{background:var(--glass-bg-heavy)}.bl-progress-bar-success{background:var(--color-success)}.bl-progress-bar-warning{background:var(--color-warning)}.bl-progress-bar-error{background:var(--color-error)}.bl-progress-bar-info{background:var(--color-info)}.bl-progress-sm{height:.5rem}.bl-progress-lg{height:1.5rem}.bl-spinner{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:var(--border-width-base) solid var(--glass-border-medium);border-top-color:var(--color-accent);border-radius:var(--tech-border-radius-sm);background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));animation:bl-spinner-rotate .75s linear infinite;position:relative}.bl-spinner::before{content:"";position:absolute;top:2px;left:2px;right:2px;bottom:2px;background:var(--color-accent);opacity:.3;border-radius:var(--tech-border-radius-sm);animation:bl-spinner-inner 1.5s linear infinite}@keyframes bl-spinner-rotate{to{transform:rotate(360deg)}}@keyframes bl-spinner-inner{0%{transform:rotate(0deg);opacity:.3}50%{opacity:.6}100%{transform:rotate(360deg);opacity:.3}}.bl-spinner-primary{border-top-color:var(--color-accent)}.bl-spinner-primary::before{background:var(--color-accent)}.bl-spinner-secondary{border-top-color:var(--color-secondary)}.bl-spinner-secondary::before{background:var(--color-secondary)}.bl-spinner-success{border-top-color:var(--color-success)}.bl-spinner-success::before{background:var(--color-success)}.bl-spinner-warning{border-top-color:var(--color-warning)}.bl-spinner-warning::before{background:var(--color-warning)}.bl-spinner-error{border-top-color:var(--color-error)}.bl-spinner-error::before{background:var(--color-error)}.bl-spinner-info{border-top-color:var(--color-info)}.bl-spinner-info::before{background:var(--color-info)}.bl-spinner-sm{width:1rem;height:1rem;border-width:var(--border-width-thin)}.bl-spinner-lg{width:3rem;height:3rem;border-width:var(--border-width-base)}.bl-spinner-xl{width:4rem;height:4rem;border-width:var(--border-width-base)}.bl-icon{display:inline-block;font-family:"Baseline Icons";font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle}.bl-icon-xs{font-size:.75rem;width:.75rem;height:.75rem}.bl-icon-sm{font-size:1rem;width:1rem;height:1rem}.bl-icon-md{font-size:1.25rem;width:1.25rem;height:1.25rem}.bl-icon-lg{font-size:1.5rem;width:1.5rem;height:1.5rem}.bl-icon-xl{font-size:2rem;width:2rem;height:2rem}.bl-icon-home::before{content:""}.bl-icon-user::before{content:""}.bl-icon-search::before{content:""}.bl-icon-menu::before{content:""}.bl-icon-close::before{content:""}.bl-icon-chevron-left::before{content:""}.bl-icon-chevron-right::before{content:""}.bl-icon-chevron-up::before{content:""}.bl-icon-chevron-down::before{content:""}.bl-icon-arrow-left::before{content:""}.bl-icon-arrow-right::before{content:""}.bl-icon-arrow-up::before{content:""}.bl-icon-arrow-down::before{content:""}.bl-icon-check::before{content:""}.bl-icon-cross::before{content:""}.bl-icon-plus::before{content:""}.bl-icon-minus::before{content:""}.bl-icon-info::before{content:""}.bl-icon-warning::before{content:""}.bl-icon-error::before{content:""}.bl-icon-success::before{content:""}.bl-icon-heart::before{content:""}.bl-icon-star::before{content:""}.bl-icon-bookmark::before{content:""}.bl-icon-share::before{content:""}.bl-icon-download::before{content:""}.bl-icon-upload::before{content:""}.bl-icon-edit::before{content:""}.bl-icon-delete::before{content:""}.bl-icon-settings::before{content:""}.bl-icon-bell::before{content:""}.bl-icon-mail::before{content:""}.bl-icon-phone::before{content:""}.bl-icon-calendar::before{content:""}.bl-icon-clock::before{content:""}.bl-icon-image::before{content:""}.bl-icon-video::before{content:""}.bl-icon-file::before{content:""}.bl-icon-folder::before{content:""}.bl-icon-lock::before{content:""}.bl-icon-unlock::before{content:""}.bl-icon-eye::before{content:""}.bl-icon-eye-off::before{content:""}.bl-icon-filter::before{content:""}.bl-icon-sort::before{content:""}.bl-icon-grid::before{content:""}.bl-icon-list::before{content:""}.bl-icon-refresh::before{content:""}.bl-icon-loading::before{content:""}.bl-icon-play::before{content:""}.bl-icon-pause::before{content:""}.bl-icon-stop::before{content:""}.bl-icon-next::before{content:""}.bl-icon-prev::before{content:""}.bl-icon-volume::before{content:""}.bl-icon-volume-off::before{content:""}.bl-icon-fullscreen::before{content:""}.bl-icon-fullscreen-exit::before{content:""}.bl-icon-link::before{content:""}.bl-icon-external::before{content:""}.bl-icon-copy::before{content:""}.bl-icon-cut::before{content:""}.bl-icon-paste::before{content:""}.bl-icon-undo::before{content:""}.bl-icon-redo::before{content:""}.bl-icon-save::before{content:""}.bl-icon-print::before{content:""}.bl-icon-zoom-in::before{content:""}.bl-icon-zoom-out::before{content:""}.bl-icon-maximize::before{content:""}.bl-icon-minimize::before{content:""}.bl-btn .bl-icon{margin-right:var(--spacing-xs)}.bl-btn .bl-icon:last-child{margin-right:0;margin-left:var(--spacing-xs)}.bl-btn .bl-icon:only-child{margin:0}@media(prefers-color-scheme: dark){:root{--color-gray-50: #030712;--color-gray-100: #111827;--color-gray-200: #1f2937;--color-gray-300: #374151;--color-gray-400: #4b5563;--color-gray-500: #6b7280;--color-gray-600: #9ca3af;--color-gray-700: #d1d5db;--color-gray-800: #e5e7eb;--color-gray-900: #f3f4f6;--color-gray-950: #f9fafb;--color-primary: #f3f4f6;--color-primary-light: #e5e7eb;--color-primary-dark: #d1d5db;--color-secondary: #9ca3af;--color-secondary-light: #d1d5db;--color-secondary-dark: #6b7280;--color-success: #34d399;--color-success-light: #6ee7b7;--color-success-dark: #10b981;--color-warning: #fbbf24;--color-warning-light: #fcd34d;--color-warning-dark: #f59e0b;--color-error: #f87171;--color-error-light: #fca5a5;--color-error-dark: #ef4444;--color-info: #60a5fa;--color-info-light: #93c5fd;--color-info-dark: #3b82f6;--color-text: #f3f4f6;--color-text-muted: #9ca3af;--color-text-light: #6b7280;--color-text-inverse: #111827;--color-bg: #111827;--color-bg-alt: #1f2937;--color-bg-overlay: rgba(0, 0, 0, 0.7);--color-border: #374151;--color-border-light: #1f2937;--color-border-dark: #4b5563;--color-border-focus: #60a5fa}}.bl-theme-dark,[data-theme=dark]{--color-gray-50: #030712;--color-gray-100: #111827;--color-gray-200: #1f2937;--color-gray-300: #374151;--color-gray-400: #4b5563;--color-gray-500: #6b7280;--color-gray-600: #9ca3af;--color-gray-700: #d1d5db;--color-gray-800: #e5e7eb;--color-gray-900: #f3f4f6;--color-gray-950: #f9fafb;--color-primary: #f3f4f6;--color-primary-light: #e5e7eb;--color-primary-dark: #d1d5db;--color-secondary: #9ca3af;--color-secondary-light: #d1d5db;--color-secondary-dark: #6b7280;--color-success: #34d399;--color-success-light: #6ee7b7;--color-success-dark: #10b981;--color-warning: #fbbf24;--color-warning-light: #fcd34d;--color-warning-dark: #f59e0b;--color-error: #f87171;--color-error-light: #fca5a5;--color-error-dark: #ef4444;--color-info: #60a5fa;--color-info-light: #93c5fd;--color-info-dark: #3b82f6;--color-text: #f3f4f6;--color-text-muted: #9ca3af;--color-text-light: #6b7280;--color-text-inverse: #111827;--color-bg: #111827;--color-bg-alt: #1f2937;--color-bg-overlay: rgba(0, 0, 0, 0.7);--color-border: #374151;--color-border-light: #1f2937;--color-border-dark: #4b5563;--color-border-focus: #60a5fa}
|
|
1
|
+
:root{--color-base: #1A1A1A;--color-base-light: #2A2A2A;--color-base-dark: #0F0F0F;--color-accent: #4A9EFF;--color-accent-light: #6BB0FF;--color-accent-dark: #3A8EEF;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-gray-950: #030712;--color-primary: #4A9EFF;--color-primary-light: #6BB0FF;--color-primary-dark: #3A8EEF;--color-secondary: #4b5563;--color-secondary-light: #6b7280;--color-secondary-dark: #374151;--color-success: #10b981;--color-success-light: #34d399;--color-success-dark: #059669;--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-warning-dark: #d97706;--color-error: #ef4444;--color-error-light: #f87171;--color-error-dark: #dc2626;--color-info: #4A9EFF;--color-info-light: #6BB0FF;--color-info-dark: #3A8EEF;--color-text: #ffffff;--color-text-muted: rgba(255, 255, 255, 0.7);--color-text-light: rgba(255, 255, 255, 0.5);--color-text-inverse: #1A1A1A;--color-bg: #1A1A1A;--color-bg-alt: #2A2A2A;--color-bg-overlay: rgba(0, 0, 0, 0.3);--color-border: rgba(255, 255, 255, 0.15);--color-border-light: rgba(255, 255, 255, 0.1);--color-border-dark: rgba(255, 255, 255, 0.2);--color-border-focus: #4A9EFF}:root{--spacing-xs: 0.25rem;--spacing-sm: 0.5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 6rem;--spacing-5xl: 8rem}:root{--font-family-base: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;--font-family-mono: SF Mono, Monaco, Cascadia Code, Roboto Mono, Consolas, Liberation Mono, Courier New, monospace;--font-family-serif: Georgia, Times New Roman, Times, serif;--font-size-xs: 0.75rem;--font-size-sm: 0.875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-base: 1.5;--line-height-relaxed: 1.75;--line-height-loose: 2;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--letter-spacing-tighter: -0.05em;--letter-spacing-tight: -0.025em;--letter-spacing-normal: 0;--letter-spacing-wide: 0.025em;--letter-spacing-wider: 0.05em;--letter-spacing-widest: 0.1em}:root{--border-width-none: 0;--border-width-thin: 1px;--border-width-base: 2px;--border-width-thick: 4px;--border-radius-none: 0;--border-radius-sm: 2px;--border-radius-md: 4px;--border-radius-lg: 4px;--border-radius-xl: 4px;--border-radius-2xl: 4px;--border-radius-full: 9999px}:root{--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);--shadow-none: none}:root{--z-index-base: 0;--z-index-dropdown: 9999;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070}:root{--transition-duration-fast: 100ms;--transition-duration-base: 150ms;--transition-duration-slow: 200ms;--transition-duration-slower: 300ms;--transition-ease-linear: linear;--transition-ease-in: linear;--transition-ease-out: linear;--transition-ease-in-out: linear;--transition-base: all 150ms linear;--transition-colors: color 150ms linear, background-color 150ms linear, border-color 150ms linear;--transition-opacity: opacity 150ms linear;--transition-transform: transform 150ms linear}:root{--form-input-padding-x: 1rem;--form-input-padding-y: 0.5rem;--form-input-padding-x-sm: 0.5rem;--form-input-padding-y-sm: 0.25rem;--form-input-padding-x-lg: 1.5rem;--form-input-padding-y-lg: 1rem;--form-input-border-width: 1px;--form-input-border-radius: 4px;--form-input-font-size: 1rem;--form-input-font-size-sm: 0.875rem;--form-input-font-size-lg: 1.125rem;--form-input-line-height: 1.5;--form-input-bg: #1A1A1A;--form-input-bg-disabled: #2A2A2A;--form-input-color: #ffffff;--form-input-border: rgba(255, 255, 255, 0.15);--form-input-border-focus: #4A9EFF;--form-input-placeholder-color: rgba(255, 255, 255, 0.7);--form-input-focus-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);--form-input-focus-shadow-error: 0 0 0 3px rgba(239, 68, 68, 0.1);--form-input-focus-shadow-success: 0 0 0 3px rgba(16, 185, 129, 0.1);--form-input-opacity-disabled: 0.6;--form-label-font-size: 0.875rem;--form-label-font-weight: 500;--form-label-color: #ffffff;--form-label-margin-bottom: 0.25rem;--form-helper-font-size: 0.75rem;--form-helper-color: rgba(255, 255, 255, 0.7);--form-error-color: #ef4444;--form-error-font-size: 0.75rem;--form-helper-margin-top: 0.25rem;--form-group-margin-bottom: 1rem;--form-checkbox-size: 1.25rem;--form-checkbox-margin-right: 0.5rem;--form-checkbox-accent-color: #4A9EFF;--form-checkbox-opacity-disabled: 0.6;--form-switch-width: 3rem;--form-switch-height: 1.5rem;--form-switch-slider-size: 1.25rem;--form-switch-slider-offset: 0.125rem;--form-switch-slider-translate: 1.5rem;--form-switch-bg: #d1d5db;--form-switch-bg-active: #4A9EFF;--form-switch-slider-bg: #ffffff;--form-switch-focus-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);--form-switch-opacity-disabled: 0.6;--form-textarea-min-height: 100px;--form-textarea-resize: vertical;--form-range-height: 0.5rem;--form-range-thumb-size: 1.25rem;--form-range-bg: #e5e7eb;--form-range-thumb-bg: #4A9EFF;--form-file-input-padding: 0.5rem;--form-file-input-font-size: 0.875rem;--form-file-input-border-style: dashed;--form-file-input-bg: #2A2A2A;--form-file-input-bg-hover: #1A1A1A}:root{--glass-bg-light: rgba(255, 255, 255, 0.05);--glass-bg-medium: rgba(255, 255, 255, 0.08);--glass-bg-heavy: rgba(255, 255, 255, 0.12);--glass-bg-etched: rgba(255, 255, 255, 0.15);--glass-blur-sm: 2px;--glass-blur-md: 4px;--glass-blur-lg: 6px;--glass-blur-xl: 8px;--glass-border-light: rgba(255, 255, 255, 0.1);--glass-border-medium: rgba(255, 255, 255, 0.15);--glass-border-heavy: rgba(255, 255, 255, 0.2);--glass-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.1);--glass-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.15);--glass-shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.2);--tech-border-radius-none: 0;--tech-border-radius-sm: 2px;--tech-border-radius-md: 4px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none;max-width:100%;height:auto;display:block}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{font-size:16px}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0;line-height:var(--line-height-base);color:var(--color-text)}a{color:var(--color-accent);text-decoration:none;transition:var(--transition-colors)}a:hover{color:var(--color-accent-light)}a:focus{outline:1px solid var(--color-border-focus);outline-offset:2px}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%;height:auto;display:block}hr{border:0;border-top:1px solid var(--color-border);margin:var(--spacing-lg) 0}code{font-family:var(--font-family-mono);font-size:.875em;background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border-light);padding:.125em .25em;border-radius:var(--tech-border-radius-sm);color:var(--color-text)}pre{font-family:var(--font-family-mono);font-size:var(--font-size-sm);background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));border:1px solid var(--glass-border-medium);padding:var(--spacing-md);border-radius:var(--tech-border-radius-md);overflow-x:auto;color:var(--color-text)}pre code{background-color:rgba(0,0,0,0);padding:0;border:none}blockquote{margin:0;padding-left:var(--spacing-lg);border-left:var(--border-width-base) solid var(--color-border);color:var(--color-text-muted);background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));padding:var(--spacing-md);border-radius:var(--tech-border-radius-md)}table{width:100%;border-collapse:collapse}button{background:none;border:none;padding:0;font:inherit;cursor:pointer;color:inherit}input,select,textarea{font:inherit;color:inherit}*:focus{outline:1px solid var(--color-border-focus);outline-offset:2px}*:focus:not(:focus-visible){outline:none}*:focus-visible{outline:1px solid var(--color-border-focus);outline-offset:2px}.bl-container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}@media(min-width: 640px){.bl-container{max-width:640px}}@media(min-width: 768px){.bl-container{max-width:768px}}@media(min-width: 1024px){.bl-container{max-width:1024px}}@media(min-width: 1280px){.bl-container{max-width:1280px}}@media(min-width: 1536px){.bl-container{max-width:1536px}}.bl-container-fluid{width:100%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-row{display:flex;flex-wrap:wrap;margin-left:calc(var(--spacing-md)*-1);margin-right:calc(var(--spacing-md)*-1)}.bl-col{flex:1 0 0%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-1{flex:0 0 auto;width:8.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2{flex:0 0 auto;width:16.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-3{flex:0 0 auto;width:25%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-4{flex:0 0 auto;width:33.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-5{flex:0 0 auto;width:41.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-6{flex:0 0 auto;width:50%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-7{flex:0 0 auto;width:58.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-8{flex:0 0 auto;width:66.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-9{flex:0 0 auto;width:75%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-10{flex:0 0 auto;width:83.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-11{flex:0 0 auto;width:91.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-12{flex:0 0 auto;width:100%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}@media(min-width: 640px){.bl-col-sm{flex:1 0 0%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-1{flex:0 0 auto;width:8.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-2{flex:0 0 auto;width:16.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-3{flex:0 0 auto;width:25%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-4{flex:0 0 auto;width:33.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-5{flex:0 0 auto;width:41.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-6{flex:0 0 auto;width:50%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-7{flex:0 0 auto;width:58.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-8{flex:0 0 auto;width:66.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-9{flex:0 0 auto;width:75%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-10{flex:0 0 auto;width:83.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-11{flex:0 0 auto;width:91.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-sm-12{flex:0 0 auto;width:100%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}@media(min-width: 768px){.bl-col-md{flex:1 0 0%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-1{flex:0 0 auto;width:8.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-2{flex:0 0 auto;width:16.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-3{flex:0 0 auto;width:25%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-4{flex:0 0 auto;width:33.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-5{flex:0 0 auto;width:41.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-6{flex:0 0 auto;width:50%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-7{flex:0 0 auto;width:58.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-8{flex:0 0 auto;width:66.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-9{flex:0 0 auto;width:75%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-10{flex:0 0 auto;width:83.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-11{flex:0 0 auto;width:91.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-md-12{flex:0 0 auto;width:100%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}@media(min-width: 1024px){.bl-col-lg{flex:1 0 0%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-1{flex:0 0 auto;width:8.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-2{flex:0 0 auto;width:16.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-3{flex:0 0 auto;width:25%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-4{flex:0 0 auto;width:33.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-5{flex:0 0 auto;width:41.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-6{flex:0 0 auto;width:50%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-7{flex:0 0 auto;width:58.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-8{flex:0 0 auto;width:66.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-9{flex:0 0 auto;width:75%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-10{flex:0 0 auto;width:83.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-11{flex:0 0 auto;width:91.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-lg-12{flex:0 0 auto;width:100%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}@media(min-width: 1280px){.bl-col-xl{flex:1 0 0%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-1{flex:0 0 auto;width:8.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-2{flex:0 0 auto;width:16.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-3{flex:0 0 auto;width:25%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-4{flex:0 0 auto;width:33.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-5{flex:0 0 auto;width:41.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-6{flex:0 0 auto;width:50%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-7{flex:0 0 auto;width:58.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-8{flex:0 0 auto;width:66.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-9{flex:0 0 auto;width:75%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-10{flex:0 0 auto;width:83.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-11{flex:0 0 auto;width:91.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-xl-12{flex:0 0 auto;width:100%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}@media(min-width: 1536px){.bl-col-2xl{flex:1 0 0%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-1{flex:0 0 auto;width:8.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-2{flex:0 0 auto;width:16.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-3{flex:0 0 auto;width:25%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-4{flex:0 0 auto;width:33.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-5{flex:0 0 auto;width:41.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-6{flex:0 0 auto;width:50%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-7{flex:0 0 auto;width:58.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-8{flex:0 0 auto;width:66.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-9{flex:0 0 auto;width:75%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-10{flex:0 0 auto;width:83.3333333333%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-11{flex:0 0 auto;width:91.6666666667%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.bl-col-2xl-12{flex:0 0 auto;width:100%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}.bl-grid{display:grid;gap:var(--spacing-md)}.bl-grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.bl-grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.bl-grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.bl-grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.bl-grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.bl-grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.bl-grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.bl-grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr))}.bl-grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr))}.bl-grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr))}.bl-grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.bl-grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}.bl-grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr))}.bl-grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr))}.bl-grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr))}.bl-grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr))}.bl-grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr))}.bl-grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr))}.bl-grid-rows-7{grid-template-rows:repeat(7, minmax(0, 1fr))}.bl-grid-rows-8{grid-template-rows:repeat(8, minmax(0, 1fr))}.bl-grid-rows-9{grid-template-rows:repeat(9, minmax(0, 1fr))}.bl-grid-rows-10{grid-template-rows:repeat(10, minmax(0, 1fr))}.bl-grid-rows-11{grid-template-rows:repeat(11, minmax(0, 1fr))}.bl-grid-rows-12{grid-template-rows:repeat(12, minmax(0, 1fr))}.bl-gap-xs{gap:var(--spacing-xs)}.bl-gap-sm{gap:var(--spacing-sm)}.bl-gap-md{gap:var(--spacing-md)}.bl-gap-lg{gap:var(--spacing-lg)}.bl-gap-xl{gap:var(--spacing-xl)}.bl-gap-2xl{gap:var(--spacing-2xl)}.bl-gap-x-xs{column-gap:var(--spacing-xs)}.bl-gap-x-sm{column-gap:var(--spacing-sm)}.bl-gap-x-md{column-gap:var(--spacing-md)}.bl-gap-x-lg{column-gap:var(--spacing-lg)}.bl-gap-x-xl{column-gap:var(--spacing-xl)}.bl-gap-x-2xl{column-gap:var(--spacing-2xl)}.bl-gap-y-xs{row-gap:var(--spacing-xs)}.bl-gap-y-sm{row-gap:var(--spacing-sm)}.bl-gap-y-md{row-gap:var(--spacing-md)}.bl-gap-y-lg{row-gap:var(--spacing-lg)}.bl-gap-y-xl{row-gap:var(--spacing-xl)}.bl-gap-y-2xl{row-gap:var(--spacing-2xl)}.bl-col-span-1{grid-column:span 1/span 1}.bl-col-span-2{grid-column:span 2/span 2}.bl-col-span-3{grid-column:span 3/span 3}.bl-col-span-4{grid-column:span 4/span 4}.bl-col-span-5{grid-column:span 5/span 5}.bl-col-span-6{grid-column:span 6/span 6}.bl-col-span-7{grid-column:span 7/span 7}.bl-col-span-8{grid-column:span 8/span 8}.bl-col-span-9{grid-column:span 9/span 9}.bl-col-span-10{grid-column:span 10/span 10}.bl-col-span-11{grid-column:span 11/span 11}.bl-col-span-12{grid-column:span 12/span 12}.bl-row-span-1{grid-row:span 1/span 1}.bl-row-span-2{grid-row:span 2/span 2}.bl-row-span-3{grid-row:span 3/span 3}.bl-row-span-4{grid-row:span 4/span 4}.bl-row-span-5{grid-row:span 5/span 5}.bl-row-span-6{grid-row:span 6/span 6}.bl-row-span-7{grid-row:span 7/span 7}.bl-row-span-8{grid-row:span 8/span 8}.bl-row-span-9{grid-row:span 9/span 9}.bl-row-span-10{grid-row:span 10/span 10}.bl-row-span-11{grid-row:span 11/span 11}.bl-row-span-12{grid-row:span 12/span 12}.bl-grid-flow-row{grid-auto-flow:row}.bl-grid-flow-col{grid-auto-flow:column}.bl-grid-flow-dense{grid-auto-flow:dense}.bl-flex{display:flex}.bl-inline-flex{display:inline-flex}.bl-flex-row{flex-direction:row}.bl-flex-row-reverse{flex-direction:row-reverse}.bl-flex-col{flex-direction:column}.bl-flex-col-reverse{flex-direction:column-reverse}.bl-flex-wrap{flex-wrap:wrap}.bl-flex-nowrap{flex-wrap:nowrap}.bl-flex-wrap-reverse{flex-wrap:wrap-reverse}.bl-justify-start{justify-content:flex-start}.bl-justify-end{justify-content:flex-end}.bl-justify-center{justify-content:center}.bl-justify-between{justify-content:space-between}.bl-justify-around{justify-content:space-around}.bl-justify-evenly{justify-content:space-evenly}.bl-items-start{align-items:flex-start}.bl-items-end{align-items:flex-end}.bl-items-center{align-items:center}.bl-items-baseline{align-items:baseline}.bl-items-stretch{align-items:stretch}.bl-self-auto{align-self:auto}.bl-self-start{align-self:flex-start}.bl-self-end{align-self:flex-end}.bl-self-center{align-self:center}.bl-self-stretch{align-self:stretch}.bl-self-baseline{align-self:baseline}.bl-content-start{align-content:flex-start}.bl-content-end{align-content:flex-end}.bl-content-center{align-content:center}.bl-content-between{align-content:space-between}.bl-content-around{align-content:space-around}.bl-content-stretch{align-content:stretch}.bl-flex-1{flex:1 1 0%}.bl-flex-auto{flex:1 1 auto}.bl-flex-initial{flex:0 1 auto}.bl-flex-none{flex:none}.bl-grow{flex-grow:1}.bl-grow-0{flex-grow:0}.bl-shrink{flex-shrink:1}.bl-shrink-0{flex-shrink:0}.m-xs{margin:var(--spacing-xs)}.mt-xs{margin-top:var(--spacing-xs)}.mr-xs{margin-right:var(--spacing-xs)}.mb-xs{margin-bottom:var(--spacing-xs)}.ml-xs{margin-left:var(--spacing-xs)}.mx-xs{margin-left:var(--spacing-xs);margin-right:var(--spacing-xs)}.my-xs{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.mt-sm{margin-top:var(--spacing-sm)}.mr-sm{margin-right:var(--spacing-sm)}.mb-sm{margin-bottom:var(--spacing-sm)}.ml-sm{margin-left:var(--spacing-sm)}.mx-sm{margin-left:var(--spacing-sm);margin-right:var(--spacing-sm)}.my-sm{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.mt-md{margin-top:var(--spacing-md)}.mr-md{margin-right:var(--spacing-md)}.mb-md{margin-bottom:var(--spacing-md)}.ml-md{margin-left:var(--spacing-md)}.mx-md{margin-left:var(--spacing-md);margin-right:var(--spacing-md)}.my-md{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.mt-lg{margin-top:var(--spacing-lg)}.mr-lg{margin-right:var(--spacing-lg)}.mb-lg{margin-bottom:var(--spacing-lg)}.ml-lg{margin-left:var(--spacing-lg)}.mx-lg{margin-left:var(--spacing-lg);margin-right:var(--spacing-lg)}.my-lg{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.mt-xl{margin-top:var(--spacing-xl)}.mr-xl{margin-right:var(--spacing-xl)}.mb-xl{margin-bottom:var(--spacing-xl)}.ml-xl{margin-left:var(--spacing-xl)}.mx-xl{margin-left:var(--spacing-xl);margin-right:var(--spacing-xl)}.my-xl{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.m-2xl{margin:var(--spacing-2xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.mr-2xl{margin-right:var(--spacing-2xl)}.mb-2xl{margin-bottom:var(--spacing-2xl)}.ml-2xl{margin-left:var(--spacing-2xl)}.mx-2xl{margin-left:var(--spacing-2xl);margin-right:var(--spacing-2xl)}.my-2xl{margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-2xl)}.m-3xl{margin:var(--spacing-3xl)}.mt-3xl{margin-top:var(--spacing-3xl)}.mr-3xl{margin-right:var(--spacing-3xl)}.mb-3xl{margin-bottom:var(--spacing-3xl)}.ml-3xl{margin-left:var(--spacing-3xl)}.mx-3xl{margin-left:var(--spacing-3xl);margin-right:var(--spacing-3xl)}.my-3xl{margin-top:var(--spacing-3xl);margin-bottom:var(--spacing-3xl)}.m-0{margin:0}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mx-0{margin-left:0;margin-right:0}.my-0{margin-top:0;margin-bottom:0}.m-auto{margin:auto}.mt-auto{margin-top:auto}.mr-auto{margin-right:auto}.mb-auto{margin-bottom:auto}.ml-auto{margin-left:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.p-xs{padding:var(--spacing-xs)}.pt-xs{padding-top:var(--spacing-xs)}.pr-xs{padding-right:var(--spacing-xs)}.pb-xs{padding-bottom:var(--spacing-xs)}.pl-xs{padding-left:var(--spacing-xs)}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.py-xs{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.pt-sm{padding-top:var(--spacing-sm)}.pr-sm{padding-right:var(--spacing-sm)}.pb-sm{padding-bottom:var(--spacing-sm)}.pl-sm{padding-left:var(--spacing-sm)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.pt-md{padding-top:var(--spacing-md)}.pr-md{padding-right:var(--spacing-md)}.pb-md{padding-bottom:var(--spacing-md)}.pl-md{padding-left:var(--spacing-md)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.pt-lg{padding-top:var(--spacing-lg)}.pr-lg{padding-right:var(--spacing-lg)}.pb-lg{padding-bottom:var(--spacing-lg)}.pl-lg{padding-left:var(--spacing-lg)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.pt-xl{padding-top:var(--spacing-xl)}.pr-xl{padding-right:var(--spacing-xl)}.pb-xl{padding-bottom:var(--spacing-xl)}.pl-xl{padding-left:var(--spacing-xl)}.px-xl{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.py-xl{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.p-2xl{padding:var(--spacing-2xl)}.pt-2xl{padding-top:var(--spacing-2xl)}.pr-2xl{padding-right:var(--spacing-2xl)}.pb-2xl{padding-bottom:var(--spacing-2xl)}.pl-2xl{padding-left:var(--spacing-2xl)}.px-2xl{padding-left:var(--spacing-2xl);padding-right:var(--spacing-2xl)}.py-2xl{padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl)}.p-3xl{padding:var(--spacing-3xl)}.pt-3xl{padding-top:var(--spacing-3xl)}.pr-3xl{padding-right:var(--spacing-3xl)}.pb-3xl{padding-bottom:var(--spacing-3xl)}.pl-3xl{padding-left:var(--spacing-3xl)}.px-3xl{padding-left:var(--spacing-3xl);padding-right:var(--spacing-3xl)}.py-3xl{padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-3xl)}.p-0{padding:0}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.px-0{padding-left:0;padding-right:0}.py-0{padding-top:0;padding-bottom:0}.bl-d-none{display:none}.bl-d-inline{display:inline}.bl-d-inline-block{display:inline-block}.bl-d-block{display:block}.bl-d-table{display:table}.bl-d-table-row{display:table-row}.bl-d-table-cell{display:table-cell}.bl-d-flex{display:flex}.bl-d-inline-flex{display:inline-flex}.bl-d-grid{display:grid}.bl-d-inline-grid{display:inline-grid}@media(min-width: 640px){.bl-d-sm-none{display:none}.bl-d-sm-inline{display:inline}.bl-d-sm-inline-block{display:inline-block}.bl-d-sm-block{display:block}.bl-d-sm-flex{display:flex}.bl-d-sm-inline-flex{display:inline-flex}.bl-d-sm-grid{display:grid}}@media(min-width: 768px){.bl-d-md-none{display:none}.bl-d-md-inline{display:inline}.bl-d-md-inline-block{display:inline-block}.bl-d-md-block{display:block}.bl-d-md-flex{display:flex}.bl-d-md-inline-flex{display:inline-flex}.bl-d-md-grid{display:grid}}@media(min-width: 1024px){.bl-d-lg-none{display:none}.bl-d-lg-inline{display:inline}.bl-d-lg-inline-block{display:inline-block}.bl-d-lg-block{display:block}.bl-d-lg-flex{display:flex}.bl-d-lg-inline-flex{display:inline-flex}.bl-d-lg-grid{display:grid}}@media(min-width: 1280px){.bl-d-xl-none{display:none}.bl-d-xl-inline{display:inline}.bl-d-xl-inline-block{display:inline-block}.bl-d-xl-block{display:block}.bl-d-xl-flex{display:flex}.bl-d-xl-inline-flex{display:inline-flex}.bl-d-xl-grid{display:grid}}.bl-text-left{text-align:left}.bl-text-center{text-align:center}.bl-text-right{text-align:right}.bl-text-justify{text-align:justify}.bl-text-xs{font-size:var(--font-size-xs)}.bl-text-sm{font-size:var(--font-size-sm)}.bl-text-base{font-size:var(--font-size-base)}.bl-text-lg{font-size:var(--font-size-lg)}.bl-text-xl{font-size:var(--font-size-xl)}.bl-text-2xl{font-size:var(--font-size-2xl)}.bl-text-3xl{font-size:var(--font-size-3xl)}.bl-text-4xl{font-size:var(--font-size-4xl)}.bl-text-5xl{font-size:var(--font-size-5xl)}.bl-text-6xl{font-size:var(--font-size-6xl)}.bl-font-light{font-weight:var(--font-weight-light)}.bl-font-normal{font-weight:var(--font-weight-normal)}.bl-font-medium{font-weight:var(--font-weight-medium)}.bl-font-semibold{font-weight:var(--font-weight-semibold)}.bl-font-bold{font-weight:var(--font-weight-bold)}.bl-font-extrabold{font-weight:var(--font-weight-extrabold)}.bl-leading-none{line-height:var(--line-height-none)}.bl-leading-tight{line-height:var(--line-height-tight)}.bl-leading-snug{line-height:var(--line-height-snug)}.bl-leading-base{line-height:var(--line-height-base)}.bl-leading-relaxed{line-height:var(--line-height-relaxed)}.bl-leading-loose{line-height:var(--line-height-loose)}.bl-uppercase{text-transform:uppercase}.bl-lowercase{text-transform:lowercase}.bl-capitalize{text-transform:capitalize}.bl-normal-case{text-transform:none}.bl-underline{text-decoration:underline}.bl-line-through{text-decoration:line-through}.bl-no-underline{text-decoration:none}.bl-tracking-tighter{letter-spacing:var(--letter-spacing-tighter)}.bl-tracking-tight{letter-spacing:var(--letter-spacing-tight)}.bl-tracking-normal{letter-spacing:var(--letter-spacing-normal)}.bl-tracking-wide{letter-spacing:var(--letter-spacing-wide)}.bl-tracking-wider{letter-spacing:var(--letter-spacing-wider)}.bl-tracking-widest{letter-spacing:var(--letter-spacing-widest)}.bl-text-primary{color:var(--color-primary)}.bl-text-secondary{color:var(--color-secondary)}.bl-text-success{color:var(--color-success)}.bl-text-warning{color:var(--color-warning)}.bl-text-error{color:var(--color-error)}.bl-text-info{color:var(--color-info)}.bl-text-muted{color:var(--color-text-muted)}.bl-text-light{color:var(--color-text-light)}.bl-text-inverse{color:var(--color-text-inverse)}.bl-font-sans{font-family:var(--font-family-base)}.bl-font-mono{font-family:var(--font-family-mono)}.bl-font-serif{font-family:var(--font-family-serif)}.bl-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bl-text-ellipsis{text-overflow:ellipsis}.bl-text-clip{text-overflow:clip}.bl-whitespace-normal{white-space:normal}.bl-whitespace-nowrap{white-space:nowrap}.bl-whitespace-pre{white-space:pre}.bl-whitespace-pre-line{white-space:pre-line}.bl-whitespace-pre-wrap{white-space:pre-wrap}.bl-visible{visibility:visible}.bl-invisible{visibility:hidden}.bl-opacity-0{opacity:0}.bl-opacity-25{opacity:.25}.bl-opacity-50{opacity:.5}.bl-opacity-75{opacity:.75}.bl-opacity-100{opacity:1}.bl-overflow-auto{overflow:auto}.bl-overflow-hidden{overflow:hidden}.bl-overflow-visible{overflow:visible}.bl-overflow-scroll{overflow:scroll}.bl-overflow-x-auto{overflow-x:auto}.bl-overflow-x-hidden{overflow-x:hidden}.bl-overflow-x-scroll{overflow-x:scroll}.bl-overflow-y-auto{overflow-y:auto}.bl-overflow-y-hidden{overflow-y:hidden}.bl-overflow-y-scroll{overflow-y:scroll}.bl-static{position:static}.bl-fixed{position:fixed}.bl-absolute{position:absolute}.bl-relative{position:relative}.bl-sticky{position:sticky}.bl-top-0{top:0}.bl-right-0{right:0}.bl-bottom-0{bottom:0}.bl-left-0{left:0}.bl-top-auto{top:auto}.bl-right-auto{right:auto}.bl-bottom-auto{bottom:auto}.bl-left-auto{left:auto}.bl-inset-0{top:0;right:0;bottom:0;left:0}.bl-inset-auto{top:auto;right:auto;bottom:auto;left:auto}.bl-z-0{z-index:var(--z-index-base)}.bl-z-dropdown{z-index:var(--z-index-dropdown)}.bl-z-sticky{z-index:var(--z-index-sticky)}.bl-z-fixed{z-index:var(--z-index-fixed)}.bl-z-modal-backdrop{z-index:var(--z-index-modal-backdrop)}.bl-z-modal{z-index:var(--z-index-modal)}.bl-z-popover{z-index:var(--z-index-popover)}.bl-z-tooltip{z-index:var(--z-index-tooltip)}.bl-transition{transition:var(--transition-base)}.bl-transition-colors{transition:var(--transition-colors)}.bl-transition-opacity{transition:var(--transition-opacity)}.bl-transition-transform{transition:var(--transition-transform)}.bl-transition-none{transition:none}.bl-duration-fast{transition-duration:var(--transition-duration-fast)}.bl-duration-base{transition-duration:var(--transition-duration-base)}.bl-duration-slow{transition-duration:var(--transition-duration-slow)}.bl-duration-slower{transition-duration:var(--transition-duration-slower)}.bl-ease-linear{transition-timing-function:var(--transition-ease-linear)}.bl-ease-in{transition-timing-function:var(--transition-ease-in)}.bl-ease-out{transition-timing-function:var(--transition-ease-out)}.bl-ease-in-out{transition-timing-function:var(--transition-ease-in-out)}@keyframes bl-fade-in{from{opacity:0}to{opacity:1}}@keyframes bl-fade-out{from{opacity:1}to{opacity:0}}.bl-fade-in{animation:bl-fade-in var(--transition-duration-base) var(--transition-ease-out)}.bl-fade-out{animation:bl-fade-out var(--transition-duration-base) var(--transition-ease-out)}@keyframes bl-slide-up{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bl-slide-down{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bl-slide-left{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes bl-slide-right{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}.bl-slide-up{animation:bl-slide-up var(--transition-duration-base) var(--transition-ease-out)}.bl-slide-down{animation:bl-slide-down var(--transition-duration-base) var(--transition-ease-out)}.bl-slide-left{animation:bl-slide-left var(--transition-duration-base) var(--transition-ease-out)}.bl-slide-right{animation:bl-slide-right var(--transition-duration-base) var(--transition-ease-out)}@keyframes bl-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.bl-animate-spin{animation:bl-spin 1s linear infinite}@keyframes bl-pulse{0%,100%{opacity:1}50%{opacity:.5}}.bl-animate-pulse{animation:bl-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.bl-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.bl-sr-only-focusable:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}.bl-skip-link{position:absolute;top:-40px;left:0;z-index:var(--z-index-tooltip);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-primary);color:var(--color-text-inverse);text-decoration:none;border-radius:var(--border-radius-md)}.bl-skip-link:focus{top:var(--spacing-sm);outline:2px solid var(--color-border-focus);outline-offset:2px}.bl-focus-visible:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}@media(prefers-contrast: high){*{border-color:currentColor !important}.bl-skip-link{border:2px solid currentColor}}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}.bl-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-base);text-align:center;text-decoration:none;white-space:nowrap;vertical-align:middle;cursor:pointer;user-select:none;border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-sm);background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));transition:var(--transition-base);color:var(--color-text)}.bl-btn:focus{outline:1px solid var(--color-border-focus);outline-offset:2px}.bl-btn:disabled,.bl-btn.bl-disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.bl-btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.bl-btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg)}.bl-btn-primary{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.bl-btn-primary:hover:not(:disabled):not(.bl-disabled){background:var(--color-accent-dark);border-color:var(--color-accent-dark)}.bl-btn-primary:active:not(:disabled):not(.bl-disabled){transform:translateY(1px);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.bl-btn-secondary{background:var(--glass-bg-medium);color:var(--color-text);border-color:var(--glass-border-medium)}.bl-btn-secondary:hover:not(:disabled):not(.bl-disabled){background:var(--glass-bg-heavy);border-color:var(--glass-border-heavy)}.bl-btn-secondary:active:not(:disabled):not(.bl-disabled){transform:translateY(1px);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.bl-btn-outline{background:rgba(0,0,0,0);color:var(--color-accent);border-color:var(--color-accent)}.bl-btn-outline:hover:not(:disabled):not(.bl-disabled){background:var(--glass-bg-light);border-color:var(--color-accent-light)}.bl-btn-outline:active:not(:disabled):not(.bl-disabled){transform:translateY(1px);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.bl-btn-ghost{background:rgba(0,0,0,0);color:var(--color-text);border-color:rgba(0,0,0,0)}.bl-btn-ghost:hover:not(:disabled):not(.bl-disabled){background:var(--glass-bg-light);border-color:var(--glass-border-light)}.bl-btn-ghost:active:not(:disabled):not(.bl-disabled){transform:translateY(1px)}.bl-btn-link{background:rgba(0,0,0,0);color:var(--color-accent);border-color:rgba(0,0,0,0);padding:0;text-decoration:underline}.bl-btn-link:hover:not(:disabled):not(.bl-disabled){color:var(--color-accent-light);text-decoration:none}.bl-btn-success{background:var(--color-success);color:var(--color-text-inverse);border-color:var(--color-success)}.bl-btn-success:hover:not(:disabled):not(.bl-disabled){background:var(--color-success-dark);border-color:var(--color-success-dark)}.bl-btn-success:active:not(:disabled):not(.bl-disabled){transform:translateY(1px);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.bl-btn-warning{background:var(--color-warning);color:var(--color-text-inverse);border-color:var(--color-warning)}.bl-btn-warning:hover:not(:disabled):not(.bl-disabled){background:var(--color-warning-dark);border-color:var(--color-warning-dark)}.bl-btn-warning:active:not(:disabled):not(.bl-disabled){transform:translateY(1px);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.bl-btn-error{background:var(--color-error);color:var(--color-text-inverse);border-color:var(--color-error)}.bl-btn-error:hover:not(:disabled):not(.bl-disabled){background:var(--color-error-dark);border-color:var(--color-error-dark)}.bl-btn-error:active:not(:disabled):not(.bl-disabled){transform:translateY(1px);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.bl-btn-info{background:var(--color-info);color:var(--color-text-inverse);border-color:var(--color-info)}.bl-btn-info:hover:not(:disabled):not(.bl-disabled){background:var(--color-info-dark);border-color:var(--color-info-dark)}.bl-btn-info:active:not(:disabled):not(.bl-disabled){transform:translateY(1px);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.bl-btn-block{display:flex;width:100%}.bl-form-group{margin-bottom:var(--form-group-margin-bottom)}.bl-form-label{display:block;margin-bottom:var(--form-label-margin-bottom);font-size:var(--form-label-font-size);font-weight:var(--form-label-font-weight);color:var(--color-text)}.bl-form-label-required::after{content:" *";color:var(--form-error-color)}.bl-form-helper{display:block;margin-top:var(--form-helper-margin-top);font-size:var(--form-helper-font-size);color:var(--color-text-muted)}.bl-form-error{display:block;margin-top:var(--form-helper-margin-top);font-size:var(--form-error-font-size);color:var(--color-error)}.bl-input,.bl-textarea{display:block;width:100%;padding:var(--form-input-padding-y) var(--form-input-padding-x);font-family:var(--font-family-base);font-size:var(--form-input-font-size);line-height:var(--form-input-line-height);color:var(--color-text);background:var(--glass-bg-light);border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-sm);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));transition:var(--transition-base)}.bl-input::placeholder,.bl-textarea::placeholder{color:var(--color-text-muted);opacity:1;font-style:normal}.bl-input:focus,.bl-textarea:focus{outline:none;border-width:2px;border-color:var(--color-accent);background:var(--glass-bg-medium)}.bl-input:disabled,.bl-textarea:disabled{opacity:var(--form-input-opacity-disabled);cursor:not-allowed;background:var(--glass-bg-dark)}.bl-select{display:block;width:100%;padding:var(--form-input-padding-y) var(--form-input-padding-x);padding-right:calc(var(--form-input-padding-x) + 1.5rem);font-family:var(--font-family-base);font-size:var(--form-input-font-size);line-height:var(--form-input-line-height);color:var(--color-text);background:var(--glass-bg-medium);border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-md);backdrop-filter:blur(var(--glass-blur-lg));-webkit-backdrop-filter:blur(var(--glass-blur-lg));transition:var(--transition-base);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%23ffffff' d='M0 2l4 4 4-4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--form-input-padding-x) center;background-size:.75rem;box-shadow:var(--glass-shadow-sm)}.bl-select:focus{outline:none;border-width:2px;border-color:var(--color-accent);background-color:var(--glass-bg-medium);box-shadow:var(--glass-shadow-md),0 0 0 1px var(--color-accent)}.bl-select:hover{background-color:var(--glass-bg-heavy);border-color:var(--glass-border-heavy)}.bl-select:disabled{opacity:var(--form-input-opacity-disabled);cursor:not-allowed;background-color:var(--glass-bg-dark);box-shadow:none}.bl-select.bl-select-converted{display:none}.bl-select-dropdown{position:relative;display:block;width:100%}.bl-select-dropdown .bl-select-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--form-input-padding-y) var(--form-input-padding-x);font-family:var(--font-family-base);font-size:var(--form-input-font-size);line-height:var(--form-input-line-height);color:var(--color-text);background:var(--glass-bg-medium);border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-md);backdrop-filter:blur(var(--glass-blur-lg));-webkit-backdrop-filter:blur(var(--glass-blur-lg));transition:var(--transition-base);cursor:pointer;box-shadow:var(--glass-shadow-sm);text-align:left;border:none}.bl-select-dropdown .bl-select-toggle::after{display:inline-block;margin-left:var(--spacing-xs);vertical-align:.255em;content:"";border-top:.3em solid var(--color-text);border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0);flex-shrink:0}.bl-select-dropdown .bl-select-toggle:focus{outline:none;border-width:2px;border-color:var(--color-accent);box-shadow:var(--glass-shadow-md),0 0 0 1px var(--color-accent)}.bl-select-dropdown .bl-select-toggle:hover{background-color:var(--glass-bg-heavy);border-color:var(--glass-border-heavy)}.bl-select-dropdown .bl-select-toggle:disabled{opacity:var(--form-input-opacity-disabled);cursor:not-allowed;background-color:var(--glass-bg-dark)}.bl-select-dropdown .bl-select-menu{position:absolute;top:100%;left:0;z-index:999999 !important;display:none;width:100%;min-width:100%;padding:var(--spacing-xs) 0;margin:var(--spacing-xs) 0 0 0;font-size:var(--font-size-base);color:var(--color-text);text-align:left;list-style:none;background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-lg));-webkit-backdrop-filter:blur(var(--glass-blur-lg));border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-md);overflow:hidden;overflow-y:auto;max-height:300px;box-shadow:var(--glass-shadow-lg)}.bl-select-dropdown .bl-select-menu.bl-show{display:block}.bl-select-dropdown .bl-select-item{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);clear:both;font-weight:var(--font-weight-normal);color:var(--color-text);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:rgba(0,0,0,0);border:0;cursor:pointer;transition:var(--transition-base)}.bl-select-dropdown .bl-select-item:hover,.bl-select-dropdown .bl-select-item:focus{color:var(--color-text);text-decoration:none;background:var(--glass-bg-heavy)}.bl-select-dropdown .bl-select-item:active{color:var(--color-text);background:var(--glass-bg-heavy)}.bl-select-dropdown .bl-select-item.bl-selected{background:var(--glass-bg-heavy);color:var(--color-accent)}.bl-select-dropdown .bl-select-item.bl-selected::before{content:"✓ ";margin-right:var(--spacing-xs)}.bl-select-dropdown .bl-select-item.bl-disabled,.bl-select-dropdown .bl-select-item:disabled{color:var(--color-text-muted);pointer-events:none;background-color:rgba(0,0,0,0);opacity:.6}.bl-input-error,.bl-select-error,.bl-textarea-error{border-bottom:2px solid var(--color-error)}.bl-input-error:focus,.bl-select-error:focus,.bl-textarea-error:focus{border-width:2px;border-color:var(--color-error);border-bottom-width:2px}.bl-input-success,.bl-select-success,.bl-textarea-success{border-bottom:2px solid var(--color-success)}.bl-input-success:focus,.bl-select-success:focus,.bl-textarea-success:focus{border-width:2px;border-color:var(--color-success);border-bottom-width:2px}.bl-input-sm,.bl-select-sm{padding:var(--form-input-padding-y-sm) var(--form-input-padding-x-sm);font-size:var(--form-input-font-size-sm)}.bl-select-sm{padding-right:calc(var(--form-input-padding-x-sm) + 1.25rem)}.bl-input-lg,.bl-select-lg{padding:var(--form-input-padding-y-lg) var(--form-input-padding-x-lg);font-size:var(--form-input-font-size-lg)}.bl-select-lg{padding-right:calc(var(--form-input-padding-x-lg) + 1.75rem)}.bl-textarea{resize:var(--form-textarea-resize);min-height:var(--form-textarea-min-height)}.bl-checkbox,.bl-radio{display:inline-flex;align-items:center;cursor:pointer;user-select:none}.bl-checkbox input[type=checkbox],.bl-checkbox input[type=radio],.bl-radio input[type=checkbox],.bl-radio input[type=radio]{width:var(--form-checkbox-size);height:var(--form-checkbox-size);margin-right:var(--form-checkbox-margin-right);cursor:pointer;accent-color:var(--form-checkbox-accent-color)}.bl-checkbox:disabled,.bl-radio:disabled{opacity:var(--form-checkbox-opacity-disabled);cursor:not-allowed}.bl-switch{position:relative;display:inline-block;width:var(--form-switch-width);height:var(--form-switch-height)}.bl-switch input{opacity:0;width:0;height:0}.bl-switch input:checked+.bl-switch-slider{background-color:var(--form-switch-bg-active)}.bl-switch input:checked+.bl-switch-slider::before{transform:translateX(var(--form-switch-slider-translate))}.bl-switch input:focus+.bl-switch-slider{border-color:var(--color-accent)}.bl-switch input:disabled+.bl-switch-slider{opacity:var(--form-switch-opacity-disabled);cursor:not-allowed}.bl-switch-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--glass-bg-medium);border:1px solid var(--glass-border-medium);border-radius:var(--border-radius-full);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));transition:var(--transition-base);cursor:pointer}.bl-switch-slider::before{position:absolute;content:"";height:var(--form-switch-slider-size);width:var(--form-switch-slider-size);left:var(--form-switch-slider-offset);bottom:var(--form-switch-slider-offset);background:var(--glass-bg-heavy);border:1px solid var(--glass-border-light);border-radius:var(--border-radius-full);transition:var(--transition-base)}.bl-file-input{display:block;width:100%;padding:var(--form-file-input-padding);font-size:var(--form-file-input-font-size);color:var(--color-text);border:1px dashed var(--glass-border-medium);border-radius:var(--tech-border-radius-sm);background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));cursor:pointer;transition:var(--transition-base)}.bl-file-input:hover{border-color:var(--glass-border-heavy);background:var(--glass-bg-medium)}.bl-file-input input[type=file]{display:none}.bl-range{width:100%;height:var(--form-range-height);border-radius:var(--tech-border-radius-sm);background:var(--form-range-bg);outline:none;-webkit-appearance:none}.bl-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:var(--form-range-thumb-size);height:var(--form-range-thumb-size);border-radius:var(--tech-border-radius-sm);background:var(--form-range-thumb-bg);border:1px solid var(--glass-border-medium);cursor:pointer}.bl-range::-moz-range-thumb{width:var(--form-range-thumb-size);height:var(--form-range-thumb-size);border-radius:var(--tech-border-radius-sm);background:var(--form-range-thumb-bg);border:1px solid var(--glass-border-medium);cursor:pointer}.bl-input-group{display:flex;width:100%}.bl-input-group .bl-input,.bl-input-group .bl-select{position:relative;flex:1 1 auto;width:1%}.bl-input-group .bl-input:not(:first-child),.bl-input-group .bl-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.bl-input-group .bl-input:not(:last-child),.bl-input-group .bl-select:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.bl-card{display:flex;flex-direction:column;background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-md);overflow:hidden;transition:var(--transition-base);position:relative}.bl-card.bl-card-accent-left{border-left:4px solid var(--color-accent)}.bl-card.bl-card-accent-right{border-right:4px solid var(--color-accent)}.bl-card-header{padding:var(--spacing-md);border-bottom:1px solid var(--glass-border-light);background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm))}.bl-card-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.bl-card-subtitle{margin:var(--spacing-xs) 0 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.bl-card-body{padding:var(--spacing-md);flex:1 1 auto;color:var(--color-text)}.bl-card-footer{padding:var(--spacing-md);border-top:1px solid var(--glass-border-light);background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm))}.bl-card-primary{border-color:var(--color-accent)}.bl-card-secondary{border-color:var(--glass-border-heavy)}.bl-card-shadow{box-shadow:var(--glass-shadow-md)}.bl-card-shadow-lg{box-shadow:var(--glass-shadow-lg)}.bl-card-hover{cursor:pointer}.bl-card-hover:hover{background:var(--glass-bg-heavy);border-color:var(--glass-border-heavy)}.bl-alert{position:relative;padding:var(--spacing-md);margin-bottom:var(--spacing-md);border:1px solid var(--glass-border-medium);border-left-width:2px;border-radius:var(--tech-border-radius-md);background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));color:var(--color-text)}.bl-alert-title{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text)}.bl-alert-message{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.bl-alert-info{border-left-color:var(--color-accent);color:var(--color-text)}.bl-alert-info .bl-alert-title{color:var(--color-text)}.bl-alert-success{border-left-color:var(--color-success);color:var(--color-text)}.bl-alert-success .bl-alert-title{color:var(--color-text)}.bl-alert-warning{border-left-color:var(--color-warning);color:var(--color-text)}.bl-alert-warning .bl-alert-title{color:var(--color-text)}.bl-alert-error{border-left-color:var(--color-error);color:var(--color-text)}.bl-alert-error .bl-alert-title{color:var(--color-text)}.bl-alert-dismissible{padding-right:var(--spacing-3xl)}.bl-alert-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);padding:var(--spacing-xs);background:rgba(0,0,0,0);border:none;cursor:pointer;opacity:.6;transition:var(--transition-opacity);color:var(--color-text);border-radius:var(--tech-border-radius-sm)}.bl-alert-close:hover{opacity:1}.bl-alert-close::before{content:"×";font-size:var(--font-size-xl);line-height:1}.bl-badge{display:inline-flex;align-items:stretch;overflow:hidden;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;vertical-align:baseline;border-radius:var(--tech-border-radius-sm);border:1px solid var(--glass-border-medium)}.bl-badge-label{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));color:var(--color-text-muted);border-right:1px solid var(--glass-border-medium);flex-shrink:0}.bl-badge-value{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));color:var(--color-text);flex-shrink:0}.bl-badge-primary .bl-badge-value{background:var(--color-accent);color:var(--color-text-inverse)}.bl-badge-secondary .bl-badge-value{background:var(--glass-bg-heavy);color:var(--color-text)}.bl-badge-success .bl-badge-value{background:var(--color-success);color:var(--color-text-inverse)}.bl-badge-warning .bl-badge-value{background:var(--color-warning);color:var(--color-text-inverse)}.bl-badge-error .bl-badge-value{background:var(--color-error);color:var(--color-text-inverse)}.bl-badge-info .bl-badge-value{background:var(--color-info);color:var(--color-text-inverse)}.bl-badge-sm{font-size:.625rem}.bl-badge-sm .bl-badge-label,.bl-badge-sm .bl-badge-value{padding:.125rem var(--spacing-xs)}.bl-badge-lg{font-size:var(--font-size-sm)}.bl-badge-lg .bl-badge-label,.bl-badge-lg .bl-badge-value{padding:var(--spacing-sm) var(--spacing-md)}.bl-modal-backdrop{position:fixed;top:0;left:0;z-index:1;width:100vw;height:100vh;background:var(--color-bg-overlay);backdrop-filter:blur(var(--glass-blur-lg));-webkit-backdrop-filter:blur(var(--glass-blur-lg))}.bl-modal{position:fixed;top:0;left:0;z-index:var(--z-index-modal);width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.bl-modal-dialog{position:relative;width:100%;max-width:500px;margin:0;pointer-events:none;z-index:2}@media(min-width: 576px){.bl-modal-dialog{max-width:500px}}@media(min-width: 768px){.bl-modal-dialog{max-width:600px}}@media(min-width: 1024px){.bl-modal-dialog{max-width:800px}}.bl-modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-xl));-webkit-backdrop-filter:blur(var(--glass-blur-xl));border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-md);outline:0}.bl-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--spacing-md);border-bottom:1px solid var(--glass-border-light);background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm))}.bl-modal-title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text)}.bl-modal-close{padding:var(--spacing-xs);margin:calc(var(--spacing-xs)*-1) calc(var(--spacing-xs)*-1) calc(var(--spacing-xs)*-1) auto;background:rgba(0,0,0,0);border:0;border-radius:var(--tech-border-radius-sm);opacity:.6;cursor:pointer;transition:var(--transition-opacity);color:var(--color-text);font-family:monospace}.bl-modal-close:hover{opacity:1}.bl-modal-close::before{content:"×";font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1}.bl-modal-body{position:relative;flex:1 1 auto;padding:var(--spacing-md);color:var(--color-text)}.bl-modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:var(--spacing-md);border-top:1px solid var(--glass-border-light);background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm))}.bl-modal-footer>*{margin:var(--spacing-xs)}@media(min-width: 576px){.bl-modal-sm .bl-modal-dialog{max-width:300px}}@media(min-width: 1024px){.bl-modal-lg .bl-modal-dialog{max-width:1000px}}@media(min-width: 1024px){.bl-modal-xl .bl-modal-dialog{max-width:1200px}}.bl-modal-top{align-items:flex-start;padding-top:var(--spacing-xl)}.bl-modal-bottom{align-items:flex-end;padding-bottom:var(--spacing-xl)}.bl-modal-left{justify-content:flex-start;padding-left:var(--spacing-xl)}.bl-modal-left .bl-modal-dialog{margin-right:auto}.bl-modal-right{justify-content:flex-end;padding-right:var(--spacing-xl)}.bl-modal-right .bl-modal-dialog{margin-left:auto}.bl-modal-centered{align-items:center;justify-content:center}.bl-dropdown{position:relative;display:inline-block}.bl-dropdown-toggle::after{display:inline-block;margin-left:var(--spacing-xs);vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0)}.bl-dropdown-menu{position:absolute;top:100%;left:0;z-index:99999 !important;display:none;min-width:10rem;padding:var(--spacing-xs) 0;margin:var(--spacing-xs) 0 0 0;font-size:var(--font-size-base);color:var(--color-text);text-align:left;list-style:none;background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-lg));-webkit-backdrop-filter:blur(var(--glass-blur-lg));border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-md);overflow:hidden;overflow-y:auto;max-height:300px;box-shadow:var(--glass-shadow-lg)}.bl-dropdown-menu.bl-show{display:block}.bl-dropdown-menu-right{right:0;left:auto}.bl-dropdown-item{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);clear:both;font-weight:var(--font-weight-normal);color:var(--color-text);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:rgba(0,0,0,0);border:0;cursor:pointer;transition:var(--transition-base)}.bl-dropdown-item:hover,.bl-dropdown-item:focus{color:var(--color-text);text-decoration:none;background:var(--glass-bg-heavy)}.bl-dropdown-item:active{color:var(--color-text);background:var(--glass-bg-heavy)}.bl-dropdown-item.bl-active{background:var(--glass-bg-heavy);color:var(--color-accent)}.bl-dropdown-item.bl-disabled,.bl-dropdown-item:disabled{color:var(--color-text-muted);pointer-events:none;background-color:rgba(0,0,0,0);opacity:.6}.bl-dropdown-divider{height:0;margin:var(--spacing-xs) 0;overflow:hidden;border-top:1px solid var(--glass-border-light)}.bl-dropdown-header{display:block;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);white-space:nowrap}.bl-nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none;background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-sm);padding:var(--spacing-xs)}.bl-nav-item{display:list-item}.bl-nav-link{display:block;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text);text-decoration:none;border-radius:var(--tech-border-radius-sm);transition:var(--transition-base)}.bl-nav-link:hover{color:var(--color-text);text-decoration:none;background:var(--glass-bg-medium)}.bl-nav-link:focus{outline:1px solid var(--color-border-focus);outline-offset:-2px}.bl-nav-link.bl-active{color:var(--color-text);font-weight:var(--font-weight-semibold);background:var(--glass-bg-heavy);border-bottom:2px solid var(--color-accent)}.bl-nav-link.bl-disabled{color:var(--color-text-muted);pointer-events:none;cursor:default}.bl-nav-horizontal{flex-direction:row}.bl-nav-horizontal .bl-nav-item{margin-right:var(--spacing-xs)}.bl-nav-vertical{flex-direction:column}.bl-nav-vertical .bl-nav-item{margin-bottom:var(--spacing-xs)}.bl-nav-tabs{border-bottom:1px solid var(--glass-border-light);background:rgba(0,0,0,0);padding:0}.bl-nav-tabs .bl-nav-link{margin-bottom:-1px;border:1px solid rgba(0,0,0,0);border-top-left-radius:var(--tech-border-radius-sm);border-top-right-radius:var(--tech-border-radius-sm);background:rgba(0,0,0,0)}.bl-nav-tabs .bl-nav-link:hover{border-color:var(--glass-border-medium);background:var(--glass-bg-light);isolation:isolate}.bl-nav-tabs .bl-nav-link.bl-active{color:var(--color-text);background:var(--glass-bg-medium);border-color:var(--glass-border-medium) var(--glass-border-medium) rgba(0,0,0,0);border-bottom:2px solid var(--color-accent)}.bl-nav-pills .bl-nav-link{border-radius:var(--tech-border-radius-sm)}.bl-nav-pills .bl-nav-link.bl-active{color:var(--color-text);background:var(--glass-bg-heavy);border-bottom:2px solid var(--color-accent)}.bl-breadcrumb{display:flex;flex-wrap:wrap;padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-md);list-style:none}.bl-breadcrumb-item{display:flex;align-items:center}.bl-breadcrumb-item+.bl-breadcrumb-item{padding-left:var(--spacing-sm)}.bl-breadcrumb-item+.bl-breadcrumb-item::before{display:inline-block;padding-right:var(--spacing-sm);color:var(--color-text-muted);content:"/"}.bl-breadcrumb-item.bl-active{color:var(--color-text-muted)}.bl-pagination{display:flex;padding-left:0;list-style:none}.bl-page-item{display:list-item}.bl-page-item:first-child .bl-page-link{margin-left:0;border-top-left-radius:var(--tech-border-radius-sm);border-bottom-left-radius:var(--tech-border-radius-sm)}.bl-page-item:last-child .bl-page-link{border-top-right-radius:var(--tech-border-radius-sm);border-bottom-right-radius:var(--tech-border-radius-sm)}.bl-page-item.bl-active .bl-page-link{z-index:1;color:var(--color-text);background:var(--glass-bg-heavy);border-color:var(--glass-border-heavy)}.bl-page-item.bl-disabled .bl-page-link{color:var(--color-text-muted);pointer-events:none;cursor:auto;background:var(--glass-bg-dark);border-color:var(--glass-border-light)}.bl-page-link{position:relative;display:block;padding:var(--spacing-sm) var(--spacing-md);margin-left:-1px;line-height:var(--line-height-base);color:var(--color-text);text-decoration:none;background:var(--glass-bg-light);border:1px solid var(--glass-border-medium);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));transition:var(--transition-base)}.bl-page-link:hover{z-index:2;color:var(--color-text);text-decoration:none;background:var(--glass-bg-medium);border-color:var(--glass-border-heavy)}.bl-page-link:focus{z-index:2;outline:1px solid var(--color-border-focus);outline-offset:-2px}.bl-table{width:100%;margin-bottom:var(--spacing-md);color:var(--color-text);vertical-align:top;border-color:var(--glass-border-medium);background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-md);overflow:hidden}.bl-table>:not(caption)>*>*{padding:var(--spacing-sm) var(--spacing-md);background-color:rgba(0,0,0,0);border-bottom-width:1px;border-bottom-color:var(--glass-border-light);border-right-width:1px;border-right-color:var(--glass-border-light);box-shadow:inset 0 0 0 9999px rgba(0,0,0,0)}.bl-table>:not(caption)>*>*:last-child{border-right-width:0}.bl-table>tbody{vertical-align:inherit}.bl-table>thead{vertical-align:bottom}.bl-table>:not(:first-child){border-top:1px solid var(--glass-border-light)}.bl-table-caption{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm);color:var(--color-text-muted);text-align:left;caption-side:bottom}.bl-table-head{font-weight:var(--font-weight-semibold);color:var(--color-text);text-align:inherit;text-align:-webkit-match-parent;background:var(--glass-bg-etched);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm))}.bl-table-striped>tbody>tr:nth-of-type(odd)>*{--bl-table-accent-bg: var(--glass-bg-light);color:var(--color-text);box-shadow:inset 0 0 0 9999px var(--bl-table-accent-bg)}.bl-table-bordered{border:1px solid var(--glass-border-medium)}.bl-table-bordered>:not(caption)>*{border-width:1px 0}.bl-table-bordered>:not(caption)>*>*{border-width:0 1px;border-color:var(--glass-border-light)}.bl-table-borderless>:not(caption)>*>*{border-bottom-width:0;border-right-width:0}.bl-table-borderless>:not(:first-child){border-top-width:0}.bl-table-hover>tbody>tr:hover>*{--bl-table-accent-bg: var(--glass-bg-heavy);color:var(--color-text);box-shadow:inset 0 0 0 9999px var(--bl-table-accent-bg);transition:var(--transition-base)}.bl-table-sm>:not(caption)>*>*{padding:var(--spacing-xs) var(--spacing-sm)}.bl-table-lg>:not(caption)>*>*{padding:var(--spacing-md) var(--spacing-lg)}.bl-table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.bl-table-responsive>.bl-table{margin-bottom:0}@media(max-width: 575.98px){.bl-table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.bl-table-responsive-sm>.bl-table{margin-bottom:0}}@media(max-width: 767.98px){.bl-table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.bl-table-responsive-md>.bl-table{margin-bottom:0}}@media(max-width: 1023.98px){.bl-table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.bl-table-responsive-lg>.bl-table{margin-bottom:0}}@media(max-width: 1279.98px){.bl-table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.bl-table-responsive-xl>.bl-table{margin-bottom:0}}.bl-tooltip{position:relative;display:inline-block}.bl-tooltip-trigger{cursor:help}.bl-tooltip-content{position:absolute;z-index:var(--z-index-tooltip);display:none;max-width:200px;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-family:var(--font-family-mono);line-height:var(--line-height-base);color:var(--color-text);text-align:center;text-decoration:none;word-wrap:break-word;background:var(--glass-bg-medium);backdrop-filter:blur(var(--glass-blur-md));-webkit-backdrop-filter:blur(var(--glass-blur-md));border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-sm);opacity:0;transition:var(--transition-opacity)}.bl-tooltip-content.bl-show{display:block;opacity:1}.bl-tooltip-top .bl-tooltip-content{bottom:100%;left:50%;margin-bottom:var(--spacing-xs);transform:translateX(-50%)}.bl-tooltip-top .bl-tooltip-content::after{position:absolute;top:100%;left:50%;width:0;height:0;margin-left:-6px;content:"";border-width:6px 6px 0 6px;border-style:solid;border-color:var(--glass-bg-medium) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);clip-path:polygon(0 0, 100% 0, 80% 100%, 20% 100%)}.bl-tooltip-bottom .bl-tooltip-content{top:100%;left:50%;margin-top:var(--spacing-xs);transform:translateX(-50%)}.bl-tooltip-bottom .bl-tooltip-content::after{position:absolute;bottom:100%;left:50%;width:0;height:0;margin-left:-6px;content:"";border-width:0 6px 6px 6px;border-style:solid;border-color:rgba(0,0,0,0) rgba(0,0,0,0) var(--glass-bg-medium) rgba(0,0,0,0);clip-path:polygon(20% 0, 80% 0, 100% 100%, 0 100%)}.bl-tooltip-left .bl-tooltip-content{top:50%;right:100%;margin-right:var(--spacing-xs);transform:translateY(-50%)}.bl-tooltip-left .bl-tooltip-content::after{position:absolute;top:50%;left:100%;width:0;height:0;margin-top:-6px;content:"";border-width:6px 0 6px 6px;border-style:solid;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) var(--glass-bg-medium);clip-path:polygon(0 20%, 0 80%, 100% 100%, 100% 0)}.bl-tooltip-right .bl-tooltip-content{top:50%;left:100%;margin-left:var(--spacing-xs);transform:translateY(-50%)}.bl-tooltip-right .bl-tooltip-content::after{position:absolute;top:50%;right:100%;width:0;height:0;margin-top:-6px;content:"";border-width:6px 6px 6px 0;border-style:solid;border-color:rgba(0,0,0,0) var(--glass-bg-medium) rgba(0,0,0,0) rgba(0,0,0,0);clip-path:polygon(0 0, 0 100%, 100% 80%, 100% 20%)}.bl-progress{display:flex;height:1rem;overflow:hidden;background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border-medium);border-radius:var(--tech-border-radius-sm)}.bl-progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--color-text-inverse);text-align:center;white-space:nowrap;background:var(--color-accent);transition:width var(--transition-duration-slow) var(--transition-ease-linear)}.bl-progress-bar-primary{background:var(--color-accent)}.bl-progress-bar-secondary{background:var(--glass-bg-heavy)}.bl-progress-bar-success{background:var(--color-success)}.bl-progress-bar-warning{background:var(--color-warning)}.bl-progress-bar-error{background:var(--color-error)}.bl-progress-bar-info{background:var(--color-info)}.bl-progress-sm{height:.5rem}.bl-progress-lg{height:1.5rem}.bl-spinner{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:var(--border-width-base) solid var(--glass-border-medium);border-top-color:var(--color-accent);border-radius:var(--tech-border-radius-sm);background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));animation:bl-spinner-rotate .75s linear infinite;position:relative}.bl-spinner::before{content:"";position:absolute;top:2px;left:2px;right:2px;bottom:2px;background:var(--color-accent);opacity:.3;border-radius:var(--tech-border-radius-sm);animation:bl-spinner-inner 1.5s linear infinite}@keyframes bl-spinner-rotate{to{transform:rotate(360deg)}}@keyframes bl-spinner-inner{0%{transform:rotate(0deg);opacity:.3}50%{opacity:.6}100%{transform:rotate(360deg);opacity:.3}}.bl-spinner-primary{border-top-color:var(--color-accent)}.bl-spinner-primary::before{background:var(--color-accent)}.bl-spinner-secondary{border-top-color:var(--color-secondary)}.bl-spinner-secondary::before{background:var(--color-secondary)}.bl-spinner-success{border-top-color:var(--color-success)}.bl-spinner-success::before{background:var(--color-success)}.bl-spinner-warning{border-top-color:var(--color-warning)}.bl-spinner-warning::before{background:var(--color-warning)}.bl-spinner-error{border-top-color:var(--color-error)}.bl-spinner-error::before{background:var(--color-error)}.bl-spinner-info{border-top-color:var(--color-info)}.bl-spinner-info::before{background:var(--color-info)}.bl-spinner-sm{width:1rem;height:1rem;border-width:var(--border-width-thin)}.bl-spinner-lg{width:3rem;height:3rem;border-width:var(--border-width-base)}.bl-spinner-xl{width:4rem;height:4rem;border-width:var(--border-width-base)}.bl-icon{display:inline-block;font-family:"Baseline Icons";font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle}.bl-icon-xs{font-size:.75rem;width:.75rem;height:.75rem}.bl-icon-sm{font-size:1rem;width:1rem;height:1rem}.bl-icon-md{font-size:1.25rem;width:1.25rem;height:1.25rem}.bl-icon-lg{font-size:1.5rem;width:1.5rem;height:1.5rem}.bl-icon-xl{font-size:2rem;width:2rem;height:2rem}.bl-icon-home::before{content:""}.bl-icon-user::before{content:""}.bl-icon-search::before{content:""}.bl-icon-menu::before{content:""}.bl-icon-close::before{content:""}.bl-icon-chevron-left::before{content:""}.bl-icon-chevron-right::before{content:""}.bl-icon-chevron-up::before{content:""}.bl-icon-chevron-down::before{content:""}.bl-icon-arrow-left::before{content:""}.bl-icon-arrow-right::before{content:""}.bl-icon-arrow-up::before{content:""}.bl-icon-arrow-down::before{content:""}.bl-icon-check::before{content:""}.bl-icon-cross::before{content:""}.bl-icon-plus::before{content:""}.bl-icon-minus::before{content:""}.bl-icon-info::before{content:""}.bl-icon-warning::before{content:""}.bl-icon-error::before{content:""}.bl-icon-success::before{content:""}.bl-icon-heart::before{content:""}.bl-icon-star::before{content:""}.bl-icon-bookmark::before{content:""}.bl-icon-share::before{content:""}.bl-icon-download::before{content:""}.bl-icon-upload::before{content:""}.bl-icon-edit::before{content:""}.bl-icon-delete::before{content:""}.bl-icon-settings::before{content:""}.bl-icon-bell::before{content:""}.bl-icon-mail::before{content:""}.bl-icon-phone::before{content:""}.bl-icon-calendar::before{content:""}.bl-icon-clock::before{content:""}.bl-icon-image::before{content:""}.bl-icon-video::before{content:""}.bl-icon-file::before{content:""}.bl-icon-folder::before{content:""}.bl-icon-lock::before{content:""}.bl-icon-unlock::before{content:""}.bl-icon-eye::before{content:""}.bl-icon-eye-off::before{content:""}.bl-icon-filter::before{content:""}.bl-icon-sort::before{content:""}.bl-icon-grid::before{content:""}.bl-icon-list::before{content:""}.bl-icon-refresh::before{content:""}.bl-icon-loading::before{content:""}.bl-icon-play::before{content:""}.bl-icon-pause::before{content:""}.bl-icon-stop::before{content:""}.bl-icon-next::before{content:""}.bl-icon-prev::before{content:""}.bl-icon-volume::before{content:""}.bl-icon-volume-off::before{content:""}.bl-icon-fullscreen::before{content:""}.bl-icon-fullscreen-exit::before{content:""}.bl-icon-link::before{content:""}.bl-icon-external::before{content:""}.bl-icon-copy::before{content:""}.bl-icon-cut::before{content:""}.bl-icon-paste::before{content:""}.bl-icon-undo::before{content:""}.bl-icon-redo::before{content:""}.bl-icon-save::before{content:""}.bl-icon-print::before{content:""}.bl-icon-zoom-in::before{content:""}.bl-icon-zoom-out::before{content:""}.bl-icon-maximize::before{content:""}.bl-icon-minimize::before{content:""}.bl-btn .bl-icon{margin-right:var(--spacing-xs)}.bl-btn .bl-icon:last-child{margin-right:0;margin-left:var(--spacing-xs)}.bl-btn .bl-icon:only-child{margin:0}@media(prefers-color-scheme: dark){:root{--color-gray-50: #030712;--color-gray-100: #111827;--color-gray-200: #1f2937;--color-gray-300: #374151;--color-gray-400: #4b5563;--color-gray-500: #6b7280;--color-gray-600: #9ca3af;--color-gray-700: #d1d5db;--color-gray-800: #e5e7eb;--color-gray-900: #f3f4f6;--color-gray-950: #f9fafb;--color-primary: #f3f4f6;--color-primary-light: #e5e7eb;--color-primary-dark: #d1d5db;--color-secondary: #9ca3af;--color-secondary-light: #d1d5db;--color-secondary-dark: #6b7280;--color-success: #34d399;--color-success-light: #6ee7b7;--color-success-dark: #10b981;--color-warning: #fbbf24;--color-warning-light: #fcd34d;--color-warning-dark: #f59e0b;--color-error: #f87171;--color-error-light: #fca5a5;--color-error-dark: #ef4444;--color-info: #60a5fa;--color-info-light: #93c5fd;--color-info-dark: #3b82f6;--color-text: #f3f4f6;--color-text-muted: #9ca3af;--color-text-light: #6b7280;--color-text-inverse: #111827;--color-bg: #111827;--color-bg-alt: #1f2937;--color-bg-overlay: rgba(0, 0, 0, 0.7);--color-border: #374151;--color-border-light: #1f2937;--color-border-dark: #4b5563;--color-border-focus: #60a5fa}}.bl-theme-dark,[data-theme=dark]{--color-gray-50: #030712;--color-gray-100: #111827;--color-gray-200: #1f2937;--color-gray-300: #374151;--color-gray-400: #4b5563;--color-gray-500: #6b7280;--color-gray-600: #9ca3af;--color-gray-700: #d1d5db;--color-gray-800: #e5e7eb;--color-gray-900: #f3f4f6;--color-gray-950: #f9fafb;--color-primary: #f3f4f6;--color-primary-light: #e5e7eb;--color-primary-dark: #d1d5db;--color-secondary: #9ca3af;--color-secondary-light: #d1d5db;--color-secondary-dark: #6b7280;--color-success: #34d399;--color-success-light: #6ee7b7;--color-success-dark: #10b981;--color-warning: #fbbf24;--color-warning-light: #fcd34d;--color-warning-dark: #f59e0b;--color-error: #f87171;--color-error-light: #fca5a5;--color-error-dark: #ef4444;--color-info: #60a5fa;--color-info-light: #93c5fd;--color-info-dark: #3b82f6;--color-text: #f3f4f6;--color-text-muted: #9ca3af;--color-text-light: #6b7280;--color-text-inverse: #111827;--color-bg: #111827;--color-bg-alt: #1f2937;--color-bg-overlay: rgba(0, 0, 0, 0.7);--color-border: #374151;--color-border-light: #1f2937;--color-border-dark: #4b5563;--color-border-focus: #60a5fa}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rhavenside/baseline-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A technical glass design framework with SCSS source and compiled CSS - minimalist, rectangular forms with milky glass effects",
|
|
6
6
|
"main": "dist/baseline.css",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
position: fixed;
|
|
9
9
|
top: 0;
|
|
10
10
|
left: 0;
|
|
11
|
-
z-index:
|
|
11
|
+
z-index: 1;
|
|
12
12
|
width: 100vw;
|
|
13
13
|
height: 100vh;
|
|
14
14
|
background: var(--color-bg-overlay);
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
max-width: 500px;
|
|
39
39
|
margin: 0;
|
|
40
40
|
pointer-events: none;
|
|
41
|
+
z-index: 2;
|
|
41
42
|
|
|
42
43
|
@media (min-width: 576px) {
|
|
43
44
|
max-width: 500px;
|