kuinetic 0.2.2 → 0.2.4

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 (52) hide show
  1. package/README.md +2 -2
  2. package/dist/esm/{chunk-XDDJVANU.mjs → chunk-EHS45PIK.mjs} +2346 -536
  3. package/dist/esm/{chunk-K2M7O6W5.mjs → chunk-FASAEQDR.mjs} +32 -1
  4. package/dist/esm/{chunk-BBQ22D7A.mjs → chunk-MZQG2VMG.mjs} +202 -2
  5. package/dist/esm/core/index.mjs +21 -3
  6. package/dist/esm/effects/index.mjs +2 -2
  7. package/dist/esm/index.mjs +35 -4
  8. package/dist/esm/notes/index.mjs +1083 -0
  9. package/dist/kuinetic.all.js +2547 -509
  10. package/dist/kuinetic.all.min.js +2 -2
  11. package/dist/kuinetic.css +338 -76
  12. package/dist/kuinetic.js +2546 -508
  13. package/dist/kuinetic.min.css +1 -1
  14. package/dist/kuinetic.min.js +1 -1
  15. package/dist/kuinetic.notes.js +1 -0
  16. package/dist/types/3d/flattening.d.ts +8 -7
  17. package/dist/types/core/deck-viewer.d.ts +87 -0
  18. package/dist/types/core/describe.d.ts +174 -0
  19. package/dist/types/core/gesture.d.ts +10 -0
  20. package/dist/types/core/index.d.ts +6 -2
  21. package/dist/types/core/target.d.ts +28 -0
  22. package/dist/types/core/timing-contract.d.ts +61 -0
  23. package/dist/types/core/types.d.ts +59 -0
  24. package/dist/types/effects/auto-motion.d.ts +169 -0
  25. package/dist/types/effects/carousel/deck.d.ts +170 -0
  26. package/dist/types/effects/carousel/drag.d.ts +6 -0
  27. package/dist/types/effects/carousel/fit.d.ts +130 -0
  28. package/dist/types/effects/carousel/index.d.ts +13 -23
  29. package/dist/types/effects/carousel/stack.d.ts +77 -0
  30. package/dist/types/effects/catalog/interaction-reveal.d.ts +69 -9
  31. package/dist/types/effects/forms/primitives.d.ts +1 -2
  32. package/dist/types/effects/gestures/index.d.ts +3 -4
  33. package/dist/types/effects/shared.d.ts +3 -30
  34. package/dist/types/effects/step-index.d.ts +48 -10
  35. package/dist/types/effects/swipe-event.d.ts +75 -0
  36. package/dist/types/index.d.ts +26 -0
  37. package/dist/types/notes/catalog-core.d.ts +3 -0
  38. package/dist/types/notes/catalog.d.ts +3 -0
  39. package/dist/types/notes/index.d.ts +13 -0
  40. package/dist/types/notes/interaction-reveal.d.ts +3 -0
  41. package/dist/types/notes/interaction.d.ts +6 -0
  42. package/dist/types/notes/keys.d.ts +7 -0
  43. package/dist/types/notes/mechanics.d.ts +7 -0
  44. package/dist/types/notes/scroll-nav-forms.d.ts +6 -0
  45. package/dist/types/notes/shared.d.ts +6 -0
  46. package/dist/types/notes/showcase.d.ts +7 -0
  47. package/dist/types/notes/text.d.ts +3 -0
  48. package/dist/types/showcase/compare.d.ts +9 -0
  49. package/dist/types/showcase/index.d.ts +3 -0
  50. package/dist/types/showcase/lightbox.d.ts +24 -1
  51. package/dist/types/showcase/modal-shell.d.ts +11 -0
  52. package/package.json +7 -3
package/dist/kuinetic.css CHANGED
@@ -209,16 +209,19 @@
209
209
  --kui-anchored-preview-ease: ease-out;
210
210
  }
211
211
  [data-kui-fx~=anchored-preview-bottom] {
212
+ --kui-anchored-preview-place: bottom;
212
213
  --kui-anchored-preview-duration: 220ms;
213
214
  --kui-anchored-preview-delay: 0ms;
214
215
  --kui-anchored-preview-ease: ease-out;
215
216
  }
216
217
  [data-kui-fx~=anchored-preview-left] {
218
+ --kui-anchored-preview-place: left;
217
219
  --kui-anchored-preview-duration: 220ms;
218
220
  --kui-anchored-preview-delay: 0ms;
219
221
  --kui-anchored-preview-ease: ease-out;
220
222
  }
221
223
  [data-kui-fx~=anchored-preview-right] {
224
+ --kui-anchored-preview-place: right;
222
225
  --kui-anchored-preview-duration: 220ms;
223
226
  --kui-anchored-preview-delay: 0ms;
224
227
  --kui-anchored-preview-ease: ease-out;
@@ -366,6 +369,18 @@
366
369
  --kui-spatial-ring-delay: 0ms;
367
370
  --kui-spatial-ring-ease: cubic-bezier(0.22, 1, 0.36, 1);
368
371
  }
