layout-style-css 2.1.1 → 3.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 (79) hide show
  1. package/README.md +124 -145
  2. package/dist/core.css +2 -1
  3. package/dist/foundation.css +194 -0
  4. package/dist/layout-style-css.css +527 -984
  5. package/dist/layout-style-css.min.css +1 -1
  6. package/dist/personalities/bauhaus.css +13 -42
  7. package/dist/personalities/bento.css +16 -40
  8. package/dist/personalities/brutalism.css +13 -33
  9. package/dist/personalities/cyberpunk.css +12 -32
  10. package/dist/personalities/f-pattern.css +16 -45
  11. package/dist/personalities/maximalist.css +16 -48
  12. package/dist/personalities/minimal-saas.css +7 -33
  13. package/dist/personalities/mondrian.css +12 -40
  14. package/dist/personalities/neumorphism.css +15 -39
  15. package/dist/personalities/retro-glass.css +14 -42
  16. package/dist/personalities/retrofuturism.css +12 -32
  17. package/dist/personalities/split-screen.css +24 -36
  18. package/dist/personalities/synthwave.css +13 -41
  19. package/dist/personalities/tactile.css +15 -32
  20. package/dist/personalities/y2k.css +13 -33
  21. package/dist/personalities/z-pattern.css +16 -46
  22. package/dist/personalities.css +1 -1
  23. package/dist/primitives.css +27 -63
  24. package/dist/recipes.css +92 -175
  25. package/dist/utilities.css +39 -104
  26. package/dist/wrappers.css +28 -108
  27. package/package.json +12 -24
  28. package/CHANGELOG.md +0 -107
  29. package/CONTRIBUTING.md +0 -55
  30. package/SECURITY.md +0 -50
  31. package/demo/assets/apple-touch-icon.svg +0 -7
  32. package/demo/assets/favicon.svg +0 -7
  33. package/demo/assets/social-card.png +0 -0
  34. package/demo/browserconfig.xml +0 -9
  35. package/demo/demo.css +0 -523
  36. package/demo/demo.js +0 -605
  37. package/demo/index.html +0 -325
  38. package/demo/robots.txt +0 -4
  39. package/demo/site.webmanifest +0 -23
  40. package/demo/sitemap.xml +0 -9
  41. package/dist/integrations/ui-style-kit.css +0 -175
  42. package/dist/legacy.css +0 -822
  43. package/docs/wiki/Contributing.md +0 -36
  44. package/docs/wiki/Demo-And-GitHub-Pages.md +0 -53
  45. package/docs/wiki/Getting-Started.md +0 -51
  46. package/docs/wiki/Home.md +0 -33
  47. package/docs/wiki/Installation-And-CDN.md +0 -72
  48. package/docs/wiki/Layout-Primitives.md +0 -48
  49. package/docs/wiki/Layout-Recipes.md +0 -49
  50. package/docs/wiki/Layout-Styles.md +0 -33
  51. package/docs/wiki/Migrating-To-2.0.md +0 -186
  52. package/docs/wiki/Release-And-Publishing.md +0 -77
  53. package/docs/wiki/Security-And-Support.md +0 -36
  54. package/docs/wiki/UI-Style-Kit-Compatibility.md +0 -49
  55. package/docs/wiki/_Sidebar.md +0 -15
  56. package/styles/core.css +0 -6
  57. package/styles/integrations/ui-style-kit.css +0 -175
  58. package/styles/legacy.css +0 -173
  59. package/styles/personalities/bauhaus.css +0 -49
  60. package/styles/personalities/bento.css +0 -46
  61. package/styles/personalities/brutalism.css +0 -39
  62. package/styles/personalities/cyberpunk.css +0 -39
  63. package/styles/personalities/f-pattern.css +0 -51
  64. package/styles/personalities/maximalist.css +0 -54
  65. package/styles/personalities/minimal-saas.css +0 -39
  66. package/styles/personalities/mondrian.css +0 -47
  67. package/styles/personalities/neumorphism.css +0 -46
  68. package/styles/personalities/retro-glass.css +0 -47
  69. package/styles/personalities/retrofuturism.css +0 -39
  70. package/styles/personalities/split-screen.css +0 -41
  71. package/styles/personalities/synthwave.css +0 -48
  72. package/styles/personalities/tactile.css +0 -39
  73. package/styles/personalities/y2k.css +0 -39
  74. package/styles/personalities/z-pattern.css +0 -52
  75. package/styles/personalities.css +0 -18
  76. package/styles/primitives.css +0 -219
  77. package/styles/recipes.css +0 -278
  78. package/styles/utilities.css +0 -162
  79. package/styles/wrappers.css +0 -174
