@semanticus/semanticus-css 0.9.0 → 1.0.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 (144) hide show
  1. package/NOTICE +16 -16
  2. package/README.md +128 -29
  3. package/dist/semanticus-no-utilities.css +11 -0
  4. package/dist/semanticus-semantics.css +3 -4
  5. package/dist/semanticus-utilities.css +11 -0
  6. package/dist/semanticus.css +4 -12
  7. package/dist/semanticus.palette.amber.css +1 -1
  8. package/dist/semanticus.palette.azure.css +1 -0
  9. package/dist/semanticus.palette.blue.css +1 -1
  10. package/dist/semanticus.palette.cyan.css +1 -1
  11. package/dist/semanticus.palette.fuchsia.css +1 -1
  12. package/dist/semanticus.palette.green.css +1 -1
  13. package/dist/semanticus.palette.grey.css +1 -1
  14. package/dist/semanticus.palette.indigo.css +1 -1
  15. package/dist/semanticus.palette.jade.css +1 -1
  16. package/dist/semanticus.palette.lime.css +1 -1
  17. package/dist/semanticus.palette.orange.css +1 -1
  18. package/dist/semanticus.palette.pink.css +1 -1
  19. package/dist/semanticus.palette.pumpkin.css +1 -1
  20. package/dist/semanticus.palette.purple.css +1 -1
  21. package/dist/semanticus.palette.red.css +1 -1
  22. package/dist/semanticus.palette.sand.css +1 -1
  23. package/dist/semanticus.palette.slate.css +1 -1
  24. package/dist/semanticus.palette.violet.css +1 -1
  25. package/dist/semanticus.palette.yellow.css +1 -1
  26. package/dist/semanticus.palette.zinc.css +1 -1
  27. package/dist/semanticus.size.pico.css +1 -1
  28. package/package.json +24 -15
  29. package/src/components/_card.css +84 -0
  30. package/src/{variants → components}/_sidebar.css +3 -5
  31. package/src/components/modules.css +2 -0
  32. package/src/index.css +8 -10
  33. package/src/no-utilities.css +22 -0
  34. package/src/palettes/amber.css +28 -53
  35. package/src/palettes/azure.css +31 -0
  36. package/src/palettes/blue.css +28 -53
  37. package/src/palettes/cyan.css +28 -53
  38. package/src/palettes/fuchsia.css +28 -53
  39. package/src/palettes/green.css +28 -53
  40. package/src/palettes/grey.css +28 -53
  41. package/src/palettes/indigo.css +28 -53
  42. package/src/palettes/jade.css +28 -53
  43. package/src/palettes/lime.css +28 -53
  44. package/src/palettes/orange.css +28 -53
  45. package/src/palettes/pink.css +28 -53
  46. package/src/palettes/pumpkin.css +28 -53
  47. package/src/palettes/purple.css +28 -53
  48. package/src/palettes/red.css +28 -53
  49. package/src/palettes/sand.css +28 -53
  50. package/src/palettes/slate.css +28 -53
  51. package/src/palettes/violet.css +28 -53
  52. package/src/palettes/yellow.css +28 -53
  53. package/src/palettes/zinc.css +28 -53
  54. package/src/semantics/attributes/_aria-busy.css +0 -3
  55. package/src/semantics/attributes/_hidden.css +0 -3
  56. package/src/semantics/attributes/_role-group-search.css +11 -14
  57. package/src/semantics/attributes/_role-toolbar.css +2 -5
  58. package/src/semantics/attributes/_role-tooltip.css +6 -9
  59. package/src/semantics/elements/_article.css +0 -3
  60. package/src/semantics/elements/_aside.css +1 -7
  61. package/src/semantics/elements/_blockquote.css +2 -2
  62. package/src/semantics/elements/_body.css +1 -4
  63. package/src/semantics/elements/_button.css +23 -26
  64. package/src/semantics/elements/_code.css +5 -8
  65. package/src/semantics/elements/_del.css +1 -1
  66. package/src/semantics/elements/_details.css +39 -40
  67. package/src/semantics/elements/_dialog.css +13 -17
  68. package/src/semantics/elements/_document.css +10 -4
  69. package/src/semantics/elements/_embedded.css +0 -3
  70. package/src/semantics/elements/_figure.css +0 -3
  71. package/src/semantics/elements/_footer.css +0 -3
  72. package/src/semantics/elements/_header.css +0 -3
  73. package/src/semantics/elements/_headings.css +7 -17
  74. package/src/semantics/elements/_hgroup.css +1 -1
  75. package/src/semantics/elements/_hr.css +1 -4
  76. package/src/semantics/elements/_input.css +33 -36
  77. package/src/semantics/elements/_ins.css +1 -1
  78. package/src/semantics/elements/_links.css +22 -18
  79. package/src/semantics/elements/_main.css +0 -4
  80. package/src/semantics/elements/_mark.css +2 -2
  81. package/src/semantics/elements/_nav.css +5 -8
  82. package/src/semantics/elements/_progress.css +5 -8
  83. package/src/semantics/elements/_section.css +0 -3
  84. package/src/semantics/elements/_small.css +3 -0
  85. package/src/semantics/elements/_table.css +3 -5
  86. package/src/semantics/elements/_type-checkbox-radio.css +19 -22
  87. package/src/semantics/elements/_type-color.css +2 -5
  88. package/src/semantics/elements/_type-date.css +1 -4
  89. package/src/semantics/elements/_type-file.css +7 -10
  90. package/src/semantics/elements/_type-range.css +11 -14
  91. package/src/semantics/elements/_type-search.css +6 -10
  92. package/src/semantics/index.css +2 -5
  93. package/src/semantics/modules.css +1 -7
  94. package/src/sizes/pico.css +20 -33
  95. package/src/utilities/_grid.css +306 -0
  96. package/src/utilities/_variables.css +27 -42
  97. package/src/utilities/borders/_border-radius.css +54 -79
  98. package/src/utilities/borders/_border-style.css +15 -5
  99. package/src/utilities/borders/_border-width.css +0 -28
  100. package/src/utilities/colors/_bg-colors.css +75 -0
  101. package/src/utilities/colors/_border-colors.css +17 -39
  102. package/src/utilities/colors/_subtle-colors.css +145 -0
  103. package/src/utilities/colors/_text-bg-colors.css +62 -0
  104. package/src/utilities/colors/_text-colors.css +32 -409
  105. package/src/utilities/effects/_focus-ring.css +33 -0
  106. package/src/utilities/effects/_shadows.css +0 -33
  107. package/src/utilities/index.css +16 -0
  108. package/src/utilities/layout/_misc.css +2 -5
  109. package/src/utilities/layout/{_grid.css → _ratio.css} +0 -19
  110. package/src/utilities/modules.css +9 -3
  111. package/src/utilities/sizing/_width.css +8 -0
  112. package/src/utilities/spacing/_gap.css +144 -144
  113. package/src/utilities/spacing/_margin.css +324 -324
  114. package/src/utilities/spacing/_padding.css +324 -324
  115. package/src/utilities/typography/_font-sizes.css +6 -6
  116. package/src/variables/_all.css +2 -20
  117. package/src/variables/_elements.css +29 -28
  118. package/src/variables/_theme.css +336 -0
  119. package/src/variants/_variables.css +24 -0
  120. package/src/variants/intent/_contrast.css +46 -0
  121. package/src/variants/intent/_danger.css +38 -0
  122. package/src/variants/intent/_info.css +38 -0
  123. package/src/variants/intent/_primary.css +38 -0
  124. package/src/variants/intent/_secondary.css +38 -0
  125. package/src/variants/intent/_success.css +38 -0
  126. package/src/variants/intent/_warning.css +38 -0
  127. package/src/variants/{_container.css → modifiers/_container.css} +3 -10
  128. package/src/variants/modifiers/_ghost.css +164 -0
  129. package/src/variants/modifiers/_striped.css +11 -0
  130. package/src/variants/modifiers/_subtle.css +133 -0
  131. package/src/variants/modules.css +12 -14
  132. package/src/_normalize.css +0 -214
  133. package/src/semantics/_misc.css +0 -3
  134. package/src/utilities/colors/_background-colors.css +0 -248
  135. package/src/variables/_colors.css +0 -355
  136. package/src/variables/_components.css +0 -330
  137. package/src/variables/_icons.css +0 -55
  138. package/src/variables/_layout.css +0 -123
  139. package/src/variants/_contained.css +0 -43
  140. package/src/variants/_contrast.css +0 -61
  141. package/src/variants/_ghost.css +0 -68
  142. package/src/variants/_pane-panel-card.css +0 -54
  143. package/src/variants/_secondary.css +0 -48
  144. package/src/variants/_striped.css +0 -10
