nuvox 0.1.2 → 0.1.3

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react/Button.css","../../src/react/Field.css","../../src/react/Input.css","../../src/react/Textarea.css","../../src/react/Checkbox.css","../../src/react/Radio.css","../../src/react/Toggle.css","../../src/react/Badge.css","../../src/react/Avatar.css","../../src/react/Spinner.css","../../src/react/Divider.css","../../src/react/Card.css","../../src/react/Alert.css","../../src/react/Modal.css","../../src/react/Tooltip.css","../../src/react/Toast.css","../../src/react/Progress.css","../../src/react/Tabs.css","../../src/react/Accordion.css","../../src/react/DropdownMenu.css","../../src/react/Select.css","../../src/react/Slider.css","../../src/react/Combobox.css","../../src/react/Calendar.css","../../src/react/Popover.css","../../src/react/DatePicker.css","../../src/react/TimePicker.css","../../src/react/ColorPicker.css","../../src/react/Carousel.css","../../src/react/Timeline.css","../../src/react/CommandPalette.css","../../src/react/NumberInput.css","../../src/react/FileUpload.css","../../src/react/Pagination.css","../../src/react/Breadcrumb.css","../../src/react/Skeleton.css","../../src/react/Table.css","../../src/react/Drawer.css","../../src/react/Rating.css","../../src/react/OTPInput.css","../../src/react/PhoneInput.css","../../src/react/StatCard.css"],"sourcesContent":["/* Every value below is a var(--x, fallback) reading from the active\n theme's generated CSS custom properties — this is what makes\n switching data-theme (via NuvoxProvider or Storybook's toolbar)\n restyle the button with zero JS, per CONTRACT.md's CSS-cascade\n theming approach. No hardcoded colors, radii, or durations. */\n\n.nx-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-xs, 4px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-weight: var(--typography-weightMedium, 500);\n line-height: var(--typography-lineHeightTight, 1.2);\n border-radius: var(--radius-md, 8px);\n /*\n Reads the theme's own border color instead of hardcoding\n transparent — for most themes color.border is a subtle\n near-invisible gray, so this is a barely-there refinement, but\n for brutalism/neobrutalism (color.border: #000000) it's the\n difference between a filled button having no border at all and\n having the bold black border that's core to that theme's whole\n visual identity. No per-theme conditional here — every theme just\n supplies its own value for the same token, per CONTRACT.md.\n */\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);\n cursor: pointer;\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n white-space: nowrap;\n position: relative;\n}\n\n/*\n Every filled/bordered variant gets a resting shadow, and presses in\n slightly with a reduced shadow on :active. This was the one\n component that never picked up shadow at all — every other\n component (Card, Input, Badge, Avatar) got a `var(--shadow-*, ...)`\n pass, but Button was missed, which is exactly why neobrutalism's\n signature hard 4px offset black shadow never appeared on it even\n though the token itself was always correct and available.\n\n The 1px press-in transform is deliberately theme-agnostic (it\n doesn't know or care which direction a given theme's shadow is\n offset) — in flat themes (shadow: none) it's an imperceptible\n no-op, but in neobrutalism specifically it reads as the button\n physically pressing into its own hard shadow, which is that\n theme's whole visual idea.\n*/\n.nx-btn--solid,\n.nx-btn--soft,\n.nx-btn--danger,\n.nx-btn--outline {\n box-shadow: var(--shadow-sm, none);\n}\n.nx-btn--solid:active:not(:disabled),\n.nx-btn--soft:active:not(:disabled),\n.nx-btn--danger:active:not(:disabled),\n.nx-btn--outline:active:not(:disabled) {\n box-shadow: var(--shadow-xs, none);\n transform: translate(1px, 1px);\n}\n\n.nx-btn:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n.nx-btn:disabled,\n.nx-btn--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-btn--full {\n width: 100%;\n}\n\n/* Sizes */\n.nx-btn--xs { padding: 4px 10px; font-size: var(--typography-sizeXs, 12px); border-radius: var(--radius-sm, 6px); }\n.nx-btn--sm { padding: 6px 14px; font-size: var(--typography-sizeSm, 14px); border-radius: var(--radius-sm, 6px); }\n.nx-btn--md { padding: 8px 18px; font-size: var(--typography-sizeMd, 16px); }\n.nx-btn--lg { padding: 10px 22px; font-size: var(--typography-sizeLg, 18px); border-radius: var(--radius-lg, 14px); }\n.nx-btn--xl { padding: 12px 28px; font-size: var(--typography-sizeXl, 22px); border-radius: var(--radius-lg, 14px); }\n\n/* Variants */\n.nx-btn--solid {\n background: var(--color-brand-500, #6366f1);\n color: var(--color-brand-onAccent, #ffffff);\n}\n.nx-btn--solid:hover:not(:disabled) { background: var(--color-brand-600, #4f46e5); }\n.nx-btn--solid:active:not(:disabled) { background: var(--color-brand-700, #4338ca); }\n\n.nx-btn--outline {\n background: transparent;\n /* Blended toward the theme's own text color (guaranteed readable\n against this theme's background by the theme's own design) so a\n dark-leaning accent like graphite doesn't go low-contrast against\n a dark theme's background — see tokens/contrast.ts. */\n color: color-mix(in srgb, var(--color-brand-600, #4f46e5) 65%, var(--color-text, #111827) 35%);\n border-color: var(--color-brand-500, #6366f1);\n}\n.nx-btn--outline:hover:not(:disabled) { background: var(--color-brand-50, #f0f4ff); }\n\n.nx-btn--ghost {\n background: transparent;\n color: var(--color-text, #111827);\n border-color: transparent;\n}\n.nx-btn--ghost:hover:not(:disabled) { background: var(--color-surfaceRaised, #f3f4f6); }\n\n.nx-btn--soft {\n background: var(--color-brand-50, #f0f4ff);\n color: var(--color-brand-700, #4338ca);\n}\n.nx-btn--soft:hover:not(:disabled) { background: var(--color-brand-100, #e0e8ff); }\n\n.nx-btn--danger {\n background: var(--color-danger-base, #ef4444);\n color: var(--color-textInverse, #ffffff);\n}\n.nx-btn--danger:hover:not(:disabled) { background: var(--color-danger-dark, #dc2626); }\n\n/* Loading state */\n.nx-btn--loading {\n cursor: wait;\n}\n\n.nx-btn__spinner {\n width: 1em;\n height: 1em;\n border: 2px solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: nx-btn-spin 0.6s linear infinite;\n}\n\n@keyframes nx-btn-spin {\n to { transform: rotate(360deg); }\n}\n\n/* Icon slots */\n.nx-btn__icon {\n display: inline-flex;\n align-items: center;\n}\n","/* Shared across Input/Textarea/Checkbox/Radio/Toggle — the label +\n helper/error text markup every Category B component needs. Kept\n in one file so this gets decided once (CONTRACT.md's \"decide the\n shape once\" principle applied to CSS, not just props). */\n\n.nx-field {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs, 4px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-field__label {\n font-size: var(--typography-sizeSm, 14px);\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-text, #111827);\n}\n\n.nx-field__required {\n color: var(--color-danger-base, #ef4444);\n margin-left: 2px;\n}\n\n.nx-field__helper {\n font-size: var(--typography-sizeXs, 12px);\n color: var(--color-textMuted, #6b7280);\n line-height: var(--typography-lineHeightNormal, 1.5);\n}\n\n.nx-field__helper--error {\n color: var(--color-danger-base, #ef4444);\n}\n\n.nx-field__count {\n font-size: var(--typography-sizeXs, 12px);\n color: var(--color-textMuted, #6b7280);\n align-self: flex-end;\n}\n\n.nx-field__count--over {\n color: var(--color-danger-base, #ef4444);\n}\n",".nx-input-wrapper {\n display: flex;\n align-items: center;\n gap: var(--spacing-xs, 4px);\n background: var(--color-surface, #ffffff);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-xs, none);\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n transition: border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-input-wrapper:focus-within {\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-input-wrapper--invalid {\n border-color: var(--color-danger-base, #ef4444);\n}\n.nx-input-wrapper--invalid:focus-within {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #ef4444) 20%, transparent);\n}\n\n.nx-input-wrapper--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50, #f9fafb);\n}\n\n.nx-input {\n flex: 1;\n min-width: 0;\n border: none;\n outline: none;\n background: transparent;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-text, #111827);\n}\n\n.nx-input::placeholder {\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-input:disabled {\n cursor: not-allowed;\n}\n\n/* Sizes — set padding on the wrapper (not the input) so prefix/suffix\n adornments align with the same vertical rhythm as the text. */\n.nx-input-wrapper--xs { padding: 4px 8px; font-size: var(--typography-sizeXs, 12px); }\n.nx-input-wrapper--sm { padding: 5px 10px; font-size: var(--typography-sizeSm, 14px); }\n.nx-input-wrapper--md { padding: 8px 12px; font-size: var(--typography-sizeMd, 16px); }\n.nx-input-wrapper--lg { padding: 10px 14px; font-size: var(--typography-sizeLg, 18px); }\n.nx-input-wrapper--xl { padding: 12px 16px; font-size: var(--typography-sizeXl, 22px); }\n\n.nx-input--xs, .nx-input--sm, .nx-input--md, .nx-input--lg, .nx-input--xl {\n font-size: inherit;\n}\n\n.nx-input__adornment {\n display: inline-flex;\n align-items: center;\n color: var(--color-textMuted, #6b7280);\n flex-shrink: 0;\n}\n",".nx-textarea {\n width: 100%;\n min-height: 5em;\n background: var(--color-surface, #ffffff);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-xs, none);\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-text, #111827);\n padding: 8px 12px;\n resize: vertical;\n transition: border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-textarea::placeholder {\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-textarea:focus {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-textarea--invalid {\n border-color: var(--color-danger-base, #ef4444);\n}\n.nx-textarea--invalid:focus {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #ef4444) 20%, transparent);\n}\n\n.nx-textarea--disabled,\n.nx-textarea:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50, #f9fafb);\n resize: none;\n}\n\n.nx-textarea--auto-grow {\n resize: none;\n overflow: hidden;\n}\n\n.nx-textarea--xs { font-size: var(--typography-sizeXs, 12px); }\n.nx-textarea--sm { font-size: var(--typography-sizeSm, 14px); }\n.nx-textarea--md { font-size: var(--typography-sizeMd, 16px); }\n.nx-textarea--lg { font-size: var(--typography-sizeLg, 18px); }\n.nx-textarea--xl { font-size: var(--typography-sizeXl, 22px); }\n\n.nx-textarea__footer {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--spacing-sm, 8px);\n}\n",".nx-checkbox {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--spacing-sm, 8px);\n cursor: pointer;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-checkbox--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-checkbox__control {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n width: 18px;\n height: 18px;\n}\n\n/* The real input sits invisibly on top of the box for correct\n hit-testing, keyboard focus, and form semantics — see\n Checkbox.tsx / core/checkbox.ts for why the box itself carries\n no JS-computed checked state. */\n.nx-checkbox__input {\n position: absolute;\n inset: 0;\n margin: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: pointer;\n}\n.nx-checkbox__input:disabled {\n cursor: not-allowed;\n}\n\n.nx-checkbox__box {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--color-surface, #ffffff);\n border: var(--border-widthMedium, 1.5px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-sm, 6px);\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n pointer-events: none;\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-checkbox--invalid .nx-checkbox__box {\n border-color: var(--color-danger-base, #ef4444);\n}\n\n.nx-checkbox__check {\n width: 70%;\n height: 70%;\n color: var(--color-brand-onAccent, #ffffff);\n opacity: 0;\n transform: scale(0.6);\n transition: opacity var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-checkbox__dash {\n display: none;\n width: 55%;\n height: 2px;\n background: var(--color-brand-onAccent, #ffffff);\n border-radius: 1px;\n}\n\n.nx-checkbox__input:checked + .nx-checkbox__box,\n.nx-checkbox__input:indeterminate + .nx-checkbox__box {\n background: var(--color-brand-500, #6366f1);\n border-color: var(--color-brand-500, #6366f1);\n}\n\n.nx-checkbox__input:checked + .nx-checkbox__box .nx-checkbox__check {\n opacity: 1;\n transform: scale(1);\n}\n\n.nx-checkbox__input:indeterminate + .nx-checkbox__box .nx-checkbox__check {\n display: none;\n}\n.nx-checkbox__input:indeterminate + .nx-checkbox__box .nx-checkbox__dash {\n display: block;\n}\n\n.nx-checkbox__input:focus-visible + .nx-checkbox__box {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n.nx-checkbox__label {\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-text, #111827);\n line-height: var(--typography-lineHeightNormal, 1.5);\n padding-top: 1px;\n}\n\n/* Sizes */\n.nx-checkbox--xs .nx-checkbox__control { width: 14px; height: 14px; }\n.nx-checkbox--sm .nx-checkbox__control { width: 16px; height: 16px; }\n.nx-checkbox--md .nx-checkbox__control { width: 18px; height: 18px; }\n.nx-checkbox--lg .nx-checkbox__control { width: 22px; height: 22px; }\n.nx-checkbox--xl .nx-checkbox__control { width: 26px; height: 26px; }\n\n.nx-checkbox--xs .nx-checkbox__label { font-size: var(--typography-sizeXs, 12px); }\n.nx-checkbox--lg .nx-checkbox__label { font-size: var(--typography-sizeLg, 18px); }\n.nx-checkbox--xl .nx-checkbox__label { font-size: var(--typography-sizeXl, 22px); }\n",".nx-radio {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--spacing-sm, 8px);\n cursor: pointer;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-radio--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-radio__control {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n width: 18px;\n height: 18px;\n}\n\n.nx-radio__input {\n position: absolute;\n inset: 0;\n margin: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: pointer;\n border-radius: 50%;\n}\n.nx-radio__input:disabled {\n cursor: not-allowed;\n}\n\n/* The ring is a real sibling span of the input (not a pseudo-\n element of their shared parent), so a plain adjacent-sibling\n selector off :checked/:focus-visible can reach it directly — same\n reasoning as Checkbox.css's box. */\n.nx-radio__ring {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n background: var(--color-surface, #ffffff);\n border: var(--border-widthMedium, 1.5px) var(--border-style, solid) var(--color-border, #e5e7eb);\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n pointer-events: none;\n transition: border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-radio--invalid .nx-radio__ring {\n border-color: var(--color-danger-base, #ef4444);\n}\n\n.nx-radio__dot {\n width: 45%;\n height: 45%;\n border-radius: 50%;\n background: var(--color-brand-500, #6366f1);\n opacity: 0;\n transform: scale(0.4);\n transition: opacity var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-radio__input:checked + .nx-radio__ring {\n border-color: var(--color-brand-500, #6366f1);\n}\n\n.nx-radio__input:checked + .nx-radio__ring .nx-radio__dot {\n opacity: 1;\n transform: scale(1);\n}\n\n.nx-radio__input:focus-visible + .nx-radio__ring {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n.nx-radio__label {\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-text, #111827);\n line-height: var(--typography-lineHeightNormal, 1.5);\n padding-top: 1px;\n}\n\n.nx-radio--xs .nx-radio__control { width: 14px; height: 14px; }\n.nx-radio--sm .nx-radio__control { width: 16px; height: 16px; }\n.nx-radio--md .nx-radio__control { width: 18px; height: 18px; }\n.nx-radio--lg .nx-radio__control { width: 22px; height: 22px; }\n.nx-radio--xl .nx-radio__control { width: 26px; height: 26px; }\n\n.nx-radio--xs .nx-radio__label { font-size: var(--typography-sizeXs, 12px); }\n.nx-radio--lg .nx-radio__label { font-size: var(--typography-sizeLg, 18px); }\n.nx-radio--xl .nx-radio__label { font-size: var(--typography-sizeXl, 22px); }\n",".nx-toggle {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n cursor: pointer;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-toggle--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-toggle__control {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n width: 36px;\n height: 20px;\n}\n\n.nx-toggle__input {\n position: absolute;\n inset: 0;\n margin: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: pointer;\n}\n.nx-toggle__input:disabled {\n cursor: not-allowed;\n}\n\n.nx-toggle__track {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n border-radius: var(--radius-full, 9999px);\n background: var(--color-neutral-300, #d1d5db);\n pointer-events: none;\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-toggle--invalid .nx-toggle__track {\n box-shadow: inset 0 0 0 1.5px var(--color-danger-base, #ef4444);\n}\n\n.nx-toggle__thumb {\n width: 16px;\n height: 16px;\n margin-left: 2px;\n border-radius: 50%;\n background: var(--color-neutral-0, #ffffff);\n box-shadow: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.05));\n transition: transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-toggle__input:checked + .nx-toggle__track {\n background: var(--color-brand-500, #6366f1);\n}\n\n.nx-toggle__input:checked + .nx-toggle__track .nx-toggle__thumb {\n transform: translateX(16px);\n}\n\n.nx-toggle__input:focus-visible + .nx-toggle__track {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n.nx-toggle__label {\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-text, #111827);\n line-height: var(--typography-lineHeightNormal, 1.5);\n}\n\n/* Sizes */\n.nx-toggle--xs .nx-toggle__control { width: 28px; height: 16px; }\n.nx-toggle--xs .nx-toggle__thumb { width: 12px; height: 12px; }\n.nx-toggle--xs .nx-toggle__input:checked + .nx-toggle__track .nx-toggle__thumb { transform: translateX(12px); }\n\n.nx-toggle--sm .nx-toggle__control { width: 32px; height: 18px; }\n.nx-toggle--sm .nx-toggle__thumb { width: 14px; height: 14px; }\n.nx-toggle--sm .nx-toggle__input:checked + .nx-toggle__track .nx-toggle__thumb { transform: translateX(14px); }\n\n.nx-toggle--lg .nx-toggle__control { width: 44px; height: 24px; }\n.nx-toggle--lg .nx-toggle__thumb { width: 20px; height: 20px; }\n.nx-toggle--lg .nx-toggle__input:checked + .nx-toggle__track .nx-toggle__thumb { transform: translateX(20px); }\n\n.nx-toggle--xl .nx-toggle__control { width: 52px; height: 28px; }\n.nx-toggle--xl .nx-toggle__thumb { width: 24px; height: 24px; }\n.nx-toggle--xl .nx-toggle__input:checked + .nx-toggle__track .nx-toggle__thumb { transform: translateX(24px); }\n\n.nx-toggle--xs .nx-toggle__label { font-size: var(--typography-sizeXs, 12px); }\n.nx-toggle--lg .nx-toggle__label { font-size: var(--typography-sizeLg, 18px); }\n.nx-toggle--xl .nx-toggle__label { font-size: var(--typography-sizeXl, 22px); }\n",".nx-badge {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-xs, 4px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-weight: var(--typography-weightMedium, 500);\n line-height: var(--typography-lineHeightTight, 1.2);\n border-radius: var(--radius-full, 9999px);\n border: var(--border-widthThin, 1px) var(--border-style, solid) transparent;\n white-space: nowrap;\n}\n\n/* Sizes */\n.nx-badge--xs { padding: 1px 6px; font-size: 10px; }\n.nx-badge--sm { padding: 2px 8px; font-size: var(--typography-sizeXs, 12px); }\n.nx-badge--md { padding: 3px 10px; font-size: var(--typography-sizeXs, 12px); }\n.nx-badge--lg { padding: 4px 12px; font-size: var(--typography-sizeSm, 14px); }\n.nx-badge--xl { padding: 5px 14px; font-size: var(--typography-sizeMd, 16px); }\n\n/* Variants */\n.nx-badge--solid {\n background: var(--color-brand-500, #6366f1);\n color: var(--color-brand-onAccent, #ffffff);\n box-shadow: var(--shadow-xs, none);\n}\n\n.nx-badge--outline {\n background: transparent;\n color: color-mix(in srgb, var(--color-brand-600, #4f46e5) 65%, var(--color-text, #111827) 35%);\n border-color: var(--color-brand-500, #6366f1);\n}\n\n.nx-badge--soft {\n background: var(--color-brand-50, #f0f4ff);\n color: var(--color-brand-700, #4338ca);\n}\n\n/* Dot mode — collapses to a small circle, no label */\n.nx-badge--dot {\n padding: 0;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n}\n.nx-badge--dot.nx-badge--xs { width: 6px; height: 6px; }\n.nx-badge--dot.nx-badge--lg { width: 10px; height: 10px; }\n.nx-badge--dot.nx-badge--xl { width: 12px; height: 12px; }\n\n.nx-badge__icon {\n display: inline-flex;\n align-items: center;\n}\n\n.nx-badge__dismiss {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n margin: 0 -4px 0 0;\n border: none;\n background: transparent;\n color: inherit;\n cursor: pointer;\n border-radius: 50%;\n opacity: 0.7;\n transition: opacity var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n.nx-badge__dismiss:hover {\n opacity: 1;\n background: rgba(0, 0, 0, 0.1);\n}\n",".nx-avatar {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n user-select: none;\n}\n\n.nx-avatar__visual {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n overflow: hidden;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-weight: var(--typography-weightMedium, 500);\n background: var(--color-neutral-200, #e5e7eb);\n color: var(--color-textMuted, #6b7280);\n box-shadow: var(--shadow-xs, none);\n}\n\n.nx-avatar--circle .nx-avatar__visual { border-radius: 50%; }\n.nx-avatar--square .nx-avatar__visual { border-radius: var(--radius-md, 8px); }\n\n.nx-avatar--clickable {\n cursor: pointer;\n}\n.nx-avatar--clickable:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n.nx-avatar__image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.nx-avatar__initials {\n line-height: 1;\n}\n\n/* Sizes */\n.nx-avatar--xs { width: 24px; height: 24px; font-size: 10px; }\n.nx-avatar--sm { width: 32px; height: 32px; font-size: var(--typography-sizeXs, 12px); }\n.nx-avatar--md { width: 40px; height: 40px; font-size: var(--typography-sizeSm, 14px); }\n.nx-avatar--lg { width: 56px; height: 56px; font-size: var(--typography-sizeLg, 18px); }\n.nx-avatar--xl { width: 72px; height: 72px; font-size: var(--typography-sizeXl, 22px); }\n.nx-avatar--2xl { width: 96px; height: 96px; font-size: 28px; }\n\n.nx-avatar__status {\n position: absolute;\n right: 0;\n bottom: 0;\n width: 28%;\n height: 28%;\n min-width: 8px;\n min-height: 8px;\n border-radius: 50%;\n border: 2px solid var(--color-surface, #ffffff);\n}\n\n.nx-avatar__status--online { background: var(--color-success-base, #22c55e); }\n.nx-avatar__status--offline { background: var(--color-neutral-400, #9ca3af); }\n.nx-avatar__status--away { background: var(--color-warning-base, #f59e0b); }\n.nx-avatar__status--busy { background: var(--color-danger-base, #ef4444); }\n",".nx-spinner {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: var(--color-brand-500, #6366f1);\n}\n\n/* Sizes — applies to both variants via em-relative inner sizing */\n.nx-spinner--xs { width: 14px; height: 14px; }\n.nx-spinner--sm { width: 18px; height: 18px; }\n.nx-spinner--md { width: 24px; height: 24px; }\n.nx-spinner--lg { width: 32px; height: 32px; }\n.nx-spinner--xl { width: 44px; height: 44px; }\n\n/* =========================================================\n Circular and geometric — unchanged\n ========================================================= */\n\n.nx-spinner__ring-svg {\n width: 100%;\n height: 100%;\n animation: nx-spinner-rotate 0.8s linear infinite;\n}\n\n@keyframes nx-spinner-rotate {\n to { transform: rotate(360deg); }\n}\n\n.nx-spinner__dots {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.3em;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__dot {\n width: 22%;\n height: 22%;\n border-radius: 50%;\n background: currentColor;\n animation: nx-spinner-dot-bounce 0.9s var(--motion-easeStandard, ease) infinite;\n}\n\n.nx-spinner__dot:nth-child(2) { animation-delay: 0.15s; }\n.nx-spinner__dot:nth-child(3) { animation-delay: 0.3s; }\n\n@keyframes nx-spinner-dot-bounce {\n 0%, 80%, 100% { opacity: 0.3; transform: scale(0.8); }\n 40% { opacity: 1; transform: scale(1); }\n}\n\n.nx-spinner__bars {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.18em;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__bar {\n width: 18%;\n height: 40%;\n background: currentColor;\n border-radius: var(--radius-full, 2px);\n animation: nx-spinner-bar-scale 1s ease-in-out infinite;\n}\n\n.nx-spinner__bar:nth-child(1) { animation-delay: -0.4s; }\n.nx-spinner__bar:nth-child(2) { animation-delay: -0.2s; }\n.nx-spinner__bar:nth-child(3) { animation-delay: 0s; }\n.nx-spinner__bar:nth-child(4) { animation-delay: 0.2s; }\n\n@keyframes nx-spinner-bar-scale {\n 0%, 100% { transform: scaleY(0.4); opacity: 0.5; }\n 50% { transform: scaleY(1); opacity: 1; }\n}\n\n.nx-spinner__pulse {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background: currentColor;\n animation: nx-spinner-pulse 1.1s var(--motion-easeStandard, ease) infinite;\n}\n\n@keyframes nx-spinner-pulse {\n 0% { transform: scale(0.6); opacity: 1; }\n 100% { transform: scale(1); opacity: 0; }\n}\n\n.nx-spinner__dual-ring {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__dual-ring-outer,\n.nx-spinner__dual-ring-inner {\n position: absolute;\n inset: 0;\n border-radius: 50%;\n border: 3px solid transparent;\n}\n\n.nx-spinner__dual-ring-outer {\n border-top-color: currentColor;\n animation: nx-spinner-rotate 1s linear infinite;\n}\n\n.nx-spinner__dual-ring-inner {\n inset: 22%;\n opacity: 0.5;\n border-top-color: currentColor;\n animation: nx-spinner-rotate 0.7s linear infinite reverse;\n}\n\n.nx-spinner__ripple {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__ripple-wave {\n position: absolute;\n inset: 0;\n margin: auto;\n width: 0;\n height: 0;\n border-radius: 50%;\n border: 3px solid currentColor;\n animation: nx-spinner-ripple 1.4s var(--motion-easeStandard, ease) infinite;\n}\n\n.nx-spinner__ripple-wave:nth-child(2) {\n animation-delay: 0.7s;\n}\n\n@keyframes nx-spinner-ripple {\n 0% { width: 0; height: 0; opacity: 1; }\n 100% { width: 100%; height: 100%; opacity: 0; }\n}\n\n/* Orbit (fixed) — a nucleus dot at center, two plain concentric\n circles (drawn face-on, no tilt/scaleY, so no ellipse distortion),\n each with its own satellite dot riding on it. The spin wrappers\n are now full-size (inset: 0) siblings of the rings rather than\n nested inside each ring's own (shrunk) box, and each satellite is\n positioned by the ring's actual radius as a percentage of the full\n container. That fixes two bugs: the outer satellite was centered\n directly on the ring's stroke and, being large relative to the\n ring, visually fused with it into an oval; and the inner satellite\n was sized against the inner ring's own already-shrunk box (inset:\n 27%), making it tiny and off-track. Sizing the outer dot down a\n notch also reduces overlap with the ring so it reads as a distinct\n circle rather than a merged blob. */\n.nx-spinner__orbit {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__orbit-nucleus {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 20%;\n height: 20%;\n aspect-ratio: 1;\n transform: translate(-50%, -50%);\n border-radius: 50%;\n background: currentColor;\n}\n\n.nx-spinner__orbit-ring {\n position: absolute;\n aspect-ratio: 1;\n border: 1.5px solid currentColor;\n border-radius: 50%;\n opacity: 0.5;\n}\n\n.nx-spinner__orbit-ring--outer { inset: 0; }\n.nx-spinner__orbit-ring--inner { inset: 27%; }\n\n.nx-spinner__orbit-spin {\n position: absolute;\n inset: 0;\n animation: nx-spinner-rotate 1.5s linear infinite;\n}\n\n.nx-spinner__orbit-spin--inner {\n animation-duration: 1s;\n animation-direction: reverse;\n}\n\n.nx-spinner__orbit-satellite {\n position: absolute;\n left: 50%;\n border-radius: 50%;\n background: currentColor;\n}\n\n.nx-spinner__orbit-satellite--outer {\n top: -8%;\n width: 16%;\n height: 16%;\n margin-left: -8%;\n}\n\n.nx-spinner__orbit-satellite--inner {\n top: 20.5%;\n width: 13%;\n height: 13%;\n margin-left: -6.5%;\n}\n\n.nx-spinner__bounce-track {\n display: flex;\n align-items: flex-end;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__bounce-ball {\n width: 40%;\n height: 40%;\n border-radius: 50%;\n background: currentColor;\n animation: nx-spinner-bounce 0.6s ease-in-out infinite;\n}\n\n@keyframes nx-spinner-bounce {\n 0%, 100% { transform: translateY(0) scaleX(1.15) scaleY(0.85); }\n 50% { transform: translateY(-65%) scaleX(1) scaleY(1); }\n}\n\n.nx-spinner__conic {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background: conic-gradient(from 0deg, transparent 0%, currentColor 100%);\n -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px));\n mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px));\n animation: nx-spinner-rotate 0.9s linear infinite;\n}\n\n/* Buffer — moved here from the extended set: it's a full-rotation\n ring motion (same family as ring/dual-ring/conic), not a creative\n silhouette. Twelve short ticks arranged in a ring, fading from full\n opacity down to faint across the circle, the whole ring spinning as\n one rigid body — the classic video-buffering / native\n activity-indicator look (the fading tail is what reads as\n \"loading\", distinct from \"ring\"'s single stroked arc or \"spiral\"'s\n concentric rings). */\n.nx-spinner__buffer-svg {\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__buffer-group {\n transform-box: fill-box;\n transform-origin: 50% 50%;\n animation: nx-spinner-rotate 1s linear infinite;\n}\n\n/* =========================================================\n Creative and non-circular\n ========================================================= */\n\n/* Linear — kept as-is, it was fine. */\n.nx-spinner__linear-track {\n position: relative;\n width: 100%;\n height: 22%;\n border-radius: var(--radius-full, 999px);\n background: color-mix(in srgb, currentColor 18%, transparent);\n overflow: hidden;\n}\n\n.nx-spinner__linear-bar {\n position: absolute;\n top: 0;\n left: -40%;\n width: 40%;\n height: 100%;\n border-radius: inherit;\n background: currentColor;\n animation: nx-spinner-linear-slide 1.2s ease-in-out infinite;\n}\n\n@keyframes nx-spinner-linear-slide {\n 0% { left: -40%; }\n 100% { left: 100%; }\n}\n\n/* Heartbeat — kept as-is, it was fine. */\n.nx-spinner__heartbeat-svg {\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__heartbeat-path {\n stroke-dasharray: 20 60;\n animation: nx-spinner-heartbeat-dash 1.3s linear infinite;\n}\n\n@keyframes nx-spinner-heartbeat-dash {\n to { stroke-dashoffset: -80; }\n}\n\n/* Infinity (rebuilt on true circular arcs) — traced highlight along\n the lemniscate; dasharray/offset tuned to the new path's length\n (~76 units) so the highlight completes one clean lap. */\n.nx-spinner__infinity-svg {\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__infinity-path {\n stroke-dasharray: 19 57;\n animation: nx-spinner-infinity-dash 1.6s linear infinite;\n}\n\n@keyframes nx-spinner-infinity-dash {\n to { stroke-dashoffset: -76; }\n}\n\n/* Hourglass — sand visibly drains from the top bulb into the bottom\n one, then the whole glass flips and it repeats the other way. */\n.nx-spinner__hourglass-svg {\n width: 100%;\n height: 100%;\n animation: nx-spinner-hourglass-flip 2.6s ease-in-out infinite;\n}\n\n.nx-spinner__hourglass-sand-top {\n transform-box: fill-box;\n transform-origin: 50% 0%;\n animation: nx-spinner-hourglass-top 2.6s ease-in-out infinite;\n}\n\n.nx-spinner__hourglass-sand-bottom {\n transform-box: fill-box;\n transform-origin: 50% 100%;\n animation: nx-spinner-hourglass-bottom 2.6s ease-in-out infinite;\n}\n\n.nx-spinner__hourglass-grain {\n animation: nx-spinner-hourglass-grain 2.6s linear infinite;\n}\n\n@keyframes nx-spinner-hourglass-flip {\n 0%, 42% { transform: rotate(0deg); }\n 50%, 92% { transform: rotate(180deg); }\n 100% { transform: rotate(360deg); }\n}\n\n@keyframes nx-spinner-hourglass-top {\n 0% { transform: scaleY(1); }\n 42% { transform: scaleY(0); }\n 50% { transform: scaleY(0); }\n 92% { transform: scaleY(1); }\n 100% { transform: scaleY(1); }\n}\n\n@keyframes nx-spinner-hourglass-bottom {\n 0% { transform: scaleY(0); }\n 42% { transform: scaleY(1); }\n 50% { transform: scaleY(1); }\n 92% { transform: scaleY(0); }\n 100% { transform: scaleY(0); }\n}\n\n@keyframes nx-spinner-hourglass-grain {\n 0%, 42% { opacity: 1; }\n 43%, 49% { opacity: 0; }\n 50%, 92% { opacity: 1; }\n 93%, 100% { opacity: 0; }\n}\n\n/* Pinwheel — curved sail blades around a fixed hub, spinning as one\n rigid body. */\n.nx-spinner__pinwheel-svg {\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__pinwheel-blades {\n transform-box: fill-box;\n transform-origin: 50% 50%;\n animation: nx-spinner-rotate 1.1s linear infinite;\n}\n\n/* Radar — a solid sweeping wedge inside a bordered disc; a filled\n sonar-screen sweep, not a thin stroked arc. No blip layer — it\n added noise and never read cleanly as it faded. */\n.nx-spinner__radar {\n position: relative;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n overflow: hidden;\n border: 1.5px solid color-mix(in srgb, currentColor 35%, transparent);\n}\n\n.nx-spinner__radar-sweep {\n position: absolute;\n inset: 0;\n background: conic-gradient(from 0deg, currentColor 0deg, transparent 75deg, transparent 360deg);\n opacity: 0.6;\n animation: nx-spinner-rotate 1.4s linear infinite;\n}\n\n/* Wave — five dots bobbing vertically in sequence: a traveling wave,\n distinct from \"bars\" (in-place height pulse). Dots are ovals\n (taller than wide) with a locked aspect-ratio so flexbox rounding\n can't make any single dot render larger than the rest. */\n.nx-spinner__wave {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.16em;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__wave-dot {\n width: 14%;\n height: 22%;\n aspect-ratio: 7 / 11;\n flex: 0 0 14%;\n border-radius: 50%;\n background: currentColor;\n animation: nx-spinner-wave-bob 1s ease-in-out infinite;\n}\n\n.nx-spinner__wave-dot:nth-child(1) { animation-delay: -0.4s; }\n.nx-spinner__wave-dot:nth-child(2) { animation-delay: -0.3s; }\n.nx-spinner__wave-dot:nth-child(3) { animation-delay: -0.2s; }\n.nx-spinner__wave-dot:nth-child(4) { animation-delay: -0.1s; }\n.nx-spinner__wave-dot:nth-child(5) { animation-delay: 0s; }\n\n@keyframes nx-spinner-wave-bob {\n 0%, 60%, 100% { transform: translateY(0); }\n 30% { transform: translateY(-45%); }\n}\n\n/* Helix (rebuilt) — a genuine double helix. Five rows stacked\n vertically; each row holds two dots (strand A and strand B)\n swinging horizontally in mirrored phase, so they cross in the\n middle like two intertwined DNA strands rather than one column\n swaying as a unit. */\n.nx-spinner__helix {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__helix-row {\n position: relative;\n width: 100%;\n height: 16%;\n}\n\n.nx-spinner__helix-dot {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 30%;\n height: 30%;\n margin: -15% 0 0 -15%;\n border-radius: 50%;\n background: currentColor;\n animation-duration: 1.3s;\n animation-timing-function: ease-in-out;\n animation-iteration-count: infinite;\n}\n\n.nx-spinner__helix-dot--a { animation-name: nx-spinner-helix-strand-a; z-index: 1; }\n.nx-spinner__helix-dot--b { animation-name: nx-spinner-helix-strand-b; }\n\n.nx-spinner__helix-row:nth-child(1) .nx-spinner__helix-dot { animation-delay: 0s; }\n.nx-spinner__helix-row:nth-child(2) .nx-spinner__helix-dot { animation-delay: 0.1s; }\n.nx-spinner__helix-row:nth-child(3) .nx-spinner__helix-dot { animation-delay: 0.2s; }\n.nx-spinner__helix-row:nth-child(4) .nx-spinner__helix-dot { animation-delay: 0.3s; }\n.nx-spinner__helix-row:nth-child(5) .nx-spinner__helix-dot { animation-delay: 0.4s; }\n\n@keyframes nx-spinner-helix-strand-a {\n 0%, 100% { transform: translateX(-70%) scale(1); opacity: 1; }\n 50% { transform: translateX(70%) scale(0.7); opacity: 0.55; }\n}\n\n@keyframes nx-spinner-helix-strand-b {\n 0%, 100% { transform: translateX(70%) scale(0.7); opacity: 0.55; }\n 50% { transform: translateX(-70%) scale(1); opacity: 1; }\n}\n\n/* Atom (rebuilt) — three tilted orbit tracks, each with its own\n electron. The ring is squashed into an ellipse (scaleY) and\n tilted; a full-size `.atom-spin` inside it rotates continuously,\n carrying the electron around in that squashed coordinate space,\n which is what produces the elliptical orbit *path*.\n\n The electron's own shape is kept perfectly circular via a\n counter-rotation wrapper (`.atom-electron-counter`) that spins at\n the exact same speed as `.atom-spin` but in the opposite\n direction. Rotation and non-uniform scale don't commute, so a\n static counter-scale on the electron (the old approach) only\n cancelled the ring's squash at two points in the orbit and left\n it visibly oval everywhere else. Counter-rotating first cancels\n the ambient rotation the electron sits in, so the squash and its\n plain scaleY(2.5) correction are always axis-aligned and always\n cancel exactly — the electron stays round at every point on the\n orbit, while its *position* (set on `.atom-electron-orbit`, one\n level up, unaffected by the counter-rotation) still sweeps the\n correct ellipse. */\n.nx-spinner__atom {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__atom-nucleus {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 17%;\n height: 17%;\n aspect-ratio: 1;\n /* translate() percentages resolve against the element's OWN box,\n not the parent's — unlike a negative-percent margin trick\n (margin percentages always resolve against the parent's WIDTH,\n even for margin-top), which is what previously distorted this\n into an ellipse. This is a guaranteed circle regardless of the\n parent's aspect ratio. */\n transform: translate(-50%, -50%);\n border-radius: 50%;\n background: currentColor;\n z-index: 1;\n}\n\n.nx-spinner__atom-ring {\n position: absolute;\n inset: 6%;\n border: 1.5px solid currentColor;\n border-radius: 50%;\n opacity: 0.4;\n}\n\n.nx-spinner__atom-ring--a { transform: rotate(0deg) scaleY(0.4); }\n.nx-spinner__atom-ring--b { transform: rotate(60deg) scaleY(0.4); }\n.nx-spinner__atom-ring--c { transform: rotate(120deg) scaleY(0.4); }\n\n.nx-spinner__atom-spin {\n position: absolute;\n inset: 0;\n animation: nx-spinner-rotate 1s linear infinite;\n}\n\n.nx-spinner__atom-ring--b .nx-spinner__atom-spin { animation-duration: 1.3s; animation-direction: reverse; }\n.nx-spinner__atom-ring--c .nx-spinner__atom-spin { animation-duration: 1.6s; }\n\n/* Position-only wrapper: sets where on the orbit the electron sits.\n Never rotated or scaled itself, so it doesn't distort shape. */\n.nx-spinner__atom-electron-orbit {\n position: absolute;\n top: -3%;\n left: 50%;\n width: 14%;\n height: 14%;\n margin-left: -7%;\n}\n\n/* Spins opposite to (and in sync with) the matching .atom-spin, so\n the ambient rotation the electron sits in is always cancelled out\n before the shape-correcting scaleY below is applied. */\n.nx-spinner__atom-electron-counter {\n position: absolute;\n inset: 0;\n animation: nx-spinner-rotate 1s linear infinite reverse;\n}\n\n.nx-spinner__atom-ring--b .nx-spinner__atom-electron-counter {\n animation-duration: 1.3s;\n animation-direction: normal;\n}\n\n.nx-spinner__atom-ring--c .nx-spinner__atom-electron-counter {\n animation-duration: 1.6s;\n}\n\n.nx-spinner__atom-electron {\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background: currentColor;\n /* Counters the ring's scaleY(0.4). Because the electron-counter\n wrapper above has already cancelled the ambient spin rotation,\n this scale is always axis-aligned with the ring's squash, so it\n cancels it exactly (0.4 x 2.5 = 1) at every point on the orbit —\n not just at two angles like the old single-layer approach. */\n transform: scaleY(2.5);\n}\n\n/* Comet — a head dot with a fading trail, rotating as one rigid arc;\n \"orbit\" has a single satellite and no trail, so this reads\n genuinely differently. */\n.nx-spinner__comet {\n position: relative;\n width: 100%;\n height: 100%;\n animation: nx-spinner-rotate 1s linear infinite;\n}\n\n.nx-spinner__comet-dot {\n position: absolute;\n inset: 0;\n}\n\n.nx-spinner__comet-dot::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 50%;\n border-radius: 50%;\n background: currentColor;\n}\n\n.nx-spinner__comet-dot:nth-child(1) { transform: rotate(0deg); }\n.nx-spinner__comet-dot:nth-child(1)::before { width: 24%; height: 24%; margin-left: -12%; opacity: 1; }\n\n.nx-spinner__comet-dot:nth-child(2) { transform: rotate(-14deg); }\n.nx-spinner__comet-dot:nth-child(2)::before { width: 19%; height: 19%; margin-left: -9.5%; opacity: 0.7; }\n\n.nx-spinner__comet-dot:nth-child(3) { transform: rotate(-28deg); }\n.nx-spinner__comet-dot:nth-child(3)::before { width: 15%; height: 15%; margin-left: -7.5%; opacity: 0.5; }\n\n.nx-spinner__comet-dot:nth-child(4) { transform: rotate(-42deg); }\n.nx-spinner__comet-dot:nth-child(4)::before { width: 11%; height: 11%; margin-left: -5.5%; opacity: 0.3; }\n\n.nx-spinner__comet-dot:nth-child(5) { transform: rotate(-56deg); }\n.nx-spinner__comet-dot:nth-child(5)::before { width: 8%; height: 8%; margin-left: -4%; opacity: 0.15; }\n\n/* =========================================================\n Extended set\n ========================================================= */\n\n/* Gauge — a half-circle arc filling and unfilling, speedometer\n style; the one variant that's a semicircle rather than a full\n circle or a straight line. */\n.nx-spinner__gauge-svg {\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__gauge-arc {\n stroke-dasharray: 31.4;\n animation: nx-spinner-gauge-sweep 1.6s ease-in-out infinite alternate;\n}\n\n@keyframes nx-spinner-gauge-sweep {\n 0% { stroke-dashoffset: 31.4; }\n 100% { stroke-dashoffset: 0; }\n}\n\n/* Stack — three cards cycling through a shuffle: rise, shrink,\n settle back — distinct from \"grid\"'s static fading squares. */\n.nx-spinner__stack {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__stack-card {\n position: absolute;\n inset: 15%;\n border-radius: 22%;\n background: currentColor;\n animation: nx-spinner-stack-cycle 1.2s ease-in-out infinite;\n}\n\n.nx-spinner__stack-card:nth-child(1) { animation-delay: 0s; }\n.nx-spinner__stack-card:nth-child(2) { animation-delay: -0.4s; }\n.nx-spinner__stack-card:nth-child(3) { animation-delay: -0.8s; }\n\n@keyframes nx-spinner-stack-cycle {\n 0% { transform: translateY(0) scale(1); opacity: 1; }\n 33% { transform: translateY(-30%) scale(0.85); opacity: 0.6; }\n 66% { transform: translateY(0) scale(0.7); opacity: 0.3; }\n 100% { transform: translateY(0) scale(1); opacity: 1; }\n}\n\n/* Spiral — three concentric rings spinning at different speeds and\n directions, reading as a vortex. */\n.nx-spinner__spiral {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__spiral-ring {\n position: absolute;\n border-radius: 50%;\n border: 2px solid transparent;\n border-top-color: currentColor;\n}\n\n.nx-spinner__spiral-ring:nth-child(1) { inset: 0; opacity: 1; animation: nx-spinner-rotate 0.6s linear infinite; }\n.nx-spinner__spiral-ring:nth-child(2) { inset: 20%; opacity: 0.65; animation: nx-spinner-rotate 0.9s linear infinite reverse; }\n.nx-spinner__spiral-ring:nth-child(3) { inset: 38%; opacity: 0.35; animation: nx-spinner-rotate 1.3s linear infinite; }\n\n/* Burst (rebuilt) — six particles popping outward from the center,\n all at the same instant, same speed, same distance, in every\n direction — true radial symmetry rather than a staggered ripple.\n The earlier per-particle animation-delay broke that symmetry, so\n it's removed; the only difference between particles now is their\n fixed rotation, which is what fans them out evenly. Driven\n entirely by `transform` (translateY + scale) rather than animating\n `top` alongside `scale`, which previously caused a subtle\n non-circular wobble mid-flight. */\n.nx-spinner__burst {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__burst-particle {\n position: absolute;\n inset: 0;\n}\n\n.nx-spinner__burst-particle::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n width: 22%;\n height: 22%;\n margin: -11% 0 0 -11%;\n border-radius: 50%;\n background: currentColor;\n animation: nx-spinner-burst-pop 1.1s ease-out infinite;\n}\n\n.nx-spinner__burst-particle:nth-child(1) { transform: rotate(0deg); }\n.nx-spinner__burst-particle:nth-child(2) { transform: rotate(60deg); }\n.nx-spinner__burst-particle:nth-child(3) { transform: rotate(120deg); }\n.nx-spinner__burst-particle:nth-child(4) { transform: rotate(180deg); }\n.nx-spinner__burst-particle:nth-child(5) { transform: rotate(240deg); }\n.nx-spinner__burst-particle:nth-child(6) { transform: rotate(300deg); }\n\n@keyframes nx-spinner-burst-pop {\n 0% { transform: translateY(0) scale(0.4); opacity: 1; }\n 70% { opacity: 0.55; }\n 100% { transform: translateY(-160%) scale(1); opacity: 0; }\n}\n\n/* Eclipse — a solid disc sliding across a faint base disc, clipped\n to a circle: a moon-phase style reveal. */\n.nx-spinner__eclipse {\n position: relative;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n overflow: hidden;\n background: color-mix(in srgb, currentColor 20%, transparent);\n}\n\n.nx-spinner__eclipse-shadow {\n position: absolute;\n top: 0;\n left: -100%;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background: currentColor;\n animation: nx-spinner-eclipse-slide 2s ease-in-out infinite;\n}\n\n@keyframes nx-spinner-eclipse-slide {\n 0% { left: -100%; }\n 50% { left: 0%; }\n 100% { left: 100%; }\n}\n\n/* Petal — six leaf shapes blooming (scale + fade) in a staggered\n sequence while the whole flower slowly rotates. */\n.nx-spinner__petal {\n position: relative;\n width: 100%;\n height: 100%;\n animation: nx-spinner-rotate 4s linear infinite;\n}\n\n.nx-spinner__petal-leaf {\n position: absolute;\n inset: 0;\n}\n\n.nx-spinner__petal-leaf::before {\n content: \"\";\n position: absolute;\n top: 4%;\n left: 50%;\n width: 20%;\n height: 38%;\n margin-left: -10%;\n background: currentColor;\n border-radius: 50% 50% 4% 4%;\n transform-origin: 50% 100%;\n animation: nx-spinner-petal-bloom 1.6s ease-in-out infinite;\n}\n\n.nx-spinner__petal-leaf:nth-child(1) { transform: rotate(0deg); }\n.nx-spinner__petal-leaf:nth-child(2) { transform: rotate(60deg); }\n.nx-spinner__petal-leaf:nth-child(2)::before { animation-delay: 0.13s; }\n.nx-spinner__petal-leaf:nth-child(3) { transform: rotate(120deg); }\n.nx-spinner__petal-leaf:nth-child(3)::before { animation-delay: 0.26s; }\n.nx-spinner__petal-leaf:nth-child(4) { transform: rotate(180deg); }\n.nx-spinner__petal-leaf:nth-child(4)::before { animation-delay: 0.39s; }\n.nx-spinner__petal-leaf:nth-child(5) { transform: rotate(240deg); }\n.nx-spinner__petal-leaf:nth-child(5)::before { animation-delay: 0.52s; }\n.nx-spinner__petal-leaf:nth-child(6) { transform: rotate(300deg); }\n.nx-spinner__petal-leaf:nth-child(6)::before { animation-delay: 0.65s; }\n\n@keyframes nx-spinner-petal-bloom {\n 0%, 100% { transform: scale(0.55); opacity: 0.45; }\n 50% { transform: scale(1); opacity: 1; }\n}\n\n/* Sine — a smooth traced wave, distinct from \"heartbeat\"'s jagged\n ECG line. */\n.nx-spinner__sine-svg {\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__sine-path {\n stroke-dasharray: 16 44;\n animation: nx-spinner-sine-dash 1.4s linear infinite;\n}\n\n@keyframes nx-spinner-sine-dash {\n to { stroke-dashoffset: -60; }\n}\n\n/* Gear — a thick stroked ring with eight radiating teeth, spinning\n as one; a genuinely mechanical silhouette. */\n.nx-spinner__gear-svg {\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__gear-group {\n transform-box: fill-box;\n transform-origin: 50% 50%;\n animation: nx-spinner-rotate 3s linear infinite;\n}\n\n/* Pendulum (rebuilt as SVG) — the old percentage-sized HTML-span\n version rendered as a near-invisible diagonal sliver at small\n sizes; a fixed-viewBox SVG is crisp at every size instead. A\n static pivot dot sits at the top; the arm + ball are grouped\n together and rotate as one rigid body around that pivot — the one\n variant that oscillates in an arc rather than completing a full\n rotation. */\n.nx-spinner__pendulum-svg {\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__pendulum-swing {\n transform-box: fill-box;\n transform-origin: 50% 0%;\n animation: nx-spinner-pendulum-swing 1s ease-in-out infinite;\n}\n\n@keyframes nx-spinner-pendulum-swing {\n 0%, 100% { transform: rotate(-32deg); }\n 50% { transform: rotate(32deg); }\n}\n\n/* Dancer — two squares held in a row that pivot together as a rigid\n pair (the container flips a half-turn), while each square also\n slides sideways and swaps places with the other. Adapted from a\n pseudo-element loader that used two hardcoded colors to tell the\n pair apart; ported here to real currentColor-only elements sized\n as percentages of the component's own box (not fixed pixels, so it\n scales with `size` like every other variant), with opacity as the\n distinguishing signal instead of a second color — the same\n convention \"dual-ring\" and \"comet\" already use. */\n.nx-spinner__dancer {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 62%;\n height: 34%;\n animation: nx-spinner-dancer-pivot 2s ease-in-out infinite alternate;\n}\n\n.nx-spinner__dancer-square {\n width: 40%;\n height: 100%;\n border-radius: var(--radius-sm, 2px);\n background: currentColor;\n animation: nx-spinner-dancer-swap 1s ease-in-out infinite alternate;\n}\n\n.nx-spinner__dancer-square--a {\n --nx-dancer-dir: 1;\n}\n\n.nx-spinner__dancer-square--b {\n opacity: 0.55;\n --nx-dancer-dir: -1;\n}\n\n@keyframes nx-spinner-dancer-pivot {\n 0%, 40% { transform: rotate(0deg); }\n 80%, 100% { transform: rotate(0.5turn); }\n}\n\n@keyframes nx-spinner-dancer-swap {\n 80%, 100% { transform: translateX(calc(var(--nx-dancer-dir) * 60%)); }\n}\n\n/* =========================================================\n Reduced motion — slow every animated variant down instead of\n disabling motion outright (keeps the \"loading\" signal legible).\n ========================================================= */\n@media (prefers-reduced-motion: reduce) {\n .nx-spinner__ring-svg,\n .nx-spinner__dot,\n .nx-spinner__bar,\n .nx-spinner__pulse,\n .nx-spinner__dual-ring-outer,\n .nx-spinner__dual-ring-inner,\n .nx-spinner__ripple-wave,\n .nx-spinner__orbit-spin,\n .nx-spinner__bounce-ball,\n .nx-spinner__conic,\n .nx-spinner__buffer-group,\n .nx-spinner__linear-bar,\n .nx-spinner__heartbeat-path,\n .nx-spinner__infinity-path,\n .nx-spinner__hourglass-svg,\n .nx-spinner__hourglass-sand-top,\n .nx-spinner__hourglass-sand-bottom,\n .nx-spinner__hourglass-grain,\n .nx-spinner__pinwheel-blades,\n .nx-spinner__radar-sweep,\n .nx-spinner__wave-dot,\n .nx-spinner__helix-dot,\n .nx-spinner__atom-spin,\n .nx-spinner__atom-electron-counter,\n .nx-spinner__comet,\n .nx-spinner__gauge-arc,\n .nx-spinner__stack-card,\n .nx-spinner__spiral-ring,\n .nx-spinner__burst-particle::before,\n .nx-spinner__eclipse-shadow,\n .nx-spinner__petal,\n .nx-spinner__petal-leaf::before,\n .nx-spinner__sine-path,\n .nx-spinner__gear-group,\n .nx-spinner__pendulum-swing,\n .nx-spinner__dancer,\n .nx-spinner__dancer-square {\n animation-duration: 2s;\n }\n}",".nx-divider {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n}\n\n.nx-divider--horizontal {\n width: 100%;\n}\n.nx-divider--horizontal .nx-divider__line {\n flex: 1;\n height: var(--border-widthThin, 1px);\n background: var(--color-border, #e5e7eb);\n}\n\n.nx-divider--vertical {\n flex-direction: column;\n height: 100%;\n align-self: stretch;\n}\n.nx-divider--vertical .nx-divider__line {\n flex: 1;\n width: var(--border-widthThin, 1px);\n background: var(--color-border, #e5e7eb);\n}\n\n.nx-divider__content {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-textMuted, #6b7280);\n white-space: nowrap;\n}\n",".nx-card {\n position: relative;\n display: flex;\n flex-direction: column;\n background: var(--color-surface, #ffffff);\n border-radius: var(--radius-lg, 14px);\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n overflow: hidden;\n transition: box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-card--horizontal {\n flex-direction: row;\n}\n\n.nx-card--elevated {\n box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.08));\n border: var(--border-widthThin, 1px) var(--border-style, solid) transparent;\n}\n\n.nx-card--outlined {\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n}\n\n.nx-card--flat {\n border: var(--border-widthThin, 1px) var(--border-style, solid) transparent;\n}\n\n/* \"flat\" with no border/shadow reads as bare content on themes where\n surface and background are close in tone — \"filled\" is the answer\n to that: no border or shadow either, but a background tint that's\n deliberately distinct from the page, so it still reads as a\n contained block at rest. */\n.nx-card--filled {\n background: var(--color-surfaceRaised, #f3f4f6);\n border: var(--border-widthThin, 1px) var(--border-style, solid) transparent;\n}\n\n.nx-card--clickable {\n cursor: pointer;\n}\n.nx-card--clickable:hover {\n box-shadow: var(--shadow-lg, 0 8px 20px rgba(0, 0, 0, 0.1));\n}\n.nx-card--clickable:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n.nx-card--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.nx-card__media {\n overflow: hidden;\n line-height: 0;\n background: var(--color-neutral-100, #f3f4f6); /* visible while media loads */\n}\n\n/*\n This is the actual fix for a real, confirmed bug — not a guess.\n A consuming site's own typography/\"prose\" stylesheet (Fumadocs'\n docs-content styling, in this case) commonly gives every <img> a\n default vertical margin, since that's a sensible default for\n images floating in the middle of long-form article text. Card\n never reset it. The result: the image sat 32px lower than its\n container's top edge — confirmed directly via\n `getComputedStyle(img).marginTop` in a real browser, not inferred\n from a screenshot — while still being exactly the container's\n height, so the excess got clipped off the bottom by `overflow:\n hidden`. That produced exactly the symptom it looked like: a gap\n of empty placeholder-background above the photo. A fixed\n aspect-ratio box and object-fit: cover (below) can't compensate\n for a margin doing this — margin isn't part of the size the\n container is even aware of.\n*/\n.nx-card__media img,\n.nx-card__media video {\n margin: 0;\n}\n\n/*\n Vertical (default): a fixed aspect ratio + object-fit: cover,\n deliberately NOT the media's natural height. Relying on natural\n height (`height: auto`) meant the rendered size depended on\n whatever the browser/Next.js Image decided the image's intrinsic\n box was — which could end up smaller than the container for\n reasons outside this component's control, leaving a visible gap\n around the image showing the placeholder background through it\n (a letterboxed-looking band above and below the photo). A fixed\n aspect ratio removes that dependency entirely: the media area is\n always exactly this size, and object-fit: cover always fills it\n completely, regardless of the actual image's own dimensions. It's\n also simply better card design — every card in a list ends up the\n same height instead of jumping around per image.\n*/\n.nx-card--vertical .nx-card__media {\n width: 100%;\n aspect-ratio: 16 / 9;\n}\n.nx-card--vertical .nx-card__media img,\n.nx-card--vertical .nx-card__media video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n/* Horizontal: media is a fixed-width column, cropped to fill the\n card's full height (stretch comes from the parent flex row's\n default align-items: stretch — no extra CSS needed for that part). */\n.nx-card--horizontal .nx-card__media {\n width: 38%;\n flex-shrink: 0;\n}\n.nx-card--horizontal .nx-card__media img,\n.nx-card--horizontal .nx-card__media video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n.nx-card--horizontal .nx-card__content {\n min-width: 0; /* lets text truncate/wrap instead of overflowing the flex row */\n}\n\n/*\n Overlay/hero: media fills the whole card as a backdrop; content\n sits on top at the bottom, with a gradient scrim behind it for\n legibility over an arbitrary image.\n\n This is a deliberate rebuild, not the original version: an explicit\n `height` (not just a `min-height` floor) makes the card's size\n fully deterministic instead of depending on how much slack space\n content's own `margin-top: auto` happened to have to push against\n — with only one in-flow flex child, there's no guarantee that slack\n space exists at all. Content is now positioned absolutely to the\n bottom directly, matching how media is already positioned, rather\n than relying on flex behavior for it. The scrim is also its own\n layer (`::after`, sized to the full card) instead of living on\n `.nx-card__content`'s own background — the old approach only\n darkened the area directly behind the text (a thin band), not a\n graceful fade across a real portion of the photo.\n*/\n/*\n width: 100% is not decorative here — it's the actual fix for a\n confirmed bug. Both .nx-card__media and .nx-card__content are\n position: absolute in overlay mode (that's what lets content sit\n on top of the photo), which removes ALL in-flow content from the\n card. A block-level flex item with no explicit width defaults to\n shrink-to-fit based on its in-flow content's own intrinsic size —\n with nothing left in flow, that collapsed to almost nothing\n (measured 2px in a real browser, not a guess). A `maxWidth` passed\n via `style` only caps a width, it doesn't establish one on its own.\n*/\n.nx-card--overlay {\n width: 100%;\n height: 320px;\n}\n.nx-card--overlay .nx-card__media {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n}\n.nx-card--overlay .nx-card__media img,\n.nx-card--overlay .nx-card__media video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n.nx-card--overlay::after {\n content: \"\";\n position: absolute;\n inset: 0;\n z-index: 1;\n background: linear-gradient(\n to top,\n rgba(0, 0, 0, 0.85) 0%,\n rgba(0, 0, 0, 0.55) 35%,\n rgba(0, 0, 0, 0.15) 70%,\n transparent 100%\n );\n pointer-events: none;\n}\n.nx-card--overlay .nx-card__content {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 2;\n}\n/* Overlay text is always on top of a photo/video, not the theme's\n own surface — it needs to stay light regardless of which theme\n (light or dark) is active, unlike every other card variant where\n text correctly follows --color-text. */\n.nx-card--overlay .nx-card__header,\n.nx-card--overlay .nx-card__body {\n color: #ffffff;\n}\n.nx-card--overlay .nx-card__header,\n.nx-card--overlay .nx-card__footer {\n border-color: transparent;\n}\n\n.nx-card__header,\n.nx-card__footer {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n/* Padding applies to header/body/footer, not media (media should\n bleed to the card's edge). */\n.nx-card--padding-none .nx-card__header,\n.nx-card--padding-none .nx-card__body,\n.nx-card--padding-none .nx-card__footer { padding: 0; }\n\n.nx-card--padding-sm .nx-card__header,\n.nx-card--padding-sm .nx-card__body,\n.nx-card--padding-sm .nx-card__footer { padding: var(--spacing-sm, 8px) var(--spacing-md, 16px); }\n\n.nx-card--padding-md .nx-card__header,\n.nx-card--padding-md .nx-card__body,\n.nx-card--padding-md .nx-card__footer { padding: var(--spacing-md, 16px) var(--spacing-lg, 24px); }\n\n.nx-card--padding-lg .nx-card__header,\n.nx-card--padding-lg .nx-card__body,\n.nx-card--padding-lg .nx-card__footer { padding: var(--spacing-lg, 24px) var(--spacing-xl, 32px); }\n\n.nx-card__body {\n flex: 1;\n color: var(--color-text, #111827);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n line-height: var(--typography-lineHeightNormal, 1.5);\n}\n\n.nx-card__header {\n font-weight: var(--typography-weightBold, 700);\n color: var(--color-text, #111827);\n border-bottom: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n}\n\n.nx-card__footer {\n color: var(--color-textMuted, #6b7280);\n font-size: var(--typography-sizeXs, 12px);\n}\n\n.nx-card__badge {\n position: absolute;\n top: var(--spacing-sm, 8px);\n right: var(--spacing-sm, 8px);\n z-index: 2;\n}\n",".nx-alert {\n display: flex;\n align-items: flex-start;\n gap: var(--spacing-sm, 8px);\n padding: var(--spacing-md, 16px);\n border-radius: var(--radius-md, 8px);\n border: var(--border-widthThin, 1px) var(--border-style, solid) transparent;\n border-left-width: 3px;\n /* Every other surface component (Button, Card, Badge's solid\n variant, Input) picks up each theme's shadow.xs — the soft blur\n in Light, the hard black offset in Neobrutalism, the neon glow\n in Cyberpunk, the embossed inset+outer pair in Skeuomorphism,\n none at all in Brutalism/Minimalism (their own deliberate\n flatness). Alert didn't have this line, so it rendered\n identically flat everywhere regardless of theme. */\n box-shadow: var(--shadow-xs, none);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-alert--info {\n background: var(--color-info-light, #dbeafe);\n border-left-color: var(--color-info-base, #3b82f6);\n color: var(--color-info-deeper, #1e3a5f);\n}\n.nx-alert--success {\n background: var(--color-success-light, #d1fae5);\n border-left-color: var(--color-success-base, #10b981);\n color: var(--color-success-deeper, #064e3b);\n}\n.nx-alert--warning {\n background: var(--color-warning-light, #fef3c7);\n border-left-color: var(--color-warning-base, #f59e0b);\n color: var(--color-warning-deeper, #78350f);\n}\n.nx-alert--danger {\n background: var(--color-danger-light, #fee2e2);\n border-left-color: var(--color-danger-base, #ef4444);\n color: var(--color-danger-deeper, #7f1d1d);\n}\n\n.nx-alert__icon {\n flex-shrink: 0;\n display: inline-flex;\n padding-top: 1px; /* optical alignment with the title's cap-height */\n}\n\n.nx-alert__body {\n flex: 1;\n min-width: 0;\n}\n\n.nx-alert__title {\n font-weight: var(--typography-weightBold, 700);\n font-size: var(--typography-sizeSm, 14px);\n line-height: var(--typography-lineHeightTight, 1.2);\n}\n\n.nx-alert__description {\n font-size: var(--typography-sizeSm, 14px);\n line-height: var(--typography-lineHeightNormal, 1.5);\n margin-top: 2px;\n}\n.nx-alert__title + .nx-alert__description {\n margin-top: 4px;\n}\n\n.nx-alert__action {\n flex-shrink: 0;\n}\n\n.nx-alert__dismiss {\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 2px;\n margin: -2px -2px -2px 0;\n border: none;\n background: transparent;\n color: inherit;\n cursor: pointer;\n border-radius: var(--radius-sm, 6px);\n opacity: 0.6;\n transition: opacity var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n.nx-alert__dismiss:hover {\n opacity: 1;\n background: rgba(0, 0, 0, 0.08);\n}",".nx-modal-backdrop {\n position: fixed;\n inset: 0;\n z-index: 1000;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-lg, 24px);\n background: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(2px);\n animation: nx-modal-backdrop-in var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n@keyframes nx-modal-backdrop-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n.nx-modal {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-height: calc(100vh - var(--spacing-lg, 24px) * 2);\n background: var(--color-surface, #ffffff);\n border-radius: var(--radius-lg, 14px);\n box-shadow: var(--shadow-xl, 0 20px 40px rgba(0, 0, 0, 0.2));\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n outline: none; /* focus lands here programmatically; a visible browser outline on the whole panel isn't useful */\n animation: nx-modal-panel-in var(--motion-durationNormal, 180ms) var(--motion-easeEmphasized, ease);\n}\n\n@keyframes nx-modal-panel-in {\n from { opacity: 0; transform: translateY(8px) scale(0.98); }\n to { opacity: 1; transform: translateY(0) scale(1); }\n}\n\n.nx-modal--xs { max-width: 360px; }\n.nx-modal--sm { max-width: 480px; }\n.nx-modal--md { max-width: 640px; }\n.nx-modal--lg { max-width: 860px; }\n.nx-modal--xl { max-width: 1100px; }\n.nx-modal--full {\n max-width: none;\n width: calc(100vw - var(--spacing-lg, 24px) * 2);\n height: calc(100vh - var(--spacing-lg, 24px) * 2);\n}\n\n.nx-modal__header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--spacing-md, 16px);\n padding: var(--spacing-lg, 24px) var(--spacing-lg, 24px) 0;\n flex-shrink: 0;\n}\n\n.nx-modal__title {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeLg, 18px);\n font-weight: var(--typography-weightBold, 700);\n color: var(--color-text, #111827);\n}\n\n.nx-modal__close {\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: var(--color-textMuted, #6b7280);\n cursor: pointer;\n border-radius: var(--radius-sm, 6px);\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n.nx-modal__close:hover {\n background: var(--color-surfaceRaised, #f3f4f6);\n color: var(--color-text, #111827);\n}\n.nx-modal__close:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n.nx-modal__body {\n flex: 1;\n overflow-y: auto;\n padding: var(--spacing-lg, 24px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n line-height: var(--typography-lineHeightNormal, 1.5);\n color: var(--color-text, #111827);\n}\n\n.nx-modal__footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--spacing-sm, 8px);\n padding: 0 var(--spacing-lg, 24px) var(--spacing-lg, 24px);\n flex-shrink: 0;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-modal-backdrop, .nx-modal {\n animation-duration: 0.01ms;\n }\n}\n",".nx-tooltip {\n z-index: 1100;\n max-width: 240px;\n padding: 6px 10px;\n border-radius: var(--radius-sm, 6px);\n background: var(--color-neutral-900, #171717);\n color: var(--color-neutral-0, #ffffff);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeXs, 12px);\n line-height: var(--typography-lineHeightNormal, 1.5);\n box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.15));\n pointer-events: none; /* never intercepts hover meant for the trigger/page underneath */\n animation: nx-tooltip-in var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n@keyframes nx-tooltip-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n.nx-tooltip::after {\n content: \"\";\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n}\n\n.nx-tooltip--top::after {\n bottom: -4px;\n left: 50%;\n transform: translateX(-50%) rotate(45deg);\n}\n.nx-tooltip--bottom::after {\n top: -4px;\n left: 50%;\n transform: translateX(-50%) rotate(45deg);\n}\n.nx-tooltip--left::after {\n right: -4px;\n top: 50%;\n transform: translateY(-50%) rotate(45deg);\n}\n.nx-tooltip--right::after {\n left: -4px;\n top: 50%;\n transform: translateY(-50%) rotate(45deg);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-tooltip {\n animation-duration: 0.01ms;\n }\n}\n",".nx-toast-container {\n position: fixed;\n z-index: 1200;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-sm, 8px);\n padding: var(--spacing-md, 16px);\n max-width: 380px;\n pointer-events: none; /* the gaps between toasts shouldn't block clicks to the page underneath */\n}\n.nx-toast-container > * {\n pointer-events: auto;\n}\n\n.nx-toast-container--top-left { top: 0; left: 0; align-items: flex-start; }\n.nx-toast-container--top-center { top: 0; left: 50%; transform: translateX(-50%); align-items: center; }\n.nx-toast-container--top-right { top: 0; right: 0; align-items: flex-end; }\n.nx-toast-container--bottom-left { bottom: 0; left: 0; align-items: flex-start; flex-direction: column-reverse; }\n.nx-toast-container--bottom-center { bottom: 0; left: 50%; transform: translateX(-50%); align-items: center; flex-direction: column-reverse; }\n.nx-toast-container--bottom-right { bottom: 0; right: 0; align-items: flex-end; flex-direction: column-reverse; }\n\n.nx-toast {\n display: flex;\n align-items: flex-start;\n gap: var(--spacing-sm, 8px);\n width: 100%;\n padding: var(--spacing-sm, 8px) var(--spacing-md, 16px);\n border-radius: var(--radius-md, 8px);\n background: var(--color-surface, #ffffff);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n box-shadow: var(--shadow-lg, 0 8px 20px rgba(0, 0, 0, 0.12));\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n animation: nx-toast-in var(--motion-durationNormal, 180ms) var(--motion-easeEmphasized, ease);\n}\n\n@keyframes nx-toast-in {\n from { opacity: 0; transform: translateY(8px) scale(0.97); }\n to { opacity: 1; transform: translateY(0) scale(1); }\n}\n\n.nx-toast--info .nx-toast__icon { color: var(--color-info-base, #3b82f6); }\n.nx-toast--success .nx-toast__icon { color: var(--color-success-base, #10b981); }\n.nx-toast--warning .nx-toast__icon { color: var(--color-warning-base, #f59e0b); }\n.nx-toast--danger .nx-toast__icon { color: var(--color-danger-base, #ef4444); }\n\n.nx-toast__icon {\n flex-shrink: 0;\n display: inline-flex;\n padding-top: 2px;\n}\n\n.nx-toast__body {\n flex: 1;\n min-width: 0;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-toast__title {\n font-size: var(--typography-sizeSm, 14px);\n font-weight: var(--typography-weightBold, 700);\n color: var(--color-text, #111827);\n line-height: var(--typography-lineHeightTight, 1.2);\n}\n\n.nx-toast__description {\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-textMuted, #6b7280);\n line-height: var(--typography-lineHeightNormal, 1.5);\n margin-top: 2px;\n}\n\n.nx-toast__action {\n flex-shrink: 0;\n align-self: center;\n}\n\n.nx-toast__dismiss {\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 2px;\n margin: -2px -4px -2px 0;\n border: none;\n background: transparent;\n color: var(--color-textMuted, #6b7280);\n cursor: pointer;\n border-radius: var(--radius-sm, 6px);\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n.nx-toast__dismiss:hover {\n background: var(--color-surfaceRaised, #f3f4f6);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-toast {\n animation-duration: 0.01ms;\n }\n}\n","/* Category A meter. Every value is a var(--token, fallback), no\n literal colors/radii/durations (BUILDING-COMPONENTS.md step 3).\n The fill is a solid accent surface with NO text on it, so the\n raw-color onAccent gap (CONTRACT.md Rule 5c) doesn't apply here —\n nothing is painted on top of --color-brand-500 that needs a\n guaranteed-contrast foreground. */\n\n.nx-progress-wrap {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n inline-size: 100%;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-progress {\n position: relative;\n flex: 1;\n min-inline-size: 0;\n overflow: hidden;\n background: var(--color-surfaceRaised, #f3f4f6);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);\n border-radius: var(--radius-full, 9999px);\n box-shadow: var(--shadow-xs, none);\n}\n\n.nx-progress__fill {\n block-size: 100%;\n inline-size: 0;\n border-radius: inherit;\n background: var(--color-brand-500, #6366f1);\n transition: inline-size var(--motion-durationNormal, 180ms) var(--motion-easeStandard, ease);\n}\n\n/* Semantic tones — theme-defined colors, kept separate from the\n brand accent (CONTRACT.md Rule 5b's success/warning/danger note). */\n.nx-progress--success .nx-progress__fill { background: var(--color-success-base, #16a34a); }\n.nx-progress--warning .nx-progress__fill { background: var(--color-warning-base, #d97706); }\n.nx-progress--danger .nx-progress__fill { background: var(--color-danger-base, #ef4444); }\n\n/* Track height per size — the one dimension that scales. */\n.nx-progress--xs { block-size: 4px; }\n.nx-progress--sm { block-size: 6px; }\n.nx-progress--md { block-size: 8px; }\n.nx-progress--lg { block-size: 12px; }\n.nx-progress--xl { block-size: 16px; }\n\n.nx-progress__value {\n flex-shrink: 0;\n font-size: var(--typography-sizeXs, 12px);\n font-variant-numeric: tabular-nums;\n color: var(--color-textMuted, #6b7280);\n min-inline-size: 3ch;\n text-align: end;\n}\n\n/* Indeterminate: the fill becomes a shuttle of fixed width sliding\n across the track. No inline width is set by the component in this\n state, so the animation fully owns it. */\n.nx-progress--indeterminate .nx-progress__fill {\n inline-size: 40%;\n border-radius: var(--radius-full, 9999px);\n animation: nx-progress-indeterminate 1.2s var(--motion-easeStandard, ease) infinite;\n will-change: transform;\n}\n\n@keyframes nx-progress-indeterminate {\n 0% { transform: translateX(-120%); }\n 100% { transform: translateX(320%); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-progress__fill {\n transition-duration: 0.01ms;\n }\n /* An infinite slide is exactly the kind of motion prefers-reduced\n -motion is meant to stop — replace it with a static, obviously\n \"busy\" 60% fill rather than an empty or animated bar. */\n .nx-progress--indeterminate .nx-progress__fill {\n animation: none;\n inline-size: 60%;\n transform: none;\n }\n}","/* Category E: tablist/tab/tabpanel. Every value is a\n var(--token, fallback) reading from the active theme's generated\n custom properties, so switching data-theme restyles Tabs with\n zero JS (CONTRACT.md CSS-cascade theming). No literal colors,\n radii, durations, or shadows. */\n\n.nx-tabs {\n display: flex;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-text, #111827);\n}\n\n/* Orientation drives the top-level layout: tabs above panels\n (horizontal) vs. tabs beside panels (vertical). */\n.nx-tabs--horizontal {\n flex-direction: column;\n}\n.nx-tabs--vertical {\n flex-direction: row;\n gap: var(--spacing-md, 16px);\n}\n\n/* ---- Tab list ---- */\n.nx-tabs__list {\n display: flex;\n}\n.nx-tabs--horizontal .nx-tabs__list {\n flex-direction: row;\n}\n.nx-tabs--vertical .nx-tabs__list {\n flex-direction: column;\n}\n\n/* ---- Tab (button) ---- */\n.nx-tabs__tab {\n appearance: none;\n background: transparent;\n border: none;\n margin: 0;\n cursor: pointer;\n font-family: inherit;\n font-weight: var(--typography-weightMedium, 500);\n line-height: var(--typography-lineHeightTight, 1.2);\n color: var(--color-textMuted, #6b7280);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-xs, 4px);\n white-space: nowrap;\n transition: color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-tabs__tab:hover:not(.nx-tabs__tab--disabled) {\n color: var(--color-text, #111827);\n}\n\n.nx-tabs__tab--selected {\n color: var(--color-brand-600, #4f46e5);\n}\n\n.nx-tabs__tab:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n border-radius: var(--radius-sm, 6px);\n}\n\n.nx-tabs__tab--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Sizes — padding + font-size only, from the shared scale. */\n.nx-tabs--xs .nx-tabs__tab { padding: 4px 10px; font-size: var(--typography-sizeXs, 12px); }\n.nx-tabs--sm .nx-tabs__tab { padding: 6px 12px; font-size: var(--typography-sizeSm, 14px); }\n.nx-tabs--md .nx-tabs__tab { padding: 8px 14px; font-size: var(--typography-sizeMd, 16px); }\n.nx-tabs--lg .nx-tabs__tab { padding: 10px 18px; font-size: var(--typography-sizeLg, 18px); }\n.nx-tabs--xl .nx-tabs__tab { padding: 12px 22px; font-size: var(--typography-sizeXl, 22px); }\n\n/* ---- Variant: line (default) — an underline/inline rule that the\n selected tab lights up in the accent color. The tab's edge border\n overlaps the list's rule via a -1px margin so the two align. ---- */\n.nx-tabs--line.nx-tabs--horizontal .nx-tabs__list {\n border-block-end: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n}\n.nx-tabs--line.nx-tabs--horizontal .nx-tabs__tab {\n border-block-end: 2px solid transparent;\n margin-block-end: -1px;\n}\n.nx-tabs--line.nx-tabs--horizontal .nx-tabs__tab--selected {\n border-block-end-color: var(--color-brand-500, #6366f1);\n}\n\n.nx-tabs--line.nx-tabs--vertical .nx-tabs__list {\n border-inline-start: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n}\n.nx-tabs--line.nx-tabs--vertical .nx-tabs__tab {\n border-inline-start: 2px solid transparent;\n margin-inline-start: -1px;\n justify-content: flex-start;\n}\n.nx-tabs--line.nx-tabs--vertical .nx-tabs__tab--selected {\n border-inline-start-color: var(--color-brand-500, #6366f1);\n}\n\n/* ---- Variant: soft — selected tab gets a subtle brand-tinted\n pill; no rule/underline. ---- */\n.nx-tabs--soft .nx-tabs__list {\n gap: var(--spacing-xs, 4px);\n}\n.nx-tabs--soft .nx-tabs__tab {\n border-radius: var(--radius-md, 8px);\n}\n.nx-tabs--soft .nx-tabs__tab--selected {\n background: var(--color-brand-50, #f0f4ff);\n color: var(--color-brand-700, #4338ca);\n /* Parity with --solid's selected tab below, which already reads\n shadow.xs — without this, soft was purely accent-driven (bg +\n text only) and looked identical across every theme regardless\n of Neobrutalism's hard offset shadow, Cyberpunk's glow, etc. */\n box-shadow: var(--shadow-xs, none);\n}\n\n/* ---- Variant: solid — a segmented control; the selected tab is a\n filled accent chip. Text uses --color-brand-onAccent, matching\n Button's solid variant. (Same known limitation as Button: a *raw*\n color accent doesn't supply onAccent, so it falls back to white —\n registered accents always define it. Tracked library-wide, not\n solved unilaterally here.) ---- */\n.nx-tabs--solid .nx-tabs__list {\n gap: var(--spacing-xs, 4px);\n padding: var(--spacing-xs, 4px);\n background: var(--color-surfaceRaised, #f3f4f6);\n border-radius: var(--radius-md, 8px);\n align-self: flex-start;\n}\n.nx-tabs--vertical.nx-tabs--solid .nx-tabs__list {\n align-self: stretch;\n}\n.nx-tabs--solid .nx-tabs__tab {\n border-radius: var(--radius-sm, 6px);\n}\n.nx-tabs--solid .nx-tabs__tab--selected {\n background: var(--color-brand-500, #6366f1);\n color: var(--color-brand-onAccent, #ffffff);\n box-shadow: var(--shadow-sm, none);\n}\n\n/* ---- Panel ---- */\n.nx-tabs__panel {\n padding-block-start: var(--spacing-md, 16px);\n color: var(--color-text, #111827);\n}\n.nx-tabs--vertical .nx-tabs__panel {\n padding-block-start: 0;\n flex: 1;\n min-inline-size: 0;\n}\n/* The panel is a focus stop (tabIndex 0 in core); give it the same\n visible focus ring as everything else rather than a bare outline. */\n.nx-tabs__panel:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n border-radius: var(--radius-sm, 6px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-tabs__tab {\n transition: none;\n }\n}","/* Category E: disclosure. Every value is a var(--token, fallback)\n from the active theme's generated custom properties, so switching\n data-theme restyles the accordion with zero JS. No literal\n colors, radii, durations, or shadows. */\n\n.nx-accordion {\n display: flex;\n flex-direction: column;\n inline-size: 100%;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-text, #111827);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-md, 8px);\n overflow: hidden;\n background: var(--color-surface, #ffffff);\n}\n\n/* Items are separated by a divider rather than each carrying its own\n border, so the group reads as one surface. */\n.nx-accordion__item + .nx-accordion__item {\n border-block-start: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n}\n\n/* ---- Header + trigger ---- */\n.nx-accordion__header {\n margin: 0;\n /* The heading element is structural only — it inherits its visual\n size from the trigger, not from the browser's default h1–h6. */\n font: inherit;\n}\n\n.nx-accordion__trigger {\n appearance: none;\n inline-size: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--spacing-sm, 8px);\n background: transparent;\n border: none;\n margin: 0;\n cursor: pointer;\n text-align: start;\n font-family: inherit;\n font-weight: var(--typography-weightMedium, 500);\n line-height: var(--typography-lineHeightTight, 1.2);\n color: var(--color-text, #111827);\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-accordion__trigger:hover:not(:disabled) {\n background: var(--color-surfaceRaised, #f3f4f6);\n}\n\n.nx-accordion__trigger:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: -2px; /* inset, so the ring isn't clipped by overflow:hidden */\n}\n\n.nx-accordion__trigger:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-accordion__trigger--open {\n color: var(--color-brand-600, #4f46e5);\n}\n\n.nx-accordion__label {\n flex: 1;\n min-inline-size: 0;\n}\n\n/* The chevron rotates to point up when its section is open; the\n rotation is disabled under prefers-reduced-motion below. */\n.nx-accordion__icon {\n flex-shrink: 0;\n color: var(--color-textMuted, #6b7280);\n transition: transform var(--motion-durationNormal, 180ms) var(--motion-easeStandard, ease);\n}\n.nx-accordion__trigger--open .nx-accordion__icon {\n transform: rotate(180deg);\n}\n\n/* Sizes — header padding + font-size, from the shared scale. */\n.nx-accordion--xs .nx-accordion__trigger { padding: 8px 10px; font-size: var(--typography-sizeXs, 12px); }\n.nx-accordion--sm .nx-accordion__trigger { padding: 10px 12px; font-size: var(--typography-sizeSm, 14px); }\n.nx-accordion--md .nx-accordion__trigger { padding: 12px 16px; font-size: var(--typography-sizeMd, 16px); }\n.nx-accordion--lg .nx-accordion__trigger { padding: 16px 20px; font-size: var(--typography-sizeLg, 18px); }\n.nx-accordion--xl .nx-accordion__trigger { padding: 20px 24px; font-size: var(--typography-sizeXl, 22px); }\n\n/* ---- Panel ---- */\n.nx-accordion__panel {\n color: var(--color-text, #111827);\n}\n.nx-accordion__panel-inner {\n color: var(--color-textMuted, #6b7280);\n font-size: var(--typography-sizeSm, 14px);\n line-height: var(--typography-lineHeightNormal, 1.5);\n}\n/* Panel padding mirrors the trigger's horizontal padding per size, so\n content lines up under the header label. */\n.nx-accordion--xs .nx-accordion__panel-inner { padding: 4px 10px 10px; }\n.nx-accordion--sm .nx-accordion__panel-inner { padding: 4px 12px 12px; }\n.nx-accordion--md .nx-accordion__panel-inner { padding: 4px 16px 16px; }\n.nx-accordion--lg .nx-accordion__panel-inner { padding: 4px 20px 20px; }\n.nx-accordion--xl .nx-accordion__panel-inner { padding: 4px 24px 24px; }\n\n@media (prefers-reduced-motion: reduce) {\n .nx-accordion__trigger,\n .nx-accordion__icon {\n transition: none;\n }\n}\n","/* Category C: overlay menu. Every value is a var(--token, fallback)\n from the active theme's generated custom properties, so switching\n data-theme restyles the menu with zero JS. The menu is rendered\n through ThemedPortal, which mirrors data-theme/data-accent onto the\n portal node, so these tokens resolve to the right theme even though\n the menu lives at the end of <body>. No literal colors, radii,\n durations, or shadows — except the destructive item, which pulls\n from the semantic danger-* registry (Rule 5b), never the accent. */\n\n.nx-dropdown__menu {\n /* Above Modal (1000), below Tooltip (1100) so a tooltip on a menu\n item still layers over it, and below Toast (1200). */\n z-index: 1050;\n box-sizing: border-box;\n min-inline-size: 10rem;\n max-inline-size: min(20rem, calc(100vw - 16px));\n max-block-size: calc(100vh - 16px);\n overflow-y: auto;\n padding: var(--spacing-xs, 4px);\n margin: 0;\n background: var(--color-surface, #ffffff);\n color: var(--color-text, #111827);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-lg, 0 10px 24px rgba(0, 0, 0, 0.18));\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n animation: nx-dropdown-in var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n@keyframes nx-dropdown-in {\n from { opacity: 0; transform: translateY(-2px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n/* ---- Items ---- */\n.nx-dropdown__item {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n inline-size: 100%;\n box-sizing: border-box;\n border-radius: var(--radius-sm, 6px);\n color: var(--color-text, #111827);\n cursor: pointer;\n user-select: none;\n white-space: nowrap;\n outline: none;\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n/* Hover AND programmatic keyboard focus share one highlight: the menu\n moves real DOM focus between items with the arrow keys, so :focus is\n the \"active item\" indicator, not just a mouse affordance. */\n.nx-dropdown__item:not(.nx-dropdown__item--disabled):hover,\n.nx-dropdown__item:not(.nx-dropdown__item--disabled):focus {\n background: var(--color-brand-50, #eef2ff);\n color: var(--color-brand-700, #4338ca);\n}\n\n/* A crisp ring for keyboard users on top of the background tint. */\n.nx-dropdown__item:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: -2px;\n}\n\n.nx-dropdown__item--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Destructive action: color from the semantic danger registry, which\n stays red across every accent (Rule 5b) so \"Delete\" never blends\n into a brand-tinted menu. */\n.nx-dropdown__item--danger {\n color: var(--color-danger-base, #dc2626);\n}\n.nx-dropdown__item--danger:not(.nx-dropdown__item--disabled):hover,\n.nx-dropdown__item--danger:not(.nx-dropdown__item--disabled):focus {\n background: var(--color-danger-subtle, #fee2e2);\n color: var(--color-danger-dark, #b91c1c);\n}\n.nx-dropdown__item--danger:focus-visible {\n outline-color: var(--color-danger-base, #dc2626);\n}\n\n/* ---- Separator + section label ---- */\n.nx-dropdown__separator {\n block-size: var(--border-widthThin, 1px);\n background: var(--color-border, #e5e7eb);\n margin: var(--spacing-xs, 4px) 0;\n}\n\n.nx-dropdown__label {\n padding: var(--spacing-xs, 4px) var(--spacing-sm, 8px);\n color: var(--color-textMuted, #6b7280);\n font-size: var(--typography-sizeXs, 12px);\n font-weight: var(--typography-weightMedium, 500);\n line-height: var(--typography-lineHeightTight, 1.2);\n}\n\n/* ---- Sizes: item padding + font-size, from the shared scale ---- */\n.nx-dropdown__menu--xs .nx-dropdown__item { padding: 4px 8px; font-size: var(--typography-sizeXs, 12px); }\n.nx-dropdown__menu--sm .nx-dropdown__item { padding: 6px 10px; font-size: var(--typography-sizeSm, 14px); }\n.nx-dropdown__menu--md .nx-dropdown__item { padding: 8px 12px; font-size: var(--typography-sizeMd, 16px); }\n.nx-dropdown__menu--lg .nx-dropdown__item { padding: 10px 14px; font-size: var(--typography-sizeLg, 18px); }\n.nx-dropdown__menu--xl .nx-dropdown__item { padding: 12px 16px; font-size: var(--typography-sizeXl, 22px); }\n\n.nx-dropdown__menu--xs { min-inline-size: 8rem; }\n.nx-dropdown__menu--sm { min-inline-size: 9rem; }\n.nx-dropdown__menu--lg { min-inline-size: 12rem; }\n.nx-dropdown__menu--xl { min-inline-size: 14rem; }\n\n@media (prefers-reduced-motion: reduce) {\n .nx-dropdown__menu {\n animation-duration: 0.01ms;\n }\n .nx-dropdown__item {\n transition: none;\n }\n}\n","/* ============================================================\n SELECT — combobox trigger + portalled listbox.\n\n Every value is var(--token, fallback) (Rule 2): the trigger\n reuses the Input field shape (so a Select sits flush next to a\n text field), and the listbox reuses the Dropdown surface (border\n + radius-md + shadow-lg). Active/selected/hover option states use\n the ACCENT (--color-brand-*), which flips correctly under an\n accent override; nothing here is a semantic (success/danger)\n color, so this file has no danger-* dependency.\n ============================================================ */\n\n.nx-select {\n display: inline-block;\n position: relative;\n inline-size: 100%;\n max-inline-size: 20rem;\n}\n\n/* ---- trigger (role=combobox), shaped like the Input field ---- */\n.nx-select__trigger {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n inline-size: 100%;\n box-sizing: border-box;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-neutral-900, #171717);\n background: var(--color-neutral-0, #ffffff);\n border: 1px solid var(--color-neutral-300, #d4d4d4);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.05));\n cursor: pointer;\n text-align: start;\n transition:\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n/* keyboard focus + open both read as \"engaged\": accent ring */\n.nx-select__trigger:focus-visible,\n.nx-select__trigger--open {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-select__trigger--invalid {\n border-color: var(--color-danger-base, #dc2626);\n}\n.nx-select__trigger--invalid:focus-visible,\n.nx-select__trigger--invalid.nx-select__trigger--open {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #dc2626) 20%, transparent);\n}\n\n.nx-select__trigger--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50, #fafafa);\n}\n\n/* size scale — matches Input's padding/type ramp */\n.nx-select__trigger--xs {\n padding: 4px 8px;\n min-block-size: 28px;\n font-size: var(--typography-sizeXs, 12px);\n}\n.nx-select__trigger--sm {\n padding: 5px 10px;\n min-block-size: 32px;\n font-size: var(--typography-sizeSm, 14px);\n}\n.nx-select__trigger--md {\n padding: 8px 12px;\n min-block-size: 38px;\n font-size: var(--typography-sizeMd, 16px);\n}\n.nx-select__trigger--lg {\n padding: 10px 14px;\n min-block-size: 44px;\n font-size: var(--typography-sizeLg, 18px);\n}\n.nx-select__trigger--xl {\n padding: 12px 16px;\n min-block-size: 52px;\n font-size: var(--typography-sizeXl, 20px);\n}\n\n/* ---- value / placeholder (single) ---- */\n.nx-select__value {\n flex: 1 1 auto;\n min-inline-size: 0;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.nx-select__value--placeholder {\n color: var(--color-neutral-400, #a3a3a3);\n}\n\n/* ---- chips (multiple) ---- */\n.nx-select__chips {\n flex: 1 1 auto;\n min-inline-size: 0;\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n}\n.nx-select__chip {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 4px 2px 8px;\n font-size: 0.85em;\n line-height: 1.4;\n color: var(--color-brand-700, #4338ca);\n background: var(--color-brand-50, #eef2ff);\n border-radius: var(--radius-sm, 4px);\n}\n.nx-select__chip-remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n margin: 0;\n inline-size: 16px;\n block-size: 16px;\n color: inherit;\n background: transparent;\n border: none;\n border-radius: var(--radius-full, 9999px);\n cursor: pointer;\n opacity: 0.7;\n transition: opacity var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease), background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n.nx-select__chip-remove:hover {\n opacity: 1;\n background: color-mix(in srgb, var(--color-brand-700, #4338ca) 15%, transparent);\n}\n.nx-select__chip-remove-icon {\n inline-size: 12px;\n block-size: 12px;\n}\n\n/* ---- chevron ---- */\n.nx-select__chevron {\n flex: none;\n inline-size: 1em;\n block-size: 1em;\n color: var(--color-neutral-500, #737373);\n transition: transform var(--motion-durationNormal, 180ms) var(--motion-easeStandard, ease);\n}\n.nx-select__trigger--open .nx-select__chevron {\n transform: rotate(180deg);\n}\n\n/* ---- listbox (portalled), shaped like the Dropdown surface ---- */\n.nx-select__listbox {\n box-sizing: border-box;\n max-block-size: 16rem;\n overflow-y: auto;\n padding: var(--spacing-xs, 4px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n background: var(--color-neutral-0, #ffffff);\n border: 1px solid var(--color-neutral-200, #e5e5e5);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-lg, 0 10px 15px rgba(0, 0, 0, 0.1));\n /* Peer of the Dropdown menu in the overlay stack (below Modal 1000? no —\n these are anchored popups, above Modal, below Tooltip 1100). */\n z-index: 1050;\n animation: nx-select-in var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-select__listbox--xs { font-size: var(--typography-sizeXs, 12px); }\n.nx-select__listbox--sm { font-size: var(--typography-sizeSm, 14px); }\n.nx-select__listbox--md { font-size: var(--typography-sizeMd, 16px); }\n.nx-select__listbox--lg { font-size: var(--typography-sizeLg, 18px); }\n.nx-select__listbox--xl { font-size: var(--typography-sizeXl, 20px); }\n\n/* ---- option ---- */\n.nx-select__option {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n padding: 6px 8px;\n border-radius: var(--radius-sm, 4px);\n color: var(--color-neutral-800, #262626);\n cursor: pointer;\n user-select: none;\n}\n\n/* \"active\" = the aria-activedescendant highlight (keyboard or hover) */\n.nx-select__option--active {\n background: var(--color-brand-50, #eef2ff);\n color: var(--color-brand-700, #4338ca);\n}\n\n.nx-select__option--selected {\n font-weight: var(--typography-weightMedium, 500);\n}\n\n.nx-select__option--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* fixed gutter so labels align whether or not a check is shown */\n.nx-select__option-check {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 1em;\n block-size: 1em;\n color: var(--color-brand-600, #4f46e5);\n}\n.nx-select__check-icon {\n inline-size: 1em;\n block-size: 1em;\n}\n.nx-select__option-label {\n flex: 1 1 auto;\n min-inline-size: 0;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n@keyframes nx-select-in {\n from {\n opacity: 0;\n transform: translateY(-4px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-select__trigger,\n .nx-select__chevron,\n .nx-select__chip-remove {\n transition: none;\n }\n .nx-select__listbox {\n animation: none;\n }\n}\n","/* Category B: form input. Every value is a var(--token, fallback)\n from the active theme's generated custom properties — no literal\n colors, radii, or durations. */\n\n.nx-slider {\n position: relative;\n display: flex;\n align-items: center;\n inline-size: 100%;\n min-inline-size: 10rem;\n box-sizing: border-box;\n padding-block: var(--spacing-sm, 8px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n touch-action: none; /* dragging a thumb shouldn't also scroll the page on touch devices */\n}\n\n.nx-slider__track {\n position: relative;\n inline-size: 100%;\n border-radius: var(--radius-full, 999px);\n background: var(--color-neutral-200, #e5e7eb);\n cursor: pointer;\n}\n\n.nx-slider--xs .nx-slider__track { block-size: 3px; }\n.nx-slider--sm .nx-slider__track { block-size: 4px; }\n.nx-slider--md .nx-slider__track { block-size: 5px; }\n.nx-slider--lg .nx-slider__track { block-size: 6px; }\n.nx-slider--xl .nx-slider__track { block-size: 8px; }\n\n.nx-slider__range {\n position: absolute;\n inset-block: 0;\n border-radius: inherit;\n background: var(--color-brand-500, #6366f1);\n /* Purely visual — without this, the filled portion of the track\n sits on top and silently swallows pointer events aimed at the\n track underneath it (handleTrackPointerDown's target check\n rejects anything that isn't the track element itself). Since a\n slider at any nonzero value has visible fill covering part of\n the track, that made clicking directly on the fill do nothing —\n only the empty remainder or the small thumb itself responded. */\n pointer-events: none;\n}\n\n.nx-slider__thumb {\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n border-radius: var(--radius-full, 999px);\n background: var(--color-surface, #ffffff);\n border: 2px solid var(--color-brand-500, #6366f1);\n box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.12));\n cursor: grab;\n touch-action: none;\n outline: none;\n transition: box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-slider__thumb:active {\n cursor: grabbing;\n transform: translate(-50%, -50%) scale(1.08);\n}\n\n.nx-slider__thumb:focus-visible {\n box-shadow: 0 0 0 4px var(--color-brand-100, #e0e7ff);\n}\n\n.nx-slider--xs .nx-slider__thumb { inline-size: 12px; block-size: 12px; }\n.nx-slider--sm .nx-slider__thumb { inline-size: 14px; block-size: 14px; }\n.nx-slider--md .nx-slider__thumb { inline-size: 16px; block-size: 16px; }\n.nx-slider--lg .nx-slider__thumb { inline-size: 20px; block-size: 20px; }\n.nx-slider--xl .nx-slider__thumb { inline-size: 24px; block-size: 24px; }\n\n.nx-slider__value-label {\n position: absolute;\n bottom: calc(100% + 8px);\n left: 50%;\n transform: translateX(-50%);\n padding: 2px 8px;\n border-radius: var(--radius-sm, 6px);\n background: var(--color-neutral-900, #111827);\n color: var(--color-neutral-0, #ffffff);\n font-size: var(--typography-sizeXs, 12px);\n font-weight: var(--typography-weightMedium, 500);\n white-space: nowrap;\n pointer-events: none;\n}\n\n.nx-slider--disabled {\n opacity: 0.5;\n}\n\n.nx-slider--disabled .nx-slider__track,\n.nx-slider--disabled .nx-slider__thumb {\n cursor: not-allowed;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-slider__thumb {\n transition: none;\n }\n}","/* ============================================================\n COMBOBOX — an editable text field + portalled listbox.\n\n Deliberately mirrors Select.css's shape (same field sizing ramp,\n same listbox surface as the Dropdown/Select popups) rather than\n re-deriving its own — the visual language should be identical\n since a Combobox is a Select someone can also type into, not a\n different kind of control.\n ============================================================ */\n\n.nx-combobox__wrapper {\n position: relative;\n display: flex;\n align-items: center;\n inline-size: 100%;\n max-inline-size: 20rem;\n}\n\n.nx-combobox__input {\n inline-size: 100%;\n box-sizing: border-box;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-neutral-900, #171717);\n background: var(--color-neutral-0, #ffffff);\n border: 1px solid var(--color-neutral-300, #d4d4d4);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.05));\n /* room for the clear + chevron buttons, regardless of which is showing */\n padding-inline-end: 56px;\n transition:\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-combobox__input:focus-visible,\n.nx-combobox__input--open {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-combobox__input--invalid {\n border-color: var(--color-danger-base, #dc2626);\n}\n.nx-combobox__input--invalid:focus-visible,\n.nx-combobox__input--invalid.nx-combobox__input--open {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #dc2626) 20%, transparent);\n}\n\n.nx-combobox__input--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50, #fafafa);\n}\n\n.nx-combobox__input--xs { padding-block: 4px; padding-inline-start: 8px; min-block-size: 28px; font-size: var(--typography-sizeXs, 12px); }\n.nx-combobox__input--sm { padding-block: 5px; padding-inline-start: 10px; min-block-size: 32px; font-size: var(--typography-sizeSm, 14px); }\n.nx-combobox__input--md { padding-block: 8px; padding-inline-start: 12px; min-block-size: 38px; font-size: var(--typography-sizeMd, 16px); }\n.nx-combobox__input--lg { padding-block: 10px; padding-inline-start: 14px; min-block-size: 44px; font-size: var(--typography-sizeLg, 18px); }\n.nx-combobox__input--xl { padding-block: 12px; padding-inline-start: 16px; min-block-size: 52px; font-size: var(--typography-sizeXl, 20px); }\n\n.nx-combobox__clear,\n.nx-combobox__toggle {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 24px;\n block-size: 24px;\n padding: 0;\n border: none;\n background: transparent;\n border-radius: var(--radius-full, 9999px);\n color: var(--color-neutral-500, #737373);\n cursor: pointer;\n}\n\n.nx-combobox__clear:hover,\n.nx-combobox__toggle:hover:not(:disabled) {\n background: var(--color-neutral-100, #f5f5f5);\n color: var(--color-neutral-700, #404040);\n}\n\n.nx-combobox__toggle:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.nx-combobox__clear {\n inset-inline-end: 32px;\n}\n.nx-combobox__clear-icon {\n inline-size: 0.9em;\n block-size: 0.9em;\n}\n\n.nx-combobox__toggle {\n inset-inline-end: 4px;\n}\n.nx-combobox__chevron {\n inline-size: 1em;\n block-size: 1em;\n transition: transform var(--motion-durationNormal, 180ms) var(--motion-easeStandard, ease);\n}\n.nx-combobox__input--open ~ .nx-combobox__toggle .nx-combobox__chevron {\n transform: rotate(180deg);\n}\n\n/* ---- listbox (portalled), same surface as Select's ---- */\n.nx-combobox__listbox {\n box-sizing: border-box;\n max-block-size: 16rem;\n overflow-y: auto;\n padding: var(--spacing-xs, 4px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n background: var(--color-neutral-0, #ffffff);\n border: 1px solid var(--color-neutral-200, #e5e5e5);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-lg, 0 10px 15px rgba(0, 0, 0, 0.1));\n z-index: 1050;\n animation: nx-combobox-in var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-combobox__listbox--xs { font-size: var(--typography-sizeXs, 12px); }\n.nx-combobox__listbox--sm { font-size: var(--typography-sizeSm, 14px); }\n.nx-combobox__listbox--md { font-size: var(--typography-sizeMd, 16px); }\n.nx-combobox__listbox--lg { font-size: var(--typography-sizeLg, 18px); }\n.nx-combobox__listbox--xl { font-size: var(--typography-sizeXl, 20px); }\n\n.nx-combobox__option {\n padding: 6px 8px;\n border-radius: var(--radius-sm, 4px);\n color: var(--color-neutral-800, #262626);\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.nx-combobox__option--active {\n background: var(--color-brand-50, #eef2ff);\n color: var(--color-brand-700, #4338ca);\n}\n\n.nx-combobox__option--selected {\n font-weight: var(--typography-weightMedium, 500);\n}\n\n.nx-combobox__option--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-combobox__empty {\n padding: 10px 8px;\n color: var(--color-neutral-400, #a3a3a3);\n font-size: 0.9em;\n text-align: center;\n}\n\n@keyframes nx-combobox-in {\n from { opacity: 0; transform: translateY(-4px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-combobox__listbox {\n animation-duration: 0.01ms;\n }\n .nx-combobox__chevron {\n transition: none;\n }\n}\n","/* Standalone month-grid, also embedded inside DatePicker's Popover\n (DatePicker.css strips the surrounding PopoverContent's own\n border/shadow/background for that specific case — see\n .nx-datepicker__popover — so this surface is always the only one\n visible, standalone or embedded, never doubled up). */\n\n.nx-calendar {\n display: inline-flex;\n flex-direction: column;\n gap: 8px;\n box-sizing: border-box;\n padding: 12px;\n background: var(--color-surface, #ffffff);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e5e5);\n border-radius: var(--radius-lg, 14px);\n box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.08));\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-text, #171717);\n user-select: none;\n}\n\n.nx-calendar__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n\n.nx-calendar__month-label {\n font-weight: var(--typography-weightMedium, 500);\n font-size: var(--typography-sizeSm, 14px);\n text-align: center;\n flex: 1;\n}\n\n.nx-calendar__month-label--button {\n border: none;\n background: transparent;\n border-radius: var(--radius-sm, 6px);\n padding: 4px 8px;\n color: inherit;\n cursor: pointer;\n}\n\n.nx-calendar__month-label--button:hover {\n background: var(--color-surfaceRaised, #f5f5f5);\n}\n\n.nx-calendar__month-label--button:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-calendar__nav {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 28px;\n block-size: 28px;\n border: none;\n background: transparent;\n border-radius: var(--radius-full, 9999px);\n color: var(--color-text, #525252);\n cursor: pointer;\n}\n\n.nx-calendar__nav:hover {\n background: var(--color-surfaceRaised, #f5f5f5);\n color: var(--color-text, #171717);\n}\n\n.nx-calendar__nav:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-calendar__weekdays,\n.nx-calendar__grid {\n display: grid;\n grid-template-columns: repeat(7, minmax(0, 1fr));\n gap: 2px;\n}\n\n.nx-calendar__weekday {\n display: flex;\n align-items: center;\n justify-content: center;\n block-size: 28px;\n font-size: var(--typography-sizeXs, 12px);\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-textMuted, #a3a3a3);\n}\n\n.nx-calendar__day {\n display: flex;\n align-items: center;\n justify-content: center;\n inline-size: 34px;\n block-size: 34px;\n border: none;\n background: transparent;\n border-radius: var(--radius-full, 9999px);\n color: var(--color-text, #262626);\n font-size: var(--typography-sizeSm, 14px);\n cursor: pointer;\n transition: background var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-calendar__day:hover:not(:disabled) {\n background: var(--color-surfaceRaised, #f5f5f5);\n}\n\n.nx-calendar__day:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-calendar__day--outside {\n color: var(--color-textMuted, #d4d4d4);\n}\n\n.nx-calendar__day--today {\n font-weight: var(--typography-weightBold, 700);\n box-shadow: inset 0 0 0 1px var(--color-brand-300, #a5b4fc);\n}\n\n.nx-calendar__day--selected {\n background: var(--color-brand-500, #6366f1);\n color: var(--color-brand-onAccent, #ffffff);\n font-weight: var(--typography-weightMedium, 500);\n}\n\n.nx-calendar__day--selected:hover:not(:disabled) {\n background: var(--color-brand-600, #4f46e5);\n}\n\n.nx-calendar__day--disabled {\n color: var(--color-textMuted, #d4d4d4);\n cursor: not-allowed;\n}\n\n/* --- month/year \"zoom out\" grids --- */\n\n.nx-calendar__grid--months,\n.nx-calendar__grid--years {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n gap: 4px;\n min-inline-size: 220px;\n}\n\n.nx-calendar__cell {\n display: flex;\n align-items: center;\n justify-content: center;\n block-size: 44px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md, 10px);\n color: var(--color-text, #262626);\n font-size: var(--typography-sizeSm, 14px);\n cursor: pointer;\n transition: background var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-calendar__cell:hover {\n background: var(--color-surfaceRaised, #f5f5f5);\n}\n\n.nx-calendar__cell:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-calendar__cell--selected {\n background: var(--color-brand-500, #6366f1);\n color: var(--color-brand-onAccent, #ffffff);\n font-weight: var(--typography-weightMedium, 500);\n}\n\n.nx-calendar__cell--selected:hover {\n background: var(--color-brand-600, #4f46e5);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-calendar__day {\n transition: none;\n }\n}","/* Category C: overlay panel. Every value is a var(--token, fallback)\n from the active theme's generated custom properties. Rendered\n through ThemedPortal, which mirrors data-theme/data-accent onto\n the portal node, so these tokens resolve correctly even though\n the panel lives at the end of <body>. No literal colors, radii,\n durations, or shadows. */\n\n.nx-popover__content {\n /* Between Dropdown's menu (1050) and Tooltip (1100) — a popover\n can itself contain a dropdown or tooltip trigger, and those\n should still layer over it. */\n z-index: 1060;\n box-sizing: border-box;\n min-inline-size: 12rem;\n max-inline-size: min(24rem, calc(100vw - 16px));\n max-block-size: calc(100vh - 16px);\n overflow: auto;\n padding: var(--spacing-md, 16px);\n margin: 0;\n background: var(--color-surface, #ffffff);\n color: var(--color-text, #111827);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-lg, 12px);\n box-shadow: var(--shadow-lg, 0 10px 24px rgba(0, 0, 0, 0.18));\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n animation: nx-popover-in var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-popover__content:focus-visible {\n outline: none;\n}\n\n@keyframes nx-popover-in {\n from { opacity: 0; transform: translateY(-4px) scale(0.98); }\n to { opacity: 1; transform: translateY(0) scale(1); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-popover__content {\n animation-duration: 0.01ms;\n }\n}",".nx-datepicker__wrapper {\n position: relative;\n display: flex;\n align-items: center;\n inline-size: 100%;\n max-inline-size: 16rem;\n}\n\n.nx-datepicker__input {\n inline-size: 100%;\n box-sizing: border-box;\n padding: 8px 40px 8px 12px;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeMd, 16px);\n color: var(--color-text, #171717);\n background: var(--color-surface, #ffffff);\n border: 1px solid var(--color-border, #d4d4d4);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.05));\n transition:\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-datepicker__input:focus-visible {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-datepicker__input--invalid {\n border-color: var(--color-danger-base, #dc2626);\n}\n.nx-datepicker__input--invalid:focus-visible {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #dc2626) 20%, transparent);\n}\n\n.nx-datepicker__input:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-surface, #fafafa);\n}\n\n.nx-datepicker__icon-button {\n position: absolute;\n inset-inline-end: 6px;\n top: 50%;\n transform: translateY(-50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 28px;\n block-size: 28px;\n border: none;\n background: transparent;\n border-radius: var(--radius-full, 9999px);\n color: var(--color-textMuted, #737373);\n cursor: pointer;\n}\n\n.nx-datepicker__icon-button:hover:not(:disabled) {\n background: var(--color-surfaceRaised, #f5f5f5);\n color: var(--color-text, #404040);\n}\n\n.nx-datepicker__icon-button:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-datepicker__icon-button:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.nx-datepicker__popover {\n /* Strips PopoverContent's own card chrome (border/shadow/\n background/padding) specifically for this composition — Calendar\n now provides its own full surface treatment (background, border,\n radius, shadow, glass-blur support), so this only needs to be a\n transparent, unstyled wrapper around it. Otherwise the calendar\n would render inside a visibly doubled \"card within a card\". */\n padding: 0;\n border: none;\n box-shadow: none;\n background: transparent;\n backdrop-filter: none;\n -webkit-backdrop-filter: none;\n}",".nx-timepicker__wrapper {\n position: relative;\n display: flex;\n align-items: center;\n inline-size: 100%;\n max-inline-size: 16rem;\n}\n\n.nx-timepicker__input {\n inline-size: 100%;\n box-sizing: border-box;\n padding: 8px 40px 8px 12px;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeMd, 16px);\n color: var(--color-text, #171717);\n background: var(--color-surface, #ffffff);\n border: 1px solid var(--color-border, #d4d4d4);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.05));\n transition:\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-timepicker__input:focus-visible {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-timepicker__input--invalid {\n border-color: var(--color-danger-base, #dc2626);\n}\n.nx-timepicker__input--invalid:focus-visible {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #dc2626) 20%, transparent);\n}\n\n.nx-timepicker__input:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-surface, #fafafa);\n}\n\n.nx-timepicker__icon-button {\n position: absolute;\n inset-inline-end: 6px;\n top: 50%;\n transform: translateY(-50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 28px;\n block-size: 28px;\n border: none;\n background: transparent;\n border-radius: var(--radius-full, 9999px);\n color: var(--color-textMuted, #737373);\n cursor: pointer;\n}\n\n.nx-timepicker__icon-button:hover:not(:disabled) {\n background: var(--color-surfaceRaised, #f5f5f5);\n color: var(--color-text, #404040);\n}\n\n.nx-timepicker__icon-button:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-timepicker__icon-button:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.nx-timepicker__popover {\n /* Same reasoning as DatePicker.css's own .nx-datepicker__popover:\n strip PopoverContent's card chrome since .nx-timepicker__clock-panel\n provides its own full surface treatment, so the panel isn't a\n visibly doubled \"card within a card\". */\n padding: 0;\n border: none;\n box-shadow: none;\n background: transparent;\n backdrop-filter: none;\n -webkit-backdrop-filter: none;\n}\n\n/* --- the clock panel: dial + digital entry --- */\n\n.nx-timepicker__clock-panel {\n display: flex;\n flex-direction: column;\n gap: 12px;\n inline-size: 15.5rem;\n padding: 14px;\n background: var(--color-surfaceRaised, #ffffff);\n border: 1px solid var(--color-border, #e5e5e5);\n border-radius: var(--radius-lg, 12px);\n box-shadow: var(--shadow-lg, 0 10px 24px rgba(0, 0, 0, 0.12));\n}\n\n.nx-timepicker__panel-title {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeXs, 12px);\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-textMuted, #737373);\n}\n\n.nx-timepicker__readout {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n}\n\n.nx-timepicker__readout-segment {\n padding: 4px 10px;\n font-family: var(--typography-fontMono, ui-monospace, monospace);\n font-size: 28px;\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-text, #404040);\n background: var(--color-surface, #f5f5f5);\n border: none;\n border-radius: var(--radius-sm, 4px);\n cursor: pointer;\n}\n\n.nx-timepicker__readout-segment:disabled {\n cursor: default;\n opacity: 0.85;\n}\n\n.nx-timepicker__readout-segment--active {\n color: var(--color-brand-onAccent, #ffffff);\n background: var(--color-brand-500, #6366f1);\n}\n\n.nx-timepicker__readout-colon {\n font-family: var(--typography-fontMono, ui-monospace, monospace);\n font-size: 28px;\n color: var(--color-textMuted, #a3a3a3);\n}\n\n.nx-timepicker__meridiem-group {\n display: flex;\n flex-direction: column;\n margin-inline-start: 8px;\n border: 1px solid var(--color-border, #e5e5e5);\n border-radius: var(--radius-sm, 4px);\n overflow: hidden;\n}\n\n.nx-timepicker__meridiem-button {\n padding: 4px 10px;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeXs, 12px);\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-text, #525252);\n background: var(--color-surface, #ffffff);\n border: none;\n cursor: pointer;\n}\n\n.nx-timepicker__meridiem-button:first-child {\n border-block-end: 1px solid var(--color-border, #e5e5e5);\n}\n\n.nx-timepicker__meridiem-button:focus-visible {\n outline: none;\n box-shadow: inset 0 0 0 2px var(--color-brand-500, #6366f1);\n}\n\n.nx-timepicker__meridiem-button--active {\n color: var(--color-brand-onAccent, #ffffff);\n background: var(--color-brand-500, #6366f1);\n}\n\n.nx-timepicker__dial-face {\n position: relative;\n inline-size: 220px;\n block-size: 220px;\n margin: 4px auto;\n border-radius: var(--radius-full, 9999px);\n background: var(--color-surface, #f5f5f5);\n touch-action: none;\n user-select: none;\n}\n\n.nx-timepicker__dial-center {\n position: absolute;\n inset-inline-start: 50%;\n inset-block-start: 50%;\n inline-size: 6px;\n block-size: 6px;\n transform: translate(-50%, -50%);\n border-radius: var(--radius-full, 9999px);\n background: var(--color-brand-500, #6366f1);\n}\n\n/* Marks the exact selected point on the ring, independent of the 12\n labeled ticks — a dragged/arrow-keyed minute that lands between two\n labels (e.g. :17) has no label of its own, but still needs a\n visible marker for where it landed. */\n.nx-timepicker__dial-knob {\n position: absolute;\n inline-size: 32px;\n block-size: 32px;\n transform: translate(-50%, -50%);\n border-radius: var(--radius-full, 9999px);\n background: color-mix(in srgb, var(--color-brand-500, #6366f1) 18%, transparent);\n pointer-events: none;\n}\n\n.nx-timepicker__dial-hand {\n position: absolute;\n inset-inline-start: 50%;\n inset-block-start: 50%;\n inline-size: 2px;\n block-size: 42%;\n transform-origin: top center;\n /* translateX(-50%) + rotate() both come from dialHandStyle's own\n inline `transform`, computed together so rotation always pivots\n on the already-centered bar rather than relying on the separate\n `translate`/`transform` CSS properties' composition order. */\n background: var(--color-brand-500, #6366f1);\n pointer-events: none;\n}\n\n.nx-timepicker__dial-tick {\n position: absolute;\n inline-size: 32px;\n block-size: 32px;\n transform: translate(-50%, -50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-text, #404040);\n background: transparent;\n border: none;\n border-radius: var(--radius-full, 9999px);\n cursor: pointer;\n}\n\n.nx-timepicker__dial-tick:hover:not(:disabled) {\n background: color-mix(in srgb, var(--color-brand-500, #6366f1) 15%, transparent);\n}\n\n.nx-timepicker__dial-tick:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--color-brand-500, #6366f1);\n}\n\n.nx-timepicker__dial-tick--selected {\n color: var(--color-brand-onAccent, #ffffff);\n background: var(--color-brand-500, #6366f1);\n}\n\n.nx-timepicker__dial-tick--disabled {\n color: var(--color-textMuted, #d4d4d4);\n cursor: not-allowed;\n}\n\n.nx-timepicker__digital-entry {\n display: flex;\n align-items: flex-end;\n justify-content: center;\n gap: 6px;\n padding: 8px 0 4px;\n}\n\n.nx-timepicker__digital-field {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n}\n\n.nx-timepicker__digital-input {\n inline-size: 56px;\n box-sizing: border-box;\n padding: 8px 0;\n font-family: var(--typography-fontMono, ui-monospace, monospace);\n font-size: 24px;\n text-align: center;\n color: var(--color-text, #171717);\n background: var(--color-surface, #f5f5f5);\n border: 1px solid var(--color-border, #e5e5e5);\n border-radius: var(--radius-sm, 4px);\n}\n\n.nx-timepicker__digital-input:focus-visible {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-timepicker__digital-caption {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: 11px;\n color: var(--color-textMuted, #737373);\n}\n\n.nx-timepicker__digital-colon {\n padding-block-end: 22px;\n font-family: var(--typography-fontMono, ui-monospace, monospace);\n font-size: 24px;\n color: var(--color-textMuted, #a3a3a3);\n}\n\n.nx-timepicker__panel-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-block-start: 1px solid var(--color-border, #e5e5e5);\n padding-block-start: 10px;\n}\n\n.nx-timepicker__mode-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 32px;\n block-size: 32px;\n border: none;\n background: transparent;\n border-radius: var(--radius-full, 9999px);\n color: var(--color-text, #525252);\n cursor: pointer;\n}\n\n.nx-timepicker__mode-button:hover {\n background: var(--color-surfaceRaised, #f5f5f5);\n}\n\n.nx-timepicker__mode-button:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-timepicker__panel-actions {\n display: flex;\n gap: 4px;\n}\n\n.nx-timepicker__text-button {\n padding: 6px 12px;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-text, #525252);\n background: transparent;\n border: none;\n border-radius: var(--radius-sm, 4px);\n cursor: pointer;\n}\n\n.nx-timepicker__text-button:hover {\n background: var(--color-surfaceRaised, #f5f5f5);\n}\n\n.nx-timepicker__text-button:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-timepicker__text-button--primary {\n color: var(--color-brand-600, #4f46e5);\n}\n\n.nx-timepicker__text-button:disabled {\n color: var(--color-textMuted, #d4d4d4);\n cursor: not-allowed;\n background: transparent;\n}",".nx-colorpicker__wrapper {\n position: relative;\n display: flex;\n align-items: center;\n inline-size: 100%;\n max-inline-size: 12rem;\n}\n\n.nx-colorpicker__input {\n inline-size: 100%;\n box-sizing: border-box;\n padding: 8px 40px 8px 12px;\n font-family: var(--typography-fontMono, ui-monospace, monospace);\n font-size: var(--typography-sizeMd, 16px);\n color: var(--color-neutral-900, #171717);\n background: var(--color-neutral-0, #ffffff);\n border: 1px solid var(--color-neutral-300, #d4d4d4);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.05));\n transition:\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-colorpicker__input:focus-visible {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-colorpicker__input--invalid {\n border-color: var(--color-danger-base, #dc2626);\n}\n.nx-colorpicker__input--invalid:focus-visible {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #dc2626) 20%, transparent);\n}\n\n.nx-colorpicker__input:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50, #fafafa);\n}\n\n.nx-colorpicker__swatch-button {\n position: absolute;\n inset-inline-end: 6px;\n top: 50%;\n transform: translateY(-50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 26px;\n block-size: 26px;\n padding: 0;\n border: 1px solid var(--color-neutral-300, #d4d4d4);\n background:\n linear-gradient(45deg, #ccc 25%, transparent 25%, transparent 75%, #ccc 75%) 0 0 / 8px 8px,\n linear-gradient(45deg, #ccc 25%, transparent 25%, transparent 75%, #ccc 75%) 4px 4px / 8px 8px;\n border-radius: var(--radius-sm, 4px);\n cursor: pointer;\n}\n\n.nx-colorpicker__swatch-preview {\n inline-size: 100%;\n block-size: 100%;\n border-radius: var(--radius-sm, 4px);\n border: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.nx-colorpicker__swatch-button:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-colorpicker__swatch-button:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.nx-colorpicker__popover {\n display: flex;\n flex-direction: column;\n gap: 10px;\n inline-size: 15.5rem;\n}\n\n.nx-colorpicker__swatch-grid {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n}\n\n.nx-colorpicker__swatch-option {\n inline-size: 22px;\n block-size: 22px;\n border-radius: var(--radius-sm, 4px);\n border: 1px solid rgba(0, 0, 0, 0.1);\n cursor: pointer;\n}\n\n.nx-colorpicker__swatch-option--selected {\n box-shadow: 0 0 0 2px var(--color-neutral-0, #fff), 0 0 0 4px var(--color-brand-500, #6366f1);\n}\n\n.nx-colorpicker__swatch-option:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--color-neutral-0, #fff), 0 0 0 4px var(--color-brand-500, #6366f1);\n}\n\n/* --- custom color panel: SV area + hue slider + format fields --- */\n\n.nx-colorpicker__custom-panel {\n display: flex;\n flex-direction: column;\n gap: 10px;\n border-top: 1px solid var(--color-neutral-200, #e5e5e5);\n padding-top: 10px;\n}\n\n/* variant=\"custom\": this panel is the popover's only content, so the\n divider that normally separates it from the swatch grid above\n would just be an orphan line with nothing above it. */\n.nx-colorpicker__custom-panel--standalone {\n border-top: none;\n padding-top: 0;\n}\n\n.nx-colorpicker__sv-area {\n position: relative;\n inline-size: 100%;\n block-size: 120px;\n border-radius: var(--radius-md, 8px);\n /* backgroundColor (the pure hue) is set inline per-render; these two\n layers give the white->transparent (saturation) and\n black->transparent (value) gradients on top of it. */\n background-image: linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, transparent);\n cursor: crosshair;\n touch-action: none;\n border: 1px solid var(--color-neutral-200, #e5e5e5);\n}\n\n.nx-colorpicker__sv-thumb {\n position: absolute;\n inline-size: 14px;\n block-size: 14px;\n transform: translate(-50%, -50%);\n border-radius: var(--radius-full, 9999px);\n border: 2px solid #fff;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35), var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.25));\n cursor: grab;\n touch-action: none;\n}\n\n.nx-colorpicker__sv-thumb:active {\n cursor: grabbing;\n}\n\n.nx-colorpicker__sv-thumb:focus-visible {\n outline: none;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35), 0 0 0 3px var(--color-brand-500, #6366f1);\n}\n\n.nx-colorpicker__hue-slider {\n -webkit-appearance: none;\n appearance: none;\n inline-size: 100%;\n block-size: 12px;\n margin: 0;\n border-radius: var(--radius-full, 9999px);\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n cursor: pointer;\n}\n\n.nx-colorpicker__hue-slider:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-colorpicker__hue-slider::-webkit-slider-thumb {\n -webkit-appearance: none;\n inline-size: 18px;\n block-size: 18px;\n border-radius: var(--radius-full, 9999px);\n background: var(--color-neutral-0, #fff);\n border: 2px solid var(--color-neutral-400, #a3a3a3);\n box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.25));\n cursor: grab;\n}\n\n.nx-colorpicker__hue-slider::-moz-range-thumb {\n inline-size: 18px;\n block-size: 18px;\n border-radius: var(--radius-full, 9999px);\n background: var(--color-neutral-0, #fff);\n border: 2px solid var(--color-neutral-400, #a3a3a3);\n box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.25));\n cursor: grab;\n}\n\n.nx-colorpicker__hue-slider::-moz-range-track {\n block-size: 12px;\n border-radius: var(--radius-full, 9999px);\n background: transparent;\n}\n\n.nx-colorpicker__format-tabs {\n display: flex;\n gap: 4px;\n border-bottom: 1px solid var(--color-neutral-200, #e5e5e5);\n}\n\n.nx-colorpicker__format-tab {\n flex: 1 1 auto;\n padding: 4px 0 6px;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeXs, 12px);\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-neutral-500, #737373);\n background: none;\n border: none;\n border-bottom: 2px solid transparent;\n cursor: pointer;\n}\n\n.nx-colorpicker__format-tab--active {\n color: var(--color-brand-500, #6366f1);\n border-bottom-color: var(--color-brand-500, #6366f1);\n}\n\n.nx-colorpicker__format-tab:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-colorpicker__format-tab:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-brand-500, #6366f1) 30%, transparent);\n}\n\n.nx-colorpicker__format-fields {\n display: flex;\n gap: 6px;\n}\n\n.nx-colorpicker__format-field {\n flex: 1 1 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.nx-colorpicker__format-field--wide {\n flex: 1 1 100%;\n}\n\n.nx-colorpicker__format-field label {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: 11px;\n color: var(--color-neutral-500, #737373);\n text-align: center;\n}\n\n.nx-colorpicker__format-field input {\n inline-size: 100%;\n box-sizing: border-box;\n padding: 4px 6px;\n font-family: var(--typography-fontMono, ui-monospace, monospace);\n font-size: var(--typography-sizeXs, 12px);\n text-align: center;\n color: var(--color-neutral-900, #171717);\n background: var(--color-neutral-0, #fff);\n border: 1px solid var(--color-neutral-300, #d4d4d4);\n border-radius: var(--radius-sm, 4px);\n}\n\n.nx-colorpicker__format-field input:focus-visible {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-colorpicker__format-field input:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}",".nx-carousel {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.nx-carousel__viewport {\n position: relative;\n overflow: hidden;\n border-radius: var(--radius-lg, 12px);\n}\n\n.nx-carousel__viewport:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 30%, transparent);\n}\n\n.nx-carousel__track {\n display: flex;\n transition: transform var(--motion-durationSlow, 320ms) var(--motion-easeStandard, ease);\n will-change: transform;\n}\n\n.nx-carousel__track--vertical {\n flex-direction: column;\n}\n\n.nx-carousel__slide {\n flex: 0 0 100%;\n min-inline-size: 0;\n min-block-size: 0;\n}\n\n/* A slide's children are arbitrary (Rule: CarouselSlide takes\n `children`, no special-cased \"image\" prop) — an <img> or <video>\n dropped straight in otherwise renders at its own intrinsic pixel\n size, ignoring the slide entirely, which is what actually broke\n for image carousels. `block-size: 100%` here is a no-op (computes\n to `auto`) unless the consumer also gives CarouselViewport an\n explicit height — the standard pattern for a fixed-height image\n carousel (see the \"Images\" docs example) — so this is safe for\n auto-height content carousels too. */\n.nx-carousel__slide img,\n.nx-carousel__slide video {\n display: block;\n inline-size: 100%;\n block-size: 100%;\n object-fit: cover;\n}\n\n.nx-carousel__button {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 36px;\n block-size: 36px;\n border: 1px solid var(--color-neutral-200, #e5e5e5);\n border-radius: var(--radius-full, 9999px);\n background: color-mix(in srgb, var(--color-neutral-0, #ffffff) 85%, transparent);\n color: var(--color-neutral-800, #262626);\n box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.1));\n cursor: pointer;\n}\n\n.nx-carousel__button--prev {\n inset-inline-start: 10px;\n}\n\n.nx-carousel__button--next {\n inset-inline-end: 10px;\n}\n\n.nx-carousel__button:hover:not(:disabled) {\n background: var(--color-neutral-0, #ffffff);\n}\n\n.nx-carousel__button:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 30%, transparent);\n}\n\n.nx-carousel__button:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n\n.nx-carousel__indicators {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n}\n\n.nx-carousel__indicator {\n inline-size: 8px;\n block-size: 8px;\n padding: 0;\n border: none;\n border-radius: var(--radius-full, 9999px);\n background: var(--color-neutral-300, #d4d4d4);\n cursor: pointer;\n transition: background var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease), transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-carousel__indicator:hover {\n background: var(--color-neutral-400, #a3a3a3);\n}\n\n.nx-carousel__indicator:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 30%, transparent);\n}\n\n.nx-carousel__indicator--active {\n background: var(--color-brand-500, #6366f1);\n transform: scale(1.25);\n}",".nx-timeline {\n display: flex;\n flex-direction: column;\n margin: 0;\n padding: 0;\n list-style: none;\n inline-size: 100%;\n}\n\n/* --- vertical (default) --- */\n\n.nx-timeline--vertical {\n flex-direction: column;\n}\n\n.nx-timeline--vertical .nx-timeline__item {\n display: flex;\n gap: 16px;\n}\n\n.nx-timeline--vertical .nx-timeline__marker {\n display: flex;\n flex-direction: column;\n align-items: center;\n flex: 0 0 auto;\n}\n\n.nx-timeline--vertical .nx-timeline__connector {\n flex: 1 1 auto;\n inline-size: 2px;\n min-block-size: 20px;\n margin-block: 4px;\n background: var(--color-border, #e5e5e5);\n}\n\n.nx-timeline--vertical .nx-timeline__item:last-child .nx-timeline__connector {\n display: none;\n}\n\n.nx-timeline--vertical .nx-timeline__content {\n padding-block-end: 20px;\n}\n\n/* alternate: even items flip to the other side of the line */\n.nx-timeline--align-alternate.nx-timeline--vertical .nx-timeline__item:nth-child(even) {\n flex-direction: row-reverse;\n text-align: end;\n}\n.nx-timeline--align-alternate.nx-timeline--vertical .nx-timeline__item:nth-child(even) .nx-timeline__header {\n flex-direction: row-reverse;\n}\n\n.nx-timeline--align-end.nx-timeline--vertical .nx-timeline__item {\n flex-direction: row-reverse;\n text-align: end;\n}\n.nx-timeline--align-end.nx-timeline--vertical .nx-timeline__header {\n flex-direction: row-reverse;\n}\n\n/* --- horizontal --- */\n\n.nx-timeline--horizontal {\n flex-direction: row;\n overflow-x: auto;\n}\n\n.nx-timeline--horizontal .nx-timeline__item {\n display: flex;\n flex-direction: column;\n align-items: center;\n flex: 1 0 10rem;\n}\n\n.nx-timeline--horizontal .nx-timeline__marker {\n display: flex;\n align-items: center;\n inline-size: 100%;\n}\n\n.nx-timeline--horizontal .nx-timeline__connector {\n flex: 1 1 auto;\n block-size: 2px;\n margin-inline: 4px;\n background: var(--color-border, #e5e5e5);\n}\n\n.nx-timeline--horizontal .nx-timeline__item:last-child .nx-timeline__connector {\n display: none;\n}\n\n.nx-timeline--horizontal .nx-timeline__content {\n text-align: center;\n padding-block-start: 10px;\n}\n\n/* --- marker / dot --- */\n\n.nx-timeline__dot {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 12px;\n block-size: 12px;\n border-radius: var(--radius-full, 9999px);\n background: var(--color-textMuted, #a3a3a3);\n border: 2px solid var(--color-background, #ffffff);\n box-shadow: 0 0 0 1px var(--color-border, #e5e5e5);\n flex: 0 0 auto;\n}\n\n.nx-timeline__dot--icon {\n inline-size: 22px;\n block-size: 22px;\n background: var(--color-surface, #ffffff);\n color: var(--color-text, #404040);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: 12px;\n line-height: 1;\n font-weight: var(--typography-weightMedium, 500);\n}\n\n/* Normalizes whatever the consumer's own icon renders at (an icon\n component's `size` prop defaults to 20px in this library, too big\n for a 22px dot with any breathing room) down to a size that\n actually fits — \"large for icon type automatically\" holds\n regardless of what the icon itself was told to render at. CSS\n width/height take precedence over an SVG's own width/height\n presentation attributes, so this applies even when the consumer\n passed an explicit size. */\n.nx-timeline__dot--icon svg,\n.nx-timeline__dot--icon img {\n inline-size: 14px;\n block-size: 14px;\n display: block;\n}\n\n.nx-timeline__dot--success {\n background: var(--color-success-base, #16a34a);\n}\n.nx-timeline__dot--warning {\n background: var(--color-warning-base, #d97706);\n}\n.nx-timeline__dot--danger {\n background: var(--color-danger-base, #dc2626);\n}\n.nx-timeline__dot--info {\n background: var(--color-brand-500, #6366f1);\n}\n\n/* --- content --- */\n\n.nx-timeline__header {\n display: flex;\n align-items: baseline;\n gap: 8px;\n flex-wrap: wrap;\n}\n\n.nx-timeline__title {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeMd, 16px);\n font-weight: var(--typography-weightSemibold, 600);\n color: var(--color-text, #171717);\n}\n\n.nx-timeline__timestamp {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeXs, 12px);\n color: var(--color-textMuted, #737373);\n}\n\n.nx-timeline__description {\n margin-block-start: 4px;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-textMuted, #525252);\n}","/* Mirrors Modal.css's backdrop/panel shape (same z-index tier,\n same entrance-animation convention) since this genuinely is a\n modal dialog, just shaped like a search box + list. Item styling\n mirrors the shared .nx-list-item look from ListPanel.css (used by\n Dropdown/Select) for visual consistency across every \"list of\n things to pick\" surface in the library, even though this file\n defines its own classes rather than importing that one — the\n backdrop-anchored top alignment here doesn't share ListPanel's\n floating-popover positioning concerns. */\n\n.nx-command__backdrop {\n position: fixed;\n inset: 0;\n z-index: 1000;\n display: flex;\n justify-content: center;\n padding-top: 12vh;\n padding-inline: var(--spacing-lg, 24px);\n background: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(2px);\n animation: nx-command-backdrop-in var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n@keyframes nx-command-backdrop-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n.nx-command {\n display: flex;\n flex-direction: column;\n inline-size: 100%;\n max-inline-size: 640px;\n max-block-size: min(480px, 70vh);\n background: var(--color-neutral-0, #ffffff);\n border-radius: var(--radius-lg, 14px);\n box-shadow: var(--shadow-xl, 0 20px 40px rgba(0, 0, 0, 0.25));\n border: 1px solid var(--color-neutral-200, #e5e5e5);\n overflow: hidden;\n outline: none;\n animation: nx-command-panel-in var(--motion-durationNormal, 180ms) var(--motion-easeEmphasized, ease);\n}\n\n@keyframes nx-command-panel-in {\n from { opacity: 0; transform: translateY(-8px) scale(0.98); }\n to { opacity: 1; transform: translateY(0) scale(1); }\n}\n\n.nx-command__search {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 14px 16px;\n border-bottom: 1px solid var(--color-neutral-200, #e5e5e5);\n flex-shrink: 0;\n}\n\n.nx-command__search-icon {\n flex-shrink: 0;\n color: var(--color-neutral-400, #a3a3a3);\n}\n\n.nx-command__input {\n flex: 1;\n border: none;\n outline: none;\n background: transparent;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeMd, 16px);\n color: var(--color-neutral-900, #171717);\n}\n\n.nx-command__input::placeholder {\n color: var(--color-neutral-400, #a3a3a3);\n}\n\n.nx-command__list {\n overflow-y: auto;\n padding: 8px;\n}\n\n.nx-command__group + .nx-command__group {\n margin-top: 4px;\n}\n\n.nx-command__group-label {\n padding: 6px 8px 4px;\n font-size: var(--typography-sizeXs, 12px);\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-neutral-400, #a3a3a3);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n}\n\n.nx-command__item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 9px 10px;\n border-radius: var(--radius-sm, 4px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-neutral-800, #262626);\n cursor: pointer;\n}\n\n.nx-command__item--active {\n background: var(--color-brand-50, #eef2ff);\n color: var(--color-brand-700, #4338ca);\n}\n\n.nx-command__item--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-command__item-label {\n flex: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.nx-command__item-description {\n color: var(--color-neutral-400, #a3a3a3);\n font-size: 0.9em;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.nx-command__item-shortcut {\n flex-shrink: 0;\n padding: 2px 6px;\n border-radius: var(--radius-sm, 4px);\n background: var(--color-neutral-100, #f5f5f5);\n color: var(--color-neutral-500, #737373);\n font-size: var(--typography-sizeXs, 12px);\n font-family: var(--typography-fontMono, ui-monospace, monospace);\n}\n\n.nx-command__item--active .nx-command__item-shortcut {\n background: var(--color-neutral-0, #ffffff);\n}\n\n.nx-command__empty {\n padding: 24px 8px;\n text-align: center;\n color: var(--color-neutral-400, #a3a3a3);\n font-size: var(--typography-sizeSm, 14px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-command__backdrop,\n .nx-command {\n animation-duration: 0.01ms;\n }\n}\n",".nx-number-input-wrapper {\n display: flex;\n align-items: stretch;\n background: var(--color-surface, #ffffff);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-xs, none);\n overflow: hidden;\n transition: border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-number-input-wrapper:focus-within {\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-number-input-wrapper--invalid {\n border-color: var(--color-danger-base, #ef4444);\n}\n.nx-number-input-wrapper--invalid:focus-within {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #ef4444) 20%, transparent);\n}\n\n.nx-number-input-wrapper--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50, #f9fafb);\n}\n\n.nx-number-input {\n flex: 1;\n min-width: 0;\n border: none;\n outline: none;\n background: transparent;\n padding: 8px 12px;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-text, #111827);\n}\n\n.nx-number-input:disabled {\n cursor: not-allowed;\n}\n\n.nx-number-input-wrapper--xs { font-size: var(--typography-sizeXs, 12px); }\n.nx-number-input-wrapper--sm { font-size: var(--typography-sizeSm, 14px); }\n.nx-number-input-wrapper--md { font-size: var(--typography-sizeMd, 16px); }\n.nx-number-input-wrapper--lg { font-size: var(--typography-sizeLg, 18px); }\n.nx-number-input-wrapper--xl { font-size: var(--typography-sizeXl, 22px); }\n\n.nx-number-input--xs, .nx-number-input--sm, .nx-number-input--md, .nx-number-input--lg, .nx-number-input--xl {\n font-size: inherit;\n}\n\n.nx-number-input__stepper {\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n border-left: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n}\n\n.nx-number-input__stepper-btn {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 1.75em;\n border: none;\n background: transparent;\n color: var(--color-textMuted, #6b7280);\n font-family: inherit;\n font-size: inherit;\n line-height: 1;\n cursor: pointer;\n padding: 0 8px;\n transition: background var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-number-input__stepper-btn:first-child {\n border-bottom: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n}\n\n.nx-number-input__stepper-btn:not(:disabled):hover {\n background: var(--color-neutral-100, #f3f4f6);\n color: var(--color-text, #111827);\n}\n\n.nx-number-input__stepper-btn:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n",".nx-file-upload {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-sm, 8px);\n inline-size: 100%;\n box-sizing: border-box;\n padding: var(--spacing-lg, 24px);\n border: var(--border-widthMedium, 2px) dashed var(--color-border, #e5e7eb);\n border-radius: var(--radius-lg, 12px);\n background: var(--color-surface, #ffffff);\n text-align: center;\n transition: border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n background var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-file-upload--dragging {\n border-color: var(--color-brand-500, #6366f1);\n background: color-mix(in srgb, var(--color-brand-500, #6366f1) 6%, var(--color-surface, #ffffff));\n}\n\n.nx-file-upload--invalid {\n border-color: var(--color-danger-base, #ef4444);\n}\n\n.nx-file-upload--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-file-upload--xs, .nx-file-upload--sm { padding: var(--spacing-md, 16px); }\n.nx-file-upload--lg, .nx-file-upload--xl { padding: var(--spacing-xl, 32px); }\n\n/* Visually hidden, not display:none — a hidden-by-display input\n can't receive drag/drop focus semantics or be reached by a form\n library that queries for it. Same visually-hidden technique used\n for other \"real control, styled invisible\" cases across the web\n platform. */\n.nx-file-upload__input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.nx-file-upload__prompt {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n}\n\n.nx-file-upload__hint {\n margin: 0;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-file-upload__list {\n list-style: none;\n margin: var(--spacing-sm, 8px) 0 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs, 4px);\n}\n\n.nx-file-upload__item {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n padding: 6px 10px;\n border-radius: var(--radius-sm, 4px);\n background: var(--color-neutral-50, #f9fafb);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n}\n\n.nx-file-upload__item-name {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--color-text, #111827);\n}\n\n.nx-file-upload__item-size {\n flex-shrink: 0;\n color: var(--color-textMuted, #6b7280);\n font-size: var(--typography-sizeXs, 12px);\n}\n\n.nx-file-upload__item-remove {\n flex-shrink: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n color: var(--color-textMuted, #6b7280);\n font-size: var(--typography-sizeMd, 16px);\n line-height: 1;\n padding: 0 4px;\n}\n\n.nx-file-upload__item-remove:hover {\n color: var(--color-danger-base, #ef4444);\n}\n\n.nx-file-upload__item-remove:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n",".nx-pagination {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-pagination__list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--spacing-xs, 4px);\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.nx-pagination__item {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 2.25em;\n height: 2.25em;\n padding: 0 8px;\n /* Reads the theme's own border color (not a hardcoded transparent)\n the same way Button.css does — for most themes color.border is a\n barely-there gray, but for neobrutalism/brutalism/cyberpunk this\n is the difference between every page button looking like plain\n text and actually carrying that theme's signature bold/neon\n border. See Button.css's own comment for the full reasoning. */\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);\n border-radius: var(--radius-md, 8px);\n background: transparent;\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n box-shadow: var(--shadow-xs, none);\n color: var(--color-text, #111827);\n font-family: inherit;\n font-size: inherit;\n cursor: pointer;\n transition: background var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-pagination__item:not(:disabled):not(.nx-pagination__item--active):hover {\n background: var(--color-neutral-100, #f3f4f6);\n}\n\n/* Same press-in convention as Button.css: an imperceptible no-op on\n flat/shadowless themes, but on neobrutalism specifically it reads\n as the button physically pressing into its own hard offset shadow. */\n.nx-pagination__item:not(:disabled):active {\n box-shadow: none;\n transform: translate(1px, 1px);\n}\n\n.nx-pagination__item--active {\n background: var(--color-brand-500, #6366f1);\n border-color: var(--color-brand-500, #6366f1);\n color: var(--color-brand-onAccent, #ffffff);\n box-shadow: var(--shadow-sm, none);\n}\n\n.nx-pagination__item:disabled,\n.nx-pagination__item--disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.nx-pagination__ellipsis {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 2.25em;\n height: 2.25em;\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-pagination--xs { font-size: var(--typography-sizeXs, 12px); }\n.nx-pagination--sm { font-size: var(--typography-sizeSm, 14px); }\n.nx-pagination--md { font-size: var(--typography-sizeMd, 16px); }\n.nx-pagination--lg { font-size: var(--typography-sizeLg, 18px); }\n.nx-pagination--xl { font-size: var(--typography-sizeXl, 22px); }\n\n.nx-pagination--disabled {\n opacity: 0.6;\n}\n",".nx-breadcrumb {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-breadcrumb__list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.nx-breadcrumb__item {\n display: inline-flex;\n align-items: center;\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-breadcrumb__item--current {\n color: var(--color-text, #111827);\n font-weight: var(--typography-weightMedium, 500);\n}\n\n.nx-breadcrumb__item--disabled {\n opacity: 0.5;\n}\n\n.nx-breadcrumb__label,\n.nx-breadcrumb__link {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 2px 8px;\n border-radius: var(--radius-sm, 4px);\n border: var(--border-widthThin, 1px) var(--border-style, solid) transparent;\n transition: background var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-breadcrumb__link {\n color: inherit;\n text-decoration: none;\n cursor: pointer;\n}\n\n.nx-breadcrumb__link:hover {\n color: var(--color-brand-500, #6366f1);\n background: var(--color-neutral-100, #f3f4f6);\n border-color: var(--color-border, transparent);\n}\n\n.nx-breadcrumb__link:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n/* The trail's current item reads as a small themed surface — the\n same border/shadow/radius fingerprint every other bordered element\n in the library uses (see Card--filled, Badge--soft) — rather than\n plain text, which is what left this the one component with nothing\n for a theme's border/shadow tokens to actually attach to. */\n.nx-breadcrumb__item--current .nx-breadcrumb__label {\n background: var(--color-surfaceRaised, #f3f4f6);\n border-color: var(--color-border, transparent);\n box-shadow: var(--shadow-xs, none);\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n}\n\n.nx-breadcrumb__icon {\n display: inline-flex;\n align-items: center;\n}\n\n.nx-breadcrumb__separator {\n margin: 0 8px;\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-breadcrumb--xs { font-size: var(--typography-sizeXs, 12px); }\n.nx-breadcrumb--sm { font-size: var(--typography-sizeSm, 14px); }\n.nx-breadcrumb--md { font-size: var(--typography-sizeMd, 16px); }\n.nx-breadcrumb--lg { font-size: var(--typography-sizeLg, 18px); }\n.nx-breadcrumb--xl { font-size: var(--typography-sizeXl, 22px); }\n",".nx-skeleton {\n display: block;\n background: color-mix(in srgb, var(--color-text, #111827) 12%, var(--color-surface, #ffffff));\n position: relative;\n overflow: hidden;\n}\n\n.nx-skeleton--text {\n border-radius: var(--radius-sm, 4px);\n block-size: 1em;\n inline-size: 100%;\n}\n\n.nx-skeleton--circular {\n border-radius: var(--radius-full, 999px);\n inline-size: 40px;\n block-size: 40px;\n}\n\n.nx-skeleton--rectangular {\n border-radius: var(--radius-md, 8px);\n inline-size: 100%;\n block-size: 100px;\n}\n\n.nx-skeleton-group {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs, 4px);\n}\n\n.nx-skeleton--pulse {\n animation: nx-skeleton-pulse var(--motion-durationSlow, 1.5s) var(--motion-easeStandard, ease) infinite;\n}\n\n@keyframes nx-skeleton-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.4; }\n}\n\n.nx-skeleton--wave::after {\n content: \"\";\n position: absolute;\n inset: 0;\n background: linear-gradient(\n 90deg,\n transparent,\n color-mix(in srgb, var(--color-surface, #ffffff) 50%, transparent),\n transparent\n );\n animation: nx-skeleton-wave var(--motion-durationSlow, 1.5s) linear infinite;\n}\n\n@keyframes nx-skeleton-wave {\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(100%); }\n}\n\n/* Shine — a diagonal glossy sweep baked into the element's own\n background and animated via background-position, distinct from\n \"wave\"'s horizontal ::after overlay: this one is a single\n continuous gradient moving through the shape at an angle, not a\n separate translating layer. */\n.nx-skeleton--shine {\n background: linear-gradient(\n 110deg,\n color-mix(in srgb, var(--color-text, #111827) 12%, var(--color-surface, #ffffff)) 35%,\n color-mix(in srgb, var(--color-surface, #ffffff) 65%, var(--color-text, #111827) 12%) 50%,\n color-mix(in srgb, var(--color-text, #111827) 12%, var(--color-surface, #ffffff)) 65%\n );\n background-size: 300% 100%;\n animation: nx-skeleton-shine var(--motion-durationSlow, 1.5s) ease-in-out infinite;\n}\n\n@keyframes nx-skeleton-shine {\n 0% { background-position: 150% 0; }\n 100% { background-position: -50% 0; }\n}\n\n/* Glow — a pulsing ambient halo around the shape's own edge, using\n the active brand accent; distinct from \"pulse\" (the shape itself\n never dims here, only the shadow around it breathes). */\n.nx-skeleton--glow {\n animation: nx-skeleton-glow var(--motion-durationSlow, 1.5s) var(--motion-easeStandard, ease) infinite;\n}\n\n@keyframes nx-skeleton-glow {\n 0%, 100% {\n box-shadow: 0 0 0 0 color-mix(in srgb, var(--color-brand-500, #6366f1) 35%, transparent);\n }\n 50% {\n box-shadow: 0 0 12px 4px color-mix(in srgb, var(--color-brand-500, #6366f1) 35%, transparent);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-skeleton--pulse,\n .nx-skeleton--wave::after,\n .nx-skeleton--shine,\n .nx-skeleton--glow {\n animation: none;\n }\n}","/* Category F: complex/stateful. Every value is a var(--token,\n fallback) from the active theme, same discipline as every other\n component — no literal colors, radii, or durations. */\n\n.nx-table-wrapper {\n width: 100%;\n overflow: auto;\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-md, 8px);\n background: var(--color-surface, #ffffff);\n box-shadow: var(--shadow-sm, none);\n}\n\n.nx-table {\n width: 100%;\n border-collapse: collapse;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-text, #111827);\n}\n\n.nx-table__caption {\n caption-side: top;\n text-align: left;\n padding: var(--spacing-sm, 8px) var(--spacing-md, 16px);\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-table__caption--sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* ---- Header ---- */\n.nx-table__header {\n background: var(--color-surfaceRaised, #f9fafb);\n}\n\n.nx-table--sticky-header .nx-table__header {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.nx-table__head-cell {\n text-align: left;\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-textMuted, #6b7280);\n border-bottom: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n white-space: nowrap;\n}\n\n.nx-table__head-cell-content {\n display: inline-flex;\n align-items: center;\n gap: 0.35em;\n}\n\n.nx-table__head-cell--sortable {\n cursor: pointer;\n user-select: none;\n outline: none;\n}\n.nx-table__head-cell--sortable:hover {\n color: var(--color-text, #111827);\n}\n.nx-table__head-cell--sortable:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: -2px;\n}\n\n.nx-table__sort-icon {\n display: inline-flex;\n flex-direction: column;\n width: 10px;\n height: 12px;\n}\n.nx-table__sort-arrow-up,\n.nx-table__sort-arrow-down {\n opacity: 0.25;\n}\n.nx-table__sort-icon[data-direction=\"asc\"] .nx-table__sort-arrow-up { opacity: 1; }\n.nx-table__sort-icon[data-direction=\"desc\"] .nx-table__sort-arrow-down { opacity: 1; }\n\n/* ---- Body / rows / cells ---- */\n.nx-table__body .nx-table__row {\n border-bottom: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n.nx-table__body .nx-table__row:last-child {\n border-bottom: none;\n}\n\n.nx-table--striped .nx-table__body .nx-table__row:nth-child(even) {\n background: var(--color-surfaceRaised, #f9fafb);\n}\n\n.nx-table__row--clickable {\n cursor: pointer;\n}\n.nx-table__row--clickable:hover {\n background: var(--color-neutral-100, #f3f4f6);\n}\n\n.nx-table__row--selected {\n background: var(--color-brand-50, #eef2ff);\n}\n.nx-table__row--selected.nx-table__row--clickable:hover {\n background: var(--color-brand-50, #eef2ff);\n}\n\n.nx-table__cell {\n vertical-align: middle;\n}\n\n.nx-table__empty-cell {\n text-align: center;\n padding: var(--spacing-xl, 32px) var(--spacing-md, 16px);\n color: var(--color-textMuted, #6b7280);\n}\n\n/* A Checkbox composed inside a table cell (Rule 12 — see Table's\n docs page) shouldn't carry its normal field spacing/label gap;\n this scopes the reset to table cells only, leaving standalone\n Checkbox usage everywhere else untouched. */\n.nx-table__cell .nx-field,\n.nx-table__head-cell .nx-field {\n display: inline-flex;\n}\n\n/* ---- Bordered variant ---- */\n.nx-table--bordered .nx-table__head-cell,\n.nx-table--bordered .nx-table__cell {\n border-right: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n}\n.nx-table--bordered .nx-table__head-cell:last-child,\n.nx-table--bordered .nx-table__cell:last-child {\n border-right: none;\n}\n\n/* ---- Sizes: cell padding + font-size, from the shared scale ---- */\n.nx-table--xs .nx-table__head-cell, .nx-table--xs .nx-table__cell { padding: 6px 10px; font-size: var(--typography-sizeXs, 12px); }\n.nx-table--sm .nx-table__head-cell, .nx-table--sm .nx-table__cell { padding: 8px 12px; font-size: var(--typography-sizeSm, 14px); }\n.nx-table--md .nx-table__head-cell, .nx-table--md .nx-table__cell { padding: 10px 16px; font-size: var(--typography-sizeSm, 14px); }\n.nx-table--lg .nx-table__head-cell, .nx-table--lg .nx-table__cell { padding: 12px 18px; font-size: var(--typography-sizeMd, 16px); }\n.nx-table--xl .nx-table__head-cell, .nx-table--xl .nx-table__cell { padding: 14px 20px; font-size: var(--typography-sizeLg, 18px); }\n\n@media (prefers-reduced-motion: reduce) {\n .nx-table__row {\n transition: none;\n }\n}","/* Category C overlay. Every value is a var(--token, fallback) from\n the active theme, same as Modal.css — the panel itself positions\n with `position: fixed` and a side-specific inset/transform rather\n than relying on the backdrop's own layout (no `:has()` dependency,\n which keeps this working the same way in every supported browser). */\n\n.nx-drawer-backdrop {\n position: fixed;\n inset: 0;\n z-index: 1000;\n background: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(2px);\n animation: nx-drawer-backdrop-in var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n@keyframes nx-drawer-backdrop-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n.nx-drawer {\n position: fixed;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n background: var(--color-surface, #ffffff);\n box-shadow: var(--shadow-xl, 0 20px 40px rgba(0, 0, 0, 0.2));\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n outline: none; /* focus lands here programmatically */\n animation-duration: var(--motion-durationNormal, 220ms);\n animation-timing-function: var(--motion-easeEmphasized, ease);\n animation-fill-mode: both;\n}\n\n/* ---- Side anchoring + slide-in direction ---- */\n.nx-drawer--left,\n.nx-drawer--right {\n top: 0;\n bottom: 0;\n max-width: calc(100vw - var(--spacing-lg, 24px));\n}\n.nx-drawer--left {\n left: 0;\n border-right: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);\n animation-name: nx-drawer-slide-left-in;\n}\n.nx-drawer--right {\n right: 0;\n border-left: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);\n animation-name: nx-drawer-slide-right-in;\n}\n\n.nx-drawer--top,\n.nx-drawer--bottom {\n left: 0;\n right: 0;\n max-height: calc(100vh - var(--spacing-lg, 24px));\n}\n.nx-drawer--top {\n top: 0;\n border-bottom: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);\n animation-name: nx-drawer-slide-top-in;\n}\n.nx-drawer--bottom {\n bottom: 0;\n border-top: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);\n animation-name: nx-drawer-slide-bottom-in;\n}\n\n@keyframes nx-drawer-slide-left-in {\n from { transform: translateX(-100%); opacity: 0; }\n to { transform: translateX(0); opacity: 1; }\n}\n@keyframes nx-drawer-slide-right-in {\n from { transform: translateX(100%); opacity: 0; }\n to { transform: translateX(0); opacity: 1; }\n}\n@keyframes nx-drawer-slide-top-in {\n from { transform: translateY(-100%); opacity: 0; }\n to { transform: translateY(0); opacity: 1; }\n}\n@keyframes nx-drawer-slide-bottom-in {\n from { transform: translateY(100%); opacity: 0; }\n to { transform: translateY(0); opacity: 1; }\n}\n\n/* ---- Sizes: left/right control width, top/bottom control height,\n \"size\" always means \"how far the panel extends from its edge\" ---- */\n.nx-drawer--left.nx-drawer--xs, .nx-drawer--right.nx-drawer--xs { width: 280px; }\n.nx-drawer--left.nx-drawer--sm, .nx-drawer--right.nx-drawer--sm { width: 360px; }\n.nx-drawer--left.nx-drawer--md, .nx-drawer--right.nx-drawer--md { width: 420px; }\n.nx-drawer--left.nx-drawer--lg, .nx-drawer--right.nx-drawer--lg { width: 520px; }\n.nx-drawer--left.nx-drawer--xl, .nx-drawer--right.nx-drawer--xl { width: 640px; }\n.nx-drawer--left.nx-drawer--full, .nx-drawer--right.nx-drawer--full { width: 100vw; max-width: none; }\n\n.nx-drawer--top.nx-drawer--xs, .nx-drawer--bottom.nx-drawer--xs { height: 200px; }\n.nx-drawer--top.nx-drawer--sm, .nx-drawer--bottom.nx-drawer--sm { height: 280px; }\n.nx-drawer--top.nx-drawer--md, .nx-drawer--bottom.nx-drawer--md { height: 360px; }\n.nx-drawer--top.nx-drawer--lg, .nx-drawer--bottom.nx-drawer--lg { height: 460px; }\n.nx-drawer--top.nx-drawer--xl, .nx-drawer--bottom.nx-drawer--xl { height: 560px; }\n.nx-drawer--top.nx-drawer--full, .nx-drawer--bottom.nx-drawer--full { height: 100vh; max-height: none; }\n\n/* ---- Header / body / footer — same structure as Modal's ---- */\n.nx-drawer__header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--spacing-md, 16px);\n padding: var(--spacing-lg, 24px) var(--spacing-lg, 24px) 0;\n flex-shrink: 0;\n}\n\n.nx-drawer__title {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeLg, 18px);\n font-weight: var(--typography-weightBold, 700);\n color: var(--color-text, #111827);\n}\n\n.nx-drawer__close {\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: var(--color-textMuted, #6b7280);\n cursor: pointer;\n border-radius: var(--radius-sm, 6px);\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n.nx-drawer__close:hover {\n background: var(--color-surfaceRaised, #f3f4f6);\n color: var(--color-text, #111827);\n}\n.nx-drawer__close:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n.nx-drawer__body {\n flex: 1;\n overflow-y: auto;\n padding: var(--spacing-lg, 24px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n line-height: var(--typography-lineHeightNormal, 1.5);\n color: var(--color-text, #111827);\n}\n\n.nx-drawer__footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--spacing-sm, 8px);\n padding: 0 var(--spacing-lg, 24px) var(--spacing-lg, 24px);\n flex-shrink: 0;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-drawer-backdrop, .nx-drawer {\n animation-duration: 0.01ms;\n }\n}\n",".nx-rating {\n display: inline-flex;\n align-items: center;\n gap: calc(var(--spacing-xs, 4px) / 2);\n outline: none;\n border-radius: var(--radius-sm, 4px);\n}\n\n.nx-rating:focus-visible {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-rating--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-rating--readonly {\n cursor: default;\n}\n\n.nx-rating__star {\n display: inline-flex;\n cursor: pointer;\n color: var(--color-textMuted, #d1d5db);\n transition: color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-rating--disabled .nx-rating__star,\n.nx-rating--readonly .nx-rating__star {\n cursor: inherit;\n}\n\n.nx-rating__star--half,\n.nx-rating__star--full {\n color: var(--color-brand-500, #6366f1);\n}\n\n.nx-rating:not(.nx-rating--disabled):not(.nx-rating--readonly) .nx-rating__star:hover {\n transform: scale(1.08);\n}\n\n.nx-rating--xs .nx-rating__star-icon { width: 14px; height: 14px; }\n.nx-rating--sm .nx-rating__star-icon { width: 16px; height: 16px; }\n.nx-rating--md .nx-rating__star-icon { width: 20px; height: 20px; }\n.nx-rating--lg .nx-rating__star-icon { width: 26px; height: 26px; }\n.nx-rating--xl .nx-rating__star-icon { width: 32px; height: 32px; }",".nx-otp-input {\n display: inline-flex;\n gap: var(--spacing-sm, 8px);\n}\n\n.nx-otp-input--disabled {\n opacity: 0.5;\n}\n\n.nx-otp-input__box {\n text-align: center;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-text, #111827);\n background: var(--color-surface, #ffffff);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-md, 8px);\n outline: none;\n transition: border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-otp-input__box:disabled {\n cursor: not-allowed;\n background: var(--color-neutral-50, #f9fafb);\n}\n\n.nx-otp-input__box:focus {\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-otp-input__box--filled {\n border-color: var(--color-brand-500, #6366f1);\n}\n\n.nx-otp-input__box--invalid {\n border-color: var(--color-danger-base, #ef4444);\n}\n.nx-otp-input__box--invalid:focus {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #ef4444) 20%, transparent);\n}\n\n/* Sizes control box dimensions and font-size together, same pattern as NumberInput's font-size-only scale but with an explicit box footprint since these aren't flowing text inputs. */\n.nx-otp-input--xs .nx-otp-input__box { width: 28px; height: 32px; font-size: var(--typography-sizeSm, 14px); }\n.nx-otp-input--sm .nx-otp-input__box { width: 34px; height: 38px; font-size: var(--typography-sizeMd, 16px); }\n.nx-otp-input--md .nx-otp-input__box { width: 42px; height: 48px; font-size: var(--typography-sizeLg, 18px); }\n.nx-otp-input--lg .nx-otp-input__box { width: 50px; height: 56px; font-size: var(--typography-sizeXl, 22px); }\n.nx-otp-input--xl .nx-otp-input__box { width: 58px; height: 64px; font-size: var(--typography-sizeXl, 22px); }\n","/* The nested Select sits inside Input's own bordered wrapper (as its\n `prefix` adornment), so its own trigger chrome — border, shadow,\n background, the 100%-width/max-width sizing meant for a\n standalone Select — is stripped/overridden here rather than\n presenting as \"a select nested inside another bordered field\". A\n thin divider on the trigger takes over the border's job of\n separating it from the number field.\n\n A fixed width (not `auto`/content-based) keeps the trigger from\n growing wider than the number field it sits beside. The trigger\n itself only ever shows toSelectOptions' short, flag-less\n `triggerLabel` (\"US +1\", \"GG +441481\", ...) rather than the\n full-name `label` the open listbox uses (\"United States +1\") —\n see the comment on toSelectOptions for why. 104px comfortably\n fits every default-list entry, including the longest\n (\"GG +441481\"); the ellipsis below is just a safety net for a\n custom `countries` list with something longer still. */\n.nx-phone-input__country-select {\n inline-size: 104px;\n max-inline-size: 104px;\n flex: none;\n}\n\n.nx-phone-input__country-select .nx-select__trigger {\n border: none;\n box-shadow: none !important;\n background: transparent;\n padding-inline-end: var(--spacing-xs, 4px);\n padding-inline-start: 0;\n border-inline-end: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: 0;\n}\n\n.nx-phone-input__country-select .nx-select__value {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}",".nx-stat-card {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs, 4px);\n}\n\n.nx-stat-card__header {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-stat-card__icon {\n display: inline-flex;\n flex: none;\n color: var(--color-brand-500, #6366f1);\n}\n\n.nx-stat-card__label {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n font-weight: var(--typography-weightMedium, 500);\n}\n\n.nx-stat-card__value {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeXl, 22px);\n font-weight: var(--typography-weightBold, 700);\n line-height: var(--typography-lineHeightTight, 1.2);\n color: var(--color-text, #111827);\n}\n\n.nx-stat-card__trend {\n display: flex;\n align-items: center;\n gap: var(--spacing-xs, 4px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n font-weight: var(--typography-weightMedium, 500);\n}\n\n.nx-stat-card__trend-icon {\n inline-size: 1em;\n block-size: 1em;\n}\n\n/* Semantic — good/bad movement, never the accent system (CONTRACT.md\n Rule 5b: success/danger stay theme-defined). */\n.nx-stat-card__trend--up {\n color: var(--color-success-base, #10b981);\n}\n.nx-stat-card__trend--down {\n color: var(--color-danger-base, #ef4444);\n}\n.nx-stat-card__trend--flat {\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-stat-card__trend-label {\n color: var(--color-textMuted, #6b7280);\n font-weight: var(--typography-weightNormal, 400);\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/react/Button.css","../../src/react/Field.css","../../src/react/Input.css","../../src/react/Textarea.css","../../src/react/Checkbox.css","../../src/react/Radio.css","../../src/react/Toggle.css","../../src/react/Badge.css","../../src/react/Avatar.css","../../src/react/Spinner.css","../../src/react/Divider.css","../../src/react/Card.css","../../src/react/Alert.css","../../src/react/Modal.css","../../src/react/Tooltip.css","../../src/react/Toast.css","../../src/react/Progress.css","../../src/react/Tabs.css","../../src/react/Accordion.css","../../src/react/DropdownMenu.css","../../src/react/Select.css","../../src/react/Slider.css","../../src/react/Combobox.css","../../src/react/Calendar.css","../../src/react/Popover.css","../../src/react/DatePicker.css","../../src/react/TimePicker.css","../../src/react/ColorPicker.css","../../src/react/Carousel.css","../../src/react/Timeline.css","../../src/react/CommandPalette.css","../../src/react/NumberInput.css","../../src/react/FileUpload.css","../../src/react/Pagination.css","../../src/react/Breadcrumb.css","../../src/react/Skeleton.css","../../src/react/Table.css","../../src/react/Drawer.css","../../src/react/Rating.css","../../src/react/OTPInput.css","../../src/react/PhoneInput.css","../../src/react/StatCard.css"],"sourcesContent":["/* Every value below is a var(--x, fallback) reading from the active\n theme's generated CSS custom properties — this is what makes\n switching data-theme (via NuvoxProvider or Storybook's toolbar)\n restyle the button with zero JS, per CONTRACT.md's CSS-cascade\n theming approach. No hardcoded colors, radii, or durations. */\n\n.nx-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-xs, 4px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-weight: var(--typography-weightMedium, 500);\n line-height: var(--typography-lineHeightTight, 1.2);\n border-radius: var(--radius-md, 8px);\n /*\n Reads the theme's own border color instead of hardcoding\n transparent — for most themes color.border is a subtle\n near-invisible gray, so this is a barely-there refinement, but\n for brutalism/neobrutalism (color.border: #000000) it's the\n difference between a filled button having no border at all and\n having the bold black border that's core to that theme's whole\n visual identity. No per-theme conditional here — every theme just\n supplies its own value for the same token, per CONTRACT.md.\n */\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);\n cursor: pointer;\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n white-space: nowrap;\n position: relative;\n}\n\n/*\n Every filled/bordered variant gets a resting shadow, and presses in\n slightly with a reduced shadow on :active. This was the one\n component that never picked up shadow at all — every other\n component (Card, Input, Badge, Avatar) got a `var(--shadow-*, ...)`\n pass, but Button was missed, which is exactly why neobrutalism's\n signature hard 4px offset black shadow never appeared on it even\n though the token itself was always correct and available.\n\n The 1px press-in transform is deliberately theme-agnostic (it\n doesn't know or care which direction a given theme's shadow is\n offset) — in flat themes (shadow: none) it's an imperceptible\n no-op, but in neobrutalism specifically it reads as the button\n physically pressing into its own hard shadow, which is that\n theme's whole visual idea.\n*/\n.nx-btn--solid,\n.nx-btn--soft,\n.nx-btn--danger,\n.nx-btn--outline {\n box-shadow: var(--shadow-sm, none);\n}\n.nx-btn--solid:active:not(:disabled),\n.nx-btn--soft:active:not(:disabled),\n.nx-btn--danger:active:not(:disabled),\n.nx-btn--outline:active:not(:disabled) {\n box-shadow: var(--shadow-xs, none);\n transform: translate(1px, 1px);\n}\n\n.nx-btn:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n.nx-btn:disabled,\n.nx-btn--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-btn--full {\n width: 100%;\n}\n\n/* Sizes */\n.nx-btn--xs { padding: 4px 10px; font-size: var(--typography-sizeXs, 12px); border-radius: var(--radius-sm, 6px); }\n.nx-btn--sm { padding: 6px 14px; font-size: var(--typography-sizeSm, 14px); border-radius: var(--radius-sm, 6px); }\n.nx-btn--md { padding: 8px 18px; font-size: var(--typography-sizeMd, 16px); }\n.nx-btn--lg { padding: 10px 22px; font-size: var(--typography-sizeLg, 18px); border-radius: var(--radius-lg, 14px); }\n.nx-btn--xl { padding: 12px 28px; font-size: var(--typography-sizeXl, 22px); border-radius: var(--radius-lg, 14px); }\n\n/* Variants */\n.nx-btn--solid {\n background: var(--color-brand-500, #6366f1);\n color: var(--color-brand-onAccent, #ffffff);\n}\n.nx-btn--solid:hover:not(:disabled) { background: var(--color-brand-600, #4f46e5); }\n.nx-btn--solid:active:not(:disabled) { background: var(--color-brand-700, #4338ca); }\n\n.nx-btn--outline {\n background: transparent;\n /* Blended toward the theme's own text color (guaranteed readable\n against this theme's background by the theme's own design) so a\n dark-leaning accent like graphite doesn't go low-contrast against\n a dark theme's background — see tokens/contrast.ts. */\n color: color-mix(in srgb, var(--color-brand-600, #4f46e5) 65%, var(--color-text, #111827) 35%);\n border-color: var(--color-brand-500, #6366f1);\n}\n.nx-btn--outline:hover:not(:disabled) { background: var(--color-brand-50, #f0f4ff); }\n\n.nx-btn--ghost {\n background: transparent;\n color: var(--color-text, #111827);\n border-color: transparent;\n}\n.nx-btn--ghost:hover:not(:disabled) { background: var(--color-surfaceRaised, #f3f4f6); }\n\n.nx-btn--soft {\n background: var(--color-brand-50, #f0f4ff);\n color: var(--color-brand-700, #4338ca);\n}\n.nx-btn--soft:hover:not(:disabled) { background: var(--color-brand-100, #e0e8ff); }\n\n.nx-btn--danger {\n background: var(--color-danger-base, #ef4444);\n color: var(--color-textInverse, #ffffff);\n}\n.nx-btn--danger:hover:not(:disabled) { background: var(--color-danger-dark, #dc2626); }\n\n/* Loading state */\n.nx-btn--loading {\n cursor: wait;\n}\n\n.nx-btn__spinner {\n width: 1em;\n height: 1em;\n border: 2px solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: nx-btn-spin 0.6s linear infinite;\n}\n\n@keyframes nx-btn-spin {\n to { transform: rotate(360deg); }\n}\n\n/* Icon slots */\n.nx-btn__icon {\n display: inline-flex;\n align-items: center;\n}\n","/* Shared across Input/Textarea/Checkbox/Radio/Toggle — the label +\n helper/error text markup every Category B component needs. Kept\n in one file so this gets decided once (CONTRACT.md's \"decide the\n shape once\" principle applied to CSS, not just props). */\n\n.nx-field {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs, 4px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-field__label {\n font-size: var(--typography-sizeSm, 14px);\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-text, #111827);\n}\n\n.nx-field__required {\n color: var(--color-danger-base, #ef4444);\n margin-left: 2px;\n}\n\n.nx-field__helper {\n font-size: var(--typography-sizeXs, 12px);\n color: var(--color-textMuted, #6b7280);\n line-height: var(--typography-lineHeightNormal, 1.5);\n}\n\n.nx-field__helper--error {\n color: var(--color-danger-base, #ef4444);\n}\n\n.nx-field__count {\n font-size: var(--typography-sizeXs, 12px);\n color: var(--color-textMuted, #6b7280);\n align-self: flex-end;\n}\n\n.nx-field__count--over {\n color: var(--color-danger-base, #ef4444);\n}\n",".nx-input-wrapper {\n display: flex;\n align-items: center;\n gap: var(--spacing-xs, 4px);\n background: var(--color-surface, #ffffff);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-xs, none);\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n transition: border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-input-wrapper:focus-within {\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-input-wrapper--invalid {\n border-color: var(--color-danger-base, #ef4444);\n}\n.nx-input-wrapper--invalid:focus-within {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #ef4444) 20%, transparent);\n}\n\n.nx-input-wrapper--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50, #f9fafb);\n}\n\n.nx-input {\n flex: 1;\n min-width: 0;\n border: none;\n outline: none;\n background: transparent;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-text, #111827);\n}\n\n.nx-input::placeholder {\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-input:disabled {\n cursor: not-allowed;\n}\n\n/* Sizes — set padding on the wrapper (not the input) so prefix/suffix\n adornments align with the same vertical rhythm as the text. */\n.nx-input-wrapper--xs { padding: 4px 8px; font-size: var(--typography-sizeXs, 12px); }\n.nx-input-wrapper--sm { padding: 5px 10px; font-size: var(--typography-sizeSm, 14px); }\n.nx-input-wrapper--md { padding: 8px 12px; font-size: var(--typography-sizeMd, 16px); }\n.nx-input-wrapper--lg { padding: 10px 14px; font-size: var(--typography-sizeLg, 18px); }\n.nx-input-wrapper--xl { padding: 12px 16px; font-size: var(--typography-sizeXl, 22px); }\n\n.nx-input--xs, .nx-input--sm, .nx-input--md, .nx-input--lg, .nx-input--xl {\n font-size: inherit;\n}\n\n.nx-input__adornment {\n display: inline-flex;\n align-items: center;\n color: var(--color-textMuted, #6b7280);\n flex-shrink: 0;\n}\n",".nx-textarea {\n width: 100%;\n min-height: 5em;\n background: var(--color-surface, #ffffff);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-xs, none);\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-text, #111827);\n padding: 8px 12px;\n resize: vertical;\n transition: border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-textarea::placeholder {\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-textarea:focus {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-textarea--invalid {\n border-color: var(--color-danger-base, #ef4444);\n}\n.nx-textarea--invalid:focus {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #ef4444) 20%, transparent);\n}\n\n.nx-textarea--disabled,\n.nx-textarea:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50, #f9fafb);\n resize: none;\n}\n\n.nx-textarea--auto-grow {\n resize: none;\n overflow: hidden;\n}\n\n.nx-textarea--xs { font-size: var(--typography-sizeXs, 12px); }\n.nx-textarea--sm { font-size: var(--typography-sizeSm, 14px); }\n.nx-textarea--md { font-size: var(--typography-sizeMd, 16px); }\n.nx-textarea--lg { font-size: var(--typography-sizeLg, 18px); }\n.nx-textarea--xl { font-size: var(--typography-sizeXl, 22px); }\n\n.nx-textarea__footer {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--spacing-sm, 8px);\n}\n",".nx-checkbox {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--spacing-sm, 8px);\n cursor: pointer;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-checkbox--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-checkbox__control {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n width: 18px;\n height: 18px;\n}\n\n/* The real input sits invisibly on top of the box for correct\n hit-testing, keyboard focus, and form semantics — see\n Checkbox.tsx / core/checkbox.ts for why the box itself carries\n no JS-computed checked state. */\n.nx-checkbox__input {\n position: absolute;\n inset: 0;\n margin: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: pointer;\n}\n.nx-checkbox__input:disabled {\n cursor: not-allowed;\n}\n\n.nx-checkbox__box {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--color-surface, #ffffff);\n border: var(--border-widthMedium, 1.5px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-sm, 6px);\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n pointer-events: none;\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-checkbox--invalid .nx-checkbox__box {\n border-color: var(--color-danger-base, #ef4444);\n}\n\n.nx-checkbox__check {\n width: 70%;\n height: 70%;\n color: var(--color-brand-onAccent, #ffffff);\n opacity: 0;\n transform: scale(0.6);\n transition: opacity var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-checkbox__dash {\n display: none;\n width: 55%;\n height: 2px;\n background: var(--color-brand-onAccent, #ffffff);\n border-radius: 1px;\n}\n\n.nx-checkbox__input:checked + .nx-checkbox__box,\n.nx-checkbox__input:indeterminate + .nx-checkbox__box {\n background: var(--color-brand-500, #6366f1);\n border-color: var(--color-brand-500, #6366f1);\n}\n\n.nx-checkbox__input:checked + .nx-checkbox__box .nx-checkbox__check {\n opacity: 1;\n transform: scale(1);\n}\n\n.nx-checkbox__input:indeterminate + .nx-checkbox__box .nx-checkbox__check {\n display: none;\n}\n.nx-checkbox__input:indeterminate + .nx-checkbox__box .nx-checkbox__dash {\n display: block;\n}\n\n.nx-checkbox__input:focus-visible + .nx-checkbox__box {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n.nx-checkbox__label {\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-text, #111827);\n line-height: var(--typography-lineHeightNormal, 1.5);\n padding-top: 1px;\n}\n\n/* Sizes */\n.nx-checkbox--xs .nx-checkbox__control { width: 14px; height: 14px; }\n.nx-checkbox--sm .nx-checkbox__control { width: 16px; height: 16px; }\n.nx-checkbox--md .nx-checkbox__control { width: 18px; height: 18px; }\n.nx-checkbox--lg .nx-checkbox__control { width: 22px; height: 22px; }\n.nx-checkbox--xl .nx-checkbox__control { width: 26px; height: 26px; }\n\n.nx-checkbox--xs .nx-checkbox__label { font-size: var(--typography-sizeXs, 12px); }\n.nx-checkbox--lg .nx-checkbox__label { font-size: var(--typography-sizeLg, 18px); }\n.nx-checkbox--xl .nx-checkbox__label { font-size: var(--typography-sizeXl, 22px); }\n",".nx-radio {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--spacing-sm, 8px);\n cursor: pointer;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-radio--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-radio__control {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n width: 18px;\n height: 18px;\n}\n\n.nx-radio__input {\n position: absolute;\n inset: 0;\n margin: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: pointer;\n border-radius: 50%;\n}\n.nx-radio__input:disabled {\n cursor: not-allowed;\n}\n\n/* The ring is a real sibling span of the input (not a pseudo-\n element of their shared parent), so a plain adjacent-sibling\n selector off :checked/:focus-visible can reach it directly — same\n reasoning as Checkbox.css's box. */\n.nx-radio__ring {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n background: var(--color-surface, #ffffff);\n border: var(--border-widthMedium, 1.5px) var(--border-style, solid) var(--color-border, #e5e7eb);\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n pointer-events: none;\n transition: border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-radio--invalid .nx-radio__ring {\n border-color: var(--color-danger-base, #ef4444);\n}\n\n.nx-radio__dot {\n width: 45%;\n height: 45%;\n border-radius: 50%;\n background: var(--color-brand-500, #6366f1);\n opacity: 0;\n transform: scale(0.4);\n transition: opacity var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-radio__input:checked + .nx-radio__ring {\n border-color: var(--color-brand-500, #6366f1);\n}\n\n.nx-radio__input:checked + .nx-radio__ring .nx-radio__dot {\n opacity: 1;\n transform: scale(1);\n}\n\n.nx-radio__input:focus-visible + .nx-radio__ring {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n.nx-radio__label {\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-text, #111827);\n line-height: var(--typography-lineHeightNormal, 1.5);\n padding-top: 1px;\n}\n\n.nx-radio--xs .nx-radio__control { width: 14px; height: 14px; }\n.nx-radio--sm .nx-radio__control { width: 16px; height: 16px; }\n.nx-radio--md .nx-radio__control { width: 18px; height: 18px; }\n.nx-radio--lg .nx-radio__control { width: 22px; height: 22px; }\n.nx-radio--xl .nx-radio__control { width: 26px; height: 26px; }\n\n.nx-radio--xs .nx-radio__label { font-size: var(--typography-sizeXs, 12px); }\n.nx-radio--lg .nx-radio__label { font-size: var(--typography-sizeLg, 18px); }\n.nx-radio--xl .nx-radio__label { font-size: var(--typography-sizeXl, 22px); }\n",".nx-toggle {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n cursor: pointer;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-toggle--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-toggle__control {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n width: 36px;\n height: 20px;\n}\n\n.nx-toggle__input {\n position: absolute;\n inset: 0;\n margin: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: pointer;\n}\n.nx-toggle__input:disabled {\n cursor: not-allowed;\n}\n\n.nx-toggle__track {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n border-radius: var(--radius-full, 9999px);\n background: var(--color-neutral-300, #d1d5db);\n pointer-events: none;\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-toggle--invalid .nx-toggle__track {\n box-shadow: inset 0 0 0 1.5px var(--color-danger-base, #ef4444);\n}\n\n.nx-toggle__thumb {\n width: 16px;\n height: 16px;\n margin-left: 2px;\n border-radius: 50%;\n background: var(--color-neutral-0, #ffffff);\n box-shadow: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.05));\n transition: transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-toggle__input:checked + .nx-toggle__track {\n background: var(--color-brand-500, #6366f1);\n}\n\n.nx-toggle__input:checked + .nx-toggle__track .nx-toggle__thumb {\n transform: translateX(16px);\n}\n\n.nx-toggle__input:focus-visible + .nx-toggle__track {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n.nx-toggle__label {\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-text, #111827);\n line-height: var(--typography-lineHeightNormal, 1.5);\n}\n\n/* Sizes */\n.nx-toggle--xs .nx-toggle__control { width: 28px; height: 16px; }\n.nx-toggle--xs .nx-toggle__thumb { width: 12px; height: 12px; }\n.nx-toggle--xs .nx-toggle__input:checked + .nx-toggle__track .nx-toggle__thumb { transform: translateX(12px); }\n\n.nx-toggle--sm .nx-toggle__control { width: 32px; height: 18px; }\n.nx-toggle--sm .nx-toggle__thumb { width: 14px; height: 14px; }\n.nx-toggle--sm .nx-toggle__input:checked + .nx-toggle__track .nx-toggle__thumb { transform: translateX(14px); }\n\n.nx-toggle--lg .nx-toggle__control { width: 44px; height: 24px; }\n.nx-toggle--lg .nx-toggle__thumb { width: 20px; height: 20px; }\n.nx-toggle--lg .nx-toggle__input:checked + .nx-toggle__track .nx-toggle__thumb { transform: translateX(20px); }\n\n.nx-toggle--xl .nx-toggle__control { width: 52px; height: 28px; }\n.nx-toggle--xl .nx-toggle__thumb { width: 24px; height: 24px; }\n.nx-toggle--xl .nx-toggle__input:checked + .nx-toggle__track .nx-toggle__thumb { transform: translateX(24px); }\n\n.nx-toggle--xs .nx-toggle__label { font-size: var(--typography-sizeXs, 12px); }\n.nx-toggle--lg .nx-toggle__label { font-size: var(--typography-sizeLg, 18px); }\n.nx-toggle--xl .nx-toggle__label { font-size: var(--typography-sizeXl, 22px); }\n",".nx-badge {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-xs, 4px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-weight: var(--typography-weightMedium, 500);\n line-height: var(--typography-lineHeightTight, 1.2);\n border-radius: var(--radius-full, 9999px);\n border: var(--border-widthThin, 1px) var(--border-style, solid) transparent;\n white-space: nowrap;\n}\n\n/* Sizes */\n.nx-badge--xs { padding: 1px 6px; font-size: 10px; }\n.nx-badge--sm { padding: 2px 8px; font-size: var(--typography-sizeXs, 12px); }\n.nx-badge--md { padding: 3px 10px; font-size: var(--typography-sizeXs, 12px); }\n.nx-badge--lg { padding: 4px 12px; font-size: var(--typography-sizeSm, 14px); }\n.nx-badge--xl { padding: 5px 14px; font-size: var(--typography-sizeMd, 16px); }\n\n/* Variants */\n.nx-badge--solid {\n background: var(--color-brand-500, #6366f1);\n color: var(--color-brand-onAccent, #ffffff);\n box-shadow: var(--shadow-xs, none);\n}\n\n.nx-badge--outline {\n background: transparent;\n color: color-mix(in srgb, var(--color-brand-600, #4f46e5) 65%, var(--color-text, #111827) 35%);\n border-color: var(--color-brand-500, #6366f1);\n}\n\n.nx-badge--soft {\n background: var(--color-brand-50, #f0f4ff);\n color: var(--color-brand-700, #4338ca);\n}\n\n/* Dot mode — collapses to a small circle, no label */\n.nx-badge--dot {\n padding: 0;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n}\n.nx-badge--dot.nx-badge--xs { width: 6px; height: 6px; }\n.nx-badge--dot.nx-badge--lg { width: 10px; height: 10px; }\n.nx-badge--dot.nx-badge--xl { width: 12px; height: 12px; }\n\n.nx-badge__icon {\n display: inline-flex;\n align-items: center;\n}\n\n.nx-badge__dismiss {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n margin: 0 -4px 0 0;\n border: none;\n background: transparent;\n color: inherit;\n cursor: pointer;\n border-radius: 50%;\n opacity: 0.7;\n transition: opacity var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n.nx-badge__dismiss:hover {\n opacity: 1;\n background: rgba(0, 0, 0, 0.1);\n}\n",".nx-avatar {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n user-select: none;\n}\n\n.nx-avatar__visual {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n overflow: hidden;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-weight: var(--typography-weightMedium, 500);\n background: var(--color-neutral-200, #e5e7eb);\n color: var(--color-textMuted, #6b7280);\n box-shadow: var(--shadow-xs, none);\n}\n\n.nx-avatar--circle .nx-avatar__visual { border-radius: 50%; }\n.nx-avatar--square .nx-avatar__visual { border-radius: var(--radius-md, 8px); }\n\n.nx-avatar--clickable {\n cursor: pointer;\n}\n.nx-avatar--clickable:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n.nx-avatar__image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.nx-avatar__initials {\n line-height: 1;\n}\n\n/* Sizes */\n.nx-avatar--xs { width: 24px; height: 24px; font-size: 10px; }\n.nx-avatar--sm { width: 32px; height: 32px; font-size: var(--typography-sizeXs, 12px); }\n.nx-avatar--md { width: 40px; height: 40px; font-size: var(--typography-sizeSm, 14px); }\n.nx-avatar--lg { width: 56px; height: 56px; font-size: var(--typography-sizeLg, 18px); }\n.nx-avatar--xl { width: 72px; height: 72px; font-size: var(--typography-sizeXl, 22px); }\n.nx-avatar--2xl { width: 96px; height: 96px; font-size: 28px; }\n\n.nx-avatar__status {\n position: absolute;\n right: 0;\n bottom: 0;\n width: 28%;\n height: 28%;\n min-width: 8px;\n min-height: 8px;\n border-radius: 50%;\n border: 2px solid var(--color-surface, #ffffff);\n}\n\n.nx-avatar__status--online { background: var(--color-success-base, #22c55e); }\n.nx-avatar__status--offline { background: var(--color-neutral-400, #9ca3af); }\n.nx-avatar__status--away { background: var(--color-warning-base, #f59e0b); }\n.nx-avatar__status--busy { background: var(--color-danger-base, #ef4444); }\n",".nx-spinner {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: var(--color-brand-500, #6366f1);\n}\n\n/* Sizes — applies to both variants via em-relative inner sizing */\n.nx-spinner--xs { width: 14px; height: 14px; }\n.nx-spinner--sm { width: 18px; height: 18px; }\n.nx-spinner--md { width: 24px; height: 24px; }\n.nx-spinner--lg { width: 32px; height: 32px; }\n.nx-spinner--xl { width: 44px; height: 44px; }\n\n/* =========================================================\n Circular and geometric — unchanged\n ========================================================= */\n\n.nx-spinner__ring-svg {\n width: 100%;\n height: 100%;\n animation: nx-spinner-rotate 0.8s linear infinite;\n}\n\n@keyframes nx-spinner-rotate {\n to { transform: rotate(360deg); }\n}\n\n.nx-spinner__dots {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.3em;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__dot {\n width: 22%;\n height: 22%;\n border-radius: 50%;\n background: currentColor;\n animation: nx-spinner-dot-bounce 0.9s var(--motion-easeStandard, ease) infinite;\n}\n\n.nx-spinner__dot:nth-child(2) { animation-delay: 0.15s; }\n.nx-spinner__dot:nth-child(3) { animation-delay: 0.3s; }\n\n@keyframes nx-spinner-dot-bounce {\n 0%, 80%, 100% { opacity: 0.3; transform: scale(0.8); }\n 40% { opacity: 1; transform: scale(1); }\n}\n\n.nx-spinner__bars {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.18em;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__bar {\n width: 18%;\n height: 40%;\n background: currentColor;\n border-radius: var(--radius-full, 2px);\n animation: nx-spinner-bar-scale 1s ease-in-out infinite;\n}\n\n.nx-spinner__bar:nth-child(1) { animation-delay: -0.4s; }\n.nx-spinner__bar:nth-child(2) { animation-delay: -0.2s; }\n.nx-spinner__bar:nth-child(3) { animation-delay: 0s; }\n.nx-spinner__bar:nth-child(4) { animation-delay: 0.2s; }\n\n@keyframes nx-spinner-bar-scale {\n 0%, 100% { transform: scaleY(0.4); opacity: 0.5; }\n 50% { transform: scaleY(1); opacity: 1; }\n}\n\n.nx-spinner__pulse {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background: currentColor;\n animation: nx-spinner-pulse 1.1s var(--motion-easeStandard, ease) infinite;\n}\n\n@keyframes nx-spinner-pulse {\n 0% { transform: scale(0.6); opacity: 1; }\n 100% { transform: scale(1); opacity: 0; }\n}\n\n.nx-spinner__dual-ring {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__dual-ring-outer,\n.nx-spinner__dual-ring-inner {\n position: absolute;\n inset: 0;\n border-radius: 50%;\n border: 3px solid transparent;\n}\n\n.nx-spinner__dual-ring-outer {\n border-top-color: currentColor;\n animation: nx-spinner-rotate 1s linear infinite;\n}\n\n.nx-spinner__dual-ring-inner {\n inset: 22%;\n opacity: 0.5;\n border-top-color: currentColor;\n animation: nx-spinner-rotate 0.7s linear infinite reverse;\n}\n\n.nx-spinner__ripple {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__ripple-wave {\n position: absolute;\n inset: 0;\n margin: auto;\n width: 0;\n height: 0;\n border-radius: 50%;\n border: 3px solid currentColor;\n animation: nx-spinner-ripple 1.4s var(--motion-easeStandard, ease) infinite;\n}\n\n.nx-spinner__ripple-wave:nth-child(2) {\n animation-delay: 0.7s;\n}\n\n@keyframes nx-spinner-ripple {\n 0% { width: 0; height: 0; opacity: 1; }\n 100% { width: 100%; height: 100%; opacity: 0; }\n}\n\n/* Orbit (fixed) — a nucleus dot at center, two plain concentric\n circles (drawn face-on, no tilt/scaleY, so no ellipse distortion),\n each with its own satellite dot riding on it. The spin wrappers\n are now full-size (inset: 0) siblings of the rings rather than\n nested inside each ring's own (shrunk) box, and each satellite is\n positioned by the ring's actual radius as a percentage of the full\n container. That fixes two bugs: the outer satellite was centered\n directly on the ring's stroke and, being large relative to the\n ring, visually fused with it into an oval; and the inner satellite\n was sized against the inner ring's own already-shrunk box (inset:\n 27%), making it tiny and off-track. Sizing the outer dot down a\n notch also reduces overlap with the ring so it reads as a distinct\n circle rather than a merged blob. */\n.nx-spinner__orbit {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__orbit-nucleus {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 20%;\n height: 20%;\n aspect-ratio: 1;\n transform: translate(-50%, -50%);\n border-radius: 50%;\n background: currentColor;\n}\n\n.nx-spinner__orbit-ring {\n position: absolute;\n aspect-ratio: 1;\n border: 1.5px solid currentColor;\n border-radius: 50%;\n opacity: 0.5;\n}\n\n.nx-spinner__orbit-ring--outer { inset: 0; }\n.nx-spinner__orbit-ring--inner { inset: 27%; }\n\n.nx-spinner__orbit-spin {\n position: absolute;\n inset: 0;\n animation: nx-spinner-rotate 1.5s linear infinite;\n}\n\n.nx-spinner__orbit-spin--inner {\n animation-duration: 1s;\n animation-direction: reverse;\n}\n\n.nx-spinner__orbit-satellite {\n position: absolute;\n left: 50%;\n border-radius: 50%;\n background: currentColor;\n}\n\n.nx-spinner__orbit-satellite--outer {\n top: -8%;\n width: 16%;\n height: 16%;\n margin-left: -8%;\n}\n\n.nx-spinner__orbit-satellite--inner {\n top: 20.5%;\n width: 13%;\n height: 13%;\n margin-left: -6.5%;\n}\n\n.nx-spinner__bounce-track {\n display: flex;\n align-items: flex-end;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__bounce-ball {\n width: 40%;\n height: 40%;\n border-radius: 50%;\n background: currentColor;\n animation: nx-spinner-bounce 0.6s ease-in-out infinite;\n}\n\n@keyframes nx-spinner-bounce {\n 0%, 100% { transform: translateY(0) scaleX(1.15) scaleY(0.85); }\n 50% { transform: translateY(-65%) scaleX(1) scaleY(1); }\n}\n\n.nx-spinner__conic {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background: conic-gradient(from 0deg, transparent 0%, currentColor 100%);\n -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px));\n mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px));\n animation: nx-spinner-rotate 0.9s linear infinite;\n}\n\n/* Buffer — moved here from the extended set: it's a full-rotation\n ring motion (same family as ring/dual-ring/conic), not a creative\n silhouette. Twelve short ticks arranged in a ring, fading from full\n opacity down to faint across the circle, the whole ring spinning as\n one rigid body — the classic video-buffering / native\n activity-indicator look (the fading tail is what reads as\n \"loading\", distinct from \"ring\"'s single stroked arc or \"spiral\"'s\n concentric rings). */\n.nx-spinner__buffer-svg {\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__buffer-group {\n transform-box: fill-box;\n transform-origin: 50% 50%;\n animation: nx-spinner-rotate 1s linear infinite;\n}\n\n/* =========================================================\n Creative and non-circular\n ========================================================= */\n\n/* Linear — kept as-is, it was fine. */\n.nx-spinner__linear-track {\n position: relative;\n width: 100%;\n height: 22%;\n border-radius: var(--radius-full, 999px);\n background: color-mix(in srgb, currentColor 18%, transparent);\n overflow: hidden;\n}\n\n.nx-spinner__linear-bar {\n position: absolute;\n top: 0;\n left: -40%;\n width: 40%;\n height: 100%;\n border-radius: inherit;\n background: currentColor;\n animation: nx-spinner-linear-slide 1.2s ease-in-out infinite;\n}\n\n@keyframes nx-spinner-linear-slide {\n 0% { left: -40%; }\n 100% { left: 100%; }\n}\n\n/* Heartbeat — kept as-is, it was fine. */\n.nx-spinner__heartbeat-svg {\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__heartbeat-path {\n stroke-dasharray: 20 60;\n animation: nx-spinner-heartbeat-dash 1.3s linear infinite;\n}\n\n@keyframes nx-spinner-heartbeat-dash {\n to { stroke-dashoffset: -80; }\n}\n\n/* Infinity (rebuilt on true circular arcs) — traced highlight along\n the lemniscate; dasharray/offset tuned to the new path's length\n (~76 units) so the highlight completes one clean lap. */\n.nx-spinner__infinity-svg {\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__infinity-path {\n stroke-dasharray: 19 57;\n animation: nx-spinner-infinity-dash 1.6s linear infinite;\n}\n\n@keyframes nx-spinner-infinity-dash {\n to { stroke-dashoffset: -76; }\n}\n\n/* Hourglass — sand visibly drains from the top bulb into the bottom\n one, then the whole glass flips and it repeats the other way. */\n.nx-spinner__hourglass-svg {\n width: 100%;\n height: 100%;\n animation: nx-spinner-hourglass-flip 2.6s ease-in-out infinite;\n}\n\n.nx-spinner__hourglass-sand-top {\n transform-box: fill-box;\n transform-origin: 50% 0%;\n animation: nx-spinner-hourglass-top 2.6s ease-in-out infinite;\n}\n\n.nx-spinner__hourglass-sand-bottom {\n transform-box: fill-box;\n transform-origin: 50% 100%;\n animation: nx-spinner-hourglass-bottom 2.6s ease-in-out infinite;\n}\n\n.nx-spinner__hourglass-grain {\n animation: nx-spinner-hourglass-grain 2.6s linear infinite;\n}\n\n@keyframes nx-spinner-hourglass-flip {\n 0%, 42% { transform: rotate(0deg); }\n 50%, 92% { transform: rotate(180deg); }\n 100% { transform: rotate(360deg); }\n}\n\n@keyframes nx-spinner-hourglass-top {\n 0% { transform: scaleY(1); }\n 42% { transform: scaleY(0); }\n 50% { transform: scaleY(0); }\n 92% { transform: scaleY(1); }\n 100% { transform: scaleY(1); }\n}\n\n@keyframes nx-spinner-hourglass-bottom {\n 0% { transform: scaleY(0); }\n 42% { transform: scaleY(1); }\n 50% { transform: scaleY(1); }\n 92% { transform: scaleY(0); }\n 100% { transform: scaleY(0); }\n}\n\n@keyframes nx-spinner-hourglass-grain {\n 0%, 42% { opacity: 1; }\n 43%, 49% { opacity: 0; }\n 50%, 92% { opacity: 1; }\n 93%, 100% { opacity: 0; }\n}\n\n/* Pinwheel — curved sail blades around a fixed hub, spinning as one\n rigid body. */\n.nx-spinner__pinwheel-svg {\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__pinwheel-blades {\n transform-box: fill-box;\n transform-origin: 50% 50%;\n animation: nx-spinner-rotate 1.1s linear infinite;\n}\n\n/* Radar — a solid sweeping wedge inside a bordered disc; a filled\n sonar-screen sweep, not a thin stroked arc. No blip layer — it\n added noise and never read cleanly as it faded. */\n.nx-spinner__radar {\n position: relative;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n overflow: hidden;\n border: 1.5px solid color-mix(in srgb, currentColor 35%, transparent);\n}\n\n.nx-spinner__radar-sweep {\n position: absolute;\n inset: 0;\n background: conic-gradient(from 0deg, currentColor 0deg, transparent 75deg, transparent 360deg);\n opacity: 0.6;\n animation: nx-spinner-rotate 1.4s linear infinite;\n}\n\n/* Wave — five dots bobbing vertically in sequence: a traveling wave,\n distinct from \"bars\" (in-place height pulse). Dots are ovals\n (taller than wide) with a locked aspect-ratio so flexbox rounding\n can't make any single dot render larger than the rest. */\n.nx-spinner__wave {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.16em;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__wave-dot {\n width: 14%;\n height: 22%;\n aspect-ratio: 7 / 11;\n flex: 0 0 14%;\n border-radius: 50%;\n background: currentColor;\n animation: nx-spinner-wave-bob 1s ease-in-out infinite;\n}\n\n.nx-spinner__wave-dot:nth-child(1) { animation-delay: -0.4s; }\n.nx-spinner__wave-dot:nth-child(2) { animation-delay: -0.3s; }\n.nx-spinner__wave-dot:nth-child(3) { animation-delay: -0.2s; }\n.nx-spinner__wave-dot:nth-child(4) { animation-delay: -0.1s; }\n.nx-spinner__wave-dot:nth-child(5) { animation-delay: 0s; }\n\n@keyframes nx-spinner-wave-bob {\n 0%, 60%, 100% { transform: translateY(0); }\n 30% { transform: translateY(-45%); }\n}\n\n/* Helix (rebuilt) — a genuine double helix. Five rows stacked\n vertically; each row holds two dots (strand A and strand B)\n swinging horizontally in mirrored phase, so they cross in the\n middle like two intertwined DNA strands rather than one column\n swaying as a unit. */\n.nx-spinner__helix {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__helix-row {\n position: relative;\n width: 100%;\n height: 16%;\n}\n\n.nx-spinner__helix-dot {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 30%;\n height: 30%;\n margin: -15% 0 0 -15%;\n border-radius: 50%;\n background: currentColor;\n animation-duration: 1.3s;\n animation-timing-function: ease-in-out;\n animation-iteration-count: infinite;\n}\n\n.nx-spinner__helix-dot--a { animation-name: nx-spinner-helix-strand-a; z-index: 1; }\n.nx-spinner__helix-dot--b { animation-name: nx-spinner-helix-strand-b; }\n\n.nx-spinner__helix-row:nth-child(1) .nx-spinner__helix-dot { animation-delay: 0s; }\n.nx-spinner__helix-row:nth-child(2) .nx-spinner__helix-dot { animation-delay: 0.1s; }\n.nx-spinner__helix-row:nth-child(3) .nx-spinner__helix-dot { animation-delay: 0.2s; }\n.nx-spinner__helix-row:nth-child(4) .nx-spinner__helix-dot { animation-delay: 0.3s; }\n.nx-spinner__helix-row:nth-child(5) .nx-spinner__helix-dot { animation-delay: 0.4s; }\n\n@keyframes nx-spinner-helix-strand-a {\n 0%, 100% { transform: translateX(-70%) scale(1); opacity: 1; }\n 50% { transform: translateX(70%) scale(0.7); opacity: 0.55; }\n}\n\n@keyframes nx-spinner-helix-strand-b {\n 0%, 100% { transform: translateX(70%) scale(0.7); opacity: 0.55; }\n 50% { transform: translateX(-70%) scale(1); opacity: 1; }\n}\n\n/* Atom (rebuilt) — three tilted orbit tracks, each with its own\n electron. The ring is squashed into an ellipse (scaleY) and\n tilted; a full-size `.atom-spin` inside it rotates continuously,\n carrying the electron around in that squashed coordinate space,\n which is what produces the elliptical orbit *path*.\n\n The electron's own shape is kept perfectly circular via a\n counter-rotation wrapper (`.atom-electron-counter`) that spins at\n the exact same speed as `.atom-spin` but in the opposite\n direction. Rotation and non-uniform scale don't commute, so a\n static counter-scale on the electron (the old approach) only\n cancelled the ring's squash at two points in the orbit and left\n it visibly oval everywhere else. Counter-rotating first cancels\n the ambient rotation the electron sits in, so the squash and its\n plain scaleY(2.5) correction are always axis-aligned and always\n cancel exactly — the electron stays round at every point on the\n orbit, while its *position* (set on `.atom-electron-orbit`, one\n level up, unaffected by the counter-rotation) still sweeps the\n correct ellipse. */\n.nx-spinner__atom {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__atom-nucleus {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 17%;\n height: 17%;\n aspect-ratio: 1;\n /* translate() percentages resolve against the element's OWN box,\n not the parent's — unlike a negative-percent margin trick\n (margin percentages always resolve against the parent's WIDTH,\n even for margin-top), which is what previously distorted this\n into an ellipse. This is a guaranteed circle regardless of the\n parent's aspect ratio. */\n transform: translate(-50%, -50%);\n border-radius: 50%;\n background: currentColor;\n z-index: 1;\n}\n\n.nx-spinner__atom-ring {\n position: absolute;\n inset: 6%;\n border: 1.5px solid currentColor;\n border-radius: 50%;\n opacity: 0.4;\n}\n\n.nx-spinner__atom-ring--a { transform: rotate(0deg) scaleY(0.4); }\n.nx-spinner__atom-ring--b { transform: rotate(60deg) scaleY(0.4); }\n.nx-spinner__atom-ring--c { transform: rotate(120deg) scaleY(0.4); }\n\n.nx-spinner__atom-spin {\n position: absolute;\n inset: 0;\n animation: nx-spinner-rotate 1s linear infinite;\n}\n\n.nx-spinner__atom-ring--b .nx-spinner__atom-spin { animation-duration: 1.3s; animation-direction: reverse; }\n.nx-spinner__atom-ring--c .nx-spinner__atom-spin { animation-duration: 1.6s; }\n\n/* Position-only wrapper: sets where on the orbit the electron sits.\n Never rotated or scaled itself, so it doesn't distort shape. */\n.nx-spinner__atom-electron-orbit {\n position: absolute;\n top: -3%;\n left: 50%;\n width: 14%;\n height: 14%;\n margin-left: -7%;\n}\n\n/* Spins opposite to (and in sync with) the matching .atom-spin, so\n the ambient rotation the electron sits in is always cancelled out\n before the shape-correcting scaleY below is applied. */\n.nx-spinner__atom-electron-counter {\n position: absolute;\n inset: 0;\n animation: nx-spinner-rotate 1s linear infinite reverse;\n}\n\n.nx-spinner__atom-ring--b .nx-spinner__atom-electron-counter {\n animation-duration: 1.3s;\n animation-direction: normal;\n}\n\n.nx-spinner__atom-ring--c .nx-spinner__atom-electron-counter {\n animation-duration: 1.6s;\n}\n\n.nx-spinner__atom-electron {\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background: currentColor;\n /* Counters the ring's scaleY(0.4). Because the electron-counter\n wrapper above has already cancelled the ambient spin rotation,\n this scale is always axis-aligned with the ring's squash, so it\n cancels it exactly (0.4 x 2.5 = 1) at every point on the orbit —\n not just at two angles like the old single-layer approach. */\n transform: scaleY(2.5);\n}\n\n/* Comet — a head dot with a fading trail, rotating as one rigid arc;\n \"orbit\" has a single satellite and no trail, so this reads\n genuinely differently. */\n.nx-spinner__comet {\n position: relative;\n width: 100%;\n height: 100%;\n animation: nx-spinner-rotate 1s linear infinite;\n}\n\n.nx-spinner__comet-dot {\n position: absolute;\n inset: 0;\n}\n\n.nx-spinner__comet-dot::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 50%;\n border-radius: 50%;\n background: currentColor;\n}\n\n.nx-spinner__comet-dot:nth-child(1) { transform: rotate(0deg); }\n.nx-spinner__comet-dot:nth-child(1)::before { width: 24%; height: 24%; margin-left: -12%; opacity: 1; }\n\n.nx-spinner__comet-dot:nth-child(2) { transform: rotate(-14deg); }\n.nx-spinner__comet-dot:nth-child(2)::before { width: 19%; height: 19%; margin-left: -9.5%; opacity: 0.7; }\n\n.nx-spinner__comet-dot:nth-child(3) { transform: rotate(-28deg); }\n.nx-spinner__comet-dot:nth-child(3)::before { width: 15%; height: 15%; margin-left: -7.5%; opacity: 0.5; }\n\n.nx-spinner__comet-dot:nth-child(4) { transform: rotate(-42deg); }\n.nx-spinner__comet-dot:nth-child(4)::before { width: 11%; height: 11%; margin-left: -5.5%; opacity: 0.3; }\n\n.nx-spinner__comet-dot:nth-child(5) { transform: rotate(-56deg); }\n.nx-spinner__comet-dot:nth-child(5)::before { width: 8%; height: 8%; margin-left: -4%; opacity: 0.15; }\n\n/* =========================================================\n Extended set\n ========================================================= */\n\n/* Gauge — a half-circle arc filling and unfilling, speedometer\n style; the one variant that's a semicircle rather than a full\n circle or a straight line. */\n.nx-spinner__gauge-svg {\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__gauge-arc {\n stroke-dasharray: 31.4;\n animation: nx-spinner-gauge-sweep 1.6s ease-in-out infinite alternate;\n}\n\n@keyframes nx-spinner-gauge-sweep {\n 0% { stroke-dashoffset: 31.4; }\n 100% { stroke-dashoffset: 0; }\n}\n\n/* Stack — three cards cycling through a shuffle: rise, shrink,\n settle back — distinct from \"grid\"'s static fading squares. */\n.nx-spinner__stack {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__stack-card {\n position: absolute;\n inset: 15%;\n border-radius: 22%;\n background: currentColor;\n animation: nx-spinner-stack-cycle 1.2s ease-in-out infinite;\n}\n\n.nx-spinner__stack-card:nth-child(1) { animation-delay: 0s; }\n.nx-spinner__stack-card:nth-child(2) { animation-delay: -0.4s; }\n.nx-spinner__stack-card:nth-child(3) { animation-delay: -0.8s; }\n\n@keyframes nx-spinner-stack-cycle {\n 0% { transform: translateY(0) scale(1); opacity: 1; }\n 33% { transform: translateY(-30%) scale(0.85); opacity: 0.6; }\n 66% { transform: translateY(0) scale(0.7); opacity: 0.3; }\n 100% { transform: translateY(0) scale(1); opacity: 1; }\n}\n\n/* Spiral — three concentric rings spinning at different speeds and\n directions, reading as a vortex. */\n.nx-spinner__spiral {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__spiral-ring {\n position: absolute;\n border-radius: 50%;\n border: 2px solid transparent;\n border-top-color: currentColor;\n}\n\n.nx-spinner__spiral-ring:nth-child(1) { inset: 0; opacity: 1; animation: nx-spinner-rotate 0.6s linear infinite; }\n.nx-spinner__spiral-ring:nth-child(2) { inset: 20%; opacity: 0.65; animation: nx-spinner-rotate 0.9s linear infinite reverse; }\n.nx-spinner__spiral-ring:nth-child(3) { inset: 38%; opacity: 0.35; animation: nx-spinner-rotate 1.3s linear infinite; }\n\n/* Burst (rebuilt) — six particles popping outward from the center,\n all at the same instant, same speed, same distance, in every\n direction — true radial symmetry rather than a staggered ripple.\n The earlier per-particle animation-delay broke that symmetry, so\n it's removed; the only difference between particles now is their\n fixed rotation, which is what fans them out evenly. Driven\n entirely by `transform` (translateY + scale) rather than animating\n `top` alongside `scale`, which previously caused a subtle\n non-circular wobble mid-flight. */\n.nx-spinner__burst {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__burst-particle {\n position: absolute;\n inset: 0;\n}\n\n.nx-spinner__burst-particle::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n width: 22%;\n height: 22%;\n margin: -11% 0 0 -11%;\n border-radius: 50%;\n background: currentColor;\n animation: nx-spinner-burst-pop 1.1s ease-out infinite;\n}\n\n.nx-spinner__burst-particle:nth-child(1) { transform: rotate(0deg); }\n.nx-spinner__burst-particle:nth-child(2) { transform: rotate(60deg); }\n.nx-spinner__burst-particle:nth-child(3) { transform: rotate(120deg); }\n.nx-spinner__burst-particle:nth-child(4) { transform: rotate(180deg); }\n.nx-spinner__burst-particle:nth-child(5) { transform: rotate(240deg); }\n.nx-spinner__burst-particle:nth-child(6) { transform: rotate(300deg); }\n\n@keyframes nx-spinner-burst-pop {\n 0% { transform: translateY(0) scale(0.4); opacity: 1; }\n 70% { opacity: 0.55; }\n 100% { transform: translateY(-160%) scale(1); opacity: 0; }\n}\n\n/* Eclipse — a solid disc sliding across a faint base disc, clipped\n to a circle: a moon-phase style reveal. */\n.nx-spinner__eclipse {\n position: relative;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n overflow: hidden;\n background: color-mix(in srgb, currentColor 20%, transparent);\n}\n\n.nx-spinner__eclipse-shadow {\n position: absolute;\n top: 0;\n left: -100%;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background: currentColor;\n animation: nx-spinner-eclipse-slide 2s ease-in-out infinite;\n}\n\n@keyframes nx-spinner-eclipse-slide {\n 0% { left: -100%; }\n 50% { left: 0%; }\n 100% { left: 100%; }\n}\n\n/* Petal — six leaf shapes blooming (scale + fade) in a staggered\n sequence while the whole flower slowly rotates. */\n.nx-spinner__petal {\n position: relative;\n width: 100%;\n height: 100%;\n animation: nx-spinner-rotate 4s linear infinite;\n}\n\n.nx-spinner__petal-leaf {\n position: absolute;\n inset: 0;\n}\n\n.nx-spinner__petal-leaf::before {\n content: \"\";\n position: absolute;\n top: 4%;\n left: 50%;\n width: 20%;\n height: 38%;\n margin-left: -10%;\n background: currentColor;\n border-radius: 50% 50% 4% 4%;\n transform-origin: 50% 100%;\n animation: nx-spinner-petal-bloom 1.6s ease-in-out infinite;\n}\n\n.nx-spinner__petal-leaf:nth-child(1) { transform: rotate(0deg); }\n.nx-spinner__petal-leaf:nth-child(2) { transform: rotate(60deg); }\n.nx-spinner__petal-leaf:nth-child(2)::before { animation-delay: 0.13s; }\n.nx-spinner__petal-leaf:nth-child(3) { transform: rotate(120deg); }\n.nx-spinner__petal-leaf:nth-child(3)::before { animation-delay: 0.26s; }\n.nx-spinner__petal-leaf:nth-child(4) { transform: rotate(180deg); }\n.nx-spinner__petal-leaf:nth-child(4)::before { animation-delay: 0.39s; }\n.nx-spinner__petal-leaf:nth-child(5) { transform: rotate(240deg); }\n.nx-spinner__petal-leaf:nth-child(5)::before { animation-delay: 0.52s; }\n.nx-spinner__petal-leaf:nth-child(6) { transform: rotate(300deg); }\n.nx-spinner__petal-leaf:nth-child(6)::before { animation-delay: 0.65s; }\n\n@keyframes nx-spinner-petal-bloom {\n 0%, 100% { transform: scale(0.55); opacity: 0.45; }\n 50% { transform: scale(1); opacity: 1; }\n}\n\n/* Sine — a smooth traced wave, distinct from \"heartbeat\"'s jagged\n ECG line. */\n.nx-spinner__sine-svg {\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__sine-path {\n stroke-dasharray: 16 44;\n animation: nx-spinner-sine-dash 1.4s linear infinite;\n}\n\n@keyframes nx-spinner-sine-dash {\n to { stroke-dashoffset: -60; }\n}\n\n/* Gear — a thick stroked ring with eight radiating teeth, spinning\n as one; a genuinely mechanical silhouette. */\n.nx-spinner__gear-svg {\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__gear-group {\n transform-box: fill-box;\n transform-origin: 50% 50%;\n animation: nx-spinner-rotate 3s linear infinite;\n}\n\n/* Pendulum (rebuilt as SVG) — the old percentage-sized HTML-span\n version rendered as a near-invisible diagonal sliver at small\n sizes; a fixed-viewBox SVG is crisp at every size instead. A\n static pivot dot sits at the top; the arm + ball are grouped\n together and rotate as one rigid body around that pivot — the one\n variant that oscillates in an arc rather than completing a full\n rotation. */\n.nx-spinner__pendulum-svg {\n width: 100%;\n height: 100%;\n}\n\n.nx-spinner__pendulum-swing {\n transform-box: fill-box;\n transform-origin: 50% 0%;\n animation: nx-spinner-pendulum-swing 1s ease-in-out infinite;\n}\n\n@keyframes nx-spinner-pendulum-swing {\n 0%, 100% { transform: rotate(-32deg); }\n 50% { transform: rotate(32deg); }\n}\n\n/* Dancer — two squares held in a row that pivot together as a rigid\n pair (the container flips a half-turn), while each square also\n slides sideways and swaps places with the other. Adapted from a\n pseudo-element loader that used two hardcoded colors to tell the\n pair apart; ported here to real currentColor-only elements sized\n as percentages of the component's own box (not fixed pixels, so it\n scales with `size` like every other variant), with opacity as the\n distinguishing signal instead of a second color — the same\n convention \"dual-ring\" and \"comet\" already use. */\n.nx-spinner__dancer {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 62%;\n height: 34%;\n animation: nx-spinner-dancer-pivot 2s ease-in-out infinite alternate;\n}\n\n.nx-spinner__dancer-square {\n width: 40%;\n height: 100%;\n border-radius: var(--radius-sm, 2px);\n background: currentColor;\n animation: nx-spinner-dancer-swap 1s ease-in-out infinite alternate;\n}\n\n.nx-spinner__dancer-square--a {\n --nx-dancer-dir: 1;\n}\n\n.nx-spinner__dancer-square--b {\n opacity: 0.55;\n --nx-dancer-dir: -1;\n}\n\n@keyframes nx-spinner-dancer-pivot {\n 0%, 40% { transform: rotate(0deg); }\n 80%, 100% { transform: rotate(0.5turn); }\n}\n\n@keyframes nx-spinner-dancer-swap {\n 80%, 100% { transform: translateX(calc(var(--nx-dancer-dir) * 60%)); }\n}\n\n/* =========================================================\n Reduced motion — slow every animated variant down instead of\n disabling motion outright (keeps the \"loading\" signal legible).\n ========================================================= */\n@media (prefers-reduced-motion: reduce) {\n .nx-spinner__ring-svg,\n .nx-spinner__dot,\n .nx-spinner__bar,\n .nx-spinner__pulse,\n .nx-spinner__dual-ring-outer,\n .nx-spinner__dual-ring-inner,\n .nx-spinner__ripple-wave,\n .nx-spinner__orbit-spin,\n .nx-spinner__bounce-ball,\n .nx-spinner__conic,\n .nx-spinner__buffer-group,\n .nx-spinner__linear-bar,\n .nx-spinner__heartbeat-path,\n .nx-spinner__infinity-path,\n .nx-spinner__hourglass-svg,\n .nx-spinner__hourglass-sand-top,\n .nx-spinner__hourglass-sand-bottom,\n .nx-spinner__hourglass-grain,\n .nx-spinner__pinwheel-blades,\n .nx-spinner__radar-sweep,\n .nx-spinner__wave-dot,\n .nx-spinner__helix-dot,\n .nx-spinner__atom-spin,\n .nx-spinner__atom-electron-counter,\n .nx-spinner__comet,\n .nx-spinner__gauge-arc,\n .nx-spinner__stack-card,\n .nx-spinner__spiral-ring,\n .nx-spinner__burst-particle::before,\n .nx-spinner__eclipse-shadow,\n .nx-spinner__petal,\n .nx-spinner__petal-leaf::before,\n .nx-spinner__sine-path,\n .nx-spinner__gear-group,\n .nx-spinner__pendulum-swing,\n .nx-spinner__dancer,\n .nx-spinner__dancer-square {\n animation-duration: 2s;\n }\n}",".nx-divider {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n}\n\n.nx-divider--horizontal {\n width: 100%;\n}\n.nx-divider--horizontal .nx-divider__line {\n flex: 1;\n height: var(--border-widthThin, 1px);\n background: var(--color-border, #e5e7eb);\n}\n\n.nx-divider--vertical {\n flex-direction: column;\n height: 100%;\n align-self: stretch;\n}\n.nx-divider--vertical .nx-divider__line {\n flex: 1;\n width: var(--border-widthThin, 1px);\n background: var(--color-border, #e5e7eb);\n}\n\n.nx-divider__content {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-textMuted, #6b7280);\n white-space: nowrap;\n}\n",".nx-card {\n position: relative;\n display: flex;\n flex-direction: column;\n background: var(--color-surface, #ffffff);\n border-radius: var(--radius-lg, 14px);\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n overflow: hidden;\n transition: box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-card--horizontal {\n flex-direction: row;\n}\n\n.nx-card--elevated {\n box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.08));\n border: var(--border-widthThin, 1px) var(--border-style, solid) transparent;\n}\n\n.nx-card--outlined {\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n}\n\n.nx-card--flat {\n border: var(--border-widthThin, 1px) var(--border-style, solid) transparent;\n}\n\n/* \"flat\" with no border/shadow reads as bare content on themes where\n surface and background are close in tone — \"filled\" is the answer\n to that: no border or shadow either, but a background tint that's\n deliberately distinct from the page, so it still reads as a\n contained block at rest. */\n.nx-card--filled {\n background: var(--color-surfaceRaised, #f3f4f6);\n border: var(--border-widthThin, 1px) var(--border-style, solid) transparent;\n}\n\n.nx-card--clickable {\n cursor: pointer;\n}\n.nx-card--clickable:hover {\n box-shadow: var(--shadow-lg, 0 8px 20px rgba(0, 0, 0, 0.1));\n}\n.nx-card--clickable:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n.nx-card--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.nx-card__media {\n overflow: hidden;\n line-height: 0;\n background: var(--color-neutral-100, #f3f4f6); /* visible while media loads */\n}\n\n/*\n This is the actual fix for a real, confirmed bug — not a guess.\n A consuming site's own typography/\"prose\" stylesheet (Fumadocs'\n docs-content styling, in this case) commonly gives every <img> a\n default vertical margin, since that's a sensible default for\n images floating in the middle of long-form article text. Card\n never reset it. The result: the image sat 32px lower than its\n container's top edge — confirmed directly via\n `getComputedStyle(img).marginTop` in a real browser, not inferred\n from a screenshot — while still being exactly the container's\n height, so the excess got clipped off the bottom by `overflow:\n hidden`. That produced exactly the symptom it looked like: a gap\n of empty placeholder-background above the photo. A fixed\n aspect-ratio box and object-fit: cover (below) can't compensate\n for a margin doing this — margin isn't part of the size the\n container is even aware of.\n*/\n.nx-card__media img,\n.nx-card__media video {\n margin: 0;\n}\n\n/*\n Vertical (default): a fixed aspect ratio + object-fit: cover,\n deliberately NOT the media's natural height. Relying on natural\n height (`height: auto`) meant the rendered size depended on\n whatever the browser/Next.js Image decided the image's intrinsic\n box was — which could end up smaller than the container for\n reasons outside this component's control, leaving a visible gap\n around the image showing the placeholder background through it\n (a letterboxed-looking band above and below the photo). A fixed\n aspect ratio removes that dependency entirely: the media area is\n always exactly this size, and object-fit: cover always fills it\n completely, regardless of the actual image's own dimensions. It's\n also simply better card design — every card in a list ends up the\n same height instead of jumping around per image.\n*/\n.nx-card--vertical .nx-card__media {\n width: 100%;\n aspect-ratio: 16 / 9;\n}\n.nx-card--vertical .nx-card__media img,\n.nx-card--vertical .nx-card__media video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n/* Horizontal: media is a fixed-width column, cropped to fill the\n card's full height (stretch comes from the parent flex row's\n default align-items: stretch — no extra CSS needed for that part). */\n.nx-card--horizontal .nx-card__media {\n width: 38%;\n flex-shrink: 0;\n}\n.nx-card--horizontal .nx-card__media img,\n.nx-card--horizontal .nx-card__media video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n.nx-card--horizontal .nx-card__content {\n min-width: 0; /* lets text truncate/wrap instead of overflowing the flex row */\n}\n\n/*\n Overlay/hero: media fills the whole card as a backdrop; content\n sits on top at the bottom, with a gradient scrim behind it for\n legibility over an arbitrary image.\n\n This is a deliberate rebuild, not the original version: an explicit\n `height` (not just a `min-height` floor) makes the card's size\n fully deterministic instead of depending on how much slack space\n content's own `margin-top: auto` happened to have to push against\n — with only one in-flow flex child, there's no guarantee that slack\n space exists at all. Content is now positioned absolutely to the\n bottom directly, matching how media is already positioned, rather\n than relying on flex behavior for it. The scrim is also its own\n layer (`::after`, sized to the full card) instead of living on\n `.nx-card__content`'s own background — the old approach only\n darkened the area directly behind the text (a thin band), not a\n graceful fade across a real portion of the photo.\n*/\n/*\n width: 100% is not decorative here — it's the actual fix for a\n confirmed bug. Both .nx-card__media and .nx-card__content are\n position: absolute in overlay mode (that's what lets content sit\n on top of the photo), which removes ALL in-flow content from the\n card. A block-level flex item with no explicit width defaults to\n shrink-to-fit based on its in-flow content's own intrinsic size —\n with nothing left in flow, that collapsed to almost nothing\n (measured 2px in a real browser, not a guess). A `maxWidth` passed\n via `style` only caps a width, it doesn't establish one on its own.\n*/\n.nx-card--overlay {\n width: 100%;\n height: 320px;\n}\n.nx-card--overlay .nx-card__media {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n}\n.nx-card--overlay .nx-card__media img,\n.nx-card--overlay .nx-card__media video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n.nx-card--overlay::after {\n content: \"\";\n position: absolute;\n inset: 0;\n z-index: 1;\n background: linear-gradient(\n to top,\n rgba(0, 0, 0, 0.85) 0%,\n rgba(0, 0, 0, 0.55) 35%,\n rgba(0, 0, 0, 0.15) 70%,\n transparent 100%\n );\n pointer-events: none;\n}\n.nx-card--overlay .nx-card__content {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 2;\n}\n/* Overlay text is always on top of a photo/video, not the theme's\n own surface — it needs to stay light regardless of which theme\n (light or dark) is active, unlike every other card variant where\n text correctly follows --color-text. */\n.nx-card--overlay .nx-card__header,\n.nx-card--overlay .nx-card__body {\n color: #ffffff;\n}\n.nx-card--overlay .nx-card__header,\n.nx-card--overlay .nx-card__footer {\n border-color: transparent;\n}\n\n.nx-card__header,\n.nx-card__footer {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n/* Padding applies to header/body/footer, not media (media should\n bleed to the card's edge). */\n.nx-card--padding-none .nx-card__header,\n.nx-card--padding-none .nx-card__body,\n.nx-card--padding-none .nx-card__footer { padding: 0; }\n\n.nx-card--padding-sm .nx-card__header,\n.nx-card--padding-sm .nx-card__body,\n.nx-card--padding-sm .nx-card__footer { padding: var(--spacing-sm, 8px) var(--spacing-md, 16px); }\n\n.nx-card--padding-md .nx-card__header,\n.nx-card--padding-md .nx-card__body,\n.nx-card--padding-md .nx-card__footer { padding: var(--spacing-md, 16px) var(--spacing-lg, 24px); }\n\n.nx-card--padding-lg .nx-card__header,\n.nx-card--padding-lg .nx-card__body,\n.nx-card--padding-lg .nx-card__footer { padding: var(--spacing-lg, 24px) var(--spacing-xl, 32px); }\n\n.nx-card__body {\n flex: 1;\n color: var(--color-text, #111827);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n line-height: var(--typography-lineHeightNormal, 1.5);\n}\n\n.nx-card__header {\n font-weight: var(--typography-weightBold, 700);\n color: var(--color-text, #111827);\n border-bottom: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n}\n\n.nx-card__footer {\n color: var(--color-textMuted, #6b7280);\n font-size: var(--typography-sizeXs, 12px);\n}\n\n.nx-card__badge {\n position: absolute;\n top: var(--spacing-sm, 8px);\n right: var(--spacing-sm, 8px);\n z-index: 2;\n}\n",".nx-alert {\n display: flex;\n align-items: flex-start;\n gap: var(--spacing-sm, 8px);\n padding: var(--spacing-md, 16px);\n border-radius: var(--radius-md, 8px);\n border: var(--border-widthThin, 1px) var(--border-style, solid) transparent;\n border-left-width: 3px;\n /* Every other surface component (Button, Card, Badge's solid\n variant, Input) picks up each theme's shadow.xs — the soft blur\n in Light, the hard black offset in Neobrutalism, the neon glow\n in Cyberpunk, the embossed inset+outer pair in Skeuomorphism,\n none at all in Brutalism/Minimalism (their own deliberate\n flatness). Alert didn't have this line, so it rendered\n identically flat everywhere regardless of theme. */\n box-shadow: var(--shadow-xs, none);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-alert--info {\n background: var(--color-info-light, #dbeafe);\n border-left-color: var(--color-info-base, #3b82f6);\n color: var(--color-info-deeper, #1e3a5f);\n}\n.nx-alert--success {\n background: var(--color-success-light, #d1fae5);\n border-left-color: var(--color-success-base, #10b981);\n color: var(--color-success-deeper, #064e3b);\n}\n.nx-alert--warning {\n background: var(--color-warning-light, #fef3c7);\n border-left-color: var(--color-warning-base, #f59e0b);\n color: var(--color-warning-deeper, #78350f);\n}\n.nx-alert--danger {\n background: var(--color-danger-light, #fee2e2);\n border-left-color: var(--color-danger-base, #ef4444);\n color: var(--color-danger-deeper, #7f1d1d);\n}\n\n.nx-alert__icon {\n flex-shrink: 0;\n display: inline-flex;\n padding-top: 1px; /* optical alignment with the title's cap-height */\n}\n\n.nx-alert__body {\n flex: 1;\n min-width: 0;\n}\n\n.nx-alert__title {\n font-weight: var(--typography-weightBold, 700);\n font-size: var(--typography-sizeSm, 14px);\n line-height: var(--typography-lineHeightTight, 1.2);\n}\n\n.nx-alert__description {\n font-size: var(--typography-sizeSm, 14px);\n line-height: var(--typography-lineHeightNormal, 1.5);\n margin-top: 2px;\n}\n.nx-alert__title + .nx-alert__description {\n margin-top: 4px;\n}\n\n.nx-alert__action {\n flex-shrink: 0;\n}\n\n.nx-alert__dismiss {\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 2px;\n margin: -2px -2px -2px 0;\n border: none;\n background: transparent;\n color: inherit;\n cursor: pointer;\n border-radius: var(--radius-sm, 6px);\n opacity: 0.6;\n transition: opacity var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n.nx-alert__dismiss:hover {\n opacity: 1;\n background: rgba(0, 0, 0, 0.08);\n}",".nx-modal-backdrop {\n position: fixed;\n inset: 0;\n z-index: 1000;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-lg, 24px);\n background: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(2px);\n animation: nx-modal-backdrop-in var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n@keyframes nx-modal-backdrop-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n.nx-modal {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-height: calc(100vh - var(--spacing-lg, 24px) * 2);\n background: var(--color-surface, #ffffff);\n border-radius: var(--radius-lg, 14px);\n box-shadow: var(--shadow-xl, 0 20px 40px rgba(0, 0, 0, 0.2));\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n outline: none; /* focus lands here programmatically; a visible browser outline on the whole panel isn't useful */\n animation: nx-modal-panel-in var(--motion-durationNormal, 180ms) var(--motion-easeEmphasized, ease);\n}\n\n@keyframes nx-modal-panel-in {\n from { opacity: 0; transform: translateY(8px) scale(0.98); }\n to { opacity: 1; transform: translateY(0) scale(1); }\n}\n\n.nx-modal--xs { max-width: 360px; }\n.nx-modal--sm { max-width: 480px; }\n.nx-modal--md { max-width: 640px; }\n.nx-modal--lg { max-width: 860px; }\n.nx-modal--xl { max-width: 1100px; }\n.nx-modal--full {\n max-width: none;\n width: calc(100vw - var(--spacing-lg, 24px) * 2);\n height: calc(100vh - var(--spacing-lg, 24px) * 2);\n}\n\n.nx-modal__header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--spacing-md, 16px);\n padding: var(--spacing-lg, 24px) var(--spacing-lg, 24px) 0;\n flex-shrink: 0;\n}\n\n.nx-modal__title {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeLg, 18px);\n font-weight: var(--typography-weightBold, 700);\n color: var(--color-text, #111827);\n}\n\n.nx-modal__close {\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: var(--color-textMuted, #6b7280);\n cursor: pointer;\n border-radius: var(--radius-sm, 6px);\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n.nx-modal__close:hover {\n background: var(--color-surfaceRaised, #f3f4f6);\n color: var(--color-text, #111827);\n}\n.nx-modal__close:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n.nx-modal__body {\n flex: 1;\n overflow-y: auto;\n padding: var(--spacing-lg, 24px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n line-height: var(--typography-lineHeightNormal, 1.5);\n color: var(--color-text, #111827);\n}\n\n.nx-modal__footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--spacing-sm, 8px);\n padding: 0 var(--spacing-lg, 24px) var(--spacing-lg, 24px);\n flex-shrink: 0;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-modal-backdrop, .nx-modal {\n animation-duration: 0.01ms;\n }\n}\n",".nx-tooltip {\n z-index: 1100;\n max-width: 240px;\n padding: 6px 10px;\n border-radius: var(--radius-sm, 6px);\n background: var(--color-neutral-900, #171717);\n color: var(--color-neutral-0, #ffffff);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeXs, 12px);\n line-height: var(--typography-lineHeightNormal, 1.5);\n box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.15));\n pointer-events: none; /* never intercepts hover meant for the trigger/page underneath */\n animation: nx-tooltip-in var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n@keyframes nx-tooltip-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n.nx-tooltip::after {\n content: \"\";\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n}\n\n.nx-tooltip--top::after {\n bottom: -4px;\n left: 50%;\n transform: translateX(-50%) rotate(45deg);\n}\n.nx-tooltip--bottom::after {\n top: -4px;\n left: 50%;\n transform: translateX(-50%) rotate(45deg);\n}\n.nx-tooltip--left::after {\n right: -4px;\n top: 50%;\n transform: translateY(-50%) rotate(45deg);\n}\n.nx-tooltip--right::after {\n left: -4px;\n top: 50%;\n transform: translateY(-50%) rotate(45deg);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-tooltip {\n animation-duration: 0.01ms;\n }\n}\n",".nx-toast-container {\n position: fixed;\n z-index: 1200;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-sm, 8px);\n padding: var(--spacing-md, 16px);\n max-width: 380px;\n pointer-events: none; /* the gaps between toasts shouldn't block clicks to the page underneath */\n}\n.nx-toast-container > * {\n pointer-events: auto;\n}\n\n.nx-toast-container--top-left { top: 0; left: 0; align-items: flex-start; }\n.nx-toast-container--top-center { top: 0; left: 50%; transform: translateX(-50%); align-items: center; }\n.nx-toast-container--top-right { top: 0; right: 0; align-items: flex-end; }\n.nx-toast-container--bottom-left { bottom: 0; left: 0; align-items: flex-start; flex-direction: column-reverse; }\n.nx-toast-container--bottom-center { bottom: 0; left: 50%; transform: translateX(-50%); align-items: center; flex-direction: column-reverse; }\n.nx-toast-container--bottom-right { bottom: 0; right: 0; align-items: flex-end; flex-direction: column-reverse; }\n\n.nx-toast {\n display: flex;\n align-items: flex-start;\n gap: var(--spacing-sm, 8px);\n width: 100%;\n padding: var(--spacing-sm, 8px) var(--spacing-md, 16px);\n border-radius: var(--radius-md, 8px);\n background: var(--color-surface, #ffffff);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n box-shadow: var(--shadow-lg, 0 8px 20px rgba(0, 0, 0, 0.12));\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n animation: nx-toast-in var(--motion-durationNormal, 180ms) var(--motion-easeEmphasized, ease);\n}\n\n@keyframes nx-toast-in {\n from { opacity: 0; transform: translateY(8px) scale(0.97); }\n to { opacity: 1; transform: translateY(0) scale(1); }\n}\n\n.nx-toast--info .nx-toast__icon { color: var(--color-info-base, #3b82f6); }\n.nx-toast--success .nx-toast__icon { color: var(--color-success-base, #10b981); }\n.nx-toast--warning .nx-toast__icon { color: var(--color-warning-base, #f59e0b); }\n.nx-toast--danger .nx-toast__icon { color: var(--color-danger-base, #ef4444); }\n\n.nx-toast__icon {\n flex-shrink: 0;\n display: inline-flex;\n padding-top: 2px;\n}\n\n.nx-toast__body {\n flex: 1;\n min-width: 0;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-toast__title {\n font-size: var(--typography-sizeSm, 14px);\n font-weight: var(--typography-weightBold, 700);\n color: var(--color-text, #111827);\n line-height: var(--typography-lineHeightTight, 1.2);\n}\n\n.nx-toast__description {\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-textMuted, #6b7280);\n line-height: var(--typography-lineHeightNormal, 1.5);\n margin-top: 2px;\n}\n\n.nx-toast__action {\n flex-shrink: 0;\n align-self: center;\n}\n\n.nx-toast__dismiss {\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 2px;\n margin: -2px -4px -2px 0;\n border: none;\n background: transparent;\n color: var(--color-textMuted, #6b7280);\n cursor: pointer;\n border-radius: var(--radius-sm, 6px);\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n.nx-toast__dismiss:hover {\n background: var(--color-surfaceRaised, #f3f4f6);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-toast {\n animation-duration: 0.01ms;\n }\n}\n","/* Category A meter. Every value is a var(--token, fallback), no\n literal colors/radii/durations (BUILDING-COMPONENTS.md step 3).\n The fill is a solid accent surface with NO text on it, so the\n raw-color onAccent gap (CONTRACT.md Rule 5c) doesn't apply here —\n nothing is painted on top of --color-brand-500 that needs a\n guaranteed-contrast foreground. */\n\n.nx-progress-wrap {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n inline-size: 100%;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-progress {\n position: relative;\n flex: 1;\n min-inline-size: 0;\n overflow: hidden;\n background: var(--color-surfaceRaised, #f3f4f6);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);\n border-radius: var(--radius-full, 9999px);\n box-shadow: var(--shadow-xs, none);\n}\n\n.nx-progress__fill {\n block-size: 100%;\n inline-size: 0;\n border-radius: inherit;\n background: var(--color-brand-500, #6366f1);\n transition: inline-size var(--motion-durationNormal, 180ms) var(--motion-easeStandard, ease);\n}\n\n/* Semantic tones — theme-defined colors, kept separate from the\n brand accent (CONTRACT.md Rule 5b's success/warning/danger note). */\n.nx-progress--success .nx-progress__fill { background: var(--color-success-base, #16a34a); }\n.nx-progress--warning .nx-progress__fill { background: var(--color-warning-base, #d97706); }\n.nx-progress--danger .nx-progress__fill { background: var(--color-danger-base, #ef4444); }\n\n/* Track height per size — the one dimension that scales. */\n.nx-progress--xs { block-size: 4px; }\n.nx-progress--sm { block-size: 6px; }\n.nx-progress--md { block-size: 8px; }\n.nx-progress--lg { block-size: 12px; }\n.nx-progress--xl { block-size: 16px; }\n\n.nx-progress__value {\n flex-shrink: 0;\n font-size: var(--typography-sizeXs, 12px);\n font-variant-numeric: tabular-nums;\n color: var(--color-textMuted, #6b7280);\n min-inline-size: 3ch;\n text-align: end;\n}\n\n/* Indeterminate: the fill becomes a shuttle of fixed width sliding\n across the track. No inline width is set by the component in this\n state, so the animation fully owns it. */\n.nx-progress--indeterminate .nx-progress__fill {\n inline-size: 40%;\n border-radius: var(--radius-full, 9999px);\n animation: nx-progress-indeterminate 1.2s var(--motion-easeStandard, ease) infinite;\n will-change: transform;\n}\n\n@keyframes nx-progress-indeterminate {\n 0% { transform: translateX(-120%); }\n 100% { transform: translateX(320%); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-progress__fill {\n transition-duration: 0.01ms;\n }\n /* An infinite slide is exactly the kind of motion prefers-reduced\n -motion is meant to stop — replace it with a static, obviously\n \"busy\" 60% fill rather than an empty or animated bar. */\n .nx-progress--indeterminate .nx-progress__fill {\n animation: none;\n inline-size: 60%;\n transform: none;\n }\n}","/* Category E: tablist/tab/tabpanel. Every value is a\n var(--token, fallback) reading from the active theme's generated\n custom properties, so switching data-theme restyles Tabs with\n zero JS (CONTRACT.md CSS-cascade theming). No literal colors,\n radii, durations, or shadows. */\n\n.nx-tabs {\n display: flex;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-text, #111827);\n}\n\n/* Orientation drives the top-level layout: tabs above panels\n (horizontal) vs. tabs beside panels (vertical). */\n.nx-tabs--horizontal {\n flex-direction: column;\n}\n.nx-tabs--vertical {\n flex-direction: row;\n gap: var(--spacing-md, 16px);\n}\n\n/* ---- Tab list ---- */\n.nx-tabs__list {\n display: flex;\n}\n.nx-tabs--horizontal .nx-tabs__list {\n flex-direction: row;\n}\n.nx-tabs--vertical .nx-tabs__list {\n flex-direction: column;\n}\n\n/* ---- Tab (button) ---- */\n.nx-tabs__tab {\n appearance: none;\n background: transparent;\n border: none;\n margin: 0;\n cursor: pointer;\n font-family: inherit;\n font-weight: var(--typography-weightMedium, 500);\n line-height: var(--typography-lineHeightTight, 1.2);\n color: var(--color-textMuted, #6b7280);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-xs, 4px);\n white-space: nowrap;\n transition: color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-tabs__tab:hover:not(.nx-tabs__tab--disabled) {\n color: var(--color-text, #111827);\n}\n\n.nx-tabs__tab--selected {\n color: var(--color-brand-600, #4f46e5);\n}\n\n.nx-tabs__tab:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n border-radius: var(--radius-sm, 6px);\n}\n\n.nx-tabs__tab--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Sizes — padding + font-size only, from the shared scale. */\n.nx-tabs--xs .nx-tabs__tab { padding: 4px 10px; font-size: var(--typography-sizeXs, 12px); }\n.nx-tabs--sm .nx-tabs__tab { padding: 6px 12px; font-size: var(--typography-sizeSm, 14px); }\n.nx-tabs--md .nx-tabs__tab { padding: 8px 14px; font-size: var(--typography-sizeMd, 16px); }\n.nx-tabs--lg .nx-tabs__tab { padding: 10px 18px; font-size: var(--typography-sizeLg, 18px); }\n.nx-tabs--xl .nx-tabs__tab { padding: 12px 22px; font-size: var(--typography-sizeXl, 22px); }\n\n/* ---- Variant: line (default) — an underline/inline rule that the\n selected tab lights up in the accent color. The tab's edge border\n overlaps the list's rule via a -1px margin so the two align. ---- */\n.nx-tabs--line.nx-tabs--horizontal .nx-tabs__list {\n border-block-end: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n}\n.nx-tabs--line.nx-tabs--horizontal .nx-tabs__tab {\n border-block-end: 2px solid transparent;\n margin-block-end: -1px;\n}\n.nx-tabs--line.nx-tabs--horizontal .nx-tabs__tab--selected {\n border-block-end-color: var(--color-brand-500, #6366f1);\n}\n\n.nx-tabs--line.nx-tabs--vertical .nx-tabs__list {\n border-inline-start: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n}\n.nx-tabs--line.nx-tabs--vertical .nx-tabs__tab {\n border-inline-start: 2px solid transparent;\n margin-inline-start: -1px;\n justify-content: flex-start;\n}\n.nx-tabs--line.nx-tabs--vertical .nx-tabs__tab--selected {\n border-inline-start-color: var(--color-brand-500, #6366f1);\n}\n\n/* ---- Variant: soft — selected tab gets a subtle brand-tinted\n pill; no rule/underline. ---- */\n.nx-tabs--soft .nx-tabs__list {\n gap: var(--spacing-xs, 4px);\n}\n.nx-tabs--soft .nx-tabs__tab {\n border-radius: var(--radius-md, 8px);\n}\n.nx-tabs--soft .nx-tabs__tab--selected {\n background: var(--color-brand-50, #f0f4ff);\n color: var(--color-brand-700, #4338ca);\n /* Parity with --solid's selected tab below, which already reads\n shadow.xs — without this, soft was purely accent-driven (bg +\n text only) and looked identical across every theme regardless\n of Neobrutalism's hard offset shadow, Cyberpunk's glow, etc. */\n box-shadow: var(--shadow-xs, none);\n}\n\n/* ---- Variant: solid — a segmented control; the selected tab is a\n filled accent chip. Text uses --color-brand-onAccent, matching\n Button's solid variant. (Same known limitation as Button: a *raw*\n color accent doesn't supply onAccent, so it falls back to white —\n registered accents always define it. Tracked library-wide, not\n solved unilaterally here.) ---- */\n.nx-tabs--solid .nx-tabs__list {\n gap: var(--spacing-xs, 4px);\n padding: var(--spacing-xs, 4px);\n background: var(--color-surfaceRaised, #f3f4f6);\n border-radius: var(--radius-md, 8px);\n align-self: flex-start;\n}\n.nx-tabs--vertical.nx-tabs--solid .nx-tabs__list {\n align-self: stretch;\n}\n.nx-tabs--solid .nx-tabs__tab {\n border-radius: var(--radius-sm, 6px);\n}\n.nx-tabs--solid .nx-tabs__tab--selected {\n background: var(--color-brand-500, #6366f1);\n color: var(--color-brand-onAccent, #ffffff);\n box-shadow: var(--shadow-sm, none);\n}\n\n/* ---- Panel ---- */\n.nx-tabs__panel {\n padding-block-start: var(--spacing-md, 16px);\n color: var(--color-text, #111827);\n}\n.nx-tabs--vertical .nx-tabs__panel {\n padding-block-start: 0;\n flex: 1;\n min-inline-size: 0;\n}\n/* The panel is a focus stop (tabIndex 0 in core); give it the same\n visible focus ring as everything else rather than a bare outline. */\n.nx-tabs__panel:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n border-radius: var(--radius-sm, 6px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-tabs__tab {\n transition: none;\n }\n}","/* Category E: disclosure. Every value is a var(--token, fallback)\n from the active theme's generated custom properties, so switching\n data-theme restyles the accordion with zero JS. No literal\n colors, radii, durations, or shadows. */\n\n.nx-accordion {\n display: flex;\n flex-direction: column;\n inline-size: 100%;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-text, #111827);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-md, 8px);\n overflow: hidden;\n background: var(--color-surface, #ffffff);\n}\n\n/* Items are separated by a divider rather than each carrying its own\n border, so the group reads as one surface. */\n.nx-accordion__item + .nx-accordion__item {\n border-block-start: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n}\n\n/* ---- Header + trigger ---- */\n.nx-accordion__header {\n margin: 0;\n /* The heading element is structural only — it inherits its visual\n size from the trigger, not from the browser's default h1–h6. */\n font: inherit;\n}\n\n.nx-accordion__trigger {\n appearance: none;\n inline-size: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--spacing-sm, 8px);\n background: transparent;\n border: none;\n margin: 0;\n cursor: pointer;\n text-align: start;\n font-family: inherit;\n font-weight: var(--typography-weightMedium, 500);\n line-height: var(--typography-lineHeightTight, 1.2);\n color: var(--color-text, #111827);\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-accordion__trigger:hover:not(:disabled) {\n background: var(--color-surfaceRaised, #f3f4f6);\n}\n\n.nx-accordion__trigger:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: -2px; /* inset, so the ring isn't clipped by overflow:hidden */\n}\n\n.nx-accordion__trigger:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-accordion__trigger--open {\n color: var(--color-brand-600, #4f46e5);\n}\n\n.nx-accordion__label {\n flex: 1;\n min-inline-size: 0;\n}\n\n/* The chevron rotates to point up when its section is open; the\n rotation is disabled under prefers-reduced-motion below. */\n.nx-accordion__icon {\n flex-shrink: 0;\n color: var(--color-textMuted, #6b7280);\n transition: transform var(--motion-durationNormal, 180ms) var(--motion-easeStandard, ease);\n}\n.nx-accordion__trigger--open .nx-accordion__icon {\n transform: rotate(180deg);\n}\n\n/* Sizes — header padding + font-size, from the shared scale. */\n.nx-accordion--xs .nx-accordion__trigger { padding: 8px 10px; font-size: var(--typography-sizeXs, 12px); }\n.nx-accordion--sm .nx-accordion__trigger { padding: 10px 12px; font-size: var(--typography-sizeSm, 14px); }\n.nx-accordion--md .nx-accordion__trigger { padding: 12px 16px; font-size: var(--typography-sizeMd, 16px); }\n.nx-accordion--lg .nx-accordion__trigger { padding: 16px 20px; font-size: var(--typography-sizeLg, 18px); }\n.nx-accordion--xl .nx-accordion__trigger { padding: 20px 24px; font-size: var(--typography-sizeXl, 22px); }\n\n/* ---- Panel ---- */\n.nx-accordion__panel {\n color: var(--color-text, #111827);\n}\n.nx-accordion__panel-inner {\n color: var(--color-textMuted, #6b7280);\n font-size: var(--typography-sizeSm, 14px);\n line-height: var(--typography-lineHeightNormal, 1.5);\n}\n/* Panel padding mirrors the trigger's horizontal padding per size, so\n content lines up under the header label. */\n.nx-accordion--xs .nx-accordion__panel-inner { padding: 4px 10px 10px; }\n.nx-accordion--sm .nx-accordion__panel-inner { padding: 4px 12px 12px; }\n.nx-accordion--md .nx-accordion__panel-inner { padding: 4px 16px 16px; }\n.nx-accordion--lg .nx-accordion__panel-inner { padding: 4px 20px 20px; }\n.nx-accordion--xl .nx-accordion__panel-inner { padding: 4px 24px 24px; }\n\n@media (prefers-reduced-motion: reduce) {\n .nx-accordion__trigger,\n .nx-accordion__icon {\n transition: none;\n }\n}\n","/* Category C: overlay menu. Every value is a var(--token, fallback)\n from the active theme's generated custom properties, so switching\n data-theme restyles the menu with zero JS. The menu is rendered\n through ThemedPortal, which mirrors data-theme/data-accent onto the\n portal node, so these tokens resolve to the right theme even though\n the menu lives at the end of <body>. No literal colors, radii,\n durations, or shadows — except the destructive item, which pulls\n from the semantic danger-* registry (Rule 5b), never the accent. */\n\n.nx-dropdown__menu {\n /* Above Modal (1000), below Tooltip (1100) so a tooltip on a menu\n item still layers over it, and below Toast (1200). */\n z-index: 1050;\n box-sizing: border-box;\n min-inline-size: 10rem;\n max-inline-size: min(20rem, calc(100vw - 16px));\n max-block-size: calc(100vh - 16px);\n overflow-y: auto;\n padding: var(--spacing-xs, 4px);\n margin: 0;\n background: var(--color-surface, #ffffff);\n color: var(--color-text, #111827);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-lg, 0 10px 24px rgba(0, 0, 0, 0.18));\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n animation: nx-dropdown-in var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n@keyframes nx-dropdown-in {\n from { opacity: 0; transform: translateY(-2px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n/* ---- Items ---- */\n.nx-dropdown__item {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n inline-size: 100%;\n box-sizing: border-box;\n border-radius: var(--radius-sm, 6px);\n color: var(--color-text, #111827);\n cursor: pointer;\n user-select: none;\n white-space: nowrap;\n outline: none;\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n/* Hover AND programmatic keyboard focus share one highlight: the menu\n moves real DOM focus between items with the arrow keys, so :focus is\n the \"active item\" indicator, not just a mouse affordance. */\n.nx-dropdown__item:not(.nx-dropdown__item--disabled):hover,\n.nx-dropdown__item:not(.nx-dropdown__item--disabled):focus {\n background: var(--color-brand-50, #eef2ff);\n color: var(--color-brand-700, #4338ca);\n}\n\n/* A crisp ring for keyboard users on top of the background tint. */\n.nx-dropdown__item:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: -2px;\n}\n\n.nx-dropdown__item--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Destructive action: color from the semantic danger registry, which\n stays red across every accent (Rule 5b) so \"Delete\" never blends\n into a brand-tinted menu. */\n.nx-dropdown__item--danger {\n color: var(--color-danger-base, #dc2626);\n}\n.nx-dropdown__item--danger:not(.nx-dropdown__item--disabled):hover,\n.nx-dropdown__item--danger:not(.nx-dropdown__item--disabled):focus {\n background: var(--color-danger-subtle, #fee2e2);\n color: var(--color-danger-dark, #b91c1c);\n}\n.nx-dropdown__item--danger:focus-visible {\n outline-color: var(--color-danger-base, #dc2626);\n}\n\n/* ---- Separator + section label ---- */\n.nx-dropdown__separator {\n block-size: var(--border-widthThin, 1px);\n background: var(--color-border, #e5e7eb);\n margin: var(--spacing-xs, 4px) 0;\n}\n\n.nx-dropdown__label {\n padding: var(--spacing-xs, 4px) var(--spacing-sm, 8px);\n color: var(--color-textMuted, #6b7280);\n font-size: var(--typography-sizeXs, 12px);\n font-weight: var(--typography-weightMedium, 500);\n line-height: var(--typography-lineHeightTight, 1.2);\n}\n\n/* ---- Sizes: item padding + font-size, from the shared scale ---- */\n.nx-dropdown__menu--xs .nx-dropdown__item { padding: 4px 8px; font-size: var(--typography-sizeXs, 12px); }\n.nx-dropdown__menu--sm .nx-dropdown__item { padding: 6px 10px; font-size: var(--typography-sizeSm, 14px); }\n.nx-dropdown__menu--md .nx-dropdown__item { padding: 8px 12px; font-size: var(--typography-sizeMd, 16px); }\n.nx-dropdown__menu--lg .nx-dropdown__item { padding: 10px 14px; font-size: var(--typography-sizeLg, 18px); }\n.nx-dropdown__menu--xl .nx-dropdown__item { padding: 12px 16px; font-size: var(--typography-sizeXl, 22px); }\n\n.nx-dropdown__menu--xs { min-inline-size: 8rem; }\n.nx-dropdown__menu--sm { min-inline-size: 9rem; }\n.nx-dropdown__menu--lg { min-inline-size: 12rem; }\n.nx-dropdown__menu--xl { min-inline-size: 14rem; }\n\n@media (prefers-reduced-motion: reduce) {\n .nx-dropdown__menu {\n animation-duration: 0.01ms;\n }\n .nx-dropdown__item {\n transition: none;\n }\n}\n","/* ============================================================\n SELECT — combobox trigger + portalled listbox.\n\n Every value is var(--token, fallback) (Rule 2): the trigger\n reuses the Input field shape (so a Select sits flush next to a\n text field), and the listbox reuses the Dropdown surface (border\n + radius-md + shadow-lg). Active/selected/hover option states use\n the ACCENT (--color-brand-*), which flips correctly under an\n accent override; nothing here is a semantic (success/danger)\n color, so this file has no danger-* dependency.\n ============================================================ */\n\n.nx-select {\n display: inline-block;\n position: relative;\n inline-size: 100%;\n max-inline-size: 20rem;\n}\n\n/* ---- trigger (role=combobox), shaped like the Input field ---- */\n.nx-select__trigger {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n inline-size: 100%;\n box-sizing: border-box;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-neutral-900, #171717);\n background: var(--color-neutral-0, #ffffff);\n border: 1px solid var(--color-neutral-300, #d4d4d4);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.05));\n cursor: pointer;\n text-align: start;\n transition:\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n/* keyboard focus + open both read as \"engaged\": accent ring */\n.nx-select__trigger:focus-visible,\n.nx-select__trigger--open {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-select__trigger--invalid {\n border-color: var(--color-danger-base, #dc2626);\n}\n.nx-select__trigger--invalid:focus-visible,\n.nx-select__trigger--invalid.nx-select__trigger--open {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #dc2626) 20%, transparent);\n}\n\n.nx-select__trigger--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50, #fafafa);\n}\n\n/* size scale — matches Input's padding/type ramp */\n.nx-select__trigger--xs {\n padding: 4px 8px;\n min-block-size: 28px;\n font-size: var(--typography-sizeXs, 12px);\n}\n.nx-select__trigger--sm {\n padding: 5px 10px;\n min-block-size: 32px;\n font-size: var(--typography-sizeSm, 14px);\n}\n.nx-select__trigger--md {\n padding: 8px 12px;\n min-block-size: 38px;\n font-size: var(--typography-sizeMd, 16px);\n}\n.nx-select__trigger--lg {\n padding: 10px 14px;\n min-block-size: 44px;\n font-size: var(--typography-sizeLg, 18px);\n}\n.nx-select__trigger--xl {\n padding: 12px 16px;\n min-block-size: 52px;\n font-size: var(--typography-sizeXl, 20px);\n}\n\n/* ---- value / placeholder (single) ---- */\n.nx-select__value {\n flex: 1 1 auto;\n min-inline-size: 0;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.nx-select__value--placeholder {\n color: var(--color-neutral-400, #a3a3a3);\n}\n\n/* ---- chips (multiple) ---- */\n.nx-select__chips {\n flex: 1 1 auto;\n min-inline-size: 0;\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n}\n.nx-select__chip {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 4px 2px 8px;\n font-size: 0.85em;\n line-height: 1.4;\n color: var(--color-brand-700, #4338ca);\n background: var(--color-brand-50, #eef2ff);\n border-radius: var(--radius-sm, 4px);\n}\n.nx-select__chip-remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n margin: 0;\n inline-size: 16px;\n block-size: 16px;\n color: inherit;\n background: transparent;\n border: none;\n border-radius: var(--radius-full, 9999px);\n cursor: pointer;\n opacity: 0.7;\n transition: opacity var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease), background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n.nx-select__chip-remove:hover {\n opacity: 1;\n background: color-mix(in srgb, var(--color-brand-700, #4338ca) 15%, transparent);\n}\n.nx-select__chip-remove-icon {\n inline-size: 12px;\n block-size: 12px;\n}\n\n/* ---- chevron ---- */\n.nx-select__chevron {\n flex: none;\n inline-size: 1em;\n block-size: 1em;\n color: var(--color-neutral-500, #737373);\n transition: transform var(--motion-durationNormal, 180ms) var(--motion-easeStandard, ease);\n}\n.nx-select__trigger--open .nx-select__chevron {\n transform: rotate(180deg);\n}\n\n/* ---- listbox (portalled), shaped like the Dropdown surface ---- */\n.nx-select__listbox {\n box-sizing: border-box;\n max-block-size: 16rem;\n overflow-y: auto;\n padding: var(--spacing-xs, 4px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n background: var(--color-neutral-0, #ffffff);\n border: 1px solid var(--color-neutral-200, #e5e5e5);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-lg, 0 10px 15px rgba(0, 0, 0, 0.1));\n /* Peer of the Dropdown menu in the overlay stack (below Modal 1000? no —\n these are anchored popups, above Modal, below Tooltip 1100). */\n z-index: 1050;\n animation: nx-select-in var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-select__listbox--xs { font-size: var(--typography-sizeXs, 12px); }\n.nx-select__listbox--sm { font-size: var(--typography-sizeSm, 14px); }\n.nx-select__listbox--md { font-size: var(--typography-sizeMd, 16px); }\n.nx-select__listbox--lg { font-size: var(--typography-sizeLg, 18px); }\n.nx-select__listbox--xl { font-size: var(--typography-sizeXl, 20px); }\n\n/* ---- option ---- */\n.nx-select__option {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n padding: 6px 8px;\n border-radius: var(--radius-sm, 4px);\n color: var(--color-neutral-800, #262626);\n cursor: pointer;\n user-select: none;\n}\n\n/* \"active\" = the aria-activedescendant highlight (keyboard or hover) */\n.nx-select__option--active {\n background: var(--color-brand-50, #eef2ff);\n color: var(--color-brand-700, #4338ca);\n}\n\n.nx-select__option--selected {\n font-weight: var(--typography-weightMedium, 500);\n}\n\n.nx-select__option--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* fixed gutter so labels align whether or not a check is shown */\n.nx-select__option-check {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 1em;\n block-size: 1em;\n color: var(--color-brand-600, #4f46e5);\n}\n.nx-select__check-icon {\n inline-size: 1em;\n block-size: 1em;\n}\n.nx-select__option-label {\n flex: 1 1 auto;\n min-inline-size: 0;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n@keyframes nx-select-in {\n from {\n opacity: 0;\n transform: translateY(-4px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-select__trigger,\n .nx-select__chevron,\n .nx-select__chip-remove {\n transition: none;\n }\n .nx-select__listbox {\n animation: none;\n }\n}\n","/* Category B: form input. Every value is a var(--token, fallback)\n from the active theme's generated custom properties — no literal\n colors, radii, or durations. */\n\n.nx-slider {\n position: relative;\n display: flex;\n align-items: center;\n inline-size: 100%;\n min-inline-size: 10rem;\n box-sizing: border-box;\n padding-block: var(--spacing-sm, 8px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n touch-action: none; /* dragging a thumb shouldn't also scroll the page on touch devices */\n}\n\n.nx-slider__track {\n position: relative;\n inline-size: 100%;\n border-radius: var(--radius-full, 999px);\n background: var(--color-neutral-200, #e5e7eb);\n cursor: pointer;\n}\n\n.nx-slider--xs .nx-slider__track { block-size: 3px; }\n.nx-slider--sm .nx-slider__track { block-size: 4px; }\n.nx-slider--md .nx-slider__track { block-size: 5px; }\n.nx-slider--lg .nx-slider__track { block-size: 6px; }\n.nx-slider--xl .nx-slider__track { block-size: 8px; }\n\n/* Reserves room for .nx-slider__value-label above the track instead\n of letting it overflow into whatever sits above .nx-slider in\n .nx-field — which, when the slider has a `label`, is the label\n text itself (the reported \"Price range\" text sitting behind the\n \"$0\" bubble). 32px comfortably clears the tallest case: an xl\n thumb's radius (12px) + the bubble's 8px offset + the bubble's\n own ~14px content height, with a little headroom. */\n.nx-slider--with-value-label {\n margin-block-start: 32px;\n}\n\n.nx-slider__range {\n position: absolute;\n inset-block: 0;\n border-radius: inherit;\n background: var(--color-brand-500, #6366f1);\n /* Purely visual — without this, the filled portion of the track\n sits on top and silently swallows pointer events aimed at the\n track underneath it (handleTrackPointerDown's target check\n rejects anything that isn't the track element itself). Since a\n slider at any nonzero value has visible fill covering part of\n the track, that made clicking directly on the fill do nothing —\n only the empty remainder or the small thumb itself responded. */\n pointer-events: none;\n}\n\n.nx-slider__thumb {\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n border-radius: var(--radius-full, 999px);\n background: var(--color-surface, #ffffff);\n border: 2px solid var(--color-brand-500, #6366f1);\n box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.12));\n cursor: grab;\n touch-action: none;\n outline: none;\n transition: box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-slider__thumb:active {\n cursor: grabbing;\n transform: translate(-50%, -50%) scale(1.08);\n}\n\n.nx-slider__thumb:focus-visible {\n box-shadow: 0 0 0 4px var(--color-brand-100, #e0e7ff);\n}\n\n.nx-slider--xs .nx-slider__thumb { inline-size: 12px; block-size: 12px; }\n.nx-slider--sm .nx-slider__thumb { inline-size: 14px; block-size: 14px; }\n.nx-slider--md .nx-slider__thumb { inline-size: 16px; block-size: 16px; }\n.nx-slider--lg .nx-slider__thumb { inline-size: 20px; block-size: 20px; }\n.nx-slider--xl .nx-slider__thumb { inline-size: 24px; block-size: 24px; }\n\n.nx-slider__value-label {\n position: absolute;\n bottom: calc(100% + 8px);\n left: 50%;\n transform: translateX(-50%);\n padding: 2px 8px;\n border-radius: var(--radius-sm, 6px);\n background: var(--color-neutral-900, #111827);\n color: var(--color-neutral-0, #ffffff);\n font-size: var(--typography-sizeXs, 12px);\n font-weight: var(--typography-weightMedium, 500);\n white-space: nowrap;\n pointer-events: none;\n}\n\n.nx-slider--disabled {\n opacity: 0.5;\n}\n\n.nx-slider--disabled .nx-slider__track,\n.nx-slider--disabled .nx-slider__thumb {\n cursor: not-allowed;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-slider__thumb {\n transition: none;\n }\n}","/* ============================================================\n COMBOBOX — an editable text field + portalled listbox.\n\n Deliberately mirrors Select.css's shape (same field sizing ramp,\n same listbox surface as the Dropdown/Select popups) rather than\n re-deriving its own — the visual language should be identical\n since a Combobox is a Select someone can also type into, not a\n different kind of control.\n ============================================================ */\n\n.nx-combobox__wrapper {\n position: relative;\n display: flex;\n align-items: center;\n inline-size: 100%;\n max-inline-size: 20rem;\n}\n\n.nx-combobox__input {\n inline-size: 100%;\n box-sizing: border-box;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-neutral-900, #171717);\n background: var(--color-neutral-0, #ffffff);\n border: 1px solid var(--color-neutral-300, #d4d4d4);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.05));\n /* room for the clear + chevron buttons, regardless of which is showing */\n padding-inline-end: 56px;\n transition:\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-combobox__input:focus-visible,\n.nx-combobox__input--open {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-combobox__input--invalid {\n border-color: var(--color-danger-base, #dc2626);\n}\n.nx-combobox__input--invalid:focus-visible,\n.nx-combobox__input--invalid.nx-combobox__input--open {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #dc2626) 20%, transparent);\n}\n\n.nx-combobox__input--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50, #fafafa);\n}\n\n.nx-combobox__input--xs { padding-block: 4px; padding-inline-start: 8px; min-block-size: 28px; font-size: var(--typography-sizeXs, 12px); }\n.nx-combobox__input--sm { padding-block: 5px; padding-inline-start: 10px; min-block-size: 32px; font-size: var(--typography-sizeSm, 14px); }\n.nx-combobox__input--md { padding-block: 8px; padding-inline-start: 12px; min-block-size: 38px; font-size: var(--typography-sizeMd, 16px); }\n.nx-combobox__input--lg { padding-block: 10px; padding-inline-start: 14px; min-block-size: 44px; font-size: var(--typography-sizeLg, 18px); }\n.nx-combobox__input--xl { padding-block: 12px; padding-inline-start: 16px; min-block-size: 52px; font-size: var(--typography-sizeXl, 20px); }\n\n.nx-combobox__clear,\n.nx-combobox__toggle {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 24px;\n block-size: 24px;\n padding: 0;\n border: none;\n background: transparent;\n border-radius: var(--radius-full, 9999px);\n color: var(--color-neutral-500, #737373);\n cursor: pointer;\n}\n\n.nx-combobox__clear:hover,\n.nx-combobox__toggle:hover:not(:disabled) {\n background: var(--color-neutral-100, #f5f5f5);\n color: var(--color-neutral-700, #404040);\n}\n\n.nx-combobox__toggle:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.nx-combobox__clear {\n inset-inline-end: 32px;\n}\n.nx-combobox__clear-icon {\n inline-size: 0.9em;\n block-size: 0.9em;\n}\n\n.nx-combobox__toggle {\n inset-inline-end: 4px;\n}\n.nx-combobox__chevron {\n inline-size: 1em;\n block-size: 1em;\n transition: transform var(--motion-durationNormal, 180ms) var(--motion-easeStandard, ease);\n}\n.nx-combobox__input--open ~ .nx-combobox__toggle .nx-combobox__chevron {\n transform: rotate(180deg);\n}\n\n/* ---- listbox (portalled), same surface as Select's ---- */\n.nx-combobox__listbox {\n box-sizing: border-box;\n max-block-size: 16rem;\n overflow-y: auto;\n padding: var(--spacing-xs, 4px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n background: var(--color-neutral-0, #ffffff);\n border: 1px solid var(--color-neutral-200, #e5e5e5);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-lg, 0 10px 15px rgba(0, 0, 0, 0.1));\n z-index: 1050;\n animation: nx-combobox-in var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-combobox__listbox--xs { font-size: var(--typography-sizeXs, 12px); }\n.nx-combobox__listbox--sm { font-size: var(--typography-sizeSm, 14px); }\n.nx-combobox__listbox--md { font-size: var(--typography-sizeMd, 16px); }\n.nx-combobox__listbox--lg { font-size: var(--typography-sizeLg, 18px); }\n.nx-combobox__listbox--xl { font-size: var(--typography-sizeXl, 20px); }\n\n.nx-combobox__option {\n padding: 6px 8px;\n border-radius: var(--radius-sm, 4px);\n color: var(--color-neutral-800, #262626);\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.nx-combobox__option--active {\n background: var(--color-brand-50, #eef2ff);\n color: var(--color-brand-700, #4338ca);\n}\n\n.nx-combobox__option--selected {\n font-weight: var(--typography-weightMedium, 500);\n}\n\n.nx-combobox__option--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-combobox__empty {\n padding: 10px 8px;\n color: var(--color-neutral-400, #a3a3a3);\n font-size: 0.9em;\n text-align: center;\n}\n\n@keyframes nx-combobox-in {\n from { opacity: 0; transform: translateY(-4px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-combobox__listbox {\n animation-duration: 0.01ms;\n }\n .nx-combobox__chevron {\n transition: none;\n }\n}\n","/* Standalone month-grid, also embedded inside DatePicker's Popover\n (DatePicker.css strips the surrounding PopoverContent's own\n border/shadow/background for that specific case — see\n .nx-datepicker__popover — so this surface is always the only one\n visible, standalone or embedded, never doubled up). */\n\n.nx-calendar {\n display: inline-flex;\n flex-direction: column;\n gap: 8px;\n box-sizing: border-box;\n padding: 12px;\n background: var(--color-surface, #ffffff);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e5e5);\n border-radius: var(--radius-lg, 14px);\n box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.08));\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-text, #171717);\n user-select: none;\n}\n\n.nx-calendar__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n\n.nx-calendar__month-label {\n font-weight: var(--typography-weightMedium, 500);\n font-size: var(--typography-sizeSm, 14px);\n text-align: center;\n flex: 1;\n}\n\n.nx-calendar__month-label--button {\n border: none;\n background: transparent;\n border-radius: var(--radius-sm, 6px);\n padding: 4px 8px;\n color: inherit;\n cursor: pointer;\n}\n\n.nx-calendar__month-label--button:hover {\n background: var(--color-surfaceRaised, #f5f5f5);\n}\n\n.nx-calendar__month-label--button:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-calendar__nav {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 28px;\n block-size: 28px;\n border: none;\n background: transparent;\n border-radius: var(--radius-full, 9999px);\n color: var(--color-text, #525252);\n cursor: pointer;\n}\n\n.nx-calendar__nav:hover {\n background: var(--color-surfaceRaised, #f5f5f5);\n color: var(--color-text, #171717);\n}\n\n.nx-calendar__nav:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-calendar__weekdays,\n.nx-calendar__grid {\n display: grid;\n grid-template-columns: repeat(7, minmax(0, 1fr));\n gap: 2px;\n}\n\n.nx-calendar__weekday {\n display: flex;\n align-items: center;\n justify-content: center;\n block-size: 28px;\n font-size: var(--typography-sizeXs, 12px);\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-textMuted, #a3a3a3);\n}\n\n.nx-calendar__day {\n display: flex;\n align-items: center;\n justify-content: center;\n inline-size: 34px;\n block-size: 34px;\n border: none;\n background: transparent;\n border-radius: var(--radius-full, 9999px);\n color: var(--color-text, #262626);\n font-size: var(--typography-sizeSm, 14px);\n cursor: pointer;\n transition: background var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-calendar__day:hover:not(:disabled) {\n background: var(--color-surfaceRaised, #f5f5f5);\n}\n\n.nx-calendar__day:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-calendar__day--outside {\n color: var(--color-textMuted, #d4d4d4);\n}\n\n.nx-calendar__day--today {\n font-weight: var(--typography-weightBold, 700);\n box-shadow: inset 0 0 0 1px var(--color-brand-300, #a5b4fc);\n}\n\n.nx-calendar__day--selected {\n background: var(--color-brand-500, #6366f1);\n color: var(--color-brand-onAccent, #ffffff);\n font-weight: var(--typography-weightMedium, 500);\n}\n\n.nx-calendar__day--selected:hover:not(:disabled) {\n background: var(--color-brand-600, #4f46e5);\n}\n\n.nx-calendar__day--disabled {\n color: var(--color-textMuted, #d4d4d4);\n cursor: not-allowed;\n}\n\n/* --- month/year \"zoom out\" grids --- */\n\n.nx-calendar__grid--months,\n.nx-calendar__grid--years {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n gap: 4px;\n min-inline-size: 220px;\n}\n\n.nx-calendar__cell {\n display: flex;\n align-items: center;\n justify-content: center;\n block-size: 44px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md, 10px);\n color: var(--color-text, #262626);\n font-size: var(--typography-sizeSm, 14px);\n cursor: pointer;\n transition: background var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-calendar__cell:hover {\n background: var(--color-surfaceRaised, #f5f5f5);\n}\n\n.nx-calendar__cell:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-calendar__cell--selected {\n background: var(--color-brand-500, #6366f1);\n color: var(--color-brand-onAccent, #ffffff);\n font-weight: var(--typography-weightMedium, 500);\n}\n\n.nx-calendar__cell--selected:hover {\n background: var(--color-brand-600, #4f46e5);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-calendar__day {\n transition: none;\n }\n}","/* Category C: overlay panel. Every value is a var(--token, fallback)\n from the active theme's generated custom properties. Rendered\n through ThemedPortal, which mirrors data-theme/data-accent onto\n the portal node, so these tokens resolve correctly even though\n the panel lives at the end of <body>. No literal colors, radii,\n durations, or shadows. */\n\n.nx-popover__content {\n /* Between Dropdown's menu (1050) and Tooltip (1100) — a popover\n can itself contain a dropdown or tooltip trigger, and those\n should still layer over it. */\n z-index: 1060;\n box-sizing: border-box;\n min-inline-size: 12rem;\n max-inline-size: min(24rem, calc(100vw - 16px));\n max-block-size: calc(100vh - 16px);\n overflow: auto;\n padding: var(--spacing-md, 16px);\n margin: 0;\n background: var(--color-surface, #ffffff);\n color: var(--color-text, #111827);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-lg, 12px);\n box-shadow: var(--shadow-lg, 0 10px 24px rgba(0, 0, 0, 0.18));\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n animation: nx-popover-in var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-popover__content:focus-visible {\n outline: none;\n}\n\n@keyframes nx-popover-in {\n from { opacity: 0; transform: translateY(-4px) scale(0.98); }\n to { opacity: 1; transform: translateY(0) scale(1); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-popover__content {\n animation-duration: 0.01ms;\n }\n}",".nx-datepicker__wrapper {\n position: relative;\n display: flex;\n align-items: center;\n inline-size: 100%;\n max-inline-size: 16rem;\n}\n\n.nx-datepicker__input {\n inline-size: 100%;\n box-sizing: border-box;\n padding: 8px 40px 8px 12px;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeMd, 16px);\n color: var(--color-text, #171717);\n background: var(--color-surface, #ffffff);\n border: 1px solid var(--color-border, #d4d4d4);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.05));\n transition:\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-datepicker__input:focus-visible {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-datepicker__input--invalid {\n border-color: var(--color-danger-base, #dc2626);\n}\n.nx-datepicker__input--invalid:focus-visible {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #dc2626) 20%, transparent);\n}\n\n.nx-datepicker__input:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-surface, #fafafa);\n}\n\n.nx-datepicker__icon-button {\n position: absolute;\n inset-inline-end: 6px;\n top: 50%;\n transform: translateY(-50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 28px;\n block-size: 28px;\n border: none;\n background: transparent;\n border-radius: var(--radius-full, 9999px);\n color: var(--color-textMuted, #737373);\n cursor: pointer;\n}\n\n.nx-datepicker__icon-button:hover:not(:disabled) {\n background: var(--color-surfaceRaised, #f5f5f5);\n color: var(--color-text, #404040);\n}\n\n.nx-datepicker__icon-button:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-datepicker__icon-button:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.nx-datepicker__popover {\n /* Strips PopoverContent's own card chrome (border/shadow/\n background/padding) specifically for this composition — Calendar\n now provides its own full surface treatment (background, border,\n radius, shadow, glass-blur support), so this only needs to be a\n transparent, unstyled wrapper around it. Otherwise the calendar\n would render inside a visibly doubled \"card within a card\". */\n padding: 0;\n border: none;\n box-shadow: none;\n background: transparent;\n backdrop-filter: none;\n -webkit-backdrop-filter: none;\n}",".nx-timepicker__wrapper {\n position: relative;\n display: flex;\n align-items: center;\n inline-size: 100%;\n max-inline-size: 16rem;\n}\n\n.nx-timepicker__input {\n inline-size: 100%;\n box-sizing: border-box;\n padding: 8px 40px 8px 12px;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeMd, 16px);\n color: var(--color-text, #171717);\n background: var(--color-surface, #ffffff);\n border: 1px solid var(--color-border, #d4d4d4);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.05));\n transition:\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-timepicker__input:focus-visible {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-timepicker__input--invalid {\n border-color: var(--color-danger-base, #dc2626);\n}\n.nx-timepicker__input--invalid:focus-visible {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #dc2626) 20%, transparent);\n}\n\n.nx-timepicker__input:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-surface, #fafafa);\n}\n\n.nx-timepicker__icon-button {\n position: absolute;\n inset-inline-end: 6px;\n top: 50%;\n transform: translateY(-50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 28px;\n block-size: 28px;\n border: none;\n background: transparent;\n border-radius: var(--radius-full, 9999px);\n color: var(--color-textMuted, #737373);\n cursor: pointer;\n}\n\n.nx-timepicker__icon-button:hover:not(:disabled) {\n background: var(--color-surfaceRaised, #f5f5f5);\n color: var(--color-text, #404040);\n}\n\n.nx-timepicker__icon-button:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-timepicker__icon-button:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.nx-timepicker__popover {\n /* Same reasoning as DatePicker.css's own .nx-datepicker__popover:\n strip PopoverContent's card chrome since .nx-timepicker__clock-panel\n provides its own full surface treatment, so the panel isn't a\n visibly doubled \"card within a card\". */\n padding: 0;\n border: none;\n box-shadow: none;\n background: transparent;\n backdrop-filter: none;\n -webkit-backdrop-filter: none;\n}\n\n/* --- the clock panel: dial + digital entry --- */\n\n.nx-timepicker__clock-panel {\n display: flex;\n flex-direction: column;\n gap: 12px;\n inline-size: 15.5rem;\n padding: 14px;\n background: var(--color-surfaceRaised, #ffffff);\n border: 1px solid var(--color-border, #e5e5e5);\n border-radius: var(--radius-lg, 12px);\n box-shadow: var(--shadow-lg, 0 10px 24px rgba(0, 0, 0, 0.12));\n}\n\n.nx-timepicker__panel-title {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeXs, 12px);\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-textMuted, #737373);\n}\n\n.nx-timepicker__readout {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n}\n\n.nx-timepicker__readout-segment {\n padding: 4px 10px;\n font-family: var(--typography-fontMono, ui-monospace, monospace);\n font-size: 28px;\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-text, #404040);\n background: var(--color-surface, #f5f5f5);\n border: none;\n border-radius: var(--radius-sm, 4px);\n cursor: pointer;\n}\n\n.nx-timepicker__readout-segment:disabled {\n cursor: default;\n opacity: 0.85;\n}\n\n.nx-timepicker__readout-segment--active {\n color: var(--color-brand-onAccent, #ffffff);\n background: var(--color-brand-500, #6366f1);\n}\n\n.nx-timepicker__readout-colon {\n font-family: var(--typography-fontMono, ui-monospace, monospace);\n font-size: 28px;\n color: var(--color-textMuted, #a3a3a3);\n}\n\n.nx-timepicker__meridiem-group {\n display: flex;\n flex-direction: column;\n margin-inline-start: 8px;\n border: 1px solid var(--color-border, #e5e5e5);\n border-radius: var(--radius-sm, 4px);\n overflow: hidden;\n}\n\n.nx-timepicker__meridiem-button {\n padding: 4px 10px;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeXs, 12px);\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-text, #525252);\n background: var(--color-surface, #ffffff);\n border: none;\n cursor: pointer;\n}\n\n.nx-timepicker__meridiem-button:first-child {\n border-block-end: 1px solid var(--color-border, #e5e5e5);\n}\n\n.nx-timepicker__meridiem-button:focus-visible {\n outline: none;\n box-shadow: inset 0 0 0 2px var(--color-brand-500, #6366f1);\n}\n\n.nx-timepicker__meridiem-button--active {\n color: var(--color-brand-onAccent, #ffffff);\n background: var(--color-brand-500, #6366f1);\n}\n\n.nx-timepicker__dial-face {\n position: relative;\n inline-size: 220px;\n block-size: 220px;\n margin: 4px auto;\n border-radius: var(--radius-full, 9999px);\n background: var(--color-surface, #f5f5f5);\n touch-action: none;\n user-select: none;\n}\n\n.nx-timepicker__dial-center {\n position: absolute;\n inset-inline-start: 50%;\n inset-block-start: 50%;\n inline-size: 6px;\n block-size: 6px;\n transform: translate(-50%, -50%);\n border-radius: var(--radius-full, 9999px);\n background: var(--color-brand-500, #6366f1);\n}\n\n/* Marks the exact selected point on the ring, independent of the 12\n labeled ticks — a dragged/arrow-keyed minute that lands between two\n labels (e.g. :17) has no label of its own, but still needs a\n visible marker for where it landed. */\n.nx-timepicker__dial-knob {\n position: absolute;\n inline-size: 32px;\n block-size: 32px;\n transform: translate(-50%, -50%);\n border-radius: var(--radius-full, 9999px);\n background: color-mix(in srgb, var(--color-brand-500, #6366f1) 18%, transparent);\n pointer-events: none;\n}\n\n.nx-timepicker__dial-hand {\n position: absolute;\n inset-inline-start: 50%;\n inset-block-start: 50%;\n inline-size: 2px;\n block-size: 42%;\n transform-origin: top center;\n /* translateX(-50%) + rotate() both come from dialHandStyle's own\n inline `transform`, computed together so rotation always pivots\n on the already-centered bar rather than relying on the separate\n `translate`/`transform` CSS properties' composition order. */\n background: var(--color-brand-500, #6366f1);\n pointer-events: none;\n}\n\n.nx-timepicker__dial-tick {\n position: absolute;\n inline-size: 32px;\n block-size: 32px;\n transform: translate(-50%, -50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-text, #404040);\n background: transparent;\n border: none;\n border-radius: var(--radius-full, 9999px);\n cursor: pointer;\n}\n\n.nx-timepicker__dial-tick:hover:not(:disabled) {\n background: color-mix(in srgb, var(--color-brand-500, #6366f1) 15%, transparent);\n}\n\n.nx-timepicker__dial-tick:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--color-brand-500, #6366f1);\n}\n\n.nx-timepicker__dial-tick--selected {\n color: var(--color-brand-onAccent, #ffffff);\n background: var(--color-brand-500, #6366f1);\n}\n\n.nx-timepicker__dial-tick--disabled {\n color: var(--color-textMuted, #d4d4d4);\n cursor: not-allowed;\n}\n\n.nx-timepicker__digital-entry {\n display: flex;\n align-items: flex-end;\n justify-content: center;\n gap: 6px;\n padding: 8px 0 4px;\n}\n\n.nx-timepicker__digital-field {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n}\n\n.nx-timepicker__digital-input {\n inline-size: 56px;\n box-sizing: border-box;\n padding: 8px 0;\n font-family: var(--typography-fontMono, ui-monospace, monospace);\n font-size: 24px;\n text-align: center;\n color: var(--color-text, #171717);\n background: var(--color-surface, #f5f5f5);\n border: 1px solid var(--color-border, #e5e5e5);\n border-radius: var(--radius-sm, 4px);\n}\n\n.nx-timepicker__digital-input:focus-visible {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-timepicker__digital-caption {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: 11px;\n color: var(--color-textMuted, #737373);\n}\n\n.nx-timepicker__digital-colon {\n padding-block-end: 22px;\n font-family: var(--typography-fontMono, ui-monospace, monospace);\n font-size: 24px;\n color: var(--color-textMuted, #a3a3a3);\n}\n\n.nx-timepicker__panel-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-block-start: 1px solid var(--color-border, #e5e5e5);\n padding-block-start: 10px;\n}\n\n.nx-timepicker__mode-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 32px;\n block-size: 32px;\n border: none;\n background: transparent;\n border-radius: var(--radius-full, 9999px);\n color: var(--color-text, #525252);\n cursor: pointer;\n}\n\n.nx-timepicker__mode-button:hover {\n background: var(--color-surfaceRaised, #f5f5f5);\n}\n\n.nx-timepicker__mode-button:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-timepicker__panel-actions {\n display: flex;\n gap: 4px;\n}\n\n.nx-timepicker__text-button {\n padding: 6px 12px;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-text, #525252);\n background: transparent;\n border: none;\n border-radius: var(--radius-sm, 4px);\n cursor: pointer;\n}\n\n.nx-timepicker__text-button:hover {\n background: var(--color-surfaceRaised, #f5f5f5);\n}\n\n.nx-timepicker__text-button:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-timepicker__text-button--primary {\n color: var(--color-brand-600, #4f46e5);\n}\n\n.nx-timepicker__text-button:disabled {\n color: var(--color-textMuted, #d4d4d4);\n cursor: not-allowed;\n background: transparent;\n}",".nx-colorpicker__wrapper {\n position: relative;\n display: flex;\n align-items: center;\n inline-size: 100%;\n max-inline-size: 12rem;\n}\n\n.nx-colorpicker__input {\n inline-size: 100%;\n box-sizing: border-box;\n padding: 8px 40px 8px 12px;\n font-family: var(--typography-fontMono, ui-monospace, monospace);\n font-size: var(--typography-sizeMd, 16px);\n color: var(--color-neutral-900, #171717);\n background: var(--color-neutral-0, #ffffff);\n border: 1px solid var(--color-neutral-300, #d4d4d4);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.05));\n transition:\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-colorpicker__input:focus-visible {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-colorpicker__input--invalid {\n border-color: var(--color-danger-base, #dc2626);\n}\n.nx-colorpicker__input--invalid:focus-visible {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #dc2626) 20%, transparent);\n}\n\n.nx-colorpicker__input:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50, #fafafa);\n}\n\n.nx-colorpicker__swatch-button {\n position: absolute;\n inset-inline-end: 6px;\n top: 50%;\n transform: translateY(-50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 26px;\n block-size: 26px;\n padding: 0;\n border: 1px solid var(--color-neutral-300, #d4d4d4);\n background:\n linear-gradient(45deg, #ccc 25%, transparent 25%, transparent 75%, #ccc 75%) 0 0 / 8px 8px,\n linear-gradient(45deg, #ccc 25%, transparent 25%, transparent 75%, #ccc 75%) 4px 4px / 8px 8px;\n border-radius: var(--radius-sm, 4px);\n cursor: pointer;\n}\n\n.nx-colorpicker__swatch-preview {\n inline-size: 100%;\n block-size: 100%;\n border-radius: var(--radius-sm, 4px);\n border: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.nx-colorpicker__swatch-button:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-colorpicker__swatch-button:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.nx-colorpicker__popover {\n display: flex;\n flex-direction: column;\n gap: 10px;\n inline-size: 15.5rem;\n}\n\n.nx-colorpicker__swatch-grid {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n}\n\n.nx-colorpicker__swatch-option {\n inline-size: 22px;\n block-size: 22px;\n border-radius: var(--radius-sm, 4px);\n border: 1px solid rgba(0, 0, 0, 0.1);\n cursor: pointer;\n}\n\n.nx-colorpicker__swatch-option--selected {\n box-shadow: 0 0 0 2px var(--color-neutral-0, #fff), 0 0 0 4px var(--color-brand-500, #6366f1);\n}\n\n.nx-colorpicker__swatch-option:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--color-neutral-0, #fff), 0 0 0 4px var(--color-brand-500, #6366f1);\n}\n\n/* --- custom color panel: SV area + hue slider + format fields --- */\n\n.nx-colorpicker__custom-panel {\n display: flex;\n flex-direction: column;\n gap: 10px;\n border-top: 1px solid var(--color-neutral-200, #e5e5e5);\n padding-top: 10px;\n}\n\n/* variant=\"custom\": this panel is the popover's only content, so the\n divider that normally separates it from the swatch grid above\n would just be an orphan line with nothing above it. */\n.nx-colorpicker__custom-panel--standalone {\n border-top: none;\n padding-top: 0;\n}\n\n.nx-colorpicker__sv-area {\n position: relative;\n inline-size: 100%;\n block-size: 120px;\n border-radius: var(--radius-md, 8px);\n /* backgroundColor (the pure hue) is set inline per-render; these two\n layers give the white->transparent (saturation) and\n black->transparent (value) gradients on top of it. */\n background-image: linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, transparent);\n cursor: crosshair;\n touch-action: none;\n border: 1px solid var(--color-neutral-200, #e5e5e5);\n}\n\n.nx-colorpicker__sv-thumb {\n position: absolute;\n inline-size: 14px;\n block-size: 14px;\n transform: translate(-50%, -50%);\n border-radius: var(--radius-full, 9999px);\n border: 2px solid #fff;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35), var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.25));\n cursor: grab;\n touch-action: none;\n}\n\n.nx-colorpicker__sv-thumb:active {\n cursor: grabbing;\n}\n\n.nx-colorpicker__sv-thumb:focus-visible {\n outline: none;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35), 0 0 0 3px var(--color-brand-500, #6366f1);\n}\n\n.nx-colorpicker__hue-slider {\n -webkit-appearance: none;\n appearance: none;\n inline-size: 100%;\n block-size: 12px;\n margin: 0;\n border-radius: var(--radius-full, 9999px);\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n cursor: pointer;\n}\n\n.nx-colorpicker__hue-slider:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-colorpicker__hue-slider::-webkit-slider-thumb {\n -webkit-appearance: none;\n inline-size: 18px;\n block-size: 18px;\n border-radius: var(--radius-full, 9999px);\n background: var(--color-neutral-0, #fff);\n border: 2px solid var(--color-neutral-400, #a3a3a3);\n box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.25));\n cursor: grab;\n}\n\n.nx-colorpicker__hue-slider::-moz-range-thumb {\n inline-size: 18px;\n block-size: 18px;\n border-radius: var(--radius-full, 9999px);\n background: var(--color-neutral-0, #fff);\n border: 2px solid var(--color-neutral-400, #a3a3a3);\n box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.25));\n cursor: grab;\n}\n\n.nx-colorpicker__hue-slider::-moz-range-track {\n block-size: 12px;\n border-radius: var(--radius-full, 9999px);\n background: transparent;\n}\n\n.nx-colorpicker__format-tabs {\n display: flex;\n gap: 4px;\n border-bottom: 1px solid var(--color-neutral-200, #e5e5e5);\n}\n\n.nx-colorpicker__format-tab {\n flex: 1 1 auto;\n padding: 4px 0 6px;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeXs, 12px);\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-neutral-500, #737373);\n background: none;\n border: none;\n border-bottom: 2px solid transparent;\n cursor: pointer;\n}\n\n.nx-colorpicker__format-tab--active {\n color: var(--color-brand-500, #6366f1);\n border-bottom-color: var(--color-brand-500, #6366f1);\n}\n\n.nx-colorpicker__format-tab:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-colorpicker__format-tab:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-brand-500, #6366f1) 30%, transparent);\n}\n\n.nx-colorpicker__format-fields {\n display: flex;\n gap: 6px;\n}\n\n.nx-colorpicker__format-field {\n flex: 1 1 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.nx-colorpicker__format-field--wide {\n flex: 1 1 100%;\n}\n\n.nx-colorpicker__format-field label {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: 11px;\n color: var(--color-neutral-500, #737373);\n text-align: center;\n}\n\n.nx-colorpicker__format-field input {\n inline-size: 100%;\n box-sizing: border-box;\n padding: 4px 6px;\n font-family: var(--typography-fontMono, ui-monospace, monospace);\n font-size: var(--typography-sizeXs, 12px);\n text-align: center;\n color: var(--color-neutral-900, #171717);\n background: var(--color-neutral-0, #fff);\n border: 1px solid var(--color-neutral-300, #d4d4d4);\n border-radius: var(--radius-sm, 4px);\n}\n\n.nx-colorpicker__format-field input:focus-visible {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-colorpicker__format-field input:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}",".nx-carousel {\n position: relative;\n display: grid;\n grid-auto-rows: auto;\n gap: 10px;\n}\n\n/* `grid-row`/`grid-column` here isn't a layout preference — it's\n what makes the fix below work. A grid item with explicit (non-\n auto) placement on both axes becomes the containing block for any\n absolutely-positioned grid item placed in that same area (CSS\n Grid §10.1). Pinning the viewport to row 1 / column 1 gives\n CarouselPrevious/CarouselNext (placed in that same cell below) a\n containing block that's exactly the viewport's own box — not\n `.nx-carousel`'s full height including whatever else (indicators,\n anything else a consumer adds) sits below it. */\n.nx-carousel__viewport {\n position: relative;\n overflow: hidden;\n border-radius: var(--radius-lg, 12px);\n grid-row: 1;\n grid-column: 1;\n}\n\n.nx-carousel__viewport:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 30%, transparent);\n}\n\n.nx-carousel__track {\n display: flex;\n transition: transform var(--motion-durationSlow, 320ms) var(--motion-easeStandard, ease);\n will-change: transform;\n}\n\n.nx-carousel__track--vertical {\n flex-direction: column;\n}\n\n.nx-carousel__slide {\n flex: 0 0 100%;\n min-inline-size: 0;\n min-block-size: 0;\n}\n\n/* A slide's children are arbitrary (Rule: CarouselSlide takes\n `children`, no special-cased \"image\" prop) — an <img> or <video>\n dropped straight in otherwise renders at its own intrinsic pixel\n size, ignoring the slide entirely, which is what actually broke\n for image carousels. `block-size: 100%` here is a no-op (computes\n to `auto`) unless the consumer also gives CarouselViewport an\n explicit height — the standard pattern for a fixed-height image\n carousel (see the \"Images\" docs example) — so this is safe for\n auto-height content carousels too. */\n.nx-carousel__slide img,\n.nx-carousel__slide video {\n display: block;\n inline-size: 100%;\n block-size: 100%;\n object-fit: cover;\n}\n\n.nx-carousel__button {\n position: absolute;\n /* Same grid area as .nx-carousel__viewport (see the comment there)\n — this is what makes `top: 50%` mean \"middle of the viewport,\"\n regardless of whether CarouselPrevious/CarouselNext are rendered\n as flush siblings of the viewport or nested inside it, and\n regardless of what else (CarouselIndicators, a consumer's own\n wrapper) sits below in the carousel. */\n grid-row: 1;\n grid-column: 1;\n top: 50%;\n transform: translateY(-50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 36px;\n block-size: 36px;\n border: 1px solid var(--color-neutral-200, #e5e5e5);\n border-radius: var(--radius-full, 9999px);\n background: color-mix(in srgb, var(--color-neutral-0, #ffffff) 85%, transparent);\n color: var(--color-neutral-800, #262626);\n box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.1));\n cursor: pointer;\n}\n\n.nx-carousel__button--prev {\n inset-inline-start: 10px;\n}\n\n.nx-carousel__button--next {\n inset-inline-end: 10px;\n}\n\n.nx-carousel__button:hover:not(:disabled) {\n background: var(--color-neutral-0, #ffffff);\n}\n\n.nx-carousel__button:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 30%, transparent);\n}\n\n.nx-carousel__button:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n\n.nx-carousel__indicators {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n}\n\n.nx-carousel__indicator {\n inline-size: 8px;\n block-size: 8px;\n padding: 0;\n border: none;\n border-radius: var(--radius-full, 9999px);\n background: var(--color-neutral-300, #d4d4d4);\n cursor: pointer;\n transition: background var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease), transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-carousel__indicator:hover {\n background: var(--color-neutral-400, #a3a3a3);\n}\n\n.nx-carousel__indicator:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 30%, transparent);\n}\n\n.nx-carousel__indicator--active {\n background: var(--color-brand-500, #6366f1);\n transform: scale(1.25);\n}",".nx-timeline {\n display: flex;\n flex-direction: column;\n margin: 0;\n padding: 0;\n list-style: none;\n inline-size: 100%;\n}\n\n/* --- vertical (default) --- */\n\n.nx-timeline--vertical {\n flex-direction: column;\n}\n\n.nx-timeline--vertical .nx-timeline__item {\n display: flex;\n gap: 16px;\n}\n\n.nx-timeline--vertical .nx-timeline__marker {\n display: flex;\n flex-direction: column;\n align-items: center;\n flex: 0 0 auto;\n}\n\n.nx-timeline--vertical .nx-timeline__connector {\n flex: 1 1 auto;\n inline-size: 2px;\n min-block-size: 20px;\n margin-block: 4px;\n background: var(--color-border, #e5e5e5);\n}\n\n.nx-timeline--vertical .nx-timeline__item:last-child .nx-timeline__connector {\n display: none;\n}\n\n.nx-timeline--vertical .nx-timeline__content {\n padding-block-end: 20px;\n}\n\n/* alternate: even items flip to the other side of the line */\n.nx-timeline--align-alternate.nx-timeline--vertical .nx-timeline__item:nth-child(even) {\n flex-direction: row-reverse;\n text-align: end;\n}\n.nx-timeline--align-alternate.nx-timeline--vertical .nx-timeline__item:nth-child(even) .nx-timeline__header {\n flex-direction: row-reverse;\n}\n\n.nx-timeline--align-end.nx-timeline--vertical .nx-timeline__item {\n flex-direction: row-reverse;\n text-align: end;\n}\n.nx-timeline--align-end.nx-timeline--vertical .nx-timeline__header {\n flex-direction: row-reverse;\n}\n\n/* --- horizontal --- */\n\n.nx-timeline--horizontal {\n flex-direction: row;\n overflow-x: auto;\n}\n\n.nx-timeline--horizontal .nx-timeline__item {\n display: flex;\n flex-direction: column;\n align-items: center;\n flex: 1 0 10rem;\n}\n\n.nx-timeline--horizontal .nx-timeline__marker {\n display: flex;\n align-items: center;\n inline-size: 100%;\n}\n\n.nx-timeline--horizontal .nx-timeline__connector {\n flex: 1 1 auto;\n block-size: 2px;\n margin-inline: 4px;\n background: var(--color-border, #e5e5e5);\n}\n\n.nx-timeline--horizontal .nx-timeline__item:last-child .nx-timeline__connector {\n display: none;\n}\n\n.nx-timeline--horizontal .nx-timeline__content {\n text-align: center;\n padding-block-start: 10px;\n}\n\n/* --- marker / dot --- */\n\n.nx-timeline__dot {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 12px;\n block-size: 12px;\n border-radius: var(--radius-full, 9999px);\n background: var(--color-textMuted, #a3a3a3);\n border: 2px solid var(--color-background, #ffffff);\n box-shadow: 0 0 0 1px var(--color-border, #e5e5e5);\n flex: 0 0 auto;\n}\n\n.nx-timeline__dot--icon {\n inline-size: 22px;\n block-size: 22px;\n background: var(--color-surface, #ffffff);\n color: var(--color-text, #404040);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: 12px;\n line-height: 1;\n font-weight: var(--typography-weightMedium, 500);\n}\n\n/* Normalizes whatever the consumer's own icon renders at (an icon\n component's `size` prop defaults to 20px in this library, too big\n for a 22px dot with any breathing room) down to a size that\n actually fits — \"large for icon type automatically\" holds\n regardless of what the icon itself was told to render at. CSS\n width/height take precedence over an SVG's own width/height\n presentation attributes, so this applies even when the consumer\n passed an explicit size. */\n.nx-timeline__dot--icon svg,\n.nx-timeline__dot--icon img {\n inline-size: 14px;\n block-size: 14px;\n display: block;\n}\n\n.nx-timeline__dot--success {\n background: var(--color-success-base, #16a34a);\n}\n.nx-timeline__dot--warning {\n background: var(--color-warning-base, #d97706);\n}\n.nx-timeline__dot--danger {\n background: var(--color-danger-base, #dc2626);\n}\n.nx-timeline__dot--info {\n background: var(--color-brand-500, #6366f1);\n}\n\n/* --- content --- */\n\n.nx-timeline__header {\n display: flex;\n align-items: baseline;\n gap: 8px;\n flex-wrap: wrap;\n}\n\n.nx-timeline__title {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeMd, 16px);\n font-weight: var(--typography-weightSemibold, 600);\n color: var(--color-text, #171717);\n}\n\n.nx-timeline__timestamp {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeXs, 12px);\n color: var(--color-textMuted, #737373);\n}\n\n.nx-timeline__description {\n margin-block-start: 4px;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-textMuted, #525252);\n}","/* Mirrors Modal.css's backdrop/panel shape (same z-index tier,\n same entrance-animation convention) since this genuinely is a\n modal dialog, just shaped like a search box + list. Item styling\n mirrors the shared .nx-list-item look from ListPanel.css (used by\n Dropdown/Select) for visual consistency across every \"list of\n things to pick\" surface in the library, even though this file\n defines its own classes rather than importing that one — the\n backdrop-anchored top alignment here doesn't share ListPanel's\n floating-popover positioning concerns. */\n\n.nx-command__backdrop {\n position: fixed;\n inset: 0;\n z-index: 1000;\n display: flex;\n justify-content: center;\n padding-top: 12vh;\n padding-inline: var(--spacing-lg, 24px);\n background: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(2px);\n animation: nx-command-backdrop-in var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n@keyframes nx-command-backdrop-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n.nx-command {\n display: flex;\n flex-direction: column;\n inline-size: 100%;\n max-inline-size: 640px;\n max-block-size: min(480px, 70vh);\n background: var(--color-neutral-0, #ffffff);\n border-radius: var(--radius-lg, 14px);\n box-shadow: var(--shadow-xl, 0 20px 40px rgba(0, 0, 0, 0.25));\n border: 1px solid var(--color-neutral-200, #e5e5e5);\n overflow: hidden;\n outline: none;\n animation: nx-command-panel-in var(--motion-durationNormal, 180ms) var(--motion-easeEmphasized, ease);\n}\n\n@keyframes nx-command-panel-in {\n from { opacity: 0; transform: translateY(-8px) scale(0.98); }\n to { opacity: 1; transform: translateY(0) scale(1); }\n}\n\n.nx-command__search {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 14px 16px;\n border-bottom: 1px solid var(--color-neutral-200, #e5e5e5);\n flex-shrink: 0;\n}\n\n.nx-command__search-icon {\n flex-shrink: 0;\n color: var(--color-neutral-400, #a3a3a3);\n}\n\n.nx-command__input {\n flex: 1;\n border: none;\n outline: none;\n background: transparent;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeMd, 16px);\n color: var(--color-neutral-900, #171717);\n}\n\n.nx-command__input::placeholder {\n color: var(--color-neutral-400, #a3a3a3);\n}\n\n.nx-command__list {\n overflow-y: auto;\n padding: 8px;\n}\n\n.nx-command__group + .nx-command__group {\n margin-top: 4px;\n}\n\n.nx-command__group-label {\n padding: 6px 8px 4px;\n font-size: var(--typography-sizeXs, 12px);\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-neutral-400, #a3a3a3);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n}\n\n.nx-command__item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 9px 10px;\n border-radius: var(--radius-sm, 4px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-neutral-800, #262626);\n cursor: pointer;\n}\n\n.nx-command__item--active {\n background: var(--color-brand-50, #eef2ff);\n color: var(--color-brand-700, #4338ca);\n}\n\n.nx-command__item--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-command__item-label {\n flex: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.nx-command__item-description {\n color: var(--color-neutral-400, #a3a3a3);\n font-size: 0.9em;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.nx-command__item-shortcut {\n flex-shrink: 0;\n padding: 2px 6px;\n border-radius: var(--radius-sm, 4px);\n background: var(--color-neutral-100, #f5f5f5);\n color: var(--color-neutral-500, #737373);\n font-size: var(--typography-sizeXs, 12px);\n font-family: var(--typography-fontMono, ui-monospace, monospace);\n}\n\n.nx-command__item--active .nx-command__item-shortcut {\n background: var(--color-neutral-0, #ffffff);\n}\n\n.nx-command__empty {\n padding: 24px 8px;\n text-align: center;\n color: var(--color-neutral-400, #a3a3a3);\n font-size: var(--typography-sizeSm, 14px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-command__backdrop,\n .nx-command {\n animation-duration: 0.01ms;\n }\n}\n",".nx-number-input-wrapper {\n display: flex;\n align-items: stretch;\n background: var(--color-surface, #ffffff);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-md, 8px);\n box-shadow: var(--shadow-xs, none);\n overflow: hidden;\n transition: border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-number-input-wrapper:focus-within {\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-number-input-wrapper--invalid {\n border-color: var(--color-danger-base, #ef4444);\n}\n.nx-number-input-wrapper--invalid:focus-within {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #ef4444) 20%, transparent);\n}\n\n.nx-number-input-wrapper--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50, #f9fafb);\n}\n\n.nx-number-input {\n flex: 1;\n min-width: 0;\n border: none;\n outline: none;\n background: transparent;\n padding: 8px 12px;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-text, #111827);\n}\n\n.nx-number-input:disabled {\n cursor: not-allowed;\n}\n\n.nx-number-input-wrapper--xs { font-size: var(--typography-sizeXs, 12px); }\n.nx-number-input-wrapper--sm { font-size: var(--typography-sizeSm, 14px); }\n.nx-number-input-wrapper--md { font-size: var(--typography-sizeMd, 16px); }\n.nx-number-input-wrapper--lg { font-size: var(--typography-sizeLg, 18px); }\n.nx-number-input-wrapper--xl { font-size: var(--typography-sizeXl, 22px); }\n\n.nx-number-input--xs, .nx-number-input--sm, .nx-number-input--md, .nx-number-input--lg, .nx-number-input--xl {\n font-size: inherit;\n}\n\n.nx-number-input__stepper {\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n border-left: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n}\n\n.nx-number-input__stepper-btn {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 1.75em;\n border: none;\n background: transparent;\n color: var(--color-textMuted, #6b7280);\n font-family: inherit;\n font-size: inherit;\n line-height: 1;\n cursor: pointer;\n padding: 0 8px;\n transition: background var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-number-input__stepper-btn:first-child {\n border-bottom: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n}\n\n.nx-number-input__stepper-btn:not(:disabled):hover {\n background: var(--color-neutral-100, #f3f4f6);\n color: var(--color-text, #111827);\n}\n\n.nx-number-input__stepper-btn:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n",".nx-file-upload {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-sm, 8px);\n inline-size: 100%;\n box-sizing: border-box;\n padding: var(--spacing-lg, 24px);\n border: var(--border-widthMedium, 2px) dashed var(--color-border, #e5e7eb);\n border-radius: var(--radius-lg, 12px);\n background: var(--color-surface, #ffffff);\n text-align: center;\n transition: border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n background var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-file-upload--dragging {\n border-color: var(--color-brand-500, #6366f1);\n background: color-mix(in srgb, var(--color-brand-500, #6366f1) 6%, var(--color-surface, #ffffff));\n}\n\n.nx-file-upload--invalid {\n border-color: var(--color-danger-base, #ef4444);\n}\n\n.nx-file-upload--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-file-upload--xs, .nx-file-upload--sm { padding: var(--spacing-md, 16px); }\n.nx-file-upload--lg, .nx-file-upload--xl { padding: var(--spacing-xl, 32px); }\n\n/* Visually hidden, not display:none — a hidden-by-display input\n can't receive drag/drop focus semantics or be reached by a form\n library that queries for it. Same visually-hidden technique used\n for other \"real control, styled invisible\" cases across the web\n platform. */\n.nx-file-upload__input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.nx-file-upload__prompt {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n}\n\n.nx-file-upload__hint {\n margin: 0;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-file-upload__list {\n list-style: none;\n margin: var(--spacing-sm, 8px) 0 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs, 4px);\n}\n\n.nx-file-upload__item {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n padding: 6px 10px;\n border-radius: var(--radius-sm, 4px);\n background: var(--color-neutral-50, #f9fafb);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n}\n\n.nx-file-upload__item-name {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--color-text, #111827);\n}\n\n.nx-file-upload__item-size {\n flex-shrink: 0;\n color: var(--color-textMuted, #6b7280);\n font-size: var(--typography-sizeXs, 12px);\n}\n\n.nx-file-upload__item-remove {\n flex-shrink: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n color: var(--color-textMuted, #6b7280);\n font-size: var(--typography-sizeMd, 16px);\n line-height: 1;\n padding: 0 4px;\n}\n\n.nx-file-upload__item-remove:hover {\n color: var(--color-danger-base, #ef4444);\n}\n\n.nx-file-upload__item-remove:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n",".nx-pagination {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-pagination__list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--spacing-xs, 4px);\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.nx-pagination__item {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 2.25em;\n height: 2.25em;\n padding: 0 8px;\n /* Reads the theme's own border color (not a hardcoded transparent)\n the same way Button.css does — for most themes color.border is a\n barely-there gray, but for neobrutalism/brutalism/cyberpunk this\n is the difference between every page button looking like plain\n text and actually carrying that theme's signature bold/neon\n border. See Button.css's own comment for the full reasoning. */\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);\n border-radius: var(--radius-md, 8px);\n background: transparent;\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n box-shadow: var(--shadow-xs, none);\n color: var(--color-text, #111827);\n font-family: inherit;\n font-size: inherit;\n cursor: pointer;\n transition: background var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-pagination__item:not(:disabled):not(.nx-pagination__item--active):hover {\n background: var(--color-neutral-100, #f3f4f6);\n}\n\n/* Same press-in convention as Button.css: an imperceptible no-op on\n flat/shadowless themes, but on neobrutalism specifically it reads\n as the button physically pressing into its own hard offset shadow. */\n.nx-pagination__item:not(:disabled):active {\n box-shadow: none;\n transform: translate(1px, 1px);\n}\n\n.nx-pagination__item--active {\n background: var(--color-brand-500, #6366f1);\n border-color: var(--color-brand-500, #6366f1);\n color: var(--color-brand-onAccent, #ffffff);\n box-shadow: var(--shadow-sm, none);\n}\n\n.nx-pagination__item:disabled,\n.nx-pagination__item--disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.nx-pagination__ellipsis {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 2.25em;\n height: 2.25em;\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-pagination--xs { font-size: var(--typography-sizeXs, 12px); }\n.nx-pagination--sm { font-size: var(--typography-sizeSm, 14px); }\n.nx-pagination--md { font-size: var(--typography-sizeMd, 16px); }\n.nx-pagination--lg { font-size: var(--typography-sizeLg, 18px); }\n.nx-pagination--xl { font-size: var(--typography-sizeXl, 22px); }\n\n.nx-pagination--disabled {\n opacity: 0.6;\n}\n",".nx-breadcrumb {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n}\n\n.nx-breadcrumb__list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.nx-breadcrumb__item {\n display: inline-flex;\n align-items: center;\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-breadcrumb__item--current {\n color: var(--color-text, #111827);\n font-weight: var(--typography-weightMedium, 500);\n}\n\n.nx-breadcrumb__item--disabled {\n opacity: 0.5;\n}\n\n.nx-breadcrumb__label,\n.nx-breadcrumb__link {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 2px 8px;\n border-radius: var(--radius-sm, 4px);\n border: var(--border-widthThin, 1px) var(--border-style, solid) transparent;\n transition: background var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-breadcrumb__link {\n color: inherit;\n text-decoration: none;\n cursor: pointer;\n}\n\n.nx-breadcrumb__link:hover {\n color: var(--color-brand-500, #6366f1);\n background: var(--color-neutral-100, #f3f4f6);\n border-color: var(--color-border, transparent);\n}\n\n.nx-breadcrumb__link:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n/* The trail's current item reads as a small themed surface — the\n same border/shadow/radius fingerprint every other bordered element\n in the library uses (see Card--filled, Badge--soft) — rather than\n plain text, which is what left this the one component with nothing\n for a theme's border/shadow tokens to actually attach to. */\n.nx-breadcrumb__item--current .nx-breadcrumb__label {\n background: var(--color-surfaceRaised, #f3f4f6);\n border-color: var(--color-border, transparent);\n box-shadow: var(--shadow-xs, none);\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n}\n\n.nx-breadcrumb__icon {\n display: inline-flex;\n align-items: center;\n}\n\n.nx-breadcrumb__separator {\n margin: 0 8px;\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-breadcrumb--xs { font-size: var(--typography-sizeXs, 12px); }\n.nx-breadcrumb--sm { font-size: var(--typography-sizeSm, 14px); }\n.nx-breadcrumb--md { font-size: var(--typography-sizeMd, 16px); }\n.nx-breadcrumb--lg { font-size: var(--typography-sizeLg, 18px); }\n.nx-breadcrumb--xl { font-size: var(--typography-sizeXl, 22px); }\n",".nx-skeleton {\n display: block;\n background: color-mix(in srgb, var(--color-text, #111827) 12%, var(--color-surface, #ffffff));\n position: relative;\n overflow: hidden;\n}\n\n.nx-skeleton--text {\n border-radius: var(--radius-sm, 4px);\n block-size: 1em;\n inline-size: 100%;\n}\n\n.nx-skeleton--circular {\n border-radius: var(--radius-full, 999px);\n inline-size: 40px;\n block-size: 40px;\n}\n\n.nx-skeleton--rectangular {\n border-radius: var(--radius-md, 8px);\n inline-size: 100%;\n block-size: 100px;\n}\n\n.nx-skeleton-group {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs, 4px);\n}\n\n.nx-skeleton--pulse {\n animation: nx-skeleton-pulse var(--motion-durationSlow, 1.5s) var(--motion-easeStandard, ease) infinite;\n}\n\n@keyframes nx-skeleton-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.4; }\n}\n\n.nx-skeleton--wave::after {\n content: \"\";\n position: absolute;\n inset: 0;\n background: linear-gradient(\n 90deg,\n transparent,\n color-mix(in srgb, var(--color-surface, #ffffff) 50%, transparent),\n transparent\n );\n animation: nx-skeleton-wave var(--motion-durationSlow, 1.5s) linear infinite;\n}\n\n@keyframes nx-skeleton-wave {\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(100%); }\n}\n\n/* Shine — a diagonal glossy sweep baked into the element's own\n background and animated via background-position, distinct from\n \"wave\"'s horizontal ::after overlay: this one is a single\n continuous gradient moving through the shape at an angle, not a\n separate translating layer. */\n.nx-skeleton--shine {\n background: linear-gradient(\n 110deg,\n color-mix(in srgb, var(--color-text, #111827) 12%, var(--color-surface, #ffffff)) 35%,\n color-mix(in srgb, var(--color-surface, #ffffff) 65%, var(--color-text, #111827) 12%) 50%,\n color-mix(in srgb, var(--color-text, #111827) 12%, var(--color-surface, #ffffff)) 65%\n );\n background-size: 300% 100%;\n animation: nx-skeleton-shine var(--motion-durationSlow, 1.5s) ease-in-out infinite;\n}\n\n@keyframes nx-skeleton-shine {\n 0% { background-position: 150% 0; }\n 100% { background-position: -50% 0; }\n}\n\n/* Glow — a pulsing ambient halo around the shape's own edge, using\n the active brand accent; distinct from \"pulse\" (the shape itself\n never dims here, only the shadow around it breathes). */\n.nx-skeleton--glow {\n animation: nx-skeleton-glow var(--motion-durationSlow, 1.5s) var(--motion-easeStandard, ease) infinite;\n}\n\n@keyframes nx-skeleton-glow {\n 0%, 100% {\n box-shadow: 0 0 0 0 color-mix(in srgb, var(--color-brand-500, #6366f1) 35%, transparent);\n }\n 50% {\n box-shadow: 0 0 12px 4px color-mix(in srgb, var(--color-brand-500, #6366f1) 35%, transparent);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-skeleton--pulse,\n .nx-skeleton--wave::after,\n .nx-skeleton--shine,\n .nx-skeleton--glow {\n animation: none;\n }\n}","/* Category F: complex/stateful. Every value is a var(--token,\n fallback) from the active theme, same discipline as every other\n component — no literal colors, radii, or durations. */\n\n.nx-table-wrapper {\n width: 100%;\n overflow: auto;\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-md, 8px);\n background: var(--color-surface, #ffffff);\n box-shadow: var(--shadow-sm, none);\n}\n\n.nx-table {\n width: 100%;\n border-collapse: collapse;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n color: var(--color-text, #111827);\n}\n\n.nx-table__caption {\n caption-side: top;\n text-align: left;\n padding: var(--spacing-sm, 8px) var(--spacing-md, 16px);\n font-size: var(--typography-sizeSm, 14px);\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-table__caption--sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* ---- Header ---- */\n.nx-table__header {\n background: var(--color-surfaceRaised, #f9fafb);\n}\n\n.nx-table--sticky-header .nx-table__header {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.nx-table__head-cell {\n text-align: left;\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-textMuted, #6b7280);\n border-bottom: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n white-space: nowrap;\n}\n\n.nx-table__head-cell-content {\n display: inline-flex;\n align-items: center;\n gap: 0.35em;\n}\n\n.nx-table__head-cell--sortable {\n cursor: pointer;\n user-select: none;\n outline: none;\n}\n.nx-table__head-cell--sortable:hover {\n color: var(--color-text, #111827);\n}\n.nx-table__head-cell--sortable:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: -2px;\n}\n\n.nx-table__sort-icon {\n display: inline-flex;\n flex-direction: column;\n width: 10px;\n height: 12px;\n}\n.nx-table__sort-arrow-up,\n.nx-table__sort-arrow-down {\n opacity: 0.25;\n}\n.nx-table__sort-icon[data-direction=\"asc\"] .nx-table__sort-arrow-up { opacity: 1; }\n.nx-table__sort-icon[data-direction=\"desc\"] .nx-table__sort-arrow-down { opacity: 1; }\n\n/* ---- Body / rows / cells ---- */\n.nx-table__body .nx-table__row {\n border-bottom: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n.nx-table__body .nx-table__row:last-child {\n border-bottom: none;\n}\n\n.nx-table--striped .nx-table__body .nx-table__row:nth-child(even) {\n background: var(--color-surfaceRaised, #f9fafb);\n}\n\n.nx-table__row--clickable {\n cursor: pointer;\n}\n.nx-table__row--clickable:hover {\n background: var(--color-neutral-100, #f3f4f6);\n}\n\n.nx-table__row--selected {\n background: var(--color-brand-50, #eef2ff);\n}\n.nx-table__row--selected.nx-table__row--clickable:hover {\n background: var(--color-brand-50, #eef2ff);\n}\n\n.nx-table__cell {\n vertical-align: middle;\n}\n\n.nx-table__empty-cell {\n text-align: center;\n padding: var(--spacing-xl, 32px) var(--spacing-md, 16px);\n color: var(--color-textMuted, #6b7280);\n}\n\n/* A Checkbox composed inside a table cell (Rule 12 — see Table's\n docs page) shouldn't carry its normal field spacing/label gap;\n this scopes the reset to table cells only, leaving standalone\n Checkbox usage everywhere else untouched. */\n.nx-table__cell .nx-field,\n.nx-table__head-cell .nx-field {\n display: inline-flex;\n}\n\n/* ---- Bordered variant ---- */\n.nx-table--bordered .nx-table__head-cell,\n.nx-table--bordered .nx-table__cell {\n border-right: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n}\n.nx-table--bordered .nx-table__head-cell:last-child,\n.nx-table--bordered .nx-table__cell:last-child {\n border-right: none;\n}\n\n/* ---- Sizes: cell padding + font-size, from the shared scale ---- */\n.nx-table--xs .nx-table__head-cell, .nx-table--xs .nx-table__cell { padding: 6px 10px; font-size: var(--typography-sizeXs, 12px); }\n.nx-table--sm .nx-table__head-cell, .nx-table--sm .nx-table__cell { padding: 8px 12px; font-size: var(--typography-sizeSm, 14px); }\n.nx-table--md .nx-table__head-cell, .nx-table--md .nx-table__cell { padding: 10px 16px; font-size: var(--typography-sizeSm, 14px); }\n.nx-table--lg .nx-table__head-cell, .nx-table--lg .nx-table__cell { padding: 12px 18px; font-size: var(--typography-sizeMd, 16px); }\n.nx-table--xl .nx-table__head-cell, .nx-table--xl .nx-table__cell { padding: 14px 20px; font-size: var(--typography-sizeLg, 18px); }\n\n@media (prefers-reduced-motion: reduce) {\n .nx-table__row {\n transition: none;\n }\n}","/* Category C overlay. Every value is a var(--token, fallback) from\n the active theme, same as Modal.css — the panel itself positions\n with `position: fixed` and a side-specific inset/transform rather\n than relying on the backdrop's own layout (no `:has()` dependency,\n which keeps this working the same way in every supported browser). */\n\n.nx-drawer-backdrop {\n position: fixed;\n inset: 0;\n z-index: 1000;\n background: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(2px);\n animation: nx-drawer-backdrop-in var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n@keyframes nx-drawer-backdrop-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n.nx-drawer {\n position: fixed;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n background: var(--color-surface, #ffffff);\n box-shadow: var(--shadow-xl, 0 20px 40px rgba(0, 0, 0, 0.2));\n backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));\n outline: none; /* focus lands here programmatically */\n animation-duration: var(--motion-durationNormal, 220ms);\n animation-timing-function: var(--motion-easeEmphasized, ease);\n animation-fill-mode: both;\n}\n\n/* ---- Side anchoring + slide-in direction ---- */\n.nx-drawer--left,\n.nx-drawer--right {\n top: 0;\n bottom: 0;\n max-width: calc(100vw - var(--spacing-lg, 24px));\n}\n.nx-drawer--left {\n left: 0;\n border-right: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);\n animation-name: nx-drawer-slide-left-in;\n}\n.nx-drawer--right {\n right: 0;\n border-left: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);\n animation-name: nx-drawer-slide-right-in;\n}\n\n.nx-drawer--top,\n.nx-drawer--bottom {\n left: 0;\n right: 0;\n max-height: calc(100vh - var(--spacing-lg, 24px));\n}\n.nx-drawer--top {\n top: 0;\n border-bottom: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);\n animation-name: nx-drawer-slide-top-in;\n}\n.nx-drawer--bottom {\n bottom: 0;\n border-top: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);\n animation-name: nx-drawer-slide-bottom-in;\n}\n\n@keyframes nx-drawer-slide-left-in {\n from { transform: translateX(-100%); opacity: 0; }\n to { transform: translateX(0); opacity: 1; }\n}\n@keyframes nx-drawer-slide-right-in {\n from { transform: translateX(100%); opacity: 0; }\n to { transform: translateX(0); opacity: 1; }\n}\n@keyframes nx-drawer-slide-top-in {\n from { transform: translateY(-100%); opacity: 0; }\n to { transform: translateY(0); opacity: 1; }\n}\n@keyframes nx-drawer-slide-bottom-in {\n from { transform: translateY(100%); opacity: 0; }\n to { transform: translateY(0); opacity: 1; }\n}\n\n/* ---- Sizes: left/right control width, top/bottom control height,\n \"size\" always means \"how far the panel extends from its edge\" ---- */\n.nx-drawer--left.nx-drawer--xs, .nx-drawer--right.nx-drawer--xs { width: 280px; }\n.nx-drawer--left.nx-drawer--sm, .nx-drawer--right.nx-drawer--sm { width: 360px; }\n.nx-drawer--left.nx-drawer--md, .nx-drawer--right.nx-drawer--md { width: 420px; }\n.nx-drawer--left.nx-drawer--lg, .nx-drawer--right.nx-drawer--lg { width: 520px; }\n.nx-drawer--left.nx-drawer--xl, .nx-drawer--right.nx-drawer--xl { width: 640px; }\n.nx-drawer--left.nx-drawer--full, .nx-drawer--right.nx-drawer--full { width: 100vw; max-width: none; }\n\n.nx-drawer--top.nx-drawer--xs, .nx-drawer--bottom.nx-drawer--xs { height: 200px; }\n.nx-drawer--top.nx-drawer--sm, .nx-drawer--bottom.nx-drawer--sm { height: 280px; }\n.nx-drawer--top.nx-drawer--md, .nx-drawer--bottom.nx-drawer--md { height: 360px; }\n.nx-drawer--top.nx-drawer--lg, .nx-drawer--bottom.nx-drawer--lg { height: 460px; }\n.nx-drawer--top.nx-drawer--xl, .nx-drawer--bottom.nx-drawer--xl { height: 560px; }\n.nx-drawer--top.nx-drawer--full, .nx-drawer--bottom.nx-drawer--full { height: 100vh; max-height: none; }\n\n/* ---- Header / body / footer — same structure as Modal's ---- */\n.nx-drawer__header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--spacing-md, 16px);\n padding: var(--spacing-lg, 24px) var(--spacing-lg, 24px) 0;\n flex-shrink: 0;\n}\n\n.nx-drawer__title {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeLg, 18px);\n font-weight: var(--typography-weightBold, 700);\n color: var(--color-text, #111827);\n}\n\n.nx-drawer__close {\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: var(--color-textMuted, #6b7280);\n cursor: pointer;\n border-radius: var(--radius-sm, 6px);\n transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n.nx-drawer__close:hover {\n background: var(--color-surfaceRaised, #f3f4f6);\n color: var(--color-text, #111827);\n}\n.nx-drawer__close:focus-visible {\n outline: 2px solid var(--color-brand-500, #6366f1);\n outline-offset: 2px;\n}\n\n.nx-drawer__body {\n flex: 1;\n overflow-y: auto;\n padding: var(--spacing-lg, 24px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n line-height: var(--typography-lineHeightNormal, 1.5);\n color: var(--color-text, #111827);\n}\n\n.nx-drawer__footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--spacing-sm, 8px);\n padding: 0 var(--spacing-lg, 24px) var(--spacing-lg, 24px);\n flex-shrink: 0;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nx-drawer-backdrop, .nx-drawer {\n animation-duration: 0.01ms;\n }\n}\n",".nx-rating {\n display: inline-flex;\n align-items: center;\n gap: calc(var(--spacing-xs, 4px) / 2);\n outline: none;\n border-radius: var(--radius-sm, 4px);\n}\n\n.nx-rating:focus-visible {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 25%, transparent);\n}\n\n.nx-rating--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.nx-rating--readonly {\n cursor: default;\n}\n\n.nx-rating__star {\n display: inline-flex;\n cursor: pointer;\n color: var(--color-textMuted, #d1d5db);\n transition: color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-rating--disabled .nx-rating__star,\n.nx-rating--readonly .nx-rating__star {\n cursor: inherit;\n}\n\n.nx-rating__star--half,\n.nx-rating__star--full {\n color: var(--color-brand-500, #6366f1);\n}\n\n.nx-rating:not(.nx-rating--disabled):not(.nx-rating--readonly) .nx-rating__star:hover {\n transform: scale(1.08);\n}\n\n.nx-rating--xs .nx-rating__star-icon { width: 14px; height: 14px; }\n.nx-rating--sm .nx-rating__star-icon { width: 16px; height: 16px; }\n.nx-rating--md .nx-rating__star-icon { width: 20px; height: 20px; }\n.nx-rating--lg .nx-rating__star-icon { width: 26px; height: 26px; }\n.nx-rating--xl .nx-rating__star-icon { width: 32px; height: 32px; }\n\n/* Every other visual difference in this codebase comes from\n tokens, with zero theme-conditional CSS anywhere else — this is\n the one deliberate exception. Star color is driven by `color`\n (drives both SVG fill and stroke via currentColor), so a filled\n star's 1px stroke is the same brand color as its fill and reads\n as no outline at all. Neobrutalism's whole identity is a visible\n black outline on every surface (buttons, cards, inputs all get\n one via the `border` token); stars were the one thing that\n didn't, because \"stroke color independent of fill color\" isn't\n something the token contract has a slot for, and adding one\n would mean threading a new field through all 11 themes for a\n single component. Scoped override instead of a contract change. */\n[data-theme=\"neobrutalism\"] .nx-rating__star-icon {\n stroke: #000000;\n}",".nx-otp-input {\n display: inline-flex;\n gap: var(--spacing-sm, 8px);\n}\n\n.nx-otp-input--disabled {\n opacity: 0.5;\n}\n\n.nx-otp-input__box {\n text-align: center;\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-weight: var(--typography-weightMedium, 500);\n color: var(--color-text, #111827);\n background: var(--color-surface, #ffffff);\n border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: var(--radius-md, 8px);\n outline: none;\n transition: border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),\n box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);\n}\n\n.nx-otp-input__box:disabled {\n cursor: not-allowed;\n background: var(--color-neutral-50, #f9fafb);\n}\n\n.nx-otp-input__box:focus {\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-500, #6366f1) 20%, transparent);\n}\n\n.nx-otp-input__box--filled {\n border-color: var(--color-brand-500, #6366f1);\n}\n\n.nx-otp-input__box--invalid {\n border-color: var(--color-danger-base, #ef4444);\n}\n.nx-otp-input__box--invalid:focus {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-base, #ef4444) 20%, transparent);\n}\n\n/* Sizes control box dimensions and font-size together, same pattern as NumberInput's font-size-only scale but with an explicit box footprint since these aren't flowing text inputs. */\n.nx-otp-input--xs .nx-otp-input__box { width: 28px; height: 32px; font-size: var(--typography-sizeSm, 14px); }\n.nx-otp-input--sm .nx-otp-input__box { width: 34px; height: 38px; font-size: var(--typography-sizeMd, 16px); }\n.nx-otp-input--md .nx-otp-input__box { width: 42px; height: 48px; font-size: var(--typography-sizeLg, 18px); }\n.nx-otp-input--lg .nx-otp-input__box { width: 50px; height: 56px; font-size: var(--typography-sizeXl, 22px); }\n.nx-otp-input--xl .nx-otp-input__box { width: 58px; height: 64px; font-size: var(--typography-sizeXl, 22px); }\n","/* The nested Select sits inside Input's own bordered wrapper (as its\n `prefix` adornment), so its own trigger chrome — border, shadow,\n background, the 100%-width/max-width sizing meant for a\n standalone Select — is stripped/overridden here rather than\n presenting as \"a select nested inside another bordered field\". A\n thin divider on the trigger takes over the border's job of\n separating it from the number field.\n\n A fixed width (not `auto`/content-based) keeps the trigger from\n growing wider than the number field it sits beside. The trigger\n itself only ever shows toSelectOptions' short, flag-less\n `triggerLabel` (\"US +1\", \"GG +441481\", ...) rather than the\n full-name `label` the open listbox uses (\"United States +1\") —\n see the comment on toSelectOptions for why. 104px comfortably\n fits every default-list entry, including the longest\n (\"GG +441481\"); the ellipsis below is just a safety net for a\n custom `countries` list with something longer still. */\n.nx-phone-input__country-select {\n inline-size: 104px;\n max-inline-size: 104px;\n flex: none;\n}\n\n.nx-phone-input__country-select .nx-select__trigger {\n border: none;\n box-shadow: none !important;\n background: transparent;\n padding-inline-end: var(--spacing-xs, 4px);\n padding-inline-start: 0;\n border-inline-end: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);\n border-radius: 0;\n}\n\n.nx-phone-input__country-select .nx-select__value {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}",".nx-stat-card {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs, 4px);\n}\n\n.nx-stat-card__header {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm, 8px);\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-stat-card__icon {\n display: inline-flex;\n flex: none;\n color: var(--color-brand-500, #6366f1);\n}\n\n.nx-stat-card__label {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n font-weight: var(--typography-weightMedium, 500);\n}\n\n.nx-stat-card__value {\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeXl, 22px);\n font-weight: var(--typography-weightBold, 700);\n line-height: var(--typography-lineHeightTight, 1.2);\n color: var(--color-text, #111827);\n}\n\n.nx-stat-card__trend {\n display: flex;\n align-items: center;\n gap: var(--spacing-xs, 4px);\n font-family: var(--typography-fontSans, system-ui, sans-serif);\n font-size: var(--typography-sizeSm, 14px);\n font-weight: var(--typography-weightMedium, 500);\n}\n\n.nx-stat-card__trend-icon {\n inline-size: 1em;\n block-size: 1em;\n}\n\n/* Semantic — good/bad movement, never the accent system (CONTRACT.md\n Rule 5b: success/danger stay theme-defined). */\n.nx-stat-card__trend--up {\n color: var(--color-success-base, #10b981);\n}\n.nx-stat-card__trend--down {\n color: var(--color-danger-base, #ef4444);\n}\n.nx-stat-card__trend--flat {\n color: var(--color-textMuted, #6b7280);\n}\n\n.nx-stat-card__trend-label {\n color: var(--color-textMuted, #6b7280);\n font-weight: var(--typography-weightNormal, 400);\n}\n"],"mappings":"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","names":[]}