package/dist/recipes.css CHANGED
@@ -1,35 +1,41 @@
1
- @layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities, ly.integrations, ly.legacy;
1
+ @layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities;
2
2
 
3
3
  /*
4
- Built-in recipes follow semantic mobile DOM order. Wider arrangements use
5
- named areas so visual placement never changes keyboard or reading order.
4
+ Recipes preserve the narrow-screen DOM order. Automatic topology queries
5
+ consume inherited profile tokens and can be disabled per recipe.
6
6
  */
7
7
 
8
8
  @layer ly.recipes {
9
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]),
10
- :where(.ly-dashboard, [data-ly-recipe="dashboard"]),
11
- :where(.ly-docs, [data-ly-recipe="docs"]),
12
- :where(.ly-list-detail, [data-ly-recipe="list-detail"]),
13
- :where(.ly-split-hero, [data-ly-recipe="split-hero"]),
14
- :where(.ly-gallery, [data-ly-recipe="gallery"]),
15
- :where(.ly-card-grid, [data-ly-recipe="card-grid"]) {
16
- container-name: ly-recipe;
9
+ :where(
10
+ [data-ly-recipe="app-shell"],
11
+ [data-ly-recipe="dashboard"],
12
+ [data-ly-recipe="docs"],
13
+ [data-ly-recipe="list-detail"],
14
+ [data-ly-recipe="split-hero"],
15
+ [data-ly-recipe="gallery"],
16
+ [data-ly-recipe="card-grid"]
17
+ ) {
18
+ container-name: ly-scope;
17
19
  container-type: inline-size;
18
20
  min-inline-size: 0;
21
+ min-block-size: 0;
19
22
  }
20
23
 
21
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]),
22
- :where(.ly-dashboard, [data-ly-recipe="dashboard"]),
23
- :where(.ly-docs, [data-ly-recipe="docs"]),
24
- :where(.ly-list-detail, [data-ly-recipe="list-detail"]),
25
- :where(.ly-split-hero, [data-ly-recipe="split-hero"]) {
24
+ :where(
25
+ [data-ly-recipe="app-shell"],
26
+ [data-ly-recipe="dashboard"],
27
+ [data-ly-recipe="docs"],
28
+ [data-ly-recipe="list-detail"],
29
+ [data-ly-recipe="split-hero"]
30
+ ) {
26
31
  display: grid;
27
32
  grid-template-columns: minmax(0, 1fr);
28
33
  gap: var(--ly-gap);
29
34
  }
30
35
 
31
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
32
- min-block-size: 100svh;
36
+ [data-ly-recipe="app-shell"] {
37
+ min-block-size: 100vh;
38
+ min-block-size: var(--ly-shell-min);
33
39
  grid-template-areas:
34
40
  "header"
35
41
  "sidebar"
@@ -39,7 +45,8 @@
39
45
  grid-template-rows: auto auto minmax(0, 1fr) auto auto;
40
46
  }
41
47
 
42
- :where(.ly-dashboard, [data-ly-recipe="dashboard"]) {
48
+ [data-ly-recipe="dashboard"],
49
+ [data-ly-recipe="docs"] {
43
50
  grid-template-areas:
44
51
  "header"
45
52
  "nav"
@@ -48,23 +55,14 @@
48
55
  "footer";
49
56
  }
50
57
 
51
- :where(.ly-docs, [data-ly-recipe="docs"]) {
52
- grid-template-areas:
53
- "header"
54
- "nav"
55
- "main"
56
- "aside"
57
- "footer";
58
- }
59
-
60
- :where(.ly-list-detail, [data-ly-recipe="list-detail"]) {
58
+ [data-ly-recipe="list-detail"] {
61
59
  grid-template-areas:
62
60
  "primary"
63
61
  "secondary"
64
62
  "actions";
65
63
  }
66
64
 
67
- :where(.ly-split-hero, [data-ly-recipe="split-hero"]) {
65
+ [data-ly-recipe="split-hero"] {
68
66
  grid-template-areas:
69
67
  "content"
70
68
  "media"
@@ -72,207 +70,126 @@
72
70
  align-items: var(--ly-split-hero-align, center);
73
71
  }
74
72
 
75
- :where(.ly-gallery, [data-ly-recipe="gallery"]),
76
- :where(.ly-card-grid, [data-ly-recipe="card-grid"]) {
73
+ [data-ly-recipe="gallery"],
74
+ [data-ly-recipe="card-grid"] {
77
75
  display: grid;
78
76
  gap: var(--ly-grid-gap);
79
77
  }
80
78
 
81
- :where(.ly-gallery, [data-ly-recipe="gallery"]) {
79
+ [data-ly-recipe="gallery"] {
82
80
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ly-gallery-min)), 1fr));
83
81
  }
84
82
 
85
- :where(.ly-card-grid, [data-ly-recipe="card-grid"]) {
83
+ [data-ly-recipe="card-grid"] {
86
84
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ly-card-grid-min)), 1fr));
87
85
  }
