rizzo-css 0.0.56 → 0.0.57

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 (62) hide show
  1. package/README.md +1 -1
  2. package/bin/rizzo-css.js +48 -4
  3. package/dist/rizzo.min.css +13 -4
  4. package/package.json +1 -1
  5. package/scaffold/astro/base/README-RIZZO.md +9 -8
  6. package/scaffold/astro/variants/full/README-RIZZO.md +9 -8
  7. package/scaffold/shared/sound-effects-inline.js +19 -2
  8. package/scaffold/svelte/base/README-RIZZO.md +9 -8
  9. package/scaffold/svelte/index.ts +1 -0
  10. package/scaffold/svelte/variants/full/README-RIZZO.md +9 -8
  11. package/scaffold/vanilla/README-RIZZO.md +10 -9
  12. package/scaffold/vanilla/components/accordion.html +10 -0
  13. package/scaffold/vanilla/components/alert-dialog.html +10 -0
  14. package/scaffold/vanilla/components/alert.html +10 -0
  15. package/scaffold/vanilla/components/aspect-ratio.html +10 -0
  16. package/scaffold/vanilla/components/avatar.html +10 -0
  17. package/scaffold/vanilla/components/back-to-top.html +10 -0
  18. package/scaffold/vanilla/components/badge.html +10 -0
  19. package/scaffold/vanilla/components/breadcrumb.html +10 -0
  20. package/scaffold/vanilla/components/button-group.html +10 -0
  21. package/scaffold/vanilla/components/button.html +10 -0
  22. package/scaffold/vanilla/components/cards.html +10 -0
  23. package/scaffold/vanilla/components/collapsible.html +10 -0
  24. package/scaffold/vanilla/components/context-menu.html +10 -0
  25. package/scaffold/vanilla/components/copy-to-clipboard.html +10 -0
  26. package/scaffold/vanilla/components/dashboard.html +10 -0
  27. package/scaffold/vanilla/components/divider.html +10 -0
  28. package/scaffold/vanilla/components/docs-sidebar.html +10 -0
  29. package/scaffold/vanilla/components/dropdown.html +10 -0
  30. package/scaffold/vanilla/components/empty.html +10 -0
  31. package/scaffold/vanilla/components/font-switcher.html +10 -0
  32. package/scaffold/vanilla/components/footer.html +10 -0
  33. package/scaffold/vanilla/components/forms.html +10 -0
  34. package/scaffold/vanilla/components/hover-card.html +10 -0
  35. package/scaffold/vanilla/components/icons.html +10 -0
  36. package/scaffold/vanilla/components/index.html +10 -0
  37. package/scaffold/vanilla/components/kbd.html +10 -0
  38. package/scaffold/vanilla/components/label.html +10 -0
  39. package/scaffold/vanilla/components/modal.html +10 -0
  40. package/scaffold/vanilla/components/navbar.html +10 -0
  41. package/scaffold/vanilla/components/pagination.html +10 -0
  42. package/scaffold/vanilla/components/popover.html +10 -0
  43. package/scaffold/vanilla/components/progress-bar.html +10 -0
  44. package/scaffold/vanilla/components/resizable.html +10 -0
  45. package/scaffold/vanilla/components/scroll-area.html +10 -0
  46. package/scaffold/vanilla/components/search.html +10 -0
  47. package/scaffold/vanilla/components/separator.html +10 -0
  48. package/scaffold/vanilla/components/settings.html +10 -0
  49. package/scaffold/vanilla/components/sheet.html +10 -0
  50. package/scaffold/vanilla/components/skeleton.html +10 -0
  51. package/scaffold/vanilla/components/slider.html +10 -0
  52. package/scaffold/vanilla/components/sound-effects.html +10 -0
  53. package/scaffold/vanilla/components/spinner.html +10 -0
  54. package/scaffold/vanilla/components/switch.html +10 -0
  55. package/scaffold/vanilla/components/table.html +10 -0
  56. package/scaffold/vanilla/components/tabs.html +10 -0
  57. package/scaffold/vanilla/components/theme-switcher.html +10 -0
  58. package/scaffold/vanilla/components/toast.html +10 -0
  59. package/scaffold/vanilla/components/toggle-group.html +10 -0
  60. package/scaffold/vanilla/components/toggle.html +10 -0
  61. package/scaffold/vanilla/components/tooltip.html +10 -0
  62. package/scaffold/vanilla/index.html +10 -0
package/README.md CHANGED
@@ -68,7 +68,7 @@ import 'rizzo-css';
68
68
  **Without a bundler (plain HTML):** Use a CDN. Both unpkg and jsDelivr resolve the package root to the built CSS (via the `unpkg` / `jsdelivr` fields in this package). For reliability or to pin a version, use the explicit path:
69
69
 
70
70
  ```html
71
- <!-- unpkg (pin version: replace @latest with @0.0.56 or any version) -->
71
+ <!-- unpkg (pin version: replace @latest with @0.0.57 or any version) -->
72
72
  <link rel="stylesheet" href="https://unpkg.com/rizzo-css@latest/dist/rizzo.min.css" />
73
73
 
74
74
  <!-- or jsDelivr -->
package/bin/rizzo-css.js CHANGED
@@ -16,7 +16,51 @@ const CLI_BANNER = ` /\\___/\\
16
16
  | |_) || | / / / / | | | | | \\___ \\___ \\
17
17
  | _ < | | / /_ / /| |_| | | |___ ___) |__) |
18
18
  |_| \\_\\___/____/____\\___/ \\____|____/____/
19
- Design system · Vanilla · Astro · Svelte`;
19
+
20
+ Design system · Vanilla · Astro · Svelte`;
21
+
22
+ /** Rainbow theme colors for "RIZZOCSS" block (from our themes: red → orange → yellow → green → blue → purple → pink). */
23
+ const BANNER_RAINBOW = [
24
+ { r: 196, g: 69, b: 54 }, /* red-velvet-cupcake accent */
25
+ { r: 224, g: 124, b: 62 }, /* rocky-blood-orange / orangy-one-light */
26
+ { r: 212, g: 168, b: 0 }, /* sunflower / minimal-dark-neon-yellow */
27
+ { r: 45, g: 157, b: 120 }, /* green-breeze-light / hack-the-box */
28
+ { r: 0, g: 82, b: 189 }, /* github-light primary */
29
+ { r: 124, g: 58, b: 237 }, /* shades-of-purple / semi-light-purple */
30
+ { r: 217, g: 70, b: 239 }, /* cute-pink / pink-cat-boo */
31
+ ];
32
+
33
+ /** ANSI 24-bit foreground; reset with \\x1b[0m */
34
+ function ansiFg(r, g, b) {
35
+ return '\x1b[38;2;' + r + ';' + g + ';' + b + 'm';
36
+ }
37
+ const ANSI_RESET = '\x1b[0m';
38
+
39
+ /** Evenly spread column bounds (6 chars per color for first 6, rest for 7th). */
40
+ const BANNER_BOUNDS = [0, 6, 12, 18, 24, 30, 36];
41
+
42
+ /** Returns banner with "RIZZOCSS" block art in rainbow theme colors. No ANSI if stdout is not TTY or FORCE_COLOR=0. */
43
+ function getBanner() {
44
+ const useColor = (process.stdout.isTTY || process.env.FORCE_COLOR === '1') && process.env.FORCE_COLOR !== '0';
45
+ if (!useColor) return CLI_BANNER;
46
+ const lines = CLI_BANNER.split('\n');
47
+ const RIZZOCSS_START = 5;
48
+ const RIZZOCSS_END = 9;
49
+ for (let i = RIZZOCSS_START; i <= RIZZOCSS_END; i++) {
50
+ const line = lines[i];
51
+ let out = '';
52
+ for (let s = 0; s < BANNER_BOUNDS.length; s++) {
53
+ const start = BANNER_BOUNDS[s];
54
+ const end = s === BANNER_BOUNDS.length - 1 ? line.length : BANNER_BOUNDS[s + 1];
55
+ if (start < line.length) {
56
+ const col = BANNER_RAINBOW[s % BANNER_RAINBOW.length];
57
+ out += ansiFg(col.r, col.g, col.b) + line.slice(start, Math.min(end, line.length)) + ANSI_RESET;
58
+ }
59
+ }
60
+ lines[i] = out;
61
+ }
62
+ return lines.join('\n');
63
+ }
20
64
 
21
65
  const RIZZO_CONFIG_FILE = 'rizzo-css.json';
22
66
  /** Scaffold README filename; avoids overwriting an existing project README.md. */
@@ -914,7 +958,7 @@ function multiSelectMenu(options, title, initialSelected) {
914
958
  }
915
959
 