372
+ [data-kui-fx~=carousel-orbit] {
373
+ --kui-ring-plane: screen;
374
+ --kui-facing: camera;
375
+ --kui-spatial-ring-duration: 620ms;
376
+ --kui-spatial-ring-delay: 0ms;
377
+ --kui-spatial-ring-ease: cubic-bezier(0.22, 1, 0.36, 1);
378
+ }
379
+ [data-kui-fx~=carousel-stack] {
380
+ --kui-spatial-stack-duration: 620ms;
381
+ --kui-spatial-stack-delay: 0ms;
382
+ --kui-spatial-stack-ease: cubic-bezier(0.22, 1, 0.36, 1);
383
+ }
369
384
  [data-kui-fx~=chart-area-fill] {
370
385
  --kui-shape-fill-duration: 900ms;
371
386
  --kui-shape-fill-delay: 0ms;
@@ -1372,6 +1387,9 @@
1372
1387
  [data-kui-fx~=swipe-x] {
1373
1388
  --kui-axis: x;
1374
1389
  }
1390
+ [data-kui-fx~=swipe-y] {
1391
+ --kui-axis: y;
1392
+ }
1375
1393
  [data-kui-fx~=tab-indicator-slide] {
1376
1394
  --kui-flip-indicator-duration: 300ms;
1377
1395
  --kui-flip-indicator-delay: 0ms;
@@ -1582,6 +1600,12 @@
1582
1600
  html[data-kui-cloak] :is([data-kui~=bounce-in-up], [data-kui~="bounce-in-up,"], [data-kui~=",bounce-in-up"], [data-kui~=",bounce-in-up,"]):not([data-kui-state]),
1583
1601
  html[data-kui-cloak] :is([data-kui~=card-flip-x], [data-kui~="card-flip-x,"], [data-kui~=",card-flip-x"], [data-kui~=",card-flip-x,"]):not([data-kui-state]),
1584
1602
  html[data-kui-cloak] :is([data-kui~=card-flip-y], [data-kui~="card-flip-y,"], [data-kui~=",card-flip-y"], [data-kui~=",card-flip-y,"]):not([data-kui-state]),
1603
+ html[data-kui-cloak] :is([data-kui~=carousel-3d], [data-kui~="carousel-3d,"], [data-kui~=",carousel-3d"], [data-kui~=",carousel-3d,"]):not([data-kui-state]),
1604
+ html[data-kui-cloak] :is([data-kui~=carousel-3d-high], [data-kui~="carousel-3d-high,"], [data-kui~=",carousel-3d-high"], [data-kui~=",carousel-3d-high,"]):not([data-kui-state]),
1605
+ html[data-kui-cloak] :is([data-kui~=carousel-3d-inside], [data-kui~="carousel-3d-inside,"], [data-kui~=",carousel-3d-inside"], [data-kui~=",carousel-3d-inside,"]):not([data-kui-state]),
1606
+ html[data-kui-cloak] :is([data-kui~=carousel-3d-low], [data-kui~="carousel-3d-low,"], [data-kui~=",carousel-3d-low"], [data-kui~=",carousel-3d-low,"]):not([data-kui-state]),
1607
+ html[data-kui-cloak] :is([data-kui~=carousel-orbit], [data-kui~="carousel-orbit,"], [data-kui~=",carousel-orbit"], [data-kui~=",carousel-orbit,"]):not([data-kui-state]),
1608
+ html[data-kui-cloak] :is([data-kui~=carousel-stack], [data-kui~="carousel-stack,"], [data-kui~=",carousel-stack"], [data-kui~=",carousel-stack,"]):not([data-kui-state]),
1585
1609
  html[data-kui-cloak] :is([data-kui~=chart-bar-grow], [data-kui~="chart-bar-grow,"], [data-kui~=",chart-bar-grow"], [data-kui~=",chart-bar-grow,"]):not([data-kui-state]),
1586
1610
  html[data-kui-cloak] :is([data-kui~=curtain-reveal], [data-kui~="curtain-reveal,"], [data-kui~=",curtain-reveal"], [data-kui~=",curtain-reveal,"]):not([data-kui-state]),
1587
1611
  html[data-kui-cloak] :is([data-kui~=fade-blur-in], [data-kui~="fade-blur-in,"], [data-kui~=",fade-blur-in"], [data-kui~=",fade-blur-in,"]):not([data-kui-state]),
@@ -1645,6 +1669,12 @@
1645
1669
  html[data-kui-cloak] :is([data-kui~=bounce-in-up], [data-kui~="bounce-in-up,"], [data-kui~=",bounce-in-up"], [data-kui~=",bounce-in-up,"]):not([data-kui-state]),
1646
1670
  html[data-kui-cloak] :is([data-kui~=card-flip-x], [data-kui~="card-flip-x,"], [data-kui~=",card-flip-x"], [data-kui~=",card-flip-x,"]):not([data-kui-state]),
1647
1671
  html[data-kui-cloak] :is([data-kui~=card-flip-y], [data-kui~="card-flip-y,"], [data-kui~=",card-flip-y"], [data-kui~=",card-flip-y,"]):not([data-kui-state]),
1672
+ html[data-kui-cloak] :is([data-kui~=carousel-3d], [data-kui~="carousel-3d,"], [data-kui~=",carousel-3d"], [data-kui~=",carousel-3d,"]):not([data-kui-state]),
1673
+ html[data-kui-cloak] :is([data-kui~=carousel-3d-high], [data-kui~="carousel-3d-high,"], [data-kui~=",carousel-3d-high"], [data-kui~=",carousel-3d-high,"]):not([data-kui-state]),
1674
+ html[data-kui-cloak] :is([data-kui~=carousel-3d-inside], [data-kui~="carousel-3d-inside,"], [data-kui~=",carousel-3d-inside"], [data-kui~=",carousel-3d-inside,"]):not([data-kui-state]),
1675
+ html[data-kui-cloak] :is([data-kui~=carousel-3d-low], [data-kui~="carousel-3d-low,"], [data-kui~=",carousel-3d-low"], [data-kui~=",carousel-3d-low,"]):not([data-kui-state]),
1676
+ html[data-kui-cloak] :is([data-kui~=carousel-orbit], [data-kui~="carousel-orbit,"], [data-kui~=",carousel-orbit"], [data-kui~=",carousel-orbit,"]):not([data-kui-state]),
1677
+ html[data-kui-cloak] :is([data-kui~=carousel-stack], [data-kui~="carousel-stack,"], [data-kui~=",carousel-stack"], [data-kui~=",carousel-stack,"]):not([data-kui-state]),
1648
1678
  html[data-kui-cloak] :is([data-kui~=chart-bar-grow], [data-kui~="chart-bar-grow,"], [data-kui~=",chart-bar-grow"], [data-kui~=",chart-bar-grow,"]):not([data-kui-state]),
1649
1679
  html[data-kui-cloak] :is([data-kui~=curtain-reveal], [data-kui~="curtain-reveal,"], [data-kui~=",curtain-reveal"], [data-kui~=",curtain-reveal,"]):not([data-kui-state]),
1650
1680
  html[data-kui-cloak] :is([data-kui~=fade-blur-in], [data-kui~="fade-blur-in,"], [data-kui~=",fade-blur-in"], [data-kui~=",fade-blur-in,"]):not([data-kui-state]),
@@ -2197,64 +2227,124 @@
2197
2227
  [data-kui-fx~=carousel-3d],
2198
2228
  [data-kui-fx~=carousel-3d-high],
2199
2229
  [data-kui-fx~=carousel-3d-low],
2200
- [data-kui-fx~=carousel-3d-inside] {
2230
+ [data-kui-fx~=carousel-3d-inside],
2231
+ [data-kui-fx~=carousel-orbit] {
2201
2232
  display: grid;
2202
2233
  place-items: center;
2203
2234
  perspective: var(--kui-perspective, 1600px);
2204
2235
  transform-style: preserve-3d;
2205
2236
  --kui-ring-tilt: clamp(-80deg, calc(-1 * var(--kui-tilt, 0deg)), 80deg);
2206
2237
  --kui-ring-drift: calc(var(--kui-step-position, 0) - var(--kui-step, 0));
2238
+ --kui-ring-fit: initial;
2207
2239
  }
2208
2240
  [data-kui-fx~=carousel-3d] [data-kui-step-offset],
2209
2241
  [data-kui-fx~=carousel-3d-high] [data-kui-step-offset],
2210
2242
  [data-kui-fx~=carousel-3d-low] [data-kui-step-offset],
2211
- [data-kui-fx~=carousel-3d-inside] [data-kui-step-offset] {
2243
+ [data-kui-fx~=carousel-3d-inside] [data-kui-step-offset],
2244
+ [data-kui-fx~=carousel-orbit] [data-kui-step-offset] {
2212
2245
  grid-area: 1 / 1;
2213
2246
  backface-visibility: hidden;
2214
2247
  --kui-ring-spacing: calc(var(--kui-arc, 360deg) / max(1, var(--kui-item-count, 1)));
2215
2248
  --kui-ring-angle: calc((var(--kui-offset, 0) - var(--kui-ring-drift)) * var(--kui-ring-spacing));
2216
- --kui-ring-radius: var( --kui-radius, calc( (var(--kui-item-width, 260px) + var(--kui-gap, 24px)) / (2 * tan(clamp(0.5deg, var(--kui-ring-spacing) / 2, 60deg))) ) );
2249
+ --kui-ring-wanted: var( --kui-radius, calc( (var(--kui-item-width, 260px) + var(--kui-gap, 24px)) / (2 * tan(clamp(0.5deg, var(--kui-ring-spacing) / 2, 60deg))) ) );
2250
+ --kui-ring-radius: min(var(--kui-ring-wanted), var(--kui-ring-fit, var(--kui-ring-wanted)));
2217
2251
  transform: rotateX(var(--kui-ring-tilt)) rotateY(var(--kui-ring-angle)) translateZ(var(--kui-ring-radius));
2218
2252
  transition: transform var(--kui-spatial-ring-duration, 620ms) var(--kui-spatial-ring-ease, cubic-bezier(0.22, 1, 0.36, 1)) var(--kui-spatial-ring-delay, 0ms);
2219
2253
  }
2220
- [data-kui-ring-dragging=true] [data-kui-step-offset] {
2221
- transition: none;
2222
- }
2223
2254
  [data-kui-ring-face=back] {
2224
2255
  pointer-events: none;
2225
2256
  }
2226
2257
  [data-kui-fx~=carousel-3d-inside] [data-kui-ring-face=back] {
2227
2258
  visibility: hidden;
2228
2259
  }
2229
- [data-kui-fx~=carousel-3d][data-kui-ring-facing=camera] [data-kui-step-offset],
2230
- [data-kui-fx~=carousel-3d-high][data-kui-ring-facing=camera] [data-kui-step-offset],
2231
- [data-kui-fx~=carousel-3d-low][data-kui-ring-facing=camera] [data-kui-step-offset],
2232
- [data-kui-fx~=carousel-3d-inside][data-kui-ring-facing=camera] [data-kui-step-offset] {
2260
+ [data-kui-fx~=carousel-3d][data-kui-ring-facing=camera]:not([data-kui-ring-plane=screen]) [data-kui-step-offset],
2261
+ [data-kui-fx~=carousel-3d-high][data-kui-ring-facing=camera]:not([data-kui-ring-plane=screen]) [data-kui-step-offset],
2262
+ [data-kui-fx~=carousel-3d-low][data-kui-ring-facing=camera]:not([data-kui-ring-plane=screen]) [data-kui-step-offset],
2263
+ [data-kui-fx~=carousel-3d-inside][data-kui-ring-facing=camera]:not([data-kui-ring-plane=screen]) [data-kui-step-offset],
2264
+ [data-kui-fx~=carousel-orbit][data-kui-ring-facing=camera]:not([data-kui-ring-plane=screen]) [data-kui-step-offset] {
2233
2265
  transform-style: preserve-3d;
2234
2266
  }
2235
- [data-kui-fx~=carousel-3d][data-kui-ring-facing=camera] [data-kui-step-offset] > *,
2236
- [data-kui-fx~=carousel-3d-high][data-kui-ring-facing=camera] [data-kui-step-offset] > *,
2237
- [data-kui-fx~=carousel-3d-low][data-kui-ring-facing=camera] [data-kui-step-offset] > *,
2238
- [data-kui-fx~=carousel-3d-inside][data-kui-ring-facing=camera] [data-kui-step-offset] > * {
2267
+ [data-kui-fx~=carousel-3d][data-kui-ring-facing=camera]:not([data-kui-ring-plane=screen]) [data-kui-step-offset] > *,
2268
+ [data-kui-fx~=carousel-3d-high][data-kui-ring-facing=camera]:not([data-kui-ring-plane=screen]) [data-kui-step-offset] > *,
2269
+ [data-kui-fx~=carousel-3d-low][data-kui-ring-facing=camera]:not([data-kui-ring-plane=screen]) [data-kui-step-offset] > *,
2270
+ [data-kui-fx~=carousel-3d-inside][data-kui-ring-facing=camera]:not([data-kui-ring-plane=screen]) [data-kui-step-offset] > *,
2271
+ [data-kui-fx~=carousel-orbit][data-kui-ring-facing=camera]:not([data-kui-ring-plane=screen]) [data-kui-step-offset] > * {
2239
2272
  transform: rotateY(calc(-1 * var(--kui-ring-angle))) rotateX(calc(-1 * var(--kui-ring-tilt)));
2240
2273
  transform-style: preserve-3d;
2241
2274
  }
2242
2275
  [data-kui-fx~=carousel-3d-inside] [data-kui-step-offset] {
2243
2276
  transform: rotateX(var(--kui-ring-tilt)) rotateY(var(--kui-ring-angle)) translateZ(calc(-1 * var(--kui-ring-radius)));
2244
2277
  }
2278
+ [data-kui-ring-plane=screen] {
2279
+ container-type: inline-size;
2280
+ aspect-ratio: 1;
2281
+ margin-inline: auto;
2282
+ --kui-orbit-extent: max(var(--kui-item-width, 260px), var(--kui-item-height, 0px));
2283
+ --kui-orbit-radius: var( --kui-radius, calc( (var(--kui-item-width, 260px) + var(--kui-gap, 24px)) / (2 * sin(clamp(0.5deg, var(--kui-arc, 360deg) / max(1, var(--kui-item-count, 1)) / 2, 90deg))) ) );
2284
+ max-inline-size: calc(2 * var(--kui-orbit-radius) + var(--kui-orbit-extent));
2285
+ }
2286
+ [data-kui-ring-plane=screen] [data-kui-step-offset] {
2287
+ --kui-ring-radius: max( 0px, min(var(--kui-orbit-radius), calc(50cqi - var(--kui-orbit-extent) / 2)) );
2288
+ transform: rotate(var(--kui-ring-angle)) translateY(calc(-1 * var(--kui-ring-radius)));
2289
+ }
2290
+ [data-kui-ring-plane=screen][data-kui-ring-facing=camera] [data-kui-step-offset] {
2291
+ transform: rotate(var(--kui-ring-angle)) translateY(calc(-1 * var(--kui-ring-radius))) rotate(calc(-1 * var(--kui-ring-angle)));
2292
+ }
2293
+ [data-kui-fx~=carousel-stack] {
2294
+ display: grid;
2295
+ place-items: center;
2296
+ --kui-ring-drift: calc(var(--kui-step-position, 0) - var(--kui-step, 0));
2297
+ --kui-stack-reach-x: calc(var(--kui-stack-depth, 3) * var(--kui-stack-shift, 48px));
2298
+ --kui-stack-reach-y: calc(var(--kui-stack-depth, 3) * var(--kui-stack-rise, 36px));
2299
+ padding-top: max(0px, var(--kui-stack-reach-y));
2300
+ padding-bottom: max(0px, -1 * var(--kui-stack-reach-y));
2301
+ padding-right: max(0px, var(--kui-stack-reach-x));
2302
+ padding-left: max(0px, -1 * var(--kui-stack-reach-x));
2303
+ }
2304
+ [data-kui-fx~=carousel-stack] [data-kui-step-offset] {
2305
+ grid-area: 1 / 1;
2306
+ --kui-stack-place: calc( mod(var(--kui-offset, 0) + 1, max(1, var(--kui-item-count, 1))) - 1 - var(--kui-ring-drift) );
2307
+ --kui-stack-behind: max(0, var(--kui-stack-place));
2308
+ --kui-stack-gone: max(0, -1 * var(--kui-stack-place));
2309
+ transform: translate(calc(var(--kui-stack-place) * var(--kui-stack-shift, 48px)), calc(-1 * var(--kui-stack-place) * var(--kui-stack-rise, 36px))) scale(max(0.05, 1 - var(--kui-stack-place) * var(--kui-stack-shrink, 0.08)));
2310
+ filter: blur(calc(var(--kui-stack-behind) * var(--kui-stack-blur, 2px)));
2311
+ opacity: clamp(0, min(1 - var(--kui-stack-behind) * var(--kui-stack-fade, 0.2), var(--kui-stack-depth, 3) + 1 - var(--kui-stack-place), 1 - 2 * var(--kui-stack-gone)), 1);
2312
+ z-index: calc(100 - var(--kui-stack-place) * 10);
2313
+ transition-property:
2314
+ transform,
2315
+ opacity,
2316
+ filter,
2317
+ z-index,
2318
+ visibility;
2319
+ transition-duration: var(--kui-spatial-stack-duration, 620ms);
2320
+ transition-timing-function: var(--kui-spatial-stack-ease, cubic-bezier(0.22, 1, 0.36, 1));
2321
+ transition-delay: var(--kui-spatial-stack-delay, 0ms);
2322
+ }
2323
+ [data-kui-fx~=carousel-stack] [data-kui-ring-face=back] {
2324
+ visibility: hidden;
2325
+ }
2245
2326
  [data-kui~=carousel-3d],
2246
2327
  [data-kui~=carousel-3d-high],
2247
2328
  [data-kui~=carousel-3d-low],
2248
- [data-kui~=carousel-3d-inside] {
2329
+ [data-kui~=carousel-3d-inside],
2330
+ [data-kui~=carousel-orbit],
2331
+ [data-kui~=carousel-stack] {
2249
2332
  display: grid;
2250
2333
  place-items: center;
2251
2334
  }
2252
2335
  [data-kui~=carousel-3d] > *,
2253
2336
  [data-kui~=carousel-3d-high] > *,
2254
2337
  [data-kui~=carousel-3d-low] > *,
2255
- [data-kui~=carousel-3d-inside] > * {
2338
+ [data-kui~=carousel-3d-inside] > *,
2339
+ [data-kui~=carousel-orbit] > *,
2340
+ [data-kui~=carousel-stack] > * {
2256
2341
  grid-area: 1 / 1;
2257
2342
  }
2343
+ [data-kui-ring-dragging=true] [data-kui-step-offset],
2344
+ [data-kui-ring-spinning=true] [data-kui-step-offset],
2345
+ [data-kui-step-offset][data-kui-ring-wrap=true] {
2346
+ transition: none;
2347
+ }
2258
2348
  }
2259
2349
 
2260
2350
  /* src/css/media.css */
@@ -4130,6 +4220,19 @@
4130
4220
  position: relative;
4131
4221
  --kui-hover-intent-shown: 0;
4132
4222
  --kui-hover-intent-lag: 0ms;
4223
+ --kui-hover-intent-top: auto;
4224
+ --kui-hover-intent-bottom: 100%;
4225
+ --kui-hover-intent-dir: 1;
4226
+ --kui-hover-intent-shift: 0px;
4227
+ }
4228
+ [data-kui-fx][data-kui-hint-tease] {
4229
+ --kui-hover-intent-shown: 1;
4230
+ --kui-hover-intent-lag: 0ms;
4231
+ }
4232
+ [data-kui-fx][data-kui-hint-place=bottom] {
4233
+ --kui-hover-intent-top: 100%;
4234
+ --kui-hover-intent-bottom: auto;
4235
+ --kui-hover-intent-dir: -1;
4133
4236
  }
4134
4237
  [data-kui-fx~=hover-intent]:focus-visible,
4135
4238
  [data-kui-fx~=hover-intent]:has(:focus-visible) {
@@ -4138,11 +4241,19 @@
4138
4241
  }
4139
4242
  [data-kui-hint] {
4140
4243
  position: absolute;
4141
- bottom: 100%;
4244
+ top: var(--kui-hover-intent-top, auto);
4245
+ bottom: var(--kui-hover-intent-bottom, 100%);
4142
4246
  left: 50%;
4143
- margin-bottom: var(--kui-hover-intent-gap, 8px);
4247
+ z-index: 1;
4248
+ inline-size: max-content;
4249
+ max-inline-size: min(16rem, 70vw);
4250
+ margin-block: var(--kui-hover-intent-gap, 8px);
4251
+ padding: 0.5em 0.75em;
4252
+ border-radius: var(--kui-hover-intent-radius, 12px);
4253
+ background-color: var(--kui-hover-intent-bg-color, #111111);
4254
+ color: var(--kui-hover-intent-color, #f4f4f0);
4144
4255
  opacity: var(--kui-hover-intent-shown, 0);
4145
- translate: -50% calc(var(--kui-hover-intent-distance, 4px) * (1 - var(--kui-hover-intent-shown, 0)));
4256
+ translate: calc(-50% + var(--kui-hover-intent-shift, 0px)) calc(var(--kui-hover-intent-distance, 4px) * var(--kui-hover-intent-dir, 1) * (1 - var(--kui-hover-intent-shown, 0)));
4146
4257
  pointer-events: none;
4147
4258
  transition: opacity var(--kui-hover-intent-duration, 160ms) var(--kui-hover-intent-ease, ease-out) var(--kui-hover-intent-lag, 0ms), translate var(--kui-hover-intent-duration, 160ms) var(--kui-hover-intent-ease, ease-out) var(--kui-hover-intent-lag, 0ms);
4148
4259
  }
@@ -4303,22 +4414,27 @@
4303
4414
  position: relative;
4304
4415
  --kui-anchored-preview-shown: 0;
4305
4416
  --kui-anchored-preview-lag: 0ms;
4417
+ --kui-anchored-preview-shift: 0px;
4306
4418
  }
4307
- [data-kui-fx~=anchored-preview] {
4419
+ [data-kui-fx~=anchored-preview],
4420
+ [data-kui-fx][data-kui-preview-place=top] {
4308
4421
  --kui-anchored-preview-inset: auto auto calc(100% + var(--kui-anchored-preview-gap, 10px)) 50%;
4309
- --kui-anchored-preview-travel: -50% calc(var(--kui-anchored-preview-distance, 10px) * (1 - var(--kui-anchored-preview-shown, 0)));
4422
+ --kui-anchored-preview-travel: calc(-50% + var(--kui-anchored-preview-shift, 0px)) calc(var(--kui-anchored-preview-distance, 10px) * (1 - var(--kui-anchored-preview-shown, 0)));
4310
4423
  }
4311
- [data-kui-fx~=anchored-preview-bottom] {
4424
+ [data-kui-fx~=anchored-preview-bottom],
4425
+ [data-kui-fx][data-kui-preview-place=bottom] {
4312
4426
  --kui-anchored-preview-inset: calc(100% + var(--kui-anchored-preview-gap, 10px)) auto auto 50%;
4313
- --kui-anchored-preview-travel: -50% calc(-1 * var(--kui-anchored-preview-distance, 10px) * (1 - var(--kui-anchored-preview-shown, 0)));
4427
+ --kui-anchored-preview-travel: calc(-50% + var(--kui-anchored-preview-shift, 0px)) calc(-1 * var(--kui-anchored-preview-distance, 10px) * (1 - var(--kui-anchored-preview-shown, 0)));
4314
4428
  }
4315
- [data-kui-fx~=anchored-preview-left] {
4429
+ [data-kui-fx~=anchored-preview-left],
4430
+ [data-kui-fx][data-kui-preview-place=left] {
4316
4431
  --kui-anchored-preview-inset: 50% calc(100% + var(--kui-anchored-preview-gap, 10px)) auto auto;
4317
- --kui-anchored-preview-travel: calc( var(--kui-anchored-preview-distance, 10px) * (1 - var(--kui-anchored-preview-shown, 0)) ) -50%;
4432
+ --kui-anchored-preview-travel: calc( var(--kui-anchored-preview-distance, 10px) * (1 - var(--kui-anchored-preview-shown, 0)) ) calc(-50% + var(--kui-anchored-preview-shift, 0px));
4318
4433
  }
4319
- [data-kui-fx~=anchored-preview-right] {
4434
+ [data-kui-fx~=anchored-preview-right],
4435
+ [data-kui-fx][data-kui-preview-place=right] {
4320
4436
  --kui-anchored-preview-inset: 50% auto auto calc(100% + var(--kui-anchored-preview-gap, 10px));
4321
- --kui-anchored-preview-travel: calc( -1 * var(--kui-anchored-preview-distance, 10px) * (1 - var(--kui-anchored-preview-shown, 0)) ) -50%;
4437
+ --kui-anchored-preview-travel: calc( -1 * var(--kui-anchored-preview-distance, 10px) * (1 - var(--kui-anchored-preview-shown, 0)) ) calc(-50% + var(--kui-anchored-preview-shift, 0px));
4322
4438
  }
4323
4439
  [data-kui-fx~=anchored-preview]:focus-visible,
4324
4440
  [data-kui-fx~=anchored-preview]:has(:focus-visible),
@@ -4331,9 +4447,16 @@
4331
4447
  --kui-anchored-preview-shown: 1;
4332
4448
  --kui-anchored-preview-lag: var(--kui-anchored-preview-delay, 0ms);
4333
4449
  }
4450
+ [data-kui-fx][data-kui-preview-tease] {
4451
+ --kui-anchored-preview-shown: 1;
4452
+ --kui-anchored-preview-lag: 0ms;
4453
+ }
4334
4454
  [data-kui-preview] {
4335
4455
  position: absolute;
4336
4456
  inset: var(--kui-anchored-preview-inset, auto);
4457
+ border-radius: var(--kui-anchored-preview-radius, 0px);
4458
+ background-color: var(--kui-anchored-preview-bg-color, transparent);
4459
+ color: var(--kui-anchored-preview-color, currentcolor);
4337
4460
  translate: var(--kui-anchored-preview-travel, 0 0);
4338
4461
  opacity: var(--kui-anchored-preview-shown, 0);
4339
4462
  scale: calc(var(--kui-anchored-preview-scale, 0.85) + (1 - var(--kui-anchored-preview-scale, 0.85)) * var(--kui-anchored-preview-shown, 0));
@@ -5531,6 +5654,9 @@
5531
5654
  --kui-slideshow-duration: 500ms;
5532
5655
  --kui-slideshow-ease: ease;
5533
5656
  }
5657
+ [data-kui-fx~=compare] {
5658
+ --kui-compare-duration: 3s;
5659
+ }
5534
5660
  [data-kui-fx~=lightbox] {
5535
5661
  --kui-lightbox-media: image;
5536
5662
  --kui-lightbox-duration: 280ms;
@@ -5545,6 +5671,7 @@
5545
5671
  }
5546
5672
  [data-kui-fx~=video-lightbox] {
5547
5673
  --kui-lightbox-media: video;
5674
+ --kui-lightbox-caption: none;
5548
5675
  --kui-lightbox-duration: 280ms;
5549
5676
  --kui-lightbox-ease: cubic-bezier(0.22, 1, 0.36, 1);
5550
5677
  }
@@ -5570,25 +5697,42 @@
5570
5697
  outline-offset: 2px;
5571
5698
  }
5572
5699
  [data-kui-device] {
5700
+ --kui-device-outer-top: var(--kui-device-radius, 18px);
5701
+ --kui-device-outer-bottom: var(--kui-device-outer-top);
5702
+ --kui-device-pad-top: 14px;
5703
+ --kui-device-pad-bottom: 14px;
5704
+ --kui-device-pad-side: 14px;
5705
+ --kui-device-screen-floor: min(var(--kui-device-outer-top), 8px);
5573
5706
  position: relative;
5574
5707
  display: inline-block;
5575
5708
  box-sizing: border-box;
5576
5709
  overflow: hidden;
5577
5710
  border: 1px solid color-mix(in srgb, var(--kui-device-color, #111) 55%, transparent);
5578
- border-radius: var(--kui-device-radius, 18px);
5579
- padding: 14px;
5711
+ border-radius: var(--kui-device-outer-top) var(--kui-device-outer-top) var(--kui-device-outer-bottom) var(--kui-device-outer-bottom);
5712
+ padding: var(--kui-device-pad-top) var(--kui-device-pad-side) var(--kui-device-pad-bottom);
5580
5713
  background: var(--kui-device-color, #111);
5581
5714
  }
5582
- [data-kui-device] > img,
5583
- [data-kui-device] > video {
5715
+ [data-kui-device] > * {
5716
+ box-sizing: border-box;
5717
+ inline-size: 100%;
5718
+ block-size: 100%;
5719
+ overflow: hidden;
5720
+ border-radius: var( --kui-device-screen-radius, max( var(--kui-device-screen-floor), var(--kui-device-outer-top) - min(var(--kui-device-pad-side), var(--kui-device-pad-top)) - 1px ) max( var(--kui-device-screen-floor), var(--kui-device-outer-top) - min(var(--kui-device-pad-side), var(--kui-device-pad-top)) - 1px ) max( var(--kui-device-screen-floor), var(--kui-device-outer-bottom) - min(var(--kui-device-pad-side), var(--kui-device-pad-bottom)) - 1px ) max( var(--kui-device-screen-floor), var(--kui-device-outer-bottom) - min(var(--kui-device-pad-side), var(--kui-device-pad-bottom)) - 1px ) );
5721
+ }
5722
+ [data-kui-device] > :is(img, video, iframe, picture) {
5723
+ display: block;
5724
+ border: 0;
5725
+ object-fit: cover;
5726
+ }
5727
+ [data-kui-device] > picture > img {
5584
5728
  display: block;
5585
5729
  inline-size: 100%;
5586
5730
  block-size: 100%;
5587
5731
  object-fit: cover;
5588
5732
  }
5589
5733
  [data-kui-device=browser] {
5590
- padding: 30px 14px 14px;
5591
- border-radius: var(--kui-device-radius, 10px);
5734
+ --kui-device-outer-top: var(--kui-device-radius, 10px);
5735
+ --kui-device-pad-top: 30px;
5592
5736
  }
5593
5737
  [data-kui-device=browser]::before {
5594
5738
  content: "";
@@ -5618,8 +5762,10 @@
5618
5762
  background-repeat: no-repeat;
5619
5763
  }
5620
5764
  [data-kui-device=phone] {
5621
- padding: 16px 8px;
5622
- border-radius: var(--kui-device-radius, 36px);
5765
+ --kui-device-outer-top: var(--kui-device-radius, 36px);
5766
+ --kui-device-pad-top: 16px;
5767
+ --kui-device-pad-bottom: 16px;
5768
+ --kui-device-pad-side: 8px;
5623
5769
  aspect-ratio: 9 / 19.5;
5624
5770
  max-inline-size: 20rem;
5625
5771
  margin-inline: auto;
@@ -5637,15 +5783,20 @@
5637
5783
  border-radius: 0 0 12px 12px;
5638
5784
  }
5639
5785
  [data-kui-device=tablet] {
5640
- padding: 18px;
5641
- border-radius: var(--kui-device-radius, 22px);
5786
+ --kui-device-outer-top: var(--kui-device-radius, 22px);
5787
+ --kui-device-pad-top: 18px;
5788
+ --kui-device-pad-bottom: 18px;
5789
+ --kui-device-pad-side: 18px;
5642
5790
  aspect-ratio: 3 / 4;
5643
5791
  max-inline-size: 28rem;
5644
5792
  margin-inline: auto;
5645
5793
  }
5646
5794
  [data-kui-device=laptop] {
5647
- padding: 10px 10px 34px;
5648
- border-radius: var(--kui-device-radius, 12px) var(--kui-device-radius, 12px) 4px 4px;
5795
+ --kui-device-outer-top: var(--kui-device-radius, 12px);
5796
+ --kui-device-outer-bottom: 4px;
5797
+ --kui-device-pad-top: 10px;
5798
+ --kui-device-pad-bottom: 34px;
5799
+ --kui-device-pad-side: 10px;
5649
5800
  aspect-ratio: 16 / 10;
5650
5801
  }
5651
5802
  [data-kui-device=laptop]::after {
@@ -5757,6 +5908,20 @@
5757
5908
  outline: 2px solid Highlight;
5758
5909
  outline-offset: 2px;
5759
5910
  }
5911
+ [data-kui-fx~=compare][data-kui-compare-dividers] > .kui-compare-range {
5912
+ pointer-events: none;
5913
+ }
5914
+ [data-kui-fx~=compare] > .kui-compare-surface {
5915
+ grid-area: 1 / 1;
5916
+ position: relative;
5917
+ z-index: 3;
5918
+ cursor: ew-resize;
5919
+ touch-action: pan-y;
5920
+ }
5921
+ [data-kui-fx~=compare][data-kui-compare-axis=y] > .kui-compare-surface {
5922
+ cursor: ns-resize;
5923
+ touch-action: pan-x;
5924
+ }
5760
5925
  [data-kui-fx~=hotspots] {
5761
5926
  position: relative;
5762
5927
  display: inline-block;
@@ -6069,7 +6234,11 @@
6069
6234
  box-sizing: border-box;
6070
6235
  margin: 0;
6071
6236
  border: 0;
6072
- padding: clamp(1rem, 4vw, 3rem);
6237
+ --kui-lightbox-pad: clamp(1rem, 4vw, 3rem);
6238
+ --kui-lightbox-edge: clamp(0.75rem, 2vw, 1.25rem);
6239
+ --kui-lightbox-arrow-size: 44px;
6240
+ --kui-lightbox-nav-room: max(0px, calc(var(--kui-lightbox-edge) + var(--kui-lightbox-arrow-size) + 0.5rem - var(--kui-lightbox-pad)));
6241
+ padding: var(--kui-lightbox-pad);
6073
6242
  overflow: auto;
6074
6243
  overscroll-behavior: contain;
6075
6244
  display: grid;
@@ -6095,8 +6264,7 @@
6095
6264
  .kui-lightbox-slot {
6096
6265
  display: contents;
6097
6266
  }
6098
- .kui-lightbox-gallery,
6099
- .kui-lightbox-frame {
6267
+ .kui-lightbox-gallery {
6100
6268
  opacity: 0;
6101
6269
  scale: var(--kui-from-scale, 0.965);
6102
6270
  translate: 0 8px;
@@ -6105,23 +6273,37 @@
6105
6273
  scale var(--kui-lightbox-duration, 280ms) var(--kui-lightbox-ease, ease),
6106
6274
  translate var(--kui-lightbox-duration, 280ms) var(--kui-lightbox-ease, ease);
6107
6275
  }
6108
- .kui-lightbox.is-open .kui-lightbox-gallery,
6109
- .kui-lightbox.is-open .kui-lightbox-frame {
6276
+ .kui-lightbox.is-open .kui-lightbox-gallery {
6110
6277
  opacity: 1;
6111
6278
  scale: none;
6112
6279
  translate: none;
6113
6280
  }
6114
6281
  .kui-lightbox-gallery {
6115
6282
  display: grid;
6116
- place-items: center;
6283
+ grid-template-columns: minmax(0, 1fr);
6284
+ grid-template-rows: minmax(0, auto);
6285
+ align-content: center;
6286
+ justify-items: center;
6117
6287
  gap: 0.75rem;
6288
+ align-self: stretch;
6289
+ justify-self: stretch;
6290
+ min-block-size: 0;
6291
+ }
6292
+ .kui-lightbox-gallery:has(> figure > img.is-tall) {
6293
+ align-self: safe center;
6294
+ }
6295
+ .kui-lightbox-gallery.is-swipeable {
6296
+ touch-action: pan-y pinch-zoom;
6118
6297
  }
6119
6298
  .kui-lightbox-gallery figure {
6120
6299
  margin: 0;
6121
- display: flex;
6122
- flex-direction: column;
6123
- align-items: center;
6300
+ display: grid;
6301
+ grid-template-columns: minmax(0, 1fr);
6302
+ grid-template-rows: minmax(0, auto);
6303
+ justify-items: center;
6124
6304
  gap: 0.75rem;
6305
+ justify-self: stretch;
6306
+ min-block-size: 0;
6125
6307
  }
6126
6308
  .kui-lightbox-gallery img {
6127
6309
  display: block;
@@ -6131,7 +6313,7 @@
6131
6313
  }
6132
6314
  .kui-lightbox-gallery img.is-fit {
6133
6315
  max-inline-size: min(100%, 1400px);
6134
- max-block-size: 86dvh;
6316
+ max-block-size: 100%;
6135
6317
  inline-size: auto;
6136
6318
  block-size: auto;
6137
6319
  }
@@ -6157,8 +6339,8 @@
6157
6339
  }
6158
6340
  .kui-lightbox-close {
6159
6341
  position: fixed;
6160
- inset-block-start: clamp(0.75rem, 2vw, 1.25rem);
6161
- inset-inline-end: clamp(0.75rem, 2vw, 1.25rem);
6342
+ inset-block-start: calc(var(--kui-lightbox-edge) + env(safe-area-inset-top, 0px));
6343
+ inset-inline-end: calc(var(--kui-lightbox-edge) + env(safe-area-inset-right, 0px));
6162
6344
  z-index: 1;
6163
6345
  inline-size: 40px;
6164
6346
  block-size: 40px;
@@ -6166,17 +6348,90 @@
6166
6348
  }
6167
6349
  .kui-lightbox-prev,
6168
6350
  .kui-lightbox-next {
6351
+ display: grid;
6352
+ place-items: center;
6353
+ padding: 0;
6354
+ inline-size: var(--kui-lightbox-arrow-size);
6355
+ block-size: var(--kui-lightbox-arrow-size);
6356
+ border-color: rgb(255 255 255 / 0.18);
6357
+ color: var(--kui-lightbox-arrow-fg, #e4f222);
6358
+ background: var(--kui-lightbox-arrow-bg, #000);
6359
+ transition: transform 160ms ease;
6360
+ }
6361
+ .kui-lightbox-prev svg,
6362
+ .kui-lightbox-next svg {
6363
+ inline-size: 22px;
6364
+ block-size: 22px;
6365
+ fill: none;
6366
+ stroke: currentColor;
6367
+ stroke-width: 2.75;
6368
+ stroke-linecap: round;
6369
+ stroke-linejoin: round;
6370
+ }
6371
+ .kui-lightbox-prev:hover,
6372
+ .kui-lightbox-next:hover {
6373
+ transform: scale(1.08);
6374
+ }
6375
+ @media (prefers-reduced-motion: reduce) {
6376
+ .kui-lightbox-prev,
6377
+ .kui-lightbox-next {
6378
+ transition: none;
6379
+ }
6380
+ }
6381
+ .kui-lightbox-nav {
6169
6382
  position: fixed;
6170
- inset-block-start: 50%;
6171
- inline-size: 40px;
6172
- block-size: 40px;
6173
- font-size: 2rem;
6383
+ z-index: 1;
6384
+ display: flex;
6385
+ align-items: center;
6386
+ direction: ltr;
6387
+ gap: var(--kui-lightbox-arrow-gap, 0.5rem);
6388
+ inset: var(--kui-lightbox-nav-top, auto) var(--kui-lightbox-nav-right, auto) var(--kui-lightbox-nav-bottom, auto) var(--kui-lightbox-nav-left, auto);
6174
6389
  }
6175
- .kui-lightbox-prev {
6176
- inset-inline-start: 0.75rem;
6390
+ .kui-lightbox-nav--bottom-right {
6391
+ bottom: var(--kui-lightbox-nav-bottom, calc(var(--kui-lightbox-edge) + env(safe-area-inset-bottom, 0px)));
6392
+ right: var(--kui-lightbox-nav-right, calc(var(--kui-lightbox-edge) + env(safe-area-inset-right, 0px)));
6177
6393
  }
6178
- .kui-lightbox-next {
6179
- inset-inline-end: 0.75rem;
6394
+ .kui-lightbox-nav--bottom-left {
6395
+ bottom: var(--kui-lightbox-nav-bottom, calc(var(--kui-lightbox-edge) + env(safe-area-inset-bottom, 0px)));
6396
+ left: var(--kui-lightbox-nav-left, calc(var(--kui-lightbox-edge) + env(safe-area-inset-left, 0px)));
6397
+ }
6398
+ .kui-lightbox-nav--bottom {
6399
+ bottom: var(--kui-lightbox-nav-bottom, calc(var(--kui-lightbox-edge) + env(safe-area-inset-bottom, 0px)));
6400
+ left: 50%;
6401
+ translate: -50% 0;
6402
+ }
6403
+ .kui-lightbox-nav--bottom-apart {
6404
+ bottom: var(--kui-lightbox-nav-bottom, calc(var(--kui-lightbox-edge) + env(safe-area-inset-bottom, 0px)));
6405
+ left: var(--kui-lightbox-nav-left, calc(var(--kui-lightbox-edge) + env(safe-area-inset-left, 0px)));
6406
+ right: var(--kui-lightbox-nav-right, calc(var(--kui-lightbox-edge) + env(safe-area-inset-right, 0px)));
6407
+ justify-content: space-between;
6408
+ pointer-events: none;
6409
+ }
6410
+ .kui-lightbox-nav--top-left {
6411
+ top: var(--kui-lightbox-nav-top, calc(var(--kui-lightbox-edge) + env(safe-area-inset-top, 0px) - 2px));
6412
+ left: var(--kui-lightbox-nav-left, calc(var(--kui-lightbox-edge) + env(safe-area-inset-left, 0px)));
6413
+ }
6414
+ .kui-lightbox-nav--top-right {
6415
+ top: var(--kui-lightbox-nav-top, calc(var(--kui-lightbox-edge) + env(safe-area-inset-top, 0px) - 2px));
6416
+ right: var(--kui-lightbox-nav-right, calc(var(--kui-lightbox-edge) + env(safe-area-inset-right, 0px) + 40px + 0.5rem));
6417
+ }
6418
+ .kui-lightbox-nav--sides {
6419
+ top: 50%;
6420
+ translate: 0 -50%;
6421
+ left: var(--kui-lightbox-nav-left, calc(var(--kui-lightbox-edge) + env(safe-area-inset-left, 0px)));
6422
+ right: var(--kui-lightbox-nav-right, calc(var(--kui-lightbox-edge) + env(safe-area-inset-right, 0px)));
6423
+ justify-content: space-between;
6424
+ pointer-events: none;
6425
+ }
6426
+ .kui-lightbox-nav--bottom-apart > button,
6427
+ .kui-lightbox-nav--sides > button {
6428
+ pointer-events: auto;
6429
+ }
6430
+ .kui-lightbox-gallery:has(> [class*=kui-lightbox-nav--bottom]) {
6431
+ padding-block-end: calc(var(--kui-lightbox-nav-room) + env(safe-area-inset-bottom, 0px));
6432
+ }
6433
+ .kui-lightbox-gallery:has(> [class*=kui-lightbox-nav--top]) {
6434
+ padding-block-start: calc(var(--kui-lightbox-nav-room) + env(safe-area-inset-top, 0px));
6180
6435
  }
6181
6436
  .kui-lightbox-counter {
6182
6437
  font-size: 0.85rem;
@@ -6187,36 +6442,42 @@
6187
6442
  outline-offset: 2px;
6188
6443
  }
6189
6444
  .kui-lightbox-frame {
6190
- inline-size: min(92vw, 1100px);
6191
- aspect-ratio: 16 / 9;
6192
- border-radius: 12px;
6193
- overflow: clip;
6194
- box-shadow: 0 30px 80px rgb(0 0 0 / 0.45);
6195
- background: #000;
6445
+ --kui-frame-w: 16;
6446
+ --kui-frame-h: 9;
6447
+ container-type: size;
6448
+ display: grid;
6449
+ place-items: center;
6450
+ inline-size: min(100%, 1100px);
6451
+ aspect-ratio: var(--kui-frame-w) / var(--kui-frame-h);
6452
+ max-block-size: 100%;
6196
6453
  }
6197
6454
  .kui-lightbox-frame--tall {
6198
- inline-size: min(80vw, 420px);
6199
- aspect-ratio: 9 / 16;
6455
+ --kui-frame-w: 9;
6456
+ --kui-frame-h: 16;
6457
+ inline-size: min(100%, 420px);
6200
6458
  }
6201
6459
  .kui-lightbox-frame--square {
6202
- inline-size: min(80vw, 720px);
6203
- aspect-ratio: 1;
6460
+ --kui-frame-w: 1;
6461
+ --kui-frame-h: 1;
6462
+ inline-size: min(100%, 720px);
6204
6463
  }
6205
6464
  .kui-lightbox-frame iframe,
6206
6465
  .kui-lightbox-frame video {
6207
6466
  display: block;
6208
- inline-size: 100%;
6209
- block-size: 100%;
6467
+ inline-size: min(100cqi, 100cqb * var(--kui-frame-w) / var(--kui-frame-h));
6468
+ aspect-ratio: var(--kui-frame-w) / var(--kui-frame-h);
6469
+ block-size: auto;
6210
6470
  border: 0;
6471
+ border-radius: 12px;
6472
+ box-shadow: 0 30px 80px rgb(0 0 0 / 0.45);
6473
+ background: #000;
6211
6474
  }
6212
6475
  @media (prefers-reduced-motion: reduce) {
6213
6476
  dialog.kui-lightbox,
6214
- .kui-lightbox-gallery,
6215
- .kui-lightbox-frame {
6477
+ .kui-lightbox-gallery {
6216
6478
  transition-duration: 1ms;
6217
6479
  }
6218
- .kui-lightbox-gallery,
6219
- .kui-lightbox-frame {
6480
+ .kui-lightbox-gallery {
6220
6481
  scale: none;
6221
6482
  translate: none;
6222
6483
  }
@@ -6242,7 +6503,8 @@
6242
6503
  color: CanvasText;
6243
6504
  background: Canvas;
6244
6505
  }
6245
- .kui-lightbox-frame {
6506
+ .kui-lightbox-frame iframe,
6507
+ .kui-lightbox-frame video {
6246
6508
  border: 1px solid CanvasText;
6247
6509
  }
6248
6510
  [data-kui-fx~=scroll-story] > :first-child,