@@ -0,0 +1,306 @@
1
+ /* ======================================================================
2
+ Responsive 12-Column Grid
3
+ -----------------------------------------------------------------------
4
+ Implemented with CSS Flexbox and logical properties.
5
+ Mobile-first: all columns default to full width; size modifiers
6
+ override at their breakpoint. Gutter controlled via --grid-gutter-x.
7
+
8
+ Breakpoints (inherit from src/variables/_breakpoints.css):
9
+ (default) — all widths (no media query)
10
+ sm — min-width: 576px
11
+ md — min-width: 768px
12
+ lg — min-width: 1024px
13
+
14
+ Alignment, ordering, and reversing use existing flexbox utilities:
15
+ .justify-content-* horizontal alignment on .row
16
+ .align-items-* vertical alignment on .row
17
+ .order-first / .order-last column ordering
18
+ .flex-row-reverse reverse column order on .row
19
+ ====================================================================== */
20
+
21
+ /* --- Row -------------------------------------------------------------- */
22
+
23
+ .row {
24
+ display: flex;
25
+ flex-wrap: wrap;
26
+ margin-inline: calc(var(--grid-gutter-x) / -2);
27
+ row-gap: var(--grid-gutter-y);
28
+ }
29
+
30
+ /* --- Column base ------------------------------------------------------ */
31
+ /*
32
+ * All col-* elements default to full width (mobile-first stacking).
33
+ * Responsive size classes and explicit col-N classes override this.
34
+ */
35
+
36
+ [class*="col-"],
37
+ .col {
38
+ box-sizing: border-box;
39
+ flex: 0 0 100%;
40
+ max-width: 100%;
41
+ min-width: 0;
42
+ padding-inline: calc(var(--grid-gutter-x) / 2);
43
+ }
44
+
45
+ /* ======================================================================
46
+ Default — all screen sizes (no media query)
47
+ ====================================================================== */
48
+
49
+ /* Auto-width: equal share of remaining row space */
50
+ .col {
51
+ flex: 1 1 0;
52
+ }
53
+
54
+ /* Fixed-width columns 1–12 */
55
+ .col-1 { flex: 0 0 calc( 1 / 12 * 100%); max-width: calc( 1 / 12 * 100%); }
56
+ .col-2 { flex: 0 0 calc( 2 / 12 * 100%); max-width: calc( 2 / 12 * 100%); }
57
+ .col-3 { flex: 0 0 calc( 3 / 12 * 100%); max-width: calc( 3 / 12 * 100%); }
58
+ .col-4 { flex: 0 0 calc( 4 / 12 * 100%); max-width: calc( 4 / 12 * 100%); }
59
+ .col-5 { flex: 0 0 calc( 5 / 12 * 100%); max-width: calc( 5 / 12 * 100%); }
60
+ .col-6 { flex: 0 0 calc( 6 / 12 * 100%); max-width: calc( 6 / 12 * 100%); }
61
+ .col-7 { flex: 0 0 calc( 7 / 12 * 100%); max-width: calc( 7 / 12 * 100%); }
62
+ .col-8 { flex: 0 0 calc( 8 / 12 * 100%); max-width: calc( 8 / 12 * 100%); }
63
+ .col-9 { flex: 0 0 calc( 9 / 12 * 100%); max-width: calc( 9 / 12 * 100%); }
64
+ .col-10 { flex: 0 0 calc(10 / 12 * 100%); max-width: calc(10 / 12 * 100%); }
65
+ .col-11 { flex: 0 0 calc(11 / 12 * 100%); max-width: calc(11 / 12 * 100%); }
66
+ .col-12 { flex: 0 0 100%; max-width: 100%; }
67
+
68
+ /* Offsets */
69
+ .col-offset-0 { margin-inline-start: 0; }
70
+ .col-offset-1 { margin-inline-start: calc( 1 / 12 * 100%); }
71
+ .col-offset-2 { margin-inline-start: calc( 2 / 12 * 100%); }
72
+ .col-offset-3 { margin-inline-start: calc( 3 / 12 * 100%); }
73
+ .col-offset-4 { margin-inline-start: calc( 4 / 12 * 100%); }
74
+ .col-offset-5 { margin-inline-start: calc( 5 / 12 * 100%); }
75
+ .col-offset-6 { margin-inline-start: calc( 6 / 12 * 100%); }
76
+ .col-offset-7 { margin-inline-start: calc( 7 / 12 * 100%); }
77
+ .col-offset-8 { margin-inline-start: calc( 8 / 12 * 100%); }
78
+ .col-offset-9 { margin-inline-start: calc( 9 / 12 * 100%); }
79
+ .col-offset-10 { margin-inline-start: calc(10 / 12 * 100%); }
80
+ .col-offset-11 { margin-inline-start: calc(11 / 12 * 100%); }
81
+
82
+ /* ======================================================================
83
+ sm — min-width: 576px
84
+ ====================================================================== */
85
+
86
+ @media (--breakpoint-sm) {
87
+ .col-sm {
88
+ flex: 1 1 0;
89
+ max-width: 100%;
90
+ }
91
+
92
+ .col-sm-1 { flex: 0 0 calc( 1 / 12 * 100%); max-width: calc( 1 / 12 * 100%); }
93
+ .col-sm-2 { flex: 0 0 calc( 2 / 12 * 100%); max-width: calc( 2 / 12 * 100%); }
94
+ .col-sm-3 { flex: 0 0 calc( 3 / 12 * 100%); max-width: calc( 3 / 12 * 100%); }
95
+ .col-sm-4 { flex: 0 0 calc( 4 / 12 * 100%); max-width: calc( 4 / 12 * 100%); }
96
+ .col-sm-5 { flex: 0 0 calc( 5 / 12 * 100%); max-width: calc( 5 / 12 * 100%); }
97
+ .col-sm-6 { flex: 0 0 calc( 6 / 12 * 100%); max-width: calc( 6 / 12 * 100%); }
98
+ .col-sm-7 { flex: 0 0 calc( 7 / 12 * 100%); max-width: calc( 7 / 12 * 100%); }
99
+ .col-sm-8 { flex: 0 0 calc( 8 / 12 * 100%); max-width: calc( 8 / 12 * 100%); }
100
+ .col-sm-9 { flex: 0 0 calc( 9 / 12 * 100%); max-width: calc( 9 / 12 * 100%); }
101
+ .col-sm-10 { flex: 0 0 calc(10 / 12 * 100%); max-width: calc(10 / 12 * 100%); }
102
+ .col-sm-11 { flex: 0 0 calc(11 / 12 * 100%); max-width: calc(11 / 12 * 100%); }
103
+ .col-sm-12 { flex: 0 0 100%; max-width: 100%; }
104
+
105
+ .col-offset-sm-0 { margin-inline-start: 0; }
106
+ .col-offset-sm-1 { margin-inline-start: calc( 1 / 12 * 100%); }
107
+ .col-offset-sm-2 { margin-inline-start: calc( 2 / 12 * 100%); }
108
+ .col-offset-sm-3 { margin-inline-start: calc( 3 / 12 * 100%); }
109
+ .col-offset-sm-4 { margin-inline-start: calc( 4 / 12 * 100%); }
110
+ .col-offset-sm-5 { margin-inline-start: calc( 5 / 12 * 100%); }
111
+ .col-offset-sm-6 { margin-inline-start: calc( 6 / 12 * 100%); }
112
+ .col-offset-sm-7 { margin-inline-start: calc( 7 / 12 * 100%); }
113
+ .col-offset-sm-8 { margin-inline-start: calc( 8 / 12 * 100%); }
114
+ .col-offset-sm-9 { margin-inline-start: calc( 9 / 12 * 100%); }
115
+ .col-offset-sm-10 { margin-inline-start: calc(10 / 12 * 100%); }
116
+ .col-offset-sm-11 { margin-inline-start: calc(11 / 12 * 100%); }
117
+ }
118
+
119
+ /* ======================================================================
120
+ md — min-width: 768px
121
+ ====================================================================== */
122
+
123
+ @media (--breakpoint-md) {
124
+ .col-md {
125
+ flex: 1 1 0;
126
+ max-width: 100%;
127
+ }
128
+
129
+ .col-md-1 { flex: 0 0 calc( 1 / 12 * 100%); max-width: calc( 1 / 12 * 100%); }
130
+ .col-md-2 { flex: 0 0 calc( 2 / 12 * 100%); max-width: calc( 2 / 12 * 100%); }
131
+ .col-md-3 { flex: 0 0 calc( 3 / 12 * 100%); max-width: calc( 3 / 12 * 100%); }
132
+ .col-md-4 { flex: 0 0 calc( 4 / 12 * 100%); max-width: calc( 4 / 12 * 100%); }
133
+ .col-md-5 { flex: 0 0 calc( 5 / 12 * 100%); max-width: calc( 5 / 12 * 100%); }
134
+ .col-md-6 { flex: 0 0 calc( 6 / 12 * 100%); max-width: calc( 6 / 12 * 100%); }
135
+ .col-md-7 { flex: 0 0 calc( 7 / 12 * 100%); max-width: calc( 7 / 12 * 100%); }
136
+ .col-md-8 { flex: 0 0 calc( 8 / 12 * 100%); max-width: calc( 8 / 12 * 100%); }
137
+ .col-md-9 { flex: 0 0 calc( 9 / 12 * 100%); max-width: calc( 9 / 12 * 100%); }
138
+ .col-md-10 { flex: 0 0 calc(10 / 12 * 100%); max-width: calc(10 / 12 * 100%); }
139
+ .col-md-11 { flex: 0 0 calc(11 / 12 * 100%); max-width: calc(11 / 12 * 100%); }
140
+ .col-md-12 { flex: 0 0 100%; max-width: 100%; }
141
+
142
+ .col-offset-md-0 { margin-inline-start: 0; }
143
+ .col-offset-md-1 { margin-inline-start: calc( 1 / 12 * 100%); }
144
+ .col-offset-md-2 { margin-inline-start: calc( 2 / 12 * 100%); }
145
+ .col-offset-md-3 { margin-inline-start: calc( 3 / 12 * 100%); }
146
+ .col-offset-md-4 { margin-inline-start: calc( 4 / 12 * 100%); }
147
+ .col-offset-md-5 { margin-inline-start: calc( 5 / 12 * 100%); }
148
+ .col-offset-md-6 { margin-inline-start: calc( 6 / 12 * 100%); }
149
+ .col-offset-md-7 { margin-inline-start: calc( 7 / 12 * 100%); }
150
+ .col-offset-md-8 { margin-inline-start: calc( 8 / 12 * 100%); }
151
+ .col-offset-md-9 { margin-inline-start: calc( 9 / 12 * 100%); }
152
+ .col-offset-md-10 { margin-inline-start: calc(10 / 12 * 100%); }
153
+ .col-offset-md-11 { margin-inline-start: calc(11 / 12 * 100%); }
154
+ }
155
+
156
+ /* ======================================================================
157
+ lg — min-width: 1024px
158
+ ====================================================================== */
159
+
160
+ @media (--breakpoint-lg) {
161
+ .col-lg {
162
+ flex: 1 1 0;
163
+ max-width: 100%;
164
+ }
165
+
166
+ .col-lg-1 { flex: 0 0 calc( 1 / 12 * 100%); max-width: calc( 1 / 12 * 100%); }
167
+ .col-lg-2 { flex: 0 0 calc( 2 / 12 * 100%); max-width: calc( 2 / 12 * 100%); }
168
+ .col-lg-3 { flex: 0 0 calc( 3 / 12 * 100%); max-width: calc( 3 / 12 * 100%); }
169
+ .col-lg-4 { flex: 0 0 calc( 4 / 12 * 100%); max-width: calc( 4 / 12 * 100%); }
170
+ .col-lg-5 { flex: 0 0 calc( 5 / 12 * 100%); max-width: calc( 5 / 12 * 100%); }
171
+ .col-lg-6 { flex: 0 0 calc( 6 / 12 * 100%); max-width: calc( 6 / 12 * 100%); }
172
+ .col-lg-7 { flex: 0 0 calc( 7 / 12 * 100%); max-width: calc( 7 / 12 * 100%); }
173
+ .col-lg-8 { flex: 0 0 calc( 8 / 12 * 100%); max-width: calc( 8 / 12 * 100%); }
174
+ .col-lg-9 { flex: 0 0 calc( 9 / 12 * 100%); max-width: calc( 9 / 12 * 100%); }
175
+ .col-lg-10 { flex: 0 0 calc(10 / 12 * 100%); max-width: calc(10 / 12 * 100%); }
176
+ .col-lg-11 { flex: 0 0 calc(11 / 12 * 100%); max-width: calc(11 / 12 * 100%); }
177
+ .col-lg-12 { flex: 0 0 100%; max-width: 100%; }
178
+
179
+ .col-offset-lg-0 { margin-inline-start: 0; }
180
+ .col-offset-lg-1 { margin-inline-start: calc( 1 / 12 * 100%); }
181
+ .col-offset-lg-2 { margin-inline-start: calc( 2 / 12 * 100%); }
182
+ .col-offset-lg-3 { margin-inline-start: calc( 3 / 12 * 100%); }
183
+ .col-offset-lg-4 { margin-inline-start: calc( 4 / 12 * 100%); }
184
+ .col-offset-lg-5 { margin-inline-start: calc( 5 / 12 * 100%); }
185
+ .col-offset-lg-6 { margin-inline-start: calc( 6 / 12 * 100%); }
186
+ .col-offset-lg-7 { margin-inline-start: calc( 7 / 12 * 100%); }
187
+ .col-offset-lg-8 { margin-inline-start: calc( 8 / 12 * 100%); }
188
+ .col-offset-lg-9 { margin-inline-start: calc( 9 / 12 * 100%); }
189
+ .col-offset-lg-10 { margin-inline-start: calc(10 / 12 * 100%); }
190
+ .col-offset-lg-11 { margin-inline-start: calc(11 / 12 * 100%); }
191
+ }
192
+
193
+ /* ======================================================================
194
+ Gutter classes — control --grid-gutter-x (horizontal) and/or
195
+ --grid-gutter-y (vertical) on a .row.
196
+
197
+ .g-* — both axes
198
+ .gx-* — horizontal axis only
199
+ .gy-* — vertical axis only
200
+
201
+ Scale mirrors the spacing scale (0–5):
202
+ 0 → 0
203
+ 1 → --spacing-1 (× 0.25)
204
+ 2 → --spacing-2 (× 0.5)
205
+ 3 → --spacing-3 (× 1, default horizontal gutter)
206
+ 4 → --spacing-4 (× 1.5)
207
+ 5 → --spacing-5 (× 3)
208
+ ====================================================================== */
209
+
210
+ /* --- Default (all sizes) ---------------------------------------------- */
211
+
212
+ .g-0 { --grid-gutter-x: 0; --grid-gutter-y: 0; }
213
+ .g-1 { --grid-gutter-x: var(--spacing-1); --grid-gutter-y: var(--spacing-1); }
214
+ .g-2 { --grid-gutter-x: var(--spacing-2); --grid-gutter-y: var(--spacing-2); }
215
+ .g-3 { --grid-gutter-x: var(--spacing-3); --grid-gutter-y: var(--spacing-3); }
216
+ .g-4 { --grid-gutter-x: var(--spacing-4); --grid-gutter-y: var(--spacing-4); }
217
+ .g-5 { --grid-gutter-x: var(--spacing-5); --grid-gutter-y: var(--spacing-5); }
218
+
219
+ .gx-0 { --grid-gutter-x: 0; }
220
+ .gx-1 { --grid-gutter-x: var(--spacing-1); }
221
+ .gx-2 { --grid-gutter-x: var(--spacing-2); }
222
+ .gx-3 { --grid-gutter-x: var(--spacing-3); }
223
+ .gx-4 { --grid-gutter-x: var(--spacing-4); }
224
+ .gx-5 { --grid-gutter-x: var(--spacing-5); }
225
+
226
+ .gy-0 { --grid-gutter-y: 0; }
227
+ .gy-1 { --grid-gutter-y: var(--spacing-1); }
228
+ .gy-2 { --grid-gutter-y: var(--spacing-2); }
229
+ .gy-3 { --grid-gutter-y: var(--spacing-3); }
230
+ .gy-4 { --grid-gutter-y: var(--spacing-4); }
231
+ .gy-5 { --grid-gutter-y: var(--spacing-5); }
232
+
233
+ /* --- sm — min-width: 576px -------------------------------------------- */
234
+
235
+ @media (--breakpoint-sm) {
236
+ .g-sm-0 { --grid-gutter-x: 0; --grid-gutter-y: 0; }
237
+ .g-sm-1 { --grid-gutter-x: var(--spacing-1); --grid-gutter-y: var(--spacing-1); }
238
+ .g-sm-2 { --grid-gutter-x: var(--spacing-2); --grid-gutter-y: var(--spacing-2); }
239
+ .g-sm-3 { --grid-gutter-x: var(--spacing-3); --grid-gutter-y: var(--spacing-3); }
240
+ .g-sm-4 { --grid-gutter-x: var(--spacing-4); --grid-gutter-y: var(--spacing-4); }
241
+ .g-sm-5 { --grid-gutter-x: var(--spacing-5); --grid-gutter-y: var(--spacing-5); }
242
+
243
+ .gx-sm-0 { --grid-gutter-x: 0; }
244
+ .gx-sm-1 { --grid-gutter-x: var(--spacing-1); }
245
+ .gx-sm-2 { --grid-gutter-x: var(--spacing-2); }
246
+ .gx-sm-3 { --grid-gutter-x: var(--spacing-3); }
247
+ .gx-sm-4 { --grid-gutter-x: var(--spacing-4); }
248
+ .gx-sm-5 { --grid-gutter-x: var(--spacing-5); }
249
+
250
+ .gy-sm-0 { --grid-gutter-y: 0; }
251
+ .gy-sm-1 { --grid-gutter-y: var(--spacing-1); }
252
+ .gy-sm-2 { --grid-gutter-y: var(--spacing-2); }
253
+ .gy-sm-3 { --grid-gutter-y: var(--spacing-3); }
254
+ .gy-sm-4 { --grid-gutter-y: var(--spacing-4); }
255
+ .gy-sm-5 { --grid-gutter-y: var(--spacing-5); }
256
+ }
257
+
258
+ /* --- md — min-width: 768px -------------------------------------------- */
259
+
260
+ @media (--breakpoint-md) {
261
+ .g-md-0 { --grid-gutter-x: 0; --grid-gutter-y: 0; }
262
+ .g-md-1 { --grid-gutter-x: var(--spacing-1); --grid-gutter-y: var(--spacing-1); }
263
+ .g-md-2 { --grid-gutter-x: var(--spacing-2); --grid-gutter-y: var(--spacing-2); }
264
+ .g-md-3 { --grid-gutter-x: var(--spacing-3); --grid-gutter-y: var(--spacing-3); }
265
+ .g-md-4 { --grid-gutter-x: var(--spacing-4); --grid-gutter-y: var(--spacing-4); }
266
+ .g-md-5 { --grid-gutter-x: var(--spacing-5); --grid-gutter-y: var(--spacing-5); }
267
+
268
+ .gx-md-0 { --grid-gutter-x: 0; }
269
+ .gx-md-1 { --grid-gutter-x: var(--spacing-1); }
270
+ .gx-md-2 { --grid-gutter-x: var(--spacing-2); }
271
+ .gx-md-3 { --grid-gutter-x: var(--spacing-3); }
272
+ .gx-md-4 { --grid-gutter-x: var(--spacing-4); }
273
+ .gx-md-5 { --grid-gutter-x: var(--spacing-5); }
274
+
275
+ .gy-md-0 { --grid-gutter-y: 0; }
276
+ .gy-md-1 { --grid-gutter-y: var(--spacing-1); }
277
+ .gy-md-2 { --grid-gutter-y: var(--spacing-2); }
278
+ .gy-md-3 { --grid-gutter-y: var(--spacing-3); }
279
+ .gy-md-4 { --grid-gutter-y: var(--spacing-4); }
280
+ .gy-md-5 { --grid-gutter-y: var(--spacing-5); }
281
+ }
282
+
283
+ /* --- lg — min-width: 1024px ------------------------------------------- */
284
+
285
+ @media (--breakpoint-lg) {
286
+ .g-lg-0 { --grid-gutter-x: 0; --grid-gutter-y: 0; }
287
+ .g-lg-1 { --grid-gutter-x: var(--spacing-1); --grid-gutter-y: var(--spacing-1); }
288
+ .g-lg-2 { --grid-gutter-x: var(--spacing-2); --grid-gutter-y: var(--spacing-2); }
289
+ .g-lg-3 { --grid-gutter-x: var(--spacing-3); --grid-gutter-y: var(--spacing-3); }
290
+ .g-lg-4 { --grid-gutter-x: var(--spacing-4); --grid-gutter-y: var(--spacing-4); }
291
+ .g-lg-5 { --grid-gutter-x: var(--spacing-5); --grid-gutter-y: var(--spacing-5); }
292
+
293
+ .gx-lg-0 { --grid-gutter-x: 0; }
294
+ .gx-lg-1 { --grid-gutter-x: var(--spacing-1); }
295
+ .gx-lg-2 { --grid-gutter-x: var(--spacing-2); }
296
+ .gx-lg-3 { --grid-gutter-x: var(--spacing-3); }
297
+ .gx-lg-4 { --grid-gutter-x: var(--spacing-4); }
298
+ .gx-lg-5 { --grid-gutter-x: var(--spacing-5); }
299
+
300
+ .gy-lg-0 { --grid-gutter-y: 0; }
301
+ .gy-lg-1 { --grid-gutter-y: var(--spacing-1); }
302
+ .gy-lg-2 { --grid-gutter-y: var(--spacing-2); }
303
+ .gy-lg-3 { --grid-gutter-y: var(--spacing-3); }
304
+ .gy-lg-4 { --grid-gutter-y: var(--spacing-4); }
305
+ .gy-lg-5 { --grid-gutter-y: var(--spacing-5); }
306
+ }
@@ -1,54 +1,39 @@
1
- /*!
2
- * Adapted from Bootstrap v5.3.8 utilities (https://getbootstrap.com/)
3
- * Copyright (c) 2011-2026 The Bootstrap Authors
4
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
- */
6
-
7
- /* ==========================================================================
8
- Theme-independent variables
9
- ========================================================================== */
10
-
11
1
  :root,