916
960
  function printHelp() {
917
- console.log(CLI_BANNER);
961
+ console.log(getBanner());
918
962
  console.log(`
919
963
  rizzo-css CLI — Add Rizzo CSS to your project (Vanilla, Astro, Svelte)
920
964
 
@@ -1053,7 +1097,7 @@ function cmdTheme() {
1053
1097
  function cmdDoctor() {
1054
1098
  const cwd = process.cwd();
1055
1099
  const config = readRizzoConfig(cwd);
1056
- console.log(CLI_BANNER);
1100
+ console.log(getBanner());
1057
1101
  console.log(' Doctor — check config, CSS path, and layout link\n');
1058
1102
  let ok = true;
1059
1103
  if (!config) {
@@ -1941,7 +1985,7 @@ async function cmdInit(argv) {
1941
1985
  defaultDark = DARK_THEMES[0];
1942
1986
  defaultLight = LIGHT_THEMES[0];
1943
1987
  } else {
1944
- console.log(CLI_BANNER);
1988
+ console.log(getBanner());
1945
1989
  framework = await selectMenu(
1946
1990
  [
1947
1991
  { value: 'vanilla', label: 'Vanilla JS (HTML + CSS + same styles & components)', color: C.vanilla },
@@ -168,7 +168,8 @@ div.navbar__link{background:none;border:none;color:inherit;cursor:pointer;font:i
168
168
  [data-theme="shades-of-purple"] .devicon--docker .devicon__path--dark,
169
169
  [data-theme="shades-of-purple"] .devicon--playwright .devicon__path--dark,
170
170
  [data-theme="shades-of-purple"] .devicon--rust .devicon__path{fill:var(--icon)}@media (width <= 640px){.icons-grid{gap:var(--spacing-2);grid-template-columns:repeat(2,1fr)}.icon-card{min-height:8.5rem;padding:var(--spacing-2)}.icon-card__preview{margin-bottom:var(--spacing-1);min-height:var(--spacing-24)}.icon-card__icon{height:var(--spacing-8);width:var(--spacing-8)}.icon-card__name{font-size:calc(var(--font-size-xs)*.875)}.icon-card__hint{font-size:calc(var(--font-size-xs)*.75)}}.dropdown{display:inline-block;position:relative}.dropdown__trigger{align-items:center;background-color:var(--background-alt);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);color:var(--text);cursor:pointer;display:flex;font-family:var(--font-family);font-size:var(--font-size-sm);gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.dropdown__trigger:hover{background-color:var(--background);border-color:var(--accent);color:var(--accent)}.dropdown__trigger:focus-visible{outline:var(--outline-width) solid var(--accent);outline-offset:var(--outline-offset)}.dropdown__trigger[aria-expanded="true"] .dropdown__icon{transform:rotate(180deg)}
171
- .dropdown__trigger:focus-visible .dropdown__icon,.dropdown__trigger:hover .dropdown__icon{color:var(--accent)}.dropdown__trigger-text{flex:1;text-align:left}.dropdown__icon{color:var(--icon);flex-shrink:0;transition:transform var(--transition-base),color var(--transition-base)}.dropdown__menu{background-color:var(--background-alt);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);list-style:none;margin:0;max-width:calc(100vw - var(--spacing-8));min-width:var(--spacing-64);opacity:0;overflow:visible!important;padding:var(--spacing-2) 0;position:absolute;top:calc(100% + var(--spacing-2));transform:translateY(calc(var(--spacing-2)*-1));transition:opacity var(--transition-base),visibility var(--transition-base),transform var(--transition-base);visibility:hidden;width:-moz-max-content;width:max-content;z-index:var(--z-dropdown)}.dropdown__menu--left{left:0}.dropdown__menu--right{right:0}.dropdown__menu--start{left:0}.dropdown__menu--end{right:0}.dropdown__menu--open{opacity:1;transform:translateY(0);visibility:visible}.dropdown__item{align-items:center;background-color:transparent;border:none;color:var(--text);cursor:pointer;display:flex;font-family:var(--font-family);font-size:var(--font-size-sm);gap:var(--spacing-2);min-height:var(--touch-target-min);overflow:hidden;padding:var(--spacing-2) var(--spacing-4);text-align:left;text-decoration:none;text-overflow:ellipsis;transition:background-color var(--transition-fast),color var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;width:100%}
171
+ .dropdown__trigger:focus-visible .dropdown__icon,.dropdown__trigger:hover .dropdown__icon{color:var(--accent)}
172
+ #themes-preview .dropdown__trigger:focus-visible .themes-page__trigger-icon,#themes-preview .dropdown__trigger:hover .themes-page__trigger-icon{color:var(--accent)!important;stroke:var(--accent)!important}.dropdown__trigger-text{flex:1;text-align:left}.dropdown__icon{color:var(--icon);flex-shrink:0;transition:transform var(--transition-base),color var(--transition-base)}.dropdown__menu{background-color:var(--background-alt);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);list-style:none;margin:0;max-width:calc(100vw - var(--spacing-8));min-width:var(--spacing-64);opacity:0;overflow:visible!important;padding:var(--spacing-2) 0;position:absolute;top:calc(100% + var(--spacing-2));transform:translateY(calc(var(--spacing-2)*-1));transition:opacity var(--transition-base),visibility var(--transition-base),transform var(--transition-base);visibility:hidden;width:-moz-max-content;width:max-content;z-index:var(--z-dropdown)}.dropdown__menu--left{left:0}.dropdown__menu--right{right:0}.dropdown__menu--start{left:0}.dropdown__menu--end{right:0}.dropdown__menu--open{opacity:1;transform:translateY(0);visibility:visible}.dropdown__item{align-items:center;background-color:transparent;border:none;color:var(--text);cursor:pointer;display:flex;font-family:var(--font-family);font-size:var(--font-size-sm);gap:var(--spacing-2);min-height:var(--touch-target-min);overflow:hidden;padding:var(--spacing-2) var(--spacing-4);text-align:left;text-decoration:none;text-overflow:ellipsis;transition:background-color var(--transition-fast),color var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;width:100%}
172
173
  .dropdown__item:focus-visible:not(.dropdown__item--disabled),.dropdown__item:hover:not(.dropdown__item--disabled){background-color:var(--background);color:var(--accent);outline:none}.dropdown__item:focus-visible:not(.dropdown__item--disabled){box-shadow:inset 0 0 0 var(--outline-width) var(--accent)}.dropdown__item--disabled{cursor:not-allowed;opacity:var(--opacity-50);pointer-events:none}.dropdown__item-icon{flex-shrink:0;height:var(--spacing-4);width:var(--spacing-4)}.dropdown__separator{background-color:var(--border);height:var(--border-width);margin:var(--spacing-2) 0}.dropdown__item-wrapper,.dropdown__item-wrapper--has-submenu{overflow:visible;position:relative}.dropdown__item--has-submenu{align-items:center;display:flex;justify-content:space-between}.dropdown__item-arrow{color:var(--icon);flex-shrink:0;height:var(--spacing-3);margin-left:var(--spacing-2);transition:transform var(--transition-base),color var(--transition-base);width:var(--spacing-3)}
173
174
  .dropdown__item:focus-visible:not(.dropdown__item--disabled) .dropdown__item-arrow,.dropdown__item:hover:not(.dropdown__item--disabled) .dropdown__item-arrow{color:var(--accent)}.dropdown__item-wrapper--has-submenu .dropdown__submenu--open ~ .dropdown__item-arrow,
174
175
  .dropdown__item-wrapper--has-submenu:has(.dropdown__submenu--open) .dropdown__item-arrow{transform:rotate(-90deg)}.dropdown__item-wrapper--has-submenu .dropdown__item[aria-expanded="true"] .dropdown__item-arrow{transform:rotate(-90deg)}.dropdown__submenu{background-color:var(--background-alt);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:block;left:0;list-style:none;margin:0;max-width:100%;min-width:100%;opacity:0;overflow:visible!important;padding:var(--spacing-2) 0;pointer-events:none;position:absolute;right:0;top:100%;transform:translateY(calc(var(--spacing-2)*-1));transition:opacity var(--transition-base),visibility var(--transition-base),transform var(--transition-base);visibility:hidden;width:100%;z-index:var(--z-dropdown-submenu)}.dropdown__submenu--open{display:block!important;opacity:1!important;pointer-events:all!important;transform:translateY(0)!important;visibility:visible!important}.dropdown__submenu-item{min-height:var(--touch-target-min);padding:var(--spacing-2) var(--spacing-4)}.dropdown__submenu .dropdown__item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (width <= 640px){.dropdown__menu{left:0;max-width:calc(100vw - var(--spacing-4));min-width:100%;right:auto}.dropdown__menu--right{left:auto;right:0}.dropdown__submenu{max-width:100%}}@media (prefers-reduced-motion:reduce){.dropdown__menu{transform:none;transition:opacity var(--transition-fast),visibility var(--transition-fast)}.dropdown__menu--open{transform:none}.dropdown__icon{transition:none}}.search{display:inline-block}.search,.search__trigger-wrapper{position:relative}.search__trigger{align-items:center;background-color:var(--background-alt);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);color:var(--text);cursor:pointer;display:flex;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-2);min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:var(--spacing-2) var(--spacing-3);transition:background-color var(--transition-base),border-color var(--transition-base)}@media (width <= 1024px){.search__trigger{gap:0}.search__icon{flex-shrink:0;height:var(--spacing-5);width:var(--spacing-5)}}.search__icon{color:var(--icon)}.search__trigger:hover{background-color:var(--background);border-color:var(--accent);color:var(--text)}.search__trigger:focus-visible{outline:var(--outline-width) solid var(--accent);outline-offset:var(--outline-offset)}.search__kbd{align-items:center;display:none;font-family:var(--font-family-mono);font-size:.875rem;gap:var(--spacing-1);line-height:1;margin-left:auto}.search__kbd-modifier{align-items:center;display:inline-flex}.search__kbd-modifier svg{flex-shrink:0;height:.875rem;width:.875rem}.search__kbd kbd{background-color:var(--background);border:var(--border-width) solid var(--border);border-radius:var(--radius);font-size:inherit;line-height:1;padding:var(--spacing-0-125) var(--spacing-0-375)}@media (width >= 768px){.search__kbd{display:flex}}.search__overlay{backdrop-filter:blur(var(--blur-sm));background-color:var(--overlay);bottom:0;box-sizing:border-box;height:100%;left:0;min-height:100vh;min-height:100dvh;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .2s ease-out;width:100%;z-index:var(--z-search-overlay)}.search__overlay[aria-hidden="false"]{opacity:1;pointer-events:all;z-index:var(--z-search-overlay)}.search__overlay[aria-hidden="true"]{display:none}@media (width <= 1024px){.search__overlay[aria-hidden="true"]{display:none!important;pointer-events:none!important}.search__overlay{backdrop-filter:blur(2px);background-color:oklch(from var(--overlay) l c h/60%)}}.search__panel{background-color:var(--background);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);box-sizing:border-box;display:flex;flex-direction:column;left:50%;max-height:calc(100vh - var(--spacing-8));max-height:calc(100dvh - var(--spacing-8));max-width:var(--spacing-150);opacity:0;outline:none;overflow:hidden;padding-bottom:var(--spacing-6);pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .2s ease-out;width:calc(100% - var(--spacing-8));z-index:var(--z-search-panel)}.search__panel[aria-hidden="true"]{display:none}.search__panel[aria-hidden="false"][data-open="true"]{background-color:var(--background);display:flex;opacity:1;pointer-events:all}@media (width <= 640px){.search__panel{max-height:calc(100dvh - var(--spacing-8));max-width:none;width:calc(100% - var(--spacing-8))}}@media (width <= 1024px){.search__panel[aria-hidden="false"][data-open="true"] .search__header{background-color:var(--background)!important;position:relative;z-index:var(--z-1)}}.search__header{background-color:var(--background);border-bottom:var(--border-width) solid var(--border);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);gap:var(--spacing-3);padding:var(--spacing-5) var(--spacing-6);position:relative}.search__close-btn,.search__header{align-items:center;display:flex;flex-shrink:0}.search__close-btn{background-color:var(--background-alt);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);color:var(--text);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-2);justify-content:center;min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:var(--spacing-2);transition:background-color var(--transition-base),border-color var(--transition-base)}.search__close-btn:hover{background-color:var(--background-alt);border-color:var(--accent);color:var(--accent)}.search__close-btn:focus-visible{outline:var(--outline-width) solid var(--accent);outline-offset:var(--outline-offset)}.search__close-btn:active{background-color:var(--background-alt)}.search__close-text{display:none}@media (width > 1024px){.search__close-btn{min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:var(--spacing-2)}}@media (width <= 1024px){.search__header{gap:var(--spacing-2);padding:var(--spacing-4)}.search__close-btn{min-height:var(--touch-target-min);padding:var(--spacing-2) var(--spacing-4);white-space:nowrap}.search__close-text{display:inline}.search__input-wrapper{flex:1;min-width:0}}.search__input-wrapper{align-items:center;display:flex;flex:1;position:relative}.search__input-icon{color:var(--icon-dim);flex-shrink:0;height:var(--spacing-5);left:var(--spacing-4);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:var(--spacing-5);z-index:calc(var(--z-base) + 2)}.search__input{background-color:var(--background-alt);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text);font-family:var(--font-family);font-size:var(--font-size-base);padding:var(--spacing-3) calc(var(--spacing-14) + var(--spacing-0-125)) var(--spacing-3) var(--spacing-16)!important;transition:border-color var(--transition-base),background-color var(--transition-base);width:100%}.search__input:focus{background-color:var(--background);border-color:var(--accent);outline:none}.search__input::-moz-placeholder{color:var(--text-dim)}.search__input::placeholder{color:var(--text-dim)}.search__clear{align-items:center;background:none;border:none;border-radius:var(--radius);color:var(--text-dim);cursor:pointer;display:flex;height:var(--spacing-8);justify-content:center;opacity:0;padding:0;pointer-events:none;position:absolute;right:var(--spacing-3);transition:color var(--transition-base),background-color var(--transition-base);width:var(--spacing-8);z-index:calc(var(--z-base) + 3)}.search__clear[aria-hidden="false"]{opacity:1;pointer-events:all}@media (width <= 1024px){.search__clear{display:none!important}}.search__clear:hover{background-color:var(--background);color:var(--text)}.search__clear:focus-visible{outline:var(--outline-width) solid var(--accent);outline-offset:var(--outline-offset)}.search__results{background-color:var(--background)!important;display:flex!important;flex:1;flex-direction:column;height:auto!important;left:0!important;max-height:calc(var(--vh-70) - var(--spacing-20));min-height:var(--spacing-75)!important;opacity:1!important;overflow-x:hidden;overflow-y:auto;padding:var(--spacing-4) var(--spacing-6) var(--spacing-8) var(--spacing-6);position:relative!important;right:auto!important;visibility:visible!important;width:100%!important;z-index:calc(var(--z-base) + 1)}.search__empty,
@@ -197,13 +198,21 @@ div.navbar__link{background:none;border:none;color:inherit;cursor:pointer;font:i
197
198
  .home__install-or::after,.home__install-or::before{border-left:var(--border-width) solid var(--border);border-top:none;flex:1;min-height:var(--spacing-8);width:0}}.home__install-title{color:var(--text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-2) 0;text-align:center}.home__install-label{color:var(--text-dim);font-size:var(--font-size-sm);margin:0 0 var(--spacing-4) 0;text-align:center}.home__install-copy{align-items:center;display:flex;justify-content:center;width:100%}.home__install-copy .copy-to-clipboard{justify-content:space-between;width:100%}.home__install-copy .copy-to-clipboard__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home__cli-tabs{margin-top:var(--spacing-1)}.home__cli-tabs .cli-command-tabs__tabs,
198
199
  .home__cli-tabs .package-install-tabs__tabs{margin-top:0}.home__cli-tabs .tabs__list{margin-bottom:var(--spacing-2);overflow-x:visible;overflow-y:visible;scrollbar-width:none}.home__cli-tabs .tabs__list::-webkit-scrollbar{display:none}.home__cli-tabs .tabs__panel{min-height:0;padding:0}.home__cli-tabs .cli-command-tabs__panel .code-block__header{padding:var(--spacing-1) var(--spacing-2)}.home__cli-tabs .cli-command-tabs__panel .code-block pre{padding:var(--spacing-2)}.home__cli-tabs .cli-command-tabs__panel .code-block,
199
200
  .home__cli-tabs .package-install-tabs__panel .code-block{margin:0;min-width:0;overflow:hidden}.home__features{margin-bottom:var(--spacing-16)}.home__features-intro{color:var(--text-dim);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin:0 auto var(--spacing-10) auto;max-width:var(--spacing-125);text-align:center}.home__features-featured{display:grid;gap:var(--spacing-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--spacing-80)),1fr));margin-bottom:var(--spacing-8)}.home__features-supporting-label{color:var(--text-dim);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);margin:0 0 var(--spacing-4) 0;text-align:center;text-transform:uppercase}.home__grid{display:grid;gap:var(--spacing-6);grid-template-columns:repeat(auto-fit,minmax(var(--spacing-75),1fr));margin-bottom:var(--spacing-16)}.home__grid--supporting{gap:var(--spacing-5);margin-bottom:0}.home__card{background-color:var(--background-alt);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);color:var(--text);padding:var(--spacing-6);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.home__card:hover{border-color:var(--border);box-shadow:var(--shadow-sm)}.home__card--featured{border-color:var(--border);border-top:3px solid oklch(from var(--accent) l c h/24%);padding:var(--spacing-8)}.home__card--featured:hover{border-color:oklch(from var(--accent) l c h/28%);border-top-color:oklch(from var(--accent) l c h/40%);box-shadow:var(--shadow-md)}.home__card--supporting{display:flex;flex-direction:column;min-height:var(--spacing-32);padding:var(--spacing-5)}.home__card--supporting h3{font-size:var(--font-size-base);margin-bottom:var(--spacing-2)}.home__card--supporting p{font-size:var(--font-size-sm)}.home__card-icon{background-color:oklch(from var(--accent) l c h/14%);border-radius:var(--radius-md);color:var(--accent-fg);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wider);margin-bottom:var(--spacing-3);padding:var(--spacing-1) var(--spacing-2);text-transform:uppercase}.home__card h3{color:var(--text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-3) 0}.home__card--featured h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-4)}.home__card p{color:var(--text-dim);line-height:var(--line-height-relaxed);margin:0}.home__examples{margin-bottom:var(--spacing-16)}.home__example{background-color:var(--background-alt);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-8);padding:var(--spacing-8)}.home__example h3{color:var(--text);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-4) 0}.home__example p{color:var(--text-dim);margin-bottom:var(--spacing-4)}.home__button-group{display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.home__theme-demo{max-width:var(--spacing-75)}.home__theme-demo .theme-switcher{position:relative;width:100%;z-index:var(--z-dropdown)}.home__theme-demo .theme-switcher__menu{z-index:var(--z-dropdown)}.home__add-command{margin-bottom:var(--spacing-16)}.home__add-command-block{align-items:stretch;background-color:var(--background-alt);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-2);max-width:100%;min-width:0;overflow:hidden}.home__add-command-block pre{color:var(--text);flex:1;font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0;min-width:0;overflow-x:auto;padding:var(--spacing-4)}.home__add-command-block code{white-space:pre}.home__add-command-copy{align-self:center;flex-shrink:0;margin-right:var(--spacing-2)}.home__docs{margin-bottom:var(--spacing-8)}.home__docs-grid{display:grid;gap:var(--spacing-6);grid-template-columns:repeat(auto-fit,minmax(var(--spacing-70),1fr))}.home__doc-card{background-color:var(--background-alt);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);color:var(--text);display:block;padding:var(--spacing-6);text-decoration:none;transition:border-color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.home__doc-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(calc(var(--spacing-0-125)*-1))}.home__doc-card:focus-visible{outline:var(--outline-width) solid var(--accent);outline-offset:var(--outline-offset)}.home__doc-card h3{color:var(--accent-fg);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-2) 0}.home__doc-card p{color:var(--text-dim);line-height:var(--line-height-relaxed);margin:0}@media (width <= 640px){.home__announcement{align-items:center;flex-direction:column;gap:var(--spacing-1-5);padding:var(--spacing-3) var(--spacing-4);text-align:center}.home__announcement-text{line-height:var(--line-height-relaxed)}.home__title{font-size:var(--font-size-4xl)}.home__subtitle{font-size:var(--font-size-lg)}.home__showcase-grid{max-width:100%}.home__showcase .home__example:last-child{justify-self:stretch;max-width:100%}.home__theme-demo{max-width:100%;width:100%}.home__install-grid{grid-template-columns:1fr}.home__features-intro{font-size:var(--font-size-base)}.home__features-featured{grid-template-columns:1fr}.home__card--supporting{min-height:0}
200
- .home__docs-grid,.home__grid{grid-template-columns:1fr}}.docs-section-grid{display:grid;gap:var(--spacing-6);grid-template-columns:repeat(auto-fill,minmax(var(--spacing-70),1fr));margin:var(--section-spacing) 0}.docs-format-tabs{border-bottom:var(--border-width) solid var(--border);display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin:var(--spacing-8) 0 var(--spacing-4);overflow-x:auto;padding-bottom:var(--spacing-2)}.docs-format-tab{align-items:center;background:none;border:none;border-bottom:var(--border-width-2) solid transparent;border-radius:0;color:var(--text-dim);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-bottom:calc(var(--spacing-2)*-1);padding:var(--spacing-2) var(--spacing-4);transition:color var(--transition-base),border-color var(--transition-base);white-space:nowrap}.docs-format-tab:hover{color:var(--text)}.docs-format-tab[aria-selected="true"]{border-bottom-color:var(--accent-fg);color:var(--accent-fg)}.docs-format-tab:focus-visible{border-radius:var(--radius);outline:var(--outline-width) solid var(--accent-fg);outline-offset:var(--outline-offset)}.colors-doc__format-section{margin-bottom:var(--section-spacing)}.colors-doc__format-heading{color:var(--text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-2) 0}.colors-doc__format-intro{color:var(--text-dim);font-size:var(--font-size-base);margin:0 0 var(--spacing-4) 0}.colors-doc .color-format-tabs{border-bottom:var(--border-width) solid var(--border);display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin:var(--spacing-4) 0 var(--spacing-4);overflow-x:auto;padding-bottom:var(--spacing-2)}.colors-doc .color-format-tab{align-items:center;background:none;border:none;border-bottom:var(--border-width-2) solid transparent;border-radius:0;color:var(--text-dim);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-bottom:calc(var(--spacing-2)*-1);padding:var(--spacing-2) var(--spacing-4);transition:color var(--transition-base),border-color var(--transition-base);white-space:nowrap}.colors-doc .color-format-tab:hover{color:var(--text)}.colors-doc .color-format-tab[aria-selected="true"]{border-bottom-color:var(--accent-fg);color:var(--accent-fg)}.colors-doc .color-format-tab:focus-visible{border-radius:var(--radius);outline:var(--outline-width) solid var(--accent-fg);outline-offset:var(--outline-offset)}.colors-doc .color-card{background-color:var(--color-card-bg,var(--background,#64748b))!important;border-radius:var(--radius-lg);display:flex;flex-direction:column;min-height:var(--spacing-80);overflow:hidden}.colors-doc .color-card .color-swatch{background-color:var(--swatch-bg,var(--background,#64748b))!important;flex:1 1 auto;min-height:var(--spacing-80);position:relative}.colors-doc .color-card .color-swatch .color-swatch__bg{background-color:var(--swatch-bg,var(--background,#64748b))!important;border-radius:inherit;inset:0;pointer-events:none;position:absolute;z-index:0}.colors-doc .color-card .color-swatch > .color-swatch__info{background-color:#1e293b!important;color:#f1f5f9!important;position:relative;z-index:1}.colors-doc .color-swatch .copy-to-clipboard__text{color:inherit;min-height:1.5em;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;word-break:break-all}@media (width <= 640px){.docs-section-grid{grid-template-columns:1fr}}.theming-page__hero{margin-bottom:var(--section-spacing-lg);padding:var(--spacing-14) 0 var(--spacing-16);text-align:center}.theming-page__hero-title{color:var(--text);font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-tight);margin:0 0 var(--spacing-6) 0}.theming-page__hero-subtitle{color:var(--text-dim);font-size:var(--font-size-xl);line-height:var(--line-height-relaxed);margin:0 auto var(--spacing-8) auto;max-width:var(--spacing-175)}.theming-page__hero-demo{align-items:center;display:inline-flex;flex-direction:column;margin-top:var(--spacing-6)}.theming-page__mobile-dropdown{display:none;max-width:var(--theme-switcher-width);width:100%}.theming-page__mobile-dropdown-inner{width:100%}@media (width <= 1024px){.theming-page .theming-page__mobile-dropdown{display:block!important}.theming-page .theming-page__hero-switcher{display:none!important}}@media (width <= 640px){.theming-page__hero-title{font-size:var(--font-size-3xl)}.theming-page__hero-subtitle{font-size:var(--font-size-lg)}}.theming-page .card a{color:var(--text);transition:color var(--transition-base)}.theming-page .card a:hover{color:var(--accent-fg)}.theming-page .card:hover{transform:translateY(calc(var(--spacing-0-125)*-1));transition:transform var(--transition-base)}.reduced-motion .theming-page .card:hover{transform:none}.theming-page__grid{display:grid;gap:var(--spacing-6);grid-template-columns:repeat(auto-fill,minmax(var(--spacing-70),1fr));margin:var(--section-spacing) 0}.theming-page__card-header{align-items:center;display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.theming-page__card-header h3{margin:0}.theming-page__card-desc{color:var(--text-dim);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-2)}.theming-page__card-meta{color:var(--text-dim);font-size:var(--font-size-xs);margin:0}.theming-page__card-meta:last-of-type{margin-top:var(--spacing-1)}
201
+ .home__docs-grid,.home__grid{grid-template-columns:1fr}}.docs-section-grid{display:grid;gap:var(--spacing-6);grid-template-columns:repeat(auto-fill,minmax(var(--spacing-70),1fr));margin:var(--section-spacing) 0}.docs-format-tabs{border-bottom:var(--border-width) solid var(--border);display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin:var(--spacing-8) 0 var(--spacing-4);overflow-x:auto;padding-bottom:var(--spacing-2)}.docs-format-tab{align-items:center;background:none;border:none;border-bottom:var(--border-width-2) solid transparent;border-radius:0;color:var(--text-dim);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-bottom:calc(var(--spacing-2)*-1);padding:var(--spacing-2) var(--spacing-4);transition:color var(--transition-base),border-color var(--transition-base);white-space:nowrap}.docs-format-tab:hover{color:var(--text)}.docs-format-tab[aria-selected="true"]{border-bottom-color:var(--accent-fg);color:var(--accent-fg)}.docs-format-tab:focus-visible{border-radius:var(--radius);outline:var(--outline-width) solid var(--accent-fg);outline-offset:var(--outline-offset)}.colors-doc__format-section{margin-bottom:var(--section-spacing)}.colors-doc__format-heading{color:var(--text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-2) 0}.colors-doc__format-intro{color:var(--text-dim);font-size:var(--font-size-base);margin:0 0 var(--spacing-4) 0}.colors-doc .color-format-tabs{border-bottom:var(--border-width) solid var(--border);display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin:var(--spacing-4) 0 var(--spacing-4);overflow-x:auto;padding-bottom:var(--spacing-2)}.colors-doc .color-format-tab{align-items:center;background:none;border:none;border-bottom:var(--border-width-2) solid transparent;border-radius:0;color:var(--text-dim);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-bottom:calc(var(--spacing-2)*-1);padding:var(--spacing-2) var(--spacing-4);transition:color var(--transition-base),border-color var(--transition-base);white-space:nowrap}.colors-doc .color-format-tab:hover{color:var(--text)}.colors-doc .color-format-tab[aria-selected="true"]{border-bottom-color:var(--accent-fg);color:var(--accent-fg)}.colors-doc .color-format-tab:focus-visible{border-radius:var(--radius);outline:var(--outline-width) solid var(--accent-fg);outline-offset:var(--outline-offset)}.colors-doc .color-card{background-color:var(--color-card-bg,var(--swatch-bg,var(--background)))!important;border-radius:var(--radius-lg);display:flex;flex-direction:column;min-height:var(--spacing-80);overflow:hidden}.colors-doc .color-card .color-swatch{background-color:var(--swatch-bg,var(--background))!important;flex:1 1 auto;min-height:var(--spacing-80);position:relative}.colors-doc .color-card .color-swatch .color-swatch__bg{background-color:var(--swatch-bg,var(--background))!important;border-radius:inherit;inset:0;pointer-events:none;position:absolute;z-index:0}.colors-doc .color-card .color-swatch > .color-swatch__info{background-color:var(--background)!important;color:var(--text)!important;position:relative;z-index:1}.colors-doc .color-swatch .copy-to-clipboard__text{color:inherit;min-height:1.5em;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;word-break:break-all}@media (width <= 640px){.docs-section-grid{grid-template-columns:1fr}}.theming-page__hero{margin-bottom:var(--spacing-10);padding:var(--spacing-12) 0 var(--spacing-10);text-align:center}.theming-page__hero-title{color:var(--text);font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-tight);margin:0 0 var(--spacing-4) 0}.theming-page__hero-subtitle{color:var(--text-dim);font-size:var(--font-size-xl);line-height:var(--line-height-relaxed);margin:0 auto var(--spacing-6) auto;max-width:var(--spacing-175)}.theming-page__hero-demo{align-items:center;display:inline-flex;flex-direction:column;margin-top:var(--spacing-5)}.theming-page .docs__content > section{margin-bottom:var(--spacing-10);margin-top:0}.theming-page .docs__content > section:last-child{margin-bottom:0}.theming-page .docs__content > section > h2{margin-bottom:var(--spacing-5);margin-top:0;padding-bottom:var(--spacing-2)}.theming-page__mobile-dropdown{display:none;max-width:var(--theme-switcher-width);width:100%}.theming-page__mobile-dropdown-inner{width:100%}@media (width <= 1024px){.theming-page .theming-page__mobile-dropdown{display:block!important}.theming-page .theming-page__hero-switcher{display:none!important}}@media (width <= 640px){.theming-page__hero-title{font-size:var(--font-size-3xl)}.theming-page__hero-subtitle{font-size:var(--font-size-lg)}}.theming-page .card a{color:var(--text);transition:color var(--transition-base)}.theming-page .card a:hover{color:var(--accent-fg)}.theming-page .card:hover{transform:translateY(calc(var(--spacing-0-125)*-1));transition:transform var(--transition-base)}.reduced-motion .theming-page .card:hover{transform:none}.theming-page__grid{display:grid;gap:var(--spacing-4);grid-template-columns:1fr;margin:0}.theming-page__grid .card{min-width:0;width:100%}.theming-page__card-header{align-items:center;display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-2)}.theming-page__card-header h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0}.theming-page__card-desc{color:var(--text-dim);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-2)}.theming-page__card-meta{color:var(--text-dim);font-size:var(--font-size-xs);margin:0}.theming-page__card-meta:last-of-type{margin-top:var(--spacing-1)}
201
202
  .block-card-link,.component-card-link{text-decoration:none}
202
- .block-card-link:hover,.component-card-link:hover{text-decoration:underline;text-underline-offset:.15em}.theme-by{color:var(--text-dim);font-size:var(--font-size-sm);margin:0 0 var(--spacing-4) 0}.theme-by a{color:var(--accent-fg);text-decoration:none;transition:color var(--transition-base)}.theme-by a:hover{color:var(--accent-fg-hover);text-decoration:underline}html:has([data-docs]){scroll-behavior:smooth}.docs{align-items:stretch;background-color:var(--background);display:flex;flex-direction:row;min-height:calc(100vh - 4rem);padding:var(--content-padding-y) 0;position:relative}.docs__sidebar-toggle{align-items:center;background-color:var(--accent);border:none;border-radius:var(--radius-md);bottom:var(--spacing-6);box-shadow:var(--shadow-lg);color:var(--accent-text);cursor:pointer;display:none;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--spacing-2);left:var(--spacing-6);padding:var(--spacing-3) var(--spacing-4);position:fixed;transition:background-color var(--transition-base),transform var(--transition-base);z-index:calc(var(--z-settings) - 1)}.docs__sidebar-toggle:hover{background-color:var(--accent-hover)}.docs__sidebar-toggle:focus-visible{outline:var(--outline-width) solid var(--accent-text);outline-offset:var(--outline-offset)}.docs__sidebar-toggle-icon{display:flex;flex-direction:column;gap:var(--spacing-0-375)}.docs__sidebar-toggle-icon span{background-color:currentcolor;border-radius:1px;display:block;height:2px;width:var(--spacing-4)}.docs__sidebar-overlay{background-color:oklch(0 0 0deg/40%);display:none;inset:0;opacity:0;position:fixed;transition:opacity var(--transition-base),visibility var(--transition-base);visibility:hidden;z-index:calc(var(--z-settings) - 2)}.docs--sidebar-open .docs__sidebar-overlay{opacity:1;visibility:visible}.docs__main{background-color:var(--background);flex:1 1 0%;min-width:0;width:100%}@media (width >= 1025px){#docs-sidebar-container{align-items:stretch;display:flex;flex-direction:column;min-height:0}}.docs-sidebar{background-color:var(--background);border-right:var(--border-width) solid var(--border);flex-shrink:0;overflow-y:auto;padding:var(--spacing-6) var(--spacing-4) var(--spacing-8) 0;width:var(--docs-sidebar-width,14rem)}@media (width >= 1025px){.docs-sidebar{align-self:flex-start;max-height:calc(100vh - var(--spacing-16) - var(--spacing-4));position:sticky;top:calc(var(--spacing-16) + var(--spacing-4));z-index:1}}.docs-sidebar__nav{display:flex;flex-direction:column;gap:var(--spacing-6)}.docs-sidebar__group-label{color:var(--text-dim);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);margin:0 0 var(--spacing-2) 0;padding:var(--spacing-2) var(--spacing-3) var(--spacing-2);text-transform:uppercase}.docs-sidebar__list{list-style:none;margin:0;padding:0}.docs-sidebar__item{margin:0}.docs-sidebar__link{border-radius:var(--radius-md);color:var(--text);display:block;font-size:var(--font-size-base);padding:var(--spacing-2) var(--spacing-3);text-decoration:none;transition:color var(--transition-base),background-color var(--transition-base)}.docs-sidebar__link:hover{background-color:var(--background-alt);color:var(--text)}.docs-sidebar__link--active{background-color:oklch(from var(--accent-fg) l c h/12%);color:var(--accent-fg);font-weight:var(--font-weight-medium)}.docs-sidebar__link--active:hover{background-color:oklch(from var(--accent-fg) l c h/16%);color:var(--accent-fg-hover)}.docs-sidebar__sublist{border-left:2px solid var(--border);list-style:none;margin:0 0 0 var(--spacing-2);padding:0}.docs-sidebar__subitem{margin:0}.docs-sidebar__sublink{border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text);display:block;font-size:var(--font-size-sm);padding:var(--spacing-1) var(--spacing-2) var(--spacing-1) var(--spacing-3);text-decoration:none;transition:color var(--transition-base),background-color var(--transition-base)}.docs-sidebar__sublink:hover{background-color:var(--background-alt);color:var(--text)}.docs-sidebar__sublink--active{background-color:oklch(from var(--accent-fg) l c h/12%);color:var(--accent-fg);font-weight:var(--font-weight-medium)}.docs-sidebar__sublink--active:hover{background-color:oklch(from var(--accent-fg) l c h/16%);color:var(--accent-fg-hover)}.docs-sidebar-demo{background-color:var(--background);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);max-height:18rem;overflow:auto;padding:var(--spacing-3)}.docs-sidebar-demo .docs-sidebar{border-right:none;max-height:none;padding:0 var(--spacing-2) var(--spacing-4) 0;position:static;width:11rem}.docs-sidebar-demo .docs-sidebar__nav{gap:var(--spacing-4)}.docs-sidebar-demo .docs-sidebar__group-label,
203
+ .block-card-link:hover,.component-card-link:hover{text-decoration:underline;text-underline-offset:.15em}.theme-by{color:var(--text-dim);font-size:var(--font-size-sm);margin:0 0 var(--spacing-4) 0}.theme-by a{color:var(--accent-fg);text-decoration:none;transition:color var(--transition-base)}.theme-by a:hover{color:var(--accent-fg-hover);text-decoration:underline}html:has([data-docs]){scroll-behavior:smooth}.docs{align-items:stretch;background-color:var(--background);display:flex;flex-direction:row;min-height:calc(100vh - 4rem);padding:var(--content-padding-y) 0;position:relative}.docs__sidebar-toggle{align-items:center;background-color:var(--accent);border:none;border-radius:var(--radius-md);bottom:var(--spacing-6);box-shadow:var(--shadow-lg);color:var(--accent-text);cursor:pointer;display:none;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--spacing-2);left:var(--spacing-6);padding:var(--spacing-3) var(--spacing-4);position:fixed;transition:background-color var(--transition-base),transform var(--transition-base);z-index:calc(var(--z-settings) - 1)}.docs__sidebar-toggle:hover{background-color:var(--accent-hover)}.docs__sidebar-toggle:focus-visible{outline:var(--outline-width) solid var(--accent-text);outline-offset:var(--outline-offset)}.docs__sidebar-toggle-icon{display:flex;flex-direction:column;gap:var(--spacing-0-375)}.docs__sidebar-toggle-icon span{background-color:currentcolor;border-radius:1px;display:block;height:2px;width:var(--spacing-4)}.docs__sidebar-overlay{background-color:var(--overlay);display:none;inset:0;opacity:0;position:fixed;transition:opacity var(--transition-base),visibility var(--transition-base);visibility:hidden;z-index:calc(var(--z-settings) - 2)}.docs--sidebar-open .docs__sidebar-overlay{opacity:1;visibility:visible}.docs__main{background-color:var(--background);flex:1 1 0%;min-width:0;width:100%}@media (width >= 1025px){#docs-sidebar-container{align-items:stretch;display:flex;flex-direction:column;min-height:0}}.docs-sidebar{background-color:var(--background);border-right:var(--border-width) solid var(--border);flex-shrink:0;overflow-y:auto;padding:var(--spacing-6) var(--spacing-4) var(--spacing-8) 0;width:var(--docs-sidebar-width,14rem)}@media (width >= 1025px){.docs-sidebar{align-self:flex-start;max-height:calc(100vh - var(--spacing-16) - var(--spacing-4));position:sticky;top:calc(var(--spacing-16) + var(--spacing-4));z-index:1}}.docs-sidebar__nav{display:flex;flex-direction:column;gap:var(--spacing-6)}.docs-sidebar__group-label{color:var(--text-dim);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);margin:0 0 var(--spacing-2) 0;padding:var(--spacing-2) var(--spacing-3) var(--spacing-2);text-transform:uppercase}.docs-sidebar__list{list-style:none;margin:0;padding:0}.docs-sidebar__item{margin:0}.docs-sidebar__link{border-radius:var(--radius-md);color:var(--text);display:block;font-size:var(--font-size-base);padding:var(--spacing-2) var(--spacing-3);text-decoration:none;transition:color var(--transition-base),background-color var(--transition-base)}.docs-sidebar__link:hover{background-color:var(--background-alt);color:var(--text)}.docs-sidebar__link--active{background-color:oklch(from var(--accent-fg) l c h/12%);color:var(--accent-fg);font-weight:var(--font-weight-medium)}.docs-sidebar__link--active:hover{background-color:oklch(from var(--accent-fg) l c h/16%);color:var(--accent-fg-hover)}.docs-sidebar__sublist{border-left:2px solid var(--border);list-style:none;margin:0 0 0 var(--spacing-2);padding:0}.docs-sidebar__subitem{margin:0}.docs-sidebar__sublink{border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text);display:block;font-size:var(--font-size-sm);padding:var(--spacing-1) var(--spacing-2) var(--spacing-1) var(--spacing-3);text-decoration:none;transition:color var(--transition-base),background-color var(--transition-base)}.docs-sidebar__sublink:hover{background-color:var(--background-alt);color:var(--text)}.docs-sidebar__sublink--active{background-color:oklch(from var(--accent-fg) l c h/12%);color:var(--accent-fg);font-weight:var(--font-weight-medium)}.docs-sidebar__sublink--active:hover{background-color:oklch(from var(--accent-fg) l c h/16%);color:var(--accent-fg-hover)}.docs-sidebar-demo{background-color:var(--background);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);max-height:18rem;overflow:auto;padding:var(--spacing-3)}.docs-sidebar-demo .docs-sidebar{border-right:none;max-height:none;padding:0 var(--spacing-2) var(--spacing-4) 0;position:static;width:11rem}.docs-sidebar-demo .docs-sidebar__nav{gap:var(--spacing-4)}.docs-sidebar-demo .docs-sidebar__group-label,
203
204
  .docs-sidebar-demo h2.docs-sidebar__group-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2) var(--spacing-1)}.docs-sidebar-demo .docs-sidebar__link{font-size:var(--font-size-sm);padding:var(--spacing-1) var(--spacing-2)}.docs-sidebar-demo .docs-sidebar__sublist{margin-left:var(--spacing-1)}.docs-sidebar-demo .docs-sidebar__sublink{font-size:var(--font-size-xs);padding:var(--spacing-0-5) var(--spacing-1) var(--spacing-0-5) var(--spacing-2)}.theme-page__header{align-items:center;display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-2)}.theme-page__header h2{margin:0}html.docs-sidebar-mobile #docs-sidebar-container{display:none!important}@media (width <= 1024px){#docs-sidebar-container,
204
205
  .docs-sidebar,
205
206
  .docs__sidebar-overlay,
206
- .docs__sidebar-toggle{display:none!important}}@media (width >= 1025px){.docs__sidebar-overlay[aria-hidden="true"]{display:none!important}}[data-theme="github-dark-classic"]{--bg:oklch(18% 0.012 264deg);--bg-alt:oklch(15% 0.01 264deg);--current-line:oklch(20% 0.012 264deg);--selection:oklch(28% 0.08 255deg);--fg:oklch(91% 0.004 264deg);--fg-dim:oklch(66% 0.01 264deg);--comment:oklch(52% 0.015 264deg);--cyan:oklch(72% 0.12 250deg);--green:oklch(72% 0.19 145deg);--orange:oklch(78% 0.12 55deg);--pink:oklch(68% 0.14 15deg);--purple:oklch(68% 0.14 300deg);--red:oklch(68% 0.16 15deg);--yellow:oklch(88% 0.12 95deg);--background:var(--bg);--background-alt:var(--bg-alt);--text:var(--fg);--text-dim:var(--fg-dim);--icon:var(--fg);--icon-dim:oklch(75% 0.01 264deg);--border:oklch(13% 0.01 264deg);--accent:oklch(45% 0.18 250deg);--accent-hover:oklch(48% 0.18 250deg);--accent-text:oklch(100% 0 0deg);--accent-text-on-hover:var(--accent-text);--accent-fg:var(--cyan);--accent-fg-hover:oklch(78% 0.12 250deg);--success:var(--green);--success-hover:oklch(78% 0.16 145deg);--success-text:oklch(100% 0 0deg);--success-text-on-solid:oklch(22% 0.03 145deg);--warning:var(--orange);--warning-hover:oklch(85% 0.1 55deg);--warning-text:oklch(100% 0 0deg);--warning-text-on-solid:oklch(22% 0.02 55deg);--error:var(--red);--error-hover:oklch(75% 0.14 15deg);--error-text:oklch(100% 0 0deg);--error-text-on-solid:oklch(22% 0.03 25deg);--info:var(--cyan);--info-hover:oklch(78% 0.1 250deg);--info-text:oklch(100% 0 0deg);--info-text-on-solid:oklch(22% 0.03 250deg);--scrollbar-thumb:oklch(42% 0.02 264deg);--scrollbar-thumb-hover:oklch(52% 0.03 264deg);--scrollbar-thumb-active:oklch(58% 0.04 264deg);.card .card__body h2,
207
+ .docs__sidebar-toggle{display:none!important}}@media (width >= 1025px){.docs__sidebar-overlay[aria-hidden="true"]{display:none!important}}
208
+ #themes-preview .themes-page__preview-dropdown-menu .dropdown__item:focus-visible:not(.dropdown__item--disabled) svg,#themes-preview .themes-page__preview-dropdown-menu .dropdown__item:hover:not(.dropdown__item--disabled) svg,
209
+ #themes-preview .themes-page__preview-dropdown-menu .dropdown__item[aria-current="true"] svg,
210
+ #themes-preview .themes-page__preview-dropdown-menu .dropdown__item[aria-current="true"]:focus-visible svg,
211
+ #themes-preview .themes-page__preview-dropdown-menu .dropdown__item[aria-current="true"]:hover svg{color:var(--accent)!important;stroke:var(--accent)!important}
212
+ #themes-preview .themes-page__preview-dropdown-menu .dropdown__item:focus-visible:not(.dropdown__item--disabled) span,#themes-preview .themes-page__preview-dropdown-menu .dropdown__item:hover:not(.dropdown__item--disabled) span,
213
+ #themes-preview .themes-page__preview-dropdown-menu .dropdown__item[aria-current="true"] span,
214
+ #themes-preview .themes-page__preview-dropdown-menu .dropdown__item[aria-current="true"]:focus-visible span,
215
+ #themes-preview .themes-page__preview-dropdown-menu .dropdown__item[aria-current="true"]:hover span{color:var(--accent)!important}[data-theme="github-dark-classic"]{--bg:oklch(18% 0.012 264deg);--bg-alt:oklch(15% 0.01 264deg);--current-line:oklch(20% 0.012 264deg);--selection:oklch(28% 0.08 255deg);--fg:oklch(91% 0.004 264deg);--fg-dim:oklch(66% 0.01 264deg);--comment:oklch(52% 0.015 264deg);--cyan:oklch(72% 0.12 250deg);--green:oklch(72% 0.19 145deg);--orange:oklch(78% 0.12 55deg);--pink:oklch(68% 0.14 15deg);--purple:oklch(68% 0.14 300deg);--red:oklch(68% 0.16 15deg);--yellow:oklch(88% 0.12 95deg);--background:var(--bg);--background-alt:var(--bg-alt);--text:var(--fg);--text-dim:var(--fg-dim);--icon:var(--fg);--icon-dim:oklch(75% 0.01 264deg);--border:oklch(13% 0.01 264deg);--accent:oklch(45% 0.18 250deg);--accent-hover:oklch(48% 0.18 250deg);--accent-text:oklch(100% 0 0deg);--accent-text-on-hover:var(--accent-text);--accent-fg:var(--cyan);--accent-fg-hover:oklch(78% 0.12 250deg);--success:var(--green);--success-hover:oklch(78% 0.16 145deg);--success-text:oklch(100% 0 0deg);--success-text-on-solid:oklch(22% 0.03 145deg);--warning:var(--orange);--warning-hover:oklch(85% 0.1 55deg);--warning-text:oklch(100% 0 0deg);--warning-text-on-solid:oklch(22% 0.02 55deg);--error:var(--red);--error-hover:oklch(75% 0.14 15deg);--error-text:oklch(100% 0 0deg);--error-text-on-solid:oklch(22% 0.03 25deg);--info:var(--cyan);--info-hover:oklch(78% 0.1 250deg);--info-text:oklch(100% 0 0deg);--info-text-on-solid:oklch(22% 0.03 250deg);--scrollbar-thumb:oklch(42% 0.02 264deg);--scrollbar-thumb-hover:oklch(52% 0.03 264deg);--scrollbar-thumb-active:oklch(58% 0.04 264deg);.card .card__body h2,
207
216
  .card .card__body h3,
208
217
  .card .card__body h4,.footer__link{color:var(--fg)}}@supports (color:oklch(from red l c h)){[data-theme="github-dark-classic"]{--color-accent-50:oklch(from var(--accent) 0.97deg 0.03 h);--color-accent-100:oklch(from var(--accent) 0.93deg 0.06 h);--color-accent-200:oklch(from var(--accent) 0.88deg 0.1 h);--color-accent-300:oklch(from var(--accent) 0.78deg 0.14 h);--color-accent-400:oklch(from var(--accent) 0.65deg 0.16 h);--color-accent-500:var(--accent);--color-accent-600:oklch(from var(--accent) 0.45deg 0.18 h);--color-accent-700:oklch(from var(--accent) 0.38deg 0.16 h);--color-accent-800:oklch(from var(--accent) 0.3deg 0.12 h);--color-accent-900:oklch(from var(--accent) 0.22deg 0.08 h);--color-accent-950:oklch(from var(--accent) 0.15deg 0.05 h);--color-success-50:oklch(from var(--success) 0.97deg 0.03 h);--color-success-100:oklch(from var(--success) 0.93deg 0.06 h);--color-success-200:oklch(from var(--success) 0.88deg 0.1 h);--color-success-300:oklch(from var(--success) 0.78deg 0.14 h);--color-success-400:oklch(from var(--success) 0.65deg 0.16 h);--color-success-500:var(--success);--color-success-600:oklch(from var(--success) 0.45deg 0.18 h);--color-success-700:oklch(from var(--success) 0.38deg 0.16 h);--color-success-800:oklch(from var(--success) 0.3deg 0.12 h);--color-success-900:oklch(from var(--success) 0.22deg 0.08 h);--color-success-950:oklch(from var(--success) 0.15deg 0.05 h);--color-warning-50:oklch(from var(--warning) 0.97deg 0.03 h);--color-warning-100:oklch(from var(--warning) 0.93deg 0.06 h);--color-warning-200:oklch(from var(--warning) 0.88deg 0.1 h);--color-warning-300:oklch(from var(--warning) 0.82deg 0.12 h);--color-warning-400:oklch(from var(--warning) 0.75deg 0.14 h);--color-warning-500:var(--warning);--color-warning-600:oklch(from var(--warning) 0.55deg 0.14 h);--color-warning-700:oklch(from var(--warning) 0.45deg 0.12 h);--color-warning-800:oklch(from var(--warning) 0.35deg 0.1 h);--color-warning-900:oklch(from var(--warning) 0.25deg 0.06 h);--color-warning-950:oklch(from var(--warning) 0.18deg 0.04 h);--color-error-50:oklch(from var(--error) 0.97deg 0.03 h);--color-error-100:oklch(from var(--error) 0.93deg 0.06 h);--color-error-200:oklch(from var(--error) 0.88deg 0.1 h);--color-error-300:oklch(from var(--error) 0.78deg 0.14 h);--color-error-400:oklch(from var(--error) 0.65deg 0.18 h);--color-error-500:var(--error);--color-error-600:oklch(from var(--error) 0.45deg 0.2 h);--color-error-700:oklch(from var(--error) 0.38deg 0.18 h);--color-error-800:oklch(from var(--error) 0.3deg 0.14 h);--color-error-900:oklch(from var(--error) 0.22deg 0.1 h);--color-error-950:oklch(from var(--error) 0.15deg 0.06 h);--color-info-50:oklch(from var(--info) 0.97deg 0.03 h);--color-info-100:oklch(from var(--info) 0.93deg 0.06 h);--color-info-200:oklch(from var(--info) 0.88deg 0.08 h);--color-info-300:oklch(from var(--info) 0.78deg 0.1 h);--color-info-400:oklch(from var(--info) 0.65deg 0.12 h);--color-info-500:var(--info);--color-info-600:oklch(from var(--info) 0.45deg 0.12 h);--color-info-700:oklch(from var(--info) 0.38deg 0.1 h);--color-info-800:oklch(from var(--info) 0.3deg 0.08 h);--color-info-900:oklch(from var(--info) 0.22deg 0.06 h);--color-info-950:oklch(from var(--info) 0.15deg 0.04 h)}}
209
218
  [data-theme="github-dark-classic"] ::-webkit-scrollbar-thumb,[data-theme="github-dark-classic"]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rizzo-css",
3
- "version": "0.0.56",
3
+ "version": "0.0.57",
4
4
  "engines": { "node": ">=18" },
5
5
  "scripts": {
6
6
  "prepublishOnly": "cd ../.. && pnpm run lint:css:fix && pnpm run build:css && node scripts/copy-scaffold.js && node scripts/prepare-vanilla-scaffold.js"
@@ -1,18 +1,19 @@
1
1
  # Astro + Rizzo CSS
2
2
 
3
- ```
3
+ <pre style="font-family: ui-monospace, monospace; font-size: 0.85em; line-height: 1.2;">
4
4
  /\___/\
5
5
  __( o o )__
6
6
  ( =^= )
7
7
  _/ ~ \_
8
8
  / \_____/ \
9
- ____ ___ _____________ ____ ____ ____
10
- | _ \|_ _|__ /__ / _ \ / ___/ ___/ ___|
11
- | |_) || | / / / / | | | | | \___ \___ \
12
- | _ < | | / /_ / /| |_| | | |___ ___) |__) |
13
- |_| \_\___/____/____\___/ \____|____/____/
14
- Design system · Vanilla · Astro · Svelte
15
- ```
9
+ <span style="color:#c44536"> ____ </span><span style="color:#e07c3e"> ___ _</span><span style="color:#d4a800">______</span><span style="color:#2d9d78">______</span><span style="color:#0052bd"> _</span><span style="color:#7c3aed">___ __</span><span style="color:#d946ef">__ ____</span>
10
+ <span style="color:#c44536">| _ \</span><span style="color:#e07c3e">|_ _|_</span><span style="color:#d4a800">_ /__</span><span style="color:#2d9d78"> / _ </span><span style="color:#0052bd">\ / </span><span style="color:#7c3aed">___/ _</span><span style="color:#d946ef">__/ ___|</span>
11
+ <span style="color:#c44536">| |_) </span><span style="color:#e07c3e">|| | </span><span style="color:#d4a800">/ / /</span><span style="color:#2d9d78"> / | |</span><span style="color:#0052bd"> | | |</span><span style="color:#7c3aed"> \__</span><span style="color:#d946ef">_ \___ \</span>
12
+ <span style="color:#c44536">| _ &lt;</span><span style="color:#e07c3e"> | | /</span><span style="color:#d4a800"> /_ / </span><span style="color:#2d9d78">/| |_|</span><span style="color:#0052bd"> | | |</span><span style="color:#7c3aed">___ __</span><span style="color:#d946ef">_) |__) |</span>
13
+ <span style="color:#c44536">|_| \_</span><span style="color:#e07c3e">\___/_</span><span style="color:#d4a800">___/__</span><span style="color:#2d9d78">__\___</span><span style="color:#0052bd">/ \_</span><span style="color:#7c3aed">___|__</span><span style="color:#d946ef">__/____/</span>
14
+
15
+ Design system · Vanilla · Astro · Svelte
16
+ </pre>
16
17
 
17
18
  Astro project with Rizzo CSS. Scaffolded with `npx rizzo-css init` when you chose **Create new** and Astro, then **Landing**, **Docs**, **Dashboard**, or **Full**. **Full** = clone of the docs site. **Landing** / **Docs** / **Dashboard** = base + component picker (all 56 or pick). Same template choice for **Add to existing** (`npx rizzo-css add`).
18
19
 
@@ -1,18 +1,19 @@
1
1
  # Astro + Rizzo CSS
2
2
 
3
- ```
3
+ <pre style="font-family: ui-monospace, monospace; font-size: 0.85em; line-height: 1.2;">
4
4
  /\___/\
