diff --git a/docs/roadmap.md b/docs/roadmap.md index 1846d50d..5d907e37 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -58,9 +58,10 @@ These items are planned as part of the path to a stable v1.0 release. - **Class documentation tooltips** — extract `docs/classes.md` data into a `data/classes.json` (generated at build time). When a new "Show class hints" - toggle in admin settings is enabled, inject short descriptions into Bricks' - class manager on hover. Implemented via a `show_class_hints` setting in - `class-token-store.php` and a flag passed to the editor JS bundle. + toggle in admin settings is enabled, inject a small "?" info icon beside each + SLASHED class row's action icons in Bricks' class manager; hovering or focusing + that icon reveals a short description. Implemented via a `show_class_hints` + setting in `class-token-store.php` and a flag passed to the editor JS bundle. - **Inventory stale-detection** — a weekly WP cron job checks the npm registry for a newer framework version and surfaces a subtle dashboard widget (not a diff --git a/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/LayoutsTab.svelte b/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/LayoutsTab.svelte index 612ca06d..b08ef4f0 100644 --- a/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/LayoutsTab.svelte +++ b/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/LayoutsTab.svelte @@ -72,7 +72,8 @@ Set mobile and desktop header heights in rem. When both are provided, --sf-header-height becomes a fluid clamp() between them using the viewport range configured in the Spacing tab. Set both to the same value for a - fixed height. Leave blank to use the framework default (5rem). + fixed height. Leave blank to use the framework defaults (3.5rem mobile, + 5rem desktop) — shown as the input placeholders.

@@ -84,7 +85,7 @@ label="Mobile (rem)" min={0} step={0.25} - default={defaults.header_height_mobile ?? ''} + default={defaults.header_height_mobile || '3.5'} cssVar="--sf-header-height-mobile" width="100px" /> @@ -94,7 +95,7 @@ label="Desktop (rem)" min={0} step={0.25} - default={defaults.header_height_desktop ?? ''} + default={defaults.header_height_desktop || '5'} cssVar="--sf-header-height-desktop" width="100px" /> @@ -109,7 +110,7 @@ label="Mobile (rem)" min={0} step={0.25} - default={defaults.sticky_offset_mobile ?? ''} + default={defaults.sticky_offset_mobile || '3.5'} cssVar="--sf-sticky-offset-mobile" width="100px" /> @@ -119,7 +120,7 @@ label="Desktop (rem)" min={0} step={0.25} - default={defaults.sticky_offset_desktop ?? ''} + default={defaults.sticky_offset_desktop || '5'} cssVar="--sf-sticky-offset-desktop" width="100px" /> diff --git a/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/LivePreview.svelte b/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/LivePreview.svelte index e35f99e9..950f9868 100644 --- a/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/LivePreview.svelte +++ b/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/LivePreview.svelte @@ -1,25 +1,26 @@ +
+ +
+

Live preview

+
+ + +
+
+ + +
+ +
+

Typography

+

The quick brown fox jumps over the lazy dog

+

+ Body text uses --sf-color-text--secondary over the page + background. Headings, body, secondary and muted text each pull from + their own token so the hierarchy stays readable in both modes. +

+

+ Muted caption · e.preventDefault()}>an inline link · auto-contrasting. +

+
+ + +
+

Surfaces

+
+ {#each surfaceTiles as tile (tile.var)} +
+ {tile.label} +
+ {/each} +
+
+ + +
+

Brand & status

+
+ {#each brand as name (name)} +
{name}
+ {/each} + {#each statuses as name (name)} +
{name}
+ {/each} +
+
+ + +
+

Buttons

+
+ Primary + Secondary + Action + Outline + Ghost + Disabled +
+
+ + +
+

Feedback

+
+ {#each statuses as name (name)} +
+ {name} + {name} message — readable on its tint. +
+ {/each} +
+
+ + +
+

Card component

+
+
+
+
+
S
+
+

Card Component

+

Design token preview

+
+ Active +
+

+ Radius, shadow, colours, surfaces, and typography working together — + every value updates live as you adjust tokens. +

+ +
+
+
+ + +
+

Form field

+ +
+
+ + +
+ Generated CSS: + {css || '/* (defaults — no overrides set) */'} +
+
+ - -
- -
-

Live preview

-
- - -
-
- - -

- The quick brown fox jumps over the lazy dog -

-

- Body and heading fonts update as you adjust typography settings. Colors below - reflect brand and status tokens for the selected mode. -

- - -
- {#each brand as name (name)} -
{name}
- {/each} - {#each statuses as name (name)} -
{name}
- {/each} -
- - -
- Primary - Action - Outline - Ghost -
- - -
-
-
-
-
-
-

Card Component

-

Design token preview

-
- Active -
-

- This card shows radius, shadow, spacing, colors, and typography - working together. All values update live as you adjust tokens. -

- -
-
- - -
- Generated CSS: - {css || '/* (defaults — no overrides set) */'} -
-
diff --git a/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/SpacingPreview.svelte b/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/SpacingPreview.svelte index 1f4c451c..a67e87c9 100644 --- a/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/SpacingPreview.svelte +++ b/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/SpacingPreview.svelte @@ -9,17 +9,26 @@ * Formula (matches the framework's generated clamp()): * value = (min + (max - min) * clamp((vw - VW_MIN) / (VW_MAX - VW_MIN), 0, 1)) * spaceScale * - * VW bounds match the framework CSS (22.5rem = 360px, 90rem = 1440px). - * Per-step token overrides (space_*_min/max) are preferred over the - * hardcoded defaults when set. + * VW bounds are NOT hardcoded — they come from the Spacing tab's "Fluid + * Scale Viewport Range" (viewportRangePx, shared with the Typography + * preview) so scrubbing the slider matches the range the generated + * clamp() actually interpolates over. Per-step token overrides + * (space_*_min/max) are preferred over the hardcoded defaults when set. */ - import { tokens, meta } from '../lib/stores.svelte.js'; + import { tokens, meta, viewportRangePx } from '../lib/stores.svelte.js'; - const VW_MIN = 360; - const VW_MAX = 1440; + /** Live viewport range (px) sourced from the Spacing viewport fields. */ + const range = $derived(viewportRangePx()); /** Viewport slider state — starts at desktop width. */ - let vw = $state(VW_MAX); + let vw = $state(viewportRangePx().maxPx); + + // Keep the slider value inside the (possibly edited) range so it never + // drifts out of bounds when the user changes Min/Max viewport. + $effect(() => { + if (vw < range.minPx) vw = range.minPx; + else if (vw > range.maxPx) vw = range.maxPx; + }); const defaults = meta.defaults?.spacing ?? {}; const defaultSizes = defaults.space_sizes ?? {}; @@ -45,7 +54,7 @@ const spaceScale = parseFloat( tokens.spacing?.space_scale ?? defaults.space_scale ?? 1 ) || 1; - const t = Math.max(0, Math.min(1, (vw - VW_MIN) / (VW_MAX - VW_MIN))); + const t = Math.max(0, Math.min(1, (vw - range.minPx) / (range.maxPx - range.minPx))); const stepNames = ['2xs', 'xs', 's', 'm', 'l', 'xl', '2xl', '3xl', '4xl']; const maxRef = resolveStep('4xl').max * spaceScale; @@ -61,7 +70,7 @@ /** Spacing values at current vw for the container card preview. */ const cardSpacing = $derived.by(() => { const spaceScale = parseFloat(tokens.spacing?.space_scale ?? defaults.space_scale ?? 1) || 1; - const t = Math.max(0, Math.min(1, (vw - VW_MIN) / (VW_MAX - VW_MIN))); + const t = Math.max(0, Math.min(1, (vw - range.minPx) / (range.maxPx - range.minPx))); const resolve = (name) => { const { min, max } = resolveStep(name); return ((min + (max - min) * t) * spaceScale).toFixed(3); @@ -74,17 +83,17 @@

Live Scale Preview

- {VW_MIN}px + {range.minPx}px - {VW_MAX}px + {range.maxPx}px {vw}px
diff --git a/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/TypographyPreview.svelte b/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/TypographyPreview.svelte index b58aab4b..430c49dc 100644 --- a/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/TypographyPreview.svelte +++ b/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/TypographyPreview.svelte @@ -3,25 +3,37 @@ * Live fluid-type scale preview. * * Renders each size step at the interpolated font size for a given - * viewport width. The slider lets the user scrub between 320 px and - * 1440 px to watch the clamp() scale play out in real time. + * viewport width. The slider scrubs across the fluid viewport range. * * Formula mirrors class-css-generator.php build_clamp(): - * clamp(min, calc(slope * (100vw - 22.5rem) + min), max) - * where slope = (max - min) / (95 - 22.5) and VW_MIN/MAX = 360/1520px. + * clamp(min, calc(slope * (100vw - VW_MIN) + min), max) + * + * The VW_MIN/VW_MAX bounds are NOT owned here: they come from the + * Spacing tab's "Fluid Scale Viewport Range" via viewportRangePx(), the + * single source of truth the generated clamp() also uses. This keeps + * the Typography preview and the Spacing preview scrubbing the exact + * same range. * * Values are read from tokens.typography (user overrides) with * meta.defaults.typography.font_sizes as the fallback, so the preview * is always populated even before the user sets anything. */ - import { tokens, meta } from '../lib/stores.svelte.js'; + import { tokens, meta, viewportRangePx } from '../lib/stores.svelte.js'; const BASE_PX = 16; - const VW_MIN = 360; // 22.5rem × 16 — matches VIEWPORT_MIN in class-css-generator.php - const VW_MAX = 1520; // 95rem × 16 — matches VIEWPORT_MAX in class-css-generator.php + + /** Live viewport range (px) sourced from the Spacing viewport fields. */ + const range = $derived(viewportRangePx()); /** Viewport slider state — starts at desktop width. */ - let vw = $state(VW_MAX); + let vw = $state(viewportRangePx().maxPx); + + // Keep the slider value inside the (possibly edited) range so it never + // drifts out of bounds when the user changes Min/Max viewport. + $effect(() => { + if (vw < range.minPx) vw = range.minPx; + else if (vw > range.maxPx) vw = range.maxPx; + }); const defaults = meta.defaults?.typography ?? {}; const defaultSizes = defaults.font_sizes ?? {}; @@ -47,7 +59,7 @@ } const stepAt = $derived.by(() => { - const t = Math.max(0, Math.min(1, (vw - VW_MIN) / (VW_MAX - VW_MIN))); + const t = Math.max(0, Math.min(1, (vw - range.minPx) / (range.maxPx - range.minPx))); const steps = {}; for (const name of Object.keys(defaultSizes)) { @@ -185,17 +197,17 @@

Live Scale Preview

- {VW_MIN}px + {range.minPx}px - {VW_MAX}px + {range.maxPx}px {vw}px
diff --git a/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/TypographyTab.svelte b/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/TypographyTab.svelte index 87145db5..51bb9eda 100644 --- a/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/TypographyTab.svelte +++ b/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/components/TypographyTab.svelte @@ -77,7 +77,10 @@

Font Size Scale

Min and max values in rem for fluid type scaling via clamp(). - Leave both fields blank to use the framework defaults. + Leave both fields blank to use the framework defaults. The viewport range these + sizes interpolate across (and the range the Live Scale Preview above scrubs) is the + Fluid Scale Viewport Range set in the Spacing tab — + it's the shared source for both spacing and typography.

diff --git a/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/lib/stores.svelte.js b/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/lib/stores.svelte.js index 7eefdb2b..ec7f46e8 100644 --- a/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/lib/stores.svelte.js +++ b/plugins/SLASHED-for-WP/integrations/bricks/admin-app/src/lib/stores.svelte.js @@ -82,6 +82,46 @@ export function clearSection(section) { } } +/** + * Resolve the fluid viewport range, in pixels, used by every fluid + * `clamp()` formula the framework emits. + * + * The range is owned by the Spacing tab's "Fluid Scale Viewport Range" + * (`tokens.spacing.viewport_min` / `viewport_max`, stored in `rem`) and + * is the single source of truth shared by the Spacing and Typography + * live-scale previews — so the previewed scale always matches what the + * generated CSS would actually clamp between. Falls back to the PHP + * defaults (22.5rem → 95rem) when the user hasn't overridden them. + * + * Reading `tokens` here keeps the result reactive: callers that wrap a + * `$derived` around this recompute when the viewport fields change. + * + * @returns {{ minRem: number, maxRem: number, minPx: number, maxPx: number }} + */ +export function viewportRangePx() { + const sp = tokens.spacing ?? {}; + const def = meta.defaults?.spacing ?? {}; + + const read = (key, fallback) => { + const v = sp[key]; + const n = v !== undefined && v !== '' ? parseFloat(v) : parseFloat(def[key] ?? fallback); + return Number.isFinite(n) ? n : fallback; + }; + + const minRem = read('viewport_min', 22.5); + const maxRem = read('viewport_max', 95); + // Guard against an inverted/zero range so the previews never divide by + // zero or run the slider backwards while the user is mid-edit. + const safeMax = maxRem > minRem ? maxRem : minRem + 0.5; + + return { + minRem, + maxRem: safeMax, + minPx: Math.round(minRem * 16), + maxPx: Math.round(safeMax * 16), + }; +} + /** * Read a single field from a (possibly absent) section. * diff --git a/plugins/SLASHED-for-WP/integrations/bricks/assets/admin-app/app.css b/plugins/SLASHED-for-WP/integrations/bricks/assets/admin-app/app.css index f25e1b38..313ed36f 100644 --- a/plugins/SLASHED-for-WP/integrations/bricks/assets/admin-app/app.css +++ b/plugins/SLASHED-for-WP/integrations/bricks/assets/admin-app/app.css @@ -1 +1 @@ -.tab-nav.svelte-yyiz68{display:flex;gap:2px;border-bottom:1px solid #c3c4c7;flex-wrap:wrap}.tab-nav__btn.svelte-yyiz68{background:transparent;border:1px solid transparent;border-bottom:none;padding:8px 14px;cursor:pointer;font-size:14px;color:#2c3338;border-radius:4px 4px 0 0}.tab-nav__btn.svelte-yyiz68:hover{background:#f0f0f1}.tab-nav__btn.active.svelte-yyiz68{background:#fff;border-color:#c3c4c7;margin-bottom:-1px;color:#1d2327;font-weight:500}.row.svelte-1es83p3{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f0f0f1}.row.svelte-1es83p3:last-child{border-bottom:none}.row__label.svelte-1es83p3 label:where(.svelte-1es83p3){font-weight:500;display:block;color:#1d2327}.row__var.svelte-1es83p3{display:inline-block;margin-top:4px;background:#f6f7f7;padding:1px 6px;border-radius:3px;font-size:11px;color:#50575e}.row__inputs.svelte-1es83p3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row__swatch.svelte-1es83p3{width:28px;height:28px;border-radius:4px;border:1px solid #c3c4c7;flex-shrink:0}.row__hex.svelte-1es83p3{width:44px;height:28px;padding:0;border:1px solid #8c8f94;border-radius:3px;cursor:pointer;background:#fff}.row__hex-text.svelte-1es83p3{width:110px}.row__raw.svelte-1es83p3{flex:1;min-width:240px;font-family:ui-monospace,monospace}.row__toggle.svelte-1es83p3{background:transparent;border:none;color:#2271b1;cursor:pointer;padding:4px 8px;font-size:12px;text-decoration:underline}.row__toggle.svelte-1es83p3:hover{color:#135e96}.advanced-section.svelte-imklo1{margin-top:24px}.advanced-section__toggle.svelte-imklo1{background:none;border:none;color:#2271b1;font-size:13px;cursor:pointer;padding:6px 0;display:flex;align-items:center;gap:6px;font-weight:500}.advanced-section__toggle.svelte-imklo1:hover{text-decoration:underline}.advanced-section__body.svelte-imklo1{margin-top:12px}h2.svelte-1vle0rm{margin-top:0}.status-heading.svelte-1vle0rm,.dark-heading.svelte-1vle0rm{margin-top:24px}.hint.svelte-1vle0rm{color:#50575e;margin-bottom:16px;max-width:720px;font-size:13px}.hint.svelte-1vle0rm code:where(.svelte-1vle0rm){background:#f0f0f1;padding:1px 4px;border-radius:3px;font-size:11px}.rows.svelte-1vle0rm{border:1px solid #f0f0f1;border-radius:4px;padding:0 12px;background:#fcfcfd}.rows--dark.svelte-1vle0rm{background:#f8f8fc;border-color:#e2e4e9}.dark-toggle-section.svelte-1vle0rm{margin-top:24px;padding:14px 16px;background:#f6f7f7;border:1px solid #e0e0e0;border-radius:4px}.dark-toggle-row.svelte-1vle0rm{display:flex;align-items:center;gap:10px;margin-bottom:8px}.dark-toggle-btn.svelte-1vle0rm{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:0;font-size:13px;font-weight:600;color:#1d2327}.dark-toggle-btn__track.svelte-1vle0rm{position:relative;display:inline-block;width:36px;height:20px;background:#c3c4c7;border-radius:10px;transition:background .15s;flex-shrink:0}.dark-toggle-btn.on.svelte-1vle0rm .dark-toggle-btn__track:where(.svelte-1vle0rm){background:#2271b1}.dark-toggle-btn__thumb.svelte-1vle0rm{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:left .15s;box-shadow:0 1px 3px #0003}.dark-toggle-btn.on.svelte-1vle0rm .dark-toggle-btn__thumb:where(.svelte-1vle0rm){left:18px}.dark-toggle-status.svelte-1vle0rm{font-size:12px;color:#50575e}.dark-toggle-section.svelte-1vle0rm .hint:where(.svelte-1vle0rm){margin-bottom:0}.row.svelte-miyob8{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f0f0f1}.row.svelte-miyob8:last-child{border-bottom:none}.row__label.svelte-miyob8 label:where(.svelte-miyob8),.row__label-text.svelte-miyob8{font-weight:500;display:block;color:#1d2327}.row__var.svelte-miyob8{display:inline-block;margin-top:4px;background:#f6f7f7;padding:1px 6px;border-radius:3px;font-size:11px;color:#50575e}.row__inputs.svelte-miyob8{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row__desc.svelte-miyob8{flex-basis:100%;margin:4px 0 0;color:#50575e;font-size:12px}.text.mono.svelte-j8yw6l{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.font-field.svelte-ow2kvz{display:flex;flex-direction:column;gap:6px;width:420px}.source-tabs.svelte-ow2kvz{display:flex;gap:2px}.source-tab.svelte-ow2kvz{padding:3px 10px;font-size:11px;font-weight:500;border:1px solid #c3c4c7;background:#f6f7f7;color:#50575e;border-radius:3px;cursor:pointer;line-height:1.4}.source-tab.svelte-ow2kvz:hover{background:#f0f0f1}.source-tab--active.svelte-ow2kvz{background:#2271b1;border-color:#2271b1;color:#fff}.source-tab--disabled.svelte-ow2kvz{opacity:.45;cursor:default;pointer-events:none}.font-select.svelte-ow2kvz,.font-text.svelte-ow2kvz{width:100%;box-sizing:border-box;font-size:13px;padding:4px 8px;border:1px solid #c3c4c7;border-radius:3px;background:#fff;color:#1d2327;height:30px}.font-select.svelte-ow2kvz:focus,.font-text.svelte-ow2kvz:focus{outline:2px solid #2271b1;outline-offset:0;border-color:#2271b1}.bricks-empty.svelte-ow2kvz{font-size:12px;color:#50575e;margin:0;padding:6px 8px;border:1px dashed #c3c4c7;border-radius:3px;background:#f6f7f7;line-height:1.5}.font-preview.svelte-ow2kvz{font-size:15px;color:#1d2327;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 0}.unit.svelte-1pjh3bn{color:#50575e;font-size:12px}.typo-preview.svelte-10qc8pz{background:#fff;border:1px solid #c3c4c7;border-radius:4px;padding:16px 20px;margin-top:8px}.typo-preview__header.svelte-10qc8pz{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px}.typo-preview__title.svelte-10qc8pz{font-size:13px;font-weight:600;color:#1d2327;margin:0}.typo-preview__slider-wrap.svelte-10qc8pz{display:flex;align-items:center;gap:8px;font-size:12px;color:#50575e}.typo-preview__slider.svelte-10qc8pz{width:180px;cursor:pointer;accent-color:#2271b1}.typo-preview__vw-label.svelte-10qc8pz{min-width:58px;text-align:right;font-variant-numeric:tabular-nums;color:#1d2327;font-weight:500}.typo-preview__rows.svelte-10qc8pz{display:flex;flex-direction:column;gap:0}.typo-preview__row.svelte-10qc8pz{display:grid;grid-template-columns:52px 1fr 120px;align-items:baseline;gap:12px;padding:6px 0;border-bottom:1px solid #f0f0f1;overflow:hidden}.typo-preview__row.svelte-10qc8pz:last-child{border-bottom:none}.typo-preview__step-name.svelte-10qc8pz{font-size:11px;font-weight:600;color:#50575e;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.typo-preview__sample.svelte-10qc8pz{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1d2327;line-height:1.2}.typo-preview__meta.svelte-10qc8pz{font-size:10px;color:#787c82;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.typo-preview__group-heading.svelte-10qc8pz{font-size:11px;font-weight:600;color:#50575e;text-transform:uppercase;letter-spacing:.07em;margin:0 0 6px;padding:6px 0 4px;border-bottom:1px solid #f0f0f1}.typo-preview__rows--display.svelte-10qc8pz{margin-top:16px;padding-top:4px;border-top:2px solid #f0f0f1}.scale-gen.svelte-1y8fkhh{background:#f6f7f7;border:1px solid #c3c4c7;border-radius:4px;padding:14px 16px;margin-bottom:16px}.scale-gen__header.svelte-1y8fkhh{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;flex-wrap:wrap}.scale-gen__title.svelte-1y8fkhh{font-size:12px;font-weight:600;color:#1d2327;text-transform:uppercase;letter-spacing:.06em}.scale-gen__hint.svelte-1y8fkhh{font-size:12px;color:#787c82}.scale-gen__controls.svelte-1y8fkhh{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}.scale-gen__field.svelte-1y8fkhh{display:flex;flex-direction:column;gap:4px}.scale-gen__label.svelte-1y8fkhh{font-size:11px;color:#50575e;font-weight:500}.scale-gen__field.svelte-1y8fkhh input[type=number]:where(.svelte-1y8fkhh){width:68px;height:28px;border:1px solid #8c8f94;border-radius:3px;padding:0 6px;font-size:13px;background:#fff;color:#1d2327}.scale-gen__field.svelte-1y8fkhh select:where(.svelte-1y8fkhh){height:28px;border:1px solid #8c8f94;border-radius:3px;padding:0 4px;font-size:12px;background:#fff;color:#1d2327;cursor:pointer}.scale-gen__input-wrap.svelte-1y8fkhh{display:flex;align-items:center;gap:4px}.scale-gen__unit.svelte-1y8fkhh{font-size:11px;color:#787c82}.scale-gen__preview.svelte-1y8fkhh{display:flex;flex-wrap:wrap;gap:4px 12px;margin-bottom:12px}.scale-gen__step.svelte-1y8fkhh{display:flex;gap:4px;font-size:11px;color:#50575e;font-family:ui-monospace,monospace}.scale-gen__step.display.svelte-1y8fkhh{color:#2271b1}.scale-gen__step-name.svelte-1y8fkhh{font-weight:600;min-width:52px}.scale-gen__step-val.svelte-1y8fkhh{color:#787c82}.scale-gen__footer.svelte-1y8fkhh{display:flex;justify-content:flex-end}.scale-gen__apply.svelte-1y8fkhh{background:#2271b1;color:#fff;border:none;border-radius:3px;padding:6px 14px;font-size:13px;cursor:pointer}.scale-gen__apply.svelte-1y8fkhh:hover{background:#135e96}h2.svelte-743nsg{margin-top:0}.group-heading.svelte-743nsg{margin-top:24px}.hint.svelte-743nsg{color:#50575e;margin-bottom:16px;max-width:720px}.hint.svelte-743nsg code:where(.svelte-743nsg){background:#f0f0f1;padding:1px 5px;border-radius:3px;font-size:90%}.rows.svelte-743nsg{border:1px solid #f0f0f1;border-radius:4px;padding:0 12px;background:#fcfcfd}.size-row.svelte-743nsg{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f0f0f1}.size-row.svelte-743nsg:last-child{border-bottom:none}.size-row__name.svelte-743nsg{font-weight:500;color:#1d2327;display:block}.size-row__var.svelte-743nsg{display:inline-block;margin-top:4px;background:#f6f7f7;padding:1px 6px;border-radius:3px;font-size:11px;color:#50575e}.size-row__inputs.svelte-743nsg{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.size-row__inputs.svelte-743nsg .row{display:flex!important;grid-template-columns:none;gap:6px;padding:0;border:none;align-items:center}.size-row__inputs.svelte-743nsg .row__label-text,.size-row__inputs.svelte-743nsg .row__label label{font-weight:400;color:#50575e;font-size:12px}.spacing-preview.svelte-11lwg9t{background:#fff;border:1px solid #c3c4c7;border-radius:4px;padding:16px 20px;margin-top:16px}.spacing-preview__header.svelte-11lwg9t{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px}.spacing-preview__title.svelte-11lwg9t{font-size:13px;font-weight:600;color:#1d2327;margin:0}.spacing-preview__slider-wrap.svelte-11lwg9t{display:flex;align-items:center;gap:8px;font-size:12px;color:#50575e}.spacing-preview__slider.svelte-11lwg9t{width:180px;cursor:pointer;accent-color:#2271b1}.spacing-preview__vw-label.svelte-11lwg9t{min-width:58px;text-align:right;font-variant-numeric:tabular-nums;color:#1d2327;font-weight:500}.spacing-preview__rows.svelte-11lwg9t{display:flex;flex-direction:column;gap:6px}.spacing-preview__row.svelte-11lwg9t{display:grid;grid-template-columns:160px 1fr 70px;align-items:center;gap:12px}.spacing-preview__token.svelte-11lwg9t{font-family:monospace;font-size:11px;color:#50575e;white-space:nowrap}.spacing-preview__bar-wrap.svelte-11lwg9t{background:#f0f0f1;border-radius:2px;height:16px;overflow:hidden}.spacing-preview__bar.svelte-11lwg9t{height:100%;background:#2271b1;border-radius:2px;transition:width 80ms ease;min-width:2px}.spacing-preview__value.svelte-11lwg9t{font-size:11px;color:#787c82;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.spacing-preview__card-section.svelte-11lwg9t{margin-top:20px;padding-top:16px;border-top:1px solid #e9eaeb}.spacing-preview__card-label.svelte-11lwg9t{font-size:12px;font-weight:600;color:#50575e;margin:0 0 10px}.spacing-preview__card.svelte-11lwg9t{display:flex;flex-direction:column;background:#fff;border:1px solid #c3c4c7;border-radius:6px;max-width:320px;box-shadow:0 1px 4px #00000012}.spacing-preview__card-row.svelte-11lwg9t{display:flex;align-items:center}.spacing-preview__card-avatar.svelte-11lwg9t{width:32px;height:32px;border-radius:50%;background:#2271b1;flex-shrink:0}.spacing-preview__card-meta.svelte-11lwg9t{display:flex;flex-direction:column;gap:2px}.spacing-preview__card-title.svelte-11lwg9t{font-size:13px;font-weight:600;color:#1d2327;line-height:1.2}.spacing-preview__card-sub.svelte-11lwg9t{font-size:11px;color:#787c82;font-variant-numeric:tabular-nums}.spacing-preview__card-body.svelte-11lwg9t{font-size:12px;color:#50575e;line-height:1.5;padding:8px 0;border-top:1px dashed #e9eaeb;border-bottom:1px dashed #e9eaeb;font-variant-numeric:tabular-nums}.spacing-preview__card-footer.svelte-11lwg9t{display:flex;align-items:center;flex-wrap:wrap}.spacing-preview__card-tag.svelte-11lwg9t{background:#f0f0f1;color:#50575e;font-size:10px;font-weight:600;padding:2px 8px;border-radius:3px;white-space:nowrap}.spacing-preview__card-cta.svelte-11lwg9t{margin-left:auto;background:#2271b1;color:#fff;font-size:11px;font-weight:500;padding:4px 10px;border-radius:3px}h2.svelte-1sn1epc{margin-top:0}.group-heading.svelte-1sn1epc{margin-top:24px}.hint.svelte-1sn1epc{color:#50575e;margin-bottom:16px;max-width:720px}.hint.svelte-1sn1epc code:where(.svelte-1sn1epc){background:#f0f0f1;padding:1px 5px;border-radius:3px;font-size:90%}.rows.svelte-1sn1epc{border:1px solid #f0f0f1;border-radius:4px;padding:0 12px;background:#fcfcfd}.size-row.svelte-1sn1epc{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f0f0f1}.size-row.svelte-1sn1epc:last-child{border-bottom:none}.size-row__name.svelte-1sn1epc{font-weight:500;color:#1d2327;display:block}.size-row__var.svelte-1sn1epc{display:inline-block;margin-top:4px;background:#f6f7f7;padding:1px 6px;border-radius:3px;font-size:11px;color:#50575e}.size-row__inputs.svelte-1sn1epc{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.size-row__inputs.svelte-1sn1epc .row{display:flex!important;grid-template-columns:none;gap:6px;padding:0;border:none;align-items:center}.size-row__inputs.svelte-1sn1epc .row__label-text,.size-row__inputs.svelte-1sn1epc .row__label label{font-weight:400;color:#50575e;font-size:12px}.range.svelte-cifrt1{flex:1;min-width:160px;max-width:320px;accent-color:#2271b1}.number.svelte-cifrt1{width:90px}.unit.svelte-cifrt1{color:#50575e;font-size:12px}.select.svelte-r7dp44{min-width:160px}h2.svelte-ieamrv{margin-top:0}.group-heading.svelte-ieamrv{margin-top:24px}.hint.svelte-ieamrv{color:#50575e;margin-bottom:16px;max-width:720px;font-size:13px}.rows.svelte-ieamrv{border:1px solid #f0f0f1;border-radius:4px;padding:0 12px;background:#fcfcfd}.radius-preview.svelte-ieamrv{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;padding:16px;background:#fff;border:1px solid #c3c4c7;border-radius:4px}.radius-preview__item.svelte-ieamrv{display:flex;flex-direction:column;align-items:center;gap:6px}.radius-preview__swatch.svelte-ieamrv{width:40px;height:40px;background:#2271b1}.radius-preview__label.svelte-ieamrv{font-size:10px;color:#50575e;text-align:center}@keyframes svelte-ieamrv-slashed-mp-fill{0%{width:0}50%{width:100%}to{width:0}}.motion-preview.svelte-ieamrv{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:16px;background:#fff;border:1px solid #c3c4c7;border-radius:4px}.motion-preview__item.svelte-ieamrv{display:grid;grid-template-columns:60px 1fr 56px;align-items:center;gap:10px}.motion-preview__label.svelte-ieamrv{font-size:11px;font-weight:600;color:#50575e;text-align:right}.motion-preview__track.svelte-ieamrv{height:6px;background:#f0f0f1;border-radius:3px;overflow:hidden}.motion-preview__fill.svelte-ieamrv{height:100%;background:#2271b1;border-radius:3px;animation:svelte-ieamrv-slashed-mp-fill ease-in-out infinite}.motion-preview__ms.svelte-ieamrv{font-size:11px;color:#8c8f94;text-align:right;font-variant-numeric:tabular-nums}.focus-ring-preview.svelte-ieamrv{display:flex;align-items:center;gap:12px;margin-top:12px;padding:16px;background:#fff;border:1px solid #c3c4c7;border-radius:4px}.focus-ring-preview__btn.svelte-ieamrv{padding:7px 16px;border:1px solid #c3c4c7;border-radius:4px;background:#f0f0f1;color:#1d2327;cursor:pointer;font-size:13px}.focus-ring-preview__btn.svelte-ieamrv:focus-visible{outline-width:var(--fp-width, 2px);outline-offset:var(--fp-offset, 2px);outline-style:var(--fp-style, solid);outline-color:#2271b1}.focus-ring-preview__desc.svelte-ieamrv{font-size:12px;color:#50575e;font-family:monospace}.shadow-preview.svelte-ieamrv{display:flex;flex-wrap:wrap;gap:24px;margin-top:12px;padding:20px 16px;background:#fff;border:1px solid #c3c4c7;border-radius:4px}.shadow-preview__item.svelte-ieamrv{display:flex;flex-direction:column;align-items:center;gap:10px}.shadow-preview__card.svelte-ieamrv{width:60px;height:60px;background:#fff;border:1px solid #f0f0f1;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#50575e;border-radius:4px}h2.svelte-1nfz83c{margin-top:0}.hint.svelte-1nfz83c{color:#50575e;margin-bottom:16px;max-width:720px}.hint.svelte-1nfz83c code:where(.svelte-1nfz83c){background:#f0f0f1;padding:1px 6px;border-radius:3px;font-size:90%}.category.svelte-1nfz83c{border:1px solid #f0f0f1;border-radius:4px;margin-bottom:4px;background:#fcfcfd}.category__toggle.svelte-1nfz83c{all:unset;display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;cursor:pointer;font-size:14px;font-weight:500}.category__toggle.svelte-1nfz83c:hover{background:#f6f7f7}.category__toggle.svelte-1nfz83c:focus-visible{outline:2px solid #2271b1;outline-offset:2px;border-radius:4px}.category__arrow.svelte-1nfz83c{font-size:10px;width:14px;text-align:center}.category__count.svelte-1nfz83c{color:#787c82;font-weight:400;font-size:13px}.category__list.svelte-1nfz83c{list-style:none;margin:0;padding:0 12px 12px 34px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px}.category__list.svelte-1nfz83c li:where(.svelte-1nfz83c) code:where(.svelte-1nfz83c){font-size:12px;background:#f0f0f1;padding:2px 6px;border-radius:3px;word-break:break-all}h2.svelte-1yljizh{margin-top:0}.hint.svelte-1yljizh{color:#50575e;margin-bottom:16px;max-width:720px}.category.svelte-1yljizh{border:1px solid #f0f0f1;border-radius:4px;margin-bottom:4px;background:#fcfcfd}.category__toggle.svelte-1yljizh{all:unset;display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;cursor:pointer;font-size:14px;font-weight:500}.category__toggle.svelte-1yljizh:hover{background:#f6f7f7}.category__toggle.svelte-1yljizh:focus-visible{outline:2px solid #2271b1;outline-offset:2px;border-radius:4px}.category__arrow.svelte-1yljizh{font-size:10px;width:14px;text-align:center}.category__count.svelte-1yljizh{color:#787c82;font-weight:400;font-size:13px}.category__list.svelte-1yljizh{list-style:none;margin:0;padding:0 12px 12px 34px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px}.category__list.svelte-1yljizh li:where(.svelte-1yljizh) code:where(.svelte-1yljizh){font-size:12px;background:#f0f0f1;padding:2px 6px;border-radius:3px}h2.svelte-13231hj{margin-top:0}.settings-heading.svelte-13231hj{margin-top:24px}.hint.svelte-13231hj{color:#50575e;margin-bottom:16px;max-width:720px}.info.svelte-13231hj{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin-bottom:24px;font-size:14px}.info.svelte-13231hj dt:where(.svelte-13231hj){font-weight:500}.info.svelte-13231hj dd:where(.svelte-13231hj){margin:0;color:#50575e}.setting-row.svelte-13231hj{margin-bottom:20px}.setting-row.svelte-13231hj label:where(.svelte-13231hj){display:block;font-weight:500;margin-bottom:6px}.setting-row.svelte-13231hj select:where(.svelte-13231hj){padding:6px 10px;border:1px solid #8c8f94;border-radius:4px;font-size:14px}.description.svelte-13231hj{color:#50575e;font-size:13px;margin-top:6px}.field-row.svelte-13231hj{margin-bottom:20px}.field-row--muted.svelte-13231hj{opacity:.55}.toggle-label.svelte-13231hj{display:flex;align-items:center;gap:6px;font-weight:500;cursor:pointer}.muted-label.svelte-13231hj{display:flex;align-items:center;gap:6px;font-weight:500}.badge.svelte-13231hj{font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;text-transform:uppercase;letter-spacing:.04em}.badge--bricks.svelte-13231hj{background:#f0f4ff;color:#2563eb;border:1px solid #bfdbfe}.save-row.svelte-13231hj{display:flex;align-items:center;gap:12px;margin-top:16px}.save-btn.svelte-13231hj{background:#2271b1;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500}.save-btn.svelte-13231hj:hover{background:#135e96}.save-btn.svelte-13231hj:disabled{opacity:.6;cursor:not-allowed}.status.svelte-13231hj{font-size:13px;font-weight:500}.status--ok.svelte-13231hj{color:#00a32a}.status--err.svelte-13231hj{color:#d63638}code.svelte-13231hj{background:#f0f0f1;padding:1px 4px;border-radius:3px;font-size:12px}h2.svelte-19399h6{margin-top:0}.hint.svelte-19399h6{color:#50575e;max-width:720px;margin-bottom:20px}.card.svelte-19399h6{border:1px solid #c3c4c7;border-radius:4px;padding:16px 20px;margin-bottom:16px}.card--info.svelte-19399h6{background:#f6f7f7}.card.svelte-19399h6 h3:where(.svelte-19399h6){margin:0 0 6px;font-size:14px}.card-desc.svelte-19399h6{color:#50575e;font-size:13px;margin:0 0 12px;max-width:640px}.action-row.svelte-19399h6{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn.svelte-19399h6{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500}.btn.svelte-19399h6:disabled{opacity:.6;cursor:not-allowed}.btn--primary.svelte-19399h6{background:#2271b1;color:#fff}.btn--primary.svelte-19399h6:hover:not(:disabled){background:#135e96}.btn--secondary.svelte-19399h6{background:#f0f0f1;color:#2c3338;border:1px solid #8c8f94}.btn--secondary.svelte-19399h6:hover:not(:disabled){background:#e0e0e0}.file-input.svelte-19399h6{font-size:13px}.status.svelte-19399h6{font-size:13px;font-weight:500}.status--ok.svelte-19399h6{color:#00a32a}.status--err.svelte-19399h6{color:#d63638}.steps.svelte-19399h6{margin:8px 0 0;padding-left:20px;font-size:13px;line-height:1.6;color:#2c3338}.steps.svelte-19399h6 li:where(.svelte-19399h6){margin-bottom:8px}.steps.svelte-19399h6 li:where(.svelte-19399h6):last-child{margin-bottom:0}code.svelte-19399h6{background:#f0f0f1;padding:1px 4px;border-radius:3px;font-size:12px}h2.svelte-a36hjt{margin-top:0}.hint.svelte-a36hjt{color:#50575e;margin-bottom:20px;max-width:720px}.group.svelte-a36hjt{border:1px solid #e2e4e7;border-radius:6px;padding:16px;margin-bottom:20px}.group--inactive.svelte-a36hjt{opacity:.6}.group-header.svelte-a36hjt{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.group-title.svelte-a36hjt{font-weight:600;font-size:13px;color:#1d2327}.badge.svelte-a36hjt{font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;text-transform:uppercase;letter-spacing:.04em}.badge--bricks.svelte-a36hjt{background:#f0f4ff;color:#2563eb;border:1px solid #bfdbfe}.inactive-notice.svelte-a36hjt{font-size:12px;color:#8c8f94;font-style:italic;flex-basis:100%;margin-top:2px}.hook.svelte-a36hjt{border:1px solid #f0f0f1;border-radius:4px;padding:16px;margin-bottom:12px;background:#fcfcfd}.hook.svelte-a36hjt:last-child{margin-bottom:0}.hook__name.svelte-a36hjt{margin:0 0 8px;font-size:14px}.hook__name.svelte-a36hjt code:where(.svelte-a36hjt){background:#e7e8ea;padding:3px 8px;border-radius:3px;font-size:13px}.hook__desc.svelte-a36hjt{margin:0 0 8px;color:#1d2327;font-size:14px}.hook__params.svelte-a36hjt{margin:0 0 12px;font-size:13px;color:#50575e}.hook__params.svelte-a36hjt code:where(.svelte-a36hjt){background:#f0f0f1;padding:1px 4px;border-radius:2px;font-size:12px}.hook__example.svelte-a36hjt{margin:0;padding:12px;background:#1d2327;color:#e4e6e8;border-radius:4px;overflow-x:auto;font-size:12px;line-height:1.5}.hook__example.svelte-a36hjt code:where(.svelte-a36hjt){background:none;padding:0;color:inherit}.cheatsheet.svelte-osej3t{display:flex;flex-direction:column;gap:16px}.cheatsheet__header.svelte-osej3t h2:where(.svelte-osej3t){margin:0 0 4px;font-size:18px}.cheatsheet__counts.svelte-osej3t{margin:0;font-size:13px;color:#50575e}.cheatsheet__controls.svelte-osej3t{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.cheatsheet__search.svelte-osej3t{flex:1;min-width:200px;padding:6px 10px;border:1px solid #c3c4c7;border-radius:4px;font-size:13px}.cheatsheet__search.svelte-osej3t:focus{border-color:#2271b1;outline:none;box-shadow:0 0 0 1px #2271b1}.cheatsheet__view-toggle.svelte-osej3t{display:flex;gap:0}.cheatsheet__view-toggle.svelte-osej3t button:where(.svelte-osej3t){padding:5px 12px;border:1px solid #c3c4c7;background:#fff;font-size:12px;cursor:pointer;color:#50575e}.cheatsheet__view-toggle.svelte-osej3t button:where(.svelte-osej3t):first-child{border-radius:3px 0 0 3px}.cheatsheet__view-toggle.svelte-osej3t button:where(.svelte-osej3t):last-child{border-radius:0 3px 3px 0}.cheatsheet__view-toggle.svelte-osej3t button:where(.svelte-osej3t):not(:first-child){border-left:none}.cheatsheet__view-toggle.svelte-osej3t button.active:where(.svelte-osej3t){background:#2271b1;border-color:#2271b1;color:#fff}.cheatsheet__section.svelte-osej3t{display:flex;flex-direction:column;gap:8px}.cheatsheet__section-title.svelte-osej3t{font-size:15px;margin:8px 0 0;padding-bottom:6px;border-bottom:1px solid #e2e4e7}.cheatsheet__group.svelte-osej3t{border:1px solid #e2e4e7;border-radius:4px;overflow:hidden}.cheatsheet__group-header.svelte-osej3t{padding:8px 12px;background:#f6f7f7;cursor:pointer;font-size:13px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.cheatsheet__group-header.svelte-osej3t::-webkit-details-marker{margin-right:4px}.cheatsheet__group-desc.svelte-osej3t{font-size:12px;color:#646970;font-weight:400}.cheatsheet__list.svelte-osej3t{list-style:none;margin:0;padding:0}.cheatsheet__item.svelte-osej3t{display:flex;align-items:baseline;gap:12px;padding:5px 12px;border-top:1px solid #f0f0f1;font-size:12px;line-height:1.5}.cheatsheet__item.svelte-osej3t:first-child{border-top:1px solid #e2e4e7}.cheatsheet__name.svelte-osej3t{flex-shrink:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:11.5px;background:#f0f0f1;padding:1px 5px;border-radius:3px;color:#1e1e1e;white-space:nowrap}.cheatsheet__desc.svelte-osej3t{color:#50575e;font-size:12px}.cheatsheet__empty.svelte-osej3t{text-align:center;color:#646970;padding:32px 16px;font-style:italic}h2.svelte-1n4yog1{margin-top:0}h3.svelte-1n4yog1{margin:0 0 8px;font-size:14px}.grid-heading.svelte-1n4yog1{margin:24px 0 4px}.hint.svelte-1n4yog1{color:#50575e;margin-bottom:16px;max-width:720px}.picker.svelte-1n4yog1{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:start;margin-bottom:8px}.picker__col.svelte-1n4yog1{display:flex;flex-direction:column;gap:8px}.picker__heading.svelte-1n4yog1{font-size:13px;font-weight:600;color:#1d2327}.swatch-strip.svelte-1n4yog1{display:flex;flex-wrap:wrap;gap:6px}.swatch-btn.svelte-1n4yog1{width:32px;height:32px;border-radius:4px;border:2px solid transparent;cursor:pointer;padding:0;flex-shrink:0;transition:transform 80ms}.swatch-btn.svelte-1n4yog1:hover{transform:scale(1.12)}.swatch-btn--active.svelte-1n4yog1{border-color:#1d2327;box-shadow:0 0 0 2px #fff,0 0 0 4px #1d2327}.picker__selected.svelte-1n4yog1{display:flex;align-items:center;gap:6px;font-size:13px;color:#50575e}.swatch-dot.svelte-1n4yog1{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.15);display:inline-block;flex-shrink:0}.result.svelte-1n4yog1{min-width:160px;border:1px solid rgba(0,0,0,.12);border-radius:6px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;align-self:stretch;justify-content:center}.result__sample.svelte-1n4yog1{font-size:48px;font-weight:700;line-height:1}.result__ratio.svelte-1n4yog1{font-size:22px;font-weight:700;color:#1d2327;background:#ffffffbf;padding:2px 8px;border-radius:3px}.result__badges.svelte-1n4yog1{display:flex;flex-direction:column;gap:4px;width:100%}.result__badge-row.svelte-1n4yog1{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#ffffffbf;padding:3px 8px;border-radius:3px}.badge-label.svelte-1n4yog1{font-size:11px;color:#50575e}.badge.svelte-1n4yog1{font-size:11px;font-weight:700;padding:1px 6px;border-radius:3px;white-space:nowrap}.badge--aaa.svelte-1n4yog1{background:#00a32a;color:#fff}.badge--aa.svelte-1n4yog1{background:#2271b1;color:#fff}.badge--aa-large.svelte-1n4yog1{background:#dba617;color:#fff}.badge--fail.svelte-1n4yog1{background:#d63638;color:#fff}.result__thresholds.svelte-1n4yog1{font-size:10px;color:#787c82;background:#ffffffb3;padding:2px 6px;border-radius:3px;text-align:center}.result__empty.svelte-1n4yog1{font-size:13px;color:#787c82;text-align:center}.grid-wrap.svelte-1n4yog1{overflow-x:auto;margin-bottom:12px}.contrast-grid.svelte-1n4yog1{border-collapse:collapse;font-size:11px}.grid-corner.svelte-1n4yog1{width:28px;height:28px}.grid-col-header.svelte-1n4yog1,.grid-row-header.svelte-1n4yog1{padding:2px;text-align:center}.grid-swatch.svelte-1n4yog1{display:block;width:22px;height:22px;border-radius:3px;border:1px solid rgba(0,0,0,.12)}.grid-cell.svelte-1n4yog1{width:44px;height:36px;text-align:center;vertical-align:middle;border:1px solid rgba(0,0,0,.06);cursor:pointer;transition:opacity 80ms;position:relative}.grid-cell.svelte-1n4yog1:hover:not(.grid-cell--same){opacity:.8;outline:2px solid #2271b1}.grid-cell--active.svelte-1n4yog1{outline:2px solid #1d2327!important}.grid-cell--same.svelte-1n4yog1{background:#f0f0f1;cursor:default}.grid-cell--aaa.svelte-1n4yog1{background:#d8f5e0}.grid-cell--aa.svelte-1n4yog1{background:#d8e9f7}.grid-cell--aa-large.svelte-1n4yog1{background:#fdf2d0}.grid-cell--fail.svelte-1n4yog1{background:#fde8e8}.cell-ratio.svelte-1n4yog1{font-size:10px;font-weight:600;color:#1d2327}.cell-ratio--dash.svelte-1n4yog1{color:#a7aaad}.legend.svelte-1n4yog1{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:#50575e}.legend-item.svelte-1n4yog1{display:flex;align-items:center;gap:5px}.legend-dot.svelte-1n4yog1{width:12px;height:12px;border-radius:2px;display:inline-block}.legend-dot--aaa.svelte-1n4yog1{background:#d8f5e0;border:1px solid #00a32a}.legend-dot--aa.svelte-1n4yog1{background:#d8e9f7;border:1px solid #2271b1}.legend-dot--aa-large.svelte-1n4yog1{background:#fdf2d0;border:1px solid #dba617}.legend-dot--fail.svelte-1n4yog1{background:#fde8e8;border:1px solid #d63638}h2.svelte-1muixbu{margin-top:0}.group-heading.svelte-1muixbu{margin-top:24px}.hint.svelte-1muixbu{color:#50575e;margin-bottom:16px;max-width:720px;font-size:13px}.hint.svelte-1muixbu code:where(.svelte-1muixbu){background:#f0f0f1;padding:1px 4px;border-radius:3px;font-size:11px}.rows.svelte-1muixbu{border:1px solid #f0f0f1;border-radius:4px;padding:0 12px;background:#fcfcfd}.pair-row.svelte-1muixbu{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f0f0f1}.pair-row.svelte-1muixbu:last-child{border-bottom:none}.pair-row__label.svelte-1muixbu{font-weight:500;color:#1d2327;font-size:13px}.pair-row__inputs.svelte-1muixbu{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.pair-row__inputs.svelte-1muixbu .row{display:flex!important;grid-template-columns:none;gap:6px;padding:0;border:none;align-items:center}.pair-row__inputs.svelte-1muixbu .row__label-text,.pair-row__inputs.svelte-1muixbu .row__label label{font-weight:400;color:#50575e;font-size:12px}.slashed-preview.svelte-g79qke{background:#fff;border:1px solid #c3c4c7;border-radius:4px;padding:20px;margin-top:8px;transition:background .2s,color .2s}.slashed-preview.is-dark.svelte-g79qke{background:#1d2327;border-color:#3c434a;color:#f0f0f1}.slashed-preview__header.svelte-g79qke{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.slashed-preview__header.svelte-g79qke h3:where(.svelte-g79qke){margin:0}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__header:where(.svelte-g79qke) h3:where(.svelte-g79qke){color:#f0f0f1}.slashed-preview__mode-toggle.svelte-g79qke{display:flex;border:1px solid #c3c4c7;border-radius:4px;overflow:hidden}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__mode-toggle:where(.svelte-g79qke){border-color:#3c434a}.slashed-preview__mode-btn.svelte-g79qke{padding:4px 10px;font-size:12px;background:transparent;border:none;cursor:pointer;color:#50575e;line-height:1.4}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__mode-btn:where(.svelte-g79qke){color:#a7aaad}.slashed-preview__mode-btn.active.svelte-g79qke{background:#2271b1;color:#fff}.slashed-preview__mode-btn.svelte-g79qke+.slashed-preview__mode-btn:where(.svelte-g79qke){border-left:1px solid #c3c4c7}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__mode-btn:where(.svelte-g79qke)+.slashed-preview__mode-btn:where(.svelte-g79qke){border-left-color:#3c434a}.slashed-preview__type-heading.svelte-g79qke{font-family:var(--sf-font-heading, system-ui, sans-serif);margin:0 0 6px;font-size:20px;color:#1d2327}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__type-heading:where(.svelte-g79qke){color:#f0f0f1}.slashed-preview__type-body.svelte-g79qke{font-family:var(--sf-font-body, system-ui, sans-serif);color:#50575e;margin:0 0 14px;font-size:13px;line-height:1.5}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__type-body:where(.svelte-g79qke){color:#a7aaad}.slashed-preview__swatches.svelte-g79qke{display:flex;gap:8px;flex-wrap:wrap}.slashed-preview__swatch.svelte-g79qke{width:50px;height:50px;border-radius:var(--preview-radius-s, 4px);border:1px solid rgba(0,0,0,.1);display:flex;align-items:flex-end;justify-content:center;font-size:9px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);padding:3px}.slashed-preview__buttons.svelte-g79qke{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.slashed-preview__btn.svelte-g79qke{color:#fff;padding:7px 14px;border-radius:var(--preview-radius-s, 4px);font-size:13px;font-weight:500;border:none;cursor:default;display:inline-flex;align-items:center}.slashed-preview__btn--outline.svelte-g79qke{background:transparent!important;border:1.5px solid}.slashed-preview__btn--ghost.svelte-g79qke{background:transparent!important;border:none;color:#50575e}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__btn--ghost:where(.svelte-g79qke){color:#a7aaad}.slashed-preview__btn--sm.svelte-g79qke{padding:4px 10px;font-size:12px}.slashed-preview__card.svelte-g79qke{margin-top:14px;border:1px solid #e9eaeb;border-radius:var(--preview-radius-m, 8px);overflow:hidden;background:#fff;box-shadow:var(--preview-shadow)}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__card:where(.svelte-g79qke){background:#2c3338;border-color:#3c434a}.slashed-preview__card-accent.svelte-g79qke{height:4px}.slashed-preview__card-body.svelte-g79qke{padding:14px 16px;display:flex;flex-direction:column;gap:10px}.slashed-preview__card-top.svelte-g79qke{display:flex;align-items:center;gap:10px}.slashed-preview__card-avatar.svelte-g79qke{width:36px;height:36px;border-radius:50%;flex-shrink:0}.slashed-preview__card-title.svelte-g79qke{margin:0;font-size:14px;font-weight:600;color:#1d2327;line-height:1.3}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__card-title:where(.svelte-g79qke){color:#f0f0f1}.slashed-preview__card-sub.svelte-g79qke{margin:0;font-size:11px;color:#787c82;line-height:1.3}.slashed-preview__card-top.svelte-g79qke .slashed-preview__badge:where(.svelte-g79qke){margin-left:auto}.slashed-preview__card-text.svelte-g79qke{margin:0;font-size:12px;line-height:1.5;color:#50575e}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__card-text:where(.svelte-g79qke){color:#a7aaad}.slashed-preview__card-footer.svelte-g79qke{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:6px;border-top:1px solid #f0f0f1}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__card-footer:where(.svelte-g79qke){border-top-color:#3c434a}.slashed-preview__card-footer.svelte-g79qke .slashed-preview__btn--sm:where(.svelte-g79qke){margin-left:auto}.slashed-preview__badge.svelte-g79qke{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--preview-radius-l, 16px);font-size:10px;font-weight:600;color:#fff;white-space:nowrap}.slashed-preview__caption.svelte-g79qke{margin-top:16px;color:#50575e;font-size:12px;padding-top:12px;border-top:1px solid #e9eaeb}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__caption:where(.svelte-g79qke){color:#a7aaad;border-top-color:#3c434a}.slashed-preview__caption.svelte-g79qke code:where(.svelte-g79qke){display:block;background:#f6f7f7;padding:8px;border-radius:3px;margin-top:4px;white-space:pre-wrap;font-size:11px;max-height:120px;overflow:auto}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__caption:where(.svelte-g79qke) code:where(.svelte-g79qke){background:#1d2327;color:#a7aaad}.bar.svelte-1oj49qa{position:fixed;bottom:0;left:160px;right:0;background:#fff;border-top:2px solid #c3c4c7;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:100;transition:border-color .15s}.bar.dirty.svelte-1oj49qa{border-top-color:#2271b1}.bar__status.svelte-1oj49qa{font-size:13px}.bar__dirty.svelte-1oj49qa{color:#2271b1;font-weight:500}.bar__pending.svelte-1oj49qa{color:#50575e}.bar__saved.svelte-1oj49qa{color:#00a32a;font-weight:500}.bar__clean.svelte-1oj49qa{color:#50575e}.bar__error.svelte-1oj49qa{color:#d63638;font-weight:500}.bar__actions.svelte-1oj49qa{display:flex;gap:8px}.bar__save.svelte-1oj49qa,.bar__reset.svelte-1oj49qa{padding:6px 14px;border-radius:3px;border:1px solid #2271b1;background:#fff;color:#2271b1;cursor:pointer;font-size:13px}.bar__save.svelte-1oj49qa{background:#2271b1;color:#fff}.bar__save.svelte-1oj49qa:disabled,.bar__reset.svelte-1oj49qa:disabled{opacity:.5;cursor:not-allowed}.bar__reset.svelte-1oj49qa{border-color:#d63638;color:#d63638}.bar__export.svelte-1oj49qa{padding:6px 14px;border-radius:3px;border:1px solid #2271b1;background:#fff;color:#2271b1;cursor:pointer;font-size:13px}.bar__export.svelte-1oj49qa:disabled{opacity:.5;cursor:not-allowed}@media(max-width:782px){.bar.svelte-1oj49qa{left:0}}.slashed-svelte-admin.svelte-1n46o8q{--gap: 16px;display:flex;flex-direction:column;gap:var(--gap);max-width:1100px;padding-bottom:80px}.slashed-svelte-admin__header-top.svelte-1n46o8q{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.slashed-svelte-admin__header.svelte-1n46o8q h1:where(.svelte-1n46o8q){margin:0}.slashed-svelte-admin__versions.svelte-1n46o8q{display:flex;gap:6px;flex-wrap:wrap}.version-pill.svelte-1n46o8q{background:#f0f0f1;border:1px solid #c3c4c7;border-radius:3px;padding:2px 8px;font-size:11px;color:#50575e;font-family:ui-monospace,monospace;white-space:nowrap}.muted.svelte-1n46o8q{color:#50575e;margin:4px 0 0}.slashed-svelte-admin__body.svelte-1n46o8q{background:#fff;border:1px solid #c3c4c7;border-radius:4px;padding:20px} +.tab-nav.svelte-yyiz68{display:flex;gap:2px;border-bottom:1px solid #c3c4c7;flex-wrap:wrap}.tab-nav__btn.svelte-yyiz68{background:transparent;border:1px solid transparent;border-bottom:none;padding:8px 14px;cursor:pointer;font-size:14px;color:#2c3338;border-radius:4px 4px 0 0}.tab-nav__btn.svelte-yyiz68:hover{background:#f0f0f1}.tab-nav__btn.active.svelte-yyiz68{background:#fff;border-color:#c3c4c7;margin-bottom:-1px;color:#1d2327;font-weight:500}.row.svelte-1es83p3{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f0f0f1}.row.svelte-1es83p3:last-child{border-bottom:none}.row__label.svelte-1es83p3 label:where(.svelte-1es83p3){font-weight:500;display:block;color:#1d2327}.row__var.svelte-1es83p3{display:inline-block;margin-top:4px;background:#f6f7f7;padding:1px 6px;border-radius:3px;font-size:11px;color:#50575e}.row__inputs.svelte-1es83p3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row__swatch.svelte-1es83p3{width:28px;height:28px;border-radius:4px;border:1px solid #c3c4c7;flex-shrink:0}.row__hex.svelte-1es83p3{width:44px;height:28px;padding:0;border:1px solid #8c8f94;border-radius:3px;cursor:pointer;background:#fff}.row__hex-text.svelte-1es83p3{width:110px}.row__raw.svelte-1es83p3{flex:1;min-width:240px;font-family:ui-monospace,monospace}.row__toggle.svelte-1es83p3{background:transparent;border:none;color:#2271b1;cursor:pointer;padding:4px 8px;font-size:12px;text-decoration:underline}.row__toggle.svelte-1es83p3:hover{color:#135e96}.advanced-section.svelte-imklo1{margin-top:24px}.advanced-section__toggle.svelte-imklo1{background:none;border:none;color:#2271b1;font-size:13px;cursor:pointer;padding:6px 0;display:flex;align-items:center;gap:6px;font-weight:500}.advanced-section__toggle.svelte-imklo1:hover{text-decoration:underline}.advanced-section__body.svelte-imklo1{margin-top:12px}h2.svelte-1vle0rm{margin-top:0}.status-heading.svelte-1vle0rm,.dark-heading.svelte-1vle0rm{margin-top:24px}.hint.svelte-1vle0rm{color:#50575e;margin-bottom:16px;max-width:720px;font-size:13px}.hint.svelte-1vle0rm code:where(.svelte-1vle0rm){background:#f0f0f1;padding:1px 4px;border-radius:3px;font-size:11px}.rows.svelte-1vle0rm{border:1px solid #f0f0f1;border-radius:4px;padding:0 12px;background:#fcfcfd}.rows--dark.svelte-1vle0rm{background:#f8f8fc;border-color:#e2e4e9}.dark-toggle-section.svelte-1vle0rm{margin-top:24px;padding:14px 16px;background:#f6f7f7;border:1px solid #e0e0e0;border-radius:4px}.dark-toggle-row.svelte-1vle0rm{display:flex;align-items:center;gap:10px;margin-bottom:8px}.dark-toggle-btn.svelte-1vle0rm{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:0;font-size:13px;font-weight:600;color:#1d2327}.dark-toggle-btn__track.svelte-1vle0rm{position:relative;display:inline-block;width:36px;height:20px;background:#c3c4c7;border-radius:10px;transition:background .15s;flex-shrink:0}.dark-toggle-btn.on.svelte-1vle0rm .dark-toggle-btn__track:where(.svelte-1vle0rm){background:#2271b1}.dark-toggle-btn__thumb.svelte-1vle0rm{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:left .15s;box-shadow:0 1px 3px #0003}.dark-toggle-btn.on.svelte-1vle0rm .dark-toggle-btn__thumb:where(.svelte-1vle0rm){left:18px}.dark-toggle-status.svelte-1vle0rm{font-size:12px;color:#50575e}.dark-toggle-section.svelte-1vle0rm .hint:where(.svelte-1vle0rm){margin-bottom:0}.row.svelte-miyob8{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f0f0f1}.row.svelte-miyob8:last-child{border-bottom:none}.row__label.svelte-miyob8 label:where(.svelte-miyob8),.row__label-text.svelte-miyob8{font-weight:500;display:block;color:#1d2327}.row__var.svelte-miyob8{display:inline-block;margin-top:4px;background:#f6f7f7;padding:1px 6px;border-radius:3px;font-size:11px;color:#50575e}.row__inputs.svelte-miyob8{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row__desc.svelte-miyob8{flex-basis:100%;margin:4px 0 0;color:#50575e;font-size:12px}.text.mono.svelte-j8yw6l{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.font-field.svelte-ow2kvz{display:flex;flex-direction:column;gap:6px;width:420px}.source-tabs.svelte-ow2kvz{display:flex;gap:2px}.source-tab.svelte-ow2kvz{padding:3px 10px;font-size:11px;font-weight:500;border:1px solid #c3c4c7;background:#f6f7f7;color:#50575e;border-radius:3px;cursor:pointer;line-height:1.4}.source-tab.svelte-ow2kvz:hover{background:#f0f0f1}.source-tab--active.svelte-ow2kvz{background:#2271b1;border-color:#2271b1;color:#fff}.source-tab--disabled.svelte-ow2kvz{opacity:.45;cursor:default;pointer-events:none}.font-select.svelte-ow2kvz,.font-text.svelte-ow2kvz{width:100%;box-sizing:border-box;font-size:13px;padding:4px 8px;border:1px solid #c3c4c7;border-radius:3px;background:#fff;color:#1d2327;height:30px}.font-select.svelte-ow2kvz:focus,.font-text.svelte-ow2kvz:focus{outline:2px solid #2271b1;outline-offset:0;border-color:#2271b1}.bricks-empty.svelte-ow2kvz{font-size:12px;color:#50575e;margin:0;padding:6px 8px;border:1px dashed #c3c4c7;border-radius:3px;background:#f6f7f7;line-height:1.5}.font-preview.svelte-ow2kvz{font-size:15px;color:#1d2327;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 0}.unit.svelte-1pjh3bn{color:#50575e;font-size:12px}.typo-preview.svelte-10qc8pz{background:#fff;border:1px solid #c3c4c7;border-radius:4px;padding:16px 20px;margin-top:8px}.typo-preview__header.svelte-10qc8pz{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px}.typo-preview__title.svelte-10qc8pz{font-size:13px;font-weight:600;color:#1d2327;margin:0}.typo-preview__slider-wrap.svelte-10qc8pz{display:flex;align-items:center;gap:8px;font-size:12px;color:#50575e}.typo-preview__slider.svelte-10qc8pz{width:180px;cursor:pointer;accent-color:#2271b1}.typo-preview__vw-label.svelte-10qc8pz{min-width:58px;text-align:right;font-variant-numeric:tabular-nums;color:#1d2327;font-weight:500}.typo-preview__rows.svelte-10qc8pz{display:flex;flex-direction:column;gap:0}.typo-preview__row.svelte-10qc8pz{display:grid;grid-template-columns:52px 1fr 120px;align-items:baseline;gap:12px;padding:6px 0;border-bottom:1px solid #f0f0f1;overflow:hidden}.typo-preview__row.svelte-10qc8pz:last-child{border-bottom:none}.typo-preview__step-name.svelte-10qc8pz{font-size:11px;font-weight:600;color:#50575e;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.typo-preview__sample.svelte-10qc8pz{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1d2327;line-height:1.2}.typo-preview__meta.svelte-10qc8pz{font-size:10px;color:#787c82;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.typo-preview__group-heading.svelte-10qc8pz{font-size:11px;font-weight:600;color:#50575e;text-transform:uppercase;letter-spacing:.07em;margin:0 0 6px;padding:6px 0 4px;border-bottom:1px solid #f0f0f1}.typo-preview__rows--display.svelte-10qc8pz{margin-top:16px;padding-top:4px;border-top:2px solid #f0f0f1}.scale-gen.svelte-1y8fkhh{background:#f6f7f7;border:1px solid #c3c4c7;border-radius:4px;padding:14px 16px;margin-bottom:16px}.scale-gen__header.svelte-1y8fkhh{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;flex-wrap:wrap}.scale-gen__title.svelte-1y8fkhh{font-size:12px;font-weight:600;color:#1d2327;text-transform:uppercase;letter-spacing:.06em}.scale-gen__hint.svelte-1y8fkhh{font-size:12px;color:#787c82}.scale-gen__controls.svelte-1y8fkhh{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}.scale-gen__field.svelte-1y8fkhh{display:flex;flex-direction:column;gap:4px}.scale-gen__label.svelte-1y8fkhh{font-size:11px;color:#50575e;font-weight:500}.scale-gen__field.svelte-1y8fkhh input[type=number]:where(.svelte-1y8fkhh){width:68px;height:28px;border:1px solid #8c8f94;border-radius:3px;padding:0 6px;font-size:13px;background:#fff;color:#1d2327}.scale-gen__field.svelte-1y8fkhh select:where(.svelte-1y8fkhh){height:28px;border:1px solid #8c8f94;border-radius:3px;padding:0 4px;font-size:12px;background:#fff;color:#1d2327;cursor:pointer}.scale-gen__input-wrap.svelte-1y8fkhh{display:flex;align-items:center;gap:4px}.scale-gen__unit.svelte-1y8fkhh{font-size:11px;color:#787c82}.scale-gen__preview.svelte-1y8fkhh{display:flex;flex-wrap:wrap;gap:4px 12px;margin-bottom:12px}.scale-gen__step.svelte-1y8fkhh{display:flex;gap:4px;font-size:11px;color:#50575e;font-family:ui-monospace,monospace}.scale-gen__step.display.svelte-1y8fkhh{color:#2271b1}.scale-gen__step-name.svelte-1y8fkhh{font-weight:600;min-width:52px}.scale-gen__step-val.svelte-1y8fkhh{color:#787c82}.scale-gen__footer.svelte-1y8fkhh{display:flex;justify-content:flex-end}.scale-gen__apply.svelte-1y8fkhh{background:#2271b1;color:#fff;border:none;border-radius:3px;padding:6px 14px;font-size:13px;cursor:pointer}.scale-gen__apply.svelte-1y8fkhh:hover{background:#135e96}h2.svelte-743nsg{margin-top:0}.group-heading.svelte-743nsg{margin-top:24px}.hint.svelte-743nsg{color:#50575e;margin-bottom:16px;max-width:720px}.hint.svelte-743nsg code:where(.svelte-743nsg){background:#f0f0f1;padding:1px 5px;border-radius:3px;font-size:90%}.rows.svelte-743nsg{border:1px solid #f0f0f1;border-radius:4px;padding:0 12px;background:#fcfcfd}.size-row.svelte-743nsg{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f0f0f1}.size-row.svelte-743nsg:last-child{border-bottom:none}.size-row__name.svelte-743nsg{font-weight:500;color:#1d2327;display:block}.size-row__var.svelte-743nsg{display:inline-block;margin-top:4px;background:#f6f7f7;padding:1px 6px;border-radius:3px;font-size:11px;color:#50575e}.size-row__inputs.svelte-743nsg{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.size-row__inputs.svelte-743nsg .row{display:flex!important;grid-template-columns:none;gap:6px;padding:0;border:none;align-items:center}.size-row__inputs.svelte-743nsg .row__label-text,.size-row__inputs.svelte-743nsg .row__label label{font-weight:400;color:#50575e;font-size:12px}.spacing-preview.svelte-11lwg9t{background:#fff;border:1px solid #c3c4c7;border-radius:4px;padding:16px 20px;margin-top:16px}.spacing-preview__header.svelte-11lwg9t{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px}.spacing-preview__title.svelte-11lwg9t{font-size:13px;font-weight:600;color:#1d2327;margin:0}.spacing-preview__slider-wrap.svelte-11lwg9t{display:flex;align-items:center;gap:8px;font-size:12px;color:#50575e}.spacing-preview__slider.svelte-11lwg9t{width:180px;cursor:pointer;accent-color:#2271b1}.spacing-preview__vw-label.svelte-11lwg9t{min-width:58px;text-align:right;font-variant-numeric:tabular-nums;color:#1d2327;font-weight:500}.spacing-preview__rows.svelte-11lwg9t{display:flex;flex-direction:column;gap:6px}.spacing-preview__row.svelte-11lwg9t{display:grid;grid-template-columns:160px 1fr 70px;align-items:center;gap:12px}.spacing-preview__token.svelte-11lwg9t{font-family:monospace;font-size:11px;color:#50575e;white-space:nowrap}.spacing-preview__bar-wrap.svelte-11lwg9t{background:#f0f0f1;border-radius:2px;height:16px;overflow:hidden}.spacing-preview__bar.svelte-11lwg9t{height:100%;background:#2271b1;border-radius:2px;transition:width 80ms ease;min-width:2px}.spacing-preview__value.svelte-11lwg9t{font-size:11px;color:#787c82;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.spacing-preview__card-section.svelte-11lwg9t{margin-top:20px;padding-top:16px;border-top:1px solid #e9eaeb}.spacing-preview__card-label.svelte-11lwg9t{font-size:12px;font-weight:600;color:#50575e;margin:0 0 10px}.spacing-preview__card.svelte-11lwg9t{display:flex;flex-direction:column;background:#fff;border:1px solid #c3c4c7;border-radius:6px;max-width:320px;box-shadow:0 1px 4px #00000012}.spacing-preview__card-row.svelte-11lwg9t{display:flex;align-items:center}.spacing-preview__card-avatar.svelte-11lwg9t{width:32px;height:32px;border-radius:50%;background:#2271b1;flex-shrink:0}.spacing-preview__card-meta.svelte-11lwg9t{display:flex;flex-direction:column;gap:2px}.spacing-preview__card-title.svelte-11lwg9t{font-size:13px;font-weight:600;color:#1d2327;line-height:1.2}.spacing-preview__card-sub.svelte-11lwg9t{font-size:11px;color:#787c82;font-variant-numeric:tabular-nums}.spacing-preview__card-body.svelte-11lwg9t{font-size:12px;color:#50575e;line-height:1.5;padding:8px 0;border-top:1px dashed #e9eaeb;border-bottom:1px dashed #e9eaeb;font-variant-numeric:tabular-nums}.spacing-preview__card-footer.svelte-11lwg9t{display:flex;align-items:center;flex-wrap:wrap}.spacing-preview__card-tag.svelte-11lwg9t{background:#f0f0f1;color:#50575e;font-size:10px;font-weight:600;padding:2px 8px;border-radius:3px;white-space:nowrap}.spacing-preview__card-cta.svelte-11lwg9t{margin-left:auto;background:#2271b1;color:#fff;font-size:11px;font-weight:500;padding:4px 10px;border-radius:3px}h2.svelte-1sn1epc{margin-top:0}.group-heading.svelte-1sn1epc{margin-top:24px}.hint.svelte-1sn1epc{color:#50575e;margin-bottom:16px;max-width:720px}.hint.svelte-1sn1epc code:where(.svelte-1sn1epc){background:#f0f0f1;padding:1px 5px;border-radius:3px;font-size:90%}.rows.svelte-1sn1epc{border:1px solid #f0f0f1;border-radius:4px;padding:0 12px;background:#fcfcfd}.size-row.svelte-1sn1epc{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f0f0f1}.size-row.svelte-1sn1epc:last-child{border-bottom:none}.size-row__name.svelte-1sn1epc{font-weight:500;color:#1d2327;display:block}.size-row__var.svelte-1sn1epc{display:inline-block;margin-top:4px;background:#f6f7f7;padding:1px 6px;border-radius:3px;font-size:11px;color:#50575e}.size-row__inputs.svelte-1sn1epc{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.size-row__inputs.svelte-1sn1epc .row{display:flex!important;grid-template-columns:none;gap:6px;padding:0;border:none;align-items:center}.size-row__inputs.svelte-1sn1epc .row__label-text,.size-row__inputs.svelte-1sn1epc .row__label label{font-weight:400;color:#50575e;font-size:12px}.range.svelte-cifrt1{flex:1;min-width:160px;max-width:320px;accent-color:#2271b1}.number.svelte-cifrt1{width:90px}.unit.svelte-cifrt1{color:#50575e;font-size:12px}.select.svelte-r7dp44{min-width:160px}h2.svelte-ieamrv{margin-top:0}.group-heading.svelte-ieamrv{margin-top:24px}.hint.svelte-ieamrv{color:#50575e;margin-bottom:16px;max-width:720px;font-size:13px}.rows.svelte-ieamrv{border:1px solid #f0f0f1;border-radius:4px;padding:0 12px;background:#fcfcfd}.radius-preview.svelte-ieamrv{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;padding:16px;background:#fff;border:1px solid #c3c4c7;border-radius:4px}.radius-preview__item.svelte-ieamrv{display:flex;flex-direction:column;align-items:center;gap:6px}.radius-preview__swatch.svelte-ieamrv{width:40px;height:40px;background:#2271b1}.radius-preview__label.svelte-ieamrv{font-size:10px;color:#50575e;text-align:center}@keyframes svelte-ieamrv-slashed-mp-fill{0%{width:0}50%{width:100%}to{width:0}}.motion-preview.svelte-ieamrv{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:16px;background:#fff;border:1px solid #c3c4c7;border-radius:4px}.motion-preview__item.svelte-ieamrv{display:grid;grid-template-columns:60px 1fr 56px;align-items:center;gap:10px}.motion-preview__label.svelte-ieamrv{font-size:11px;font-weight:600;color:#50575e;text-align:right}.motion-preview__track.svelte-ieamrv{height:6px;background:#f0f0f1;border-radius:3px;overflow:hidden}.motion-preview__fill.svelte-ieamrv{height:100%;background:#2271b1;border-radius:3px;animation:svelte-ieamrv-slashed-mp-fill ease-in-out infinite}.motion-preview__ms.svelte-ieamrv{font-size:11px;color:#8c8f94;text-align:right;font-variant-numeric:tabular-nums}.focus-ring-preview.svelte-ieamrv{display:flex;align-items:center;gap:12px;margin-top:12px;padding:16px;background:#fff;border:1px solid #c3c4c7;border-radius:4px}.focus-ring-preview__btn.svelte-ieamrv{padding:7px 16px;border:1px solid #c3c4c7;border-radius:4px;background:#f0f0f1;color:#1d2327;cursor:pointer;font-size:13px}.focus-ring-preview__btn.svelte-ieamrv:focus-visible{outline-width:var(--fp-width, 2px);outline-offset:var(--fp-offset, 2px);outline-style:var(--fp-style, solid);outline-color:#2271b1}.focus-ring-preview__desc.svelte-ieamrv{font-size:12px;color:#50575e;font-family:monospace}.shadow-preview.svelte-ieamrv{display:flex;flex-wrap:wrap;gap:24px;margin-top:12px;padding:20px 16px;background:#fff;border:1px solid #c3c4c7;border-radius:4px}.shadow-preview__item.svelte-ieamrv{display:flex;flex-direction:column;align-items:center;gap:10px}.shadow-preview__card.svelte-ieamrv{width:60px;height:60px;background:#fff;border:1px solid #f0f0f1;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#50575e;border-radius:4px}h2.svelte-1nfz83c{margin-top:0}.hint.svelte-1nfz83c{color:#50575e;margin-bottom:16px;max-width:720px}.hint.svelte-1nfz83c code:where(.svelte-1nfz83c){background:#f0f0f1;padding:1px 6px;border-radius:3px;font-size:90%}.category.svelte-1nfz83c{border:1px solid #f0f0f1;border-radius:4px;margin-bottom:4px;background:#fcfcfd}.category__toggle.svelte-1nfz83c{all:unset;display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;cursor:pointer;font-size:14px;font-weight:500}.category__toggle.svelte-1nfz83c:hover{background:#f6f7f7}.category__toggle.svelte-1nfz83c:focus-visible{outline:2px solid #2271b1;outline-offset:2px;border-radius:4px}.category__arrow.svelte-1nfz83c{font-size:10px;width:14px;text-align:center}.category__count.svelte-1nfz83c{color:#787c82;font-weight:400;font-size:13px}.category__list.svelte-1nfz83c{list-style:none;margin:0;padding:0 12px 12px 34px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px}.category__list.svelte-1nfz83c li:where(.svelte-1nfz83c) code:where(.svelte-1nfz83c){font-size:12px;background:#f0f0f1;padding:2px 6px;border-radius:3px;word-break:break-all}h2.svelte-1yljizh{margin-top:0}.hint.svelte-1yljizh{color:#50575e;margin-bottom:16px;max-width:720px}.category.svelte-1yljizh{border:1px solid #f0f0f1;border-radius:4px;margin-bottom:4px;background:#fcfcfd}.category__toggle.svelte-1yljizh{all:unset;display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;cursor:pointer;font-size:14px;font-weight:500}.category__toggle.svelte-1yljizh:hover{background:#f6f7f7}.category__toggle.svelte-1yljizh:focus-visible{outline:2px solid #2271b1;outline-offset:2px;border-radius:4px}.category__arrow.svelte-1yljizh{font-size:10px;width:14px;text-align:center}.category__count.svelte-1yljizh{color:#787c82;font-weight:400;font-size:13px}.category__list.svelte-1yljizh{list-style:none;margin:0;padding:0 12px 12px 34px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px}.category__list.svelte-1yljizh li:where(.svelte-1yljizh) code:where(.svelte-1yljizh){font-size:12px;background:#f0f0f1;padding:2px 6px;border-radius:3px}h2.svelte-13231hj{margin-top:0}.settings-heading.svelte-13231hj{margin-top:24px}.hint.svelte-13231hj{color:#50575e;margin-bottom:16px;max-width:720px}.info.svelte-13231hj{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin-bottom:24px;font-size:14px}.info.svelte-13231hj dt:where(.svelte-13231hj){font-weight:500}.info.svelte-13231hj dd:where(.svelte-13231hj){margin:0;color:#50575e}.setting-row.svelte-13231hj{margin-bottom:20px}.setting-row.svelte-13231hj label:where(.svelte-13231hj){display:block;font-weight:500;margin-bottom:6px}.setting-row.svelte-13231hj select:where(.svelte-13231hj){padding:6px 10px;border:1px solid #8c8f94;border-radius:4px;font-size:14px}.description.svelte-13231hj{color:#50575e;font-size:13px;margin-top:6px}.field-row.svelte-13231hj{margin-bottom:20px}.field-row--muted.svelte-13231hj{opacity:.55}.toggle-label.svelte-13231hj{display:flex;align-items:center;gap:6px;font-weight:500;cursor:pointer}.muted-label.svelte-13231hj{display:flex;align-items:center;gap:6px;font-weight:500}.badge.svelte-13231hj{font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;text-transform:uppercase;letter-spacing:.04em}.badge--bricks.svelte-13231hj{background:#f0f4ff;color:#2563eb;border:1px solid #bfdbfe}.save-row.svelte-13231hj{display:flex;align-items:center;gap:12px;margin-top:16px}.save-btn.svelte-13231hj{background:#2271b1;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500}.save-btn.svelte-13231hj:hover{background:#135e96}.save-btn.svelte-13231hj:disabled{opacity:.6;cursor:not-allowed}.status.svelte-13231hj{font-size:13px;font-weight:500}.status--ok.svelte-13231hj{color:#00a32a}.status--err.svelte-13231hj{color:#d63638}code.svelte-13231hj{background:#f0f0f1;padding:1px 4px;border-radius:3px;font-size:12px}h2.svelte-19399h6{margin-top:0}.hint.svelte-19399h6{color:#50575e;max-width:720px;margin-bottom:20px}.card.svelte-19399h6{border:1px solid #c3c4c7;border-radius:4px;padding:16px 20px;margin-bottom:16px}.card--info.svelte-19399h6{background:#f6f7f7}.card.svelte-19399h6 h3:where(.svelte-19399h6){margin:0 0 6px;font-size:14px}.card-desc.svelte-19399h6{color:#50575e;font-size:13px;margin:0 0 12px;max-width:640px}.action-row.svelte-19399h6{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn.svelte-19399h6{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500}.btn.svelte-19399h6:disabled{opacity:.6;cursor:not-allowed}.btn--primary.svelte-19399h6{background:#2271b1;color:#fff}.btn--primary.svelte-19399h6:hover:not(:disabled){background:#135e96}.btn--secondary.svelte-19399h6{background:#f0f0f1;color:#2c3338;border:1px solid #8c8f94}.btn--secondary.svelte-19399h6:hover:not(:disabled){background:#e0e0e0}.file-input.svelte-19399h6{font-size:13px}.status.svelte-19399h6{font-size:13px;font-weight:500}.status--ok.svelte-19399h6{color:#00a32a}.status--err.svelte-19399h6{color:#d63638}.steps.svelte-19399h6{margin:8px 0 0;padding-left:20px;font-size:13px;line-height:1.6;color:#2c3338}.steps.svelte-19399h6 li:where(.svelte-19399h6){margin-bottom:8px}.steps.svelte-19399h6 li:where(.svelte-19399h6):last-child{margin-bottom:0}code.svelte-19399h6{background:#f0f0f1;padding:1px 4px;border-radius:3px;font-size:12px}h2.svelte-a36hjt{margin-top:0}.hint.svelte-a36hjt{color:#50575e;margin-bottom:20px;max-width:720px}.group.svelte-a36hjt{border:1px solid #e2e4e7;border-radius:6px;padding:16px;margin-bottom:20px}.group--inactive.svelte-a36hjt{opacity:.6}.group-header.svelte-a36hjt{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.group-title.svelte-a36hjt{font-weight:600;font-size:13px;color:#1d2327}.badge.svelte-a36hjt{font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;text-transform:uppercase;letter-spacing:.04em}.badge--bricks.svelte-a36hjt{background:#f0f4ff;color:#2563eb;border:1px solid #bfdbfe}.inactive-notice.svelte-a36hjt{font-size:12px;color:#8c8f94;font-style:italic;flex-basis:100%;margin-top:2px}.hook.svelte-a36hjt{border:1px solid #f0f0f1;border-radius:4px;padding:16px;margin-bottom:12px;background:#fcfcfd}.hook.svelte-a36hjt:last-child{margin-bottom:0}.hook__name.svelte-a36hjt{margin:0 0 8px;font-size:14px}.hook__name.svelte-a36hjt code:where(.svelte-a36hjt){background:#e7e8ea;padding:3px 8px;border-radius:3px;font-size:13px}.hook__desc.svelte-a36hjt{margin:0 0 8px;color:#1d2327;font-size:14px}.hook__params.svelte-a36hjt{margin:0 0 12px;font-size:13px;color:#50575e}.hook__params.svelte-a36hjt code:where(.svelte-a36hjt){background:#f0f0f1;padding:1px 4px;border-radius:2px;font-size:12px}.hook__example.svelte-a36hjt{margin:0;padding:12px;background:#1d2327;color:#e4e6e8;border-radius:4px;overflow-x:auto;font-size:12px;line-height:1.5}.hook__example.svelte-a36hjt code:where(.svelte-a36hjt){background:none;padding:0;color:inherit}.cheatsheet.svelte-osej3t{display:flex;flex-direction:column;gap:16px}.cheatsheet__header.svelte-osej3t h2:where(.svelte-osej3t){margin:0 0 4px;font-size:18px}.cheatsheet__counts.svelte-osej3t{margin:0;font-size:13px;color:#50575e}.cheatsheet__controls.svelte-osej3t{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.cheatsheet__search.svelte-osej3t{flex:1;min-width:200px;padding:6px 10px;border:1px solid #c3c4c7;border-radius:4px;font-size:13px}.cheatsheet__search.svelte-osej3t:focus{border-color:#2271b1;outline:none;box-shadow:0 0 0 1px #2271b1}.cheatsheet__view-toggle.svelte-osej3t{display:flex;gap:0}.cheatsheet__view-toggle.svelte-osej3t button:where(.svelte-osej3t){padding:5px 12px;border:1px solid #c3c4c7;background:#fff;font-size:12px;cursor:pointer;color:#50575e}.cheatsheet__view-toggle.svelte-osej3t button:where(.svelte-osej3t):first-child{border-radius:3px 0 0 3px}.cheatsheet__view-toggle.svelte-osej3t button:where(.svelte-osej3t):last-child{border-radius:0 3px 3px 0}.cheatsheet__view-toggle.svelte-osej3t button:where(.svelte-osej3t):not(:first-child){border-left:none}.cheatsheet__view-toggle.svelte-osej3t button.active:where(.svelte-osej3t){background:#2271b1;border-color:#2271b1;color:#fff}.cheatsheet__section.svelte-osej3t{display:flex;flex-direction:column;gap:8px}.cheatsheet__section-title.svelte-osej3t{font-size:15px;margin:8px 0 0;padding-bottom:6px;border-bottom:1px solid #e2e4e7}.cheatsheet__group.svelte-osej3t{border:1px solid #e2e4e7;border-radius:4px;overflow:hidden}.cheatsheet__group-header.svelte-osej3t{padding:8px 12px;background:#f6f7f7;cursor:pointer;font-size:13px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.cheatsheet__group-header.svelte-osej3t::-webkit-details-marker{margin-right:4px}.cheatsheet__group-desc.svelte-osej3t{font-size:12px;color:#646970;font-weight:400}.cheatsheet__list.svelte-osej3t{list-style:none;margin:0;padding:0}.cheatsheet__item.svelte-osej3t{display:flex;align-items:baseline;gap:12px;padding:5px 12px;border-top:1px solid #f0f0f1;font-size:12px;line-height:1.5}.cheatsheet__item.svelte-osej3t:first-child{border-top:1px solid #e2e4e7}.cheatsheet__name.svelte-osej3t{flex-shrink:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:11.5px;background:#f0f0f1;padding:1px 5px;border-radius:3px;color:#1e1e1e;white-space:nowrap}.cheatsheet__desc.svelte-osej3t{color:#50575e;font-size:12px}.cheatsheet__empty.svelte-osej3t{text-align:center;color:#646970;padding:32px 16px;font-style:italic}h2.svelte-1n4yog1{margin-top:0}h3.svelte-1n4yog1{margin:0 0 8px;font-size:14px}.grid-heading.svelte-1n4yog1{margin:24px 0 4px}.hint.svelte-1n4yog1{color:#50575e;margin-bottom:16px;max-width:720px}.picker.svelte-1n4yog1{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:start;margin-bottom:8px}.picker__col.svelte-1n4yog1{display:flex;flex-direction:column;gap:8px}.picker__heading.svelte-1n4yog1{font-size:13px;font-weight:600;color:#1d2327}.swatch-strip.svelte-1n4yog1{display:flex;flex-wrap:wrap;gap:6px}.swatch-btn.svelte-1n4yog1{width:32px;height:32px;border-radius:4px;border:2px solid transparent;cursor:pointer;padding:0;flex-shrink:0;transition:transform 80ms}.swatch-btn.svelte-1n4yog1:hover{transform:scale(1.12)}.swatch-btn--active.svelte-1n4yog1{border-color:#1d2327;box-shadow:0 0 0 2px #fff,0 0 0 4px #1d2327}.picker__selected.svelte-1n4yog1{display:flex;align-items:center;gap:6px;font-size:13px;color:#50575e}.swatch-dot.svelte-1n4yog1{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.15);display:inline-block;flex-shrink:0}.result.svelte-1n4yog1{min-width:160px;border:1px solid rgba(0,0,0,.12);border-radius:6px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;align-self:stretch;justify-content:center}.result__sample.svelte-1n4yog1{font-size:48px;font-weight:700;line-height:1}.result__ratio.svelte-1n4yog1{font-size:22px;font-weight:700;color:#1d2327;background:#ffffffbf;padding:2px 8px;border-radius:3px}.result__badges.svelte-1n4yog1{display:flex;flex-direction:column;gap:4px;width:100%}.result__badge-row.svelte-1n4yog1{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#ffffffbf;padding:3px 8px;border-radius:3px}.badge-label.svelte-1n4yog1{font-size:11px;color:#50575e}.badge.svelte-1n4yog1{font-size:11px;font-weight:700;padding:1px 6px;border-radius:3px;white-space:nowrap}.badge--aaa.svelte-1n4yog1{background:#00a32a;color:#fff}.badge--aa.svelte-1n4yog1{background:#2271b1;color:#fff}.badge--aa-large.svelte-1n4yog1{background:#dba617;color:#fff}.badge--fail.svelte-1n4yog1{background:#d63638;color:#fff}.result__thresholds.svelte-1n4yog1{font-size:10px;color:#787c82;background:#ffffffb3;padding:2px 6px;border-radius:3px;text-align:center}.result__empty.svelte-1n4yog1{font-size:13px;color:#787c82;text-align:center}.grid-wrap.svelte-1n4yog1{overflow-x:auto;margin-bottom:12px}.contrast-grid.svelte-1n4yog1{border-collapse:collapse;font-size:11px}.grid-corner.svelte-1n4yog1{width:28px;height:28px}.grid-col-header.svelte-1n4yog1,.grid-row-header.svelte-1n4yog1{padding:2px;text-align:center}.grid-swatch.svelte-1n4yog1{display:block;width:22px;height:22px;border-radius:3px;border:1px solid rgba(0,0,0,.12)}.grid-cell.svelte-1n4yog1{width:44px;height:36px;text-align:center;vertical-align:middle;border:1px solid rgba(0,0,0,.06);cursor:pointer;transition:opacity 80ms;position:relative}.grid-cell.svelte-1n4yog1:hover:not(.grid-cell--same){opacity:.8;outline:2px solid #2271b1}.grid-cell--active.svelte-1n4yog1{outline:2px solid #1d2327!important}.grid-cell--same.svelte-1n4yog1{background:#f0f0f1;cursor:default}.grid-cell--aaa.svelte-1n4yog1{background:#d8f5e0}.grid-cell--aa.svelte-1n4yog1{background:#d8e9f7}.grid-cell--aa-large.svelte-1n4yog1{background:#fdf2d0}.grid-cell--fail.svelte-1n4yog1{background:#fde8e8}.cell-ratio.svelte-1n4yog1{font-size:10px;font-weight:600;color:#1d2327}.cell-ratio--dash.svelte-1n4yog1{color:#a7aaad}.legend.svelte-1n4yog1{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:#50575e}.legend-item.svelte-1n4yog1{display:flex;align-items:center;gap:5px}.legend-dot.svelte-1n4yog1{width:12px;height:12px;border-radius:2px;display:inline-block}.legend-dot--aaa.svelte-1n4yog1{background:#d8f5e0;border:1px solid #00a32a}.legend-dot--aa.svelte-1n4yog1{background:#d8e9f7;border:1px solid #2271b1}.legend-dot--aa-large.svelte-1n4yog1{background:#fdf2d0;border:1px solid #dba617}.legend-dot--fail.svelte-1n4yog1{background:#fde8e8;border:1px solid #d63638}h2.svelte-1muixbu{margin-top:0}.group-heading.svelte-1muixbu{margin-top:24px}.hint.svelte-1muixbu{color:#50575e;margin-bottom:16px;max-width:720px;font-size:13px}.hint.svelte-1muixbu code:where(.svelte-1muixbu){background:#f0f0f1;padding:1px 4px;border-radius:3px;font-size:11px}.rows.svelte-1muixbu{border:1px solid #f0f0f1;border-radius:4px;padding:0 12px;background:#fcfcfd}.pair-row.svelte-1muixbu{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f0f0f1}.pair-row.svelte-1muixbu:last-child{border-bottom:none}.pair-row__label.svelte-1muixbu{font-weight:500;color:#1d2327;font-size:13px}.pair-row__inputs.svelte-1muixbu{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.pair-row__inputs.svelte-1muixbu .row{display:flex!important;grid-template-columns:none;gap:6px;padding:0;border:none;align-items:center}.pair-row__inputs.svelte-1muixbu .row__label-text,.pair-row__inputs.svelte-1muixbu .row__label label{font-weight:400;color:#50575e;font-size:12px}.slashed-preview.svelte-g79qke{background:#fff;border:1px solid #c3c4c7;border-radius:4px;padding:20px;margin-top:8px;transition:background .2s,color .2s}.slashed-preview.is-dark.svelte-g79qke{background:#1d2327;border-color:#3c434a}.slashed-preview__header.svelte-g79qke{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.slashed-preview__header.svelte-g79qke h3:where(.svelte-g79qke){margin:0;color:#1d2327}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__header:where(.svelte-g79qke) h3:where(.svelte-g79qke){color:#f0f0f1}.slashed-preview__mode-toggle.svelte-g79qke{display:flex;border:1px solid #c3c4c7;border-radius:4px;overflow:hidden}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__mode-toggle:where(.svelte-g79qke){border-color:#3c434a}.slashed-preview__mode-btn.svelte-g79qke{padding:4px 10px;font-size:12px;background:transparent;border:none;cursor:pointer;color:#50575e;line-height:1.4}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__mode-btn:where(.svelte-g79qke){color:#a7aaad}.slashed-preview__mode-btn.active.svelte-g79qke{background:#2271b1;color:#fff}.slashed-preview__mode-btn.svelte-g79qke+.slashed-preview__mode-btn:where(.svelte-g79qke){border-left:1px solid #c3c4c7}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__mode-btn:where(.svelte-g79qke)+.slashed-preview__mode-btn:where(.svelte-g79qke){border-left-color:#3c434a}.sf-canvas.svelte-g79qke{background:var(--c-bg, #fff);color:var(--c-text, #1d2327);border:1px solid var(--c-border, #e2e2e2);border-radius:var(--preview-radius-m, 8px);padding:18px;display:flex;flex-direction:column;gap:20px}.sf-block.svelte-g79qke{margin:0}.sf-eyebrow.svelte-g79qke{margin:0 0 8px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-muted, #787c82)}.sf-heading.svelte-g79qke{font-family:var(--sf-font-heading, system-ui, sans-serif);margin:0 0 8px;font-size:20px;font-weight:700;line-height:1.25;color:var(--c-text, #1d2327)}.sf-body.svelte-g79qke{font-family:var(--sf-font-body, system-ui, sans-serif);color:var(--c-text-secondary, #50575e);margin:0 0 6px;font-size:13px;line-height:1.55}.sf-body.svelte-g79qke code:where(.svelte-g79qke){font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;padding:1px 4px;border-radius:3px;background:var(--c-inset, rgba(127,127,127,.12));color:var(--c-text, inherit)}.sf-muted.svelte-g79qke{margin:0;font-size:12px;color:var(--c-text-muted, #787c82)}.sf-link.svelte-g79qke{color:var(--c-link, #2271b1);text-decoration:underline;text-underline-offset:2px}.sf-surfaces.svelte-g79qke{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sf-surface-tile.svelte-g79qke{height:54px;border:1px solid var(--c-border, #ddd);border-radius:var(--preview-radius-s, 4px);display:flex;align-items:flex-end;padding:6px;box-shadow:var(--preview-shadow)}.sf-surface-tile__label.svelte-g79qke{font-size:10px;font-weight:600;color:var(--c-text-secondary, #50575e)}.sf-swatches.svelte-g79qke{display:flex;gap:8px;flex-wrap:wrap}.sf-swatch.svelte-g79qke{width:52px;height:52px;border-radius:var(--preview-radius-s, 4px);border:1px solid var(--c-border-subtle, rgba(0,0,0,.08));display:flex;align-items:flex-end;justify-content:center;font-size:9px;font-weight:600;padding:3px}.sf-buttons.svelte-g79qke{display:flex;gap:8px;flex-wrap:wrap}.sf-btn.svelte-g79qke{padding:7px 14px;border-radius:var(--preview-radius-s, 4px);font-size:13px;font-weight:600;border:none;cursor:default;display:inline-flex;align-items:center;line-height:1.2}.sf-btn--outline.svelte-g79qke{background:transparent!important;border:1.5px solid}.sf-btn--ghost.svelte-g79qke{background:transparent!important;border:none}.sf-btn--sm.svelte-g79qke{padding:4px 10px;font-size:12px}.sf-alerts.svelte-g79qke{display:flex;flex-direction:column;gap:6px}.sf-alert.svelte-g79qke{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--preview-radius-s, 4px);border-inline-start:3px solid;font-size:12px}.sf-alert__text.svelte-g79qke{color:var(--c-text, inherit)}.sf-badge.svelte-g79qke{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--preview-radius-l, 16px);font-size:10px;font-weight:700;white-space:nowrap}.sf-card.svelte-g79qke{border:1px solid var(--c-border, #e9eaeb);border-radius:var(--preview-radius-m, 8px);overflow:hidden;background:var(--c-surface, #fff);box-shadow:var(--preview-shadow)}.sf-card__accent.svelte-g79qke{height:4px}.sf-card__body.svelte-g79qke{padding:14px 16px;display:flex;flex-direction:column;gap:10px}.sf-card__top.svelte-g79qke{display:flex;align-items:center;gap:10px}.sf-card__avatar.svelte-g79qke{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.sf-card__title.svelte-g79qke{margin:0;font-family:var(--sf-font-heading, system-ui, sans-serif);font-size:14px;font-weight:600;color:var(--c-text, #1d2327);line-height:1.3}.sf-card__sub.svelte-g79qke{margin:0;font-size:11px;color:var(--c-text-muted, #787c82);line-height:1.3}.sf-card__top.svelte-g79qke .sf-badge:where(.svelte-g79qke){margin-left:auto}.sf-card__text.svelte-g79qke{margin:0;font-family:var(--sf-font-body, system-ui, sans-serif);font-size:12px;line-height:1.5;color:var(--c-text-secondary, #50575e)}.sf-card__footer.svelte-g79qke{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--c-border-subtle, #f0f0f1)}.sf-card__footer.svelte-g79qke .sf-btn--sm:where(.svelte-g79qke){margin-left:auto}.sf-field.svelte-g79qke{display:flex;flex-direction:column;gap:5px;max-width:320px}.sf-field__label.svelte-g79qke{font-size:11px;font-weight:600;color:var(--c-text-secondary, #50575e)}.sf-field__input.svelte-g79qke{font-size:13px;padding:7px 10px;border-radius:var(--preview-radius-s, 4px);border:1px solid var(--c-border, #c3c4c7);background:var(--c-surface, #fff);color:var(--c-text, #1d2327)}.sf-field__input.svelte-g79qke::placeholder{color:var(--c-text-muted, #9a9da1);opacity:.8}.slashed-preview__caption.svelte-g79qke{margin-top:16px;color:#50575e;font-size:12px;padding-top:12px;border-top:1px solid #e9eaeb}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__caption:where(.svelte-g79qke){color:#a7aaad;border-top-color:#3c434a}.slashed-preview__caption.svelte-g79qke code:where(.svelte-g79qke){display:block;background:#f6f7f7;padding:8px;border-radius:3px;margin-top:4px;white-space:pre-wrap;font-size:11px;max-height:120px;overflow:auto}.slashed-preview.is-dark.svelte-g79qke .slashed-preview__caption:where(.svelte-g79qke) code:where(.svelte-g79qke){background:#1d2327;color:#a7aaad}.bar.svelte-1oj49qa{position:fixed;bottom:0;left:160px;right:0;background:#fff;border-top:2px solid #c3c4c7;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:100;transition:border-color .15s}.bar.dirty.svelte-1oj49qa{border-top-color:#2271b1}.bar__status.svelte-1oj49qa{font-size:13px}.bar__dirty.svelte-1oj49qa{color:#2271b1;font-weight:500}.bar__pending.svelte-1oj49qa{color:#50575e}.bar__saved.svelte-1oj49qa{color:#00a32a;font-weight:500}.bar__clean.svelte-1oj49qa{color:#50575e}.bar__error.svelte-1oj49qa{color:#d63638;font-weight:500}.bar__actions.svelte-1oj49qa{display:flex;gap:8px}.bar__save.svelte-1oj49qa,.bar__reset.svelte-1oj49qa{padding:6px 14px;border-radius:3px;border:1px solid #2271b1;background:#fff;color:#2271b1;cursor:pointer;font-size:13px}.bar__save.svelte-1oj49qa{background:#2271b1;color:#fff}.bar__save.svelte-1oj49qa:disabled,.bar__reset.svelte-1oj49qa:disabled{opacity:.5;cursor:not-allowed}.bar__reset.svelte-1oj49qa{border-color:#d63638;color:#d63638}.bar__export.svelte-1oj49qa{padding:6px 14px;border-radius:3px;border:1px solid #2271b1;background:#fff;color:#2271b1;cursor:pointer;font-size:13px}.bar__export.svelte-1oj49qa:disabled{opacity:.5;cursor:not-allowed}@media(max-width:782px){.bar.svelte-1oj49qa{left:0}}.slashed-svelte-admin.svelte-1n46o8q{--gap: 16px;display:flex;flex-direction:column;gap:var(--gap);max-width:1100px;padding-bottom:80px}.slashed-svelte-admin__header-top.svelte-1n46o8q{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.slashed-svelte-admin__header.svelte-1n46o8q h1:where(.svelte-1n46o8q){margin:0}.slashed-svelte-admin__versions.svelte-1n46o8q{display:flex;gap:6px;flex-wrap:wrap}.version-pill.svelte-1n46o8q{background:#f0f0f1;border:1px solid #c3c4c7;border-radius:3px;padding:2px 8px;font-size:11px;color:#50575e;font-family:ui-monospace,monospace;white-space:nowrap}.muted.svelte-1n46o8q{color:#50575e;margin:4px 0 0}.slashed-svelte-admin__body.svelte-1n46o8q{background:#fff;border:1px solid #c3c4c7;border-radius:4px;padding:20px} diff --git a/plugins/SLASHED-for-WP/integrations/bricks/assets/admin-app/app.js b/plugins/SLASHED-for-WP/integrations/bricks/assets/admin-app/app.js index 4dc40489..9208fe9c 100644 --- a/plugins/SLASHED-for-WP/integrations/bricks/assets/admin-app/app.js +++ b/plugins/SLASHED-for-WP/integrations/bricks/assets/admin-app/app.js @@ -1,26 +1,28 @@ -var Rn=Object.defineProperty;var pr=e=>{throw TypeError(e)};var Mn=(e,t,s)=>t in e?Rn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var Ye=(e,t,s)=>Mn(e,typeof t!="symbol"?t+"":t,s),$a=(e,t,s)=>t.has(e)||pr("Cannot "+s);var g=(e,t,s)=>($a(e,t,"read from private field"),s?s.call(e):t.get(e)),ce=(e,t,s)=>t.has(e)?pr("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,s),le=(e,t,s,a)=>($a(e,t,"write to private field"),a?a.call(e,s):t.set(e,s),s),ke=(e,t,s)=>($a(e,t,"access private method"),s);var tr=Array.isArray,Dn=Array.prototype.indexOf,as=Array.prototype.includes,ka=Array.from,Ln=Object.defineProperty,bs=Object.getOwnPropertyDescriptor,Pn=Object.getOwnPropertyDescriptors,Vn=Object.prototype,In=Array.prototype,Pr=Object.getPrototypeOf,hr=Object.isExtensible;const Vr=()=>{};function On(e){for(var t=0;t{e=a,t=n});return{promise:s,resolve:e,reject:t}}function mt(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);const s=[];for(const a of e)if(s.push(a),s.length===t)break;return s}const Ge=2,Cs=4,Sa=8,Or=1<<24,bt=16,xt=32,Gt=64,Ia=128,ut=512,Oe=1024,He=2048,jt=4096,Xe=8192,vt=16384,fs=32768,Oa=1<<25,cs=65536,va=1<<17,qn=1<<18,$s=1<<19,Kn=1<<20,Ct=1<<25,ds=65536,fa=1<<21,ys=1<<22,Ht=1<<23,rs=Symbol("$state"),Bn=Symbol("legacy props"),Nn=Symbol(""),na=Symbol("attributes"),qa=Symbol("class"),Ka=Symbol("style"),Ms=Symbol("text"),ia=Symbol("form reset"),Ea=new class extends Error{constructor(){super(...arguments);Ye(this,"name","StaleReactionError");Ye(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}},Hn=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml");function Gn(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Un(e,t,s){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Wn(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Xn(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Yn(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Zn(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Jn(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Qn(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function ei(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function ti(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function si(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const ai=1,ri=2,qr=4,ni=8,ii=16,oi=1,li=4,ci=8,di=16,ui=1,vi=2,Ie=Symbol("uninitialized"),Kr="http://www.w3.org/1999/xhtml";function fi(){console.warn("https://svelte.dev/e/derived_inert")}function pi(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function hi(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Br(e){return e===this.v}function _i(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Nr(e){return!_i(e,this.v)}let rt=null;function js(e){rt=e}function je(e,t=!1,s){rt={p:rt,i:!1,c:null,e:null,s:e,x:null,r:ye,l:null}}function Te(e){var t=rt,s=t.e;if(s!==null){t.e=null;for(var a of s)pn(a)}return t.i=!0,rt=t.p,{}}function Hr(){return!0}let Wt=[];function Gr(){var e=Wt;Wt=[],On(e)}function ns(e){if(Wt.length===0&&!Ps){var t=Wt;queueMicrotask(()=>{t===Wt&&Gr()})}Wt.push(e)}function gi(){for(;Wt.length>0;)Gr()}function Ur(e){var t=ye;if(t===null)return be.f|=Ht,e;if((t.f&fs)===0&&(t.f&Cs)===0)throw e;Nt(e,t)}function Nt(e,t){for(;t!==null;){if((t.f&Ia)!==0){if((t.f&fs)===0)throw e;try{t.b.error(e);return}catch(s){e=s}}t=t.parent}throw e}const mi=-7169;function Re(e,t){e.f=e.f&mi|t}function sr(e){(e.f&ut)!==0||e.deps===null?Re(e,Oe):Re(e,jt)}function Wr(e){if(e!==null)for(const t of e)(t.f&Ge)===0||(t.f&ds)===0||(t.f^=ds,Wr(t.deps))}function Xr(e,t,s){(e.f&He)!==0?t.add(e):(e.f&jt)!==0&&s.add(e),Wr(e.deps),Re(e,Oe)}let ta=!1;function bi(e){var t=ta;try{return ta=!1,[e(),ta]}finally{ta=t}}let Fa=null,hs=null,ve=null,Ba=null,yt=null,Na=null,Ps=!1,Ra=!1,ms=null,oa=null;var _r=0;let yi=1;var ws,qt,Zt,xs,ks,Jt,Ss,Rt,Ns,tt,Hs,Kt,St,Et,Es,Qt,Se,Ha,Ds,Ga,Yr,Zr,la,wi,Ua,gs;const ya=class ya{constructor(){ce(this,Se);Ye(this,"id",yi++);ce(this,ws,!1);Ye(this,"linked",!0);ce(this,qt,null);ce(this,Zt,null);Ye(this,"async_deriveds",new Map);Ye(this,"current",new Map);Ye(this,"previous",new Map);Ye(this,"unblocked",new Set);ce(this,xs,new Set);ce(this,ks,new Set);ce(this,Jt,new Set);ce(this,Ss,0);ce(this,Rt,new Map);ce(this,Ns,null);ce(this,tt,[]);ce(this,Hs,[]);ce(this,Kt,new Set);ce(this,St,new Set);ce(this,Et,new Map);ce(this,Es,new Set);Ye(this,"is_fork",!1);ce(this,Qt,!1)}skip_effect(t){g(this,Et).has(t)||g(this,Et).set(t,{d:[],m:[]}),g(this,Es).delete(t)}unskip_effect(t,s=a=>this.schedule(a)){var a=g(this,Et).get(t);if(a){g(this,Et).delete(t);for(var n of a.d)Re(n,He),s(n);for(n of a.m)Re(n,jt),s(n)}g(this,Es).add(t)}capture(t,s,a=!1){t.v!==Ie&&!this.previous.has(t)&&this.previous.set(t,t.v),(t.f&Ht)===0&&(this.current.set(t,[s,a]),yt?.set(t,s)),this.is_fork||(t.v=s)}activate(){ve=this}deactivate(){ve=null,yt=null}flush(){try{Ra=!0,ve=this,ke(this,Se,Ds).call(this)}finally{_r=0,Na=null,ms=null,oa=null,Ra=!1,ve=null,yt=null,is.clear()}}discard(){for(const t of g(this,ks))t(this);g(this,ks).clear(),g(this,Jt).clear(),ke(this,Se,gs).call(this)}register_created_effect(t){g(this,Hs).push(t)}increment(t,s){if(le(this,Ss,g(this,Ss)+1),t){let a=g(this,Rt).get(s)??0;g(this,Rt).set(s,a+1)}}decrement(t,s){if(le(this,Ss,g(this,Ss)-1),t){let a=g(this,Rt).get(s)??0;a===1?g(this,Rt).delete(s):g(this,Rt).set(s,a-1)}g(this,Qt)||(le(this,Qt,!0),ns(()=>{le(this,Qt,!1),this.linked&&this.flush()}))}transfer_effects(t,s){for(const a of t)g(this,Kt).add(a);for(const a of s)g(this,St).add(a);t.clear(),s.clear()}oncommit(t){g(this,xs).add(t)}ondiscard(t){g(this,ks).add(t)}on_fork_commit(t){g(this,Jt).add(t)}run_fork_commit_callbacks(){for(const t of g(this,Jt))t(this);g(this,Jt).clear()}settled(){return(g(this,Ns)??le(this,Ns,Ir())).promise}static ensure(){var t;if(ve===null){const s=ve=new ya;ke(t=s,Se,Ua).call(t),!Ra&&!Ps&&ns(()=>{g(s,ws)||s.flush()})}return ve}apply(){{yt=null;return}}schedule(t){if(Na=t,t.b?.is_pending&&(t.f&(Cs|Sa|Or))!==0&&(t.f&fs)===0){t.b.defer_effect(t);return}for(var s=t;s.parent!==null;){s=s.parent;var a=s.f;if(ms!==null&&s===ye&&(be===null||(be.f&Ge)===0))return;if((a&(Gt|xt))!==0){if((a&Oe)===0)return;s.f^=Oe}}g(this,tt).push(s)}};ws=new WeakMap,qt=new WeakMap,Zt=new WeakMap,xs=new WeakMap,ks=new WeakMap,Jt=new WeakMap,Ss=new WeakMap,Rt=new WeakMap,Ns=new WeakMap,tt=new WeakMap,Hs=new WeakMap,Kt=new WeakMap,St=new WeakMap,Et=new WeakMap,Es=new WeakMap,Qt=new WeakMap,Se=new WeakSet,Ha=function(){if(this.is_fork)return!0;for(const a of g(this,Rt).keys()){for(var t=a,s=!1;t.parent!==null;){if(g(this,Et).has(t)){s=!0;break}t=t.parent}if(!s)return!0}return!1},Ds=function(){var c,v,h;if(le(this,ws,!0),_r++>1e3&&(ke(this,Se,gs).call(this),ki()),!ke(this,Se,Ha).call(this)){for(const f of g(this,Kt))g(this,St).delete(f),Re(f,He),this.schedule(f);for(const f of g(this,St))Re(f,jt),this.schedule(f)}const t=g(this,tt);le(this,tt,[]),this.apply();var s=ms=[],a=[],n=oa=[];for(const f of t)try{ke(this,Se,Ga).call(this,f,s,a)}catch(p){throw en(f),p}if(ve=null,n.length>0){var i=ya.ensure();for(const f of n)i.schedule(f)}if(ms=null,oa=null,ke(this,Se,Ha).call(this)){ke(this,Se,la).call(this,a),ke(this,Se,la).call(this,s);for(const[f,p]of g(this,Et))Qr(f,p);n.length>0&&ke(c=ve,Se,Ds).call(c);return}const o=ke(this,Se,Yr).call(this);if(o){ke(v=o,Se,Zr).call(v,this);return}g(this,Kt).clear(),g(this,St).clear();for(const f of g(this,xs))f(this);g(this,xs).clear(),Ba=this,gr(a),gr(s),Ba=null,g(this,Ns)?.resolve();var u=ve;if(this.linked&&g(this,Ss)===0&&ke(this,Se,gs).call(this),g(this,tt).length>0){u===null&&(u=this,ke(this,Se,Ua).call(this));const f=u;g(f,tt).push(...g(this,tt).filter(p=>!g(f,tt).includes(p)))}u!==null&&ke(h=u,Se,Ds).call(h)},Ga=function(t,s,a){t.f^=Oe;for(var n=t.first;n!==null;){var i=n.f,o=(i&(xt|Gt))!==0,u=o&&(i&Oe)!==0,c=u||(i&Xe)!==0||g(this,Et).has(n);if(!c&&n.fn!==null){o?n.f^=Oe:(i&Cs)!==0?s.push(n):Zs(n)&&((i&bt)!==0&&g(this,St).add(n),zs(n));var v=n.first;if(v!==null){n=v;continue}}for(;n!==null;){var h=n.next;if(h!==null){n=h;break}n=n.parent}}},Yr=function(){for(var t=g(this,qt);t!==null;){if(!t.is_fork){for(const[s,[,a]]of this.current)if(t.current.has(s)&&!a)return t}t=g(t,qt)}return null},Zr=function(t){var a;for(const[n,i]of t.current)!this.previous.has(n)&&t.previous.has(n)&&this.previous.set(n,t.previous.get(n)),this.current.set(n,i);for(const[n,i]of t.async_deriveds){const o=this.async_deriveds.get(n);o&&i.promise.then(o.resolve)}const s=n=>{var i=n.reactions;if(i!==null)for(const c of i){var o=c.f;if((o&Ge)!==0)s(c);else{var u=c;o&(ys|bt)&&!this.async_deriveds.has(u)&&(g(this,St).delete(u),Re(u,He),this.schedule(u))}}};for(const n of this.current.keys())s(n);this.oncommit(()=>t.discard()),ke(a=t,Se,gs).call(a),ve=this,ke(this,Se,Ds).call(this)},la=function(t){for(var s=0;s!this.current.has(p));if(n.length===0)t&&f.discard();else if(s.length>0){if(t)for(const p of g(this,Es))f.unskip_effect(p,m=>{var b;(m.f&(bt|ys))!==0?f.schedule(m):ke(b=f,Se,la).call(b,[m])});f.activate();var i=new Set,o=new Map;for(var u of s)Jr(u,n,i,o);o=new Map;var c=[...f.current.keys()].filter(p=>this.current.has(p)?this.current.get(p)[0]!==p.v:!0);if(c.length>0)for(const p of g(this,Hs))(p.f&(vt|Xe|va))===0&&ar(p,c,o)&&((p.f&(ys|bt))!==0?(Re(p,He),f.schedule(p)):g(f,Kt).add(p));if(g(f,tt).length>0&&!g(f,Qt)){f.apply();for(var v of g(f,tt))ke(h=f,Se,Ga).call(h,v,[],[]);le(f,tt,[])}f.deactivate()}}}},Ua=function(){hs===null?Fa=hs=this:(le(hs,Zt,this),le(this,qt,hs)),hs=this},gs=function(){var t=g(this,qt),s=g(this,Zt);t===null?Fa=s:le(t,Zt,s),s===null?hs=t:le(s,qt,t),this.linked=!1};let us=ya;function xi(e){var t=Ps;Ps=!0;try{for(var s;;){if(gi(),ve===null)return s;ve.flush()}}finally{Ps=t}}function ki(){try{Zn()}catch(e){Nt(e,Na)}}let Ft=null;function gr(e){var t=e.length;if(t!==0){for(var s=0;s0)){is.clear();for(const n of Ft){if((n.f&(vt|Xe))!==0)continue;const i=[n];let o=n.parent;for(;o!==null;)Ft.has(o)&&(Ft.delete(o),i.push(o)),o=o.parent;for(let u=i.length-1;u>=0;u--){const c=i[u];(c.f&(vt|Xe))===0&&zs(c)}}Ft.clear()}}Ft=null}}function Jr(e,t,s,a){if(!s.has(e)&&(s.add(e),e.reactions!==null))for(const n of e.reactions){const i=n.f;(i&Ge)!==0?Jr(n,t,s,a):(i&(ys|bt))!==0&&(i&He)===0&&ar(n,t,a)&&(Re(n,He),rr(n))}}function ar(e,t,s){const a=s.get(e);if(a!==void 0)return a;if(e.deps!==null)for(const n of e.deps){if(as.call(t,n))return!0;if((n.f&Ge)!==0&&ar(n,t,s))return s.set(n,!0),!0}return s.set(e,!1),!1}function rr(e){ve.schedule(e)}function Qr(e,t){if(!((e.f&xt)!==0&&(e.f&Oe)!==0)){(e.f&He)!==0?t.d.push(e):(e.f&jt)!==0&&t.m.push(e),Re(e,Oe);for(var s=e.first;s!==null;)Qr(s,t),s=s.next}}function en(e){Re(e,Oe);for(var t=e.first;t!==null;)en(t),t=t.next}function Si(e){let t=0,s=vs(0),a;return()=>{lr()&&(r(s),Aa(()=>(t===0&&(a=Js(()=>e(()=>Vs(s)))),t+=1,()=>{ns(()=>{t-=1,t===0&&(a?.(),a=void 0,Vs(s))})})))}}var Ei=cs|$s;function Ai(e,t,s,a){new Ci(e,t,s,a)}var ot,er,lt,es,Ze,ct,We,st,Mt,ts,Bt,As,Gs,Us,Dt,wa,De,ji,Ti,zi,Wa,ca,da,Xa,Ya;class Ci{constructor(t,s,a,n){ce(this,De);Ye(this,"parent");Ye(this,"is_pending",!1);Ye(this,"transform_error");ce(this,ot);ce(this,er,null);ce(this,lt);ce(this,es);ce(this,Ze);ce(this,ct,null);ce(this,We,null);ce(this,st,null);ce(this,Mt,null);ce(this,ts,0);ce(this,Bt,0);ce(this,As,!1);ce(this,Gs,new Set);ce(this,Us,new Set);ce(this,Dt,null);ce(this,wa,Si(()=>(le(this,Dt,vs(g(this,ts))),()=>{le(this,Dt,null)})));le(this,ot,t),le(this,lt,s),le(this,es,i=>{var o=ye;o.b=this,o.f|=Ia,a(i)}),this.parent=ye.b,this.transform_error=n??this.parent?.transform_error??(i=>i),le(this,Ze,Ca(()=>{ke(this,De,Wa).call(this)},Ei))}defer_effect(t){Xr(t,g(this,Gs),g(this,Us))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!g(this,lt).pending}update_pending_count(t,s){ke(this,De,Xa).call(this,t,s),le(this,ts,g(this,ts)+t),!(!g(this,Dt)||g(this,As))&&(le(this,As,!0),ns(()=>{le(this,As,!1),g(this,Dt)&&Ts(g(this,Dt),g(this,ts))}))}get_effect_pending(){return g(this,wa).call(this),r(g(this,Dt))}error(t){if(!g(this,lt).onerror&&!g(this,lt).failed)throw t;ve?.is_fork?(g(this,ct)&&ve.skip_effect(g(this,ct)),g(this,We)&&ve.skip_effect(g(this,We)),g(this,st)&&ve.skip_effect(g(this,st)),ve.on_fork_commit(()=>{ke(this,De,Ya).call(this,t)})):ke(this,De,Ya).call(this,t)}}ot=new WeakMap,er=new WeakMap,lt=new WeakMap,es=new WeakMap,Ze=new WeakMap,ct=new WeakMap,We=new WeakMap,st=new WeakMap,Mt=new WeakMap,ts=new WeakMap,Bt=new WeakMap,As=new WeakMap,Gs=new WeakMap,Us=new WeakMap,Dt=new WeakMap,wa=new WeakMap,De=new WeakSet,ji=function(){try{le(this,ct,dt(()=>g(this,es).call(this,g(this,ot))))}catch(t){this.error(t)}},Ti=function(t){const s=g(this,lt).failed;s&&le(this,st,dt(()=>{s(g(this,ot),()=>t,()=>()=>{})}))},zi=function(){const t=g(this,lt).pending;t&&(this.is_pending=!0,le(this,We,dt(()=>t(g(this,ot)))),ns(()=>{var s=le(this,Mt,document.createDocumentFragment()),a=Lt();s.append(a),le(this,ct,ke(this,De,da).call(this,()=>dt(()=>g(this,es).call(this,a)))),g(this,Bt)===0&&(g(this,ot).before(s),le(this,Mt,null),os(g(this,We),()=>{le(this,We,null)}),ke(this,De,ca).call(this,ve))}))},Wa=function(){try{if(this.is_pending=this.has_pending_snippet(),le(this,Bt,0),le(this,ts,0),le(this,ct,dt(()=>{g(this,es).call(this,g(this,ot))})),g(this,Bt)>0){var t=le(this,Mt,document.createDocumentFragment());ur(g(this,ct),t);const s=g(this,lt).pending;le(this,We,dt(()=>s(g(this,ot))))}else ke(this,De,ca).call(this,ve)}catch(s){this.error(s)}},ca=function(t){this.is_pending=!1,t.transfer_effects(g(this,Gs),g(this,Us))},da=function(t){var s=ye,a=be,n=rt;Tt(g(this,Ze)),pt(g(this,Ze)),js(g(this,Ze).ctx);try{return us.ensure(),t()}catch(i){return Ur(i),null}finally{Tt(s),pt(a),js(n)}},Xa=function(t,s){var a;if(!this.has_pending_snippet()){this.parent&&ke(a=this.parent,De,Xa).call(a,t,s);return}le(this,Bt,g(this,Bt)+t),g(this,Bt)===0&&(ke(this,De,ca).call(this,s),g(this,We)&&os(g(this,We),()=>{le(this,We,null)}),g(this,Mt)&&(g(this,ot).before(g(this,Mt)),le(this,Mt,null)))},Ya=function(t){g(this,ct)&&(Qe(g(this,ct)),le(this,ct,null)),g(this,We)&&(Qe(g(this,We)),le(this,We,null)),g(this,st)&&(Qe(g(this,st)),le(this,st,null));var s=g(this,lt).onerror;let a=g(this,lt).failed;var n=!1,i=!1;const o=()=>{if(n){hi();return}n=!0,i&&si(),g(this,st)!==null&&os(g(this,st),()=>{le(this,st,null)}),ke(this,De,da).call(this,()=>{ke(this,De,Wa).call(this)})},u=c=>{try{i=!0,s?.(c,o),i=!1}catch(v){Nt(v,g(this,Ze)&&g(this,Ze).parent)}a&&le(this,st,ke(this,De,da).call(this,()=>{try{return dt(()=>{var v=ye;v.b=this,v.f|=Ia,a(g(this,ot),()=>c,()=>o)})}catch(v){return Nt(v,g(this,Ze).parent),null}}))};ns(()=>{var c;try{c=this.transform_error(t)}catch(v){Nt(v,g(this,Ze)&&g(this,Ze).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(u,v=>Nt(v,g(this,Ze)&&g(this,Ze).parent)):u(c)})};function $i(e,t,s,a){const n=Os;var i=e.filter(p=>!p.settled);if(s.length===0&&i.length===0){a(t.map(n));return}var o=ye,u=Fi(),c=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(p=>p.promise)):null;function v(p){if((o.f&vt)===0){u();try{a(p)}catch(m){Nt(m,o)}pa()}}var h=tn();if(s.length===0){c.then(()=>v(t.map(n))).finally(h);return}function f(){Promise.all(s.map(p=>Ri(p))).then(p=>v([...t.map(n),...p])).catch(p=>Nt(p,o)).finally(h)}c?c.then(()=>{u(),f(),pa()}):f()}function Fi(){var e=ye,t=be,s=rt,a=ve;return function(i=!0){Tt(e),pt(t),js(s),i&&(e.f&vt)===0&&(a?.activate(),a?.apply())}}function pa(e=!0){Tt(null),pt(null),js(null),e&&ve?.deactivate()}function tn(){var e=ye,t=e.b,s=ve,a=t.is_rendered();return t.update_pending_count(1,s),s.increment(a,e),()=>{t.update_pending_count(-1,s),s.decrement(a,e)}}function Os(e){var t=Ge|He;return ye!==null&&(ye.f|=$s),{ctx:rt,deps:null,effects:null,equals:Br,f:t,fn:e,reactions:null,rv:0,v:Ie,wv:0,parent:ye,ac:null}}const sa=Symbol("obsolete");function Ri(e,t,s){let a=ye;a===null&&Gn();var n=void 0,i=vs(Ie),o=!be,u=new Set;return Gi(()=>{var c=ye,v=Ir();n=v.promise;try{Promise.resolve(e()).then(v.resolve,m=>{m!==Ea&&v.reject(m)}).finally(pa)}catch(m){v.reject(m),pa()}var h=ve;if(o){if((c.f&fs)!==0)var f=tn();if(a.b.is_rendered())h.async_deriveds.get(c)?.reject(sa);else for(const m of u.values())m.reject(sa);u.add(v),h.async_deriveds.set(c,v)}const p=(m,b=void 0)=>{f?.(),u.delete(v),b!==sa&&(h.activate(),b?(i.f|=Ht,Ts(i,b)):((i.f&Ht)!==0&&(i.f^=Ht),Ts(i,m)),h.deactivate())};v.promise.then(p,m=>p(null,m||"unknown"))}),vn(()=>{for(const c of u)c.reject(sa)}),new Promise(c=>{function v(h){function f(){h===n?c(i):v(n)}h.then(f,f)}v(n)})}function y(e){const t=Os(e);return yn(t),t}function sn(e){const t=Os(e);return t.equals=Nr,t}function Mi(e){var t=e.effects;if(t!==null){e.effects=null;for(var s=0;s0&&!nn&&Pi()}return t}function Pi(){nn=!1;for(const e of ha){(e.f&Oe)!==0&&Re(e,jt);let t;try{t=Zs(e)}catch{t=!0}t&&zs(e)}ha.clear()}function Vs(e){X(e,e.v+1)}function on(e,t,s){var a=e.reactions;if(a!==null)for(var n=a.length,i=0;i{if(ls===i)return u();var c=be,v=ls;pt(null),xr(i);var h=u();return pt(c),xr(v),h};return a&&s.set("length",fe(e.length)),new Proxy(e,{defineProperty(u,c,v){(!("value"in v)||v.configurable===!1||v.enumerable===!1||v.writable===!1)&&Qn();var h=s.get(c);return h===void 0?o(()=>{var f=fe(v.value);return s.set(c,f),f}):X(h,v.value,!0),!0},deleteProperty(u,c){var v=s.get(c);if(v===void 0){if(c in u){const h=o(()=>fe(Ie));s.set(c,h),Vs(n)}}else X(v,Ie),Vs(n);return!0},get(u,c,v){if(c===rs)return e;var h=s.get(c),f=c in u;if(h===void 0&&(!f||bs(u,c)?.writable)&&(h=o(()=>{var m=Ke(f?u[c]:Ie),b=fe(m);return b}),s.set(c,h)),h!==void 0){var p=r(h);return p===Ie?void 0:p}return Reflect.get(u,c,v)},getOwnPropertyDescriptor(u,c){var v=Reflect.getOwnPropertyDescriptor(u,c);if(v&&"value"in v){var h=s.get(c);h&&(v.value=r(h))}else if(v===void 0){var f=s.get(c),p=f?.v;if(f!==void 0&&p!==Ie)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return v},has(u,c){if(c===rs)return!0;var v=s.get(c),h=v!==void 0&&v.v!==Ie||Reflect.has(u,c);if(v!==void 0||ye!==null&&(!h||bs(u,c)?.writable)){v===void 0&&(v=o(()=>{var p=h?Ke(u[c]):Ie,m=fe(p);return m}),s.set(c,v));var f=r(v);if(f===Ie)return!1}return h},set(u,c,v,h){var f=s.get(c),p=c in u;if(a&&c==="length")for(var m=v;mfe(Ie)),s.set(m+"",b))}if(f===void 0)(!p||bs(u,c)?.writable)&&(f=o(()=>fe(void 0)),X(f,Ke(v)),s.set(c,f));else{p=f.v!==Ie;var x=o(()=>Ke(v));X(f,x)}var _=Reflect.getOwnPropertyDescriptor(u,c);if(_?.set&&_.set.call(h,v),!p){if(a&&typeof c=="string"){var w=s.get("length"),E=Number(c);Number.isInteger(E)&&E>=w.v&&X(w,E+1)}Vs(n)}return!0},ownKeys(u){r(n);var c=Reflect.ownKeys(u).filter(f=>{var p=s.get(f);return p===void 0||p.v!==Ie});for(var[v,h]of s)h.v!==Ie&&!(v in u)&&c.push(v);return c},setPrototypeOf(){ei()}})}function mr(e){try{if(e!==null&&typeof e=="object"&&rs in e)return e[rs]}catch{}return e}function Vi(e,t){return Object.is(mr(e),mr(t))}var br,ln,cn,dn;function Ii(){if(br===void 0){br=window,ln=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,s=Text.prototype;cn=bs(t,"firstChild").get,dn=bs(t,"nextSibling").get,hr(e)&&(e[qa]=void 0,e[na]=null,e[Ka]=void 0,e.__e=void 0),hr(s)&&(s[Ms]=void 0)}}function Lt(e=""){return document.createTextNode(e)}function _a(e){return cn.call(e)}function Ys(e){return dn.call(e)}function l(e,t){return _a(e)}function nt(e,t=!1){{var s=_a(e);return s instanceof Comment&&s.data===""?Ys(s):s}}function d(e,t=1,s=!1){let a=e;for(;t--;)a=Ys(a);return a}function Oi(e){e.textContent=""}function un(){return!1}function qi(e,t,s){return document.createElementNS(Kr,e,void 0)}let yr=!1;function Ki(){yr||(yr=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t[ia]?.()})},{capture:!0}))}function ir(e){var t=be,s=ye;pt(null),Tt(null);try{return e()}finally{pt(t),Tt(s)}}function or(e,t,s,a=s){e.addEventListener(t,()=>ir(s));const n=e[ia];n?e[ia]=()=>{n(),a(!0)}:e[ia]=()=>a(!0),Ki()}function Bi(e){ye===null&&(be===null&&Yn(),Xn()),Vt&&Wn()}function Ni(e,t){var s=t.last;s===null?t.last=t.first=e:(s.next=e,e.prev=s,t.last=e)}function It(e,t){var s=ye;s!==null&&(s.f&Xe)!==0&&(e|=Xe);var a={ctx:rt,deps:null,nodes:null,f:e|He|ut,first:null,fn:t,last:null,next:null,parent:s,b:s&&s.b,prev:null,teardown:null,wv:0,ac:null};ve?.register_created_effect(a);var n=a;if((e&Cs)!==0)ms!==null?ms.push(a):us.ensure().schedule(a);else if(t!==null){try{zs(a)}catch(o){throw Qe(a),o}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&$s)===0&&(n=n.first,(e&bt)!==0&&(e&cs)!==0&&n!==null&&(n.f|=cs))}if(n!==null&&(n.parent=s,s!==null&&Ni(n,s),be!==null&&(be.f&Ge)!==0&&(e&Gt)===0)){var i=be;(i.effects??(i.effects=[])).push(n)}return a}function lr(){return be!==null&&!wt}function vn(e){const t=It(Sa,null);return Re(t,Oe),t.teardown=e,t}function fn(e){Bi();var t=ye.f,s=!be&&(t&xt)!==0&&(t&fs)===0;if(s){var a=rt;(a.e??(a.e=[])).push(e)}else return pn(e)}function pn(e){return It(Cs|Kn,e)}function Hi(e){us.ensure();const t=It(Gt|$s,e);return(s={})=>new Promise(a=>{s.outro?os(t,()=>{Qe(t),a(void 0)}):(Qe(t),a(void 0))})}function hn(e){return It(Cs,e)}function Gi(e){return It(ys|$s,e)}function Aa(e,t=0){return It(Sa|t,e)}function K(e,t=[],s=[],a=[]){$i(a,t,s,n=>{It(Sa,()=>e(...n.map(r)))})}function Ca(e,t=0){var s=It(bt|t,e);return s}function dt(e){return It(xt|$s,e)}function _n(e){var t=e.teardown;if(t!==null){const s=Vt,a=be;wr(!0),pt(null);try{t.call(null)}finally{wr(s),pt(a)}}}function cr(e,t=!1){var s=e.first;for(e.first=e.last=null;s!==null;){const n=s.ac;n!==null&&ir(()=>{n.abort(Ea)});var a=s.next;(s.f&Gt)!==0?s.parent=null:Qe(s,t),s=a}}function Ui(e){for(var t=e.first;t!==null;){var s=t.next;(t.f&xt)===0&&Qe(t),t=s}}function Qe(e,t=!0){var s=!1;(t||(e.f&qn)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(Wi(e.nodes.start,e.nodes.end),s=!0),Re(e,Oa),cr(e,t&&!s),qs(e,0);var a=e.nodes&&e.nodes.t;if(a!==null)for(const i of a)i.stop();_n(e),e.f^=Oa,e.f|=vt;var n=e.parent;n!==null&&n.first!==null&&gn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Wi(e,t){for(;e!==null;){var s=e===t?null:Ys(e);e.remove(),e=s}}function gn(e){var t=e.parent,s=e.prev,a=e.next;s!==null&&(s.next=a),a!==null&&(a.prev=s),t!==null&&(t.first===e&&(t.first=a),t.last===e&&(t.last=s))}function os(e,t,s=!0){var a=[];mn(e,a,!0);var n=()=>{s&&Qe(e),t&&t()},i=a.length;if(i>0){var o=()=>--i||n();for(var u of a)u.out(o)}else n()}function mn(e,t,s){if((e.f&Xe)===0){e.f^=Xe;var a=e.nodes&&e.nodes.t;if(a!==null)for(const u of a)(u.is_global||s)&&t.push(u);for(var n=e.first;n!==null;){var i=n.next;if((n.f&Gt)===0){var o=(n.f&cs)!==0||(n.f&xt)!==0&&(e.f&bt)!==0;mn(n,t,o?s:!1)}n=i}}}function dr(e){bn(e,!0)}function bn(e,t){if((e.f&Xe)!==0){e.f^=Xe,(e.f&Oe)===0&&(Re(e,He),us.ensure().schedule(e));for(var s=e.first;s!==null;){var a=s.next,n=(s.f&cs)!==0||(s.f&xt)!==0;bn(s,n?t:!1),s=a}var i=e.nodes&&e.nodes.t;if(i!==null)for(const o of i)(o.is_global||t)&&o.in()}}function ur(e,t){if(e.nodes)for(var s=e.nodes.start,a=e.nodes.end;s!==null;){var n=s===a?null:Ys(s);t.append(s),s=n}}let ua=!1,Vt=!1;function wr(e){Vt=e}let be=null,wt=!1;function pt(e){be=e}let ye=null;function Tt(e){ye=e}let ft=null;function yn(e){be!==null&&(ft===null?ft=[e]:ft.push(e))}let Je=null,et=0,it=null;function Xi(e){it=e}let wn=1,Xt=0,ls=Xt;function xr(e){ls=e}function xn(){return++wn}function Zs(e){var t=e.f;if((t&He)!==0)return!0;if(t&Ge&&(e.f&=~ds),(t&jt)!==0){for(var s=e.deps,a=s.length,n=0;ne.wv)return!0}(t&ut)!==0&&yt===null&&Re(e,Oe)}return!1}function kn(e,t,s=!0){var a=e.reactions;if(a!==null&&!(ft!==null&&as.call(ft,e)))for(var n=0;n{e.ac.abort(Ea)}),e.ac=null);try{e.f|=fa;var h=e.fn,f=h();e.f|=fs;var p=e.deps,m=ve?.is_fork;if(Je!==null){var b;if(m||qs(e,et),p!==null&&et>0)for(p.length=et+Je.length,b=0;b{throw _});throw p}}finally{e[Yt]=t,delete e.currentTarget,pt(h),Tt(f)}}}const eo=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function to(e){return eo?.createHTML(e)??e}function so(e){var t=qi("template");return t.innerHTML=to(e.replaceAll("","")),t.content}function ga(e,t){var s=ye;s.nodes===null&&(s.nodes={start:e,end:t,a:null,t:null})}function j(e,t){var s=(t&ui)!==0,a=(t&vi)!==0,n,i=!e.startsWith("");return()=>{n===void 0&&(n=so(i?e:""+e),s||(n=_a(n)));var o=a||ln?document.importNode(n,!0):n.cloneNode(!0);if(s){var u=_a(o),c=o.lastChild;ga(u,c)}else ga(o,o);return o}}function ao(e=""){{var t=Lt(e+"");return ga(t,t),t}}function Ja(){var e=document.createDocumentFragment(),t=document.createComment(""),s=Lt();return e.append(t,s),ga(t,s),e}function A(e,t){e!==null&&e.before(t)}function D(e,t){var s=t==null?"":typeof t=="object"?`${t}`:t;s!==(e[Ms]??(e[Ms]=e.nodeValue))&&(e[Ms]=s,e.nodeValue=`${s}`)}function ro(e,t){return no(e,t)}const aa=new Map;function no(e,{target:t,anchor:s,props:a={},events:n,context:i,intro:o=!0,transformError:u}){Ii();var c=void 0,v=Hi(()=>{var h=s??t.appendChild(Lt());Ai(h,{pending:()=>{}},m=>{je({});var b=rt;i&&(b.c=i),n&&(a.$$events=n),c=e(m,a)||{},Te()},u);var f=new Set,p=m=>{for(var b=0;b{for(var m of f)for(const _ of[t,document]){var b=aa.get(_),x=b.get(m);--x==0?(_.removeEventListener(m,Sr),b.delete(m),b.size===0&&aa.delete(_)):b.set(m,x)}Za.delete(p),h!==s&&h.parentNode?.removeChild(h)}});return io.set(c,v),c}let io=new WeakMap;var _t,At,at,ss,Ws,Xs,xa;class jn{constructor(t,s=!0){Ye(this,"anchor");ce(this,_t,new Map);ce(this,At,new Map);ce(this,at,new Map);ce(this,ss,new Set);ce(this,Ws,!0);ce(this,Xs,t=>{if(g(this,_t).has(t)){var s=g(this,_t).get(t),a=g(this,At).get(s);if(a)dr(a),g(this,ss).delete(s);else{var n=g(this,at).get(s);n&&(g(this,At).set(s,n.effect),g(this,at).delete(s),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),a=n.effect)}for(const[i,o]of g(this,_t)){if(g(this,_t).delete(i),i===t)break;const u=g(this,at).get(o);u&&(Qe(u.effect),g(this,at).delete(o))}for(const[i,o]of g(this,At)){if(i===s||g(this,ss).has(i))continue;const u=()=>{if(Array.from(g(this,_t).values()).includes(i)){var v=document.createDocumentFragment();ur(o,v),v.append(Lt()),g(this,at).set(i,{effect:o,fragment:v})}else Qe(o);g(this,ss).delete(i),g(this,At).delete(i)};g(this,Ws)||!a?(g(this,ss).add(i),os(o,u,!1)):u()}}});ce(this,xa,t=>{g(this,_t).delete(t);const s=Array.from(g(this,_t).values());for(const[a,n]of g(this,at))s.includes(a)||(Qe(n.effect),g(this,at).delete(a))});this.anchor=t,le(this,Ws,s)}ensure(t,s){var a=ve,n=un();if(s&&!g(this,At).has(t)&&!g(this,at).has(t))if(n){var i=document.createDocumentFragment(),o=Lt();i.append(o),g(this,at).set(t,{effect:dt(()=>s(o)),fragment:i})}else g(this,At).set(t,dt(()=>s(this.anchor)));if(g(this,_t).set(a,t),n){for(const[u,c]of g(this,At))u===t?a.unskip_effect(c):a.skip_effect(c);for(const[u,c]of g(this,at))u===t?a.unskip_effect(c.effect):a.skip_effect(c.effect);a.oncommit(g(this,Xs)),a.ondiscard(g(this,xa))}else g(this,Xs).call(this,a)}}_t=new WeakMap,At=new WeakMap,at=new WeakMap,ss=new WeakMap,Ws=new WeakMap,Xs=new WeakMap,xa=new WeakMap;function me(e,t,s=!1){var a=new jn(e),n=s?cs:0;function i(o,u){a.ensure(o,u)}Ca(()=>{var o=!1;t((u,c=0)=>{o=!0,i(c,u)}),o||i(-1,null)},n)}function Fs(e,t){return t}function oo(e,t,s){for(var a=[],n=t.length,i,o=t.length,u=0;u{if(i){if(i.pending.delete(f),i.done.add(f),i.pending.size===0){var p=e.outrogroups;Qa(e,ka(i.done)),p.delete(i),p.size===0&&(e.outrogroups=null)}}else o-=1},!1)}if(o===0){var c=a.length===0&&s!==null;if(c){var v=s,h=v.parentNode;Oi(h),h.append(v),e.items.clear()}Qa(e,t,!c)}else i={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(i)}function Qa(e,t,s=!0){var a;if(e.pending.size>0){a=new Set;for(const o of e.pending.values())for(const u of o)a.add(e.items.get(u).e)}for(var n=0;n{var C=s();return tr(C)?C:C==null?[]:ka(C)}),p,m=new Map,b=!0;function x(C){(E.effect.f&vt)===0&&(E.pending.delete(C),E.fallback=h,lo(E,p,o,t,a),h!==null&&(p.length===0?(h.f&Ct)===0?dr(h):(h.f^=Ct,Ls(h,null,o)):os(h,()=>{h=null})))}function _(C){E.pending.delete(C)}var w=Ca(()=>{p=r(f);for(var C=p.length,F=new Set,G=ve,z=un(),R=0;Ri(o)):(h=dt(()=>i(Er??(Er=Lt()))),h.f|=Ct)),C>F.size&&Un(),!b)if(m.set(G,F),z){for(const[V,q]of u)F.has(V)||G.skip_effect(q.e);G.oncommit(x),G.ondiscard(_)}else x(G);r(f)}),E={effect:w,items:u,pending:m,outrogroups:null,fallback:h};b=!1}function Rs(e){for(;e!==null&&(e.f&xt)===0;)e=e.next;return e}function lo(e,t,s,a,n){var i=(a&ni)!==0,o=t.length,u=e.items,c=Rs(e.effect.first),v,h=null,f,p=[],m=[],b,x,_,w;if(i)for(w=0;w0){var O=(a&qr)!==0&&o===0?s:null;if(i){for(w=0;w{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function co(e,t,s,a,n,i,o,u){var c=(o&ai)!==0?(o&ii)===0?Li(s,!1,!1):vs(s):null,v=(o&ri)!==0?vs(n):null;return{v:c,i:v,e:dt(()=>(i(t,c??s,v??n,u),()=>{e.delete(a)}))}}function Ls(e,t,s){if(e.nodes)for(var a=e.nodes.start,n=e.nodes.end,i=t&&(t.f&Ct)===0?t.nodes.start:s;a!==null;){var o=Ys(a);if(i.before(a),a===n)return;a=o}}function Ot(e,t,s){t===null?e.effect.first=s:t.next=s,s===null?e.effect.last=t:s.prev=t}function Tn(e,t,...s){var a=new jn(e);Ca(()=>{const n=t()??null;a.ensure(n,n&&(i=>n(i,...s)))},cs)}const Ar=[...` -\r\f \v\uFEFF`];function uo(e,t,s){var a=e==null?"":""+e;if(t&&(a=a?a+" "+t:t),s){for(var n of Object.keys(s))if(s[n])a=a?a+" "+n:n;else if(a.length)for(var i=n.length,o=0;(o=a.indexOf(n,o))>=0;){var u=o+i;(o===0||Ar.includes(a[o-1]))&&(u===a.length||Ar.includes(a[u]))?a=(o===0?"":a.substring(0,o))+a.substring(u+1):o=u}}return a===""?null:a}function Cr(e,t=!1){var s=t?" !important;":";",a="";for(var n of Object.keys(e)){var i=e[n];i!=null&&i!==""&&(a+=" "+n+": "+i+s)}return a}function Ma(e){return e[0]!=="-"||e[1]!=="-"?e.toLowerCase():e}function vo(e,t){if(t){var s="",a,n;if(Array.isArray(t)?(a=t[0],n=t[1]):a=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var i=!1,o=0,u=!1,c=[];a&&c.push(...Object.keys(a).map(Ma)),n&&c.push(...Object.keys(n).map(Ma));var v=0,h=-1;const x=e.length;for(var f=0;f{Ks(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),vn(()=>{t.disconnect()})}function ba(e,t,s=t){var a=new WeakSet,n=!0;or(e,"change",i=>{var o=i?"[selected]":":checked",u;if(e.multiple)u=[].map.call(e.querySelectorAll(o),Is);else{var c=e.querySelector(o)??e.querySelector("option:not([disabled])");u=c&&Is(c)}s(u),e.__value=u,ve!==null&&a.add(ve)}),hn(()=>{var i=t();if(e===document.activeElement){var o=ve;if(a.has(o))return}if(Ks(e,i,n),n&&i===void 0){var u=e.querySelector(":checked");u!==null&&(i=Is(u),s(i))}e.__value=i,n=!1}),ma(e)}function Is(e){return"__value"in e?e.__value:e.value}const fo=Symbol("is custom element"),po=Symbol("is html"),ho=Hn?"progress":"PROGRESS";function Bs(e,t){var s=zn(e);s.value===(s.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==ho)||(e.value=t??"")}function te(e,t,s,a){var n=zn(e);n[t]!==(n[t]=s)&&(t==="loading"&&(e[Nn]=s),s==null?e.removeAttribute(t):typeof s!="string"&&_o(e).includes(t)?e[t]=s:e.setAttribute(t,s))}function zn(e){return e[na]??(e[na]={[fo]:e.nodeName.includes("-"),[po]:e.namespaceURI===Kr})}var jr=new Map;function _o(e){var t=e.getAttribute("is")||e.nodeName,s=jr.get(t);if(s)return s;jr.set(t,s=[]);for(var a,n=e,i=Element.prototype;i!==n;){a=Pn(n);for(var o in a)a[o].set&&o!=="innerHTML"&&o!=="textContent"&&o!=="innerText"&&s.push(o);n=Pr(n)}return s}function Pt(e,t,s=t){var a=new WeakSet;or(e,"input",async n=>{var i=n?e.defaultValue:e.value;if(i=La(e)?Pa(i):i,s(i),ve!==null&&a.add(ve),await Zi(),i!==(i=t())){var o=e.selectionStart,u=e.selectionEnd,c=e.value.length;if(e.value=i??"",u!==null){var v=e.value.length;o===u&&u===c&&v>c?(e.selectionStart=v,e.selectionEnd=v):(e.selectionStart=o,e.selectionEnd=Math.min(u,v))}}}),Js(t)==null&&e.value&&(s(La(e)?Pa(e.value):e.value),ve!==null&&a.add(ve)),Aa(()=>{var n=t();if(e===document.activeElement){var i=ve;if(a.has(i))return}La(e)&&n===Pa(e.value)||e.type==="date"&&!n&&!e.value||n!==e.value&&(e.value=n??"")})}function go(e,t,s=t){or(e,"change",a=>{var n=a?e.defaultChecked:e.checked;s(n)}),Js(t)==null&&s(e.checked),Aa(()=>{var a=t();e.checked=!!a})}function La(e){var t=e.type;return t==="number"||t==="range"}function Pa(e){return e===""?null:+e}function Va(e,t){return e===t||e?.[rs]===t}function mo(e={},t,s,a){var n=rt.r,i=ye;return hn(()=>{var o,u;return Aa(()=>{o=u,u=[],Js(()=>{Va(s(...u),e)||(t(e,...u),o&&Va(s(...o),e)&&t(null,...o))})}),()=>{let c=i;for(;c!==n&&c.parent!==null&&c.parent.f&Oa;)c=c.parent;const v=()=>{u&&Va(s(...u),e)&&t(null,...u)},h=c.teardown;c.teardown=()=>{v(),h?.()}}}),e}function Ee(e,t,s,a){var n=!0,i=(s&ci)!==0,o=(s&di)!==0,u=a,c=!0,v=void 0,h=()=>o&&n?(v??(v=Os(a)),r(v)):(c&&(c=!1,u=o?Js(a):a),u);let f;if(i){var p=rs in e||Bn in e;f=bs(e,t)?.set??(p&&t in e?F=>e[t]=F:void 0)}var m,b=!1;i?[m,b]=bi(()=>e[t]):m=e[t],m===void 0&&a!==void 0&&(m=h(),f&&(Jn(),f(m)));var x;if(x=()=>{var F=e[t];return F===void 0?h():(c=!0,F)},(s&li)===0)return x;if(f){var _=e.$$legacy;return(function(F,G){return arguments.length>0?((!G||_||b)&&f(G?x():F),F):x()})}var w=!1,E=((s&oi)!==0?Os:sn)(()=>(w=!1,x()));i&&r(E);var C=ye;return(function(F,G){if(arguments.length>0){const z=G?r(E):i?Ke(F):F;return X(E,z),w=!0,u!==void 0&&(u=z),F}return Vt&&w||(C.f&vt)!==0?E.v:r(E)})}const bo="5";var Lr;typeof window<"u"&&((Lr=window.__svelte??(window.__svelte={})).v??(Lr.v=new Set)).add(bo);const $t=typeof window<"u"&&window.slashedApp?window.slashedApp:{defaults:{},settings:{},tabs:{},rest:{url:"",nonce:""}},pe={defaults:$t.defaults||{},tabs:$t.tabs||{},rest:$t.rest||{url:"",nonce:""},inventory:$t.inventory||{variables:[],sf_classes:[],is_classes:[]},pluginSettings:$t.pluginSettings||{},versions:$t.versions||{plugin:"",framework:""},activeIntegrations:$t.activeIntegrations||{bricks:!0},bricksFonts:$t.bricksFonts||[]},Q=Ke(structuredClone($t.settings||{})),re=Ke({activeTab:yo(pe.tabs)||"colors",dirty:!1,saving:!1,lastSavedAt:null,error:""});function yo(e){for(const t in e)return t;return null}function vr(){re.dirty=!0,re.error=""}function Tr(e){Q[e]&&delete Q[e]}function wo(e,t){const s=Q[e];if(!s)return"";const a=s[t];return a==null?"":String(a)}function gt(e,t,s){Q[e]||(Q[e]={}),s===""||s===null||s===void 0||typeof s=="string"&&s.trim()===""?delete Q[e][t]:Q[e][t]=String(s),vr()}var xo=j(''),ko=j('');function So(e,t){je(t,!0);var s=ko();he(s,21,()=>Object.entries(pe.tabs),([a,n])=>a,(a,n)=>{var i=y(()=>mt(r(n),2));let o=()=>r(i)[0],u=()=>r(i)[1];var c=xo();let v;var h=l(c);K(()=>{v=Le(c,1,"tab-nav__btn svelte-yyiz68",null,v,{active:re.activeTab===o()}),D(h,u())}),ge("click",c,()=>re.activeTab=o()),A(a,c)}),A(e,s),Te()}Be(["click"]);var Eo=j(' '),Ao=j(' ',1),Co=j(''),jo=j('
');function ra(e,t){je(t,!0);let s=Ee(t,"hexHint",3,""),a=Ee(t,"rawHint",3,""),n=Ee(t,"cssVar",3,"");const i=/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,o=(()=>{const V=(Q.colors?.[t.storeKey]??"").trim(),q=V===""||i.test(V);return{mode:q?"hex":"raw",hex:q?V:"",raw:q?"":V}})();let u=fe(Ke(o.mode)),c=fe(Ke(o.hex)),v=fe(Ke(o.raw));function h(){Q.colors||(Q.colors={});const V=r(v).trim(),q=r(c).trim(),T=r(u)==="raw"?V:q;T===""?delete Q.colors[t.storeKey]:Q.colors[t.storeKey]=T,vr()}function f(){r(u)==="hex"?(X(u,"raw"),X(c,"")):(X(u,"hex"),X(v,"")),h()}const p=y(()=>(r(u)==="raw"?r(v):r(c))||s()||"transparent");var m=jo(),b=l(m),x=l(b),_=l(x),w=d(x,2);{var E=V=>{var q=Eo(),T=l(q);K(()=>D(T,n())),A(V,q)};me(w,V=>{n()&&V(E)})}var C=d(b,2),F=l(C);let G;var z=d(F,2);{var R=V=>{var q=Ao(),T=nt(q),k=d(T,2);K(()=>{te(T,"id",t.storeKey),te(k,"placeholder",s())}),ge("input",T,h),Pt(T,()=>r(c),$=>X(c,$)),ge("input",k,h),Pt(k,()=>r(c),$=>X(c,$)),A(V,q)},P=V=>{var q=Co();K(()=>{te(q,"id",t.storeKey),te(q,"placeholder",a())}),ge("input",q,h),Pt(q,()=>r(v),T=>X(v,T)),A(V,q)};me(z,V=>{r(u)==="hex"?V(R):V(P,-1)})}var O=d(z,2),M=l(O);K(()=>{te(x,"for",t.storeKey),D(_,t.label),G=_e(F,"",G,{background:r(p)}),D(M,r(u)==="hex"?"Advanced (oklch / raw)":"Use HEX picker")}),ge("click",O,f),A(e,m),Te()}Be(["input","click"]);var To=j('
'),zo=j('
');function Qs(e,t){je(t,!0);let s=fe(!1);const a=`adv-body-${Math.random().toString(36).slice(2,9)}`;var n=zo(),i=l(n),o=d(l(i));let u;var c=l(o),v=d(i,2);{var h=f=>{var p=To(),m=l(p);Tn(m,()=>t.children),K(()=>te(p,"id",a)),A(f,p)};me(v,f=>{r(s)&&f(h)})}K(()=>{te(i,"aria-expanded",r(s)),te(i,"aria-controls",a),u=Le(o,1,"advanced-section__arrow",null,u,{open:r(s)}),D(c,r(s)?"▲":"▼")}),ge("click",i,()=>X(s,!r(s))),A(e,n),Te()}Be(["click"]);var $o=j('

Brand Colors — Dark Mode

Status Colors — Dark Mode

',1),Fo=j(`

Status Colors — Light Mode

The framework auto-derives dark mode from light source colors using CSS relative color syntax +var Dn=Object.defineProperty;var br=e=>{throw TypeError(e)};var Ln=(e,t,s)=>t in e?Dn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var Je=(e,t,s)=>Ln(e,typeof t!="symbol"?t+"":t,s),Ma=(e,t,s)=>t.has(e)||br("Cannot "+s);var g=(e,t,s)=>(Ma(e,t,"read from private field"),s?s.call(e):t.get(e)),ve=(e,t,s)=>t.has(e)?br("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,s),ce=(e,t,s,a)=>(Ma(e,t,"write to private field"),a?a.call(e,s):t.set(e,s),s),Ee=(e,t,s)=>(Ma(e,t,"access private method"),s);var ir=Array.isArray,In=Array.prototype.indexOf,is=Array.prototype.includes,$a=Array.from,Vn=Object.defineProperty,xs=Object.getOwnPropertyDescriptor,On=Object.getOwnPropertyDescriptors,Kn=Object.prototype,Bn=Array.prototype,Kr=Object.getPrototypeOf,yr=Object.isExtensible;const Br=()=>{};function Nn(e){for(var t=0;t{e=a,t=n});return{promise:s,resolve:e,reject:t}}function wt(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);const s=[];for(const a of e)if(s.push(a),s.length===t)break;return s}const We=2,js=4,Ta=8,Hr=1<<24,xt=16,Et=32,Xt=64,Na=128,pt=512,Be=1024,Ue=2048,Ft=4096,Xe=8192,ht=16384,_s=32768,Ha=1<<25,vs=65536,_a=1<<17,Hn=1<<18,Ps=1<<19,Gn=1<<20,zt=1<<25,fs=65536,ga=1<<21,ks=1<<22,Yt=1<<23,os=Symbol("$state"),Un=Symbol("legacy props"),Wn=Symbol(""),ca=Symbol("attributes"),Ga=Symbol("class"),Ua=Symbol("style"),Ls=Symbol("text"),da=Symbol("form reset"),ja=new class extends Error{constructor(){super(...arguments);Je(this,"name","StaleReactionError");Je(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}},Yn=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml");function Xn(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Zn(e,t,s){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Jn(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Qn(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function ei(e){throw new Error("https://svelte.dev/e/effect_orphan")}function ti(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function si(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function ai(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function ri(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function ni(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function ii(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const oi=1,li=2,Gr=4,ci=8,di=16,ui=1,vi=4,fi=8,pi=16,hi=1,_i=2,Ke=Symbol("uninitialized"),Ur="http://www.w3.org/1999/xhtml";function gi(){console.warn("https://svelte.dev/e/derived_inert")}function mi(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function bi(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Wr(e){return e===this.v}function yi(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Yr(e){return!yi(e,this.v)}let it=null;function zs(e){it=e}function ze(e,t=!1,s){it={p:it,i:!1,c:null,e:null,s:e,x:null,r:we,l:null}}function Fe(e){var t=it,s=t.e;if(s!==null){t.e=null;for(var a of s)mn(a)}return t.i=!0,it=t.p,{}}function Xr(){return!0}let Zt=[];function Zr(){var e=Zt;Zt=[],Nn(e)}function ls(e){if(Zt.length===0&&!Os){var t=Zt;queueMicrotask(()=>{t===Zt&&Zr()})}Zt.push(e)}function wi(){for(;Zt.length>0;)Zr()}function Jr(e){var t=we;if(t===null)return ye.f|=Yt,e;if((t.f&_s)===0&&(t.f&js)===0)throw e;Wt(e,t)}function Wt(e,t){for(;t!==null;){if((t.f&Na)!==0){if((t.f&_s)===0)throw e;try{t.b.error(e);return}catch(s){e=s}}t=t.parent}throw e}const xi=-7169;function Me(e,t){e.f=e.f&xi|t}function or(e){(e.f&pt)!==0||e.deps===null?Me(e,Be):Me(e,Ft)}function Qr(e){if(e!==null)for(const t of e)(t.f&We)===0||(t.f&fs)===0||(t.f^=fs,Qr(t.deps))}function en(e,t,s){(e.f&Ue)!==0?t.add(e):(e.f&Ft)!==0&&s.add(e),Qr(e.deps),Me(e,Be)}let na=!1;function ki(e){var t=na;try{return na=!1,[e(),na]}finally{na=t}}let Da=null,ms=null,pe=null,Wa=null,kt=null,Ya=null,Os=!1,La=!1,ws=null,ua=null;var wr=0;let Si=1;var Ss,Ht,es,Es,As,ts,Cs,Mt,Ws,at,Ys,Gt,$t,Tt,$s,ss,Ce,Xa,Is,Za,tn,sn,va,Ei,Ja,ys;const Ea=class Ea{constructor(){ve(this,Ce);Je(this,"id",Si++);ve(this,Ss,!1);Je(this,"linked",!0);ve(this,Ht,null);ve(this,es,null);Je(this,"async_deriveds",new Map);Je(this,"current",new Map);Je(this,"previous",new Map);Je(this,"unblocked",new Set);ve(this,Es,new Set);ve(this,As,new Set);ve(this,ts,new Set);ve(this,Cs,0);ve(this,Mt,new Map);ve(this,Ws,null);ve(this,at,[]);ve(this,Ys,[]);ve(this,Gt,new Set);ve(this,$t,new Set);ve(this,Tt,new Map);ve(this,$s,new Set);Je(this,"is_fork",!1);ve(this,ss,!1)}skip_effect(t){g(this,Tt).has(t)||g(this,Tt).set(t,{d:[],m:[]}),g(this,$s).delete(t)}unskip_effect(t,s=a=>this.schedule(a)){var a=g(this,Tt).get(t);if(a){g(this,Tt).delete(t);for(var n of a.d)Me(n,Ue),s(n);for(n of a.m)Me(n,Ft),s(n)}g(this,$s).add(t)}capture(t,s,a=!1){t.v!==Ke&&!this.previous.has(t)&&this.previous.set(t,t.v),(t.f&Yt)===0&&(this.current.set(t,[s,a]),kt?.set(t,s)),this.is_fork||(t.v=s)}activate(){pe=this}deactivate(){pe=null,kt=null}flush(){try{La=!0,pe=this,Ee(this,Ce,Is).call(this)}finally{wr=0,Ya=null,ws=null,ua=null,La=!1,pe=null,kt=null,cs.clear()}}discard(){for(const t of g(this,As))t(this);g(this,As).clear(),g(this,ts).clear(),Ee(this,Ce,ys).call(this)}register_created_effect(t){g(this,Ys).push(t)}increment(t,s){if(ce(this,Cs,g(this,Cs)+1),t){let a=g(this,Mt).get(s)??0;g(this,Mt).set(s,a+1)}}decrement(t,s){if(ce(this,Cs,g(this,Cs)-1),t){let a=g(this,Mt).get(s)??0;a===1?g(this,Mt).delete(s):g(this,Mt).set(s,a-1)}g(this,ss)||(ce(this,ss,!0),ls(()=>{ce(this,ss,!1),this.linked&&this.flush()}))}transfer_effects(t,s){for(const a of t)g(this,Gt).add(a);for(const a of s)g(this,$t).add(a);t.clear(),s.clear()}oncommit(t){g(this,Es).add(t)}ondiscard(t){g(this,As).add(t)}on_fork_commit(t){g(this,ts).add(t)}run_fork_commit_callbacks(){for(const t of g(this,ts))t(this);g(this,ts).clear()}settled(){return(g(this,Ws)??ce(this,Ws,Nr())).promise}static ensure(){var t;if(pe===null){const s=pe=new Ea;Ee(t=s,Ce,Ja).call(t),!La&&!Os&&ls(()=>{g(s,Ss)||s.flush()})}return pe}apply(){{kt=null;return}}schedule(t){if(Ya=t,t.b?.is_pending&&(t.f&(js|Ta|Hr))!==0&&(t.f&_s)===0){t.b.defer_effect(t);return}for(var s=t;s.parent!==null;){s=s.parent;var a=s.f;if(ws!==null&&s===we&&(ye===null||(ye.f&We)===0))return;if((a&(Xt|Et))!==0){if((a&Be)===0)return;s.f^=Be}}g(this,at).push(s)}};Ss=new WeakMap,Ht=new WeakMap,es=new WeakMap,Es=new WeakMap,As=new WeakMap,ts=new WeakMap,Cs=new WeakMap,Mt=new WeakMap,Ws=new WeakMap,at=new WeakMap,Ys=new WeakMap,Gt=new WeakMap,$t=new WeakMap,Tt=new WeakMap,$s=new WeakMap,ss=new WeakMap,Ce=new WeakSet,Xa=function(){if(this.is_fork)return!0;for(const a of g(this,Mt).keys()){for(var t=a,s=!1;t.parent!==null;){if(g(this,Tt).has(t)){s=!0;break}t=t.parent}if(!s)return!0}return!1},Is=function(){var c,v,h;if(ce(this,Ss,!0),wr++>1e3&&(Ee(this,Ce,ys).call(this),Ci()),!Ee(this,Ce,Xa).call(this)){for(const f of g(this,Gt))g(this,$t).delete(f),Me(f,Ue),this.schedule(f);for(const f of g(this,$t))Me(f,Ft),this.schedule(f)}const t=g(this,at);ce(this,at,[]),this.apply();var s=ws=[],a=[],n=ua=[];for(const f of t)try{Ee(this,Ce,Za).call(this,f,s,a)}catch(p){throw nn(f),p}if(pe=null,n.length>0){var i=Ea.ensure();for(const f of n)i.schedule(f)}if(ws=null,ua=null,Ee(this,Ce,Xa).call(this)){Ee(this,Ce,va).call(this,a),Ee(this,Ce,va).call(this,s);for(const[f,p]of g(this,Tt))rn(f,p);n.length>0&&Ee(c=pe,Ce,Is).call(c);return}const o=Ee(this,Ce,tn).call(this);if(o){Ee(v=o,Ce,sn).call(v,this);return}g(this,Gt).clear(),g(this,$t).clear();for(const f of g(this,Es))f(this);g(this,Es).clear(),Wa=this,xr(a),xr(s),Wa=null,g(this,Ws)?.resolve();var u=pe;if(this.linked&&g(this,Cs)===0&&Ee(this,Ce,ys).call(this),g(this,at).length>0){u===null&&(u=this,Ee(this,Ce,Ja).call(this));const f=u;g(f,at).push(...g(this,at).filter(p=>!g(f,at).includes(p)))}u!==null&&Ee(h=u,Ce,Is).call(h)},Za=function(t,s,a){t.f^=Be;for(var n=t.first;n!==null;){var i=n.f,o=(i&(Et|Xt))!==0,u=o&&(i&Be)!==0,c=u||(i&Xe)!==0||g(this,Tt).has(n);if(!c&&n.fn!==null){o?n.f^=Be:(i&js)!==0?s.push(n):ta(n)&&((i&xt)!==0&&g(this,$t).add(n),Rs(n));var v=n.first;if(v!==null){n=v;continue}}for(;n!==null;){var h=n.next;if(h!==null){n=h;break}n=n.parent}}},tn=function(){for(var t=g(this,Ht);t!==null;){if(!t.is_fork){for(const[s,[,a]]of this.current)if(t.current.has(s)&&!a)return t}t=g(t,Ht)}return null},sn=function(t){var a;for(const[n,i]of t.current)!this.previous.has(n)&&t.previous.has(n)&&this.previous.set(n,t.previous.get(n)),this.current.set(n,i);for(const[n,i]of t.async_deriveds){const o=this.async_deriveds.get(n);o&&i.promise.then(o.resolve)}const s=n=>{var i=n.reactions;if(i!==null)for(const c of i){var o=c.f;if((o&We)!==0)s(c);else{var u=c;o&(ks|xt)&&!this.async_deriveds.has(u)&&(g(this,$t).delete(u),Me(u,Ue),this.schedule(u))}}};for(const n of this.current.keys())s(n);this.oncommit(()=>t.discard()),Ee(a=t,Ce,ys).call(a),pe=this,Ee(this,Ce,Is).call(this)},va=function(t){for(var s=0;s!this.current.has(p));if(n.length===0)t&&f.discard();else if(s.length>0){if(t)for(const p of g(this,$s))f.unskip_effect(p,m=>{var b;(m.f&(xt|ks))!==0?f.schedule(m):Ee(b=f,Ce,va).call(b,[m])});f.activate();var i=new Set,o=new Map;for(var u of s)an(u,n,i,o);o=new Map;var c=[...f.current.keys()].filter(p=>this.current.has(p)?this.current.get(p)[0]!==p.v:!0);if(c.length>0)for(const p of g(this,Ys))(p.f&(ht|Xe|_a))===0&&lr(p,c,o)&&((p.f&(ks|xt))!==0?(Me(p,Ue),f.schedule(p)):g(f,Gt).add(p));if(g(f,at).length>0&&!g(f,ss)){f.apply();for(var v of g(f,at))Ee(h=f,Ce,Za).call(h,v,[],[]);ce(f,at,[])}f.deactivate()}}}},Ja=function(){ms===null?Da=ms=this:(ce(ms,es,this),ce(this,Ht,ms)),ms=this},ys=function(){var t=g(this,Ht),s=g(this,es);t===null?Da=s:ce(t,es,s),s===null?ms=t:ce(s,Ht,t),this.linked=!1};let ps=Ea;function Ai(e){var t=Os;Os=!0;try{for(var s;;){if(wi(),pe===null)return s;pe.flush()}}finally{Os=t}}function Ci(){try{ti()}catch(e){Wt(e,Ya)}}let qt=null;function xr(e){var t=e.length;if(t!==0){for(var s=0;s0)){cs.clear();for(const n of qt){if((n.f&(ht|Xe))!==0)continue;const i=[n];let o=n.parent;for(;o!==null;)qt.has(o)&&(qt.delete(o),i.push(o)),o=o.parent;for(let u=i.length-1;u>=0;u--){const c=i[u];(c.f&(ht|Xe))===0&&Rs(c)}}qt.clear()}}qt=null}}function an(e,t,s,a){if(!s.has(e)&&(s.add(e),e.reactions!==null))for(const n of e.reactions){const i=n.f;(i&We)!==0?an(n,t,s,a):(i&(ks|xt))!==0&&(i&Ue)===0&&lr(n,t,a)&&(Me(n,Ue),cr(n))}}function lr(e,t,s){const a=s.get(e);if(a!==void 0)return a;if(e.deps!==null)for(const n of e.deps){if(is.call(t,n))return!0;if((n.f&We)!==0&&lr(n,t,s))return s.set(n,!0),!0}return s.set(e,!1),!1}function cr(e){pe.schedule(e)}function rn(e,t){if(!((e.f&Et)!==0&&(e.f&Be)!==0)){(e.f&Ue)!==0?t.d.push(e):(e.f&Ft)!==0&&t.m.push(e),Me(e,Be);for(var s=e.first;s!==null;)rn(s,t),s=s.next}}function nn(e){Me(e,Be);for(var t=e.first;t!==null;)nn(t),t=t.next}function $i(e){let t=0,s=hs(0),a;return()=>{fr()&&(r(s),Fa(()=>(t===0&&(a=sa(()=>e(()=>Ks(s)))),t+=1,()=>{ls(()=>{t-=1,t===0&&(a?.(),a=void 0,Ks(s))})})))}}var Ti=vs|Ps;function ji(e,t,s,a){new zi(e,t,s,a)}var dt,nr,ut,as,Qe,vt,Ye,rt,Dt,rs,Ut,Ts,Xs,Zs,Lt,Aa,Le,Fi,Ri,Pi,Qa,fa,pa,er,tr;class zi{constructor(t,s,a,n){ve(this,Le);Je(this,"parent");Je(this,"is_pending",!1);Je(this,"transform_error");ve(this,dt);ve(this,nr,null);ve(this,ut);ve(this,as);ve(this,Qe);ve(this,vt,null);ve(this,Ye,null);ve(this,rt,null);ve(this,Dt,null);ve(this,rs,0);ve(this,Ut,0);ve(this,Ts,!1);ve(this,Xs,new Set);ve(this,Zs,new Set);ve(this,Lt,null);ve(this,Aa,$i(()=>(ce(this,Lt,hs(g(this,rs))),()=>{ce(this,Lt,null)})));ce(this,dt,t),ce(this,ut,s),ce(this,as,i=>{var o=we;o.b=this,o.f|=Na,a(i)}),this.parent=we.b,this.transform_error=n??this.parent?.transform_error??(i=>i),ce(this,Qe,Ra(()=>{Ee(this,Le,Qa).call(this)},Ti))}defer_effect(t){en(t,g(this,Xs),g(this,Zs))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!g(this,ut).pending}update_pending_count(t,s){Ee(this,Le,er).call(this,t,s),ce(this,rs,g(this,rs)+t),!(!g(this,Lt)||g(this,Ts))&&(ce(this,Ts,!0),ls(()=>{ce(this,Ts,!1),g(this,Lt)&&Fs(g(this,Lt),g(this,rs))}))}get_effect_pending(){return g(this,Aa).call(this),r(g(this,Lt))}error(t){if(!g(this,ut).onerror&&!g(this,ut).failed)throw t;pe?.is_fork?(g(this,vt)&&pe.skip_effect(g(this,vt)),g(this,Ye)&&pe.skip_effect(g(this,Ye)),g(this,rt)&&pe.skip_effect(g(this,rt)),pe.on_fork_commit(()=>{Ee(this,Le,tr).call(this,t)})):Ee(this,Le,tr).call(this,t)}}dt=new WeakMap,nr=new WeakMap,ut=new WeakMap,as=new WeakMap,Qe=new WeakMap,vt=new WeakMap,Ye=new WeakMap,rt=new WeakMap,Dt=new WeakMap,rs=new WeakMap,Ut=new WeakMap,Ts=new WeakMap,Xs=new WeakMap,Zs=new WeakMap,Lt=new WeakMap,Aa=new WeakMap,Le=new WeakSet,Fi=function(){try{ce(this,vt,ft(()=>g(this,as).call(this,g(this,dt))))}catch(t){this.error(t)}},Ri=function(t){const s=g(this,ut).failed;s&&ce(this,rt,ft(()=>{s(g(this,dt),()=>t,()=>()=>{})}))},Pi=function(){const t=g(this,ut).pending;t&&(this.is_pending=!0,ce(this,Ye,ft(()=>t(g(this,dt)))),ls(()=>{var s=ce(this,Dt,document.createDocumentFragment()),a=It();s.append(a),ce(this,vt,Ee(this,Le,pa).call(this,()=>ft(()=>g(this,as).call(this,a)))),g(this,Ut)===0&&(g(this,dt).before(s),ce(this,Dt,null),ds(g(this,Ye),()=>{ce(this,Ye,null)}),Ee(this,Le,fa).call(this,pe))}))},Qa=function(){try{if(this.is_pending=this.has_pending_snippet(),ce(this,Ut,0),ce(this,rs,0),ce(this,vt,ft(()=>{g(this,as).call(this,g(this,dt))})),g(this,Ut)>0){var t=ce(this,Dt,document.createDocumentFragment());_r(g(this,vt),t);const s=g(this,ut).pending;ce(this,Ye,ft(()=>s(g(this,dt))))}else Ee(this,Le,fa).call(this,pe)}catch(s){this.error(s)}},fa=function(t){this.is_pending=!1,t.transfer_effects(g(this,Xs),g(this,Zs))},pa=function(t){var s=we,a=ye,n=it;Rt(g(this,Qe)),gt(g(this,Qe)),zs(g(this,Qe).ctx);try{return ps.ensure(),t()}catch(i){return Jr(i),null}finally{Rt(s),gt(a),zs(n)}},er=function(t,s){var a;if(!this.has_pending_snippet()){this.parent&&Ee(a=this.parent,Le,er).call(a,t,s);return}ce(this,Ut,g(this,Ut)+t),g(this,Ut)===0&&(Ee(this,Le,fa).call(this,s),g(this,Ye)&&ds(g(this,Ye),()=>{ce(this,Ye,null)}),g(this,Dt)&&(g(this,dt).before(g(this,Dt)),ce(this,Dt,null)))},tr=function(t){g(this,vt)&&(tt(g(this,vt)),ce(this,vt,null)),g(this,Ye)&&(tt(g(this,Ye)),ce(this,Ye,null)),g(this,rt)&&(tt(g(this,rt)),ce(this,rt,null));var s=g(this,ut).onerror;let a=g(this,ut).failed;var n=!1,i=!1;const o=()=>{if(n){bi();return}n=!0,i&&ii(),g(this,rt)!==null&&ds(g(this,rt),()=>{ce(this,rt,null)}),Ee(this,Le,pa).call(this,()=>{Ee(this,Le,Qa).call(this)})},u=c=>{try{i=!0,s?.(c,o),i=!1}catch(v){Wt(v,g(this,Qe)&&g(this,Qe).parent)}a&&ce(this,rt,Ee(this,Le,pa).call(this,()=>{try{return ft(()=>{var v=we;v.b=this,v.f|=Na,a(g(this,dt),()=>c,()=>o)})}catch(v){return Wt(v,g(this,Qe).parent),null}}))};ls(()=>{var c;try{c=this.transform_error(t)}catch(v){Wt(v,g(this,Qe)&&g(this,Qe).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(u,v=>Wt(v,g(this,Qe)&&g(this,Qe).parent)):u(c)})};function qi(e,t,s,a){const n=Ns;var i=e.filter(p=>!p.settled);if(s.length===0&&i.length===0){a(t.map(n));return}var o=we,u=Mi(),c=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(p=>p.promise)):null;function v(p){if((o.f&ht)===0){u();try{a(p)}catch(m){Wt(m,o)}ma()}}var h=on();if(s.length===0){c.then(()=>v(t.map(n))).finally(h);return}function f(){Promise.all(s.map(p=>Di(p))).then(p=>v([...t.map(n),...p])).catch(p=>Wt(p,o)).finally(h)}c?c.then(()=>{u(),f(),ma()}):f()}function Mi(){var e=we,t=ye,s=it,a=pe;return function(i=!0){Rt(e),gt(t),zs(s),i&&(e.f&ht)===0&&(a?.activate(),a?.apply())}}function ma(e=!0){Rt(null),gt(null),zs(null),e&&pe?.deactivate()}function on(){var e=we,t=e.b,s=pe,a=t.is_rendered();return t.update_pending_count(1,s),s.increment(a,e),()=>{t.update_pending_count(-1,s),s.decrement(a,e)}}function Ns(e){var t=We|Ue;return we!==null&&(we.f|=Ps),{ctx:it,deps:null,effects:null,equals:Wr,f:t,fn:e,reactions:null,rv:0,v:Ke,wv:0,parent:we,ac:null}}const ia=Symbol("obsolete");function Di(e,t,s){let a=we;a===null&&Xn();var n=void 0,i=hs(Ke),o=!ye,u=new Set;return Xi(()=>{var c=we,v=Nr();n=v.promise;try{Promise.resolve(e()).then(v.resolve,m=>{m!==ja&&v.reject(m)}).finally(ma)}catch(m){v.reject(m),ma()}var h=pe;if(o){if((c.f&_s)!==0)var f=on();if(a.b.is_rendered())h.async_deriveds.get(c)?.reject(ia);else for(const m of u.values())m.reject(ia);u.add(v),h.async_deriveds.set(c,v)}const p=(m,b=void 0)=>{f?.(),u.delete(v),b!==ia&&(h.activate(),b?(i.f|=Yt,Fs(i,b)):((i.f&Yt)!==0&&(i.f^=Yt),Fs(i,m)),h.deactivate())};v.promise.then(p,m=>p(null,m||"unknown"))}),gn(()=>{for(const c of u)c.reject(ia)}),new Promise(c=>{function v(h){function f(){h===n?c(i):v(n)}h.then(f,f)}v(n)})}function y(e){const t=Ns(e);return Sn(t),t}function ln(e){const t=Ns(e);return t.equals=Yr,t}function Li(e){var t=e.effects;if(t!==null){e.effects=null;for(var s=0;s0&&!un&&Oi()}return t}function Oi(){un=!1;for(const e of ba){(e.f&Be)!==0&&Me(e,Ft);let t;try{t=ta(e)}catch{t=!0}t&&Rs(e)}ba.clear()}function Ks(e){J(e,e.v+1)}function vn(e,t,s){var a=e.reactions;if(a!==null)for(var n=a.length,i=0;i{if(us===i)return u();var c=ye,v=us;gt(null),Cr(i);var h=u();return gt(c),Cr(v),h};return a&&s.set("length",he(e.length)),new Proxy(e,{defineProperty(u,c,v){(!("value"in v)||v.configurable===!1||v.enumerable===!1||v.writable===!1)&&ai();var h=s.get(c);return h===void 0?o(()=>{var f=he(v.value);return s.set(c,f),f}):J(h,v.value,!0),!0},deleteProperty(u,c){var v=s.get(c);if(v===void 0){if(c in u){const h=o(()=>he(Ke));s.set(c,h),Ks(n)}}else J(v,Ke),Ks(n);return!0},get(u,c,v){if(c===os)return e;var h=s.get(c),f=c in u;if(h===void 0&&(!f||xs(u,c)?.writable)&&(h=o(()=>{var m=Ve(f?u[c]:Ke),b=he(m);return b}),s.set(c,h)),h!==void 0){var p=r(h);return p===Ke?void 0:p}return Reflect.get(u,c,v)},getOwnPropertyDescriptor(u,c){var v=Reflect.getOwnPropertyDescriptor(u,c);if(v&&"value"in v){var h=s.get(c);h&&(v.value=r(h))}else if(v===void 0){var f=s.get(c),p=f?.v;if(f!==void 0&&p!==Ke)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return v},has(u,c){if(c===os)return!0;var v=s.get(c),h=v!==void 0&&v.v!==Ke||Reflect.has(u,c);if(v!==void 0||we!==null&&(!h||xs(u,c)?.writable)){v===void 0&&(v=o(()=>{var p=h?Ve(u[c]):Ke,m=he(p);return m}),s.set(c,v));var f=r(v);if(f===Ke)return!1}return h},set(u,c,v,h){var f=s.get(c),p=c in u;if(a&&c==="length")for(var m=v;mhe(Ke)),s.set(m+"",b))}if(f===void 0)(!p||xs(u,c)?.writable)&&(f=o(()=>he(void 0)),J(f,Ve(v)),s.set(c,f));else{p=f.v!==Ke;var x=o(()=>Ve(v));J(f,x)}var _=Reflect.getOwnPropertyDescriptor(u,c);if(_?.set&&_.set.call(h,v),!p){if(a&&typeof c=="string"){var w=s.get("length"),E=Number(c);Number.isInteger(E)&&E>=w.v&&J(w,E+1)}Ks(n)}return!0},ownKeys(u){r(n);var c=Reflect.ownKeys(u).filter(f=>{var p=s.get(f);return p===void 0||p.v!==Ke});for(var[v,h]of s)h.v!==Ke&&!(v in u)&&c.push(v);return c},setPrototypeOf(){ri()}})}function kr(e){try{if(e!==null&&typeof e=="object"&&os in e)return e[os]}catch{}return e}function Ki(e,t){return Object.is(kr(e),kr(t))}var Sr,fn,pn,hn;function Bi(){if(Sr===void 0){Sr=window,fn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,s=Text.prototype;pn=xs(t,"firstChild").get,hn=xs(t,"nextSibling").get,yr(e)&&(e[Ga]=void 0,e[ca]=null,e[Ua]=void 0,e.__e=void 0),yr(s)&&(s[Ls]=void 0)}}function It(e=""){return document.createTextNode(e)}function ya(e){return pn.call(e)}function ea(e){return hn.call(e)}function l(e,t){return ya(e)}function ot(e,t=!1){{var s=ya(e);return s instanceof Comment&&s.data===""?ea(s):s}}function d(e,t=1,s=!1){let a=e;for(;t--;)a=ea(a);return a}function Ni(e){e.textContent=""}function _n(){return!1}function Hi(e,t,s){return document.createElementNS(Ur,e,void 0)}let Er=!1;function Gi(){Er||(Er=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t[da]?.()})},{capture:!0}))}function ur(e){var t=ye,s=we;gt(null),Rt(null);try{return e()}finally{gt(t),Rt(s)}}function vr(e,t,s,a=s){e.addEventListener(t,()=>ur(s));const n=e[da];n?e[da]=()=>{n(),a(!0)}:e[da]=()=>a(!0),Gi()}function Ui(e){we===null&&(ye===null&&ei(),Qn()),Ot&&Jn()}function Wi(e,t){var s=t.last;s===null?t.last=t.first=e:(s.next=e,e.prev=s,t.last=e)}function Kt(e,t){var s=we;s!==null&&(s.f&Xe)!==0&&(e|=Xe);var a={ctx:it,deps:null,nodes:null,f:e|Ue|pt,first:null,fn:t,last:null,next:null,parent:s,b:s&&s.b,prev:null,teardown:null,wv:0,ac:null};pe?.register_created_effect(a);var n=a;if((e&js)!==0)ws!==null?ws.push(a):ps.ensure().schedule(a);else if(t!==null){try{Rs(a)}catch(o){throw tt(a),o}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&Ps)===0&&(n=n.first,(e&xt)!==0&&(e&vs)!==0&&n!==null&&(n.f|=vs))}if(n!==null&&(n.parent=s,s!==null&&Wi(n,s),ye!==null&&(ye.f&We)!==0&&(e&Xt)===0)){var i=ye;(i.effects??(i.effects=[])).push(n)}return a}function fr(){return ye!==null&&!St}function gn(e){const t=Kt(Ta,null);return Me(t,Be),t.teardown=e,t}function za(e){Ui();var t=we.f,s=!ye&&(t&Et)!==0&&(t&_s)===0;if(s){var a=it;(a.e??(a.e=[])).push(e)}else return mn(e)}function mn(e){return Kt(js|Gn,e)}function Yi(e){ps.ensure();const t=Kt(Xt|Ps,e);return(s={})=>new Promise(a=>{s.outro?ds(t,()=>{tt(t),a(void 0)}):(tt(t),a(void 0))})}function bn(e){return Kt(js,e)}function Xi(e){return Kt(ks|Ps,e)}function Fa(e,t=0){return Kt(Ta|t,e)}function V(e,t=[],s=[],a=[]){qi(a,t,s,n=>{Kt(Ta,()=>e(...n.map(r)))})}function Ra(e,t=0){var s=Kt(xt|t,e);return s}function ft(e){return Kt(Et|Ps,e)}function yn(e){var t=e.teardown;if(t!==null){const s=Ot,a=ye;Ar(!0),gt(null);try{t.call(null)}finally{Ar(s),gt(a)}}}function pr(e,t=!1){var s=e.first;for(e.first=e.last=null;s!==null;){const n=s.ac;n!==null&&ur(()=>{n.abort(ja)});var a=s.next;(s.f&Xt)!==0?s.parent=null:tt(s,t),s=a}}function Zi(e){for(var t=e.first;t!==null;){var s=t.next;(t.f&Et)===0&&tt(t),t=s}}function tt(e,t=!0){var s=!1;(t||(e.f&Hn)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(Ji(e.nodes.start,e.nodes.end),s=!0),Me(e,Ha),pr(e,t&&!s),Hs(e,0);var a=e.nodes&&e.nodes.t;if(a!==null)for(const i of a)i.stop();yn(e),e.f^=Ha,e.f|=ht;var n=e.parent;n!==null&&n.first!==null&&wn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Ji(e,t){for(;e!==null;){var s=e===t?null:ea(e);e.remove(),e=s}}function wn(e){var t=e.parent,s=e.prev,a=e.next;s!==null&&(s.next=a),a!==null&&(a.prev=s),t!==null&&(t.first===e&&(t.first=a),t.last===e&&(t.last=s))}function ds(e,t,s=!0){var a=[];xn(e,a,!0);var n=()=>{s&&tt(e),t&&t()},i=a.length;if(i>0){var o=()=>--i||n();for(var u of a)u.out(o)}else n()}function xn(e,t,s){if((e.f&Xe)===0){e.f^=Xe;var a=e.nodes&&e.nodes.t;if(a!==null)for(const u of a)(u.is_global||s)&&t.push(u);for(var n=e.first;n!==null;){var i=n.next;if((n.f&Xt)===0){var o=(n.f&vs)!==0||(n.f&Et)!==0&&(e.f&xt)!==0;xn(n,t,o?s:!1)}n=i}}}function hr(e){kn(e,!0)}function kn(e,t){if((e.f&Xe)!==0){e.f^=Xe,(e.f&Be)===0&&(Me(e,Ue),ps.ensure().schedule(e));for(var s=e.first;s!==null;){var a=s.next,n=(s.f&vs)!==0||(s.f&Et)!==0;kn(s,n?t:!1),s=a}var i=e.nodes&&e.nodes.t;if(i!==null)for(const o of i)(o.is_global||t)&&o.in()}}function _r(e,t){if(e.nodes)for(var s=e.nodes.start,a=e.nodes.end;s!==null;){var n=s===a?null:ea(s);t.append(s),s=n}}let ha=!1,Ot=!1;function Ar(e){Ot=e}let ye=null,St=!1;function gt(e){ye=e}let we=null;function Rt(e){we=e}let _t=null;function Sn(e){ye!==null&&(_t===null?_t=[e]:_t.push(e))}let et=null,st=0,ct=null;function Qi(e){ct=e}let En=1,Jt=0,us=Jt;function Cr(e){us=e}function An(){return++En}function ta(e){var t=e.f;if((t&Ue)!==0)return!0;if(t&We&&(e.f&=~fs),(t&Ft)!==0){for(var s=e.deps,a=s.length,n=0;ne.wv)return!0}(t&pt)!==0&&kt===null&&Me(e,Be)}return!1}function Cn(e,t,s=!0){var a=e.reactions;if(a!==null&&!(_t!==null&&is.call(_t,e)))for(var n=0;n{e.ac.abort(ja)}),e.ac=null);try{e.f|=ga;var h=e.fn,f=h();e.f|=_s;var p=e.deps,m=pe?.is_fork;if(et!==null){var b;if(m||Hs(e,st),p!==null&&st>0)for(p.length=st+et.length,b=0;b{throw _});throw p}}finally{e[Qt]=t,delete e.currentTarget,gt(h),Rt(f)}}}const ro=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function no(e){return ro?.createHTML(e)??e}function io(e){var t=Hi("template");return t.innerHTML=no(e.replaceAll("","")),t.content}function wa(e,t){var s=we;s.nodes===null&&(s.nodes={start:e,end:t,a:null,t:null})}function C(e,t){var s=(t&hi)!==0,a=(t&_i)!==0,n,i=!e.startsWith("");return()=>{n===void 0&&(n=io(i?e:""+e),s||(n=ya(n)));var o=a||fn?document.importNode(n,!0):n.cloneNode(!0);if(s){var u=ya(o),c=o.lastChild;wa(u,c)}else wa(o,o);return o}}function oo(e=""){{var t=It(e+"");return wa(t,t),t}}function ar(){var e=document.createDocumentFragment(),t=document.createComment(""),s=It();return e.append(t,s),wa(t,s),e}function S(e,t){e!==null&&e.before(t)}function P(e,t){var s=t==null?"":typeof t=="object"?`${t}`:t;s!==(e[Ls]??(e[Ls]=e.nodeValue))&&(e[Ls]=s,e.nodeValue=`${s}`)}function lo(e,t){return co(e,t)}const oa=new Map;function co(e,{target:t,anchor:s,props:a={},events:n,context:i,intro:o=!0,transformError:u}){Bi();var c=void 0,v=Yi(()=>{var h=s??t.appendChild(It());ji(h,{pending:()=>{}},m=>{ze({});var b=it;i&&(b.c=i),n&&(a.$$events=n),c=e(m,a)||{},Fe()},u);var f=new Set,p=m=>{for(var b=0;b{for(var m of f)for(const _ of[t,document]){var b=oa.get(_),x=b.get(m);--x==0?(_.removeEventListener(m,Tr),b.delete(m),b.size===0&&oa.delete(_)):b.set(m,x)}sr.delete(p),h!==s&&h.parentNode?.removeChild(h)}});return uo.set(c,v),c}let uo=new WeakMap;var bt,jt,nt,ns,Js,Qs,Ca;class Fn{constructor(t,s=!0){Je(this,"anchor");ve(this,bt,new Map);ve(this,jt,new Map);ve(this,nt,new Map);ve(this,ns,new Set);ve(this,Js,!0);ve(this,Qs,t=>{if(g(this,bt).has(t)){var s=g(this,bt).get(t),a=g(this,jt).get(s);if(a)hr(a),g(this,ns).delete(s);else{var n=g(this,nt).get(s);n&&(g(this,jt).set(s,n.effect),g(this,nt).delete(s),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),a=n.effect)}for(const[i,o]of g(this,bt)){if(g(this,bt).delete(i),i===t)break;const u=g(this,nt).get(o);u&&(tt(u.effect),g(this,nt).delete(o))}for(const[i,o]of g(this,jt)){if(i===s||g(this,ns).has(i))continue;const u=()=>{if(Array.from(g(this,bt).values()).includes(i)){var v=document.createDocumentFragment();_r(o,v),v.append(It()),g(this,nt).set(i,{effect:o,fragment:v})}else tt(o);g(this,ns).delete(i),g(this,jt).delete(i)};g(this,Js)||!a?(g(this,ns).add(i),ds(o,u,!1)):u()}}});ve(this,Ca,t=>{g(this,bt).delete(t);const s=Array.from(g(this,bt).values());for(const[a,n]of g(this,nt))s.includes(a)||(tt(n.effect),g(this,nt).delete(a))});this.anchor=t,ce(this,Js,s)}ensure(t,s){var a=pe,n=_n();if(s&&!g(this,jt).has(t)&&!g(this,nt).has(t))if(n){var i=document.createDocumentFragment(),o=It();i.append(o),g(this,nt).set(t,{effect:ft(()=>s(o)),fragment:i})}else g(this,jt).set(t,ft(()=>s(this.anchor)));if(g(this,bt).set(a,t),n){for(const[u,c]of g(this,jt))u===t?a.unskip_effect(c):a.skip_effect(c);for(const[u,c]of g(this,nt))u===t?a.unskip_effect(c.effect):a.skip_effect(c.effect);a.oncommit(g(this,Qs)),a.ondiscard(g(this,Ca))}else g(this,Qs).call(this,a)}}bt=new WeakMap,jt=new WeakMap,nt=new WeakMap,ns=new WeakMap,Js=new WeakMap,Qs=new WeakMap,Ca=new WeakMap;function me(e,t,s=!1){var a=new Fn(e),n=s?vs:0;function i(o,u){a.ensure(o,u)}Ra(()=>{var o=!1;t((u,c=0)=>{o=!0,i(c,u)}),o||i(-1,null)},n)}function Ms(e,t){return t}function vo(e,t,s){for(var a=[],n=t.length,i,o=t.length,u=0;u{if(i){if(i.pending.delete(f),i.done.add(f),i.pending.size===0){var p=e.outrogroups;rr(e,$a(i.done)),p.delete(i),p.size===0&&(e.outrogroups=null)}}else o-=1},!1)}if(o===0){var c=a.length===0&&s!==null;if(c){var v=s,h=v.parentNode;Ni(h),h.append(v),e.items.clear()}rr(e,t,!c)}else i={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(i)}function rr(e,t,s=!0){var a;if(e.pending.size>0){a=new Set;for(const o of e.pending.values())for(const u of o)a.add(e.items.get(u).e)}for(var n=0;n{var A=s();return ir(A)?A:A==null?[]:$a(A)}),p,m=new Map,b=!0;function x(A){(E.effect.f&ht)===0&&(E.pending.delete(A),E.fallback=h,fo(E,p,o,t,a),h!==null&&(p.length===0?(h.f&zt)===0?hr(h):(h.f^=zt,Vs(h,null,o)):ds(h,()=>{h=null})))}function _(A){E.pending.delete(A)}var w=Ra(()=>{p=r(f);for(var A=p.length,F=new Set,Y=pe,T=_n(),z=0;zi(o)):(h=ft(()=>i(jr??(jr=It()))),h.f|=zt)),A>F.size&&Zn(),!b)if(m.set(Y,F),T){for(const[q,B]of u)F.has(q)||Y.skip_effect(B.e);Y.oncommit(x),Y.ondiscard(_)}else x(Y);r(f)}),E={effect:w,items:u,pending:m,outrogroups:null,fallback:h};b=!1}function Ds(e){for(;e!==null&&(e.f&Et)===0;)e=e.next;return e}function fo(e,t,s,a,n){var i=(a&ci)!==0,o=t.length,u=e.items,c=Ds(e.effect.first),v,h=null,f,p=[],m=[],b,x,_,w;if(i)for(w=0;w0){var O=(a&Gr)!==0&&o===0?s:null;if(i){for(w=0;w{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function po(e,t,s,a,n,i,o,u){var c=(o&oi)!==0?(o&di)===0?Vi(s,!1,!1):hs(s):null,v=(o&li)!==0?hs(n):null;return{v:c,i:v,e:ft(()=>(i(t,c??s,v??n,u),()=>{e.delete(a)}))}}function Vs(e,t,s){if(e.nodes)for(var a=e.nodes.start,n=e.nodes.end,i=t&&(t.f&zt)===0?t.nodes.start:s;a!==null;){var o=ea(a);if(i.before(a),a===n)return;a=o}}function Nt(e,t,s){t===null?e.effect.first=s:t.next=s,s===null?e.effect.last=t:s.prev=t}function Rn(e,t,...s){var a=new Fn(e);Ra(()=>{const n=t()??null;a.ensure(n,n&&(i=>n(i,...s)))},vs)}const zr=[...` +\r\f \v\uFEFF`];function ho(e,t,s){var a=e==null?"":""+e;if(t&&(a=a?a+" "+t:t),s){for(var n of Object.keys(s))if(s[n])a=a?a+" "+n:n;else if(a.length)for(var i=n.length,o=0;(o=a.indexOf(n,o))>=0;){var u=o+i;(o===0||zr.includes(a[o-1]))&&(u===a.length||zr.includes(a[u]))?a=(o===0?"":a.substring(0,o))+a.substring(u+1):o=u}}return a===""?null:a}function Fr(e,t=!1){var s=t?" !important;":";",a="";for(var n of Object.keys(e)){var i=e[n];i!=null&&i!==""&&(a+=" "+n+": "+i+s)}return a}function Ia(e){return e[0]!=="-"||e[1]!=="-"?e.toLowerCase():e}function _o(e,t){if(t){var s="",a,n;if(Array.isArray(t)?(a=t[0],n=t[1]):a=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var i=!1,o=0,u=!1,c=[];a&&c.push(...Object.keys(a).map(Ia)),n&&c.push(...Object.keys(n).map(Ia));var v=0,h=-1;const x=e.length;for(var f=0;f{Gs(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),gn(()=>{t.disconnect()})}function ka(e,t,s=t){var a=new WeakSet,n=!0;vr(e,"change",i=>{var o=i?"[selected]":":checked",u;if(e.multiple)u=[].map.call(e.querySelectorAll(o),Bs);else{var c=e.querySelector(o)??e.querySelector("option:not([disabled])");u=c&&Bs(c)}s(u),e.__value=u,pe!==null&&a.add(pe)}),bn(()=>{var i=t();if(e===document.activeElement){var o=pe;if(a.has(o))return}if(Gs(e,i,n),n&&i===void 0){var u=e.querySelector(":checked");u!==null&&(i=Bs(u),s(i))}e.__value=i,n=!1}),xa(e)}function Bs(e){return"__value"in e?e.__value:e.value}const go=Symbol("is custom element"),mo=Symbol("is html"),bo=Yn?"progress":"PROGRESS";function Us(e,t){var s=Pn(e);s.value===(s.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==bo)||(e.value=t??"")}function te(e,t,s,a){var n=Pn(e);n[t]!==(n[t]=s)&&(t==="loading"&&(e[Wn]=s),s==null?e.removeAttribute(t):typeof s!="string"&&yo(e).includes(t)?e[t]=s:e.setAttribute(t,s))}function Pn(e){return e[ca]??(e[ca]={[go]:e.nodeName.includes("-"),[mo]:e.namespaceURI===Ur})}var Rr=new Map;function yo(e){var t=e.getAttribute("is")||e.nodeName,s=Rr.get(t);if(s)return s;Rr.set(t,s=[]);for(var a,n=e,i=Element.prototype;i!==n;){a=On(n);for(var o in a)a[o].set&&o!=="innerHTML"&&o!=="textContent"&&o!=="innerText"&&s.push(o);n=Kr(n)}return s}function Vt(e,t,s=t){var a=new WeakSet;vr(e,"input",async n=>{var i=n?e.defaultValue:e.value;if(i=Oa(e)?Ka(i):i,s(i),pe!==null&&a.add(pe),await to(),i!==(i=t())){var o=e.selectionStart,u=e.selectionEnd,c=e.value.length;if(e.value=i??"",u!==null){var v=e.value.length;o===u&&u===c&&v>c?(e.selectionStart=v,e.selectionEnd=v):(e.selectionStart=o,e.selectionEnd=Math.min(u,v))}}}),sa(t)==null&&e.value&&(s(Oa(e)?Ka(e.value):e.value),pe!==null&&a.add(pe)),Fa(()=>{var n=t();if(e===document.activeElement){var i=pe;if(a.has(i))return}Oa(e)&&n===Ka(e.value)||e.type==="date"&&!n&&!e.value||n!==e.value&&(e.value=n??"")})}function wo(e,t,s=t){vr(e,"change",a=>{var n=a?e.defaultChecked:e.checked;s(n)}),sa(t)==null&&s(e.checked),Fa(()=>{var a=t();e.checked=!!a})}function Oa(e){var t=e.type;return t==="number"||t==="range"}function Ka(e){return e===""?null:+e}function Ba(e,t){return e===t||e?.[os]===t}function xo(e={},t,s,a){var n=it.r,i=we;return bn(()=>{var o,u;return Fa(()=>{o=u,u=[],sa(()=>{Ba(s(...u),e)||(t(e,...u),o&&Ba(s(...o),e)&&t(null,...o))})}),()=>{let c=i;for(;c!==n&&c.parent!==null&&c.parent.f&Ha;)c=c.parent;const v=()=>{u&&Ba(s(...u),e)&&t(null,...u)},h=c.teardown;c.teardown=()=>{v(),h?.()}}}),e}function $e(e,t,s,a){var n=!0,i=(s&fi)!==0,o=(s&pi)!==0,u=a,c=!0,v=void 0,h=()=>o&&n?(v??(v=Ns(a)),r(v)):(c&&(c=!1,u=o?sa(a):a),u);let f;if(i){var p=os in e||Un in e;f=xs(e,t)?.set??(p&&t in e?F=>e[t]=F:void 0)}var m,b=!1;i?[m,b]=ki(()=>e[t]):m=e[t],m===void 0&&a!==void 0&&(m=h(),f&&(si(),f(m)));var x;if(x=()=>{var F=e[t];return F===void 0?h():(c=!0,F)},(s&vi)===0)return x;if(f){var _=e.$$legacy;return(function(F,Y){return arguments.length>0?((!Y||_||b)&&f(Y?x():F),F):x()})}var w=!1,E=((s&ui)!==0?Ns:ln)(()=>(w=!1,x()));i&&r(E);var A=we;return(function(F,Y){if(arguments.length>0){const T=Y?r(E):i?Ve(F):F;return J(E,T),w=!0,u!==void 0&&(u=T),F}return Ot&&w||(A.f&ht)!==0?E.v:r(E)})}const ko="5";var Or;typeof window<"u"&&((Or=window.__svelte??(window.__svelte={})).v??(Or.v=new Set)).add(ko);const Pt=typeof window<"u"&&window.slashedApp?window.slashedApp:{defaults:{},settings:{},tabs:{},rest:{url:"",nonce:""}},le={defaults:Pt.defaults||{},tabs:Pt.tabs||{},rest:Pt.rest||{url:"",nonce:""},inventory:Pt.inventory||{variables:[],sf_classes:[],is_classes:[]},pluginSettings:Pt.pluginSettings||{},versions:Pt.versions||{plugin:"",framework:""},activeIntegrations:Pt.activeIntegrations||{bricks:!0},bricksFonts:Pt.bricksFonts||[]},Q=Ve(structuredClone(Pt.settings||{})),re=Ve({activeTab:So(le.tabs)||"colors",dirty:!1,saving:!1,lastSavedAt:null,error:""});function So(e){for(const t in e)return t;return null}function gr(){re.dirty=!0,re.error=""}function Pr(e){Q[e]&&delete Q[e]}function Sa(){const e=Q.spacing??{},t=le.defaults?.spacing??{},s=(o,u)=>{const c=e[o],v=parseFloat(c!==void 0&&c!==""?c:t[o]??u);return Number.isFinite(v)?v:u},a=s("viewport_min",22.5),n=s("viewport_max",95),i=n>a?n:a+.5;return{minRem:a,maxRem:i,minPx:Math.round(a*16),maxPx:Math.round(i*16)}}function Eo(e,t){const s=Q[e];if(!s)return"";const a=s[t];return a==null?"":String(a)}function yt(e,t,s){Q[e]||(Q[e]={}),s===""||s===null||s===void 0||typeof s=="string"&&s.trim()===""?delete Q[e][t]:Q[e][t]=String(s),gr()}var Ao=C(''),Co=C('

');function $o(e,t){ze(t,!0);var s=Co();de(s,21,()=>Object.entries(le.tabs),([a,n])=>a,(a,n)=>{var i=y(()=>wt(r(n),2));let o=()=>r(i)[0],u=()=>r(i)[1];var c=Ao();let v;var h=l(c);V(()=>{v=Ie(c,1,"tab-nav__btn svelte-yyiz68",null,v,{active:re.activeTab===o()}),P(h,u())}),ge("click",c,()=>re.activeTab=o()),S(a,c)}),S(e,s),Fe()}He(["click"]);var To=C(' '),jo=C(' ',1),zo=C(''),Fo=C('
');function la(e,t){ze(t,!0);let s=$e(t,"hexHint",3,""),a=$e(t,"rawHint",3,""),n=$e(t,"cssVar",3,"");const i=/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,o=(()=>{const q=(Q.colors?.[t.storeKey]??"").trim(),B=q===""||i.test(q);return{mode:B?"hex":"raw",hex:B?q:"",raw:B?"":q}})();let u=he(Ve(o.mode)),c=he(Ve(o.hex)),v=he(Ve(o.raw));function h(){Q.colors||(Q.colors={});const q=r(v).trim(),B=r(c).trim(),$=r(u)==="raw"?q:B;$===""?delete Q.colors[t.storeKey]:Q.colors[t.storeKey]=$,gr()}function f(){r(u)==="hex"?(J(u,"raw"),J(c,"")):(J(u,"hex"),J(v,"")),h()}const p=y(()=>(r(u)==="raw"?r(v):r(c))||s()||"transparent");var m=Fo(),b=l(m),x=l(b),_=l(x),w=d(x,2);{var E=q=>{var B=To(),$=l(B);V(()=>P($,n())),S(q,B)};me(w,q=>{n()&&q(E)})}var A=d(b,2),F=l(A);let Y;var T=d(F,2);{var z=q=>{var B=jo(),$=ot(B),k=d($,2);V(()=>{te($,"id",t.storeKey),te(k,"placeholder",s())}),ge("input",$,h),Vt($,()=>r(c),R=>J(c,R)),ge("input",k,h),Vt(k,()=>r(c),R=>J(c,R)),S(q,B)},D=q=>{var B=zo();V(()=>{te(B,"id",t.storeKey),te(B,"placeholder",a())}),ge("input",B,h),Vt(B,()=>r(v),$=>J(v,$)),S(q,B)};me(T,q=>{r(u)==="hex"?q(z):q(D,-1)})}var O=d(T,2),K=l(O);V(()=>{te(x,"for",t.storeKey),P(_,t.label),Y=fe(F,"",Y,{background:r(p)}),P(K,r(u)==="hex"?"Advanced (oklch / raw)":"Use HEX picker")}),ge("click",O,f),S(e,m),Fe()}He(["input","click"]);var Ro=C('
'),Po=C('
');function aa(e,t){ze(t,!0);let s=he(!1);const a=`adv-body-${Math.random().toString(36).slice(2,9)}`;var n=Po(),i=l(n),o=d(l(i));let u;var c=l(o),v=d(i,2);{var h=f=>{var p=Ro(),m=l(p);Rn(m,()=>t.children),V(()=>te(p,"id",a)),S(f,p)};me(v,f=>{r(s)&&f(h)})}V(()=>{te(i,"aria-expanded",r(s)),te(i,"aria-controls",a),u=Ie(o,1,"advanced-section__arrow",null,u,{open:r(s)}),P(c,r(s)?"▲":"▼")}),ge("click",i,()=>J(s,!r(s))),S(e,n),Fe()}He(["click"]);var qo=C('

Brand Colors — Dark Mode

Status Colors — Dark Mode

',1),Mo=C(`

Status Colors — Light Mode

The framework auto-derives dark mode from light source colors using CSS relative color syntax (oklch(from light clamp(0.65, 0.95−l·0.5, 0.88) c·0.9 h)). Turn this on only - when you need precise per-color dark overrides; auto-derivation is usually good enough.

`,1),Ro=j(`

Brand Colors — Light Mode

Pick a color via the HEX input, or switch to Advanced to paste any + when you need precise per-color dark overrides; auto-derivation is usually good enough.

`,1),Do=C(`

Brand Colors — Light Mode

Pick a color via the HEX input, or switch to Advanced to paste any CSS color value (oklch, rgb, hsl, var(...), etc). Whatever you save is fed - straight into the framework as the source of the brand scale.

`);function Mo(e,t){je(t,!0);const s=pe.defaults?.colors??{},a=h=>h.charAt(0).toUpperCase()+h.slice(1),n=Object.entries(s.brand??{}),i=y(()=>wo("colors","dark_overrides_enabled")!=="0");function o(){gt("colors","dark_overrides_enabled",r(i)?"0":"1")}var u=Ro(),c=d(l(u),4);he(c,21,()=>n,([h,f])=>h,(h,f)=>{var p=y(()=>mt(r(f),2));let m=()=>r(p)[0],b=()=>r(p)[1];{let x=y(()=>`brand_${m()}`),_=y(()=>a(m())),w=y(()=>s.brand_hex_hints?.[m()]??""),E=y(()=>`--sf-color-${m()}-light`);ra(h,{get storeKey(){return r(x)},get label(){return r(_)},get hexHint(){return r(w)},get rawHint(){return b()},get cssVar(){return r(E)}})}});var v=d(c,2);Qs(v,{children:(h,f)=>{var p=Fo(),m=d(nt(p),2);he(m,21,()=>Object.entries(s.status??{}),([z,R])=>z,(z,R)=>{var P=y(()=>mt(r(R),2));let O=()=>r(P)[0],M=()=>r(P)[1];{let V=y(()=>`status_${O()}`),q=y(()=>a(O())),T=y(()=>s.status_hex_hints?.[O()]??""),k=y(()=>`--sf-color-${O()}-light`);ra(z,{get storeKey(){return r(V)},get label(){return r(q)},get hexHint(){return r(T)},get rawHint(){return M()},get cssVar(){return r(k)}})}});var b=d(m,2),x=l(b),_=l(x);let w;var E=d(_,2),C=l(E),F=d(b,2);{var G=z=>{var R=$o(),P=d(nt(R),2);he(P,21,()=>Object.entries(s.brand_dark??s.brand??{}),([M])=>M,(M,V)=>{var q=y(()=>mt(r(V),1));let T=()=>r(q)[0];{let k=y(()=>`brand_dark_${T()}`),$=y(()=>a(T())),H=y(()=>s.brand_dark_hex_hints?.[T()]??""),Y=y(()=>s.brand_dark?.[T()]??""),S=y(()=>`--sf-color-${T()}-dark`);ra(M,{get storeKey(){return r(k)},get label(){return r($)},get hexHint(){return r(H)},get rawHint(){return r(Y)},get cssVar(){return r(S)}})}});var O=d(P,4);he(O,21,()=>Object.entries(s.status_dark??s.status??{}),([M])=>M,(M,V)=>{var q=y(()=>mt(r(V),1));let T=()=>r(q)[0];{let k=y(()=>`status_dark_${T()}`),$=y(()=>a(T())),H=y(()=>s.status_dark_hex_hints?.[T()]??""),Y=y(()=>s.status_dark?.[T()]??""),S=y(()=>`--sf-color-${T()}-dark`);ra(M,{get storeKey(){return r(k)},get label(){return r($)},get hexHint(){return r(H)},get rawHint(){return r(Y)},get cssVar(){return r(S)}})}}),A(z,R)};me(F,z=>{r(i)&&z(G)})}K(()=>{w=Le(_,1,"dark-toggle-btn svelte-1vle0rm",null,w,{on:r(i)}),te(_,"aria-pressed",r(i)),D(C,r(i)?"Active — custom values override auto-derivation":"Off — dark mode auto-derived from light source colors")}),ge("click",_,o),A(h,p)},$$slots:{default:!0}}),A(e,u),Te()}Be(["click"]);var Do=j(''),Lo=j(' '),Po=j(' '),Vo=j('

'),Io=j('
');function ea(e,t){let s=Ee(t,"cssVar",3,""),a=Ee(t,"fieldId",3,""),n=Ee(t,"description",3,"");var i=Io(),o=l(i),u=l(o);{var c=_=>{var w=Do(),E=l(w);K(()=>{te(w,"for",a()),D(E,t.label)}),A(_,w)},v=_=>{var w=Lo(),E=l(w);K(()=>D(E,t.label)),A(_,w)};me(u,_=>{a()?_(c):_(v,-1)})}var h=d(u,2);{var f=_=>{var w=Po(),E=l(w);K(()=>D(E,s())),A(_,w)};me(h,_=>{s()&&_(f)})}var p=d(o,2),m=l(p);Tn(m,()=>t.children??Vr);var b=d(m,2);{var x=_=>{var w=Vo(),E=l(w);K(()=>D(E,n())),A(_,w)};me(b,_=>{n()&&_(x)})}A(e,i)}var Oo=j('');function Ae(e,t){je(t,!0);let s=Ee(t,"default",3,""),a=Ee(t,"cssVar",3,""),n=Ee(t,"description",3,""),i=Ee(t,"mono",3,!1),o=Ee(t,"width",3,"320px");const u=y(()=>Q[t.section]?.[t.fieldKey]===void 0||Q[t.section]?.[t.fieldKey]===null?"":String(Q[t.section][t.fieldKey]));function c(v){gt(t.section,t.fieldKey,v.currentTarget.value)}ea(e,{get label(){return t.label},get cssVar(){return a()},get fieldId(){return t.fieldKey},get description(){return n()},children:(v,h)=>{var f=Oo();let p,m;K(b=>{te(f,"id",t.fieldKey),p=Le(f,1,"text svelte-j8yw6l",null,p,{mono:i()}),Bs(f,r(u)),te(f,"placeholder",b),m=_e(f,"",m,{width:o()})},[()=>String(s())]),ge("input",f,c),A(v,f)},$$slots:{default:!0}}),Te()}Be(["input"]);var qo=j(''),Ko=j('Bricks'),Bo=j(""),No=j(''),Ho=j(""),Go=j(''),Uo=j('

No Bricks fonts found. Add fonts in Bricks › Settings › Custom Fonts or the Bricks Font Manager, then reload this page.

'),Wo=j(''),Xo=j('The quick brown fox'),Yo=j('
');function zr(e,t){je(t,!0);let s=Ee(t,"default",3,""),a=Ee(t,"cssVar",3,""),n=Ee(t,"description",3,"");const i=[{label:"System UI",value:"system-ui, sans-serif"},{label:"Neo-Grotesque",value:"Inter, Roboto, 'Helvetica Neue', 'Arial Nova', 'Nimbus Sans', Arial, sans-serif"},{label:"Geometric Humanist",value:"Avenir, Montserrat, Corbel, 'URW Gothic', source-sans-pro, sans-serif"},{label:"Classical Humanist",value:"Optima, Candara, 'Noto Sans', source-sans-pro, sans-serif"},{label:"Humanist Sans",value:"Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif"},{label:"Industrial Sans",value:"'Bahnschrift', 'DIN Alternate', 'Franklin Gothic Medium', 'Nimbus Sans Narrow', sans-serif-condensed, sans-serif"},{label:"Rounded Sans",value:"ui-rounded, 'Hiragino Maru Gothic ProN', Quicksand, Comfortaa, Manjari, 'Arial Rounded MT Bold', Calibri, source-sans-pro, sans-serif"},{label:"Transitional Serif",value:"Charter, 'Bitstream Charter', 'Sitka Text', Cambria, serif"},{label:"Old Style Serif",value:"'Iowan Old Style', 'Palatino Linotype', 'URW Palladio L', P052, serif"},{label:"Slab Serif",value:"Rockwell, 'Rockwell Nova', 'Roboto Slab', 'DejaVu Serif', 'Sitka Small', serif"},{label:"Antique Serif",value:"Superclarendon, 'Bookman Old Style', 'URW Bookman', 'URW Bookman L', 'Georgia Pro', Georgia, serif"},{label:"Didone Serif",value:"Didact Gothic, 'Bodoni MT', 'Bodoni 72', Didot, 'Playfair Display', serif"},{label:"Monospace",value:"ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace"},{label:"Handwritten",value:"'Segoe Print', 'Bradley Hand', Chilanka, TSCu_Comic, casual, cursive"}],o=pe.bricksFonts,u=pe.activeIntegrations?.bricks??!0,c=y(()=>Q[t.section]?.[t.fieldKey]===void 0||Q[t.section]?.[t.fieldKey]===null?"":String(Q[t.section][t.fieldKey])),v=y(()=>r(c)||String(s()));function h(E){const C=(E||String(s())).trim().toLowerCase();return u&&o.some(F=>C===F.family.toLowerCase())?"bricks":i.some(F=>C===F.value.toLowerCase())?"system":"manual"}let f=fe(Ke(h(r(v))));function p(E){X(f,E,!0),E==="system"?i.find(F=>F.value.toLowerCase()===r(v).toLowerCase())||gt(t.section,t.fieldKey,i[0].value):E==="bricks"&&!o.find(F=>F.family.toLowerCase()===r(v).toLowerCase())&&o.length>0&>(t.section,t.fieldKey,o[0].family)}function m(E){gt(t.section,t.fieldKey,E.currentTarget.value)}function b(E){gt(t.section,t.fieldKey,E.currentTarget.value)}function x(E){gt(t.section,t.fieldKey,E.currentTarget.value)}const _={adobe:" (Adobe)",google:" (Google)"},w=E=>_[E]??"";ea(e,{get label(){return t.label},get cssVar(){return a()},get fieldId(){return t.fieldKey},get description(){return n()},children:(E,C)=>{var F=Yo(),G=l(F),z=l(G);let R;var P=d(z,2);{var O=B=>{var I=qo();let N;K(()=>N=Le(I,1,"source-tab svelte-ow2kvz",null,N,{"source-tab--active":r(f)==="bricks"})),ge("click",I,()=>p("bricks")),A(B,I)},M=B=>{var I=Ko();A(B,I)};me(P,B=>{u?B(O):B(M,-1)})}var V=d(P,2);let q;var T=d(G,2);{var k=B=>{var I=No();he(I,21,()=>i,se=>se.value,(se,ie)=>{var ne=Bo(),oe=l(ne),W={};K(()=>{D(oe,r(ie).label),W!==(W=r(ie).value)&&(ne.value=(ne.__value=r(ie).value)??"")}),A(se,ne)});var N;ma(I),K(()=>{te(I,"id",t.fieldKey),N!==(N=r(v))&&(I.value=(I.__value=r(v))??"",Ks(I,r(v)))}),ge("change",I,m),A(B,I)},$=B=>{var I=Ja(),N=nt(I);{var se=ne=>{var oe=Go();he(oe,21,()=>o,de=>de.family,(de,we)=>{var xe=Ho(),Ce=l(xe),ze={};K($e=>{D(Ce,`${r(we).label??""}${$e??""}`),ze!==(ze=r(we).family)&&(xe.value=(xe.__value=r(we).family)??"")},[()=>w(r(we).source)]),A(de,xe)});var W;ma(oe),K(()=>{te(oe,"id",t.fieldKey),W!==(W=r(v))&&(oe.value=(oe.__value=r(v))??"",Ks(oe,r(v)))}),ge("change",oe,b),A(ne,oe)},ie=ne=>{var oe=Uo();A(ne,oe)};me(N,ne=>{o.length>0?ne(se):ne(ie,-1)})}A(B,I)},H=B=>{var I=Wo();K(N=>{te(I,"id",t.fieldKey),Bs(I,r(c)),te(I,"placeholder",N)},[()=>String(s())]),ge("input",I,x),A(B,I)};me(T,B=>{r(f)==="system"?B(k):r(f)==="bricks"&&u?B($,1):B(H,-1)})}var Y=d(T,2);{var S=B=>{var I=Xo();K(()=>_e(I,`font-family: ${r(v)??""}`)),A(B,I)};me(Y,B=>{r(v)&&B(S)})}K(()=>{R=Le(z,1,"source-tab svelte-ow2kvz",null,R,{"source-tab--active":r(f)==="system"}),q=Le(V,1,"source-tab svelte-ow2kvz",null,q,{"source-tab--active":r(f)==="manual"})}),ge("click",z,()=>p("system")),ge("click",V,()=>p("manual")),A(E,F)},$$slots:{default:!0}}),Te()}Be(["click","change","input"]);var Zo=j(' '),Jo=j(' ',1);function Ne(e,t){je(t,!0);let s=Ee(t,"min",3,void 0),a=Ee(t,"max",3,void 0),n=Ee(t,"step",3,void 0),i=Ee(t,"default",3,""),o=Ee(t,"cssVar",3,""),u=Ee(t,"unit",3,""),c=Ee(t,"description",3,""),v=Ee(t,"width",3,"120px");const h=y(()=>Q[t.section]?.[t.fieldKey]===void 0||Q[t.section]?.[t.fieldKey]===null?"":String(Q[t.section][t.fieldKey]));function f(p){gt(t.section,t.fieldKey,p.currentTarget.value)}ea(e,{get label(){return t.label},get cssVar(){return o()},get fieldId(){return t.fieldKey},get description(){return c()},children:(p,m)=>{var b=Jo(),x=nt(b);let _;var w=d(x,2);{var E=C=>{var F=Zo(),G=l(F);K(()=>D(G,u())),A(C,F)};me(w,C=>{u()&&C(E)})}K(C=>{te(x,"id",t.fieldKey),te(x,"min",s()),te(x,"max",a()),te(x,"step",n()),Bs(x,r(h)),te(x,"placeholder",C),_=_e(x,"",_,{width:v()})},[()=>String(i())]),ge("input",x,f),A(p,b)},$$slots:{default:!0}}),Te()}Be(["input"]);var Qo=j('
'),el=j('
'),tl=j('

Display Scale

'),sl=j('

Live Scale Preview

Text Scale

');function al(e,t){je(t,!0);const s=16,a=360,n=1520;let i=fe(n);const u=(pe.defaults?.typography??{}).font_sizes??{};function c(M){const V=Q.typography??{},q=u[M]??{},T=V[`size_${M}_min`],k=V[`size_${M}_max`],$=T!==void 0&&T!==""?parseFloat(T):q.min??.75,H=k!==void 0&&k!==""?parseFloat(k):q.max??1;return{min:$,max:H}}const v=y(()=>{const M=Math.max(0,Math.min(1,(r(i)-a)/(n-a))),V={};for(const q of Object.keys(u)){const{min:T,max:k}=c(q),$=T+(k-T)*M,H=$*s;V[q]={sizePx:H,sizeRem:$.toFixed(3)}}return V}),h=["2xs","xs","s","m","l","xl","2xl","3xl","4xl"],f=["display-s","display-m","display-l"],p=y(()=>h.filter(M=>u[M])),m=y(()=>f.filter(M=>u[M]));var b=sl(),x=l(b),_=d(l(x),2),w=l(_);w.textContent="360px";var E=d(w,2);te(E,"min",a),te(E,"max",n);var C=d(E,2);C.textContent="1520px";var F=d(C,2),G=l(F),z=d(x,2),R=d(l(z),2);he(R,16,()=>r(p),M=>M,(M,V)=>{const q=y(()=>r(v)[V]);var T=Ja(),k=nt(T);{var $=H=>{var Y=Qo(),S=l(Y),B=l(S),I=d(S,2);let N;var se=l(I),ie=d(I,2),ne=l(ie);K((oe,W)=>{D(B,V),N=_e(I,"",N,oe),D(se,V),D(ne,`${r(q).sizeRem??""}rem / ${W??""}px`)},[()=>({"font-size":`${r(q).sizePx.toFixed(1)??""}px`}),()=>r(q).sizePx.toFixed(1)]),A(H,Y)};me(k,H=>{r(q)&&H($)})}A(M,T)});var P=d(z,2);{var O=M=>{var V=tl(),q=d(l(V),2);he(q,16,()=>r(m),T=>T,(T,k)=>{const $=y(()=>r(v)[k]);var H=Ja(),Y=nt(H);{var S=B=>{var I=el(),N=l(I),se=l(N),ie=d(N,2);let ne;var oe=l(ie),W=d(ie,2),de=l(W);K((we,xe)=>{D(se,k),ne=_e(ie,"",ne,we),D(oe,k),D(de,`${r($).sizeRem??""}rem / ${xe??""}px`)},[()=>({"font-size":`${r($).sizePx.toFixed(1)??""}px`}),()=>r($).sizePx.toFixed(1)]),A(B,I)};me(Y,B=>{r($)&&B(S)})}A(T,H)}),A(M,V)};me(P,M=>{r(m).length>0&&M(O)})}K(()=>D(G,`${r(i)??""}px`)),Pt(E,()=>r(i),M=>X(i,M)),A(e,b),Te()}var rl=j(""),nl=j(""),il=j('
'),ol=j('
Scale Generator Computes all step min/max values from a modular scale. Click Apply to write them to the fields below.
');function ll(e,t){je(t,!0);const s=[{label:"Minor Second (1.067)",value:1.067},{label:"Major Second (1.125)",value:1.125},{label:"Minor Third (1.200)",value:1.2},{label:"Major Third (1.250)",value:1.25},{label:"Perfect Fourth (1.333)",value:1.333},{label:"Aug. Fourth (1.414)",value:1.414},{label:"Perfect Fifth (1.500)",value:1.5},{label:"Golden Ratio (1.618)",value:1.618},{label:"Major Sixth (1.667)",value:1.667},{label:"Octave (2.000)",value:2}],a=[{name:"2xs",idx:-4},{name:"xs",idx:-3},{name:"s",idx:-2},{name:"m",idx:0},{name:"l",idx:1},{name:"xl",idx:2},{name:"2xl",idx:3},{name:"3xl",idx:4},{name:"4xl",idx:5},{name:"display-s",idx:5},{name:"display-m",idx:6},{name:"display-l",idx:7}];let n=fe(1),i=fe(1.25),o=fe(1.25),u=fe(1.333),c=fe(.85);const v=y(()=>a.map(({name:T,idx:k})=>{const H=T.startsWith("display")?r(c):1,Y=+(r(n)*H*Math.pow(r(o),k)).toFixed(4),S=+(r(i)*H*Math.pow(r(u),k)).toFixed(4);return{name:T,min:Y,max:S}}));function h(){Q.typography||(Q.typography={});for(const{name:T,min:k,max:$}of r(v))Q.typography[`size_${T}_min`]=String(k),Q.typography[`size_${T}_max`]=String($);vr()}var f=ol(),p=d(l(f),2),m=l(p),b=d(l(m),2),x=l(b),_=d(m,2),w=d(l(_),2),E=l(w),C=d(_,2),F=d(l(C),2);he(F,21,()=>s,T=>T.value,(T,k)=>{var $=rl(),H=l($),Y={};K(()=>{D(H,r(k).label),Y!==(Y=r(k).value)&&($.value=($.__value=r(k).value)??"")}),A(T,$)});var G=d(C,2),z=d(l(G),2);he(z,21,()=>s,T=>T.value,(T,k)=>{var $=nl(),H=l($),Y={};K(()=>{D(H,r(k).label),Y!==(Y=r(k).value)&&($.value=($.__value=r(k).value)??"")}),A(T,$)});var R=d(G,2),P=d(l(R),2),O=l(P),M=d(p,2);he(M,21,()=>r(v),({name:T,min:k,max:$})=>T,(T,k)=>{let $=()=>r(k).name,H=()=>r(k).min,Y=()=>r(k).max;var S=il();let B;var I=l(S),N=l(I),se=d(I,2),ie=l(se);K((ne,oe,W)=>{B=Le(S,1,"scale-gen__step svelte-1y8fkhh",null,B,ne),D(N,$()),D(ie,`${oe??""} / ${W??""}`)},[()=>({display:$().startsWith("display")}),()=>H().toFixed(3),()=>Y().toFixed(3)]),A(T,S)});var V=d(M,2),q=l(V);Pt(x,()=>r(n),T=>X(n,T)),Pt(E,()=>r(i),T=>X(i,T)),ba(F,()=>r(o),T=>X(o,T)),ba(z,()=>r(u),T=>X(u,T)),Pt(O,()=>r(c),T=>X(c,T)),ge("click",q,h),A(e,f),Te()}Be(["click"]);var cl=j('
'),dl=j(`

Additional Font Families

Font Size Scale

Min and max values in rem for fluid type scaling via clamp(). - Leave both fields blank to use the framework defaults.

Scale Multipliers

`,1),ul=j('

Font Families

');function vl(e,t){je(t,!0);const s="typography",a=pe.defaults?.[s]??{},n=a.font_families??{},i=a.font_sizes??{},o=b=>b.charAt(0).toUpperCase()+b.slice(1),u=["body","heading"],c=Object.fromEntries(Object.entries(n).filter(([b])=>u.includes(b))),v=Object.fromEntries(Object.entries(n).filter(([b])=>!u.includes(b)));var h=ul(),f=d(l(h),2);he(f,21,()=>Object.entries(c),([b,x])=>b,(b,x)=>{var _=y(()=>mt(r(x),2));let w=()=>r(_)[0],E=()=>r(_)[1];{let C=y(()=>`font_${w()}`),F=y(()=>o(w())),G=y(()=>`--sf-font-${w()}`);zr(b,{section:s,get fieldKey(){return r(C)},get label(){return r(F)},get default(){return E()},get cssVar(){return r(G)}})}});var p=d(f,2);al(p,{});var m=d(p,2);Qs(m,{children:(b,x)=>{var _=dl(),w=d(nt(_),2);he(w,21,()=>Object.entries(v),([R,P])=>R,(R,P)=>{var O=y(()=>mt(r(P),2));let M=()=>r(O)[0],V=()=>r(O)[1];{let q=y(()=>`font_${M()}`),T=y(()=>o(M())),k=y(()=>`--sf-font-${M()}`);zr(R,{section:s,get fieldKey(){return r(q)},get label(){return r(T)},get default(){return V()},get cssVar(){return r(k)}})}});var E=d(w,6);ll(E,{});var C=d(E,2);he(C,21,()=>Object.entries(i),([R,P])=>R,(R,P)=>{var O=y(()=>mt(r(P),2));let M=()=>r(O)[0],V=()=>r(O)[1];var q=cl(),T=l(q),k=l(T),$=l(k),H=d(k,2),Y=l(H),S=d(T,2),B=l(S);{let N=y(()=>`size_${M()}_min`);Ne(B,{section:s,get fieldKey(){return r(N)},label:"Min",min:0,step:.01,get default(){return V().min},width:"80px"})}var I=d(B,2);{let N=y(()=>`size_${M()}_max`);Ne(I,{section:s,get fieldKey(){return r(N)},label:"Max",min:0,step:.01,get default(){return V().max},width:"80px"})}K(()=>{D($,M()),D(Y,`--sf-text-${M()??""}`)}),A(R,q)});var F=d(C,4),G=l(F);{let R=y(()=>a.scale_multipliers?.text_scale??1);Ne(G,{section:s,fieldKey:"text_scale",label:"Text Scale",min:0,step:.05,get default(){return r(R)},cssVar:"--sf-text-scale"})}var z=d(G,2);{let R=y(()=>a.scale_multipliers?.text_display_scale??1);Ne(z,{section:s,fieldKey:"text_display_scale",label:"Display Scale",min:0,step:.05,get default(){return r(R)},cssVar:"--sf-text-display-scale"})}A(b,_)},$$slots:{default:!0}}),A(e,h),Te()}var fl=j('
'),pl=j('

Live Scale Preview

Card heading
');function hl(e,t){je(t,!0);const s=360,a=1440;let n=fe(a);const i=pe.defaults?.spacing??{},o=i.space_sizes??{};function u(S){const B=Q.spacing??{},I=o[S]??{},N=B[`space_${S}_min`],se=B[`space_${S}_max`],ie=N!==void 0&&N!==""?parseFloat(N):I.min??1,ne=se!==void 0&&se!==""?parseFloat(se):I.max??1;return{min:ie,max:ne}}const c=y(()=>{const S=parseFloat(Q.spacing?.space_scale??i.space_scale??1)||1,B=Math.max(0,Math.min(1,(r(n)-s)/(a-s))),I=["2xs","xs","s","m","l","xl","2xl","3xl","4xl"],N=u("4xl").max*S;return I.map(se=>{const{min:ie,max:ne}=u(se),oe=(ie+(ne-ie)*B)*S,W=oe/N*100;return{name:se,sizeRem:oe.toFixed(3),barPct:Math.min(W,100)}})}),v=y(()=>{const S=parseFloat(Q.spacing?.space_scale??i.space_scale??1)||1,B=Math.max(0,Math.min(1,(r(n)-s)/(a-s))),I=N=>{const{min:se,max:ie}=u(N);return((se+(ie-se)*B)*S).toFixed(3)};return{xs:I("xs"),s:I("s"),m:I("m"),l:I("l")}});var h=pl(),f=l(h),p=d(l(f),2),m=l(p);m.textContent="360px";var b=d(m,2);te(b,"min",s),te(b,"max",a);var x=d(b,2);x.textContent="1440px";var _=d(x,2),w=l(_),E=d(f,2);he(E,21,()=>r(c),S=>S.name,(S,B)=>{var I=fl(),N=l(I),se=l(N),ie=d(N,2),ne=l(ie);let oe;var W=d(ie,2),de=l(W);K(()=>{D(se,`--sf-space-${r(B).name??""}`),oe=_e(ne,"",oe,{width:`${r(B).barPct??""}%`}),D(de,`${r(B).sizeRem??""}rem`)}),A(S,I)});var C=d(E,2),F=l(C),G=l(F),z=d(F,2);let R;var P=l(z);let O;var M=d(l(P),2),V=d(l(M),2),q=l(V),T=d(P,2),k=l(T),$=d(T,2);let H;var Y=d(l($),2);_e(Y,"",{},{width:"3rem"}),K(()=>{D(w,`${r(n)??""}px`),D(G,`Container context at ${r(n)??""}px`),R=_e(z,"",R,{padding:`${r(v).m??""}rem`,gap:`${r(v).s??""}rem`}),O=_e(P,"",O,{gap:`${r(v).s??""}rem`}),D(q,`padding: ${r(v).m??""}rem`),D(k,`Body section · gap between rows: ${r(v).s??""}rem`),H=_e($,"",H,{gap:`${r(v).xs??""}rem`,"padding-top":`${r(v).xs??""}rem`})}),Pt(b,()=>r(n),S=>X(n,S)),A(e,h),Te()}var _l=j('
'),gl=j(`

Fluid Scale Viewport Range

The viewport width range (in rem) used to compute all fluid clamp() formulas for custom-overridden spacing and typography values. Default: 22.5 rem (360 px) → 95 rem (1520 px). Changing these only affects values you explicitly + straight into the framework as the source of the brand scale.

`);function Lo(e,t){ze(t,!0);const s=le.defaults?.colors??{},a=h=>h.charAt(0).toUpperCase()+h.slice(1),n=Object.entries(s.brand??{}),i=y(()=>Eo("colors","dark_overrides_enabled")!=="0");function o(){yt("colors","dark_overrides_enabled",r(i)?"0":"1")}var u=Do(),c=d(l(u),4);de(c,21,()=>n,([h,f])=>h,(h,f)=>{var p=y(()=>wt(r(f),2));let m=()=>r(p)[0],b=()=>r(p)[1];{let x=y(()=>`brand_${m()}`),_=y(()=>a(m())),w=y(()=>s.brand_hex_hints?.[m()]??""),E=y(()=>`--sf-color-${m()}-light`);la(h,{get storeKey(){return r(x)},get label(){return r(_)},get hexHint(){return r(w)},get rawHint(){return b()},get cssVar(){return r(E)}})}});var v=d(c,2);aa(v,{children:(h,f)=>{var p=Mo(),m=d(ot(p),2);de(m,21,()=>Object.entries(s.status??{}),([T,z])=>T,(T,z)=>{var D=y(()=>wt(r(z),2));let O=()=>r(D)[0],K=()=>r(D)[1];{let q=y(()=>`status_${O()}`),B=y(()=>a(O())),$=y(()=>s.status_hex_hints?.[O()]??""),k=y(()=>`--sf-color-${O()}-light`);la(T,{get storeKey(){return r(q)},get label(){return r(B)},get hexHint(){return r($)},get rawHint(){return K()},get cssVar(){return r(k)}})}});var b=d(m,2),x=l(b),_=l(x);let w;var E=d(_,2),A=l(E),F=d(b,2);{var Y=T=>{var z=qo(),D=d(ot(z),2);de(D,21,()=>Object.entries(s.brand_dark??s.brand??{}),([K])=>K,(K,q)=>{var B=y(()=>wt(r(q),1));let $=()=>r(B)[0];{let k=y(()=>`brand_dark_${$()}`),R=y(()=>a($())),G=y(()=>s.brand_dark_hex_hints?.[$()]??""),Z=y(()=>s.brand_dark?.[$()]??""),j=y(()=>`--sf-color-${$()}-dark`);la(K,{get storeKey(){return r(k)},get label(){return r(R)},get hexHint(){return r(G)},get rawHint(){return r(Z)},get cssVar(){return r(j)}})}});var O=d(D,4);de(O,21,()=>Object.entries(s.status_dark??s.status??{}),([K])=>K,(K,q)=>{var B=y(()=>wt(r(q),1));let $=()=>r(B)[0];{let k=y(()=>`status_dark_${$()}`),R=y(()=>a($())),G=y(()=>s.status_dark_hex_hints?.[$()]??""),Z=y(()=>s.status_dark?.[$()]??""),j=y(()=>`--sf-color-${$()}-dark`);la(K,{get storeKey(){return r(k)},get label(){return r(R)},get hexHint(){return r(G)},get rawHint(){return r(Z)},get cssVar(){return r(j)}})}}),S(T,z)};me(F,T=>{r(i)&&T(Y)})}V(()=>{w=Ie(_,1,"dark-toggle-btn svelte-1vle0rm",null,w,{on:r(i)}),te(_,"aria-pressed",r(i)),P(A,r(i)?"Active — custom values override auto-derivation":"Off — dark mode auto-derived from light source colors")}),ge("click",_,o),S(h,p)},$$slots:{default:!0}}),S(e,u),Fe()}He(["click"]);var Io=C(''),Vo=C(' '),Oo=C(' '),Ko=C('

'),Bo=C('
');function ra(e,t){let s=$e(t,"cssVar",3,""),a=$e(t,"fieldId",3,""),n=$e(t,"description",3,"");var i=Bo(),o=l(i),u=l(o);{var c=_=>{var w=Io(),E=l(w);V(()=>{te(w,"for",a()),P(E,t.label)}),S(_,w)},v=_=>{var w=Vo(),E=l(w);V(()=>P(E,t.label)),S(_,w)};me(u,_=>{a()?_(c):_(v,-1)})}var h=d(u,2);{var f=_=>{var w=Oo(),E=l(w);V(()=>P(E,s())),S(_,w)};me(h,_=>{s()&&_(f)})}var p=d(o,2),m=l(p);Rn(m,()=>t.children??Br);var b=d(m,2);{var x=_=>{var w=Ko(),E=l(w);V(()=>P(E,n())),S(_,w)};me(b,_=>{n()&&_(x)})}S(e,i)}var No=C('');function je(e,t){ze(t,!0);let s=$e(t,"default",3,""),a=$e(t,"cssVar",3,""),n=$e(t,"description",3,""),i=$e(t,"mono",3,!1),o=$e(t,"width",3,"320px");const u=y(()=>Q[t.section]?.[t.fieldKey]===void 0||Q[t.section]?.[t.fieldKey]===null?"":String(Q[t.section][t.fieldKey]));function c(v){yt(t.section,t.fieldKey,v.currentTarget.value)}ra(e,{get label(){return t.label},get cssVar(){return a()},get fieldId(){return t.fieldKey},get description(){return n()},children:(v,h)=>{var f=No();let p,m;V(b=>{te(f,"id",t.fieldKey),p=Ie(f,1,"text svelte-j8yw6l",null,p,{mono:i()}),Us(f,r(u)),te(f,"placeholder",b),m=fe(f,"",m,{width:o()})},[()=>String(s())]),ge("input",f,c),S(v,f)},$$slots:{default:!0}}),Fe()}He(["input"]);var Ho=C(''),Go=C('Bricks'),Uo=C(""),Wo=C(''),Yo=C(""),Xo=C(''),Zo=C('

No Bricks fonts found. Add fonts in Bricks › Settings › Custom Fonts or the Bricks Font Manager, then reload this page.

'),Jo=C(''),Qo=C('The quick brown fox'),el=C('
');function qr(e,t){ze(t,!0);let s=$e(t,"default",3,""),a=$e(t,"cssVar",3,""),n=$e(t,"description",3,"");const i=[{label:"System UI",value:"system-ui, sans-serif"},{label:"Neo-Grotesque",value:"Inter, Roboto, 'Helvetica Neue', 'Arial Nova', 'Nimbus Sans', Arial, sans-serif"},{label:"Geometric Humanist",value:"Avenir, Montserrat, Corbel, 'URW Gothic', source-sans-pro, sans-serif"},{label:"Classical Humanist",value:"Optima, Candara, 'Noto Sans', source-sans-pro, sans-serif"},{label:"Humanist Sans",value:"Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif"},{label:"Industrial Sans",value:"'Bahnschrift', 'DIN Alternate', 'Franklin Gothic Medium', 'Nimbus Sans Narrow', sans-serif-condensed, sans-serif"},{label:"Rounded Sans",value:"ui-rounded, 'Hiragino Maru Gothic ProN', Quicksand, Comfortaa, Manjari, 'Arial Rounded MT Bold', Calibri, source-sans-pro, sans-serif"},{label:"Transitional Serif",value:"Charter, 'Bitstream Charter', 'Sitka Text', Cambria, serif"},{label:"Old Style Serif",value:"'Iowan Old Style', 'Palatino Linotype', 'URW Palladio L', P052, serif"},{label:"Slab Serif",value:"Rockwell, 'Rockwell Nova', 'Roboto Slab', 'DejaVu Serif', 'Sitka Small', serif"},{label:"Antique Serif",value:"Superclarendon, 'Bookman Old Style', 'URW Bookman', 'URW Bookman L', 'Georgia Pro', Georgia, serif"},{label:"Didone Serif",value:"Didact Gothic, 'Bodoni MT', 'Bodoni 72', Didot, 'Playfair Display', serif"},{label:"Monospace",value:"ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace"},{label:"Handwritten",value:"'Segoe Print', 'Bradley Hand', Chilanka, TSCu_Comic, casual, cursive"}],o=le.bricksFonts,u=le.activeIntegrations?.bricks??!0,c=y(()=>Q[t.section]?.[t.fieldKey]===void 0||Q[t.section]?.[t.fieldKey]===null?"":String(Q[t.section][t.fieldKey])),v=y(()=>r(c)||String(s()));function h(E){const A=(E||String(s())).trim().toLowerCase();return u&&o.some(F=>A===F.family.toLowerCase())?"bricks":i.some(F=>A===F.value.toLowerCase())?"system":"manual"}let f=he(Ve(h(r(v))));function p(E){J(f,E,!0),E==="system"?i.find(F=>F.value.toLowerCase()===r(v).toLowerCase())||yt(t.section,t.fieldKey,i[0].value):E==="bricks"&&!o.find(F=>F.family.toLowerCase()===r(v).toLowerCase())&&o.length>0&&yt(t.section,t.fieldKey,o[0].family)}function m(E){yt(t.section,t.fieldKey,E.currentTarget.value)}function b(E){yt(t.section,t.fieldKey,E.currentTarget.value)}function x(E){yt(t.section,t.fieldKey,E.currentTarget.value)}const _={adobe:" (Adobe)",google:" (Google)"},w=E=>_[E]??"";ra(e,{get label(){return t.label},get cssVar(){return a()},get fieldId(){return t.fieldKey},get description(){return n()},children:(E,A)=>{var F=el(),Y=l(F),T=l(Y);let z;var D=d(T,2);{var O=N=>{var L=Ho();let H;V(()=>H=Ie(L,1,"source-tab svelte-ow2kvz",null,H,{"source-tab--active":r(f)==="bricks"})),ge("click",L,()=>p("bricks")),S(N,L)},K=N=>{var L=Go();S(N,L)};me(D,N=>{u?N(O):N(K,-1)})}var q=d(D,2);let B;var $=d(Y,2);{var k=N=>{var L=Wo();de(L,21,()=>i,se=>se.value,(se,ne)=>{var ae=Uo(),ie=l(ae),U={};V(()=>{P(ie,r(ne).label),U!==(U=r(ne).value)&&(ae.value=(ae.__value=r(ne).value)??"")}),S(se,ae)});var H;xa(L),V(()=>{te(L,"id",t.fieldKey),H!==(H=r(v))&&(L.value=(L.__value=r(v))??"",Gs(L,r(v)))}),ge("change",L,m),S(N,L)},R=N=>{var L=ar(),H=ot(L);{var se=ae=>{var ie=Xo();de(ie,21,()=>o,oe=>oe.family,(oe,be)=>{var xe=Yo(),Te=l(xe),Re={};V(Pe=>{P(Te,`${r(be).label??""}${Pe??""}`),Re!==(Re=r(be).family)&&(xe.value=(xe.__value=r(be).family)??"")},[()=>w(r(be).source)]),S(oe,xe)});var U;xa(ie),V(()=>{te(ie,"id",t.fieldKey),U!==(U=r(v))&&(ie.value=(ie.__value=r(v))??"",Gs(ie,r(v)))}),ge("change",ie,b),S(ae,ie)},ne=ae=>{var ie=Zo();S(ae,ie)};me(H,ae=>{o.length>0?ae(se):ae(ne,-1)})}S(N,L)},G=N=>{var L=Jo();V(H=>{te(L,"id",t.fieldKey),Us(L,r(c)),te(L,"placeholder",H)},[()=>String(s())]),ge("input",L,x),S(N,L)};me($,N=>{r(f)==="system"?N(k):r(f)==="bricks"&&u?N(R,1):N(G,-1)})}var Z=d($,2);{var j=N=>{var L=Qo();V(()=>fe(L,`font-family: ${r(v)??""}`)),S(N,L)};me(Z,N=>{r(v)&&N(j)})}V(()=>{z=Ie(T,1,"source-tab svelte-ow2kvz",null,z,{"source-tab--active":r(f)==="system"}),B=Ie(q,1,"source-tab svelte-ow2kvz",null,B,{"source-tab--active":r(f)==="manual"})}),ge("click",T,()=>p("system")),ge("click",q,()=>p("manual")),S(E,F)},$$slots:{default:!0}}),Fe()}He(["click","change","input"]);var tl=C(' '),sl=C(' ',1);function Ge(e,t){ze(t,!0);let s=$e(t,"min",3,void 0),a=$e(t,"max",3,void 0),n=$e(t,"step",3,void 0),i=$e(t,"default",3,""),o=$e(t,"cssVar",3,""),u=$e(t,"unit",3,""),c=$e(t,"description",3,""),v=$e(t,"width",3,"120px");const h=y(()=>Q[t.section]?.[t.fieldKey]===void 0||Q[t.section]?.[t.fieldKey]===null?"":String(Q[t.section][t.fieldKey]));function f(p){yt(t.section,t.fieldKey,p.currentTarget.value)}ra(e,{get label(){return t.label},get cssVar(){return o()},get fieldId(){return t.fieldKey},get description(){return c()},children:(p,m)=>{var b=sl(),x=ot(b);let _;var w=d(x,2);{var E=A=>{var F=tl(),Y=l(F);V(()=>P(Y,u())),S(A,F)};me(w,A=>{u()&&A(E)})}V(A=>{te(x,"id",t.fieldKey),te(x,"min",s()),te(x,"max",a()),te(x,"step",n()),Us(x,r(h)),te(x,"placeholder",A),_=fe(x,"",_,{width:v()})},[()=>String(i())]),ge("input",x,f),S(p,b)},$$slots:{default:!0}}),Fe()}He(["input"]);var al=C('
'),rl=C('
'),nl=C('

Display Scale

'),il=C('

Live Scale Preview

Text Scale

');function ol(e,t){ze(t,!0);const s=16,a=y(Sa);let n=he(Ve(Sa().maxPx));za(()=>{r(n)r(a).maxPx&&J(n,r(a).maxPx,!0)});const o=(le.defaults?.typography??{}).font_sizes??{};function u(q){const B=Q.typography??{},$=o[q]??{},k=B[`size_${q}_min`],R=B[`size_${q}_max`],G=k!==void 0&&k!==""?parseFloat(k):$.min??.75,Z=R!==void 0&&R!==""?parseFloat(R):$.max??1;return{min:G,max:Z}}const c=y(()=>{const q=Math.max(0,Math.min(1,(r(n)-r(a).minPx)/(r(a).maxPx-r(a).minPx))),B={};for(const $ of Object.keys(o)){const{min:k,max:R}=u($),G=k+(R-k)*q,Z=G*s;B[$]={sizePx:Z,sizeRem:G.toFixed(3)}}return B}),v=["2xs","xs","s","m","l","xl","2xl","3xl","4xl"],h=["display-s","display-m","display-l"],f=y(()=>v.filter(q=>o[q])),p=y(()=>h.filter(q=>o[q]));var m=il(),b=l(m),x=d(l(b),2),_=l(x),w=l(_),E=d(_,2),A=d(E,2),F=l(A),Y=d(A,2),T=l(Y),z=d(b,2),D=d(l(z),2);de(D,16,()=>r(f),q=>q,(q,B)=>{const $=y(()=>r(c)[B]);var k=ar(),R=ot(k);{var G=Z=>{var j=al(),N=l(j),L=l(N),H=d(N,2);let se;var ne=l(H),ae=d(H,2),ie=l(ae);V((U,oe)=>{P(L,B),se=fe(H,"",se,U),P(ne,B),P(ie,`${r($).sizeRem??""}rem / ${oe??""}px`)},[()=>({"font-size":`${r($).sizePx.toFixed(1)??""}px`}),()=>r($).sizePx.toFixed(1)]),S(Z,j)};me(R,Z=>{r($)&&Z(G)})}S(q,k)});var O=d(z,2);{var K=q=>{var B=nl(),$=d(l(B),2);de($,16,()=>r(p),k=>k,(k,R)=>{const G=y(()=>r(c)[R]);var Z=ar(),j=ot(Z);{var N=L=>{var H=rl(),se=l(H),ne=l(se),ae=d(se,2);let ie;var U=l(ae),oe=d(ae,2),be=l(oe);V((xe,Te)=>{P(ne,R),ie=fe(ae,"",ie,xe),P(U,R),P(be,`${r(G).sizeRem??""}rem / ${Te??""}px`)},[()=>({"font-size":`${r(G).sizePx.toFixed(1)??""}px`}),()=>r(G).sizePx.toFixed(1)]),S(L,H)};me(j,L=>{r(G)&&L(N)})}S(k,Z)}),S(q,B)};me(O,q=>{r(p).length>0&&q(K)})}V(()=>{P(w,`${r(a).minPx??""}px`),te(E,"min",r(a).minPx),te(E,"max",r(a).maxPx),P(F,`${r(a).maxPx??""}px`),P(T,`${r(n)??""}px`)}),Vt(E,()=>r(n),q=>J(n,q)),S(e,m),Fe()}var ll=C(""),cl=C(""),dl=C('
'),ul=C('
Scale Generator Computes all step min/max values from a modular scale. Click Apply to write them to the fields below.
');function vl(e,t){ze(t,!0);const s=[{label:"Minor Second (1.067)",value:1.067},{label:"Major Second (1.125)",value:1.125},{label:"Minor Third (1.200)",value:1.2},{label:"Major Third (1.250)",value:1.25},{label:"Perfect Fourth (1.333)",value:1.333},{label:"Aug. Fourth (1.414)",value:1.414},{label:"Perfect Fifth (1.500)",value:1.5},{label:"Golden Ratio (1.618)",value:1.618},{label:"Major Sixth (1.667)",value:1.667},{label:"Octave (2.000)",value:2}],a=[{name:"2xs",idx:-4},{name:"xs",idx:-3},{name:"s",idx:-2},{name:"m",idx:0},{name:"l",idx:1},{name:"xl",idx:2},{name:"2xl",idx:3},{name:"3xl",idx:4},{name:"4xl",idx:5},{name:"display-s",idx:5},{name:"display-m",idx:6},{name:"display-l",idx:7}];let n=he(1),i=he(1.25),o=he(1.25),u=he(1.333),c=he(.85);const v=y(()=>a.map(({name:$,idx:k})=>{const G=$.startsWith("display")?r(c):1,Z=+(r(n)*G*Math.pow(r(o),k)).toFixed(4),j=+(r(i)*G*Math.pow(r(u),k)).toFixed(4);return{name:$,min:Z,max:j}}));function h(){Q.typography||(Q.typography={});for(const{name:$,min:k,max:R}of r(v))Q.typography[`size_${$}_min`]=String(k),Q.typography[`size_${$}_max`]=String(R);gr()}var f=ul(),p=d(l(f),2),m=l(p),b=d(l(m),2),x=l(b),_=d(m,2),w=d(l(_),2),E=l(w),A=d(_,2),F=d(l(A),2);de(F,21,()=>s,$=>$.value,($,k)=>{var R=ll(),G=l(R),Z={};V(()=>{P(G,r(k).label),Z!==(Z=r(k).value)&&(R.value=(R.__value=r(k).value)??"")}),S($,R)});var Y=d(A,2),T=d(l(Y),2);de(T,21,()=>s,$=>$.value,($,k)=>{var R=cl(),G=l(R),Z={};V(()=>{P(G,r(k).label),Z!==(Z=r(k).value)&&(R.value=(R.__value=r(k).value)??"")}),S($,R)});var z=d(Y,2),D=d(l(z),2),O=l(D),K=d(p,2);de(K,21,()=>r(v),({name:$,min:k,max:R})=>$,($,k)=>{let R=()=>r(k).name,G=()=>r(k).min,Z=()=>r(k).max;var j=dl();let N;var L=l(j),H=l(L),se=d(L,2),ne=l(se);V((ae,ie,U)=>{N=Ie(j,1,"scale-gen__step svelte-1y8fkhh",null,N,ae),P(H,R()),P(ne,`${ie??""} / ${U??""}`)},[()=>({display:R().startsWith("display")}),()=>G().toFixed(3),()=>Z().toFixed(3)]),S($,j)});var q=d(K,2),B=l(q);Vt(x,()=>r(n),$=>J(n,$)),Vt(E,()=>r(i),$=>J(i,$)),ka(F,()=>r(o),$=>J(o,$)),ka(T,()=>r(u),$=>J(u,$)),Vt(O,()=>r(c),$=>J(c,$)),ge("click",B,h),S(e,f),Fe()}He(["click"]);var fl=C('
'),pl=C(`

Additional Font Families

Font Size Scale

Min and max values in rem for fluid type scaling via clamp(). + Leave both fields blank to use the framework defaults. The viewport range these + sizes interpolate across (and the range the Live Scale Preview above scrubs) is the Fluid Scale Viewport Range set in the Spacing tab — + it's the shared source for both spacing and typography.

Scale Multipliers

`,1),hl=C('

Font Families

');function _l(e,t){ze(t,!0);const s="typography",a=le.defaults?.[s]??{},n=a.font_families??{},i=a.font_sizes??{},o=b=>b.charAt(0).toUpperCase()+b.slice(1),u=["body","heading"],c=Object.fromEntries(Object.entries(n).filter(([b])=>u.includes(b))),v=Object.fromEntries(Object.entries(n).filter(([b])=>!u.includes(b)));var h=hl(),f=d(l(h),2);de(f,21,()=>Object.entries(c),([b,x])=>b,(b,x)=>{var _=y(()=>wt(r(x),2));let w=()=>r(_)[0],E=()=>r(_)[1];{let A=y(()=>`font_${w()}`),F=y(()=>o(w())),Y=y(()=>`--sf-font-${w()}`);qr(b,{section:s,get fieldKey(){return r(A)},get label(){return r(F)},get default(){return E()},get cssVar(){return r(Y)}})}});var p=d(f,2);ol(p,{});var m=d(p,2);aa(m,{children:(b,x)=>{var _=pl(),w=d(ot(_),2);de(w,21,()=>Object.entries(v),([z,D])=>z,(z,D)=>{var O=y(()=>wt(r(D),2));let K=()=>r(O)[0],q=()=>r(O)[1];{let B=y(()=>`font_${K()}`),$=y(()=>o(K())),k=y(()=>`--sf-font-${K()}`);qr(z,{section:s,get fieldKey(){return r(B)},get label(){return r($)},get default(){return q()},get cssVar(){return r(k)}})}});var E=d(w,6);vl(E,{});var A=d(E,2);de(A,21,()=>Object.entries(i),([z,D])=>z,(z,D)=>{var O=y(()=>wt(r(D),2));let K=()=>r(O)[0],q=()=>r(O)[1];var B=fl(),$=l(B),k=l($),R=l(k),G=d(k,2),Z=l(G),j=d($,2),N=l(j);{let H=y(()=>`size_${K()}_min`);Ge(N,{section:s,get fieldKey(){return r(H)},label:"Min",min:0,step:.01,get default(){return q().min},width:"80px"})}var L=d(N,2);{let H=y(()=>`size_${K()}_max`);Ge(L,{section:s,get fieldKey(){return r(H)},label:"Max",min:0,step:.01,get default(){return q().max},width:"80px"})}V(()=>{P(R,K()),P(Z,`--sf-text-${K()??""}`)}),S(z,B)});var F=d(A,4),Y=l(F);{let z=y(()=>a.scale_multipliers?.text_scale??1);Ge(Y,{section:s,fieldKey:"text_scale",label:"Text Scale",min:0,step:.05,get default(){return r(z)},cssVar:"--sf-text-scale"})}var T=d(Y,2);{let z=y(()=>a.scale_multipliers?.text_display_scale??1);Ge(T,{section:s,fieldKey:"text_display_scale",label:"Display Scale",min:0,step:.05,get default(){return r(z)},cssVar:"--sf-text-display-scale"})}S(b,_)},$$slots:{default:!0}}),S(e,h),Fe()}var gl=C('
'),ml=C('

Live Scale Preview

Card heading
');function bl(e,t){ze(t,!0);const s=y(Sa);let a=he(Ve(Sa().maxPx));za(()=>{r(a)r(s).maxPx&&J(a,r(s).maxPx,!0)});const n=le.defaults?.spacing??{},i=n.space_sizes??{};function o(N){const L=Q.spacing??{},H=i[N]??{},se=L[`space_${N}_min`],ne=L[`space_${N}_max`],ae=se!==void 0&&se!==""?parseFloat(se):H.min??1,ie=ne!==void 0&&ne!==""?parseFloat(ne):H.max??1;return{min:ae,max:ie}}const u=y(()=>{const N=parseFloat(Q.spacing?.space_scale??n.space_scale??1)||1,L=Math.max(0,Math.min(1,(r(a)-r(s).minPx)/(r(s).maxPx-r(s).minPx))),H=["2xs","xs","s","m","l","xl","2xl","3xl","4xl"],se=o("4xl").max*N;return H.map(ne=>{const{min:ae,max:ie}=o(ne),U=(ae+(ie-ae)*L)*N,oe=U/se*100;return{name:ne,sizeRem:U.toFixed(3),barPct:Math.min(oe,100)}})}),c=y(()=>{const N=parseFloat(Q.spacing?.space_scale??n.space_scale??1)||1,L=Math.max(0,Math.min(1,(r(a)-r(s).minPx)/(r(s).maxPx-r(s).minPx))),H=se=>{const{min:ne,max:ae}=o(se);return((ne+(ae-ne)*L)*N).toFixed(3)};return{xs:H("xs"),s:H("s"),m:H("m"),l:H("l")}});var v=ml(),h=l(v),f=d(l(h),2),p=l(f),m=l(p),b=d(p,2),x=d(b,2),_=l(x),w=d(x,2),E=l(w),A=d(h,2);de(A,21,()=>r(u),N=>N.name,(N,L)=>{var H=gl(),se=l(H),ne=l(se),ae=d(se,2),ie=l(ae);let U;var oe=d(ae,2),be=l(oe);V(()=>{P(ne,`--sf-space-${r(L).name??""}`),U=fe(ie,"",U,{width:`${r(L).barPct??""}%`}),P(be,`${r(L).sizeRem??""}rem`)}),S(N,H)});var F=d(A,2),Y=l(F),T=l(Y),z=d(Y,2);let D;var O=l(z);let K;var q=d(l(O),2),B=d(l(q),2),$=l(B),k=d(O,2),R=l(k),G=d(k,2);let Z;var j=d(l(G),2);fe(j,"",{},{width:"3rem"}),V(()=>{P(m,`${r(s).minPx??""}px`),te(b,"min",r(s).minPx),te(b,"max",r(s).maxPx),P(_,`${r(s).maxPx??""}px`),P(E,`${r(a)??""}px`),P(T,`Container context at ${r(a)??""}px`),D=fe(z,"",D,{padding:`${r(c).m??""}rem`,gap:`${r(c).s??""}rem`}),K=fe(O,"",K,{gap:`${r(c).s??""}rem`}),P($,`padding: ${r(c).m??""}rem`),P(R,`Body section · gap between rows: ${r(c).s??""}rem`),Z=fe(G,"",Z,{gap:`${r(c).xs??""}rem`,"padding-top":`${r(c).xs??""}rem`})}),Vt(b,()=>r(a),N=>J(a,N)),S(e,v),Fe()}var yl=C('
'),wl=C(`

Fluid Scale Viewport Range

The viewport width range (in rem) used to compute all fluid clamp() formulas for custom-overridden spacing and typography values. Default: 22.5 rem (360 px) → 95 rem (1520 px). Changing these only affects values you explicitly override below or in the Typography tab — the framework's built-in scale uses the same defaults and is unaffected.

Space Scale Steps

Min and max values in rem for fluid spacing via clamp(). - Leave both fields blank to use the framework defaults.

Space Aliases

`,1),ml=j(`

Spacing

The Space Scale multiplier scales every spacing token at once — the quickest + Leave both fields blank to use the framework defaults.

Space Aliases

`,1),xl=C(`

Spacing

The Space Scale multiplier scales every spacing token at once — the quickest way to make a whole site more or less airy. Fine-grained per-step overrides, the fluid - viewport range, and named aliases live under Advanced.

`);function bl(e,t){je(t,!0);const s="spacing",a=pe.defaults?.[s]??{},n=a.space_sizes??{},i=[{key:"gutter",label:"Gutter",cssVar:"--sf-space-gutter"},{key:"gap",label:"Gap",cssVar:"--sf-gap"},{key:"content_gap",label:"Content Gap",cssVar:"--sf-content-gap"},{key:"component_pad",label:"Component Pad",cssVar:"--sf-component-pad"},{key:"section_pad",label:"Section Pad",cssVar:"--sf-section-pad"}];var o=ml(),u=d(l(o),4),c=l(u);{let f=y(()=>a.space_scale??1);Ne(c,{section:s,fieldKey:"space_scale",label:"Space Scale",min:0,step:.05,get default(){return r(f)},cssVar:"--sf-space-scale"})}var v=d(u,2);hl(v,{});var h=d(v,2);Qs(h,{children:(f,p)=>{var m=gl(),b=d(nt(m),4),x=l(b);{let C=y(()=>a.viewport_min??22.5);Ne(x,{section:s,fieldKey:"viewport_min",label:"Min viewport (rem)",min:10,max:60,step:.5,get default(){return r(C)}})}var _=d(x,2);{let C=y(()=>a.viewport_max??95);Ne(_,{section:s,fieldKey:"viewport_max",label:"Max viewport (rem)",min:40,max:200,step:.5,get default(){return r(C)}})}var w=d(b,6);he(w,21,()=>Object.entries(n),([C,F])=>C,(C,F)=>{var G=y(()=>mt(r(F),2));let z=()=>r(G)[0],R=()=>r(G)[1];var P=_l(),O=l(P),M=l(O),V=l(M),q=d(M,2),T=l(q),k=d(O,2),$=l(k);{let Y=y(()=>`space_${z()}_min`);Ne($,{section:s,get fieldKey(){return r(Y)},label:"Min",min:0,step:.01,get default(){return R().min},width:"80px"})}var H=d($,2);{let Y=y(()=>`space_${z()}_max`);Ne(H,{section:s,get fieldKey(){return r(Y)},label:"Max",min:0,step:.01,get default(){return R().max},width:"80px"})}K(()=>{D(V,z()),D(T,`--sf-space-${z()??""}`)}),A(C,P)});var E=d(w,4);he(E,21,()=>i,C=>C.key,(C,F)=>{{let G=y(()=>a[r(F).key]??"");Ae(C,{section:s,get fieldKey(){return r(F).key},get label(){return r(F).label},get default(){return r(G)},get cssVar(){return r(F).cssVar},mono:!0})}}),A(f,m)},$$slots:{default:!0}}),A(e,o),Te()}var yl=j(' '),wl=j(' ',1);function _s(e,t){je(t,!0);let s=Ee(t,"cssVar",3,""),a=Ee(t,"unit",3,""),n=Ee(t,"description",3,"");const i=y(()=>Q[t.section]?.[t.fieldKey]===void 0||Q[t.section]?.[t.fieldKey]===null?"":String(Q[t.section][t.fieldKey])),o=y(()=>r(i)===""||Number.isNaN(Number(r(i)))?Number(t.default):Number(r(i)));function u(v){gt(t.section,t.fieldKey,v.currentTarget.value)}function c(v){gt(t.section,t.fieldKey,v.currentTarget.value)}ea(e,{get label(){return t.label},get cssVar(){return s()},get fieldId(){return t.fieldKey},get description(){return n()},children:(v,h)=>{var f=wl(),p=nt(f),m=d(p,2),b=d(m,2);{var x=_=>{var w=yl(),E=l(w);K(()=>D(E,a())),A(_,w)};me(b,_=>{a()&&_(x)})}K(_=>{te(p,"min",t.min),te(p,"max",t.max),te(p,"step",t.step),Bs(p,r(o)),te(m,"id",t.fieldKey),te(m,"min",t.min),te(m,"max",t.max),te(m,"step",t.step),Bs(m,r(i)),te(m,"placeholder",_)},[()=>String(t.default)]),ge("input",p,u),ge("input",m,c),A(v,f)},$$slots:{default:!0}}),Te()}Be(["input"]);var xl=j(""),kl=j('');function Sl(e,t){je(t,!0);let s=Ee(t,"options",19,()=>[]),a=Ee(t,"default",3,""),n=Ee(t,"cssVar",3,""),i=Ee(t,"description",3,"");const o=y(()=>s().map(v=>typeof v=="string"?{value:v,label:v}:v)),u=y(()=>Q[t.section]?.[t.fieldKey]===void 0||Q[t.section]?.[t.fieldKey]===null?"":String(Q[t.section][t.fieldKey]));function c(v){gt(t.section,t.fieldKey,v.currentTarget.value)}ea(e,{get label(){return t.label},get cssVar(){return n()},get fieldId(){return t.fieldKey},get description(){return i()},children:(v,h)=>{var f=kl(),p=l(f),m=l(p);p.value=p.__value="";var b=d(p);he(b,17,()=>r(o),_=>_.value,(_,w)=>{var E=xl(),C=l(E),F={};K(()=>{D(C,r(w).label),F!==(F=r(w).value)&&(E.value=(E.__value=r(w).value)??"")}),A(_,E)});var x;ma(f),K(()=>{te(f,"id",t.fieldKey),D(m,`Default (${a()??""})`),x!==(x=r(u))&&(f.value=(f.__value=r(u))??"",Ks(f,r(u)))}),ge("change",f,c),A(v,f)},$$slots:{default:!0}}),Te()}Be(["change"]);var El=j('
'),Al=j('
'),Cl=j('
'),jl=j('

Shadow

Motion — Durations

Base duration values in milliseconds.

Z-Index

Z-index layer values for stacking context management.

Contrast

',1),Tl=j('

Radius

Shadows

Motion

Accessibility

');function zl(e,t){je(t,!0);const s=pe.defaults?.radius??{},a=pe.defaults?.shadows??{},n=pe.defaults?.motion??{},i=pe.defaults?.zindex??{},o=pe.defaults?.contrast??{},u=n.durations??{},c=W=>W.charAt(0).toUpperCase()+W.slice(1),v=[0,2,4,8,12,16,24,9999],h=["none","xs","s","m","l","xl","2xl","full"],f=y(()=>parseFloat(Q.radius?.radius_scale??pe.defaults?.radius?.radius_scale??1)),p=y(()=>v.map(W=>W*r(f))),m=y(()=>parseFloat(Q.shadows?.shadow_strength??a.shadow_strength??.08)),b=y(()=>parseFloat(Q.motion?.motion_scale??n.motion_scale??1)||1),x=["instant","fast","normal","slow","slower"],_=y(()=>x.map(W=>{const de=Q.motion?.[`duration_${W}`],we=parseFloat(de!==void 0&&de!==""?de:u[W]??0);return{name:W,ms:Math.round(we*r(b))}})),w=(W,de)=>parseFloat(W!==void 0&&W!==""?W:de),E=y(()=>w(Q.contrast?.focus_ring_width,o.focus_ring_width??2)),C=y(()=>w(Q.contrast?.focus_ring_offset,o.focus_ring_offset??2)),F=y(()=>Q.contrast?.focus_ring_style??o.focus_ring_style??"solid"),G=y(()=>[{label:"xs",shadow:`0 1px 2px 0 rgba(0,0,0,${(r(m)*.5).toFixed(4)})`},{label:"s",shadow:`0 1px 2px 0 rgba(0,0,0,${(r(m)*.5).toFixed(4)}), 0 2px 6px 0 rgba(0,0,0,${r(m).toFixed(4)})`},{label:"m",shadow:`0 1px 3px 0 rgba(0,0,0,${(r(m)*.5).toFixed(4)}), 0 4px 12px 0 rgba(0,0,0,${(r(m)*2).toFixed(4)})`},{label:"l",shadow:`0 2px 4px 0 rgba(0,0,0,${(r(m)*.5).toFixed(4)}), 0 8px 24px 0 rgba(0,0,0,${(r(m)*3).toFixed(4)})`},{label:"xl",shadow:`0 2px 8px 0 rgba(0,0,0,${(r(m)*.5).toFixed(4)}), 0 12px 36px 0 rgba(0,0,0,${(r(m)*3.5).toFixed(4)})`},{label:"glow",shadow:`0 0 15px 2px rgba(74,48,208,${Math.min(r(m)*2,.7).toFixed(4)})`}]);var z=Tl(),R=d(l(z),2),P=l(R);{let W=y(()=>s.radius_scale??1);Ne(P,{section:"radius",fieldKey:"radius_scale",label:"Radius Scale",min:0,step:.1,get default(){return r(W)},cssVar:"--sf-radius-scale"})}var O=d(R,2);he(O,23,()=>r(p),(W,de)=>h[de],(W,de,we)=>{var xe=El(),Ce=l(xe);let ze;var $e=d(Ce,2),L=l($e);K(()=>{ze=_e(Ce,"",ze,{"border-radius":v[r(we)]===9999?"9999px":`${r(de)}px`}),D(L,h[r(we)])}),A(W,xe)});var M=d(O,4),V=l(M);{let W=y(()=>a.shadow_strength??.08);_s(V,{section:"shadows",fieldKey:"shadow_strength",label:"Shadow Strength",description:"Base opacity for shadow layers (0–1).",min:0,max:1,step:.01,get default(){return r(W)},cssVar:"--sf-shadow-strength"})}var q=d(M,2);he(q,21,()=>r(G),W=>W.label,(W,de)=>{var we=Al(),xe=l(we);let Ce;var ze=l(xe);K(()=>{Ce=_e(xe,"",Ce,{"box-shadow":r(de).shadow}),D(ze,r(de).label)}),A(W,we)});var T=d(q,4),k=l(T);{let W=y(()=>n.motion_scale??1);Ne(k,{section:"motion",fieldKey:"motion_scale",label:"Motion Scale",min:0,step:.1,get default(){return r(W)},cssVar:"--sf-motion-scale"})}var $=d(T,2);he($,21,()=>r(_),W=>W.name,(W,de)=>{var we=Cl(),xe=l(we),Ce=l(xe),ze=d(xe,2),$e=l(ze);let L;var U=d(ze,2),ee=l(U);K(()=>{D(Ce,r(de).name),L=_e($e,"",L,{"animation-duration":`${r(de).ms??""}ms`}),D(ee,`${r(de).ms??""}ms`)}),A(W,we)});var H=d($,4),Y=l(H);{let W=y(()=>o.focus_ring_width??2);_s(Y,{section:"contrast",fieldKey:"focus_ring_width",label:"Focus Ring Width",min:0,max:8,step:.5,get default(){return r(W)},cssVar:"--sf-focus-ring-width",unit:"px"})}var S=d(Y,2);{let W=y(()=>o.focus_ring_offset??2);_s(S,{section:"contrast",fieldKey:"focus_ring_offset",label:"Focus Ring Offset",min:0,max:8,step:.5,get default(){return r(W)},cssVar:"--sf-focus-ring-offset",unit:"px"})}var B=d(S,2);{let W=y(()=>o.focus_ring_style??"solid");Sl(B,{section:"contrast",fieldKey:"focus_ring_style",label:"Focus Ring Style",options:["solid","dashed","dotted","double","none"],get default(){return r(W)},cssVar:"--sf-focus-ring-style"})}var I=d(H,2),N=l(I);let se;var ie=d(N,2),ne=l(ie),oe=d(I,2);Qs(oe,{children:(W,de)=>{var we=jl(),xe=d(nt(we),2),Ce=l(xe);{let J=y(()=>a.glow_color??"");Ae(Ce,{section:"shadows",fieldKey:"glow_color",label:"Glow Color",get default(){return r(J)},cssVar:"--sf-shadow-glow-color",mono:!0})}var ze=d(xe,6);he(ze,21,()=>Object.entries(u),([J,ue])=>J,(J,ue)=>{var ae=y(()=>mt(r(ue),2));let Fe=()=>r(ae)[0],Pe=()=>r(ae)[1];{let ht=y(()=>`duration_${Fe()}`),Ve=y(()=>c(Fe())),Ue=y(()=>`--sf-duration-${Fe()}`);Ne(J,{section:"motion",get fieldKey(){return r(ht)},get label(){return r(Ve)},min:0,step:10,get default(){return Pe()},get cssVar(){return r(Ue)},unit:"ms"})}});var $e=d(ze,6);he($e,21,()=>Object.entries(i),([J,ue])=>J,(J,ue)=>{var ae=y(()=>mt(r(ue),2));let Fe=()=>r(ae)[0],Pe=()=>r(ae)[1];{let ht=y(()=>c(Fe())),Ve=y(()=>`--sf-z-${Fe()}`);Ne(J,{section:"zindex",get fieldKey(){return Fe()},get label(){return r(ht)},step:1,get default(){return Pe()},get cssVar(){return r(Ve)}})}});var L=d($e,4),U=l(L);{let J=y(()=>o.contrast_bias??0);_s(U,{section:"contrast",fieldKey:"contrast_bias",label:"Contrast Bias",description:"Shifts derived shades up (positive) or down (negative).",min:-.2,max:.2,step:.01,get default(){return r(J)},cssVar:"--sf-contrast-bias"})}var ee=d(U,2);{let J=y(()=>o.contrast_threshold??.6);_s(ee,{section:"contrast",fieldKey:"contrast_threshold",label:"Contrast Threshold",description:"Lightness threshold for text-on-color (white vs. black).",min:0,max:1,step:.01,get default(){return r(J)},cssVar:"--sf-contrast-threshold"})}var Z=d(ee,2);{let J=y(()=>o.opacity_disabled??.45);_s(Z,{section:"contrast",fieldKey:"opacity_disabled",label:"Disabled Opacity",min:0,max:1,step:.01,get default(){return r(J)},cssVar:"--sf-opacity-disabled"})}A(W,we)},$$slots:{default:!0}}),K(()=>{se=_e(N,"",se,{"--fp-width":`${r(E)??""}px`,"--fp-offset":`${r(C)??""}px`,"--fp-style":r(F)}),D(ne,`${r(E)??""}px ${r(F)??""} · ${r(C)??""}px offset`)}),A(e,z),Te()}var $l=j('
  • '),Fl=j('
      '),Rl=j('
      '),Ml=j(`

      All --sf-* custom properties declared in the active SLASHED bundle, - grouped by category.

      `);function Dl(e,t){je(t,!0);const s=pe.inventory?.variables??[],a={color:"Colors",text:"Typography",font:"Typography",leading:"Typography",tracking:"Typography",body:"Typography",heading:"Typography",h1:"Typography",h2:"Typography",h3:"Typography",h4:"Typography",h5:"Typography",h6:"Typography",prose:"Typography",code:"Typography",optical:"Typography",line:"Typography",space:"Spacing",gap:"Spacing",gutter:"Spacing",component:"Spacing",section:"Spacing",flow:"Spacing",safe:"Spacing",header:"Spacing",sticky:"Spacing",size:"Sizing",aspect:"Sizing",ratio:"Sizing",touch:"Sizing",object:"Sizing",container:"Layout",stack:"Layout",cluster:"Layout",sidebar:"Layout",switcher:"Layout",grid:"Layout",cover:"Layout",frame:"Layout",reel:"Layout",imposter:"Layout",bento:"Layout",box:"Layout",center:"Layout",content:"Layout",breakout:"Layout",divider:"Layout",field:"Layout",alternate:"Layout",equal:"Layout",col:"Layout",border:"Borders",stroke:"Borders",radius:"Radius",shadow:"Shadows",blur:"Effects",opacity:"Effects",gradient:"Effects",mask:"Effects",perspective:"Effects",drop:"Effects",contrast:"Effects",duration:"Motion",ease:"Motion",transition:"Motion",motion:"Motion",animation:"Motion",icon:"Icons",z:"Z-Index",is:"States",current:"States",state:"States",focus:"Focus",caret:"Focus",scroll:"Scroll",scrollbar:"Scroll",print:"Print",truncate:"Misc"},n=["Colors","Typography","Spacing","Sizing","Layout","Borders","Radius","Shadows","Effects","Motion","Icons","Z-Index","States","Focus","Scroll","Print","Misc"];function i(b){let x=b;x.startsWith("--sf-")&&(x=x.slice(5));const _=x.indexOf("-"),w=_===-1?x:x.slice(0,_);return a[w]||"Misc"}function o(b){const x={};for(const w of b){const E=i(w);x[E]||(x[E]=[]),x[E].push(w)}const _=[];for(const w of n)x[w]?.length&&(x[w].sort(),_.push({category:w,items:x[w]}));for(const w of Object.keys(x))!n.includes(w)&&x[w]?.length&&(x[w].sort(),_.push({category:w,items:x[w]}));return _}const u=o(s);let c=Ke({});function v(b){c[b]=!c[b]}var h=Ml(),f=l(h),p=l(f),m=d(f,4);he(m,17,()=>u,({category:b,items:x})=>b,(b,x)=>{let _=()=>r(x).category,w=()=>r(x).items;var E=Rl(),C=l(E),F=l(C),G=l(F),z=d(F,2),R=l(z),P=d(z,2),O=l(P),M=d(C,2);{var V=q=>{var T=Fl();he(T,20,w,k=>k,(k,$)=>{var H=$l(),Y=l(H),S=l(Y);K(()=>D(S,$)),A(k,H)}),A(q,T)};me(M,q=>{c[_()]&&q(V)})}K(()=>{te(C,"aria-expanded",c[_()]?"true":"false"),D(G,c[_()]?"▼":"▶"),D(R,_()),D(O,`(${w().length??""})`)}),ge("click",C,()=>v(_())),A(b,E)}),K(()=>D(p,`CSS Variables (${s.length??""})`)),A(e,h),Te()}Be(["click"]);var Ll=j('
    • '),Pl=j('
        '),Vl=j('
      • '),Il=j('
          '),Ol=j('

          All utility and state classes declared in the active SLASHED bundle.

          ');function ql(e,t){je(t,!0);const s=pe.inventory?.sf_classes??[],a=pe.inventory?.is_classes??[];let n=fe(!1),i=fe(!1);var o=Ol(),u=l(o),c=l(u),v=d(u,4),h=l(v),f=l(h),p=l(f),m=d(f,4),b=l(m),x=d(h,2);{var _=O=>{var M=Pl();he(M,20,()=>s,V=>V,(V,q)=>{var T=Ll(),k=l(T),$=l(k);K(()=>D($,`.${q??""}`)),A(V,T)}),A(O,M)};me(x,O=>{r(n)&&O(_)})}var w=d(v,2),E=l(w),C=l(E),F=l(C),G=d(C,4),z=l(G),R=d(E,2);{var P=O=>{var M=Il();he(M,20,()=>a,V=>V,(V,q)=>{var T=Vl(),k=l(T),$=l(k);K(()=>D($,`.${q??""}`)),A(V,T)}),A(O,M)};me(R,O=>{r(i)&&O(P)})}K(()=>{D(c,`Registered Classes (${s.length+a.length})`),te(h,"aria-expanded",r(n)?"true":"false"),D(p,r(n)?"▼":"▶"),D(b,`(${s.length??""})`),te(E,"aria-expanded",r(i)?"true":"false"),D(F,r(i)?"▼":"▶"),D(z,`(${a.length??""})`)}),ge("click",h,()=>X(n,!r(n))),ge("click",E,()=>X(i,!r(i))),A(e,o),Te()}Be(["click"]);async function ja(e,t){const{url:s,nonce:a}=pe.rest;if(!s)return console.info("[slashed-admin] (dev) would POST",e,t),{ok:!0,dev:!0};const n=await fetch(s+e,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json","X-WP-Nonce":a},body:JSON.stringify(t)});if(!n.ok){const i=await n.text();throw new Error(i||`HTTP ${n.status}`)}return n.json()}function $r(e,t){return ja("/tokens",{section:e,values:t})}function Fr(e){return ja("/tokens/reset",{section:e})}function Kl(e){return ja("/settings",e)}async function Bl(){const{url:e,nonce:t}=pe.rest;if(!e)return console.info("[slashed-admin] (dev) would GET /tokens/export"),{schema_version:"1",tokens:{},plugin_settings:{},dev:!0};const s=await fetch(e+"/tokens/export",{credentials:"same-origin",headers:{"X-WP-Nonce":t}});if(!s.ok)throw new Error(await s.text()||`HTTP ${s.status}`);return s.json()}function Nl(e){return ja("/tokens/import",e)}var Hl=j(`

          When enabled, hovering a SLASHED class in the Bricks class manager shows a short - description of what it does. Powered by data/classes-hints.json.

          `),Gl=j('
          Show class hints in Bricks editor Bricks

          Enable the Bricks integration in SLASHED Settings to use this feature.

          '),Ul=j('Saved'),Wl=j(' '),Xl=j(`

          Bundle Info

          The SLASHED CSS bundle is loaded automatically on the frontend and in the block editor canvas. + viewport range, and named aliases live under Advanced.

          `);function kl(e,t){ze(t,!0);const s="spacing",a=le.defaults?.[s]??{},n=a.space_sizes??{},i=[{key:"gutter",label:"Gutter",cssVar:"--sf-space-gutter"},{key:"gap",label:"Gap",cssVar:"--sf-gap"},{key:"content_gap",label:"Content Gap",cssVar:"--sf-content-gap"},{key:"component_pad",label:"Component Pad",cssVar:"--sf-component-pad"},{key:"section_pad",label:"Section Pad",cssVar:"--sf-section-pad"}];var o=xl(),u=d(l(o),4),c=l(u);{let f=y(()=>a.space_scale??1);Ge(c,{section:s,fieldKey:"space_scale",label:"Space Scale",min:0,step:.05,get default(){return r(f)},cssVar:"--sf-space-scale"})}var v=d(u,2);bl(v,{});var h=d(v,2);aa(h,{children:(f,p)=>{var m=wl(),b=d(ot(m),4),x=l(b);{let A=y(()=>a.viewport_min??22.5);Ge(x,{section:s,fieldKey:"viewport_min",label:"Min viewport (rem)",min:10,max:60,step:.5,get default(){return r(A)}})}var _=d(x,2);{let A=y(()=>a.viewport_max??95);Ge(_,{section:s,fieldKey:"viewport_max",label:"Max viewport (rem)",min:40,max:200,step:.5,get default(){return r(A)}})}var w=d(b,6);de(w,21,()=>Object.entries(n),([A,F])=>A,(A,F)=>{var Y=y(()=>wt(r(F),2));let T=()=>r(Y)[0],z=()=>r(Y)[1];var D=yl(),O=l(D),K=l(O),q=l(K),B=d(K,2),$=l(B),k=d(O,2),R=l(k);{let Z=y(()=>`space_${T()}_min`);Ge(R,{section:s,get fieldKey(){return r(Z)},label:"Min",min:0,step:.01,get default(){return z().min},width:"80px"})}var G=d(R,2);{let Z=y(()=>`space_${T()}_max`);Ge(G,{section:s,get fieldKey(){return r(Z)},label:"Max",min:0,step:.01,get default(){return z().max},width:"80px"})}V(()=>{P(q,T()),P($,`--sf-space-${T()??""}`)}),S(A,D)});var E=d(w,4);de(E,21,()=>i,A=>A.key,(A,F)=>{{let Y=y(()=>a[r(F).key]??"");je(A,{section:s,get fieldKey(){return r(F).key},get label(){return r(F).label},get default(){return r(Y)},get cssVar(){return r(F).cssVar},mono:!0})}}),S(f,m)},$$slots:{default:!0}}),S(e,o),Fe()}var Sl=C(' '),El=C(' ',1);function bs(e,t){ze(t,!0);let s=$e(t,"cssVar",3,""),a=$e(t,"unit",3,""),n=$e(t,"description",3,"");const i=y(()=>Q[t.section]?.[t.fieldKey]===void 0||Q[t.section]?.[t.fieldKey]===null?"":String(Q[t.section][t.fieldKey])),o=y(()=>r(i)===""||Number.isNaN(Number(r(i)))?Number(t.default):Number(r(i)));function u(v){yt(t.section,t.fieldKey,v.currentTarget.value)}function c(v){yt(t.section,t.fieldKey,v.currentTarget.value)}ra(e,{get label(){return t.label},get cssVar(){return s()},get fieldId(){return t.fieldKey},get description(){return n()},children:(v,h)=>{var f=El(),p=ot(f),m=d(p,2),b=d(m,2);{var x=_=>{var w=Sl(),E=l(w);V(()=>P(E,a())),S(_,w)};me(b,_=>{a()&&_(x)})}V(_=>{te(p,"min",t.min),te(p,"max",t.max),te(p,"step",t.step),Us(p,r(o)),te(m,"id",t.fieldKey),te(m,"min",t.min),te(m,"max",t.max),te(m,"step",t.step),Us(m,r(i)),te(m,"placeholder",_)},[()=>String(t.default)]),ge("input",p,u),ge("input",m,c),S(v,f)},$$slots:{default:!0}}),Fe()}He(["input"]);var Al=C(""),Cl=C('');function $l(e,t){ze(t,!0);let s=$e(t,"options",19,()=>[]),a=$e(t,"default",3,""),n=$e(t,"cssVar",3,""),i=$e(t,"description",3,"");const o=y(()=>s().map(v=>typeof v=="string"?{value:v,label:v}:v)),u=y(()=>Q[t.section]?.[t.fieldKey]===void 0||Q[t.section]?.[t.fieldKey]===null?"":String(Q[t.section][t.fieldKey]));function c(v){yt(t.section,t.fieldKey,v.currentTarget.value)}ra(e,{get label(){return t.label},get cssVar(){return n()},get fieldId(){return t.fieldKey},get description(){return i()},children:(v,h)=>{var f=Cl(),p=l(f),m=l(p);p.value=p.__value="";var b=d(p);de(b,17,()=>r(o),_=>_.value,(_,w)=>{var E=Al(),A=l(E),F={};V(()=>{P(A,r(w).label),F!==(F=r(w).value)&&(E.value=(E.__value=r(w).value)??"")}),S(_,E)});var x;xa(f),V(()=>{te(f,"id",t.fieldKey),P(m,`Default (${a()??""})`),x!==(x=r(u))&&(f.value=(f.__value=r(u))??"",Gs(f,r(u)))}),ge("change",f,c),S(v,f)},$$slots:{default:!0}}),Fe()}He(["change"]);var Tl=C('
          '),jl=C('
          '),zl=C('
          '),Fl=C('

          Shadow

          Motion — Durations

          Base duration values in milliseconds.

          Z-Index

          Z-index layer values for stacking context management.

          Contrast

          ',1),Rl=C('

          Radius

          Shadows

          Motion

          Accessibility

          ');function Pl(e,t){ze(t,!0);const s=le.defaults?.radius??{},a=le.defaults?.shadows??{},n=le.defaults?.motion??{},i=le.defaults?.zindex??{},o=le.defaults?.contrast??{},u=n.durations??{},c=U=>U.charAt(0).toUpperCase()+U.slice(1),v=[0,2,4,8,12,16,24,9999],h=["none","xs","s","m","l","xl","2xl","full"],f=y(()=>parseFloat(Q.radius?.radius_scale??le.defaults?.radius?.radius_scale??1)),p=y(()=>v.map(U=>U*r(f))),m=y(()=>parseFloat(Q.shadows?.shadow_strength??a.shadow_strength??.08)),b=y(()=>parseFloat(Q.motion?.motion_scale??n.motion_scale??1)||1),x=["instant","fast","normal","slow","slower"],_=y(()=>x.map(U=>{const oe=Q.motion?.[`duration_${U}`],be=parseFloat(oe!==void 0&&oe!==""?oe:u[U]??0);return{name:U,ms:Math.round(be*r(b))}})),w=(U,oe)=>parseFloat(U!==void 0&&U!==""?U:oe),E=y(()=>w(Q.contrast?.focus_ring_width,o.focus_ring_width??2)),A=y(()=>w(Q.contrast?.focus_ring_offset,o.focus_ring_offset??2)),F=y(()=>Q.contrast?.focus_ring_style??o.focus_ring_style??"solid"),Y=y(()=>[{label:"xs",shadow:`0 1px 2px 0 rgba(0,0,0,${(r(m)*.5).toFixed(4)})`},{label:"s",shadow:`0 1px 2px 0 rgba(0,0,0,${(r(m)*.5).toFixed(4)}), 0 2px 6px 0 rgba(0,0,0,${r(m).toFixed(4)})`},{label:"m",shadow:`0 1px 3px 0 rgba(0,0,0,${(r(m)*.5).toFixed(4)}), 0 4px 12px 0 rgba(0,0,0,${(r(m)*2).toFixed(4)})`},{label:"l",shadow:`0 2px 4px 0 rgba(0,0,0,${(r(m)*.5).toFixed(4)}), 0 8px 24px 0 rgba(0,0,0,${(r(m)*3).toFixed(4)})`},{label:"xl",shadow:`0 2px 8px 0 rgba(0,0,0,${(r(m)*.5).toFixed(4)}), 0 12px 36px 0 rgba(0,0,0,${(r(m)*3.5).toFixed(4)})`},{label:"glow",shadow:`0 0 15px 2px rgba(74,48,208,${Math.min(r(m)*2,.7).toFixed(4)})`}]);var T=Rl(),z=d(l(T),2),D=l(z);{let U=y(()=>s.radius_scale??1);Ge(D,{section:"radius",fieldKey:"radius_scale",label:"Radius Scale",min:0,step:.1,get default(){return r(U)},cssVar:"--sf-radius-scale"})}var O=d(z,2);de(O,23,()=>r(p),(U,oe)=>h[oe],(U,oe,be)=>{var xe=Tl(),Te=l(xe);let Re;var Pe=d(Te,2),M=l(Pe);V(()=>{Re=fe(Te,"",Re,{"border-radius":v[r(be)]===9999?"9999px":`${r(oe)}px`}),P(M,h[r(be)])}),S(U,xe)});var K=d(O,4),q=l(K);{let U=y(()=>a.shadow_strength??.08);bs(q,{section:"shadows",fieldKey:"shadow_strength",label:"Shadow Strength",description:"Base opacity for shadow layers (0–1).",min:0,max:1,step:.01,get default(){return r(U)},cssVar:"--sf-shadow-strength"})}var B=d(K,2);de(B,21,()=>r(Y),U=>U.label,(U,oe)=>{var be=jl(),xe=l(be);let Te;var Re=l(xe);V(()=>{Te=fe(xe,"",Te,{"box-shadow":r(oe).shadow}),P(Re,r(oe).label)}),S(U,be)});var $=d(B,4),k=l($);{let U=y(()=>n.motion_scale??1);Ge(k,{section:"motion",fieldKey:"motion_scale",label:"Motion Scale",min:0,step:.1,get default(){return r(U)},cssVar:"--sf-motion-scale"})}var R=d($,2);de(R,21,()=>r(_),U=>U.name,(U,oe)=>{var be=zl(),xe=l(be),Te=l(xe),Re=d(xe,2),Pe=l(Re);let M;var X=d(Re,2),ee=l(X);V(()=>{P(Te,r(oe).name),M=fe(Pe,"",M,{"animation-duration":`${r(oe).ms??""}ms`}),P(ee,`${r(oe).ms??""}ms`)}),S(U,be)});var G=d(R,4),Z=l(G);{let U=y(()=>o.focus_ring_width??2);bs(Z,{section:"contrast",fieldKey:"focus_ring_width",label:"Focus Ring Width",min:0,max:8,step:.5,get default(){return r(U)},cssVar:"--sf-focus-ring-width",unit:"px"})}var j=d(Z,2);{let U=y(()=>o.focus_ring_offset??2);bs(j,{section:"contrast",fieldKey:"focus_ring_offset",label:"Focus Ring Offset",min:0,max:8,step:.5,get default(){return r(U)},cssVar:"--sf-focus-ring-offset",unit:"px"})}var N=d(j,2);{let U=y(()=>o.focus_ring_style??"solid");$l(N,{section:"contrast",fieldKey:"focus_ring_style",label:"Focus Ring Style",options:["solid","dashed","dotted","double","none"],get default(){return r(U)},cssVar:"--sf-focus-ring-style"})}var L=d(G,2),H=l(L);let se;var ne=d(H,2),ae=l(ne),ie=d(L,2);aa(ie,{children:(U,oe)=>{var be=Fl(),xe=d(ot(be),2),Te=l(xe);{let ue=y(()=>a.glow_color??"");je(Te,{section:"shadows",fieldKey:"glow_color",label:"Glow Color",get default(){return r(ue)},cssVar:"--sf-shadow-glow-color",mono:!0})}var Re=d(xe,6);de(Re,21,()=>Object.entries(u),([ue,I])=>ue,(ue,I)=>{var W=y(()=>wt(r(I),2));let _e=()=>r(W)[0],Ae=()=>r(W)[1];{let Oe=y(()=>`duration_${_e()}`),qe=y(()=>c(_e())),Ne=y(()=>`--sf-duration-${_e()}`);Ge(ue,{section:"motion",get fieldKey(){return r(Oe)},get label(){return r(qe)},min:0,step:10,get default(){return Ae()},get cssVar(){return r(Ne)},unit:"ms"})}});var Pe=d(Re,6);de(Pe,21,()=>Object.entries(i),([ue,I])=>ue,(ue,I)=>{var W=y(()=>wt(r(I),2));let _e=()=>r(W)[0],Ae=()=>r(W)[1];{let Oe=y(()=>c(_e())),qe=y(()=>`--sf-z-${_e()}`);Ge(ue,{section:"zindex",get fieldKey(){return _e()},get label(){return r(Oe)},step:1,get default(){return Ae()},get cssVar(){return r(qe)}})}});var M=d(Pe,4),X=l(M);{let ue=y(()=>o.contrast_bias??0);bs(X,{section:"contrast",fieldKey:"contrast_bias",label:"Contrast Bias",description:"Shifts derived shades up (positive) or down (negative).",min:-.2,max:.2,step:.01,get default(){return r(ue)},cssVar:"--sf-contrast-bias"})}var ee=d(X,2);{let ue=y(()=>o.contrast_threshold??.6);bs(ee,{section:"contrast",fieldKey:"contrast_threshold",label:"Contrast Threshold",description:"Lightness threshold for text-on-color (white vs. black).",min:0,max:1,step:.01,get default(){return r(ue)},cssVar:"--sf-contrast-threshold"})}var ke=d(ee,2);{let ue=y(()=>o.opacity_disabled??.45);bs(ke,{section:"contrast",fieldKey:"opacity_disabled",label:"Disabled Opacity",min:0,max:1,step:.01,get default(){return r(ue)},cssVar:"--sf-opacity-disabled"})}S(U,be)},$$slots:{default:!0}}),V(()=>{se=fe(H,"",se,{"--fp-width":`${r(E)??""}px`,"--fp-offset":`${r(A)??""}px`,"--fp-style":r(F)}),P(ae,`${r(E)??""}px ${r(F)??""} · ${r(A)??""}px offset`)}),S(e,T),Fe()}var ql=C('
        • '),Ml=C('
            '),Dl=C('
            '),Ll=C(`

            All --sf-* custom properties declared in the active SLASHED bundle, + grouped by category.

            `);function Il(e,t){ze(t,!0);const s=le.inventory?.variables??[],a={color:"Colors",text:"Typography",font:"Typography",leading:"Typography",tracking:"Typography",body:"Typography",heading:"Typography",h1:"Typography",h2:"Typography",h3:"Typography",h4:"Typography",h5:"Typography",h6:"Typography",prose:"Typography",code:"Typography",optical:"Typography",line:"Typography",space:"Spacing",gap:"Spacing",gutter:"Spacing",component:"Spacing",section:"Spacing",flow:"Spacing",safe:"Spacing",header:"Spacing",sticky:"Spacing",size:"Sizing",aspect:"Sizing",ratio:"Sizing",touch:"Sizing",object:"Sizing",container:"Layout",stack:"Layout",cluster:"Layout",sidebar:"Layout",switcher:"Layout",grid:"Layout",cover:"Layout",frame:"Layout",reel:"Layout",imposter:"Layout",bento:"Layout",box:"Layout",center:"Layout",content:"Layout",breakout:"Layout",divider:"Layout",field:"Layout",alternate:"Layout",equal:"Layout",col:"Layout",border:"Borders",stroke:"Borders",radius:"Radius",shadow:"Shadows",blur:"Effects",opacity:"Effects",gradient:"Effects",mask:"Effects",perspective:"Effects",drop:"Effects",contrast:"Effects",duration:"Motion",ease:"Motion",transition:"Motion",motion:"Motion",animation:"Motion",icon:"Icons",z:"Z-Index",is:"States",current:"States",state:"States",focus:"Focus",caret:"Focus",scroll:"Scroll",scrollbar:"Scroll",print:"Print",truncate:"Misc"},n=["Colors","Typography","Spacing","Sizing","Layout","Borders","Radius","Shadows","Effects","Motion","Icons","Z-Index","States","Focus","Scroll","Print","Misc"];function i(b){let x=b;x.startsWith("--sf-")&&(x=x.slice(5));const _=x.indexOf("-"),w=_===-1?x:x.slice(0,_);return a[w]||"Misc"}function o(b){const x={};for(const w of b){const E=i(w);x[E]||(x[E]=[]),x[E].push(w)}const _=[];for(const w of n)x[w]?.length&&(x[w].sort(),_.push({category:w,items:x[w]}));for(const w of Object.keys(x))!n.includes(w)&&x[w]?.length&&(x[w].sort(),_.push({category:w,items:x[w]}));return _}const u=o(s);let c=Ve({});function v(b){c[b]=!c[b]}var h=Ll(),f=l(h),p=l(f),m=d(f,4);de(m,17,()=>u,({category:b,items:x})=>b,(b,x)=>{let _=()=>r(x).category,w=()=>r(x).items;var E=Dl(),A=l(E),F=l(A),Y=l(F),T=d(F,2),z=l(T),D=d(T,2),O=l(D),K=d(A,2);{var q=B=>{var $=Ml();de($,20,w,k=>k,(k,R)=>{var G=ql(),Z=l(G),j=l(Z);V(()=>P(j,R)),S(k,G)}),S(B,$)};me(K,B=>{c[_()]&&B(q)})}V(()=>{te(A,"aria-expanded",c[_()]?"true":"false"),P(Y,c[_()]?"▼":"▶"),P(z,_()),P(O,`(${w().length??""})`)}),ge("click",A,()=>v(_())),S(b,E)}),V(()=>P(p,`CSS Variables (${s.length??""})`)),S(e,h),Fe()}He(["click"]);var Vl=C('
          • '),Ol=C('
              '),Kl=C('
            • '),Bl=C('
                '),Nl=C('

                All utility and state classes declared in the active SLASHED bundle.

                ');function Hl(e,t){ze(t,!0);const s=le.inventory?.sf_classes??[],a=le.inventory?.is_classes??[];let n=he(!1),i=he(!1);var o=Nl(),u=l(o),c=l(u),v=d(u,4),h=l(v),f=l(h),p=l(f),m=d(f,4),b=l(m),x=d(h,2);{var _=O=>{var K=Ol();de(K,20,()=>s,q=>q,(q,B)=>{var $=Vl(),k=l($),R=l(k);V(()=>P(R,`.${B??""}`)),S(q,$)}),S(O,K)};me(x,O=>{r(n)&&O(_)})}var w=d(v,2),E=l(w),A=l(E),F=l(A),Y=d(A,4),T=l(Y),z=d(E,2);{var D=O=>{var K=Bl();de(K,20,()=>a,q=>q,(q,B)=>{var $=Kl(),k=l($),R=l(k);V(()=>P(R,`.${B??""}`)),S(q,$)}),S(O,K)};me(z,O=>{r(i)&&O(D)})}V(()=>{P(c,`Registered Classes (${s.length+a.length})`),te(h,"aria-expanded",r(n)?"true":"false"),P(p,r(n)?"▼":"▶"),P(b,`(${s.length??""})`),te(E,"aria-expanded",r(i)?"true":"false"),P(F,r(i)?"▼":"▶"),P(T,`(${a.length??""})`)}),ge("click",h,()=>J(n,!r(n))),ge("click",E,()=>J(i,!r(i))),S(e,o),Fe()}He(["click"]);async function Pa(e,t){const{url:s,nonce:a}=le.rest;if(!s)return console.info("[slashed-admin] (dev) would POST",e,t),{ok:!0,dev:!0};const n=await fetch(s+e,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json","X-WP-Nonce":a},body:JSON.stringify(t)});if(!n.ok){const i=await n.text();throw new Error(i||`HTTP ${n.status}`)}return n.json()}function Mr(e,t){return Pa("/tokens",{section:e,values:t})}function Dr(e){return Pa("/tokens/reset",{section:e})}function Gl(e){return Pa("/settings",e)}async function Ul(){const{url:e,nonce:t}=le.rest;if(!e)return console.info("[slashed-admin] (dev) would GET /tokens/export"),{schema_version:"1",tokens:{},plugin_settings:{},dev:!0};const s=await fetch(e+"/tokens/export",{credentials:"same-origin",headers:{"X-WP-Nonce":t}});if(!s.ok)throw new Error(await s.text()||`HTTP ${s.status}`);return s.json()}function Wl(e){return Pa("/tokens/import",e)}var Yl=C(`

                When enabled, hovering a SLASHED class in the Bricks class manager shows a short + description of what it does. Powered by data/classes-hints.json.

                `),Xl=C('
                Show class hints in Bricks editor Bricks

                Enable the Bricks integration in SLASHED Settings to use this feature.

                '),Zl=C('Saved'),Jl=C(' '),Ql=C(`

                Bundle Info

                The SLASHED CSS bundle is loaded automatically on the frontend and in the block editor canvas. The inventory is parsed from whichever bundle is active and drives the variable pickers, class autocomplete, and color palette in any active builder integration.

                Variables registered
                Classes registered

                Plugin Settings

                Choose which SLASHED CSS bundle to load on the frontend and in builder canvases. Essential is the full core layer (everything in core/). Optimal adds the optional color palette, extended size/spacing scales, form styling, and legacy fallbacks. Full additionally bundles the component tokens & styles and the utility classes.

                Override the HTML root font-size. Use this when your theme or builder forces a root font-size - that conflicts with rem-based framework values.

                `);function Yl(e,t){je(t,!0);let s=fe(Ke(pe.pluginSettings?.css_bundle??"optimal")),a=fe(Ke(pe.pluginSettings?.html_font_size??"")),n=fe(Ke(pe.pluginSettings?.show_class_hints??!1)),i=fe(!1),o=fe(!1),u=fe(""),c=null;const v=y(()=>pe.activeIntegrations?.bricks??!0);async function h(){X(i,!0),X(o,!1),X(u,"");try{await Kl({css_bundle:r(s),html_font_size:r(a),show_class_hints:r(n)}),X(o,!0),c&&clearTimeout(c),c=setTimeout(()=>{X(o,!1),c=null},3e3)}catch(N){X(u,N.message||"Save failed",!0)}finally{X(i,!1)}}var f=Xl(),p=d(l(f),4),m=d(l(p),2),b=l(m),x=d(m,4),_=l(x),w=d(p,4),E=d(l(w),2),C=l(E);C.value=C.__value="essential";var F=d(C);F.value=F.__value="optimal";var G=d(F);G.value=G.__value="full";var z=d(w,2),R=d(l(z),2),P=l(R);P.value=P.__value="";var O=d(P);O.value=O.__value="100";var M=d(O);M.value=M.__value="62.5";var V=d(z,2);{var q=N=>{var se=Hl(),ie=l(se),ne=l(ie);go(ne,()=>r(n),oe=>X(n,oe)),A(N,se)},T=N=>{var se=Gl();A(N,se)};me(V,N=>{r(v)?N(q):N(T,-1)})}var k=d(V,2),$=l(k),H=l($),Y=d($,2);{var S=N=>{var se=Ul();A(N,se)};me(Y,N=>{r(o)&&N(S)})}var B=d(Y,2);{var I=N=>{var se=Wl(),ie=l(se);K(()=>D(ie,r(u))),A(N,se)};me(B,N=>{r(u)&&N(I)})}K(()=>{D(b,pe.inventory?.variables?.length??0),D(_,(pe.inventory?.sf_classes?.length??0)+(pe.inventory?.is_classes?.length??0)),$.disabled=r(i),D(H,r(i)?"Saving...":"Save Settings")}),ba(E,()=>r(s),N=>X(s,N)),ba(R,()=>r(a),N=>X(a,N)),ge("click",$,h),A(e,f),Te()}Be(["click"]);const Rr=22.5,Zl=95;function $n(e,t){if(e<=0||t<=0)return null;const s=Zl-Rr,a=(t-e)/s,n=parseFloat(a.toFixed(6)),i=parseFloat(e.toFixed(4)),o=parseFloat(t.toFixed(4));return`clamp(${i}rem, calc(${n} * (100vw - ${Rr}rem) + ${i}rem), ${o}rem)`}function Mr(e){const t=parseFloat(e);if(isNaN(t))return"0";let s=t.toFixed(6).replace(/0+$/,"").replace(/\.$/,"");return s===""?"0":s}function Me(e){return e!=null&&e!==""}function Jl(e){const t=[],s=["primary","secondary","tertiary","action","neutral","surface"];for(const i of s){const o=`brand_${i}`;Me(e[o])&&t.push(`--sf-color-${i}-light: ${e[o]};`)}const a=["success","warning","error","info","danger"];for(const i of a){const o=`status_${i}`;Me(e[o])&&t.push(`--sf-color-${i}-light: ${e[o]};`)}if(e.dark_overrides_enabled!=="0"){for(const i of s){const o=`brand_dark_${i}`;Me(e[o])&&t.push(`--sf-color-${i}-dark: ${e[o]};`)}for(const i of a){const o=`status_dark_${i}`;Me(e[o])&&t.push(`--sf-color-${i}-dark: ${e[o]};`)}}return t}function Ql(e){const t=[],s=["body","heading","mono","display","humanist","geometric","slab"];for(const n of s){const i=`font_${n}`;Me(e[i])&&t.push(`--sf-font-${n}: ${e[i]};`)}Me(e.text_scale)&&t.push(`--sf-text-scale: ${e.text_scale};`),Me(e.text_display_scale)&&t.push(`--sf-text-display-scale: ${e.text_display_scale};`);const a=["2xs","xs","s","m","l","xl","2xl","3xl","4xl","display-s","display-m","display-l"];for(const n of a){const i=`size_${n}_min`,o=`size_${n}_max`,u=e[i],c=e[o];if(Me(u)&&Me(c)){const v=$n(parseFloat(u),parseFloat(c));v&&t.push(`--sf-text-${n}: ${v};`)}}return t}function ec(e){const t=[];Me(e.space_scale)&&t.push(`--sf-space-scale: ${e.space_scale};`);const s=["2xs","xs","s","m","l","xl","2xl","3xl","4xl"];for(const n of s){const i=e[`space_${n}_min`],o=e[`space_${n}_max`];if(Me(i)&&Me(o)){const u=$n(parseFloat(i),parseFloat(o));u&&t.push(`--sf-space-${n}: calc(${u} * var(--sf-space-scale));`)}}const a={gutter:"--sf-space-gutter",gap:"--sf-gap",content_gap:"--sf-content-gap",component_pad:"--sf-component-pad",section_pad:"--sf-section-pad"};for(const[n,i]of Object.entries(a))Me(e[n])&&t.push(`${i}: ${e[n]};`);return t}function tc(e){const t=[];return Me(e.radius_scale)&&t.push(`--sf-radius-scale: ${e.radius_scale};`),t}function sc(e){const t=[];return Me(e.shadow_strength)&&t.push(`--sf-shadow-strength: calc(${e.shadow_strength} + var(--sf-is-dark) * 0.17);`),Me(e.glow_color)&&t.push(`--sf-shadow-glow-color: ${e.glow_color};`),t}function ac(e){const t=[];Me(e.motion_scale)&&t.push(`--sf-motion-scale: ${e.motion_scale};`);const s=["instant","fast","normal","slow","slower"];for(const a of s){const n=`duration_${a}`;Me(e[n])&&t.push(`--sf-duration-${a}: calc(${e[n]}ms * var(--sf-motion-scale));`)}return t}function rc(e){const t=[],s=["below","base","raised","low","mid","high","top","max"];for(const a of s)Me(e[a])&&t.push(`--sf-z-${a}: ${parseInt(e[a],10)};`);return t}function nc(e){const t=[],s={contrast_bias:"--sf-contrast-bias",contrast_threshold:"--sf-contrast-threshold",opacity_disabled:"--sf-opacity-disabled"};for(const[n,i]of Object.entries(s))Me(e[n])&&t.push(`${i}: ${Mr(e[n])};`);const a={focus_ring_width:"--sf-focus-ring-width",focus_ring_offset:"--sf-focus-ring-offset"};for(const[n,i]of Object.entries(a))Me(e[n])&&t.push(`${i}: ${Mr(e[n])}px;`);return Me(e.focus_ring_style)&&["solid","dashed","dotted","double","none"].includes(e.focus_ring_style)&&t.push(`--sf-focus-ring-style: ${e.focus_ring_style};`),t}function fr(e){const t=[];if(e.colors&&typeof e.colors=="object"&&t.push(...Jl(e.colors)),e.typography&&typeof e.typography=="object"&&t.push(...Ql(e.typography)),e.spacing&&typeof e.spacing=="object"&&t.push(...ec(e.spacing)),e.radius&&typeof e.radius=="object"&&t.push(...tc(e.radius)),e.shadows&&typeof e.shadows=="object"&&t.push(...sc(e.shadows)),e.motion&&typeof e.motion=="object"&&t.push(...ac(e.motion)),e.zindex&&typeof e.zindex=="object"&&t.push(...rc(e.zindex)),e.contrast&&typeof e.contrast=="object"&&t.push(...nc(e.contrast)),t.length===0)return"";let s=`@layer slashed.overrides { + that conflicts with rem-based framework values.

                `);function ec(e,t){ze(t,!0);let s=he(Ve(le.pluginSettings?.css_bundle??"optimal")),a=he(Ve(le.pluginSettings?.html_font_size??"")),n=he(Ve(le.pluginSettings?.show_class_hints??!1)),i=he(!1),o=he(!1),u=he(""),c=null;const v=y(()=>le.activeIntegrations?.bricks??!0);async function h(){J(i,!0),J(o,!1),J(u,"");try{await Gl({css_bundle:r(s),html_font_size:r(a),show_class_hints:r(n)}),J(o,!0),c&&clearTimeout(c),c=setTimeout(()=>{J(o,!1),c=null},3e3)}catch(H){J(u,H.message||"Save failed",!0)}finally{J(i,!1)}}var f=Ql(),p=d(l(f),4),m=d(l(p),2),b=l(m),x=d(m,4),_=l(x),w=d(p,4),E=d(l(w),2),A=l(E);A.value=A.__value="essential";var F=d(A);F.value=F.__value="optimal";var Y=d(F);Y.value=Y.__value="full";var T=d(w,2),z=d(l(T),2),D=l(z);D.value=D.__value="";var O=d(D);O.value=O.__value="100";var K=d(O);K.value=K.__value="62.5";var q=d(T,2);{var B=H=>{var se=Yl(),ne=l(se),ae=l(ne);wo(ae,()=>r(n),ie=>J(n,ie)),S(H,se)},$=H=>{var se=Xl();S(H,se)};me(q,H=>{r(v)?H(B):H($,-1)})}var k=d(q,2),R=l(k),G=l(R),Z=d(R,2);{var j=H=>{var se=Zl();S(H,se)};me(Z,H=>{r(o)&&H(j)})}var N=d(Z,2);{var L=H=>{var se=Jl(),ne=l(se);V(()=>P(ne,r(u))),S(H,se)};me(N,H=>{r(u)&&H(L)})}V(()=>{P(b,le.inventory?.variables?.length??0),P(_,(le.inventory?.sf_classes?.length??0)+(le.inventory?.is_classes?.length??0)),R.disabled=r(i),P(G,r(i)?"Saving...":"Save Settings")}),ka(E,()=>r(s),H=>J(s,H)),ka(z,()=>r(a),H=>J(a,H)),ge("click",R,h),S(e,f),Fe()}He(["click"]);const Lr=22.5,tc=95;function qn(e,t){if(e<=0||t<=0)return null;const s=tc-Lr,a=(t-e)/s,n=parseFloat(a.toFixed(6)),i=parseFloat(e.toFixed(4)),o=parseFloat(t.toFixed(4));return`clamp(${i}rem, calc(${n} * (100vw - ${Lr}rem) + ${i}rem), ${o}rem)`}function Ir(e){const t=parseFloat(e);if(isNaN(t))return"0";let s=t.toFixed(6).replace(/0+$/,"").replace(/\.$/,"");return s===""?"0":s}function De(e){return e!=null&&e!==""}function sc(e){const t=[],s=["primary","secondary","tertiary","action","neutral","surface"];for(const i of s){const o=`brand_${i}`;De(e[o])&&t.push(`--sf-color-${i}-light: ${e[o]};`)}const a=["success","warning","error","info","danger"];for(const i of a){const o=`status_${i}`;De(e[o])&&t.push(`--sf-color-${i}-light: ${e[o]};`)}if(e.dark_overrides_enabled!=="0"){for(const i of s){const o=`brand_dark_${i}`;De(e[o])&&t.push(`--sf-color-${i}-dark: ${e[o]};`)}for(const i of a){const o=`status_dark_${i}`;De(e[o])&&t.push(`--sf-color-${i}-dark: ${e[o]};`)}}return t}function ac(e){const t=[],s=["body","heading","mono","display","humanist","geometric","slab"];for(const n of s){const i=`font_${n}`;De(e[i])&&t.push(`--sf-font-${n}: ${e[i]};`)}De(e.text_scale)&&t.push(`--sf-text-scale: ${e.text_scale};`),De(e.text_display_scale)&&t.push(`--sf-text-display-scale: ${e.text_display_scale};`);const a=["2xs","xs","s","m","l","xl","2xl","3xl","4xl","display-s","display-m","display-l"];for(const n of a){const i=`size_${n}_min`,o=`size_${n}_max`,u=e[i],c=e[o];if(De(u)&&De(c)){const v=qn(parseFloat(u),parseFloat(c));v&&t.push(`--sf-text-${n}: ${v};`)}}return t}function rc(e){const t=[];De(e.space_scale)&&t.push(`--sf-space-scale: ${e.space_scale};`);const s=["2xs","xs","s","m","l","xl","2xl","3xl","4xl"];for(const n of s){const i=e[`space_${n}_min`],o=e[`space_${n}_max`];if(De(i)&&De(o)){const u=qn(parseFloat(i),parseFloat(o));u&&t.push(`--sf-space-${n}: calc(${u} * var(--sf-space-scale));`)}}const a={gutter:"--sf-space-gutter",gap:"--sf-gap",content_gap:"--sf-content-gap",component_pad:"--sf-component-pad",section_pad:"--sf-section-pad"};for(const[n,i]of Object.entries(a))De(e[n])&&t.push(`${i}: ${e[n]};`);return t}function nc(e){const t=[];return De(e.radius_scale)&&t.push(`--sf-radius-scale: ${e.radius_scale};`),t}function ic(e){const t=[];return De(e.shadow_strength)&&t.push(`--sf-shadow-strength: calc(${e.shadow_strength} + var(--sf-is-dark) * 0.17);`),De(e.glow_color)&&t.push(`--sf-shadow-glow-color: ${e.glow_color};`),t}function oc(e){const t=[];De(e.motion_scale)&&t.push(`--sf-motion-scale: ${e.motion_scale};`);const s=["instant","fast","normal","slow","slower"];for(const a of s){const n=`duration_${a}`;De(e[n])&&t.push(`--sf-duration-${a}: calc(${e[n]}ms * var(--sf-motion-scale));`)}return t}function lc(e){const t=[],s=["below","base","raised","low","mid","high","top","max"];for(const a of s)De(e[a])&&t.push(`--sf-z-${a}: ${parseInt(e[a],10)};`);return t}function cc(e){const t=[],s={contrast_bias:"--sf-contrast-bias",contrast_threshold:"--sf-contrast-threshold",opacity_disabled:"--sf-opacity-disabled"};for(const[n,i]of Object.entries(s))De(e[n])&&t.push(`${i}: ${Ir(e[n])};`);const a={focus_ring_width:"--sf-focus-ring-width",focus_ring_offset:"--sf-focus-ring-offset"};for(const[n,i]of Object.entries(a))De(e[n])&&t.push(`${i}: ${Ir(e[n])}px;`);return De(e.focus_ring_style)&&["solid","dashed","dotted","double","none"].includes(e.focus_ring_style)&&t.push(`--sf-focus-ring-style: ${e.focus_ring_style};`),t}function mr(e){const t=[];if(e.colors&&typeof e.colors=="object"&&t.push(...sc(e.colors)),e.typography&&typeof e.typography=="object"&&t.push(...ac(e.typography)),e.spacing&&typeof e.spacing=="object"&&t.push(...rc(e.spacing)),e.radius&&typeof e.radius=="object"&&t.push(...nc(e.radius)),e.shadows&&typeof e.shadows=="object"&&t.push(...ic(e.shadows)),e.motion&&typeof e.motion=="object"&&t.push(...oc(e.motion)),e.zindex&&typeof e.zindex=="object"&&t.push(...lc(e.zindex)),e.contrast&&typeof e.contrast=="object"&&t.push(...cc(e.contrast)),t.length===0)return"";let s=`@layer slashed.overrides { :root { `;for(const a of t)s+=` ${a} `;return s+=` } -}`,s}function ic(e){if(!e||typeof e!="object")return!1;for(const t of Object.values(e))if(!(!t||typeof t!="object")){for(const s of Object.values(t))if(typeof s=="object"&&s!==null){for(const a of Object.values(s))if(a!==""&&a!==null&&a!==void 0)return!0}else if(s!==""&&s!==null&&s!==void 0)return!0}return!1}var oc=j(' '),lc=j('

                '),cc=j('

                '),dc=j(`

                Export / Import Tokens

                Export your current SLASHED token overrides (colors, typography, spacing, etc.) to a .json file and import them on any other WordPress site running this plugin. +}`,s}function dc(e){if(!e||typeof e!="object")return!1;for(const t of Object.values(e))if(!(!t||typeof t!="object")){for(const s of Object.values(t))if(typeof s=="object"&&s!==null){for(const a of Object.values(s))if(a!==""&&a!==null&&a!==void 0)return!0}else if(s!==""&&s!==null&&s!==void 0)return!0}return!1}var uc=C(' '),vc=C('

                '),fc=C('

                '),pc=C(`

                Export / Import Tokens

                Export your current SLASHED token overrides (colors, typography, spacing, etc.) to a .json file and import them on any other WordPress site running this plugin. Token exports are builder-agnostic — the file carries the brand tokens that drive the visual result regardless of which builder or theme is in use.

                Export

                Downloads a .json file containing all your active token overrides and plugin settings. Share this file alongside your template export so the visual result is identical on every site.

                Import

                Upload a .json file previously exported from this plugin. Each section is validated @@ -36,8 +38,8 @@ var Rn=Object.defineProperty;var pr=e=>{throw TypeError(e)};var Mn=(e,t,s)=>t in via this tab, then import your template via your builder. SLASHED re-registers all classes, variables, and color palettes automatically.

              • Verify that colors, spacing, and fonts match the original. If something looks off, check the browser console for unresolved var() calls — - this means the CSS bundle isn't loading or the token file wasn't imported yet.
              • `);function uc(e,t){je(t,!0);let s=fe(!1),a=fe("");const n=y(()=>fr(Q)),i=y(()=>r(n).length>0);function o(){if(!r(n))return;const $=new Blob([r(n)],{type:"text/css"}),H=URL.createObjectURL($),Y=document.createElement("a");Y.href=H,Y.download=`slashed-custom-${new Date().toISOString().slice(0,10)}.css`,Y.click(),URL.revokeObjectURL(H)}async function u(){X(s,!0),X(a,"");try{const $=await Bl(),H=JSON.stringify($,null,2),Y=new Blob([H],{type:"application/json"}),S=URL.createObjectURL(Y),B=document.createElement("a");B.href=S,B.download=`slashed-tokens-${new Date().toISOString().slice(0,10)}.json`,B.click(),URL.revokeObjectURL(S)}catch($){X(a,$.message||"Export failed",!0)}finally{X(s,!1)}}let c=fe(null),v=fe(!1),h=fe(""),f=fe(""),p=fe(0);async function m(){const $=r(c)?.files?.[0];if($){X(h,""),X(f,""),X(v,!0);try{const H=await $.text(),Y=JSON.parse(H),S=await Nl(Y),B=S.settings_imported?" Plugin settings restored.":"";X(h,`Imported ${S.imported} section(s) successfully.${B}`),X(p,3);const I=setInterval(()=>{X(p,r(p)-1),r(p)<=0&&(clearInterval(I),window.location.reload())},1e3)}catch(H){X(f,H.message||"Import failed",!0)}finally{X(v,!1),r(c)&&(r(c).value="")}}}var b=dc(),x=d(l(b),4),_=d(l(x),4),w=l(_),E=l(w),C=d(w,2),F=d(C,2);{var G=$=>{var H=oc(),Y=l(H);K(()=>D(Y,r(a))),A($,H)};me(F,$=>{r(a)&&$(G)})}var z=d(x,2),R=d(l(z),4),P=l(R);mo(P,$=>X(c,$),()=>r(c));var O=d(P,2),M=l(O),V=d(R,2);{var q=$=>{var H=lc(),Y=l(H),S=d(Y);{var B=I=>{var N=ao();K(()=>D(N,`Reloading in ${r(p)??""}…`)),A(I,N)};me(S,I=>{r(p)>0&&I(B)})}K(()=>D(Y,`${r(h)??""} `)),A($,H)};me(V,$=>{r(h)&&$(q)})}var T=d(V,2);{var k=$=>{var H=cc(),Y=l(H);K(()=>D(Y,r(f))),A($,H)};me(T,$=>{r(f)&&$(k)})}K(()=>{w.disabled=r(s),D(E,r(s)?"Exporting…":"Download token file (.json)"),C.disabled=!r(i),te(C,"title",r(i)?"Download overrides as a standalone CSS file":"No overrides set yet"),O.disabled=r(v),D(M,r(v)?"Importing…":"Import token file")}),ge("click",w,u),ge("click",C,o),ge("click",O,m),A(e,b),Te()}Be(["click"]);var vc=j('Bricks integration is disabled — these hooks have no effect until it is turned on.'),fc=j('

                Parameters:

                 
                '),pc=j(`

                Filter Hooks Reference

                These WordPress filter hooks let you customize SLASHED integrations from your theme or a mu-plugin. - Hooks only fire when their respective integration is active.

                Bricks integration Bricks
                `);function hc(e,t){je(t,!0);const s=[{name:"slashed_bricks/css_bundle_url",description:"Override which CSS bundle URL to load.",params:"$url (string) - The current CSS bundle URL.",example:`add_filter( 'slashed_bricks/css_bundle_url', function( $url ) { + this means the CSS bundle isn't loading or the token file wasn't imported yet.
                `);function hc(e,t){ze(t,!0);let s=he(!1),a=he("");const n=y(()=>mr(Q)),i=y(()=>r(n).length>0);function o(){if(!r(n))return;const R=new Blob([r(n)],{type:"text/css"}),G=URL.createObjectURL(R),Z=document.createElement("a");Z.href=G,Z.download=`slashed-custom-${new Date().toISOString().slice(0,10)}.css`,Z.click(),URL.revokeObjectURL(G)}async function u(){J(s,!0),J(a,"");try{const R=await Ul(),G=JSON.stringify(R,null,2),Z=new Blob([G],{type:"application/json"}),j=URL.createObjectURL(Z),N=document.createElement("a");N.href=j,N.download=`slashed-tokens-${new Date().toISOString().slice(0,10)}.json`,N.click(),URL.revokeObjectURL(j)}catch(R){J(a,R.message||"Export failed",!0)}finally{J(s,!1)}}let c=he(null),v=he(!1),h=he(""),f=he(""),p=he(0);async function m(){const R=r(c)?.files?.[0];if(R){J(h,""),J(f,""),J(v,!0);try{const G=await R.text(),Z=JSON.parse(G),j=await Wl(Z),N=j.settings_imported?" Plugin settings restored.":"";J(h,`Imported ${j.imported} section(s) successfully.${N}`),J(p,3);const L=setInterval(()=>{J(p,r(p)-1),r(p)<=0&&(clearInterval(L),window.location.reload())},1e3)}catch(G){J(f,G.message||"Import failed",!0)}finally{J(v,!1),r(c)&&(r(c).value="")}}}var b=pc(),x=d(l(b),4),_=d(l(x),4),w=l(_),E=l(w),A=d(w,2),F=d(A,2);{var Y=R=>{var G=uc(),Z=l(G);V(()=>P(Z,r(a))),S(R,G)};me(F,R=>{r(a)&&R(Y)})}var T=d(x,2),z=d(l(T),4),D=l(z);xo(D,R=>J(c,R),()=>r(c));var O=d(D,2),K=l(O),q=d(z,2);{var B=R=>{var G=vc(),Z=l(G),j=d(Z);{var N=L=>{var H=oo();V(()=>P(H,`Reloading in ${r(p)??""}…`)),S(L,H)};me(j,L=>{r(p)>0&&L(N)})}V(()=>P(Z,`${r(h)??""} `)),S(R,G)};me(q,R=>{r(h)&&R(B)})}var $=d(q,2);{var k=R=>{var G=fc(),Z=l(G);V(()=>P(Z,r(f))),S(R,G)};me($,R=>{r(f)&&R(k)})}V(()=>{w.disabled=r(s),P(E,r(s)?"Exporting…":"Download token file (.json)"),A.disabled=!r(i),te(A,"title",r(i)?"Download overrides as a standalone CSS file":"No overrides set yet"),O.disabled=r(v),P(K,r(v)?"Importing…":"Import token file")}),ge("click",w,u),ge("click",A,o),ge("click",O,m),S(e,b),Fe()}He(["click"]);var _c=C('Bricks integration is disabled — these hooks have no effect until it is turned on.'),gc=C('

                Parameters:

                 
                '),mc=C(`

                Filter Hooks Reference

                These WordPress filter hooks let you customize SLASHED integrations from your theme or a mu-plugin. + Hooks only fire when their respective integration is active.

                Bricks integration Bricks
                `);function bc(e,t){ze(t,!0);const s=[{name:"slashed_bricks/css_bundle_url",description:"Override which CSS bundle URL to load.",params:"$url (string) - The current CSS bundle URL.",example:`add_filter( 'slashed_bricks/css_bundle_url', function( $url ) { // Load from a CDN instead. return 'https://cdn.example.com/slashed/slashed.optimal.css'; } );`},{name:"slashed_bricks/registered_classes",description:"Filter the array of classes before registration with Bricks.",params:"$classes (array) - Array of class definitions with name and category.",example:`add_filter( 'slashed_bricks/registered_classes', function( $classes ) { @@ -66,13 +68,14 @@ add_filter( 'slashed_bricks/inventory_local_path', function() { 'SLASHED Primary', 'SLASHED Secondary', ] ) ); -} );`}],a=y(()=>pe.activeIntegrations?.bricks??!0);var n=pc(),i=d(l(n),4);let o;var u=l(i),c=d(l(u),4);{var v=f=>{var p=vc();A(f,p)};me(c,f=>{r(a)||f(v)})}var h=d(u,2);he(h,17,()=>s,f=>f.name,(f,p)=>{var m=fc(),b=l(m),x=l(b),_=l(x),w=d(b,2),E=l(w),C=d(w,2),F=d(l(C),2),G=l(F),z=d(C,2),R=l(z),P=l(R);K(()=>{D(_,r(p).name),D(E,r(p).description),D(G,r(p).params),D(P,r(p).example)}),A(f,m)}),K(()=>o=Le(i,1,"group svelte-a36hjt",null,o,{"group--inactive":!r(a)})),A(e,n),Te()}const _c=[{category:"Colors",description:"Brand, status, and semantic color tokens. Source colors use oklch(); the framework derives light-dark pairs, 50–950 palettes, alpha scales, and state variants automatically. Palette and alpha scales require optional/tokens.palette.css (optimal bundle and above).",tokens:[{name:"--sf-color-{primary,secondary,tertiary,action,neutral,base}",description:"Resolved light-dark adaptive brand color for use in rules."},{name:"--sf-color-{primary,secondary,tertiary,action,neutral,base}-light",description:"Source color (oklch registered value). Set this to rebrand."},{name:"--sf-color-{primary,secondary,tertiary,action,neutral,base}-dark",description:"Optional dark-mode override. If set, replaces the auto-derived dark variant for full per-mode control."},{name:"--sf-color-{primary,secondary,tertiary,action,neutral,base}-{50,100,200,300,400,500,600,700,800,900,950}",description:"Palette scale: 50 (lightest) → 950 (darkest), mixed with base/text. Requires tokens.palette.css."},{name:"--sf-color-{primary,secondary,tertiary,action,neutral,base}-{a5,a10,a20,a30,a40,a50,a60,a70,a80,a90,a95}",description:"Alpha scale: 5%–95% opacity of the brand color. Requires tokens.palette.css."},{name:"--sf-color-{primary,secondary,tertiary,action,neutral,base}-{hover,active,muted,subtle,ghost,lighter,darker,xlight,xdark,superlight,superdark}",description:"Semantic aliases for common UI states, mapped to palette steps."},{name:"--sf-color-{surface,inverse}",description:"Surface (card/panel) and inverse (high-contrast) context colors."},{name:"--sf-color-{success,warning,error,info,danger}",description:"Status feedback colors (resolved adaptive value)."},{name:"--sf-color-{success,warning,error,info,danger}-{light,strong,hover,active,muted,subtle,ghost,lighter,darker,xlight,xdark,superlight,superdark}",description:"Status color source (-light), emphasis (-strong), and state variants."},{name:"--sf-color-bg",description:"Page background color, derived from base."},{name:"--sf-color-bg--{hover,active,selected,focus,disabled}",description:"Interactive background overlays for hover/active/selected/focus/disabled states."},{name:"--sf-color-text",description:"Main body text color, contrast-aware."},{name:"--sf-color-text--{secondary,muted,disabled,placeholder,inverse}",description:"Secondary, muted, disabled, placeholder, and inverted text colors."},{name:"--sf-color-text--on-{primary,secondary,tertiary,action,neutral,base,surface,inverse,success,warning,error,info,danger}",description:"Auto-contrast text color to use on top of each colored surface."},{name:"--sf-color-heading",description:"Heading text color, slightly stronger than body text."},{name:"--sf-color-link",description:"Link color, derived from the action brand."},{name:"--sf-color-link--{hover,active,visited,underline,disabled}",description:"Link state colors and underline accent."},{name:"--sf-color-border",description:"Default border color."},{name:"--sf-color-border--{subtle,strong,focus,disabled,translucent}",description:"De-emphasized, emphasized, focus, disabled, and translucent border colors."},{name:"--sf-color-{code-bg,code-text,mark-bg,mark-text}",description:"Inline and background/foreground colors."},{name:"--sf-color-{white,black}",description:"Absolute white/black anchors in oklch space, for staying inside the token system."},{name:"--sf-color-surface",description:"Card/panel surface color (equals base)."},{name:"--sf-color-{inset,raised}",description:"Recessed (inset) and elevated (raised) surface background contexts."},{name:"--sf-color-selection-{bg,text}",description:"Text selection (::selection) background and foreground colors."},{name:"--sf-color-overlay",description:"Semi-transparent overlay for modals."},{name:"--sf-color-dim",description:"50% black overlay for dimming backgrounds."},{name:"--sf-color-scheme",description:"CSS color-scheme declaration (light dark). Holds a string, not a color."}]},{category:"Typography",description:"Font families, fluid size scale, weights, line-heights, letter-spacing, per-size sub-properties, and heading/body/prose configuration.",tokens:[{name:"--sf-font-{body,heading,mono,display,humanist,geometric,slab}",description:"Font stacks: body, heading, mono, display, plus curated humanist/geometric/slab fallback personalities."},{name:"--sf-font-{features,variation}",description:"font-feature-settings and font-variation-settings hooks."},{name:"--sf-font-weight-{thin,extralight,light,normal,medium,semibold,bold,extrabold,black}",description:"Named weight tokens: 100→900."},{name:"--sf-font-weight-{body,heading,display}",description:"Contextual weight tokens for body, heading, and display text."},{name:"--sf-current-font-weight",description:"Current context font weight (used by strong elements)."},{name:"--sf-leading-{tight,snug,normal,relaxed}",description:"Line-height presets: 1.1, 1.3, 1.5, 1.625."},{name:"--sf-tracking-{tight,normal,wide,wider,widest}",description:"Letter-spacing presets from -0.025em to 0.1em."},{name:"--sf-text-{2xs,xs,s,m,l,xl,2xl,3xl,4xl}",description:"Fluid type scale using clamp(). Honours --sf-text-scale."},{name:"--sf-text-display-{s,m,l}",description:"Extra-large display/hero sizes. Honour --sf-text-display-scale."},{name:"--sf-text-{scale,display-scale}",description:"Global multipliers for the body and display type scales (default 1)."},{name:"--sf-text-{2xs,xs,s,m,l,xl,2xl,3xl,4xl}-{line-height,font-weight,letter-spacing,max-width}",description:"Per-size sub-property override knobs (relaxed leading for small text, tight leading for display). Requires tokens.sizes-extended.css."},{name:"--sf-text-{xs,s,m,l,xl,2xl,3xl,4xl}-to-{2xs,xs,s,m,l,xl,2xl,3xl}",description:"Text bridge tokens: a clamp() spanning from one step (wide) to another (narrow) for extra range of motion. Requires tokens.sizes-extended.css."},{name:"--sf-h{1,2,3,4,5,6}-{size,font-weight,line-height,letter-spacing}",description:"Per-heading-level configuration tokens."},{name:"--sf-heading-{color,font-family,text-wrap}",description:"Global heading color, font stack, and text-wrap mode (balance)."},{name:"--sf-body-{color,font-family,font-size,font-weight,line-height,text-wrap,em-style,strong-weight}",description:"Body text configuration tokens."},{name:"--sf-prose-{block-margin,heading-gap,list-gap,paragraph,figure-margin,figcaption-size,media-margin,media-radius,marker-color}",description:"Long-form .sf-prose rhythm and element styling tokens."},{name:"--sf-code-font-size",description:"Inline font-size (relative em)."},{name:"--sf-optical-sizing",description:"font-optical-sizing control (auto)."},{name:"--sf-line-clamp",description:"Default line count for .sf-line-clamp-N."}]},{category:"Spacing",description:"Fluid spacing scale (clamp-based), bridge tokens, gutters, section padding, component padding, flow, safe-area insets, and sticky-header offsets.",tokens:[{name:"--sf-space-{none,px,2xs,xs,s,m,l,xl,2xl,3xl,4xl}",description:"Fluid spacing scale. Honours --sf-space-scale (none/px are fixed)."},{name:"--sf-space-scale",description:"Global multiplier for all space tokens (default 1)."},{name:"--sf-space-{2xs,xs,s,m,l,xl,2xl,3xl,4xl}-to-{2xs,xs,s,m,l,xl,2xl,3xl}",description:"Spacing bridge tokens: clamp() spanning a wider range than any single step. Requires tokens.sizes-extended.css."},{name:"--sf-space-{gutter,gap,content}",description:"Internal aliases: page gutter, default gap, content gap (consumed by --sf-gap / --sf-content-gap)."},{name:"--sf-gap / --sf-gap-size",description:"Default layout gap and its raw size component."},{name:"--sf-content-gap",description:"Gap between content elements (defaults to space-s)."},{name:"--sf-component-pad",description:"Internal padding for components (defaults to space-m)."},{name:"--sf-section-pad",description:"Active section padding alias."},{name:"--sf-section-pad--{xs,s,m,l,xl,2xl}",description:"Vertical padding presets for page sections."},{name:"--sf-flow-space",description:"Gap applied between .sf-flow children (lobotomized owl)."},{name:"--sf-safe-{top,right,bottom,left}",description:"Safe-area insets for notched devices."},{name:"--sf-header-height",description:"Resolved fixed-header height for sticky offset calculations."},{name:"--sf-header-height-{mobile,desktop}",description:"Per-breakpoint header height inputs."},{name:"--sf-sticky-offset",description:"Resolved sticky offset (defaults to header height)."},{name:"--sf-sticky-offset-{mobile,desktop}",description:"Per-breakpoint sticky offset inputs."}]},{category:"Sizing",description:"Component sizes, touch targets, aspect ratios, and icon sizing.",tokens:[{name:"--sf-size-{xs,s,m,l,xl}",description:"Named size tokens: xs(1.5rem), s(2rem), m(2.5rem), l(2.75rem), xl(3.5rem)."},{name:"--sf-touch-target",description:"Minimum interactive element size (defaults to size-l, 2.75rem)."},{name:"--sf-ratio-{square,portrait,video,cinema,golden,3-2,4-3}",description:"Predefined aspect ratios for frames and containers."},{name:"--sf-aspect",description:"Generic aspect-ratio token read by the .sf-aspect macro (16/9)."},{name:"--sf-object-{fit,position}",description:"Default object-fit (cover) and object-position (50% 50%) for media elements."}]},{category:"Layout",description:"Container widths and layout-primitive tokens (stack, cluster, grid, sidebar, switcher, bento, cover, frame, reel, imposter, box, center, content-grid, divider, alternate, equal, multi-column).",tokens:[{name:"--sf-container-{narrow,default,prose,wide,full}",description:"Max-width presets for .sf-container."},{name:"--sf-stack-gap",description:"Vertical gap between .sf-stack children."},{name:"--sf-cluster-{gap,align,justify}",description:"Inline cluster layout tokens."},{name:"--sf-sidebar-{width,gap,min-width}",description:"Sidebar layout tokens."},{name:"--sf-switcher-{threshold,gap}",description:"Column-to-stack breakpoint and gap."},{name:"--sf-grid-{min,gap}",description:"Auto-fill grid minimum item width and gap."},{name:"--sf-grid-min-{xs,s,m,l,xl,2xl}",description:"Per-size minimum item widths for .sf-grid--*."},{name:"--sf-bento-{cols-default,gap,row-default,row-compact,row-tall}",description:"Dense bento grid configuration."},{name:"--sf-cover-{min-height,padding}",description:"Full-height cover layout."},{name:"--sf-frame-ratio",description:"Aspect ratio for .sf-frame (defaults to 16/9)."},{name:"--sf-reel-{gap,height,item-width}",description:"Horizontal scroll strip configuration."},{name:"--sf-imposter-margin",description:"Safety margin for absolute-centered overlays."},{name:"--sf-box-{padding,border-color,border-width}",description:"Isolated .sf-box unit padding and border."},{name:"--sf-center-{gutter,max}",description:"Intrinsic-centering gutter and max-width."},{name:"--sf-content-width / --sf-breakout-width",description:"Breakout grid track widths."},{name:"--sf-divider-{color,style,width,gap}",description:"Divider appearance and surrounding gap tokens."},{name:"--sf-alternate-{gap,inner-gap}",description:"Zigzag .sf-alternate layout gaps."},{name:"--sf-equal-{cols,gap}",description:"Equal-columns count and gap."},{name:"--sf-col-width-{s,m,l}",description:"CSS multi-column track widths (ch-based)."},{name:"--sf-col-rule-width-{s,m,l}",description:"CSS multi-column rule (divider) widths."},{name:"--sf-field-{block,required-marker}",description:"Form field vertical spacing and required indicator string."}]},{category:"Borders",description:"Border shorthands, widths, styles, and stroke widths.",tokens:[{name:"--sf-border / --sf-border-{subtle,strong}",description:"Composed border shorthands (width + style + color). Replaces the three-part recipe."},{name:"--sf-border-width-{hairline,1,2,3,4}",description:"Border width scale: 0.5px, 1px, 2px, 3px, 4px."},{name:"--sf-border-style",description:"Default border style (solid)."},{name:"--sf-border-style-{dotted,soft,strong}",description:"Border style presets (dotted, dashed, solid)."},{name:"--sf-stroke-{thin,regular,bold,heavy}",description:"Stroke widths for SVG/icon use: 1px, 1.5px, 2px, 3px."}]},{category:"Radius",description:"Border radius scale and special shapes.",tokens:[{name:"--sf-radius-{none,xs,s,m,l,xl,2xl,3xl,4xl,full}",description:"Radius scale from 0 to 9999px (pill)."},{name:"--sf-radius-scale",description:"Global multiplier for all radius tokens (default 1)."},{name:"--sf-radius-pill",description:"Fully rounded (9999px)."},{name:"--sf-radius-outer",description:"Outer radius = inner + padding (for nested rounding)."}]},{category:"Shadows",description:"Box shadows, drop shadows, text shadows, and shadow configuration.",tokens:[{name:"--sf-shadow-{xs,s,m,l,xl,2xl}",description:"Elevation shadow scale, progressively more dramatic."},{name:"--sf-shadow-inner",description:"Inset shadow for recessed elements."},{name:"--sf-shadow-glow",description:"Colored glow effect (uses --sf-shadow-glow-color)."},{name:"--sf-shadow-none",description:"Explicit no-shadow value."},{name:"--sf-shadow-color / --sf-shadow-glow-color",description:"Base shadow color (derived from neutral) and glow color."},{name:"--sf-shadow-strength",description:"Shadow opacity multiplier (adapts to dark mode)."},{name:"--sf-drop-shadow-{s,m,l}",description:"CSS filter drop-shadow equivalents."},{name:"--sf-text-shadow-{s,m,l,none}",description:"Text shadow presets."}]},{category:"Effects",description:"Blurs, opacities, gradients, masks, perspective, and contrast tuning.",tokens:[{name:"--sf-blur-{xs,s,m,l,xl}",description:"Blur radius scale: 4px to 48px."},{name:"--sf-opacity-{0,10,25,50,75,100,disabled}",description:"Named opacity presets."},{name:"--sf-gradient-{brand,primary,secondary,tertiary,surface}",description:"Predefined gradients using brand colors."},{name:"--sf-gradient-fade--{t,b,l,r}",description:"Directional fade-to-background gradients."},{name:"--sf-mask-scrim-{start,end}",description:"Scroll mask fade depth."},{name:"--sf-perspective-{near,normal,far}",description:"3D perspective presets: 500px, 1000px, 2000px."},{name:"--sf-contrast-{bias,threshold}",description:"Color contrast tuning for auto text-on-color logic."}]},{category:"Motion",description:"Durations, easing curves, transitions, and animations.",tokens:[{name:"--sf-duration-{none,instant,fast,normal,slow,slower}",description:"Duration scale: 0ms to 600ms (respects --sf-motion-scale)."},{name:"--sf-motion-scale",description:"Global animation speed multiplier (set 0 to disable)."},{name:"--sf-ease-{linear,in,out,in-out,bounce,elastic,overshoot,spring}",description:"Easing function presets."},{name:"--sf-transition-{all,colors,opacity,shadow,transform,fast,slow,enter,exit}",description:"Pre-composed transition shorthands."},{name:"--sf-animation-{fade-in,fade-out,scale-up,scale-down,slide-in-up,slide-in-down,slide-in-left,slide-in-right,float,ping,blink,color-pulse,shimmer,spin}",description:"Named keyframe animation shorthands."},{name:"--sf-animation-delay-{1,2,3,4,5}",description:"Stagger delays for sequential animations."}]},{category:"Icons",description:"Inline icon sizing and the boxed-icon container.",tokens:[{name:"--sf-icon-{xs,s,m,l,xl,2xl}",description:"Icon sizing in em units (0.875em to ~3em)."},{name:"--sf-icon-box-{bg,border,pad,radius}",description:"Boxed icon (.sf-icon--boxed) background, border, padding, radius."}]},{category:"Z-Index",description:"Z-index scale for predictable layering.",tokens:[{name:"--sf-z-{below,base,raised,low,mid,high,top,max}",description:"Z-index scale: -1, 0, 1, 10, 100, 500, 900, 9999."}]},{category:"States",description:"Internal flags and state tokens that drive runtime .is-* behaviour.",tokens:[{name:"--sf-is-dark",description:"Numeric flag (0 or 1) indicating dark mode is active. Registered property."},{name:"--sf-is-{active,current,open,pressed}",description:"Internal numeric/derived flags mirrored from matching .is-* classes."},{name:"--sf-state-pending-opacity",description:"Opacity applied to elements in the .is-pending optimistic state."}]},{category:"Focus",description:"Focus ring appearance for keyboard navigation.",tokens:[{name:"--sf-focus-ring-{width,offset,color,style,shadow}",description:"Focus indicator configuration."},{name:"--sf-caret-color",description:"Text input caret color (defaults to action)."}]},{category:"Scroll",description:"Scroll timeline, scroll-shadow, and scrollbar styling.",tokens:[{name:"--sf-scroll-timeline-range-{start,end}",description:"Scroll-driven animation range."},{name:"--sf-scroll-shadow-size",description:"Depth of the .sf-scroll-shadow mask gradient."},{name:"--sf-scrollbar-{thumb,track}",description:"Custom scrollbar colors."}]},{category:"Print",description:"Print stylesheet configuration.",tokens:[{name:"--sf-print-{base-size,page-margin,page-size}",description:"Print layout tokens: 11pt base, 2cm margins, A4 size."}]},{category:"Misc",description:"Internal helpers and string-valued tokens that don't belong to a single visual family.",tokens:[{name:"--sf-lumlocker",description:"Internal luminance lock value for color derivation."},{name:"--sf-truncate-suffix",description:"Ellipsis string used by truncation utilities."},{name:"--sf-link-external-marker",description:"External link arrow character."}]}],gc=[{category:"Layout Primitives",description:"Breakpoint-free, container-query-driven layout components. Each is a single class with per-instance token overrides via inline style.",classes:[{name:".sf-section / .sf-section-group",description:"Vertical page rhythm; -group collapses gap between adjacent sections."},{name:".sf-section--{xs,s,m,l,xl,2xl,collapse}",description:"Section size variants and collapse."},{name:".sf-container",description:"Centered max-width wrapper with gutters."},{name:".sf-container--{narrow,wide,full,prose}",description:"Container width variants."},{name:".sf-box",description:"Isolated unit with padding and optional border."},{name:".sf-center / .sf-center--intrinsic",description:"Intrinsic centering with max-width."},{name:".sf-stack",description:"Vertical flow with consistent gap."},{name:".sf-stack--{xs,s,m,l,xl,2xl,center,end,stretch}",description:"Stack size and alignment variants."},{name:".sf-cluster",description:"Wrapping inline group."},{name:".sf-cluster--{xs,s,m,l,xl,2xl,center,end,between,no-wrap}",description:"Cluster size, alignment, and wrap variants."},{name:".sf-sidebar",description:"Content + side panel that wraps."},{name:".sf-sidebar--{right,narrow,wide}",description:"Sidebar side and width variants."},{name:".sf-switcher",description:"N columns above threshold, stacked below."},{name:".sf-switcher--{no-wrap,vertical}",description:"Switcher behaviour variants."},{name:".sf-grid",description:"Auto-fill responsive grid."},{name:".sf-grid--{xs,s,m,l,xl,2xl,fit,dense}",description:"Grid item-size and packing variants."},{name:".sf-grid-{1,2,3,4,6}",description:"Fixed-column grids, container-responsive."},{name:".sf-grid-{1-2,2-1,1-3,3-1}",description:"Ratio two-column grids."},{name:".sf-bento",description:"Dense free-form grid."},{name:".sf-bento--{2,4,compact,tall}",description:"Bento column-count and row-height variants."},{name:".sf-equal / .sf-equal-height",description:"Equal-width columns; -height equalizes flex child heights."},{name:".sf-equal--{2,3,4,6}",description:"Equal-columns count variants."},{name:".sf-gap",description:"Standalone gap utility for grid/flex parents."},{name:".sf-gap--{xs,s,m,l,xl,2xl}",description:"Gap size variants."},{name:".sf-alternate",description:"Zigzag two-column layout, reverses every other row."},{name:".sf-pancake",description:"Sticky-footer grid: header / main(1fr) / footer."},{name:".sf-content-grid",description:"Breakout layout grid. Children use .sf-breakout or .sf-full-bleed."},{name:".sf-breakout / .sf-full-bleed",description:"Content-grid escape hatches: breakout band and edge-to-edge bleed."},{name:".sf-cover / .sf-cover__center",description:"Full-height region with a centered content child."},{name:".sf-cover--{min,max,padding-s,padding-l}",description:"Cover height and padding variants."},{name:".sf-frame",description:"Aspect-ratio media box."},{name:".sf-frame--{square,portrait,video,cinema,3-2,4-3,golden}",description:"Frame aspect-ratio variants."},{name:".sf-reel",description:"Horizontal scroll strip with optional mask fade."},{name:".sf-imposter / .sf-imposter--{fixed,contain}",description:"Absolutely-centered overlay and its position variants."},{name:".sf-subgrid / .sf-subgrid-rows",description:"Inherit parent grid tracks."},{name:".sf-divider / .sf-divider--vertical",description:"Token-driven separator (horizontal or vertical)."},{name:".sf-icon",description:"Em-based inline icon sizing."},{name:".sf-icon--{xs,s,m,l,xl,2xl,boxed}",description:"Icon size variants and boxed container."},{name:".sf-prose / .sf-not-prose",description:"Readable long-form text rhythm; -not resets a zone inside it."}]},{category:"Macros",description:"Recipe classes that answer 'what does this element do/look like?' - composable with layout primitives.",classes:[{name:".sf-flow",description:"Lobotomized owl: consistent gap between consecutive children."},{name:".sf-truncate",description:"Single-line ellipsis overflow."},{name:".sf-line-clamp-{2,3,N}",description:"Multi-line text clamping with ellipsis. -N reads --sf-line-clamp."},{name:".sf-aspect",description:"Generic aspect-ratio container (reads --sf-aspect token)."},{name:".sf-scroll-shadow",description:"Top + bottom mask gradient for scrolling containers."},{name:".sf-scroll-snap",description:"Vertical scroll-snap container."},{name:".sf-overflow-fade",description:"End-edge horizontal fade for overflowing inline content."},{name:".sf-no-tap-highlight",description:"Suppresses WebKit/Android tap highlight."},{name:".sf-text-gradient",description:"Gradient text effect using background-clip."},{name:".sf-clickable-parent / .sf-focus-parent",description:"Makes a whole card clickable via the first link inside; -focus mirrors focus ring to the parent."},{name:".sf-link-external",description:"Adds external link indicator marker."}]},{category:"Surfaces",description:"Color surface utility classes that set background and auto-contrast text for a brand context.",classes:[{name:".sf-surface--{primary,secondary,tertiary,action,neutral,inverse}",description:"Brand-colored surface with auto-contrast text."},{name:".sf-surface--{success,warning,error,info,danger}",description:"Status-colored surfaces."}]},{category:"Animations",description:"CSS animation utility classes that apply predefined keyframe animations.",classes:[{name:".sf-fade-in / .sf-fade-out",description:"Opacity entrance/exit animations."},{name:".sf-scale-up / .sf-scale-down",description:"Scale entrance/exit animations."},{name:".sf-slide-in-{up,down,left,right}",description:"Directional slide-in entrance animations."},{name:".sf-color-pulse",description:"Continuous color pulse animation."},{name:".sf-entrance--{fade,fade-up,fade-down,fade-left,fade-right,scale-up}",description:"Scroll-triggered entrance animations (scroll-timeline driven)."}]},{category:"State Classes (.is-*)",description:"Runtime state classes toggled by JS or mirrored from ARIA. They live in the slashed.states layer. Always pair with matching ARIA attributes.",classes:[{name:".is-hidden / .is-invisible / .is-visible",description:"Visibility control: removed from layout / hidden but keeps box / visible."},{name:".is-disabled / .is-readonly",description:"Non-interactive states with dimming."},{name:".is-loading / .is-pending / .is-busy",description:"Loading states: spinner replacement / optimistic UI / cursor hint."},{name:".is-skeleton",description:"Placeholder shimmer animation."},{name:".is-active / .is-selected / .is-current / .is-pressed",description:"Selection/activation states."},{name:".is-highlighted",description:"Transient emphasis (e.g. search result highlight)."},{name:".is-open / .is-collapsed / .is-expanded",description:"Disclosure states for modals, drawers, accordions."},{name:".is-valid / .is-invalid",description:"Form field validation results (maps to aria-invalid)."},{name:".is-success / .is-error / .is-warning / .is-info / .is-danger",description:"General feedback states and destructive-action context."},{name:".is-sticky / .is-pinned / .is-fixed / .is-fullscreen",description:"Positioning states."},{name:".is-clipped / .is-scrollable / .is-truncated / .is-resizable",description:"Overflow handling states."},{name:".is-dragging / .is-drop-target / .is-draggable",description:"Drag and drop states."},{name:".is-overlay / .is-focused / .is-clickable / .is-unselectable",description:"Positioning, focus, cursor, and selection states."},{name:".is-empty",description:"Hide element when empty (:empty pseudo-class)."}]}],mc=[{name:"--sf-is-dark",description:"Numeric flag (0 or 1) indicating dark mode is active. Registered property."},{name:"--sf-lumlocker",description:"Internal luminance lock value for color derivation."},{name:"--sf-color-scheme",description:"CSS color-scheme declaration (light dark)."},{name:"--sf-current-font-weight",description:"Current context font weight (used by strong elements)."},{name:"--sf-link-external-marker",description:"External link arrow character."},{name:"--sf-field-block",description:"Vertical spacing between form fields."},{name:"--sf-field-required-marker",description:"Required field indicator string."}];var bc=j('
              • '),yc=j('
                  '),wc=j('
                • '),xc=j('
                  Misc Tokens that do not fit a single category.
                    '),kc=j('

                    CSS Custom Properties (--sf-*)

                    '),Sc=j('
                  • '),Ec=j('
                      '),Ac=j('

                      Utility & State Classes

                      '),Cc=j('

                      '),jc=j('

                      API Cheatsheet

                      ');function Tc(e,t){je(t,!0);let s=fe(""),a=fe("all");const n=pe.inventory?.variables?.length??0,i=pe.inventory?.sf_classes?.length??0,o=pe.inventory?.is_classes?.length??0;let u=y(()=>f(_c,"tokens")),c=y(()=>f(gc,"classes")),v=y(()=>mc.filter(S=>h(S.name,S.description)));function h(S,B){if(!r(s).trim())return!0;const I=r(s).trim().toLowerCase();return S.toLowerCase().includes(I)||B.toLowerCase().includes(I)}function f(S,B){return r(s).trim()?S.map(I=>({...I,[B]:I[B].filter(N=>h(N.name,N.description))})).filter(I=>I[B].length>0):S}let p=y(()=>r(a)==="all"||r(a)==="variables"),m=y(()=>r(a)==="all"||r(a)==="classes"),b=y(()=>r(s).trim()!==""&&(!r(p)||r(u).length===0&&r(v).length===0)&&(!r(m)||r(c).length===0));var x=jc(),_=l(x),w=d(l(_),2),E=l(w),C=d(_,2),F=l(C),G=d(F,2),z=l(G);let R;var P=d(z,2);let O;var M=d(P,2);let V;var q=d(C,2);{var T=S=>{var B=kc(),I=d(l(B),2);he(I,17,()=>r(u),Fs,(ie,ne)=>{var oe=yc(),W=l(oe),de=l(W),we=l(de),xe=d(de,2),Ce=l(xe),ze=d(W,2);he(ze,21,()=>r(ne).tokens,Fs,($e,L)=>{var U=bc(),ee=l(U),Z=l(ee),J=d(ee,2),ue=l(J);K(()=>{D(Z,r(L).name),D(ue,r(L).description)}),A($e,U)}),K($e=>{oe.open=$e,D(we,r(ne).category),D(Ce,r(ne).description)},[()=>!r(s).trim()]),A(ie,oe)});var N=d(I,2);{var se=ie=>{var ne=xc(),oe=d(l(ne),2);he(oe,21,()=>r(v),Fs,(W,de)=>{var we=wc(),xe=l(we),Ce=l(xe),ze=d(xe,2),$e=l(ze);K(()=>{D(Ce,r(de).name),D($e,r(de).description)}),A(W,we)}),K(W=>ne.open=W,[()=>!r(s).trim()]),A(ie,ne)};me(N,ie=>{r(v).length>0&&ie(se)})}A(S,B)};me(q,S=>{r(p)&&S(T)})}var k=d(q,2);{var $=S=>{var B=Ac(),I=d(l(B),2);he(I,17,()=>r(c),Fs,(N,se)=>{var ie=Ec(),ne=l(ie),oe=l(ne),W=l(oe),de=d(oe,2),we=l(de),xe=d(ne,2);he(xe,21,()=>r(se).classes,Fs,(Ce,ze)=>{var $e=Sc(),L=l($e),U=l(L),ee=d(L,2),Z=l(ee);K(()=>{D(U,r(ze).name),D(Z,r(ze).description)}),A(Ce,$e)}),K(Ce=>{ie.open=Ce,D(W,r(se).category),D(we,r(se).description)},[()=>!r(s).trim()]),A(N,ie)}),A(S,B)};me(k,S=>{r(m)&&S($)})}var H=d(k,2);{var Y=S=>{var B=Cc(),I=l(B);K(()=>D(I,`No results for "${r(s)??""}"`)),A(S,B)};me(H,S=>{r(b)&&S(Y)})}K(()=>{D(E,`${n??""} variables | ${i??""} layout/utility classes | ${o??""} state classes`),te(z,"aria-pressed",r(a)==="all"),R=Le(z,1,"svelte-osej3t",null,R,{active:r(a)==="all"}),te(P,"aria-pressed",r(a)==="variables"),O=Le(P,1,"svelte-osej3t",null,O,{active:r(a)==="variables"}),te(M,"aria-pressed",r(a)==="classes"),V=Le(M,1,"svelte-osej3t",null,V,{active:r(a)==="classes"})}),Pt(F,()=>r(s),S=>X(s,S)),ge("click",z,()=>X(a,"all")),ge("click",P,()=>X(a,"variables")),ge("click",M,()=>X(a,"classes")),A(e,x),Te()}Be(["click"]);var zc=j(''),$c=j(''),Fc=j('
                      Aa
                      Normal text Large text
                      Normal: 4.5:1 AA · 7:1 AAA  |  Large: 3:1 AA · 4.5:1 AAA
                      ',1),Rc=j('
                      Select different colors to compute contrast.
                      '),Mc=j(''),Dc=j(' '),Lc=j(''),Pc=j(""),Vc=j(''),Ic=j(`

                      WCAG Contrast Checker

                      Pick any two SLASHED color tokens to check their WCAG 2.1 contrast ratio. The +} );`}],a=y(()=>le.activeIntegrations?.bricks??!0);var n=mc(),i=d(l(n),4);let o;var u=l(i),c=d(l(u),4);{var v=f=>{var p=_c();S(f,p)};me(c,f=>{r(a)||f(v)})}var h=d(u,2);de(h,17,()=>s,f=>f.name,(f,p)=>{var m=gc(),b=l(m),x=l(b),_=l(x),w=d(b,2),E=l(w),A=d(w,2),F=d(l(A),2),Y=l(F),T=d(A,2),z=l(T),D=l(z);V(()=>{P(_,r(p).name),P(E,r(p).description),P(Y,r(p).params),P(D,r(p).example)}),S(f,m)}),V(()=>o=Ie(i,1,"group svelte-a36hjt",null,o,{"group--inactive":!r(a)})),S(e,n),Fe()}const yc=[{category:"Colors",description:"Brand, status, and semantic color tokens. Source colors use oklch(); the framework derives light-dark pairs, 50–950 palettes, alpha scales, and state variants automatically. Palette and alpha scales require optional/tokens.palette.css (optimal bundle and above).",tokens:[{name:"--sf-color-{primary,secondary,tertiary,action,neutral,base}",description:"Resolved light-dark adaptive brand color for use in rules."},{name:"--sf-color-{primary,secondary,tertiary,action,neutral,base}-light",description:"Source color (oklch registered value). Set this to rebrand."},{name:"--sf-color-{primary,secondary,tertiary,action,neutral,base}-dark",description:"Optional dark-mode override. If set, replaces the auto-derived dark variant for full per-mode control."},{name:"--sf-color-{primary,secondary,tertiary,action,neutral,base}-{50,100,200,300,400,500,600,700,800,900,950}",description:"Palette scale: 50 (lightest) → 950 (darkest), mixed with base/text. Requires tokens.palette.css."},{name:"--sf-color-{primary,secondary,tertiary,action,neutral,base}-{a5,a10,a20,a30,a40,a50,a60,a70,a80,a90,a95}",description:"Alpha scale: 5%–95% opacity of the brand color. Requires tokens.palette.css."},{name:"--sf-color-{primary,secondary,tertiary,action,neutral,base}-{hover,active,muted,subtle,ghost,lighter,darker,xlight,xdark,superlight,superdark}",description:"Semantic aliases for common UI states, mapped to palette steps."},{name:"--sf-color-{surface,inverse}",description:"Surface (card/panel) and inverse (high-contrast) context colors."},{name:"--sf-color-{success,warning,error,info,danger}",description:"Status feedback colors (resolved adaptive value)."},{name:"--sf-color-{success,warning,error,info,danger}-{light,strong,hover,active,muted,subtle,ghost,lighter,darker,xlight,xdark,superlight,superdark}",description:"Status color source (-light), emphasis (-strong), and state variants."},{name:"--sf-color-bg",description:"Page background color, derived from base."},{name:"--sf-color-bg--{hover,active,selected,focus,disabled}",description:"Interactive background overlays for hover/active/selected/focus/disabled states."},{name:"--sf-color-text",description:"Main body text color, contrast-aware."},{name:"--sf-color-text--{secondary,muted,disabled,placeholder,inverse}",description:"Secondary, muted, disabled, placeholder, and inverted text colors."},{name:"--sf-color-text--on-{primary,secondary,tertiary,action,neutral,base,surface,inverse,success,warning,error,info,danger}",description:"Auto-contrast text color to use on top of each colored surface."},{name:"--sf-color-heading",description:"Heading text color, slightly stronger than body text."},{name:"--sf-color-link",description:"Link color, derived from the action brand."},{name:"--sf-color-link--{hover,active,visited,underline,disabled}",description:"Link state colors and underline accent."},{name:"--sf-color-border",description:"Default border color."},{name:"--sf-color-border--{subtle,strong,focus,disabled,translucent}",description:"De-emphasized, emphasized, focus, disabled, and translucent border colors."},{name:"--sf-color-{code-bg,code-text,mark-bg,mark-text}",description:"Inline and background/foreground colors."},{name:"--sf-color-{white,black}",description:"Absolute white/black anchors in oklch space, for staying inside the token system."},{name:"--sf-color-surface",description:"Card/panel surface color (equals base)."},{name:"--sf-color-{inset,raised}",description:"Recessed (inset) and elevated (raised) surface background contexts."},{name:"--sf-color-selection-{bg,text}",description:"Text selection (::selection) background and foreground colors."},{name:"--sf-color-overlay",description:"Semi-transparent overlay for modals."},{name:"--sf-color-dim",description:"50% black overlay for dimming backgrounds."},{name:"--sf-color-scheme",description:"CSS color-scheme declaration (light dark). Holds a string, not a color."}]},{category:"Typography",description:"Font families, fluid size scale, weights, line-heights, letter-spacing, per-size sub-properties, and heading/body/prose configuration.",tokens:[{name:"--sf-font-{body,heading,mono,display,humanist,geometric,slab}",description:"Font stacks: body, heading, mono, display, plus curated humanist/geometric/slab fallback personalities."},{name:"--sf-font-{features,variation}",description:"font-feature-settings and font-variation-settings hooks."},{name:"--sf-font-weight-{thin,extralight,light,normal,medium,semibold,bold,extrabold,black}",description:"Named weight tokens: 100→900."},{name:"--sf-font-weight-{body,heading,display}",description:"Contextual weight tokens for body, heading, and display text."},{name:"--sf-current-font-weight",description:"Current context font weight (used by strong elements)."},{name:"--sf-leading-{tight,snug,normal,relaxed}",description:"Line-height presets: 1.1, 1.3, 1.5, 1.625."},{name:"--sf-tracking-{tight,normal,wide,wider,widest}",description:"Letter-spacing presets from -0.025em to 0.1em."},{name:"--sf-text-{2xs,xs,s,m,l,xl,2xl,3xl,4xl}",description:"Fluid type scale using clamp(). Honours --sf-text-scale."},{name:"--sf-text-display-{s,m,l}",description:"Extra-large display/hero sizes. Honour --sf-text-display-scale."},{name:"--sf-text-{scale,display-scale}",description:"Global multipliers for the body and display type scales (default 1)."},{name:"--sf-text-{2xs,xs,s,m,l,xl,2xl,3xl,4xl}-{line-height,font-weight,letter-spacing,max-width}",description:"Per-size sub-property override knobs (relaxed leading for small text, tight leading for display). Requires tokens.sizes-extended.css."},{name:"--sf-text-{xs,s,m,l,xl,2xl,3xl,4xl}-to-{2xs,xs,s,m,l,xl,2xl,3xl}",description:"Text bridge tokens: a clamp() spanning from one step (wide) to another (narrow) for extra range of motion. Requires tokens.sizes-extended.css."},{name:"--sf-h{1,2,3,4,5,6}-{size,font-weight,line-height,letter-spacing}",description:"Per-heading-level configuration tokens."},{name:"--sf-heading-{color,font-family,text-wrap}",description:"Global heading color, font stack, and text-wrap mode (balance)."},{name:"--sf-body-{color,font-family,font-size,font-weight,line-height,text-wrap,em-style,strong-weight}",description:"Body text configuration tokens."},{name:"--sf-prose-{block-margin,heading-gap,list-gap,paragraph,figure-margin,figcaption-size,media-margin,media-radius,marker-color}",description:"Long-form .sf-prose rhythm and element styling tokens."},{name:"--sf-code-font-size",description:"Inline font-size (relative em)."},{name:"--sf-optical-sizing",description:"font-optical-sizing control (auto)."},{name:"--sf-line-clamp",description:"Default line count for .sf-line-clamp-N."}]},{category:"Spacing",description:"Fluid spacing scale (clamp-based), bridge tokens, gutters, section padding, component padding, flow, safe-area insets, and sticky-header offsets.",tokens:[{name:"--sf-space-{none,px,2xs,xs,s,m,l,xl,2xl,3xl,4xl}",description:"Fluid spacing scale. Honours --sf-space-scale (none/px are fixed)."},{name:"--sf-space-scale",description:"Global multiplier for all space tokens (default 1)."},{name:"--sf-space-{2xs,xs,s,m,l,xl,2xl,3xl,4xl}-to-{2xs,xs,s,m,l,xl,2xl,3xl}",description:"Spacing bridge tokens: clamp() spanning a wider range than any single step. Requires tokens.sizes-extended.css."},{name:"--sf-space-{gutter,gap,content}",description:"Internal aliases: page gutter, default gap, content gap (consumed by --sf-gap / --sf-content-gap)."},{name:"--sf-gap / --sf-gap-size",description:"Default layout gap and its raw size component."},{name:"--sf-content-gap",description:"Gap between content elements (defaults to space-s)."},{name:"--sf-component-pad",description:"Internal padding for components (defaults to space-m)."},{name:"--sf-section-pad",description:"Active section padding alias."},{name:"--sf-section-pad--{xs,s,m,l,xl,2xl}",description:"Vertical padding presets for page sections."},{name:"--sf-flow-space",description:"Gap applied between .sf-flow children (lobotomized owl)."},{name:"--sf-safe-{top,right,bottom,left}",description:"Safe-area insets for notched devices."},{name:"--sf-header-height",description:"Resolved fixed-header height for sticky offset calculations."},{name:"--sf-header-height-{mobile,desktop}",description:"Per-breakpoint header height inputs."},{name:"--sf-sticky-offset",description:"Resolved sticky offset (defaults to header height)."},{name:"--sf-sticky-offset-{mobile,desktop}",description:"Per-breakpoint sticky offset inputs."}]},{category:"Sizing",description:"Component sizes, touch targets, aspect ratios, and icon sizing.",tokens:[{name:"--sf-size-{xs,s,m,l,xl}",description:"Named size tokens: xs(1.5rem), s(2rem), m(2.5rem), l(2.75rem), xl(3.5rem)."},{name:"--sf-touch-target",description:"Minimum interactive element size (defaults to size-l, 2.75rem)."},{name:"--sf-ratio-{square,portrait,video,cinema,golden,3-2,4-3}",description:"Predefined aspect ratios for frames and containers."},{name:"--sf-aspect",description:"Generic aspect-ratio token read by the .sf-aspect macro (16/9)."},{name:"--sf-object-{fit,position}",description:"Default object-fit (cover) and object-position (50% 50%) for media elements."}]},{category:"Layout",description:"Container widths and layout-primitive tokens (stack, cluster, grid, sidebar, switcher, bento, cover, frame, reel, imposter, box, center, content-grid, divider, alternate, equal, multi-column).",tokens:[{name:"--sf-container-{narrow,default,prose,wide,full}",description:"Max-width presets for .sf-container."},{name:"--sf-stack-gap",description:"Vertical gap between .sf-stack children."},{name:"--sf-cluster-{gap,align,justify}",description:"Inline cluster layout tokens."},{name:"--sf-sidebar-{width,gap,min-width}",description:"Sidebar layout tokens."},{name:"--sf-switcher-{threshold,gap}",description:"Column-to-stack breakpoint and gap."},{name:"--sf-grid-{min,gap}",description:"Auto-fill grid minimum item width and gap."},{name:"--sf-grid-min-{xs,s,m,l,xl,2xl}",description:"Per-size minimum item widths for .sf-grid--*."},{name:"--sf-bento-{cols-default,gap,row-default,row-compact,row-tall}",description:"Dense bento grid configuration."},{name:"--sf-cover-{min-height,padding}",description:"Full-height cover layout."},{name:"--sf-frame-ratio",description:"Aspect ratio for .sf-frame (defaults to 16/9)."},{name:"--sf-reel-{gap,height,item-width}",description:"Horizontal scroll strip configuration."},{name:"--sf-imposter-margin",description:"Safety margin for absolute-centered overlays."},{name:"--sf-box-{padding,border-color,border-width}",description:"Isolated .sf-box unit padding and border."},{name:"--sf-center-{gutter,max}",description:"Intrinsic-centering gutter and max-width."},{name:"--sf-content-width / --sf-breakout-width",description:"Breakout grid track widths."},{name:"--sf-divider-{color,style,width,gap}",description:"Divider appearance and surrounding gap tokens."},{name:"--sf-alternate-{gap,inner-gap}",description:"Zigzag .sf-alternate layout gaps."},{name:"--sf-equal-{cols,gap}",description:"Equal-columns count and gap."},{name:"--sf-col-width-{s,m,l}",description:"CSS multi-column track widths (ch-based)."},{name:"--sf-col-rule-width-{s,m,l}",description:"CSS multi-column rule (divider) widths."},{name:"--sf-field-{block,required-marker}",description:"Form field vertical spacing and required indicator string."}]},{category:"Borders",description:"Border shorthands, widths, styles, and stroke widths.",tokens:[{name:"--sf-border / --sf-border-{subtle,strong}",description:"Composed border shorthands (width + style + color). Replaces the three-part recipe."},{name:"--sf-border-width-{hairline,1,2,3,4}",description:"Border width scale: 0.5px, 1px, 2px, 3px, 4px."},{name:"--sf-border-style",description:"Default border style (solid)."},{name:"--sf-border-style-{dotted,soft,strong}",description:"Border style presets (dotted, dashed, solid)."},{name:"--sf-stroke-{thin,regular,bold,heavy}",description:"Stroke widths for SVG/icon use: 1px, 1.5px, 2px, 3px."}]},{category:"Radius",description:"Border radius scale and special shapes.",tokens:[{name:"--sf-radius-{none,xs,s,m,l,xl,2xl,3xl,4xl,full}",description:"Radius scale from 0 to 9999px (pill)."},{name:"--sf-radius-scale",description:"Global multiplier for all radius tokens (default 1)."},{name:"--sf-radius-pill",description:"Fully rounded (9999px)."},{name:"--sf-radius-outer",description:"Outer radius = inner + padding (for nested rounding)."}]},{category:"Shadows",description:"Box shadows, drop shadows, text shadows, and shadow configuration.",tokens:[{name:"--sf-shadow-{xs,s,m,l,xl,2xl}",description:"Elevation shadow scale, progressively more dramatic."},{name:"--sf-shadow-inner",description:"Inset shadow for recessed elements."},{name:"--sf-shadow-glow",description:"Colored glow effect (uses --sf-shadow-glow-color)."},{name:"--sf-shadow-none",description:"Explicit no-shadow value."},{name:"--sf-shadow-color / --sf-shadow-glow-color",description:"Base shadow color (derived from neutral) and glow color."},{name:"--sf-shadow-strength",description:"Shadow opacity multiplier (adapts to dark mode)."},{name:"--sf-drop-shadow-{s,m,l}",description:"CSS filter drop-shadow equivalents."},{name:"--sf-text-shadow-{s,m,l,none}",description:"Text shadow presets."}]},{category:"Effects",description:"Blurs, opacities, gradients, masks, perspective, and contrast tuning.",tokens:[{name:"--sf-blur-{xs,s,m,l,xl}",description:"Blur radius scale: 4px to 48px."},{name:"--sf-opacity-{0,10,25,50,75,100,disabled}",description:"Named opacity presets."},{name:"--sf-gradient-{brand,primary,secondary,tertiary,surface}",description:"Predefined gradients using brand colors."},{name:"--sf-gradient-fade--{t,b,l,r}",description:"Directional fade-to-background gradients."},{name:"--sf-mask-scrim-{start,end}",description:"Scroll mask fade depth."},{name:"--sf-perspective-{near,normal,far}",description:"3D perspective presets: 500px, 1000px, 2000px."},{name:"--sf-contrast-{bias,threshold}",description:"Color contrast tuning for auto text-on-color logic."}]},{category:"Motion",description:"Durations, easing curves, transitions, and animations.",tokens:[{name:"--sf-duration-{none,instant,fast,normal,slow,slower}",description:"Duration scale: 0ms to 600ms (respects --sf-motion-scale)."},{name:"--sf-motion-scale",description:"Global animation speed multiplier (set 0 to disable)."},{name:"--sf-ease-{linear,in,out,in-out,bounce,elastic,overshoot,spring}",description:"Easing function presets."},{name:"--sf-transition-{all,colors,opacity,shadow,transform,fast,slow,enter,exit}",description:"Pre-composed transition shorthands."},{name:"--sf-animation-{fade-in,fade-out,scale-up,scale-down,slide-in-up,slide-in-down,slide-in-left,slide-in-right,float,ping,blink,color-pulse,shimmer,spin}",description:"Named keyframe animation shorthands."},{name:"--sf-animation-delay-{1,2,3,4,5}",description:"Stagger delays for sequential animations."}]},{category:"Icons",description:"Inline icon sizing and the boxed-icon container.",tokens:[{name:"--sf-icon-{xs,s,m,l,xl,2xl}",description:"Icon sizing in em units (0.875em to ~3em)."},{name:"--sf-icon-box-{bg,border,pad,radius}",description:"Boxed icon (.sf-icon--boxed) background, border, padding, radius."}]},{category:"Z-Index",description:"Z-index scale for predictable layering.",tokens:[{name:"--sf-z-{below,base,raised,low,mid,high,top,max}",description:"Z-index scale: -1, 0, 1, 10, 100, 500, 900, 9999."}]},{category:"States",description:"Internal flags and state tokens that drive runtime .is-* behaviour.",tokens:[{name:"--sf-is-dark",description:"Numeric flag (0 or 1) indicating dark mode is active. Registered property."},{name:"--sf-is-{active,current,open,pressed}",description:"Internal numeric/derived flags mirrored from matching .is-* classes."},{name:"--sf-state-pending-opacity",description:"Opacity applied to elements in the .is-pending optimistic state."}]},{category:"Focus",description:"Focus ring appearance for keyboard navigation.",tokens:[{name:"--sf-focus-ring-{width,offset,color,style,shadow}",description:"Focus indicator configuration."},{name:"--sf-caret-color",description:"Text input caret color (defaults to action)."}]},{category:"Scroll",description:"Scroll timeline, scroll-shadow, and scrollbar styling.",tokens:[{name:"--sf-scroll-timeline-range-{start,end}",description:"Scroll-driven animation range."},{name:"--sf-scroll-shadow-size",description:"Depth of the .sf-scroll-shadow mask gradient."},{name:"--sf-scrollbar-{thumb,track}",description:"Custom scrollbar colors."}]},{category:"Print",description:"Print stylesheet configuration.",tokens:[{name:"--sf-print-{base-size,page-margin,page-size}",description:"Print layout tokens: 11pt base, 2cm margins, A4 size."}]},{category:"Misc",description:"Internal helpers and string-valued tokens that don't belong to a single visual family.",tokens:[{name:"--sf-lumlocker",description:"Internal luminance lock value for color derivation."},{name:"--sf-truncate-suffix",description:"Ellipsis string used by truncation utilities."},{name:"--sf-link-external-marker",description:"External link arrow character."}]}],wc=[{category:"Layout Primitives",description:"Breakpoint-free, container-query-driven layout components. Each is a single class with per-instance token overrides via inline style.",classes:[{name:".sf-section / .sf-section-group",description:"Vertical page rhythm; -group collapses gap between adjacent sections."},{name:".sf-section--{xs,s,m,l,xl,2xl,collapse}",description:"Section size variants and collapse."},{name:".sf-container",description:"Centered max-width wrapper with gutters."},{name:".sf-container--{narrow,wide,full,prose}",description:"Container width variants."},{name:".sf-box",description:"Isolated unit with padding and optional border."},{name:".sf-center / .sf-center--intrinsic",description:"Intrinsic centering with max-width."},{name:".sf-stack",description:"Vertical flow with consistent gap."},{name:".sf-stack--{xs,s,m,l,xl,2xl,center,end,stretch}",description:"Stack size and alignment variants."},{name:".sf-cluster",description:"Wrapping inline group."},{name:".sf-cluster--{xs,s,m,l,xl,2xl,center,end,between,no-wrap}",description:"Cluster size, alignment, and wrap variants."},{name:".sf-sidebar",description:"Content + side panel that wraps."},{name:".sf-sidebar--{right,narrow,wide}",description:"Sidebar side and width variants."},{name:".sf-switcher",description:"N columns above threshold, stacked below."},{name:".sf-switcher--{no-wrap,vertical}",description:"Switcher behaviour variants."},{name:".sf-grid",description:"Auto-fill responsive grid."},{name:".sf-grid--{xs,s,m,l,xl,2xl,fit,dense}",description:"Grid item-size and packing variants."},{name:".sf-grid-{1,2,3,4,6}",description:"Fixed-column grids, container-responsive."},{name:".sf-grid-{1-2,2-1,1-3,3-1}",description:"Ratio two-column grids."},{name:".sf-bento",description:"Dense free-form grid."},{name:".sf-bento--{2,4,compact,tall}",description:"Bento column-count and row-height variants."},{name:".sf-equal / .sf-equal-height",description:"Equal-width columns; -height equalizes flex child heights."},{name:".sf-equal--{2,3,4,6}",description:"Equal-columns count variants."},{name:".sf-gap",description:"Standalone gap utility for grid/flex parents."},{name:".sf-gap--{xs,s,m,l,xl,2xl}",description:"Gap size variants."},{name:".sf-alternate",description:"Zigzag two-column layout, reverses every other row."},{name:".sf-pancake",description:"Sticky-footer grid: header / main(1fr) / footer."},{name:".sf-content-grid",description:"Breakout layout grid. Children use .sf-breakout or .sf-full-bleed."},{name:".sf-breakout / .sf-full-bleed",description:"Content-grid escape hatches: breakout band and edge-to-edge bleed."},{name:".sf-cover / .sf-cover__center",description:"Full-height region with a centered content child."},{name:".sf-cover--{min,max,padding-s,padding-l}",description:"Cover height and padding variants."},{name:".sf-frame",description:"Aspect-ratio media box."},{name:".sf-frame--{square,portrait,video,cinema,3-2,4-3,golden}",description:"Frame aspect-ratio variants."},{name:".sf-reel",description:"Horizontal scroll strip with optional mask fade."},{name:".sf-imposter / .sf-imposter--{fixed,contain}",description:"Absolutely-centered overlay and its position variants."},{name:".sf-subgrid / .sf-subgrid-rows",description:"Inherit parent grid tracks."},{name:".sf-divider / .sf-divider--vertical",description:"Token-driven separator (horizontal or vertical)."},{name:".sf-icon",description:"Em-based inline icon sizing."},{name:".sf-icon--{xs,s,m,l,xl,2xl,boxed}",description:"Icon size variants and boxed container."},{name:".sf-prose / .sf-not-prose",description:"Readable long-form text rhythm; -not resets a zone inside it."}]},{category:"Macros",description:"Recipe classes that answer 'what does this element do/look like?' - composable with layout primitives.",classes:[{name:".sf-flow",description:"Lobotomized owl: consistent gap between consecutive children."},{name:".sf-truncate",description:"Single-line ellipsis overflow."},{name:".sf-line-clamp-{2,3,N}",description:"Multi-line text clamping with ellipsis. -N reads --sf-line-clamp."},{name:".sf-aspect",description:"Generic aspect-ratio container (reads --sf-aspect token)."},{name:".sf-scroll-shadow",description:"Top + bottom mask gradient for scrolling containers."},{name:".sf-scroll-snap",description:"Vertical scroll-snap container."},{name:".sf-overflow-fade",description:"End-edge horizontal fade for overflowing inline content."},{name:".sf-no-tap-highlight",description:"Suppresses WebKit/Android tap highlight."},{name:".sf-text-gradient",description:"Gradient text effect using background-clip."},{name:".sf-clickable-parent / .sf-focus-parent",description:"Makes a whole card clickable via the first link inside; -focus mirrors focus ring to the parent."},{name:".sf-link-external",description:"Adds external link indicator marker."}]},{category:"Surfaces",description:"Color surface utility classes that set background and auto-contrast text for a brand context.",classes:[{name:".sf-surface--{primary,secondary,tertiary,action,neutral,inverse}",description:"Brand-colored surface with auto-contrast text."},{name:".sf-surface--{success,warning,error,info,danger}",description:"Status-colored surfaces."}]},{category:"Animations",description:"CSS animation utility classes that apply predefined keyframe animations.",classes:[{name:".sf-fade-in / .sf-fade-out",description:"Opacity entrance/exit animations."},{name:".sf-scale-up / .sf-scale-down",description:"Scale entrance/exit animations."},{name:".sf-slide-in-{up,down,left,right}",description:"Directional slide-in entrance animations."},{name:".sf-color-pulse",description:"Continuous color pulse animation."},{name:".sf-entrance--{fade,fade-up,fade-down,fade-left,fade-right,scale-up}",description:"Scroll-triggered entrance animations (scroll-timeline driven)."}]},{category:"State Classes (.is-*)",description:"Runtime state classes toggled by JS or mirrored from ARIA. They live in the slashed.states layer. Always pair with matching ARIA attributes.",classes:[{name:".is-hidden / .is-invisible / .is-visible",description:"Visibility control: removed from layout / hidden but keeps box / visible."},{name:".is-disabled / .is-readonly",description:"Non-interactive states with dimming."},{name:".is-loading / .is-pending / .is-busy",description:"Loading states: spinner replacement / optimistic UI / cursor hint."},{name:".is-skeleton",description:"Placeholder shimmer animation."},{name:".is-active / .is-selected / .is-current / .is-pressed",description:"Selection/activation states."},{name:".is-highlighted",description:"Transient emphasis (e.g. search result highlight)."},{name:".is-open / .is-collapsed / .is-expanded",description:"Disclosure states for modals, drawers, accordions."},{name:".is-valid / .is-invalid",description:"Form field validation results (maps to aria-invalid)."},{name:".is-success / .is-error / .is-warning / .is-info / .is-danger",description:"General feedback states and destructive-action context."},{name:".is-sticky / .is-pinned / .is-fixed / .is-fullscreen",description:"Positioning states."},{name:".is-clipped / .is-scrollable / .is-truncated / .is-resizable",description:"Overflow handling states."},{name:".is-dragging / .is-drop-target / .is-draggable",description:"Drag and drop states."},{name:".is-overlay / .is-focused / .is-clickable / .is-unselectable",description:"Positioning, focus, cursor, and selection states."},{name:".is-empty",description:"Hide element when empty (:empty pseudo-class)."}]}],xc=[{name:"--sf-is-dark",description:"Numeric flag (0 or 1) indicating dark mode is active. Registered property."},{name:"--sf-lumlocker",description:"Internal luminance lock value for color derivation."},{name:"--sf-color-scheme",description:"CSS color-scheme declaration (light dark)."},{name:"--sf-current-font-weight",description:"Current context font weight (used by strong elements)."},{name:"--sf-link-external-marker",description:"External link arrow character."},{name:"--sf-field-block",description:"Vertical spacing between form fields."},{name:"--sf-field-required-marker",description:"Required field indicator string."}];var kc=C('

                    • '),Sc=C('
                        '),Ec=C('
                      • '),Ac=C('
                        Misc Tokens that do not fit a single category.
                          '),Cc=C('

                          CSS Custom Properties (--sf-*)

                          '),$c=C('
                        • '),Tc=C('
                            '),jc=C('

                            Utility & State Classes

                            '),zc=C('

                            '),Fc=C('

                            API Cheatsheet

                            ');function Rc(e,t){ze(t,!0);let s=he(""),a=he("all");const n=le.inventory?.variables?.length??0,i=le.inventory?.sf_classes?.length??0,o=le.inventory?.is_classes?.length??0;let u=y(()=>f(yc,"tokens")),c=y(()=>f(wc,"classes")),v=y(()=>xc.filter(j=>h(j.name,j.description)));function h(j,N){if(!r(s).trim())return!0;const L=r(s).trim().toLowerCase();return j.toLowerCase().includes(L)||N.toLowerCase().includes(L)}function f(j,N){return r(s).trim()?j.map(L=>({...L,[N]:L[N].filter(H=>h(H.name,H.description))})).filter(L=>L[N].length>0):j}let p=y(()=>r(a)==="all"||r(a)==="variables"),m=y(()=>r(a)==="all"||r(a)==="classes"),b=y(()=>r(s).trim()!==""&&(!r(p)||r(u).length===0&&r(v).length===0)&&(!r(m)||r(c).length===0));var x=Fc(),_=l(x),w=d(l(_),2),E=l(w),A=d(_,2),F=l(A),Y=d(F,2),T=l(Y);let z;var D=d(T,2);let O;var K=d(D,2);let q;var B=d(A,2);{var $=j=>{var N=Cc(),L=d(l(N),2);de(L,17,()=>r(u),Ms,(ne,ae)=>{var ie=Sc(),U=l(ie),oe=l(U),be=l(oe),xe=d(oe,2),Te=l(xe),Re=d(U,2);de(Re,21,()=>r(ae).tokens,Ms,(Pe,M)=>{var X=kc(),ee=l(X),ke=l(ee),ue=d(ee,2),I=l(ue);V(()=>{P(ke,r(M).name),P(I,r(M).description)}),S(Pe,X)}),V(Pe=>{ie.open=Pe,P(be,r(ae).category),P(Te,r(ae).description)},[()=>!r(s).trim()]),S(ne,ie)});var H=d(L,2);{var se=ne=>{var ae=Ac(),ie=d(l(ae),2);de(ie,21,()=>r(v),Ms,(U,oe)=>{var be=Ec(),xe=l(be),Te=l(xe),Re=d(xe,2),Pe=l(Re);V(()=>{P(Te,r(oe).name),P(Pe,r(oe).description)}),S(U,be)}),V(U=>ae.open=U,[()=>!r(s).trim()]),S(ne,ae)};me(H,ne=>{r(v).length>0&&ne(se)})}S(j,N)};me(B,j=>{r(p)&&j($)})}var k=d(B,2);{var R=j=>{var N=jc(),L=d(l(N),2);de(L,17,()=>r(c),Ms,(H,se)=>{var ne=Tc(),ae=l(ne),ie=l(ae),U=l(ie),oe=d(ie,2),be=l(oe),xe=d(ae,2);de(xe,21,()=>r(se).classes,Ms,(Te,Re)=>{var Pe=$c(),M=l(Pe),X=l(M),ee=d(M,2),ke=l(ee);V(()=>{P(X,r(Re).name),P(ke,r(Re).description)}),S(Te,Pe)}),V(Te=>{ne.open=Te,P(U,r(se).category),P(be,r(se).description)},[()=>!r(s).trim()]),S(H,ne)}),S(j,N)};me(k,j=>{r(m)&&j(R)})}var G=d(k,2);{var Z=j=>{var N=zc(),L=l(N);V(()=>P(L,`No results for "${r(s)??""}"`)),S(j,N)};me(G,j=>{r(b)&&j(Z)})}V(()=>{P(E,`${n??""} variables | ${i??""} layout/utility classes | ${o??""} state classes`),te(T,"aria-pressed",r(a)==="all"),z=Ie(T,1,"svelte-osej3t",null,z,{active:r(a)==="all"}),te(D,"aria-pressed",r(a)==="variables"),O=Ie(D,1,"svelte-osej3t",null,O,{active:r(a)==="variables"}),te(K,"aria-pressed",r(a)==="classes"),q=Ie(K,1,"svelte-osej3t",null,q,{active:r(a)==="classes"})}),Vt(F,()=>r(s),j=>J(s,j)),ge("click",T,()=>J(a,"all")),ge("click",D,()=>J(a,"variables")),ge("click",K,()=>J(a,"classes")),S(e,x),Fe()}He(["click"]);var Pc=C(''),qc=C(''),Mc=C('
                            Aa
                            Normal text Large text
                            Normal: 4.5:1 AA · 7:1 AAA  |  Large: 3:1 AA · 4.5:1 AAA
                            ',1),Dc=C('
                            Select different colors to compute contrast.
                            '),Lc=C(''),Ic=C(' '),Vc=C(''),Oc=C(""),Kc=C(''),Bc=C(`

                            WCAG Contrast Checker

                            Pick any two SLASHED color tokens to check their WCAG 2.1 contrast ratio. The grid below shows every token pair — click any cell to load it into the picker. - Colors shown are the light-mode variants.

                            Foreground

                            Background

                            All-pairs reference

                            Foreground → rows · Background → columns. Click any cell to load the pair into the picker above.

                            AAA (≥ 7:1) AA (≥ 4.5:1) AA large only (≥ 3:1) Fail (< 3:1)
                            `);function Oc(e,t){je(t,!0);const s=pe.defaults?.colors??{},a=Object.keys(s.brand??{}),n=Object.keys(s.status??{}),i=[...a,...n];function o(L){return L.charAt(0).toUpperCase()+L.slice(1)}function u(L){const U=a.includes(L)?Q.colors?.[`brand_${L}`]:Q.colors?.[`status_${L}`];return U||(s.brand_hex_hints?.[L]??s.status_hex_hints?.[L]??s.brand?.[L]??s.status?.[L]??"")}function c(L){if(!L||typeof document>"u"||typeof CSS<"u"&&!CSS.supports("color",L))return null;try{const U=document.createElement("canvas");U.width=1,U.height=1;const ee=U.getContext("2d");ee.fillStyle=L,ee.fillRect(0,0,1,1);const[Z,J,ue,ae]=ee.getImageData(0,0,1,1).data;return ae===0?null:[Z,J,ue]}catch{return null}}function v(L){return L/=255,L<=.04045?L/12.92:Math.pow((L+.055)/1.055,2.4)}function h([L,U,ee]){return .2126*v(L)+.7152*v(U)+.0722*v(ee)}function f(L,U){const ee=h(L),Z=h(U),J=Math.max(ee,Z),ue=Math.min(ee,Z);return(J+.05)/(ue+.05)}function p(L){return L>=7?"AAA":L>=4.5?"AA":L>=3?"AA-large":"fail"}function m(L){return L==="AAA"?"badge--aaa":L==="AA"?"badge--aa":L==="AA-large"?"badge--aa-large":"badge--fail"}const b=y(()=>{const L=new Map;for(const U of i)L.set(U,c(u(U)));return L});let x=fe(Ke(i[0]??"")),_=fe(Ke(i[1]??i[0]??""));const w=y(()=>r(b).get(r(x))??null),E=y(()=>r(b).get(r(_))??null),C=y(()=>r(w)&&r(E)?f(r(w),r(E)):null),F=y(()=>r(C)!==null?p(r(C)):null),G=y(()=>r(C)===null?null:r(C)>=4.5?"AAA":r(C)>=3?"AA":"fail"),z=y(()=>{const L=[];for(const U of i){const ee=[];for(const Z of i){const J=r(b).get(U),ue=r(b).get(Z);if(!J||!ue||U===Z)ee.push({ratio:null,level:null});else{const ae=f(J,ue);ee.push({ratio:ae,level:p(ae)})}}L.push(ee)}return L});function R(L){const U=u(L);return U?`background:${U}`:"background:#ccc"}function P(L){X(x,L,!0)}function O(L){X(_,L,!0)}function M(L,U){X(x,L,!0),X(_,U,!0)}var V=Ic(),q=d(l(V),4),T=l(q),k=d(l(T),2);he(k,20,()=>i,L=>L,(L,U)=>{var ee=zc();let Z;K((J,ue,ae)=>{Z=Le(ee,1,"swatch-btn svelte-1n4yog1",null,Z,{"swatch-btn--active":r(x)===U}),_e(ee,J),te(ee,"title",ue),te(ee,"aria-label",`Set foreground to ${ae??""}`)},[()=>R(U),()=>o(U),()=>o(U)]),ge("click",ee,()=>P(U)),A(L,ee)});var $=d(k,2),H=l($),Y=d(H),S=d(T,2),B=d(l(S),2);he(B,20,()=>i,L=>L,(L,U)=>{var ee=$c();let Z;K((J,ue,ae)=>{Z=Le(ee,1,"swatch-btn svelte-1n4yog1",null,Z,{"swatch-btn--active":r(_)===U}),_e(ee,J),te(ee,"title",ue),te(ee,"aria-label",`Set background to ${ae??""}`)},[()=>R(U),()=>o(U),()=>o(U)]),ge("click",ee,()=>O(U)),A(L,ee)});var I=d(B,2),N=l(I),se=d(N),ie=d(S,2),ne=l(ie);{var oe=L=>{var U=Fc(),ee=nt(U),Z=d(ee,2),J=l(Z),ue=d(Z,2),ae=l(ue),Fe=d(l(ae),2),Pe=l(Fe),ht=d(ae,2),Ve=d(l(ht),2),Ue=l(Ve);K((qe,zt,Ut,Ta)=>{_e(ee,`color:${qe??""}`),D(J,`${zt??""}:1`),Le(Fe,1,`badge ${Ut??""}`,"svelte-1n4yog1"),D(Pe,r(F)),Le(Ve,1,`badge ${Ta??""}`,"svelte-1n4yog1"),D(Ue,r(G))},[()=>u(r(x))||"#000",()=>r(C).toFixed(2),()=>m(r(F)),()=>m(r(G))]),A(L,U)},W=L=>{var U=Rc();A(L,U)};me(ne,L=>{r(C)!==null?L(oe):L(W,-1)})}var de=d(q,6),we=l(de),xe=l(we),Ce=l(xe),ze=d(l(Ce));he(ze,16,()=>i,L=>L,(L,U)=>{var ee=Mc(),Z=l(ee);K((J,ue)=>{te(ee,"title",J),_e(Z,ue)},[()=>o(U),()=>R(U)]),A(L,ee)});var $e=d(xe);he($e,22,()=>i,L=>L,(L,U,ee)=>{var Z=Vc(),J=l(Z),ue=l(J),ae=d(J);he(ae,18,()=>i,Fe=>Fe,(Fe,Pe,ht)=>{const Ve=y(()=>r(z)[r(ee)][r(ht)]);var Ue=Pc();let qe;var zt=l(Ue);{var Ut=kt=>{var ps=Dc(),za=l(ps);K(Fn=>D(za,Fn),[()=>r(Ve).ratio.toFixed(1)]),A(kt,ps)},Ta=kt=>{var ps=Lc();A(kt,ps)};me(zt,kt=>{r(Ve).ratio!==null?kt(Ut):kt(Ta,-1)})}K((kt,ps,za)=>{qe=Le(Ue,1,"grid-cell svelte-1n4yog1",null,qe,{"grid-cell--same":U===Pe,"grid-cell--aaa":r(Ve).level==="AAA","grid-cell--aa":r(Ve).level==="AA","grid-cell--aa-large":r(Ve).level==="AA-large","grid-cell--fail":r(Ve).level==="fail","grid-cell--active":r(x)===U&&r(_)===Pe}),te(Ue,"title",`${kt??""} on ${ps??""}: ${za??""}`),te(Ue,"role",U!==Pe?"button":void 0),te(Ue,"tabindex",U!==Pe?0:void 0)},[()=>o(U),()=>o(Pe),()=>r(Ve).ratio!==null?r(Ve).ratio.toFixed(2)+":1":"—"]),ge("click",Ue,()=>U!==Pe&&M(U,Pe)),ge("keydown",Ue,kt=>kt.key==="Enter"&&U!==Pe&&M(U,Pe)),A(Fe,Ue)}),K((Fe,Pe)=>{te(J,"title",Fe),_e(ue,Pe)},[()=>o(U),()=>R(U)]),A(L,Z)}),K((L,U,ee,Z,J)=>{_e(H,L),D(Y,` ${U??""}`),_e(N,ee),D(se,` ${Z??""}`),_e(ie,`background:${J??""}`)},[()=>R(r(x)),()=>o(r(x)),()=>R(r(_)),()=>o(r(_)),()=>u(r(_))||"#fff"]),A(e,V),Te()}Be(["click","keydown"]);var qc=j('

                            Content Grid

                            Widths used by the content-grid breakout pattern.

                            Sidebar

                            Cover

                            Frame

                            Reel

                            Imposter

                            Equal Columns

                            ',1),Kc=j(`

                            Containers

                            Max-width values for .sf-container size variants. Any valid CSS length + Colors shown are the light-mode variants.

                            Foreground

                            Background

                            All-pairs reference

                            Foreground → rows · Background → columns. Click any cell to load the pair into the picker above.

                            AAA (≥ 7:1) AA (≥ 4.5:1) AA large only (≥ 3:1) Fail (< 3:1)
                            `);function Nc(e,t){ze(t,!0);const s=le.defaults?.colors??{},a=Object.keys(s.brand??{}),n=Object.keys(s.status??{}),i=[...a,...n];function o(M){return M.charAt(0).toUpperCase()+M.slice(1)}function u(M){const X=a.includes(M)?Q.colors?.[`brand_${M}`]:Q.colors?.[`status_${M}`];return X||(s.brand_hex_hints?.[M]??s.status_hex_hints?.[M]??s.brand?.[M]??s.status?.[M]??"")}function c(M){if(!M||typeof document>"u"||typeof CSS<"u"&&!CSS.supports("color",M))return null;try{const X=document.createElement("canvas");X.width=1,X.height=1;const ee=X.getContext("2d");ee.fillStyle=M,ee.fillRect(0,0,1,1);const[ke,ue,I,W]=ee.getImageData(0,0,1,1).data;return W===0?null:[ke,ue,I]}catch{return null}}function v(M){return M/=255,M<=.04045?M/12.92:Math.pow((M+.055)/1.055,2.4)}function h([M,X,ee]){return .2126*v(M)+.7152*v(X)+.0722*v(ee)}function f(M,X){const ee=h(M),ke=h(X),ue=Math.max(ee,ke),I=Math.min(ee,ke);return(ue+.05)/(I+.05)}function p(M){return M>=7?"AAA":M>=4.5?"AA":M>=3?"AA-large":"fail"}function m(M){return M==="AAA"?"badge--aaa":M==="AA"?"badge--aa":M==="AA-large"?"badge--aa-large":"badge--fail"}const b=y(()=>{const M=new Map;for(const X of i)M.set(X,c(u(X)));return M});let x=he(Ve(i[0]??"")),_=he(Ve(i[1]??i[0]??""));const w=y(()=>r(b).get(r(x))??null),E=y(()=>r(b).get(r(_))??null),A=y(()=>r(w)&&r(E)?f(r(w),r(E)):null),F=y(()=>r(A)!==null?p(r(A)):null),Y=y(()=>r(A)===null?null:r(A)>=4.5?"AAA":r(A)>=3?"AA":"fail"),T=y(()=>{const M=[];for(const X of i){const ee=[];for(const ke of i){const ue=r(b).get(X),I=r(b).get(ke);if(!ue||!I||X===ke)ee.push({ratio:null,level:null});else{const W=f(ue,I);ee.push({ratio:W,level:p(W)})}}M.push(ee)}return M});function z(M){const X=u(M);return X?`background:${X}`:"background:#ccc"}function D(M){J(x,M,!0)}function O(M){J(_,M,!0)}function K(M,X){J(x,M,!0),J(_,X,!0)}var q=Bc(),B=d(l(q),4),$=l(B),k=d(l($),2);de(k,20,()=>i,M=>M,(M,X)=>{var ee=Pc();let ke;V((ue,I,W)=>{ke=Ie(ee,1,"swatch-btn svelte-1n4yog1",null,ke,{"swatch-btn--active":r(x)===X}),fe(ee,ue),te(ee,"title",I),te(ee,"aria-label",`Set foreground to ${W??""}`)},[()=>z(X),()=>o(X),()=>o(X)]),ge("click",ee,()=>D(X)),S(M,ee)});var R=d(k,2),G=l(R),Z=d(G),j=d($,2),N=d(l(j),2);de(N,20,()=>i,M=>M,(M,X)=>{var ee=qc();let ke;V((ue,I,W)=>{ke=Ie(ee,1,"swatch-btn svelte-1n4yog1",null,ke,{"swatch-btn--active":r(_)===X}),fe(ee,ue),te(ee,"title",I),te(ee,"aria-label",`Set background to ${W??""}`)},[()=>z(X),()=>o(X),()=>o(X)]),ge("click",ee,()=>O(X)),S(M,ee)});var L=d(N,2),H=l(L),se=d(H),ne=d(j,2),ae=l(ne);{var ie=M=>{var X=Mc(),ee=ot(X),ke=d(ee,2),ue=l(ke),I=d(ke,2),W=l(I),_e=d(l(W),2),Ae=l(_e),Oe=d(W,2),qe=d(l(Oe),2),Ne=l(qe);V((Bt,At,qs,lt)=>{fe(ee,`color:${Bt??""}`),P(ue,`${At??""}:1`),Ie(_e,1,`badge ${qs??""}`,"svelte-1n4yog1"),P(Ae,r(F)),Ie(qe,1,`badge ${lt??""}`,"svelte-1n4yog1"),P(Ne,r(Y))},[()=>u(r(x))||"#000",()=>r(A).toFixed(2),()=>m(r(F)),()=>m(r(Y))]),S(M,X)},U=M=>{var X=Dc();S(M,X)};me(ae,M=>{r(A)!==null?M(ie):M(U,-1)})}var oe=d(B,6),be=l(oe),xe=l(be),Te=l(xe),Re=d(l(Te));de(Re,16,()=>i,M=>M,(M,X)=>{var ee=Lc(),ke=l(ee);V((ue,I)=>{te(ee,"title",ue),fe(ke,I)},[()=>o(X),()=>z(X)]),S(M,ee)});var Pe=d(xe);de(Pe,22,()=>i,M=>M,(M,X,ee)=>{var ke=Kc(),ue=l(ke),I=l(ue),W=d(ue);de(W,18,()=>i,_e=>_e,(_e,Ae,Oe)=>{const qe=y(()=>r(T)[r(ee)][r(Oe)]);var Ne=Oc();let Bt;var At=l(Ne);{var qs=Ze=>{var Ct=Ic(),gs=l(Ct);V(Se=>P(gs,Se),[()=>r(qe).ratio.toFixed(1)]),S(Ze,Ct)},lt=Ze=>{var Ct=Vc();S(Ze,Ct)};me(At,Ze=>{r(qe).ratio!==null?Ze(qs):Ze(lt,-1)})}V((Ze,Ct,gs)=>{Bt=Ie(Ne,1,"grid-cell svelte-1n4yog1",null,Bt,{"grid-cell--same":X===Ae,"grid-cell--aaa":r(qe).level==="AAA","grid-cell--aa":r(qe).level==="AA","grid-cell--aa-large":r(qe).level==="AA-large","grid-cell--fail":r(qe).level==="fail","grid-cell--active":r(x)===X&&r(_)===Ae}),te(Ne,"title",`${Ze??""} on ${Ct??""}: ${gs??""}`),te(Ne,"role",X!==Ae?"button":void 0),te(Ne,"tabindex",X!==Ae?0:void 0)},[()=>o(X),()=>o(Ae),()=>r(qe).ratio!==null?r(qe).ratio.toFixed(2)+":1":"—"]),ge("click",Ne,()=>X!==Ae&&K(X,Ae)),ge("keydown",Ne,Ze=>Ze.key==="Enter"&&X!==Ae&&K(X,Ae)),S(_e,Ne)}),V((_e,Ae)=>{te(ue,"title",_e),fe(I,Ae)},[()=>o(X),()=>z(X)]),S(M,ke)}),V((M,X,ee,ke,ue)=>{fe(G,M),P(Z,` ${X??""}`),fe(H,ee),P(se,` ${ke??""}`),fe(ne,`background:${ue??""}`)},[()=>z(r(x)),()=>o(r(x)),()=>z(r(_)),()=>o(r(_)),()=>u(r(_))||"#fff"]),S(e,q),Fe()}He(["click","keydown"]);var Hc=C('

                            Content Grid

                            Widths used by the content-grid breakout pattern.

                            Sidebar

                            Cover

                            Frame

                            Reel

                            Imposter

                            Equal Columns

                            ',1),Gc=C(`

                            Containers

                            Max-width values for .sf-container size variants. Any valid CSS length (rem, px, ch, %, etc.).

                            Grid

                            Minimum column width for .sf-grid auto-fill layouts. The grid will fit as many columns as possible at or above this width.

                            Switcher

                            Viewport width at which .sf-switcher flips from a stacked column to a row.

                            Bento Grid

                            Column count and row height presets for .sf-bento free-form grid layouts.

                            Header & Sticky

                            Set mobile and desktop header heights in rem. When both are provided, --sf-header-height becomes a fluid clamp() between them using the viewport range configured in the Spacing tab. Set both to the same value for a - fixed height. Leave blank to use the framework default (5rem).

                            Header height
                            Sticky offset
                            `);function Bc(e,t){je(t,!0);const s="layouts",a=pe.defaults?.[s]??{};var n=Kc(),i=d(l(n),4),o=l(i);{let S=y(()=>a.container_narrow??"38rem");Ae(o,{section:s,fieldKey:"container_narrow",label:"Narrow",get default(){return r(S)},cssVar:"--sf-container-narrow",mono:!0})}var u=d(o,2);{let S=y(()=>a.container_prose??"65ch");Ae(u,{section:s,fieldKey:"container_prose",label:"Prose",get default(){return r(S)},cssVar:"--sf-container-prose",mono:!0})}var c=d(u,2);{let S=y(()=>a.container_default??"75rem");Ae(c,{section:s,fieldKey:"container_default",label:"Default",get default(){return r(S)},cssVar:"--sf-container-default",mono:!0})}var v=d(c,2);{let S=y(()=>a.container_wide??"90rem");Ae(v,{section:s,fieldKey:"container_wide",label:"Wide",get default(){return r(S)},cssVar:"--sf-container-wide",mono:!0})}var h=d(i,6),f=l(h);{let S=y(()=>a.grid_min??"16rem");Ae(f,{section:s,fieldKey:"grid_min",label:"Default min",get default(){return r(S)},cssVar:"--sf-grid-min",mono:!0})}var p=d(f,2);{let S=y(()=>a.grid_min_xs??"10rem");Ae(p,{section:s,fieldKey:"grid_min_xs",label:"XS min",get default(){return r(S)},cssVar:"--sf-grid-min-xs",mono:!0})}var m=d(p,2);{let S=y(()=>a.grid_min_s??"13rem");Ae(m,{section:s,fieldKey:"grid_min_s",label:"S min",get default(){return r(S)},cssVar:"--sf-grid-min-s",mono:!0})}var b=d(m,2);{let S=y(()=>a.grid_min_l??"20rem");Ae(b,{section:s,fieldKey:"grid_min_l",label:"L min",get default(){return r(S)},cssVar:"--sf-grid-min-l",mono:!0})}var x=d(b,2);{let S=y(()=>a.grid_min_xl??"24rem");Ae(x,{section:s,fieldKey:"grid_min_xl",label:"XL min",get default(){return r(S)},cssVar:"--sf-grid-min-xl",mono:!0})}var _=d(x,2);{let S=y(()=>a.grid_min_2xl??"28rem");Ae(_,{section:s,fieldKey:"grid_min_2xl",label:"2XL min",get default(){return r(S)},cssVar:"--sf-grid-min-2xl",mono:!0})}var w=d(h,6),E=l(w);{let S=y(()=>a.switcher_threshold??"30rem");Ae(E,{section:s,fieldKey:"switcher_threshold",label:"Threshold",get default(){return r(S)},cssVar:"--sf-switcher-threshold",mono:!0})}var C=d(w,6),F=l(C);{let S=y(()=>a.bento_cols??"3");Ae(F,{section:s,fieldKey:"bento_cols",label:"Columns",get default(){return r(S)},cssVar:"--sf-bento-cols-default",mono:!0})}var G=d(F,2);{let S=y(()=>a.bento_row_default??"10rem");Ae(G,{section:s,fieldKey:"bento_row_default",label:"Row (default)",get default(){return r(S)},cssVar:"--sf-bento-row-default",mono:!0})}var z=d(G,2);{let S=y(()=>a.bento_row_compact??"6rem");Ae(z,{section:s,fieldKey:"bento_row_compact",label:"Row (compact)",get default(){return r(S)},cssVar:"--sf-bento-row-compact",mono:!0})}var R=d(z,2);{let S=y(()=>a.bento_row_tall??"16rem");Ae(R,{section:s,fieldKey:"bento_row_tall",label:"Row (tall)",get default(){return r(S)},cssVar:"--sf-bento-row-tall",mono:!0})}var P=d(C,6),O=l(P),M=d(l(O),2),V=l(M);{let S=y(()=>a.header_height_mobile??"");Ne(V,{section:s,fieldKey:"header_height_mobile",label:"Mobile (rem)",min:0,step:.25,get default(){return r(S)},cssVar:"--sf-header-height-mobile",width:"100px"})}var q=d(V,2);{let S=y(()=>a.header_height_desktop??"");Ne(q,{section:s,fieldKey:"header_height_desktop",label:"Desktop (rem)",min:0,step:.25,get default(){return r(S)},cssVar:"--sf-header-height-desktop",width:"100px"})}var T=d(O,2),k=d(l(T),2),$=l(k);{let S=y(()=>a.sticky_offset_mobile??"");Ne($,{section:s,fieldKey:"sticky_offset_mobile",label:"Mobile (rem)",min:0,step:.25,get default(){return r(S)},cssVar:"--sf-sticky-offset-mobile",width:"100px"})}var H=d($,2);{let S=y(()=>a.sticky_offset_desktop??"");Ne(H,{section:s,fieldKey:"sticky_offset_desktop",label:"Desktop (rem)",min:0,step:.25,get default(){return r(S)},cssVar:"--sf-sticky-offset-desktop",width:"100px"})}var Y=d(P,2);Qs(Y,{children:(S,B)=>{var I=qc(),N=d(nt(I),4),se=l(N);{let ae=y(()=>a.content_width??"var(--sf-container-default)");Ae(se,{section:s,fieldKey:"content_width",label:"Content width",get default(){return r(ae)},cssVar:"--sf-content-width",mono:!0})}var ie=d(se,2);{let ae=y(()=>a.breakout_width??"var(--sf-container-wide)");Ae(ie,{section:s,fieldKey:"breakout_width",label:"Breakout width",get default(){return r(ae)},cssVar:"--sf-breakout-width",mono:!0})}var ne=d(N,4),oe=l(ne);{let ae=y(()=>a.sidebar_width??"18rem");Ae(oe,{section:s,fieldKey:"sidebar_width",label:"Sidebar width",get default(){return r(ae)},cssVar:"--sf-sidebar-width",mono:!0})}var W=d(oe,2);{let ae=y(()=>a.sidebar_min_width??"50%");Ae(W,{section:s,fieldKey:"sidebar_min_width",label:"Content col minimum",get default(){return r(ae)},cssVar:"--sf-sidebar-min-width",mono:!0})}var de=d(ne,4),we=l(de);{let ae=y(()=>a.cover_min_height??"100dvh");Ae(we,{section:s,fieldKey:"cover_min_height",label:"Min height",get default(){return r(ae)},cssVar:"--sf-cover-min-height",mono:!0})}var xe=d(we,2);{let ae=y(()=>a.cover_padding??"var(--sf-section-pad)");Ae(xe,{section:s,fieldKey:"cover_padding",label:"Padding",get default(){return r(ae)},cssVar:"--sf-cover-padding",mono:!0})}var Ce=d(de,4),ze=l(Ce);{let ae=y(()=>a.frame_ratio??"16 / 9");Ae(ze,{section:s,fieldKey:"frame_ratio",label:"Aspect ratio",get default(){return r(ae)},cssVar:"--sf-frame-ratio",mono:!0})}var $e=d(Ce,4),L=l($e);{let ae=y(()=>a.reel_item_width??"max-content");Ae(L,{section:s,fieldKey:"reel_item_width",label:"Item width",get default(){return r(ae)},cssVar:"--sf-reel-item-width",mono:!0})}var U=d(L,2);{let ae=y(()=>a.reel_height??"auto");Ae(U,{section:s,fieldKey:"reel_height",label:"Height",get default(){return r(ae)},cssVar:"--sf-reel-height",mono:!0})}var ee=d($e,4),Z=l(ee);{let ae=y(()=>a.imposter_margin??"var(--sf-space-m)");Ae(Z,{section:s,fieldKey:"imposter_margin",label:"Margin",get default(){return r(ae)},cssVar:"--sf-imposter-margin",mono:!0})}var J=d(ee,4),ue=l(J);{let ae=y(()=>a.equal_cols??"2");Ae(ue,{section:s,fieldKey:"equal_cols",label:"Column count",get default(){return r(ae)},cssVar:"--sf-equal-cols",mono:!0})}A(S,I)},$$slots:{default:!0}}),A(e,n),Te()}var Nc=j('
                            '),Hc=j('
                            '),Gc=j(`

                            Live preview

                            The quick brown fox jumps over the lazy dog

                            Body and heading fonts update as you adjust typography settings. Colors below - reflect brand and status tokens for the selected mode.

                            Primary Action Outline Ghost

                            Card Component

                            Design token preview

                            Active

                            This card shows radius, shadow, spacing, colors, and typography - working together. All values update live as you adjust tokens.

                            Generated CSS:
                            `);function Uc(e,t){je(t,!0);const s=["primary","secondary","tertiary","action","neutral","base"],a=["success","warning","error","info","danger"],n=pe.defaults?.colors??{},i=Z=>`oklch(from var(${Z}) clamp(0.65, calc(0.95 - l * 0.5), 0.88) calc(c * 0.9) h)`,o=Z=>`oklch(from var(${Z}) clamp(0.16, calc(1.18 - l), 0.24) calc(c * 0.5) h)`,u=Z=>{const J=`--sf-color-${Z}-light`;return Z==="base"?o(J):i(J)};let c=fe(!1);const v=y(()=>{const Z=[],J=Q.colors??{},ue=Q.typography??{},ae=Q.radius??{},Fe=Q.shadows??{},Pe=J.dark_overrides_enabled!=="0";for(const qe of s){const zt=J[`brand_${qe}`]??n.brand_hex_hints?.[qe];zt&&Z.push(`--sf-color-${qe}-light:${zt}`);const Ut=Pe?J[`brand_dark_${qe}`]:"";Z.push(`--sf-color-${qe}-dark:${Ut||u(qe)}`)}for(const qe of a){const zt=J[`status_${qe}`]??n.status_hex_hints?.[qe];zt&&Z.push(`--sf-color-${qe}-light:${zt}`);const Ut=Pe?J[`status_dark_${qe}`]:"";Z.push(`--sf-color-${qe}-dark:${Ut||u(qe)}`)}ue.font_body&&Z.push(`--sf-font-body:${ue.font_body}`),ue.font_heading&&Z.push(`--sf-font-heading:${ue.font_heading}`);const ht=parseFloat(ae.radius_scale??pe.defaults?.radius?.radius_scale??1)||1;Z.push(`--preview-radius-s:${Math.round(4*ht)}px`),Z.push(`--preview-radius-m:${Math.round(8*ht)}px`),Z.push(`--preview-radius-l:${Math.round(16*ht)}px`);const Ve=Fe.shadow_strength,Ue=parseFloat(Ve!==void 0&&Ve!==""?Ve:pe.defaults?.shadows?.shadow_strength??.08);return Z.push(`--preview-shadow:0 2px 8px 0 rgba(0,0,0,${(Ue*2).toFixed(3)}),0 1px 3px 0 rgba(0,0,0,${Ue.toFixed(3)})`),Z.join(";")}),h=y(()=>r(c)?"dark":"light"),f=y(()=>fr(Q));var p=Gc();let m;var b=l(p),x=d(l(b),2),_=l(x);let w;var E=d(_,2);let C;var F=d(b,6),G=l(F);he(G,16,()=>s,Z=>Z,(Z,J)=>{var ue=Nc();let ae;var Fe=l(ue);K(()=>{te(ue,"title",J),ae=_e(ue,"",ae,{background:`var(--sf-color-${J}-${r(h)}, #ddd)`}),D(Fe,J)}),A(Z,ue)});var z=d(G,2);he(z,16,()=>a,Z=>Z,(Z,J)=>{var ue=Hc();let ae;var Fe=l(ue);K(()=>{te(ue,"title",J),ae=_e(ue,"",ae,{background:`var(--sf-color-${J}-${r(h)}, #ddd)`}),D(Fe,J)}),A(Z,ue)});var R=d(F,2),P=l(R);let O;var M=d(P,2);let V;var q=d(M,2);let T;var k=d(R,2);_e(k,"",{},{"box-shadow":"var(--preview-shadow)"});var $=l(k);let H;var Y=d($,2),S=l(Y),B=l(S);let I;var N=d(B,2),se=l(N);_e(se,"",{},{"font-family":"var(--sf-font-heading, system-ui, sans-serif)"});var ie=d(N,2);let ne;var oe=d(S,2);_e(oe,"",{},{"font-family":"var(--sf-font-body, system-ui, sans-serif)"});var W=d(oe,2),de=l(W);let we;var xe=d(de,2);let Ce;var ze=d(xe,2);let $e;var L=d(k,2),U=d(l(L)),ee=l(U);K(()=>{m=Le(p,1,"slashed-preview svelte-g79qke",null,m,{"is-dark":r(c)}),_e(p,r(v)),w=Le(_,1,"slashed-preview__mode-btn svelte-g79qke",null,w,{active:!r(c)}),C=Le(E,1,"slashed-preview__mode-btn svelte-g79qke",null,C,{active:r(c)}),O=_e(P,"",O,{background:`var(--sf-color-primary-${r(h)}, #4338ca)`}),V=_e(M,"",V,{background:`var(--sf-color-action-${r(h)}, #0891b2)`}),T=_e(q,"",T,{"border-color":`var(--sf-color-primary-${r(h)}, #4338ca)`,color:`var(--sf-color-primary-${r(h)}, #4338ca)`}),H=_e($,"",H,{background:`var(--sf-color-primary-${r(h)}, #4338ca)`}),I=_e(B,"",I,{background:`var(--sf-color-secondary-${r(h)}, #7c3aed)`}),ne=_e(ie,"",ne,{background:`var(--sf-color-success-${r(h)}, #16a34a)`}),we=_e(de,"",we,{background:`var(--sf-color-info-${r(h)}, #0284c7)`}),Ce=_e(xe,"",Ce,{background:`var(--sf-color-warning-${r(h)}, #ca8a04)`}),$e=_e(ze,"",$e,{background:`var(--sf-color-action-${r(h)}, #0891b2)`}),D(ee,r(f)||"/* (defaults — no overrides set) */")}),ge("click",_,()=>X(c,!1)),ge("click",E,()=>X(c,!0)),A(e,p),Te()}Be(["click"]);var Wc=j(' '),Xc=j('Saving…'),Yc=j('Saved'),Zc=j('Unsaved changes'),Jc=j('All changes saved'),Qc=j('
                            ');function ed(e,t){je(t,!0);const s=["contrast","radius","shadows","motion","zindex"];async function a(){if(!re.saving){re.saving=!0,re.error="";try{if(re.activeTab==="misc"){const z=await Promise.allSettled(s.map(P=>$r(P,Q[P]??{}))),R=[];if(z.forEach((P,O)=>{P.status==="fulfilled"?P.value?.values&&(Q[s[O]]=P.value.values):R.push(s[O])}),R.length>0)throw new Error(`Failed to save: ${R.join(", ")}`)}else{const z=re.activeTab,R=Q[z]??{},P=await $r(z,R);P&&P.values&&(Q[z]=P.values)}re.dirty=!1,re.lastSavedAt=Date.now()}catch(z){re.error=z&&z.message||String(z)}finally{re.saving=!1}}}async function n(){if(!re.saving&&confirm(`Reset the ${pe.tabs[re.activeTab]??re.activeTab} tab to defaults?`)){re.saving=!0,re.error="";try{if(re.activeTab==="misc"){const z=await Promise.allSettled(s.map(P=>Fr(P))),R=[];if(z.forEach((P,O)=>{P.status==="fulfilled"?Tr(s[O]):R.push(s[O])}),R.length>0)throw new Error(`Failed to reset: ${R.join(", ")}`)}else await Fr(re.activeTab),Tr(re.activeTab);re.dirty=!1,re.lastSavedAt=Date.now()}catch(z){re.error=z&&z.message||String(z)}finally{re.saving=!1}}}let i=fe(!1);fn(()=>{if(re.lastSavedAt){X(i,!0);const z=setTimeout(()=>X(i,!1),2e3);return()=>clearTimeout(z)}});const o=y(()=>ic(Q));function u(){const z=fr(Q);if(!z)return;const R=new Blob([z],{type:"text/css"}),P=URL.createObjectURL(R),O=document.createElement("a");O.href=P,O.download="slashed-custom.css",document.body.appendChild(O),O.click(),document.body.removeChild(O),URL.revokeObjectURL(P)}var c=Qc();let v;var h=l(c),f=l(h);{var p=z=>{var R=Wc(),P=l(R);K(()=>D(P,re.error)),A(z,R)},m=z=>{var R=Xc();A(z,R)},b=z=>{var R=Yc();A(z,R)},x=z=>{var R=Zc();A(z,R)},_=z=>{var R=Jc();A(z,R)};me(f,z=>{re.error?z(p):re.saving?z(m,1):r(i)?z(b,2):re.dirty?z(x,3):z(_,-1)})}var w=d(h,2),E=l(w),C=d(E,2),F=d(C,2),G=l(F);K(()=>{v=Le(c,1,"bar svelte-1oj49qa",null,v,{dirty:re.dirty}),E.disabled=re.saving,C.disabled=!r(o),F.disabled=re.saving||!re.dirty,D(G,re.saving?"Saving…":"Save changes")}),ge("click",E,n),ge("click",C,u),ge("click",F,a),A(e,c),Te()}Be(["click"]);var td=j(' '),sd=j(' '),ad=j('

                            SLASHED Design Tokens

                            Adjust framework tokens, inspect generated variables, and manage the bundled CSS in one place.

                            ');function rd(e,t){je(t,!0);const s=["cheatsheet","hooks","variables","classes","bundle","export","wcag"];let a=y(()=>s.includes(re.activeTab));fn(()=>{function k($){re.dirty&&($.preventDefault(),$.returnValue="")}return window.addEventListener("beforeunload",k),()=>window.removeEventListener("beforeunload",k)});var n=ad(),i=l(n),o=l(i),u=d(l(o),2),c=l(u);{var v=k=>{var $=td(),H=l($);K(()=>D(H,`Framework ${pe.versions.framework??""}`)),A(k,$)};me(c,k=>{pe.versions.framework&&k(v)})}var h=d(c,2);{var f=k=>{var $=sd(),H=l($);K(()=>D(H,`Plugin v${pe.versions.plugin??""}`)),A(k,$)};me(h,k=>{pe.versions.plugin&&k(f)})}var p=d(i,2);So(p,{});var m=d(p,2),b=l(m);{var x=k=>{Mo(k,{})},_=k=>{vl(k,{})},w=k=>{bl(k,{})},E=k=>{Bc(k,{})},C=k=>{zl(k,{})},F=k=>{Dl(k,{})},G=k=>{ql(k,{})},z=k=>{Yl(k,{})},R=k=>{uc(k,{})},P=k=>{hc(k,{})},O=k=>{Tc(k,{})},M=k=>{Oc(k,{})};me(b,k=>{re.activeTab==="colors"?k(x):re.activeTab==="typography"?k(_,1):re.activeTab==="spacing"?k(w,2):re.activeTab==="layouts"?k(E,3):re.activeTab==="misc"?k(C,4):re.activeTab==="variables"?k(F,5):re.activeTab==="classes"?k(G,6):re.activeTab==="bundle"?k(z,7):re.activeTab==="export"?k(R,8):re.activeTab==="hooks"?k(P,9):re.activeTab==="cheatsheet"?k(O,10):re.activeTab==="wcag"&&k(M,11)})}var V=d(m,2);Uc(V,{});var q=d(V,2);{var T=k=>{ed(k,{})};me(q,k=>{r(a)||k(T)})}A(e,n),Te()}const Dr=document.getElementById("slashed-admin-app");Dr&&ro(rd,{target:Dr}); + fixed height. Leave blank to use the framework defaults (3.5rem mobile, 5rem desktop) — shown as the input placeholders.

                            Header height
                            Sticky offset
                            `);function Uc(e,t){ze(t,!0);const s="layouts",a=le.defaults?.[s]??{};var n=Gc(),i=d(l(n),4),o=l(i);{let j=y(()=>a.container_narrow??"38rem");je(o,{section:s,fieldKey:"container_narrow",label:"Narrow",get default(){return r(j)},cssVar:"--sf-container-narrow",mono:!0})}var u=d(o,2);{let j=y(()=>a.container_prose??"65ch");je(u,{section:s,fieldKey:"container_prose",label:"Prose",get default(){return r(j)},cssVar:"--sf-container-prose",mono:!0})}var c=d(u,2);{let j=y(()=>a.container_default??"75rem");je(c,{section:s,fieldKey:"container_default",label:"Default",get default(){return r(j)},cssVar:"--sf-container-default",mono:!0})}var v=d(c,2);{let j=y(()=>a.container_wide??"90rem");je(v,{section:s,fieldKey:"container_wide",label:"Wide",get default(){return r(j)},cssVar:"--sf-container-wide",mono:!0})}var h=d(i,6),f=l(h);{let j=y(()=>a.grid_min??"16rem");je(f,{section:s,fieldKey:"grid_min",label:"Default min",get default(){return r(j)},cssVar:"--sf-grid-min",mono:!0})}var p=d(f,2);{let j=y(()=>a.grid_min_xs??"10rem");je(p,{section:s,fieldKey:"grid_min_xs",label:"XS min",get default(){return r(j)},cssVar:"--sf-grid-min-xs",mono:!0})}var m=d(p,2);{let j=y(()=>a.grid_min_s??"13rem");je(m,{section:s,fieldKey:"grid_min_s",label:"S min",get default(){return r(j)},cssVar:"--sf-grid-min-s",mono:!0})}var b=d(m,2);{let j=y(()=>a.grid_min_l??"20rem");je(b,{section:s,fieldKey:"grid_min_l",label:"L min",get default(){return r(j)},cssVar:"--sf-grid-min-l",mono:!0})}var x=d(b,2);{let j=y(()=>a.grid_min_xl??"24rem");je(x,{section:s,fieldKey:"grid_min_xl",label:"XL min",get default(){return r(j)},cssVar:"--sf-grid-min-xl",mono:!0})}var _=d(x,2);{let j=y(()=>a.grid_min_2xl??"28rem");je(_,{section:s,fieldKey:"grid_min_2xl",label:"2XL min",get default(){return r(j)},cssVar:"--sf-grid-min-2xl",mono:!0})}var w=d(h,6),E=l(w);{let j=y(()=>a.switcher_threshold??"30rem");je(E,{section:s,fieldKey:"switcher_threshold",label:"Threshold",get default(){return r(j)},cssVar:"--sf-switcher-threshold",mono:!0})}var A=d(w,6),F=l(A);{let j=y(()=>a.bento_cols??"3");je(F,{section:s,fieldKey:"bento_cols",label:"Columns",get default(){return r(j)},cssVar:"--sf-bento-cols-default",mono:!0})}var Y=d(F,2);{let j=y(()=>a.bento_row_default??"10rem");je(Y,{section:s,fieldKey:"bento_row_default",label:"Row (default)",get default(){return r(j)},cssVar:"--sf-bento-row-default",mono:!0})}var T=d(Y,2);{let j=y(()=>a.bento_row_compact??"6rem");je(T,{section:s,fieldKey:"bento_row_compact",label:"Row (compact)",get default(){return r(j)},cssVar:"--sf-bento-row-compact",mono:!0})}var z=d(T,2);{let j=y(()=>a.bento_row_tall??"16rem");je(z,{section:s,fieldKey:"bento_row_tall",label:"Row (tall)",get default(){return r(j)},cssVar:"--sf-bento-row-tall",mono:!0})}var D=d(A,6),O=l(D),K=d(l(O),2),q=l(K);{let j=y(()=>a.header_height_mobile||"3.5");Ge(q,{section:s,fieldKey:"header_height_mobile",label:"Mobile (rem)",min:0,step:.25,get default(){return r(j)},cssVar:"--sf-header-height-mobile",width:"100px"})}var B=d(q,2);{let j=y(()=>a.header_height_desktop||"5");Ge(B,{section:s,fieldKey:"header_height_desktop",label:"Desktop (rem)",min:0,step:.25,get default(){return r(j)},cssVar:"--sf-header-height-desktop",width:"100px"})}var $=d(O,2),k=d(l($),2),R=l(k);{let j=y(()=>a.sticky_offset_mobile||"3.5");Ge(R,{section:s,fieldKey:"sticky_offset_mobile",label:"Mobile (rem)",min:0,step:.25,get default(){return r(j)},cssVar:"--sf-sticky-offset-mobile",width:"100px"})}var G=d(R,2);{let j=y(()=>a.sticky_offset_desktop||"5");Ge(G,{section:s,fieldKey:"sticky_offset_desktop",label:"Desktop (rem)",min:0,step:.25,get default(){return r(j)},cssVar:"--sf-sticky-offset-desktop",width:"100px"})}var Z=d(D,2);aa(Z,{children:(j,N)=>{var L=Hc(),H=d(ot(L),4),se=l(H);{let W=y(()=>a.content_width??"var(--sf-container-default)");je(se,{section:s,fieldKey:"content_width",label:"Content width",get default(){return r(W)},cssVar:"--sf-content-width",mono:!0})}var ne=d(se,2);{let W=y(()=>a.breakout_width??"var(--sf-container-wide)");je(ne,{section:s,fieldKey:"breakout_width",label:"Breakout width",get default(){return r(W)},cssVar:"--sf-breakout-width",mono:!0})}var ae=d(H,4),ie=l(ae);{let W=y(()=>a.sidebar_width??"18rem");je(ie,{section:s,fieldKey:"sidebar_width",label:"Sidebar width",get default(){return r(W)},cssVar:"--sf-sidebar-width",mono:!0})}var U=d(ie,2);{let W=y(()=>a.sidebar_min_width??"50%");je(U,{section:s,fieldKey:"sidebar_min_width",label:"Content col minimum",get default(){return r(W)},cssVar:"--sf-sidebar-min-width",mono:!0})}var oe=d(ae,4),be=l(oe);{let W=y(()=>a.cover_min_height??"100dvh");je(be,{section:s,fieldKey:"cover_min_height",label:"Min height",get default(){return r(W)},cssVar:"--sf-cover-min-height",mono:!0})}var xe=d(be,2);{let W=y(()=>a.cover_padding??"var(--sf-section-pad)");je(xe,{section:s,fieldKey:"cover_padding",label:"Padding",get default(){return r(W)},cssVar:"--sf-cover-padding",mono:!0})}var Te=d(oe,4),Re=l(Te);{let W=y(()=>a.frame_ratio??"16 / 9");je(Re,{section:s,fieldKey:"frame_ratio",label:"Aspect ratio",get default(){return r(W)},cssVar:"--sf-frame-ratio",mono:!0})}var Pe=d(Te,4),M=l(Pe);{let W=y(()=>a.reel_item_width??"max-content");je(M,{section:s,fieldKey:"reel_item_width",label:"Item width",get default(){return r(W)},cssVar:"--sf-reel-item-width",mono:!0})}var X=d(M,2);{let W=y(()=>a.reel_height??"auto");je(X,{section:s,fieldKey:"reel_height",label:"Height",get default(){return r(W)},cssVar:"--sf-reel-height",mono:!0})}var ee=d(Pe,4),ke=l(ee);{let W=y(()=>a.imposter_margin??"var(--sf-space-m)");je(ke,{section:s,fieldKey:"imposter_margin",label:"Margin",get default(){return r(W)},cssVar:"--sf-imposter-margin",mono:!0})}var ue=d(ee,4),I=l(ue);{let W=y(()=>a.equal_cols??"2");je(I,{section:s,fieldKey:"equal_cols",label:"Column count",get default(){return r(W)},cssVar:"--sf-equal-cols",mono:!0})}S(j,L)},$$slots:{default:!0}}),S(e,n),Fe()}var Wc=C('
                            '),Yc=C('
                            '),Xc=C('
                            '),Zc=C('
                            '),Jc=C(`

                            Live preview

                            Typography

                            The quick brown fox jumps over the lazy dog

                            Body text uses --sf-color-text--secondary over the page + background. Headings, body, secondary and muted text each pull from + their own token so the hierarchy stays readable in both modes.

                            Muted caption · an inline link · auto-contrasting.

                            Surfaces

                            Brand & status

                            Buttons

                            Primary Secondary Action Outline Ghost Disabled

                            Feedback

                            Card component

                            S

                            Card Component

                            Design token preview

                            Active

                            Radius, shadow, colours, surfaces, and typography working together — + every value updates live as you adjust tokens.

                            Form field

                            Generated CSS:
                            `);function Qc(e,t){ze(t,!0);const s=["primary","secondary","tertiary","action","neutral","base"],a=["success","warning","error","info","danger"],n=le.defaults?.colors??{},i=I=>`oklch(from var(${I}) clamp(0.65, calc(0.95 - l * 0.5), 0.88) calc(c * 0.9) h)`,o=I=>`oklch(from var(${I}) clamp(0.16, calc(1.18 - l), 0.24) calc(c * 0.5) h)`,u=I=>{const W=`--sf-color-${I}-light`;return I==="base"?o(W):i(W)};let c=he(!1);const v=y(()=>{const I=[],W=Q.colors??{},_e=Q.typography??{},Ae=Q.radius??{},Oe=Q.shadows??{},qe=Q.contrast??{},Ne=r(c)?"dark":"light",Bt=(()=>{const Se=qe.contrast_threshold,mt=parseFloat(Se!==void 0&&Se!==""?Se:le.defaults?.contrast?.contrast_threshold??.6);return Number.isFinite(mt)?mt:.6})(),At=(()=>{const Se=qe.contrast_bias,mt=parseFloat(Se!==void 0&&Se!==""?Se:le.defaults?.contrast?.contrast_bias??0);return Number.isFinite(mt)?mt:0})();for(const Se of s){const mt=W[`brand_${Se}`]??n.brand_hex_hints?.[Se];mt&&I.push(`--sf-color-${Se}-light:${mt}`);const qa=W.dark_overrides_enabled!=="0"?W[`brand_dark_${Se}`]:"";I.push(`--sf-color-${Se}-dark:${qa||u(Se)}`)}for(const Se of a){const mt=W[`status_${Se}`]??n.status_hex_hints?.[Se];mt&&I.push(`--sf-color-${Se}-light:${mt}`);const qa=W.dark_overrides_enabled!=="0"?W[`status_dark_${Se}`]:"";I.push(`--sf-color-${Se}-dark:${qa||u(Se)}`)}const qs=Se=>`oklch(from ${Se} clamp(0.1, sign(${Bt} - l) * 999, 0.95) 0 0)`;for(const Se of[...s,...a])I.push(`--c-${Se}:var(--sf-color-${Se}-${Ne})`),I.push(`--on-${Se}:${qs(`var(--c-${Se})`)}`);I.push("--c-surface:var(--c-base)"),I.push("--c-bg:oklch(from var(--c-base) calc(l + 0.02) c h)"),I.push("--c-raised:oklch(from var(--c-base) calc(l + 0.04) c h)"),I.push("--c-inset:oklch(from var(--c-base) calc(l - 0.02) c h)");const lt=Ne==="dark"?"var(--c-neutral)":"var(--sf-color-neutral-light)";Ne==="dark"?(I.push(`--c-text:oklch(from ${lt} clamp(0.70, calc(l + 0.25 + ${At}), 1) c h)`),I.push(`--c-text-secondary:oklch(from ${lt} clamp(0.55, calc(l + 0.1 + ${At}), 0.90) c h)`),I.push(`--c-border:oklch(from ${lt} clamp(0.25, calc(l - 0.3), 0.55) 0.005 h)`),I.push(`--c-border-subtle:oklch(from ${lt} clamp(0.20, calc(l - 0.38), 0.45) 0.005 h)`),I.push("--c-link:oklch(from var(--c-action) clamp(0.68, l, 1) c h)")):(I.push(`--c-text:oklch(from ${lt} clamp(0.05, calc(l - 0.4 - ${At}), 0.35) c h)`),I.push(`--c-text-secondary:oklch(from ${lt} clamp(0.15, calc(l - 0.25 - ${At}), 0.45) c h)`),I.push(`--c-border:oklch(from ${lt} clamp(0.70, calc(l + 0.35), 0.95) 0.005 h)`),I.push(`--c-border-subtle:oklch(from ${lt} clamp(0.75, calc(l + 0.4), 0.97) 0.005 h)`),I.push("--c-link:oklch(from var(--c-action) clamp(0, min(l - 0.07, 0.48), 1) c h)")),I.push("--c-text-muted:var(--c-neutral)");for(const Se of a)I.push(`--tint-${Se}:oklch(from var(--c-${Se}) l c h / 0.14)`);_e.font_body&&I.push(`--sf-font-body:${_e.font_body}`),_e.font_heading&&I.push(`--sf-font-heading:${_e.font_heading}`);const Ze=parseFloat(Ae.radius_scale??le.defaults?.radius?.radius_scale??1)||1;I.push(`--preview-radius-s:${Math.round(4*Ze)}px`),I.push(`--preview-radius-m:${Math.round(8*Ze)}px`),I.push(`--preview-radius-l:${Math.round(16*Ze)}px`);const Ct=Oe.shadow_strength,gs=parseFloat(Ct!==void 0&&Ct!==""?Ct:le.defaults?.shadows?.shadow_strength??.08);return I.push(`--preview-shadow:0 2px 8px 0 rgba(0,0,0,${(gs*2).toFixed(3)}),0 1px 3px 0 rgba(0,0,0,${gs.toFixed(3)})`),I.join(";")}),h=[{var:"--c-inset",label:"Inset"},{var:"--c-bg",label:"Background"},{var:"--c-surface",label:"Surface"},{var:"--c-raised",label:"Raised"}],f=y(()=>mr(Q));var p=Jc();let m;var b=l(p),x=d(l(b),2),_=l(x);let w;var E=d(_,2);let A;var F=d(b,2),Y=l(F),T=d(l(Y),6),z=d(l(T)),D=d(Y,2),O=d(l(D),2);de(O,21,()=>h,I=>I.var,(I,W)=>{var _e=Wc();let Ae;var Oe=l(_e),qe=l(Oe);V(()=>{Ae=fe(_e,"",Ae,{background:`var(${r(W).var})`}),P(qe,r(W).label)}),S(I,_e)});var K=d(D,2),q=d(l(K),2),B=l(q);de(B,16,()=>s,I=>I,(I,W)=>{var _e=Yc();let Ae;var Oe=l(_e);V(()=>{te(_e,"title",W),Ae=fe(_e,"",Ae,{background:`var(--c-${W})`,color:`var(--on-${W})`}),P(Oe,W)}),S(I,_e)});var $=d(B,2);de($,16,()=>a,I=>I,(I,W)=>{var _e=Xc();let Ae;var Oe=l(_e);V(()=>{te(_e,"title",W),Ae=fe(_e,"",Ae,{background:`var(--c-${W})`,color:`var(--on-${W})`}),P(Oe,W)}),S(I,_e)});var k=d(K,2),R=d(l(k),2),G=l(R);fe(G,"",{},{background:"var(--c-primary)",color:"var(--on-primary)"});var Z=d(G,2);fe(Z,"",{},{background:"var(--c-secondary)",color:"var(--on-secondary)"});var j=d(Z,2);fe(j,"",{},{background:"var(--c-action)",color:"var(--on-action)"});var N=d(j,2);fe(N,"",{},{"border-color":"var(--c-primary)",color:"var(--c-primary)"});var L=d(N,2);fe(L,"",{},{color:"var(--c-text-secondary)"});var H=d(L,2);fe(H,"",{},{background:"var(--c-neutral)",color:"var(--on-neutral)",opacity:"0.55"});var se=d(k,2),ne=d(l(se),2);de(ne,20,()=>a,I=>I,(I,W)=>{var _e=Zc();let Ae;var Oe=l(_e);let qe;var Ne=l(Oe),Bt=d(Oe,2),At=l(Bt);V(()=>{Ae=fe(_e,"",Ae,{background:`var(--tint-${W})`,"border-inline-start-color":`var(--c-${W})`}),qe=fe(Oe,"",qe,{background:`var(--c-${W})`,color:`var(--on-${W})`}),P(Ne,W),P(At,`${W??""} message — readable on its tint.`)}),S(I,_e)});var ae=d(se,2),ie=d(l(ae),2),U=l(ie);fe(U,"",{},{background:"var(--c-primary)"});var oe=d(U,2),be=l(oe),xe=l(be);fe(xe,"",{},{background:"var(--c-secondary)",color:"var(--on-secondary)"});var Te=d(xe,4);fe(Te,"",{},{background:"var(--c-success)",color:"var(--on-success)"});var Re=d(be,4),Pe=l(Re);fe(Pe,"",{},{background:"var(--c-info)",color:"var(--on-info)"});var M=d(Pe,2);fe(M,"",{},{background:"var(--c-warning)",color:"var(--on-warning)"});var X=d(M,2);fe(X,"",{},{background:"var(--c-action)",color:"var(--on-action)"});var ee=d(F,2),ke=d(l(ee)),ue=l(ke);V(()=>{m=Ie(p,1,"slashed-preview svelte-g79qke",null,m,{"is-dark":r(c)}),fe(p,r(v)),w=Ie(_,1,"slashed-preview__mode-btn svelte-g79qke",null,w,{active:!r(c)}),A=Ie(E,1,"slashed-preview__mode-btn svelte-g79qke",null,A,{active:r(c)}),P(ue,r(f)||"/* (defaults — no overrides set) */")}),ge("click",_,()=>J(c,!1)),ge("click",E,()=>J(c,!0)),ge("click",z,I=>I.preventDefault()),S(e,p),Fe()}He(["click"]);var ed=C(' '),td=C('Saving…'),sd=C('Saved'),ad=C('Unsaved changes'),rd=C('All changes saved'),nd=C('
                            ');function id(e,t){ze(t,!0);const s=["contrast","radius","shadows","motion","zindex"];async function a(){if(!re.saving){re.saving=!0,re.error="";try{if(re.activeTab==="misc"){const T=await Promise.allSettled(s.map(D=>Mr(D,Q[D]??{}))),z=[];if(T.forEach((D,O)=>{D.status==="fulfilled"?D.value?.values&&(Q[s[O]]=D.value.values):z.push(s[O])}),z.length>0)throw new Error(`Failed to save: ${z.join(", ")}`)}else{const T=re.activeTab,z=Q[T]??{},D=await Mr(T,z);D&&D.values&&(Q[T]=D.values)}re.dirty=!1,re.lastSavedAt=Date.now()}catch(T){re.error=T&&T.message||String(T)}finally{re.saving=!1}}}async function n(){if(!re.saving&&confirm(`Reset the ${le.tabs[re.activeTab]??re.activeTab} tab to defaults?`)){re.saving=!0,re.error="";try{if(re.activeTab==="misc"){const T=await Promise.allSettled(s.map(D=>Dr(D))),z=[];if(T.forEach((D,O)=>{D.status==="fulfilled"?Pr(s[O]):z.push(s[O])}),z.length>0)throw new Error(`Failed to reset: ${z.join(", ")}`)}else await Dr(re.activeTab),Pr(re.activeTab);re.dirty=!1,re.lastSavedAt=Date.now()}catch(T){re.error=T&&T.message||String(T)}finally{re.saving=!1}}}let i=he(!1);za(()=>{if(re.lastSavedAt){J(i,!0);const T=setTimeout(()=>J(i,!1),2e3);return()=>clearTimeout(T)}});const o=y(()=>dc(Q));function u(){const T=mr(Q);if(!T)return;const z=new Blob([T],{type:"text/css"}),D=URL.createObjectURL(z),O=document.createElement("a");O.href=D,O.download="slashed-custom.css",document.body.appendChild(O),O.click(),document.body.removeChild(O),URL.revokeObjectURL(D)}var c=nd();let v;var h=l(c),f=l(h);{var p=T=>{var z=ed(),D=l(z);V(()=>P(D,re.error)),S(T,z)},m=T=>{var z=td();S(T,z)},b=T=>{var z=sd();S(T,z)},x=T=>{var z=ad();S(T,z)},_=T=>{var z=rd();S(T,z)};me(f,T=>{re.error?T(p):re.saving?T(m,1):r(i)?T(b,2):re.dirty?T(x,3):T(_,-1)})}var w=d(h,2),E=l(w),A=d(E,2),F=d(A,2),Y=l(F);V(()=>{v=Ie(c,1,"bar svelte-1oj49qa",null,v,{dirty:re.dirty}),E.disabled=re.saving,A.disabled=!r(o),F.disabled=re.saving||!re.dirty,P(Y,re.saving?"Saving…":"Save changes")}),ge("click",E,n),ge("click",A,u),ge("click",F,a),S(e,c),Fe()}He(["click"]);var od=C(' '),ld=C(' '),cd=C('

                            SLASHED Design Tokens

                            Adjust framework tokens, inspect generated variables, and manage the bundled CSS in one place.

                            ');function dd(e,t){ze(t,!0);const s=["cheatsheet","hooks","variables","classes","bundle","export","wcag"];let a=y(()=>s.includes(re.activeTab));za(()=>{function k(R){re.dirty&&(R.preventDefault(),R.returnValue="")}return window.addEventListener("beforeunload",k),()=>window.removeEventListener("beforeunload",k)});var n=cd(),i=l(n),o=l(i),u=d(l(o),2),c=l(u);{var v=k=>{var R=od(),G=l(R);V(()=>P(G,`Framework ${le.versions.framework??""}`)),S(k,R)};me(c,k=>{le.versions.framework&&k(v)})}var h=d(c,2);{var f=k=>{var R=ld(),G=l(R);V(()=>P(G,`Plugin v${le.versions.plugin??""}`)),S(k,R)};me(h,k=>{le.versions.plugin&&k(f)})}var p=d(i,2);$o(p,{});var m=d(p,2),b=l(m);{var x=k=>{Lo(k,{})},_=k=>{_l(k,{})},w=k=>{kl(k,{})},E=k=>{Uc(k,{})},A=k=>{Pl(k,{})},F=k=>{Il(k,{})},Y=k=>{Hl(k,{})},T=k=>{ec(k,{})},z=k=>{hc(k,{})},D=k=>{bc(k,{})},O=k=>{Rc(k,{})},K=k=>{Nc(k,{})};me(b,k=>{re.activeTab==="colors"?k(x):re.activeTab==="typography"?k(_,1):re.activeTab==="spacing"?k(w,2):re.activeTab==="layouts"?k(E,3):re.activeTab==="misc"?k(A,4):re.activeTab==="variables"?k(F,5):re.activeTab==="classes"?k(Y,6):re.activeTab==="bundle"?k(T,7):re.activeTab==="export"?k(z,8):re.activeTab==="hooks"?k(D,9):re.activeTab==="cheatsheet"?k(O,10):re.activeTab==="wcag"&&k(K,11)})}var q=d(m,2);Qc(q,{});var B=d(q,2);{var $=k=>{id(k,{})};me(B,k=>{r(a)||k($)})}S(e,n),Fe()}const Vr=document.getElementById("slashed-admin-app");Vr&&lo(dd,{target:Vr}); //# sourceMappingURL=app.js.map diff --git a/plugins/SLASHED-for-WP/integrations/bricks/assets/editor-app/app.css b/plugins/SLASHED-for-WP/integrations/bricks/assets/editor-app/app.css index 335bd2de..57a61e62 100644 --- a/plugins/SLASHED-for-WP/integrations/bricks/assets/editor-app/app.css +++ b/plugins/SLASHED-for-WP/integrations/bricks/assets/editor-app/app.css @@ -1 +1 @@ -#slashed-rebemer-host{--rebemer-bg: #161a1d;--rebemer-fg: #e1e1e1;--rebemer-fg-muted: #8a8d95;--rebemer-border: #3d4752;--rebemer-accent: #e2b93b;--rebemer-accent-hover: #ffd042;--rebemer-input-bg: #293038;--rebemer-input-border: #3d4752;--rebemer-error: #ff4c4c;--rebemer-success: #4ade80;--rebemer-radius: 4px;--rebemer-font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}.rebemer-badge-host{display:inline-flex;align-items:center;align-self:center;flex:0 0 auto;margin:0 4px;opacity:0;pointer-events:none;transition:opacity 80ms linear}.structure-item:hover .rebemer-badge-host,.structure-item:focus-within .rebemer-badge-host,li[data-id]:hover>.rebemer-badge-host,li[data-id]:focus-within>.rebemer-badge-host{opacity:1;pointer-events:auto}.rebemer-badge{font:600 9px/1 var(--rebemer-font, "Inter", -apple-system, BlinkMacSystemFont, sans-serif);letter-spacing:0;text-transform:none;color:var(--rebemer-fg-muted, #8a8d95);display:inline;background:transparent;padding:1px 3px;margin:0;cursor:pointer;border-radius:2px;pointer-events:auto}.rebemer-badge:hover{color:var(--rebemer-accent, #e2b93b);background:#e2b93b14}.rebemer-badge:focus-visible{outline:1px dotted var(--rebemer-accent, #e2b93b);outline-offset:1px;color:var(--rebemer-accent, #e2b93b)}.rebemer-panel{position:fixed;top:80px;left:50%;transform:translate(-50%);width:440px;max-width:calc(100vw - 40px);max-height:80vh;z-index:100000;background:var(--rebemer-bg);color:var(--rebemer-fg);border:1px solid var(--rebemer-border);border-radius:var(--rebemer-radius);box-shadow:0 10px 40px #0009;display:flex;flex-direction:column;font:12px/1.45 var(--rebemer-font);overflow:hidden;outline:none}.rebemer-panel__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--rebemer-border)}.rebemer-panel__title{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff}.rebemer-panel__subject{color:var(--rebemer-accent);text-transform:none;font-weight:500}.rebemer-panel__close{background:transparent;border:0;font-size:18px;color:var(--rebemer-fg-muted);cursor:pointer;padding:2px 6px}.rebemer-panel__close:hover{color:#fff}.rebemer-panel__toolbar{padding:10px 14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--rebemer-border)}.rebemer-field{display:flex;flex-direction:column;gap:4px;font-size:11px}.rebemer-field--inline{flex-direction:row;align-items:center;gap:6px}.rebemer-field__label{color:var(--rebemer-fg-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.rebemer-field select,.rebemer-field input[type=text]{background:var(--rebemer-input-bg);border:1px solid var(--rebemer-input-border);border-radius:var(--rebemer-radius);color:var(--rebemer-fg);padding:4px 6px;font:inherit}.rebemer-field select:focus,.rebemer-field input:focus{outline:1px solid var(--rebemer-accent)}.rebemer-panel__mode-hint{margin:0;padding:5px 14px;font-size:11px;color:var(--rebemer-fg-muted);background:var(--rebemer-bg);border-bottom:1px solid var(--rebemer-border);line-height:1.4}.rebemer-panel__notice{margin:0;padding:8px 14px;background:#e2b93b14;border-bottom:1px solid var(--rebemer-border);color:var(--rebemer-fg);font-size:11px;line-height:1.5}.rebemer-panel__notice--warn{background:#e2b93b29}.rebemer-panel__notice strong{color:var(--rebemer-accent);font-weight:600}.rebemer-panel__notice-skip{display:block;margin-top:2px;color:var(--rebemer-fg-muted)}.rebemer-panel__body{flex:1;overflow-y:auto;padding:8px 14px;display:flex;flex-direction:column;gap:6px}.rebemer-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--rebemer-radius);background:#ffffff05;margin-left:calc(var(--rebemer-row-depth, 0) * 12px)}.rebemer-row:hover{background:#ffffff0a}.rebemer-row--disabled{opacity:.45}.rebemer-row__include input{cursor:pointer}.rebemer-row__meta{display:flex;gap:6px;align-items:baseline;min-width:0}.rebemer-row__label{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rebemer-row__type{font-size:9px;color:var(--rebemer-fg-muted);text-transform:uppercase;letter-spacing:.3px}.rebemer-row__type--toggle{background:transparent;border:0;padding:1px 3px;border-radius:2px;cursor:pointer;line-height:1}.rebemer-row__type--toggle:hover:not(:disabled){color:var(--rebemer-fg);background:#ffffff0f}.rebemer-row__type--toggle:disabled{cursor:default;opacity:.5}.rebemer-row__type--block{color:var(--rebemer-accent);background:#e2b93b1f}.rebemer-row__type--block:hover:not(:disabled){background:#e2b93b33}.rebemer-row__hint{font-size:9px;color:var(--rebemer-accent);text-transform:uppercase;letter-spacing:.5px;background:#e2b93b1f;padding:1px 4px;border-radius:2px}.rebemer-row__inputs{grid-column:1 / -1;display:flex;gap:6px;align-items:center}.rebemer-row__name{flex:1;display:flex;align-items:stretch;background:var(--rebemer-input-bg);border:1px solid var(--rebemer-input-border);border-radius:var(--rebemer-radius);overflow:hidden}.rebemer-row__prefix{padding:4px 6px;background:#00000040;color:var(--rebemer-fg-muted);font-size:11px;border-right:1px solid var(--rebemer-input-border);white-space:nowrap}.rebemer-row__name input{background:transparent;border:0;outline:0;color:var(--rebemer-fg);font:inherit;padding:4px 6px;flex:1;min-width:0}.rebemer-row--suggested .rebemer-row__name input:not(:focus){color:var(--rebemer-fg-muted);font-style:italic}.rebemer-row__modifier{background:var(--rebemer-input-bg);border:1px solid var(--rebemer-input-border);border-radius:var(--rebemer-radius);color:var(--rebemer-fg);font:inherit;padding:4px 6px;width:90px}.rebemer-row__modifiers{display:flex;flex-direction:column;gap:4px;flex:1}.rebemer-row__modifier-row{display:flex;align-items:center;gap:4px}.rebemer-row__modifier-row .rebemer-row__modifier{flex:1;width:auto}.rebemer-row__modifier-remove{background:transparent;border:1px solid var(--rebemer-input-border);border-radius:var(--rebemer-radius);color:var(--rebemer-fg-muted);font-size:13px;line-height:1;padding:2px 6px;cursor:pointer;flex:0 0 auto}.rebemer-row__modifier-remove:hover:not(:disabled){border-color:var(--rebemer-error);color:var(--rebemer-error)}.rebemer-row__modifier-add{background:transparent;border:1px dashed var(--rebemer-input-border);border-radius:var(--rebemer-radius);color:var(--rebemer-fg-muted);font:inherit;font-size:10px;padding:3px 7px;cursor:pointer;text-align:left;width:fit-content}.rebemer-row__modifier-add:hover:not(:disabled){border-color:var(--rebemer-fg-muted);color:var(--rebemer-fg)}.rebemer-row__op-toggle{grid-column:1 / -1;display:inline-flex;align-items:center;border:1px solid var(--rebemer-input-border);border-radius:var(--rebemer-radius);overflow:hidden;width:fit-content;margin-top:2px}.rebemer-row__op-btn{background:var(--rebemer-input-bg);border:0;border-left:1px solid var(--rebemer-input-border);color:var(--rebemer-fg-muted);font:600 10px/1 var(--rebemer-font);padding:4px 9px;cursor:pointer;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.rebemer-row__op-btn:first-child{border-left:0}.rebemer-row__op-btn--on{color:var(--rebemer-accent);background:#e2b93b1f}.rebemer-row__op-btn:hover:not(.rebemer-row__op-btn--on){color:var(--rebemer-fg);background:#ffffff0f}.rebemer-row__family{grid-column:1 / -1;display:flex;align-items:center;gap:7px;margin-top:3px}.rebemer-row__family-label{font-size:9px;color:var(--rebemer-fg-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex:0 0 auto}.rebemer-row__family-select{background:var(--rebemer-input-bg);border:1px solid var(--rebemer-input-border);border-radius:var(--rebemer-radius);color:var(--rebemer-fg);padding:3px 6px;font:inherit;font-size:11px;flex:1;min-width:0}.rebemer-row__family-select:focus{outline:1px solid var(--rebemer-accent)}.rebemer-row__info code,.rebemer-row__warn code{background:#0000004d;padding:1px 4px;border-radius:2px;font:11px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--rebemer-accent)}.rebemer-row__recommend{grid-column:1 / -1;margin:0;padding:6px 8px;background:#4ade8014;border-left:2px solid var(--rebemer-success);border-radius:2px;color:var(--rebemer-fg);font-size:11px;line-height:1.4}.rebemer-row__recommend code{background:#0000004d;padding:1px 4px;border-radius:2px;font:11px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--rebemer-accent)}.rebemer-row__warn,.rebemer-row__info{grid-column:1 / -1;margin:0;padding:5px 8px;font-size:11px;line-height:1.4;border-radius:2px}.rebemer-row__warn{background:#e2b93b1f;border-left:2px solid #e2b93b;color:var(--rebemer-fg)}.rebemer-row__info{background:#63b3ed1a;border-left:2px solid #63b3ed;color:var(--rebemer-fg-muted)}.rebemer-row__chips{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 0 0;font-size:10px}.rebemer-row__chips-label,.rebemer-row__chips-empty,.rebemer-row__chips-skip{color:var(--rebemer-fg-muted);text-transform:uppercase;letter-spacing:.5px;font-size:9px}.rebemer-row__chips-skip{margin-left:auto;cursor:help;color:#c8a038}.rebemer-chip{font:10px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#0000004d;border:1px solid var(--rebemer-input-border);color:var(--rebemer-fg);padding:2px 5px;border-radius:2px;white-space:nowrap}.rebemer-panel__footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--rebemer-border)}.rebemer-btn{background:var(--rebemer-input-bg);border:1px solid var(--rebemer-input-border);color:var(--rebemer-fg);padding:6px 12px;border-radius:var(--rebemer-radius);font:inherit;cursor:pointer}.rebemer-btn:hover{border-color:var(--rebemer-fg-muted)}.rebemer-btn--primary{background:var(--rebemer-accent);border-color:var(--rebemer-accent);color:var(--rebemer-bg);font-weight:600}.rebemer-btn--primary:hover{background:var(--rebemer-accent-hover);border-color:var(--rebemer-accent-hover)}.rebemer-toast{position:fixed;bottom:16px;right:16px;z-index:100002;background:var(--rebemer-input-bg);color:var(--rebemer-fg);border:1px solid var(--rebemer-border);border-radius:var(--rebemer-radius);padding:8px 12px;font:12px/1.45 var(--rebemer-font);cursor:pointer;box-shadow:0 4px 12px #0006}.rebemer-toast--success{border-color:var(--rebemer-success)}.rebemer-toast--error{border-color:var(--rebemer-error);color:var(--rebemer-error)}.rebemer-class-hint{position:fixed;z-index:100003;max-width:280px;background:var(--rebemer-bg);color:var(--rebemer-fg);border:1px solid var(--rebemer-border);border-radius:var(--rebemer-radius);padding:8px 10px;font:12px/1.45 var(--rebemer-font);box-shadow:0 6px 20px #00000080;pointer-events:none}.rebemer-class-hint[hidden]{display:none}.rebemer-class-hint__name{font:600 11px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--rebemer-accent)}.rebemer-class-hint__cat{margin-left:6px;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--rebemer-fg-muted)}.rebemer-class-hint__cat[hidden]{display:none}.rebemer-class-hint__desc{margin:4px 0 0;color:var(--rebemer-fg)}.slashed-cp-launch{position:fixed;right:16px;bottom:16px;z-index:99999;display:inline-flex;align-items:center;gap:7px;padding:7px 12px;background:var(--rebemer-bg);color:var(--rebemer-fg);border:1px solid var(--rebemer-border);border-radius:999px;font:600 11px/1 var(--rebemer-font);letter-spacing:.3px;cursor:pointer;box-shadow:0 4px 16px #00000073;transition:border-color .12s,color .12s,transform .12s}.slashed-cp-launch:hover{border-color:var(--rebemer-fg-muted);transform:translateY(-1px)}.slashed-cp-launch--on{border-color:var(--rebemer-accent);color:#fff}.slashed-cp-launch__dot{width:12px;height:12px;border-radius:50%;background:conic-gradient(from 210deg,#5b8cff,#b07cff,#ff6b6b,#ffd24a,#4ade80,#5b8cff);box-shadow:inset 0 0 0 1px #ffffff40}.slashed-cp-launch__txt{text-transform:uppercase}.slashed-cp{position:fixed;top:64px;right:16px;bottom:64px;width:372px;max-width:calc(100vw - 32px);z-index:100001;display:flex;flex-direction:column;background:var(--rebemer-bg);color:var(--rebemer-fg);border:1px solid var(--rebemer-border);border-radius:var(--rebemer-radius);box-shadow:0 12px 48px #0009;font:12px/1.45 var(--rebemer-font);overflow:hidden;outline:none}.slashed-cp__header{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--rebemer-border)}.slashed-cp__title{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff;flex:1}.slashed-cp__close{background:transparent;border:0;font-size:18px;line-height:1;color:var(--rebemer-fg-muted);cursor:pointer;padding:2px 4px}.slashed-cp__close:hover{color:#fff}.slashed-cp__seg{display:inline-flex;border:1px solid var(--rebemer-input-border);border-radius:var(--rebemer-radius);overflow:hidden}.slashed-cp__seg-btn{background:var(--rebemer-input-bg);border:0;border-left:1px solid var(--rebemer-input-border);color:var(--rebemer-fg-muted);font:600 10px/1 var(--rebemer-font);padding:5px 9px;cursor:pointer;text-transform:uppercase;letter-spacing:.4px}.slashed-cp__seg-btn:first-child{border-left:0}.slashed-cp__seg-btn--on{background:var(--rebemer-accent);color:var(--rebemer-bg)}.slashed-cp__toolbar{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-bottom:1px solid var(--rebemer-border)}.slashed-cp__search{width:100%;background:var(--rebemer-input-bg);border:1px solid var(--rebemer-input-border);border-radius:var(--rebemer-radius);color:var(--rebemer-fg);font:inherit;padding:6px 8px;box-sizing:border-box}.slashed-cp__search:focus{outline:1px solid var(--rebemer-accent)}.slashed-cp__target{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.slashed-cp__target-label{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--rebemer-fg-muted)}.slashed-cp__chip{background:var(--rebemer-input-bg);border:1px solid var(--rebemer-input-border);border-radius:999px;color:var(--rebemer-fg-muted);font:600 10px/1 var(--rebemer-font);padding:4px 10px;cursor:pointer}.slashed-cp__chip--on{background:var(--rebemer-accent);border-color:var(--rebemer-accent);color:var(--rebemer-bg)}.slashed-cp__body{flex:1;overflow-y:auto;padding:6px 12px 12px}.slashed-cp__empty{color:var(--rebemer-fg-muted);font-size:11px;padding:12px 2px}.slashed-cp__group{padding:10px 0 6px;border-bottom:1px solid rgba(255,255,255,.05)}.slashed-cp__group:last-child{border-bottom:0}.slashed-cp__group-head{margin:0 0 8px}.slashed-cp__group-title{display:flex;align-items:baseline;gap:7px;margin:0;font-size:11px;font-weight:700;color:#fff;text-transform:capitalize}.slashed-cp__group-tag{font-size:10px;font-weight:500;color:var(--rebemer-fg-muted);text-transform:none}.slashed-cp__group-count{margin-left:auto;font:600 9px/1 var(--rebemer-font);color:var(--rebemer-fg-muted);background:#ffffff0f;border-radius:999px;padding:2px 6px;text-transform:none}.slashed-cp__group-use{margin:2px 0 0;font-size:10px;line-height:1.4;color:var(--rebemer-fg-muted)}.slashed-cp__section-label{margin:8px 0 5px;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--rebemer-fg-muted)}.slashed-cp__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:7px 6px}.slashed-cp__cell{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.slashed-cp__cap{font-size:9px;color:var(--rebemer-fg-muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slashed-cp__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.slashed-cp__list-item{display:flex;align-items:center;gap:8px}.slashed-cp__list-name{font-size:11px;color:var(--rebemer-fg);flex:0 0 auto}.slashed-cp__list-var{font:10px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--rebemer-fg-muted);margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slashed-cp-swatch{width:28px;height:28px;flex:0 0 auto;padding:0;border:1px solid rgba(127,127,127,.45);border-radius:6px;background:none;cursor:pointer;position:relative;overflow:hidden}.slashed-cp-swatch:hover{border-color:var(--rebemer-accent)}.slashed-cp-swatch:focus-visible{outline:2px solid var(--rebemer-accent);outline-offset:1px}.slashed-cp-swatch__fill{position:absolute;inset:0;background:var(--cp-solid)}.slashed-cp-swatch--split .slashed-cp-swatch__fill{background:linear-gradient(135deg,var(--cp-l) 0 calc(50% - .5px),rgba(0,0,0,.35) calc(50% - .5px) calc(50% + .5px),var(--cp-d) calc(50% + .5px) 100%)}.slashed-cp-swatch--alpha{border-style:dashed}.slashed-cp__footer{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--rebemer-border);font-size:10px;color:var(--rebemer-fg-muted)}.slashed-cp__hint{margin-left:auto}.slashed-cp__hint code,.slashed-cp__footer code{font:10px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--rebemer-accent)}.slashed-cp__legend{display:inline-flex;align-items:center;gap:5px}.slashed-cp__legend-sw{width:12px;height:12px;border-radius:3px;border:1px solid rgba(127,127,127,.45);background:linear-gradient(135deg,#fff 0 50%,#222 50% 100%)}.rebemer-toast--info{border-color:#63b3ed}.slashed-sf-color-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;min-width:28px;width:28px;height:28px;border-radius:5px;cursor:pointer;opacity:.6;transition:opacity .12s,background .12s}.slashed-sf-color-btn:hover{opacity:1;background:#5b8cff26}.slashed-sf-color-btn--active{opacity:1}.slashed-sf-color-btn--active:hover{background:#ffffff0f}.slashed-sf-color-btn__dot{display:inline-block;width:20px;height:20px;border-radius:50%;background:conic-gradient(from 210deg,#5b8cff,#b07cff,#ff6b6b,#ffd24a,#4ade80,#5b8cff);box-shadow:inset 0 0 0 1px #fff3;flex-shrink:0;transition:width 80ms,height 80ms,border-radius .12s}.slashed-sf-color-btn--active .slashed-sf-color-btn__dot{width:28px;height:28px;border-radius:5px;transition:width 80ms,height 80ms,border-radius .12s;box-shadow:inset 0 0 0 1px #0000002e,0 0 0 1.5px #ffffff38}.slashed-var-swatch{flex:0 0 auto;display:inline-block;width:12px;height:12px;margin-right:7px;vertical-align:middle;border-radius:3px;border:1px solid rgba(127,127,127,.45);background-color:#fff;background-image:linear-gradient(var(--slashed-swatch-color, transparent),var(--slashed-swatch-color, transparent)),linear-gradient(45deg,rgba(127,127,127,.35) 25%,transparent 25%,transparent 75%,rgba(127,127,127,.35) 75%),linear-gradient(45deg,rgba(127,127,127,.35) 25%,transparent 25%,transparent 75%,rgba(127,127,127,.35) 75%);background-position:0 0,0 0,4px 4px;background-size:auto,8px 8px,8px 8px}.slashed-cp--docked{top:0;bottom:0;left:var(--cp-dock-left, 320px);right:auto;width:360px;border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:6px 0 32px #0000008c}.slashed-cp[data-mode=both] .slashed-cp__qu-sw,.slashed-cp[data-mode=both] .slashed-cp__scan-base,.slashed-cp[data-mode=both] .slashed-cp__scan-pre-sw,.slashed-cp[data-mode=both] .slashed-cp__fam-banner,.slashed-cp[data-mode=both] .slashed-cp__strip-sw{background:linear-gradient(135deg,var(--sw-l) 0 calc(50% - .5px),rgba(0,0,0,.35) calc(50% - .5px) calc(50% + .5px),var(--sw-d) calc(50% + .5px) 100%)}.slashed-cp[data-mode=light] .slashed-cp__qu-sw,.slashed-cp[data-mode=light] .slashed-cp__scan-base,.slashed-cp[data-mode=light] .slashed-cp__scan-pre-sw,.slashed-cp[data-mode=light] .slashed-cp__fam-banner,.slashed-cp[data-mode=light] .slashed-cp__strip-sw{background:var(--sw-l)}.slashed-cp[data-mode=dark] .slashed-cp__qu-sw,.slashed-cp[data-mode=dark] .slashed-cp__scan-base,.slashed-cp[data-mode=dark] .slashed-cp__scan-pre-sw,.slashed-cp[data-mode=dark] .slashed-cp__fam-banner,.slashed-cp[data-mode=dark] .slashed-cp__strip-sw{background:var(--sw-d)}.slashed-cp__sec{padding:10px 0 6px;border-bottom:1px solid rgba(255,255,255,.05)}.slashed-cp__sec:last-child{border-bottom:0}.slashed-cp__sec-title{margin:0 0 10px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--rebemer-fg-muted)}.slashed-cp__sec--pal{padding-top:12px}.slashed-cp__qu-group{margin-bottom:10px}.slashed-cp__qu-group:last-child{margin-bottom:0}.slashed-cp__qu-label{margin:0 0 4px;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--rebemer-fg-muted)}.slashed-cp__qu-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}.slashed-cp__qu-cell{display:flex;align-items:center;gap:7px;padding:4px 6px;background:transparent;border:0;border-radius:5px;color:var(--rebemer-fg);font:11px/1.3 var(--rebemer-font);text-align:left;cursor:pointer;min-width:0;transition:background 80ms}.slashed-cp__qu-cell:hover{background:#ffffff0f}.slashed-cp__qu-sw{width:22px;height:22px;flex:0 0 22px;border-radius:5px;border:1px solid rgba(127,127,127,.35);transition:border-color 80ms}.slashed-cp__qu-sw--alpha{border-style:dashed}.slashed-cp__qu-cell:hover .slashed-cp__qu-sw{border-color:var(--rebemer-accent)}.slashed-cp__qu-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.slashed-cp__pal-cat{margin:10px 0 5px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--rebemer-fg-muted)}.slashed-cp__pal-cat:first-of-type{margin-top:2px}.slashed-cp__scanner{border:1px solid var(--rebemer-border);border-radius:var(--rebemer-radius);overflow:hidden;margin-bottom:4px}.slashed-cp__scan-item+.slashed-cp__scan-item{border-top:1px solid var(--rebemer-border)}.slashed-cp__scan-row{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;background:transparent;border:0;color:var(--rebemer-fg);font:11px/1 var(--rebemer-font);cursor:pointer;text-align:left;transition:background 80ms}.slashed-cp__scan-row:hover,.slashed-cp__scan-row--open{background:#ffffff0a}.slashed-cp__scan-base{width:18px;height:18px;flex:0 0 18px;border-radius:4px;border:1px solid rgba(127,127,127,.3)}.slashed-cp__scan-name{font-weight:600;flex:0 0 auto}.slashed-cp__scan-tagline{font-size:10px;color:var(--rebemer-fg-muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.slashed-cp__scan-pre{display:flex;gap:3px;flex:0 0 auto}.slashed-cp__scan-pre-sw{width:14px;height:14px;border-radius:3px;border:1px solid rgba(127,127,127,.2)}.slashed-cp__scan-chev{flex:0 0 auto;font-size:10px;color:var(--rebemer-fg-muted)}.slashed-cp__fam{padding:10px 10px 12px;border-top:1px solid var(--rebemer-border);background:#0000001f}.slashed-cp__fam-banner{display:flex;align-items:flex-end;width:100%;height:52px;padding:7px 10px;border:0;border-radius:7px;cursor:pointer;margin-bottom:10px;overflow:hidden;transition:opacity .12s;box-sizing:border-box}.slashed-cp__fam-banner:hover{opacity:.85}.slashed-cp__fam-banner-lbl{font:700 9px/1 var(--rebemer-font);text-transform:uppercase;letter-spacing:2px;color:#ffffffe6;text-shadow:0 1px 3px rgba(0,0,0,.6)}.slashed-cp__fam-sec{margin:8px 0 6px;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--rebemer-fg-muted)}.slashed-cp__fam-sec:first-child{margin-top:0}.slashed-cp__fam-sec-range{font-weight:400;text-transform:none;letter-spacing:0;color:#ffffff40}.slashed-cp__strip{display:flex;height:24px;border-radius:5px;overflow:hidden}.slashed-cp__strip--alpha{margin-top:4px;opacity:.8}.slashed-cp__strip-sw{flex:1;min-width:0;padding:0;border:0;cursor:pointer;transition:flex .1s ease-out;position:relative}.slashed-cp__strip-sw:hover{flex:2;box-shadow:inset 0 0 0 2px var(--rebemer-accent)}.slashed-cp__strip-sw--alpha{box-shadow:inset 0 0 0 1px #7f7f7f66}.slashed-cp__strip-sw--alpha:hover{box-shadow:inset 0 0 0 2px var(--rebemer-accent)}.slashed-cp__strip-sw:focus-visible{outline:2px solid var(--rebemer-accent);outline-offset:-2px;z-index:1}.slashed-cp__alpha-btn{display:flex;align-items:center;gap:5px;margin-top:8px;padding:0;background:transparent;border:0;color:var(--rebemer-fg-muted);font:10px/1 var(--rebemer-font);cursor:pointer}.slashed-cp__alpha-btn:hover{color:var(--rebemer-fg)}.slashed-cp__alpha-btn:focus-visible{outline:1px dotted var(--rebemer-accent);outline-offset:2px;color:var(--rebemer-fg)}.slashed-cp__qu-cell:focus-visible{outline:2px solid var(--rebemer-accent);outline-offset:-2px}.slashed-cp__scan-row:focus-visible{outline:2px solid var(--rebemer-accent);outline-offset:-2px}.slashed-cp__fam-banner:focus-visible{outline:2px solid var(--rebemer-accent);outline-offset:-2px} +#slashed-rebemer-host{--rebemer-bg: #161a1d;--rebemer-fg: #e1e1e1;--rebemer-fg-muted: #8a8d95;--rebemer-border: #3d4752;--rebemer-accent: #e2b93b;--rebemer-accent-hover: #ffd042;--rebemer-input-bg: #293038;--rebemer-input-border: #3d4752;--rebemer-error: #ff4c4c;--rebemer-success: #4ade80;--rebemer-radius: 4px;--rebemer-font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}.rebemer-badge-host{display:inline-flex;align-items:center;align-self:center;flex:0 0 auto;margin:0 4px;opacity:0;pointer-events:none;transition:opacity 80ms linear}.structure-item:hover .rebemer-badge-host,.structure-item:focus-within .rebemer-badge-host,li[data-id]:hover>.rebemer-badge-host,li[data-id]:focus-within>.rebemer-badge-host{opacity:1;pointer-events:auto}.rebemer-badge{font:600 9px/1 var(--rebemer-font, "Inter", -apple-system, BlinkMacSystemFont, sans-serif);letter-spacing:0;text-transform:none;color:var(--rebemer-fg-muted, #8a8d95);display:inline;background:transparent;padding:1px 3px;margin:0;cursor:pointer;border-radius:2px;pointer-events:auto}.rebemer-badge:hover{color:var(--rebemer-accent, #e2b93b);background:#e2b93b14}.rebemer-badge:focus-visible{outline:1px dotted var(--rebemer-accent, #e2b93b);outline-offset:1px;color:var(--rebemer-accent, #e2b93b)}.rebemer-panel{position:fixed;top:80px;left:50%;transform:translate(-50%);width:440px;max-width:calc(100vw - 40px);max-height:80vh;z-index:100000;background:var(--rebemer-bg);color:var(--rebemer-fg);border:1px solid var(--rebemer-border);border-radius:var(--rebemer-radius);box-shadow:0 10px 40px #0009;display:flex;flex-direction:column;font:12px/1.45 var(--rebemer-font);overflow:hidden;outline:none}.rebemer-panel__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--rebemer-border)}.rebemer-panel__title{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff}.rebemer-panel__subject{color:var(--rebemer-accent);text-transform:none;font-weight:500}.rebemer-panel__close{background:transparent;border:0;font-size:18px;color:var(--rebemer-fg-muted);cursor:pointer;padding:2px 6px}.rebemer-panel__close:hover{color:#fff}.rebemer-panel__toolbar{padding:10px 14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--rebemer-border)}.rebemer-field{display:flex;flex-direction:column;gap:4px;font-size:11px}.rebemer-field--inline{flex-direction:row;align-items:center;gap:6px}.rebemer-field__label{color:var(--rebemer-fg-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.rebemer-field select,.rebemer-field input[type=text]{background:var(--rebemer-input-bg);border:1px solid var(--rebemer-input-border);border-radius:var(--rebemer-radius);color:var(--rebemer-fg);padding:4px 6px;font:inherit}.rebemer-field select:focus,.rebemer-field input:focus{outline:1px solid var(--rebemer-accent)}.rebemer-panel__mode-hint{margin:0;padding:5px 14px;font-size:11px;color:var(--rebemer-fg-muted);background:var(--rebemer-bg);border-bottom:1px solid var(--rebemer-border);line-height:1.4}.rebemer-panel__notice{margin:0;padding:8px 14px;background:#e2b93b14;border-bottom:1px solid var(--rebemer-border);color:var(--rebemer-fg);font-size:11px;line-height:1.5}.rebemer-panel__notice--warn{background:#e2b93b29}.rebemer-panel__notice strong{color:var(--rebemer-accent);font-weight:600}.rebemer-panel__notice-skip{display:block;margin-top:2px;color:var(--rebemer-fg-muted)}.rebemer-panel__body{flex:1;overflow-y:auto;padding:8px 14px;display:flex;flex-direction:column;gap:6px}.rebemer-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--rebemer-radius);background:#ffffff05;margin-left:calc(var(--rebemer-row-depth, 0) * 12px)}.rebemer-row:hover{background:#ffffff0a}.rebemer-row--disabled{opacity:.45}.rebemer-row__include input{cursor:pointer}.rebemer-row__meta{display:flex;gap:6px;align-items:baseline;min-width:0}.rebemer-row__label{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rebemer-row__type{font-size:9px;color:var(--rebemer-fg-muted);text-transform:uppercase;letter-spacing:.3px}.rebemer-row__type--toggle{background:transparent;border:0;padding:1px 3px;border-radius:2px;cursor:pointer;line-height:1}.rebemer-row__type--toggle:hover:not(:disabled){color:var(--rebemer-fg);background:#ffffff0f}.rebemer-row__type--toggle:disabled{cursor:default;opacity:.5}.rebemer-row__type--block{color:var(--rebemer-accent);background:#e2b93b1f}.rebemer-row__type--block:hover:not(:disabled){background:#e2b93b33}.rebemer-row__hint{font-size:9px;color:var(--rebemer-accent);text-transform:uppercase;letter-spacing:.5px;background:#e2b93b1f;padding:1px 4px;border-radius:2px}.rebemer-row__inputs{grid-column:1 / -1;display:flex;gap:6px;align-items:center}.rebemer-row__name{flex:1;display:flex;align-items:stretch;background:var(--rebemer-input-bg);border:1px solid var(--rebemer-input-border);border-radius:var(--rebemer-radius);overflow:hidden}.rebemer-row__prefix{padding:4px 6px;background:#00000040;color:var(--rebemer-fg-muted);font-size:11px;border-right:1px solid var(--rebemer-input-border);white-space:nowrap}.rebemer-row__name input{background:transparent;border:0;outline:0;color:var(--rebemer-fg);font:inherit;padding:4px 6px;flex:1;min-width:0}.rebemer-row--suggested .rebemer-row__name input:not(:focus){color:var(--rebemer-fg-muted);font-style:italic}.rebemer-row__modifier{background:var(--rebemer-input-bg);border:1px solid var(--rebemer-input-border);border-radius:var(--rebemer-radius);color:var(--rebemer-fg);font:inherit;padding:4px 6px;width:90px}.rebemer-row__modifiers{display:flex;flex-direction:column;gap:4px;flex:1}.rebemer-row__modifier-row{display:flex;align-items:center;gap:4px}.rebemer-row__modifier-row .rebemer-row__modifier{flex:1;width:auto}.rebemer-row__modifier-remove{background:transparent;border:1px solid var(--rebemer-input-border);border-radius:var(--rebemer-radius);color:var(--rebemer-fg-muted);font-size:13px;line-height:1;padding:2px 6px;cursor:pointer;flex:0 0 auto}.rebemer-row__modifier-remove:hover:not(:disabled){border-color:var(--rebemer-error);color:var(--rebemer-error)}.rebemer-row__modifier-add{background:transparent;border:1px dashed var(--rebemer-input-border);border-radius:var(--rebemer-radius);color:var(--rebemer-fg-muted);font:inherit;font-size:10px;padding:3px 7px;cursor:pointer;text-align:left;width:fit-content}.rebemer-row__modifier-add:hover:not(:disabled){border-color:var(--rebemer-fg-muted);color:var(--rebemer-fg)}.rebemer-row__op-toggle{grid-column:1 / -1;display:inline-flex;align-items:center;border:1px solid var(--rebemer-input-border);border-radius:var(--rebemer-radius);overflow:hidden;width:fit-content;margin-top:2px}.rebemer-row__op-btn{background:var(--rebemer-input-bg);border:0;border-left:1px solid var(--rebemer-input-border);color:var(--rebemer-fg-muted);font:600 10px/1 var(--rebemer-font);padding:4px 9px;cursor:pointer;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.rebemer-row__op-btn:first-child{border-left:0}.rebemer-row__op-btn--on{color:var(--rebemer-accent);background:#e2b93b1f}.rebemer-row__op-btn:hover:not(.rebemer-row__op-btn--on){color:var(--rebemer-fg);background:#ffffff0f}.rebemer-row__family{grid-column:1 / -1;display:flex;align-items:center;gap:7px;margin-top:3px}.rebemer-row__family-label{font-size:9px;color:var(--rebemer-fg-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex:0 0 auto}.rebemer-row__family-select{background:var(--rebemer-input-bg);border:1px solid var(--rebemer-input-border);border-radius:var(--rebemer-radius);color:var(--rebemer-fg);padding:3px 6px;font:inherit;font-size:11px;flex:1;min-width:0}.rebemer-row__family-select:focus{outline:1px solid var(--rebemer-accent)}.rebemer-row__info code,.rebemer-row__warn code{background:#0000004d;padding:1px 4px;border-radius:2px;font:11px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--rebemer-accent)}.rebemer-row__recommend{grid-column:1 / -1;margin:0;padding:6px 8px;background:#4ade8014;border-left:2px solid var(--rebemer-success);border-radius:2px;color:var(--rebemer-fg);font-size:11px;line-height:1.4}.rebemer-row__recommend code{background:#0000004d;padding:1px 4px;border-radius:2px;font:11px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--rebemer-accent)}.rebemer-row__warn,.rebemer-row__info{grid-column:1 / -1;margin:0;padding:5px 8px;font-size:11px;line-height:1.4;border-radius:2px}.rebemer-row__warn{background:#e2b93b1f;border-left:2px solid #e2b93b;color:var(--rebemer-fg)}.rebemer-row__info{background:#63b3ed1a;border-left:2px solid #63b3ed;color:var(--rebemer-fg-muted)}.rebemer-row__chips{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 0 0;font-size:10px}.rebemer-row__chips-label,.rebemer-row__chips-empty,.rebemer-row__chips-skip{color:var(--rebemer-fg-muted);text-transform:uppercase;letter-spacing:.5px;font-size:9px}.rebemer-row__chips-skip{margin-left:auto;cursor:help;color:#c8a038}.rebemer-chip{font:10px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#0000004d;border:1px solid var(--rebemer-input-border);color:var(--rebemer-fg);padding:2px 5px;border-radius:2px;white-space:nowrap}.rebemer-panel__footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--rebemer-border)}.rebemer-btn{background:var(--rebemer-input-bg);border:1px solid var(--rebemer-input-border);color:var(--rebemer-fg);padding:6px 12px;border-radius:var(--rebemer-radius);font:inherit;cursor:pointer}.rebemer-btn:hover{border-color:var(--rebemer-fg-muted)}.rebemer-btn--primary{background:var(--rebemer-accent);border-color:var(--rebemer-accent);color:var(--rebemer-bg);font-weight:600}.rebemer-btn--primary:hover{background:var(--rebemer-accent-hover);border-color:var(--rebemer-accent-hover)}.rebemer-toast{position:fixed;bottom:16px;right:16px;z-index:100002;background:var(--rebemer-input-bg);color:var(--rebemer-fg);border:1px solid var(--rebemer-border);border-radius:var(--rebemer-radius);padding:8px 12px;font:12px/1.45 var(--rebemer-font);cursor:pointer;box-shadow:0 4px 12px #0006}.rebemer-toast--success{border-color:var(--rebemer-success)}.rebemer-toast--error{border-color:var(--rebemer-error);color:var(--rebemer-error)}.rebemer-class-hint{position:fixed;z-index:100003;max-width:280px;background:var(--rebemer-bg);color:var(--rebemer-fg);border:1px solid var(--rebemer-border);border-radius:var(--rebemer-radius);padding:8px 10px;font:12px/1.45 var(--rebemer-font);box-shadow:0 6px 20px #00000080;pointer-events:none}.rebemer-class-hint[hidden]{display:none}.rebemer-class-hint__name{font:600 11px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--rebemer-accent)}.rebemer-class-hint__cat{margin-left:6px;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--rebemer-fg-muted)}.rebemer-class-hint__cat[hidden]{display:none}.rebemer-class-hint__desc{margin:4px 0 0;color:var(--rebemer-fg)}.rebemer-class-hint-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:0 0 auto;margin-inline-start:4px;border-radius:50%;border:1px solid var(--rebemer-border, #3d4752);background:transparent;color:var(--rebemer-fg-muted, #8a8d95);font:700 10px/1 var(--rebemer-font, "Inter", -apple-system, BlinkMacSystemFont, sans-serif);cursor:help;opacity:.7;vertical-align:middle;transition:opacity .12s ease,color .12s ease,border-color .12s ease}.rebemer-class-hint-btn:before{content:"?"}.rebemer-class-hint-btn:hover,.rebemer-class-hint-btn:focus-visible{opacity:1;color:var(--rebemer-accent, #e2b93b);border-color:var(--rebemer-accent, #e2b93b);outline:none}.slashed-cp-launch{position:fixed;right:16px;bottom:16px;z-index:99999;display:inline-flex;align-items:center;gap:7px;padding:7px 12px;background:var(--rebemer-bg);color:var(--rebemer-fg);border:1px solid var(--rebemer-border);border-radius:999px;font:600 11px/1 var(--rebemer-font);letter-spacing:.3px;cursor:pointer;box-shadow:0 4px 16px #00000073;transition:border-color .12s,color .12s,transform .12s}.slashed-cp-launch:hover{border-color:var(--rebemer-fg-muted);transform:translateY(-1px)}.slashed-cp-launch--on{border-color:var(--rebemer-accent);color:#fff}.slashed-cp-launch__dot{width:12px;height:12px;border-radius:50%;background:conic-gradient(from 210deg,#5b8cff,#b07cff,#ff6b6b,#ffd24a,#4ade80,#5b8cff);box-shadow:inset 0 0 0 1px #ffffff40}.slashed-cp-launch__txt{text-transform:uppercase}.slashed-cp{position:fixed;top:64px;right:16px;bottom:64px;width:372px;max-width:calc(100vw - 32px);z-index:100001;display:flex;flex-direction:column;background:var(--rebemer-bg);color:var(--rebemer-fg);border:1px solid var(--rebemer-border);border-radius:var(--rebemer-radius);box-shadow:0 12px 48px #0009;font:12px/1.45 var(--rebemer-font);overflow:hidden;outline:none}.slashed-cp__header{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--rebemer-border)}.slashed-cp__title{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff;flex:1}.slashed-cp__close{background:transparent;border:0;font-size:18px;line-height:1;color:var(--rebemer-fg-muted);cursor:pointer;padding:2px 4px}.slashed-cp__close:hover{color:#fff}.slashed-cp__seg{display:inline-flex;border:1px solid var(--rebemer-input-border);border-radius:var(--rebemer-radius);overflow:hidden}.slashed-cp__seg-btn{background:var(--rebemer-input-bg);border:0;border-left:1px solid var(--rebemer-input-border);color:var(--rebemer-fg-muted);font:600 10px/1 var(--rebemer-font);padding:5px 9px;cursor:pointer;text-transform:uppercase;letter-spacing:.4px}.slashed-cp__seg-btn:first-child{border-left:0}.slashed-cp__seg-btn--on{background:var(--rebemer-accent);color:var(--rebemer-bg)}.slashed-cp__toolbar{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-bottom:1px solid var(--rebemer-border)}.slashed-cp__search{width:100%;background:var(--rebemer-input-bg);border:1px solid var(--rebemer-input-border);border-radius:var(--rebemer-radius);color:var(--rebemer-fg);font:inherit;padding:6px 8px;box-sizing:border-box}.slashed-cp__search:focus{outline:1px solid var(--rebemer-accent)}.slashed-cp__target{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.slashed-cp__target-label{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--rebemer-fg-muted)}.slashed-cp__chip{background:var(--rebemer-input-bg);border:1px solid var(--rebemer-input-border);border-radius:999px;color:var(--rebemer-fg-muted);font:600 10px/1 var(--rebemer-font);padding:4px 10px;cursor:pointer}.slashed-cp__chip--on{background:var(--rebemer-accent);border-color:var(--rebemer-accent);color:var(--rebemer-bg)}.slashed-cp__body{flex:1;overflow-y:auto;padding:6px 12px 12px}.slashed-cp__empty{color:var(--rebemer-fg-muted);font-size:11px;padding:12px 2px}.slashed-cp__group{padding:10px 0 6px;border-bottom:1px solid rgba(255,255,255,.05)}.slashed-cp__group:last-child{border-bottom:0}.slashed-cp__group-head{margin:0 0 8px}.slashed-cp__group-title{display:flex;align-items:baseline;gap:7px;margin:0;font-size:11px;font-weight:700;color:#fff;text-transform:capitalize}.slashed-cp__group-tag{font-size:10px;font-weight:500;color:var(--rebemer-fg-muted);text-transform:none}.slashed-cp__group-count{margin-left:auto;font:600 9px/1 var(--rebemer-font);color:var(--rebemer-fg-muted);background:#ffffff0f;border-radius:999px;padding:2px 6px;text-transform:none}.slashed-cp__group-use{margin:2px 0 0;font-size:10px;line-height:1.4;color:var(--rebemer-fg-muted)}.slashed-cp__section-label{margin:8px 0 5px;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--rebemer-fg-muted)}.slashed-cp__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:7px 6px}.slashed-cp__cell{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.slashed-cp__cap{font-size:9px;color:var(--rebemer-fg-muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slashed-cp__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.slashed-cp__list-item{display:flex;align-items:center;gap:8px}.slashed-cp__list-name{font-size:11px;color:var(--rebemer-fg);flex:0 0 auto}.slashed-cp__list-var{font:10px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--rebemer-fg-muted);margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slashed-cp-swatch{width:28px;height:28px;flex:0 0 auto;padding:0;border:1px solid rgba(127,127,127,.45);border-radius:6px;background:none;cursor:pointer;position:relative;overflow:hidden}.slashed-cp-swatch:hover{border-color:var(--rebemer-accent)}.slashed-cp-swatch:focus-visible{outline:2px solid var(--rebemer-accent);outline-offset:1px}.slashed-cp-swatch__fill{position:absolute;inset:0;background:var(--cp-solid)}.slashed-cp-swatch--split .slashed-cp-swatch__fill{background:linear-gradient(135deg,var(--cp-l) 0 calc(50% - .5px),rgba(0,0,0,.35) calc(50% - .5px) calc(50% + .5px),var(--cp-d) calc(50% + .5px) 100%)}.slashed-cp-swatch--alpha{border-style:dashed}.slashed-cp__footer{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--rebemer-border);font-size:10px;color:var(--rebemer-fg-muted)}.slashed-cp__hint{margin-left:auto}.slashed-cp__hint code,.slashed-cp__footer code{font:10px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--rebemer-accent)}.slashed-cp__legend{display:inline-flex;align-items:center;gap:5px}.slashed-cp__legend-sw{width:12px;height:12px;border-radius:3px;border:1px solid rgba(127,127,127,.45);background:linear-gradient(135deg,#fff 0 50%,#222 50% 100%)}.rebemer-toast--info{border-color:#63b3ed}.slashed-sf-color-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;min-width:28px;width:28px;height:28px;border-radius:5px;cursor:pointer;opacity:.6;transition:opacity .12s,background .12s}.slashed-sf-color-btn:hover{opacity:1;background:#5b8cff26}.slashed-sf-color-btn--active{opacity:1}.slashed-sf-color-btn--active:hover{background:#ffffff0f}.slashed-sf-color-btn__dot{display:inline-block;width:20px;height:20px;border-radius:50%;background:conic-gradient(from 210deg,#5b8cff,#b07cff,#ff6b6b,#ffd24a,#4ade80,#5b8cff);box-shadow:inset 0 0 0 1px #fff3;flex-shrink:0;transition:width 80ms,height 80ms,border-radius .12s}.slashed-sf-color-btn--active .slashed-sf-color-btn__dot{width:28px;height:28px;border-radius:5px;transition:width 80ms,height 80ms,border-radius .12s;box-shadow:inset 0 0 0 1px #0000002e,0 0 0 1.5px #ffffff38}.slashed-var-swatch{flex:0 0 auto;display:inline-block;width:12px;height:12px;margin-right:7px;vertical-align:middle;border-radius:3px;border:1px solid rgba(127,127,127,.45);background-color:#fff;background-image:linear-gradient(var(--slashed-swatch-color, transparent),var(--slashed-swatch-color, transparent)),linear-gradient(45deg,rgba(127,127,127,.35) 25%,transparent 25%,transparent 75%,rgba(127,127,127,.35) 75%),linear-gradient(45deg,rgba(127,127,127,.35) 25%,transparent 25%,transparent 75%,rgba(127,127,127,.35) 75%);background-position:0 0,0 0,4px 4px;background-size:auto,8px 8px,8px 8px}.slashed-cp--docked{top:0;bottom:0;left:var(--cp-dock-left, 320px);right:auto;width:360px;border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:6px 0 32px #0000008c}.slashed-cp[data-mode=both] .slashed-cp__qu-sw,.slashed-cp[data-mode=both] .slashed-cp__scan-base,.slashed-cp[data-mode=both] .slashed-cp__scan-pre-sw,.slashed-cp[data-mode=both] .slashed-cp__fam-banner,.slashed-cp[data-mode=both] .slashed-cp__strip-sw{background:linear-gradient(135deg,var(--sw-l) 0 calc(50% - .5px),rgba(0,0,0,.35) calc(50% - .5px) calc(50% + .5px),var(--sw-d) calc(50% + .5px) 100%)}.slashed-cp[data-mode=light] .slashed-cp__qu-sw,.slashed-cp[data-mode=light] .slashed-cp__scan-base,.slashed-cp[data-mode=light] .slashed-cp__scan-pre-sw,.slashed-cp[data-mode=light] .slashed-cp__fam-banner,.slashed-cp[data-mode=light] .slashed-cp__strip-sw{background:var(--sw-l)}.slashed-cp[data-mode=dark] .slashed-cp__qu-sw,.slashed-cp[data-mode=dark] .slashed-cp__scan-base,.slashed-cp[data-mode=dark] .slashed-cp__scan-pre-sw,.slashed-cp[data-mode=dark] .slashed-cp__fam-banner,.slashed-cp[data-mode=dark] .slashed-cp__strip-sw{background:var(--sw-d)}.slashed-cp__sec{padding:10px 0 6px;border-bottom:1px solid rgba(255,255,255,.05)}.slashed-cp__sec:last-child{border-bottom:0}.slashed-cp__sec-title{margin:0 0 10px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--rebemer-fg-muted)}.slashed-cp__sec--pal{padding-top:12px}.slashed-cp__qu-group{margin-bottom:10px}.slashed-cp__qu-group:last-child{margin-bottom:0}.slashed-cp__qu-label{margin:0 0 4px;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--rebemer-fg-muted)}.slashed-cp__qu-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}.slashed-cp__qu-cell{display:flex;align-items:center;gap:7px;padding:4px 6px;background:transparent;border:0;border-radius:5px;color:var(--rebemer-fg);font:11px/1.3 var(--rebemer-font);text-align:left;cursor:pointer;min-width:0;transition:background 80ms}.slashed-cp__qu-cell:hover{background:#ffffff0f}.slashed-cp__qu-sw{width:22px;height:22px;flex:0 0 22px;border-radius:5px;border:1px solid rgba(127,127,127,.35);transition:border-color 80ms}.slashed-cp__qu-sw--alpha{border-style:dashed}.slashed-cp__qu-cell:hover .slashed-cp__qu-sw{border-color:var(--rebemer-accent)}.slashed-cp__qu-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.slashed-cp__pal-cat{margin:10px 0 5px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--rebemer-fg-muted)}.slashed-cp__pal-cat:first-of-type{margin-top:2px}.slashed-cp__scanner{border:1px solid var(--rebemer-border);border-radius:var(--rebemer-radius);overflow:hidden;margin-bottom:4px}.slashed-cp__scan-item+.slashed-cp__scan-item{border-top:1px solid var(--rebemer-border)}.slashed-cp__scan-row{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;background:transparent;border:0;color:var(--rebemer-fg);font:11px/1 var(--rebemer-font);cursor:pointer;text-align:left;transition:background 80ms}.slashed-cp__scan-row:hover,.slashed-cp__scan-row--open{background:#ffffff0a}.slashed-cp__scan-base{width:18px;height:18px;flex:0 0 18px;border-radius:4px;border:1px solid rgba(127,127,127,.3)}.slashed-cp__scan-name{font-weight:600;flex:0 0 auto}.slashed-cp__scan-tagline{font-size:10px;color:var(--rebemer-fg-muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.slashed-cp__scan-pre{display:flex;gap:3px;flex:0 0 auto}.slashed-cp__scan-pre-sw{width:14px;height:14px;border-radius:3px;border:1px solid rgba(127,127,127,.2)}.slashed-cp__scan-chev{flex:0 0 auto;font-size:10px;color:var(--rebemer-fg-muted)}.slashed-cp__fam{padding:10px 10px 12px;border-top:1px solid var(--rebemer-border);background:#0000001f}.slashed-cp__fam-banner{display:flex;align-items:flex-end;width:100%;height:52px;padding:7px 10px;border:0;border-radius:7px;cursor:pointer;margin-bottom:10px;overflow:hidden;transition:opacity .12s;box-sizing:border-box}.slashed-cp__fam-banner:hover{opacity:.85}.slashed-cp__fam-banner-lbl{font:700 9px/1 var(--rebemer-font);text-transform:uppercase;letter-spacing:2px;color:#ffffffe6;text-shadow:0 1px 3px rgba(0,0,0,.6)}.slashed-cp__fam-sec{margin:8px 0 6px;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--rebemer-fg-muted)}.slashed-cp__fam-sec:first-child{margin-top:0}.slashed-cp__fam-sec-range{font-weight:400;text-transform:none;letter-spacing:0;color:#ffffff40}.slashed-cp__strip{display:flex;height:24px;border-radius:5px;overflow:hidden}.slashed-cp__strip--alpha{margin-top:4px;opacity:.8}.slashed-cp__strip-sw{flex:1;min-width:0;padding:0;border:0;cursor:pointer;transition:flex .1s ease-out;position:relative}.slashed-cp__strip-sw:hover{flex:2;box-shadow:inset 0 0 0 2px var(--rebemer-accent)}.slashed-cp__strip-sw--alpha{box-shadow:inset 0 0 0 1px #7f7f7f66}.slashed-cp__strip-sw--alpha:hover{box-shadow:inset 0 0 0 2px var(--rebemer-accent)}.slashed-cp__strip-sw:focus-visible{outline:2px solid var(--rebemer-accent);outline-offset:-2px;z-index:1}.slashed-cp__alpha-btn{display:flex;align-items:center;gap:5px;margin-top:8px;padding:0;background:transparent;border:0;color:var(--rebemer-fg-muted);font:10px/1 var(--rebemer-font);cursor:pointer}.slashed-cp__alpha-btn:hover{color:var(--rebemer-fg)}.slashed-cp__alpha-btn:focus-visible{outline:1px dotted var(--rebemer-accent);outline-offset:2px;color:var(--rebemer-fg)}.slashed-cp__qu-cell:focus-visible{outline:2px solid var(--rebemer-accent);outline-offset:-2px}.slashed-cp__scan-row:focus-visible{outline:2px solid var(--rebemer-accent);outline-offset:-2px}.slashed-cp__fam-banner:focus-visible{outline:2px solid var(--rebemer-accent);outline-offset:-2px} diff --git a/plugins/SLASHED-for-WP/integrations/bricks/assets/editor-app/app.js b/plugins/SLASHED-for-WP/integrations/bricks/assets/editor-app/app.js index ff3cadf0..30c7e21c 100644 --- a/plugins/SLASHED-for-WP/integrations/bricks/assets/editor-app/app.js +++ b/plugins/SLASHED-for-WP/integrations/bricks/assets/editor-app/app.js @@ -1,8 +1,8 @@ -var ro=Object.defineProperty;var ya=e=>{throw TypeError(e)};var so=(e,t,n)=>t in e?ro(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ue=(e,t,n)=>so(e,typeof t!="symbol"?t+"":t,n),Is=(e,t,n)=>t.has(e)||ya("Cannot "+n);var _=(e,t,n)=>(Is(e,t,"read from private field"),n?n.call(e):t.get(e)),H=(e,t,n)=>t.has(e)?ya("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),j=(e,t,n,r)=>(Is(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),J=(e,t,n)=>(Is(e,t,"access private method"),n);var oa=Array.isArray,ao=Array.prototype.indexOf,Cn=Array.prototype.includes,gs=Array.from,io=Object.defineProperty,Gn=Object.getOwnPropertyDescriptor,oo=Object.getOwnPropertyDescriptors,lo=Object.prototype,co=Array.prototype,Ya=Object.getPrototypeOf,wa=Object.isExtensible;const uo=()=>{};function fo(e){for(var t=0;t{e=r,t=s});return{promise:n,resolve:e,reject:t}}const Ne=2,rr=4,bs=8,Xa=1<<24,yt=16,St=32,fn=64,qs=128,ft=512,Me=1024,Re=2048,Pt=4096,qe=8192,dt=16384,Nn=32768,js=1<<25,sr=65536,as=1<<17,_o=1<<18,lr=1<<19,vo=1<<20,Mt=1<<25,Pn=65536,is=1<<21,Yn=1<<22,ln=1<<23,An=Symbol("$state"),ho=Symbol("legacy props"),po=Symbol(""),zr=Symbol("attributes"),Hs=Symbol("class"),Ws=Symbol("style"),mr=Symbol("text"),Vr=Symbol("form reset"),ys=new class extends Error{constructor(){super(...arguments);Ue(this,"name","StaleReactionError");Ue(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function mo(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function go(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function bo(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function yo(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function wo(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function ko(e){throw new Error("https://svelte.dev/e/effect_orphan")}function So(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Eo(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function xo(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Co(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Ao(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function To(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Oo=1,Io=2,Qa=4,Mo=8,Po=16,Lo=1,Ro=4,No=8,Bo=16,Fo=1,Do=2,Ie=Symbol("uninitialized"),Za="http://www.w3.org/1999/xhtml";function qo(){console.warn("https://svelte.dev/e/derived_inert")}function jo(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Ho(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function ei(e){return e===this.v}function Wo(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function ti(e){return!Wo(e,this.v)}let Ye=null;function ar(e){Ye=e}function Bn(e,t=!1,n){Ye={p:Ye,i:!1,c:null,e:null,s:e,x:null,r:$,l:null}}function Fn(e){var t=Ye,n=t.e;if(n!==null){t.e=null;for(var r of n)ki(r)}return t.i=!0,Ye=t.p,{}}function ni(){return!0}let mn=[];function ri(){var e=mn;mn=[],fo(e)}function cn(e){if(mn.length===0&&!Sr){var t=mn;queueMicrotask(()=>{t===mn&&ri()})}mn.push(e)}function Uo(){for(;mn.length>0;)ri()}function si(e){var t=$;if(t===null)return K.f|=ln,e;if((t.f&Nn)===0&&(t.f&rr)===0)throw e;on(e,t)}function on(e,t){for(;t!==null;){if((t.f&qs)!==0){if((t.f&Nn)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const Ko=-7169;function ge(e,t){e.f=e.f&Ko|t}function la(e){(e.f&ft)!==0||e.deps===null?ge(e,Me):ge(e,Pt)}function ai(e){if(e!==null)for(const t of e)(t.f&Ne)===0||(t.f&Pn)===0||(t.f^=Pn,ai(t.deps))}function ii(e,t,n){(e.f&Re)!==0?t.add(e):(e.f&Pt)!==0&&n.add(e),ai(e.deps),ge(e,Me)}let jr=!1;function $o(e){var t=jr;try{return jr=!1,[e(),jr]}finally{jr=t}}let Ms=null,Kn=null,U=null,Us=null,wt=null,Ks=null,Sr=!1,Ps=!1,zn=null,Gr=null;var ka=0;let zo=1;var Xn,rn,yn,Qn,Zn,wn,er,Ht,Pr,Qe,Lr,sn,Tt,Ot,tr,kn,Z,$s,gr,zs,oi,li,Yr,Vo,Vs,$n;const hs=class hs{constructor(){H(this,Z);Ue(this,"id",zo++);H(this,Xn,!1);Ue(this,"linked",!0);H(this,rn,null);H(this,yn,null);Ue(this,"async_deriveds",new Map);Ue(this,"current",new Map);Ue(this,"previous",new Map);Ue(this,"unblocked",new Set);H(this,Qn,new Set);H(this,Zn,new Set);H(this,wn,new Set);H(this,er,0);H(this,Ht,new Map);H(this,Pr,null);H(this,Qe,[]);H(this,Lr,[]);H(this,sn,new Set);H(this,Tt,new Set);H(this,Ot,new Map);H(this,tr,new Set);Ue(this,"is_fork",!1);H(this,kn,!1)}skip_effect(t){_(this,Ot).has(t)||_(this,Ot).set(t,{d:[],m:[]}),_(this,tr).delete(t)}unskip_effect(t,n=r=>this.schedule(r)){var r=_(this,Ot).get(t);if(r){_(this,Ot).delete(t);for(var s of r.d)ge(s,Re),n(s);for(s of r.m)ge(s,Pt),n(s)}_(this,tr).add(t)}capture(t,n,r=!1){t.v!==Ie&&!this.previous.has(t)&&this.previous.set(t,t.v),(t.f&ln)===0&&(this.current.set(t,[n,r]),wt?.set(t,n)),this.is_fork||(t.v=n)}activate(){U=this}deactivate(){U=null,wt=null}flush(){try{Ps=!0,U=this,J(this,Z,gr).call(this)}finally{ka=0,Ks=null,zn=null,Gr=null,Ps=!1,U=null,wt=null,Tn.clear()}}discard(){for(const t of _(this,Zn))t(this);_(this,Zn).clear(),_(this,wn).clear(),J(this,Z,$n).call(this)}register_created_effect(t){_(this,Lr).push(t)}increment(t,n){if(j(this,er,_(this,er)+1),t){let r=_(this,Ht).get(n)??0;_(this,Ht).set(n,r+1)}}decrement(t,n){if(j(this,er,_(this,er)-1),t){let r=_(this,Ht).get(n)??0;r===1?_(this,Ht).delete(n):_(this,Ht).set(n,r-1)}_(this,kn)||(j(this,kn,!0),cn(()=>{j(this,kn,!1),this.linked&&this.flush()}))}transfer_effects(t,n){for(const r of t)_(this,sn).add(r);for(const r of n)_(this,Tt).add(r);t.clear(),n.clear()}oncommit(t){_(this,Qn).add(t)}ondiscard(t){_(this,Zn).add(t)}on_fork_commit(t){_(this,wn).add(t)}run_fork_commit_callbacks(){for(const t of _(this,wn))t(this);_(this,wn).clear()}settled(){return(_(this,Pr)??j(this,Pr,Ja())).promise}static ensure(){var t;if(U===null){const n=U=new hs;J(t=n,Z,Vs).call(t),!Ps&&!Sr&&cn(()=>{_(n,Xn)||n.flush()})}return U}apply(){{wt=null;return}}schedule(t){if(Ks=t,t.b?.is_pending&&(t.f&(rr|bs|Xa))!==0&&(t.f&Nn)===0){t.b.defer_effect(t);return}for(var n=t;n.parent!==null;){n=n.parent;var r=n.f;if(zn!==null&&n===$&&(K===null||(K.f&Ne)===0))return;if((r&(fn|St))!==0){if((r&Me)===0)return;n.f^=Me}}_(this,Qe).push(n)}};Xn=new WeakMap,rn=new WeakMap,yn=new WeakMap,Qn=new WeakMap,Zn=new WeakMap,wn=new WeakMap,er=new WeakMap,Ht=new WeakMap,Pr=new WeakMap,Qe=new WeakMap,Lr=new WeakMap,sn=new WeakMap,Tt=new WeakMap,Ot=new WeakMap,tr=new WeakMap,kn=new WeakMap,Z=new WeakSet,$s=function(){if(this.is_fork)return!0;for(const r of _(this,Ht).keys()){for(var t=r,n=!1;t.parent!==null;){if(_(this,Ot).has(t)){n=!0;break}t=t.parent}if(!n)return!0}return!1},gr=function(){var c,u,d;if(j(this,Xn,!0),ka++>1e3&&(J(this,Z,$n).call(this),Yo()),!J(this,Z,$s).call(this)){for(const f of _(this,sn))_(this,Tt).delete(f),ge(f,Re),this.schedule(f);for(const f of _(this,Tt))ge(f,Pt),this.schedule(f)}const t=_(this,Qe);j(this,Qe,[]),this.apply();var n=zn=[],r=[],s=Gr=[];for(const f of t)try{J(this,Z,zs).call(this,f,n,r)}catch(v){throw fi(f),v}if(U=null,s.length>0){var i=hs.ensure();for(const f of s)i.schedule(f)}if(zn=null,Gr=null,J(this,Z,$s).call(this)){J(this,Z,Yr).call(this,r),J(this,Z,Yr).call(this,n);for(const[f,v]of _(this,Ot))ui(f,v);s.length>0&&J(c=U,Z,gr).call(c);return}const o=J(this,Z,oi).call(this);if(o){J(u=o,Z,li).call(u,this);return}_(this,sn).clear(),_(this,Tt).clear();for(const f of _(this,Qn))f(this);_(this,Qn).clear(),Us=this,Sa(r),Sa(n),Us=null,_(this,Pr)?.resolve();var l=U;if(this.linked&&_(this,er)===0&&J(this,Z,$n).call(this),_(this,Qe).length>0){l===null&&(l=this,J(this,Z,Vs).call(this));const f=l;_(f,Qe).push(..._(this,Qe).filter(v=>!_(f,Qe).includes(v)))}l!==null&&J(d=l,Z,gr).call(d)},zs=function(t,n,r){t.f^=Me;for(var s=t.first;s!==null;){var i=s.f,o=(i&(St|fn))!==0,l=o&&(i&Me)!==0,c=l||(i&qe)!==0||_(this,Ot).has(s);if(!c&&s.fn!==null){o?s.f^=Me:(i&rr)!==0?n.push(s):qr(s)&&((i&yt)!==0&&_(this,Tt).add(s),or(s));var u=s.first;if(u!==null){s=u;continue}}for(;s!==null;){var d=s.next;if(d!==null){s=d;break}s=s.parent}}},oi=function(){for(var t=_(this,rn);t!==null;){if(!t.is_fork){for(const[n,[,r]]of this.current)if(t.current.has(n)&&!r)return t}t=_(t,rn)}return null},li=function(t){var r;for(const[s,i]of t.current)!this.previous.has(s)&&t.previous.has(s)&&this.previous.set(s,t.previous.get(s)),this.current.set(s,i);for(const[s,i]of t.async_deriveds){const o=this.async_deriveds.get(s);o&&i.promise.then(o.resolve)}const n=s=>{var i=s.reactions;if(i!==null)for(const c of i){var o=c.f;if((o&Ne)!==0)n(c);else{var l=c;o&(Yn|yt)&&!this.async_deriveds.has(l)&&(_(this,Tt).delete(l),ge(l,Re),this.schedule(l))}}};for(const s of this.current.keys())n(s);this.oncommit(()=>t.discard()),J(r=t,Z,$n).call(r),U=this,J(this,Z,gr).call(this)},Yr=function(t){for(var n=0;n!this.current.has(v));if(s.length===0)t&&f.discard();else if(n.length>0){if(t)for(const v of _(this,tr))f.unskip_effect(v,h=>{var b;(h.f&(yt|Yn))!==0?f.schedule(h):J(b=f,Z,Yr).call(b,[h])});f.activate();var i=new Set,o=new Map;for(var l of n)ci(l,s,i,o);o=new Map;var c=[...f.current.keys()].filter(v=>this.current.has(v)?this.current.get(v)[0]!==v.v:!0);if(c.length>0)for(const v of _(this,Lr))(v.f&(dt|qe|as))===0&&ca(v,c,o)&&((v.f&(Yn|yt))!==0?(ge(v,Re),f.schedule(v)):_(f,sn).add(v));if(_(f,Qe).length>0&&!_(f,kn)){f.apply();for(var u of _(f,Qe))J(d=f,Z,zs).call(d,u,[],[]);j(f,Qe,[])}f.deactivate()}}}},Vs=function(){Kn===null?Ms=Kn=this:(j(Kn,yn,this),j(this,rn,Kn)),Kn=this},$n=function(){var t=_(this,rn),n=_(this,yn);t===null?Ms=n:j(t,yn,n),n===null?Kn=t:j(n,rn,t),this.linked=!1};let Ln=hs;function Go(e){var t=Sr;Sr=!0;try{for(var n;;){if(Uo(),U===null)return n;U.flush()}}finally{Sr=t}}function Yo(){try{So()}catch(e){on(e,Ks)}}let jt=null;function Sa(e){var t=e.length;if(t!==0){for(var n=0;n0)){Tn.clear();for(const s of jt){if((s.f&(dt|qe))!==0)continue;const i=[s];let o=s.parent;for(;o!==null;)jt.has(o)&&(jt.delete(o),i.push(o)),o=o.parent;for(let l=i.length-1;l>=0;l--){const c=i[l];(c.f&(dt|qe))===0&&or(c)}}jt.clear()}}jt=null}}function ci(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const i=s.f;(i&Ne)!==0?ci(s,t,n,r):(i&(Yn|yt))!==0&&(i&Re)===0&&ca(s,t,r)&&(ge(s,Re),ua(s))}}function ca(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(Cn.call(t,s))return!0;if((s.f&Ne)!==0&&ca(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function ua(e){U.schedule(e)}function ui(e,t){if(!((e.f&St)!==0&&(e.f&Me)!==0)){(e.f&Re)!==0?t.d.push(e):(e.f&Pt)!==0&&t.m.push(e),ge(e,Me);for(var n=e.first;n!==null;)ui(n,t),n=n.next}}function fi(e){ge(e,Me);for(var t=e.first;t!==null;)fi(t),t=t.next}function Jo(e){let t=0,n=Rn(0),r;return()=>{_a()&&(a(n),Ss(()=>(t===0&&(r=cr(()=>e(()=>Er(n)))),t+=1,()=>{cn(()=>{t-=1,t===0&&(r?.(),r=void 0,Er(n))})})))}}var Xo=sr|lr;function Qo(e,t,n,r){new Zo(e,t,n,r)}var it,ia,ot,Sn,$e,lt,De,Ze,Wt,En,an,nr,Rr,Nr,Ut,ps,be,el,tl,nl,Gs,Jr,Xr,Ys,Js;class Zo{constructor(t,n,r,s){H(this,be);Ue(this,"parent");Ue(this,"is_pending",!1);Ue(this,"transform_error");H(this,it);H(this,ia,null);H(this,ot);H(this,Sn);H(this,$e);H(this,lt,null);H(this,De,null);H(this,Ze,null);H(this,Wt,null);H(this,En,0);H(this,an,0);H(this,nr,!1);H(this,Rr,new Set);H(this,Nr,new Set);H(this,Ut,null);H(this,ps,Jo(()=>(j(this,Ut,Rn(_(this,En))),()=>{j(this,Ut,null)})));j(this,it,t),j(this,ot,n),j(this,Sn,i=>{var o=$;o.b=this,o.f|=qs,r(i)}),this.parent=$.b,this.transform_error=s??this.parent?.transform_error??(i=>i),j(this,$e,ha(()=>{J(this,be,Gs).call(this)},Xo))}defer_effect(t){ii(t,_(this,Rr),_(this,Nr))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!_(this,ot).pending}update_pending_count(t,n){J(this,be,Ys).call(this,t,n),j(this,En,_(this,En)+t),!(!_(this,Ut)||_(this,nr))&&(j(this,nr,!0),cn(()=>{j(this,nr,!1),_(this,Ut)&&ir(_(this,Ut),_(this,En))}))}get_effect_pending(){return _(this,ps).call(this),a(_(this,Ut))}error(t){if(!_(this,ot).onerror&&!_(this,ot).failed)throw t;U?.is_fork?(_(this,lt)&&U.skip_effect(_(this,lt)),_(this,De)&&U.skip_effect(_(this,De)),_(this,Ze)&&U.skip_effect(_(this,Ze)),U.on_fork_commit(()=>{J(this,be,Js).call(this,t)})):J(this,be,Js).call(this,t)}}it=new WeakMap,ia=new WeakMap,ot=new WeakMap,Sn=new WeakMap,$e=new WeakMap,lt=new WeakMap,De=new WeakMap,Ze=new WeakMap,Wt=new WeakMap,En=new WeakMap,an=new WeakMap,nr=new WeakMap,Rr=new WeakMap,Nr=new WeakMap,Ut=new WeakMap,ps=new WeakMap,be=new WeakSet,el=function(){try{j(this,lt,ct(()=>_(this,Sn).call(this,_(this,it))))}catch(t){this.error(t)}},tl=function(t){const n=_(this,ot).failed;n&&j(this,Ze,ct(()=>{n(_(this,it),()=>t,()=>()=>{})}))},nl=function(){const t=_(this,ot).pending;t&&(this.is_pending=!0,j(this,De,ct(()=>t(_(this,it)))),cn(()=>{var n=j(this,Wt,document.createDocumentFragment()),r=Gt();n.append(r),j(this,lt,J(this,be,Xr).call(this,()=>ct(()=>_(this,Sn).call(this,r)))),_(this,an)===0&&(_(this,it).before(n),j(this,Wt,null),On(_(this,De),()=>{j(this,De,null)}),J(this,be,Jr).call(this,U))}))},Gs=function(){try{if(this.is_pending=this.has_pending_snippet(),j(this,an,0),j(this,En,0),j(this,lt,ct(()=>{_(this,Sn).call(this,_(this,it))})),_(this,an)>0){var t=j(this,Wt,document.createDocumentFragment());ga(_(this,lt),t);const n=_(this,ot).pending;j(this,De,ct(()=>n(_(this,it))))}else J(this,be,Jr).call(this,U)}catch(n){this.error(n)}},Jr=function(t){this.is_pending=!1,t.transfer_effects(_(this,Rr),_(this,Nr))},Xr=function(t){var n=$,r=K,s=Ye;Lt(_(this,$e)),vt(_(this,$e)),ar(_(this,$e).ctx);try{return Ln.ensure(),t()}catch(i){return si(i),null}finally{Lt(n),vt(r),ar(s)}},Ys=function(t,n){var r;if(!this.has_pending_snippet()){this.parent&&J(r=this.parent,be,Ys).call(r,t,n);return}j(this,an,_(this,an)+t),_(this,an)===0&&(J(this,be,Jr).call(this,n),_(this,De)&&On(_(this,De),()=>{j(this,De,null)}),_(this,Wt)&&(_(this,it).before(_(this,Wt)),j(this,Wt,null)))},Js=function(t){_(this,lt)&&(Ge(_(this,lt)),j(this,lt,null)),_(this,De)&&(Ge(_(this,De)),j(this,De,null)),_(this,Ze)&&(Ge(_(this,Ze)),j(this,Ze,null));var n=_(this,ot).onerror;let r=_(this,ot).failed;var s=!1,i=!1;const o=()=>{if(s){Ho();return}s=!0,i&&To(),_(this,Ze)!==null&&On(_(this,Ze),()=>{j(this,Ze,null)}),J(this,be,Xr).call(this,()=>{J(this,be,Gs).call(this)})},l=c=>{try{i=!0,n?.(c,o),i=!1}catch(u){on(u,_(this,$e)&&_(this,$e).parent)}r&&j(this,Ze,J(this,be,Xr).call(this,()=>{try{return ct(()=>{var u=$;u.b=this,u.f|=qs,r(_(this,it),()=>c,()=>o)})}catch(u){return on(u,_(this,$e).parent),null}}))};cn(()=>{var c;try{c=this.transform_error(t)}catch(u){on(u,_(this,$e)&&_(this,$e).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(l,u=>on(u,_(this,$e)&&_(this,$e).parent)):l(c)})};function rl(e,t,n,r){const s=Or;var i=e.filter(v=>!v.settled);if(n.length===0&&i.length===0){r(t.map(s));return}var o=$,l=sl(),c=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(v=>v.promise)):null;function u(v){if((o.f&dt)===0){l();try{r(v)}catch(h){on(h,o)}os()}}var d=di();if(n.length===0){c.then(()=>u(t.map(s))).finally(d);return}function f(){Promise.all(n.map(v=>al(v))).then(v=>u([...t.map(s),...v])).catch(v=>on(v,o)).finally(d)}c?c.then(()=>{l(),f(),os()}):f()}function sl(){var e=$,t=K,n=Ye,r=U;return function(i=!0){Lt(e),vt(t),ar(n),i&&(e.f&dt)===0&&(r?.activate(),r?.apply())}}function os(e=!0){Lt(null),vt(null),ar(null),e&&U?.deactivate()}function di(){var e=$,t=e.b,n=U,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),()=>{t.update_pending_count(-1,n),n.decrement(r,e)}}function Or(e){var t=Ne|Re;return $!==null&&($.f|=lr),{ctx:Ye,deps:null,effects:null,equals:ei,f:t,fn:e,reactions:null,rv:0,v:Ie,wv:0,parent:$,ac:null}}const Hr=Symbol("obsolete");function al(e,t,n){let r=$;r===null&&go();var s=void 0,i=Rn(Ie),o=!K,l=new Set;return gl(()=>{var c=$,u=Ja();s=u.promise;try{Promise.resolve(e()).then(u.resolve,h=>{h!==ys&&u.reject(h)}).finally(os)}catch(h){u.reject(h),os()}var d=U;if(o){if((c.f&Nn)!==0)var f=di();if(r.b.is_rendered())d.async_deriveds.get(c)?.reject(Hr);else for(const h of l.values())h.reject(Hr);l.add(u),d.async_deriveds.set(c,u)}const v=(h,b=void 0)=>{f?.(),l.delete(u),b!==Hr&&(d.activate(),b?(i.f|=ln,ir(i,b)):((i.f&ln)!==0&&(i.f^=ln),ir(i,h)),d.deactivate())};u.promise.then(v,h=>v(null,h||"unknown"))}),va(()=>{for(const c of l)c.reject(Hr)}),new Promise(c=>{function u(d){function f(){d===s?c(i):u(s)}d.then(f,f)}u(s)})}function D(e){const t=Or(e);return Ti(t),t}function _i(e){const t=Or(e);return t.equals=ti,t}function il(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n0&&!pi&&cl()}return t}function cl(){pi=!1;for(const e of ls){(e.f&Me)!==0&&ge(e,Pt);let t;try{t=qr(e)}catch{t=!0}t&&or(e)}ls.clear()}function Er(e){ne(e,e.v+1)}function mi(e,t,n){var r=e.reactions;if(r!==null)for(var s=r.length,i=0;i{if(In===i)return l();var c=K,u=In;vt(null),Aa(i);var d=l();return vt(c),Aa(u),d};return r&&n.set("length",Ee(e.length)),new Proxy(e,{defineProperty(l,c,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&xo();var d=n.get(c);return d===void 0?o(()=>{var f=Ee(u.value);return n.set(c,f),f}):ne(d,u.value,!0),!0},deleteProperty(l,c){var u=n.get(c);if(u===void 0){if(c in l){const d=o(()=>Ee(Ie));n.set(c,d),Er(s)}}else ne(u,Ie),Er(s);return!0},get(l,c,u){if(c===An)return e;var d=n.get(c),f=c in l;if(d===void 0&&(!f||Gn(l,c)?.writable)&&(d=o(()=>{var h=Kt(f?l[c]:Ie),b=Ee(h);return b}),n.set(c,d)),d!==void 0){var v=a(d);return v===Ie?void 0:v}return Reflect.get(l,c,u)},getOwnPropertyDescriptor(l,c){var u=Reflect.getOwnPropertyDescriptor(l,c);if(u&&"value"in u){var d=n.get(c);d&&(u.value=a(d))}else if(u===void 0){var f=n.get(c),v=f?.v;if(f!==void 0&&v!==Ie)return{enumerable:!0,configurable:!0,value:v,writable:!0}}return u},has(l,c){if(c===An)return!0;var u=n.get(c),d=u!==void 0&&u.v!==Ie||Reflect.has(l,c);if(u!==void 0||$!==null&&(!d||Gn(l,c)?.writable)){u===void 0&&(u=o(()=>{var v=d?Kt(l[c]):Ie,h=Ee(v);return h}),n.set(c,u));var f=a(u);if(f===Ie)return!1}return d},set(l,c,u,d){var f=n.get(c),v=c in l;if(r&&c==="length")for(var h=u;hEe(Ie)),n.set(h+"",b))}if(f===void 0)(!v||Gn(l,c)?.writable)&&(f=o(()=>Ee(void 0)),ne(f,Kt(u)),n.set(c,f));else{v=f.v!==Ie;var O=o(()=>Kt(u));ne(f,O)}var m=Reflect.getOwnPropertyDescriptor(l,c);if(m?.set&&m.set.call(d,u),!v){if(r&&typeof c=="string"){var A=n.get("length"),C=Number(c);Number.isInteger(C)&&C>=A.v&&ne(A,C+1)}Er(s)}return!0},ownKeys(l){a(s);var c=Reflect.ownKeys(l).filter(f=>{var v=n.get(f);return v===void 0||v.v!==Ie});for(var[u,d]of n)d.v!==Ie&&!(u in l)&&c.push(u);return c},setPrototypeOf(){Co()}})}function Ea(e){try{if(e!==null&&typeof e=="object"&&An in e)return e[An]}catch{}return e}function ul(e,t){return Object.is(Ea(e),Ea(t))}var cs,gi,bi,yi;function fl(){if(cs===void 0){cs=window,gi=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;bi=Gn(t,"firstChild").get,yi=Gn(t,"nextSibling").get,wa(e)&&(e[Hs]=void 0,e[zr]=null,e[Ws]=void 0,e.__e=void 0),wa(n)&&(n[mr]=void 0)}}function Gt(e=""){return document.createTextNode(e)}function us(e){return bi.call(e)}function Dr(e){return yi.call(e)}function y(e,t){return us(e)}function Ce(e,t=!1){{var n=us(e);return n instanceof Comment&&n.data===""?Dr(n):n}}function w(e,t=1,n=!1){let r=e;for(;t--;)r=Dr(r);return r}function dl(e){e.textContent=""}function wi(){return!1}function _l(e,t,n){return document.createElementNS(Za,e,void 0)}let xa=!1;function vl(){xa||(xa=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t[Vr]?.()})},{capture:!0}))}function ws(e){var t=K,n=$;vt(null),Lt(null);try{return e()}finally{vt(t),Lt(n)}}function da(e,t,n,r=n){e.addEventListener(t,()=>ws(n));const s=e[Vr];s?e[Vr]=()=>{s(),r(!0)}:e[Vr]=()=>r(!0),vl()}function hl(e){$===null&&(K===null&&ko(),wo()),Jt&&yo()}function pl(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function Xt(e,t){var n=$;n!==null&&(n.f&qe)!==0&&(e|=qe);var r={ctx:Ye,deps:null,nodes:null,f:e|Re|ft,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};U?.register_created_effect(r);var s=r;if((e&rr)!==0)zn!==null?zn.push(r):Ln.ensure().schedule(r);else if(t!==null){try{or(r)}catch(o){throw Ge(r),o}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&lr)===0&&(s=s.first,(e&yt)!==0&&(e&sr)!==0&&s!==null&&(s.f|=sr))}if(s!==null&&(s.parent=n,n!==null&&pl(s,n),K!==null&&(K.f&Ne)!==0&&(e&fn)===0)){var i=K;(i.effects??(i.effects=[])).push(s)}return r}function _a(){return K!==null&&!kt}function va(e){const t=Xt(bs,null);return ge(t,Me),t.teardown=e,t}function ks(e){hl();var t=$.f,n=!K&&(t&St)!==0&&(t&Nn)===0;if(n){var r=Ye;(r.e??(r.e=[])).push(e)}else return ki(e)}function ki(e){return Xt(rr|vo,e)}function ml(e){Ln.ensure();const t=Xt(fn|lr,e);return(n={})=>new Promise(r=>{n.outro?On(t,()=>{Ge(t),r(void 0)}):(Ge(t),r(void 0))})}function Si(e){return Xt(rr,e)}function gl(e){return Xt(Yn|lr,e)}function Ss(e,t=0){return Xt(bs|t,e)}function L(e,t=[],n=[],r=[]){rl(r,t,n,s=>{Xt(bs,()=>e(...s.map(a)))})}function ha(e,t=0){var n=Xt(yt|t,e);return n}function ct(e){return Xt(St|lr,e)}function Ei(e){var t=e.teardown;if(t!==null){const n=Jt,r=K;Ca(!0),vt(null);try{t.call(null)}finally{Ca(n),vt(r)}}}function pa(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&ws(()=>{s.abort(ys)});var r=n.next;(n.f&fn)!==0?n.parent=null:Ge(n,t),n=r}}function bl(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&St)===0&&Ge(t),t=n}}function Ge(e,t=!0){var n=!1;(t||(e.f&_o)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(yl(e.nodes.start,e.nodes.end),n=!0),ge(e,js),pa(e,t&&!n),Ir(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const i of r)i.stop();Ei(e),e.f^=js,e.f|=dt;var s=e.parent;s!==null&&s.first!==null&&xi(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function yl(e,t){for(;e!==null;){var n=e===t?null:Dr(e);e.remove(),e=n}}function xi(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function On(e,t,n=!0){var r=[];Ci(e,r,!0);var s=()=>{n&&Ge(e),t&&t()},i=r.length;if(i>0){var o=()=>--i||s();for(var l of r)l.out(o)}else s()}function Ci(e,t,n){if((e.f&qe)===0){e.f^=qe;var r=e.nodes&&e.nodes.t;if(r!==null)for(const l of r)(l.is_global||n)&&t.push(l);for(var s=e.first;s!==null;){var i=s.next;if((s.f&fn)===0){var o=(s.f&sr)!==0||(s.f&St)!==0&&(e.f&yt)!==0;Ci(s,t,o?n:!1)}s=i}}}function ma(e){Ai(e,!0)}function Ai(e,t){if((e.f&qe)!==0){e.f^=qe,(e.f&Me)===0&&(ge(e,Re),Ln.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&sr)!==0||(n.f&St)!==0;Ai(n,s?t:!1),n=r}var i=e.nodes&&e.nodes.t;if(i!==null)for(const o of i)(o.is_global||t)&&o.in()}}function ga(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:Dr(n);t.append(n),n=s}}let Qr=!1,Jt=!1;function Ca(e){Jt=e}let K=null,kt=!1;function vt(e){K=e}let $=null;function Lt(e){$=e}let _t=null;function Ti(e){K!==null&&(_t===null?_t=[e]:_t.push(e))}let ze=null,Xe=0,at=null;function wl(e){at=e}let Oi=1,gn=0,In=gn;function Aa(e){In=e}function Ii(){return++Oi}function qr(e){var t=e.f;if((t&Re)!==0)return!0;if(t&Ne&&(e.f&=~Pn),(t&Pt)!==0){for(var n=e.deps,r=n.length,s=0;se.wv)return!0}(t&ft)!==0&&wt===null&&ge(e,Me)}return!1}function Mi(e,t,n=!0){var r=e.reactions;if(r!==null&&!(_t!==null&&Cn.call(_t,e)))for(var s=0;s{e.ac.abort(ys)}),e.ac=null);try{e.f|=is;var d=e.fn,f=d();e.f|=Nn;var v=e.deps,h=U?.is_fork;if(ze!==null){var b;if(h||Ir(e,Xe),v!==null&&Xe>0)for(v.length=Xe+ze.length,b=0;bn?.call(this,i))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?cn(()=>{t.addEventListener(e,s,r)}):t.addEventListener(e,s,r),s}function Bi(e,t,n,r,s){var i={capture:r,passive:s},o=Cl(e,t,n,i);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&va(()=>{t.removeEventListener(e,o,i)})}function te(e,t,n){(t[bn]??(t[bn]={}))[e]=n}function Dn(e){for(var t=0;t{throw m});throw v}}finally{e[bn]=t,delete e.currentTarget,vt(d),Lt(f)}}}const Al=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function Tl(e){return Al?.createHTML(e)??e}function Ol(e){var t=_l("template");return t.innerHTML=Tl(e.replaceAll("","")),t.content}function fs(e,t){var n=$;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function S(e,t){var n=(t&Fo)!==0,r=(t&Do)!==0,s,i=!e.startsWith("");return()=>{s===void 0&&(s=Ol(i?e:""+e),n||(s=us(s)));var o=r||gi?document.importNode(s,!0):s.cloneNode(!0);if(n){var l=us(o),c=o.lastChild;fs(l,c)}else fs(o,o);return o}}function Il(e=""){{var t=Gt(e+"");return fs(t,t),t}}function Fi(){var e=document.createDocumentFragment(),t=document.createComment(""),n=Gt();return e.append(t,n),fs(t,n),e}function k(e,t){e!==null&&e.before(t)}function F(e,t){var n=t==null?"":typeof t=="object"?`${t}`:t;n!==(e[mr]??(e[mr]=e.nodeValue))&&(e[mr]=n,e.nodeValue=`${n}`)}function Es(e,t){return Ml(e,t)}const Wr=new Map;function Ml(e,{target:t,anchor:n,props:r={},events:s,context:i,intro:o=!0,transformError:l}){fl();var c=void 0,u=ml(()=>{var d=n??t.appendChild(Gt());Qo(d,{pending:()=>{}},h=>{Bn({});var b=Ye;i&&(b.c=i),s&&(r.$$events=s),c=e(h,r)||{},Fn()},l);var f=new Set,v=h=>{for(var b=0;b{for(var h of f)for(const m of[t,document]){var b=Wr.get(m),O=b.get(h);--O==0?(m.removeEventListener(h,Qs),b.delete(h),b.size===0&&Wr.delete(m)):b.set(h,O)}Xs.delete(v),d!==n&&d.parentNode?.removeChild(d)}});return Zs.set(c,u),c}let Zs=new WeakMap;function ur(e,t){const n=Zs.get(e);return n?(Zs.delete(e),n(t)):Promise.resolve()}var bt,It,et,xn,Br,Fr,ms;class Pl{constructor(t,n=!0){Ue(this,"anchor");H(this,bt,new Map);H(this,It,new Map);H(this,et,new Map);H(this,xn,new Set);H(this,Br,!0);H(this,Fr,t=>{if(_(this,bt).has(t)){var n=_(this,bt).get(t),r=_(this,It).get(n);if(r)ma(r),_(this,xn).delete(n);else{var s=_(this,et).get(n);s&&(_(this,It).set(n,s.effect),_(this,et).delete(n),s.fragment.lastChild.remove(),this.anchor.before(s.fragment),r=s.effect)}for(const[i,o]of _(this,bt)){if(_(this,bt).delete(i),i===t)break;const l=_(this,et).get(o);l&&(Ge(l.effect),_(this,et).delete(o))}for(const[i,o]of _(this,It)){if(i===n||_(this,xn).has(i))continue;const l=()=>{if(Array.from(_(this,bt).values()).includes(i)){var u=document.createDocumentFragment();ga(o,u),u.append(Gt()),_(this,et).set(i,{effect:o,fragment:u})}else Ge(o);_(this,xn).delete(i),_(this,It).delete(i)};_(this,Br)||!r?(_(this,xn).add(i),On(o,l,!1)):l()}}});H(this,ms,t=>{_(this,bt).delete(t);const n=Array.from(_(this,bt).values());for(const[r,s]of _(this,et))n.includes(r)||(Ge(s.effect),_(this,et).delete(r))});this.anchor=t,j(this,Br,n)}ensure(t,n){var r=U,s=wi();if(n&&!_(this,It).has(t)&&!_(this,et).has(t))if(s){var i=document.createDocumentFragment(),o=Gt();i.append(o),_(this,et).set(t,{effect:ct(()=>n(o)),fragment:i})}else _(this,It).set(t,ct(()=>n(this.anchor)));if(_(this,bt).set(r,t),s){for(const[l,c]of _(this,It))l===t?r.unskip_effect(c):r.skip_effect(c);for(const[l,c]of _(this,et))l===t?r.unskip_effect(c.effect):r.skip_effect(c.effect);r.oncommit(_(this,Fr)),r.ondiscard(_(this,ms))}else _(this,Fr).call(this,r)}}bt=new WeakMap,It=new WeakMap,et=new WeakMap,xn=new WeakMap,Br=new WeakMap,Fr=new WeakMap,ms=new WeakMap;function q(e,t,n=!1){var r=new Pl(e),s=n?sr:0;function i(o,l){r.ensure(o,l)}ha(()=>{var o=!1;t((l,c=0)=>{o=!0,i(c,l)}),o||i(-1,null)},s)}function Ur(e,t){return t}function Ll(e,t,n){for(var r=[],s=t.length,i,o=t.length,l=0;l{if(i){if(i.pending.delete(f),i.done.add(f),i.pending.size===0){var v=e.outrogroups;ea(e,gs(i.done)),v.delete(i),v.size===0&&(e.outrogroups=null)}}else o-=1},!1)}if(o===0){var c=r.length===0&&n!==null;if(c){var u=n,d=u.parentNode;dl(d),d.append(u),e.items.clear()}ea(e,t,!c)}else i={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(i)}function ea(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(const o of e.pending.values())for(const l of o)r.add(e.items.get(l).e)}for(var s=0;s{var R=n();return oa(R)?R:R==null?[]:gs(R)}),v,h=new Map,b=!0;function O(R){(C.effect.f&dt)===0&&(C.pending.delete(R),C.fallback=d,Rl(C,v,o,t,r),d!==null&&(v.length===0?(d.f&Mt)===0?ma(d):(d.f^=Mt,br(d,null,o)):On(d,()=>{d=null})))}function m(R){C.pending.delete(R)}var A=ha(()=>{v=a(f);for(var R=v.length,W=new Set,re=U,he=wi(),ue=0;uei(o)):(d=ct(()=>i(Oa??(Oa=Gt()))),d.f|=Mt)),R>W.size&&bo(),!b)if(h.set(re,W),he){for(const[He,Et]of l)W.has(He)||re.skip_effect(Et.e);re.oncommit(O),re.ondiscard(m)}else O(re);a(f)}),C={effect:A,items:l,pending:h,outrogroups:null,fallback:d};b=!1}function pr(e){for(;e!==null&&(e.f&St)===0;)e=e.next;return e}function Rl(e,t,n,r,s){var i=(r&Mo)!==0,o=t.length,l=e.items,c=pr(e.effect.first),u,d=null,f,v=[],h=[],b,O,m,A;if(i)for(A=0;A0){var je=(r&Qa)!==0&&o===0?n:null;if(i){for(A=0;A{if(f!==void 0)for(m of f)m.nodes?.a?.apply()})}function Nl(e,t,n,r,s,i,o,l){var c=(o&Oo)!==0?(o&Po)===0?ll(n,!1,!1):Rn(n):null,u=(o&Io)!==0?Rn(s):null;return{v:c,i:u,e:ct(()=>(i(t,c??n,u??s,l),()=>{e.delete(r)}))}}function br(e,t,n){if(e.nodes)for(var r=e.nodes.start,s=e.nodes.end,i=t&&(t.f&Mt)===0?t.nodes.start:n;r!==null;){var o=Dr(r);if(i.before(r),r===s)return;r=o}}function nn(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}const Ia=[...` -\r\f \v\uFEFF`];function Bl(e,t,n){var r=e==null?"":""+e;if(t&&(r=r?r+" "+t:t),n){for(var s of Object.keys(n))if(n[s])r=r?r+" "+s:s;else if(r.length)for(var i=s.length,o=0;(o=r.indexOf(s,o))>=0;){var l=o+i;(o===0||Ia.includes(r[o-1]))&&(l===r.length||Ia.includes(r[l]))?r=(o===0?"":r.substring(0,o))+r.substring(l+1):o=l}}return r===""?null:r}function Fl(e,t){return e==null?null:String(e)}function Ve(e,t,n,r,s,i){var o=e[Hs];if(o!==n||o===void 0){var l=Bl(n,r,i);l==null?e.removeAttribute("class"):e.className=l,e[Hs]=n}else if(i&&s!==i)for(var c in i){var u=!!i[c];(s==null||u!==!!s[c])&&e.classList.toggle(c,u)}return i}function Ke(e,t,n,r){var s=e[Ws];if(s!==t){var i=Fl(t);i==null?e.removeAttribute("style"):e.style.cssText=i,e[Ws]=t}return r}function Di(e,t,n=!1){if(e.multiple){if(t==null)return;if(!oa(t))return jo();for(var r of e.options)r.selected=t.includes(xr(r));return}for(r of e.options){var s=xr(r);if(ul(s,t)){r.selected=!0;return}}(!n||t!==void 0)&&(e.selectedIndex=-1)}function Dl(e){var t=new MutationObserver(()=>{Di(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),va(()=>{t.disconnect()})}function ta(e,t,n=t){var r=new WeakSet,s=!0;da(e,"change",i=>{var o=i?"[selected]":":checked",l;if(e.multiple)l=[].map.call(e.querySelectorAll(o),xr);else{var c=e.querySelector(o)??e.querySelector("option:not([disabled])");l=c&&xr(c)}n(l),e.__value=l,U!==null&&r.add(U)}),Si(()=>{var i=t();if(e===document.activeElement){var o=U;if(r.has(o))return}if(Di(e,i,s),s&&i===void 0){var l=e.querySelector(":checked");l!==null&&(i=xr(l),n(i))}e.__value=i,s=!1}),Dl(e)}function xr(e){return"__value"in e?e.__value:e.value}const ql=Symbol("is custom element"),jl=Symbol("is html");function ae(e,t,n,r){var s=Hl(e);s[t]!==(s[t]=n)&&(t==="loading"&&(e[po]=n),n==null?e.removeAttribute(t):typeof n!="string"&&Wl(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Hl(e){return e[zr]??(e[zr]={[ql]:e.nodeName.includes("-"),[jl]:e.namespaceURI===Za})}var Ma=new Map;function Wl(e){var t=e.getAttribute("is")||e.nodeName,n=Ma.get(t);if(n)return n;Ma.set(t,n=[]);for(var r,s=e,i=Element.prototype;i!==s;){r=oo(s);for(var o in r)r[o].set&&o!=="innerHTML"&&o!=="textContent"&&o!=="innerText"&&n.push(o);s=Ya(s)}return n}function na(e,t,n=t){var r=new WeakSet;da(e,"input",async s=>{var i=s?e.defaultValue:e.value;if(i=Ls(e)?Rs(i):i,n(i),U!==null&&r.add(U),await Sl(),i!==(i=t())){var o=e.selectionStart,l=e.selectionEnd,c=e.value.length;if(e.value=i??"",l!==null){var u=e.value.length;o===l&&l===c&&u>c?(e.selectionStart=u,e.selectionEnd=u):(e.selectionStart=o,e.selectionEnd=Math.min(l,u))}}}),cr(t)==null&&e.value&&(n(Ls(e)?Rs(e.value):e.value),U!==null&&r.add(U)),Ss(()=>{var s=t();if(e===document.activeElement){var i=U;if(r.has(i))return}Ls(e)&&s===Rs(e.value)||e.type==="date"&&!s&&!e.value||s!==e.value&&(e.value=s??"")})}function qi(e,t,n=t){da(e,"change",r=>{var s=r?e.defaultChecked:e.checked;n(s)}),cr(t)==null&&n(e.checked),Ss(()=>{var r=t();e.checked=!!r})}function Ls(e){var t=e.type;return t==="number"||t==="range"}function Rs(e){return e===""?null:+e}function Ns(e,t){return e===t||e?.[An]===t}function Ul(e={},t,n,r){var s=Ye.r,i=$;return Si(()=>{var o,l;return Ss(()=>{o=l,l=[],cr(()=>{Ns(n(...l),e)||(t(e,...l),o&&Ns(n(...o),e)&&t(null,...o))})}),()=>{let c=i;for(;c!==s&&c.parent!==null&&c.parent.f&js;)c=c.parent;const u=()=>{l&&Ns(n(...l),e)&&t(null,...l)},d=c.teardown;c.teardown=()=>{u(),d?.()}}}),e}function $t(e,t,n,r){var s=!0,i=(n&No)!==0,o=(n&Bo)!==0,l=r,c=!0,u=void 0,d=()=>o&&s?(u??(u=Or(r)),a(u)):(c&&(c=!1,l=o?cr(r):r),l);let f;if(i){var v=An in e||ho in e;f=Gn(e,t)?.set??(v&&t in e?W=>e[t]=W:void 0)}var h,b=!1;i?[h,b]=$o(()=>e[t]):h=e[t],h===void 0&&r!==void 0&&(h=d(),f&&(Eo(),f(h)));var O;if(O=()=>{var W=e[t];return W===void 0?d():(c=!0,W)},(n&Ro)===0)return O;if(f){var m=e.$$legacy;return(function(W,re){return arguments.length>0?((!re||m||b)&&f(re?O():W),W):O()})}var A=!1,C=((n&Lo)!==0?Or:_i)(()=>(A=!1,O()));i&&a(C);var R=$;return(function(W,re){if(arguments.length>0){const he=re?a(C):i?Kt(W):W;return ne(C,he),A=!0,l!==void 0&&(l=he),W}return Jt&&A||(R.f&dt)!==0?C.v:a(C)})}function ji(e){Ye===null&&mo(),ks(()=>{const t=cr(e);if(typeof t=="function")return t})}const Hi="[data-v-app]",Kl=["header","content","footer"];let ut=null,qt=null;function $l(e){const t=e instanceof Set?e:new Set(e||[]);for(let n=0;n<16;n++){const r=crypto.randomUUID().replace(/-/g,"").slice(0,8);if(!t.has(r))return r}throw new Error("rebemer: id collision exhausted")}function zl(){if(typeof document>"u")return!1;const t=document.querySelector(Hi)?.__vue_app__?.config?.globalProperties?.$_state;return!t||typeof t!="object"||!Array.isArray(t.globalClasses)?(ut=null,!1):(ut=t,qt=null,!0)}function Vl(){if(qt!==null)return qt;const e=typeof document<"u"?document.querySelector(Hi)?.__vue_app__:null;if(!e)return qt=!1,!1;const t=e.config?.globalProperties??{};if(typeof ut?.$history?.pause=="function"&&typeof ut?.$history?.resume=="function")return qt={pause:()=>ut.$history.pause(),resume:()=>ut.$history.resume()},qt;const n=t.$_bricksData??t.bricksData;return typeof n?.history?.pause=="function"&&typeof n?.history?.resume=="function"?(qt={pause:()=>n.history.pause(),resume:()=>n.history.resume()},qt):(qt=!1,!1)}function Gl(e){const t=Vl();if(t)try{t.pause(),e()}finally{t.resume()}else e()}function un(e){if(!ut||!e)return null;for(const t of Kl){const n=ut[t];if(!Array.isArray(n))continue;const r=n.find(s=>s&&s.id===e);if(r)return r}return null}function Yl(e){const t=un(e);if(!t)return[];const n=[{id:t.id,depth:0,label:t.label,name:t.name,settings:t.settings}];return Wi(t,1,n),n}function Wi(e,t,n){if(!(!e||!Array.isArray(e.children)))for(const r of e.children){const s=un(r);s&&(n.push({id:s.id,depth:t,label:s.label,name:s.name,settings:s.settings}),Wi(s,t+1,n))}}function Ui(){return ut?ut.globalClasses:[]}function Bs(e,t){if(!ut)throw new Error("rebemer: not ready");const n=ut.globalClasses,r=n.find(o=>o&&o.name===e);if(r)return r.id;const s=new Set(n.map(o=>o?.id).filter(Boolean)),i=$l(s);return n.push({id:i,name:e,settings:t||{}}),i}function Pa(e,t){const n=un(e);if(!n)return;n.settings||(n.settings={});const r=Array.isArray(t)?t:[];Array.isArray(n.settings._cssGlobalClasses)?n.settings._cssGlobalClasses.splice(0,n.settings._cssGlobalClasses.length,...r):n.settings._cssGlobalClasses=[...r]}function La(e,t){const n=un(e);n&&(n.label=t)}const ds="slashed-rebemer-host",Jl="slashed-class-hint",Ki=["#bricks-panel",".bricks-class-manager","#bricks-class-manager",'[data-control="cssClasses"]'],Xl=3;function Ql(e,t){if(!e||!t)return null;let n=String(e).trim();if(!n||/\s/.test(n)||(n[0]==="."&&(n=n.slice(1)),!n.startsWith("sf-")&&!n.startsWith("is-"))||!Object.prototype.hasOwnProperty.call(t,n))return null;const r=t[n];return!r||typeof r.description!="string"?null:{name:n,description:r.description,category:r.category}}let ra=!1,_s={},zt=null,Cr=null,nt=null;function Zl(){if(zt&&zt.isConnected)return zt;let e=document.getElementById(ds);e||(e=document.createElement("div"),e.id=ds,document.body.appendChild(e));const t=document.createElement("div");return t.id=Jl,t.className="rebemer-class-hint",t.setAttribute("role","tooltip"),t.hidden=!0,t.innerHTML='

                            ',e.appendChild(t),zt=t,t}function $i(e){let t=e;for(let n=0;t&&nl&&n.top-i-s>=0&&(c=n.top-i-s);let u=n.left;u+r>o-4&&(u=Math.max(4,o-4-r)),u<4&&(u=4),e.style.top=`${Math.round(c)}px`,e.style.left=`${Math.round(u)}px`}function zi(e,t){const n=Zl();n.querySelector(".rebemer-class-hint__name").textContent=`.${t.name}`;const r=n.querySelector(".rebemer-class-hint__cat");r.textContent=t.category||"",r.hidden=!t.category,n.querySelector(".rebemer-class-hint__desc").textContent=t.description,n.hidden=!1,ec(n,e),nt=e}function dn(){zt&&(zt.hidden=!0),nt=null}function tc(e){const t=e.target;if(!(t instanceof Element)||t.closest(`#${ds}`))return;if(!t.closest(Ki.join(","))){nt&&dn();return}const n=$i(t);if(!n){nt&&dn();return}n.el!==nt&&zi(n.el,n.hint)}function nc(e){if(!nt)return;const t=e.relatedTarget;t instanceof Node&&nt.contains(t)||dn()}function rc(e){const t=e.target;if(!(t instanceof Element)||t.closest(`#${ds}`))return;if(!t.closest(Ki.join(","))){nt&&dn();return}const n=$i(t);if(!n){nt&&dn();return}n.el!==nt&&zi(n.el,n.hint)}function sc(e){if(!nt)return;const t=e.relatedTarget;t instanceof Node&&nt.contains(t)||dn()}function ac(e){e.key==="Escape"&&dn()}function ic(e,t,n={}){if(Zr(),ra=!!e,_s=t&&typeof t=="object"?t:{},!ra||Object.keys(_s).length===0)return;Cr=new AbortController;const{signal:r}=Cr,s={passive:!0,signal:r};document.addEventListener("mouseover",tc,s),document.addEventListener("mouseout",nc,s),document.addEventListener("focusin",rc,s),document.addEventListener("focusout",sc,s),document.addEventListener("keydown",ac,s),window.addEventListener("scroll",dn,{capture:!0,passive:!0,signal:r}),n.signal&&(n.signal.aborted?Zr():n.signal.addEventListener("abort",Zr,{once:!0}))}function Zr(){Cr&&(Cr.abort(),Cr=null),zt&&(zt.remove(),zt=null),nt=null,ra=!1,_s={}}const es="li.variable-picker-item",ts="slashed-var-swatch",yr="slashed-sf-color-btn",oc=50,Ra=(e,...t)=>console[e]("[slashed-swatches]",...t);function lc(e,t){if(!e||!t)return null;let n=String(e).trim();if(!n||/\s/.test(n)||(n.slice(0,2)!=="--"&&(n="--"+n.replace(/^-+/,"")),n.indexOf("--sf-color-")!==0))return null;const r=t[n];return typeof r=="string"&&r?r:null}let sa=!1,Mr={},Yt=null,Ar=null,Jn=null,ns=null;function cc(e){if(!Yt)return;const t=e.querySelector('[data-control="text"].color-input');if(!t||t.querySelector("."+yr))return;const n=document.createElement("div");n.className=yr,n.setAttribute("data-balloon","SLASHED Colors"),n.setAttribute("data-balloon-pos","top-right"),n.setAttribute("role","button"),n.setAttribute("tabindex","0");const r=document.createElement("span");r.className=yr+"__dot",r.setAttribute("aria-hidden","true"),n.appendChild(r),n.addEventListener("click",u=>{u.stopPropagation(),Yt&&Yt(t)}),n.addEventListener("keydown",u=>{u.key===" "?(u.preventDefault(),n.click()):u.key==="Enter"&&n.click()});const s=t.querySelector(".variable-picker-button");s&&s.nextSibling?t.insertBefore(n,s.nextSibling):t.appendChild(n);const l=((t.querySelector('input[type="text"]')??t.querySelector('input:not([type="hidden"],[type="submit"],[type="button"],[type="checkbox"],[type="radio"],[type="file"])'))?.value??"").match(/^var\((--[^)]+)\)/)?.[1],c=l?Mr[l]??null:null;c&&(r.style.background=c,r.style.removeProperty("box-shadow"),n.classList.add(yr+"--active"))}function uc(e){const t=e.querySelector(":scope > span[title]")||e.querySelector(":scope > span");if(t){const n=t.getAttribute("title");return n&&n.trim()?n.trim():(t.textContent||"").trim()}return(e.textContent||"").trim()}function fc(e){if(e.classList.contains("title")||e.classList.contains("category")){const r=e.querySelector(":scope > ."+ts);r&&r.remove();return}const t=lc(uc(e),Mr);let n=e.querySelector(":scope > ."+ts);if(!t){n&&n.remove();return}n||(n=document.createElement("span"),n.className=ts,n.setAttribute("aria-hidden","true"),e.insertBefore(n,e.firstChild)),n.dataset.color!==t&&(n.style.setProperty("--slashed-swatch-color",t),n.dataset.color=t)}function Vi(){try{const e=document.querySelectorAll(es);for(const t of e)fc(t)}catch(e){Ra("warn","swatch pass failed",e)}if(Yt)try{document.querySelectorAll('[data-control="color"]').forEach(cc)}catch(e){Ra("warn","SF button inject failed",e)}}function dc(){Jn===null&&(Jn=setTimeout(()=>{Jn=null,Vi()},oc))}function _c(e){for(const t of e){const n=t.target;if(n&&n.nodeType===1&&n.closest&&(n.closest(es)||Yt&&n.closest('[data-control="color"]')))return!0;for(const r of t.addedNodes)if(r.nodeType===1&&(r.matches&&r.matches(es)||r.querySelector&&r.querySelector(es)||Yt&&(r.matches&&r.matches('[data-control="color"]')||r.querySelector&&r.querySelector('[data-control="color"]'))))return!0}return!1}function vc(e,t,n={}){rs(),sa=!!e,Mr=t&&typeof t=="object"?t:{},Yt=typeof n.onOpenPanel=="function"?n.onOpenPanel:null,!(!(sa&&Object.keys(Mr).length>0)&&!Yt)&&(ns=new AbortController,Ar=new MutationObserver(s=>{_c(s)&&dc()}),Ar.observe(document.body,{childList:!0,subtree:!0}),Vi(),n.signal&&(n.signal.aborted?rs():n.signal.addEventListener("abort",rs,{once:!0})))}function rs(){Jn!==null&&(clearTimeout(Jn),Jn=null),Ar&&(Ar.disconnect(),Ar=null),ns&&(ns.abort(),ns=null);try{document.querySelectorAll("."+ts).forEach(e=>e.remove()),document.querySelectorAll("."+yr).forEach(e=>e.remove())}catch{}sa=!1,Mr={},Yt=null}const hc="5";var Ga;typeof window<"u"&&((Ga=window.__svelte??(window.__svelte={})).v??(Ga.v=new Set)).add(hc);var pc=S('reBEM');function mc(e,t){Bn(t,!0);function n(s){s.stopPropagation(),s.preventDefault(),t.onActivate?.(t.elementId)}var r=pc();L(()=>{ae(r,"title",t.label?`Open reBEMer for ${t.label}`:"Open reBEMer"),ae(r,"aria-label",t.label?`Open reBEMer for ${t.label}`:"Open reBEMer")}),te("click",r,n),te("keydown",r,s=>(s.key==="Enter"||s.key===" ")&&n(s)),k(e,r),Fn()}Dn(["click","keydown"]);function Vt(e){return e?String(e).normalize("NFKD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x00-\x7f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,""):""}const gc=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,bc=new Set(["auto","inherit","initial","unset","revert","revert-layer","none"]);function Na(e){return e?bc.has(e)?{ok:!1,reason:`"${e}" is a CSS keyword.`}:gc.test(e)?{ok:!0}:{ok:!1,reason:"Use lowercase letters, digits, and hyphens."}:{ok:!1,reason:"Name is empty."}}const xs=new Set(["_padding","_padding_top","_padding_right","_padding_bottom","_padding_left","_margin","_margin_top","_margin_right","_margin_bottom","_margin_left","_width","_widthMin","_widthMax","_minWidth","_maxWidth","_height","_heightMin","_heightMax","_minHeight","_maxHeight","_aspectRatio","_overflow","_overflowX","_overflowY","_color","_background","_backgroundColor","_backgroundImage","_backgroundSize","_backgroundPosition","_backgroundRepeat","_backgroundAttachment","_backgroundBlendMode","_typography","_fontFamily","_fontSize","_fontWeight","_fontStyle","_lineHeight","_letterSpacing","_wordSpacing","_textAlign","_textTransform","_textDecoration","_textDecorationColor","_textShadow","_textIndent","_whiteSpace","_listStyleType","_listStylePosition","_border","_borderRadius","_borderColor","_borderStyle","_borderWidth","_outline","_outlineColor","_outlineStyle","_outlineWidth","_outlineOffset","_boxShadow","_filter","_backdropFilter","_opacity","_blendMode","_transform","_transformOrigin","_transition","_animation","_display","_flexDirection","_flexWrap","_flexGrow","_flexShrink","_flexBasis","_alignItems","_alignSelf","_alignContent","_justifyContent","_justifyItems","_justifySelf","_gap","_rowGap","_columnGap","_gridTemplateColumns","_gridTemplateRows","_gridGap","_gridAutoFlow","_gridAutoColumns","_gridAutoRows","_gridColumn","_gridRow","_gridArea","_position","_top","_right","_bottom","_left","_zIndex","_objectFit","_objectPosition","_cursor","_pointerEvents","_userSelect"]);function yc(e){if(!e||typeof e!="object")return[];const t=[];for(const n of Object.keys(e))xs.has(n)&&t.push(n);return t.sort(),t}const wc=new Set(["_cssGlobalClasses","_cssClasses","_cssId","_attributes","_hidden","_hidden_lg","_hidden_md","_hidden_sm","_hidden_xl","_name","_label","_id","tag","children","parent"]);function kc(e){if(!e||typeof e!="object")return[];const t=[];for(const n of Object.keys(e))xs.has(n)||wc.has(n)||n.startsWith("_hidden_")||t.push(n);return t.sort(),t}const Sc=new Set(["add","rename","replace","migrate","mixed"]),Ba=new Set(["user","label"]);function Gi(e,t){const n=new Map,r=[];for(const s of e){for(;r.length&&r[r.length-1].depth>=s.depth;)r.pop();const i=s.id===t,o=!i&&s.isBlockRoot===!0;if(i||o){const l=Vt(s.name);l&&s.include!==!1&&(r.push({depth:s.depth,blockName:l}),n.set(s.id,l))}else{const l=r.length?r[r.length-1].blockName:"";l&&n.set(s.id,l)}}return n}function Yi({rootId:e,rows:t,mode:n}){if(!Sc.has(n))return{ok:!1,ops:[],error:`Invalid mode: ${n}`};const r=t.find(u=>u.id===e);if(!r)return{ok:!1,ops:[],error:"Root row missing."};if(!Vt(r.name))return{ok:!1,ops:[],error:"Block name is empty."};const i=[];for(const u of t)!u.isBlockRoot||!u.include||u.id===e||Vt(u.name)||i.push(u.originalLabel||u.id);if(i.length>0)return{ok:!1,ops:[],error:`Block name is empty for: ${i.join(", ")}.`};const o=Gi(t,e),l=[];for(const u of t){if(!u.include)continue;const d=u.id===e,f=!d&&u.isBlockRoot===!0,v=o.get(u.id);if(!v)continue;let h;if(d||f)h=v;else{const b=Vt(u.name);if(!b)continue;h=`${v}__${b}`}l.push({row:u,isRoot:d||f,blockName:v,finalClass:h,modifierSlugs:[],suggestedFrom:u.suggestedFrom||"fallback"})}if(l.length===0)return{ok:!1,ops:[],error:"No rows to apply. Include at least one row."};const c=Cc(l);if(!c.ok)return{ok:!1,ops:[],error:c.error};if(n!=="migrate")for(const u of l){const d=Array.isArray(u.row.modifiers)?u.row.modifiers:[];u.modifierSlugs=d.map(f=>Vt(f)).filter(Boolean)}return{ok:!0,ops:l}}function Ec({rootId:e,rows:t,mode:n,syncLabels:r}){const s=Yi({rootId:e,rows:t,mode:n});if(!s.ok)return{ok:!1,error:s.error};const i=s.ops,o=Ui();if(n==="migrate"){const u=xc(i,o);if(!u.ok)return u}const l=new Map;for(const u of i){if(l.has(u.row.id))continue;const d=un(u.row.id);if(!d)continue;const f={classIds:Fa(d.settings).slice(),label:r?d.label??"":null};if(n==="migrate"&&Array.isArray(u.row.migrateKeys)){const v={};for(const h of u.row.migrateKeys)Object.prototype.hasOwnProperty.call(d.settings||{},h)&&(v[h]=JSON.parse(JSON.stringify(d.settings[h])));f.migrateKeys=v}l.set(u.row.id,f)}let c=0;try{Gl(()=>{for(const u of i){const d=un(u.row.id);if(!d)continue;const f=Fa(d.settings),v=u.row.op??"add",h=n==="mixed"?["add","rename","replace"].includes(v)?v:"add":n;let b={};if(h==="rename"&&f.length>0){const A=n==="mixed"&&u.row.renameFamilyId||f[0],C=o.find(R=>R&&R.id===A);C&&C.settings&&(b=JSON.parse(JSON.stringify(C.settings)))}else h==="migrate"&&(b=Ji(d.settings,u.row.migrateKeys));if(h==="migrate"){const A=o.find(C=>C&&C.name===u.finalClass);if(A){(!A.settings||typeof A.settings!="object")&&(A.settings={});for(const[C,R]of Object.entries(b))Object.prototype.hasOwnProperty.call(A.settings,C)||(A.settings[C]=R)}}const O=Bs(u.finalClass,b);let m;switch(h){case"add":case"migrate":m=f.includes(O)?f:[...f,O];break;case"rename":{const A=n==="mixed"&&u.row.renameFamilyId||(f[0]??null),C=[O],R=A?o.find(W=>W&&W.id===A):null;if(R){const W=R.name+"--";for(const re of f){if(re===A)continue;const he=o.find(ue=>ue&&ue.id===re);if(he)if(he.name.startsWith(W)){const ue=he.name.slice(R.name.length),le=he.settings?JSON.parse(JSON.stringify(he.settings)):{};C.push(Bs(u.finalClass+ue,le))}else C.push(re)}}m=C;break}case"replace":if(n==="mixed"&&u.row.renameFamilyId){const A=o.find(C=>C&&C.id===u.row.renameFamilyId);if(A){const C=A.name+"--",R=f.filter(W=>{if(W===u.row.renameFamilyId)return!1;const re=o.find(he=>he&&he.id===W);return!re||!re.name.startsWith(C)});m=[O,...R]}else m=[O]}else m=[O];break}for(const A of u.modifierSlugs){const C=`${u.finalClass}--${A}`,R=Bs(C,{});m.includes(R)||m.push(R)}if(Pa(u.row.id,m),h==="migrate"&&Ac(d.settings,u.row.migrateKeys),r){const A=Tc(u.finalClass,u.blockName);A&&La(u.row.id,A)}c++}})}catch(u){for(const[f,v]of l)try{if(Pa(f,v.classIds),v.migrateKeys){const h=un(f);h&&h.settings&&Object.assign(h.settings,v.migrateKeys)}v.label!==null&&La(f,v.label)}catch{}const d=u instanceof Error?u.message:String(u);return console.warn("[reBEMer] apply failed after",c,"mutation(s), rolled back:",d),{ok:!1,error:`Operation failed and was rolled back: ${d}`}}return c===0?{ok:!1,error:"No elements were modified. The subtree may have changed."}:{ok:!0,count:c}}function xc(e,t){for(const n of e){const r=t.find(c=>c&&c.name===n.finalClass);if(!r)continue;const s=un(n.row.id);if(!s)continue;const i=Ji(s.settings,n.row.migrateKeys),o=r.settings&&typeof r.settings=="object"?r.settings:{},l=[];for(const[c,u]of Object.entries(i))Object.prototype.hasOwnProperty.call(o,c)&&JSON.stringify(o[c])!==JSON.stringify(u)&&l.push(c.replace(/^_/,""));if(l.length>0){const c=l.join(", ");return{ok:!1,error:`Migrate blocked: existing class "${n.finalClass}" has conflicting values for ${c}. Pick a different name or use Add mode.`}}}return{ok:!0}}function Cc(e){const t=new Map;for(const r of e){const s=t.get(r.finalClass)||[];s.push(r),t.set(r.finalClass,s)}for(const[r,s]of t){if(s.length===1)continue;const i=s.filter(l=>Ba.has(l.suggestedFrom));if(i.length>1)return{ok:!1,error:`"${r}" is used by ${i.length} rows. Edit one to make it unique.`};let o=1;for(const l of s)Ba.has(l.suggestedFrom)||(l.finalClass=`${r}-${o++}`,l.suggestedFrom="auto-number")}const n=new Map;for(const r of e){const s=n.get(r.finalClass);if(s)return{ok:!1,error:`"${r.finalClass}" is produced by 2 rows after auto-numbering (one ${s}, one ${r.suggestedFrom}). Pick a different name for one of them.`};n.set(r.finalClass,r.suggestedFrom)}return{ok:!0}}function Ji(e,t){if(!e||!Array.isArray(t))return{};const n={};for(const r of t)xs.has(r)&&Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=JSON.parse(JSON.stringify(e[r])));return n}function Ac(e,t){if(!(!e||!Array.isArray(t)))for(const n of t)xs.has(n)&&Object.prototype.hasOwnProperty.call(e,n)&&delete e[n]}function Fa(e){const t=e?._cssGlobalClasses;return t?(Array.isArray(t)?t:Object.values(t)).filter(r=>typeof r=="string"&&r.length>0):[]}function Tc(e,t){let n=e;return n===t?Da(t.replace(/-/g," ")):(n.startsWith(t+"__")&&(n=n.slice(t.length+2)),n=n.replace(/--.+$/,""),Da(n.replace(/-/g," ")))}function Da(e){return e.replace(/(^|\s)([a-z])/g,(t,n,r)=>n+r.toUpperCase())}const Oc=Object.freeze({heading:"heading","text-basic":"text",text:"text","text-link":"link",code:"code",image:"image",icon:"icon","icon-box":"icon",video:"video",audio:"audio",svg:"svg",logo:"logo",shape:"shape",button:"button","button-group":"buttons","nav-nested":"nav","nav-menu":"nav",list:"list",accordion:"accordion",tabs:"tabs",slider:"slider",carousel:"carousel",countdown:"countdown",counter:"counter",testimonials:"testimonials",pricing:"pricing",team:"team",form:"form",posts:"posts",template:"item"}),Xi=new Set(["section","container","block","div"]);function Ic(e,t="item"){return!e||typeof e!="string"||Xi.has(e)?t:Oc[e]||t}function Fs(e){return typeof e=="string"&&Xi.has(e)}const Mc=Object.freeze({heading:"title","text-basic":"description",text:"description",button:"action","text-link":"link",logo:"logo",image:"image"});function Pc(e,t,n){const r=new Set(e.filter(Boolean)),s=(...h)=>h.some(b=>r.has(b)),i=s("button","button-group"),o=s("heading"),l=s("text-basic","text"),c=s("image"),u=s("nav-nested","nav-menu"),d=s("form"),f=s("icon","icon-box"),v=s("list");return d?"form":u?"nav":i&&!o&&!l?"actions":c&&!l&&!o&&!i?"media":o&&!l&&!i?"header":l&&!o&&!i?"body":o&&l?"content":o&&i?"header":f&&!l&&!o?"icon-group":v?"list-wrap":n>1?t===0?"header":t===n-1?"footer":"body":"content"}var Lc=S(''),Rc=S('BLOCK'),Nc=S('suggested'),Bc=S(' '),Fc=S(''),Dc=S('
                            '),qc=S(''),jc=S('
                            '),Hc=S('

                            No existing classes — a new class will be added instead.

                            '),Wc=S(""),Uc=S('
                            Family
                            '),Kc=S('

                            Will rename

                            '),$c=S(""),zc=S('
                            Family
                            '),Vc=S('

                            Will remove the selected family and replace with the new class (empty settings). Other classes kept.

                            '),Gc=S('

                            No existing classes — a new class will be created.

                            '),Yc=S('

                            All existing classes will be removed from this element.

                            '),Jc=S(" ",1),Xc=S('
                            ',1),Qc=S('

                            This element has no existing classes. Rename will create a new class instead.

                            '),Zc=S('

                            '),eu=S(`A class named already exists. +var lo=Object.defineProperty;var ka=e=>{throw TypeError(e)};var co=(e,t,n)=>t in e?lo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ue=(e,t,n)=>co(e,typeof t!="symbol"?t+"":t,n),Ls=(e,t,n)=>t.has(e)||ka("Cannot "+n);var _=(e,t,n)=>(Ls(e,t,"read from private field"),n?n.call(e):t.get(e)),H=(e,t,n)=>t.has(e)?ka("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),j=(e,t,n,r)=>(Ls(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),J=(e,t,n)=>(Ls(e,t,"access private method"),n);var ca=Array.isArray,uo=Array.prototype.indexOf,En=Array.prototype.includes,ys=Array.from,fo=Object.defineProperty,zn=Object.getOwnPropertyDescriptor,_o=Object.getOwnPropertyDescriptors,vo=Object.prototype,ho=Array.prototype,ti=Object.getPrototypeOf,Sa=Object.isExtensible;const po=()=>{};function mo(e){for(var t=0;t{e=r,t=s});return{promise:n,resolve:e,reject:t}}const Ne=2,nr=4,ws=8,ri=1<<24,bt=16,kt=32,un=64,Hs=128,ut=512,Me=1024,Re=2048,Mt=4096,qe=8192,ft=16384,Pn=32768,Ws=1<<25,rr=65536,cs=1<<17,go=1<<18,ur=1<<19,bo=1<<20,It=1<<25,In=65536,us=1<<21,Vn=1<<22,on=1<<23,Cn=Symbol("$state"),yo=Symbol("legacy props"),wo=Symbol(""),Jr=Symbol("attributes"),Us=Symbol("class"),Ks=Symbol("style"),br=Symbol("text"),Qr=Symbol("form reset"),ks=new class extends Error{constructor(){super(...arguments);Ue(this,"name","StaleReactionError");Ue(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function ko(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function So(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Eo(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Co(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function xo(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Ao(e){throw new Error("https://svelte.dev/e/effect_orphan")}function To(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Oo(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Io(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Mo(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Lo(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Po(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Ro=1,No=2,si=4,Bo=8,Fo=16,Do=1,qo=4,jo=8,Ho=16,Wo=1,Uo=2,Ie=Symbol("uninitialized"),ai="http://www.w3.org/1999/xhtml";function Ko(){console.warn("https://svelte.dev/e/derived_inert")}function $o(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function zo(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function ii(e){return e===this.v}function Vo(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function oi(e){return!Vo(e,this.v)}let Ye=null;function sr(e){Ye=e}function Rn(e,t=!1,n){Ye={p:Ye,i:!1,c:null,e:null,s:e,x:null,r:$,l:null}}function Nn(e){var t=Ye,n=t.e;if(n!==null){t.e=null;for(var r of n)Ti(r)}return t.i=!0,Ye=t.p,{}}function li(){return!0}let hn=[];function ci(){var e=hn;hn=[],mo(e)}function ln(e){if(hn.length===0&&!Cr){var t=hn;queueMicrotask(()=>{t===hn&&ci()})}hn.push(e)}function Go(){for(;hn.length>0;)ci()}function ui(e){var t=$;if(t===null)return K.f|=on,e;if((t.f&Pn)===0&&(t.f&nr)===0)throw e;an(e,t)}function an(e,t){for(;t!==null;){if((t.f&Hs)!==0){if((t.f&Pn)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const Yo=-7169;function ge(e,t){e.f=e.f&Yo|t}function ua(e){(e.f&ut)!==0||e.deps===null?ge(e,Me):ge(e,Mt)}function fi(e){if(e!==null)for(const t of e)(t.f&Ne)===0||(t.f&In)===0||(t.f^=In,fi(t.deps))}function di(e,t,n){(e.f&Re)!==0?t.add(e):(e.f&Mt)!==0&&n.add(e),fi(e.deps),ge(e,Me)}let Kr=!1;function Jo(e){var t=Kr;try{return Kr=!1,[e(),Kr]}finally{Kr=t}}let Ps=null,Wn=null,U=null,$s=null,yt=null,zs=null,Cr=!1,Rs=!1,Kn=null,Xr=null;var Ea=0;let Qo=1;var Jn,nn,gn,Qn,Xn,bn,Zn,jt,Br,Xe,Fr,rn,At,Tt,er,yn,Z,Vs,yr,Gs,_i,vi,Zr,Xo,Ys,Un;const ms=class ms{constructor(){H(this,Z);Ue(this,"id",Qo++);H(this,Jn,!1);Ue(this,"linked",!0);H(this,nn,null);H(this,gn,null);Ue(this,"async_deriveds",new Map);Ue(this,"current",new Map);Ue(this,"previous",new Map);Ue(this,"unblocked",new Set);H(this,Qn,new Set);H(this,Xn,new Set);H(this,bn,new Set);H(this,Zn,0);H(this,jt,new Map);H(this,Br,null);H(this,Xe,[]);H(this,Fr,[]);H(this,rn,new Set);H(this,At,new Set);H(this,Tt,new Map);H(this,er,new Set);Ue(this,"is_fork",!1);H(this,yn,!1)}skip_effect(t){_(this,Tt).has(t)||_(this,Tt).set(t,{d:[],m:[]}),_(this,er).delete(t)}unskip_effect(t,n=r=>this.schedule(r)){var r=_(this,Tt).get(t);if(r){_(this,Tt).delete(t);for(var s of r.d)ge(s,Re),n(s);for(s of r.m)ge(s,Mt),n(s)}_(this,er).add(t)}capture(t,n,r=!1){t.v!==Ie&&!this.previous.has(t)&&this.previous.set(t,t.v),(t.f&on)===0&&(this.current.set(t,[n,r]),yt?.set(t,n)),this.is_fork||(t.v=n)}activate(){U=this}deactivate(){U=null,yt=null}flush(){try{Rs=!0,U=this,J(this,Z,yr).call(this)}finally{Ea=0,zs=null,Kn=null,Xr=null,Rs=!1,U=null,yt=null,xn.clear()}}discard(){for(const t of _(this,Xn))t(this);_(this,Xn).clear(),_(this,bn).clear(),J(this,Z,Un).call(this)}register_created_effect(t){_(this,Fr).push(t)}increment(t,n){if(j(this,Zn,_(this,Zn)+1),t){let r=_(this,jt).get(n)??0;_(this,jt).set(n,r+1)}}decrement(t,n){if(j(this,Zn,_(this,Zn)-1),t){let r=_(this,jt).get(n)??0;r===1?_(this,jt).delete(n):_(this,jt).set(n,r-1)}_(this,yn)||(j(this,yn,!0),ln(()=>{j(this,yn,!1),this.linked&&this.flush()}))}transfer_effects(t,n){for(const r of t)_(this,rn).add(r);for(const r of n)_(this,At).add(r);t.clear(),n.clear()}oncommit(t){_(this,Qn).add(t)}ondiscard(t){_(this,Xn).add(t)}on_fork_commit(t){_(this,bn).add(t)}run_fork_commit_callbacks(){for(const t of _(this,bn))t(this);_(this,bn).clear()}settled(){return(_(this,Br)??j(this,Br,ni())).promise}static ensure(){var t;if(U===null){const n=U=new ms;J(t=n,Z,Ys).call(t),!Rs&&!Cr&&ln(()=>{_(n,Jn)||n.flush()})}return U}apply(){{yt=null;return}}schedule(t){if(zs=t,t.b?.is_pending&&(t.f&(nr|ws|ri))!==0&&(t.f&Pn)===0){t.b.defer_effect(t);return}for(var n=t;n.parent!==null;){n=n.parent;var r=n.f;if(Kn!==null&&n===$&&(K===null||(K.f&Ne)===0))return;if((r&(un|kt))!==0){if((r&Me)===0)return;n.f^=Me}}_(this,Xe).push(n)}};Jn=new WeakMap,nn=new WeakMap,gn=new WeakMap,Qn=new WeakMap,Xn=new WeakMap,bn=new WeakMap,Zn=new WeakMap,jt=new WeakMap,Br=new WeakMap,Xe=new WeakMap,Fr=new WeakMap,rn=new WeakMap,At=new WeakMap,Tt=new WeakMap,er=new WeakMap,yn=new WeakMap,Z=new WeakSet,Vs=function(){if(this.is_fork)return!0;for(const r of _(this,jt).keys()){for(var t=r,n=!1;t.parent!==null;){if(_(this,Tt).has(t)){n=!0;break}t=t.parent}if(!n)return!0}return!1},yr=function(){var c,u,d;if(j(this,Jn,!0),Ea++>1e3&&(J(this,Z,Un).call(this),el()),!J(this,Z,Vs).call(this)){for(const f of _(this,rn))_(this,At).delete(f),ge(f,Re),this.schedule(f);for(const f of _(this,At))ge(f,Mt),this.schedule(f)}const t=_(this,Xe);j(this,Xe,[]),this.apply();var n=Kn=[],r=[],s=Xr=[];for(const f of t)try{J(this,Z,Gs).call(this,f,n,r)}catch(v){throw mi(f),v}if(U=null,s.length>0){var i=ms.ensure();for(const f of s)i.schedule(f)}if(Kn=null,Xr=null,J(this,Z,Vs).call(this)){J(this,Z,Zr).call(this,r),J(this,Z,Zr).call(this,n);for(const[f,v]of _(this,Tt))pi(f,v);s.length>0&&J(c=U,Z,yr).call(c);return}const o=J(this,Z,_i).call(this);if(o){J(u=o,Z,vi).call(u,this);return}_(this,rn).clear(),_(this,At).clear();for(const f of _(this,Qn))f(this);_(this,Qn).clear(),$s=this,Ca(r),Ca(n),$s=null,_(this,Br)?.resolve();var l=U;if(this.linked&&_(this,Zn)===0&&J(this,Z,Un).call(this),_(this,Xe).length>0){l===null&&(l=this,J(this,Z,Ys).call(this));const f=l;_(f,Xe).push(..._(this,Xe).filter(v=>!_(f,Xe).includes(v)))}l!==null&&J(d=l,Z,yr).call(d)},Gs=function(t,n,r){t.f^=Me;for(var s=t.first;s!==null;){var i=s.f,o=(i&(kt|un))!==0,l=o&&(i&Me)!==0,c=l||(i&qe)!==0||_(this,Tt).has(s);if(!c&&s.fn!==null){o?s.f^=Me:(i&nr)!==0?n.push(s):Ur(s)&&((i&bt)!==0&&_(this,At).add(s),ir(s));var u=s.first;if(u!==null){s=u;continue}}for(;s!==null;){var d=s.next;if(d!==null){s=d;break}s=s.parent}}},_i=function(){for(var t=_(this,nn);t!==null;){if(!t.is_fork){for(const[n,[,r]]of this.current)if(t.current.has(n)&&!r)return t}t=_(t,nn)}return null},vi=function(t){var r;for(const[s,i]of t.current)!this.previous.has(s)&&t.previous.has(s)&&this.previous.set(s,t.previous.get(s)),this.current.set(s,i);for(const[s,i]of t.async_deriveds){const o=this.async_deriveds.get(s);o&&i.promise.then(o.resolve)}const n=s=>{var i=s.reactions;if(i!==null)for(const c of i){var o=c.f;if((o&Ne)!==0)n(c);else{var l=c;o&(Vn|bt)&&!this.async_deriveds.has(l)&&(_(this,At).delete(l),ge(l,Re),this.schedule(l))}}};for(const s of this.current.keys())n(s);this.oncommit(()=>t.discard()),J(r=t,Z,Un).call(r),U=this,J(this,Z,yr).call(this)},Zr=function(t){for(var n=0;n!this.current.has(v));if(s.length===0)t&&f.discard();else if(n.length>0){if(t)for(const v of _(this,er))f.unskip_effect(v,h=>{var b;(h.f&(bt|Vn))!==0?f.schedule(h):J(b=f,Z,Zr).call(b,[h])});f.activate();var i=new Set,o=new Map;for(var l of n)hi(l,s,i,o);o=new Map;var c=[...f.current.keys()].filter(v=>this.current.has(v)?this.current.get(v)[0]!==v.v:!0);if(c.length>0)for(const v of _(this,Fr))(v.f&(ft|qe|cs))===0&&fa(v,c,o)&&((v.f&(Vn|bt))!==0?(ge(v,Re),f.schedule(v)):_(f,rn).add(v));if(_(f,Xe).length>0&&!_(f,yn)){f.apply();for(var u of _(f,Xe))J(d=f,Z,Gs).call(d,u,[],[]);j(f,Xe,[])}f.deactivate()}}}},Ys=function(){Wn===null?Ps=Wn=this:(j(Wn,gn,this),j(this,nn,Wn)),Wn=this},Un=function(){var t=_(this,nn),n=_(this,gn);t===null?Ps=n:j(t,gn,n),n===null?Wn=t:j(n,nn,t),this.linked=!1};let Mn=ms;function Zo(e){var t=Cr;Cr=!0;try{for(var n;;){if(Go(),U===null)return n;U.flush()}}finally{Cr=t}}function el(){try{To()}catch(e){an(e,zs)}}let qt=null;function Ca(e){var t=e.length;if(t!==0){for(var n=0;n0)){xn.clear();for(const s of qt){if((s.f&(ft|qe))!==0)continue;const i=[s];let o=s.parent;for(;o!==null;)qt.has(o)&&(qt.delete(o),i.push(o)),o=o.parent;for(let l=i.length-1;l>=0;l--){const c=i[l];(c.f&(ft|qe))===0&&ir(c)}}qt.clear()}}qt=null}}function hi(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const i=s.f;(i&Ne)!==0?hi(s,t,n,r):(i&(Vn|bt))!==0&&(i&Re)===0&&fa(s,t,r)&&(ge(s,Re),da(s))}}function fa(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(En.call(t,s))return!0;if((s.f&Ne)!==0&&fa(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function da(e){U.schedule(e)}function pi(e,t){if(!((e.f&kt)!==0&&(e.f&Me)!==0)){(e.f&Re)!==0?t.d.push(e):(e.f&Mt)!==0&&t.m.push(e),ge(e,Me);for(var n=e.first;n!==null;)pi(n,t),n=n.next}}function mi(e){ge(e,Me);for(var t=e.first;t!==null;)mi(t),t=t.next}function tl(e){let t=0,n=Ln(0),r;return()=>{ha()&&(a(n),Cs(()=>(t===0&&(r=fr(()=>e(()=>xr(n)))),t+=1,()=>{ln(()=>{t-=1,t===0&&(r?.(),r=void 0,xr(n))})})))}}var nl=rr|ur;function rl(e,t,n,r){new sl(e,t,n,r)}var at,la,it,wn,$e,ot,De,Ze,Ht,kn,sn,tr,Dr,qr,Wt,gs,be,al,il,ol,Js,es,ts,Qs,Xs;class sl{constructor(t,n,r,s){H(this,be);Ue(this,"parent");Ue(this,"is_pending",!1);Ue(this,"transform_error");H(this,at);H(this,la,null);H(this,it);H(this,wn);H(this,$e);H(this,ot,null);H(this,De,null);H(this,Ze,null);H(this,Ht,null);H(this,kn,0);H(this,sn,0);H(this,tr,!1);H(this,Dr,new Set);H(this,qr,new Set);H(this,Wt,null);H(this,gs,tl(()=>(j(this,Wt,Ln(_(this,kn))),()=>{j(this,Wt,null)})));j(this,at,t),j(this,it,n),j(this,wn,i=>{var o=$;o.b=this,o.f|=Hs,r(i)}),this.parent=$.b,this.transform_error=s??this.parent?.transform_error??(i=>i),j(this,$e,ma(()=>{J(this,be,Js).call(this)},nl))}defer_effect(t){di(t,_(this,Dr),_(this,qr))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!_(this,it).pending}update_pending_count(t,n){J(this,be,Qs).call(this,t,n),j(this,kn,_(this,kn)+t),!(!_(this,Wt)||_(this,tr))&&(j(this,tr,!0),ln(()=>{j(this,tr,!1),_(this,Wt)&&ar(_(this,Wt),_(this,kn))}))}get_effect_pending(){return _(this,gs).call(this),a(_(this,Wt))}error(t){if(!_(this,it).onerror&&!_(this,it).failed)throw t;U?.is_fork?(_(this,ot)&&U.skip_effect(_(this,ot)),_(this,De)&&U.skip_effect(_(this,De)),_(this,Ze)&&U.skip_effect(_(this,Ze)),U.on_fork_commit(()=>{J(this,be,Xs).call(this,t)})):J(this,be,Xs).call(this,t)}}at=new WeakMap,la=new WeakMap,it=new WeakMap,wn=new WeakMap,$e=new WeakMap,ot=new WeakMap,De=new WeakMap,Ze=new WeakMap,Ht=new WeakMap,kn=new WeakMap,sn=new WeakMap,tr=new WeakMap,Dr=new WeakMap,qr=new WeakMap,Wt=new WeakMap,gs=new WeakMap,be=new WeakSet,al=function(){try{j(this,ot,lt(()=>_(this,wn).call(this,_(this,at))))}catch(t){this.error(t)}},il=function(t){const n=_(this,it).failed;n&&j(this,Ze,lt(()=>{n(_(this,at),()=>t,()=>()=>{})}))},ol=function(){const t=_(this,it).pending;t&&(this.is_pending=!0,j(this,De,lt(()=>t(_(this,at)))),ln(()=>{var n=j(this,Ht,document.createDocumentFragment()),r=Vt();n.append(r),j(this,ot,J(this,be,ts).call(this,()=>lt(()=>_(this,wn).call(this,r)))),_(this,sn)===0&&(_(this,at).before(n),j(this,Ht,null),An(_(this,De),()=>{j(this,De,null)}),J(this,be,es).call(this,U))}))},Js=function(){try{if(this.is_pending=this.has_pending_snippet(),j(this,sn,0),j(this,kn,0),j(this,ot,lt(()=>{_(this,wn).call(this,_(this,at))})),_(this,sn)>0){var t=j(this,Ht,document.createDocumentFragment());ya(_(this,ot),t);const n=_(this,it).pending;j(this,De,lt(()=>n(_(this,at))))}else J(this,be,es).call(this,U)}catch(n){this.error(n)}},es=function(t){this.is_pending=!1,t.transfer_effects(_(this,Dr),_(this,qr))},ts=function(t){var n=$,r=K,s=Ye;Lt(_(this,$e)),_t(_(this,$e)),sr(_(this,$e).ctx);try{return Mn.ensure(),t()}catch(i){return ui(i),null}finally{Lt(n),_t(r),sr(s)}},Qs=function(t,n){var r;if(!this.has_pending_snippet()){this.parent&&J(r=this.parent,be,Qs).call(r,t,n);return}j(this,sn,_(this,sn)+t),_(this,sn)===0&&(J(this,be,es).call(this,n),_(this,De)&&An(_(this,De),()=>{j(this,De,null)}),_(this,Ht)&&(_(this,at).before(_(this,Ht)),j(this,Ht,null)))},Xs=function(t){_(this,ot)&&(Ge(_(this,ot)),j(this,ot,null)),_(this,De)&&(Ge(_(this,De)),j(this,De,null)),_(this,Ze)&&(Ge(_(this,Ze)),j(this,Ze,null));var n=_(this,it).onerror;let r=_(this,it).failed;var s=!1,i=!1;const o=()=>{if(s){zo();return}s=!0,i&&Po(),_(this,Ze)!==null&&An(_(this,Ze),()=>{j(this,Ze,null)}),J(this,be,ts).call(this,()=>{J(this,be,Js).call(this)})},l=c=>{try{i=!0,n?.(c,o),i=!1}catch(u){an(u,_(this,$e)&&_(this,$e).parent)}r&&j(this,Ze,J(this,be,ts).call(this,()=>{try{return lt(()=>{var u=$;u.b=this,u.f|=Hs,r(_(this,at),()=>c,()=>o)})}catch(u){return an(u,_(this,$e).parent),null}}))};ln(()=>{var c;try{c=this.transform_error(t)}catch(u){an(u,_(this,$e)&&_(this,$e).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(l,u=>an(u,_(this,$e)&&_(this,$e).parent)):l(c)})};function ll(e,t,n,r){const s=Lr;var i=e.filter(v=>!v.settled);if(n.length===0&&i.length===0){r(t.map(s));return}var o=$,l=cl(),c=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(v=>v.promise)):null;function u(v){if((o.f&ft)===0){l();try{r(v)}catch(h){an(h,o)}fs()}}var d=gi();if(n.length===0){c.then(()=>u(t.map(s))).finally(d);return}function f(){Promise.all(n.map(v=>ul(v))).then(v=>u([...t.map(s),...v])).catch(v=>an(v,o)).finally(d)}c?c.then(()=>{l(),f(),fs()}):f()}function cl(){var e=$,t=K,n=Ye,r=U;return function(i=!0){Lt(e),_t(t),sr(n),i&&(e.f&ft)===0&&(r?.activate(),r?.apply())}}function fs(e=!0){Lt(null),_t(null),sr(null),e&&U?.deactivate()}function gi(){var e=$,t=e.b,n=U,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),()=>{t.update_pending_count(-1,n),n.decrement(r,e)}}function Lr(e){var t=Ne|Re;return $!==null&&($.f|=ur),{ctx:Ye,deps:null,effects:null,equals:ii,f:t,fn:e,reactions:null,rv:0,v:Ie,wv:0,parent:$,ac:null}}const $r=Symbol("obsolete");function ul(e,t,n){let r=$;r===null&&So();var s=void 0,i=Ln(Ie),o=!K,l=new Set;return Sl(()=>{var c=$,u=ni();s=u.promise;try{Promise.resolve(e()).then(u.resolve,h=>{h!==ks&&u.reject(h)}).finally(fs)}catch(h){u.reject(h),fs()}var d=U;if(o){if((c.f&Pn)!==0)var f=gi();if(r.b.is_rendered())d.async_deriveds.get(c)?.reject($r);else for(const h of l.values())h.reject($r);l.add(u),d.async_deriveds.set(c,u)}const v=(h,b=void 0)=>{f?.(),l.delete(u),b!==$r&&(d.activate(),b?(i.f|=on,ar(i,b)):((i.f&on)!==0&&(i.f^=on),ar(i,h)),d.deactivate())};u.promise.then(v,h=>v(null,h||"unknown"))}),pa(()=>{for(const c of l)c.reject($r)}),new Promise(c=>{function u(d){function f(){d===s?c(i):u(s)}d.then(f,f)}u(s)})}function D(e){const t=Lr(e);return Ri(t),t}function bi(e){const t=Lr(e);return t.equals=oi,t}function fl(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n0&&!ki&&vl()}return t}function vl(){ki=!1;for(const e of ds){(e.f&Me)!==0&&ge(e,Mt);let t;try{t=Ur(e)}catch{t=!0}t&&ir(e)}ds.clear()}function xr(e){ne(e,e.v+1)}function Si(e,t,n){var r=e.reactions;if(r!==null)for(var s=r.length,i=0;i{if(Tn===i)return l();var c=K,u=Tn;_t(null),Oa(i);var d=l();return _t(c),Oa(u),d};return r&&n.set("length",Ee(e.length)),new Proxy(e,{defineProperty(l,c,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&Io();var d=n.get(c);return d===void 0?o(()=>{var f=Ee(u.value);return n.set(c,f),f}):ne(d,u.value,!0),!0},deleteProperty(l,c){var u=n.get(c);if(u===void 0){if(c in l){const d=o(()=>Ee(Ie));n.set(c,d),xr(s)}}else ne(u,Ie),xr(s);return!0},get(l,c,u){if(c===Cn)return e;var d=n.get(c),f=c in l;if(d===void 0&&(!f||zn(l,c)?.writable)&&(d=o(()=>{var h=Ut(f?l[c]:Ie),b=Ee(h);return b}),n.set(c,d)),d!==void 0){var v=a(d);return v===Ie?void 0:v}return Reflect.get(l,c,u)},getOwnPropertyDescriptor(l,c){var u=Reflect.getOwnPropertyDescriptor(l,c);if(u&&"value"in u){var d=n.get(c);d&&(u.value=a(d))}else if(u===void 0){var f=n.get(c),v=f?.v;if(f!==void 0&&v!==Ie)return{enumerable:!0,configurable:!0,value:v,writable:!0}}return u},has(l,c){if(c===Cn)return!0;var u=n.get(c),d=u!==void 0&&u.v!==Ie||Reflect.has(l,c);if(u!==void 0||$!==null&&(!d||zn(l,c)?.writable)){u===void 0&&(u=o(()=>{var v=d?Ut(l[c]):Ie,h=Ee(v);return h}),n.set(c,u));var f=a(u);if(f===Ie)return!1}return d},set(l,c,u,d){var f=n.get(c),v=c in l;if(r&&c==="length")for(var h=u;hEe(Ie)),n.set(h+"",b))}if(f===void 0)(!v||zn(l,c)?.writable)&&(f=o(()=>Ee(void 0)),ne(f,Ut(u)),n.set(c,f));else{v=f.v!==Ie;var O=o(()=>Ut(u));ne(f,O)}var m=Reflect.getOwnPropertyDescriptor(l,c);if(m?.set&&m.set.call(d,u),!v){if(r&&typeof c=="string"){var A=n.get("length"),x=Number(c);Number.isInteger(x)&&x>=A.v&&ne(A,x+1)}xr(s)}return!0},ownKeys(l){a(s);var c=Reflect.ownKeys(l).filter(f=>{var v=n.get(f);return v===void 0||v.v!==Ie});for(var[u,d]of n)d.v!==Ie&&!(u in l)&&c.push(u);return c},setPrototypeOf(){Mo()}})}function xa(e){try{if(e!==null&&typeof e=="object"&&Cn in e)return e[Cn]}catch{}return e}function hl(e,t){return Object.is(xa(e),xa(t))}var _s,Ei,Ci,xi;function pl(){if(_s===void 0){_s=window,Ei=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Ci=zn(t,"firstChild").get,xi=zn(t,"nextSibling").get,Sa(e)&&(e[Us]=void 0,e[Jr]=null,e[Ks]=void 0,e.__e=void 0),Sa(n)&&(n[br]=void 0)}}function Vt(e=""){return document.createTextNode(e)}function vs(e){return Ci.call(e)}function Wr(e){return xi.call(e)}function y(e,t){return vs(e)}function xe(e,t=!1){{var n=vs(e);return n instanceof Comment&&n.data===""?Wr(n):n}}function w(e,t=1,n=!1){let r=e;for(;t--;)r=Wr(r);return r}function ml(e){e.textContent=""}function Ai(){return!1}function gl(e,t,n){return document.createElementNS(ai,e,void 0)}let Aa=!1;function bl(){Aa||(Aa=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t[Qr]?.()})},{capture:!0}))}function Ss(e){var t=K,n=$;_t(null),Lt(null);try{return e()}finally{_t(t),Lt(n)}}function va(e,t,n,r=n){e.addEventListener(t,()=>Ss(n));const s=e[Qr];s?e[Qr]=()=>{s(),r(!0)}:e[Qr]=()=>r(!0),bl()}function yl(e){$===null&&(K===null&&Ao(),xo()),Yt&&Co()}function wl(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function Jt(e,t){var n=$;n!==null&&(n.f&qe)!==0&&(e|=qe);var r={ctx:Ye,deps:null,nodes:null,f:e|Re|ut,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};U?.register_created_effect(r);var s=r;if((e&nr)!==0)Kn!==null?Kn.push(r):Mn.ensure().schedule(r);else if(t!==null){try{ir(r)}catch(o){throw Ge(r),o}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&ur)===0&&(s=s.first,(e&bt)!==0&&(e&rr)!==0&&s!==null&&(s.f|=rr))}if(s!==null&&(s.parent=n,n!==null&&wl(s,n),K!==null&&(K.f&Ne)!==0&&(e&un)===0)){var i=K;(i.effects??(i.effects=[])).push(s)}return r}function ha(){return K!==null&&!wt}function pa(e){const t=Jt(ws,null);return ge(t,Me),t.teardown=e,t}function Es(e){yl();var t=$.f,n=!K&&(t&kt)!==0&&(t&Pn)===0;if(n){var r=Ye;(r.e??(r.e=[])).push(e)}else return Ti(e)}function Ti(e){return Jt(nr|bo,e)}function kl(e){Mn.ensure();const t=Jt(un|ur,e);return(n={})=>new Promise(r=>{n.outro?An(t,()=>{Ge(t),r(void 0)}):(Ge(t),r(void 0))})}function Oi(e){return Jt(nr,e)}function Sl(e){return Jt(Vn|ur,e)}function Cs(e,t=0){return Jt(ws|t,e)}function P(e,t=[],n=[],r=[]){ll(r,t,n,s=>{Jt(ws,()=>e(...s.map(a)))})}function ma(e,t=0){var n=Jt(bt|t,e);return n}function lt(e){return Jt(kt|ur,e)}function Ii(e){var t=e.teardown;if(t!==null){const n=Yt,r=K;Ta(!0),_t(null);try{t.call(null)}finally{Ta(n),_t(r)}}}function ga(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&Ss(()=>{s.abort(ks)});var r=n.next;(n.f&un)!==0?n.parent=null:Ge(n,t),n=r}}function El(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&kt)===0&&Ge(t),t=n}}function Ge(e,t=!0){var n=!1;(t||(e.f&go)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(Cl(e.nodes.start,e.nodes.end),n=!0),ge(e,Ws),ga(e,t&&!n),Pr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const i of r)i.stop();Ii(e),e.f^=Ws,e.f|=ft;var s=e.parent;s!==null&&s.first!==null&&Mi(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Cl(e,t){for(;e!==null;){var n=e===t?null:Wr(e);e.remove(),e=n}}function Mi(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function An(e,t,n=!0){var r=[];Li(e,r,!0);var s=()=>{n&&Ge(e),t&&t()},i=r.length;if(i>0){var o=()=>--i||s();for(var l of r)l.out(o)}else s()}function Li(e,t,n){if((e.f&qe)===0){e.f^=qe;var r=e.nodes&&e.nodes.t;if(r!==null)for(const l of r)(l.is_global||n)&&t.push(l);for(var s=e.first;s!==null;){var i=s.next;if((s.f&un)===0){var o=(s.f&rr)!==0||(s.f&kt)!==0&&(e.f&bt)!==0;Li(s,t,o?n:!1)}s=i}}}function ba(e){Pi(e,!0)}function Pi(e,t){if((e.f&qe)!==0){e.f^=qe,(e.f&Me)===0&&(ge(e,Re),Mn.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&rr)!==0||(n.f&kt)!==0;Pi(n,s?t:!1),n=r}var i=e.nodes&&e.nodes.t;if(i!==null)for(const o of i)(o.is_global||t)&&o.in()}}function ya(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:Wr(n);t.append(n),n=s}}let ns=!1,Yt=!1;function Ta(e){Yt=e}let K=null,wt=!1;function _t(e){K=e}let $=null;function Lt(e){$=e}let dt=null;function Ri(e){K!==null&&(dt===null?dt=[e]:dt.push(e))}let ze=null,Qe=0,st=null;function xl(e){st=e}let Ni=1,pn=0,Tn=pn;function Oa(e){Tn=e}function Bi(){return++Ni}function Ur(e){var t=e.f;if((t&Re)!==0)return!0;if(t&Ne&&(e.f&=~In),(t&Mt)!==0){for(var n=e.deps,r=n.length,s=0;se.wv)return!0}(t&ut)!==0&&yt===null&&ge(e,Me)}return!1}function Fi(e,t,n=!0){var r=e.reactions;if(r!==null&&!(dt!==null&&En.call(dt,e)))for(var s=0;s{e.ac.abort(ks)}),e.ac=null);try{e.f|=us;var d=e.fn,f=d();e.f|=Pn;var v=e.deps,h=U?.is_fork;if(ze!==null){var b;if(h||Pr(e,Qe),v!==null&&Qe>0)for(v.length=Qe+ze.length,b=0;bn?.call(this,i))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?ln(()=>{t.addEventListener(e,s,r)}):t.addEventListener(e,s,r),s}function Wi(e,t,n,r,s){var i={capture:r,passive:s},o=Ml(e,t,n,i);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&pa(()=>{t.removeEventListener(e,o,i)})}function te(e,t,n){(t[mn]??(t[mn]={}))[e]=n}function Bn(e){for(var t=0;t{throw m});throw v}}finally{e[mn]=t,delete e.currentTarget,_t(d),Lt(f)}}}const Ll=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function Pl(e){return Ll?.createHTML(e)??e}function Rl(e){var t=gl("template");return t.innerHTML=Pl(e.replaceAll("","")),t.content}function hs(e,t){var n=$;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function S(e,t){var n=(t&Wo)!==0,r=(t&Uo)!==0,s,i=!e.startsWith("");return()=>{s===void 0&&(s=Rl(i?e:""+e),n||(s=vs(s)));var o=r||Ei?document.importNode(s,!0):s.cloneNode(!0);if(n){var l=vs(o),c=o.lastChild;hs(l,c)}else hs(o,o);return o}}function Nl(e=""){{var t=Vt(e+"");return hs(t,t),t}}function Ui(){var e=document.createDocumentFragment(),t=document.createComment(""),n=Vt();return e.append(t,n),hs(t,n),e}function k(e,t){e!==null&&e.before(t)}function F(e,t){var n=t==null?"":typeof t=="object"?`${t}`:t;n!==(e[br]??(e[br]=e.nodeValue))&&(e[br]=n,e.nodeValue=`${n}`)}function xs(e,t){return Bl(e,t)}const zr=new Map;function Bl(e,{target:t,anchor:n,props:r={},events:s,context:i,intro:o=!0,transformError:l}){pl();var c=void 0,u=kl(()=>{var d=n??t.appendChild(Vt());rl(d,{pending:()=>{}},h=>{Rn({});var b=Ye;i&&(b.c=i),s&&(r.$$events=s),c=e(h,r)||{},Nn()},l);var f=new Set,v=h=>{for(var b=0;b{for(var h of f)for(const m of[t,document]){var b=zr.get(m),O=b.get(h);--O==0?(m.removeEventListener(h,ea),b.delete(h),b.size===0&&zr.delete(m)):b.set(h,O)}Zs.delete(v),d!==n&&d.parentNode?.removeChild(d)}});return ta.set(c,u),c}let ta=new WeakMap;function dr(e,t){const n=ta.get(e);return n?(ta.delete(e),n(t)):Promise.resolve()}var gt,Ot,et,Sn,jr,Hr,bs;class Fl{constructor(t,n=!0){Ue(this,"anchor");H(this,gt,new Map);H(this,Ot,new Map);H(this,et,new Map);H(this,Sn,new Set);H(this,jr,!0);H(this,Hr,t=>{if(_(this,gt).has(t)){var n=_(this,gt).get(t),r=_(this,Ot).get(n);if(r)ba(r),_(this,Sn).delete(n);else{var s=_(this,et).get(n);s&&(_(this,Ot).set(n,s.effect),_(this,et).delete(n),s.fragment.lastChild.remove(),this.anchor.before(s.fragment),r=s.effect)}for(const[i,o]of _(this,gt)){if(_(this,gt).delete(i),i===t)break;const l=_(this,et).get(o);l&&(Ge(l.effect),_(this,et).delete(o))}for(const[i,o]of _(this,Ot)){if(i===n||_(this,Sn).has(i))continue;const l=()=>{if(Array.from(_(this,gt).values()).includes(i)){var u=document.createDocumentFragment();ya(o,u),u.append(Vt()),_(this,et).set(i,{effect:o,fragment:u})}else Ge(o);_(this,Sn).delete(i),_(this,Ot).delete(i)};_(this,jr)||!r?(_(this,Sn).add(i),An(o,l,!1)):l()}}});H(this,bs,t=>{_(this,gt).delete(t);const n=Array.from(_(this,gt).values());for(const[r,s]of _(this,et))n.includes(r)||(Ge(s.effect),_(this,et).delete(r))});this.anchor=t,j(this,jr,n)}ensure(t,n){var r=U,s=Ai();if(n&&!_(this,Ot).has(t)&&!_(this,et).has(t))if(s){var i=document.createDocumentFragment(),o=Vt();i.append(o),_(this,et).set(t,{effect:lt(()=>n(o)),fragment:i})}else _(this,Ot).set(t,lt(()=>n(this.anchor)));if(_(this,gt).set(r,t),s){for(const[l,c]of _(this,Ot))l===t?r.unskip_effect(c):r.skip_effect(c);for(const[l,c]of _(this,et))l===t?r.unskip_effect(c.effect):r.skip_effect(c.effect);r.oncommit(_(this,Hr)),r.ondiscard(_(this,bs))}else _(this,Hr).call(this,r)}}gt=new WeakMap,Ot=new WeakMap,et=new WeakMap,Sn=new WeakMap,jr=new WeakMap,Hr=new WeakMap,bs=new WeakMap;function q(e,t,n=!1){var r=new Fl(e),s=n?rr:0;function i(o,l){r.ensure(o,l)}ma(()=>{var o=!1;t((l,c=0)=>{o=!0,i(c,l)}),o||i(-1,null)},s)}function Vr(e,t){return t}function Dl(e,t,n){for(var r=[],s=t.length,i,o=t.length,l=0;l{if(i){if(i.pending.delete(f),i.done.add(f),i.pending.size===0){var v=e.outrogroups;na(e,ys(i.done)),v.delete(i),v.size===0&&(e.outrogroups=null)}}else o-=1},!1)}if(o===0){var c=r.length===0&&n!==null;if(c){var u=n,d=u.parentNode;ml(d),d.append(u),e.items.clear()}na(e,t,!c)}else i={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(i)}function na(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(const o of e.pending.values())for(const l of o)r.add(e.items.get(l).e)}for(var s=0;s{var R=n();return ca(R)?R:R==null?[]:ys(R)}),v,h=new Map,b=!0;function O(R){(x.effect.f&ft)===0&&(x.pending.delete(R),x.fallback=d,ql(x,v,o,t,r),d!==null&&(v.length===0?(d.f&It)===0?ba(d):(d.f^=It,wr(d,null,o)):An(d,()=>{d=null})))}function m(R){x.pending.delete(R)}var A=ma(()=>{v=a(f);for(var R=v.length,W=new Set,re=U,he=Ai(),ue=0;uei(o)):(d=lt(()=>i(Ma??(Ma=Vt()))),d.f|=It)),R>W.size&&Eo(),!b)if(h.set(re,W),he){for(const[He,St]of l)W.has(He)||re.skip_effect(St.e);re.oncommit(O),re.ondiscard(m)}else O(re);a(f)}),x={effect:A,items:l,pending:h,outrogroups:null,fallback:d};b=!1}function gr(e){for(;e!==null&&(e.f&kt)===0;)e=e.next;return e}function ql(e,t,n,r,s){var i=(r&Bo)!==0,o=t.length,l=e.items,c=gr(e.effect.first),u,d=null,f,v=[],h=[],b,O,m,A;if(i)for(A=0;A0){var je=(r&si)!==0&&o===0?n:null;if(i){for(A=0;A{if(f!==void 0)for(m of f)m.nodes?.a?.apply()})}function jl(e,t,n,r,s,i,o,l){var c=(o&Ro)!==0?(o&Fo)===0?_l(n,!1,!1):Ln(n):null,u=(o&No)!==0?Ln(s):null;return{v:c,i:u,e:lt(()=>(i(t,c??n,u??s,l),()=>{e.delete(r)}))}}function wr(e,t,n){if(e.nodes)for(var r=e.nodes.start,s=e.nodes.end,i=t&&(t.f&It)===0?t.nodes.start:n;r!==null;){var o=Wr(r);if(i.before(r),r===s)return;r=o}}function tn(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}const La=[...` +\r\f \v\uFEFF`];function Hl(e,t,n){var r=e==null?"":""+e;if(t&&(r=r?r+" "+t:t),n){for(var s of Object.keys(n))if(n[s])r=r?r+" "+s:s;else if(r.length)for(var i=s.length,o=0;(o=r.indexOf(s,o))>=0;){var l=o+i;(o===0||La.includes(r[o-1]))&&(l===r.length||La.includes(r[l]))?r=(o===0?"":r.substring(0,o))+r.substring(l+1):o=l}}return r===""?null:r}function Wl(e,t){return e==null?null:String(e)}function Ve(e,t,n,r,s,i){var o=e[Us];if(o!==n||o===void 0){var l=Hl(n,r,i);l==null?e.removeAttribute("class"):e.className=l,e[Us]=n}else if(i&&s!==i)for(var c in i){var u=!!i[c];(s==null||u!==!!s[c])&&e.classList.toggle(c,u)}return i}function Ke(e,t,n,r){var s=e[Ks];if(s!==t){var i=Wl(t);i==null?e.removeAttribute("style"):e.style.cssText=i,e[Ks]=t}return r}function Ki(e,t,n=!1){if(e.multiple){if(t==null)return;if(!ca(t))return $o();for(var r of e.options)r.selected=t.includes(Ar(r));return}for(r of e.options){var s=Ar(r);if(hl(s,t)){r.selected=!0;return}}(!n||t!==void 0)&&(e.selectedIndex=-1)}function Ul(e){var t=new MutationObserver(()=>{Ki(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),pa(()=>{t.disconnect()})}function ra(e,t,n=t){var r=new WeakSet,s=!0;va(e,"change",i=>{var o=i?"[selected]":":checked",l;if(e.multiple)l=[].map.call(e.querySelectorAll(o),Ar);else{var c=e.querySelector(o)??e.querySelector("option:not([disabled])");l=c&&Ar(c)}n(l),e.__value=l,U!==null&&r.add(U)}),Oi(()=>{var i=t();if(e===document.activeElement){var o=U;if(r.has(o))return}if(Ki(e,i,s),s&&i===void 0){var l=e.querySelector(":checked");l!==null&&(i=Ar(l),n(i))}e.__value=i,s=!1}),Ul(e)}function Ar(e){return"__value"in e?e.__value:e.value}const Kl=Symbol("is custom element"),$l=Symbol("is html");function ae(e,t,n,r){var s=zl(e);s[t]!==(s[t]=n)&&(t==="loading"&&(e[wo]=n),n==null?e.removeAttribute(t):typeof n!="string"&&Vl(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function zl(e){return e[Jr]??(e[Jr]={[Kl]:e.nodeName.includes("-"),[$l]:e.namespaceURI===ai})}var Pa=new Map;function Vl(e){var t=e.getAttribute("is")||e.nodeName,n=Pa.get(t);if(n)return n;Pa.set(t,n=[]);for(var r,s=e,i=Element.prototype;i!==s;){r=_o(s);for(var o in r)r[o].set&&o!=="innerHTML"&&o!=="textContent"&&o!=="innerText"&&n.push(o);s=ti(s)}return n}function sa(e,t,n=t){var r=new WeakSet;va(e,"input",async s=>{var i=s?e.defaultValue:e.value;if(i=Ns(e)?Bs(i):i,n(i),U!==null&&r.add(U),await Tl(),i!==(i=t())){var o=e.selectionStart,l=e.selectionEnd,c=e.value.length;if(e.value=i??"",l!==null){var u=e.value.length;o===l&&l===c&&u>c?(e.selectionStart=u,e.selectionEnd=u):(e.selectionStart=o,e.selectionEnd=Math.min(l,u))}}}),fr(t)==null&&e.value&&(n(Ns(e)?Bs(e.value):e.value),U!==null&&r.add(U)),Cs(()=>{var s=t();if(e===document.activeElement){var i=U;if(r.has(i))return}Ns(e)&&s===Bs(e.value)||e.type==="date"&&!s&&!e.value||s!==e.value&&(e.value=s??"")})}function $i(e,t,n=t){va(e,"change",r=>{var s=r?e.defaultChecked:e.checked;n(s)}),fr(t)==null&&n(e.checked),Cs(()=>{var r=t();e.checked=!!r})}function Ns(e){var t=e.type;return t==="number"||t==="range"}function Bs(e){return e===""?null:+e}function Fs(e,t){return e===t||e?.[Cn]===t}function Gl(e={},t,n,r){var s=Ye.r,i=$;return Oi(()=>{var o,l;return Cs(()=>{o=l,l=[],fr(()=>{Fs(n(...l),e)||(t(e,...l),o&&Fs(n(...o),e)&&t(null,...o))})}),()=>{let c=i;for(;c!==s&&c.parent!==null&&c.parent.f&Ws;)c=c.parent;const u=()=>{l&&Fs(n(...l),e)&&t(null,...l)},d=c.teardown;c.teardown=()=>{u(),d?.()}}}),e}function Kt(e,t,n,r){var s=!0,i=(n&jo)!==0,o=(n&Ho)!==0,l=r,c=!0,u=void 0,d=()=>o&&s?(u??(u=Lr(r)),a(u)):(c&&(c=!1,l=o?fr(r):r),l);let f;if(i){var v=Cn in e||yo in e;f=zn(e,t)?.set??(v&&t in e?W=>e[t]=W:void 0)}var h,b=!1;i?[h,b]=Jo(()=>e[t]):h=e[t],h===void 0&&r!==void 0&&(h=d(),f&&(Oo(),f(h)));var O;if(O=()=>{var W=e[t];return W===void 0?d():(c=!0,W)},(n&qo)===0)return O;if(f){var m=e.$$legacy;return(function(W,re){return arguments.length>0?((!re||m||b)&&f(re?O():W),W):O()})}var A=!1,x=((n&Do)!==0?Lr:bi)(()=>(A=!1,O()));i&&a(x);var R=$;return(function(W,re){if(arguments.length>0){const he=re?a(x):i?Ut(W):W;return ne(x,he),A=!0,l!==void 0&&(l=he),W}return Yt&&A||(R.f&ft)!==0?x.v:a(x)})}function zi(e){Ye===null&&ko(),Es(()=>{const t=fr(e);if(typeof t=="function")return t})}const Vi="[data-v-app]",Yl=["header","content","footer"];let ct=null,Dt=null;function Jl(e){const t=e instanceof Set?e:new Set(e||[]);for(let n=0;n<16;n++){const r=crypto.randomUUID().replace(/-/g,"").slice(0,8);if(!t.has(r))return r}throw new Error("rebemer: id collision exhausted")}function Ql(){if(typeof document>"u")return!1;const t=document.querySelector(Vi)?.__vue_app__?.config?.globalProperties?.$_state;return!t||typeof t!="object"||!Array.isArray(t.globalClasses)?(ct=null,!1):(ct=t,Dt=null,!0)}function Xl(){if(Dt!==null)return Dt;const e=typeof document<"u"?document.querySelector(Vi)?.__vue_app__:null;if(!e)return Dt=!1,!1;const t=e.config?.globalProperties??{};if(typeof ct?.$history?.pause=="function"&&typeof ct?.$history?.resume=="function")return Dt={pause:()=>ct.$history.pause(),resume:()=>ct.$history.resume()},Dt;const n=t.$_bricksData??t.bricksData;return typeof n?.history?.pause=="function"&&typeof n?.history?.resume=="function"?(Dt={pause:()=>n.history.pause(),resume:()=>n.history.resume()},Dt):(Dt=!1,!1)}function Zl(e){const t=Xl();if(t)try{t.pause(),e()}finally{t.resume()}else e()}function cn(e){if(!ct||!e)return null;for(const t of Yl){const n=ct[t];if(!Array.isArray(n))continue;const r=n.find(s=>s&&s.id===e);if(r)return r}return null}function ec(e){const t=cn(e);if(!t)return[];const n=[{id:t.id,depth:0,label:t.label,name:t.name,settings:t.settings}];return Gi(t,1,n),n}function Gi(e,t,n){if(!(!e||!Array.isArray(e.children)))for(const r of e.children){const s=cn(r);s&&(n.push({id:s.id,depth:t,label:s.label,name:s.name,settings:s.settings}),Gi(s,t+1,n))}}function Yi(){return ct?ct.globalClasses:[]}function Ds(e,t){if(!ct)throw new Error("rebemer: not ready");const n=ct.globalClasses,r=n.find(o=>o&&o.name===e);if(r)return r.id;const s=new Set(n.map(o=>o?.id).filter(Boolean)),i=Jl(s);return n.push({id:i,name:e,settings:t||{}}),i}function Ra(e,t){const n=cn(e);if(!n)return;n.settings||(n.settings={});const r=Array.isArray(t)?t:[];Array.isArray(n.settings._cssGlobalClasses)?n.settings._cssGlobalClasses.splice(0,n.settings._cssGlobalClasses.length,...r):n.settings._cssGlobalClasses=[...r]}function Na(e,t){const n=cn(e);n&&(n.label=t)}const Ba="slashed-rebemer-host",tc="slashed-class-hint",Ji=["#bricks-panel",".bricks-class-manager","#bricks-class-manager",'[data-control="cssClasses"]'],or="rebemer-class-hint-btn",nc=50;function aa(e,t){if(!e||!t)return null;let n=String(e).trim();if(!n||/\s/.test(n)||(n[0]==="."&&(n=n.slice(1)),!n.startsWith("sf-")&&!n.startsWith("is-"))||!Object.prototype.hasOwnProperty.call(t,n))return null;const r=t[n];return!r||typeof r.description!="string"?null:{name:n,description:r.description,category:r.category}}let lr={},$t=null,Tr=null,Or=null,Gn=null,cr=null;function rc(){if($t&&$t.isConnected)return $t;let e=document.getElementById(Ba);e||(e=document.createElement("div"),e.id=Ba,document.body.appendChild(e));const t=document.createElement("div");return t.id=tc,t.className="rebemer-class-hint",t.setAttribute("role","tooltip"),t.hidden=!0,t.innerHTML='

                            ',e.appendChild(t),$t=t,t}function sc(e,t){const n=t.getBoundingClientRect(),r=e.offsetWidth,s=e.offsetHeight,i=8,o=document.documentElement.clientWidth,l=document.documentElement.clientHeight;let c=n.bottom+i;c+s>l&&n.top-i-s>=0&&(c=n.top-i-s);let u=n.left+n.width/2-r/2;u+r>o-4&&(u=Math.max(4,o-4-r)),u<4&&(u=4),e.style.top=`${Math.round(c)}px`,e.style.left=`${Math.round(u)}px`}function ac(e){const t=e.dataset.sfClass,n=t?aa(t,lr):null;if(!n)return;const r=rc();r.querySelector(".rebemer-class-hint__name").textContent=`.${n.name}`;const s=r.querySelector(".rebemer-class-hint__cat");s.textContent=n.category||"",s.hidden=!n.category,r.querySelector(".rebemer-class-hint__desc").textContent=n.description,r.hidden=!1,sc(r,e),cr=e}function Rr(){$t&&($t.hidden=!0),cr=null}function Fa(e){ac(e.currentTarget)}function Da(){Rr()}function ic(e){e.preventDefault(),e.stopPropagation()}function oc(e){e.key==="Escape"&&Rr()}function qa(e){const t=aa(e.textContent,lr);if(t)return t;const n=e.querySelectorAll("span, [contenteditable], .name, .label, a");for(const r of n){const s=aa(r.textContent,lr);if(s)return s}return null}function lc(e){return e.querySelector('.actions, [class*="action"], [class*="icons"], [class*="controls"]')||e}function cc(){const e=document.createElement("span");return e.className=or,e.setAttribute("role","button"),e.setAttribute("tabindex","0"),e.setAttribute("aria-label","What does this class do?"),e.addEventListener("mouseenter",Fa),e.addEventListener("mouseleave",Da),e.addEventListener("focus",Fa),e.addEventListener("blur",Da),e.addEventListener("click",ic),e}function Qi(){for(const t of document.querySelectorAll("."+or)){const n=t.closest("li"),r=n?qa(n):null;r?t.dataset.sfClass!==r.name&&(t.dataset.sfClass=r.name):(cr===t&&Rr(),t.remove())}const e=document.querySelectorAll(Ji.join(","));for(const t of e)for(const n of t.querySelectorAll("li")){if(n.querySelector("."+or)||n.querySelector("li"))continue;const r=qa(n);if(!r)continue;const s=cc();s.dataset.sfClass=r.name,lc(n).appendChild(s)}}function uc(){Gn===null&&(Gn=setTimeout(()=>{Gn=null,Qi()},nc))}function fc(e){const t=Ji.join(",");for(const n of e){const r=n.target;if(r&&r.nodeType===1){if(r.classList&&r.classList.contains(or))continue;if(r.closest&&r.closest(t))return!0}for(const s of n.addedNodes)if(s.nodeType===1&&!(s.classList&&s.classList.contains(or))&&(s.matches&&s.matches(t)||s.closest&&s.closest(t)||s.querySelector&&s.querySelector(t)))return!0}return!1}function dc(e,t,n={}){if(rs(),lr=t&&typeof t=="object"?t:{},!e||Object.keys(lr).length===0)return;Tr=new AbortController;const{signal:r}=Tr;document.addEventListener("keydown",oc,{passive:!0,signal:r}),window.addEventListener("scroll",Rr,{capture:!0,passive:!0,signal:r}),Or=new MutationObserver(s=>{cr&&!cr.isConnected&&Rr(),fc(s)&&uc()}),Or.observe(document.body,{childList:!0,subtree:!0}),Qi(),n.signal&&(n.signal.aborted?rs():n.signal.addEventListener("abort",rs,{once:!0}))}function rs(){Gn!==null&&(clearTimeout(Gn),Gn=null),Or&&(Or.disconnect(),Or=null),Tr&&(Tr.abort(),Tr=null);try{document.querySelectorAll("."+or).forEach(e=>e.remove())}catch{}$t&&($t.remove(),$t=null),cr=null,lr={}}const ss="li.variable-picker-item",as="slashed-var-swatch",kr="slashed-sf-color-btn",_c=50,ja=(e,...t)=>console[e]("[slashed-swatches]",...t);function vc(e,t){if(!e||!t)return null;let n=String(e).trim();if(!n||/\s/.test(n)||(n.slice(0,2)!=="--"&&(n="--"+n.replace(/^-+/,"")),n.indexOf("--sf-color-")!==0))return null;const r=t[n];return typeof r=="string"&&r?r:null}let ia=!1,Nr={},Gt=null,Ir=null,Yn=null,is=null;function hc(e){if(!Gt)return;const t=e.querySelector('[data-control="text"].color-input');if(!t||t.querySelector("."+kr))return;const n=document.createElement("div");n.className=kr,n.setAttribute("data-balloon","SLASHED Colors"),n.setAttribute("data-balloon-pos","top-right"),n.setAttribute("role","button"),n.setAttribute("tabindex","0");const r=document.createElement("span");r.className=kr+"__dot",r.setAttribute("aria-hidden","true"),n.appendChild(r),n.addEventListener("click",u=>{u.stopPropagation(),Gt&&Gt(t)}),n.addEventListener("keydown",u=>{u.key===" "?(u.preventDefault(),n.click()):u.key==="Enter"&&n.click()});const s=t.querySelector(".variable-picker-button");s&&s.nextSibling?t.insertBefore(n,s.nextSibling):t.appendChild(n);const l=((t.querySelector('input[type="text"]')??t.querySelector('input:not([type="hidden"],[type="submit"],[type="button"],[type="checkbox"],[type="radio"],[type="file"])'))?.value??"").match(/^var\((--[^)]+)\)/)?.[1],c=l?Nr[l]??null:null;c&&(r.style.background=c,r.style.removeProperty("box-shadow"),n.classList.add(kr+"--active"))}function pc(e){const t=e.querySelector(":scope > span[title]")||e.querySelector(":scope > span");if(t){const n=t.getAttribute("title");return n&&n.trim()?n.trim():(t.textContent||"").trim()}return(e.textContent||"").trim()}function mc(e){if(e.classList.contains("title")||e.classList.contains("category")){const r=e.querySelector(":scope > ."+as);r&&r.remove();return}const t=vc(pc(e),Nr);let n=e.querySelector(":scope > ."+as);if(!t){n&&n.remove();return}n||(n=document.createElement("span"),n.className=as,n.setAttribute("aria-hidden","true"),e.insertBefore(n,e.firstChild)),n.dataset.color!==t&&(n.style.setProperty("--slashed-swatch-color",t),n.dataset.color=t)}function Xi(){try{const e=document.querySelectorAll(ss);for(const t of e)mc(t)}catch(e){ja("warn","swatch pass failed",e)}if(Gt)try{document.querySelectorAll('[data-control="color"]').forEach(hc)}catch(e){ja("warn","SF button inject failed",e)}}function gc(){Yn===null&&(Yn=setTimeout(()=>{Yn=null,Xi()},_c))}function bc(e){for(const t of e){const n=t.target;if(n&&n.nodeType===1&&n.closest&&(n.closest(ss)||Gt&&n.closest('[data-control="color"]')))return!0;for(const r of t.addedNodes)if(r.nodeType===1&&(r.matches&&r.matches(ss)||r.querySelector&&r.querySelector(ss)||Gt&&(r.matches&&r.matches('[data-control="color"]')||r.querySelector&&r.querySelector('[data-control="color"]'))))return!0}return!1}function yc(e,t,n={}){os(),ia=!!e,Nr=t&&typeof t=="object"?t:{},Gt=typeof n.onOpenPanel=="function"?n.onOpenPanel:null,!(!(ia&&Object.keys(Nr).length>0)&&!Gt)&&(is=new AbortController,Ir=new MutationObserver(s=>{bc(s)&&gc()}),Ir.observe(document.body,{childList:!0,subtree:!0}),Xi(),n.signal&&(n.signal.aborted?os():n.signal.addEventListener("abort",os,{once:!0})))}function os(){Yn!==null&&(clearTimeout(Yn),Yn=null),Ir&&(Ir.disconnect(),Ir=null),is&&(is.abort(),is=null);try{document.querySelectorAll("."+as).forEach(e=>e.remove()),document.querySelectorAll("."+kr).forEach(e=>e.remove())}catch{}ia=!1,Nr={},Gt=null}const wc="5";var ei;typeof window<"u"&&((ei=window.__svelte??(window.__svelte={})).v??(ei.v=new Set)).add(wc);var kc=S('reBEM');function Sc(e,t){Rn(t,!0);function n(s){s.stopPropagation(),s.preventDefault(),t.onActivate?.(t.elementId)}var r=kc();P(()=>{ae(r,"title",t.label?`Open reBEMer for ${t.label}`:"Open reBEMer"),ae(r,"aria-label",t.label?`Open reBEMer for ${t.label}`:"Open reBEMer")}),te("click",r,n),te("keydown",r,s=>(s.key==="Enter"||s.key===" ")&&n(s)),k(e,r),Nn()}Bn(["click","keydown"]);function zt(e){return e?String(e).normalize("NFKD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x00-\x7f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,""):""}const Ec=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,Cc=new Set(["auto","inherit","initial","unset","revert","revert-layer","none"]);function Ha(e){return e?Cc.has(e)?{ok:!1,reason:`"${e}" is a CSS keyword.`}:Ec.test(e)?{ok:!0}:{ok:!1,reason:"Use lowercase letters, digits, and hyphens."}:{ok:!1,reason:"Name is empty."}}const As=new Set(["_padding","_padding_top","_padding_right","_padding_bottom","_padding_left","_margin","_margin_top","_margin_right","_margin_bottom","_margin_left","_width","_widthMin","_widthMax","_minWidth","_maxWidth","_height","_heightMin","_heightMax","_minHeight","_maxHeight","_aspectRatio","_overflow","_overflowX","_overflowY","_color","_background","_backgroundColor","_backgroundImage","_backgroundSize","_backgroundPosition","_backgroundRepeat","_backgroundAttachment","_backgroundBlendMode","_typography","_fontFamily","_fontSize","_fontWeight","_fontStyle","_lineHeight","_letterSpacing","_wordSpacing","_textAlign","_textTransform","_textDecoration","_textDecorationColor","_textShadow","_textIndent","_whiteSpace","_listStyleType","_listStylePosition","_border","_borderRadius","_borderColor","_borderStyle","_borderWidth","_outline","_outlineColor","_outlineStyle","_outlineWidth","_outlineOffset","_boxShadow","_filter","_backdropFilter","_opacity","_blendMode","_transform","_transformOrigin","_transition","_animation","_display","_flexDirection","_flexWrap","_flexGrow","_flexShrink","_flexBasis","_alignItems","_alignSelf","_alignContent","_justifyContent","_justifyItems","_justifySelf","_gap","_rowGap","_columnGap","_gridTemplateColumns","_gridTemplateRows","_gridGap","_gridAutoFlow","_gridAutoColumns","_gridAutoRows","_gridColumn","_gridRow","_gridArea","_position","_top","_right","_bottom","_left","_zIndex","_objectFit","_objectPosition","_cursor","_pointerEvents","_userSelect"]);function xc(e){if(!e||typeof e!="object")return[];const t=[];for(const n of Object.keys(e))As.has(n)&&t.push(n);return t.sort(),t}const Ac=new Set(["_cssGlobalClasses","_cssClasses","_cssId","_attributes","_hidden","_hidden_lg","_hidden_md","_hidden_sm","_hidden_xl","_name","_label","_id","tag","children","parent"]);function Tc(e){if(!e||typeof e!="object")return[];const t=[];for(const n of Object.keys(e))As.has(n)||Ac.has(n)||n.startsWith("_hidden_")||t.push(n);return t.sort(),t}const Oc=new Set(["add","rename","replace","migrate","mixed"]),Wa=new Set(["user","label"]);function Zi(e,t){const n=new Map,r=[];for(const s of e){for(;r.length&&r[r.length-1].depth>=s.depth;)r.pop();const i=s.id===t,o=!i&&s.isBlockRoot===!0;if(i||o){const l=zt(s.name);l&&s.include!==!1&&(r.push({depth:s.depth,blockName:l}),n.set(s.id,l))}else{const l=r.length?r[r.length-1].blockName:"";l&&n.set(s.id,l)}}return n}function eo({rootId:e,rows:t,mode:n}){if(!Oc.has(n))return{ok:!1,ops:[],error:`Invalid mode: ${n}`};const r=t.find(u=>u.id===e);if(!r)return{ok:!1,ops:[],error:"Root row missing."};if(!zt(r.name))return{ok:!1,ops:[],error:"Block name is empty."};const i=[];for(const u of t)!u.isBlockRoot||!u.include||u.id===e||zt(u.name)||i.push(u.originalLabel||u.id);if(i.length>0)return{ok:!1,ops:[],error:`Block name is empty for: ${i.join(", ")}.`};const o=Zi(t,e),l=[];for(const u of t){if(!u.include)continue;const d=u.id===e,f=!d&&u.isBlockRoot===!0,v=o.get(u.id);if(!v)continue;let h;if(d||f)h=v;else{const b=zt(u.name);if(!b)continue;h=`${v}__${b}`}l.push({row:u,isRoot:d||f,blockName:v,finalClass:h,modifierSlugs:[],suggestedFrom:u.suggestedFrom||"fallback"})}if(l.length===0)return{ok:!1,ops:[],error:"No rows to apply. Include at least one row."};const c=Lc(l);if(!c.ok)return{ok:!1,ops:[],error:c.error};if(n!=="migrate")for(const u of l){const d=Array.isArray(u.row.modifiers)?u.row.modifiers:[];u.modifierSlugs=d.map(f=>zt(f)).filter(Boolean)}return{ok:!0,ops:l}}function Ic({rootId:e,rows:t,mode:n,syncLabels:r}){const s=eo({rootId:e,rows:t,mode:n});if(!s.ok)return{ok:!1,error:s.error};const i=s.ops,o=Yi();if(n==="migrate"){const u=Mc(i,o);if(!u.ok)return u}const l=new Map;for(const u of i){if(l.has(u.row.id))continue;const d=cn(u.row.id);if(!d)continue;const f={classIds:Ua(d.settings).slice(),label:r?d.label??"":null};if(n==="migrate"&&Array.isArray(u.row.migrateKeys)){const v={};for(const h of u.row.migrateKeys)Object.prototype.hasOwnProperty.call(d.settings||{},h)&&(v[h]=JSON.parse(JSON.stringify(d.settings[h])));f.migrateKeys=v}l.set(u.row.id,f)}let c=0;try{Zl(()=>{for(const u of i){const d=cn(u.row.id);if(!d)continue;const f=Ua(d.settings),v=u.row.op??"add",h=n==="mixed"?["add","rename","replace"].includes(v)?v:"add":n;let b={};if(h==="rename"&&f.length>0){const A=n==="mixed"&&u.row.renameFamilyId||f[0],x=o.find(R=>R&&R.id===A);x&&x.settings&&(b=JSON.parse(JSON.stringify(x.settings)))}else h==="migrate"&&(b=to(d.settings,u.row.migrateKeys));if(h==="migrate"){const A=o.find(x=>x&&x.name===u.finalClass);if(A){(!A.settings||typeof A.settings!="object")&&(A.settings={});for(const[x,R]of Object.entries(b))Object.prototype.hasOwnProperty.call(A.settings,x)||(A.settings[x]=R)}}const O=Ds(u.finalClass,b);let m;switch(h){case"add":case"migrate":m=f.includes(O)?f:[...f,O];break;case"rename":{const A=n==="mixed"&&u.row.renameFamilyId||(f[0]??null),x=[O],R=A?o.find(W=>W&&W.id===A):null;if(R){const W=R.name+"--";for(const re of f){if(re===A)continue;const he=o.find(ue=>ue&&ue.id===re);if(he)if(he.name.startsWith(W)){const ue=he.name.slice(R.name.length),le=he.settings?JSON.parse(JSON.stringify(he.settings)):{};x.push(Ds(u.finalClass+ue,le))}else x.push(re)}}m=x;break}case"replace":if(n==="mixed"&&u.row.renameFamilyId){const A=o.find(x=>x&&x.id===u.row.renameFamilyId);if(A){const x=A.name+"--",R=f.filter(W=>{if(W===u.row.renameFamilyId)return!1;const re=o.find(he=>he&&he.id===W);return!re||!re.name.startsWith(x)});m=[O,...R]}else m=[O]}else m=[O];break}for(const A of u.modifierSlugs){const x=`${u.finalClass}--${A}`,R=Ds(x,{});m.includes(R)||m.push(R)}if(Ra(u.row.id,m),h==="migrate"&&Pc(d.settings,u.row.migrateKeys),r){const A=Rc(u.finalClass,u.blockName);A&&Na(u.row.id,A)}c++}})}catch(u){for(const[f,v]of l)try{if(Ra(f,v.classIds),v.migrateKeys){const h=cn(f);h&&h.settings&&Object.assign(h.settings,v.migrateKeys)}v.label!==null&&Na(f,v.label)}catch{}const d=u instanceof Error?u.message:String(u);return console.warn("[reBEMer] apply failed after",c,"mutation(s), rolled back:",d),{ok:!1,error:`Operation failed and was rolled back: ${d}`}}return c===0?{ok:!1,error:"No elements were modified. The subtree may have changed."}:{ok:!0,count:c}}function Mc(e,t){for(const n of e){const r=t.find(c=>c&&c.name===n.finalClass);if(!r)continue;const s=cn(n.row.id);if(!s)continue;const i=to(s.settings,n.row.migrateKeys),o=r.settings&&typeof r.settings=="object"?r.settings:{},l=[];for(const[c,u]of Object.entries(i))Object.prototype.hasOwnProperty.call(o,c)&&JSON.stringify(o[c])!==JSON.stringify(u)&&l.push(c.replace(/^_/,""));if(l.length>0){const c=l.join(", ");return{ok:!1,error:`Migrate blocked: existing class "${n.finalClass}" has conflicting values for ${c}. Pick a different name or use Add mode.`}}}return{ok:!0}}function Lc(e){const t=new Map;for(const r of e){const s=t.get(r.finalClass)||[];s.push(r),t.set(r.finalClass,s)}for(const[r,s]of t){if(s.length===1)continue;const i=s.filter(l=>Wa.has(l.suggestedFrom));if(i.length>1)return{ok:!1,error:`"${r}" is used by ${i.length} rows. Edit one to make it unique.`};let o=1;for(const l of s)Wa.has(l.suggestedFrom)||(l.finalClass=`${r}-${o++}`,l.suggestedFrom="auto-number")}const n=new Map;for(const r of e){const s=n.get(r.finalClass);if(s)return{ok:!1,error:`"${r.finalClass}" is produced by 2 rows after auto-numbering (one ${s}, one ${r.suggestedFrom}). Pick a different name for one of them.`};n.set(r.finalClass,r.suggestedFrom)}return{ok:!0}}function to(e,t){if(!e||!Array.isArray(t))return{};const n={};for(const r of t)As.has(r)&&Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=JSON.parse(JSON.stringify(e[r])));return n}function Pc(e,t){if(!(!e||!Array.isArray(t)))for(const n of t)As.has(n)&&Object.prototype.hasOwnProperty.call(e,n)&&delete e[n]}function Ua(e){const t=e?._cssGlobalClasses;return t?(Array.isArray(t)?t:Object.values(t)).filter(r=>typeof r=="string"&&r.length>0):[]}function Rc(e,t){let n=e;return n===t?Ka(t.replace(/-/g," ")):(n.startsWith(t+"__")&&(n=n.slice(t.length+2)),n=n.replace(/--.+$/,""),Ka(n.replace(/-/g," ")))}function Ka(e){return e.replace(/(^|\s)([a-z])/g,(t,n,r)=>n+r.toUpperCase())}const Nc=Object.freeze({heading:"heading","text-basic":"text",text:"text","text-link":"link",code:"code",image:"image",icon:"icon","icon-box":"icon",video:"video",audio:"audio",svg:"svg",logo:"logo",shape:"shape",button:"button","button-group":"buttons","nav-nested":"nav","nav-menu":"nav",list:"list",accordion:"accordion",tabs:"tabs",slider:"slider",carousel:"carousel",countdown:"countdown",counter:"counter",testimonials:"testimonials",pricing:"pricing",team:"team",form:"form",posts:"posts",template:"item"}),no=new Set(["section","container","block","div"]);function Bc(e,t="item"){return!e||typeof e!="string"||no.has(e)?t:Nc[e]||t}function qs(e){return typeof e=="string"&&no.has(e)}const Fc=Object.freeze({heading:"title","text-basic":"description",text:"description",button:"action","text-link":"link",logo:"logo",image:"image"});function Dc(e,t,n){const r=new Set(e.filter(Boolean)),s=(...h)=>h.some(b=>r.has(b)),i=s("button","button-group"),o=s("heading"),l=s("text-basic","text"),c=s("image"),u=s("nav-nested","nav-menu"),d=s("form"),f=s("icon","icon-box"),v=s("list");return d?"form":u?"nav":i&&!o&&!l?"actions":c&&!l&&!o&&!i?"media":o&&!l&&!i?"header":l&&!o&&!i?"body":o&&l?"content":o&&i?"header":f&&!l&&!o?"icon-group":v?"list-wrap":n>1?t===0?"header":t===n-1?"footer":"body":"content"}var qc=S(''),jc=S('BLOCK'),Hc=S('suggested'),Wc=S(' '),Uc=S(''),Kc=S('
                            '),$c=S(''),zc=S('
                            '),Vc=S('

                            No existing classes — a new class will be added instead.

                            '),Gc=S(""),Yc=S('
                            Family
                            '),Jc=S('

                            Will rename

                            '),Qc=S(""),Xc=S('
                            Family
                            '),Zc=S('

                            Will remove the selected family and replace with the new class (empty settings). Other classes kept.

                            '),eu=S('

                            No existing classes — a new class will be created.

                            '),tu=S('

                            All existing classes will be removed from this element.

                            '),nu=S(" ",1),ru=S('
                            ',1),su=S('

                            This element has no existing classes. Rename will create a new class instead.

                            '),au=S('

                            '),iu=S(`A class named already exists. On Apply, missing style keys will be merged into it. Conflicting - values block the migration — pick a different name or use Add.`,1),tu=S(`A class named already exists + values block the migration — pick a different name or use Add.`,1),ou=S(`A class named already exists globally. Apply will attach the existing class instead of - creating a duplicate.`,1),nu=S('

                            '),ru=S(' '),su=S('Migrate: ',1),au=S('No migratable keys on this element.'),iu=S(' '),ou=S('
                            '),lu=S('
                            ');function cu(e,t){Bn(t,!0);let n=$t(t,"row",15),r=$t(t,"rootId",3,""),s=$t(t,"globalClasses",19,()=>[]),i=$t(t,"finalClassNames",19,()=>[]);const o=D(()=>t.mode!=="migrate"),l=D(()=>t.mode==="migrate"),c=D(()=>t.mode==="rename"),u=D(()=>t.mode==="mixed"),d=D(()=>!t.isRoot&&t.blockName?`${t.blockName}__`:""),f=D(()=>{if(!a(u)||!Array.isArray(n().currentClassIds))return[];const g=[];for(const x of n().currentClassIds){const I=s().find(p=>p?.id===x);if(!I||I.name.includes("--"))continue;const ee=n().currentClassIds.filter(p=>s().find(T=>T?.id===p)?.name.startsWith(I.name+"--")).length;g.push({id:I.id,name:I.name,modCount:ee})}for(const x of n().currentClassIds){const I=s().find(p=>p?.id===x);if(!I||!I.name.includes("--"))continue;const ee=I.name.slice(0,I.name.indexOf("--"));g.some(p=>p.name===ee)||g.push({id:I.id,name:I.name,modCount:0})}return g});ks(()=>{!a(u)||n().op!=="rename"||!a(f).length||a(f).some(g=>g.id===n().renameFamilyId)||n(n().renameFamilyId=a(f)[0].id,!0)});const v=D(()=>n().isBlockRoot===!0&&n().id!==r()),h=D(()=>n().id!==r()),b=D(()=>n().suggestedFrom==="element-type"||n().suggestedFrom==="fallback"),O=D(()=>{if(!i().length||!n().include||!Array.isArray(s()))return null;for(const g of i()){const x=s().find(I=>I&&I.name===g);if(x)return x}return null}),m=D(()=>!Array.isArray(n().modifiers)||n().modifiers.every(g=>!Vt(g)));function A(){n().suggestedFrom!=="user"&&n(n().suggestedFrom="user",!0)}function C(g){return g.startsWith("_")?g.slice(1):g}var R=lu();let W;var re=y(R),he=y(re),ue=w(re,2),le=y(ue),je=y(le),fe=w(le,2);{var He=g=>{var x=Lc();let I;var ee=y(x);L(p=>{I=Ve(x,1,"rebemer-row__type rebemer-row__type--toggle",null,I,{"rebemer-row__type--block":a(v)}),ae(x,"title",a(v)?"Sub-block root — click to revert to element":"Click to promote to block root"),x.disabled=!n().include,F(ee,p)},[()=>a(v)?"BLOCK":(n().bricksType||"ELEM").toUpperCase()]),te("click",x,()=>{n(n().isBlockRoot=!n().isBlockRoot,!0)}),k(g,x)},Et=g=>{var x=Rc();k(g,x)};q(fe,g=>{a(h)?g(He):g(Et,-1)})}var Qt=w(fe,2);{var Zt=g=>{var x=Nc();L(()=>ae(x,"title",`Pre-filled from ${n().suggestedFrom==="element-type"?"Bricks element type":"fallback"}`)),k(g,x)};q(Qt,g=>{a(b)&&n().include&&g(Zt)})}var en=w(ue,2),tn=y(en),rt=y(tn);{var qn=g=>{var x=Bc(),I=y(x);L(()=>F(I,a(d))),k(g,x)};q(rt,g=>{a(d)&&g(qn)})}var xt=w(rt,2),jn=w(tn,2);{var Hn=g=>{var x=jc(),I=y(x);me(I,17,()=>n().modifiers,Ur,(E,T,M)=>{var B=Dc(),oe=y(B),de=w(oe,2);{var _e=P=>{var V=Fc();L(()=>V.disabled=!n().include),te("click",V,()=>{n(n().modifiers=n().modifiers.filter((Pe,xe)=>xe!==M),!0)}),k(P,V)};q(de,P=>{n().modifiers.length>1&&P(_e)})}L(()=>oe.disabled=!n().include),na(oe,()=>n().modifiers[M],P=>n(n().modifiers[M]=P,!0)),k(E,B)});var ee=w(I,2);{var p=E=>{var T=qc();L(()=>T.disabled=!n().include),te("click",T,()=>{n(n().modifiers=[...n().modifiers,""],!0)}),k(E,T)};q(ee,E=>{a(m)||E(p)})}k(g,x)};q(jn,g=>{a(o)&&g(Hn)})}var _n=w(en,2);{var vn=g=>{var x=Xc(),I=Ce(x),ee=y(I);let p;var E=w(ee,2);let T;var M=w(E,2);let B;var oe=w(I,2);{var de=P=>{var V=Fi(),Pe=Ce(V);{var xe=ce=>{var ve=Hc();k(ce,ve)},Je=ce=>{var ve=Uc(),G=w(y(ve),2);me(G,21,()=>a(f),Ur,(X,pe)=>{var we=Wc(),ht=y(we),We={};L(()=>{F(ht,`${a(pe).name??""}${a(pe).modCount>0?` (+ ${a(pe).modCount} modifier${a(pe).modCount>1?"s":""})`:""}`),We!==(We=a(pe).id)&&(we.value=(we.__value=a(pe).id)??"")}),k(X,we)}),ta(G,()=>n().renameFamilyId,X=>n(n().renameFamilyId=X,!0)),k(ce,ve)},ye=ce=>{const ve=D(()=>a(f)[0]),G=D(()=>1+a(ve).modCount);var X=Kc(),pe=w(y(X)),we=y(pe),ht=w(pe);L(()=>{F(we,a(ve).name),F(ht,`${a(ve).modCount>0?` (+ ${a(ve).modCount} modifier${a(ve).modCount>1?"s":""})`:""}${(n().currentClassIds?.length??0)>a(G)?" Other classes kept.":""}`)}),k(ce,X)};q(Pe,ce=>{a(f).length===0?ce(xe):a(f).length>1?ce(Je,1):ce(ye,-1)})}k(P,V)},_e=P=>{var V=Jc(),Pe=Ce(V);{var xe=G=>{var X=zc(),pe=w(y(X),2),we=y(pe);we.value=we.__value="";var ht=w(we);me(ht,17,()=>a(f),Ur,(We,st)=>{var Ct=$c(),Be=y(Ct),Fe={};L(()=>{F(Be,`${a(st).name??""}${a(st).modCount>0?` (+ ${a(st).modCount} modifier${a(st).modCount>1?"s":""})`:""}`),Fe!==(Fe=a(st).id)&&(Ct.value=(Ct.__value=a(st).id)??"")}),k(We,Ct)}),ta(pe,()=>n().renameFamilyId,We=>n(n().renameFamilyId=We,!0)),k(G,X)};q(Pe,G=>{a(f).length>1&&G(xe)})}var Je=w(Pe,2);{var ye=G=>{var X=Vc();k(G,X)},ce=G=>{var X=Gc();k(G,X)},ve=G=>{var X=Yc();k(G,X)};q(Je,G=>{n().renameFamilyId?G(ye):a(f).length===0?G(ce,1):G(ve,-1)})}k(P,V)};q(oe,P=>{n().op==="rename"?P(de):n().op==="replace"&&P(_e,1)})}L(()=>{p=Ve(ee,1,"rebemer-row__op-btn",null,p,{"rebemer-row__op-btn--on":n().op==="add"}),ae(ee,"aria-pressed",n().op==="add"),T=Ve(E,1,"rebemer-row__op-btn",null,T,{"rebemer-row__op-btn--on":n().op==="rename"}),ae(E,"aria-pressed",n().op==="rename"),B=Ve(M,1,"rebemer-row__op-btn",null,B,{"rebemer-row__op-btn--on":n().op==="replace"}),ae(M,"aria-pressed",n().op==="replace")}),te("click",ee,()=>{n(n().op="add",!0)}),te("click",E,()=>{n(n().op="rename",!0),!n().renameFamilyId&&a(f).length&&n(n().renameFamilyId=a(f)[0].id,!0)}),te("click",M,()=>{n(n().op="replace",!0),n(n().renameFamilyId="",!0)}),k(g,x)};q(_n,g=>{a(u)&&n().include&&g(vn)})}var hn=w(_n,2);{var Wn=g=>{var x=Qc();k(g,x)},dr=g=>{var x=Zc(),I=y(x);L(()=>F(I,`This element has ${n().currentClassCount??""} classes. Only the first will be renamed; modifiers matching it are renamed too.`)),k(g,x)};q(hn,g=>{a(c)&&n().include&&n().currentClassCount===0?g(Wn):a(c)&&n().include&&n().currentClassCount>1&&g(dr,1)})}var Un=w(hn,2);{var _r=g=>{var x=nu(),I=y(x);{var ee=E=>{var T=eu(),M=w(Ce(T)),B=y(M);L(()=>F(B,a(O).name)),k(E,T)},p=E=>{var T=tu(),M=w(Ce(T)),B=y(M);L(()=>F(B,a(O).name)),k(E,T)};q(I,E=>{a(l)?E(ee):E(p,-1)})}k(g,x)};q(Un,g=>{a(O)&&g(_r)})}var N=w(Un,2);{var z=g=>{var x=ou(),I=y(x);{var ee=M=>{var B=su(),oe=w(Ce(B),2);me(oe,17,()=>n().migrateKeys,Ur,(de,_e)=>{var P=ru(),V=y(P);L(Pe=>{ae(P,"title",`Will be lifted into ${(i()[0]||"the new class")??""}`),F(V,Pe)},[()=>C(a(_e))]),k(de,P)}),k(M,B)},p=M=>{var B=au();k(M,B)};q(I,M=>{n().migrateKeys?.length?M(ee):M(p,-1)})}var E=w(I,2);{var T=M=>{var B=iu(),oe=y(B);L(()=>F(oe,`${n().skippedKeys.length??""} skipped`)),k(M,B)};q(E,M=>{n().skippedKeys?.length&&M(T)})}k(g,x)};q(N,g=>{a(l)&&n().include&&g(z)})}L(()=>{W=Ve(R,1,"rebemer-row",null,W,{"rebemer-row--disabled":!n().include,"rebemer-row--suggested":a(b)}),Ke(R,`--rebemer-row-depth: ${n().depth??0??""}`),F(je,n().originalLabel),ae(xt,"placeholder",t.isRoot?"block-name":"element-name"),xt.disabled=!n().include}),qi(he,()=>n().include,g=>n(n().include=g,!0)),te("input",xt,A),na(xt,()=>n().name,g=>n(n().name=g,!0)),k(e,R),Fn()}Dn(["click","input"]);var uu=S(" ");function Qi(e,t){Bn(t,!0);let n=$t(t,"kind",3,"info"),r=$t(t,"duration",3,3e3),s=Ee(!0);ks(()=>{if(!a(s)||r()<=0)return;const u=setTimeout(()=>{ne(s,!1),t.onDismiss?.()},r());return()=>clearTimeout(u)});const i=D(()=>n()==="error"?"alert":"status");var o=Fi(),l=Ce(o);{var c=u=>{var d=uu(),f=y(d);L(()=>{Ve(d,1,`rebemer-toast rebemer-toast--${n()??""}`),ae(d,"role",a(i)),ae(d,"aria-live",n()==="error"?"assertive":"polite"),F(f,t.message)}),te("click",d,()=>{ne(s,!1),t.onDismiss?.()}),k(u,d)};q(l,u=>{a(s)&&u(c)})}k(e,o),Fn()}Dn(["click"]);var fu=S("Will migrate ",1),du=S(' '),_u=S(''),vu=S(' ',1);function hu(e,t){Bn(t,!0);const n={add:"Attaches a new BEM class to each element without removing any existing classes.",rename:"Replaces the first existing class with a new name, seeding its settings from the old class.",replace:"Replaces ALL existing classes with a single new BEM class (clean slate, no settings carried over).",migrate:"Lifts inline element styles (padding, color, typography, etc.) into a new global class.",mixed:"Per-element control — every row defaults to Add. Switch any row to Rename (targets one class family, keeps others) or Replace (strips all existing classes, or just a selected family)."};function r(N){const z=N?._cssGlobalClasses;return z?(Array.isArray(z)?z:Object.values(z)).filter(x=>typeof x=="string"&&x.length>0):[]}function s(N,z){const g=r(N);for(const x of g){const I=z.find(ee=>ee&&ee.id===x);if(I&&!I.name.includes("--"))return x}return g[0]??""}let i=Ee("add"),o=Ee(!0),l=Ee(Kt([])),c=Ee(Kt([])),u=Ee(null),d=Ee(null);const f=D(()=>a(l)[0]?.originalLabel??""),v=D(()=>a(l).length===0?new Map:Gi(a(l),t.rootId)),h=D(()=>{if(a(i)!=="migrate")return null;let N=0,z=0;for(const g of a(l))g.include&&(N+=g.migrateKeys?.length??0,z+=g.skippedKeys?.length??0);return{willMigrate:N,willSkip:z}}),b=D(()=>{if(a(l).length===0)return new Map;const N=Yi({rootId:t.rootId,rows:a(l),mode:a(i)}),z=new Map;if(!N.ok)return z;for(const g of N.ops){const x=[g.finalClass];for(const I of g.modifierSlugs??[])x.push(`${g.finalClass}--${I}`);z.set(g.row.id,x)}return z});ji(()=>{const N=Yl(t.rootId);ne(c,Ui().slice(),!0);const z=N.map((g,x)=>{const I=x===0,ee=g.label||"",p=Vt(ee),E=g.name||"";let T,M;p?(T=p,M="label"):I?(T="block",M="fallback"):E&&!Fs(E)?(T=Ic(E,"item"),M="element-type"):(T="item",M="fallback");const B=r(g.settings);return{id:g.id,depth:g.depth,bricksType:E,originalLabel:ee||(I?"block":"element"),name:T,modifiers:[""],isBlockRoot:!1,include:!0,suggestedFrom:M,migrateKeys:yc(g.settings),skippedKeys:kc(g.settings),currentClassCount:B.length,currentClassIds:B,op:"add",renameFamilyId:s(g.settings,a(c))}});if(z.length>1){const g=new Map(N.map(p=>[p.id,[]])),x=[];for(const p of N){for(;x.length&&x[x.length-1].depth>=p.depth;)x.pop();x.length&&g.get(x[x.length-1].id).push(p.id),x.push(p)}const I=new Map(N.map(p=>[p.id,p])),ee=new Map(z.map(p=>[p.id,p]));for(const[,p]of g){if(!p.length)continue;const E=new Map;for(const M of p){const B=I.get(M)?.name;B&&E.set(B,(E.get(B)??0)+1)}const T=p.filter(M=>Fs(I.get(M)?.name??""));for(const M of p){const B=ee.get(M),oe=I.get(M);if(!(!B||!oe||B.suggestedFrom==="label")){if(Fs(oe.name)){const de=(g.get(M)??[]).map(P=>I.get(P)?.name??"").filter(Boolean),_e=T.indexOf(M);B.name=Pc(de,_e,T.length),B.suggestedFrom="element-type"}else if((E.get(oe.name)??0)===1){const de=Mc[oe.name];de&&(B.name=de,B.suggestedFrom="element-type")}}}}}ne(l,z,!0)});function O(N){if(N.key==="Escape"){t.onClose?.();return}a(d)&&N.target instanceof Node&&a(d).contains(N.target)&&N.key==="Enter"&&(N.target?.tagName==="INPUT"||N.target?.tagName==="SELECT")&&(N.preventDefault(),A())}let m=null;function A(){const N=Vt(a(l)[0]?.name??""),z=Na(N);if(!z.ok){ne(u,{kind:"error",message:z.reason},!0);return}for(const x of a(l)){if(!x.isBlockRoot||!x.include)continue;const I=Na(Vt(x.name??""));if(!I.ok){ne(u,{kind:"error",message:`Sub-block "${x.originalLabel}": ${I.reason}`},!0);return}}const g=Ec({rootId:t.rootId,rows:a(l),mode:a(i),syncLabels:a(o)});g.ok?(ne(u,{kind:"success",message:`Applied to ${g.count} element${g.count!==1?"s":""}.`},!0),m&&clearTimeout(m),m=setTimeout(()=>t.onClose?.(),800)):ne(u,{kind:"error",message:g.error},!0)}ks(()=>()=>{m&&clearTimeout(m)});var C=vu();Bi("keydown",cs,O);var R=Ce(C),W=y(R),re=y(W),he=w(y(re)),ue=y(he),le=w(re,2),je=w(W,2),fe=y(je),He=w(y(fe),2),Et=y(He);Et.value=Et.__value="add";var Qt=w(Et);Qt.value=Qt.__value="rename";var Zt=w(Qt);Zt.value=Zt.__value="replace";var en=w(Zt);en.value=en.__value="migrate";var tn=w(en);tn.value=tn.__value="mixed";var rt=w(fe,2),qn=y(rt),xt=w(je,2),jn=y(xt),Hn=w(xt,2);{var _n=N=>{var z=_u();let g;var x=y(z);{var I=T=>{var M=Il("No migratable style keys found on any included element. Apply will attach empty classes.");k(T,M)},ee=T=>{var M=fu(),B=w(Ce(M)),oe=y(B),de=w(B);L(()=>{F(oe,a(h).willMigrate),F(de,` style key${a(h).willMigrate===1?"":"s"} into new classes.`)}),k(T,M)};q(x,T=>{a(h).willMigrate===0?T(I):T(ee,-1)})}var p=w(x,2);{var E=T=>{var M=du(),B=y(M);L(()=>F(B,`${a(h).willSkip??""} key${a(h).willSkip===1?"":"s"} not on the allowlist will stay on the element.`)),k(T,M)};q(p,T=>{a(h).willSkip>0&&T(E)})}L(()=>g=Ve(z,1,"rebemer-panel__notice",null,g,{"rebemer-panel__notice--warn":a(h).willSkip>0||a(h).willMigrate===0})),k(N,z)};q(Hn,N=>{a(h)&&N(_n)})}var vn=w(Hn,2);me(vn,23,()=>a(l),N=>N.id,(N,z,g)=>{{let x=D(()=>a(v).get(a(z).id)??""),I=D(()=>a(z).id===t.rootId||a(z).isBlockRoot),ee=D(()=>a(b).get(a(z).id)??[]);cu(N,{get mode(){return a(i)},get blockName(){return a(x)},get isRoot(){return a(I)},get rootId(){return t.rootId},get globalClasses(){return a(c)},get finalClassNames(){return a(ee)},get row(){return a(l)[a(g)]},set row(p){a(l)[a(g)]=p}})}});var hn=w(vn,2),Wn=y(hn),dr=w(Wn,2);Ul(R,N=>ne(d,N),()=>a(d));var Un=w(R,2);{var _r=N=>{Qi(N,{get kind(){return a(u).kind},get message(){return a(u).message},onDismiss:()=>{ne(u,null)}})};q(Un,N=>{a(u)&&N(_r)})}L(()=>{F(ue,a(f)),F(jn,n[a(i)])}),te("click",le,()=>t.onClose?.()),ta(He,()=>a(i),N=>ne(i,N)),qi(qn,()=>a(o),N=>ne(o,N)),te("click",Wn,()=>t.onClose?.()),te("click",dr,A),k(e,C),Fn()}Dn(["click"]);var pu=S('');function mu(e,t){var n=pu();let r;L(()=>{r=Ve(n,1,"slashed-cp-launch",null,r,{"slashed-cp-launch--on":t.open}),ae(n,"aria-pressed",t.open)}),te("click",n,function(...s){t.onToggle?.apply(this,s)}),k(e,n)}Dn(["click"]);const qa="--sf-color-",Zi=["primary","secondary","tertiary","action","neutral","base"],eo=["success","warning","error","info","danger"],ja=["a5","a10","a20","a30","a40","a50","a60","a70","a80","a90","a95"],Ha=["superlight","xlight","lighter","darker","xdark","superdark","hover","active","strong","subtle","muted","ghost"],Kr=["text","heading","bg","surface","inset","raised","overlay","inverse","border","link","code","selection","mark","dim"],gu=e=>new Set(e),bu=gu([...Zi,...eo]),Wa={primary:{tagline:"Brand identity & main emphasis",use:"Headlines, primary buttons, key brand moments."},secondary:{tagline:"Supporting brand tone",use:"Secondary surfaces and muted brand accents."},tertiary:{tagline:"Accent / highlight",use:"Badges, tags, decorative highlights."},action:{tagline:"Interactive & links",use:"Links, focus rings, anything clickable."},neutral:{tagline:"Text, icons & dividers",use:"Body text, borders, neutral UI chrome."},base:{tagline:"Page & surface backgrounds",use:"Page background and raised surfaces."},success:{tagline:"Positive / confirmation",use:"Success messages and valid state."},warning:{tagline:"Caution",use:"Warnings and at-risk / pending state."},error:{tagline:"Form & validation errors",use:"Invalid inputs and error messages."},info:{tagline:"Informational",use:"Tips and neutral notices."},danger:{tagline:"Destructive actions",use:"Delete / remove and irreversible actions."},semantic:{tagline:"Ready-made role tokens",use:"Pre-wired roles that already adapt to light/dark."}},Ds=[{id:"text-on",label:"Text on color",match:e=>e.startsWith("text--on")},{id:"text",label:"Text",match:e=>e==="text"||e==="heading"||e.startsWith("text-")},{id:"state",label:"Interactive states",match:e=>e.startsWith("bg--")},{id:"surface",label:"Surfaces & backgrounds",match:e=>["bg","surface","inset","raised","overlay","inverse"].some(t=>e===t||e.startsWith(t+"-"))},{id:"border",label:"Borders",match:e=>e==="border"||e.startsWith("border-")},{id:"link",label:"Links",match:e=>e==="link"||e.startsWith("link-")},{id:"select",label:"Selection & marks",match:e=>e.startsWith("selection")||e.startsWith("mark")||e==="dim"},{id:"code",label:"Code",match:e=>e.startsWith("code")}];function yu(e){if(typeof e!="string"||e.indexOf(qa)!==0)return null;const t=e.slice(qa.length);if(!t||t==="scheme")return null;const n=t.indexOf("-"),r=n===-1?t:t.slice(0,n);if(!bu.has(r))return{family:"semantic",kind:"semantic",step:null,key:t};const s=n===-1?"":t.slice(n+1);return s===""?{family:r,kind:"base",step:null,key:t}:s==="light"?null:/^[0-9]+$/.test(s)?{family:r,kind:"scale",step:Number(s),key:t}:/^a[0-9]+$/.test(s)?{family:r,kind:"alpha",step:s,key:t}:{family:r,kind:"alias",step:s,key:t}}function wu(e){return e.kind==="alpha"?!0:/(?:^|-)(?:subtle|muted|ghost|translucent|overlay|dim|underline)$/.test(e.key)}function ku(e){switch(e.kind){case"base":return vs(e.family);case"scale":return String(e.step);case"alpha":return String(e.step).toUpperCase();case"alias":return vs(String(e.step));case"semantic":default:return Su(e.key)}}function vs(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function Su(e){return e.split("--").map(n=>n.split("-").map(vs).join(" ")).join(" · ")}function Eu(e,t,n,r){const s=n[e];if(typeof s!="string"||!s)return null;const i=typeof r[e]=="string"&&r[e]?r[e]:s;return{var:e,name:e.slice(2),label:ku(t),light:s,dark:i,alpha:wu(t)}}function xu(e,t){const n={base:0,scale:1,alias:2,alpha:3};if(n[e.info.kind]!==n[t.info.kind])return n[e.info.kind]-n[t.info.kind];if(e.info.kind==="scale")return e.info.step-t.info.step;if(e.info.kind==="alpha")return ja.indexOf(e.info.step)-ja.indexOf(t.info.step);if(e.info.kind==="alias"){const r=Ha.indexOf(e.info.step),s=Ha.indexOf(t.info.step),i=r===-1?999:r,o=s===-1?999:s;return i!==o?i-o:String(e.info.step).localeCompare(String(t.info.step))}return 0}function Cu(e,t){const n=Kr.findIndex(o=>e.info.key===o||e.info.key.startsWith(o+"-")),r=Kr.findIndex(o=>t.info.key===o||t.info.key.startsWith(o+"-")),s=n===-1?Kr.length:n,i=r===-1?Kr.length:r;return s!==i?s-i:e.info.key.localeCompare(t.info.key)}function Au(e,t,n){const r=Array.isArray(e)?e:[],s=t&&typeof t=="object"?t:{},i=n&&typeof n=="object"?n:{},o=new Map,l=[];for(const d of r){const f=yu(d);if(!f)continue;const v=Eu(d,f,s,i);if(!v)continue;const h={swatch:v,info:f};if(f.family==="semantic"){l.push(h);continue}o.has(f.family)||o.set(f.family,[]),o.get(f.family).push(h)}const c=[],u=(d,f)=>{const v=o.get(d);if(!v||v.length===0)return;v.sort(xu);const h=v.filter(C=>C.info.kind==="base"||C.info.kind==="scale"),b=v.filter(C=>C.info.kind==="alias"),O=v.filter(C=>C.info.kind==="alpha"),m=[];h.length&&m.push({id:"scale",label:"Shades & tints",swatches:h.map(C=>C.swatch)}),O.length&&m.push({id:"alpha",label:"Transparent",swatches:O.map(C=>C.swatch)}),b.length&&m.push({id:"alias",label:"Semantic",swatches:b.map(C=>C.swatch)});const A=Wa[d]||{};c.push({id:d,label:vs(d),type:f,count:v.length,tagline:A.tagline||"",use:A.use||"",sections:m})};for(const d of Zi)u(d,"brand");for(const d of eo)u(d,"status");if(l.length){l.sort(Cu);const d=new Map(Ds.map(b=>[b.id,[]])),f=[];for(const b of l){const O=Ds.find(m=>m.match(b.info.key));O?d.get(O.id).push(b.swatch):f.push(b.swatch)}const v=[];for(const b of Ds){const O=d.get(b.id);O.length&&v.push({id:b.id,label:b.label,swatches:O})}f.length&&v.push({id:"other",label:"Other",swatches:f});const h=Wa.semantic||{};c.push({id:"semantic",label:"Semantic",type:"semantic",count:l.length,tagline:h.tagline||"",use:h.use||"",sections:v})}return{groups:c}}function Tu(e,t){const n=String(t||"").trim().toLowerCase();if(!n)return e;if(!e||!Array.isArray(e.groups))return{groups:[]};const r=[];for(const s of e.groups){const i=[];for(const o of s.sections){const l=o.swatches.filter(c=>c.name.toLowerCase().includes(n)||c.label.toLowerCase().includes(n)||s.label.toLowerCase().includes(n));l.length&&i.push({...o,swatches:l})}if(i.length){const o=i.reduce((l,c)=>l+c.swatches.length,0);r.push({...s,sections:i,count:o})}}return{groups:r}}function Ou(e){return`var(${e.var})`}function Iu(e,t){return t==="dark"?e.dark:e.light}const Mu=[{id:"typography",label:"Typography",tokens:[{var:"--sf-color-heading",label:"Heading"},{var:"--sf-color-text",label:"Text"},{var:"--sf-color-text--muted",label:"Text · Muted"},{var:"--sf-color-text--secondary",label:"Text · Secondary"},{var:"--sf-color-text--on-primary",label:"On Primary"},{var:"--sf-color-text--on-secondary",label:"On Secondary"}]},{id:"surfaces",label:"Surfaces",tokens:[{var:"--sf-color-bg",label:"Background"},{var:"--sf-color-surface",label:"Surface"},{var:"--sf-color-raised",label:"Raised"},{var:"--sf-color-inset",label:"Inset"},{var:"--sf-color-overlay",label:"Overlay"},{var:"--sf-color-inverse",label:"Inverse"}]},{id:"structure",label:"Structure",tokens:[{var:"--sf-color-border",label:"Border"},{var:"--sf-color-border--subtle",label:"Border · Subtle"},{var:"--sf-color-border--strong",label:"Border · Strong"},{var:"--sf-color-link",label:"Link"},{var:"--sf-color-link--hover",label:"Link · Hover"}]},{id:"brand",label:"Brand",tokens:[{var:"--sf-color-primary",label:"Primary"},{var:"--sf-color-secondary",label:"Secondary"},{var:"--sf-color-tertiary",label:"Tertiary"},{var:"--sf-color-action",label:"Action"},{var:"--sf-color-neutral",label:"Neutral"},{var:"--sf-color-base",label:"Base"}]},{id:"feedback",label:"Feedback",tokens:[{var:"--sf-color-success",label:"Success"},{var:"--sf-color-success-subtle",label:"Success · Subtle"},{var:"--sf-color-warning",label:"Warning"},{var:"--sf-color-warning-subtle",label:"Warning · Subtle"},{var:"--sf-color-error",label:"Error"},{var:"--sf-color-error-subtle",label:"Error · Subtle"},{var:"--sf-color-info",label:"Info"},{var:"--sf-color-danger",label:"Danger"}]}];function Pu(e,t,n){const r=t&&typeof t=="object"?t:{},s=n&&typeof n=="object"?n:{},i=[];for(const o of Mu){const l=[];for(const c of o.tokens){const u=r[c.var];if(!u)continue;const d=s[c.var]||u;l.push({var:c.var,name:c.var.slice(2),label:c.label,light:u,dark:d,alpha:/overlay|subtle|ghost|muted|dim|alpha/i.test(c.var)})}l.length&&i.push({id:o.id,label:o.label,swatches:l})}return{groups:i}}var Lu=S('');function $r(e,t){Bn(t,!0);let n=$t(t,"onPick",3,void 0);const r=D(()=>`${t.swatch.name} -light ${t.swatch.light} · dark ${t.swatch.dark}`);var s=Lu();let i;L(o=>{i=Ve(s,1,"slashed-cp-swatch",null,i,{"slashed-cp-swatch--alpha":t.swatch.alpha,"slashed-cp-swatch--split":t.mode==="both"}),Ke(s,`--cp-l:${t.swatch.light??""}; --cp-d:${t.swatch.dark??""}; --cp-solid:${o??""};`),ae(s,"title",a(r)),ae(s,"aria-label",t.swatch.name)},[()=>Iu(t.swatch,t.mode==="dark"?"dark":"light")]),te("click",s,()=>n()?.(t.swatch)),k(e,s),Fn()}Dn(["click"]);var Ru=S(''),Nu=S('

                            '),Bu=S(' '),Fu=S(''),Du=S('
                          • '),qu=S('
                              '),ju=S('
                              '),Hu=S('
                              '),Wu=S(" ",1),Uu=S('

                              '),Ku=S(" ",1),$u=S(''),zu=S('

                              '),Vu=S(''),Gu=S(''),Yu=S(''),Ju=S('
                              '),Xu=S('

                              ',1),Qu=S(''),Zu=S('

                              Scale 50 → 950

                              ',1),ef=S(''),tf=S('
                              '),nf=S(' ',1),rf=S('
                              '),sf=S('
                              '),af=S(''),of=S(''),lf=S(''),cf=S('
                              '),uf=S('

                              ',1),ff=S(''),df=S('

                              Scale 50 → 950

                              ',1),_f=S(''),vf=S('
                              '),hf=S(' ',1),pf=S('
                              '),mf=S('
                              '),gf=S('

                              Quick Use

                              Palette

                              Brand

                              Status

                              ',1),bf=S(''),yf=S('

                              Color System

                              var()
                              ',1);function to(e,t){Bn(t,!0),$t(t,"referenceMode",3,!1);let n=$t(t,"dockedLeft",3,null);const r=D(()=>typeof t.onPickValue=="function"),s=[{id:"both",label:"Both"},{id:"light",label:"Light"},{id:"dark",label:"Dark"}],i=["Hover","Active","Subtle","Ghost","Superlight"];let o=Ee("both"),l=Ee(""),c=Ee(null),u=Ee(null),d=Ee(Kt(new Set));const f=D(()=>Au(t.source?.variables,t.source?.light,t.source?.dark)),v=D(()=>a(l).trim()),h=D(()=>Tu(a(f),a(v))),b=D(()=>Pu(t.source?.variables,t.source?.light,t.source?.dark)),O=D(()=>a(f).groups.reduce((p,E)=>p+E.count,0)),m=D(()=>a(f).groups.filter(p=>p.type==="brand")),A=D(()=>a(f).groups.filter(p=>p.type==="status"));let C;function R(){if(typeof document>"u")return null;const p=document.querySelector('iframe#bricks-builder-iframe, iframe[name="bricks-builder-iframe"], #bricks-builder-area iframe');try{return p?.contentDocument?.documentElement??null}catch{return null}}function W(p){const E=R();if(E)try{C===void 0&&(C=E.getAttribute("data-theme")),p==="light"||p==="dark"?E.setAttribute("data-theme",p):C===null?E.removeAttribute("data-theme"):E.setAttribute("data-theme",C)}catch{}}function re(){const p=R();if(!(!p||C===void 0))try{C===null?p.removeAttribute("data-theme"):p.setAttribute("data-theme",C)}catch{}}function he(p){ne(o,p,!0),W(p)}ji(()=>()=>re());async function ue(p){try{if(navigator?.clipboard?.writeText)return await navigator.clipboard.writeText(p),!0}catch{}try{const E=document.createElement("textarea");E.value=p,E.style.cssText="position:fixed;opacity:0",document.body.appendChild(E),E.select();const T=document.execCommand("copy");return E.remove(),T}catch{return!1}}async function le(p){const E=Ou(p);if(a(r)){if(t.onPickValue(E)===!1){ne(c,{kind:"error",message:`Couldn't apply ${E} — input not found`},!0);return}t.onPick?.();return}const T=await ue(E);ne(c,T?{kind:"info",message:`Copied — ${p.name}`}:{kind:"error",message:`Couldn't copy ${E}`},!0)}function je(p){ne(u,a(u)===p?null:p,!0),ne(d,new Set,!0)}function fe(p){const E=new Set(a(d));E.has(p)?E.delete(p):E.add(p),ne(d,E,!0)}function He(p,E){return p.sections.find(T=>T.id===E)}function Et(p){return He(p,"scale")?.swatches[0]??null}function Qt(p){const E=He(p,"alias");if(!E?.swatches.length)return[];const T=i.map(M=>E.swatches.find(B=>B.label===M)).filter(Boolean);return T.length?T:E.swatches.slice(0,5)}function Zt(p){return He(p,"scale")?.swatches.slice(1)??[]}function en(p){p.key==="Escape"&&t.onClose?.()}var tn=yf();Bi("keydown",cs,en);var rt=Ce(tn);let qn;var xt=y(rt),jn=w(y(xt),2);me(jn,21,()=>s,p=>p.id,(p,E)=>{var T=Ru();let M;var B=y(T);L(()=>{M=Ve(T,1,"slashed-cp__seg-btn",null,M,{"slashed-cp__seg-btn--on":a(o)===a(E).id}),ae(T,"aria-pressed",a(o)===a(E).id),F(B,a(E).label)}),te("click",T,()=>he(a(E).id)),k(p,T)});var Hn=w(jn,2),_n=w(xt,2),vn=y(_n),hn=w(_n,2),Wn=y(hn);{var dr=p=>{var E=Ku(),T=Ce(E);{var M=oe=>{var de=Nu(),_e=y(de);L(()=>F(_e,`No tokens match "${a(v)??""}".`)),k(oe,de)};q(T,oe=>{a(h).groups.length===0&&oe(M)})}var B=w(T,2);me(B,17,()=>a(h).groups,oe=>oe.id,(oe,de)=>{var _e=Uu(),P=y(_e),V=y(P),Pe=y(V),xe=w(Pe);{var Je=G=>{var X=Bu(),pe=y(X);L(()=>F(pe,a(de).tagline)),k(G,X)};q(xe,G=>{a(de).tagline&&G(Je)})}var ye=w(xe,2),ce=y(ye),ve=w(P,2);me(ve,17,()=>a(de).sections,G=>G.id,(G,X)=>{var pe=Wu(),we=Ce(pe);{var ht=Be=>{var Fe=Fu(),Y=y(Fe);L(()=>F(Y,a(X).label)),k(Be,Fe)};q(we,Be=>{a(X).label&&Be(ht)})}var We=w(we,2);{var st=Be=>{var Fe=qu();me(Fe,21,()=>a(X).swatches,Y=>Y.var,(Y,ie)=>{var Ae=Du(),pt=y(Ae);$r(pt,{get swatch(){return a(ie)},get mode(){return a(o)},onPick:le});var At=w(pt,2),Rt=y(At),vr=w(At,2),pn=y(vr);L(()=>{F(Rt,a(ie).label),F(pn,a(ie).name)}),k(Y,Ae)}),k(Be,Fe)},Ct=Be=>{var Fe=Hu();me(Fe,21,()=>a(X).swatches,Y=>Y.var,(Y,ie)=>{var Ae=ju(),pt=y(Ae);$r(pt,{get swatch(){return a(ie)},get mode(){return a(o)},onPick:le});var At=w(pt,2),Rt=y(At);L(()=>F(Rt,a(ie).label)),k(Y,Ae)}),k(Be,Fe)};q(We,Be=>{a(de).type==="semantic"?Be(st):Be(Ct,-1)})}k(G,pe)}),L(()=>{ae(_e,"data-type",a(de).type),F(Pe,`${a(de).label??""} `),F(ce,a(de).count)}),k(oe,_e)}),k(p,E)},Un=p=>{var E=gf(),T=Ce(E),M=w(y(T),2);me(M,17,()=>a(b).groups,_e=>_e.id,(_e,P)=>{var V=zu(),Pe=y(V),xe=y(Pe),Je=w(Pe,2);me(Je,21,()=>a(P).swatches,ye=>ye.var,(ye,ce)=>{var ve=$u(),G=y(ve);let X;var pe=w(G,2),we=y(pe);L(()=>{ae(ve,"title",a(ce).name),X=Ve(G,1,"slashed-cp__qu-sw",null,X,{"slashed-cp__qu-sw--alpha":a(ce).alpha}),Ke(G,`--sw-l: ${a(ce).light??""}; --sw-d: ${a(ce).dark??""}`),F(we,a(ce).label)}),te("click",ve,()=>le(a(ce))),k(ye,ve)}),L(()=>F(xe,a(P).label)),k(_e,V)});var B=w(T,2),oe=w(y(B),4);me(oe,21,()=>a(m),_e=>_e.id,(_e,P)=>{const V=D(()=>Et(a(P))),Pe=D(()=>Qt(a(P))),xe=D(()=>a(u)===a(P).id);var Je=sf(),ye=y(Je);let ce;var ve=y(ye);{var G=Y=>{var ie=Vu();L(()=>Ke(ie,`--sw-l: ${a(V).light??""}; --sw-d: ${a(V).dark??""}`)),k(Y,ie)};q(ve,Y=>{a(V)&&Y(G)})}var X=w(ve,2),pe=y(X),we=w(X,2),ht=y(we),We=w(we,2);me(We,21,()=>a(Pe),Y=>Y.var,(Y,ie)=>{var Ae=Gu();L(()=>{Ke(Ae,`--sw-l: ${a(ie).light??""}; --sw-d: ${a(ie).dark??""}`),ae(Ae,"title",a(ie).label)}),k(Y,Ae)});var st=w(We,2),Ct=y(st),Be=w(ye,2);{var Fe=Y=>{const ie=D(()=>He(a(P),"alias")),Ae=D(()=>Zt(a(P))),pt=D(()=>He(a(P),"alpha"));var At=rf(),Rt=y(At);{var vr=Q=>{var se=Yu(),ke=y(se),Te=y(ke);L(()=>{Ke(se,`--sw-l: ${a(V).light??""}; --sw-d: ${a(V).dark??""}`),ae(se,"title",`${a(P).label??""} base — ${a(V).name??""}`),F(Te,a(P).label)}),te("click",se,()=>le(a(V))),k(Q,se)};q(Rt,Q=>{a(V)&&Q(vr)})}var pn=w(Rt,2);{var Cs=Q=>{var se=Xu(),ke=Ce(se),Te=y(ke),Oe=w(ke,2);me(Oe,21,()=>a(ie).swatches,Se=>Se.var,(Se,Nt)=>{var Bt=Ju(),Le=y(Bt);$r(Le,{get swatch(){return a(Nt)},get mode(){return a(o)},onPick:le});var Ft=w(Le,2),mt=y(Ft);L(()=>F(mt,a(Nt).label)),k(Se,Bt)}),L(()=>F(Te,`Aliases · ${a(ie).swatches.length??""}`)),k(Q,se)};q(pn,Q=>{a(ie)?.swatches.length&&Q(Cs)})}var hr=w(pn,2);{var As=Q=>{var se=Zu(),ke=w(Ce(se),2);me(ke,21,()=>a(Ae),Te=>Te.var,(Te,Oe)=>{var Se=Qu();L(()=>{ae(Se,"title",`${a(Oe).label??""} — ${a(Oe).name??""}`),Ke(Se,`--sw-l: ${a(Oe).light??""}; --sw-d: ${a(Oe).dark??""}`)}),te("click",Se,()=>le(a(Oe))),k(Te,Se)}),k(Q,se)};q(hr,Q=>{a(Ae).length&&Q(As)})}var Ts=w(hr,2);{var Os=Q=>{var se=nf(),ke=Ce(se),Te=y(ke),Oe=y(Te),Se=w(ke,2);{var Nt=Le=>{var Ft=tf();me(Ft,21,()=>a(pt).swatches,mt=>mt.var,(mt,gt)=>{var Dt=ef();L(()=>{ae(Dt,"title",`${a(gt).label??""} — ${a(gt).name??""}`),Ke(Dt,`--sw-l: ${a(gt).light??""}; --sw-d: ${a(gt).dark??""}`)}),te("click",Dt,()=>le(a(gt))),k(mt,Dt)}),k(Le,Ft)},Bt=D(()=>a(d).has(a(P).id));q(Se,Le=>{a(Bt)&&Le(Nt)})}L(Le=>F(Oe,Le),[()=>a(d).has(a(P).id)?"▾":"▸"]),te("click",ke,()=>fe(a(P).id)),k(Q,se)};q(Ts,Q=>{a(pt)?.swatches.length&&Q(Os)})}k(Y,At)};q(Be,Y=>{a(xe)&&Y(Fe)})}L(()=>{ce=Ve(ye,1,"slashed-cp__scan-row",null,ce,{"slashed-cp__scan-row--open":a(xe)}),ae(ye,"aria-expanded",a(xe)),F(pe,a(P).label),F(ht,a(P).tagline),F(Ct,a(xe)?"▾":"▸")}),te("click",ye,()=>je(a(P).id)),k(_e,Je)});var de=w(oe,4);me(de,21,()=>a(A),_e=>_e.id,(_e,P)=>{const V=D(()=>Et(a(P))),Pe=D(()=>Qt(a(P))),xe=D(()=>a(u)===a(P).id);var Je=mf(),ye=y(Je);let ce;var ve=y(ye);{var G=Y=>{var ie=af();L(()=>Ke(ie,`--sw-l: ${a(V).light??""}; --sw-d: ${a(V).dark??""}`)),k(Y,ie)};q(ve,Y=>{a(V)&&Y(G)})}var X=w(ve,2),pe=y(X),we=w(X,2),ht=y(we),We=w(we,2);me(We,21,()=>a(Pe),Y=>Y.var,(Y,ie)=>{var Ae=of();L(()=>{Ke(Ae,`--sw-l: ${a(ie).light??""}; --sw-d: ${a(ie).dark??""}`),ae(Ae,"title",a(ie).label)}),k(Y,Ae)});var st=w(We,2),Ct=y(st),Be=w(ye,2);{var Fe=Y=>{const ie=D(()=>He(a(P),"alias")),Ae=D(()=>Zt(a(P))),pt=D(()=>He(a(P),"alpha"));var At=pf(),Rt=y(At);{var vr=Q=>{var se=lf(),ke=y(se),Te=y(ke);L(()=>{Ke(se,`--sw-l: ${a(V).light??""}; --sw-d: ${a(V).dark??""}`),ae(se,"title",`${a(P).label??""} base — ${a(V).name??""}`),F(Te,a(P).label)}),te("click",se,()=>le(a(V))),k(Q,se)};q(Rt,Q=>{a(V)&&Q(vr)})}var pn=w(Rt,2);{var Cs=Q=>{var se=uf(),ke=Ce(se),Te=y(ke),Oe=w(ke,2);me(Oe,21,()=>a(ie).swatches,Se=>Se.var,(Se,Nt)=>{var Bt=cf(),Le=y(Bt);$r(Le,{get swatch(){return a(Nt)},get mode(){return a(o)},onPick:le});var Ft=w(Le,2),mt=y(Ft);L(()=>F(mt,a(Nt).label)),k(Se,Bt)}),L(()=>F(Te,`Aliases · ${a(ie).swatches.length??""}`)),k(Q,se)};q(pn,Q=>{a(ie)?.swatches.length&&Q(Cs)})}var hr=w(pn,2);{var As=Q=>{var se=df(),ke=w(Ce(se),2);me(ke,21,()=>a(Ae),Te=>Te.var,(Te,Oe)=>{var Se=ff();L(()=>{ae(Se,"title",`${a(Oe).label??""} — ${a(Oe).name??""}`),Ke(Se,`--sw-l: ${a(Oe).light??""}; --sw-d: ${a(Oe).dark??""}`)}),te("click",Se,()=>le(a(Oe))),k(Te,Se)}),k(Q,se)};q(hr,Q=>{a(Ae).length&&Q(As)})}var Ts=w(hr,2);{var Os=Q=>{var se=hf(),ke=Ce(se),Te=y(ke),Oe=y(Te),Se=w(ke,2);{var Nt=Le=>{var Ft=vf();me(Ft,21,()=>a(pt).swatches,mt=>mt.var,(mt,gt)=>{var Dt=_f();L(()=>{ae(Dt,"title",`${a(gt).label??""} — ${a(gt).name??""}`),Ke(Dt,`--sw-l: ${a(gt).light??""}; --sw-d: ${a(gt).dark??""}`)}),te("click",Dt,()=>le(a(gt))),k(mt,Dt)}),k(Le,Ft)},Bt=D(()=>a(d).has(a(P).id));q(Se,Le=>{a(Bt)&&Le(Nt)})}L(Le=>F(Oe,Le),[()=>a(d).has(a(P).id)?"▾":"▸"]),te("click",ke,()=>fe(a(P).id)),k(Q,se)};q(Ts,Q=>{a(pt)?.swatches.length&&Q(Os)})}k(Y,At)};q(Be,Y=>{a(xe)&&Y(Fe)})}L(()=>{ce=Ve(ye,1,"slashed-cp__scan-row",null,ce,{"slashed-cp__scan-row--open":a(xe)}),ae(ye,"aria-expanded",a(xe)),F(pe,a(P).label),F(ht,a(P).tagline),F(Ct,a(xe)?"▾":"▸")}),te("click",ye,()=>je(a(P).id)),k(_e,Je)}),k(p,E)};q(Wn,p=>{a(v)?p(dr):p(Un,-1)})}var _r=w(hn,2),N=y(_r);{var z=p=>{var E=bf();k(p,E)};q(N,p=>{a(o)==="both"&&p(z)})}var g=w(N,2),x=y(g),I=w(rt,2);{var ee=p=>{Qi(p,{get kind(){return a(c).kind},get message(){return a(c).message},onDismiss:()=>{ne(c,null)}})};q(I,p=>{a(c)&&p(ee)})}L(()=>{qn=Ve(rt,1,"slashed-cp",null,qn,{"slashed-cp--docked":a(r)}),ae(rt,"data-mode",a(o)),Ke(rt,a(r)&&n()!=null?`--cp-dock-left: ${n()}px`:""),ae(vn,"placeholder",`Search ${a(O)} tokens…`),F(x,`${a(r)?"Click to insert":"Click to copy"} `)}),te("click",rt,p=>p.stopPropagation()),te("mousedown",rt,p=>p.stopPropagation()),te("click",Hn,()=>t.onClose?.()),na(vn,()=>a(l),p=>ne(l,p)),k(e,tn),Fn()}Dn(["click","mousedown"]);var wf=S(" ",1);function kf(e,t){let n=Ee(!1);var r=wf(),s=Ce(r);mu(s,{get open(){return a(n)},onToggle:()=>ne(n,!a(n))});var i=w(s,2);{var o=l=>{to(l,{get source(){return t.source},referenceMode:!0,onClose:()=>ne(n,!1)})};q(i,l=>{a(n)&&l(o)})}k(e,r)}const Ua="#bricks-structure",Sf="li[data-id]",Ka="slashed-rebemer-host",Ef=400,xf=25,fr=(e,...t)=>console[e]("[reBEMer]",...t),no=new AbortController,{signal:Tr}=no,Mn=new Map;let wr=null,Vn=null,kr=null;function ba(){let e=document.getElementById(Ka);return e||(e=document.createElement("div"),e.id=Ka,document.body.appendChild(e)),e}let tt=null;function $a(){tt=window.slashedBricksEditor,tt&&typeof tt=="object"&&(ic(tt.showClassHints,tt.classHints,{signal:Tr}),vc(tt.showColorSwatches,tt.colorHexMap,{signal:Tr,onOpenPanel:tt.showColorPanel?n=>Pf(n):void 0}));let e=0;const t=()=>{if(!Tr.aborted){if(zl()){Cf();return}if(++e>=xf){fr("warn","Bricks Vue app not detected after grace window — reBEMer disabled on this page.");return}setTimeout(t,Ef)}};t()}function Cf(){Tf();const e=document.querySelector(Ua);if(e){za(e);return}const t=new MutationObserver(()=>{const n=document.querySelector(Ua);n&&(t.disconnect(),za(n))});t.observe(document.body,{childList:!0,subtree:!0}),Tr.addEventListener("abort",()=>t.disconnect(),{once:!0})}function za(e){let t=null;const n=()=>{t===null&&(t=setTimeout(()=>{t=null,Va(e)},50))},r=new MutationObserver(n);r.observe(e,{childList:!0,subtree:!0}),Tr.addEventListener("abort",()=>{r.disconnect(),t!==null&&clearTimeout(t)},{once:!0}),Va(e)}function Va(e){for(const[n,r]of Mn)if(!r.host.isConnected){try{ur(r.instance)}catch(s){fr("warn","badge unmount failed",s)}Mn.delete(n)}const t=e.querySelectorAll(Sf);for(const n of t){const r=n.getAttribute("data-id");if(!r)continue;const s=Mn.get(r);s&&s.host.isConnected&&n.contains(s.host)||Af(n)}}function Af(e){const t=e.getAttribute("data-id");if(!t)return;const n=e.querySelector(":scope > .structure-item")||e,r=n.querySelector(":scope > ul.actions")||n.querySelector(":scope > .actions")||n.querySelector(":scope > .structure-item-actions"),s=document.createElement("span");s.className="rebemer-badge-host",r?n.insertBefore(s,r):n.appendChild(s);const i=n.querySelector(":scope > .title, :scope > .structure-item-title, :scope > .name, :scope .label"),o=i?i.textContent.trim():"",l=Es(mc,{target:s,props:{elementId:t,label:o,onActivate:Lf}}),c=Mn.get(t);if(c){try{ur(c.instance)}catch(u){fr("warn","badge remount cleanup failed",u)}c.host.isConnected&&c.host.remove()}Mn.set(t,{instance:l,host:s})}function Tf(){if(Vn)return;const e=tt&&tt.colorPanel;if(!tt?.showColorPanel||!e||!Array.isArray(e.variables)||e.variables.length===0)return;const t=document.createElement("div");ba().appendChild(t),Vn={instance:Es(kf,{target:t,props:{source:e}}),node:t}}function Of(){if(Vn){try{ur(Vn.instance)}catch(e){fr("warn","color app unmount failed",e)}Vn.node.remove(),Vn=null}}function If(e,t){if(!e||!e.isConnected)return!1;try{const n=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value")?.set;return n?n.call(e,t):e.value=t,e.dispatchEvent(new Event("input",{bubbles:!0})),!0}catch{return!1}}function Mf(e){const t=["#bricks-panel-inner","#bricks-panel",'[id^="bricks-panel"]'];if(e)for(const n of t){const r=e.closest(n);if(r){const s=r.getBoundingClientRect();if(s.width>100)return Math.ceil(s.right)}}for(const n of t){const r=document.querySelector(n);if(r){const s=r.getBoundingClientRect();if(s.width>100)return Math.ceil(s.right)}}return null}function Pf(e){ss();const t=tt?.colorPanel;if(!t||!Array.isArray(t.variables)||t.variables.length===0)return;const n=Mf(e),r=document.createElement("div");ba().appendChild(r),kr={instance:Es(to,{target:r,props:{source:t,dockedLeft:n,onPickValue:s=>{const i=e?.querySelector('input[type="text"]')??e?.querySelector('input:not([type="hidden"],[type="submit"],[type="button"],[type="checkbox"],[type="radio"],[type="file"])'),o=If(i,s);if(o){const l=s.match(/^var\((--[^)]+)\)/)?.[1],c=l?tt?.colorHexMap?.[l]??null:null,u=e?.querySelector(".slashed-sf-color-btn");if(u){const d=u.querySelector(".slashed-sf-color-btn__dot");d&&(c?(d.style.background=c,d.style.removeProperty("box-shadow")):d.style.removeProperty("background")),u.classList.toggle("slashed-sf-color-btn--active",!!c)}if(c){const d=e?.closest('[data-control="color"]');requestAnimationFrame(()=>{if(!d)return;const f=d.querySelector(".bricks-control-preview");if(!f)return;const v=f.querySelector(":scope > span:not(.color-value-tooltip):not(.bricks-svg-wrapper)")??f.querySelectorAll(":scope > span")[1];v&&(v.style.display="block",v.style.background=c,v.style.setProperty("color",c,"important")),f.classList.remove("empty")})}}return o},onPick:ss,onClose:ss}}),node:r}}function ss(){if(kr){try{ur(kr.instance)}catch(e){fr("warn","color picker panel unmount failed",e)}kr.node.remove(),kr=null}}function Lf(e){aa();const t=document.createElement("div");ba().appendChild(t),wr={instance:Es(hu,{target:t,props:{rootId:e,onClose:aa}}),node:t}}function aa(){if(wr){try{ur(wr.instance)}catch(e){fr("warn","panel unmount failed",e)}wr.node.remove(),wr=null}}window.addEventListener("beforeunload",()=>{no.abort(),aa(),Of(),ss(),Zr(),rs();for(const{instance:e}of Mn.values())try{ur(e)}catch{}Mn.clear()},{once:!0});document.readyState==="loading"?document.addEventListener("DOMContentLoaded",$a,{once:!0}):$a(); + creating a duplicate.`,1),lu=S('

                              '),cu=S(' '),uu=S('Migrate: ',1),fu=S('No migratable keys on this element.'),du=S(' '),_u=S('
                              '),vu=S('
                              ');function hu(e,t){Rn(t,!0);let n=Kt(t,"row",15),r=Kt(t,"rootId",3,""),s=Kt(t,"globalClasses",19,()=>[]),i=Kt(t,"finalClassNames",19,()=>[]);const o=D(()=>t.mode!=="migrate"),l=D(()=>t.mode==="migrate"),c=D(()=>t.mode==="rename"),u=D(()=>t.mode==="mixed"),d=D(()=>!t.isRoot&&t.blockName?`${t.blockName}__`:""),f=D(()=>{if(!a(u)||!Array.isArray(n().currentClassIds))return[];const g=[];for(const C of n().currentClassIds){const I=s().find(p=>p?.id===C);if(!I||I.name.includes("--"))continue;const ee=n().currentClassIds.filter(p=>s().find(T=>T?.id===p)?.name.startsWith(I.name+"--")).length;g.push({id:I.id,name:I.name,modCount:ee})}for(const C of n().currentClassIds){const I=s().find(p=>p?.id===C);if(!I||!I.name.includes("--"))continue;const ee=I.name.slice(0,I.name.indexOf("--"));g.some(p=>p.name===ee)||g.push({id:I.id,name:I.name,modCount:0})}return g});Es(()=>{!a(u)||n().op!=="rename"||!a(f).length||a(f).some(g=>g.id===n().renameFamilyId)||n(n().renameFamilyId=a(f)[0].id,!0)});const v=D(()=>n().isBlockRoot===!0&&n().id!==r()),h=D(()=>n().id!==r()),b=D(()=>n().suggestedFrom==="element-type"||n().suggestedFrom==="fallback"),O=D(()=>{if(!i().length||!n().include||!Array.isArray(s()))return null;for(const g of i()){const C=s().find(I=>I&&I.name===g);if(C)return C}return null}),m=D(()=>!Array.isArray(n().modifiers)||n().modifiers.every(g=>!zt(g)));function A(){n().suggestedFrom!=="user"&&n(n().suggestedFrom="user",!0)}function x(g){return g.startsWith("_")?g.slice(1):g}var R=vu();let W;var re=y(R),he=y(re),ue=w(re,2),le=y(ue),je=y(le),fe=w(le,2);{var He=g=>{var C=qc();let I;var ee=y(C);P(p=>{I=Ve(C,1,"rebemer-row__type rebemer-row__type--toggle",null,I,{"rebemer-row__type--block":a(v)}),ae(C,"title",a(v)?"Sub-block root — click to revert to element":"Click to promote to block root"),C.disabled=!n().include,F(ee,p)},[()=>a(v)?"BLOCK":(n().bricksType||"ELEM").toUpperCase()]),te("click",C,()=>{n(n().isBlockRoot=!n().isBlockRoot,!0)}),k(g,C)},St=g=>{var C=jc();k(g,C)};q(fe,g=>{a(h)?g(He):g(St,-1)})}var Qt=w(fe,2);{var Xt=g=>{var C=Hc();P(()=>ae(C,"title",`Pre-filled from ${n().suggestedFrom==="element-type"?"Bricks element type":"fallback"}`)),k(g,C)};q(Qt,g=>{a(b)&&n().include&&g(Xt)})}var Zt=w(ue,2),en=y(Zt),nt=y(en);{var Fn=g=>{var C=Wc(),I=y(C);P(()=>F(I,a(d))),k(g,C)};q(nt,g=>{a(d)&&g(Fn)})}var Et=w(nt,2),Dn=w(en,2);{var qn=g=>{var C=zc(),I=y(C);me(I,17,()=>n().modifiers,Vr,(E,T,M)=>{var B=Kc(),oe=y(B),de=w(oe,2);{var _e=L=>{var V=Uc();P(()=>V.disabled=!n().include),te("click",V,()=>{n(n().modifiers=n().modifiers.filter((Le,Ce)=>Ce!==M),!0)}),k(L,V)};q(de,L=>{n().modifiers.length>1&&L(_e)})}P(()=>oe.disabled=!n().include),sa(oe,()=>n().modifiers[M],L=>n(n().modifiers[M]=L,!0)),k(E,B)});var ee=w(I,2);{var p=E=>{var T=$c();P(()=>T.disabled=!n().include),te("click",T,()=>{n(n().modifiers=[...n().modifiers,""],!0)}),k(E,T)};q(ee,E=>{a(m)||E(p)})}k(g,C)};q(Dn,g=>{a(o)&&g(qn)})}var fn=w(Zt,2);{var dn=g=>{var C=ru(),I=xe(C),ee=y(I);let p;var E=w(ee,2);let T;var M=w(E,2);let B;var oe=w(I,2);{var de=L=>{var V=Ui(),Le=xe(V);{var Ce=ce=>{var ve=Vc();k(ce,ve)},Je=ce=>{var ve=Yc(),G=w(y(ve),2);me(G,21,()=>a(f),Vr,(Q,pe)=>{var we=Gc(),vt=y(we),We={};P(()=>{F(vt,`${a(pe).name??""}${a(pe).modCount>0?` (+ ${a(pe).modCount} modifier${a(pe).modCount>1?"s":""})`:""}`),We!==(We=a(pe).id)&&(we.value=(we.__value=a(pe).id)??"")}),k(Q,we)}),ra(G,()=>n().renameFamilyId,Q=>n(n().renameFamilyId=Q,!0)),k(ce,ve)},ye=ce=>{const ve=D(()=>a(f)[0]),G=D(()=>1+a(ve).modCount);var Q=Jc(),pe=w(y(Q)),we=y(pe),vt=w(pe);P(()=>{F(we,a(ve).name),F(vt,`${a(ve).modCount>0?` (+ ${a(ve).modCount} modifier${a(ve).modCount>1?"s":""})`:""}${(n().currentClassIds?.length??0)>a(G)?" Other classes kept.":""}`)}),k(ce,Q)};q(Le,ce=>{a(f).length===0?ce(Ce):a(f).length>1?ce(Je,1):ce(ye,-1)})}k(L,V)},_e=L=>{var V=nu(),Le=xe(V);{var Ce=G=>{var Q=Xc(),pe=w(y(Q),2),we=y(pe);we.value=we.__value="";var vt=w(we);me(vt,17,()=>a(f),Vr,(We,rt)=>{var Ct=Qc(),Be=y(Ct),Fe={};P(()=>{F(Be,`${a(rt).name??""}${a(rt).modCount>0?` (+ ${a(rt).modCount} modifier${a(rt).modCount>1?"s":""})`:""}`),Fe!==(Fe=a(rt).id)&&(Ct.value=(Ct.__value=a(rt).id)??"")}),k(We,Ct)}),ra(pe,()=>n().renameFamilyId,We=>n(n().renameFamilyId=We,!0)),k(G,Q)};q(Le,G=>{a(f).length>1&&G(Ce)})}var Je=w(Le,2);{var ye=G=>{var Q=Zc();k(G,Q)},ce=G=>{var Q=eu();k(G,Q)},ve=G=>{var Q=tu();k(G,Q)};q(Je,G=>{n().renameFamilyId?G(ye):a(f).length===0?G(ce,1):G(ve,-1)})}k(L,V)};q(oe,L=>{n().op==="rename"?L(de):n().op==="replace"&&L(_e,1)})}P(()=>{p=Ve(ee,1,"rebemer-row__op-btn",null,p,{"rebemer-row__op-btn--on":n().op==="add"}),ae(ee,"aria-pressed",n().op==="add"),T=Ve(E,1,"rebemer-row__op-btn",null,T,{"rebemer-row__op-btn--on":n().op==="rename"}),ae(E,"aria-pressed",n().op==="rename"),B=Ve(M,1,"rebemer-row__op-btn",null,B,{"rebemer-row__op-btn--on":n().op==="replace"}),ae(M,"aria-pressed",n().op==="replace")}),te("click",ee,()=>{n(n().op="add",!0)}),te("click",E,()=>{n(n().op="rename",!0),!n().renameFamilyId&&a(f).length&&n(n().renameFamilyId=a(f)[0].id,!0)}),te("click",M,()=>{n(n().op="replace",!0),n(n().renameFamilyId="",!0)}),k(g,C)};q(fn,g=>{a(u)&&n().include&&g(dn)})}var _n=w(fn,2);{var jn=g=>{var C=su();k(g,C)},vr=g=>{var C=au(),I=y(C);P(()=>F(I,`This element has ${n().currentClassCount??""} classes. Only the first will be renamed; modifiers matching it are renamed too.`)),k(g,C)};q(_n,g=>{a(c)&&n().include&&n().currentClassCount===0?g(jn):a(c)&&n().include&&n().currentClassCount>1&&g(vr,1)})}var Hn=w(_n,2);{var hr=g=>{var C=lu(),I=y(C);{var ee=E=>{var T=iu(),M=w(xe(T)),B=y(M);P(()=>F(B,a(O).name)),k(E,T)},p=E=>{var T=ou(),M=w(xe(T)),B=y(M);P(()=>F(B,a(O).name)),k(E,T)};q(I,E=>{a(l)?E(ee):E(p,-1)})}k(g,C)};q(Hn,g=>{a(O)&&g(hr)})}var N=w(Hn,2);{var z=g=>{var C=_u(),I=y(C);{var ee=M=>{var B=uu(),oe=w(xe(B),2);me(oe,17,()=>n().migrateKeys,Vr,(de,_e)=>{var L=cu(),V=y(L);P(Le=>{ae(L,"title",`Will be lifted into ${(i()[0]||"the new class")??""}`),F(V,Le)},[()=>x(a(_e))]),k(de,L)}),k(M,B)},p=M=>{var B=fu();k(M,B)};q(I,M=>{n().migrateKeys?.length?M(ee):M(p,-1)})}var E=w(I,2);{var T=M=>{var B=du(),oe=y(B);P(()=>F(oe,`${n().skippedKeys.length??""} skipped`)),k(M,B)};q(E,M=>{n().skippedKeys?.length&&M(T)})}k(g,C)};q(N,g=>{a(l)&&n().include&&g(z)})}P(()=>{W=Ve(R,1,"rebemer-row",null,W,{"rebemer-row--disabled":!n().include,"rebemer-row--suggested":a(b)}),Ke(R,`--rebemer-row-depth: ${n().depth??0??""}`),F(je,n().originalLabel),ae(Et,"placeholder",t.isRoot?"block-name":"element-name"),Et.disabled=!n().include}),$i(he,()=>n().include,g=>n(n().include=g,!0)),te("input",Et,A),sa(Et,()=>n().name,g=>n(n().name=g,!0)),k(e,R),Nn()}Bn(["click","input"]);var pu=S(" ");function ro(e,t){Rn(t,!0);let n=Kt(t,"kind",3,"info"),r=Kt(t,"duration",3,3e3),s=Ee(!0);Es(()=>{if(!a(s)||r()<=0)return;const u=setTimeout(()=>{ne(s,!1),t.onDismiss?.()},r());return()=>clearTimeout(u)});const i=D(()=>n()==="error"?"alert":"status");var o=Ui(),l=xe(o);{var c=u=>{var d=pu(),f=y(d);P(()=>{Ve(d,1,`rebemer-toast rebemer-toast--${n()??""}`),ae(d,"role",a(i)),ae(d,"aria-live",n()==="error"?"assertive":"polite"),F(f,t.message)}),te("click",d,()=>{ne(s,!1),t.onDismiss?.()}),k(u,d)};q(l,u=>{a(s)&&u(c)})}k(e,o),Nn()}Bn(["click"]);var mu=S("Will migrate ",1),gu=S(' '),bu=S(''),yu=S(' ',1);function wu(e,t){Rn(t,!0);const n={add:"Attaches a new BEM class to each element without removing any existing classes.",rename:"Replaces the first existing class with a new name, seeding its settings from the old class.",replace:"Replaces ALL existing classes with a single new BEM class (clean slate, no settings carried over).",migrate:"Lifts inline element styles (padding, color, typography, etc.) into a new global class.",mixed:"Per-element control — every row defaults to Add. Switch any row to Rename (targets one class family, keeps others) or Replace (strips all existing classes, or just a selected family)."};function r(N){const z=N?._cssGlobalClasses;return z?(Array.isArray(z)?z:Object.values(z)).filter(C=>typeof C=="string"&&C.length>0):[]}function s(N,z){const g=r(N);for(const C of g){const I=z.find(ee=>ee&&ee.id===C);if(I&&!I.name.includes("--"))return C}return g[0]??""}let i=Ee("add"),o=Ee(!0),l=Ee(Ut([])),c=Ee(Ut([])),u=Ee(null),d=Ee(null);const f=D(()=>a(l)[0]?.originalLabel??""),v=D(()=>a(l).length===0?new Map:Zi(a(l),t.rootId)),h=D(()=>{if(a(i)!=="migrate")return null;let N=0,z=0;for(const g of a(l))g.include&&(N+=g.migrateKeys?.length??0,z+=g.skippedKeys?.length??0);return{willMigrate:N,willSkip:z}}),b=D(()=>{if(a(l).length===0)return new Map;const N=eo({rootId:t.rootId,rows:a(l),mode:a(i)}),z=new Map;if(!N.ok)return z;for(const g of N.ops){const C=[g.finalClass];for(const I of g.modifierSlugs??[])C.push(`${g.finalClass}--${I}`);z.set(g.row.id,C)}return z});zi(()=>{const N=ec(t.rootId);ne(c,Yi().slice(),!0);const z=N.map((g,C)=>{const I=C===0,ee=g.label||"",p=zt(ee),E=g.name||"";let T,M;p?(T=p,M="label"):I?(T="block",M="fallback"):E&&!qs(E)?(T=Bc(E,"item"),M="element-type"):(T="item",M="fallback");const B=r(g.settings);return{id:g.id,depth:g.depth,bricksType:E,originalLabel:ee||(I?"block":"element"),name:T,modifiers:[""],isBlockRoot:!1,include:!0,suggestedFrom:M,migrateKeys:xc(g.settings),skippedKeys:Tc(g.settings),currentClassCount:B.length,currentClassIds:B,op:"add",renameFamilyId:s(g.settings,a(c))}});if(z.length>1){const g=new Map(N.map(p=>[p.id,[]])),C=[];for(const p of N){for(;C.length&&C[C.length-1].depth>=p.depth;)C.pop();C.length&&g.get(C[C.length-1].id).push(p.id),C.push(p)}const I=new Map(N.map(p=>[p.id,p])),ee=new Map(z.map(p=>[p.id,p]));for(const[,p]of g){if(!p.length)continue;const E=new Map;for(const M of p){const B=I.get(M)?.name;B&&E.set(B,(E.get(B)??0)+1)}const T=p.filter(M=>qs(I.get(M)?.name??""));for(const M of p){const B=ee.get(M),oe=I.get(M);if(!(!B||!oe||B.suggestedFrom==="label")){if(qs(oe.name)){const de=(g.get(M)??[]).map(L=>I.get(L)?.name??"").filter(Boolean),_e=T.indexOf(M);B.name=Dc(de,_e,T.length),B.suggestedFrom="element-type"}else if((E.get(oe.name)??0)===1){const de=Fc[oe.name];de&&(B.name=de,B.suggestedFrom="element-type")}}}}}ne(l,z,!0)});function O(N){if(N.key==="Escape"){t.onClose?.();return}a(d)&&N.target instanceof Node&&a(d).contains(N.target)&&N.key==="Enter"&&(N.target?.tagName==="INPUT"||N.target?.tagName==="SELECT")&&(N.preventDefault(),A())}let m=null;function A(){const N=zt(a(l)[0]?.name??""),z=Ha(N);if(!z.ok){ne(u,{kind:"error",message:z.reason},!0);return}for(const C of a(l)){if(!C.isBlockRoot||!C.include)continue;const I=Ha(zt(C.name??""));if(!I.ok){ne(u,{kind:"error",message:`Sub-block "${C.originalLabel}": ${I.reason}`},!0);return}}const g=Ic({rootId:t.rootId,rows:a(l),mode:a(i),syncLabels:a(o)});g.ok?(ne(u,{kind:"success",message:`Applied to ${g.count} element${g.count!==1?"s":""}.`},!0),m&&clearTimeout(m),m=setTimeout(()=>t.onClose?.(),800)):ne(u,{kind:"error",message:g.error},!0)}Es(()=>()=>{m&&clearTimeout(m)});var x=yu();Wi("keydown",_s,O);var R=xe(x),W=y(R),re=y(W),he=w(y(re)),ue=y(he),le=w(re,2),je=w(W,2),fe=y(je),He=w(y(fe),2),St=y(He);St.value=St.__value="add";var Qt=w(St);Qt.value=Qt.__value="rename";var Xt=w(Qt);Xt.value=Xt.__value="replace";var Zt=w(Xt);Zt.value=Zt.__value="migrate";var en=w(Zt);en.value=en.__value="mixed";var nt=w(fe,2),Fn=y(nt),Et=w(je,2),Dn=y(Et),qn=w(Et,2);{var fn=N=>{var z=bu();let g;var C=y(z);{var I=T=>{var M=Nl("No migratable style keys found on any included element. Apply will attach empty classes.");k(T,M)},ee=T=>{var M=mu(),B=w(xe(M)),oe=y(B),de=w(B);P(()=>{F(oe,a(h).willMigrate),F(de,` style key${a(h).willMigrate===1?"":"s"} into new classes.`)}),k(T,M)};q(C,T=>{a(h).willMigrate===0?T(I):T(ee,-1)})}var p=w(C,2);{var E=T=>{var M=gu(),B=y(M);P(()=>F(B,`${a(h).willSkip??""} key${a(h).willSkip===1?"":"s"} not on the allowlist will stay on the element.`)),k(T,M)};q(p,T=>{a(h).willSkip>0&&T(E)})}P(()=>g=Ve(z,1,"rebemer-panel__notice",null,g,{"rebemer-panel__notice--warn":a(h).willSkip>0||a(h).willMigrate===0})),k(N,z)};q(qn,N=>{a(h)&&N(fn)})}var dn=w(qn,2);me(dn,23,()=>a(l),N=>N.id,(N,z,g)=>{{let C=D(()=>a(v).get(a(z).id)??""),I=D(()=>a(z).id===t.rootId||a(z).isBlockRoot),ee=D(()=>a(b).get(a(z).id)??[]);hu(N,{get mode(){return a(i)},get blockName(){return a(C)},get isRoot(){return a(I)},get rootId(){return t.rootId},get globalClasses(){return a(c)},get finalClassNames(){return a(ee)},get row(){return a(l)[a(g)]},set row(p){a(l)[a(g)]=p}})}});var _n=w(dn,2),jn=y(_n),vr=w(jn,2);Gl(R,N=>ne(d,N),()=>a(d));var Hn=w(R,2);{var hr=N=>{ro(N,{get kind(){return a(u).kind},get message(){return a(u).message},onDismiss:()=>{ne(u,null)}})};q(Hn,N=>{a(u)&&N(hr)})}P(()=>{F(ue,a(f)),F(Dn,n[a(i)])}),te("click",le,()=>t.onClose?.()),ra(He,()=>a(i),N=>ne(i,N)),$i(Fn,()=>a(o),N=>ne(o,N)),te("click",jn,()=>t.onClose?.()),te("click",vr,A),k(e,x),Nn()}Bn(["click"]);var ku=S('');function Su(e,t){var n=ku();let r;P(()=>{r=Ve(n,1,"slashed-cp-launch",null,r,{"slashed-cp-launch--on":t.open}),ae(n,"aria-pressed",t.open)}),te("click",n,function(...s){t.onToggle?.apply(this,s)}),k(e,n)}Bn(["click"]);const $a="--sf-color-",so=["primary","secondary","tertiary","action","neutral","base"],ao=["success","warning","error","info","danger"],za=["a5","a10","a20","a30","a40","a50","a60","a70","a80","a90","a95"],Va=["superlight","xlight","lighter","darker","xdark","superdark","hover","active","strong","subtle","muted","ghost"],Gr=["text","heading","bg","surface","inset","raised","overlay","inverse","border","link","code","selection","mark","dim"],Eu=e=>new Set(e),Cu=Eu([...so,...ao]),Ga={primary:{tagline:"Brand identity & main emphasis",use:"Headlines, primary buttons, key brand moments."},secondary:{tagline:"Supporting brand tone",use:"Secondary surfaces and muted brand accents."},tertiary:{tagline:"Accent / highlight",use:"Badges, tags, decorative highlights."},action:{tagline:"Interactive & links",use:"Links, focus rings, anything clickable."},neutral:{tagline:"Text, icons & dividers",use:"Body text, borders, neutral UI chrome."},base:{tagline:"Page & surface backgrounds",use:"Page background and raised surfaces."},success:{tagline:"Positive / confirmation",use:"Success messages and valid state."},warning:{tagline:"Caution",use:"Warnings and at-risk / pending state."},error:{tagline:"Form & validation errors",use:"Invalid inputs and error messages."},info:{tagline:"Informational",use:"Tips and neutral notices."},danger:{tagline:"Destructive actions",use:"Delete / remove and irreversible actions."},semantic:{tagline:"Ready-made role tokens",use:"Pre-wired roles that already adapt to light/dark."}},js=[{id:"text-on",label:"Text on color",match:e=>e.startsWith("text--on")},{id:"text",label:"Text",match:e=>e==="text"||e==="heading"||e.startsWith("text-")},{id:"state",label:"Interactive states",match:e=>e.startsWith("bg--")},{id:"surface",label:"Surfaces & backgrounds",match:e=>["bg","surface","inset","raised","overlay","inverse"].some(t=>e===t||e.startsWith(t+"-"))},{id:"border",label:"Borders",match:e=>e==="border"||e.startsWith("border-")},{id:"link",label:"Links",match:e=>e==="link"||e.startsWith("link-")},{id:"select",label:"Selection & marks",match:e=>e.startsWith("selection")||e.startsWith("mark")||e==="dim"},{id:"code",label:"Code",match:e=>e.startsWith("code")}];function xu(e){if(typeof e!="string"||e.indexOf($a)!==0)return null;const t=e.slice($a.length);if(!t||t==="scheme")return null;const n=t.indexOf("-"),r=n===-1?t:t.slice(0,n);if(!Cu.has(r))return{family:"semantic",kind:"semantic",step:null,key:t};const s=n===-1?"":t.slice(n+1);return s===""?{family:r,kind:"base",step:null,key:t}:s==="light"?null:/^[0-9]+$/.test(s)?{family:r,kind:"scale",step:Number(s),key:t}:/^a[0-9]+$/.test(s)?{family:r,kind:"alpha",step:s,key:t}:{family:r,kind:"alias",step:s,key:t}}function Au(e){return e.kind==="alpha"?!0:/(?:^|-)(?:subtle|muted|ghost|translucent|overlay|dim|underline)$/.test(e.key)}function Tu(e){switch(e.kind){case"base":return ps(e.family);case"scale":return String(e.step);case"alpha":return String(e.step).toUpperCase();case"alias":return ps(String(e.step));case"semantic":default:return Ou(e.key)}}function ps(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function Ou(e){return e.split("--").map(n=>n.split("-").map(ps).join(" ")).join(" · ")}function Iu(e,t,n,r){const s=n[e];if(typeof s!="string"||!s)return null;const i=typeof r[e]=="string"&&r[e]?r[e]:s;return{var:e,name:e.slice(2),label:Tu(t),light:s,dark:i,alpha:Au(t)}}function Mu(e,t){const n={base:0,scale:1,alias:2,alpha:3};if(n[e.info.kind]!==n[t.info.kind])return n[e.info.kind]-n[t.info.kind];if(e.info.kind==="scale")return e.info.step-t.info.step;if(e.info.kind==="alpha")return za.indexOf(e.info.step)-za.indexOf(t.info.step);if(e.info.kind==="alias"){const r=Va.indexOf(e.info.step),s=Va.indexOf(t.info.step),i=r===-1?999:r,o=s===-1?999:s;return i!==o?i-o:String(e.info.step).localeCompare(String(t.info.step))}return 0}function Lu(e,t){const n=Gr.findIndex(o=>e.info.key===o||e.info.key.startsWith(o+"-")),r=Gr.findIndex(o=>t.info.key===o||t.info.key.startsWith(o+"-")),s=n===-1?Gr.length:n,i=r===-1?Gr.length:r;return s!==i?s-i:e.info.key.localeCompare(t.info.key)}function Pu(e,t,n){const r=Array.isArray(e)?e:[],s=t&&typeof t=="object"?t:{},i=n&&typeof n=="object"?n:{},o=new Map,l=[];for(const d of r){const f=xu(d);if(!f)continue;const v=Iu(d,f,s,i);if(!v)continue;const h={swatch:v,info:f};if(f.family==="semantic"){l.push(h);continue}o.has(f.family)||o.set(f.family,[]),o.get(f.family).push(h)}const c=[],u=(d,f)=>{const v=o.get(d);if(!v||v.length===0)return;v.sort(Mu);const h=v.filter(x=>x.info.kind==="base"||x.info.kind==="scale"),b=v.filter(x=>x.info.kind==="alias"),O=v.filter(x=>x.info.kind==="alpha"),m=[];h.length&&m.push({id:"scale",label:"Shades & tints",swatches:h.map(x=>x.swatch)}),O.length&&m.push({id:"alpha",label:"Transparent",swatches:O.map(x=>x.swatch)}),b.length&&m.push({id:"alias",label:"Semantic",swatches:b.map(x=>x.swatch)});const A=Ga[d]||{};c.push({id:d,label:ps(d),type:f,count:v.length,tagline:A.tagline||"",use:A.use||"",sections:m})};for(const d of so)u(d,"brand");for(const d of ao)u(d,"status");if(l.length){l.sort(Lu);const d=new Map(js.map(b=>[b.id,[]])),f=[];for(const b of l){const O=js.find(m=>m.match(b.info.key));O?d.get(O.id).push(b.swatch):f.push(b.swatch)}const v=[];for(const b of js){const O=d.get(b.id);O.length&&v.push({id:b.id,label:b.label,swatches:O})}f.length&&v.push({id:"other",label:"Other",swatches:f});const h=Ga.semantic||{};c.push({id:"semantic",label:"Semantic",type:"semantic",count:l.length,tagline:h.tagline||"",use:h.use||"",sections:v})}return{groups:c}}function Ru(e,t){const n=String(t||"").trim().toLowerCase();if(!n)return e;if(!e||!Array.isArray(e.groups))return{groups:[]};const r=[];for(const s of e.groups){const i=[];for(const o of s.sections){const l=o.swatches.filter(c=>c.name.toLowerCase().includes(n)||c.label.toLowerCase().includes(n)||s.label.toLowerCase().includes(n));l.length&&i.push({...o,swatches:l})}if(i.length){const o=i.reduce((l,c)=>l+c.swatches.length,0);r.push({...s,sections:i,count:o})}}return{groups:r}}function Nu(e){return`var(${e.var})`}function Bu(e,t){return t==="dark"?e.dark:e.light}const Fu=[{id:"typography",label:"Typography",tokens:[{var:"--sf-color-heading",label:"Heading"},{var:"--sf-color-text",label:"Text"},{var:"--sf-color-text--muted",label:"Text · Muted"},{var:"--sf-color-text--secondary",label:"Text · Secondary"},{var:"--sf-color-text--on-primary",label:"On Primary"},{var:"--sf-color-text--on-secondary",label:"On Secondary"}]},{id:"surfaces",label:"Surfaces",tokens:[{var:"--sf-color-bg",label:"Background"},{var:"--sf-color-surface",label:"Surface"},{var:"--sf-color-raised",label:"Raised"},{var:"--sf-color-inset",label:"Inset"},{var:"--sf-color-overlay",label:"Overlay"},{var:"--sf-color-inverse",label:"Inverse"}]},{id:"structure",label:"Structure",tokens:[{var:"--sf-color-border",label:"Border"},{var:"--sf-color-border--subtle",label:"Border · Subtle"},{var:"--sf-color-border--strong",label:"Border · Strong"},{var:"--sf-color-link",label:"Link"},{var:"--sf-color-link--hover",label:"Link · Hover"}]},{id:"brand",label:"Brand",tokens:[{var:"--sf-color-primary",label:"Primary"},{var:"--sf-color-secondary",label:"Secondary"},{var:"--sf-color-tertiary",label:"Tertiary"},{var:"--sf-color-action",label:"Action"},{var:"--sf-color-neutral",label:"Neutral"},{var:"--sf-color-base",label:"Base"}]},{id:"feedback",label:"Feedback",tokens:[{var:"--sf-color-success",label:"Success"},{var:"--sf-color-success-subtle",label:"Success · Subtle"},{var:"--sf-color-warning",label:"Warning"},{var:"--sf-color-warning-subtle",label:"Warning · Subtle"},{var:"--sf-color-error",label:"Error"},{var:"--sf-color-error-subtle",label:"Error · Subtle"},{var:"--sf-color-info",label:"Info"},{var:"--sf-color-danger",label:"Danger"}]}];function Du(e,t,n){const r=t&&typeof t=="object"?t:{},s=n&&typeof n=="object"?n:{},i=[];for(const o of Fu){const l=[];for(const c of o.tokens){const u=r[c.var];if(!u)continue;const d=s[c.var]||u;l.push({var:c.var,name:c.var.slice(2),label:c.label,light:u,dark:d,alpha:/overlay|subtle|ghost|muted|dim|alpha/i.test(c.var)})}l.length&&i.push({id:o.id,label:o.label,swatches:l})}return{groups:i}}var qu=S('');function Yr(e,t){Rn(t,!0);let n=Kt(t,"onPick",3,void 0);const r=D(()=>`${t.swatch.name} +light ${t.swatch.light} · dark ${t.swatch.dark}`);var s=qu();let i;P(o=>{i=Ve(s,1,"slashed-cp-swatch",null,i,{"slashed-cp-swatch--alpha":t.swatch.alpha,"slashed-cp-swatch--split":t.mode==="both"}),Ke(s,`--cp-l:${t.swatch.light??""}; --cp-d:${t.swatch.dark??""}; --cp-solid:${o??""};`),ae(s,"title",a(r)),ae(s,"aria-label",t.swatch.name)},[()=>Bu(t.swatch,t.mode==="dark"?"dark":"light")]),te("click",s,()=>n()?.(t.swatch)),k(e,s),Nn()}Bn(["click"]);var ju=S(''),Hu=S('

                              '),Wu=S(' '),Uu=S(''),Ku=S('
                            • '),$u=S('
                                '),zu=S('
                                '),Vu=S('
                                '),Gu=S(" ",1),Yu=S('

                                '),Ju=S(" ",1),Qu=S(''),Xu=S('

                                '),Zu=S(''),ef=S(''),tf=S(''),nf=S('
                                '),rf=S('

                                ',1),sf=S(''),af=S('

                                Scale 50 → 950

                                ',1),of=S(''),lf=S('
                                '),cf=S(' ',1),uf=S('
                                '),ff=S('
                                '),df=S(''),_f=S(''),vf=S(''),hf=S('
                                '),pf=S('

                                ',1),mf=S(''),gf=S('

                                Scale 50 → 950

                                ',1),bf=S(''),yf=S('
                                '),wf=S(' ',1),kf=S('
                                '),Sf=S('
                                '),Ef=S('

                                Quick Use

                                Palette

                                Brand

                                Status

                                ',1),Cf=S(''),xf=S('

                                Color System

                                var()
                                ',1);function io(e,t){Rn(t,!0),Kt(t,"referenceMode",3,!1);let n=Kt(t,"dockedLeft",3,null);const r=D(()=>typeof t.onPickValue=="function"),s=[{id:"both",label:"Both"},{id:"light",label:"Light"},{id:"dark",label:"Dark"}],i=["Hover","Active","Subtle","Ghost","Superlight"];let o=Ee("both"),l=Ee(""),c=Ee(null),u=Ee(null),d=Ee(Ut(new Set));const f=D(()=>Pu(t.source?.variables,t.source?.light,t.source?.dark)),v=D(()=>a(l).trim()),h=D(()=>Ru(a(f),a(v))),b=D(()=>Du(t.source?.variables,t.source?.light,t.source?.dark)),O=D(()=>a(f).groups.reduce((p,E)=>p+E.count,0)),m=D(()=>a(f).groups.filter(p=>p.type==="brand")),A=D(()=>a(f).groups.filter(p=>p.type==="status"));let x;function R(){if(typeof document>"u")return null;const p=document.querySelector('iframe#bricks-builder-iframe, iframe[name="bricks-builder-iframe"], #bricks-builder-area iframe');try{return p?.contentDocument?.documentElement??null}catch{return null}}function W(p){const E=R();if(E)try{x===void 0&&(x=E.getAttribute("data-theme")),p==="light"||p==="dark"?E.setAttribute("data-theme",p):x===null?E.removeAttribute("data-theme"):E.setAttribute("data-theme",x)}catch{}}function re(){const p=R();if(!(!p||x===void 0))try{x===null?p.removeAttribute("data-theme"):p.setAttribute("data-theme",x)}catch{}}function he(p){ne(o,p,!0),W(p)}zi(()=>()=>re());async function ue(p){try{if(navigator?.clipboard?.writeText)return await navigator.clipboard.writeText(p),!0}catch{}try{const E=document.createElement("textarea");E.value=p,E.style.cssText="position:fixed;opacity:0",document.body.appendChild(E),E.select();const T=document.execCommand("copy");return E.remove(),T}catch{return!1}}async function le(p){const E=Nu(p);if(a(r)){if(t.onPickValue(E)===!1){ne(c,{kind:"error",message:`Couldn't apply ${E} — input not found`},!0);return}t.onPick?.();return}const T=await ue(E);ne(c,T?{kind:"info",message:`Copied — ${p.name}`}:{kind:"error",message:`Couldn't copy ${E}`},!0)}function je(p){ne(u,a(u)===p?null:p,!0),ne(d,new Set,!0)}function fe(p){const E=new Set(a(d));E.has(p)?E.delete(p):E.add(p),ne(d,E,!0)}function He(p,E){return p.sections.find(T=>T.id===E)}function St(p){return He(p,"scale")?.swatches[0]??null}function Qt(p){const E=He(p,"alias");if(!E?.swatches.length)return[];const T=i.map(M=>E.swatches.find(B=>B.label===M)).filter(Boolean);return T.length?T:E.swatches.slice(0,5)}function Xt(p){return He(p,"scale")?.swatches.slice(1)??[]}function Zt(p){p.key==="Escape"&&t.onClose?.()}var en=xf();Wi("keydown",_s,Zt);var nt=xe(en);let Fn;var Et=y(nt),Dn=w(y(Et),2);me(Dn,21,()=>s,p=>p.id,(p,E)=>{var T=ju();let M;var B=y(T);P(()=>{M=Ve(T,1,"slashed-cp__seg-btn",null,M,{"slashed-cp__seg-btn--on":a(o)===a(E).id}),ae(T,"aria-pressed",a(o)===a(E).id),F(B,a(E).label)}),te("click",T,()=>he(a(E).id)),k(p,T)});var qn=w(Dn,2),fn=w(Et,2),dn=y(fn),_n=w(fn,2),jn=y(_n);{var vr=p=>{var E=Ju(),T=xe(E);{var M=oe=>{var de=Hu(),_e=y(de);P(()=>F(_e,`No tokens match "${a(v)??""}".`)),k(oe,de)};q(T,oe=>{a(h).groups.length===0&&oe(M)})}var B=w(T,2);me(B,17,()=>a(h).groups,oe=>oe.id,(oe,de)=>{var _e=Yu(),L=y(_e),V=y(L),Le=y(V),Ce=w(Le);{var Je=G=>{var Q=Wu(),pe=y(Q);P(()=>F(pe,a(de).tagline)),k(G,Q)};q(Ce,G=>{a(de).tagline&&G(Je)})}var ye=w(Ce,2),ce=y(ye),ve=w(L,2);me(ve,17,()=>a(de).sections,G=>G.id,(G,Q)=>{var pe=Gu(),we=xe(pe);{var vt=Be=>{var Fe=Uu(),Y=y(Fe);P(()=>F(Y,a(Q).label)),k(Be,Fe)};q(we,Be=>{a(Q).label&&Be(vt)})}var We=w(we,2);{var rt=Be=>{var Fe=$u();me(Fe,21,()=>a(Q).swatches,Y=>Y.var,(Y,ie)=>{var Ae=Ku(),ht=y(Ae);Yr(ht,{get swatch(){return a(ie)},get mode(){return a(o)},onPick:le});var xt=w(ht,2),Pt=y(xt),pr=w(xt,2),vn=y(pr);P(()=>{F(Pt,a(ie).label),F(vn,a(ie).name)}),k(Y,Ae)}),k(Be,Fe)},Ct=Be=>{var Fe=Vu();me(Fe,21,()=>a(Q).swatches,Y=>Y.var,(Y,ie)=>{var Ae=zu(),ht=y(Ae);Yr(ht,{get swatch(){return a(ie)},get mode(){return a(o)},onPick:le});var xt=w(ht,2),Pt=y(xt);P(()=>F(Pt,a(ie).label)),k(Y,Ae)}),k(Be,Fe)};q(We,Be=>{a(de).type==="semantic"?Be(rt):Be(Ct,-1)})}k(G,pe)}),P(()=>{ae(_e,"data-type",a(de).type),F(Le,`${a(de).label??""} `),F(ce,a(de).count)}),k(oe,_e)}),k(p,E)},Hn=p=>{var E=Ef(),T=xe(E),M=w(y(T),2);me(M,17,()=>a(b).groups,_e=>_e.id,(_e,L)=>{var V=Xu(),Le=y(V),Ce=y(Le),Je=w(Le,2);me(Je,21,()=>a(L).swatches,ye=>ye.var,(ye,ce)=>{var ve=Qu(),G=y(ve);let Q;var pe=w(G,2),we=y(pe);P(()=>{ae(ve,"title",a(ce).name),Q=Ve(G,1,"slashed-cp__qu-sw",null,Q,{"slashed-cp__qu-sw--alpha":a(ce).alpha}),Ke(G,`--sw-l: ${a(ce).light??""}; --sw-d: ${a(ce).dark??""}`),F(we,a(ce).label)}),te("click",ve,()=>le(a(ce))),k(ye,ve)}),P(()=>F(Ce,a(L).label)),k(_e,V)});var B=w(T,2),oe=w(y(B),4);me(oe,21,()=>a(m),_e=>_e.id,(_e,L)=>{const V=D(()=>St(a(L))),Le=D(()=>Qt(a(L))),Ce=D(()=>a(u)===a(L).id);var Je=ff(),ye=y(Je);let ce;var ve=y(ye);{var G=Y=>{var ie=Zu();P(()=>Ke(ie,`--sw-l: ${a(V).light??""}; --sw-d: ${a(V).dark??""}`)),k(Y,ie)};q(ve,Y=>{a(V)&&Y(G)})}var Q=w(ve,2),pe=y(Q),we=w(Q,2),vt=y(we),We=w(we,2);me(We,21,()=>a(Le),Y=>Y.var,(Y,ie)=>{var Ae=ef();P(()=>{Ke(Ae,`--sw-l: ${a(ie).light??""}; --sw-d: ${a(ie).dark??""}`),ae(Ae,"title",a(ie).label)}),k(Y,Ae)});var rt=w(We,2),Ct=y(rt),Be=w(ye,2);{var Fe=Y=>{const ie=D(()=>He(a(L),"alias")),Ae=D(()=>Xt(a(L))),ht=D(()=>He(a(L),"alpha"));var xt=uf(),Pt=y(xt);{var pr=X=>{var se=tf(),ke=y(se),Te=y(ke);P(()=>{Ke(se,`--sw-l: ${a(V).light??""}; --sw-d: ${a(V).dark??""}`),ae(se,"title",`${a(L).label??""} base — ${a(V).name??""}`),F(Te,a(L).label)}),te("click",se,()=>le(a(V))),k(X,se)};q(Pt,X=>{a(V)&&X(pr)})}var vn=w(Pt,2);{var Ts=X=>{var se=rf(),ke=xe(se),Te=y(ke),Oe=w(ke,2);me(Oe,21,()=>a(ie).swatches,Se=>Se.var,(Se,Rt)=>{var Nt=nf(),Pe=y(Nt);Yr(Pe,{get swatch(){return a(Rt)},get mode(){return a(o)},onPick:le});var Bt=w(Pe,2),pt=y(Bt);P(()=>F(pt,a(Rt).label)),k(Se,Nt)}),P(()=>F(Te,`Aliases · ${a(ie).swatches.length??""}`)),k(X,se)};q(vn,X=>{a(ie)?.swatches.length&&X(Ts)})}var mr=w(vn,2);{var Os=X=>{var se=af(),ke=w(xe(se),2);me(ke,21,()=>a(Ae),Te=>Te.var,(Te,Oe)=>{var Se=sf();P(()=>{ae(Se,"title",`${a(Oe).label??""} — ${a(Oe).name??""}`),Ke(Se,`--sw-l: ${a(Oe).light??""}; --sw-d: ${a(Oe).dark??""}`)}),te("click",Se,()=>le(a(Oe))),k(Te,Se)}),k(X,se)};q(mr,X=>{a(Ae).length&&X(Os)})}var Is=w(mr,2);{var Ms=X=>{var se=cf(),ke=xe(se),Te=y(ke),Oe=y(Te),Se=w(ke,2);{var Rt=Pe=>{var Bt=lf();me(Bt,21,()=>a(ht).swatches,pt=>pt.var,(pt,mt)=>{var Ft=of();P(()=>{ae(Ft,"title",`${a(mt).label??""} — ${a(mt).name??""}`),Ke(Ft,`--sw-l: ${a(mt).light??""}; --sw-d: ${a(mt).dark??""}`)}),te("click",Ft,()=>le(a(mt))),k(pt,Ft)}),k(Pe,Bt)},Nt=D(()=>a(d).has(a(L).id));q(Se,Pe=>{a(Nt)&&Pe(Rt)})}P(Pe=>F(Oe,Pe),[()=>a(d).has(a(L).id)?"▾":"▸"]),te("click",ke,()=>fe(a(L).id)),k(X,se)};q(Is,X=>{a(ht)?.swatches.length&&X(Ms)})}k(Y,xt)};q(Be,Y=>{a(Ce)&&Y(Fe)})}P(()=>{ce=Ve(ye,1,"slashed-cp__scan-row",null,ce,{"slashed-cp__scan-row--open":a(Ce)}),ae(ye,"aria-expanded",a(Ce)),F(pe,a(L).label),F(vt,a(L).tagline),F(Ct,a(Ce)?"▾":"▸")}),te("click",ye,()=>je(a(L).id)),k(_e,Je)});var de=w(oe,4);me(de,21,()=>a(A),_e=>_e.id,(_e,L)=>{const V=D(()=>St(a(L))),Le=D(()=>Qt(a(L))),Ce=D(()=>a(u)===a(L).id);var Je=Sf(),ye=y(Je);let ce;var ve=y(ye);{var G=Y=>{var ie=df();P(()=>Ke(ie,`--sw-l: ${a(V).light??""}; --sw-d: ${a(V).dark??""}`)),k(Y,ie)};q(ve,Y=>{a(V)&&Y(G)})}var Q=w(ve,2),pe=y(Q),we=w(Q,2),vt=y(we),We=w(we,2);me(We,21,()=>a(Le),Y=>Y.var,(Y,ie)=>{var Ae=_f();P(()=>{Ke(Ae,`--sw-l: ${a(ie).light??""}; --sw-d: ${a(ie).dark??""}`),ae(Ae,"title",a(ie).label)}),k(Y,Ae)});var rt=w(We,2),Ct=y(rt),Be=w(ye,2);{var Fe=Y=>{const ie=D(()=>He(a(L),"alias")),Ae=D(()=>Xt(a(L))),ht=D(()=>He(a(L),"alpha"));var xt=kf(),Pt=y(xt);{var pr=X=>{var se=vf(),ke=y(se),Te=y(ke);P(()=>{Ke(se,`--sw-l: ${a(V).light??""}; --sw-d: ${a(V).dark??""}`),ae(se,"title",`${a(L).label??""} base — ${a(V).name??""}`),F(Te,a(L).label)}),te("click",se,()=>le(a(V))),k(X,se)};q(Pt,X=>{a(V)&&X(pr)})}var vn=w(Pt,2);{var Ts=X=>{var se=pf(),ke=xe(se),Te=y(ke),Oe=w(ke,2);me(Oe,21,()=>a(ie).swatches,Se=>Se.var,(Se,Rt)=>{var Nt=hf(),Pe=y(Nt);Yr(Pe,{get swatch(){return a(Rt)},get mode(){return a(o)},onPick:le});var Bt=w(Pe,2),pt=y(Bt);P(()=>F(pt,a(Rt).label)),k(Se,Nt)}),P(()=>F(Te,`Aliases · ${a(ie).swatches.length??""}`)),k(X,se)};q(vn,X=>{a(ie)?.swatches.length&&X(Ts)})}var mr=w(vn,2);{var Os=X=>{var se=gf(),ke=w(xe(se),2);me(ke,21,()=>a(Ae),Te=>Te.var,(Te,Oe)=>{var Se=mf();P(()=>{ae(Se,"title",`${a(Oe).label??""} — ${a(Oe).name??""}`),Ke(Se,`--sw-l: ${a(Oe).light??""}; --sw-d: ${a(Oe).dark??""}`)}),te("click",Se,()=>le(a(Oe))),k(Te,Se)}),k(X,se)};q(mr,X=>{a(Ae).length&&X(Os)})}var Is=w(mr,2);{var Ms=X=>{var se=wf(),ke=xe(se),Te=y(ke),Oe=y(Te),Se=w(ke,2);{var Rt=Pe=>{var Bt=yf();me(Bt,21,()=>a(ht).swatches,pt=>pt.var,(pt,mt)=>{var Ft=bf();P(()=>{ae(Ft,"title",`${a(mt).label??""} — ${a(mt).name??""}`),Ke(Ft,`--sw-l: ${a(mt).light??""}; --sw-d: ${a(mt).dark??""}`)}),te("click",Ft,()=>le(a(mt))),k(pt,Ft)}),k(Pe,Bt)},Nt=D(()=>a(d).has(a(L).id));q(Se,Pe=>{a(Nt)&&Pe(Rt)})}P(Pe=>F(Oe,Pe),[()=>a(d).has(a(L).id)?"▾":"▸"]),te("click",ke,()=>fe(a(L).id)),k(X,se)};q(Is,X=>{a(ht)?.swatches.length&&X(Ms)})}k(Y,xt)};q(Be,Y=>{a(Ce)&&Y(Fe)})}P(()=>{ce=Ve(ye,1,"slashed-cp__scan-row",null,ce,{"slashed-cp__scan-row--open":a(Ce)}),ae(ye,"aria-expanded",a(Ce)),F(pe,a(L).label),F(vt,a(L).tagline),F(Ct,a(Ce)?"▾":"▸")}),te("click",ye,()=>je(a(L).id)),k(_e,Je)}),k(p,E)};q(jn,p=>{a(v)?p(vr):p(Hn,-1)})}var hr=w(_n,2),N=y(hr);{var z=p=>{var E=Cf();k(p,E)};q(N,p=>{a(o)==="both"&&p(z)})}var g=w(N,2),C=y(g),I=w(nt,2);{var ee=p=>{ro(p,{get kind(){return a(c).kind},get message(){return a(c).message},onDismiss:()=>{ne(c,null)}})};q(I,p=>{a(c)&&p(ee)})}P(()=>{Fn=Ve(nt,1,"slashed-cp",null,Fn,{"slashed-cp--docked":a(r)}),ae(nt,"data-mode",a(o)),Ke(nt,a(r)&&n()!=null?`--cp-dock-left: ${n()}px`:""),ae(dn,"placeholder",`Search ${a(O)} tokens…`),F(C,`${a(r)?"Click to insert":"Click to copy"} `)}),te("click",nt,p=>p.stopPropagation()),te("mousedown",nt,p=>p.stopPropagation()),te("click",qn,()=>t.onClose?.()),sa(dn,()=>a(l),p=>ne(l,p)),k(e,en),Nn()}Bn(["click","mousedown"]);var Af=S(" ",1);function Tf(e,t){let n=Ee(!1);var r=Af(),s=xe(r);Su(s,{get open(){return a(n)},onToggle:()=>ne(n,!a(n))});var i=w(s,2);{var o=l=>{io(l,{get source(){return t.source},referenceMode:!0,onClose:()=>ne(n,!1)})};q(i,l=>{a(n)&&l(o)})}k(e,r)}const Ya="#bricks-structure",Of="li[data-id]",Ja="slashed-rebemer-host",If=400,Mf=25,_r=(e,...t)=>console[e]("[reBEMer]",...t),oo=new AbortController,{signal:Mr}=oo,On=new Map;let Sr=null,$n=null,Er=null;function wa(){let e=document.getElementById(Ja);return e||(e=document.createElement("div"),e.id=Ja,document.body.appendChild(e)),e}let tt=null;function Qa(){tt=window.slashedBricksEditor,tt&&typeof tt=="object"&&(dc(tt.showClassHints,tt.classHints,{signal:Mr}),yc(tt.showColorSwatches,tt.colorHexMap,{signal:Mr,onOpenPanel:tt.showColorPanel?n=>Df(n):void 0}));let e=0;const t=()=>{if(!Mr.aborted){if(Ql()){Lf();return}if(++e>=Mf){_r("warn","Bricks Vue app not detected after grace window — reBEMer disabled on this page.");return}setTimeout(t,If)}};t()}function Lf(){Rf();const e=document.querySelector(Ya);if(e){Xa(e);return}const t=new MutationObserver(()=>{const n=document.querySelector(Ya);n&&(t.disconnect(),Xa(n))});t.observe(document.body,{childList:!0,subtree:!0}),Mr.addEventListener("abort",()=>t.disconnect(),{once:!0})}function Xa(e){let t=null;const n=()=>{t===null&&(t=setTimeout(()=>{t=null,Za(e)},50))},r=new MutationObserver(n);r.observe(e,{childList:!0,subtree:!0}),Mr.addEventListener("abort",()=>{r.disconnect(),t!==null&&clearTimeout(t)},{once:!0}),Za(e)}function Za(e){for(const[n,r]of On)if(!r.host.isConnected){try{dr(r.instance)}catch(s){_r("warn","badge unmount failed",s)}On.delete(n)}const t=e.querySelectorAll(Of);for(const n of t){const r=n.getAttribute("data-id");if(!r)continue;const s=On.get(r);s&&s.host.isConnected&&n.contains(s.host)||Pf(n)}}function Pf(e){const t=e.getAttribute("data-id");if(!t)return;const n=e.querySelector(":scope > .structure-item")||e,r=n.querySelector(":scope > ul.actions")||n.querySelector(":scope > .actions")||n.querySelector(":scope > .structure-item-actions"),s=document.createElement("span");s.className="rebemer-badge-host",r?n.insertBefore(s,r):n.appendChild(s);const i=n.querySelector(":scope > .title, :scope > .structure-item-title, :scope > .name, :scope .label"),o=i?i.textContent.trim():"",l=xs(Sc,{target:s,props:{elementId:t,label:o,onActivate:qf}}),c=On.get(t);if(c){try{dr(c.instance)}catch(u){_r("warn","badge remount cleanup failed",u)}c.host.isConnected&&c.host.remove()}On.set(t,{instance:l,host:s})}function Rf(){if($n)return;const e=tt&&tt.colorPanel;if(!tt?.showColorPanel||!e||!Array.isArray(e.variables)||e.variables.length===0)return;const t=document.createElement("div");wa().appendChild(t),$n={instance:xs(Tf,{target:t,props:{source:e}}),node:t}}function Nf(){if($n){try{dr($n.instance)}catch(e){_r("warn","color app unmount failed",e)}$n.node.remove(),$n=null}}function Bf(e,t){if(!e||!e.isConnected)return!1;try{const n=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value")?.set;return n?n.call(e,t):e.value=t,e.dispatchEvent(new Event("input",{bubbles:!0})),!0}catch{return!1}}function Ff(e){const t=["#bricks-panel-inner","#bricks-panel",'[id^="bricks-panel"]'];if(e)for(const n of t){const r=e.closest(n);if(r){const s=r.getBoundingClientRect();if(s.width>100)return Math.ceil(s.right)}}for(const n of t){const r=document.querySelector(n);if(r){const s=r.getBoundingClientRect();if(s.width>100)return Math.ceil(s.right)}}return null}function Df(e){ls();const t=tt?.colorPanel;if(!t||!Array.isArray(t.variables)||t.variables.length===0)return;const n=Ff(e),r=document.createElement("div");wa().appendChild(r),Er={instance:xs(io,{target:r,props:{source:t,dockedLeft:n,onPickValue:s=>{const i=e?.querySelector('input[type="text"]')??e?.querySelector('input:not([type="hidden"],[type="submit"],[type="button"],[type="checkbox"],[type="radio"],[type="file"])'),o=Bf(i,s);if(o){const l=s.match(/^var\((--[^)]+)\)/)?.[1],c=l?tt?.colorHexMap?.[l]??null:null,u=e?.querySelector(".slashed-sf-color-btn");if(u){const d=u.querySelector(".slashed-sf-color-btn__dot");d&&(c?(d.style.background=c,d.style.removeProperty("box-shadow")):d.style.removeProperty("background")),u.classList.toggle("slashed-sf-color-btn--active",!!c)}if(c){const d=e?.closest('[data-control="color"]');requestAnimationFrame(()=>{if(!d)return;const f=d.querySelector(".bricks-control-preview");if(!f)return;const v=f.querySelector(":scope > span:not(.color-value-tooltip):not(.bricks-svg-wrapper)")??f.querySelectorAll(":scope > span")[1];v&&(v.style.display="block",v.style.background=c,v.style.setProperty("color",c,"important")),f.classList.remove("empty")})}}return o},onPick:ls,onClose:ls}}),node:r}}function ls(){if(Er){try{dr(Er.instance)}catch(e){_r("warn","color picker panel unmount failed",e)}Er.node.remove(),Er=null}}function qf(e){oa();const t=document.createElement("div");wa().appendChild(t),Sr={instance:xs(wu,{target:t,props:{rootId:e,onClose:oa}}),node:t}}function oa(){if(Sr){try{dr(Sr.instance)}catch(e){_r("warn","panel unmount failed",e)}Sr.node.remove(),Sr=null}}window.addEventListener("beforeunload",()=>{oo.abort(),oa(),Nf(),ls(),rs(),os();for(const{instance:e}of On.values())try{dr(e)}catch{}On.clear()},{once:!0});document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Qa,{once:!0}):Qa(); //# sourceMappingURL=app.js.map diff --git a/plugins/SLASHED-for-WP/integrations/bricks/editor-app/src/lib/class-hints.js b/plugins/SLASHED-for-WP/integrations/bricks/editor-app/src/lib/class-hints.js index 2a4f5b4c..5d731b88 100644 --- a/plugins/SLASHED-for-WP/integrations/bricks/editor-app/src/lib/class-hints.js +++ b/plugins/SLASHED-for-WP/integrations/bricks/editor-app/src/lib/class-hints.js @@ -1,26 +1,36 @@ /** * Class documentation hints for the Bricks builder. * - * When the "Show class hints" plugin setting is enabled, hovering a - * SLASHED class name inside the Bricks UI (the element's CSS-class list - * in the settings panel, the class autocomplete dropdown, or the global - * class manager) shows a small styled tooltip describing what the class + * When the "Show class hints" plugin setting is enabled, each SLASHED + * class row inside the Bricks UI (an applied class chip in the element's + * CSS-class list, a class-autocomplete suggestion, or a row in the global + * class manager) gets a small "?" info icon injected beside the row's own + * action icons (remove, lock/unlock, copy:styles…). Hovering or focusing + * **that icon only** reveals a styled tooltip describing what the class * does, plus its category. * * Design notes — why this looks the way it does: * - * - **Scoped, not body-wide.** A single delegated `mouseover` listener - * is cheap, but acting on *every* hovered node on the page is not: - * it risks tagging unrelated text and fighting Bricks' own DOM. We - * only react when the hovered node sits inside a known Bricks panel - * container (see `BRICKS_CONTAINERS`) and never inside our own - * reBEMer host. + * - **Icon-triggered, not row-hover.** An earlier version showed the + * tooltip on hovering anywhere over a class row via a body-wide + * `mouseover` listener. That fought Bricks' own DOM and the tooltip + * constantly obscured the row's action icons. Instead we inject our + * own `?` button (reconciled, idempotent) and bind the tooltip to it, + * so the hint only appears on deliberate intent and never covers the + * controls. + * + * - **Reconcile, don't stamp-once.** Bricks (Vue) reuses row nodes when + * a list is filtered, so a row that was `sf-stack` can become + * `sf-grid` — or a non-SLASHED class — while keeping the same DOM + * node. Every pass recomputes each row's class and adds / updates / + * removes its `?` button accordingly. The button carries no text node + * (its glyph is a CSS `::before`) so it never contaminates the row's + * `textContent` we read back to re-resolve the class. * * - **Exact match on a known key only.** `resolveClassName()` rejects * anything that isn't a single `sf-*` / `is-*` token present in the - * hint map. Because container rows carry lots of text, multi-word - * `textContent` is rejected outright — so climbing a few ancestors - * to find the label wrapper can't accidentally match a big row. + * hint map, so multi-word rows (category headers, suggestions that + * also render a category label) are never tagged. * * - **Styled tooltip, not the native `title` attribute.** `title` is * slow to appear, unstyled, and mutating Bricks' nodes is invasive. @@ -37,7 +47,7 @@ const HOST_ID = 'slashed-rebemer-host'; const TOOLTIP_ID = 'slashed-class-hint'; -// Containers inside which a hovered class name is worth a tooltip. The +// Containers inside which a class row is worth a "?" hint icon. The // element settings panel (`#bricks-panel`) holds the per-element class // list and the class autocomplete; the global class manager renders its // own popup. Listed defensively — extras cost nothing and missing ones @@ -49,11 +59,13 @@ const BRICKS_CONTAINERS = [ '[data-control="cssClasses"]', ]; -// How many ancestors to climb from the hovered node looking for the -// element that wholly represents a single class label. Bricks wraps the -// class text in a span/li; the pointer often lands on that text node's -// element directly, occasionally on a child glyph. Three is plenty. -const MAX_CLIMB = 3; +// Class applied to every injected "?" info icon. The guard for "already +// has a button" and the teardown sweep both key off this. +const BTN_CLASS = 'rebemer-class-hint-btn'; + +// Coalesce churny Bricks mutation bursts (filtering the class list, +// adding/removing a class) into one reconcile. +const DEBOUNCE_MS = 50; /** * Resolve a raw text string to a hint, or null. @@ -92,11 +104,13 @@ export function resolveClassName(raw, hints) { // ----- DOM glue (only runs in the browser) --------------------------- -let _enabled = false; let _hints = {}; let _tooltip = null; let _controller = null; -let _currentTarget = null; +let _observer = null; +let _debounce = null; +/** The `?` button the tooltip is currently anchored to, if any. */ +let _activeBtn = null; function ensureTooltip() { if (_tooltip && _tooltip.isConnected) return _tooltip; @@ -123,25 +137,6 @@ function ensureTooltip() { return el; } -/** - * Walk up from the hovered node to find the element that represents a - * single known class, returning `{ el, hint }` or null. - * - * @param {Element|null} start - * @returns {{ el: Element, hint: { name: string, description: string, category: string } } | null} - */ -function findHintTarget(start) { - let el = start; - for (let depth = 0; el && depth < MAX_CLIMB; depth++) { - if (el.nodeType === 1) { - const hint = resolveClassName(el.textContent, _hints); - if (hint) return { el, hint }; - } - el = el.parentElement; - } - return null; -} - function position(el, target) { const r = target.getBoundingClientRect(); // Measure after making it visible-but-transparent so width/height read. @@ -155,8 +150,8 @@ function position(el, target) { let top = r.bottom + gap; if (top + th > vh && r.top - gap - th >= 0) top = r.top - gap - th; - // Left-align to the target, clamped into the viewport. - let left = r.left; + // Centre on the small icon, clamped into the viewport. + let left = r.left + r.width / 2 - tw / 2; if (left + tw > vw - 4) left = Math.max(4, vw - 4 - tw); if (left < 4) left = 4; @@ -164,7 +159,18 @@ function position(el, target) { el.style.left = `${Math.round(left)}px`; } -function show(target, hint) { +/** + * Show the tooltip anchored to a `?` button, reading the class name it + * was tagged with and looking the hint up fresh (so a reused button that + * changed class still shows the right copy). + * + * @param {HTMLElement} btn + */ +function showForButton(btn) { + const name = btn.dataset.sfClass; + const hint = name ? resolveClassName(name, _hints) : null; + if (!hint) return; + const el = ensureTooltip(); el.querySelector('.rebemer-class-hint__name').textContent = `.${hint.name}`; const cat = el.querySelector('.rebemer-class-hint__cat'); @@ -173,73 +179,158 @@ function show(target, hint) { el.querySelector('.rebemer-class-hint__desc').textContent = hint.description; el.hidden = false; - position(el, target); - _currentTarget = target; + position(el, btn); + _activeBtn = btn; } function hide() { if (_tooltip) _tooltip.hidden = true; - _currentTarget = null; + _activeBtn = null; } -function onMouseOver(event) { - const target = event.target; - if (!(target instanceof Element)) return; - - // Never react to our own UI. - if (target.closest(`#${HOST_ID}`)) return; +// Button-local handlers. The tooltip is bound to the `?` icon ONLY, so it +// never appears while the pointer is merely passing over the class row. +function onBtnEnter(event) { showForButton(event.currentTarget); } +function onBtnLeave() { hide(); } +function onBtnClick(event) { + // The `?` is informational; swallow the click so it can't trigger + // Bricks' own row actions (select/apply/remove). + event.preventDefault(); + event.stopPropagation(); +} +function onKeyDown(event) { + if (event.key === 'Escape') hide(); +} - // Only inside known Bricks panel regions. - if (!target.closest(BRICKS_CONTAINERS.join(','))) { - if (_currentTarget) hide(); - return; +/** + * Resolve the single SLASHED class a row represents, or null. + * + * Reads the row's own text (icon buttons carry no text node, and our `?` + * glyph is a CSS `::before`, so neither contaminates it). Falls back to + * probing likely label children for rows that also render a category or + * count alongside the name. + * + * @param {Element} row + * @returns {{ name: string, description: string, category: string } | null} + */ +function resolveRow(row) { + const direct = resolveClassName(row.textContent, _hints); + if (direct) return direct; + + const labels = row.querySelectorAll('span, [contenteditable], .name, .label, a'); + for (const el of labels) { + const hint = resolveClassName(el.textContent, _hints); + if (hint) return hint; } + return null; +} - const match = findHintTarget(target); - if (!match) { - if (_currentTarget) hide(); - return; - } - if (match.el === _currentTarget) return; // already showing for this node - show(match.el, match.hint); +/** + * Choose where the `?` icon should sit so it reads as one of the row's + * action icons. Prefers an explicit actions cluster; otherwise the row + * itself (the icon then trails the existing controls). + * + * @param {Element} row + * @returns {Element} + */ +function actionsHost(row) { + return ( + row.querySelector('.actions, [class*="action"], [class*="icons"], [class*="controls"]') || + row + ); } -function onMouseOut(event) { - if (!_currentTarget) return; - // Hide only when the pointer truly leaves the labelled element. - const to = event.relatedTarget; - if (to instanceof Node && _currentTarget.contains(to)) return; - hide(); +function makeButton() { + const btn = document.createElement('span'); + btn.className = BTN_CLASS; + btn.setAttribute('role', 'button'); + btn.setAttribute('tabindex', '0'); + btn.setAttribute('aria-label', 'What does this class do?'); + // No text node: the "?" glyph is painted via CSS ::before so the row's + // textContent stays clean for re-resolution. + btn.addEventListener('mouseenter', onBtnEnter); + btn.addEventListener('mouseleave', onBtnLeave); + btn.addEventListener('focus', onBtnEnter); + btn.addEventListener('blur', onBtnLeave); + btn.addEventListener('click', onBtnClick); + return btn; } -// Mirror the hover handlers for keyboard users: a class label focused -// via Tab gets the same tooltip a mouse hover would surface. -function onFocusIn(event) { - const target = event.target; - if (!(target instanceof Element)) return; - if (target.closest(`#${HOST_ID}`)) return; - if (!target.closest(BRICKS_CONTAINERS.join(','))) { - if (_currentTarget) hide(); - return; +/** + * One reconcile pass: refresh existing `?` icons, drop stale ones, and + * inject icons into newly-eligible class rows. Idempotent. + */ +function reconcile() { + // Pass 1: refresh / reap existing icons. A row whose class changed (Vue + // reuse) gets re-tagged; a row that's no longer a known SLASHED class + // loses its icon. + for (const btn of document.querySelectorAll('.' + BTN_CLASS)) { + // Pass 2 only ever injects into
                              • rows, so the row is the nearest + //
                              • ancestor. + const row = btn.closest('li'); + const hint = row ? resolveRow(row) : null; + if (!hint) { + if (_activeBtn === btn) hide(); + btn.remove(); + } else if (btn.dataset.sfClass !== hint.name) { + btn.dataset.sfClass = hint.name; + } } - const match = findHintTarget(target); - if (!match) { - if (_currentTarget) hide(); - return; + + // Pass 2: inject into eligible rows that lack an icon. Scope strictly to + // the known Bricks containers and to
                              • rows, which is what Bricks uses + // for applied class chips, autocomplete suggestions, and class-manager + // rows alike. + const containers = document.querySelectorAll(BRICKS_CONTAINERS.join(',')); + for (const container of containers) { + for (const row of container.querySelectorAll('li')) { + if (row.querySelector('.' + BTN_CLASS)) continue; + // Only tag innermost rows — a wrapper
                              • around a single class + // chip resolves to the same name and would double-inject. + if (row.querySelector('li')) continue; + const hint = resolveRow(row); + if (!hint) continue; + const btn = makeButton(); + btn.dataset.sfClass = hint.name; + actionsHost(row).appendChild(btn); + } } - if (match.el === _currentTarget) return; - show(match.el, match.hint); } -function onFocusOut(event) { - if (!_currentTarget) return; - const to = event.relatedTarget; - if (to instanceof Node && _currentTarget.contains(to)) return; - hide(); +function schedule() { + if (_debounce !== null) return; + _debounce = setTimeout(() => { + _debounce = null; + reconcile(); + }, DEBOUNCE_MS); } -function onKeyDown(event) { - if (event.key === 'Escape') hide(); +/** + * Cheap pre-filter: only reconcile when a mutation touches one of the + * Bricks containers (or adds nodes that contain one), so canvas edits and + * unrelated builder churn don't wake the reconciler. + * + * @param {MutationRecord[]} records + * @returns {boolean} + */ +function touchesContainers(records) { + const sel = BRICKS_CONTAINERS.join(','); + for (const m of records) { + const t = m.target; + // Ignore mutations we caused ourselves (injecting / removing icons). + if (t && t.nodeType === 1) { + if (t.classList && t.classList.contains(BTN_CLASS)) continue; + if (t.closest && t.closest(sel)) return true; + } + for (const node of m.addedNodes) { + if (node.nodeType !== 1) continue; + if (node.classList && node.classList.contains(BTN_CLASS)) continue; + if ((node.matches && node.matches(sel)) || + (node.closest && node.closest(sel)) || + (node.querySelector && node.querySelector(sel))) return true; + } + } + return false; } /** @@ -257,23 +348,30 @@ function onKeyDown(event) { export function init(enabled, hints, options = {}) { destroy(); - _enabled = !!enabled; _hints = hints && typeof hints === 'object' ? hints : {}; - if (!_enabled || Object.keys(_hints).length === 0) return; + if (!enabled || Object.keys(_hints).length === 0) return; _controller = new AbortController(); const { signal } = _controller; - const opts = { passive: true, signal }; - - document.addEventListener('mouseover', onMouseOver, opts); - document.addEventListener('mouseout', onMouseOut, opts); - document.addEventListener('focusin', onFocusIn, opts); - document.addEventListener('focusout', onFocusOut, opts); - document.addEventListener('keydown', onKeyDown, opts); - // The tooltip is anchored to a fixed viewport position; hide it on - // scroll rather than chase a moving target. + + // Esc dismisses the tooltip; scroll hides it (it's fixed-positioned, so + // chasing a moving anchor isn't worth it). + document.addEventListener('keydown', onKeyDown, { passive: true, signal }); window.addEventListener('scroll', hide, { capture: true, passive: true, signal }); + // The class lists live in panels without a single stable container across + // their lifecycle, so observe body and filter with touchesContainers(). + _observer = new MutationObserver((records) => { + // If the row anchoring the tooltip was removed (e.g. the class was + // deleted while the hint was open), the tooltip would otherwise linger + // pointing at nothing — drop it before reconciling. + if (_activeBtn && !_activeBtn.isConnected) hide(); + if (touchesContainers(records)) schedule(); + }); + _observer.observe(document.body, { childList: true, subtree: true }); + + reconcile(); + if (options.signal) { if (options.signal.aborted) destroy(); else options.signal.addEventListener('abort', destroy, { once: true }); @@ -281,18 +379,30 @@ export function init(enabled, hints, options = {}) { } /** - * Tear down listeners and remove the tooltip element. + * Tear down listeners, the observer, the tooltip, and every injected icon. */ export function destroy() { + if (_debounce !== null) { + clearTimeout(_debounce); + _debounce = null; + } + if (_observer) { + _observer.disconnect(); + _observer = null; + } if (_controller) { _controller.abort(); _controller = null; } + try { + document.querySelectorAll('.' + BTN_CLASS).forEach((node) => node.remove()); + } catch { + /* ignore */ + } if (_tooltip) { _tooltip.remove(); _tooltip = null; } - _currentTarget = null; - _enabled = false; + _activeBtn = null; _hints = {}; } diff --git a/plugins/SLASHED-for-WP/integrations/bricks/editor-app/src/styles/panel.css b/plugins/SLASHED-for-WP/integrations/bricks/editor-app/src/styles/panel.css index 4479a324..c17acf02 100644 --- a/plugins/SLASHED-for-WP/integrations/bricks/editor-app/src/styles/panel.css +++ b/plugins/SLASHED-for-WP/integrations/bricks/editor-app/src/styles/panel.css @@ -454,6 +454,40 @@ li[data-id]:focus-within > .rebemer-badge-host { .rebemer-class-hint__cat[hidden] { display: none; } .rebemer-class-hint__desc { margin: 4px 0 0; color: var(--rebemer-fg); } +/* "?" info icon injected beside a class row's own action icons. The + tooltip above is bound to THIS element only (not the whole row), so it + surfaces on deliberate hover/focus and never obscures the row controls. + The glyph is a ::before so the icon contributes no textContent — the + reconciler reads the row text back to re-resolve which class it is. */ +.rebemer-class-hint-btn { + display: inline-flex; + align-items: center; + justify-content: center; + width: 16px; + height: 16px; + flex: 0 0 auto; + margin-inline-start: 4px; + border-radius: 50%; + /* Injected outside #slashed-rebemer-host, so the --rebemer-* vars need + fallbacks (mirrors .rebemer-badge-host). */ + border: 1px solid var(--rebemer-border, #3d4752); + background: transparent; + color: var(--rebemer-fg-muted, #8a8d95); + font: 700 10px/1 var(--rebemer-font, "Inter", -apple-system, BlinkMacSystemFont, sans-serif); + cursor: help; + opacity: 0.7; + vertical-align: middle; + transition: opacity 120ms ease, color 120ms ease, border-color 120ms ease; +} +.rebemer-class-hint-btn::before { content: '?'; } +.rebemer-class-hint-btn:hover, +.rebemer-class-hint-btn:focus-visible { + opacity: 1; + color: var(--rebemer-accent, #e2b93b); + border-color: var(--rebemer-accent, #e2b93b); + outline: none; +} + /* ===================================================================== Color System panel ---------------------------------------------------------------------