12
2
  :host {
3
+ --max-z-index: 1050;
4
+
5
+ /* Grid */
6
+ --grid-gutter-x: var(--spacing);
7
+ --grid-gutter-y: 0;
8
+
13
9
  /* Gradient */
14
10
  --gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
15
11
 
16
12
  /* Borders & radii */
17
- --border-style: solid;
18
- --border-radius-default: var(--border-radius);
19
- --border-radius-sm: var(--border-radius-default);
20
- --border-radius-lg: calc(var(--border-radius-default) * 2);
21
- --border-radius-xl: calc(var(--border-radius-default) * 4);
22
- --border-radius-xxl: calc(var(--border-radius-default) * 8);
23
13
  --border-radius-pill: 50rem;
14
+ --border-radius-1: var(--radius);
15
+ --border-radius-2: calc(var(--radius) * 2);
16
+ --border-radius-3: calc(var(--radius) * 4);
17
+ --border-radius-4: calc(var(--radius) * 6);
18
+ --border-radius-5: calc(var(--radius) * 8);
24
19
 
25
20
  /* Border-width scale */
26
- --border-width-default: var(--border-width);
27
- --border-width-0: 0;
28
- --border-width-1: var(--border-width-default);
29
- --border-width-2: calc(var(--border-width-default) * 2);
30
- --border-width-3: calc(var(--border-width-default) * 3);
31
- --border-width-4: calc(var(--border-width-default) * 4);
32
- --border-width-5: calc(var(--border-width-default) * 5);
21
+ --border-style: solid;
22
+ --border-width-1: var(--border-size);
23
+ --border-width-2: calc(var(--border-size) * 2);
24
+ --border-width-3: calc(var(--border-size) * 3);
25
+ --border-width-4: calc(var(--border-size) * 4);
26
+ --border-width-5: calc(var(--border-size) * 5);
33
27
 
34
28
  /* Spacing scale */
35
- --spacer-default: var(--spacing);
36
- --spacer-0: 0;
37
- --spacer-1: calc(var(--spacer-default) * 0.25);
38
- --spacer-2: calc(var(--spacer-default) * 0.5);
39
- --spacer-3: var(--spacer-default);
40
- --spacer-4: calc(var(--spacer-default) * 1.5);
41
- --spacer-5: calc(var(--spacer-default) * 3);
42
-
43
- /* Focus ring */
44
- --focus-ring-width: var(--outline-width);
45
- --focus-ring-opacity: 0.25;
46
-
47
- /* Auto-switching mappings (resolved at computed-value time via Semanticus CSS) */
48
- --emphasis-color: rgb(var(--color-contrast-rgb));
49
- --secondary-color: var(--color-text-muted);
50
- --border-color: var(--color-border-muted);
51
- --focus-ring-color: var(--color-primary-focus);
52
-
53
- --max-z-index: 1050;
29
+ --spacing-1: calc(var(--spacing) * 0.25);
30
+ --spacing-2: calc(var(--spacing) * 0.5);
31
+ --spacing-3: var(--spacing);
32
+ --spacing-4: calc(var(--spacing) * 1.5);
33
+ --spacing-5: calc(var(--spacing) * 3);
34
+
35
+ /* Shadows */
36
+ --shadow-sm: light-dark(0 0.0625rem 0.125rem rgba(129, 145, 181, 0.1), 0 0.0625rem 0.125rem rgba(7, 8.5, 12, 0.1));
37
+ --shadow-md: light-dark(0.0625rem 0.125rem 0.5rem rgba(129, 145, 181, 0.15), 0.0625rem 0.125rem 0.5rem rgba(7, 8.5, 12, 0.15));
38
+ --shadow-lg: light-dark(0.125rem 0.25rem 1rem rgba(129, 145, 181, 0.2), 0.125rem 0.25rem 1rem rgba(7, 8.5, 12, 0.2));
54
39
  }
