@fab1o978/react-ui 0.2.1 → 0.2.2

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.
package/dist/index.css CHANGED
@@ -1784,12 +1784,21 @@
1784
1784
  border-radius: 999px;
1785
1785
  padding: 5px 8px;
1786
1786
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.14), var(--shadow-soft);
1787
+ transition: width 0.25s ease;
1788
+ }
1789
+ .ColorWheel_module_recentsEmpty {
1790
+ background: transparent;
1791
+ box-shadow: none;
1787
1792
  }
1788
1793
  .ColorWheel_module_chipWrap {
1789
1794
  position: relative;
1790
1795
  flex: none;
1791
1796
  animation: ColorWheel_module_chipIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) both;
1792
1797
  }
1798
+ .ColorWheel_module_chipWrapRemoving {
1799
+ animation: ColorWheel_module_chipOut 0.22s cubic-bezier(0.4, 0, 1, 1) both;
1800
+ pointer-events: none;
1801
+ }
1793
1802
  .ColorWheel_module_chip {
1794
1803
  width: 26px;
1795
1804
  height: 26px;
@@ -1854,6 +1863,16 @@
1854
1863
  opacity: 1;
1855
1864
  }
1856
1865
  }
1866
+ @keyframes ColorWheel_module_chipOut {
1867
+ 0% {
1868
+ transform: scale(1) rotate(0);
1869
+ opacity: 1;
1870
+ }
1871
+ 100% {
1872
+ transform: scale(0) rotate(18deg);
1873
+ opacity: 0;
1874
+ }
1875
+ }
1857
1876
  .ColorWheel_module_picker {
1858
1877
  position: relative;
1859
1878
  margin-top: 96px;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/styles/tokens.scss","../src/components/Button/Button.module.scss","../src/styles/tokens.scss","../src/components/Input/Input.module.scss","../src/styles/tokens.scss","../src/components/Badge/Badge.module.scss","../src/components/RainCanvas/RainCanvas.module.scss","../src/styles/tokens.scss","../src/components/Timeline/Timeline.module.scss","../src/styles/tokens.scss","../src/components/ColorPicker/ColorPicker.module.scss","../src/styles/tokens.scss","../src/components/SliderControl/SliderControl.module.scss","../src/styles/tokens.scss","../src/components/SlidingCounter/SlidingCounter.module.scss","../src/styles/tokens.scss","../src/components/RichTextEditor/RichTextEditor.module.scss","../src/components/ColorWheel/ColorWheel.module.scss"],"sourcesContent":["@use \"sass:color\";\n\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n// Accent di default — cambia qui per aggiornare tutta la libreria\n$accent: #3b82f6;\n\n:root {\n // Accent scale — derivata da $accent a compile time\n --accent: #{$accent};\n --accent-dot: #{color.scale($accent, $lightness: 12%)};\n --accent-track: #{$accent};\n --accent-ring: #{$accent};\n --accent-glow: #{color.change($accent, $alpha: 0.3)};\n --accent-light: #{color.scale($accent, $lightness: 45%, $saturation: -20%)};\n\n // Primary scale (mantenuta per retrocompatibilità con Button, Badge, Input)\n --color-primary-50: #{color.scale($accent, $lightness: 49%, $saturation: -30%)};\n --color-primary-100: #{color.scale($accent, $lightness: 42%, $saturation: -15%)};\n --color-primary-400: #{color.scale($accent, $lightness: 12%)};\n --color-primary-500: #{$accent};\n --color-primary-600: #{color.scale($accent, $lightness: -10%)};\n --color-primary-700: #{color.scale($accent, $lightness: -20%)};\n\n // Neutral\n --color-neutral-0: #ffffff;\n --color-neutral-100: #f3f4f6;\n --color-neutral-200: #e5e7eb;\n --color-neutral-400: #9ca3af;\n --color-neutral-600: #4b5563;\n --color-neutral-900: #111827;\n\n // Semantic\n --color-success-500: #22c55e;\n --color-success-600: #16a34a;\n --color-danger-500: #ef4444;\n --color-danger-600: #dc2626;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n\n // Typography\n --font-family-base: \"Inter\", system-ui, -apple-system, sans-serif;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-md: 1rem;\n --font-size-lg: 1.125rem;\n\n // Spacing\n --spacing-1: 0.25rem;\n --spacing-2: 0.5rem;\n --spacing-3: 0.75rem;\n --spacing-4: 1rem;\n\n // Radius\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-full: 9999px;\n\n // Shadows\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n\n // Transitions\n --transition-fast: 150ms ease;\n\n // Surface (background di card/panel)\n --color-surface: #ffffff;\n --color-surface-elevated: #ffffff;\n}\n\n// ─── Dark theme ────────────────────────────────────────────────────────────────\n// Applicato via data-theme=\"dark\" sull'elemento root (gestito da Storybook decorator\n// e dall'app consumer). I componenti non devono fare nulla di speciale: basta che\n// usino i token var() e riceveranno automaticamente i valori dark.\n\n[data-theme=\"dark\"] {\n // Neutral (scala invertita)\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n\n // Surface\n --color-surface: #1e293b;\n --color-surface-elevated: #273549;\n\n // Primary scale dark (per il default accent blu — le sfumature chiare diventano scure)\n --color-primary-50: #172554;\n --color-primary-100: #1e3a8a;\n // 400 / 500 / 600 / 700 rimangono invariati (abbastanza saturi su bg scuro)\n\n // Accent light: variante scura\n --accent-light: #172554;\n\n // Shadows (più forti su bg scuro)\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n","@import \"../../styles/tokens.scss\";\n\n.button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-2);\n font-family: var(--font-family-base);\n font-weight: 500;\n letter-spacing: -0.01em;\n border: 1px solid transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: background-color var(--transition-fast),\n border-color var(--transition-fast), color var(--transition-fast),\n box-shadow var(--transition-fast);\n white-space: nowrap;\n text-decoration: none;\n outline-offset: 2px;\n}\n\n.button:focus-visible {\n outline: 2px solid var(--color-primary-500);\n}\n\n.button:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Variants */\n.primary {\n background-color: var(--color-primary-600);\n color: var(--color-neutral-0);\n}\n.primary:hover:not(:disabled) {\n background-color: var(--color-primary-700);\n}\n\n.secondary {\n background-color: var(--color-neutral-0);\n color: var(--color-neutral-900);\n border-color: var(--color-neutral-200);\n box-shadow: var(--shadow-sm);\n}\n.secondary:hover:not(:disabled) {\n background-color: var(--color-neutral-100);\n}\n\n.danger {\n background-color: var(--color-danger-500);\n color: var(--color-neutral-0);\n}\n.danger:hover:not(:disabled) {\n background-color: var(--color-danger-600);\n}\n\n.ghost {\n background-color: transparent;\n color: var(--color-neutral-600);\n}\n.ghost:hover:not(:disabled) {\n background-color: var(--color-neutral-100);\n color: var(--color-neutral-900);\n}\n\n/* Sizes */\n.sm {\n font-size: var(--font-size-xs);\n padding: var(--spacing-1) var(--spacing-3);\n height: 2rem;\n}\n\n.md {\n font-size: var(--font-size-sm);\n padding: var(--spacing-2) var(--spacing-4);\n height: 2.5rem;\n}\n\n.lg {\n font-size: var(--font-size-md);\n padding: var(--spacing-3) var(--spacing-4);\n height: 3rem;\n}\n\n.fullWidth {\n width: 100%;\n}\n\n/* Loading */\n.loading {\n position: relative;\n}\n\n.spinner {\n width: 1em;\n height: 1em;\n border: 2px solid currentColor;\n border-top-color: transparent;\n border-radius: var(--radius-full);\n animation: spin 0.6s linear infinite;\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n","@use \"sass:color\";\n\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n// Accent di default — cambia qui per aggiornare tutta la libreria\n$accent: #3b82f6;\n\n:root {\n // Accent scale — derivata da $accent a compile time\n --accent: #{$accent};\n --accent-dot: #{color.scale($accent, $lightness: 12%)};\n --accent-track: #{$accent};\n --accent-ring: #{$accent};\n --accent-glow: #{color.change($accent, $alpha: 0.3)};\n --accent-light: #{color.scale($accent, $lightness: 45%, $saturation: -20%)};\n\n // Primary scale (mantenuta per retrocompatibilità con Button, Badge, Input)\n --color-primary-50: #{color.scale($accent, $lightness: 49%, $saturation: -30%)};\n --color-primary-100: #{color.scale($accent, $lightness: 42%, $saturation: -15%)};\n --color-primary-400: #{color.scale($accent, $lightness: 12%)};\n --color-primary-500: #{$accent};\n --color-primary-600: #{color.scale($accent, $lightness: -10%)};\n --color-primary-700: #{color.scale($accent, $lightness: -20%)};\n\n // Neutral\n --color-neutral-0: #ffffff;\n --color-neutral-100: #f3f4f6;\n --color-neutral-200: #e5e7eb;\n --color-neutral-400: #9ca3af;\n --color-neutral-600: #4b5563;\n --color-neutral-900: #111827;\n\n // Semantic\n --color-success-500: #22c55e;\n --color-success-600: #16a34a;\n --color-danger-500: #ef4444;\n --color-danger-600: #dc2626;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n\n // Typography\n --font-family-base: \"Inter\", system-ui, -apple-system, sans-serif;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-md: 1rem;\n --font-size-lg: 1.125rem;\n\n // Spacing\n --spacing-1: 0.25rem;\n --spacing-2: 0.5rem;\n --spacing-3: 0.75rem;\n --spacing-4: 1rem;\n\n // Radius\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-full: 9999px;\n\n // Shadows\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n\n // Transitions\n --transition-fast: 150ms ease;\n\n // Surface (background di card/panel)\n --color-surface: #ffffff;\n --color-surface-elevated: #ffffff;\n}\n\n// ─── Dark theme ────────────────────────────────────────────────────────────────\n// Applicato via data-theme=\"dark\" sull'elemento root (gestito da Storybook decorator\n// e dall'app consumer). I componenti non devono fare nulla di speciale: basta che\n// usino i token var() e riceveranno automaticamente i valori dark.\n\n[data-theme=\"dark\"] {\n // Neutral (scala invertita)\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n\n // Surface\n --color-surface: #1e293b;\n --color-surface-elevated: #273549;\n\n // Primary scale dark (per il default accent blu — le sfumature chiare diventano scure)\n --color-primary-50: #172554;\n --color-primary-100: #1e3a8a;\n // 400 / 500 / 600 / 700 rimangono invariati (abbastanza saturi su bg scuro)\n\n // Accent light: variante scura\n --accent-light: #172554;\n\n // Shadows (più forti su bg scuro)\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n","@import \"../../styles/tokens.scss\";\n\n.wrapper {\n display: inline-flex;\n flex-direction: column;\n gap: var(--spacing-1);\n}\n\n.fullWidth {\n width: 100%;\n}\n\n.label {\n font-family: var(--font-family-base);\n font-size: var(--font-size-sm);\n font-weight: 500;\n color: var(--color-neutral-900);\n letter-spacing: -0.01em;\n}\n\n.inputWrapper {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.input {\n width: 100%;\n font-family: var(--font-family-base);\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-md);\n background-color: var(--color-neutral-0);\n color: var(--color-neutral-900);\n outline: none;\n transition: border-color var(--transition-fast), box-shadow var(--transition-fast);\n}\n\n.input::placeholder {\n color: var(--color-neutral-400);\n}\n\n.input:focus {\n border-color: var(--color-primary-500);\n box-shadow: 0 0 0 3px var(--color-primary-100);\n}\n\n.input:disabled {\n background-color: var(--color-neutral-100);\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.input.error {\n border-color: var(--color-danger-500);\n}\n\n.input.error:focus {\n box-shadow: 0 0 0 3px rgb(239 68 68 / 0.15);\n}\n\n/* Sizes */\n.sm .input {\n font-size: var(--font-size-xs);\n padding: var(--spacing-1) var(--spacing-2);\n height: 2rem;\n}\n\n.md .input {\n font-size: var(--font-size-sm);\n padding: var(--spacing-2) var(--spacing-3);\n height: 2.5rem;\n}\n\n.lg .input {\n font-size: var(--font-size-md);\n padding: var(--spacing-3) var(--spacing-4);\n height: 3rem;\n}\n\n/* Adornments */\n.adornment {\n position: absolute;\n left: var(--spacing-3);\n display: flex;\n align-items: center;\n color: var(--color-neutral-400);\n pointer-events: none;\n}\n\n.adornmentEnd {\n left: unset;\n right: var(--spacing-3);\n}\n\n.sm .withStart { padding-left: 2rem; }\n.md .withStart { padding-left: 2.25rem; }\n.lg .withStart { padding-left: 2.5rem; }\n\n.sm .withEnd { padding-right: 2rem; }\n.md .withEnd { padding-right: 2.25rem; }\n.lg .withEnd { padding-right: 2.5rem; }\n\n.helperText {\n font-family: var(--font-family-base);\n font-size: var(--font-size-xs);\n color: var(--color-neutral-400);\n}\n\n.errorText {\n font-family: var(--font-family-base);\n font-size: var(--font-size-xs);\n color: var(--color-danger-500);\n}\n","@use \"sass:color\";\n\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n// Accent di default — cambia qui per aggiornare tutta la libreria\n$accent: #3b82f6;\n\n:root {\n // Accent scale — derivata da $accent a compile time\n --accent: #{$accent};\n --accent-dot: #{color.scale($accent, $lightness: 12%)};\n --accent-track: #{$accent};\n --accent-ring: #{$accent};\n --accent-glow: #{color.change($accent, $alpha: 0.3)};\n --accent-light: #{color.scale($accent, $lightness: 45%, $saturation: -20%)};\n\n // Primary scale (mantenuta per retrocompatibilità con Button, Badge, Input)\n --color-primary-50: #{color.scale($accent, $lightness: 49%, $saturation: -30%)};\n --color-primary-100: #{color.scale($accent, $lightness: 42%, $saturation: -15%)};\n --color-primary-400: #{color.scale($accent, $lightness: 12%)};\n --color-primary-500: #{$accent};\n --color-primary-600: #{color.scale($accent, $lightness: -10%)};\n --color-primary-700: #{color.scale($accent, $lightness: -20%)};\n\n // Neutral\n --color-neutral-0: #ffffff;\n --color-neutral-100: #f3f4f6;\n --color-neutral-200: #e5e7eb;\n --color-neutral-400: #9ca3af;\n --color-neutral-600: #4b5563;\n --color-neutral-900: #111827;\n\n // Semantic\n --color-success-500: #22c55e;\n --color-success-600: #16a34a;\n --color-danger-500: #ef4444;\n --color-danger-600: #dc2626;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n\n // Typography\n --font-family-base: \"Inter\", system-ui, -apple-system, sans-serif;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-md: 1rem;\n --font-size-lg: 1.125rem;\n\n // Spacing\n --spacing-1: 0.25rem;\n --spacing-2: 0.5rem;\n --spacing-3: 0.75rem;\n --spacing-4: 1rem;\n\n // Radius\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-full: 9999px;\n\n // Shadows\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n\n // Transitions\n --transition-fast: 150ms ease;\n\n // Surface (background di card/panel)\n --color-surface: #ffffff;\n --color-surface-elevated: #ffffff;\n}\n\n// ─── Dark theme ────────────────────────────────────────────────────────────────\n// Applicato via data-theme=\"dark\" sull'elemento root (gestito da Storybook decorator\n// e dall'app consumer). I componenti non devono fare nulla di speciale: basta che\n// usino i token var() e riceveranno automaticamente i valori dark.\n\n[data-theme=\"dark\"] {\n // Neutral (scala invertita)\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n\n // Surface\n --color-surface: #1e293b;\n --color-surface-elevated: #273549;\n\n // Primary scale dark (per il default accent blu — le sfumature chiare diventano scure)\n --color-primary-50: #172554;\n --color-primary-100: #1e3a8a;\n // 400 / 500 / 600 / 700 rimangono invariati (abbastanza saturi su bg scuro)\n\n // Accent light: variante scura\n --accent-light: #172554;\n\n // Shadows (più forti su bg scuro)\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n","@import \"../../styles/tokens.scss\";\n\n.badge {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-1);\n font-family: var(--font-family-base);\n font-weight: 500;\n letter-spacing: 0.01em;\n border-radius: var(--radius-full);\n white-space: nowrap;\n}\n\n/* Sizes */\n.sm {\n font-size: var(--font-size-xs);\n padding: 0.1rem var(--spacing-2);\n}\n\n.md {\n font-size: var(--font-size-xs);\n padding: var(--spacing-1) var(--spacing-3);\n}\n\n/* Variants */\n.default {\n background-color: var(--color-neutral-100);\n color: var(--color-neutral-600);\n}\n\n.primary {\n background-color: var(--color-primary-50);\n color: var(--color-primary-700);\n}\n\n.success {\n background-color: #f0fdf4;\n color: var(--color-success-600);\n}\n\n.warning {\n background-color: #fffbeb;\n color: var(--color-warning-600);\n}\n\n.danger {\n background-color: #fef2f2;\n color: var(--color-danger-600);\n}\n\n/* Dot indicator */\n.dotIndicator {\n width: 0.5rem;\n height: 0.5rem;\n border-radius: var(--radius-full);\n background-color: currentColor;\n flex-shrink: 0;\n}\n",".wrapper {\n position: relative;\n overflow: hidden;\n width: 100%;\n height: 100%;\n}\n\n/* Scie umide — sotto il contenuto */\n.trailCanvas {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n display: block;\n z-index: 1;\n pointer-events: none;\n}\n\n/* Form e contenuto — sopra le scie */\n.content {\n position: absolute;\n inset: 0;\n z-index: 2;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Le gocce DOM stanno sopra tutto, ma pointer-events: none (impostato inline) */\n.dropContainer {\n position: absolute;\n inset: 0;\n z-index: 3;\n}\n","@use \"sass:color\";\n\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n// Accent di default — cambia qui per aggiornare tutta la libreria\n$accent: #3b82f6;\n\n:root {\n // Accent scale — derivata da $accent a compile time\n --accent: #{$accent};\n --accent-dot: #{color.scale($accent, $lightness: 12%)};\n --accent-track: #{$accent};\n --accent-ring: #{$accent};\n --accent-glow: #{color.change($accent, $alpha: 0.3)};\n --accent-light: #{color.scale($accent, $lightness: 45%, $saturation: -20%)};\n\n // Primary scale (mantenuta per retrocompatibilità con Button, Badge, Input)\n --color-primary-50: #{color.scale($accent, $lightness: 49%, $saturation: -30%)};\n --color-primary-100: #{color.scale($accent, $lightness: 42%, $saturation: -15%)};\n --color-primary-400: #{color.scale($accent, $lightness: 12%)};\n --color-primary-500: #{$accent};\n --color-primary-600: #{color.scale($accent, $lightness: -10%)};\n --color-primary-700: #{color.scale($accent, $lightness: -20%)};\n\n // Neutral\n --color-neutral-0: #ffffff;\n --color-neutral-100: #f3f4f6;\n --color-neutral-200: #e5e7eb;\n --color-neutral-400: #9ca3af;\n --color-neutral-600: #4b5563;\n --color-neutral-900: #111827;\n\n // Semantic\n --color-success-500: #22c55e;\n --color-success-600: #16a34a;\n --color-danger-500: #ef4444;\n --color-danger-600: #dc2626;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n\n // Typography\n --font-family-base: \"Inter\", system-ui, -apple-system, sans-serif;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-md: 1rem;\n --font-size-lg: 1.125rem;\n\n // Spacing\n --spacing-1: 0.25rem;\n --spacing-2: 0.5rem;\n --spacing-3: 0.75rem;\n --spacing-4: 1rem;\n\n // Radius\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-full: 9999px;\n\n // Shadows\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n\n // Transitions\n --transition-fast: 150ms ease;\n\n // Surface (background di card/panel)\n --color-surface: #ffffff;\n --color-surface-elevated: #ffffff;\n}\n\n// ─── Dark theme ────────────────────────────────────────────────────────────────\n// Applicato via data-theme=\"dark\" sull'elemento root (gestito da Storybook decorator\n// e dall'app consumer). I componenti non devono fare nulla di speciale: basta che\n// usino i token var() e riceveranno automaticamente i valori dark.\n\n[data-theme=\"dark\"] {\n // Neutral (scala invertita)\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n\n // Surface\n --color-surface: #1e293b;\n --color-surface-elevated: #273549;\n\n // Primary scale dark (per il default accent blu — le sfumature chiare diventano scure)\n --color-primary-50: #172554;\n --color-primary-100: #1e3a8a;\n // 400 / 500 / 600 / 700 rimangono invariati (abbastanza saturi su bg scuro)\n\n // Accent light: variante scura\n --accent-light: #172554;\n\n // Shadows (più forti su bg scuro)\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n","@use \"../../styles/tokens\" as *;\n\n// --- Tokens locali ---\n// Usa --timeline-accent-* se passato via prop, altrimenti fallback ai token globali\n$dot-size: 1.25rem;\n$connector-thickness: 2px;\n$color-pending: var(--color-neutral-200);\n\n$accent-dot: var(--timeline-accent-dot, var(--accent-dot));\n$accent-track: var(--timeline-accent-track, var(--accent-track));\n$accent-ring: var(--timeline-accent-ring, var(--accent-ring));\n$accent-glow: var(--timeline-accent-glow, var(--accent-glow));\n\n// --- Reset lista ---\n.timeline {\n list-style: none;\n margin: 0;\n padding: 0;\n font-family: var(--font-family-base);\n}\n\n// =====================\n// VERTICALE (default)\n// =====================\n.vertical {\n display: flex;\n flex-direction: column;\n gap: 0;\n\n .item {\n display: grid;\n grid-template-columns: $dot-size 1fr;\n column-gap: 1rem;\n align-items: stretch;\n }\n\n .track {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: $dot-size;\n }\n\n .connector {\n flex: 1;\n width: 0;\n min-height: 0.5rem;\n border-left: $connector-thickness dashed $color-pending;\n transition: border-color 0.3s ease;\n }\n\n .content {\n padding-bottom: 1.75rem;\n padding-top: 0.1rem;\n }\n\n .item.last .content {\n padding-bottom: 0;\n }\n}\n\n// =======================\n// ORIZZONTALE\n// =======================\n.horizontal {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n\n .item {\n display: flex;\n flex-direction: column;\n align-items: center;\n flex: 1;\n min-width: 0;\n\n }\n\n .track {\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 100%;\n }\n\n .connector {\n flex: 1;\n height: 0;\n min-width: 1rem;\n border-top: $connector-thickness dashed $color-pending;\n transition: border-color 0.3s ease;\n }\n\n\n\n .content {\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n padding-top: 0.75rem;\n padding-inline: 0.5rem;\n }\n}\n\n// =====================\n// DOT\n// =====================\n.dot {\n width: $dot-size;\n height: $dot-size;\n border-radius: 50%;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.6rem;\n position: relative;\n z-index: 1;\n transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;\n\n // pending\n background-color: var(--color-neutral-0);\n border: $connector-thickness solid $color-pending;\n color: var(--color-neutral-400);\n}\n\n.iconSlot {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.65rem;\n line-height: 1;\n}\n\n// =====================\n// STATUS\n// =====================\n.completed {\n .dot {\n background-color: $accent-dot;\n border-color: $accent-dot;\n color: var(--color-neutral-0);\n box-shadow: 0 0 0 3px $accent-ring;\n animation: dotIn 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;\n animation-delay: var(--dot-delay, 0s);\n }\n}\n\n.active {\n .dot {\n background-color: var(--color-neutral-0);\n border-color: $accent-track;\n border-width: 2px;\n box-shadow: 0 0 0 3px $accent-ring;\n animation: pulse 2s ease-in-out infinite;\n }\n}\n\n.pending {\n .dot {\n box-shadow: 0 0 0 3px var(--color-neutral-200);\n }\n}\n\n// =====================\n// CONTENT\n// =====================\n.label {\n display: block;\n font-size: var(--font-size-xs);\n color: var(--color-neutral-400);\n margin-bottom: 0.2rem;\n letter-spacing: 0.01em;\n}\n\n.title {\n display: block;\n font-size: var(--font-size-sm);\n font-weight: 600;\n color: var(--color-neutral-900);\n letter-spacing: -0.01em;\n}\n\n.description {\n margin: 0.35rem 0 0;\n font-size: var(--font-size-xs);\n color: var(--color-neutral-600);\n line-height: 1.5;\n}\n\n// Status: titolo più sbiadito per pending\n.pending .title {\n color: var(--color-neutral-400);\n font-weight: 500;\n}\n\n// Connettore invisibile — tiene lo spazio ma non mostra la linea\n.connectorHidden {\n border-color: transparent !important;\n}\n\n// Connettore completato — sovrascrive dashed con solid + colore accent\n.connectorDone {\n border-color: $accent-track !important;\n border-style: solid !important;\n}\n\n// =====================\n// ANIMAZIONI\n// =====================\n@keyframes dotIn {\n 0% {\n transform: scale(0.5);\n background-color: var(--color-neutral-0);\n border-color: var(--color-neutral-200);\n box-shadow: 0 0 0 3px var(--color-neutral-200);\n color: transparent;\n }\n 40% {\n background-color: $accent-dot;\n border-color: $accent-dot;\n box-shadow: 0 0 0 3px $accent-ring;\n color: var(--color-neutral-0);\n }\n 50% { transform: scale(1.06); }\n 70% { transform: scale(0.97); }\n 85% { transform: scale(1.02); }\n 100% { transform: scale(1); }\n}\n\n@keyframes pulse {\n 0%, 100% { box-shadow: 0 0 0 3px $accent-ring; }\n 50% { box-shadow: 0 0 0 3px $accent-ring, 0 0 0 6px $accent-glow; }\n}\n","@use \"sass:color\";\n\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n// Accent di default — cambia qui per aggiornare tutta la libreria\n$accent: #3b82f6;\n\n:root {\n // Accent scale — derivata da $accent a compile time\n --accent: #{$accent};\n --accent-dot: #{color.scale($accent, $lightness: 12%)};\n --accent-track: #{$accent};\n --accent-ring: #{$accent};\n --accent-glow: #{color.change($accent, $alpha: 0.3)};\n --accent-light: #{color.scale($accent, $lightness: 45%, $saturation: -20%)};\n\n // Primary scale (mantenuta per retrocompatibilità con Button, Badge, Input)\n --color-primary-50: #{color.scale($accent, $lightness: 49%, $saturation: -30%)};\n --color-primary-100: #{color.scale($accent, $lightness: 42%, $saturation: -15%)};\n --color-primary-400: #{color.scale($accent, $lightness: 12%)};\n --color-primary-500: #{$accent};\n --color-primary-600: #{color.scale($accent, $lightness: -10%)};\n --color-primary-700: #{color.scale($accent, $lightness: -20%)};\n\n // Neutral\n --color-neutral-0: #ffffff;\n --color-neutral-100: #f3f4f6;\n --color-neutral-200: #e5e7eb;\n --color-neutral-400: #9ca3af;\n --color-neutral-600: #4b5563;\n --color-neutral-900: #111827;\n\n // Semantic\n --color-success-500: #22c55e;\n --color-success-600: #16a34a;\n --color-danger-500: #ef4444;\n --color-danger-600: #dc2626;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n\n // Typography\n --font-family-base: \"Inter\", system-ui, -apple-system, sans-serif;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-md: 1rem;\n --font-size-lg: 1.125rem;\n\n // Spacing\n --spacing-1: 0.25rem;\n --spacing-2: 0.5rem;\n --spacing-3: 0.75rem;\n --spacing-4: 1rem;\n\n // Radius\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-full: 9999px;\n\n // Shadows\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n\n // Transitions\n --transition-fast: 150ms ease;\n\n // Surface (background di card/panel)\n --color-surface: #ffffff;\n --color-surface-elevated: #ffffff;\n}\n\n// ─── Dark theme ────────────────────────────────────────────────────────────────\n// Applicato via data-theme=\"dark\" sull'elemento root (gestito da Storybook decorator\n// e dall'app consumer). I componenti non devono fare nulla di speciale: basta che\n// usino i token var() e riceveranno automaticamente i valori dark.\n\n[data-theme=\"dark\"] {\n // Neutral (scala invertita)\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n\n // Surface\n --color-surface: #1e293b;\n --color-surface-elevated: #273549;\n\n // Primary scale dark (per il default accent blu — le sfumature chiare diventano scure)\n --color-primary-50: #172554;\n --color-primary-100: #1e3a8a;\n // 400 / 500 / 600 / 700 rimangono invariati (abbastanza saturi su bg scuro)\n\n // Accent light: variante scura\n --accent-light: #172554;\n\n // Shadows (più forti su bg scuro)\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n","@use \"../../styles/tokens\" as *;\n\n$accent-base: var(--colorpicker-accent, var(--accent));\n$accent-ring: var(--colorpicker-accent-ring, var(--accent-ring));\n$accent-glow: var(--colorpicker-accent-glow, var(--accent-glow));\n$accent-light: var(--colorpicker-accent-light, var(--accent-light));\n\n$disc: 200px;\n$slider-w: 20px;\n$thumb-size: 20px;\n$gap: 0.5rem;\n\n// ─── Dark theme scoped sull'elemento (prop theme=\"dark\") ──────────────────────\n// Sovrascrive i token globali localmente — non dipende dal data-theme dell'app.\n\n.colorPicker[data-theme=\"dark\"] {\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n --color-surface: #1e293b;\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n\n// ─── Card ──────────────────────────────────────────────────────────────────────\n\n.colorPicker {\n display: inline-flex;\n flex-direction: column;\n gap: 0.75rem;\n padding: 1rem;\n background: var(--color-surface);\n backdrop-filter: blur(16px);\n -webkit-backdrop-filter: blur(16px);\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-lg);\n box-shadow: var(--shadow-md), 0 0 0 1px rgba(0,0,0,0.04);\n font-family: var(--font-family-base);\n width: calc(#{$disc} + 2rem); // disc + card padding (1rem × 2 sides)\n box-sizing: border-box;\n user-select: none;\n}\n\n// ─── Disc + L slider row ───────────────────────────────────────────────────────\n\n.topRow {\n display: flex;\n justify-content: center;\n}\n\n.discWrapper {\n position: relative;\n width: $disc;\n height: $disc;\n flex-shrink: 0;\n border-radius: 50%;\n box-shadow: 0 0 0 1.5px var(--color-neutral-200);\n}\n\n.disc {\n display: block;\n width: $disc;\n height: $disc;\n cursor: crosshair;\n border-radius: 50%;\n}\n\n.dot {\n position: absolute;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n border: 2px solid;\n transform: translate(-50%, -50%);\n pointer-events: none;\n box-shadow: 0 0 0 1.5px rgba(0, 0, 0, 0.2), 0 2px 4px rgba(0, 0, 0, 0.2);\n background: transparent;\n}\n\n\n// ─── Preview swatch ────────────────────────────────────────────────────────────\n\n.previewSwatch {\n width: 100%;\n height: 48px;\n border-radius: var(--radius-md);\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 0 0.5rem;\n box-sizing: border-box;\n}\n\n.eyedropperBtn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n border-radius: var(--radius-sm);\n background: rgba(255, 255, 255, 0.15);\n cursor: pointer;\n backdrop-filter: blur(4px);\n transition: background var(--transition-fast);\n\n &:hover {\n background: rgba(255, 255, 255, 0.4);\n }\n}\n\n// ─── Inputs ────────────────────────────────────────────────────────────────────\n\n.inputSection {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.tabs {\n display: flex;\n background: var(--color-neutral-100);\n border-radius: var(--radius-sm);\n padding: 2px;\n gap: 2px;\n}\n\n.tab {\n flex: 1;\n padding: 0.2rem 0;\n font-size: 0.65rem;\n font-weight: 600;\n letter-spacing: 0.04em;\n border: none;\n border-radius: calc(var(--radius-sm) - 1px);\n background: transparent;\n color: var(--color-neutral-400);\n cursor: pointer;\n transition: background var(--transition-fast), color var(--transition-fast);\n\n &:hover:not(.tabActive) {\n color: var(--color-neutral-600);\n }\n}\n\n.tabActive {\n background: $accent-base;\n color: #fff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n\n.inputWrapper {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.inputAddon {\n position: absolute;\n left: 0.5rem;\n font-size: var(--font-size-xs);\n font-family: \"SF Mono\", \"Fira Code\", \"Consolas\", monospace;\n color: var(--color-neutral-400);\n pointer-events: none;\n line-height: 1;\n}\n\n.input {\n width: 100%;\n box-sizing: border-box;\n padding: 0.4rem 2rem; // symmetric: room for # on left and copy icon on right\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-sm);\n font-size: var(--font-size-xs);\n font-family: \"SF Mono\", \"Fira Code\", \"Consolas\", monospace;\n color: var(--color-neutral-900);\n background: var(--color-neutral-0);\n outline: none;\n text-align: center;\n transition: border-color var(--transition-fast), box-shadow var(--transition-fast);\n\n &:focus {\n border-color: $accent-base;\n box-shadow: 0 0 0 2px $accent-glow;\n }\n}\n\n.inputCopyBtn {\n position: absolute;\n right: 0.35rem;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n border: none;\n border-radius: var(--radius-sm);\n background: transparent;\n color: var(--color-neutral-400);\n cursor: pointer;\n transition: background var(--transition-fast), color var(--transition-fast);\n\n &:hover {\n background: var(--color-neutral-100);\n color: var(--color-neutral-900);\n }\n}\n\n\n// ─── Recent colors ─────────────────────────────────────────────────────────────\n\n.recents {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding-top: 0.25rem;\n border-top: 1px solid var(--color-neutral-100);\n overflow: hidden;\n}\n\n.recentsLabel {\n font-size: 0.6rem;\n font-weight: 600;\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--color-neutral-400);\n flex-shrink: 0;\n}\n\n.swatches {\n display: flex;\n gap: 0.35rem;\n flex-wrap: nowrap;\n overflow: hidden;\n}\n\n.recentSwatch {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n border: 1.5px solid rgba(0, 0, 0, 0.1);\n cursor: pointer;\n padding: 0;\n flex-shrink: 0;\n}\n","@use \"sass:color\";\n\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n// Accent di default — cambia qui per aggiornare tutta la libreria\n$accent: #3b82f6;\n\n:root {\n // Accent scale — derivata da $accent a compile time\n --accent: #{$accent};\n --accent-dot: #{color.scale($accent, $lightness: 12%)};\n --accent-track: #{$accent};\n --accent-ring: #{$accent};\n --accent-glow: #{color.change($accent, $alpha: 0.3)};\n --accent-light: #{color.scale($accent, $lightness: 45%, $saturation: -20%)};\n\n // Primary scale (mantenuta per retrocompatibilità con Button, Badge, Input)\n --color-primary-50: #{color.scale($accent, $lightness: 49%, $saturation: -30%)};\n --color-primary-100: #{color.scale($accent, $lightness: 42%, $saturation: -15%)};\n --color-primary-400: #{color.scale($accent, $lightness: 12%)};\n --color-primary-500: #{$accent};\n --color-primary-600: #{color.scale($accent, $lightness: -10%)};\n --color-primary-700: #{color.scale($accent, $lightness: -20%)};\n\n // Neutral\n --color-neutral-0: #ffffff;\n --color-neutral-100: #f3f4f6;\n --color-neutral-200: #e5e7eb;\n --color-neutral-400: #9ca3af;\n --color-neutral-600: #4b5563;\n --color-neutral-900: #111827;\n\n // Semantic\n --color-success-500: #22c55e;\n --color-success-600: #16a34a;\n --color-danger-500: #ef4444;\n --color-danger-600: #dc2626;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n\n // Typography\n --font-family-base: \"Inter\", system-ui, -apple-system, sans-serif;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-md: 1rem;\n --font-size-lg: 1.125rem;\n\n // Spacing\n --spacing-1: 0.25rem;\n --spacing-2: 0.5rem;\n --spacing-3: 0.75rem;\n --spacing-4: 1rem;\n\n // Radius\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-full: 9999px;\n\n // Shadows\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n\n // Transitions\n --transition-fast: 150ms ease;\n\n // Surface (background di card/panel)\n --color-surface: #ffffff;\n --color-surface-elevated: #ffffff;\n}\n\n// ─── Dark theme ────────────────────────────────────────────────────────────────\n// Applicato via data-theme=\"dark\" sull'elemento root (gestito da Storybook decorator\n// e dall'app consumer). I componenti non devono fare nulla di speciale: basta che\n// usino i token var() e riceveranno automaticamente i valori dark.\n\n[data-theme=\"dark\"] {\n // Neutral (scala invertita)\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n\n // Surface\n --color-surface: #1e293b;\n --color-surface-elevated: #273549;\n\n // Primary scale dark (per il default accent blu — le sfumature chiare diventano scure)\n --color-primary-50: #172554;\n --color-primary-100: #1e3a8a;\n // 400 / 500 / 600 / 700 rimangono invariati (abbastanza saturi su bg scuro)\n\n // Accent light: variante scura\n --accent-light: #172554;\n\n // Shadows (più forti su bg scuro)\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n","@use \"../../styles/tokens\" as *;\n\n$accent-track: var(--slider-accent-track, var(--accent-track));\n$accent-ring: var(--slider-accent-ring, var(--accent-ring));\n$accent-glow: var(--slider-accent-glow, var(--accent-glow));\n\n$groove-height: 22px;\n$rail-height: 6px;\n$thumb-size: 18px;\n$hit-zone: 36px;\n\n.wrapper {\n display: flex;\n align-items: center;\n gap: 10px;\n font-family: var(--font-family-base);\n user-select: none;\n -webkit-user-select: none;\n}\n\n.disabled {\n opacity: 0.45;\n pointer-events: none;\n}\n\n.icon {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-neutral-400);\n flex-shrink: 0;\n line-height: 0;\n}\n\n// ── Hit zone ───────────────────────────────────────────────────────────────────\n.trackArea {\n position: relative;\n flex: 1;\n height: $hit-zone;\n display: flex;\n align-items: center;\n cursor: pointer;\n}\n\n// ── Groove — the carved channel, >= thumb size ─────────────────────────────────\n.groove {\n position: relative;\n width: 100%;\n height: $groove-height;\n border-radius: var(--radius-full);\n background: var(--color-neutral-300);\n display: flex;\n align-items: center;\n // purely inset: no outer shadow\n box-shadow:\n inset 0 4px 8px rgba(0, 0, 0, 0.14),\n inset 0 2px 4px rgba(0, 0, 0, 0.06),\n inset 0 -2px 3px rgba(255, 255, 255, 0.10);\n}\n\n// ── Rail — thin line inside the groove where fill runs ─────────────────────────\n.rail {\n position: absolute;\n left: 8px;\n right: 8px;\n height: $rail-height;\n border-radius: var(--radius-full);\n background: var(--color-neutral-400);\n box-shadow:\n inset 0 1px 3px rgba(0, 0, 0, 0.30),\n inset 0 1px 1px rgba(0, 0, 0, 0.18);\n overflow: hidden;\n}\n\n// ── Fill ───────────────────────────────────────────────────────────────────────\n.fill {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n background: $accent-track;\n border-radius: var(--radius-full);\n transition: width 60ms linear;\n}\n\n// ── Thumb ──────────────────────────────────────────────────────────────────────\n.thumb {\n position: absolute;\n top: 50%;\n width: $thumb-size;\n height: $thumb-size;\n border-radius: 50%;\n transform: translate(-50%, -50%);\n background: #dde0e6;\n border: 1px solid rgba(0, 0, 0, 0.10);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.22);\n cursor: grab;\n transition: box-shadow 120ms ease, transform 120ms ease;\n outline: none;\n z-index: 2;\n}\n\n.thumb:focus-visible {\n box-shadow:\n 0 1px 3px rgba(0, 0, 0, 0.22),\n 0 0 0 3px $accent-ring;\n}\n\n.thumbDragging {\n cursor: grabbing;\n transform: translate(-50%, -50%) scale(1.08);\n box-shadow:\n 0 1px 4px rgba(0, 0, 0, 0.28),\n 0 0 0 3px $accent-ring,\n 0 0 0 6px $accent-glow;\n}\n\n// ── Tooltip ────────────────────────────────────────────────────────────────────\n.tooltip {\n position: absolute;\n bottom: calc(100% + 6px);\n transform: translateX(-50%);\n background: rgba(18, 18, 26, 0.85);\n backdrop-filter: blur(6px);\n -webkit-backdrop-filter: blur(6px);\n color: #fff;\n font-size: 11px;\n font-weight: 600;\n letter-spacing: 0.02em;\n padding: 3px 8px;\n border-radius: 6px;\n white-space: nowrap;\n pointer-events: none;\n opacity: 0;\n transition: opacity 120ms ease;\n z-index: 10;\n\n &::after {\n content: \"\";\n position: absolute;\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n border: 4px solid transparent;\n border-top-color: rgba(18, 18, 26, 0.85);\n }\n}\n\n.tooltipVisible {\n opacity: 1;\n}\n\n// ── Dark mode ──────────────────────────────────────────────────────────────────\n[data-theme=\"dark\"] {\n .groove {\n box-shadow:\n inset 0 1px 0 rgba(255, 255, 255, 0.07),\n inset 0 3px 7px rgba(0, 0, 0, 0.32),\n inset 0 1px 3px rgba(0, 0, 0, 0.22),\n inset 0 -2px 3px rgba(255, 255, 255, 0.04);\n }\n\n .thumb {\n background: #4a4f5c;\n border-color: rgba(255, 255, 255, 0.08);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);\n }\n\n .thumbDragging {\n box-shadow:\n 0 1px 4px rgba(0, 0, 0, 0.5),\n 0 0 0 3px $accent-ring,\n 0 0 0 6px $accent-glow;\n }\n}\n","@use \"sass:color\";\n\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n// Accent di default — cambia qui per aggiornare tutta la libreria\n$accent: #3b82f6;\n\n:root {\n // Accent scale — derivata da $accent a compile time\n --accent: #{$accent};\n --accent-dot: #{color.scale($accent, $lightness: 12%)};\n --accent-track: #{$accent};\n --accent-ring: #{$accent};\n --accent-glow: #{color.change($accent, $alpha: 0.3)};\n --accent-light: #{color.scale($accent, $lightness: 45%, $saturation: -20%)};\n\n // Primary scale (mantenuta per retrocompatibilità con Button, Badge, Input)\n --color-primary-50: #{color.scale($accent, $lightness: 49%, $saturation: -30%)};\n --color-primary-100: #{color.scale($accent, $lightness: 42%, $saturation: -15%)};\n --color-primary-400: #{color.scale($accent, $lightness: 12%)};\n --color-primary-500: #{$accent};\n --color-primary-600: #{color.scale($accent, $lightness: -10%)};\n --color-primary-700: #{color.scale($accent, $lightness: -20%)};\n\n // Neutral\n --color-neutral-0: #ffffff;\n --color-neutral-100: #f3f4f6;\n --color-neutral-200: #e5e7eb;\n --color-neutral-400: #9ca3af;\n --color-neutral-600: #4b5563;\n --color-neutral-900: #111827;\n\n // Semantic\n --color-success-500: #22c55e;\n --color-success-600: #16a34a;\n --color-danger-500: #ef4444;\n --color-danger-600: #dc2626;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n\n // Typography\n --font-family-base: \"Inter\", system-ui, -apple-system, sans-serif;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-md: 1rem;\n --font-size-lg: 1.125rem;\n\n // Spacing\n --spacing-1: 0.25rem;\n --spacing-2: 0.5rem;\n --spacing-3: 0.75rem;\n --spacing-4: 1rem;\n\n // Radius\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-full: 9999px;\n\n // Shadows\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n\n // Transitions\n --transition-fast: 150ms ease;\n\n // Surface (background di card/panel)\n --color-surface: #ffffff;\n --color-surface-elevated: #ffffff;\n}\n\n// ─── Dark theme ────────────────────────────────────────────────────────────────\n// Applicato via data-theme=\"dark\" sull'elemento root (gestito da Storybook decorator\n// e dall'app consumer). I componenti non devono fare nulla di speciale: basta che\n// usino i token var() e riceveranno automaticamente i valori dark.\n\n[data-theme=\"dark\"] {\n // Neutral (scala invertita)\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n\n // Surface\n --color-surface: #1e293b;\n --color-surface-elevated: #273549;\n\n // Primary scale dark (per il default accent blu — le sfumature chiare diventano scure)\n --color-primary-50: #172554;\n --color-primary-100: #1e3a8a;\n // 400 / 500 / 600 / 700 rimangono invariati (abbastanza saturi su bg scuro)\n\n // Accent light: variante scura\n --accent-light: #172554;\n\n // Shadows (più forti su bg scuro)\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n","@use \"../../styles/tokens\";\n\n// ── Size map ────────────────────────────────────────────────────────────────\n$sizes: (\n sm: (font: 1.25rem, cell: 1.6rem, width: 0.85rem),\n md: (font: 2rem, cell: 2.6rem, width: 1.35rem),\n lg: (font: 3rem, cell: 3.8rem, width: 2rem),\n);\n\n// ── Counter wrapper ─────────────────────────────────────────────────────────\n.counter {\n display: inline-flex;\n align-items: center;\n gap: 1px;\n font-family: var(--font-family-base);\n font-weight: 600;\n font-variant-numeric: tabular-nums;\n color: var(--sliding-counter-accent-dot, var(--accent-dot));\n user-select: none;\n}\n\n// ── Sign (minus) and decimal separator ──────────────────────────────────────\n.sign {\n line-height: 1;\n margin-right: 2px;\n}\n\n.separator {\n line-height: 1;\n margin: 0 1px;\n opacity: 0.5;\n align-self: flex-end;\n padding-bottom: 0.5em;\n}\n\n// ── Reel window — clips to one digit height ─────────────────────────────────\n.reelWindow {\n overflow: hidden;\n position: relative;\n\n @each $name, $map in $sizes {\n &.#{$name} {\n height: map-get($map, cell);\n width: map-get($map, width);\n font-size: map-get($map, font);\n line-height: map-get($map, cell);\n }\n }\n}\n\n// ── The scrolling column ─────────────────────────────────────────────────────\n.reel {\n display: flex;\n flex-direction: column;\n transition: transform 420ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n// ── Single digit cell ────────────────────────────────────────────────────────\n.digitCell {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n\n @each $name, $map in $sizes {\n .reelWindow.#{$name} & {\n height: map-get($map, cell);\n width: map-get($map, width);\n }\n }\n}\n","@use \"sass:color\";\n\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n// Accent di default — cambia qui per aggiornare tutta la libreria\n$accent: #3b82f6;\n\n:root {\n // Accent scale — derivata da $accent a compile time\n --accent: #{$accent};\n --accent-dot: #{color.scale($accent, $lightness: 12%)};\n --accent-track: #{$accent};\n --accent-ring: #{$accent};\n --accent-glow: #{color.change($accent, $alpha: 0.3)};\n --accent-light: #{color.scale($accent, $lightness: 45%, $saturation: -20%)};\n\n // Primary scale (mantenuta per retrocompatibilità con Button, Badge, Input)\n --color-primary-50: #{color.scale($accent, $lightness: 49%, $saturation: -30%)};\n --color-primary-100: #{color.scale($accent, $lightness: 42%, $saturation: -15%)};\n --color-primary-400: #{color.scale($accent, $lightness: 12%)};\n --color-primary-500: #{$accent};\n --color-primary-600: #{color.scale($accent, $lightness: -10%)};\n --color-primary-700: #{color.scale($accent, $lightness: -20%)};\n\n // Neutral\n --color-neutral-0: #ffffff;\n --color-neutral-100: #f3f4f6;\n --color-neutral-200: #e5e7eb;\n --color-neutral-400: #9ca3af;\n --color-neutral-600: #4b5563;\n --color-neutral-900: #111827;\n\n // Semantic\n --color-success-500: #22c55e;\n --color-success-600: #16a34a;\n --color-danger-500: #ef4444;\n --color-danger-600: #dc2626;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n\n // Typography\n --font-family-base: \"Inter\", system-ui, -apple-system, sans-serif;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-md: 1rem;\n --font-size-lg: 1.125rem;\n\n // Spacing\n --spacing-1: 0.25rem;\n --spacing-2: 0.5rem;\n --spacing-3: 0.75rem;\n --spacing-4: 1rem;\n\n // Radius\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-full: 9999px;\n\n // Shadows\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n\n // Transitions\n --transition-fast: 150ms ease;\n\n // Surface (background di card/panel)\n --color-surface: #ffffff;\n --color-surface-elevated: #ffffff;\n}\n\n// ─── Dark theme ────────────────────────────────────────────────────────────────\n// Applicato via data-theme=\"dark\" sull'elemento root (gestito da Storybook decorator\n// e dall'app consumer). I componenti non devono fare nulla di speciale: basta che\n// usino i token var() e riceveranno automaticamente i valori dark.\n\n[data-theme=\"dark\"] {\n // Neutral (scala invertita)\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n\n // Surface\n --color-surface: #1e293b;\n --color-surface-elevated: #273549;\n\n // Primary scale dark (per il default accent blu — le sfumature chiare diventano scure)\n --color-primary-50: #172554;\n --color-primary-100: #1e3a8a;\n // 400 / 500 / 600 / 700 rimangono invariati (abbastanza saturi su bg scuro)\n\n // Accent light: variante scura\n --accent-light: #172554;\n\n // Shadows (più forti su bg scuro)\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n","@use \"../../styles/tokens\" as *;\n\n// ─── Root ─────────────────────────────────────────────────────────────────────\n\n.root {\n display: flex;\n flex-direction: column;\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-lg);\n background: var(--color-surface);\n transition:\n border-color var(--transition-fast),\n box-shadow var(--transition-fast);\n &:focus-within {\n border-color: var(--rich-text-editor-accent-ring, var(--accent-ring));\n box-shadow: 0 0 0 3px var(--rich-text-editor-accent-glow, var(--accent-glow));\n }\n}\n\n.readOnly {\n border-color: transparent;\n background: transparent;\n\n &:focus-within {\n border-color: transparent;\n box-shadow: none;\n }\n}\n\n// ─── Toolbar ──────────────────────────────────────────────────────────────────\n\n.toolbar {\n display: flex;\n align-items: center;\n gap: var(--spacing-1);\n padding: var(--spacing-1) var(--spacing-2);\n background: var(--color-surface-elevated);\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-md);\n flex-shrink: 0;\n position: sticky;\n top: var(--spacing-1);\n margin: var(--spacing-1) var(--spacing-1) 0;\n z-index: 10;\n}\n\n.toolbarGroup {\n display: flex;\n align-items: center;\n gap: 2px;\n}\n\n.divider {\n width: 1px;\n height: 18px;\n background: var(--color-neutral-200);\n margin: 0 var(--spacing-1);\n flex-shrink: 0;\n}\n\n// ─── Toolbar button ───────────────────────────────────────────────────────────\n\n.toolbarButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n border: none;\n border-radius: var(--radius-sm);\n background: transparent;\n color: var(--color-neutral-600);\n cursor: pointer;\n font-size: var(--font-size-sm);\n font-family: var(--font-family-base);\n line-height: 1;\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n\n &:hover {\n background: var(--color-neutral-100);\n color: var(--color-neutral-900);\n }\n\n &:focus-visible {\n outline: 2px solid var(--rich-text-editor-accent-ring, var(--accent-ring));\n outline-offset: 1px;\n }\n\n &.active {\n background: var(--rich-text-editor-accent-light, var(--accent-light));\n color: var(--rich-text-editor-accent, var(--accent));\n }\n}\n\n.headingButton {\n width: auto;\n min-width: 28px;\n padding: 0 var(--spacing-2);\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.02em;\n}\n\n// ─── Bubble menu ──────────────────────────────────────────────────────────────\n\n.bubbleMenu {\n display: flex;\n align-items: center;\n gap: 2px;\n padding: var(--spacing-1) var(--spacing-2);\n background: var(--color-surface-elevated);\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-md);\n box-shadow: var(--shadow-md);\n}\n\n// ─── Shared prose typography ──────────────────────────────────────────────────\n// Applied both to the editor (.editorContent) and to external preview divs (.prose).\n\n@mixin prose {\n color: var(--color-neutral-900);\n font-family: var(--font-family-base);\n font-size: var(--font-size-md);\n line-height: 1.65;\n\n > * + * { margin-top: 0.5em; }\n\n p { margin: 0; }\n\n h1 {\n font-size: 1.75rem;\n font-weight: 700;\n line-height: 1.25;\n color: var(--color-neutral-900);\n margin-top: 0.75em;\n margin-bottom: 0.25em;\n &:first-child { margin-top: 0; }\n }\n\n h2 {\n font-size: 1.375rem;\n font-weight: 600;\n line-height: 1.3;\n color: var(--color-neutral-900);\n margin-top: 0.75em;\n margin-bottom: 0.25em;\n &:first-child { margin-top: 0; }\n }\n\n h3 {\n font-size: 1.125rem;\n font-weight: 600;\n line-height: 1.4;\n color: var(--color-neutral-900);\n margin-top: 0.75em;\n margin-bottom: 0.25em;\n &:first-child { margin-top: 0; }\n }\n\n ul, ol {\n padding-left: 1.5em;\n margin: 0.5em 0;\n }\n\n ul { list-style-type: disc; }\n ol { list-style-type: decimal; }\n\n li {\n line-height: 1.65;\n + li { margin-top: 0.25em; }\n p { margin: 0; }\n }\n}\n\n// Exported class for use in preview divs outside the editor.\n.prose {\n @include prose;\n padding: var(--spacing-3) var(--spacing-4);\n}\n\n// ─── Editor content ───────────────────────────────────────────────────────────\n\n.editorContent {\n flex: 1;\n overflow-y: auto;\n max-height: var(--rte-max-height);\n scrollbar-width: thin;\n scrollbar-color: var(--color-neutral-200) transparent;\n\n &::-webkit-scrollbar { width: 4px; }\n &::-webkit-scrollbar-track { background: transparent; }\n &::-webkit-scrollbar-thumb {\n background: var(--color-neutral-200);\n border-radius: var(--radius-full);\n }\n\n &::before {\n content: \"\";\n display: block;\n position: sticky;\n top: 0;\n // height: 36px;\n // margin-bottom: -36px;\n // background: linear-gradient(to bottom, var(--color-surface) 0%, transparent 100%);\n pointer-events: none;\n z-index: 9;\n }\n\n :global(.ProseMirror) {\n @include prose;\n min-height: var(--rte-min-height, 200px);\n padding: var(--spacing-3) var(--spacing-4);\n outline: none;\n caret-color: var(--rich-text-editor-accent, var(--accent));\n\n p.is-empty:first-child::before {\n content: attr(data-placeholder);\n color: var(--color-neutral-400);\n pointer-events: none;\n float: left;\n height: 0;\n }\n\n // ── Page break ─────────────────────────────────────────────────────────\n div[data-type=\"page-break\"] {\n position: relative;\n margin: 1em 0;\n border: none;\n height: 0;\n border-top: 2px dashed var(--color-neutral-200);\n pointer-events: none;\n user-select: none;\n\n &::after {\n content: \"Page break\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n padding: 0 var(--spacing-2);\n background: var(--color-surface);\n font-size: var(--font-size-xs);\n color: var(--color-neutral-400);\n font-family: var(--font-family-base);\n white-space: nowrap;\n }\n }\n\n ::selection {\n background: var(--rich-text-editor-accent-light, var(--accent-light));\n }\n }\n}\n","// Theme tokens are scoped to .root (component-local), not :root -- this\n// component must be safe to drop into an app with its own global theme\n// without colliding. All *computed* colors (the color you're picking, badge\n// tints, gradients) are passed in as inline styles from ColorWheel.tsx, not\n// CSS custom properties here -- only structural/theme tokens live in SCSS.\n\n// light/dark palettes -- identical values shared by every trigger below (OS\n// preference, host app's ambient theme, and this instance's own `theme` prop)\n@mixin light-palette {\n --bg: #ECEAE3;\n --surface: #FFFFFF;\n --surface-2: #E3E0D8;\n --border: #D2CDC0;\n --text: #1A1913;\n --text-dim: #726F64;\n --text-faint: #A8A398;\n --shadow-soft: 0 1px 2px rgba(30, 25, 15, 0.08);\n --check-a: #d8d4c8;\n --check-b: #f4f2ec;\n color-scheme: light;\n}\n@mixin dark-palette {\n --bg: #131217;\n --surface: #1C1B22;\n --surface-2: #26252E;\n --border: #34333D;\n --text: #ECEAF0;\n --text-dim: #8E8C99;\n --text-faint: #605E6B;\n --shadow-soft: 0 1px 2px rgba(0, 0, 0, 0.35);\n --check-a: #37353f;\n --check-b: #201f26;\n color-scheme: dark;\n}\n\n.root {\n @include light-palette;\n\n // theme=\"system\" (no data-theme of its own): fall back to the OS preference\n @media (prefers-color-scheme: dark) {\n &:not([data-theme='light']):not([data-theme='dark']) {\n @include dark-palette;\n }\n }\n\n // theme=\"system\": the host app's ambient theme (data-theme set on an\n // ancestor, e.g. <html> -- the same convention ColorPicker/Timeline read\n // from) takes precedence over the bare OS preference above when the app\n // declares one -- including explicitly overriding it back to light, since\n // the OS-preference rule above has no way to know the app disagrees\n :global([data-theme='light']) &:not([data-theme='light']):not([data-theme='dark']) {\n @include light-palette;\n }\n :global([data-theme='dark']) &:not([data-theme='light']):not([data-theme='dark']) {\n @include dark-palette;\n }\n\n // theme=\"dark\" / theme=\"light\": pinned explicitly on this instance, regardless of the OS or the app\n &[data-theme='dark'] {\n @include dark-palette;\n }\n &[data-theme='light'] {\n @include light-palette;\n }\n\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 20px;\n font-family: -apple-system, 'Segoe UI', Inter, 'Helvetica Neue', Arial, sans-serif;\n color: var(--text);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .root, .root *, .root *::before, .root *::after {\n animation-duration: 0.01ms !important;\n transition-duration: 0.01ms !important;\n }\n}\n\n// ============ Recents (favorites) ============\n.recents {\n display: flex;\n align-items: center;\n gap: 7px;\n min-height: 30px;\n background: var(--surface-2);\n border-radius: 999px;\n padding: 5px 8px;\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.14), var(--shadow-soft);\n}\n\n.chipWrap {\n position: relative;\n flex: none;\n animation: chipIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) both;\n}\n\n.chip {\n width: 26px;\n height: 26px;\n border-radius: 50%;\n border: none;\n padding: 0;\n cursor: pointer;\n display: block;\n box-shadow: inset 0 0 0 1px rgba(128, 128, 128, 0.22), var(--shadow-soft);\n transition: transform 0.15s ease, box-shadow 0.15s ease;\n\n &:hover {\n transform: scale(1.14) translateY(-1px);\n box-shadow: inset 0 0 0 1px rgba(128, 128, 128, 0.3), 0 4px 10px -3px rgba(0, 0, 0, 0.3);\n }\n &:active {\n transform: scale(1.02);\n }\n}\n\n// notification-badge style: sits off-center on the chip's rim, revealed only\n// on hover so it never competes with the chip's own click-to-select area\n.chipRemove {\n position: absolute;\n top: -3px;\n right: -3px;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n border: none;\n padding: 0;\n display: grid;\n place-items: center;\n background: var(--surface);\n color: var(--text-dim);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(128, 128, 128, 0.25);\n cursor: pointer;\n z-index: 2;\n opacity: 0;\n pointer-events: none;\n transform: scale(0.6);\n transition: opacity 0.12s ease, transform 0.12s ease, color 0.12s ease;\n\n svg {\n width: 8px;\n height: 8px;\n }\n &:hover {\n color: var(--text);\n }\n .chipWrap:hover & {\n opacity: 1;\n pointer-events: auto;\n transform: scale(1);\n }\n}\n\n@keyframes chipIn {\n 0% { transform: scale(0) rotate(-25deg); opacity: 0; }\n 100% { transform: scale(1) rotate(0); opacity: 1; }\n}\n\n// ============ Picker: positioning context for the ring's bleed ============\n// Every direct child below is position:absolute (there's no backing card to\n// hold the box open), so .picker needs an explicit size or it measures as\n// 0x0 to the layout engine -- margin-top reserves room for what renders\n// above the shared center anchor (mostly the mode toggle). `height` is set\n// inline from ColorWheel.tsx instead of here, since how far down it needs to\n// reserve depends on `arcVisible` (the alpha arc reaches lower than the ring\n// alone does) -- plain SCSS can't see that prop.\n.picker {\n position: relative;\n margin-top: 96px;\n width: 272px;\n}\n\n.glow {\n position: absolute;\n width: 340px;\n height: 340px;\n left: 50%;\n top: 88px;\n transform: translate(-50%, -50%);\n border-radius: 50%;\n opacity: 0.55;\n pointer-events: none;\n z-index: 0;\n}\n\n// ============ Mode toggle: switches what the ring adjusts (H/S/V) ============\n.modeToggle {\n position: absolute;\n top: 88px;\n left: 50%;\n transform: translate(-50%, calc(-50% - 170px));\n z-index: 3;\n display: grid;\n // grid-template-columns and width are set inline (mode count is dynamic:\n // 3-way H/S/V or 4-way H/S/V/A depending on showAlphaControl)\n background: var(--surface-2);\n border-radius: 999px;\n padding: 3px;\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.14), var(--shadow-soft);\n}\n\n.modePill {\n position: absolute;\n top: 3px;\n bottom: 3px;\n left: 3px;\n // width is set inline (see .modeToggle)\n border-radius: 999px;\n background: var(--surface);\n box-shadow: var(--shadow-soft);\n transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);\n}\n\n.modeButton {\n position: relative;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 22px;\n background: none;\n border: none;\n padding: 0;\n font-size: 10.5px;\n font-weight: 700;\n line-height: 22px;\n letter-spacing: 0.02em;\n color: var(--text-dim);\n cursor: pointer;\n transition: color 0.2s ease;\n\n &.active {\n color: var(--text);\n }\n &:hover:not(.active) {\n color: var(--text);\n }\n}\n\n// ============ Stage: a true ring (annulus via mask) ============\n.stage {\n position: absolute;\n top: -48px;\n left: 50%;\n width: 272px;\n height: 272px;\n transform: translateX(-50%);\n touch-action: none;\n}\n\n// shadow caster: a plain, unmasked circle behind the ring. box-shadow draws\n// outside its border-box regardless of the hole in the shape drawn on top of\n// it, so this reliably casts a shadow around the ring's outer edge --\n// filter:drop-shadow on the masked .ring itself is unreliable across engines.\n.stageShadow {\n position: absolute;\n inset: 0;\n border-radius: 50%;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22), 0 10px 18px rgba(0, 0, 0, 0.22);\n pointer-events: none;\n}\n\n.ring {\n position: absolute;\n inset: 0;\n border-radius: 50%;\n pointer-events: none;\n z-index: 2;\n // background is set per-mode inline: hue spectrum / grey-to-color / black-to-color\n -webkit-mask: radial-gradient(circle closest-side, transparent 0 92px, black 93px 100%);\n mask: radial-gradient(circle closest-side, transparent 0 92px, black 93px 100%);\n}\n\n// rotated, not repositioned via top/left -- see the comment on\n// ringAngleFromTopDeg in ColorWheel.tsx for why\n.hueHandlePivot {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 0;\n height: 0;\n // `transform` creates a new stacking context, so this needs its own\n // z-index -- the child .hueHandle's z-index only ranks it within this\n // context, not against the ring/disc/badges sitting outside it\n z-index: 3;\n // strong ease-out -- fast start, long deceleration into the final angle,\n // like braking into position. Reads as a real sweep on a big mode-switch\n // jump, stays snappy on small wheel-tick nudges.\n transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);\n}\n.root[data-dragging='true'] .hueHandlePivot {\n transition: none;\n}\n.hueHandle {\n position: absolute;\n top: -114px; // mid-band radius (0.4191 * 272px stage), fixed distance from the pivot\n left: 0;\n width: 22px;\n height: 22px;\n border-radius: 50%;\n border: 3px solid #fff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(0, 0, 0, 0.15);\n transform: translate(-50%, -50%);\n cursor: grab;\n z-index: 3;\n}\n\n// ============ Alpha arc: a curved alpha slider outside the ring ============\n// a pure 1D control, position along the 120deg band (bottom-centered) fades\n// a checkerboard (alpha 0) into the current solid color (alpha 1). clip-path\n// also gates hit-testing, so clicks outside the visible crescent fall through.\n$arcPath: path('M 328.56,270 A 160 160 0 0 1 51.44,270 L 65.29,262 A 144 144 0 0 0 314.71,262 Z');\n\n// shadow caster: clip-path + filter:blur on the SAME element clips away the\n// blur's own soft edge (no room outside the path for it to fade into),\n// leaving a hard-edged smudge. Fix: blur a wrapper that ISN'T itself clipped\n// -- it composites its clipped child first, then blurs that whole result\n// freely, since nothing clips the wrapper afterward.\n.alphaArcShadowWrap {\n position: absolute;\n top: 88px;\n left: 50%;\n width: 380px;\n height: 380px;\n transform: translate(calc(-50% + 1px), calc(-50% + 5px));\n z-index: 1;\n pointer-events: none;\n filter: blur(7px);\n}\n.alphaArcShadow {\n position: absolute;\n inset: 0;\n background: rgba(0, 0, 0, 0.22);\n clip-path: $arcPath;\n}\n\n.alphaArc {\n position: absolute;\n top: 88px;\n left: 50%;\n width: 380px;\n height: 380px;\n transform: translate(-50%, -50%);\n touch-action: none;\n cursor: grab;\n z-index: 2;\n background: var(--surface-2);\n clip-path: $arcPath;\n}\n\n.alphaArcFill {\n position: absolute;\n inset: 0;\n // conic-gradient set inline (needs the live accent color)\n}\n\n// clip-path can't take a border-radius, so the band's two flat-cut ends are\n// \"rounded\" by capping them with plain circles sized to the band's own\n// thickness -- a pill cap, same trick as a rounded-end stroke. These sit\n// OUTSIDE .alphaArc (its clip-path would slice them too), positioned from\n// the shared center point like the mode toggle is.\n.alphaArcCap {\n position: absolute;\n top: 88px;\n left: 50%;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n z-index: 2;\n pointer-events: none;\n background: var(--surface-2);\n}\n.alphaArcCapStart {\n transform: translate(calc(-50% + 131.6px), calc(-50% + 76px));\n // background set inline (accent-solid, the \"full\" end)\n}\n.alphaArcCapEnd {\n transform: translate(calc(-50% - 131.6px), calc(-50% + 76px));\n}\n\n// sits OUTSIDE .alphaArc too, same reason as the caps -- clip-path would\n// slice it into a crescent whenever it nears the band's flat-cut ends\n.alphaArcHandle {\n position: absolute;\n top: 88px;\n left: 50%;\n width: 18px;\n height: 18px;\n border-radius: 50%;\n border: 2px solid #fff;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.2);\n z-index: 3;\n pointer-events: none;\n transition: transform 0.12s ease;\n}\n.root[data-dragging='true'] .alphaArcHandle {\n transition: none;\n}\n\n// ============ Current-color disc ============\n.currentDisc {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 156px;\n height: 156px;\n transform: translate(-50%, -50%);\n border-radius: 50%;\n overflow: hidden;\n cursor: pointer;\n z-index: 2;\n box-shadow: 0 10px 24px -8px rgba(20, 16, 10, 0.4), inset 0 0 0 1px rgba(0, 0, 0, 0.08);\n background-image:\n linear-gradient(45deg, var(--check-a) 25%, transparent 25%, transparent 75%, var(--check-a) 75%),\n linear-gradient(45deg, var(--check-a) 25%, transparent 25%, transparent 75%, var(--check-a) 75%);\n background-size: 12px 12px;\n background-position: 0 0, 6px 6px;\n background-color: var(--check-b);\n}\n\n.discFill {\n position: absolute;\n inset: 0;\n // background (rgba of current color, so the checkerboard reads through\n // when alpha < 1) set inline\n}\n\n.currentHex,\n.currentHexInput {\n position: absolute;\n inset: 0;\n z-index: 1;\n font-family: 'SF Mono', 'IBM Plex Mono', 'JetBrains Mono', Consolas, 'Liberation Mono', monospace;\n font-size: 17px;\n font-weight: 700;\n letter-spacing: 0.01em;\n font-variant-numeric: tabular-nums;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);\n // color set inline (computed for contrast against the current color)\n}\n.currentHex {\n display: grid;\n place-items: center;\n cursor: text;\n transition: transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1);\n\n &.copied {\n transform: scale(1.06);\n }\n}\n.currentHexInput {\n z-index: 2;\n width: 100%;\n height: 100%;\n text-align: center;\n background: transparent;\n border: none;\n outline: none;\n padding: 0;\n\n &::selection {\n background: rgba(255, 255, 255, 0.35);\n }\n}\n\n// badges resting inland on the disc, top (eyedropper) and bottom (save to\n// favorites) -- discreet: near-invisible fill, and instead of a drawn-on\n// border, an engraved groove (dark inset lip on top, faint highlight on the\n// bottom edge) so they read as carved into the disc rather than stuck on it\n.discBadge {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 34px;\n height: 34px;\n border-radius: 50%;\n border: none;\n display: grid;\n place-items: center;\n cursor: pointer;\n z-index: 3;\n transition: transform 0.15s ease, filter 0.15s ease;\n\n &:hover {\n filter: brightness(1.15);\n }\n svg {\n width: 15px;\n height: 15px;\n }\n}\n.discBadgeTop {\n transform: translate(-50%, calc(-50% - 46px));\n &:active {\n transform: translate(-50%, calc(-50% - 46px)) scale(0.92);\n }\n &.pulse {\n animation: badgePulseTop 0.4s ease;\n }\n}\n.discBadgeBottom {\n transform: translate(-50%, calc(-50% + 46px));\n &:active {\n transform: translate(-50%, calc(-50% + 46px)) scale(0.92);\n }\n}\n@keyframes badgePulseTop {\n 0% { transform: translate(-50%, calc(-50% - 46px)) scale(1); }\n 40% { transform: translate(-50%, calc(-50% - 46px)) scale(1.28); }\n 100% { transform: translate(-50%, calc(-50% - 46px)) scale(1); }\n}\n"],"mappings":"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","names":["button","primary","secondary","danger","ghost","sm","md","lg","fullWidth","loading","spinner","spin","wrapper","fullWidth","label","inputWrapper","input","error","sm","md","lg","adornment","adornmentEnd","withStart","withEnd","helperText","errorText","badge","sm","md","default","primary","success","warning","danger","dotIndicator","wrapper","trailCanvas","content","dropContainer","timeline","vertical","item","track","connector","content","last","horizontal","dot","iconSlot","completed","active","pending","label","title","description","connectorHidden","connectorDone","dotIn","pulse","colorPicker","topRow","discWrapper","disc","dot","previewSwatch","eyedropperBtn","inputSection","tabs","tab","tabActive","inputWrapper","inputAddon","input","inputCopyBtn","recents","recentsLabel","swatches","recentSwatch","wrapper","disabled","icon","trackArea","groove","rail","fill","thumb","thumbDragging","tooltip","tooltipVisible","counter","sign","separator","reelWindow","sm","md","lg","reel","digitCell","root","readOnly","toolbar","toolbarGroup","divider","toolbarButton","active","headingButton","bubbleMenu","prose","editorContent","is-empty","root","recents","chipWrap","chip","chipRemove","chipIn","picker","glow","modeToggle","modePill","modeButton","active","stage","stageShadow","ring","hueHandlePivot","hueHandle","alphaArcShadowWrap","alphaArcShadow","alphaArc","alphaArcFill","alphaArcCap","alphaArcCapStart","alphaArcCapEnd","alphaArcHandle","currentDisc","discFill","currentHex","currentHexInput","copied","discBadge","discBadgeTop","pulse","discBadgeBottom","badgePulseTop"]}