5
5
  __( o o )__
6
6
  ( =^= )
7
7
  _/ ~ \_
8
8
  / \_____/ \
9
- ____ ___ _____________ ____ ____ ____
10
- | _ \|_ _|__ /__ / _ \ / ___/ ___/ ___|
11
- | |_) || | / / / / | | | | | \___ \___ \
12
- | _ < | | / /_ / /| |_| | | |___ ___) |__) |
13
- |_| \_\___/____/____\___/ \____|____/____/
14
- Design system · Vanilla · Astro · Svelte
15
- ```
9
+ <span style="color:#c44536"> ____ </span><span style="color:#e07c3e"> ___ _</span><span style="color:#d4a800">______</span><span style="color:#2d9d78">______</span><span style="color:#0052bd"> _</span><span style="color:#7c3aed">___ __</span><span style="color:#d946ef">__ ____</span>
10
+ <span style="color:#c44536">| _ \</span><span style="color:#e07c3e">|_ _|_</span><span style="color:#d4a800">_ /__</span><span style="color:#2d9d78"> / _ </span><span style="color:#0052bd">\ / </span><span style="color:#7c3aed">___/ _</span><span style="color:#d946ef">__/ ___|</span>
11
+ <span style="color:#c44536">| |_) </span><span style="color:#e07c3e">|| | </span><span style="color:#d4a800">/ / /</span><span style="color:#2d9d78"> / | |</span><span style="color:#0052bd"> | | |</span><span style="color:#7c3aed"> \__</span><span style="color:#d946ef">_ \___ \</span>
12
+ <span style="color:#c44536">| _ &lt;</span><span style="color:#e07c3e"> | | /</span><span style="color:#d4a800"> /_ / </span><span style="color:#2d9d78">/| |_|</span><span style="color:#0052bd"> | | |</span><span style="color:#7c3aed">___ __</span><span style="color:#d946ef">_) |__) |</span>
13
+ <span style="color:#c44536">|_| \_</span><span style="color:#e07c3e">\___/_</span><span style="color:#d4a800">___/__</span><span style="color:#2d9d78">__\___</span><span style="color:#0052bd">/ \_</span><span style="color:#7c3aed">___|__</span><span style="color:#d946ef">__/____/</span>
14
+
15
+ Design system · Vanilla · Astro · Svelte
16
+ </pre>
16
17
 
17
18
  Astro project with Rizzo CSS. Scaffolded with `npx rizzo-css init` when you chose **Create new** and Astro, then **Full** template. **Full** = clone of the Rizzo docs site (no component picker). **Landing** / **Docs** / **Dashboard** = base + component picker (all 56 or pick). Same template choice for **Add to existing** (`npx rizzo-css add`).
18
19
 
@@ -2,7 +2,7 @@
2
2
  (function() {
3
3
  var SOUND_KEY = 'soundEffects';
4
4
  var THROTTLE_MS = 120;
5
- var clickableSelector = 'a[href], area[href], button, input[type="submit"], input[type="button"], input[type="checkbox"], input[type="radio"], input[type="reset"], select, summary, [role="button"], [role="link"], [role="menuitem"], [role="menuitemradio"], [role="tab"], [role="option"], [role="switch"], .btn, .tabs__tab, .dropdown__trigger, .accordion__trigger, [data-accordion-trigger], .navbar__link, .navbar__brand-link, .pagination__link, .breadcrumb__link, .search__trigger, .theme-switcher__option, .font-switcher__option, .framework-switcher__segment, .modal__close, .alert__close, .copy-btn, .copy-to-clipboard, [data-copy-btn], .docs-sidebar__link, .docs-sidebar__sublink, .docs__sidebar-toggle, .home__announcement, .home__example-pill, .block-card-link, .component-card-link, .home__doc-card, .skip-link, [data-sound-on-click]';
5
+ var clickableSelector = 'a[href], area[href], button, input[type="submit"], input[type="button"], input[type="checkbox"], input[type="radio"], input[type="reset"], select, summary, [role="button"], [role="link"], [role="menuitem"], [role="menuitemradio"], [role="tab"], [role="option"], [role="switch"], .btn, .tabs__tab, .dropdown__trigger, .accordion__trigger, [data-accordion-trigger], .navbar__link, .navbar__brand-link, .navbar__item, .pagination__link, .breadcrumb__link, .search__trigger, .theme-switcher__option, .font-switcher__option, .framework-switcher__segment, .modal__close, .alert__close, .copy-btn, .copy-to-clipboard, [data-copy-btn], .docs-sidebar__link, .docs-sidebar__sublink, .docs__sidebar-toggle, .home__announcement, .home__example-pill, .block-card-link, .component-card-link, .home__doc-card, .skip-link, [data-sound-on-click]';
6
6
  var audioContext = null;
7
7
  var soundBase = '/assets/sfx';
8
8
  var soundUrls = [soundBase + '/click.mp3', soundBase + '/click.wav'];
@@ -69,7 +69,12 @@
69
69
  playFallbackTone();
70
70
  } catch (e) {}
71
71
  }
72
- function getClickable(el) {
72
+ function getEventTargetElement(target) {
73
+ if (!target) return null;
74
+ return target.nodeType === 3 ? target.parentElement : target;
75
+ }
76
+ function getClickable(target) {
77
+ var el = getEventTargetElement(target);
73
78
  if (!el || !el.closest) return null;
74
79
  var clickable = el.closest(clickableSelector);
75
80
  if (!clickable) return null;
@@ -91,8 +96,20 @@
91
96
  playClickSound();
92
97
  setTimeout(function() { lastTouchSoundTarget = null; }, 450);
93
98
  }
99
+ function onDocumentPointerdown(e) {
100
+ if (e.pointerType === 'mouse' && e.button !== 0) return;
101
+ if (!e.isPrimary) return;
102
+ var clickable = getClickable(e.target);
103
+ if (!clickable) return;
104
+ if (lastTouchSoundTarget === clickable && (Date.now() - lastTouchSoundTime) < 400) return;
105
+ lastTouchSoundTarget = clickable;
106
+ lastTouchSoundTime = Date.now();
107
+ playClickSound();
108
+ setTimeout(function() { lastTouchSoundTarget = null; }, 450);
109
+ }
94
110
  function initSound() {
95
111
  document.addEventListener('click', onDocumentClick, true);
112
+ document.addEventListener('pointerdown', onDocumentPointerdown, true);
96
113
  if ('ontouchstart' in window || (navigator && navigator.maxTouchPoints > 0)) {
97
114
  document.addEventListener('touchend', onDocumentTouchend, true);
98
115
  }
@@ -1,18 +1,19 @@
1
1
  # SvelteKit + Rizzo CSS
2
2
 
3
- ```
3
+ <pre style="font-family: ui-monospace, monospace; font-size: 0.85em; line-height: 1.2;">
4
4
  /\___/\