@@ -1,33 +1,29 @@
1
1
  .rounded {
2
- border-radius: var(--border-radius) !important;
2
+ border-radius: var(--radius) !important;
3
3
  }
4
4
 
5
5
  .rounded-0 {
6
6
  border-radius: 0 !important;
7
7
  }
8
8
 
9
- .rounded-d {
10
- border-radius: var(--border-radius-default) !important;
11
- }
12
-
13
9
  .rounded-1 {
14
- border-radius: var(--border-radius-sm) !important;
10
+ border-radius: var(--border-radius-1) !important;
15
11
  }
16
12
 
17
13
  .rounded-2 {
18
- border-radius: var(--border-radius) !important;
14
+ border-radius: var(--border-radius-2) !important;
19
15
  }
20
16
 
21
17
  .rounded-3 {
22
- border-radius: var(--border-radius-lg) !important;
18
+ border-radius: var(--border-radius-3) !important;
23
19
  }
24
20
 
25
21
  .rounded-4 {
26
- border-radius: var(--border-radius-xl) !important;
22
+ border-radius: var(--border-radius-4) !important;
27
23
  }
28
24
 
29
25
  .rounded-5 {
30
- border-radius: var(--border-radius-xxl) !important;
26
+ border-radius: var(--border-radius-5) !important;
31
27
  }
