ngx-strata 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/assets/styles/base.scss +7 -3
  2. package/assets/styles/colors.scss +3 -11
  3. package/assets/styles/components/accordion.scss +4 -2
  4. package/assets/styles/components/action-menu.scss +2 -2
  5. package/assets/styles/components/alert.scss +112 -0
  6. package/assets/styles/components/avatar.scss +40 -22
  7. package/assets/styles/components/button.scss +27 -20
  8. package/assets/styles/components/card.scss +21 -13
  9. package/assets/styles/components/checkbox.scss +11 -9
  10. package/assets/styles/components/input-field.scss +6 -3
  11. package/assets/styles/components/modal.scss +3 -9
  12. package/assets/styles/components/notification.scss +40 -20
  13. package/assets/styles/components/pagination.scss +16 -8
  14. package/assets/styles/components/progress.scss +32 -22
  15. package/assets/styles/components/radio.scss +101 -0
  16. package/assets/styles/components/segmented-control.scss +24 -7
  17. package/assets/styles/components/select.scss +8 -4
  18. package/assets/styles/components/sidemenu.scss +55 -0
  19. package/assets/styles/components/spinner.scss +10 -7
  20. package/assets/styles/components/table.scss +4 -2
  21. package/assets/styles/components/tabs.scss +71 -0
  22. package/assets/styles/components/tag.scss +17 -13
  23. package/assets/styles/components/toggle.scss +44 -42
  24. package/assets/styles/focus-outline.scss +2 -1
  25. package/assets/styles/primitives/color-primitives.scss +88 -0
  26. package/assets/styles/primitives/spacing-primitives.scss +16 -0
  27. package/assets/styles/public-api.scss +42 -34
  28. package/assets/styles/semantics/color-semantic.scss +121 -0
  29. package/assets/styles/typography.scss +124 -34
  30. package/dist/strata/strata.css +1 -1
  31. package/fesm2022/ngx-strata.mjs +871 -289
  32. package/fesm2022/ngx-strata.mjs.map +1 -1
  33. package/package.json +3 -3
  34. package/types/ngx-strata.d.ts +385 -184
  35. package/dist/my-lib/strata.css +0 -1