5
5
  __( o o )__
6
6
  ( =^= )
7
7
  _/ ~ \_
8
8
  / \_____/ \
9
- ____ ___ _____________ ____ ____ ____
10
- | _ \|_ _|__ /__ / _ \ / ___/ ___/ ___|
11
- | |_) || | / / / / | | | | | \___ \___ \
12
- | _ < | | / /_ / /| |_| | | |___ ___) |__) |
13
- |_| \_\___/____/____\___/ \____|____/____/
14
- Design system · Vanilla · Astro · Svelte
15
- ```
9
+ <span style="color:#c44536"> ____ </span><span style="color:#e07c3e"> ___ _</span><span style="color:#d4a800">______</span><span style="color:#2d9d78">______</span><span style="color:#0052bd"> _</span><span style="color:#7c3aed">___ __</span><span style="color:#d946ef">__ ____</span>
10
+ <span style="color:#c44536">| _ \</span><span style="color:#e07c3e">|_ _|_</span><span style="color:#d4a800">_ /__</span><span style="color:#2d9d78"> / _ </span><span style="color:#0052bd">\ / </span><span style="color:#7c3aed">___/ _</span><span style="color:#d946ef">__/ ___|</span>
11
+ <span style="color:#c44536">| |_) </span><span style="color:#e07c3e">|| | </span><span style="color:#d4a800">/ / /</span><span style="color:#2d9d78"> / | |</span><span style="color:#0052bd"> | | |</span><span style="color:#7c3aed"> \__</span><span style="color:#d946ef">_ \___ \</span>
12
+ <span style="color:#c44536">| _ &lt;</span><span style="color:#e07c3e"> | | /</span><span style="color:#d4a800"> /_ / </span><span style="color:#2d9d78">/| |_|</span><span style="color:#0052bd"> | | |</span><span style="color:#7c3aed">___ __</span><span style="color:#d946ef">_) |__) |</span>
13
+ <span style="color:#c44536">|_| \_</span><span style="color:#e07c3e">\___/_</span><span style="color:#d4a800">___/__</span><span style="color:#2d9d78">__\___</span><span style="color:#0052bd">/ \_</span><span style="color:#7c3aed">___|__</span><span style="color:#d946ef">__/____/</span>
14
+
15
+ Design system · Vanilla · Astro · Svelte
16
+ </pre>
16
17
 
17
18
  SvelteKit project with Rizzo CSS. Scaffolded with `npx rizzo-css init` when you chose **Create new** and Svelte, then **Landing**, **Docs**, **Dashboard**, or **Full**. **Full** = clone of the docs site. **Landing** / **Docs** / **Dashboard** = base + component picker (all 56 or pick). Same template choice for **Add to existing** (`npx rizzo-css add`).
18
19
 
@@ -5,6 +5,7 @@
5
5
  export { default as Button } from './Button.svelte';
6
6
  export { default as Badge } from './Badge.svelte';
7
7
  export { default as Card } from './Card.svelte';
8
+ export { default as Dashboard } from './Dashboard.svelte';
8
9
  export { default as Divider } from './Divider.svelte';
9
10
  export { default as Footer } from './Footer.svelte';
10
11
  export type { FooterLink } from './Footer.svelte';
@@ -1,18 +1,19 @@
1
1
  # SvelteKit + Rizzo CSS
2
2
 
3
- ```
3
+ <pre style="font-family: ui-monospace, monospace; font-size: 0.85em; line-height: 1.2;">
4
4
  /\___/\