32
28
 
33
29
  .rounded-circle {
@@ -39,8 +35,8 @@
39
35
  }
40
36
 
41
37
  .rounded-top {
42
- border-top-left-radius: var(--border-radius) !important;
43
- border-top-right-radius: var(--border-radius) !important;
38
+ border-top-left-radius: var(--radius) !important;
39
+ border-top-right-radius: var(--radius) !important;
44
40
  }
45
41
 
46
42
  .rounded-top-0 {
@@ -48,34 +44,29 @@
48
44
  border-top-right-radius: 0 !important;
49
45
  }
50
46
 
51
- .rounded-top-d {
52
- border-top-left-radius: var(--border-radius-default) !important;
53
- border-top-right-radius: var(--border-radius-default) !important;
54
- }
55
-
56
47
  .rounded-top-1 {
57
- border-top-left-radius: var(--border-radius-sm) !important;
58
- border-top-right-radius: var(--border-radius-sm) !important;
48
+ border-top-left-radius: var(--border-radius-1) !important;
49
+ border-top-right-radius: var(--border-radius-1) !important;
59
50
  }
60
51
 
61
52
  .rounded-top-2 {
62
- border-top-left-radius: var(--border-radius) !important;
63
- border-top-right-radius: var(--border-radius) !important;
53
+ border-top-left-radius: var(--border-radius-2) !important;
54
+ border-top-right-radius: var(--border-radius-2) !important;
64
55
  }