@@ -1,64 +1,66 @@
1
1
  st-toggle {
2
- --st-toggle-border-color: var(--st-divider);
3
- --st-toggle-background-color: var(--st-bg-light);
4
- --st-toggle-handle-background-color: var(--st-brand);
5
- --st-toggle-handle-background-color-hover: var(--st-brand-dark);
6
- --st-toggle-handle-size: 32px;
7
- background-color: var(--st-toggle-background-color);
8
- border: 1px solid var(--st-toggle-border-color);
9
- height: var(--st-toggle-handle-size);
10
- width: calc(var(--st-toggle-handle-size) * 1.5);
11
- border-radius: var(--st-border-radius-sm);
2
+ // Internal component hooks
3
+ --st-toggle-height: var(--st-size-md);
4
+ --st-toggle-width: var(--st-space-10);
5
+ --st-toggle-padding: var(--st-size-xxxs);
6
+ --st-toggle-handle-size: var(--st-size-sm);
12
7
 
13
- &.sm {
14
- --st-toggle-handle-size: 28px;
15
- }
8
+ --st-toggle-bg-unchecked: var(--st-color-input-default);
9
+ --st-toggle-bg-checked: var(--st-color-accent-default);
10
+ --st-toggle-handle-bg: var(--st-color-neutral-50);
11
+
12
+ display: inline-flex;
13
+ align-items: center;
14
+ position: relative;
15
+ box-sizing: border-box;
16
16
 
17
- &.md {
18
- --st-toggle-handle-size: 32px;
17
+ height: var(--st-toggle-height);
18
+ width: var(--st-toggle-width);
19
+ padding: var(--st-toggle-padding);
20
+ background-color: var(--st-toggle-bg-unchecked);
21
+ border-radius: var(--st-size-xxxs); // 4px
22
+ cursor: pointer;
23
+ transition: background-color 0.2s ease;
24
+
25
+ // Accessibility
26
+ &:focus-visible {
27
+ outline: 2px solid var(--st-color-accent-default);
28
+ outline-offset: 2px;
19
29
  }
20
30
 
21
- &.lg {
22
- --st-toggle-handle-size: 40px;
31
+ &:focus {
32
+ outline: none;
23
33
  }
24
34
 
25
35
  .toggle-handle {
26
36
  display: block;
27
37
  height: var(--st-toggle-handle-size);
28
38
  width: var(--st-toggle-handle-size);
29
- background-color: var(--st-toggle-handle-background-color);
30
- margin-right: calc(var(--st-toggle-handle-size) / 4);
31
- margin-left: calc(var(--st-toggle-handle-size) / 4);
32
- border-radius: var(--st-border-radius-sm);
33
- transition: all 0.1s linear;
39
+ background-color: var(--st-toggle-handle-bg);
40
+ border-radius: var(--st-size-xxxxs); // 2px
41
+ transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
42
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
34
43
  }
35
44
 
36
- &[data-checked='false'] {
45
+ &[data-checked='true'] {
46
+ background-color: var(--st-toggle-bg-checked);
47
+
37
48
  .toggle-handle {
38
- margin-right: var(--st-toggle-handle-size);
39
- background-color: var(--st-bg);
40
- margin-left: 0px;
49
+ // Move by: Width (40) - Padding (4) - Handle (16) - Padding (4) = 16px
50
+ transform: translateX(calc(var(--st-toggle-width) - var(--st-toggle-handle-size) - (var(--st-toggle-padding) * 2)));
41
51
  }
42
52
  }
43
53
 
44
- &[data-checked='true'] {
45
- .toggle-handle {
46
- margin-left: calc(var(--st-toggle-handle-size) / 2);
47
- margin-right: 0px;
48
- background-color: var(--st-brand);
49
- }
54
+ &[data-checked='false']:not([data-disabled='true']):hover {
55
+ background-color: var(--st-color-input-hover);
50
56
  }
51
57
 
52
- &:focus {
53
- outline: 1px solid var(--st-brand);
54
- outline-offset: 2px;
58
+ &[data-checked='true']:not([data-disabled='true']):hover {
59
+ background-color: var(--st-color-accent-hover);
55
60
  }
56
61
 
57
- &:not(:disabled):hover {
58
- cursor: pointer;
59
- background-color: var(--st-bg-dark);
60
- .toggle-handle {
61
- background-color: var(--st-brand-light);
62
- }
62
+ &[data-disabled='true'] {
63
+ cursor: not-allowed;
64
+ opacity: 0.5;
63
65
  }
64
- }
66
+ }
@@ -1,7 +1,8 @@
1
1
  :root {
2
2
  --st-focus-ring-width: 2px;
3
3
  --st-focus-ring-style: solid;
4
- --st-focus-ring-color: var(--st-brand);
4
+ --st-focus-ring-color: var(--st-color-accent-default);
5
+
5
6
  --st-focus-ring-offset: 2px;
6
7
  }
7
8
 
@@ -0,0 +1,88 @@
1
+ :root {
2
+
3
+ /* --- Neutral --- */
4
+ --st-color-neutral-0: #ffffff;
5
+ --st-color-neutral-50: #FBF9F8;
6
+ --st-color-neutral-100: #F5F3F3;
7
+ --st-color-neutral-200: #dbd7d6;
8
+ --st-color-neutral-300: #bebcbb;
9
+ --st-color-neutral-400: #9c9896;
10
+ --st-color-neutral-500: #78716C;
11
+ --st-color-neutral-600: #5F5E5E;
12
+ --st-color-neutral-700: #484747;
13
+ --st-color-neutral-800: #343232;
14
+ --st-color-neutral-900: #212121;
15
+ --st-color-neutral-950: #151414;
16
+
17
+ /* --- Blue (brand/accent) --- */
18
+ --st-color-blue-50: #eff6ff;
19
+ --st-color-blue-100: #dbeafe;
20
+ --st-color-blue-200: #bfdbfe;
21
+ --st-color-blue-300: #93c5fd;
22
+ --st-color-blue-400: #60a5fa;
23
+ --st-color-blue-500: #3b82f6;
24
+ --st-color-blue-600: #2563eb;
25
+ --st-color-blue-700: #1d4ed8;
26
+ --st-color-blue-800: #1e40af;
27
+ --st-color-blue-900: #1e3a8a;
28
+
29
+ /* --- Red (error/danger) --- */
30
+ --st-color-red-50: #FFE1DF;
31
+ --st-color-red-100: #fabbb8;
32
+ --st-color-red-200: #ee9895;
33
+ --st-color-red-300: #de7f7d;
34
+ --st-color-red-400: #c76666;
35
+ --st-color-red-500: #A85657;
36
+ --st-color-red-600: #AC373A;
37
+ --st-color-red-700: #80171D;
38
+ --st-color-red-800: #5c0f13;
39
+ --st-color-red-900: #3a080b;
40
+
41
+ /* --- Green (success) --- */
42
+ --st-color-green-50: #EBF7EC;
43
+ --st-color-green-100: #c8e9ce;
44
+ --st-color-green-200: #9dd8ac;
45
+ --st-color-green-300: #6ec48c;
46
+ --st-color-green-400: #4eb779;
47
+ --st-color-green-500: #3C9365;
48
+ --st-color-green-600: #198f4c;
49
+ --st-color-green-700: #008234;
50
+ --st-color-green-800: #006b30;
51
+ --st-color-green-900: #005529;
52
+
53
+ /* --- Yellow (warning) --- */
54
+ --st-color-yellow-50: #fefce8;
55
+ --st-color-yellow-100: #fef9c3;
56
+ --st-color-yellow-200: #fef08a;
57
+ --st-color-yellow-300: #fde047;
58
+ --st-color-yellow-400: #facc15;
59
+ --st-color-yellow-500: #eab308;
60
+ --st-color-yellow-600: #ca8a04;
61
+ --st-color-yellow-700: #a16207;
62
+ --st-color-yellow-800: #854d0e;
63
+ --st-color-yellow-900: #713f12;
64
+
65
+ /* --- Orange --- */
66
+ --st-color-orange-50: #FFF8E4;
67
+ --st-color-orange-100: #ffe6b8;
68
+ --st-color-orange-200: #ffca8a;
69
+ --st-color-orange-300: #ffa85c;
70
+ --st-color-orange-400: #ff7b2e;
71
+ --st-color-orange-500: #FD4900;
72
+ --st-color-orange-600: #d53d01;
73
+ --st-color-orange-700: #b03103;
74
+ --st-color-orange-800: #882703;
75
+ --st-color-orange-900: #561801;
76
+
77
+ /* --- Teal (info) --- */
78
+ --st-color-teal-50: #f0fdfa;
79
+ --st-color-teal-100: #ccfbf1;
80
+ --st-color-teal-200: #99f6e4;
81
+ --st-color-teal-300: #5eead4;
82
+ --st-color-teal-400: #2dd4bf;
83
+ --st-color-teal-500: #14b8a6;
84
+ --st-color-teal-600: #0d9488;
85
+ --st-color-teal-700: #0f766e;
86
+ --st-color-teal-800: #115e59;
87
+ --st-color-teal-900: #134e4a;
88
+ }
@@ -0,0 +1,16 @@
1
+ /*
2
+ --st-space-{step}
3
+ Steps follow a 4px base grid. Uses integers that map to the grid.
4
+ */
5
+
6
+ :root {
7
+ --st-space-1: 4px;
8
+ --st-space-2: 8px;
9
+ --st-space-3: 12px;
10
+ --st-space-4: 16px;
11
+ --st-space-6: 24px;
12
+ --st-space-8: 32px;
13
+ --st-space-10: 40px;
14
+ --st-space-12: 48px;
15
+ --st-space-16: 64px;
16
+ }
@@ -1,36 +1,44 @@
1
- @use "base";
2
- @use "breakpoints";
3
- @use "colors";
4
- @use "focus-outline";
5
- @use "scrollbar";
6
- @use "shadows";
7
- @use "sizes";
8
- @use "typography";
1
+ @use "./primitives/color-primitives";
2
+ @use "./primitives/spacing-primitives";
3
+
4
+ @use "./base";
5
+ @use "./breakpoints";
6
+ @use "./colors";
7
+ @use "./focus-outline";
8
+ @use "./scrollbar";
9
+ @use "./shadows";
10
+ @use "./sizes";
11
+ @use "./typography";
12
+ @use "./semantics/color-semantic";
9
13
 
10
14
  // Components
11
- @use "components/action-menu";
12
- @use "components/avatar";
13
- @use "components/accordion";
14
- @use "components/button";
15
- @use "components/card";
16
- @use "components/checkbox";
17
- @use "components/divider";
18
- @use "components/grid";
19
- @use "components/icon";
20
- @use "components/input-field";
21
- @use "components/item";
22
- @use "components/modal";
23
- @use "components/number-display";
24
- @use "components/notification";
25
- @use "components/overlay";
26
- @use "components/pagination";
27
- @use "components/progress";
28
- @use "components/segmented-control";
29
- @use "components/select";
30
- @use "components/slider";
31
- @use "components/spinner";
32
- @use "components/table";
33
- @use "components/tag";
34
- @use "components/text-stack";
35
- @use "components/toggle";
36
- @use "components/tooltip";
15
+ @use "./components/action-menu";
16
+ @use "./components/alert";
17
+ @use "./components/avatar";
18
+ @use "./components/accordion";
19
+ @use "./components/button";
20
+ @use "./components/card";
21
+ @use "./components/checkbox";
22
+ @use "./components/divider";
23
+ @use "./components/grid";
24
+ @use "./components/icon";
25
+ @use "./components/input-field";
26
+ @use "./components/item";
27
+ @use "./components/modal";
28
+ @use "./components/number-display";
29
+ @use "./components/notification";
30
+ @use "./components/overlay";
31
+ @use "./components/pagination";
32
+ @use "./components/progress";
33
+ @use "./components/radio";
34
+ @use "./components/segmented-control";
35
+ @use "./components/select";
36
+ @use "./components/slider";
37
+ @use "./components/spinner";
38
+ @use "./components/table";
39
+ @use "./components/tag";
40
+ @use "./components/tabs";
41
+ @use "./components/text-stack";
42
+ @use "./components/toggle";
43
+ @use "./components/tooltip";
44
+ @use "./components/sidemenu";
@@ -0,0 +1,121 @@
1
+ :root {
2
+ /* --- Background --- */
3
+ --st-color-bg-default: var(--st-color-neutral-100);
4
+ --st-color-bg-subtle: var(--st-color-neutral-0);
5
+ --st-color-bg-raised: var(--st-color-neutral-0);
6
+ --st-color-bg-overlay: var(--st-color-neutral-0);
7
+ --st-color-bg-inverse: var(--st-color-neutral-900);
8
+ --st-color-bg-disabled: var(--st-color-neutral-100);
9
+
10
+ /* --- Text --- */
11
+ --st-color-text-primary: var(--st-color-neutral-900);
12
+ --st-color-text-secondary: var(--st-color-neutral-600);
13
+ --st-color-text-tertiary: var(--st-color-neutral-400);
14
+ --st-color-text-disabled: var(--st-color-neutral-300);
15
+ --st-color-text-inverse: var(--st-color-neutral-0);
16
+ --st-color-text-on-accent: var(--st-color-neutral-0);
17
+ --st-color-text-link: var(--st-color-blue-600);
18
+ --st-color-text-link-hover: var(--st-color-blue-700);
19
+
20
+ /* --- Accent (interactive / brand) --- */
21
+ --st-color-accent-default: var(--st-color-orange-600);
22
+ --st-color-accent-hover: var(--st-color-orange-700);
23
+ --st-color-accent-active: var(--st-color-orange-800);
24
+ --st-color-accent-subtle: var(--st-color-orange-50);
25
+ --st-color-accent-text: var(--st-color-orange-700);
26
+
27
+
28
+ /* --- Feedback: Error --- */
29
+ --st-color-feedback-error-default: var(--st-color-red-500);
30
+ --st-color-feedback-error-hover: var(--st-color-red-600);
31
+ --st-color-feedback-error-subtle: var(--st-color-red-50);
32
+ --st-color-feedback-error-border: var(--st-color-red-300);
33
+ --st-color-feedback-error-text: var(--st-color-red-700);
34
+
35
+ /* --- Feedback: Warning --- */
36
+ --st-color-feedback-warning-default: var(--st-color-yellow-400);
37
+ --st-color-feedback-warning-hover: var(--st-color-yellow-500);
38
+ --st-color-feedback-warning-subtle: var(--st-color-yellow-50);
39
+ --st-color-feedback-warning-border: var(--st-color-yellow-300);
40
+ --st-color-feedback-warning-text: var(--st-color-yellow-800);
41
+
42
+ /* --- Feedback: Success --- */
43
+ --st-color-feedback-success-default: var(--st-color-green-500);
44
+ --st-color-feedback-success-hover: var(--st-color-green-600);
45
+ --st-color-feedback-success-subtle: var(--st-color-green-100);
46
+ --st-color-feedback-success-border: var(--st-color-green-300);
47
+ --st-color-feedback-success-text: var(--st-color-green-700);
48
+
49
+ /* --- Feedback: Info --- */
50
+ --st-color-feedback-info-default: var(--st-color-blue-500);
51
+ --st-color-feedback-info-hover: var(--st-color-blue-600);
52
+ --st-color-feedback-info-subtle: var(--st-color-blue-100);
53
+ --st-color-feedback-info-border: var(--st-color-blue-300);
54
+ --st-color-feedback-info-text: var(--st-color-blue-800);
55
+
56
+
57
+ --st-color-input-default: var(--st-color-neutral-200);
58
+ --st-color-input-disabled: var(--st-color-neutral-100);
59
+ --st-color-input-hover: var(--st-color-neutral-300);
60
+ }
61
+
62
+
63
+ :root[data-theme="dark"] {
64
+ /* --- Background --- */
65
+ --st-color-bg-default: var(--st-color-neutral-950);
66
+ --st-color-bg-subtle: var(--st-color-neutral-900);
67
+ --st-color-bg-raised: var(--st-color-neutral-800);
68
+ --st-color-bg-overlay: var(--st-color-neutral-800);
69
+ --st-color-bg-inverse: var(--st-color-neutral-0);
70
+ --st-color-bg-disabled: var(--st-color-neutral-800);
71
+
72
+ /* --- Text --- */
73
+ --st-color-text-primary: var(--st-color-neutral-50);
74
+ --st-color-text-secondary: var(--st-color-neutral-400);
75
+ --st-color-text-tertiary: var(--st-color-neutral-600);
76
+ --st-color-text-disabled: var(--st-color-neutral-700);
77
+ --st-color-text-inverse: var(--st-color-neutral-900);
78
+ --st-color-text-on-accent: var(--st-color-neutral-0);
79
+ --st-color-text-link: var(--st-color-blue-400);
80
+ --st-color-text-link-hover: var(--st-color-blue-300);
81
+
82
+ /* --- Accent --- */
83
+ --st-color-accent-default: var(--st-color-orange-500);
84
+ --st-color-accent-hover: var(--st-color-orange-400);
85
+ --st-color-accent-active: var(--st-color-orange-300);
86
+ --st-color-accent-subtle: var(--st-color-orange-900);
87
+ --st-color-accent-text: var(--st-color-orange-400);
88
+
89
+ /* --- Feedback: Error --- */
90
+ --st-color-feedback-error-default: var(--st-color-red-400);
91
+ --st-color-feedback-error-hover: var(--st-color-red-300);
92
+ --st-color-feedback-error-subtle: var(--st-color-red-800);
93
+ --st-color-feedback-error-border: var(--st-color-red-700);
94
+ --st-color-feedback-error-text: var(--st-color-red-200);
95
+
96
+
97
+ /* --- Feedback: Warning --- */
98
+ --st-color-feedback-warning-default: var(--st-color-yellow-400);
99
+ --st-color-feedback-warning-hover: var(--st-color-yellow-300);
100
+ --st-color-feedback-warning-subtle: var(--st-color-yellow-900);
101
+ --st-color-feedback-warning-border: var(--st-color-yellow-700);
102
+ --st-color-feedback-warning-text: var(--st-color-yellow-300);
103
+
104
+ /* --- Feedback: Success --- */
105
+ --st-color-feedback-success-default: var(--st-color-green-400);
106
+ --st-color-feedback-success-hover: var(--st-color-green-300);
107
+ --st-color-feedback-success-subtle: var(--st-color-green-900);
108
+ --st-color-feedback-success-border: var(--st-color-green-700);
109
+ --st-color-feedback-success-text: var(--st-color-green-300);
110
+
111
+ /* --- Feedback: Info --- */
112
+ --st-color-feedback-info-default: var(--st-color-blue-400);
113
+ --st-color-feedback-info-hover: var(--st-color-blue-300);
114
+ --st-color-feedback-info-subtle: var(--st-color-blue-900);
115
+ --st-color-feedback-info-border: var(--st-color-blue-700);
116
+ --st-color-feedback-info-text: var(--st-color-blue-300);
117
+
118
+ --st-color-input-default: var(--st-color-neutral-800);
119
+ --st-color-input-disabled: var(--st-color-neutral-900);
120
+ --st-color-input-hover: var(--st-color-neutral-700);
121
+ }
@@ -9,58 +9,148 @@
9
9
  --st-font-xxxxl: 60px;
10
10
  --st-font-xxxxxl: 72px;
11
11
 
12
- --st-font-weight-thin: 300;
13
- --st-font-weight-normal: 500;
14
- --st-font-weight-bold: 700;
15
- --st-font-weight-heavy: 900;
12
+ --st-font-weight-light: 300;
13
+ --st-font-weight-regular: 400;
14
+ --st-font-weight-medium: 500;
15
+ --st-font-weight-semibold: 600;
16
+ --st-font-weight-bold: 800;
17
+
18
+ --st-font-mono: ui-monospace, monospace;
16
19
  }
17
20
 
18
- h1 {
19
- font-size: var(--st-font-xxxl);
20
- font-weight: var(--st-font-weight-heavy);
21
- letter-spacing: 0.05rem;
21
+ a {
22
+ color: var(--st-color-text-secondary);
23
+
24
+ width: 100%;
22
25
  }
23
26
 
24
- h2 {
25
- font-size: var(--st-font-xxl);
27
+ .st-label {
28
+ font-size: 0.75rem;
29
+ font-weight: var(--st-font-weight-semibold);
30
+ text-transform: uppercase;
31
+ letter-spacing: 0.05em;
32
+ color: var(--st-color-text-tertiary);
33
+
26
34
  }
27
35
 
28
- h3 {
29
- font-size: var(--st-font-xl);
36
+ /* --- Typography utility classes --- */
37
+
38
+ .st-headline-xl {
39
+ font-size: 4.5rem;
40
+ font-weight: var(--st-font-weight-bold);
41
+ line-height: 1.1;
30
42
  }
31
43
 
32
- h4 {
33
- font-size: var(--st-font-lg);
44
+ .st-headline-l {
45
+ font-size: 3rem;
46
+ font-weight: var(--st-font-weight-bold);
47
+ line-height: 1.15;
34
48
  }
35
49
 
36
- h5 {
37
- font-size: var(--st-font-md);
50
+ .st-headline-m {
51
+ font-size: 2rem;
52
+ font-weight: var(--st-font-weight-semibold);
53
+ line-height: 1.2;
38
54
  }
39
55
 
40
- h6 {
41
- font-size: var(--st-font-sm);
56
+ .st-headline-s {
57
+ font-size: 1.5rem;
58
+ font-weight: var(--st-font-weight-semibold);
59
+ line-height: 1.25;
42
60
  }
43
61
 
44
- a {
45
- color: var(--st-text-muted);
46
- width: 100%;
62
+ .st-body-l {
63
+ font-size: 1.125rem;
64
+ font-weight: var(--st-font-weight-regular);
65
+ line-height: 1.5;
66
+ }
67
+
68
+ .st-body-l-bold {
69
+ font-size: 1.125rem;
70
+ font-weight: var(--st-font-weight-bold);
71
+ line-height: 1.5;
72
+ }
73
+
74
+ .st-body,
75
+ p,
76
+ ol,
77
+ ul,
78
+ li {
79
+ font-size: 1rem;
80
+ font-weight: var(--st-font-weight-regular);
81
+ line-height: 1.5;
82
+ }
83
+
84
+ .st-body-bold {
85
+ font-size: 1rem;
86
+ font-weight: var(--st-font-weight-bold);
87
+ line-height: 1.5;
47
88
  }
48
89
 
49
- p {
50
- font-size: var(--st-font-md);
51
- line-height: 1.4rem;
90
+ .st-body-s {
91
+ font-size: 0.875rem;
92
+ font-weight: var(--st-font-weight-regular);
93
+ line-height: 1.5;
94
+ color: var(--st-color-text-secondary);
95
+
96
+ }
97
+
98
+ .st-body-xs {
99
+ font-size: 0.75rem;
100
+ font-weight: var(--st-font-weight-regular);
101
+ line-height: 1.5;
102
+ color: var(--st-color-text-secondary);
103
+
52
104
  }
53
105
 
54
- label {
55
- font-weight: var(--st-font-weight-thin);
56
- font-size: var(--st-font-sm);
57
- margin-left: var(--st-size-xxs);
58
- margin-right: var(--st-size-xxs);
59
- margin-block-start: var(--st-size-xxs);
60
- margin-block-end: var(--st-size-xxs);
106
+ .st-mono {
107
+ font-family: var(--st-font-mono);
108
+ font-size: 1rem;
109
+ font-weight: var(--st-font-weight-regular);
110
+ line-height: 1.5;
61
111
  }
62
112
 
63
- [subtitle] {
64
- font-size: var(--st-font-sm);
65
- color: var(--st-text-muted);
113
+ .st-mono-s {
114
+ font-family: var(--st-font-mono);
115
+ font-size: 0.875rem;
116
+ font-weight: var(--st-font-weight-regular);
117
+ line-height: 1.5;
118
+ }
119
+
120
+ /* --- Responsive headline scaling --- */
121
+
122
+ @media (max-width: 768px) {
123
+ .st-headline-xl {
124
+ font-size: 3rem;
125
+ }
126
+
127
+ .st-headline-l {
128
+ font-size: 2.25rem;
129
+ }
130
+
131
+ .st-headline-m {
132
+ font-size: 1.75rem;
133
+ }
134
+
135
+ .st-headline-s {
136
+ font-size: 1.25rem;
137
+ }
66
138
  }
139
+
140
+ @media (max-width: 480px) {
141
+ .st-headline-xl {
142
+ font-size: 2.5rem;
143
+ }
144
+
145
+ .st-headline-l {
146
+ font-size: 1.75rem;
147
+ }
148
+
149
+ .st-headline-m {
150
+ font-size: 1.5rem;
151
+ }
152
+
153
+ .st-headline-s {
154
+ font-size: 1.125rem;
155
+ }
156
+ }