nuvox 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +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-radius: var(--radius-full, 9999px);\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}\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 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}",".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":[]}