65
56
 
66
57
  .rounded-top-3 {
67
- border-top-left-radius: var(--border-radius-lg) !important;
68
- border-top-right-radius: var(--border-radius-lg) !important;
58
+ border-top-left-radius: var(--border-radius-3) !important;
59
+ border-top-right-radius: var(--border-radius-3) !important;
69
60
  }
70
61
 
71
62
  .rounded-top-4 {
72
- border-top-left-radius: var(--border-radius-xl) !important;
73
- border-top-right-radius: var(--border-radius-xl) !important;
63
+ border-top-left-radius: var(--border-radius-4) !important;
64
+ border-top-right-radius: var(--border-radius-4) !important;
74
65
  }
75
66
 
76
67
  .rounded-top-5 {
77
- border-top-left-radius: var(--border-radius-xxl) !important;
78
- border-top-right-radius: var(--border-radius-xxl) !important;
68
+ border-top-left-radius: var(--border-radius-5) !important;
69
+ border-top-right-radius: var(--border-radius-5) !important;
79
70
  }
80
71
 
81
72
  .rounded-top-circle {
@@ -89,8 +80,8 @@
89
80
  }
90
81
 
91
82
  .rounded-end {
92
- border-top-right-radius: var(--border-radius) !important;
93
- border-bottom-right-radius: var(--border-radius) !important;
83
+ border-top-right-radius: var(--radius) !important;
84
+ border-bottom-right-radius: var(--radius) !important;
94
85
  }
