spytial-core 6.4.1 → 6.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/browser/spytial-core-complete.css +1 -1
- package/dist/browser/spytial-core-complete.css.map +1 -1
- package/dist/browser/spytial-core-complete.global.js +1 -1
- package/dist/cli/spytial-check.js +1 -1
- package/dist/components/react-component-integration.css +1 -1
- package/dist/components/react-component-integration.css.map +1 -1
- package/dist/components/react-component-integration.d.ts +8 -3
- package/dist/components/react-component-integration.global.js +79 -79
- package/dist/components/react-component-integration.global.js.map +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/react.css +24 -7
- package/dist/react.mjs +11 -8
- package/dist/react.mjs.map +1 -1
- package/dist/types/components/ErrorMessageModal/ErrorMessageContainer.d.ts +2 -0
- package/dist/types/components/ErrorMessageModal/ErrorMessageModal.d.ts +2 -0
- package/dist/types/react-component-integration.d.ts +8 -3
- package/docs/spytial-language.json +1 -1
- package/docs/spytial-spec.schema.json +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/spec-editor/ui/spec-editor.css","../../src/components/ErrorMessageModal/ErrorMessageModal.css","../../src/components/EvaluatorRepl/EvaluatorRepl.css","../../src/components/RelationHighlighter/RelationHighlighter.css"],"sourcesContent":["/*\n * Spytial spec editor styles — \"drafting instrument\".\n *\n * Light: warm paper, near-black ink, a single vermillion accent (the red\n * pencil). Dark preset: blue-black instrument panel with amber. Chrome text\n * (section titles, type labels, summaries, tabs) leans on the mono stack;\n * corners are sharp (2px); surfaces are flat (no background patterns).\n *\n * Every class is prefixed `spytial-ed-`. Every color / size / font reads from a\n * `--spytial-ed-*` custom property with a fallback equal to the `lightTheme`\n * preset in `theme.ts`, so the editor is fully styled with no theme prop. The\n * `theme` prop sets these variables inline on the editor root to override the\n * fallbacks; `darkTheme` is applied the same way. Zero Bootstrap.\n *\n * Density: the `spytial-ed--compact` root modifier tightens row padding/gap and\n * the base font; `comfortable` is the unmodified default below.\n *\n * Popups (add menu, overflow menu, autocomplete) are `position: fixed` with\n * coordinates supplied inline by `useAnchoredPopup`, so host containers with\n * `overflow` clipping (demo sidebars) cannot cut them off.\n */\n\n/* ─── Root / shared tokens ──────────────────────────────────────────── */\n\n.spytial-ed {\n font-family: var(\n --spytial-ed-font-family,\n 'Avenir Next', 'Avenir', 'Seravek', 'Segoe UI Variable', 'Segoe UI',\n 'Trebuchet MS', sans-serif\n );\n font-size: var(--spytial-ed-font-size, 14px);\n color: var(--spytial-ed-text, #221d14);\n /* derived spacing/radius shorthands so component rules stay terse */\n --spytial-ed-gap: var(--spytial-ed-spacing, 8px);\n --spytial-ed-radius-sm: var(--spytial-ed-radius, 2px);\n /* chrome (titles, tabs, badges, summaries) shares the mono stack */\n --spytial-ed-chrome-font: var(\n --spytial-ed-mono-font-family,\n ui-monospace, 'Cascadia Code', 'JetBrains Mono', 'SF Mono', Menlo,\n Consolas, 'Liberation Mono', monospace\n );\n}\n\n.spytial-ed *,\n.spytial-ed *::before,\n.spytial-ed *::after {\n box-sizing: border-box;\n}\n\n.spytial-ed--compact {\n font-size: calc(var(--spytial-ed-font-size, 14px) - 1px);\n --spytial-ed-gap: calc(var(--spytial-ed-spacing, 8px) * 0.625);\n}\n\n/* motion primitives (disabled under prefers-reduced-motion below) */\n@keyframes spytial-ed-pop {\n from {\n opacity: 0;\n transform: translateY(-3px) scale(0.99);\n }\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n\n@keyframes spytial-ed-unfold {\n from {\n opacity: 0;\n transform: translateY(-2px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* ─── Field layout (one field per row, tight) ───────────────────────── */\n\n.spytial-ed-fields {\n display: flex;\n flex-direction: column;\n gap: var(--spytial-ed-gap, 8px);\n width: 100%;\n}\n\n.spytial-ed-field {\n display: grid;\n grid-template-columns: minmax(7rem, 9rem) 1fr;\n align-items: start;\n gap: var(--spytial-ed-gap, 8px);\n}\n\n.spytial-ed--compact .spytial-ed-field {\n grid-template-columns: minmax(6rem, 8rem) 1fr;\n}\n\n.spytial-ed-field-label {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.72em;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.09em;\n color: var(--spytial-ed-text-muted, #6e6553);\n padding-top: 0.55em;\n line-height: 1.3;\n cursor: default;\n user-select: none;\n}\n\n.spytial-ed-field-required {\n color: var(--spytial-ed-danger, #a32014);\n font-weight: 700;\n}\n\n.spytial-ed-field-control {\n display: flex;\n flex-direction: column;\n gap: 0.25em;\n min-width: 0;\n}\n\n/* ─── Inputs (text, number, combo) ──────────────────────────────────── */\n\n.spytial-ed-input {\n width: 100%;\n font-family: inherit;\n font-size: inherit;\n color: var(--spytial-ed-text, #221d14);\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.4em 0.55em;\n line-height: 1.4;\n transition: border-color 0.15s ease, box-shadow 0.15s ease;\n}\n\n.spytial-ed--compact .spytial-ed-input {\n padding: 0.3em 0.45em;\n}\n\n.spytial-ed-input::placeholder {\n color: var(--spytial-ed-text-muted, #6e6553);\n opacity: 0.65;\n}\n\n.spytial-ed-input:focus,\n.spytial-ed-input:focus-visible {\n outline: none;\n border-color: var(--spytial-ed-accent, #b5431a);\n box-shadow: 0 0 0 2px\n color-mix(in srgb, var(--spytial-ed-accent, #b5431a) 20%, transparent);\n}\n\n.spytial-ed-input:disabled {\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n color: var(--spytial-ed-text-muted, #6e6553);\n cursor: not-allowed;\n}\n\n.spytial-ed-input--number {\n width: 8rem;\n}\n\n.spytial-ed-input[aria-invalid='true'] {\n border-color: var(--spytial-ed-danger, #a32014);\n}\n\n/* ─── Color field ───────────────────────────────────────────────────── */\n\n.spytial-ed-color {\n display: flex;\n align-items: center;\n gap: var(--spytial-ed-gap, 8px);\n}\n\n.spytial-ed-color-swatch {\n inline-size: 2rem;\n block-size: 2rem;\n padding: 0;\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n background: var(--spytial-ed-surface, #faf8f2);\n cursor: pointer;\n}\n\n.spytial-ed-color-swatch:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 1px;\n}\n\n.spytial-ed-color-text {\n width: 9rem;\n font-family: var(\n --spytial-ed-mono-font-family,\n ui-monospace, 'Cascadia Code', 'JetBrains Mono', 'SF Mono', Menlo,\n Consolas, 'Liberation Mono', monospace\n );\n}\n\n/* ─── Enum pills (segmented + multi) ────────────────────────────────── */\n\n.spytial-ed-pills {\n display: flex;\n flex-wrap: wrap;\n gap: 0.3em;\n}\n\n.spytial-ed-pill {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.8em;\n color: var(--spytial-ed-text, #221d14);\n background: transparent;\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.28em 0.65em;\n cursor: pointer;\n transition: background 0.15s ease, border-color 0.15s ease,\n color 0.15s ease, transform 0.1s ease;\n}\n\n.spytial-ed-pill:hover:not(:disabled) {\n border-color: var(--spytial-ed-accent, #b5431a);\n color: var(--spytial-ed-accent, #b5431a);\n}\n\n.spytial-ed-pill:active:not(:disabled) {\n transform: translateY(1px);\n}\n\n.spytial-ed-pill:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 1px;\n}\n\n.spytial-ed-pill--active {\n background: var(--spytial-ed-accent, #b5431a);\n border-color: var(--spytial-ed-accent, #b5431a);\n color: var(--spytial-ed-accent-text, #fdf6ec);\n font-weight: 600;\n}\n\n.spytial-ed-pill--active:hover:not(:disabled) {\n color: var(--spytial-ed-accent-text, #fdf6ec);\n}\n\n/* the \"should not hold\" pill goes danger-tinted when active */\n.spytial-ed-pill--negated {\n background: var(--spytial-ed-danger, #a32014);\n border-color: var(--spytial-ed-danger, #a32014);\n}\n\n.spytial-ed-pill--negated:hover:not(:disabled) {\n border-color: var(--spytial-ed-danger, #a32014);\n}\n\n.spytial-ed-pill:disabled {\n opacity: 0.55;\n cursor: not-allowed;\n}\n\n/* ─── Boolean switch ────────────────────────────────────────────────── */\n\n.spytial-ed-switch {\n position: relative;\n inline-size: 2.4rem;\n block-size: 1.35rem;\n padding: 0;\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: 999px;\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n cursor: pointer;\n transition: background 0.15s ease, border-color 0.15s ease;\n}\n\n.spytial-ed-switch-thumb {\n position: absolute;\n top: 50%;\n left: 0.18rem;\n transform: translateY(-50%);\n inline-size: 0.95rem;\n block-size: 0.95rem;\n border-radius: 50%;\n background: var(--spytial-ed-surface, #faf8f2);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);\n transition: left 0.15s ease;\n}\n\n.spytial-ed-switch--on {\n background: var(--spytial-ed-accent, #b5431a);\n border-color: var(--spytial-ed-accent, #b5431a);\n}\n\n.spytial-ed-switch--on .spytial-ed-switch-thumb {\n left: calc(100% - 1.13rem);\n}\n\n.spytial-ed-switch:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 2px;\n}\n\n.spytial-ed-switch:disabled {\n opacity: 0.55;\n cursor: not-allowed;\n}\n\n/* ─── Selector field (mirror overlay) ───────────────────────────────── */\n\n.spytial-ed-selector {\n display: flex;\n flex-direction: column;\n gap: 0.25em;\n width: 100%;\n}\n\n.spytial-ed-selector-input-wrap {\n position: relative;\n width: 100%;\n /* The field's surface fill lives HERE (behind the highlight mirror), not on\n the textarea: the textarea sits on top with a transparent background so the\n mirror's syntax-highlighted text shows through. An opaque textarea would\n paint over the mirror and the field would look empty (all-surface). */\n background: var(--spytial-ed-surface, #faf8f2);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n}\n\n/*\n * The textarea and the mirror MUST share identical box metrics for the overlay\n * to line up: same font, size, padding, border, line-height, letter-spacing and\n * wrapping. Both wrap on words and break long tokens, so multi-line wrapping is\n * mirrored exactly.\n */\n.spytial-ed-selector-textarea,\n.spytial-ed-selector-mirror {\n margin: 0;\n font-family: var(\n --spytial-ed-mono-font-family,\n ui-monospace, 'Cascadia Code', 'JetBrains Mono', 'SF Mono', Menlo,\n Consolas, 'Liberation Mono', monospace\n );\n font-size: 0.95em;\n line-height: 1.5;\n letter-spacing: normal;\n word-spacing: normal;\n /* Normalize text shaping: browsers apply ligatures/kerning differently in\n <textarea> vs <pre> (and the mono stack includes ligature fonts), which\n would drift the overlay out from under the caret. Force both off. */\n font-variant-ligatures: none;\n font-feature-settings: normal;\n font-kerning: none;\n hyphens: none;\n text-rendering: auto;\n tab-size: 2;\n padding: 0.4em 0.55em;\n border: 1px solid transparent;\n border-radius: var(--spytial-ed-radius-sm, 2px);\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: break-word;\n}\n\n.spytial-ed--compact .spytial-ed-selector-textarea,\n.spytial-ed--compact .spytial-ed-selector-mirror {\n padding: 0.3em 0.45em;\n}\n\n/* Reserve identical room for the ✨ button on BOTH elements, so the text\n never runs under the button and wrapping stays mirrored. MUST come after\n the compact rule above: that one sets the `padding` shorthand at equal\n specificity and would silently reset padding-right (source order wins). */\n.spytial-ed-selector-input-wrap--with-synth .spytial-ed-selector-textarea,\n.spytial-ed-selector-input-wrap--with-synth .spytial-ed-selector-mirror {\n padding-right: 2.3em;\n}\n\n/* The mirror sits behind; it is purely presentational. */\n.spytial-ed-selector-mirror {\n position: absolute;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n overflow: hidden;\n color: var(--spytial-ed-text, #221d14);\n background: transparent;\n /* reserve room for the ✨ button so wrapping matches the textarea */\n}\n\n/* The textarea sits on top with transparent text but a visible caret. */\n.spytial-ed-selector-textarea {\n position: relative;\n z-index: 1;\n display: block;\n width: 100%;\n min-height: 2.2em;\n resize: none;\n overflow: hidden; /* height is driven by JS auto-grow */\n /* transparent so the highlight mirror behind shows through; the field fill is\n on `.spytial-ed-selector-input-wrap` (matches the code-view overlay). */\n background: transparent;\n border-color: var(--spytial-ed-border, #d9d2c0);\n color: transparent;\n caret-color: var(--spytial-ed-accent, #b5431a);\n transition: border-color 0.15s ease, box-shadow 0.15s ease;\n}\n\n.spytial-ed-selector-textarea::placeholder {\n color: var(--spytial-ed-text-muted, #6e6553);\n opacity: 0.65;\n}\n\n.spytial-ed-selector-textarea::selection {\n /* keep selection visible even though text is transparent */\n background: color-mix(\n in srgb,\n var(--spytial-ed-accent, #b5431a) 26%,\n transparent\n );\n}\n\n.spytial-ed-selector-textarea:focus,\n.spytial-ed-selector-textarea:focus-visible {\n outline: none;\n border-color: var(--spytial-ed-accent, #b5431a);\n box-shadow: 0 0 0 2px\n color-mix(in srgb, var(--spytial-ed-accent, #b5431a) 20%, transparent);\n}\n\n.spytial-ed-selector-textarea:disabled {\n cursor: not-allowed;\n}\n\n/* Disabled fill goes on the wrapper (the textarea is transparent), so the\n highlight mirror stays visible. Mirrors the code view's :has pattern. */\n.spytial-ed-selector-input-wrap:has(.spytial-ed-selector-textarea:disabled) {\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n}\n\n/* highlighting disabled (escape hatch): the textarea shows its own text */\n.spytial-ed-selector-textarea--plain {\n color: var(--spytial-ed-text, #221d14);\n}\n\n/* severity borders on the wrapper's textarea */\n.spytial-ed-selector--error .spytial-ed-selector-textarea {\n border-color: var(--spytial-ed-danger, #a32014);\n box-shadow: inset 0 -2px 0 var(--spytial-ed-danger, #a32014);\n}\n\n.spytial-ed-selector--warning .spytial-ed-selector-textarea {\n border-color: var(--spytial-ed-warning, #8a6200);\n box-shadow: inset 0 -2px 0 var(--spytial-ed-warning, #8a6200);\n}\n\n/* ─── Syntax token colors (used by mirror + synth preview) ──────────── */\n\n.spytial-ed-syn-keyword {\n color: var(--spytial-ed-syn-keyword, #6d28a8);\n font-weight: 600;\n}\n.spytial-ed-syn-type {\n color: var(--spytial-ed-syn-type, #0e6b6b);\n}\n.spytial-ed-syn-relation,\n.spytial-ed-syn-identifier {\n color: var(--spytial-ed-syn-relation, #1f4f9e);\n}\n.spytial-ed-syn-operator {\n color: var(--spytial-ed-syn-operator, #b5431a);\n}\n.spytial-ed-syn-string {\n color: var(--spytial-ed-syn-string, #7a5901);\n}\n.spytial-ed-syn-number {\n color: var(--spytial-ed-syn-type, #0e6b6b);\n}\n.spytial-ed-syn-comment {\n color: var(--spytial-ed-syn-comment, #8a8170);\n font-style: italic;\n}\n\n/* ─── ✨ synthesis button ───────────────────────────────────────────── */\n\n.spytial-ed-selector-synth-btn {\n position: absolute;\n top: 0.25em;\n right: 0.25em;\n z-index: 2;\n inline-size: 1.7em;\n block-size: 1.7em;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n font-size: 0.95em;\n line-height: 1;\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n cursor: pointer;\n transition: border-color 0.15s ease, background 0.15s ease,\n transform 0.12s ease;\n}\n\n.spytial-ed-selector-synth-btn:hover:not(:disabled) {\n border-color: var(--spytial-ed-accent, #b5431a);\n transform: rotate(-8deg);\n}\n\n.spytial-ed-selector-synth-btn:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 1px;\n}\n\n.spytial-ed-selector-synth-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* ─── Autocomplete listbox (viewport-fixed, see useAnchoredPopup) ───── */\n\n.spytial-ed-autocomplete {\n position: fixed;\n z-index: 1000;\n margin: 0;\n padding: 0.2em;\n list-style: none;\n overflow-y: auto;\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius, 2px);\n box-shadow: 0 1px 0 color-mix(in srgb, var(--spytial-ed-text, #221d14) 8%, transparent),\n 0 8px 24px color-mix(in srgb, var(--spytial-ed-text, #221d14) 18%, transparent);\n animation: spytial-ed-pop 0.12s ease-out;\n}\n\n.spytial-ed-autocomplete-item {\n display: flex;\n align-items: center;\n gap: 0.5em;\n padding: 0.3em 0.5em;\n border-radius: var(--spytial-ed-radius-sm, 2px);\n cursor: pointer;\n font-size: 0.9em;\n}\n\n.spytial-ed-autocomplete-item--active {\n background: color-mix(\n in srgb,\n var(--spytial-ed-accent, #b5431a) 14%,\n transparent\n );\n}\n\n.spytial-ed-autocomplete-kind {\n inline-size: 0.6em;\n block-size: 0.6em;\n border-radius: 1px;\n flex: 0 0 auto;\n background: var(--spytial-ed-text-muted, #6e6553);\n}\n.spytial-ed-kind-type {\n background: var(--spytial-ed-syn-type, #0e6b6b);\n}\n.spytial-ed-kind-relation {\n background: var(--spytial-ed-syn-relation, #1f4f9e);\n}\n.spytial-ed-kind-atom {\n background: var(--spytial-ed-syn-string, #7a5901);\n}\n.spytial-ed-kind-keyword {\n background: var(--spytial-ed-syn-keyword, #6d28a8);\n}\n.spytial-ed-kind-snippet {\n background: var(--spytial-ed-success, #2f6c43);\n}\n\n.spytial-ed-autocomplete-label {\n font-family: var(\n --spytial-ed-mono-font-family,\n ui-monospace, 'Cascadia Code', 'JetBrains Mono', 'SF Mono', Menlo,\n Consolas, 'Liberation Mono', monospace\n );\n color: var(--spytial-ed-text, #221d14);\n}\n\n.spytial-ed-autocomplete-detail {\n margin-left: auto;\n font-size: 0.85em;\n color: var(--spytial-ed-text-muted, #6e6553);\n white-space: nowrap;\n}\n\n/* ─── Synthesis popover ─────────────────────────────────────────────── */\n\n.spytial-ed-synth-popover {\n margin-top: 0.3em;\n padding: var(--spytial-ed-gap, 8px);\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-left: 3px solid var(--spytial-ed-accent, #b5431a);\n border-radius: var(--spytial-ed-radius, 2px);\n display: flex;\n flex-direction: column;\n gap: var(--spytial-ed-gap, 8px);\n animation: spytial-ed-unfold 0.14s ease-out;\n}\n\n.spytial-ed-synth-row {\n display: flex;\n gap: 0.4em;\n}\n\n.spytial-ed-synth-input {\n flex: 1 1 auto;\n min-width: 0;\n font-family: inherit;\n font-size: 0.9em;\n color: var(--spytial-ed-text, #221d14);\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.4em 0.55em;\n}\n\n.spytial-ed-synth-input:focus-visible {\n outline: none;\n border-color: var(--spytial-ed-accent, #b5431a);\n box-shadow: 0 0 0 2px\n color-mix(in srgb, var(--spytial-ed-accent, #b5431a) 20%, transparent);\n}\n\n.spytial-ed-synth-generate,\n.spytial-ed-synth-accept {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.82em;\n font-weight: 600;\n color: var(--spytial-ed-accent-text, #fdf6ec);\n background: var(--spytial-ed-accent, #b5431a);\n border: 1px solid var(--spytial-ed-accent, #b5431a);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.4em 0.8em;\n cursor: pointer;\n white-space: nowrap;\n transition: filter 0.15s ease, transform 0.1s ease;\n}\n\n.spytial-ed-synth-generate:hover:not(:disabled),\n.spytial-ed-synth-accept:hover:not(:disabled) {\n filter: brightness(1.08);\n}\n\n.spytial-ed-synth-generate:active:not(:disabled),\n.spytial-ed-synth-accept:active:not(:disabled) {\n transform: translateY(1px);\n}\n\n.spytial-ed-synth-generate:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.spytial-ed-synth-dismiss {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.82em;\n color: var(--spytial-ed-text, #221d14);\n background: transparent;\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.4em 0.8em;\n cursor: pointer;\n}\n\n.spytial-ed-synth-generate:focus-visible,\n.spytial-ed-synth-accept:focus-visible,\n.spytial-ed-synth-dismiss:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 1px;\n}\n\n.spytial-ed-synth-error {\n color: var(--spytial-ed-danger, #a32014);\n font-size: 0.85em;\n}\n\n.spytial-ed-synth-result {\n display: flex;\n flex-direction: column;\n gap: 0.4em;\n}\n\n.spytial-ed-synth-preview {\n margin: 0;\n padding: 0.4em 0.55em;\n font-family: var(\n --spytial-ed-mono-font-family,\n ui-monospace, 'Cascadia Code', 'JetBrains Mono', 'SF Mono', Menlo,\n Consolas, 'Liberation Mono', monospace\n );\n font-size: 0.9em;\n line-height: 1.5;\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n white-space: pre-wrap;\n word-break: break-word;\n color: var(--spytial-ed-text, #221d14);\n}\n\n.spytial-ed-synth-explanation {\n margin: 0;\n font-size: 0.85em;\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n\n.spytial-ed-synth-actions {\n display: flex;\n gap: 0.4em;\n}\n\n/* ─── Diagnostics ───────────────────────────────────────────────────── */\n\n.spytial-ed-diagnostics {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 0.1em;\n}\n\n.spytial-ed-diagnostic {\n display: flex;\n align-items: baseline;\n gap: 0.4em;\n font-size: 0.8em;\n line-height: 1.35;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* Item-level diagnostics (deprecated type/key, unknown type, validate()) sit at\n the top of an expanded row rather than under a control. They get the full\n panel width, so — unlike the one-line field diagnostics — they wrap instead\n of truncating: the message names the replacement to move to, which is the\n part that would be cut off. */\n.spytial-ed-diagnostics--item {\n gap: 0.2em;\n}\n.spytial-ed-diagnostics--item .spytial-ed-diagnostic {\n white-space: normal;\n overflow: visible;\n}\n.spytial-ed-diagnostics--item .spytial-ed-diagnostic-msg {\n overflow: visible;\n text-overflow: clip;\n}\n\n.spytial-ed-diagnostic-dot {\n flex: 0 0 auto;\n inline-size: 0.5em;\n block-size: 0.5em;\n border-radius: 50%;\n align-self: center;\n}\n\n.spytial-ed-diagnostic-msg {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.spytial-ed-diagnostic--error {\n color: var(--spytial-ed-danger, #a32014);\n}\n.spytial-ed-diagnostic--error .spytial-ed-diagnostic-dot {\n background: var(--spytial-ed-danger, #a32014);\n}\n.spytial-ed-diagnostic--warning {\n color: var(--spytial-ed-warning, #8a6200);\n}\n.spytial-ed-diagnostic--warning .spytial-ed-diagnostic-dot {\n background: var(--spytial-ed-warning, #8a6200);\n}\n.spytial-ed-diagnostic--info {\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n.spytial-ed-diagnostic--info .spytial-ed-diagnostic-dot {\n background: var(--spytial-ed-text-muted, #6e6553);\n}\n\n/* small standalone diagnostic badge/dot, for collapsed builder rows */\n.spytial-ed-diagnostic-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-inline-size: 0.9em;\n block-size: 0.9em;\n padding: 0 0.2em;\n margin-inline-start: 0.4em;\n border-radius: 999px;\n font-size: 0.7em;\n font-weight: 700;\n line-height: 1;\n color: #ffffff;\n background: var(--spytial-ed-danger, #a32014);\n}\n.spytial-ed-diagnostic-badge--warning {\n background: var(--spytial-ed-warning, #8a6200);\n}\n.spytial-ed-diagnostic-badge--info {\n background: var(--spytial-ed-text-muted, #6e6553);\n}\n\n/* ════════════════════════════════════════════════════════════════════════\n Views (SpecEditor toolbar, BuilderView rows/menus, CodeView)\n ════════════════════════════════════════════════════════════════════════ */\n\n/* ─── SpecEditor root chrome ────────────────────────────────────────────── */\n\n.spytial-ed {\n display: block;\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius, 2px);\n /* NOTE: no `overflow: hidden` here — it clipped the menus before they were\n made viewport-fixed, and would still clip the ✨ popover. */\n}\n\n.spytial-ed-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--spytial-ed-gap, 8px);\n padding: calc(var(--spytial-ed-gap, 8px) * 0.75) var(--spytial-ed-gap, 8px);\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n border-bottom: 1px solid var(--spytial-ed-border, #d9d2c0);\n}\n\n.spytial-ed-viewtoggle {\n display: inline-flex;\n gap: var(--spytial-ed-gap, 8px);\n}\n\n.spytial-ed-viewtoggle-btn {\n position: relative;\n display: inline-flex;\n align-items: center;\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.78em;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.09em;\n color: var(--spytial-ed-text-muted, #6e6553);\n background: transparent;\n border: none;\n padding: 0.3em 0.15em;\n cursor: pointer;\n transition: color 0.15s ease;\n}\n\n/* underline-tab: a hairline that draws in on activation */\n.spytial-ed-viewtoggle-btn::after {\n content: '';\n position: absolute;\n left: 0;\n right: 100%;\n bottom: -2px;\n height: 2px;\n background: var(--spytial-ed-accent, #b5431a);\n transition: right 0.18s ease;\n}\n\n.spytial-ed-viewtoggle-btn:hover:not(:disabled) {\n color: var(--spytial-ed-text, #221d14);\n}\n\n.spytial-ed-viewtoggle-btn--active {\n color: var(--spytial-ed-accent, #b5431a);\n}\n\n.spytial-ed-viewtoggle-btn--active::after {\n right: 0;\n}\n\n.spytial-ed-viewtoggle-btn:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 2px;\n}\n\n.spytial-ed-viewtoggle-btn:disabled {\n opacity: 0.55;\n cursor: not-allowed;\n}\n\n.spytial-ed-toolbar-actions {\n display: inline-flex;\n align-items: center;\n gap: var(--spytial-ed-gap, 8px);\n}\n\n.spytial-ed-history {\n display: inline-flex;\n gap: 4px;\n}\n\n/* ─── Layout suggestion (HOOK 3) ────────────────────────────────────────── */\n\n.spytial-ed-suggest-btn {\n display: inline-flex;\n align-items: center;\n gap: 0.35em;\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.78em;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.09em;\n color: var(--spytial-ed-accent, #b5431a);\n background: transparent;\n border: 1px solid var(--spytial-ed-accent, #b5431a);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.3em 0.7em;\n cursor: pointer;\n white-space: nowrap;\n transition: background 0.15s ease, color 0.15s ease;\n}\n\n.spytial-ed-suggest-btn:hover:not(:disabled) {\n color: var(--spytial-ed-accent-text, #fdf6ec);\n background: var(--spytial-ed-accent, #b5431a);\n}\n\n.spytial-ed-suggest-btn:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 2px;\n}\n\n.spytial-ed-suggest-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.spytial-ed-suggest-error {\n margin: 0;\n padding: calc(var(--spytial-ed-gap, 8px) * 0.75) var(--spytial-ed-gap, 8px);\n font-size: 0.85em;\n color: var(--spytial-ed-danger, #a32014);\n background: color-mix(\n in srgb,\n var(--spytial-ed-danger, #a32014) 8%,\n transparent\n );\n border-bottom: 1px solid var(--spytial-ed-border, #d9d2c0);\n}\n\n.spytial-ed-suggestions {\n padding: calc(var(--spytial-ed-gap, 8px) * 0.75) var(--spytial-ed-gap, 8px);\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n border-bottom: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-left: 3px solid var(--spytial-ed-accent, #b5431a);\n animation: spytial-ed-unfold 0.14s ease-out;\n}\n\n.spytial-ed-suggestions-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--spytial-ed-gap, 8px);\n}\n\n.spytial-ed-suggestions-title {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.74em;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.09em;\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n\n.spytial-ed-suggestions-dismiss {\n font: inherit;\n font-size: 1.05em;\n line-height: 1;\n color: var(--spytial-ed-text-muted, #6e6553);\n background: transparent;\n border: none;\n padding: 0 0.2em;\n cursor: pointer;\n}\n\n.spytial-ed-suggestions-dismiss:hover {\n color: var(--spytial-ed-accent, #b5431a);\n}\n\n.spytial-ed-suggestions-dismiss:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 1px;\n}\n\n.spytial-ed-suggestions-list,\n.spytial-ed-suggestions-notes {\n list-style: none;\n margin: calc(var(--spytial-ed-gap, 8px) * 0.5) 0 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: calc(var(--spytial-ed-gap, 8px) * 0.5);\n}\n\n.spytial-ed-suggestions-notes {\n font-size: 0.82em;\n color: var(--spytial-ed-text-muted, #6e6553);\n border-top: 1px solid var(--spytial-ed-border, #d9d2c0);\n padding-top: calc(var(--spytial-ed-gap, 8px) * 0.5);\n}\n\n.spytial-ed-suggestion--omitted {\n opacity: 0.62;\n}\n\n.spytial-ed-suggestion-head {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: 0.4em;\n}\n\n.spytial-ed-suggestion-text {\n flex: 1 1 12em;\n font-size: 0.88em;\n color: var(--spytial-ed-text, #221d14);\n}\n\n.spytial-ed-suggestion-id {\n display: block;\n margin-top: 0.15em;\n font-family: var(\n --spytial-ed-mono-font-family,\n ui-monospace, 'Cascadia Code', 'JetBrains Mono', 'SF Mono', Menlo,\n Consolas, 'Liberation Mono', monospace\n );\n font-size: 0.74em;\n color: var(--spytial-ed-text-muted, #6e6553);\n word-break: break-all;\n}\n\n.spytial-ed-suggestion-chip {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.66em;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.07em;\n border: 1px solid currentColor;\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.15em 0.4em;\n white-space: nowrap;\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n\n.spytial-ed-suggestion-chip--high,\n.spytial-ed-suggestion-chip--applied {\n color: var(--spytial-ed-success, #2f6c43);\n}\n\n.spytial-ed-suggestion-chip--medium,\n.spytial-ed-suggestion-chip--weakened {\n color: var(--spytial-ed-warning, #8a6200);\n}\n\n.spytial-ed-suggestion-chip--omitted {\n color: var(--spytial-ed-danger, #a32014);\n}\n\n.spytial-ed-history-btn {\n font: inherit;\n font-size: 1.05em;\n line-height: 1;\n color: var(--spytial-ed-text, #221d14);\n background: transparent;\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.2em 0.45em;\n cursor: pointer;\n transition: border-color 0.15s ease, color 0.15s ease;\n}\n\n.spytial-ed-history-btn:hover:not(:disabled) {\n border-color: var(--spytial-ed-accent, #b5431a);\n color: var(--spytial-ed-accent, #b5431a);\n}\n\n.spytial-ed-history-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.spytial-ed-body {\n padding: var(--spytial-ed-gap, 8px);\n}\n\n/* ─── BuilderView ───────────────────────────────────────────────────────── */\n\n.spytial-ed-builder {\n display: flex;\n flex-direction: column;\n gap: calc(var(--spytial-ed-gap, 8px) * 1.25);\n}\n\n.spytial-ed-section-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: calc(var(--spytial-ed-gap, 8px) * 0.5);\n}\n\n.spytial-ed-section-title {\n margin: 0;\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.72em;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.14em;\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n\n.spytial-ed-rows {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.spytial-ed-row {\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius, 2px);\n background: var(--spytial-ed-surface, #faf8f2);\n transition: border-color 0.15s ease;\n}\n\n.spytial-ed-row:hover {\n border-color: color-mix(\n in srgb,\n var(--spytial-ed-text-muted, #6e6553) 55%,\n var(--spytial-ed-border, #d9d2c0)\n );\n}\n\n.spytial-ed-row--expanded {\n border-color: var(--spytial-ed-accent, #b5431a);\n}\n\n.spytial-ed-row--error {\n border-left: 3px solid var(--spytial-ed-danger, #a32014);\n}\n.spytial-ed-row--warning {\n border-left: 3px solid var(--spytial-ed-warning, #8a6200);\n}\n\n.spytial-ed-row-main {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.spytial-ed-row-toggle {\n flex: 1 1 auto;\n display: flex;\n align-items: center;\n gap: 0.55em;\n min-width: 0;\n font: inherit;\n text-align: left;\n color: inherit;\n background: transparent;\n border: none;\n cursor: pointer;\n padding: calc(var(--spytial-ed-gap, 8px) * 0.55) var(--spytial-ed-gap, 8px);\n}\n\n.spytial-ed--compact .spytial-ed-row-toggle {\n padding: calc(var(--spytial-ed-gap, 8px) * 0.4)\n calc(var(--spytial-ed-gap, 8px) * 0.75);\n}\n\n.spytial-ed-row-type {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.88em;\n font-weight: 600;\n flex: 0 0 auto;\n}\n\n.spytial-ed-row-negated {\n color: var(--spytial-ed-danger, #a32014);\n font-weight: 700;\n flex: 0 0 auto;\n}\n\n.spytial-ed-row-summary {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 0.85em;\n color: var(--spytial-ed-text-muted, #6e6553);\n font-family: var(--spytial-ed-mono-font-family, ui-monospace, monospace);\n}\n\n.spytial-ed-row-summary--muted {\n font-style: italic;\n font-family: inherit;\n}\n\n.spytial-ed-row-dot {\n flex: 0 0 auto;\n inline-size: 0.55em;\n block-size: 0.55em;\n border-radius: 50%;\n background: var(--spytial-ed-text-muted, #6e6553);\n}\n.spytial-ed-row-dot--error {\n background: var(--spytial-ed-danger, #a32014);\n}\n.spytial-ed-row-dot--warning {\n background: var(--spytial-ed-warning, #8a6200);\n}\n\n.spytial-ed-row-panel {\n padding: var(--spytial-ed-gap, 8px);\n border-top: 1px solid var(--spytial-ed-border, #d9d2c0);\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n display: flex;\n flex-direction: column;\n gap: var(--spytial-ed-gap, 8px);\n animation: spytial-ed-unfold 0.14s ease-out;\n}\n\n.spytial-ed-row--unknown {\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n}\n.spytial-ed-row--unknown .spytial-ed-row-main {\n padding: calc(var(--spytial-ed-gap, 8px) * 0.55) var(--spytial-ed-gap, 8px);\n gap: 0.55em;\n}\n\n.spytial-ed-builder-empty {\n margin: 0;\n font-size: 0.9em;\n color: var(--spytial-ed-text-muted, #6e6553);\n font-style: italic;\n}\n\n/* ─── overflow menu ─────────────────────────────────────────────────────── */\n\n.spytial-ed-overflow {\n position: relative;\n flex: 0 0 auto;\n margin-inline-end: 4px;\n}\n\n.spytial-ed-overflow-btn {\n font: inherit;\n font-size: 1.1em;\n line-height: 1;\n color: var(--spytial-ed-text-muted, #6e6553);\n background: transparent;\n border: none;\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.1em 0.4em;\n cursor: pointer;\n}\n.spytial-ed-overflow-btn:hover {\n background: var(--spytial-ed-border, #d9d2c0);\n}\n.spytial-ed-overflow-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n/*\n * Both menus are viewport-fixed: `useAnchoredPopup` supplies top/bottom +\n * left/right + maxHeight inline, so host overflow clipping can't hide them\n * (the original absolute positioning rendered the add menu below short\n * sidebars, invisible).\n */\n.spytial-ed-overflow-menu,\n.spytial-ed-add-menu {\n position: fixed;\n z-index: 1000;\n min-inline-size: 10rem;\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius, 2px);\n box-shadow: 0 1px 0 color-mix(in srgb, var(--spytial-ed-text, #221d14) 8%, transparent),\n 0 8px 24px color-mix(in srgb, var(--spytial-ed-text, #221d14) 18%, transparent);\n padding: 4px;\n animation: spytial-ed-pop 0.12s ease-out;\n}\n\n.spytial-ed-overflow-menu {\n list-style: none;\n margin: 0;\n overflow-y: auto;\n}\n\n.spytial-ed-overflow-item,\n.spytial-ed-add-item {\n display: block;\n inline-size: 100%;\n font: inherit;\n font-size: 0.88em;\n text-align: left;\n color: var(--spytial-ed-text, #221d14);\n background: transparent;\n border: none;\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.4em 0.6em;\n cursor: pointer;\n}\n.spytial-ed-overflow-item:hover:not(:disabled),\n.spytial-ed-add-item:hover {\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n}\n.spytial-ed-overflow-item:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n.spytial-ed-overflow-item--danger {\n color: var(--spytial-ed-danger, #a32014);\n}\n\n/* ─── add menu (searchable) ─────────────────────────────────────────────── */\n\n.spytial-ed-add {\n position: relative;\n}\n\n.spytial-ed-add-btn {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.78em;\n font-weight: 600;\n color: var(--spytial-ed-accent, #b5431a);\n background: transparent;\n border: 1px solid var(--spytial-ed-accent, #b5431a);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.28em 0.6em;\n cursor: pointer;\n transition: background 0.15s ease, color 0.15s ease, transform 0.1s ease;\n}\n.spytial-ed-add-btn:hover:not(:disabled) {\n background: var(--spytial-ed-accent, #b5431a);\n color: var(--spytial-ed-accent-text, #fdf6ec);\n}\n.spytial-ed-add-btn:active:not(:disabled) {\n transform: translateY(1px);\n}\n.spytial-ed-add-btn:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 2px;\n}\n.spytial-ed-add-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* the menu's inline maxHeight (from useAnchoredPopup) governs the whole box;\n the list flexes inside it and scrolls */\n.spytial-ed-add-menu {\n display: flex;\n flex-direction: column;\n min-inline-size: 15rem;\n}\n\n.spytial-ed-add-search {\n inline-size: 100%;\n flex: 0 0 auto;\n font: inherit;\n font-size: 0.85em;\n color: var(--spytial-ed-text, #221d14);\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.35em 0.5em;\n margin-bottom: 4px;\n}\n\n.spytial-ed-add-search:focus-visible {\n outline: none;\n border-color: var(--spytial-ed-accent, #b5431a);\n}\n\n.spytial-ed-add-list {\n list-style: none;\n margin: 0;\n padding: 0;\n flex: 1 1 auto;\n min-block-size: 0;\n overflow-y: auto;\n}\n\n.spytial-ed-add-item {\n display: flex;\n flex-direction: column;\n gap: 1px;\n}\n.spytial-ed-add-item-label {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.95em;\n font-weight: 600;\n}\n.spytial-ed-add-item-desc {\n font-size: 0.78em;\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n.spytial-ed-add-empty {\n font-size: 0.85em;\n color: var(--spytial-ed-text-muted, #6e6553);\n padding: 0.4em 0.6em;\n}\n\n/* ─── CodeView ──────────────────────────────────────────────────────────── */\n\n.spytial-ed-code {\n display: flex;\n flex-direction: column;\n gap: var(--spytial-ed-gap, 8px);\n}\n\n.spytial-ed-code-notice {\n font-size: 0.82em;\n color: var(--spytial-ed-warning, #8a6200);\n background: color-mix(\n in srgb,\n var(--spytial-ed-warning, #8a6200) 10%,\n transparent\n );\n border: 1px solid var(--spytial-ed-warning, #8a6200);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.4em 0.6em;\n}\n\n/* CodeMirror host: the editor renders its own themed chrome (via EditorView.theme\n in CodeView.tsx, driven by the same --spytial-ed-* vars); this container only\n sizes and caps it. The .spytial-ed-code-editor / -gutter / -textarea / -mirror\n rules below are retained for the legacy textarea CodeView still exported from\n the barrel. */\n.spytial-ed-code-cm {\n display: block;\n}\n.spytial-ed-code-cm .cm-editor {\n max-height: 32rem;\n}\n.spytial-ed-code-cm--disabled {\n opacity: 0.65;\n}\n\n.spytial-ed-code-editor {\n display: flex;\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius, 2px);\n background: var(--spytial-ed-surface, #faf8f2);\n overflow: hidden;\n}\n\n.spytial-ed-code-gutter {\n flex: 0 0 auto;\n overflow: hidden;\n text-align: right;\n user-select: none;\n padding: 0.5em 0.4em;\n color: var(--spytial-ed-text-muted, #6e6553);\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n border-inline-end: 1px solid var(--spytial-ed-border, #d9d2c0);\n font-family: var(--spytial-ed-mono-font-family, ui-monospace, monospace);\n font-size: 0.85em;\n line-height: 1.5;\n}\n\n.spytial-ed-code-gutter-line {\n min-inline-size: 1.6em;\n}\n\n/* wrapper hosting the highlight mirror + the transparent-text textarea; its\n height is driven by the textarea (which keeps `resize: vertical`) */\n.spytial-ed-code-input-wrap {\n position: relative;\n flex: 1 1 auto;\n min-width: 0;\n display: flex;\n}\n\n/*\n * Mirror and textarea MUST share identical metrics (font, size, line-height,\n * padding, tab-size, `white-space: pre`) so the highlight sits exactly under\n * the caret — same contract as the selector field's overlay.\n */\n.spytial-ed-code-textarea,\n.spytial-ed-code-mirror {\n margin: 0;\n font-family: var(--spytial-ed-mono-font-family, ui-monospace, monospace);\n font-size: 0.85em;\n line-height: 1.5;\n letter-spacing: normal;\n word-spacing: normal;\n /* same shaping normalization as the selector overlay (ligature fonts in\n the mono stack would otherwise drift textarea vs pre) */\n font-variant-ligatures: none;\n font-feature-settings: normal;\n font-kerning: none;\n hyphens: none;\n text-rendering: auto;\n padding: 0.5em 0.6em;\n border: none;\n white-space: pre;\n overflow-wrap: normal;\n tab-size: 2;\n}\n\n.spytial-ed-code-mirror {\n position: absolute;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n overflow: hidden;\n color: var(--spytial-ed-text, #221d14);\n background: transparent;\n}\n\n.spytial-ed-code-textarea {\n position: relative;\n z-index: 1;\n flex: 1 1 auto;\n width: 100%;\n resize: vertical;\n min-block-size: 12rem;\n color: transparent;\n caret-color: var(--spytial-ed-accent, #b5431a);\n background: transparent;\n outline: none;\n}\n\n.spytial-ed-code-textarea::selection {\n /* keep selection visible even though the text itself is transparent */\n background: color-mix(\n in srgb,\n var(--spytial-ed-accent, #b5431a) 26%,\n transparent\n );\n}\n\n.spytial-ed-code-textarea:disabled {\n opacity: 0.6;\n}\n\n/* highlighting disabled (escape hatch): the textarea shows its own text */\n.spytial-ed-code-textarea--plain {\n color: var(--spytial-ed-text, #221d14);\n}\n\n.spytial-ed-code-textarea:disabled + .spytial-ed-code-mirror,\n.spytial-ed-code-input-wrap:has(.spytial-ed-code-textarea:disabled)\n .spytial-ed-code-mirror {\n opacity: 0.6;\n}\n\n.spytial-ed-code-diagnostics {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.spytial-ed-code-diagnostic-loc {\n font-family: var(--spytial-ed-mono-font-family, ui-monospace, monospace);\n font-size: 0.85em;\n color: var(--spytial-ed-text-muted, #6e6553);\n flex: 0 0 auto;\n}\n\n/* ─── Reduced motion ────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .spytial-ed *,\n .spytial-ed *::before,\n .spytial-ed *::after,\n .spytial-ed-autocomplete,\n .spytial-ed-overflow-menu,\n .spytial-ed-add-menu,\n .spytial-ed-synth-popover,\n .spytial-ed-row-panel {\n animation: none !important;\n transition: none !important;\n }\n}\n\n/* ---- nested style blocks (lineStyle / textStyle / …) ---- */\n.spytial-ed-group {\n border: 1px solid var(--spytial-ed-border, #d0d7de);\n border-radius: 6px;\n padding: 0.25rem 0.6rem 0.4rem;\n margin: 0.25rem 0;\n min-inline-size: 0;\n}\n.spytial-ed-group-legend {\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n padding-inline: 0.3rem;\n font-size: 0.78rem;\n font-weight: 600;\n color: var(--spytial-ed-muted, #656d76);\n}\n.spytial-ed-group-remove {\n border: none;\n background: transparent;\n cursor: pointer;\n font-size: 1rem;\n line-height: 1;\n padding: 0 0.15rem;\n color: var(--spytial-ed-muted, #656d76);\n}\n.spytial-ed-group-remove:hover {\n color: var(--spytial-ed-danger, #cf222e);\n}\n.spytial-ed-group-add {\n align-self: flex-start;\n border: 1px dashed var(--spytial-ed-border, #d0d7de);\n border-radius: 6px;\n background: transparent;\n cursor: pointer;\n padding: 0.3rem 0.6rem;\n margin: 0.15rem 0;\n font-size: 0.78rem;\n color: var(--spytial-ed-accent, #0969da);\n}\n.spytial-ed-group-add:hover {\n background: var(--spytial-ed-hover, #f6f8fa);\n}\n\n/* ── iconPath field: text input + built-in icon browser ──────────────────── */\n\n.spytial-ed-icon {\n position: relative;\n width: 100%;\n}\n\n.spytial-ed-icon-row {\n display: flex;\n align-items: center;\n gap: 0.35rem;\n}\n\n/* Only shown for bundled values — see IconField for why. The glyph is inlined\n SVG, not an <img>, so `fill=\"currentColor\"` inherits this color and the icon\n stays legible in both the light and dark themes. */\n.spytial-ed-icon-preview,\n.spytial-ed-icon-cell-glyph {\n display: inline-flex;\n flex: 0 0 auto;\n color: var(--spytial-ed-text, #221d14);\n}\n.spytial-ed-icon-preview svg {\n inline-size: 1.15rem;\n block-size: 1.15rem;\n}\n.spytial-ed-icon-cell-glyph svg {\n inline-size: 1.35rem;\n block-size: 1.35rem;\n}\n\n.spytial-ed-icon-btn {\n flex: 0 0 auto;\n cursor: pointer;\n padding: 0.3em 0.5em;\n line-height: 1;\n color: var(--spytial-ed-text-muted, #6e6553);\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n}\n.spytial-ed-icon-btn:hover:not(:disabled) {\n color: var(--spytial-ed-text, #221d14);\n background: var(--spytial-ed-hover, #f6f8fa);\n}\n.spytial-ed-icon-btn:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n.spytial-ed-icon-pop {\n position: fixed;\n z-index: 1000;\n inline-size: 20rem;\n max-inline-size: calc(100vw - 1rem);\n overflow-y: auto;\n padding: 0.5rem;\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius, 2px);\n box-shadow: 0 1px 0 color-mix(in srgb, var(--spytial-ed-text, #221d14) 8%, transparent),\n 0 8px 24px color-mix(in srgb, var(--spytial-ed-text, #221d14) 18%, transparent);\n animation: spytial-ed-pop 0.12s ease-out;\n}\n\n.spytial-ed-icon-search {\n margin-block-end: 0.4rem;\n}\n\n.spytial-ed-icon-note,\n.spytial-ed-icon-empty {\n margin: 0 0 0.45rem;\n font-size: 0.75rem;\n line-height: 1.45;\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n\n.spytial-ed-icon-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(4.25rem, 1fr));\n gap: 0.25rem;\n}\n\n.spytial-ed-icon-cell {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.2rem;\n cursor: pointer;\n padding: 0.4rem 0.2rem;\n background: transparent;\n border: 1px solid transparent;\n border-radius: var(--spytial-ed-radius-sm, 2px);\n color: var(--spytial-ed-text, #221d14);\n}\n.spytial-ed-icon-cell:hover {\n background: var(--spytial-ed-hover, #f6f8fa);\n border-color: var(--spytial-ed-border, #d9d2c0);\n}\n.spytial-ed-icon-cell--active {\n border-color: var(--spytial-ed-accent, #0969da);\n background: color-mix(in srgb, var(--spytial-ed-accent, #0969da) 10%, transparent);\n}\n.spytial-ed-icon-cell-name {\n max-inline-size: 100%;\n overflow: hidden;\n font-size: 0.65rem;\n line-height: 1.2;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n\n.spytial-ed-icon-packs {\n margin-block-start: 0.6rem;\n padding-block-start: 0.5rem;\n border-block-start: 1px solid var(--spytial-ed-border, #d9d2c0);\n}\n.spytial-ed-icon-packs ul {\n margin: 0;\n padding: 0;\n list-style: none;\n font-size: 0.72rem;\n line-height: 1.6;\n color: var(--spytial-ed-text, #221d14);\n}\n.spytial-ed-icon-pack-eg {\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n",".error-card {\n min-width: 320px;\n max-width: 100%;\n}\n\n#error-message-modal {\n border-radius: 0.5rem;\n border: 2px var(--bs-danger) solid;\n}\n\n/* Source constraint highlight - lighter yellow */\n.constraint-item.highlight-source {\n background-color: rgba(255, 193, 7, 0.35);\n border-radius: 4px;\n}\n\n/* Diagram element highlight - darker yellow */\n.constraint-item.highlight-diagram {\n background-color: rgba(255, 193, 7, 0.7);\n border-radius: 4px;\n}\n\n.constraint-relationship-table {\n width: 100%;\n margin-bottom: 1rem;\n}\n\n/*\n * Two independently-scrolling columns inside one resizable region.\n * - resize: vertical gives a drag handle to tune height (larger/smaller/taller)\n * - max-height caps the default so a long conflict list can't cover the screen\n * (and is the drag ceiling); min-height is the drag floor\n * - overflow: hidden is required for `resize`; each column body scrolls itself,\n * which is what lets a hovered item stay put while its correspondence in the\n * OTHER column scrolls into view\n */\n.constraint-columns {\n display: flex;\n gap: 0;\n max-height: 45vh;\n min-height: 5rem;\n overflow: hidden;\n resize: vertical;\n}\n\n.constraint-column {\n flex: 1 1 0;\n min-width: 0;\n min-height: 0;\n display: flex;\n flex-direction: column;\n border: 1px solid #dee2e6;\n}\n\n/* Collapse the seam between the two adjacent columns */\n.constraint-column + .constraint-column {\n border-left: none;\n}\n\n.constraint-column-header {\n flex: 0 0 auto;\n font-weight: 600;\n padding: 0.5rem;\n background: #f8f9fa;\n border-bottom: 1px solid #dee2e6;\n}\n\n/* The independent per-column scroll container (both axes: wide constraint\n * text scrolls within the column instead of widening the whole modal). */\n.constraint-column-body {\n flex: 1 1 auto;\n min-height: 0;\n overflow: auto;\n}\n\n.constraint-relationship-table .constraint-item {\n padding: 0.5rem;\n border-bottom: 1px solid #eee;\n}\n\n.constraint-relationship-table .constraint-item:last-child {\n border-bottom: none;\n}\n\ncode > code, code > pre {\n border: 1px solid var(--bs-code-color);\n padding: 0.2em 0.4em;\n border-radius: 4px;\n}\n\n/* Collapse/expand header bar */\n.error-modal-header {\n gap: 0.5rem;\n}\n\n.error-modal-toggle {\n background: transparent;\n border: none;\n color: var(--bs-danger);\n font-size: 1.1rem;\n line-height: 1;\n padding: 0 0.25rem;\n cursor: pointer;\n}\n\n.error-modal-toggle:hover,\n.error-modal-toggle:focus {\n opacity: 0.75;\n}",".code-input {\n font-family: monospace;\n}\n\n#repl-output {\n font-family: monospace; \n white-space: pre-wrap; \n max-height: 80vh; \n overflow-y: auto;\n}\n\n#evaluator-input {\n margin: 10px 0;\n}\n\n/*\n * Output line spacing. This rule used to live in ReplInterface.css and reached\n * this component only because both stylesheets happened to be loaded — the\n * REPL's own markup never shared a tree with ours. That stylesheet went with\n * the Pyret REPL, so the rule moves here, to the one component that renders\n * the class. The `.command`/`.success`/`.error`/`.info`/`.help` modifiers that\n * sat alongside it are not carried over: EvaluatorRepl never applies them.\n */\n.repl-output-line {\n margin: 2px 0;\n padding: 2px 0;\n}","/* RelationHighlighter Component Styles - Accordion Style */\n\n.relation-highlighter {\n border: 1px solid #ddd;\n border-radius: 6px;\n background: #ffffff;\n font-family: system-ui, -apple-system, sans-serif;\n max-width: 320px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n overflow: hidden;\n}\n\n/* Accordion-style header */\n.relation-highlighter-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 14px 18px;\n background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);\n border-bottom: 1px solid #dee2e6;\n cursor: pointer;\n user-select: none;\n transition: background-color 0.2s ease;\n position: relative;\n}\n\n.relation-highlighter-header:hover {\n background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);\n}\n\n.relation-highlighter-header:active {\n background: linear-gradient(135deg, #dee2e6 0%, #ced4da 100%);\n}\n\n.relation-highlighter-title {\n margin: 0;\n font-size: 15px;\n font-weight: 600;\n color: #495057;\n letter-spacing: 0.025em;\n}\n\n/* Accordion toggle button */\n.collapse-toggle {\n background: none;\n border: none;\n font-size: 16px;\n color: #6c757d;\n cursor: pointer;\n padding: 6px;\n border-radius: 4px;\n transition: all 0.25s ease;\n line-height: 1;\n min-width: 28px;\n min-height: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.collapse-toggle:hover {\n background: rgba(108, 117, 125, 0.1);\n color: #495057;\n}\n\n.collapse-toggle.collapsed {\n transform: rotate(-90deg);\n color: #868e96;\n}\n\n/* Accordion-style collapsible content */\n.relation-highlighter-content {\n max-height: 350px;\n overflow: hidden;\n transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);\n background: #ffffff;\n}\n\n.relation-highlighter-content.collapsed {\n max-height: 0;\n border-top: none;\n}\n\n/* No relations message */\n.no-relations {\n padding: 20px 18px;\n text-align: center;\n color: #6c757d;\n font-style: italic;\n margin: 0;\n font-size: 14px;\n}\n\n/* Relation list */\n.relation-list {\n list-style: none;\n margin: 0;\n padding: 0;\n max-height: 320px;\n overflow-y: auto;\n /* Explicitly allow horizontal scroll when content overflows */\n overflow-x: auto;\n}\n\n/* Individual relation items */\n.relation-item {\n padding: 12px 18px;\n cursor: pointer;\n border-bottom: 1px solid #f1f3f4;\n color: #495057;\n font-size: 14px;\n font-weight: 500;\n transition: all 0.2s ease;\n user-select: none;\n position: relative;\n background: #ffffff;\n overflow: hidden;\n white-space: nowrap;\n /* Minimum width to prevent excessive shrinking */\n min-width: 100px;\n}\n\n.relation-item:last-child {\n border-bottom: none;\n}\n\n.relation-item:hover {\n background: linear-gradient(90deg, #e3f2fd 0%, #f3e5f5 100%);\n color: #1565c0;\n font-weight: 600;\n /* Use left padding increase instead of transform to prevent horizontal scrolling */\n padding-left: 28px;\n /* Reduce right padding to maintain consistent width */\n padding-right: 18px;\n}\n\n.relation-item:active {\n background: linear-gradient(90deg, #bbdefb 0%, #e1bee7 100%);\n}\n\n/* Scrollbar styling for webkit browsers */\n.relation-list::-webkit-scrollbar {\n width: 8px;\n}\n\n.relation-list::-webkit-scrollbar-track {\n background: #f8f9fa;\n border-radius: 4px;\n}\n\n.relation-list::-webkit-scrollbar-thumb {\n background: linear-gradient(180deg, #ced4da 0%, #adb5bd 100%);\n border-radius: 4px;\n border: 1px solid #dee2e6;\n}\n\n.relation-list::-webkit-scrollbar-thumb:hover {\n background: linear-gradient(180deg, #adb5bd 0%, #868e96 100%);\n}\n\n/* Accordion animation enhancement */\n@keyframes accordionExpand {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.relation-highlighter-content:not(.collapsed) .relation-list {\n animation: accordionExpand 0.3s ease-out;\n}\n\n/* Responsive design for smaller screens */\n@media (max-width: 480px) {\n .relation-highlighter {\n max-width: 100%;\n border-radius: 4px;\n }\n \n .relation-highlighter-title {\n font-size: 14px;\n }\n \n .relation-item {\n padding: 14px 18px;\n font-size: 15px; /* Larger touch targets */\n padding-right: 32px; /* More space for arrow on mobile */\n }\n \n .relation-item:hover {\n padding-left: 32px;\n padding-right: 18px;\n }\n}\n\n/* Focus states for accessibility */\n.relation-highlighter-header:focus {\n outline: 2px solid #0d6efd;\n outline-offset: -2px;\n}\n\n.collapse-toggle:focus {\n outline: 2px solid #0d6efd;\n outline-offset: 2px;\n border-radius: 4px;\n}\n\n.relation-item:focus {\n outline: 2px solid #0d6efd;\n outline-offset: -2px;\n background: #e3f2fd;\n}"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/spec-editor/ui/spec-editor.css","../../src/components/ErrorMessageModal/ErrorMessageModal.css","../../src/components/EvaluatorRepl/EvaluatorRepl.css","../../src/components/RelationHighlighter/RelationHighlighter.css"],"sourcesContent":["/*\n * Spytial spec editor styles — \"drafting instrument\".\n *\n * Light: warm paper, near-black ink, a single vermillion accent (the red\n * pencil). Dark preset: blue-black instrument panel with amber. Chrome text\n * (section titles, type labels, summaries, tabs) leans on the mono stack;\n * corners are sharp (2px); surfaces are flat (no background patterns).\n *\n * Every class is prefixed `spytial-ed-`. Every color / size / font reads from a\n * `--spytial-ed-*` custom property with a fallback equal to the `lightTheme`\n * preset in `theme.ts`, so the editor is fully styled with no theme prop. The\n * `theme` prop sets these variables inline on the editor root to override the\n * fallbacks; `darkTheme` is applied the same way. Zero Bootstrap.\n *\n * Density: the `spytial-ed--compact` root modifier tightens row padding/gap and\n * the base font; `comfortable` is the unmodified default below.\n *\n * Popups (add menu, overflow menu, autocomplete) are `position: fixed` with\n * coordinates supplied inline by `useAnchoredPopup`, so host containers with\n * `overflow` clipping (demo sidebars) cannot cut them off.\n */\n\n/* ─── Root / shared tokens ──────────────────────────────────────────── */\n\n.spytial-ed {\n font-family: var(\n --spytial-ed-font-family,\n 'Avenir Next', 'Avenir', 'Seravek', 'Segoe UI Variable', 'Segoe UI',\n 'Trebuchet MS', sans-serif\n );\n font-size: var(--spytial-ed-font-size, 14px);\n color: var(--spytial-ed-text, #221d14);\n /* derived spacing/radius shorthands so component rules stay terse */\n --spytial-ed-gap: var(--spytial-ed-spacing, 8px);\n --spytial-ed-radius-sm: var(--spytial-ed-radius, 2px);\n /* chrome (titles, tabs, badges, summaries) shares the mono stack */\n --spytial-ed-chrome-font: var(\n --spytial-ed-mono-font-family,\n ui-monospace, 'Cascadia Code', 'JetBrains Mono', 'SF Mono', Menlo,\n Consolas, 'Liberation Mono', monospace\n );\n}\n\n.spytial-ed *,\n.spytial-ed *::before,\n.spytial-ed *::after {\n box-sizing: border-box;\n}\n\n.spytial-ed--compact {\n font-size: calc(var(--spytial-ed-font-size, 14px) - 1px);\n --spytial-ed-gap: calc(var(--spytial-ed-spacing, 8px) * 0.625);\n}\n\n/* motion primitives (disabled under prefers-reduced-motion below) */\n@keyframes spytial-ed-pop {\n from {\n opacity: 0;\n transform: translateY(-3px) scale(0.99);\n }\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n\n@keyframes spytial-ed-unfold {\n from {\n opacity: 0;\n transform: translateY(-2px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* ─── Field layout (one field per row, tight) ───────────────────────── */\n\n.spytial-ed-fields {\n display: flex;\n flex-direction: column;\n gap: var(--spytial-ed-gap, 8px);\n width: 100%;\n}\n\n.spytial-ed-field {\n display: grid;\n grid-template-columns: minmax(7rem, 9rem) 1fr;\n align-items: start;\n gap: var(--spytial-ed-gap, 8px);\n}\n\n.spytial-ed--compact .spytial-ed-field {\n grid-template-columns: minmax(6rem, 8rem) 1fr;\n}\n\n.spytial-ed-field-label {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.72em;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.09em;\n color: var(--spytial-ed-text-muted, #6e6553);\n padding-top: 0.55em;\n line-height: 1.3;\n cursor: default;\n user-select: none;\n}\n\n.spytial-ed-field-required {\n color: var(--spytial-ed-danger, #a32014);\n font-weight: 700;\n}\n\n.spytial-ed-field-control {\n display: flex;\n flex-direction: column;\n gap: 0.25em;\n min-width: 0;\n}\n\n/* ─── Inputs (text, number, combo) ──────────────────────────────────── */\n\n.spytial-ed-input {\n width: 100%;\n font-family: inherit;\n font-size: inherit;\n color: var(--spytial-ed-text, #221d14);\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.4em 0.55em;\n line-height: 1.4;\n transition: border-color 0.15s ease, box-shadow 0.15s ease;\n}\n\n.spytial-ed--compact .spytial-ed-input {\n padding: 0.3em 0.45em;\n}\n\n.spytial-ed-input::placeholder {\n color: var(--spytial-ed-text-muted, #6e6553);\n opacity: 0.65;\n}\n\n.spytial-ed-input:focus,\n.spytial-ed-input:focus-visible {\n outline: none;\n border-color: var(--spytial-ed-accent, #b5431a);\n box-shadow: 0 0 0 2px\n color-mix(in srgb, var(--spytial-ed-accent, #b5431a) 20%, transparent);\n}\n\n.spytial-ed-input:disabled {\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n color: var(--spytial-ed-text-muted, #6e6553);\n cursor: not-allowed;\n}\n\n.spytial-ed-input--number {\n width: 8rem;\n}\n\n.spytial-ed-input[aria-invalid='true'] {\n border-color: var(--spytial-ed-danger, #a32014);\n}\n\n/* ─── Color field ───────────────────────────────────────────────────── */\n\n.spytial-ed-color {\n display: flex;\n align-items: center;\n gap: var(--spytial-ed-gap, 8px);\n}\n\n.spytial-ed-color-swatch {\n inline-size: 2rem;\n block-size: 2rem;\n padding: 0;\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n background: var(--spytial-ed-surface, #faf8f2);\n cursor: pointer;\n}\n\n.spytial-ed-color-swatch:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 1px;\n}\n\n.spytial-ed-color-text {\n width: 9rem;\n font-family: var(\n --spytial-ed-mono-font-family,\n ui-monospace, 'Cascadia Code', 'JetBrains Mono', 'SF Mono', Menlo,\n Consolas, 'Liberation Mono', monospace\n );\n}\n\n/* ─── Enum pills (segmented + multi) ────────────────────────────────── */\n\n.spytial-ed-pills {\n display: flex;\n flex-wrap: wrap;\n gap: 0.3em;\n}\n\n.spytial-ed-pill {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.8em;\n color: var(--spytial-ed-text, #221d14);\n background: transparent;\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.28em 0.65em;\n cursor: pointer;\n transition: background 0.15s ease, border-color 0.15s ease,\n color 0.15s ease, transform 0.1s ease;\n}\n\n.spytial-ed-pill:hover:not(:disabled) {\n border-color: var(--spytial-ed-accent, #b5431a);\n color: var(--spytial-ed-accent, #b5431a);\n}\n\n.spytial-ed-pill:active:not(:disabled) {\n transform: translateY(1px);\n}\n\n.spytial-ed-pill:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 1px;\n}\n\n.spytial-ed-pill--active {\n background: var(--spytial-ed-accent, #b5431a);\n border-color: var(--spytial-ed-accent, #b5431a);\n color: var(--spytial-ed-accent-text, #fdf6ec);\n font-weight: 600;\n}\n\n.spytial-ed-pill--active:hover:not(:disabled) {\n color: var(--spytial-ed-accent-text, #fdf6ec);\n}\n\n/* the \"should not hold\" pill goes danger-tinted when active */\n.spytial-ed-pill--negated {\n background: var(--spytial-ed-danger, #a32014);\n border-color: var(--spytial-ed-danger, #a32014);\n}\n\n.spytial-ed-pill--negated:hover:not(:disabled) {\n border-color: var(--spytial-ed-danger, #a32014);\n}\n\n.spytial-ed-pill:disabled {\n opacity: 0.55;\n cursor: not-allowed;\n}\n\n/* ─── Boolean switch ────────────────────────────────────────────────── */\n\n.spytial-ed-switch {\n position: relative;\n inline-size: 2.4rem;\n block-size: 1.35rem;\n padding: 0;\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: 999px;\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n cursor: pointer;\n transition: background 0.15s ease, border-color 0.15s ease;\n}\n\n.spytial-ed-switch-thumb {\n position: absolute;\n top: 50%;\n left: 0.18rem;\n transform: translateY(-50%);\n inline-size: 0.95rem;\n block-size: 0.95rem;\n border-radius: 50%;\n background: var(--spytial-ed-surface, #faf8f2);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);\n transition: left 0.15s ease;\n}\n\n.spytial-ed-switch--on {\n background: var(--spytial-ed-accent, #b5431a);\n border-color: var(--spytial-ed-accent, #b5431a);\n}\n\n.spytial-ed-switch--on .spytial-ed-switch-thumb {\n left: calc(100% - 1.13rem);\n}\n\n.spytial-ed-switch:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 2px;\n}\n\n.spytial-ed-switch:disabled {\n opacity: 0.55;\n cursor: not-allowed;\n}\n\n/* ─── Selector field (mirror overlay) ───────────────────────────────── */\n\n.spytial-ed-selector {\n display: flex;\n flex-direction: column;\n gap: 0.25em;\n width: 100%;\n}\n\n.spytial-ed-selector-input-wrap {\n position: relative;\n width: 100%;\n /* The field's surface fill lives HERE (behind the highlight mirror), not on\n the textarea: the textarea sits on top with a transparent background so the\n mirror's syntax-highlighted text shows through. An opaque textarea would\n paint over the mirror and the field would look empty (all-surface). */\n background: var(--spytial-ed-surface, #faf8f2);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n}\n\n/*\n * The textarea and the mirror MUST share identical box metrics for the overlay\n * to line up: same font, size, padding, border, line-height, letter-spacing and\n * wrapping. Both wrap on words and break long tokens, so multi-line wrapping is\n * mirrored exactly.\n */\n.spytial-ed-selector-textarea,\n.spytial-ed-selector-mirror {\n margin: 0;\n font-family: var(\n --spytial-ed-mono-font-family,\n ui-monospace, 'Cascadia Code', 'JetBrains Mono', 'SF Mono', Menlo,\n Consolas, 'Liberation Mono', monospace\n );\n font-size: 0.95em;\n line-height: 1.5;\n letter-spacing: normal;\n word-spacing: normal;\n /* Normalize text shaping: browsers apply ligatures/kerning differently in\n <textarea> vs <pre> (and the mono stack includes ligature fonts), which\n would drift the overlay out from under the caret. Force both off. */\n font-variant-ligatures: none;\n font-feature-settings: normal;\n font-kerning: none;\n hyphens: none;\n text-rendering: auto;\n tab-size: 2;\n padding: 0.4em 0.55em;\n border: 1px solid transparent;\n border-radius: var(--spytial-ed-radius-sm, 2px);\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: break-word;\n}\n\n.spytial-ed--compact .spytial-ed-selector-textarea,\n.spytial-ed--compact .spytial-ed-selector-mirror {\n padding: 0.3em 0.45em;\n}\n\n/* Reserve identical room for the ✨ button on BOTH elements, so the text\n never runs under the button and wrapping stays mirrored. MUST come after\n the compact rule above: that one sets the `padding` shorthand at equal\n specificity and would silently reset padding-right (source order wins). */\n.spytial-ed-selector-input-wrap--with-synth .spytial-ed-selector-textarea,\n.spytial-ed-selector-input-wrap--with-synth .spytial-ed-selector-mirror {\n padding-right: 2.3em;\n}\n\n/* The mirror sits behind; it is purely presentational. */\n.spytial-ed-selector-mirror {\n position: absolute;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n overflow: hidden;\n color: var(--spytial-ed-text, #221d14);\n background: transparent;\n /* reserve room for the ✨ button so wrapping matches the textarea */\n}\n\n/* The textarea sits on top with transparent text but a visible caret. */\n.spytial-ed-selector-textarea {\n position: relative;\n z-index: 1;\n display: block;\n width: 100%;\n min-height: 2.2em;\n resize: none;\n overflow: hidden; /* height is driven by JS auto-grow */\n /* transparent so the highlight mirror behind shows through; the field fill is\n on `.spytial-ed-selector-input-wrap` (matches the code-view overlay). */\n background: transparent;\n border-color: var(--spytial-ed-border, #d9d2c0);\n color: transparent;\n caret-color: var(--spytial-ed-accent, #b5431a);\n transition: border-color 0.15s ease, box-shadow 0.15s ease;\n}\n\n.spytial-ed-selector-textarea::placeholder {\n color: var(--spytial-ed-text-muted, #6e6553);\n opacity: 0.65;\n}\n\n.spytial-ed-selector-textarea::selection {\n /* keep selection visible even though text is transparent */\n background: color-mix(\n in srgb,\n var(--spytial-ed-accent, #b5431a) 26%,\n transparent\n );\n}\n\n.spytial-ed-selector-textarea:focus,\n.spytial-ed-selector-textarea:focus-visible {\n outline: none;\n border-color: var(--spytial-ed-accent, #b5431a);\n box-shadow: 0 0 0 2px\n color-mix(in srgb, var(--spytial-ed-accent, #b5431a) 20%, transparent);\n}\n\n.spytial-ed-selector-textarea:disabled {\n cursor: not-allowed;\n}\n\n/* Disabled fill goes on the wrapper (the textarea is transparent), so the\n highlight mirror stays visible. Mirrors the code view's :has pattern. */\n.spytial-ed-selector-input-wrap:has(.spytial-ed-selector-textarea:disabled) {\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n}\n\n/* highlighting disabled (escape hatch): the textarea shows its own text */\n.spytial-ed-selector-textarea--plain {\n color: var(--spytial-ed-text, #221d14);\n}\n\n/* severity borders on the wrapper's textarea */\n.spytial-ed-selector--error .spytial-ed-selector-textarea {\n border-color: var(--spytial-ed-danger, #a32014);\n box-shadow: inset 0 -2px 0 var(--spytial-ed-danger, #a32014);\n}\n\n.spytial-ed-selector--warning .spytial-ed-selector-textarea {\n border-color: var(--spytial-ed-warning, #8a6200);\n box-shadow: inset 0 -2px 0 var(--spytial-ed-warning, #8a6200);\n}\n\n/* ─── Syntax token colors (used by mirror + synth preview) ──────────── */\n\n.spytial-ed-syn-keyword {\n color: var(--spytial-ed-syn-keyword, #6d28a8);\n font-weight: 600;\n}\n.spytial-ed-syn-type {\n color: var(--spytial-ed-syn-type, #0e6b6b);\n}\n.spytial-ed-syn-relation,\n.spytial-ed-syn-identifier {\n color: var(--spytial-ed-syn-relation, #1f4f9e);\n}\n.spytial-ed-syn-operator {\n color: var(--spytial-ed-syn-operator, #b5431a);\n}\n.spytial-ed-syn-string {\n color: var(--spytial-ed-syn-string, #7a5901);\n}\n.spytial-ed-syn-number {\n color: var(--spytial-ed-syn-type, #0e6b6b);\n}\n.spytial-ed-syn-comment {\n color: var(--spytial-ed-syn-comment, #8a8170);\n font-style: italic;\n}\n\n/* ─── ✨ synthesis button ───────────────────────────────────────────── */\n\n.spytial-ed-selector-synth-btn {\n position: absolute;\n top: 0.25em;\n right: 0.25em;\n z-index: 2;\n inline-size: 1.7em;\n block-size: 1.7em;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n font-size: 0.95em;\n line-height: 1;\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n cursor: pointer;\n transition: border-color 0.15s ease, background 0.15s ease,\n transform 0.12s ease;\n}\n\n.spytial-ed-selector-synth-btn:hover:not(:disabled) {\n border-color: var(--spytial-ed-accent, #b5431a);\n transform: rotate(-8deg);\n}\n\n.spytial-ed-selector-synth-btn:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 1px;\n}\n\n.spytial-ed-selector-synth-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* ─── Autocomplete listbox (viewport-fixed, see useAnchoredPopup) ───── */\n\n.spytial-ed-autocomplete {\n position: fixed;\n z-index: 1000;\n margin: 0;\n padding: 0.2em;\n list-style: none;\n overflow-y: auto;\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius, 2px);\n box-shadow: 0 1px 0 color-mix(in srgb, var(--spytial-ed-text, #221d14) 8%, transparent),\n 0 8px 24px color-mix(in srgb, var(--spytial-ed-text, #221d14) 18%, transparent);\n animation: spytial-ed-pop 0.12s ease-out;\n}\n\n.spytial-ed-autocomplete-item {\n display: flex;\n align-items: center;\n gap: 0.5em;\n padding: 0.3em 0.5em;\n border-radius: var(--spytial-ed-radius-sm, 2px);\n cursor: pointer;\n font-size: 0.9em;\n}\n\n.spytial-ed-autocomplete-item--active {\n background: color-mix(\n in srgb,\n var(--spytial-ed-accent, #b5431a) 14%,\n transparent\n );\n}\n\n.spytial-ed-autocomplete-kind {\n inline-size: 0.6em;\n block-size: 0.6em;\n border-radius: 1px;\n flex: 0 0 auto;\n background: var(--spytial-ed-text-muted, #6e6553);\n}\n.spytial-ed-kind-type {\n background: var(--spytial-ed-syn-type, #0e6b6b);\n}\n.spytial-ed-kind-relation {\n background: var(--spytial-ed-syn-relation, #1f4f9e);\n}\n.spytial-ed-kind-atom {\n background: var(--spytial-ed-syn-string, #7a5901);\n}\n.spytial-ed-kind-keyword {\n background: var(--spytial-ed-syn-keyword, #6d28a8);\n}\n.spytial-ed-kind-snippet {\n background: var(--spytial-ed-success, #2f6c43);\n}\n\n.spytial-ed-autocomplete-label {\n font-family: var(\n --spytial-ed-mono-font-family,\n ui-monospace, 'Cascadia Code', 'JetBrains Mono', 'SF Mono', Menlo,\n Consolas, 'Liberation Mono', monospace\n );\n color: var(--spytial-ed-text, #221d14);\n}\n\n.spytial-ed-autocomplete-detail {\n margin-left: auto;\n font-size: 0.85em;\n color: var(--spytial-ed-text-muted, #6e6553);\n white-space: nowrap;\n}\n\n/* ─── Synthesis popover ─────────────────────────────────────────────── */\n\n.spytial-ed-synth-popover {\n margin-top: 0.3em;\n padding: var(--spytial-ed-gap, 8px);\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-left: 3px solid var(--spytial-ed-accent, #b5431a);\n border-radius: var(--spytial-ed-radius, 2px);\n display: flex;\n flex-direction: column;\n gap: var(--spytial-ed-gap, 8px);\n animation: spytial-ed-unfold 0.14s ease-out;\n}\n\n.spytial-ed-synth-row {\n display: flex;\n gap: 0.4em;\n}\n\n.spytial-ed-synth-input {\n flex: 1 1 auto;\n min-width: 0;\n font-family: inherit;\n font-size: 0.9em;\n color: var(--spytial-ed-text, #221d14);\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.4em 0.55em;\n}\n\n.spytial-ed-synth-input:focus-visible {\n outline: none;\n border-color: var(--spytial-ed-accent, #b5431a);\n box-shadow: 0 0 0 2px\n color-mix(in srgb, var(--spytial-ed-accent, #b5431a) 20%, transparent);\n}\n\n.spytial-ed-synth-generate,\n.spytial-ed-synth-accept {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.82em;\n font-weight: 600;\n color: var(--spytial-ed-accent-text, #fdf6ec);\n background: var(--spytial-ed-accent, #b5431a);\n border: 1px solid var(--spytial-ed-accent, #b5431a);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.4em 0.8em;\n cursor: pointer;\n white-space: nowrap;\n transition: filter 0.15s ease, transform 0.1s ease;\n}\n\n.spytial-ed-synth-generate:hover:not(:disabled),\n.spytial-ed-synth-accept:hover:not(:disabled) {\n filter: brightness(1.08);\n}\n\n.spytial-ed-synth-generate:active:not(:disabled),\n.spytial-ed-synth-accept:active:not(:disabled) {\n transform: translateY(1px);\n}\n\n.spytial-ed-synth-generate:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.spytial-ed-synth-dismiss {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.82em;\n color: var(--spytial-ed-text, #221d14);\n background: transparent;\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.4em 0.8em;\n cursor: pointer;\n}\n\n.spytial-ed-synth-generate:focus-visible,\n.spytial-ed-synth-accept:focus-visible,\n.spytial-ed-synth-dismiss:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 1px;\n}\n\n.spytial-ed-synth-error {\n color: var(--spytial-ed-danger, #a32014);\n font-size: 0.85em;\n}\n\n.spytial-ed-synth-result {\n display: flex;\n flex-direction: column;\n gap: 0.4em;\n}\n\n.spytial-ed-synth-preview {\n margin: 0;\n padding: 0.4em 0.55em;\n font-family: var(\n --spytial-ed-mono-font-family,\n ui-monospace, 'Cascadia Code', 'JetBrains Mono', 'SF Mono', Menlo,\n Consolas, 'Liberation Mono', monospace\n );\n font-size: 0.9em;\n line-height: 1.5;\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n white-space: pre-wrap;\n word-break: break-word;\n color: var(--spytial-ed-text, #221d14);\n}\n\n.spytial-ed-synth-explanation {\n margin: 0;\n font-size: 0.85em;\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n\n.spytial-ed-synth-actions {\n display: flex;\n gap: 0.4em;\n}\n\n/* ─── Diagnostics ───────────────────────────────────────────────────── */\n\n.spytial-ed-diagnostics {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 0.1em;\n}\n\n.spytial-ed-diagnostic {\n display: flex;\n align-items: baseline;\n gap: 0.4em;\n font-size: 0.8em;\n line-height: 1.35;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* Item-level diagnostics (deprecated type/key, unknown type, validate()) sit at\n the top of an expanded row rather than under a control. They get the full\n panel width, so — unlike the one-line field diagnostics — they wrap instead\n of truncating: the message names the replacement to move to, which is the\n part that would be cut off. */\n.spytial-ed-diagnostics--item {\n gap: 0.2em;\n}\n.spytial-ed-diagnostics--item .spytial-ed-diagnostic {\n white-space: normal;\n overflow: visible;\n}\n.spytial-ed-diagnostics--item .spytial-ed-diagnostic-msg {\n overflow: visible;\n text-overflow: clip;\n}\n\n.spytial-ed-diagnostic-dot {\n flex: 0 0 auto;\n inline-size: 0.5em;\n block-size: 0.5em;\n border-radius: 50%;\n align-self: center;\n}\n\n.spytial-ed-diagnostic-msg {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.spytial-ed-diagnostic--error {\n color: var(--spytial-ed-danger, #a32014);\n}\n.spytial-ed-diagnostic--error .spytial-ed-diagnostic-dot {\n background: var(--spytial-ed-danger, #a32014);\n}\n.spytial-ed-diagnostic--warning {\n color: var(--spytial-ed-warning, #8a6200);\n}\n.spytial-ed-diagnostic--warning .spytial-ed-diagnostic-dot {\n background: var(--spytial-ed-warning, #8a6200);\n}\n.spytial-ed-diagnostic--info {\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n.spytial-ed-diagnostic--info .spytial-ed-diagnostic-dot {\n background: var(--spytial-ed-text-muted, #6e6553);\n}\n\n/* small standalone diagnostic badge/dot, for collapsed builder rows */\n.spytial-ed-diagnostic-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-inline-size: 0.9em;\n block-size: 0.9em;\n padding: 0 0.2em;\n margin-inline-start: 0.4em;\n border-radius: 999px;\n font-size: 0.7em;\n font-weight: 700;\n line-height: 1;\n color: #ffffff;\n background: var(--spytial-ed-danger, #a32014);\n}\n.spytial-ed-diagnostic-badge--warning {\n background: var(--spytial-ed-warning, #8a6200);\n}\n.spytial-ed-diagnostic-badge--info {\n background: var(--spytial-ed-text-muted, #6e6553);\n}\n\n/* ════════════════════════════════════════════════════════════════════════\n Views (SpecEditor toolbar, BuilderView rows/menus, CodeView)\n ════════════════════════════════════════════════════════════════════════ */\n\n/* ─── SpecEditor root chrome ────────────────────────────────────────────── */\n\n.spytial-ed {\n display: block;\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius, 2px);\n /* NOTE: no `overflow: hidden` here — it clipped the menus before they were\n made viewport-fixed, and would still clip the ✨ popover. */\n}\n\n.spytial-ed-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--spytial-ed-gap, 8px);\n padding: calc(var(--spytial-ed-gap, 8px) * 0.75) var(--spytial-ed-gap, 8px);\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n border-bottom: 1px solid var(--spytial-ed-border, #d9d2c0);\n}\n\n.spytial-ed-viewtoggle {\n display: inline-flex;\n gap: var(--spytial-ed-gap, 8px);\n}\n\n.spytial-ed-viewtoggle-btn {\n position: relative;\n display: inline-flex;\n align-items: center;\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.78em;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.09em;\n color: var(--spytial-ed-text-muted, #6e6553);\n background: transparent;\n border: none;\n padding: 0.3em 0.15em;\n cursor: pointer;\n transition: color 0.15s ease;\n}\n\n/* underline-tab: a hairline that draws in on activation */\n.spytial-ed-viewtoggle-btn::after {\n content: '';\n position: absolute;\n left: 0;\n right: 100%;\n bottom: -2px;\n height: 2px;\n background: var(--spytial-ed-accent, #b5431a);\n transition: right 0.18s ease;\n}\n\n.spytial-ed-viewtoggle-btn:hover:not(:disabled) {\n color: var(--spytial-ed-text, #221d14);\n}\n\n.spytial-ed-viewtoggle-btn--active {\n color: var(--spytial-ed-accent, #b5431a);\n}\n\n.spytial-ed-viewtoggle-btn--active::after {\n right: 0;\n}\n\n.spytial-ed-viewtoggle-btn:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 2px;\n}\n\n.spytial-ed-viewtoggle-btn:disabled {\n opacity: 0.55;\n cursor: not-allowed;\n}\n\n.spytial-ed-toolbar-actions {\n display: inline-flex;\n align-items: center;\n gap: var(--spytial-ed-gap, 8px);\n}\n\n.spytial-ed-history {\n display: inline-flex;\n gap: 4px;\n}\n\n/* ─── Layout suggestion (HOOK 3) ────────────────────────────────────────── */\n\n.spytial-ed-suggest-btn {\n display: inline-flex;\n align-items: center;\n gap: 0.35em;\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.78em;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.09em;\n color: var(--spytial-ed-accent, #b5431a);\n background: transparent;\n border: 1px solid var(--spytial-ed-accent, #b5431a);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.3em 0.7em;\n cursor: pointer;\n white-space: nowrap;\n transition: background 0.15s ease, color 0.15s ease;\n}\n\n.spytial-ed-suggest-btn:hover:not(:disabled) {\n color: var(--spytial-ed-accent-text, #fdf6ec);\n background: var(--spytial-ed-accent, #b5431a);\n}\n\n.spytial-ed-suggest-btn:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 2px;\n}\n\n.spytial-ed-suggest-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.spytial-ed-suggest-error {\n margin: 0;\n padding: calc(var(--spytial-ed-gap, 8px) * 0.75) var(--spytial-ed-gap, 8px);\n font-size: 0.85em;\n color: var(--spytial-ed-danger, #a32014);\n background: color-mix(\n in srgb,\n var(--spytial-ed-danger, #a32014) 8%,\n transparent\n );\n border-bottom: 1px solid var(--spytial-ed-border, #d9d2c0);\n}\n\n.spytial-ed-suggestions {\n padding: calc(var(--spytial-ed-gap, 8px) * 0.75) var(--spytial-ed-gap, 8px);\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n border-bottom: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-left: 3px solid var(--spytial-ed-accent, #b5431a);\n animation: spytial-ed-unfold 0.14s ease-out;\n}\n\n.spytial-ed-suggestions-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--spytial-ed-gap, 8px);\n}\n\n.spytial-ed-suggestions-title {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.74em;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.09em;\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n\n.spytial-ed-suggestions-dismiss {\n font: inherit;\n font-size: 1.05em;\n line-height: 1;\n color: var(--spytial-ed-text-muted, #6e6553);\n background: transparent;\n border: none;\n padding: 0 0.2em;\n cursor: pointer;\n}\n\n.spytial-ed-suggestions-dismiss:hover {\n color: var(--spytial-ed-accent, #b5431a);\n}\n\n.spytial-ed-suggestions-dismiss:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 1px;\n}\n\n.spytial-ed-suggestions-list,\n.spytial-ed-suggestions-notes {\n list-style: none;\n margin: calc(var(--spytial-ed-gap, 8px) * 0.5) 0 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: calc(var(--spytial-ed-gap, 8px) * 0.5);\n}\n\n.spytial-ed-suggestions-notes {\n font-size: 0.82em;\n color: var(--spytial-ed-text-muted, #6e6553);\n border-top: 1px solid var(--spytial-ed-border, #d9d2c0);\n padding-top: calc(var(--spytial-ed-gap, 8px) * 0.5);\n}\n\n.spytial-ed-suggestion--omitted {\n opacity: 0.62;\n}\n\n.spytial-ed-suggestion-head {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: 0.4em;\n}\n\n.spytial-ed-suggestion-text {\n flex: 1 1 12em;\n font-size: 0.88em;\n color: var(--spytial-ed-text, #221d14);\n}\n\n.spytial-ed-suggestion-id {\n display: block;\n margin-top: 0.15em;\n font-family: var(\n --spytial-ed-mono-font-family,\n ui-monospace, 'Cascadia Code', 'JetBrains Mono', 'SF Mono', Menlo,\n Consolas, 'Liberation Mono', monospace\n );\n font-size: 0.74em;\n color: var(--spytial-ed-text-muted, #6e6553);\n word-break: break-all;\n}\n\n.spytial-ed-suggestion-chip {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.66em;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.07em;\n border: 1px solid currentColor;\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.15em 0.4em;\n white-space: nowrap;\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n\n.spytial-ed-suggestion-chip--high,\n.spytial-ed-suggestion-chip--applied {\n color: var(--spytial-ed-success, #2f6c43);\n}\n\n.spytial-ed-suggestion-chip--medium,\n.spytial-ed-suggestion-chip--weakened {\n color: var(--spytial-ed-warning, #8a6200);\n}\n\n.spytial-ed-suggestion-chip--omitted {\n color: var(--spytial-ed-danger, #a32014);\n}\n\n.spytial-ed-history-btn {\n font: inherit;\n font-size: 1.05em;\n line-height: 1;\n color: var(--spytial-ed-text, #221d14);\n background: transparent;\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.2em 0.45em;\n cursor: pointer;\n transition: border-color 0.15s ease, color 0.15s ease;\n}\n\n.spytial-ed-history-btn:hover:not(:disabled) {\n border-color: var(--spytial-ed-accent, #b5431a);\n color: var(--spytial-ed-accent, #b5431a);\n}\n\n.spytial-ed-history-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.spytial-ed-body {\n padding: var(--spytial-ed-gap, 8px);\n}\n\n/* ─── BuilderView ───────────────────────────────────────────────────────── */\n\n.spytial-ed-builder {\n display: flex;\n flex-direction: column;\n gap: calc(var(--spytial-ed-gap, 8px) * 1.25);\n}\n\n.spytial-ed-section-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: calc(var(--spytial-ed-gap, 8px) * 0.5);\n}\n\n.spytial-ed-section-title {\n margin: 0;\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.72em;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.14em;\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n\n.spytial-ed-rows {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.spytial-ed-row {\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius, 2px);\n background: var(--spytial-ed-surface, #faf8f2);\n transition: border-color 0.15s ease;\n}\n\n.spytial-ed-row:hover {\n border-color: color-mix(\n in srgb,\n var(--spytial-ed-text-muted, #6e6553) 55%,\n var(--spytial-ed-border, #d9d2c0)\n );\n}\n\n.spytial-ed-row--expanded {\n border-color: var(--spytial-ed-accent, #b5431a);\n}\n\n.spytial-ed-row--error {\n border-left: 3px solid var(--spytial-ed-danger, #a32014);\n}\n.spytial-ed-row--warning {\n border-left: 3px solid var(--spytial-ed-warning, #8a6200);\n}\n\n.spytial-ed-row-main {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.spytial-ed-row-toggle {\n flex: 1 1 auto;\n display: flex;\n align-items: center;\n gap: 0.55em;\n min-width: 0;\n font: inherit;\n text-align: left;\n color: inherit;\n background: transparent;\n border: none;\n cursor: pointer;\n padding: calc(var(--spytial-ed-gap, 8px) * 0.55) var(--spytial-ed-gap, 8px);\n}\n\n.spytial-ed--compact .spytial-ed-row-toggle {\n padding: calc(var(--spytial-ed-gap, 8px) * 0.4)\n calc(var(--spytial-ed-gap, 8px) * 0.75);\n}\n\n.spytial-ed-row-type {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.88em;\n font-weight: 600;\n flex: 0 0 auto;\n}\n\n.spytial-ed-row-negated {\n color: var(--spytial-ed-danger, #a32014);\n font-weight: 700;\n flex: 0 0 auto;\n}\n\n.spytial-ed-row-summary {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 0.85em;\n color: var(--spytial-ed-text-muted, #6e6553);\n font-family: var(--spytial-ed-mono-font-family, ui-monospace, monospace);\n}\n\n.spytial-ed-row-summary--muted {\n font-style: italic;\n font-family: inherit;\n}\n\n.spytial-ed-row-dot {\n flex: 0 0 auto;\n inline-size: 0.55em;\n block-size: 0.55em;\n border-radius: 50%;\n background: var(--spytial-ed-text-muted, #6e6553);\n}\n.spytial-ed-row-dot--error {\n background: var(--spytial-ed-danger, #a32014);\n}\n.spytial-ed-row-dot--warning {\n background: var(--spytial-ed-warning, #8a6200);\n}\n\n.spytial-ed-row-panel {\n padding: var(--spytial-ed-gap, 8px);\n border-top: 1px solid var(--spytial-ed-border, #d9d2c0);\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n display: flex;\n flex-direction: column;\n gap: var(--spytial-ed-gap, 8px);\n animation: spytial-ed-unfold 0.14s ease-out;\n}\n\n.spytial-ed-row--unknown {\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n}\n.spytial-ed-row--unknown .spytial-ed-row-main {\n padding: calc(var(--spytial-ed-gap, 8px) * 0.55) var(--spytial-ed-gap, 8px);\n gap: 0.55em;\n}\n\n.spytial-ed-builder-empty {\n margin: 0;\n font-size: 0.9em;\n color: var(--spytial-ed-text-muted, #6e6553);\n font-style: italic;\n}\n\n/* ─── overflow menu ─────────────────────────────────────────────────────── */\n\n.spytial-ed-overflow {\n position: relative;\n flex: 0 0 auto;\n margin-inline-end: 4px;\n}\n\n.spytial-ed-overflow-btn {\n font: inherit;\n font-size: 1.1em;\n line-height: 1;\n color: var(--spytial-ed-text-muted, #6e6553);\n background: transparent;\n border: none;\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.1em 0.4em;\n cursor: pointer;\n}\n.spytial-ed-overflow-btn:hover {\n background: var(--spytial-ed-border, #d9d2c0);\n}\n.spytial-ed-overflow-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n/*\n * Both menus are viewport-fixed: `useAnchoredPopup` supplies top/bottom +\n * left/right + maxHeight inline, so host overflow clipping can't hide them\n * (the original absolute positioning rendered the add menu below short\n * sidebars, invisible).\n */\n.spytial-ed-overflow-menu,\n.spytial-ed-add-menu {\n position: fixed;\n z-index: 1000;\n min-inline-size: 10rem;\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius, 2px);\n box-shadow: 0 1px 0 color-mix(in srgb, var(--spytial-ed-text, #221d14) 8%, transparent),\n 0 8px 24px color-mix(in srgb, var(--spytial-ed-text, #221d14) 18%, transparent);\n padding: 4px;\n animation: spytial-ed-pop 0.12s ease-out;\n}\n\n.spytial-ed-overflow-menu {\n list-style: none;\n margin: 0;\n overflow-y: auto;\n}\n\n.spytial-ed-overflow-item,\n.spytial-ed-add-item {\n display: block;\n inline-size: 100%;\n font: inherit;\n font-size: 0.88em;\n text-align: left;\n color: var(--spytial-ed-text, #221d14);\n background: transparent;\n border: none;\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.4em 0.6em;\n cursor: pointer;\n}\n.spytial-ed-overflow-item:hover:not(:disabled),\n.spytial-ed-add-item:hover {\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n}\n.spytial-ed-overflow-item:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n.spytial-ed-overflow-item--danger {\n color: var(--spytial-ed-danger, #a32014);\n}\n\n/* ─── add menu (searchable) ─────────────────────────────────────────────── */\n\n.spytial-ed-add {\n position: relative;\n}\n\n.spytial-ed-add-btn {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.78em;\n font-weight: 600;\n color: var(--spytial-ed-accent, #b5431a);\n background: transparent;\n border: 1px solid var(--spytial-ed-accent, #b5431a);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.28em 0.6em;\n cursor: pointer;\n transition: background 0.15s ease, color 0.15s ease, transform 0.1s ease;\n}\n.spytial-ed-add-btn:hover:not(:disabled) {\n background: var(--spytial-ed-accent, #b5431a);\n color: var(--spytial-ed-accent-text, #fdf6ec);\n}\n.spytial-ed-add-btn:active:not(:disabled) {\n transform: translateY(1px);\n}\n.spytial-ed-add-btn:focus-visible {\n outline: 2px solid var(--spytial-ed-accent, #b5431a);\n outline-offset: 2px;\n}\n.spytial-ed-add-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* the menu's inline maxHeight (from useAnchoredPopup) governs the whole box;\n the list flexes inside it and scrolls */\n.spytial-ed-add-menu {\n display: flex;\n flex-direction: column;\n min-inline-size: 15rem;\n}\n\n.spytial-ed-add-search {\n inline-size: 100%;\n flex: 0 0 auto;\n font: inherit;\n font-size: 0.85em;\n color: var(--spytial-ed-text, #221d14);\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.35em 0.5em;\n margin-bottom: 4px;\n}\n\n.spytial-ed-add-search:focus-visible {\n outline: none;\n border-color: var(--spytial-ed-accent, #b5431a);\n}\n\n.spytial-ed-add-list {\n list-style: none;\n margin: 0;\n padding: 0;\n flex: 1 1 auto;\n min-block-size: 0;\n overflow-y: auto;\n}\n\n.spytial-ed-add-item {\n display: flex;\n flex-direction: column;\n gap: 1px;\n}\n.spytial-ed-add-item-label {\n font-family: var(--spytial-ed-chrome-font);\n font-size: 0.95em;\n font-weight: 600;\n}\n.spytial-ed-add-item-desc {\n font-size: 0.78em;\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n.spytial-ed-add-empty {\n font-size: 0.85em;\n color: var(--spytial-ed-text-muted, #6e6553);\n padding: 0.4em 0.6em;\n}\n\n/* ─── CodeView ──────────────────────────────────────────────────────────── */\n\n.spytial-ed-code {\n display: flex;\n flex-direction: column;\n gap: var(--spytial-ed-gap, 8px);\n}\n\n.spytial-ed-code-notice {\n font-size: 0.82em;\n color: var(--spytial-ed-warning, #8a6200);\n background: color-mix(\n in srgb,\n var(--spytial-ed-warning, #8a6200) 10%,\n transparent\n );\n border: 1px solid var(--spytial-ed-warning, #8a6200);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n padding: 0.4em 0.6em;\n}\n\n/* CodeMirror host: the editor renders its own themed chrome (via EditorView.theme\n in CodeView.tsx, driven by the same --spytial-ed-* vars); this container only\n sizes and caps it. The .spytial-ed-code-editor / -gutter / -textarea / -mirror\n rules below are retained for the legacy textarea CodeView still exported from\n the barrel. */\n.spytial-ed-code-cm {\n display: block;\n}\n.spytial-ed-code-cm .cm-editor {\n max-height: 32rem;\n}\n.spytial-ed-code-cm--disabled {\n opacity: 0.65;\n}\n\n.spytial-ed-code-editor {\n display: flex;\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius, 2px);\n background: var(--spytial-ed-surface, #faf8f2);\n overflow: hidden;\n}\n\n.spytial-ed-code-gutter {\n flex: 0 0 auto;\n overflow: hidden;\n text-align: right;\n user-select: none;\n padding: 0.5em 0.4em;\n color: var(--spytial-ed-text-muted, #6e6553);\n background: var(--spytial-ed-surface-raised, #f1ecdf);\n border-inline-end: 1px solid var(--spytial-ed-border, #d9d2c0);\n font-family: var(--spytial-ed-mono-font-family, ui-monospace, monospace);\n font-size: 0.85em;\n line-height: 1.5;\n}\n\n.spytial-ed-code-gutter-line {\n min-inline-size: 1.6em;\n}\n\n/* wrapper hosting the highlight mirror + the transparent-text textarea; its\n height is driven by the textarea (which keeps `resize: vertical`) */\n.spytial-ed-code-input-wrap {\n position: relative;\n flex: 1 1 auto;\n min-width: 0;\n display: flex;\n}\n\n/*\n * Mirror and textarea MUST share identical metrics (font, size, line-height,\n * padding, tab-size, `white-space: pre`) so the highlight sits exactly under\n * the caret — same contract as the selector field's overlay.\n */\n.spytial-ed-code-textarea,\n.spytial-ed-code-mirror {\n margin: 0;\n font-family: var(--spytial-ed-mono-font-family, ui-monospace, monospace);\n font-size: 0.85em;\n line-height: 1.5;\n letter-spacing: normal;\n word-spacing: normal;\n /* same shaping normalization as the selector overlay (ligature fonts in\n the mono stack would otherwise drift textarea vs pre) */\n font-variant-ligatures: none;\n font-feature-settings: normal;\n font-kerning: none;\n hyphens: none;\n text-rendering: auto;\n padding: 0.5em 0.6em;\n border: none;\n white-space: pre;\n overflow-wrap: normal;\n tab-size: 2;\n}\n\n.spytial-ed-code-mirror {\n position: absolute;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n overflow: hidden;\n color: var(--spytial-ed-text, #221d14);\n background: transparent;\n}\n\n.spytial-ed-code-textarea {\n position: relative;\n z-index: 1;\n flex: 1 1 auto;\n width: 100%;\n resize: vertical;\n min-block-size: 12rem;\n color: transparent;\n caret-color: var(--spytial-ed-accent, #b5431a);\n background: transparent;\n outline: none;\n}\n\n.spytial-ed-code-textarea::selection {\n /* keep selection visible even though the text itself is transparent */\n background: color-mix(\n in srgb,\n var(--spytial-ed-accent, #b5431a) 26%,\n transparent\n );\n}\n\n.spytial-ed-code-textarea:disabled {\n opacity: 0.6;\n}\n\n/* highlighting disabled (escape hatch): the textarea shows its own text */\n.spytial-ed-code-textarea--plain {\n color: var(--spytial-ed-text, #221d14);\n}\n\n.spytial-ed-code-textarea:disabled + .spytial-ed-code-mirror,\n.spytial-ed-code-input-wrap:has(.spytial-ed-code-textarea:disabled)\n .spytial-ed-code-mirror {\n opacity: 0.6;\n}\n\n.spytial-ed-code-diagnostics {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.spytial-ed-code-diagnostic-loc {\n font-family: var(--spytial-ed-mono-font-family, ui-monospace, monospace);\n font-size: 0.85em;\n color: var(--spytial-ed-text-muted, #6e6553);\n flex: 0 0 auto;\n}\n\n/* ─── Reduced motion ────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .spytial-ed *,\n .spytial-ed *::before,\n .spytial-ed *::after,\n .spytial-ed-autocomplete,\n .spytial-ed-overflow-menu,\n .spytial-ed-add-menu,\n .spytial-ed-synth-popover,\n .spytial-ed-row-panel {\n animation: none !important;\n transition: none !important;\n }\n}\n\n/* ---- nested style blocks (lineStyle / textStyle / …) ---- */\n.spytial-ed-group {\n border: 1px solid var(--spytial-ed-border, #d0d7de);\n border-radius: 6px;\n padding: 0.25rem 0.6rem 0.4rem;\n margin: 0.25rem 0;\n min-inline-size: 0;\n}\n.spytial-ed-group-legend {\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n padding-inline: 0.3rem;\n font-size: 0.78rem;\n font-weight: 600;\n color: var(--spytial-ed-muted, #656d76);\n}\n.spytial-ed-group-remove {\n border: none;\n background: transparent;\n cursor: pointer;\n font-size: 1rem;\n line-height: 1;\n padding: 0 0.15rem;\n color: var(--spytial-ed-muted, #656d76);\n}\n.spytial-ed-group-remove:hover {\n color: var(--spytial-ed-danger, #cf222e);\n}\n.spytial-ed-group-add {\n align-self: flex-start;\n border: 1px dashed var(--spytial-ed-border, #d0d7de);\n border-radius: 6px;\n background: transparent;\n cursor: pointer;\n padding: 0.3rem 0.6rem;\n margin: 0.15rem 0;\n font-size: 0.78rem;\n color: var(--spytial-ed-accent, #0969da);\n}\n.spytial-ed-group-add:hover {\n background: var(--spytial-ed-hover, #f6f8fa);\n}\n\n/* ── iconPath field: text input + built-in icon browser ──────────────────── */\n\n.spytial-ed-icon {\n position: relative;\n width: 100%;\n}\n\n.spytial-ed-icon-row {\n display: flex;\n align-items: center;\n gap: 0.35rem;\n}\n\n/* Only shown for bundled values — see IconField for why. The glyph is inlined\n SVG, not an <img>, so `fill=\"currentColor\"` inherits this color and the icon\n stays legible in both the light and dark themes. */\n.spytial-ed-icon-preview,\n.spytial-ed-icon-cell-glyph {\n display: inline-flex;\n flex: 0 0 auto;\n color: var(--spytial-ed-text, #221d14);\n}\n.spytial-ed-icon-preview svg {\n inline-size: 1.15rem;\n block-size: 1.15rem;\n}\n.spytial-ed-icon-cell-glyph svg {\n inline-size: 1.35rem;\n block-size: 1.35rem;\n}\n\n.spytial-ed-icon-btn {\n flex: 0 0 auto;\n cursor: pointer;\n padding: 0.3em 0.5em;\n line-height: 1;\n color: var(--spytial-ed-text-muted, #6e6553);\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius-sm, 2px);\n}\n.spytial-ed-icon-btn:hover:not(:disabled) {\n color: var(--spytial-ed-text, #221d14);\n background: var(--spytial-ed-hover, #f6f8fa);\n}\n.spytial-ed-icon-btn:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n.spytial-ed-icon-pop {\n position: fixed;\n z-index: 1000;\n inline-size: 20rem;\n max-inline-size: calc(100vw - 1rem);\n overflow-y: auto;\n padding: 0.5rem;\n background: var(--spytial-ed-surface, #faf8f2);\n border: 1px solid var(--spytial-ed-border, #d9d2c0);\n border-radius: var(--spytial-ed-radius, 2px);\n box-shadow: 0 1px 0 color-mix(in srgb, var(--spytial-ed-text, #221d14) 8%, transparent),\n 0 8px 24px color-mix(in srgb, var(--spytial-ed-text, #221d14) 18%, transparent);\n animation: spytial-ed-pop 0.12s ease-out;\n}\n\n.spytial-ed-icon-search {\n margin-block-end: 0.4rem;\n}\n\n.spytial-ed-icon-note,\n.spytial-ed-icon-empty {\n margin: 0 0 0.45rem;\n font-size: 0.75rem;\n line-height: 1.45;\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n\n.spytial-ed-icon-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(4.25rem, 1fr));\n gap: 0.25rem;\n}\n\n.spytial-ed-icon-cell {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.2rem;\n cursor: pointer;\n padding: 0.4rem 0.2rem;\n background: transparent;\n border: 1px solid transparent;\n border-radius: var(--spytial-ed-radius-sm, 2px);\n color: var(--spytial-ed-text, #221d14);\n}\n.spytial-ed-icon-cell:hover {\n background: var(--spytial-ed-hover, #f6f8fa);\n border-color: var(--spytial-ed-border, #d9d2c0);\n}\n.spytial-ed-icon-cell--active {\n border-color: var(--spytial-ed-accent, #0969da);\n background: color-mix(in srgb, var(--spytial-ed-accent, #0969da) 10%, transparent);\n}\n.spytial-ed-icon-cell-name {\n max-inline-size: 100%;\n overflow: hidden;\n font-size: 0.65rem;\n line-height: 1.2;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n\n.spytial-ed-icon-packs {\n margin-block-start: 0.6rem;\n padding-block-start: 0.5rem;\n border-block-start: 1px solid var(--spytial-ed-border, #d9d2c0);\n}\n.spytial-ed-icon-packs ul {\n margin: 0;\n padding: 0;\n list-style: none;\n font-size: 0.72rem;\n line-height: 1.6;\n color: var(--spytial-ed-text, #221d14);\n}\n.spytial-ed-icon-pack-eg {\n color: var(--spytial-ed-text-muted, #6e6553);\n}\n",".error-card {\n min-width: 320px;\n max-width: 100%;\n}\n\n#error-message-modal {\n border-radius: 0.5rem;\n border: 2px var(--bs-danger) solid;\n}\n\n/* Source constraint highlight - lighter yellow */\n.constraint-item.highlight-source {\n background-color: rgba(255, 193, 7, 0.35);\n border-radius: 4px;\n}\n\n/* Diagram element highlight - darker yellow */\n.constraint-item.highlight-diagram {\n background-color: rgba(255, 193, 7, 0.7);\n border-radius: 4px;\n}\n\n.constraint-relationship-table {\n width: 100%;\n margin-bottom: 1rem;\n}\n\n/*\n * Two independently-scrolling columns inside one resizable region.\n * - resize: vertical gives a drag handle to tune height (larger/smaller/taller)\n * - max-height caps the default so a long conflict list can't cover the screen\n * (and is the drag ceiling); min-height is the drag floor\n * - overflow: hidden is required for `resize`; each column body scrolls itself,\n * which is what lets a hovered item stay put while its correspondence in the\n * OTHER column scrolls into view\n */\n.constraint-columns {\n display: flex;\n gap: 0;\n max-height: 45vh;\n min-height: 5rem;\n overflow: hidden;\n resize: vertical;\n}\n\n.constraint-column {\n flex: 1 1 0;\n min-width: 0;\n min-height: 0;\n display: flex;\n flex-direction: column;\n border: 1px solid #dee2e6;\n}\n\n/* Collapse the seam between the two adjacent columns */\n.constraint-column + .constraint-column {\n border-left: none;\n}\n\n.constraint-column-header {\n flex: 0 0 auto;\n font-weight: 600;\n padding: 0.5rem;\n background: #f8f9fa;\n border-bottom: 1px solid #dee2e6;\n}\n\n/* The independent per-column scroll container (both axes: wide constraint\n * text scrolls within the column instead of widening the whole modal). */\n.constraint-column-body {\n flex: 1 1 auto;\n min-height: 0;\n overflow: auto;\n}\n\n.constraint-relationship-table .constraint-item {\n padding: 0.5rem;\n border-bottom: 1px solid #eee;\n}\n\n.constraint-relationship-table .constraint-item:last-child {\n border-bottom: none;\n}\n\ncode > code, code > pre {\n border: 1px solid var(--bs-code-color);\n padding: 0.2em 0.4em;\n border-radius: 4px;\n}\n\n/* Collapse/expand header bar */\n.error-modal-header {\n gap: 0.5rem;\n}\n\n.error-modal-toggle {\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n min-height: 2rem;\n background: transparent;\n border: 1px solid currentColor;\n border-radius: 0.375rem;\n color: var(--bs-danger);\n font: inherit;\n font-size: 0.875rem;\n font-weight: 600;\n line-height: 1.2;\n padding: 0.25rem 0.5rem;\n cursor: pointer;\n}\n\n.error-modal-toggle:hover {\n background: color-mix(in srgb, var(--bs-danger) 10%, transparent);\n}\n\n.error-modal-toggle:focus-visible {\n outline: 2px solid currentColor;\n outline-offset: 2px;\n}\n\n.error-modal-chevron {\n flex: none;\n transition: transform 150ms ease;\n}\n\n.error-modal-toggle[aria-expanded=\"false\"] .error-modal-chevron {\n transform: rotate(-90deg);\n}\n",".code-input {\n font-family: monospace;\n}\n\n#repl-output {\n font-family: monospace; \n white-space: pre-wrap; \n max-height: 80vh; \n overflow-y: auto;\n}\n\n#evaluator-input {\n margin: 10px 0;\n}\n\n/*\n * Output line spacing. This rule used to live in ReplInterface.css and reached\n * this component only because both stylesheets happened to be loaded — the\n * REPL's own markup never shared a tree with ours. That stylesheet went with\n * the Pyret REPL, so the rule moves here, to the one component that renders\n * the class. The `.command`/`.success`/`.error`/`.info`/`.help` modifiers that\n * sat alongside it are not carried over: EvaluatorRepl never applies them.\n */\n.repl-output-line {\n margin: 2px 0;\n padding: 2px 0;\n}","/* RelationHighlighter Component Styles - Accordion Style */\n\n.relation-highlighter {\n border: 1px solid #ddd;\n border-radius: 6px;\n background: #ffffff;\n font-family: system-ui, -apple-system, sans-serif;\n max-width: 320px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n overflow: hidden;\n}\n\n/* Accordion-style header */\n.relation-highlighter-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 14px 18px;\n background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);\n border-bottom: 1px solid #dee2e6;\n cursor: pointer;\n user-select: none;\n transition: background-color 0.2s ease;\n position: relative;\n}\n\n.relation-highlighter-header:hover {\n background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);\n}\n\n.relation-highlighter-header:active {\n background: linear-gradient(135deg, #dee2e6 0%, #ced4da 100%);\n}\n\n.relation-highlighter-title {\n margin: 0;\n font-size: 15px;\n font-weight: 600;\n color: #495057;\n letter-spacing: 0.025em;\n}\n\n/* Accordion toggle button */\n.collapse-toggle {\n background: none;\n border: none;\n font-size: 16px;\n color: #6c757d;\n cursor: pointer;\n padding: 6px;\n border-radius: 4px;\n transition: all 0.25s ease;\n line-height: 1;\n min-width: 28px;\n min-height: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.collapse-toggle:hover {\n background: rgba(108, 117, 125, 0.1);\n color: #495057;\n}\n\n.collapse-toggle.collapsed {\n transform: rotate(-90deg);\n color: #868e96;\n}\n\n/* Accordion-style collapsible content */\n.relation-highlighter-content {\n max-height: 350px;\n overflow: hidden;\n transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);\n background: #ffffff;\n}\n\n.relation-highlighter-content.collapsed {\n max-height: 0;\n border-top: none;\n}\n\n/* No relations message */\n.no-relations {\n padding: 20px 18px;\n text-align: center;\n color: #6c757d;\n font-style: italic;\n margin: 0;\n font-size: 14px;\n}\n\n/* Relation list */\n.relation-list {\n list-style: none;\n margin: 0;\n padding: 0;\n max-height: 320px;\n overflow-y: auto;\n /* Explicitly allow horizontal scroll when content overflows */\n overflow-x: auto;\n}\n\n/* Individual relation items */\n.relation-item {\n padding: 12px 18px;\n cursor: pointer;\n border-bottom: 1px solid #f1f3f4;\n color: #495057;\n font-size: 14px;\n font-weight: 500;\n transition: all 0.2s ease;\n user-select: none;\n position: relative;\n background: #ffffff;\n overflow: hidden;\n white-space: nowrap;\n /* Minimum width to prevent excessive shrinking */\n min-width: 100px;\n}\n\n.relation-item:last-child {\n border-bottom: none;\n}\n\n.relation-item:hover {\n background: linear-gradient(90deg, #e3f2fd 0%, #f3e5f5 100%);\n color: #1565c0;\n font-weight: 600;\n /* Use left padding increase instead of transform to prevent horizontal scrolling */\n padding-left: 28px;\n /* Reduce right padding to maintain consistent width */\n padding-right: 18px;\n}\n\n.relation-item:active {\n background: linear-gradient(90deg, #bbdefb 0%, #e1bee7 100%);\n}\n\n/* Scrollbar styling for webkit browsers */\n.relation-list::-webkit-scrollbar {\n width: 8px;\n}\n\n.relation-list::-webkit-scrollbar-track {\n background: #f8f9fa;\n border-radius: 4px;\n}\n\n.relation-list::-webkit-scrollbar-thumb {\n background: linear-gradient(180deg, #ced4da 0%, #adb5bd 100%);\n border-radius: 4px;\n border: 1px solid #dee2e6;\n}\n\n.relation-list::-webkit-scrollbar-thumb:hover {\n background: linear-gradient(180deg, #adb5bd 0%, #868e96 100%);\n}\n\n/* Accordion animation enhancement */\n@keyframes accordionExpand {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.relation-highlighter-content:not(.collapsed) .relation-list {\n animation: accordionExpand 0.3s ease-out;\n}\n\n/* Responsive design for smaller screens */\n@media (max-width: 480px) {\n .relation-highlighter {\n max-width: 100%;\n border-radius: 4px;\n }\n \n .relation-highlighter-title {\n font-size: 14px;\n }\n \n .relation-item {\n padding: 14px 18px;\n font-size: 15px; /* Larger touch targets */\n padding-right: 32px; /* More space for arrow on mobile */\n }\n \n .relation-item:hover {\n padding-left: 32px;\n padding-right: 18px;\n }\n}\n\n/* Focus states for accessibility */\n.relation-highlighter-header:focus {\n outline: 2px solid #0d6efd;\n outline-offset: -2px;\n}\n\n.collapse-toggle:focus {\n outline: 2px solid #0d6efd;\n outline-offset: 2px;\n border-radius: 4px;\n}\n\n.relation-item:focus {\n outline: 2px solid #0d6efd;\n outline-offset: -2px;\n background: #e3f2fd;\n}"],"mappings":"AAwBA,CAAC,WACC,YAAa,KACX,wBAAwB,EACxB,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,UAAU,EACnE,cAAc,EAAE,aAElB,UAAW,IAAI,sBAAsB,EAAE,MACvC,MAAO,IAAI,iBAAiB,EAAE,SAE9B,kBAAkB,IAAI,oBAAoB,EAAE,KAC5C,wBAAwB,IAAI,mBAAmB,EAAE,KAEjD,0BAA0B,KACxB,6BAA6B,EAC7B,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EACjE,QAAQ,EAAE,iBAAiB,EAAE,WAEjC,CAEA,CAnBC,WAmBW,EACZ,CApBC,WAoBW,CAAC,QACb,CArBC,WAqBW,CAAC,OACX,WAAY,UACd,CAEA,CAAC,oBACC,UAAW,KAAK,IAAI,sBAAsB,EAAE,MAAM,EAAE,KACpD,kBAAkB,KAAK,IAAI,oBAAoB,EAAE,KAAK,EAAE,KAC1D,CAGA,WAAW,eACT,GACE,QAAS,EACT,UAAW,WAAW,MAAM,MAAM,IACpC,CACA,GACE,QAAS,EACT,UAAW,WAAW,GAAG,MAAM,EACjC,CACF,CAEA,WAAW,kBACT,GACE,QAAS,EACT,UAAW,WAAW,KACxB,CACA,GACE,QAAS,EACT,UAAW,WAAW,EACxB,CACF,CAIA,CAAC,kBACC,QAAS,KACT,eAAgB,OAChB,IAAK,IAAI,gBAAgB,EAAE,KAC3B,MAAO,IACT,CAEA,CAAC,iBACC,QAAS,KACT,sBAAuB,OAAO,IAAI,CAAE,MAAM,IAC1C,YAAa,MACb,IAAK,IAAI,gBAAgB,EAAE,IAC7B,CAEA,CA5CC,oBA4CoB,CAPpB,iBAQC,sBAAuB,OAAO,IAAI,CAAE,MAAM,GAC5C,CAEA,CAAC,uBACC,YAAa,IAAI,0BACjB,UAAW,MACX,YAAa,IACb,eAAgB,UAChB,eAAgB,MAChB,MAAO,IAAI,uBAAuB,EAAE,SACpC,YAAa,MACb,YAAa,IACb,OAAQ,QACR,YAAa,IACf,CAEA,CAAC,0BACC,MAAO,IAAI,mBAAmB,EAAE,SAChC,YAAa,GACf,CAEA,CAAC,yBACC,QAAS,KACT,eAAgB,OAChB,IAAK,MACL,UAAW,CACb,CAIA,CAAC,iBACC,MAAO,KACP,YAAa,QACb,UAAW,QACX,MAAO,IAAI,iBAAiB,EAAE,SAC9B,WAAY,IAAI,oBAAoB,EAAE,SACtC,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,sBAAsB,EAAE,KAnI7C,QAoIW,KAAM,MACf,YAAa,IACb,WAAY,aAAa,KAAM,IAAI,CAAE,WAAW,KAAM,IACxD,CAEA,CAxFC,oBAwFoB,CAbpB,iBA5HD,QA0IW,KAAM,KACjB,CAEA,CAjBC,gBAiBgB,cACf,MAAO,IAAI,uBAAuB,EAAE,SACpC,QAAS,GACX,CAEA,CAtBC,gBAsBgB,OACjB,CAvBC,gBAuBgB,eACf,QAAS,KACT,aAAc,IAAI,mBAAmB,EAAE,SACvC,WAAY,EAAE,EAAE,EAAE,IAChB,UAAU,GAAG,IAAI,CAAE,IAAI,mBAAmB,EAAE,SAAS,GAAG,CAAE,YAC9D,CAEA,CA9BC,gBA8BgB,UACf,WAAY,IAAI,2BAA2B,EAAE,SAC7C,MAAO,IAAI,uBAAuB,EAAE,SACpC,OAAQ,WACV,CAEA,CAAC,yBACC,MAAO,IACT,CAEA,CAxCC,gBAwCgB,CAAC,mBAChB,aAAc,IAAI,mBAAmB,EAAE,QACzC,CAIA,CAAC,iBACC,QAAS,KACT,YAAa,OACb,IAAK,IAAI,gBAAgB,EAAE,IAC7B,CAEA,CAAC,wBACC,YAAa,KACb,WAAY,KAlLd,QAmLW,EACT,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,sBAAsB,EAAE,KAC3C,WAAY,IAAI,oBAAoB,EAAE,SACtC,OAAQ,OACV,CAEA,CAVC,uBAUuB,eACtB,QAAS,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC5C,eAAgB,GAClB,CAEA,CAAC,sBACC,MAAO,KACP,YAAa,KACX,6BAA6B,EAC7B,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EACjE,QAAQ,EAAE,iBAAiB,EAAE,WAEjC,CAIA,CAAC,iBACC,QAAS,KACT,UAAW,KACX,IAAK,IACP,CAEA,CAAC,gBACC,YAAa,IAAI,0BACjB,UAAW,KACX,MAAO,IAAI,iBAAiB,EAAE,SAC9B,WAAY,YACZ,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,sBAAsB,EAAE,KAtN7C,QAuNW,MAAO,MAChB,OAAQ,QACR,WAAY,WAAW,KAAM,IAAI,CAAE,aAAa,KAAM,IAAI,CACxD,MAAM,KAAM,IAAI,CAAE,UAAU,IAAK,IACrC,CAEA,CAbC,eAae,MAAM,KAAK,WACzB,aAAc,IAAI,mBAAmB,EAAE,SACvC,MAAO,IAAI,mBAAmB,EAAE,QAClC,CAEA,CAlBC,eAkBe,OAAO,KAAK,WAC1B,UAAW,WAAW,IACxB,CAEA,CAtBC,eAsBe,eACd,QAAS,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC5C,eAAgB,GAClB,CAEA,CAAC,wBACC,WAAY,IAAI,mBAAmB,EAAE,SACrC,aAAc,IAAI,mBAAmB,EAAE,SACvC,MAAO,IAAI,wBAAwB,EAAE,SACrC,YAAa,GACf,CAEA,CAPC,uBAOuB,MAAM,KAAK,WACjC,MAAO,IAAI,wBAAwB,EAAE,QACvC,CAGA,CAAC,yBACC,WAAY,IAAI,mBAAmB,EAAE,SACrC,aAAc,IAAI,mBAAmB,EAAE,QACzC,CAEA,CALC,wBAKwB,MAAM,KAAK,WAClC,aAAc,IAAI,mBAAmB,EAAE,QACzC,CAEA,CAhDC,eAgDe,UACd,QAAS,IACT,OAAQ,WACV,CAIA,CAAC,kBACC,SAAU,SACV,YAAa,OACb,WAAY,QA1Qd,QA2QW,EACT,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SA5Q7C,cA6QiB,MACf,WAAY,IAAI,2BAA2B,EAAE,SAC7C,OAAQ,QACR,WAAY,WAAW,KAAM,IAAI,CAAE,aAAa,KAAM,IACxD,CAEA,CAAC,wBACC,SAAU,SACV,IAAK,IACL,KAAM,OACN,UAAW,WAAW,MACtB,YAAa,OACb,WAAY,OAzRd,cA0RiB,IACf,WAAY,IAAI,oBAAoB,EAAE,SACtC,WAAY,EAAE,IAAI,IAAI,UACtB,WAAY,KAAK,KAAM,IACzB,CAEA,CAAC,sBACC,WAAY,IAAI,mBAAmB,EAAE,SACrC,aAAc,IAAI,mBAAmB,EAAE,QACzC,CAEA,CALC,sBAKsB,CAlBtB,wBAmBC,KAAM,KAAK,KAAK,EAAE,QACpB,CAEA,CAlCC,iBAkCiB,eAChB,QAAS,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC5C,eAAgB,GAClB,CAEA,CAvCC,iBAuCiB,UAChB,QAAS,IACT,OAAQ,WACV,CAIA,CAAC,oBACC,QAAS,KACT,eAAgB,OAChB,IAAK,MACL,MAAO,IACT,CAEA,CAAC,+BACC,SAAU,SACV,MAAO,KAKP,WAAY,IAAI,oBAAoB,EAAE,SACtC,cAAe,IAAI,sBAAsB,EAAE,IAC7C,CAQA,CAAC,6BACD,CAAC,2BA9UD,OA+UU,EACR,YAAa,KACX,6BAA6B,EAC7B,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EACjE,QAAQ,EAAE,iBAAiB,EAAE,YAE/B,UAAW,MACX,YAAa,IACb,eAAgB,OAChB,aAAc,OAId,uBAAwB,KACxB,sBAAuB,OACvB,aAAc,KACd,QAAS,KACT,eAAgB,KAChB,SAAU,EAjWZ,QAkWW,KAAM,MACf,OAAQ,IAAI,MAAM,YAClB,cAAe,IAAI,sBAAsB,EAAE,KAC3C,YAAa,SACb,WAAY,WACZ,cAAe,UACjB,CAEA,CAzTC,oBAyToB,CA7BpB,6BA8BD,CA1TC,oBA0ToB,CA7BpB,2BA9UD,QA4WW,KAAM,KACjB,CAMA,CAAC,2CAA2C,CAtC3C,6BAuCD,CADC,2CAC2C,CAtC3C,2BAuCC,cAAe,KACjB,CAGA,CA3CC,2BA4CC,SAAU,SA1XZ,MA2XS,EACP,QAAS,EACT,eAAgB,KAChB,SAAU,OACV,MAAO,IAAI,iBAAiB,EAAE,SAC9B,WAAY,WAEd,CAGA,CAxDC,6BAyDC,SAAU,SACV,QAAS,EACT,QAAS,MACT,MAAO,KACP,WAAY,MACZ,OAAQ,KACR,SAAU,OAGV,WAAY,YACZ,aAAc,IAAI,mBAAmB,EAAE,SACvC,MAAO,YACP,YAAa,IAAI,mBAAmB,EAAE,SACtC,WAAY,aAAa,KAAM,IAAI,CAAE,WAAW,KAAM,IACxD,CAEA,CAzEC,4BAyE4B,cAC3B,MAAO,IAAI,uBAAuB,EAAE,SACpC,QAAS,GACX,CAEA,CA9EC,4BA8E4B,YAE3B,WAAY,UACV,GAAG,IAAI,CACP,IAAI,mBAAmB,EAAE,SAAS,GAAG,CACrC,YAEJ,CAEA,CAvFC,4BAuF4B,OAC7B,CAxFC,4BAwF4B,eAC3B,QAAS,KACT,aAAc,IAAI,mBAAmB,EAAE,SACvC,WAAY,EAAE,EAAE,EAAE,IAChB,UAAU,GAAG,IAAI,CAAE,IAAI,mBAAmB,EAAE,SAAS,GAAG,CAAE,YAC9D,CAEA,CA/FC,4BA+F4B,UAC3B,OAAQ,WACV,CAIA,CAtHC,8BAsH8B,KAAK,CArGnC,4BAqGgE,WAC/D,WAAY,IAAI,2BAA2B,EAAE,QAC/C,CAGA,CAAC,oCACC,MAAO,IAAI,iBAAiB,EAAE,QAChC,CAGA,CAAC,2BAA2B,CA/G3B,6BAgHC,aAAc,IAAI,mBAAmB,EAAE,SACvC,WAAY,MAAM,EAAE,KAAK,EAAE,IAAI,mBAAmB,EAAE,QACtD,CAEA,CAAC,6BAA6B,CApH7B,6BAqHC,aAAc,IAAI,oBAAoB,EAAE,SACxC,WAAY,MAAM,EAAE,KAAK,EAAE,IAAI,oBAAoB,EAAE,QACvD,CAIA,CAAC,uBACC,MAAO,IAAI,wBAAwB,EAAE,SACrC,YAAa,GACf,CACA,CAAC,oBACC,MAAO,IAAI,qBAAqB,EAAE,QACpC,CACA,CAAC,wBACD,CAAC,0BACC,MAAO,IAAI,yBAAyB,EAAE,QACxC,CACA,CAAC,wBACC,MAAO,IAAI,yBAAyB,EAAE,QACxC,CACA,CAAC,sBACC,MAAO,IAAI,uBAAuB,EAAE,QACtC,CACA,CAAC,sBACC,MAAO,IAAI,qBAAqB,EAAE,QACpC,CACA,CAAC,uBACC,MAAO,IAAI,wBAAwB,EAAE,SACrC,WAAY,MACd,CAIA,CAAC,8BACC,SAAU,SACV,IAAK,MACL,MAAO,MACP,QAAS,EACT,YAAa,MACb,WAAY,MACZ,QAAS,YACT,YAAa,OACb,gBAAiB,OA5enB,QA6eW,EACT,UAAW,MACX,YAAa,EACb,WAAY,IAAI,2BAA2B,EAAE,SAC7C,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,sBAAsB,EAAE,KAC3C,OAAQ,QACR,WAAY,aAAa,KAAM,IAAI,CAAE,WAAW,KAAM,IAAI,CACxD,UAAU,KAAM,IACpB,CAEA,CArBC,6BAqB6B,MAAM,KAAK,WACvC,aAAc,IAAI,mBAAmB,EAAE,SACvC,UAAW,OAAO,MACpB,CAEA,CA1BC,6BA0B6B,eAC5B,QAAS,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC5C,eAAgB,GAClB,CAEA,CA/BC,6BA+B6B,UAC5B,QAAS,GACT,OAAQ,WACV,CAIA,CAAC,wBACC,SAAU,MACV,QAAS,KA3gBX,OA4gBU,EA5gBV,QA6gBW,KACT,WAAY,KACZ,WAAY,KACZ,WAAY,IAAI,oBAAoB,EAAE,SACtC,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,mBAAmB,EAAE,KACxC,WAAY,EAAE,IAAM,UAAU,GAAG,IAAI,CAAE,IAAI,iBAAiB,EAAE,SAAS,EAAE,CAAE,YAAY,CACrF,EAAE,IAAI,KAAK,UAAU,GAAG,IAAI,CAAE,IAAI,iBAAiB,EAAE,SAAS,GAAG,CAAE,aACrE,UAAW,eAAe,KAAM,QAClC,CAEA,CAAC,6BACC,QAAS,KACT,YAAa,OACb,IAAK,KA3hBP,QA4hBW,KAAM,KACf,cAAe,IAAI,sBAAsB,EAAE,KAC3C,OAAQ,QACR,UAAW,IACb,CAEA,CAAC,qCACC,WAAY,UACV,GAAG,IAAI,CACP,IAAI,mBAAmB,EAAE,SAAS,GAAG,CACrC,YAEJ,CAEA,CAAC,6BACC,YAAa,KACb,WAAY,KA5iBd,cA6iBiB,IACf,KAAM,EAAE,EAAE,KACV,WAAY,IAAI,uBAAuB,EAAE,QAC3C,CACA,CAAC,qBACC,WAAY,IAAI,qBAAqB,EAAE,QACzC,CACA,CAAC,yBACC,WAAY,IAAI,yBAAyB,EAAE,QAC7C,CACA,CAAC,qBACC,WAAY,IAAI,uBAAuB,EAAE,QAC3C,CACA,CAAC,wBACC,WAAY,IAAI,wBAAwB,EAAE,QAC5C,CACA,CAAC,wBACC,WAAY,IAAI,oBAAoB,EAAE,QACxC,CAEA,CAAC,8BACC,YAAa,KACX,6BAA6B,EAC7B,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EACjE,QAAQ,EAAE,iBAAiB,EAAE,YAE/B,MAAO,IAAI,iBAAiB,EAAE,QAChC,CAEA,CAAC,+BACC,YAAa,KACb,UAAW,MACX,MAAO,IAAI,uBAAuB,EAAE,SACpC,YAAa,MACf,CAIA,CAAC,yBACC,WAAY,KACZ,QAAS,IAAI,gBAAgB,EAAE,KAC/B,WAAY,IAAI,2BAA2B,EAAE,SAC7C,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,YAAa,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAChD,cAAe,IAAI,mBAAmB,EAAE,KACxC,QAAS,KACT,eAAgB,OAChB,IAAK,IAAI,gBAAgB,EAAE,KAC3B,UAAW,kBAAkB,KAAM,QACrC,CAEA,CAAC,qBACC,QAAS,KACT,IAAK,IACP,CAEA,CAAC,uBACC,KAAM,EAAE,EAAE,KACV,UAAW,EACX,YAAa,QACb,UAAW,KACX,MAAO,IAAI,iBAAiB,EAAE,SAC9B,WAAY,IAAI,oBAAoB,EAAE,SACtC,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,sBAAsB,EAAE,KA7mB7C,QA8mBW,KAAM,KACjB,CAEA,CAZC,sBAYsB,eACrB,QAAS,KACT,aAAc,IAAI,mBAAmB,EAAE,SACvC,WAAY,EAAE,EAAE,EAAE,IAChB,UAAU,GAAG,IAAI,CAAE,IAAI,mBAAmB,EAAE,SAAS,GAAG,CAAE,YAC9D,CAEA,CAAC,0BACD,CAAC,wBACC,YAAa,IAAI,0BACjB,UAAW,MACX,YAAa,IACb,MAAO,IAAI,wBAAwB,EAAE,SACrC,WAAY,IAAI,mBAAmB,EAAE,SACrC,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,sBAAsB,EAAE,KAhoB7C,QAioBW,KAAM,KACf,OAAQ,QACR,YAAa,OACb,WAAY,OAAO,KAAM,IAAI,CAAE,UAAU,IAAK,IAChD,CAEA,CAfC,yBAeyB,MAAM,KAAK,WACrC,CAfC,uBAeuB,MAAM,KAAK,WACjC,OAAQ,WAAW,KACrB,CAEA,CApBC,yBAoByB,OAAO,KAAK,WACtC,CApBC,uBAoBuB,OAAO,KAAK,WAClC,UAAW,WAAW,IACxB,CAEA,CAzBC,yBAyByB,UACxB,QAAS,GACT,OAAQ,WACV,CAEA,CAAC,yBACC,YAAa,IAAI,0BACjB,UAAW,MACX,MAAO,IAAI,iBAAiB,EAAE,SAC9B,WAAY,YACZ,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,sBAAsB,EAAE,KA5pB7C,QA6pBW,KAAM,KACf,OAAQ,OACV,CAEA,CAzCC,yBAyCyB,eAC1B,CAzCC,uBAyCuB,eACxB,CAbC,wBAawB,eACvB,QAAS,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC5C,eAAgB,GAClB,CAEA,CAAC,uBACC,MAAO,IAAI,mBAAmB,EAAE,SAChC,UAAW,KACb,CAEA,CAAC,wBACC,QAAS,KACT,eAAgB,OAChB,IAAK,IACP,CAEA,CAAC,yBAnrBD,OAorBU,EAprBV,QAqrBW,KAAM,MACf,YAAa,KACX,6BAA6B,EAC7B,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EACjE,QAAQ,EAAE,iBAAiB,EAAE,YAE/B,UAAW,KACX,YAAa,IACb,WAAY,IAAI,oBAAoB,EAAE,SACtC,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,sBAAsB,EAAE,KAC3C,YAAa,SACb,WAAY,WACZ,MAAO,IAAI,iBAAiB,EAAE,QAChC,CAEA,CAAC,6BArsBD,OAssBU,EACR,UAAW,MACX,MAAO,IAAI,uBAAuB,EAAE,QACtC,CAEA,CAAC,yBACC,QAAS,KACT,IAAK,IACP,CAIA,CAAC,uBACC,WAAY,KAntBd,OAotBU,EAptBV,QAqtBW,EACT,QAAS,KACT,eAAgB,OAChB,IAAK,IACP,CAEA,CAAC,sBACC,QAAS,KACT,YAAa,SACb,IAAK,KACL,UAAW,KACX,YAAa,KACb,YAAa,OACb,SAAU,OACV,cAAe,QACjB,CAOA,CAAC,6BACC,IAAK,IACP,CACA,CAHC,6BAG6B,CAnB7B,sBAoBC,YAAa,OACb,SAAU,OACZ,CACA,CAPC,6BAO6B,CAAC,0BAC7B,SAAU,QACV,cAAe,IACjB,CAEA,CAAC,0BACC,KAAM,EAAE,EAAE,KACV,YAAa,KACb,WAAY,KA1vBd,cA2vBiB,IACf,WAAY,MACd,CAEA,CAb+B,0BAc7B,UAAW,EACX,SAAU,OACV,cAAe,QACjB,CAEA,CAAC,6BACC,MAAO,IAAI,mBAAmB,EAAE,QAClC,CACA,CAHC,6BAG6B,CAjB7B,0BAkBC,WAAY,IAAI,mBAAmB,EAAE,QACvC,CACA,CAAC,+BACC,MAAO,IAAI,oBAAoB,EAAE,QACnC,CACA,CAHC,+BAG+B,CAvB/B,0BAwBC,WAAY,IAAI,oBAAoB,EAAE,QACxC,CACA,CAAC,4BACC,MAAO,IAAI,uBAAuB,EAAE,QACtC,CACA,CAHC,4BAG4B,CA7B5B,0BA8BC,WAAY,IAAI,uBAAuB,EAAE,QAC3C,CAGA,CAAC,4BACC,QAAS,YACT,YAAa,OACb,gBAAiB,OACjB,gBAAiB,KACjB,WAAY,KA9xBd,QA+xBW,EAAE,KACX,oBAAqB,KAhyBvB,cAiyBiB,MACf,UAAW,KACX,YAAa,IACb,YAAa,EACb,MAAO,KACP,WAAY,IAAI,mBAAmB,EAAE,QACvC,CACA,CAAC,qCACC,WAAY,IAAI,oBAAoB,EAAE,QACxC,CACA,CAAC,kCACC,WAAY,IAAI,uBAAuB,EAAE,QAC3C,CAQA,CA7xBC,WA8xBC,QAAS,MACT,WAAY,IAAI,oBAAoB,EAAE,SACtC,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,mBAAmB,EAAE,IAG1C,CAEA,CAAC,mBACC,QAAS,KACT,YAAa,OACb,gBAAiB,cACjB,IAAK,IAAI,gBAAgB,EAAE,KAC3B,QAAS,KAAK,IAAI,gBAAgB,EAAE,KAAK,EAAE,KAAM,IAAI,gBAAgB,EAAE,KACvE,WAAY,IAAI,2BAA2B,EAAE,SAC7C,cAAe,IAAI,MAAM,IAAI,mBAAmB,EAAE,QACpD,CAEA,CAAC,sBACC,QAAS,YACT,IAAK,IAAI,gBAAgB,EAAE,IAC7B,CAEA,CAAC,0BACC,SAAU,SACV,QAAS,YACT,YAAa,OACb,YAAa,IAAI,0BACjB,UAAW,MACX,YAAa,IACb,eAAgB,UAChB,eAAgB,MAChB,MAAO,IAAI,uBAAuB,EAAE,SACpC,WAAY,YACZ,OAAQ,KAx1BV,QAy1BW,KAAM,MACf,OAAQ,QACR,WAAY,MAAM,KAAM,IAC1B,CAGA,CAlBC,yBAkByB,OACxB,QAAS,GACT,SAAU,SACV,KAAM,EACN,MAAO,KACP,OAAQ,KACR,OAAQ,IACR,WAAY,IAAI,mBAAmB,EAAE,SACrC,WAAY,MAAM,KAAM,IAC1B,CAEA,CA7BC,yBA6ByB,MAAM,KAAK,WACnC,MAAO,IAAI,iBAAiB,EAAE,QAChC,CAEA,CAAC,kCACC,MAAO,IAAI,mBAAmB,EAAE,QAClC,CAEA,CAJC,iCAIiC,OAChC,MAAO,CACT,CAEA,CAzCC,yBAyCyB,eACxB,QAAS,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC5C,eAAgB,GAClB,CAEA,CA9CC,yBA8CyB,UACxB,QAAS,IACT,OAAQ,WACV,CAEA,CAAC,2BACC,QAAS,YACT,YAAa,OACb,IAAK,IAAI,gBAAgB,EAAE,IAC7B,CAEA,CAAC,mBACC,QAAS,YACT,IAAK,GACP,CAIA,CAAC,uBACC,QAAS,YACT,YAAa,OACb,IAAK,MACL,YAAa,IAAI,0BACjB,UAAW,MACX,YAAa,IACb,eAAgB,UAChB,eAAgB,MAChB,MAAO,IAAI,mBAAmB,EAAE,SAChC,WAAY,YACZ,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,sBAAsB,EAAE,KAz5B7C,QA05BW,KAAM,KACf,OAAQ,QACR,YAAa,OACb,WAAY,WAAW,KAAM,IAAI,CAAE,MAAM,KAAM,IACjD,CAEA,CAnBC,sBAmBsB,MAAM,KAAK,WAChC,MAAO,IAAI,wBAAwB,EAAE,SACrC,WAAY,IAAI,mBAAmB,EAAE,QACvC,CAEA,CAxBC,sBAwBsB,eACrB,QAAS,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC5C,eAAgB,GAClB,CAEA,CA7BC,sBA6BsB,UACrB,QAAS,GACT,OAAQ,WACV,CAEA,CAAC,yBA/6BD,OAg7BU,EACR,QAAS,KAAK,IAAI,gBAAgB,EAAE,KAAK,EAAE,KAAM,IAAI,gBAAgB,EAAE,KACvE,UAAW,MACX,MAAO,IAAI,mBAAmB,EAAE,SAChC,WAAY,UACV,GAAG,IAAI,CACP,IAAI,mBAAmB,EAAE,SAAS,EAAE,CACpC,aAEF,cAAe,IAAI,MAAM,IAAI,mBAAmB,EAAE,QACpD,CAEA,CAAC,uBACC,QAAS,KAAK,IAAI,gBAAgB,EAAE,KAAK,EAAE,KAAM,IAAI,gBAAgB,EAAE,KACvE,WAAY,IAAI,2BAA2B,EAAE,SAC7C,cAAe,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAClD,YAAa,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAChD,UAAW,kBAAkB,KAAM,QACrC,CAEA,CAAC,4BACC,QAAS,KACT,YAAa,OACb,gBAAiB,cACjB,IAAK,IAAI,gBAAgB,EAAE,IAC7B,CAEA,CAAC,6BACC,YAAa,IAAI,0BACjB,UAAW,MACX,YAAa,IACb,eAAgB,UAChB,eAAgB,MAChB,MAAO,IAAI,uBAAuB,EAAE,QACtC,CAEA,CAAC,+BACC,KAAM,QACN,UAAW,OACX,YAAa,EACb,MAAO,IAAI,uBAAuB,EAAE,SACpC,WAAY,YACZ,OAAQ,KA19BV,QA29BW,EAAE,KACX,OAAQ,OACV,CAEA,CAXC,8BAW8B,OAC7B,MAAO,IAAI,mBAAmB,EAAE,QAClC,CAEA,CAfC,8BAe8B,eAC7B,QAAS,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC5C,eAAgB,GAClB,CAEA,CAAC,4BACD,CAAC,6BACC,WAAY,KACZ,OAAQ,KAAK,IAAI,gBAAgB,EAAE,KAAK,EAAE,IAAK,EAAE,EA3+BnD,QA4+BW,EACT,QAAS,KACT,eAAgB,OAChB,IAAK,KAAK,IAAI,gBAAgB,EAAE,KAAK,EAAE,GACzC,CAEA,CATC,6BAUC,UAAW,MACX,MAAO,IAAI,uBAAuB,EAAE,SACpC,WAAY,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC/C,YAAa,KAAK,IAAI,gBAAgB,EAAE,KAAK,EAAE,GACjD,CAEA,CAAC,+BACC,QAAS,GACX,CAEA,CAAC,2BACC,QAAS,KACT,YAAa,SACb,UAAW,KACX,IAAK,IACP,CAEA,CAAC,2BACC,KAAM,EAAE,EAAE,KACV,UAAW,MACX,MAAO,IAAI,iBAAiB,EAAE,QAChC,CAEA,CAAC,yBACC,QAAS,MACT,WAAY,MACZ,YAAa,KACX,6BAA6B,EAC7B,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EACjE,QAAQ,EAAE,iBAAiB,EAAE,YAE/B,UAAW,MACX,MAAO,IAAI,uBAAuB,EAAE,SACpC,WAAY,SACd,CAEA,CAAC,2BACC,YAAa,IAAI,0BACjB,UAAW,MACX,YAAa,IACb,eAAgB,UAChB,eAAgB,MAChB,OAAQ,IAAI,MAAM,aAClB,cAAe,IAAI,sBAAsB,EAAE,KA9hC7C,QA+hCW,MAAO,KAChB,YAAa,OACb,MAAO,IAAI,uBAAuB,EAAE,QACtC,CAEA,CAAC,iCACD,CAAC,oCACC,MAAO,IAAI,oBAAoB,EAAE,QACnC,CAEA,CAAC,mCACD,CAAC,qCACC,MAAO,IAAI,oBAAoB,EAAE,QACnC,CAEA,CAAC,oCACC,MAAO,IAAI,mBAAmB,EAAE,QAClC,CAEA,CAAC,uBACC,KAAM,QACN,UAAW,OACX,YAAa,EACb,MAAO,IAAI,iBAAiB,EAAE,SAC9B,WAAY,YACZ,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,sBAAsB,EAAE,KAzjC7C,QA0jCW,KAAM,MACf,OAAQ,QACR,WAAY,aAAa,KAAM,IAAI,CAAE,MAAM,KAAM,IACnD,CAEA,CAbC,sBAasB,MAAM,KAAK,WAChC,aAAc,IAAI,mBAAmB,EAAE,SACvC,MAAO,IAAI,mBAAmB,EAAE,QAClC,CAEA,CAlBC,sBAkBsB,UACrB,QAAS,GACT,OAAQ,WACV,CAEA,CAAC,gBACC,QAAS,IAAI,gBAAgB,EAAE,IACjC,CAIA,CAAC,mBACC,QAAS,KACT,eAAgB,OAChB,IAAK,KAAK,IAAI,gBAAgB,EAAE,KAAK,EAAE,KACzC,CAEA,CAAC,wBACC,QAAS,KACT,YAAa,OACb,gBAAiB,cACjB,cAAe,KAAK,IAAI,gBAAgB,EAAE,KAAK,EAAE,GACnD,CAEA,CAAC,yBA5lCD,OA6lCU,EACR,YAAa,IAAI,0BACjB,UAAW,MACX,YAAa,IACb,eAAgB,UAChB,eAAgB,MAChB,MAAO,IAAI,uBAAuB,EAAE,QACtC,CAEA,CAAC,gBACC,WAAY,KAvmCd,OAwmCU,EAxmCV,QAymCW,EACT,QAAS,KACT,eAAgB,OAChB,IAAK,GACP,CAEA,CAAC,eACC,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,mBAAmB,EAAE,KACxC,WAAY,IAAI,oBAAoB,EAAE,SACtC,WAAY,aAAa,KAAM,IACjC,CAEA,CAPC,cAOc,OACb,aAAc,UACZ,GAAG,IAAI,CACP,IAAI,uBAAuB,EAAE,SAAS,GAAG,CACzC,IAAI,mBAAmB,EAAE,SAE7B,CAEA,CAAC,yBACC,aAAc,IAAI,mBAAmB,EAAE,QACzC,CAEA,CAAC,sBACC,YAAa,IAAI,MAAM,IAAI,mBAAmB,EAAE,QAClD,CACA,CAAC,wBACC,YAAa,IAAI,MAAM,IAAI,oBAAoB,EAAE,QACnD,CAEA,CAAC,oBACC,QAAS,KACT,YAAa,OACb,IAAK,GACP,CAEA,CAAC,sBACC,KAAM,EAAE,EAAE,KACV,QAAS,KACT,YAAa,OACb,IAAK,MACL,UAAW,EACX,KAAM,QACN,WAAY,KACZ,MAAO,QACP,WAAY,YACZ,OAAQ,KACR,OAAQ,QACR,QAAS,KAAK,IAAI,gBAAgB,EAAE,KAAK,EAAE,KAAM,IAAI,gBAAgB,EAAE,IACzE,CAEA,CA7mCC,oBA6mCoB,CAfpB,sBAgBC,QAAS,KAAK,IAAI,gBAAgB,EAAE,KAAK,EAAE,IACzC,KAAK,IAAI,gBAAgB,EAAE,KAAK,EAAE,IACtC,CAEA,CAAC,oBACC,YAAa,IAAI,0BACjB,UAAW,MACX,YAAa,IACb,KAAM,EAAE,EAAE,IACZ,CAEA,CAAC,uBACC,MAAO,IAAI,mBAAmB,EAAE,SAChC,YAAa,IACb,KAAM,EAAE,EAAE,IACZ,CAEA,CAAC,uBACC,KAAM,EAAE,EAAE,KACV,UAAW,EACX,SAAU,OACV,cAAe,SACf,YAAa,OACb,UAAW,MACX,MAAO,IAAI,uBAAuB,EAAE,SACpC,YAAa,IAAI,6BAA6B,EAAE,YAAY,EAAE,UAChE,CAEA,CAAC,8BACC,WAAY,OACZ,YAAa,OACf,CAEA,CAAC,mBACC,KAAM,EAAE,EAAE,KACV,YAAa,MACb,WAAY,MAnsCd,cAosCiB,IACf,WAAY,IAAI,uBAAuB,EAAE,QAC3C,CACA,CAAC,0BACC,WAAY,IAAI,mBAAmB,EAAE,QACvC,CACA,CAAC,4BACC,WAAY,IAAI,oBAAoB,EAAE,QACxC,CAEA,CAAC,qBACC,QAAS,IAAI,gBAAgB,EAAE,KAC/B,WAAY,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC/C,WAAY,IAAI,2BAA2B,EAAE,SAC7C,QAAS,KACT,eAAgB,OAChB,IAAK,IAAI,gBAAgB,EAAE,KAC3B,UAAW,kBAAkB,KAAM,QACrC,CAEA,CAAC,wBACC,WAAY,IAAI,2BAA2B,EAAE,QAC/C,CACA,CAHC,wBAGwB,CAlFxB,oBAmFC,QAAS,KAAK,IAAI,gBAAgB,EAAE,KAAK,EAAE,KAAM,IAAI,gBAAgB,EAAE,KACvE,IAAK,KACP,CAEA,CAAC,yBAhuCD,OAiuCU,EACR,UAAW,KACX,MAAO,IAAI,uBAAuB,EAAE,SACpC,WAAY,MACd,CAIA,CAAC,oBACC,SAAU,SACV,KAAM,EAAE,EAAE,KACV,kBAAmB,GACrB,CAEA,CAAC,wBACC,KAAM,QACN,UAAW,MACX,YAAa,EACb,MAAO,IAAI,uBAAuB,EAAE,SACpC,WAAY,YACZ,OAAQ,KACR,cAAe,IAAI,sBAAsB,EAAE,KAtvC7C,QAuvCW,KAAM,KACf,OAAQ,OACV,CACA,CAXC,uBAWuB,OACtB,WAAY,IAAI,mBAAmB,EAAE,QACvC,CACA,CAdC,uBAcuB,UACtB,QAAS,GACT,OAAQ,WACV,CAQA,CAAC,yBACD,CAAC,oBACC,SAAU,MACV,QAAS,KACT,gBAAiB,MACjB,WAAY,IAAI,oBAAoB,EAAE,SACtC,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,mBAAmB,EAAE,KACxC,WAAY,EAAE,IAAM,UAAU,GAAG,IAAI,CAAE,IAAI,iBAAiB,EAAE,SAAS,EAAE,CAAE,YAAY,CACrF,EAAE,IAAI,KAAK,UAAU,GAAG,IAAI,CAAE,IAAI,iBAAiB,EAAE,SAAS,GAAG,CAAE,aAjxCvE,QAkxCW,IACT,UAAW,eAAe,KAAM,QAClC,CAEA,CAdC,yBAeC,WAAY,KAvxCd,OAwxCU,EACR,WAAY,IACd,CAEA,CAAC,yBACD,CAAC,oBACC,QAAS,MACT,YAAa,KACb,KAAM,QACN,UAAW,MACX,WAAY,KACZ,MAAO,IAAI,iBAAiB,EAAE,SAC9B,WAAY,YACZ,OAAQ,KACR,cAAe,IAAI,sBAAsB,EAAE,KAtyC7C,QAuyCW,KAAM,KACf,OAAQ,OACV,CACA,CAdC,wBAcwB,MAAM,KAAK,WACpC,CAdC,mBAcmB,OAClB,WAAY,IAAI,2BAA2B,EAAE,QAC/C,CACA,CAlBC,wBAkBwB,UACvB,QAAS,GACT,OAAQ,WACV,CACA,CAAC,iCACC,MAAO,IAAI,mBAAmB,EAAE,QAClC,CAIA,CAAC,eACC,SAAU,QACZ,CAEA,CAAC,mBACC,YAAa,IAAI,0BACjB,UAAW,MACX,YAAa,IACb,MAAO,IAAI,mBAAmB,EAAE,SAChC,WAAY,YACZ,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,sBAAsB,EAAE,KAn0C7C,QAo0CW,MAAO,KAChB,OAAQ,QACR,WAAY,WAAW,KAAM,IAAI,CAAE,MAAM,KAAM,IAAI,CAAE,UAAU,IAAK,IACtE,CACA,CAZC,kBAYkB,MAAM,KAAK,WAC5B,WAAY,IAAI,mBAAmB,EAAE,SACrC,MAAO,IAAI,wBAAwB,EAAE,QACvC,CACA,CAhBC,kBAgBkB,OAAO,KAAK,WAC7B,UAAW,WAAW,IACxB,CACA,CAnBC,kBAmBkB,eACjB,QAAS,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC5C,eAAgB,GAClB,CACA,CAvBC,kBAuBkB,UACjB,QAAS,GACT,OAAQ,WACV,CAIA,CAjFC,oBAkFC,QAAS,KACT,eAAgB,OAChB,gBAAiB,KACnB,CAEA,CAAC,sBACC,YAAa,KACb,KAAM,EAAE,EAAE,KACV,KAAM,QACN,UAAW,MACX,MAAO,IAAI,iBAAiB,EAAE,SAC9B,WAAY,IAAI,oBAAoB,EAAE,SACtC,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,sBAAsB,EAAE,KAx2C7C,QAy2CW,MAAO,KAChB,cAAe,GACjB,CAEA,CAbC,qBAaqB,eACpB,QAAS,KACT,aAAc,IAAI,mBAAmB,EAAE,QACzC,CAEA,CAAC,oBACC,WAAY,KAn3Cd,OAo3CU,EAp3CV,QAq3CW,EACT,KAAM,EAAE,EAAE,KACV,eAAgB,EAChB,WAAY,IACd,CAEA,CA9FC,oBA+FC,QAAS,KACT,eAAgB,OAChB,IAAK,GACP,CACA,CAAC,0BACC,YAAa,IAAI,0BACjB,UAAW,MACX,YAAa,GACf,CACA,CAAC,yBACC,UAAW,MACX,MAAO,IAAI,uBAAuB,EAAE,QACtC,CACA,CAAC,qBACC,UAAW,MACX,MAAO,IAAI,uBAAuB,EAAE,SA34CtC,QA44CW,KAAM,IACjB,CAIA,CAAC,gBACC,QAAS,KACT,eAAgB,OAChB,IAAK,IAAI,gBAAgB,EAAE,IAC7B,CAEA,CAAC,uBACC,UAAW,MACX,MAAO,IAAI,oBAAoB,EAAE,SACjC,WAAY,UACV,GAAG,IAAI,CACP,IAAI,oBAAoB,EAAE,SAAS,GAAG,CACtC,aAEF,OAAQ,IAAI,MAAM,IAAI,oBAAoB,EAAE,SAC5C,cAAe,IAAI,sBAAsB,EAAE,KAh6C7C,QAi6CW,KAAM,IACjB,CAOA,CAAC,mBACC,QAAS,KACX,CACA,CAHC,mBAGmB,CAAC,UACnB,WAAY,KACd,CACA,CAAC,6BACC,QAAS,GACX,CAEA,CAAC,uBACC,QAAS,KACT,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,mBAAmB,EAAE,KACxC,WAAY,IAAI,oBAAoB,EAAE,SACtC,SAAU,MACZ,CAEA,CAAC,uBACC,KAAM,EAAE,EAAE,KACV,SAAU,OACV,WAAY,MACZ,YAAa,KA/7Cf,QAg8CW,KAAM,KACf,MAAO,IAAI,uBAAuB,EAAE,SACpC,WAAY,IAAI,2BAA2B,EAAE,SAC7C,kBAAmB,IAAI,MAAM,IAAI,mBAAmB,EAAE,SACtD,YAAa,IAAI,6BAA6B,EAAE,YAAY,EAAE,WAC9D,UAAW,MACX,YAAa,GACf,CAEA,CAAC,4BACC,gBAAiB,KACnB,CAIA,CAAC,2BACC,SAAU,SACV,KAAM,EAAE,EAAE,KACV,UAAW,EACX,QAAS,IACX,CAOA,CAAC,yBACD,CAAC,uBA59CD,OA69CU,EACR,YAAa,IAAI,6BAA6B,EAAE,YAAY,EAAE,WAC9D,UAAW,MACX,YAAa,IACb,eAAgB,OAChB,aAAc,OAGd,uBAAwB,KACxB,sBAAuB,OACvB,aAAc,KACd,QAAS,KACT,eAAgB,KAz+ClB,QA0+CW,KAAM,KACf,OAAQ,KACR,YAAa,IACb,cAAe,OACf,SAAU,CACZ,CAEA,CArBC,uBAsBC,SAAU,SAl/CZ,MAm/CS,EACP,QAAS,EACT,eAAgB,KAChB,SAAU,OACV,MAAO,IAAI,iBAAiB,EAAE,SAC9B,WAAY,WACd,CAEA,CAhCC,yBAiCC,SAAU,SACV,QAAS,EACT,KAAM,EAAE,EAAE,KACV,MAAO,KACP,OAAQ,SACR,eAAgB,MAChB,MAAO,YACP,YAAa,IAAI,mBAAmB,EAAE,SACtC,WAAY,YACZ,QAAS,IACX,CAEA,CA7CC,wBA6CwB,YAEvB,WAAY,UACV,GAAG,IAAI,CACP,IAAI,mBAAmB,EAAE,SAAS,GAAG,CACrC,YAEJ,CAEA,CAtDC,wBAsDwB,UACvB,QAAS,EACX,CAGA,CAAC,gCACC,MAAO,IAAI,iBAAiB,EAAE,QAChC,CAEA,CA/DC,wBA+DwB,SAAU,CAAE,CA9DpC,uBA+DD,CA5EC,0BA4E0B,KAAK,CAhE/B,wBAgEwD,WACvD,CAhED,uBAiEC,QAAS,EACX,CAEA,CAAC,4BACC,WAAY,KAjiDd,OAkiDU,EAliDV,QAmiDW,EACT,QAAS,KACT,eAAgB,OAChB,IAAK,GACP,CAEA,CAAC,+BACC,YAAa,IAAI,6BAA6B,EAAE,YAAY,EAAE,WAC9D,UAAW,MACX,MAAO,IAAI,uBAAuB,EAAE,SACpC,KAAM,EAAE,EAAE,IACZ,CAIA,OAAO,uBAAyB,QAC9B,CA3hDD,WA2hDa,EACZ,CA5hDD,WA4hDa,CAAC,QACb,CA7hDD,WA6hDa,CAAC,OACb,CA7iCD,wBA8iCC,CA/SD,yBAgTC,CA/SD,oBAgTC,CAt+BD,yBAu+BC,CA5WD,qBA6WG,UAAW,eACX,WAAY,cACd,CACF,CAGA,CAAC,iBACC,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAlkD7C,cAmkDiB,IAnkDjB,QAokDW,OAAQ,MAAO,MApkD1B,OAqkDU,OAAQ,EAChB,gBAAiB,CACnB,CACA,CAAC,wBACC,QAAS,YACT,YAAa,OACb,IAAK,OACL,eAAgB,MAChB,UAAW,OACX,YAAa,IACb,MAAO,IAAI,kBAAkB,EAAE,QACjC,CACA,CAAC,wBACC,OAAQ,KACR,WAAY,YACZ,OAAQ,QACR,UAAW,KACX,YAAa,EAtlDf,QAulDW,EAAE,OACX,MAAO,IAAI,kBAAkB,EAAE,QACjC,CACA,CATC,uBASuB,OACtB,MAAO,IAAI,mBAAmB,EAAE,QAClC,CACA,CAAC,qBACC,WAAY,WACZ,OAAQ,IAAI,OAAO,IAAI,mBAAmB,EAAE,SA/lD9C,cAgmDiB,IACf,WAAY,YACZ,OAAQ,QAlmDV,QAmmDW,MAAO,MAnmDlB,OAomDU,OAAQ,EAChB,UAAW,OACX,MAAO,IAAI,mBAAmB,EAAE,QAClC,CACA,CAXC,oBAWoB,OACnB,WAAY,IAAI,kBAAkB,EAAE,QACtC,CAIA,CAAC,gBACC,SAAU,SACV,MAAO,IACT,CAEA,CAAC,oBACC,QAAS,KACT,YAAa,OACb,IAAK,MACP,CAKA,CAAC,wBACD,CAAC,2BACC,QAAS,YACT,KAAM,EAAE,EAAE,KACV,MAAO,IAAI,iBAAiB,EAAE,QAChC,CACA,CANC,wBAMwB,IACvB,YAAa,QACb,WAAY,OACd,CACA,CATC,2BAS2B,IAC1B,YAAa,QACb,WAAY,OACd,CAEA,CAAC,oBACC,KAAM,EAAE,EAAE,KACV,OAAQ,QA7oDV,QA8oDW,KAAM,KACf,YAAa,EACb,MAAO,IAAI,uBAAuB,EAAE,SACpC,WAAY,IAAI,oBAAoB,EAAE,SACtC,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,sBAAsB,EAAE,IAC7C,CACA,CAVC,mBAUmB,MAAM,KAAK,WAC7B,MAAO,IAAI,iBAAiB,EAAE,SAC9B,WAAY,IAAI,kBAAkB,EAAE,QACtC,CACA,CAdC,mBAcmB,UAClB,OAAQ,QACR,QAAS,EACX,CAEA,CAAC,oBACC,SAAU,MACV,QAAS,KACT,YAAa,MACb,gBAAiB,KAAK,MAAM,EAAE,MAC9B,WAAY,KAnqDd,QAoqDW,MACT,WAAY,IAAI,oBAAoB,EAAE,SACtC,OAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE,SAC3C,cAAe,IAAI,mBAAmB,EAAE,KACxC,WAAY,EAAE,IAAM,UAAU,GAAG,IAAI,CAAE,IAAI,iBAAiB,EAAE,SAAS,EAAE,CAAE,YAAY,CACrF,EAAE,IAAI,KAAK,UAAU,GAAG,IAAI,CAAE,IAAI,iBAAiB,EAAE,SAAS,GAAG,CAAE,aACrE,UAAW,eAAe,KAAM,QAClC,CAEA,CAAC,uBACC,iBAAkB,KACpB,CAEA,CAAC,qBACD,CAAC,sBAlrDD,OAmrDU,EAAE,EAAE,OACZ,UAAW,OACX,YAAa,KACb,MAAO,IAAI,uBAAuB,EAAE,QACtC,CAEA,CAAC,qBACC,QAAS,KACT,sBAAuB,OAAO,SAAS,CAAE,OAAO,OAAO,CAAE,MACzD,IAAK,MACP,CAEA,CAAC,qBACC,QAAS,KACT,eAAgB,OAChB,YAAa,OACb,IAAK,MACL,OAAQ,QApsDV,QAqsDW,MAAO,MAChB,WAAY,YACZ,OAAQ,IAAI,MAAM,YAClB,cAAe,IAAI,sBAAsB,EAAE,KAC3C,MAAO,IAAI,iBAAiB,EAAE,QAChC,CACA,CAZC,oBAYoB,OACnB,WAAY,IAAI,kBAAkB,EAAE,SACpC,aAAc,IAAI,mBAAmB,EAAE,QACzC,CACA,CAAC,6BACC,aAAc,IAAI,mBAAmB,EAAE,SACvC,WAAY,UAAU,GAAG,IAAI,CAAE,IAAI,mBAAmB,EAAE,SAAS,GAAG,CAAE,YACxE,CACA,CAAC,0BACC,gBAAiB,KACjB,SAAU,OACV,UAAW,OACX,YAAa,IACb,cAAe,SACf,YAAa,OACb,MAAO,IAAI,uBAAuB,EAAE,QACtC,CAEA,CAAC,sBACC,mBAAoB,MACpB,oBAAqB,MACrB,mBAAoB,IAAI,MAAM,IAAI,mBAAmB,EAAE,QACzD,CACA,CALC,sBAKsB,GAluDvB,OAmuDU,EAnuDV,QAouDW,EACT,WAAY,KACZ,UAAW,OACX,YAAa,IACb,MAAO,IAAI,iBAAiB,EAAE,QAChC,CACA,CAAC,wBACC,MAAO,IAAI,uBAAuB,EAAE,QACtC,CC5uDA,CAAC,WACG,UAAW,MACX,UAAW,IACf,CAEA,CAAC,oBALD,cAMmB,MACf,OAAQ,IAAI,IAAI,aAAa,KACjC,CAGA,CAAC,eAAe,CAAC,iBACb,iBAAkB,UAZtB,cAamB,GACnB,CAGA,CANC,eAMe,CAAC,kBACb,iBAAkB,UAlBtB,cAmBmB,GACnB,CAEA,CAAC,8BACG,MAAO,KACP,cAAe,IACnB,CAWA,CAAC,mBACG,QAAS,KACT,IAAK,EACL,WAAY,KACZ,WAAY,KACZ,SAAU,OACV,OAAQ,QACZ,CAEA,CAAC,kBACG,KAAM,EAAE,EAAE,EACV,UAAW,EACX,WAAY,EACZ,QAAS,KACT,eAAgB,OAChB,OAAQ,IAAI,MAAM,OACtB,CAGA,CAVC,iBAUkB,CAAE,CAVpB,kBAWG,YAAa,IACjB,CAEA,CAAC,yBACG,KAAM,EAAE,EAAE,KACV,YAAa,IA7DjB,QA8Da,MACT,WAAY,QACZ,cAAe,IAAI,MAAM,OAC7B,CAIA,CAAC,uBACG,KAAM,EAAE,EAAE,KACV,WAAY,EACZ,SAAU,IACd,CAEA,CArDC,8BAqD8B,CAhE9B,gBAXD,QA4Ea,MACT,cAAe,IAAI,MAAM,IAC7B,CAEA,CA1DC,8BA0D8B,CArE9B,eAqE8C,YAC3C,cAAe,IACnB,CAEA,IAAK,CAAE,KAAM,IAAK,CAAE,IAChB,OAAQ,IAAI,MAAM,IAAI,iBArF1B,QAsFa,KAAM,KAtFnB,cAuFmB,GACnB,CAGA,CAAC,mBACG,IAAK,KACT,CAEA,CAAC,mBACG,QAAS,YACT,YAAa,OACb,IAAK,OACL,WAAY,KACZ,WAAY,YACZ,OAAQ,IAAI,MAAM,aArGtB,cAsGmB,QACf,MAAO,IAAI,aACX,KAAM,QACN,UAAW,QACX,YAAa,IACb,YAAa,IA3GjB,QA4Ga,OAAQ,MACjB,OAAQ,OACZ,CAEA,CAjBC,kBAiBkB,OACf,WAAY,UAAU,GAAG,IAAI,CAAE,IAAI,aAAa,GAAG,CAAE,YACzD,CAEA,CArBC,kBAqBkB,eACf,QAAS,IAAI,MAAM,aACnB,eAAgB,GACpB,CAEA,CAAC,oBACG,KAAM,KACN,WAAY,UAAU,KAAM,IAChC,CAEA,CA/BC,kBA+BkB,CAAC,qBAAuB,CAL1C,oBAMG,UAAW,OAAO,OACtB,CChIA,CAAC,WACC,YAAa,SACf,CAEA,CAAC,YACC,YAAa,UACb,YAAa,SACb,WAAY,KACZ,WAAY,IACd,CAEA,CAAC,gBAXD,OAYU,KAAK,CACf,CAUA,CAAC,iBAvBD,OAwBU,IAAI,EAxBd,QAyBW,IAAI,CACf,CCxBA,CAAC,qBACC,OAAQ,IAAI,MAAM,KAHpB,cAIiB,IACf,WAAY,KACZ,YAAa,SAAS,CAAE,aAAa,CAAE,WACvC,UAAW,MACX,WAAY,EAAE,IAAI,IAAI,UACtB,SAAU,MACZ,CAGA,CAAC,4BACC,QAAS,KACT,gBAAiB,cACjB,YAAa,OAhBf,QAiBW,KAAK,KACd,WAAY,gBAAgB,MAAhB,CAAwB,OAAxB,CAAoC,SAChD,cAAe,IAAI,MAAM,QACzB,OAAQ,QACR,YAAa,KACb,WAAY,iBAAiB,IAAK,KAClC,SAAU,QACZ,CAEA,CAbC,2BAa2B,OAC1B,WAAY,gBAAgB,MAAhB,CAAwB,OAAxB,CAAoC,QAClD,CAEA,CAjBC,2BAiB2B,QAC1B,WAAY,gBAAgB,MAAhB,CAAwB,OAAxB,CAAoC,QAClD,CAEA,CAAC,2BAlCD,OAmCU,EACR,UAAW,KACX,YAAa,IACb,MAAO,QACP,eAAgB,MAClB,CAGA,CAAC,gBACC,WAAY,KACZ,OAAQ,KACR,UAAW,KACX,MAAO,QACP,OAAQ,QAhDV,QAiDW,IAjDX,cAkDiB,IACf,WAAY,IAAI,KAAM,KACtB,YAAa,EACb,UAAW,KACX,WAAY,KACZ,QAAS,KACT,YAAa,OACb,gBAAiB,MACnB,CAEA,CAjBC,eAiBe,OACd,WAAY,UACZ,MAAO,OACT,CAEA,CAtBC,eAsBe,CAAC,UACf,UAAW,OAAO,QAClB,MAAO,OACT,CAGA,CAAC,6BACC,WAAY,MACZ,SAAU,OACV,WAAY,WAAW,KAAM,aAAa,EAAG,CAAE,CAAC,CAAE,EAAG,CAAE,GACvD,WAAY,IACd,CAEA,CAPC,4BAO4B,CAbZ,UAcf,WAAY,EACZ,WAAY,IACd,CAGA,CAAC,aApFD,QAqFW,KAAK,KACd,WAAY,OACZ,MAAO,QACP,WAAY,OAxFd,OAyFU,EACR,UAAW,IACb,CAGA,CAAC,cACC,WAAY,KA/Fd,OAgGU,EAhGV,QAiGW,EACT,WAAY,MACZ,WAAY,KAEZ,WAAY,IACd,CAGA,CAAC,cAzGD,QA0GW,KAAK,KACd,OAAQ,QACR,cAAe,IAAI,MAAM,QACzB,MAAO,QACP,UAAW,KACX,YAAa,IACb,WAAY,IAAI,IAAK,KACrB,YAAa,KACb,SAAU,SACV,WAAY,KACZ,SAAU,OACV,YAAa,OAEb,UAAW,KACb,CAEA,CAjBC,aAiBa,YACZ,cAAe,IACjB,CAEA,CArBC,aAqBa,OACZ,WAAY,gBAAgB,KAAhB,CAAuB,OAAvB,CAAmC,SAC/C,MAAO,QACP,YAAa,IAEb,aAAc,KAEd,cAAe,IACjB,CAEA,CA/BC,aA+Ba,QACZ,WAAY,gBAAgB,KAAhB,CAAuB,OAAvB,CAAmC,QACjD,CAGA,CA/CC,aA+Ca,oBACZ,MAAO,GACT,CAEA,CAnDC,aAmDa,0BACZ,WAAY,QAlJd,cAmJiB,GACjB,CAEA,CAxDC,aAwDa,0BACZ,WAAY,gBAAgB,MAAhB,CAAwB,OAAxB,CAAoC,SAvJlD,cAwJiB,IACf,OAAQ,IAAI,MAAM,OACpB,CAEA,CA9DC,aA8Da,yBAAyB,OACrC,WAAY,gBAAgB,MAAhB,CAAwB,OAAxB,CAAoC,QAClD,CAGA,WAAW,gBACT,GACE,QAAS,EACT,UAAW,WAAW,MACxB,CACA,GACE,QAAS,EACT,UAAW,WAAW,EACxB,CACF,CAEA,CArGC,4BAqG4B,KAAK,CA3GjB,WA2G6B,CA9E7C,cA+EC,UAAW,gBAAgB,IAAK,QAClC,CAGA,OAAO,UAAY,OACjB,CAhLD,qBAiLG,UAAW,KAnLf,cAoLmB,GACjB,CAEA,CArJD,2BAsJG,UAAW,IACb,CAEA,CAlFD,cAzGD,QA4La,KAEM,KAFN,KAAK,KACd,UAAW,IAEb,CAEA,CAxFD,aAwFe,OACZ,aAAc,KACd,cAAe,IACjB,CACF,CAGA,CA3LC,2BA2L2B,OAC1B,QAAS,IAAI,MAAM,QACnB,eAAgB,IAClB,CAEA,CAlKC,eAkKe,OACd,QAAS,IAAI,MAAM,QACnB,eAAgB,IA/MlB,cAgNiB,GACjB,CAEA,CA1GC,aA0Ga,OACZ,QAAS,IAAI,MAAM,QACnB,eAAgB,KAChB,WAAY,OACd","names":[]}
|
|
@@ -601,20 +601,25 @@ declare function getCurrentCNDSpecFromReact(): string | undefined;
|
|
|
601
601
|
* Mount ErrorMessageModal component into specified container
|
|
602
602
|
*
|
|
603
603
|
* @param containerId - DOM element ID to mount into (default: 'error-messages')
|
|
604
|
+
* @param graphElementId - Graph element ID for highlighting (default: 'graph-container')
|
|
605
|
+
* @param defaultCollapsed - Whether details start hidden (default: false)
|
|
604
606
|
* @returns Boolean indicating success
|
|
605
607
|
*
|
|
606
608
|
* @example
|
|
607
609
|
* ```javascript
|
|
608
610
|
* // Mount into default container
|
|
609
|
-
*
|
|
611
|
+
* mountErrorMessageModal();
|
|
610
612
|
*
|
|
611
613
|
* // Mount into custom container
|
|
612
|
-
*
|
|
614
|
+
* mountErrorMessageModal('my-error-container');
|
|
615
|
+
*
|
|
616
|
+
* // Start with details collapsed
|
|
617
|
+
* mountErrorMessageModal('my-error-container', 'graph-container', true);
|
|
613
618
|
* ```
|
|
614
619
|
*
|
|
615
620
|
* @public
|
|
616
621
|
*/
|
|
617
|
-
declare function mountErrorMessageModal(containerId?: string, graphElementId?: string): boolean;
|
|
622
|
+
declare function mountErrorMessageModal(containerId?: string, graphElementId?: string, defaultCollapsed?: boolean): boolean;
|
|
618
623
|
/**
|
|
619
624
|
* Mount the EvaluatorRepl component into specified container
|
|
620
625
|
* @param containerId - DOM element ID to mount into
|