88
86
 
89
- :where(.ly-gallery, [data-ly-recipe="gallery"]) > *,
90
- :where(.ly-card-grid, [data-ly-recipe="card-grid"]) > * {
87
+ :where(
88
+ [data-ly-recipe="gallery"],
89
+ [data-ly-recipe="card-grid"]
90
+ )[data-ly-responsive="manual"] {
91
+ grid-template-columns: minmax(0, 1fr);
92
+ }
93
+
94
+ :where(
95
+ [data-ly-recipe="app-shell"],
96
+ [data-ly-recipe="dashboard"],
97
+ [data-ly-recipe="docs"],
98
+ [data-ly-recipe="list-detail"],
99
+ [data-ly-recipe="split-hero"],
100
+ [data-ly-recipe="gallery"],
101
+ [data-ly-recipe="card-grid"]
102
+ ) > * {
91
103
  min-inline-size: 0;
104
+ min-block-size: 0;
92
105
  }
93
106
 
94
- :where(.ly-area--header, [data-ly-area="header"]) {
107
+ [data-ly-area="header"] {
95
108
  grid-area: header;
96
- min-inline-size: 0;
97
109
  }
98
110
 
99
- :where(.ly-area--nav, [data-ly-area="nav"]) {
111
+ [data-ly-area="nav"] {
100
112
  grid-area: nav;
101
- min-inline-size: 0;
102
113
  }
103
114
 
104
- :where(.ly-area--main, [data-ly-area="main"]) {
115
+ [data-ly-area="sidebar"] {
116
+ grid-area: sidebar;
117
+ }
118
+
119
+ [data-ly-area="main"] {
105
120
  grid-area: main;
106
- min-inline-size: 0;
107
121
  }
108
122
 
109
- :where(.ly-area--aside, [data-ly-area="aside"]) {
123
+ [data-ly-area="aside"] {
110
124
  grid-area: aside;
111
- min-inline-size: 0;
112
125
  }
113
126
 
114
- :where(.ly-area--footer, [data-ly-area="footer"]) {
127
+ [data-ly-area="footer"] {
115
128
  grid-area: footer;
116
- min-inline-size: 0;
117
129
  }
118
130
 
119
- :where(.ly-area--content, [data-ly-area="content"]) {
131
+ [data-ly-area="content"] {
120
132
  grid-area: content;
121
- min-inline-size: 0;
122
133
  }
123
134
 
124
- :where(.ly-area--media, [data-ly-area="media"]) {
135
+ [data-ly-area="media"] {
125
136
  grid-area: media;
126
- min-inline-size: 0;
127
137
  }
128
138
 
129
- :where(.ly-area--actions, [data-ly-area="actions"]) {
139
+ [data-ly-area="actions"] {
130
140
  grid-area: actions;
131
- min-inline-size: 0;
132
141
  }
133
142
 
134
- :where(.ly-area--primary, [data-ly-area="primary"]) {
143
+ [data-ly-area="primary"] {
135
144
  grid-area: primary;
136
- min-inline-size: 0;
137
145
  }
138
146
 
139
- :where(.ly-area--secondary, [data-ly-area="secondary"]) {
147
+ [data-ly-area="secondary"] {
140
148
  grid-area: secondary;
141
- min-inline-size: 0;
142
- }
143
-
144
- .ly-app-header {
145
- grid-area: header;
146
- min-inline-size: 0;
147
- }
148
-
149
- .ly-app-sidebar {
150
- grid-area: sidebar;
151
- min-inline-size: 0;
152
149
  }
153
150
 
154
- .ly-app-main {
155
- grid-area: main;
156
- min-inline-size: 0;
157
- }
158
-
159
- .ly-app-aside {
160
- grid-area: aside;
161
- min-inline-size: 0;
162
- }
163
-
164
- .ly-app-footer {
165
- grid-area: footer;
166
- min-inline-size: 0;
167
- }
168
-
169
- :where(.ly-app-shell, [data-ly-recipe="app-shell"])
170
- > :where(.ly-area--nav, [data-ly-area="nav"]) {
171
- grid-area: sidebar;
172
- }
173
-
174
- /*
175
- A recipe responds to its nearest ancestor container and then becomes the
176
- containment scope for nested compositions. Standalone roots keep the safe
177
- mobile template when no ancestor container is present.
178
- */
179
- @container (min-width: 48rem) {
180
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
181
- grid-template-areas:
182
- "header header"
183
- "sidebar main"
184
- "aside main"
185
- "footer footer";
186
- grid-template-columns: minmax(min(100%, var(--ly-recipe-rail)), auto) minmax(0, 1fr);
187
- }
188
-
189
- :where(.ly-dashboard, [data-ly-recipe="dashboard"]) {
190
- grid-template-areas:
191
- "header header"
192
- "nav nav"
193
- "main aside"
194
- "footer footer";
195
- grid-template-columns: minmax(0, 1fr) minmax(min(100%, var(--ly-recipe-aside)), 0.35fr);
196
- }
197
-
198
- :where(.ly-docs, [data-ly-recipe="docs"]) {
199
- grid-template-areas:
200
- "header header"
201
- "nav main"
202
- "nav aside"
203
- "footer footer";
204
- grid-template-columns: minmax(min(100%, var(--ly-recipe-rail)), auto) minmax(0, 1fr);
205
- }
206
-
207
- :where(.ly-list-detail, [data-ly-recipe="list-detail"]) {
208
- grid-template-areas:
209
- "primary secondary"
210
- "actions actions";
211
- grid-template-columns: minmax(min(100%, var(--ly-pane-size)), 0.7fr) minmax(0, 1fr);
212
- }
213
-
214
- :where(.ly-split-hero, [data-ly-recipe="split-hero"]) {
215
- grid-template-areas:
216
- "content media"
217
- "actions media";
218
- grid-template-columns: minmax(0, var(--ly-split-primary, 1fr)) minmax(0, var(--ly-split-secondary, 1fr));
219
- }
220
-
221
- :where(.ly-gallery, [data-ly-recipe="gallery"]) {
222
- --ly-gallery-min: 14rem;
223
- }
224
-
225
- :where(.ly-card-grid, [data-ly-recipe="card-grid"]) {
226
- --ly-card-grid-min: 18rem;
151
+ @container ly-scope (min-width: 42rem) {
152
+ [data-ly-recipe="split-hero"]:not([data-ly-responsive="manual"]) {
153
+ grid-template-areas: var(--ly-split-hero-wide-areas);
154
+ grid-template-columns: var(--ly-split-hero-wide-columns);
227
155
  }
228
156
  }
229
157
 
230
- @container (min-width: 64rem) {
231
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
232
- grid-template-areas:
233
- "sidebar header header"
234
- "sidebar main aside"
235
- "sidebar footer footer";
236
- grid-template-columns:
237
- minmax(min(100%, var(--ly-recipe-rail)), auto)
238
- minmax(0, 1fr)
239
- minmax(min(100%, var(--ly-recipe-aside)), 0.35fr);
240
- }
241
-
242
- :where(.ly-dashboard, [data-ly-recipe="dashboard"]) {
243
- grid-template-areas:
244
- "nav header header"
245
- "nav main aside"
246
- "nav footer footer";
247
- grid-template-columns:
248
- minmax(min(100%, var(--ly-recipe-rail)), auto)
249
- minmax(0, 1fr)
250
- minmax(min(100%, var(--ly-recipe-aside)), 0.35fr);
158
+ @container ly-scope (min-width: 44rem) {
159
+ [data-ly-recipe="list-detail"]:not([data-ly-responsive="manual"]) {
160
+ grid-template-areas: var(--ly-list-detail-wide-areas);
161
+ grid-template-columns: var(--ly-list-detail-wide-columns);
251
162
  }
163
+ }
252
164
 
253
- :where(.ly-docs, [data-ly-recipe="docs"]) {
254
- grid-template-areas:
255
- "nav header"
256
- "nav main"
257
- "nav aside"
258
- "nav footer";
259
- grid-template-columns: minmax(min(100%, var(--ly-recipe-rail)), auto) minmax(0, 1fr);
165
+ @container ly-scope (min-width: 48rem) {
166
+ [data-ly-recipe="docs"]:not([data-ly-responsive="manual"]) {
167
+ grid-template-areas: var(--ly-docs-wide-areas);
168
+ grid-template-columns: var(--ly-docs-wide-columns);
260
169
  }
170
+ }
261
171
 
262
- :where(.ly-list-detail, [data-ly-recipe="list-detail"]) {
263
- grid-template-columns: minmax(min(100%, var(--ly-pane-size)), 0.45fr) minmax(0, 1fr);
172
+ @container ly-scope (min-width: 52rem) {
173
+ [data-ly-recipe="app-shell"]:not([data-ly-responsive="manual"]) {
174
+ grid-template-areas: var(--ly-app-shell-medium-areas);
175
+ grid-template-columns: var(--ly-app-shell-medium-columns);
264
176
  }
265
177
 
266
- :where(.ly-split-hero, [data-ly-recipe="split-hero"]) {
267
- grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
178
+ [data-ly-recipe="dashboard"]:not([data-ly-responsive="manual"]) {
179
+ grid-template-areas: var(--ly-dashboard-medium-areas);
180
+ grid-template-columns: var(--ly-dashboard-medium-columns);
268
181
  }
182
+ }
269
183
 
270
- :where(.ly-gallery, [data-ly-recipe="gallery"]) {
271
- --ly-gallery-min: 16rem;
184
+ @container ly-scope (min-width: 72rem) {
185
+ [data-ly-recipe="app-shell"]:not([data-ly-responsive="manual"]) {
186
+ grid-template-areas: var(--ly-app-shell-wide-areas);
187
+ grid-template-columns: var(--ly-app-shell-wide-columns);
272
188
  }
273
189
 
274
- :where(.ly-card-grid, [data-ly-recipe="card-grid"]) {
275
- --ly-card-grid-min: 20rem;
190
+ [data-ly-recipe="dashboard"]:not([data-ly-responsive="manual"]) {
191
+ grid-template-areas: var(--ly-dashboard-wide-areas);
192
+ grid-template-columns: var(--ly-dashboard-wide-columns);
276
193
  }
277
194
  }
278
195
  }
@@ -1,72 +1,66 @@
1
- @layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities, ly.integrations, ly.legacy;
1
+ @layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities;
2
+
3
+ /* Optional structural utilities expose direct token overrides without breakpoint tiers. */
2
4
 
3
5
  @layer ly.utilities {
4
6
  .ly-cols-1 { --ly-grid-columns: 1; }
5
7
  .ly-cols-2 { --ly-grid-columns: 2; }
6
8
  .ly-cols-3 { --ly-grid-columns: 3; }
7
9
  .ly-cols-4 { --ly-grid-columns: 4; }
8
- .ly-cols-5 { --ly-grid-columns: 5; }
9
10
  .ly-cols-6 { --ly-grid-columns: 6; }
10
- .ly-cols-7 { --ly-grid-columns: 7; }
11
- .ly-cols-8 { --ly-grid-columns: 8; }
12
- .ly-cols-9 { --ly-grid-columns: 9; }
13
- .ly-cols-10 { --ly-grid-columns: 10; }
14
- .ly-cols-11 { --ly-grid-columns: 11; }
15
11
  .ly-cols-12 { --ly-grid-columns: 12; }
16
- .ly-cols-16 { --ly-grid-columns: 16; }
17
12
 
18
13
  .ly-span-1 { grid-column: span 1; }
19
14
  .ly-span-2 { grid-column: span 2; }
20
15
  .ly-span-3 { grid-column: span 3; }
21
16
  .ly-span-4 { grid-column: span 4; }
22
- .ly-span-5 { grid-column: span 5; }
23
- .ly-span-6 { grid-column: span 6; }
24
- .ly-span-7 { grid-column: span 7; }
25
- .ly-span-8 { grid-column: span 8; }
26
- .ly-span-9 { grid-column: span 9; }
27
- .ly-span-10 { grid-column: span 10; }
28
- .ly-span-11 { grid-column: span 11; }
29
- .ly-span-12 { grid-column: span 12; }
30
- .ly-span-13 { grid-column: span 13; }
31
- .ly-span-14 { grid-column: span 14; }
32
- .ly-span-15 { grid-column: span 15; }
33
- .ly-span-16 { grid-column: span 16; }
34
17
  .ly-span-full { grid-column: 1 / -1; }
35
18
 
36
- .ly-gap-0 { --ly-gap: var(--ly-space-0); --ly-grid-gap: var(--ly-space-0); --ly-stack-gap: var(--ly-space-0); --ly-cluster-gap: var(--ly-space-0); }
37
- .ly-gap-1 { --ly-gap: var(--ly-space-1); --ly-grid-gap: var(--ly-space-1); --ly-stack-gap: var(--ly-space-1); --ly-cluster-gap: var(--ly-space-1); }
38
- .ly-gap-2 { --ly-gap: var(--ly-space-2); --ly-grid-gap: var(--ly-space-2); --ly-stack-gap: var(--ly-space-2); --ly-cluster-gap: var(--ly-space-2); }
39
- .ly-gap-3 { --ly-gap: var(--ly-space-3); --ly-grid-gap: var(--ly-space-3); --ly-stack-gap: var(--ly-space-3); --ly-cluster-gap: var(--ly-space-3); }
40
- .ly-gap-4 { --ly-gap: var(--ly-space-4); --ly-grid-gap: var(--ly-space-4); --ly-stack-gap: var(--ly-space-4); --ly-cluster-gap: var(--ly-space-4); }
41
- .ly-gap-5 { --ly-gap: var(--ly-space-5); --ly-grid-gap: var(--ly-space-5); --ly-stack-gap: var(--ly-space-5); --ly-cluster-gap: var(--ly-space-5); }
42
- .ly-gap-6 { --ly-gap: var(--ly-space-6); --ly-grid-gap: var(--ly-space-6); --ly-stack-gap: var(--ly-space-6); --ly-cluster-gap: var(--ly-space-6); }
43
- .ly-gap-7 { --ly-gap: var(--ly-space-7); --ly-grid-gap: var(--ly-space-7); --ly-stack-gap: var(--ly-space-7); --ly-cluster-gap: var(--ly-space-7); }
44
- .ly-gap-8 { --ly-gap: var(--ly-space-8); --ly-grid-gap: var(--ly-space-8); --ly-stack-gap: var(--ly-space-8); --ly-cluster-gap: var(--ly-space-8); }
45
- .ly-gap-9 { --ly-gap: var(--ly-space-9); --ly-grid-gap: var(--ly-space-9); --ly-stack-gap: var(--ly-space-9); --ly-cluster-gap: var(--ly-space-9); }
19
+ .ly-gap-0 {
20
+ --ly-gap: var(--ly-space-0);
21
+ --ly-grid-gap: var(--ly-space-0);
22
+ --ly-stack-gap: var(--ly-space-0);
23
+ --ly-cluster-gap: var(--ly-space-0);
24
+ }
25
+
26
+ .ly-gap-2 {
27
+ --ly-gap: var(--ly-space-2);
28
+ --ly-grid-gap: var(--ly-space-2);
29
+ --ly-stack-gap: var(--ly-space-2);
30
+ --ly-cluster-gap: var(--ly-space-2);
31
+ }
32
+
33
+ .ly-gap-4 {
34
+ --ly-gap: var(--ly-space-4);
35
+ --ly-grid-gap: var(--ly-space-4);
36
+ --ly-stack-gap: var(--ly-space-4);
37
+ --ly-cluster-gap: var(--ly-space-4);
38
+ }
39
+
40
+ .ly-gap-6 {
41
+ --ly-gap: var(--ly-space-6);
42
+ --ly-grid-gap: var(--ly-space-6);
43
+ --ly-stack-gap: var(--ly-space-6);
44
+ --ly-cluster-gap: var(--ly-space-6);
45
+ }
46
+
47
+ .ly-gap-8 {
48
+ --ly-gap: var(--ly-space-8);
49
+ --ly-grid-gap: var(--ly-space-8);
50
+ --ly-stack-gap: var(--ly-space-8);
51
+ --ly-cluster-gap: var(--ly-space-8);
52
+ }
46
53
 
47
54
  .ly-pad-0 { padding: var(--ly-space-0); }
48
- .ly-pad-1 { padding: var(--ly-space-1); }
49
55
  .ly-pad-2 { padding: var(--ly-space-2); }
50
- .ly-pad-3 { padding: var(--ly-space-3); }
51
56
  .ly-pad-4 { padding: var(--ly-space-4); }
52
- .ly-pad-5 { padding: var(--ly-space-5); }
53
57
  .ly-pad-6 { padding: var(--ly-space-6); }
54
- .ly-pad-7 { padding: var(--ly-space-7); }
55
58
  .ly-pad-8 { padding: var(--ly-space-8); }
56
- .ly-pad-9 { padding: var(--ly-space-9); }
57
-
58
- .ly-px-4 { padding-inline: var(--ly-space-4); }
59
- .ly-px-6 { padding-inline: var(--ly-space-6); }
60
- .ly-px-8 { padding-inline: var(--ly-space-8); }
61
- .ly-py-4 { padding-block: var(--ly-space-4); }
62
- .ly-py-6 { padding-block: var(--ly-space-6); }
63
- .ly-py-8 { padding-block: var(--ly-space-8); }
64
59
 
65
60
  .ly-mx-auto { margin-inline: auto; }
66
61
  .ly-w-full { inline-size: 100%; }
67
62
  .ly-h-full { block-size: 100%; }
68
- .ly-min-h-screen { min-block-size: 100svh; }
69
- .ly-bleed { inline-size: 100vw; margin-inline: calc(50% - 50vw); }
63
+ .ly-min-h-screen { min-block-size: 100vh; min-block-size: 100dvh; }
70
64
  .ly-overflow-auto { overflow: auto; }
71
65
  .ly-overflow-hidden { overflow: hidden; }
72
66
 
@@ -80,16 +74,12 @@
80
74
  .ly-justify-between { justify-content: space-between; }
81
75
 
82
76
  .ly-frame-1x1 { --ly-frame-ratio: 1 / 1; }
83
- .ly-frame-2x1 { --ly-frame-ratio: 2 / 1; }
84
77
  .ly-frame-3x2 { --ly-frame-ratio: 3 / 2; }
85
78
  .ly-frame-4x3 { --ly-frame-ratio: 4 / 3; }
86
79
  .ly-frame-16x9 { --ly-frame-ratio: 16 / 9; }
87
80
  .ly-frame-21x9 { --ly-frame-ratio: 21 / 9; }
88
81
 
89
- .ly-hidden { display: none !important; }
90
-
91
- .ly-show-md-up,
92
- .ly-show-lg-up {
82
+ .ly-hidden {
93
83
  display: none !important;
94
84
  }
95
85
 
@@ -104,59 +94,4 @@
104
94
  clip-path: inset(50%) !important;
105
95
  white-space: nowrap !important;
106
96
  }
107
-
108
- /* Explicit escape hatches require consumers to verify focus and reading order. */
109
- .ly-order-first { order: -1; }
110
- .ly-order-normal { order: 0; }
111
- .ly-order-last { order: 999; }
112
- .ly-order-1 { order: 1; }
113
- .ly-order-2 { order: 2; }
114
- .ly-order-3 { order: 3; }
115
- .ly-order-4 { order: 4; }
116
- .ly-order-5 { order: 5; }
117
- .ly-order-6 { order: 6; }
118
-
119
- @container (min-width: 48rem) {
120
- .ly-md-cols-1 { --ly-grid-columns: 1; }
121
- .ly-md-cols-2 { --ly-grid-columns: 2; }
122
- .ly-md-cols-3 { --ly-grid-columns: 3; }
123
- .ly-md-cols-4 { --ly-grid-columns: 4; }
124
- .ly-md-cols-6 { --ly-grid-columns: 6; }
125
- .ly-md-cols-8 { --ly-grid-columns: 8; }
126
- .ly-md-cols-12 { --ly-grid-columns: 12; }
127
- .ly-md-cols-16 { --ly-grid-columns: 16; }
128
- .ly-show-md-up { display: revert !important; }
129
-
130
- .ly-md-order-first { order: -1; }
131
- .ly-md-order-normal { order: 0; }
132
- .ly-md-order-last { order: 999; }
133
- .ly-md-order-1 { order: 1; }
134
- .ly-md-order-2 { order: 2; }
135
- .ly-md-order-3 { order: 3; }
136
- .ly-md-order-4 { order: 4; }
137
- .ly-md-order-5 { order: 5; }
138
- .ly-md-order-6 { order: 6; }
139
- }
140
-
141
- @container (min-width: 64rem) {
142
- .ly-lg-cols-1 { --ly-grid-columns: 1; }
143
- .ly-lg-cols-2 { --ly-grid-columns: 2; }
144
- .ly-lg-cols-3 { --ly-grid-columns: 3; }
145
- .ly-lg-cols-4 { --ly-grid-columns: 4; }
146
- .ly-lg-cols-6 { --ly-grid-columns: 6; }
147
- .ly-lg-cols-8 { --ly-grid-columns: 8; }
148
- .ly-lg-cols-12 { --ly-grid-columns: 12; }
149
- .ly-lg-cols-16 { --ly-grid-columns: 16; }
150
- .ly-show-lg-up { display: revert !important; }
151
-
152
- .ly-lg-order-first { order: -1; }
153
- .ly-lg-order-normal { order: 0; }
154
- .ly-lg-order-last { order: 999; }
155
- .ly-lg-order-1 { order: 1; }
156
- .ly-lg-order-2 { order: 2; }
157
- .ly-lg-order-3 { order: 3; }
158
- .ly-lg-order-4 { order: 4; }
159
- .ly-lg-order-5 { order: 5; }
160
- .ly-lg-order-6 { order: 6; }
161
- }
162
97
  }