95
86
 
96
87
  .rounded-end-0 {
@@ -98,34 +89,29 @@
98
89
  border-bottom-right-radius: 0 !important;
99
90
  }
100
91
 
101
- .rounded-end-d {
102
- border-top-right-radius: var(--border-radius-default) !important;
103
- border-bottom-right-radius: var(--border-radius-default) !important;
104
- }
105
-
106
92
  .rounded-end-1 {
107
- border-top-right-radius: var(--border-radius-sm) !important;
108
- border-bottom-right-radius: var(--border-radius-sm) !important;
93
+ border-top-right-radius: var(--border-radius-1) !important;
94
+ border-bottom-right-radius: var(--border-radius-1) !important;
109
95
  }
110
96
 
111
97
  .rounded-end-2 {
112
- border-top-right-radius: var(--border-radius) !important;
113
- border-bottom-right-radius: var(--border-radius) !important;
98
+ border-top-right-radius: var(--border-radius-2) !important;
99
+ border-bottom-right-radius: var(--border-radius-2) !important;
114
100
  }
115
101
 
116
102
  .rounded-end-3 {
117
- border-top-right-radius: var(--border-radius-lg) !important;
118
- border-bottom-right-radius: var(--border-radius-lg) !important;
103
+ border-top-right-radius: var(--border-radius-3) !important;
104
+ border-bottom-right-radius: var(--border-radius-3) !important;
119
105
  }
120
106
 
121
107
  .rounded-end-4 {
122
- border-top-right-radius: var(--border-radius-xl) !important;
123
- border-bottom-right-radius: var(--border-radius-xl) !important;
108
+ border-top-right-radius: var(--border-radius-4) !important;
109
+ border-bottom-right-radius: var(--border-radius-4) !important;
124
110
  }