5
5
  __( o o )__
6
6
  ( =^= )
7
7
  _/ ~ \_
8
8
  / \_____/ \
9
- ____ ___ _____________ ____ ____ ____
10
- | _ \|_ _|__ /__ / _ \ / ___/ ___/ ___|
11
- | |_) || | / / / / | | | | | \___ \___ \
12
- | _ < | | / /_ / /| |_| | | |___ ___) |__) |
13
- |_| \_\___/____/____\___/ \____|____/____/
14
- Design system · Vanilla · Astro · Svelte
15
- ```
9
+ <span style="color:#c44536"> ____ </span><span style="color:#e07c3e"> ___ _</span><span style="color:#d4a800">______</span><span style="color:#2d9d78">______</span><span style="color:#0052bd"> _</span><span style="color:#7c3aed">___ __</span><span style="color:#d946ef">__ ____</span>
10
+ <span style="color:#c44536">| _ \</span><span style="color:#e07c3e">|_ _|_</span><span style="color:#d4a800">_ /__</span><span style="color:#2d9d78"> / _ </span><span style="color:#0052bd">\ / </span><span style="color:#7c3aed">___/ _</span><span style="color:#d946ef">__/ ___|</span>
11
+ <span style="color:#c44536">| |_) </span><span style="color:#e07c3e">|| | </span><span style="color:#d4a800">/ / /</span><span style="color:#2d9d78"> / | |</span><span style="color:#0052bd"> | | |</span><span style="color:#7c3aed"> \__</span><span style="color:#d946ef">_ \___ \</span>
12
+ <span style="color:#c44536">| _ &lt;</span><span style="color:#e07c3e"> | | /</span><span style="color:#d4a800"> /_ / </span><span style="color:#2d9d78">/| |_|</span><span style="color:#0052bd"> | | |</span><span style="color:#7c3aed">___ __</span><span style="color:#d946ef">_) |__) |</span>
13
+ <span style="color:#c44536">|_| \_</span><span style="color:#e07c3e">\___/_</span><span style="color:#d4a800">___/__</span><span style="color:#2d9d78">__\___</span><span style="color:#0052bd">/ \_</span><span style="color:#7c3aed">___|__</span><span style="color:#d946ef">__/____/</span>
14
+
15
+ Design system · Vanilla · Astro · Svelte
16
+ </pre>
16
17
 
17
18
  SvelteKit project with Rizzo CSS. Scaffolded with `npx rizzo-css init` when you chose **Create new** and Svelte, then **Full** template. **Full** = clone of the Rizzo docs site (no component picker). **Landing** / **Docs** / **Dashboard** = base + component picker (all 56 or pick). Same template choice for **Add to existing** (`npx rizzo-css add`).
18
19
 
@@ -1,18 +1,19 @@
1
1
  # Vanilla JS + Rizzo CSS
2
2
 
3
- ```
3
+ <pre style="font-family: ui-monospace, monospace; font-size: 0.85em; line-height: 1.2;">
4
4
  /\___/\