1
+ {"version":3,"sources":["../src/styles/tokens.scss","../src/components/Button/Button.module.scss","../src/styles/tokens.scss","../src/components/Input/Input.module.scss","../src/styles/tokens.scss","../src/components/Badge/Badge.module.scss","../src/components/RainCanvas/RainCanvas.module.scss","../src/styles/tokens.scss","../src/components/Timeline/Timeline.module.scss","../src/styles/tokens.scss","../src/components/ColorPicker/ColorPicker.module.scss","../src/styles/tokens.scss","../src/components/SliderControl/SliderControl.module.scss","../src/styles/tokens.scss","../src/components/SlidingCounter/SlidingCounter.module.scss","../src/styles/tokens.scss","../src/components/RichTextEditor/RichTextEditor.module.scss","../src/components/ColorWheel/ColorWheel.module.scss"],"sourcesContent":["@use \"sass:color\";\n\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n// Accent di default — cambia qui per aggiornare tutta la libreria\n$accent: #3b82f6;\n\n:root {\n // Accent scale — derivata da $accent a compile time\n --accent: #{$accent};\n --accent-dot: #{color.scale($accent, $lightness: 12%)};\n --accent-track: #{$accent};\n --accent-ring: #{$accent};\n --accent-glow: #{color.change($accent, $alpha: 0.3)};\n --accent-light: #{color.scale($accent, $lightness: 45%, $saturation: -20%)};\n\n // Primary scale (mantenuta per retrocompatibilità con Button, Badge, Input)\n --color-primary-50: #{color.scale($accent, $lightness: 49%, $saturation: -30%)};\n --color-primary-100: #{color.scale($accent, $lightness: 42%, $saturation: -15%)};\n --color-primary-400: #{color.scale($accent, $lightness: 12%)};\n --color-primary-500: #{$accent};\n --color-primary-600: #{color.scale($accent, $lightness: -10%)};\n --color-primary-700: #{color.scale($accent, $lightness: -20%)};\n\n // Neutral\n --color-neutral-0: #ffffff;\n --color-neutral-100: #f3f4f6;\n --color-neutral-200: #e5e7eb;\n --color-neutral-400: #9ca3af;\n --color-neutral-600: #4b5563;\n --color-neutral-900: #111827;\n\n // Semantic\n --color-success-500: #22c55e;\n --color-success-600: #16a34a;\n --color-danger-500: #ef4444;\n --color-danger-600: #dc2626;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n\n // Typography\n --font-family-base: \"Inter\", system-ui, -apple-system, sans-serif;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-md: 1rem;\n --font-size-lg: 1.125rem;\n\n // Spacing\n --spacing-1: 0.25rem;\n --spacing-2: 0.5rem;\n --spacing-3: 0.75rem;\n --spacing-4: 1rem;\n\n // Radius\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-full: 9999px;\n\n // Shadows\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n\n // Transitions\n --transition-fast: 150ms ease;\n\n // Surface (background di card/panel)\n --color-surface: #ffffff;\n --color-surface-elevated: #ffffff;\n}\n\n// ─── Dark theme ────────────────────────────────────────────────────────────────\n// Applicato via data-theme=\"dark\" sull'elemento root (gestito da Storybook decorator\n// e dall'app consumer). I componenti non devono fare nulla di speciale: basta che\n// usino i token var() e riceveranno automaticamente i valori dark.\n\n[data-theme=\"dark\"] {\n // Neutral (scala invertita)\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n\n // Surface\n --color-surface: #1e293b;\n --color-surface-elevated: #273549;\n\n // Primary scale dark (per il default accent blu — le sfumature chiare diventano scure)\n --color-primary-50: #172554;\n --color-primary-100: #1e3a8a;\n // 400 / 500 / 600 / 700 rimangono invariati (abbastanza saturi su bg scuro)\n\n // Accent light: variante scura\n --accent-light: #172554;\n\n // Shadows (più forti su bg scuro)\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n","@import \"../../styles/tokens.scss\";\n\n.button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-2);\n font-family: var(--font-family-base);\n font-weight: 500;\n letter-spacing: -0.01em;\n border: 1px solid transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: background-color var(--transition-fast),\n border-color var(--transition-fast), color var(--transition-fast),\n box-shadow var(--transition-fast);\n white-space: nowrap;\n text-decoration: none;\n outline-offset: 2px;\n}\n\n.button:focus-visible {\n outline: 2px solid var(--color-primary-500);\n}\n\n.button:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Variants */\n.primary {\n background-color: var(--color-primary-600);\n color: var(--color-neutral-0);\n}\n.primary:hover:not(:disabled) {\n background-color: var(--color-primary-700);\n}\n\n.secondary {\n background-color: var(--color-neutral-0);\n color: var(--color-neutral-900);\n border-color: var(--color-neutral-200);\n box-shadow: var(--shadow-sm);\n}\n.secondary:hover:not(:disabled) {\n background-color: var(--color-neutral-100);\n}\n\n.danger {\n background-color: var(--color-danger-500);\n color: var(--color-neutral-0);\n}\n.danger:hover:not(:disabled) {\n background-color: var(--color-danger-600);\n}\n\n.ghost {\n background-color: transparent;\n color: var(--color-neutral-600);\n}\n.ghost:hover:not(:disabled) {\n background-color: var(--color-neutral-100);\n color: var(--color-neutral-900);\n}\n\n/* Sizes */\n.sm {\n font-size: var(--font-size-xs);\n padding: var(--spacing-1) var(--spacing-3);\n height: 2rem;\n}\n\n.md {\n font-size: var(--font-size-sm);\n padding: var(--spacing-2) var(--spacing-4);\n height: 2.5rem;\n}\n\n.lg {\n font-size: var(--font-size-md);\n padding: var(--spacing-3) var(--spacing-4);\n height: 3rem;\n}\n\n.fullWidth {\n width: 100%;\n}\n\n/* Loading */\n.loading {\n position: relative;\n}\n\n.spinner {\n width: 1em;\n height: 1em;\n border: 2px solid currentColor;\n border-top-color: transparent;\n border-radius: var(--radius-full);\n animation: spin 0.6s linear infinite;\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n","@use \"sass:color\";\n\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n// Accent di default — cambia qui per aggiornare tutta la libreria\n$accent: #3b82f6;\n\n:root {\n // Accent scale — derivata da $accent a compile time\n --accent: #{$accent};\n --accent-dot: #{color.scale($accent, $lightness: 12%)};\n --accent-track: #{$accent};\n --accent-ring: #{$accent};\n --accent-glow: #{color.change($accent, $alpha: 0.3)};\n --accent-light: #{color.scale($accent, $lightness: 45%, $saturation: -20%)};\n\n // Primary scale (mantenuta per retrocompatibilità con Button, Badge, Input)\n --color-primary-50: #{color.scale($accent, $lightness: 49%, $saturation: -30%)};\n --color-primary-100: #{color.scale($accent, $lightness: 42%, $saturation: -15%)};\n --color-primary-400: #{color.scale($accent, $lightness: 12%)};\n --color-primary-500: #{$accent};\n --color-primary-600: #{color.scale($accent, $lightness: -10%)};\n --color-primary-700: #{color.scale($accent, $lightness: -20%)};\n\n // Neutral\n --color-neutral-0: #ffffff;\n --color-neutral-100: #f3f4f6;\n --color-neutral-200: #e5e7eb;\n --color-neutral-400: #9ca3af;\n --color-neutral-600: #4b5563;\n --color-neutral-900: #111827;\n\n // Semantic\n --color-success-500: #22c55e;\n --color-success-600: #16a34a;\n --color-danger-500: #ef4444;\n --color-danger-600: #dc2626;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n\n // Typography\n --font-family-base: \"Inter\", system-ui, -apple-system, sans-serif;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-md: 1rem;\n --font-size-lg: 1.125rem;\n\n // Spacing\n --spacing-1: 0.25rem;\n --spacing-2: 0.5rem;\n --spacing-3: 0.75rem;\n --spacing-4: 1rem;\n\n // Radius\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-full: 9999px;\n\n // Shadows\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n\n // Transitions\n --transition-fast: 150ms ease;\n\n // Surface (background di card/panel)\n --color-surface: #ffffff;\n --color-surface-elevated: #ffffff;\n}\n\n// ─── Dark theme ────────────────────────────────────────────────────────────────\n// Applicato via data-theme=\"dark\" sull'elemento root (gestito da Storybook decorator\n// e dall'app consumer). I componenti non devono fare nulla di speciale: basta che\n// usino i token var() e riceveranno automaticamente i valori dark.\n\n[data-theme=\"dark\"] {\n // Neutral (scala invertita)\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n\n // Surface\n --color-surface: #1e293b;\n --color-surface-elevated: #273549;\n\n // Primary scale dark (per il default accent blu — le sfumature chiare diventano scure)\n --color-primary-50: #172554;\n --color-primary-100: #1e3a8a;\n // 400 / 500 / 600 / 700 rimangono invariati (abbastanza saturi su bg scuro)\n\n // Accent light: variante scura\n --accent-light: #172554;\n\n // Shadows (più forti su bg scuro)\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n","@import \"../../styles/tokens.scss\";\n\n.wrapper {\n display: inline-flex;\n flex-direction: column;\n gap: var(--spacing-1);\n}\n\n.fullWidth {\n width: 100%;\n}\n\n.label {\n font-family: var(--font-family-base);\n font-size: var(--font-size-sm);\n font-weight: 500;\n color: var(--color-neutral-900);\n letter-spacing: -0.01em;\n}\n\n.inputWrapper {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.input {\n width: 100%;\n font-family: var(--font-family-base);\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-md);\n background-color: var(--color-neutral-0);\n color: var(--color-neutral-900);\n outline: none;\n transition: border-color var(--transition-fast), box-shadow var(--transition-fast);\n}\n\n.input::placeholder {\n color: var(--color-neutral-400);\n}\n\n.input:focus {\n border-color: var(--color-primary-500);\n box-shadow: 0 0 0 3px var(--color-primary-100);\n}\n\n.input:disabled {\n background-color: var(--color-neutral-100);\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.input.error {\n border-color: var(--color-danger-500);\n}\n\n.input.error:focus {\n box-shadow: 0 0 0 3px rgb(239 68 68 / 0.15);\n}\n\n/* Sizes */\n.sm .input {\n font-size: var(--font-size-xs);\n padding: var(--spacing-1) var(--spacing-2);\n height: 2rem;\n}\n\n.md .input {\n font-size: var(--font-size-sm);\n padding: var(--spacing-2) var(--spacing-3);\n height: 2.5rem;\n}\n\n.lg .input {\n font-size: var(--font-size-md);\n padding: var(--spacing-3) var(--spacing-4);\n height: 3rem;\n}\n\n/* Adornments */\n.adornment {\n position: absolute;\n left: var(--spacing-3);\n display: flex;\n align-items: center;\n color: var(--color-neutral-400);\n pointer-events: none;\n}\n\n.adornmentEnd {\n left: unset;\n right: var(--spacing-3);\n}\n\n.sm .withStart { padding-left: 2rem; }\n.md .withStart { padding-left: 2.25rem; }\n.lg .withStart { padding-left: 2.5rem; }\n\n.sm .withEnd { padding-right: 2rem; }\n.md .withEnd { padding-right: 2.25rem; }\n.lg .withEnd { padding-right: 2.5rem; }\n\n.helperText {\n font-family: var(--font-family-base);\n font-size: var(--font-size-xs);\n color: var(--color-neutral-400);\n}\n\n.errorText {\n font-family: var(--font-family-base);\n font-size: var(--font-size-xs);\n color: var(--color-danger-500);\n}\n","@use \"sass:color\";\n\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n// Accent di default — cambia qui per aggiornare tutta la libreria\n$accent: #3b82f6;\n\n:root {\n // Accent scale — derivata da $accent a compile time\n --accent: #{$accent};\n --accent-dot: #{color.scale($accent, $lightness: 12%)};\n --accent-track: #{$accent};\n --accent-ring: #{$accent};\n --accent-glow: #{color.change($accent, $alpha: 0.3)};\n --accent-light: #{color.scale($accent, $lightness: 45%, $saturation: -20%)};\n\n // Primary scale (mantenuta per retrocompatibilità con Button, Badge, Input)\n --color-primary-50: #{color.scale($accent, $lightness: 49%, $saturation: -30%)};\n --color-primary-100: #{color.scale($accent, $lightness: 42%, $saturation: -15%)};\n --color-primary-400: #{color.scale($accent, $lightness: 12%)};\n --color-primary-500: #{$accent};\n --color-primary-600: #{color.scale($accent, $lightness: -10%)};\n --color-primary-700: #{color.scale($accent, $lightness: -20%)};\n\n // Neutral\n --color-neutral-0: #ffffff;\n --color-neutral-100: #f3f4f6;\n --color-neutral-200: #e5e7eb;\n --color-neutral-400: #9ca3af;\n --color-neutral-600: #4b5563;\n --color-neutral-900: #111827;\n\n // Semantic\n --color-success-500: #22c55e;\n --color-success-600: #16a34a;\n --color-danger-500: #ef4444;\n --color-danger-600: #dc2626;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n\n // Typography\n --font-family-base: \"Inter\", system-ui, -apple-system, sans-serif;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-md: 1rem;\n --font-size-lg: 1.125rem;\n\n // Spacing\n --spacing-1: 0.25rem;\n --spacing-2: 0.5rem;\n --spacing-3: 0.75rem;\n --spacing-4: 1rem;\n\n // Radius\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-full: 9999px;\n\n // Shadows\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n\n // Transitions\n --transition-fast: 150ms ease;\n\n // Surface (background di card/panel)\n --color-surface: #ffffff;\n --color-surface-elevated: #ffffff;\n}\n\n// ─── Dark theme ────────────────────────────────────────────────────────────────\n// Applicato via data-theme=\"dark\" sull'elemento root (gestito da Storybook decorator\n// e dall'app consumer). I componenti non devono fare nulla di speciale: basta che\n// usino i token var() e riceveranno automaticamente i valori dark.\n\n[data-theme=\"dark\"] {\n // Neutral (scala invertita)\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n\n // Surface\n --color-surface: #1e293b;\n --color-surface-elevated: #273549;\n\n // Primary scale dark (per il default accent blu — le sfumature chiare diventano scure)\n --color-primary-50: #172554;\n --color-primary-100: #1e3a8a;\n // 400 / 500 / 600 / 700 rimangono invariati (abbastanza saturi su bg scuro)\n\n // Accent light: variante scura\n --accent-light: #172554;\n\n // Shadows (più forti su bg scuro)\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n","@import \"../../styles/tokens.scss\";\n\n.badge {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-1);\n font-family: var(--font-family-base);\n font-weight: 500;\n letter-spacing: 0.01em;\n border-radius: var(--radius-full);\n white-space: nowrap;\n}\n\n/* Sizes */\n.sm {\n font-size: var(--font-size-xs);\n padding: 0.1rem var(--spacing-2);\n}\n\n.md {\n font-size: var(--font-size-xs);\n padding: var(--spacing-1) var(--spacing-3);\n}\n\n/* Variants */\n.default {\n background-color: var(--color-neutral-100);\n color: var(--color-neutral-600);\n}\n\n.primary {\n background-color: var(--color-primary-50);\n color: var(--color-primary-700);\n}\n\n.success {\n background-color: #f0fdf4;\n color: var(--color-success-600);\n}\n\n.warning {\n background-color: #fffbeb;\n color: var(--color-warning-600);\n}\n\n.danger {\n background-color: #fef2f2;\n color: var(--color-danger-600);\n}\n\n/* Dot indicator */\n.dotIndicator {\n width: 0.5rem;\n height: 0.5rem;\n border-radius: var(--radius-full);\n background-color: currentColor;\n flex-shrink: 0;\n}\n",".wrapper {\n position: relative;\n overflow: hidden;\n width: 100%;\n height: 100%;\n}\n\n/* Scie umide — sotto il contenuto */\n.trailCanvas {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n display: block;\n z-index: 1;\n pointer-events: none;\n}\n\n/* Form e contenuto — sopra le scie */\n.content {\n position: absolute;\n inset: 0;\n z-index: 2;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Le gocce DOM stanno sopra tutto, ma pointer-events: none (impostato inline) */\n.dropContainer {\n position: absolute;\n inset: 0;\n z-index: 3;\n}\n","@use \"sass:color\";\n\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n// Accent di default — cambia qui per aggiornare tutta la libreria\n$accent: #3b82f6;\n\n:root {\n // Accent scale — derivata da $accent a compile time\n --accent: #{$accent};\n --accent-dot: #{color.scale($accent, $lightness: 12%)};\n --accent-track: #{$accent};\n --accent-ring: #{$accent};\n --accent-glow: #{color.change($accent, $alpha: 0.3)};\n --accent-light: #{color.scale($accent, $lightness: 45%, $saturation: -20%)};\n\n // Primary scale (mantenuta per retrocompatibilità con Button, Badge, Input)\n --color-primary-50: #{color.scale($accent, $lightness: 49%, $saturation: -30%)};\n --color-primary-100: #{color.scale($accent, $lightness: 42%, $saturation: -15%)};\n --color-primary-400: #{color.scale($accent, $lightness: 12%)};\n --color-primary-500: #{$accent};\n --color-primary-600: #{color.scale($accent, $lightness: -10%)};\n --color-primary-700: #{color.scale($accent, $lightness: -20%)};\n\n // Neutral\n --color-neutral-0: #ffffff;\n --color-neutral-100: #f3f4f6;\n --color-neutral-200: #e5e7eb;\n --color-neutral-400: #9ca3af;\n --color-neutral-600: #4b5563;\n --color-neutral-900: #111827;\n\n // Semantic\n --color-success-500: #22c55e;\n --color-success-600: #16a34a;\n --color-danger-500: #ef4444;\n --color-danger-600: #dc2626;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n\n // Typography\n --font-family-base: \"Inter\", system-ui, -apple-system, sans-serif;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-md: 1rem;\n --font-size-lg: 1.125rem;\n\n // Spacing\n --spacing-1: 0.25rem;\n --spacing-2: 0.5rem;\n --spacing-3: 0.75rem;\n --spacing-4: 1rem;\n\n // Radius\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-full: 9999px;\n\n // Shadows\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n\n // Transitions\n --transition-fast: 150ms ease;\n\n // Surface (background di card/panel)\n --color-surface: #ffffff;\n --color-surface-elevated: #ffffff;\n}\n\n// ─── Dark theme ────────────────────────────────────────────────────────────────\n// Applicato via data-theme=\"dark\" sull'elemento root (gestito da Storybook decorator\n// e dall'app consumer). I componenti non devono fare nulla di speciale: basta che\n// usino i token var() e riceveranno automaticamente i valori dark.\n\n[data-theme=\"dark\"] {\n // Neutral (scala invertita)\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n\n // Surface\n --color-surface: #1e293b;\n --color-surface-elevated: #273549;\n\n // Primary scale dark (per il default accent blu — le sfumature chiare diventano scure)\n --color-primary-50: #172554;\n --color-primary-100: #1e3a8a;\n // 400 / 500 / 600 / 700 rimangono invariati (abbastanza saturi su bg scuro)\n\n // Accent light: variante scura\n --accent-light: #172554;\n\n // Shadows (più forti su bg scuro)\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n","@use \"../../styles/tokens\" as *;\n\n// --- Tokens locali ---\n// Usa --timeline-accent-* se passato via prop, altrimenti fallback ai token globali\n$dot-size: 1.25rem;\n$connector-thickness: 2px;\n$color-pending: var(--color-neutral-200);\n\n$accent-dot: var(--timeline-accent-dot, var(--accent-dot));\n$accent-track: var(--timeline-accent-track, var(--accent-track));\n$accent-ring: var(--timeline-accent-ring, var(--accent-ring));\n$accent-glow: var(--timeline-accent-glow, var(--accent-glow));\n\n// --- Reset lista ---\n.timeline {\n list-style: none;\n margin: 0;\n padding: 0;\n font-family: var(--font-family-base);\n}\n\n// =====================\n// VERTICALE (default)\n// =====================\n.vertical {\n display: flex;\n flex-direction: column;\n gap: 0;\n\n .item {\n display: grid;\n grid-template-columns: $dot-size 1fr;\n column-gap: 1rem;\n align-items: stretch;\n }\n\n .track {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: $dot-size;\n }\n\n .connector {\n flex: 1;\n width: 0;\n min-height: 0.5rem;\n border-left: $connector-thickness dashed $color-pending;\n transition: border-color 0.3s ease;\n }\n\n .content {\n padding-bottom: 1.75rem;\n padding-top: 0.1rem;\n }\n\n .item.last .content {\n padding-bottom: 0;\n }\n}\n\n// =======================\n// ORIZZONTALE\n// =======================\n.horizontal {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n\n .item {\n display: flex;\n flex-direction: column;\n align-items: center;\n flex: 1;\n min-width: 0;\n\n }\n\n .track {\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 100%;\n }\n\n .connector {\n flex: 1;\n height: 0;\n min-width: 1rem;\n border-top: $connector-thickness dashed $color-pending;\n transition: border-color 0.3s ease;\n }\n\n\n\n .content {\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n padding-top: 0.75rem;\n padding-inline: 0.5rem;\n }\n}\n\n// =====================\n// DOT\n// =====================\n.dot {\n width: $dot-size;\n height: $dot-size;\n border-radius: 50%;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.6rem;\n position: relative;\n z-index: 1;\n transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;\n\n // pending\n background-color: var(--color-neutral-0);\n border: $connector-thickness solid $color-pending;\n color: var(--color-neutral-400);\n}\n\n.iconSlot {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.65rem;\n line-height: 1;\n}\n\n// =====================\n// STATUS\n// =====================\n.completed {\n .dot {\n background-color: $accent-dot;\n border-color: $accent-dot;\n color: var(--color-neutral-0);\n box-shadow: 0 0 0 3px $accent-ring;\n animation: dotIn 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;\n animation-delay: var(--dot-delay, 0s);\n }\n}\n\n.active {\n .dot {\n background-color: var(--color-neutral-0);\n border-color: $accent-track;\n border-width: 2px;\n box-shadow: 0 0 0 3px $accent-ring;\n animation: pulse 2s ease-in-out infinite;\n }\n}\n\n.pending {\n .dot {\n box-shadow: 0 0 0 3px var(--color-neutral-200);\n }\n}\n\n// =====================\n// CONTENT\n// =====================\n.label {\n display: block;\n font-size: var(--font-size-xs);\n color: var(--color-neutral-400);\n margin-bottom: 0.2rem;\n letter-spacing: 0.01em;\n}\n\n.title {\n display: block;\n font-size: var(--font-size-sm);\n font-weight: 600;\n color: var(--color-neutral-900);\n letter-spacing: -0.01em;\n}\n\n.description {\n margin: 0.35rem 0 0;\n font-size: var(--font-size-xs);\n color: var(--color-neutral-600);\n line-height: 1.5;\n}\n\n// Status: titolo più sbiadito per pending\n.pending .title {\n color: var(--color-neutral-400);\n font-weight: 500;\n}\n\n// Connettore invisibile — tiene lo spazio ma non mostra la linea\n.connectorHidden {\n border-color: transparent !important;\n}\n\n// Connettore completato — sovrascrive dashed con solid + colore accent\n.connectorDone {\n border-color: $accent-track !important;\n border-style: solid !important;\n}\n\n// =====================\n// ANIMAZIONI\n// =====================\n@keyframes dotIn {\n 0% {\n transform: scale(0.5);\n background-color: var(--color-neutral-0);\n border-color: var(--color-neutral-200);\n box-shadow: 0 0 0 3px var(--color-neutral-200);\n color: transparent;\n }\n 40% {\n background-color: $accent-dot;\n border-color: $accent-dot;\n box-shadow: 0 0 0 3px $accent-ring;\n color: var(--color-neutral-0);\n }\n 50% { transform: scale(1.06); }\n 70% { transform: scale(0.97); }\n 85% { transform: scale(1.02); }\n 100% { transform: scale(1); }\n}\n\n@keyframes pulse {\n 0%, 100% { box-shadow: 0 0 0 3px $accent-ring; }\n 50% { box-shadow: 0 0 0 3px $accent-ring, 0 0 0 6px $accent-glow; }\n}\n","@use \"sass:color\";\n\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n// Accent di default — cambia qui per aggiornare tutta la libreria\n$accent: #3b82f6;\n\n:root {\n // Accent scale — derivata da $accent a compile time\n --accent: #{$accent};\n --accent-dot: #{color.scale($accent, $lightness: 12%)};\n --accent-track: #{$accent};\n --accent-ring: #{$accent};\n --accent-glow: #{color.change($accent, $alpha: 0.3)};\n --accent-light: #{color.scale($accent, $lightness: 45%, $saturation: -20%)};\n\n // Primary scale (mantenuta per retrocompatibilità con Button, Badge, Input)\n --color-primary-50: #{color.scale($accent, $lightness: 49%, $saturation: -30%)};\n --color-primary-100: #{color.scale($accent, $lightness: 42%, $saturation: -15%)};\n --color-primary-400: #{color.scale($accent, $lightness: 12%)};\n --color-primary-500: #{$accent};\n --color-primary-600: #{color.scale($accent, $lightness: -10%)};\n --color-primary-700: #{color.scale($accent, $lightness: -20%)};\n\n // Neutral\n --color-neutral-0: #ffffff;\n --color-neutral-100: #f3f4f6;\n --color-neutral-200: #e5e7eb;\n --color-neutral-400: #9ca3af;\n --color-neutral-600: #4b5563;\n --color-neutral-900: #111827;\n\n // Semantic\n --color-success-500: #22c55e;\n --color-success-600: #16a34a;\n --color-danger-500: #ef4444;\n --color-danger-600: #dc2626;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n\n // Typography\n --font-family-base: \"Inter\", system-ui, -apple-system, sans-serif;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-md: 1rem;\n --font-size-lg: 1.125rem;\n\n // Spacing\n --spacing-1: 0.25rem;\n --spacing-2: 0.5rem;\n --spacing-3: 0.75rem;\n --spacing-4: 1rem;\n\n // Radius\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-full: 9999px;\n\n // Shadows\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n\n // Transitions\n --transition-fast: 150ms ease;\n\n // Surface (background di card/panel)\n --color-surface: #ffffff;\n --color-surface-elevated: #ffffff;\n}\n\n// ─── Dark theme ────────────────────────────────────────────────────────────────\n// Applicato via data-theme=\"dark\" sull'elemento root (gestito da Storybook decorator\n// e dall'app consumer). I componenti non devono fare nulla di speciale: basta che\n// usino i token var() e riceveranno automaticamente i valori dark.\n\n[data-theme=\"dark\"] {\n // Neutral (scala invertita)\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n\n // Surface\n --color-surface: #1e293b;\n --color-surface-elevated: #273549;\n\n // Primary scale dark (per il default accent blu — le sfumature chiare diventano scure)\n --color-primary-50: #172554;\n --color-primary-100: #1e3a8a;\n // 400 / 500 / 600 / 700 rimangono invariati (abbastanza saturi su bg scuro)\n\n // Accent light: variante scura\n --accent-light: #172554;\n\n // Shadows (più forti su bg scuro)\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n","@use \"../../styles/tokens\" as *;\n\n$accent-base: var(--colorpicker-accent, var(--accent));\n$accent-ring: var(--colorpicker-accent-ring, var(--accent-ring));\n$accent-glow: var(--colorpicker-accent-glow, var(--accent-glow));\n$accent-light: var(--colorpicker-accent-light, var(--accent-light));\n\n$disc: 200px;\n$slider-w: 20px;\n$thumb-size: 20px;\n$gap: 0.5rem;\n\n// ─── Dark theme scoped sull'elemento (prop theme=\"dark\") ──────────────────────\n// Sovrascrive i token globali localmente — non dipende dal data-theme dell'app.\n\n.colorPicker[data-theme=\"dark\"] {\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n --color-surface: #1e293b;\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n\n// ─── Card ──────────────────────────────────────────────────────────────────────\n\n.colorPicker {\n display: inline-flex;\n flex-direction: column;\n gap: 0.75rem;\n padding: 1rem;\n background: var(--color-surface);\n backdrop-filter: blur(16px);\n -webkit-backdrop-filter: blur(16px);\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-lg);\n box-shadow: var(--shadow-md), 0 0 0 1px rgba(0,0,0,0.04);\n font-family: var(--font-family-base);\n width: calc(#{$disc} + 2rem); // disc + card padding (1rem × 2 sides)\n box-sizing: border-box;\n user-select: none;\n}\n\n// ─── Disc + L slider row ───────────────────────────────────────────────────────\n\n.topRow {\n display: flex;\n justify-content: center;\n}\n\n.discWrapper {\n position: relative;\n width: $disc;\n height: $disc;\n flex-shrink: 0;\n border-radius: 50%;\n box-shadow: 0 0 0 1.5px var(--color-neutral-200);\n}\n\n.disc {\n display: block;\n width: $disc;\n height: $disc;\n cursor: crosshair;\n border-radius: 50%;\n}\n\n.dot {\n position: absolute;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n border: 2px solid;\n transform: translate(-50%, -50%);\n pointer-events: none;\n box-shadow: 0 0 0 1.5px rgba(0, 0, 0, 0.2), 0 2px 4px rgba(0, 0, 0, 0.2);\n background: transparent;\n}\n\n\n// ─── Preview swatch ────────────────────────────────────────────────────────────\n\n.previewSwatch {\n width: 100%;\n height: 48px;\n border-radius: var(--radius-md);\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 0 0.5rem;\n box-sizing: border-box;\n}\n\n.eyedropperBtn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n border-radius: var(--radius-sm);\n background: rgba(255, 255, 255, 0.15);\n cursor: pointer;\n backdrop-filter: blur(4px);\n transition: background var(--transition-fast);\n\n &:hover {\n background: rgba(255, 255, 255, 0.4);\n }\n}\n\n// ─── Inputs ────────────────────────────────────────────────────────────────────\n\n.inputSection {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.tabs {\n display: flex;\n background: var(--color-neutral-100);\n border-radius: var(--radius-sm);\n padding: 2px;\n gap: 2px;\n}\n\n.tab {\n flex: 1;\n padding: 0.2rem 0;\n font-size: 0.65rem;\n font-weight: 600;\n letter-spacing: 0.04em;\n border: none;\n border-radius: calc(var(--radius-sm) - 1px);\n background: transparent;\n color: var(--color-neutral-400);\n cursor: pointer;\n transition: background var(--transition-fast), color var(--transition-fast);\n\n &:hover:not(.tabActive) {\n color: var(--color-neutral-600);\n }\n}\n\n.tabActive {\n background: $accent-base;\n color: #fff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n\n.inputWrapper {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.inputAddon {\n position: absolute;\n left: 0.5rem;\n font-size: var(--font-size-xs);\n font-family: \"SF Mono\", \"Fira Code\", \"Consolas\", monospace;\n color: var(--color-neutral-400);\n pointer-events: none;\n line-height: 1;\n}\n\n.input {\n width: 100%;\n box-sizing: border-box;\n padding: 0.4rem 2rem; // symmetric: room for # on left and copy icon on right\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-sm);\n font-size: var(--font-size-xs);\n font-family: \"SF Mono\", \"Fira Code\", \"Consolas\", monospace;\n color: var(--color-neutral-900);\n background: var(--color-neutral-0);\n outline: none;\n text-align: center;\n transition: border-color var(--transition-fast), box-shadow var(--transition-fast);\n\n &:focus {\n border-color: $accent-base;\n box-shadow: 0 0 0 2px $accent-glow;\n }\n}\n\n.inputCopyBtn {\n position: absolute;\n right: 0.35rem;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n border: none;\n border-radius: var(--radius-sm);\n background: transparent;\n color: var(--color-neutral-400);\n cursor: pointer;\n transition: background var(--transition-fast), color var(--transition-fast);\n\n &:hover {\n background: var(--color-neutral-100);\n color: var(--color-neutral-900);\n }\n}\n\n\n// ─── Recent colors ─────────────────────────────────────────────────────────────\n\n.recents {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding-top: 0.25rem;\n border-top: 1px solid var(--color-neutral-100);\n overflow: hidden;\n}\n\n.recentsLabel {\n font-size: 0.6rem;\n font-weight: 600;\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--color-neutral-400);\n flex-shrink: 0;\n}\n\n.swatches {\n display: flex;\n gap: 0.35rem;\n flex-wrap: nowrap;\n overflow: hidden;\n}\n\n.recentSwatch {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n border: 1.5px solid rgba(0, 0, 0, 0.1);\n cursor: pointer;\n padding: 0;\n flex-shrink: 0;\n}\n","@use \"sass:color\";\n\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n// Accent di default — cambia qui per aggiornare tutta la libreria\n$accent: #3b82f6;\n\n:root {\n // Accent scale — derivata da $accent a compile time\n --accent: #{$accent};\n --accent-dot: #{color.scale($accent, $lightness: 12%)};\n --accent-track: #{$accent};\n --accent-ring: #{$accent};\n --accent-glow: #{color.change($accent, $alpha: 0.3)};\n --accent-light: #{color.scale($accent, $lightness: 45%, $saturation: -20%)};\n\n // Primary scale (mantenuta per retrocompatibilità con Button, Badge, Input)\n --color-primary-50: #{color.scale($accent, $lightness: 49%, $saturation: -30%)};\n --color-primary-100: #{color.scale($accent, $lightness: 42%, $saturation: -15%)};\n --color-primary-400: #{color.scale($accent, $lightness: 12%)};\n --color-primary-500: #{$accent};\n --color-primary-600: #{color.scale($accent, $lightness: -10%)};\n --color-primary-700: #{color.scale($accent, $lightness: -20%)};\n\n // Neutral\n --color-neutral-0: #ffffff;\n --color-neutral-100: #f3f4f6;\n --color-neutral-200: #e5e7eb;\n --color-neutral-400: #9ca3af;\n --color-neutral-600: #4b5563;\n --color-neutral-900: #111827;\n\n // Semantic\n --color-success-500: #22c55e;\n --color-success-600: #16a34a;\n --color-danger-500: #ef4444;\n --color-danger-600: #dc2626;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n\n // Typography\n --font-family-base: \"Inter\", system-ui, -apple-system, sans-serif;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-md: 1rem;\n --font-size-lg: 1.125rem;\n\n // Spacing\n --spacing-1: 0.25rem;\n --spacing-2: 0.5rem;\n --spacing-3: 0.75rem;\n --spacing-4: 1rem;\n\n // Radius\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-full: 9999px;\n\n // Shadows\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n\n // Transitions\n --transition-fast: 150ms ease;\n\n // Surface (background di card/panel)\n --color-surface: #ffffff;\n --color-surface-elevated: #ffffff;\n}\n\n// ─── Dark theme ────────────────────────────────────────────────────────────────\n// Applicato via data-theme=\"dark\" sull'elemento root (gestito da Storybook decorator\n// e dall'app consumer). I componenti non devono fare nulla di speciale: basta che\n// usino i token var() e riceveranno automaticamente i valori dark.\n\n[data-theme=\"dark\"] {\n // Neutral (scala invertita)\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n\n // Surface\n --color-surface: #1e293b;\n --color-surface-elevated: #273549;\n\n // Primary scale dark (per il default accent blu — le sfumature chiare diventano scure)\n --color-primary-50: #172554;\n --color-primary-100: #1e3a8a;\n // 400 / 500 / 600 / 700 rimangono invariati (abbastanza saturi su bg scuro)\n\n // Accent light: variante scura\n --accent-light: #172554;\n\n // Shadows (più forti su bg scuro)\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n","@use \"../../styles/tokens\" as *;\n\n$accent-track: var(--slider-accent-track, var(--accent-track));\n$accent-ring: var(--slider-accent-ring, var(--accent-ring));\n$accent-glow: var(--slider-accent-glow, var(--accent-glow));\n\n$groove-height: 22px;\n$rail-height: 6px;\n$thumb-size: 18px;\n$hit-zone: 36px;\n\n.wrapper {\n display: flex;\n align-items: center;\n gap: 10px;\n font-family: var(--font-family-base);\n user-select: none;\n -webkit-user-select: none;\n}\n\n.disabled {\n opacity: 0.45;\n pointer-events: none;\n}\n\n.icon {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-neutral-400);\n flex-shrink: 0;\n line-height: 0;\n}\n\n// ── Hit zone ───────────────────────────────────────────────────────────────────\n.trackArea {\n position: relative;\n flex: 1;\n height: $hit-zone;\n display: flex;\n align-items: center;\n cursor: pointer;\n}\n\n// ── Groove — the carved channel, >= thumb size ─────────────────────────────────\n.groove {\n position: relative;\n width: 100%;\n height: $groove-height;\n border-radius: var(--radius-full);\n background: var(--color-neutral-300);\n display: flex;\n align-items: center;\n // purely inset: no outer shadow\n box-shadow:\n inset 0 4px 8px rgba(0, 0, 0, 0.14),\n inset 0 2px 4px rgba(0, 0, 0, 0.06),\n inset 0 -2px 3px rgba(255, 255, 255, 0.10);\n}\n\n// ── Rail — thin line inside the groove where fill runs ─────────────────────────\n.rail {\n position: absolute;\n left: 8px;\n right: 8px;\n height: $rail-height;\n border-radius: var(--radius-full);\n background: var(--color-neutral-400);\n box-shadow:\n inset 0 1px 3px rgba(0, 0, 0, 0.30),\n inset 0 1px 1px rgba(0, 0, 0, 0.18);\n overflow: hidden;\n}\n\n// ── Fill ───────────────────────────────────────────────────────────────────────\n.fill {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n background: $accent-track;\n border-radius: var(--radius-full);\n transition: width 60ms linear;\n}\n\n// ── Thumb ──────────────────────────────────────────────────────────────────────\n.thumb {\n position: absolute;\n top: 50%;\n width: $thumb-size;\n height: $thumb-size;\n border-radius: 50%;\n transform: translate(-50%, -50%);\n background: #dde0e6;\n border: 1px solid rgba(0, 0, 0, 0.10);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.22);\n cursor: grab;\n transition: box-shadow 120ms ease, transform 120ms ease;\n outline: none;\n z-index: 2;\n}\n\n.thumb:focus-visible {\n box-shadow:\n 0 1px 3px rgba(0, 0, 0, 0.22),\n 0 0 0 3px $accent-ring;\n}\n\n.thumbDragging {\n cursor: grabbing;\n transform: translate(-50%, -50%) scale(1.08);\n box-shadow:\n 0 1px 4px rgba(0, 0, 0, 0.28),\n 0 0 0 3px $accent-ring,\n 0 0 0 6px $accent-glow;\n}\n\n// ── Tooltip ────────────────────────────────────────────────────────────────────\n.tooltip {\n position: absolute;\n bottom: calc(100% + 6px);\n transform: translateX(-50%);\n background: rgba(18, 18, 26, 0.85);\n backdrop-filter: blur(6px);\n -webkit-backdrop-filter: blur(6px);\n color: #fff;\n font-size: 11px;\n font-weight: 600;\n letter-spacing: 0.02em;\n padding: 3px 8px;\n border-radius: 6px;\n white-space: nowrap;\n pointer-events: none;\n opacity: 0;\n transition: opacity 120ms ease;\n z-index: 10;\n\n &::after {\n content: \"\";\n position: absolute;\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n border: 4px solid transparent;\n border-top-color: rgba(18, 18, 26, 0.85);\n }\n}\n\n.tooltipVisible {\n opacity: 1;\n}\n\n// ── Dark mode ──────────────────────────────────────────────────────────────────\n[data-theme=\"dark\"] {\n .groove {\n box-shadow:\n inset 0 1px 0 rgba(255, 255, 255, 0.07),\n inset 0 3px 7px rgba(0, 0, 0, 0.32),\n inset 0 1px 3px rgba(0, 0, 0, 0.22),\n inset 0 -2px 3px rgba(255, 255, 255, 0.04);\n }\n\n .thumb {\n background: #4a4f5c;\n border-color: rgba(255, 255, 255, 0.08);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);\n }\n\n .thumbDragging {\n box-shadow:\n 0 1px 4px rgba(0, 0, 0, 0.5),\n 0 0 0 3px $accent-ring,\n 0 0 0 6px $accent-glow;\n }\n}\n","@use \"sass:color\";\n\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n// Accent di default — cambia qui per aggiornare tutta la libreria\n$accent: #3b82f6;\n\n:root {\n // Accent scale — derivata da $accent a compile time\n --accent: #{$accent};\n --accent-dot: #{color.scale($accent, $lightness: 12%)};\n --accent-track: #{$accent};\n --accent-ring: #{$accent};\n --accent-glow: #{color.change($accent, $alpha: 0.3)};\n --accent-light: #{color.scale($accent, $lightness: 45%, $saturation: -20%)};\n\n // Primary scale (mantenuta per retrocompatibilità con Button, Badge, Input)\n --color-primary-50: #{color.scale($accent, $lightness: 49%, $saturation: -30%)};\n --color-primary-100: #{color.scale($accent, $lightness: 42%, $saturation: -15%)};\n --color-primary-400: #{color.scale($accent, $lightness: 12%)};\n --color-primary-500: #{$accent};\n --color-primary-600: #{color.scale($accent, $lightness: -10%)};\n --color-primary-700: #{color.scale($accent, $lightness: -20%)};\n\n // Neutral\n --color-neutral-0: #ffffff;\n --color-neutral-100: #f3f4f6;\n --color-neutral-200: #e5e7eb;\n --color-neutral-400: #9ca3af;\n --color-neutral-600: #4b5563;\n --color-neutral-900: #111827;\n\n // Semantic\n --color-success-500: #22c55e;\n --color-success-600: #16a34a;\n --color-danger-500: #ef4444;\n --color-danger-600: #dc2626;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n\n // Typography\n --font-family-base: \"Inter\", system-ui, -apple-system, sans-serif;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-md: 1rem;\n --font-size-lg: 1.125rem;\n\n // Spacing\n --spacing-1: 0.25rem;\n --spacing-2: 0.5rem;\n --spacing-3: 0.75rem;\n --spacing-4: 1rem;\n\n // Radius\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-full: 9999px;\n\n // Shadows\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n\n // Transitions\n --transition-fast: 150ms ease;\n\n // Surface (background di card/panel)\n --color-surface: #ffffff;\n --color-surface-elevated: #ffffff;\n}\n\n// ─── Dark theme ────────────────────────────────────────────────────────────────\n// Applicato via data-theme=\"dark\" sull'elemento root (gestito da Storybook decorator\n// e dall'app consumer). I componenti non devono fare nulla di speciale: basta che\n// usino i token var() e riceveranno automaticamente i valori dark.\n\n[data-theme=\"dark\"] {\n // Neutral (scala invertita)\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n\n // Surface\n --color-surface: #1e293b;\n --color-surface-elevated: #273549;\n\n // Primary scale dark (per il default accent blu — le sfumature chiare diventano scure)\n --color-primary-50: #172554;\n --color-primary-100: #1e3a8a;\n // 400 / 500 / 600 / 700 rimangono invariati (abbastanza saturi su bg scuro)\n\n // Accent light: variante scura\n --accent-light: #172554;\n\n // Shadows (più forti su bg scuro)\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n","@use \"../../styles/tokens\";\n\n// ── Size map ────────────────────────────────────────────────────────────────\n$sizes: (\n sm: (font: 1.25rem, cell: 1.6rem, width: 0.85rem),\n md: (font: 2rem, cell: 2.6rem, width: 1.35rem),\n lg: (font: 3rem, cell: 3.8rem, width: 2rem),\n);\n\n// ── Counter wrapper ─────────────────────────────────────────────────────────\n.counter {\n display: inline-flex;\n align-items: center;\n gap: 1px;\n font-family: var(--font-family-base);\n font-weight: 600;\n font-variant-numeric: tabular-nums;\n color: var(--sliding-counter-accent-dot, var(--accent-dot));\n user-select: none;\n}\n\n// ── Sign (minus) and decimal separator ──────────────────────────────────────\n.sign {\n line-height: 1;\n margin-right: 2px;\n}\n\n.separator {\n line-height: 1;\n margin: 0 1px;\n opacity: 0.5;\n align-self: flex-end;\n padding-bottom: 0.5em;\n}\n\n// ── Reel window — clips to one digit height ─────────────────────────────────\n.reelWindow {\n overflow: hidden;\n position: relative;\n\n @each $name, $map in $sizes {\n &.#{$name} {\n height: map-get($map, cell);\n width: map-get($map, width);\n font-size: map-get($map, font);\n line-height: map-get($map, cell);\n }\n }\n}\n\n// ── The scrolling column ─────────────────────────────────────────────────────\n.reel {\n display: flex;\n flex-direction: column;\n transition: transform 420ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n// ── Single digit cell ────────────────────────────────────────────────────────\n.digitCell {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n\n @each $name, $map in $sizes {\n .reelWindow.#{$name} & {\n height: map-get($map, cell);\n width: map-get($map, width);\n }\n }\n}\n","@use \"sass:color\";\n\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n// Accent di default — cambia qui per aggiornare tutta la libreria\n$accent: #3b82f6;\n\n:root {\n // Accent scale — derivata da $accent a compile time\n --accent: #{$accent};\n --accent-dot: #{color.scale($accent, $lightness: 12%)};\n --accent-track: #{$accent};\n --accent-ring: #{$accent};\n --accent-glow: #{color.change($accent, $alpha: 0.3)};\n --accent-light: #{color.scale($accent, $lightness: 45%, $saturation: -20%)};\n\n // Primary scale (mantenuta per retrocompatibilità con Button, Badge, Input)\n --color-primary-50: #{color.scale($accent, $lightness: 49%, $saturation: -30%)};\n --color-primary-100: #{color.scale($accent, $lightness: 42%, $saturation: -15%)};\n --color-primary-400: #{color.scale($accent, $lightness: 12%)};\n --color-primary-500: #{$accent};\n --color-primary-600: #{color.scale($accent, $lightness: -10%)};\n --color-primary-700: #{color.scale($accent, $lightness: -20%)};\n\n // Neutral\n --color-neutral-0: #ffffff;\n --color-neutral-100: #f3f4f6;\n --color-neutral-200: #e5e7eb;\n --color-neutral-400: #9ca3af;\n --color-neutral-600: #4b5563;\n --color-neutral-900: #111827;\n\n // Semantic\n --color-success-500: #22c55e;\n --color-success-600: #16a34a;\n --color-danger-500: #ef4444;\n --color-danger-600: #dc2626;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n\n // Typography\n --font-family-base: \"Inter\", system-ui, -apple-system, sans-serif;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-md: 1rem;\n --font-size-lg: 1.125rem;\n\n // Spacing\n --spacing-1: 0.25rem;\n --spacing-2: 0.5rem;\n --spacing-3: 0.75rem;\n --spacing-4: 1rem;\n\n // Radius\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-full: 9999px;\n\n // Shadows\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n\n // Transitions\n --transition-fast: 150ms ease;\n\n // Surface (background di card/panel)\n --color-surface: #ffffff;\n --color-surface-elevated: #ffffff;\n}\n\n// ─── Dark theme ────────────────────────────────────────────────────────────────\n// Applicato via data-theme=\"dark\" sull'elemento root (gestito da Storybook decorator\n// e dall'app consumer). I componenti non devono fare nulla di speciale: basta che\n// usino i token var() e riceveranno automaticamente i valori dark.\n\n[data-theme=\"dark\"] {\n // Neutral (scala invertita)\n --color-neutral-0: #0f172a;\n --color-neutral-100: #1e293b;\n --color-neutral-200: #334155;\n --color-neutral-400: #94a3b8;\n --color-neutral-600: #cbd5e1;\n --color-neutral-900: #f8fafc;\n\n // Surface\n --color-surface: #1e293b;\n --color-surface-elevated: #273549;\n\n // Primary scale dark (per il default accent blu — le sfumature chiare diventano scure)\n --color-primary-50: #172554;\n --color-primary-100: #1e3a8a;\n // 400 / 500 / 600 / 700 rimangono invariati (abbastanza saturi su bg scuro)\n\n // Accent light: variante scura\n --accent-light: #172554;\n\n // Shadows (più forti su bg scuro)\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.4);\n}\n","@use \"../../styles/tokens\" as *;\n\n// ─── Root ─────────────────────────────────────────────────────────────────────\n\n.root {\n display: flex;\n flex-direction: column;\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-lg);\n background: var(--color-surface);\n transition:\n border-color var(--transition-fast),\n box-shadow var(--transition-fast);\n &:focus-within {\n border-color: var(--rich-text-editor-accent-ring, var(--accent-ring));\n box-shadow: 0 0 0 3px var(--rich-text-editor-accent-glow, var(--accent-glow));\n }\n}\n\n.readOnly {\n border-color: transparent;\n background: transparent;\n\n &:focus-within {\n border-color: transparent;\n box-shadow: none;\n }\n}\n\n// ─── Toolbar ──────────────────────────────────────────────────────────────────\n\n.toolbar {\n display: flex;\n align-items: center;\n gap: var(--spacing-1);\n padding: var(--spacing-1) var(--spacing-2);\n background: var(--color-surface-elevated);\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-md);\n flex-shrink: 0;\n position: sticky;\n top: var(--spacing-1);\n margin: var(--spacing-1) var(--spacing-1) 0;\n z-index: 10;\n}\n\n.toolbarGroup {\n display: flex;\n align-items: center;\n gap: 2px;\n}\n\n.divider {\n width: 1px;\n height: 18px;\n background: var(--color-neutral-200);\n margin: 0 var(--spacing-1);\n flex-shrink: 0;\n}\n\n// ─── Toolbar button ───────────────────────────────────────────────────────────\n\n.toolbarButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n border: none;\n border-radius: var(--radius-sm);\n background: transparent;\n color: var(--color-neutral-600);\n cursor: pointer;\n font-size: var(--font-size-sm);\n font-family: var(--font-family-base);\n line-height: 1;\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n\n &:hover {\n background: var(--color-neutral-100);\n color: var(--color-neutral-900);\n }\n\n &:focus-visible {\n outline: 2px solid var(--rich-text-editor-accent-ring, var(--accent-ring));\n outline-offset: 1px;\n }\n\n &.active {\n background: var(--rich-text-editor-accent-light, var(--accent-light));\n color: var(--rich-text-editor-accent, var(--accent));\n }\n}\n\n.headingButton {\n width: auto;\n min-width: 28px;\n padding: 0 var(--spacing-2);\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.02em;\n}\n\n// ─── Bubble menu ──────────────────────────────────────────────────────────────\n\n.bubbleMenu {\n display: flex;\n align-items: center;\n gap: 2px;\n padding: var(--spacing-1) var(--spacing-2);\n background: var(--color-surface-elevated);\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-md);\n box-shadow: var(--shadow-md);\n}\n\n// ─── Shared prose typography ──────────────────────────────────────────────────\n// Applied both to the editor (.editorContent) and to external preview divs (.prose).\n\n@mixin prose {\n color: var(--color-neutral-900);\n font-family: var(--font-family-base);\n font-size: var(--font-size-md);\n line-height: 1.65;\n\n > * + * { margin-top: 0.5em; }\n\n p { margin: 0; }\n\n h1 {\n font-size: 1.75rem;\n font-weight: 700;\n line-height: 1.25;\n color: var(--color-neutral-900);\n margin-top: 0.75em;\n margin-bottom: 0.25em;\n &:first-child { margin-top: 0; }\n }\n\n h2 {\n font-size: 1.375rem;\n font-weight: 600;\n line-height: 1.3;\n color: var(--color-neutral-900);\n margin-top: 0.75em;\n margin-bottom: 0.25em;\n &:first-child { margin-top: 0; }\n }\n\n h3 {\n font-size: 1.125rem;\n font-weight: 600;\n line-height: 1.4;\n color: var(--color-neutral-900);\n margin-top: 0.75em;\n margin-bottom: 0.25em;\n &:first-child { margin-top: 0; }\n }\n\n ul, ol {\n padding-left: 1.5em;\n margin: 0.5em 0;\n }\n\n ul { list-style-type: disc; }\n ol { list-style-type: decimal; }\n\n li {\n line-height: 1.65;\n + li { margin-top: 0.25em; }\n p { margin: 0; }\n }\n}\n\n// Exported class for use in preview divs outside the editor.\n.prose {\n @include prose;\n padding: var(--spacing-3) var(--spacing-4);\n}\n\n// ─── Editor content ───────────────────────────────────────────────────────────\n\n.editorContent {\n flex: 1;\n overflow-y: auto;\n max-height: var(--rte-max-height);\n scrollbar-width: thin;\n scrollbar-color: var(--color-neutral-200) transparent;\n\n &::-webkit-scrollbar { width: 4px; }\n &::-webkit-scrollbar-track { background: transparent; }\n &::-webkit-scrollbar-thumb {\n background: var(--color-neutral-200);\n border-radius: var(--radius-full);\n }\n\n &::before {\n content: \"\";\n display: block;\n position: sticky;\n top: 0;\n // height: 36px;\n // margin-bottom: -36px;\n // background: linear-gradient(to bottom, var(--color-surface) 0%, transparent 100%);\n pointer-events: none;\n z-index: 9;\n }\n\n :global(.ProseMirror) {\n @include prose;\n min-height: var(--rte-min-height, 200px);\n padding: var(--spacing-3) var(--spacing-4);\n outline: none;\n caret-color: var(--rich-text-editor-accent, var(--accent));\n\n p.is-empty:first-child::before {\n content: attr(data-placeholder);\n color: var(--color-neutral-400);\n pointer-events: none;\n float: left;\n height: 0;\n }\n\n // ── Page break ─────────────────────────────────────────────────────────\n div[data-type=\"page-break\"] {\n position: relative;\n margin: 1em 0;\n border: none;\n height: 0;\n border-top: 2px dashed var(--color-neutral-200);\n pointer-events: none;\n user-select: none;\n\n &::after {\n content: \"Page break\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n padding: 0 var(--spacing-2);\n background: var(--color-surface);\n font-size: var(--font-size-xs);\n color: var(--color-neutral-400);\n font-family: var(--font-family-base);\n white-space: nowrap;\n }\n }\n\n ::selection {\n background: var(--rich-text-editor-accent-light, var(--accent-light));\n }\n }\n}\n","// Theme tokens are scoped to .root (component-local), not :root -- this\n// component must be safe to drop into an app with its own global theme\n// without colliding. All *computed* colors (the color you're picking, badge\n// tints, gradients) are passed in as inline styles from ColorWheel.tsx, not\n// CSS custom properties here -- only structural/theme tokens live in SCSS.\n\n// light/dark palettes -- identical values shared by every trigger below (OS\n// preference, host app's ambient theme, and this instance's own `theme` prop)\n@mixin light-palette {\n --bg: #ECEAE3;\n --surface: #FFFFFF;\n --surface-2: #E3E0D8;\n --border: #D2CDC0;\n --text: #1A1913;\n --text-dim: #726F64;\n --text-faint: #A8A398;\n --shadow-soft: 0 1px 2px rgba(30, 25, 15, 0.08);\n --check-a: #d8d4c8;\n --check-b: #f4f2ec;\n color-scheme: light;\n}\n@mixin dark-palette {\n --bg: #131217;\n --surface: #1C1B22;\n --surface-2: #26252E;\n --border: #34333D;\n --text: #ECEAF0;\n --text-dim: #8E8C99;\n --text-faint: #605E6B;\n --shadow-soft: 0 1px 2px rgba(0, 0, 0, 0.35);\n --check-a: #37353f;\n --check-b: #201f26;\n color-scheme: dark;\n}\n\n.root {\n @include light-palette;\n\n // theme=\"system\" (no data-theme of its own): fall back to the OS preference\n @media (prefers-color-scheme: dark) {\n &:not([data-theme='light']):not([data-theme='dark']) {\n @include dark-palette;\n }\n }\n\n // theme=\"system\": the host app's ambient theme (data-theme set on an\n // ancestor, e.g. <html> -- the same convention ColorPicker/Timeline read\n // from) takes precedence over the bare OS preference above when the app\n // declares one -- including explicitly overriding it back to light, since\n // the OS-preference rule above has no way to know the app disagrees\n :global([data-theme='light']) &:not([data-theme='light']):not([data-theme='dark']) {\n @include light-palette;\n }\n :global([data-theme='dark']) &:not([data-theme='light']):not([data-theme='dark']) {\n @include dark-palette;\n }\n\n // theme=\"dark\" / theme=\"light\": pinned explicitly on this instance, regardless of the OS or the app\n &[data-theme='dark'] {\n @include dark-palette;\n }\n &[data-theme='light'] {\n @include light-palette;\n }\n\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 20px;\n font-family: -apple-system, 'Segoe UI', Inter, 'Helvetica Neue', Arial, sans-serif;\n color: var(--text);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .root, .root *, .root *::before, .root *::after {\n animation-duration: 0.01ms !important;\n transition-duration: 0.01ms !important;\n }\n}\n\n// ============ Recents (favorites) ============\n.recents {\n display: flex;\n align-items: center;\n gap: 7px;\n min-height: 30px;\n background: var(--surface-2);\n border-radius: 999px;\n padding: 5px 8px;\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.14), var(--shadow-soft);\n // `width` is set inline from ColorWheel.tsx (chip count * size + gaps) --\n // transitioning it turns an add/remove's shrink-to-fit resize into a\n // smooth resize instead of an instant snap\n transition: width 0.25s ease;\n}\n\n// same box (min-height + padding), just invisible -- keeps the slot's\n// footprint reserved so the rest of the layout doesn't shift when the last\n// preset is removed (or before the first one is ever added)\n.recentsEmpty {\n background: transparent;\n box-shadow: none;\n}\n\n.chipWrap {\n position: relative;\n flex: none;\n animation: chipIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) both;\n}\n\n// swaps in for .chipWrap while a chip is leaving (see removeFavorite /\n// handleChipRemoveEnd in ColorWheel.tsx) -- transform-only, so it keeps\n// occupying its flex slot (and .recents' width) until it's fully invisible,\n// at which point the actual removal + .recents' own width transition kick in\n.chipWrapRemoving {\n animation: chipOut 0.22s cubic-bezier(0.4, 0, 1, 1) both;\n pointer-events: none;\n}\n\n.chip {\n width: 26px;\n height: 26px;\n border-radius: 50%;\n border: none;\n padding: 0;\n cursor: pointer;\n display: block;\n box-shadow: inset 0 0 0 1px rgba(128, 128, 128, 0.22), var(--shadow-soft);\n transition: transform 0.15s ease, box-shadow 0.15s ease;\n\n &:hover {\n transform: scale(1.14) translateY(-1px);\n box-shadow: inset 0 0 0 1px rgba(128, 128, 128, 0.3), 0 4px 10px -3px rgba(0, 0, 0, 0.3);\n }\n &:active {\n transform: scale(1.02);\n }\n}\n\n// notification-badge style: sits off-center on the chip's rim, revealed only\n// on hover so it never competes with the chip's own click-to-select area\n.chipRemove {\n position: absolute;\n top: -3px;\n right: -3px;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n border: none;\n padding: 0;\n display: grid;\n place-items: center;\n background: var(--surface);\n color: var(--text-dim);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(128, 128, 128, 0.25);\n cursor: pointer;\n z-index: 2;\n opacity: 0;\n pointer-events: none;\n transform: scale(0.6);\n transition: opacity 0.12s ease, transform 0.12s ease, color 0.12s ease;\n\n svg {\n width: 8px;\n height: 8px;\n }\n &:hover {\n color: var(--text);\n }\n .chipWrap:hover & {\n opacity: 1;\n pointer-events: auto;\n transform: scale(1);\n }\n}\n\n@keyframes chipIn {\n 0% { transform: scale(0) rotate(-25deg); opacity: 0; }\n 100% { transform: scale(1) rotate(0); opacity: 1; }\n}\n\n@keyframes chipOut {\n 0% { transform: scale(1) rotate(0); opacity: 1; }\n 100% { transform: scale(0) rotate(18deg); opacity: 0; }\n}\n\n// ============ Picker: positioning context for the ring's bleed ============\n// Every direct child below is position:absolute (there's no backing card to\n// hold the box open), so .picker needs an explicit size or it measures as\n// 0x0 to the layout engine -- margin-top reserves room for what renders\n// above the shared center anchor (mostly the mode toggle). `height` is set\n// inline from ColorWheel.tsx instead of here, since how far down it needs to\n// reserve depends on `arcVisible` (the alpha arc reaches lower than the ring\n// alone does) -- plain SCSS can't see that prop.\n.picker {\n position: relative;\n margin-top: 96px;\n width: 272px;\n}\n\n.glow {\n position: absolute;\n width: 340px;\n height: 340px;\n left: 50%;\n top: 88px;\n transform: translate(-50%, -50%);\n border-radius: 50%;\n opacity: 0.55;\n pointer-events: none;\n z-index: 0;\n}\n\n// ============ Mode toggle: switches what the ring adjusts (H/S/V) ============\n.modeToggle {\n position: absolute;\n top: 88px;\n left: 50%;\n transform: translate(-50%, calc(-50% - 170px));\n z-index: 3;\n display: grid;\n // grid-template-columns and width are set inline (mode count is dynamic:\n // 3-way H/S/V or 4-way H/S/V/A depending on showAlphaControl)\n background: var(--surface-2);\n border-radius: 999px;\n padding: 3px;\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.14), var(--shadow-soft);\n}\n\n.modePill {\n position: absolute;\n top: 3px;\n bottom: 3px;\n left: 3px;\n // width is set inline (see .modeToggle)\n border-radius: 999px;\n background: var(--surface);\n box-shadow: var(--shadow-soft);\n transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);\n}\n\n.modeButton {\n position: relative;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 22px;\n background: none;\n border: none;\n padding: 0;\n font-size: 10.5px;\n font-weight: 700;\n line-height: 22px;\n letter-spacing: 0.02em;\n color: var(--text-dim);\n cursor: pointer;\n transition: color 0.2s ease;\n\n &.active {\n color: var(--text);\n }\n &:hover:not(.active) {\n color: var(--text);\n }\n}\n\n// ============ Stage: a true ring (annulus via mask) ============\n.stage {\n position: absolute;\n top: -48px;\n left: 50%;\n width: 272px;\n height: 272px;\n transform: translateX(-50%);\n touch-action: none;\n}\n\n// shadow caster: a plain, unmasked circle behind the ring. box-shadow draws\n// outside its border-box regardless of the hole in the shape drawn on top of\n// it, so this reliably casts a shadow around the ring's outer edge --\n// filter:drop-shadow on the masked .ring itself is unreliable across engines.\n.stageShadow {\n position: absolute;\n inset: 0;\n border-radius: 50%;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22), 0 10px 18px rgba(0, 0, 0, 0.22);\n pointer-events: none;\n}\n\n.ring {\n position: absolute;\n inset: 0;\n border-radius: 50%;\n pointer-events: none;\n z-index: 2;\n // background is set per-mode inline: hue spectrum / grey-to-color / black-to-color\n -webkit-mask: radial-gradient(circle closest-side, transparent 0 92px, black 93px 100%);\n mask: radial-gradient(circle closest-side, transparent 0 92px, black 93px 100%);\n}\n\n// rotated, not repositioned via top/left -- see the comment on\n// ringAngleFromTopDeg in ColorWheel.tsx for why\n.hueHandlePivot {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 0;\n height: 0;\n // `transform` creates a new stacking context, so this needs its own\n // z-index -- the child .hueHandle's z-index only ranks it within this\n // context, not against the ring/disc/badges sitting outside it\n z-index: 3;\n // strong ease-out -- fast start, long deceleration into the final angle,\n // like braking into position. Reads as a real sweep on a big mode-switch\n // jump, stays snappy on small wheel-tick nudges.\n transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);\n}\n.root[data-dragging='true'] .hueHandlePivot {\n transition: none;\n}\n.hueHandle {\n position: absolute;\n top: -114px; // mid-band radius (0.4191 * 272px stage), fixed distance from the pivot\n left: 0;\n width: 22px;\n height: 22px;\n border-radius: 50%;\n border: 3px solid #fff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(0, 0, 0, 0.15);\n transform: translate(-50%, -50%);\n cursor: grab;\n z-index: 3;\n}\n\n// ============ Alpha arc: a curved alpha slider outside the ring ============\n// a pure 1D control, position along the 120deg band (bottom-centered) fades\n// a checkerboard (alpha 0) into the current solid color (alpha 1). clip-path\n// also gates hit-testing, so clicks outside the visible crescent fall through.\n$arcPath: path('M 328.56,270 A 160 160 0 0 1 51.44,270 L 65.29,262 A 144 144 0 0 0 314.71,262 Z');\n\n// shadow caster: clip-path + filter:blur on the SAME element clips away the\n// blur's own soft edge (no room outside the path for it to fade into),\n// leaving a hard-edged smudge. Fix: blur a wrapper that ISN'T itself clipped\n// -- it composites its clipped child first, then blurs that whole result\n// freely, since nothing clips the wrapper afterward.\n.alphaArcShadowWrap {\n position: absolute;\n top: 88px;\n left: 50%;\n width: 380px;\n height: 380px;\n transform: translate(calc(-50% + 1px), calc(-50% + 5px));\n z-index: 1;\n pointer-events: none;\n filter: blur(7px);\n}\n.alphaArcShadow {\n position: absolute;\n inset: 0;\n background: rgba(0, 0, 0, 0.22);\n clip-path: $arcPath;\n}\n\n.alphaArc {\n position: absolute;\n top: 88px;\n left: 50%;\n width: 380px;\n height: 380px;\n transform: translate(-50%, -50%);\n touch-action: none;\n cursor: grab;\n z-index: 2;\n background: var(--surface-2);\n clip-path: $arcPath;\n}\n\n.alphaArcFill {\n position: absolute;\n inset: 0;\n // conic-gradient set inline (needs the live accent color)\n}\n\n// clip-path can't take a border-radius, so the band's two flat-cut ends are\n// \"rounded\" by capping them with plain circles sized to the band's own\n// thickness -- a pill cap, same trick as a rounded-end stroke. These sit\n// OUTSIDE .alphaArc (its clip-path would slice them too), positioned from\n// the shared center point like the mode toggle is.\n.alphaArcCap {\n position: absolute;\n top: 88px;\n left: 50%;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n z-index: 2;\n pointer-events: none;\n background: var(--surface-2);\n}\n.alphaArcCapStart {\n transform: translate(calc(-50% + 131.6px), calc(-50% + 76px));\n // background set inline (accent-solid, the \"full\" end)\n}\n.alphaArcCapEnd {\n transform: translate(calc(-50% - 131.6px), calc(-50% + 76px));\n}\n\n// sits OUTSIDE .alphaArc too, same reason as the caps -- clip-path would\n// slice it into a crescent whenever it nears the band's flat-cut ends\n.alphaArcHandle {\n position: absolute;\n top: 88px;\n left: 50%;\n width: 18px;\n height: 18px;\n border-radius: 50%;\n border: 2px solid #fff;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.2);\n z-index: 3;\n pointer-events: none;\n transition: transform 0.12s ease;\n}\n.root[data-dragging='true'] .alphaArcHandle {\n transition: none;\n}\n\n// ============ Current-color disc ============\n.currentDisc {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 156px;\n height: 156px;\n transform: translate(-50%, -50%);\n border-radius: 50%;\n overflow: hidden;\n cursor: pointer;\n z-index: 2;\n box-shadow: 0 10px 24px -8px rgba(20, 16, 10, 0.4), inset 0 0 0 1px rgba(0, 0, 0, 0.08);\n background-image:\n linear-gradient(45deg, var(--check-a) 25%, transparent 25%, transparent 75%, var(--check-a) 75%),\n linear-gradient(45deg, var(--check-a) 25%, transparent 25%, transparent 75%, var(--check-a) 75%);\n background-size: 12px 12px;\n background-position: 0 0, 6px 6px;\n background-color: var(--check-b);\n}\n\n.discFill {\n position: absolute;\n inset: 0;\n // background (rgba of current color, so the checkerboard reads through\n // when alpha < 1) set inline\n}\n\n.currentHex,\n.currentHexInput {\n position: absolute;\n inset: 0;\n z-index: 1;\n font-family: 'SF Mono', 'IBM Plex Mono', 'JetBrains Mono', Consolas, 'Liberation Mono', monospace;\n font-size: 17px;\n font-weight: 700;\n letter-spacing: 0.01em;\n font-variant-numeric: tabular-nums;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);\n // color set inline (computed for contrast against the current color)\n}\n.currentHex {\n display: grid;\n place-items: center;\n cursor: text;\n transition: transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1);\n\n &.copied {\n transform: scale(1.06);\n }\n}\n.currentHexInput {\n z-index: 2;\n width: 100%;\n height: 100%;\n text-align: center;\n background: transparent;\n border: none;\n outline: none;\n padding: 0;\n\n &::selection {\n background: rgba(255, 255, 255, 0.35);\n }\n}\n\n// badges resting inland on the disc, top (eyedropper) and bottom (save to\n// favorites) -- discreet: near-invisible fill, and instead of a drawn-on\n// border, an engraved groove (dark inset lip on top, faint highlight on the\n// bottom edge) so they read as carved into the disc rather than stuck on it\n.discBadge {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 34px;\n height: 34px;\n border-radius: 50%;\n border: none;\n display: grid;\n place-items: center;\n cursor: pointer;\n z-index: 3;\n transition: transform 0.15s ease, filter 0.15s ease;\n\n &:hover {\n filter: brightness(1.15);\n }\n svg {\n width: 15px;\n height: 15px;\n }\n}\n.discBadgeTop {\n transform: translate(-50%, calc(-50% - 46px));\n &:active {\n transform: translate(-50%, calc(-50% - 46px)) scale(0.92);\n }\n &.pulse {\n animation: badgePulseTop 0.4s ease;\n }\n}\n.discBadgeBottom {\n transform: translate(-50%, calc(-50% + 46px));\n &:active {\n transform: translate(-50%, calc(-50% + 46px)) scale(0.92);\n }\n}\n@keyframes badgePulseTop {\n 0% { transform: translate(-50%, calc(-50% - 46px)) scale(1); }\n 40% { transform: translate(-50%, calc(-50% - 46px)) scale(1.28); }\n 100% { transform: translate(-50%, calc(-50% - 46px)) scale(1); }\n}\n"],"mappings":"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","names":["button","primary","secondary","danger","ghost","sm","md","lg","fullWidth","loading","spinner","spin","wrapper","fullWidth","label","inputWrapper","input","error","sm","md","lg","adornment","adornmentEnd","withStart","withEnd","helperText","errorText","badge","sm","md","default","primary","success","warning","danger","dotIndicator","wrapper","trailCanvas","content","dropContainer","timeline","vertical","item","track","connector","content","last","horizontal","dot","iconSlot","completed","active","pending","label","title","description","connectorHidden","connectorDone","dotIn","pulse","colorPicker","topRow","discWrapper","disc","dot","previewSwatch","eyedropperBtn","inputSection","tabs","tab","tabActive","inputWrapper","inputAddon","input","inputCopyBtn","recents","recentsLabel","swatches","recentSwatch","wrapper","disabled","icon","trackArea","groove","rail","fill","thumb","thumbDragging","tooltip","tooltipVisible","counter","sign","separator","reelWindow","sm","md","lg","reel","digitCell","root","readOnly","toolbar","toolbarGroup","divider","toolbarButton","active","headingButton","bubbleMenu","prose","editorContent","is-empty","root","recents","recentsEmpty","chipWrap","chipWrapRemoving","chip","chipRemove","chipIn","chipOut","picker","glow","modeToggle","modePill","modeButton","active","stage","stageShadow","ring","hueHandlePivot","hueHandle","alphaArcShadowWrap","alphaArcShadow","alphaArc","alphaArcFill","alphaArcCap","alphaArcCapStart","alphaArcCapEnd","alphaArcHandle","currentDisc","discFill","currentHex","currentHexInput","copied","discBadge","discBadgeTop","pulse","discBadgeBottom","badgePulseTop"]}