125
111
 
126
112
  .rounded-end-5 {
127
- border-top-right-radius: var(--border-radius-xxl) !important;
128
- border-bottom-right-radius: var(--border-radius-xxl) !important;
113
+ border-top-right-radius: var(--border-radius-5) !important;
114
+ border-bottom-right-radius: var(--border-radius-5) !important;
129
115
  }
130
116
 
131
117
  .rounded-end-circle {
@@ -139,8 +125,8 @@
139
125
  }
140
126
 
141
127
  .rounded-bottom {
142
- border-bottom-right-radius: var(--border-radius) !important;
143
- border-bottom-left-radius: var(--border-radius) !important;
128
+ border-bottom-right-radius: var(--radius) !important;
129
+ border-bottom-left-radius: var(--radius) !important;
144
130
  }
145
131
 
146
132
  .rounded-bottom-0 {
@@ -148,34 +134,29 @@
148
134
  border-bottom-left-radius: 0 !important;
149
135
  }
150
136
 
151
- .rounded-bottom-d {
152
- border-bottom-right-radius: var(--border-radius-default) !important;
153
- border-bottom-left-radius: var(--border-radius-default) !important;
154
- }
155
-
156
137
  .rounded-bottom-1 {
157
- border-bottom-right-radius: var(--border-radius-sm) !important;
158
- border-bottom-left-radius: var(--border-radius-sm) !important;
138
+ border-bottom-right-radius: var(--border-radius-1) !important;
139
+ border-bottom-left-radius: var(--border-radius-1) !important;
159
140
  }
160
141
 
161
142
  .rounded-bottom-2 {
162
- border-bottom-right-radius: var(--border-radius) !important;
163
- border-bottom-left-radius: var(--border-radius) !important;
143
+ border-bottom-right-radius: var(--border-radius-2) !important;
144
+ border-bottom-left-radius: var(--border-radius-2) !important;
164
145
  }
165
146
 
166
147
  .rounded-bottom-3 {
167
- border-bottom-right-radius: var(--border-radius-lg) !important;
168
- border-bottom-left-radius: var(--border-radius-lg) !important;
148
+ border-bottom-right-radius: var(--border-radius-3) !important;
149
+ border-bottom-left-radius: var(--border-radius-3) !important;
169
150
  }
170
151
 
171
152
  .rounded-bottom-4 {
172
- border-bottom-right-radius: var(--border-radius-xl) !important;
173
- border-bottom-left-radius: var(--border-radius-xl) !important;
153
+ border-bottom-right-radius: var(--border-radius-4) !important;
154
+ border-bottom-left-radius: var(--border-radius-4) !important;
174
155
  }
175
156
 
176
157
  .rounded-bottom-5 {
177
- border-bottom-right-radius: var(--border-radius-xxl) !important;
178
- border-bottom-left-radius: var(--border-radius-xxl) !important;
158
+ border-bottom-right-radius: var(--border-radius-5) !important;
159
+ border-bottom-left-radius: var(--border-radius-5) !important;
179
160
  }
180
161
 
181
162
  .rounded-bottom-circle {
@@ -189,8 +170,8 @@
189
170
  }
190
171
 
191
172
  .rounded-start {
192
- border-bottom-left-radius: var(--border-radius) !important;
193
- border-top-left-radius: var(--border-radius) !important;
173
+ border-bottom-left-radius: var(--radius) !important;
174
+ border-top-left-radius: var(--radius) !important;
194
175
  }
195
176
 
196
177
  .rounded-start-0 {
@@ -198,34 +179,29 @@
198
179
  border-top-left-radius: 0 !important;
199
180
  }
200
181
 
201
- .rounded-start-d {
202
- border-bottom-left-radius: var(--border-radius-default) !important;
203
- border-top-left-radius: var(--border-radius-default) !important;
204
- }
205
-
206
182
  .rounded-start-1 {
207
- border-bottom-left-radius: var(--border-radius-sm) !important;
208
- border-top-left-radius: var(--border-radius-sm) !important;
183
+ border-bottom-left-radius: var(--border-radius-1) !important;
184
+ border-top-left-radius: var(--border-radius-1) !important;
209
185
  }
210
186
 
211
187
  .rounded-start-2 {
212
- border-bottom-left-radius: var(--border-radius) !important;
213
- border-top-left-radius: var(--border-radius) !important;
188
+ border-bottom-left-radius: var(--border-radius-2) !important;
189
+ border-top-left-radius: var(--border-radius-2) !important;
214
190
  }
215
191
 
216
192
  .rounded-start-3 {
217
- border-bottom-left-radius: var(--border-radius-lg) !important;
218
- border-top-left-radius: var(--border-radius-lg) !important;
193
+ border-bottom-left-radius: var(--border-radius-3) !important;
194
+ border-top-left-radius: var(--border-radius-3) !important;
219
195
  }
220
196
 
221
197
  .rounded-start-4 {
222
- border-bottom-left-radius: var(--border-radius-xl) !important;
223
- border-top-left-radius: var(--border-radius-xl) !important;
198
+ border-bottom-left-radius: var(--border-radius-4) !important;
199
+ border-top-left-radius: var(--border-radius-4) !important;
224
200
  }
225
201
 
226
202
  .rounded-start-5 {
227
- border-bottom-left-radius: var(--border-radius-xxl) !important;
228
- border-top-left-radius: var(--border-radius-xxl) !important;
203
+ border-bottom-left-radius: var(--border-radius-5) !important;
204
+ border-top-left-radius: var(--border-radius-5) !important;
229
205
  }
230
206
 
231
207
  .rounded-start-circle {
@@ -237,4 +213,3 @@
237
213
  border-bottom-left-radius: var(--border-radius-pill) !important;
238
214
  border-top-left-radius: var(--border-radius-pill) !important;
239
215
  }
240
-