5
5
  __( o o )__
6
6
  ( =^= )
7
7
  _/ ~ \_
8
8
  / \_____/ \
9
- ____ ___ _____________ ____ ____ ____
10
- | _ \|_ _|__ /__ / _ \ / ___/ ___/ ___|
11
- | |_) || | / / / / | | | | | \___ \___ \
12
- | _ < | | / /_ / /| |_| | | |___ ___) |__) |
13
- |_| \_\___/____/____\___/ \____|____/____/
14
- Design system · Vanilla · Astro · Svelte
15
- ```
9
+ <span style="color:#c44536"> ____ </span><span style="color:#e07c3e"> ___ _</span><span style="color:#d4a800">______</span><span style="color:#2d9d78">______</span><span style="color:#0052bd"> _</span><span style="color:#7c3aed">___ __</span><span style="color:#d946ef">__ ____</span>
10
+ <span style="color:#c44536">| _ \</span><span style="color:#e07c3e">|_ _|_</span><span style="color:#d4a800">_ /__</span><span style="color:#2d9d78"> / _ </span><span style="color:#0052bd">\ / </span><span style="color:#7c3aed">___/ _</span><span style="color:#d946ef">__/ ___|</span>
11
+ <span style="color:#c44536">| |_) </span><span style="color:#e07c3e">|| | </span><span style="color:#d4a800">/ / /</span><span style="color:#2d9d78"> / | |</span><span style="color:#0052bd"> | | |</span><span style="color:#7c3aed"> \__</span><span style="color:#d946ef">_ \___ \</span>
12
+ <span style="color:#c44536">| _ &lt;</span><span style="color:#e07c3e"> | | /</span><span style="color:#d4a800"> /_ / </span><span style="color:#2d9d78">/| |_|</span><span style="color:#0052bd"> | | |</span><span style="color:#7c3aed">___ __</span><span style="color:#d946ef">_) |__) |</span>
13
+ <span style="color:#c44536">|_| \_</span><span style="color:#e07c3e">\___/_</span><span style="color:#d4a800">___/__</span><span style="color:#2d9d78">__\___</span><span style="color:#0052bd">/ \_</span><span style="color:#7c3aed">___|__</span><span style="color:#d946ef">__/____/</span>
14
+
15
+ Design system · Vanilla · Astro · Svelte
16
+ </pre>
16
17
 
17
18
  This project was scaffolded with `npx rizzo-css init` when you chose **Create new project** and Vanilla JS, then **Landing**, **Docs**, **Dashboard**, or **Full**. **Full** = clone of the docs site. **Landing** / **Docs** / **Dashboard** = CSS, fonts, icons, sfx + component picker (all 56 or pick); Landing adds hero/features; Docs adds sidebar + sample doc; Dashboard adds sidebar + stats/table. **Add to existing project** (or `npx rizzo-css add`) uses the **same template choice**; you must add the stylesheet `<link>` yourself (CLI prints the exact tag).
18
19
 
@@ -27,7 +28,7 @@ If you prefer to load CSS from a CDN instead of the local file, replace the `<li
27
28
  - `<link rel="stylesheet" href="https://unpkg.com/rizzo-css@latest/dist/rizzo.min.css" />`
28
29
  - Or jsDelivr: `https://cdn.jsdelivr.net/npm/rizzo-css@latest/dist/rizzo.min.css`
29
30
 
30
- (Replace `@latest` with a specific version, e.g. `@0.0.56`, in production.)
31
+ (Replace `@latest` with a specific version, e.g. `@0.0.57`, in production.)
31
32
 
32
33
  The CLI replaces placeholders in `index.html` (e.g. `{{DATA_THEME}}`, `{{TITLE}}`) when you run `rizzo-css init`. The theme selected during init is used on first load when you have no saved preference in the browser.
33
34