@neobrut-vue/core 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.6.0
4
+
5
+ - Added `NbLabel`, `NbField`, `NbNativeSelect`, `NbDrawer`, `NbMenubar`, and `NbCarousel` (plus their companion components).
6
+ - Added interactive docs and playground examples for each new component.
7
+
3
8
  ## 0.5.0
4
9
 
5
10
  - Added `NbStepper`, `NbMeter`, `NbTimeline`, and `NbCopyButton` with accessible examples.
package/README.md CHANGED
@@ -6,7 +6,18 @@
6
6
 
7
7
  Colorful and accessible neo-brutalist components for Vue 3.
8
8
 
9
- [npm](https://www.npmjs.com/package/@neobrut-vue/core) · [GitHub](https://github.com/avr6ude/neobrut-vue) · [Issues](https://github.com/avr6ude/neobrut-vue/issues)
9
+ [Landing](https://neobrut.avrdu.de/) · [Interactive docs](https://neobrut.avrdu.de/docs/) · [npm](https://www.npmjs.com/package/@neobrut-vue/core) · [GitHub](https://github.com/avr6ude/neobrut-vue) · [Issues](https://github.com/avr6ude/neobrut-vue/issues)
10
+
11
+ ## Landing and docs
12
+
13
+ The static landing is built from the interactive Vue playground:
14
+
15
+ ```sh
16
+ bun install --frozen-lockfile
17
+ bun run build:site
18
+ ```
19
+
20
+ Its output is `playground/dist`, including the static Astro documentation under `/docs`. Cloudflare Pages builds it from this repository with `BUN_VERSION=1.3.4` and serves both at [neobrut.avrdu.de](https://neobrut.avrdu.de/).
10
21
 
11
22
  ## Requirements
12
23
 
@@ -50,10 +61,10 @@ import { NbBadge, NbButton, NbCard } from '@neobrut-vue/core'
50
61
  | Group | Components |
51
62
  | --- | --- |
52
63
  | Actions and surfaces | `NbButton`, `NbButtonGroup`, `NbCopyButton`, `NbToggle`, `NbCard`, `NbAlert`, `NbBadge` |
53
- | Forms | `NbCheckbox`, `NbCombobox`, `NbFieldset`, `NbInput`, `NbInputGroup`, `NbNumberInput`, `NbPinInput`, `NbRadioGroup`, `NbRating`, `NbSelect`, `NbSelectItem`, `NbSlider`, `NbSwitch`, `NbTagsInput`, `NbTextarea`, `NbToggleGroup`, `NbToggleGroupItem` |
54
- | Navigation | `NbBreadcrumbs`, `NbNavigationMenu`, `NbPagination`, `NbStepper`, `NbStepperItem`, `NbTabs`, `NbTabsList`, `NbTabsTrigger`, `NbTabsContent` |
55
- | Overlays | `NbAlertDialog`, `NbCommand`, `NbContextMenu`, `NbDialog`, `NbDropdownMenu`, `NbHoverCard`, `NbPopover`, `NbSheet`, `NbToast`, `NbTooltip` |
56
- | Data display | `NbAccordion`, `NbAccordionItem`, `NbAvatar`, `NbCollapsible`, `NbEmptyState`, `NbMeter`, `NbProgress`, `NbSkeleton`, `NbSpinner`, `NbTable`, `NbTimeline`, `NbTimelineItem` |
64
+ | Forms | `NbCheckbox`, `NbCombobox`, `NbField`, `NbFieldset`, `NbInput`, `NbInputGroup`, `NbLabel`, `NbNativeSelect`, `NbNumberInput`, `NbPinInput`, `NbRadioGroup`, `NbRating`, `NbSelect`, `NbSelectItem`, `NbSlider`, `NbSwitch`, `NbTagsInput`, `NbTextarea`, `NbToggleGroup`, `NbToggleGroupItem` |
65
+ | Navigation | `NbBreadcrumbs`, `NbMenubar`, `NbMenubarMenu`, `NbMenubarItem`, `NbMenubarSeparator`, `NbNavigationMenu`, `NbPagination`, `NbStepper`, `NbStepperItem`, `NbTabs`, `NbTabsList`, `NbTabsTrigger`, `NbTabsContent` |
66
+ | Overlays | `NbAlertDialog`, `NbCommand`, `NbContextMenu`, `NbDialog`, `NbDrawer`, `NbDropdownMenu`, `NbHoverCard`, `NbPopover`, `NbSheet`, `NbToast`, `NbTooltip` |
67
+ | Data display | `NbAccordion`, `NbAccordionItem`, `NbAvatar`, `NbCarousel`, `NbCarouselSlide`, `NbCollapsible`, `NbEmptyState`, `NbMeter`, `NbProgress`, `NbSkeleton`, `NbSpinner`, `NbTable`, `NbTimeline`, `NbTimelineItem` |
57
68
  | Inline and layout | `NbLink`, `NbKbd`, `NbMarker`, `NbAspectRatio`, `NbScrollArea`, `NbSeparator` |
58
69
 
59
70
  ## Links and actions
@@ -0,0 +1,26 @@
1
+ type __VLS_Props = {
2
+ label?: string;
3
+ };
4
+ declare function __VLS_template(): {
5
+ attrs: Partial<{}>;
6
+ slots: {
7
+ default?(_: {}): any;
8
+ };
9
+ refs: {
10
+ track: HTMLDivElement;
11
+ };
12
+ rootEl: HTMLElement;
13
+ };
14
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
15
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
16
+ label: string;
17
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
18
+ track: HTMLDivElement;
19
+ }, HTMLElement>;
20
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
21
+ export default _default;
22
+ type __VLS_WithTemplateSlots<T, S> = T & {
23
+ new (): {
24
+ $slots: S;
25
+ };
26
+ };
@@ -0,0 +1,20 @@
1
+ type __VLS_Props = {
2
+ label: string;
3
+ };
4
+ declare function __VLS_template(): {
5
+ attrs: Partial<{}>;
6
+ slots: {
7
+ default?(_: {}): any;
8
+ };
9
+ refs: {};
10
+ rootEl: HTMLDivElement;
11
+ };
12
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
13
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
14
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
15
+ export default _default;
16
+ type __VLS_WithTemplateSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -0,0 +1,2 @@
1
+ export { default as NbCarousel } from './NbCarousel.vue';
2
+ export { default as NbCarouselSlide } from './NbCarouselSlide.vue';
@@ -0,0 +1,35 @@
1
+ export type NbDrawerSide = 'bottom' | 'top' | 'left' | 'right';
2
+ type __VLS_Props = {
3
+ open?: boolean;
4
+ defaultOpen?: boolean;
5
+ title: string;
6
+ description?: string;
7
+ side?: NbDrawerSide;
8
+ };
9
+ declare function __VLS_template(): {
10
+ attrs: Partial<{}>;
11
+ slots: {
12
+ trigger?(_: {}): any;
13
+ default?(_: {}): any;
14
+ footer?(_: {}): any;
15
+ };
16
+ refs: {};
17
+ rootEl: any;
18
+ };
19
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
20
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
21
+ "update:open": (value: boolean) => any;
22
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
23
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
24
+ }>, {
25
+ open: boolean;
26
+ defaultOpen: boolean;
27
+ side: NbDrawerSide;
28
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
29
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
30
+ export default _default;
31
+ type __VLS_WithTemplateSlots<T, S> = T & {
32
+ new (): {
33
+ $slots: S;
34
+ };
35
+ };
@@ -0,0 +1,2 @@
1
+ export { default as NbDrawer } from './NbDrawer.vue';
2
+ export type { NbDrawerSide } from './NbDrawer.vue';
@@ -0,0 +1,27 @@
1
+ type __VLS_Props = {
2
+ id?: string;
3
+ label?: string;
4
+ hint?: string;
5
+ error?: string;
6
+ };
7
+ declare function __VLS_template(): {
8
+ attrs: Partial<{}>;
9
+ slots: {
10
+ default?(_: {
11
+ inputId: string;
12
+ describedBy: string | undefined;
13
+ invalid: boolean;
14
+ }): any;
15
+ };
16
+ refs: {};
17
+ rootEl: HTMLDivElement;
18
+ };
19
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
20
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
21
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
22
+ export default _default;
23
+ type __VLS_WithTemplateSlots<T, S> = T & {
24
+ new (): {
25
+ $slots: S;
26
+ };
27
+ };
@@ -0,0 +1 @@
1
+ export { default as NbField } from './NbField.vue';
@@ -0,0 +1,17 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ default?(_: {}): any;
5
+ };
6
+ refs: {};
7
+ rootEl: any;
8
+ };
9
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
11
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
12
+ export default _default;
13
+ type __VLS_WithTemplateSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1 @@
1
+ export { default as NbLabel } from './NbLabel.vue';
@@ -0,0 +1,22 @@
1
+ type __VLS_Props = {
2
+ label?: string;
3
+ };
4
+ declare function __VLS_template(): {
5
+ attrs: Partial<{}>;
6
+ slots: {
7
+ default?(_: {}): any;
8
+ };
9
+ refs: {};
10
+ rootEl: any;
11
+ };
12
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
13
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
14
+ label: string;
15
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
17
+ export default _default;
18
+ type __VLS_WithTemplateSlots<T, S> = T & {
19
+ new (): {
20
+ $slots: S;
21
+ };
22
+ };
@@ -0,0 +1,28 @@
1
+ type __VLS_Props = {
2
+ disabled?: boolean;
3
+ destructive?: boolean;
4
+ };
5
+ declare function __VLS_template(): {
6
+ attrs: Partial<{}>;
7
+ slots: {
8
+ default?(_: {}): any;
9
+ };
10
+ refs: {};
11
+ rootEl: any;
12
+ };
13
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
14
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
15
+ select: (event: Event) => any;
16
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
17
+ onSelect?: ((event: Event) => any) | undefined;
18
+ }>, {
19
+ disabled: boolean;
20
+ destructive: boolean;
21
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
22
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
23
+ export default _default;
24
+ type __VLS_WithTemplateSlots<T, S> = T & {
25
+ new (): {
26
+ $slots: S;
27
+ };
28
+ };
@@ -0,0 +1,20 @@
1
+ type __VLS_Props = {
2
+ label: string;
3
+ };
4
+ declare function __VLS_template(): {
5
+ attrs: Partial<{}>;
6
+ slots: {
7
+ default?(_: {}): any;
8
+ };
9
+ refs: {};
10
+ rootEl: any;
11
+ };
12
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
13
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
14
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
15
+ export default _default;
16
+ type __VLS_WithTemplateSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,4 @@
1
+ export { default as NbMenubar } from './NbMenubar.vue';
2
+ export { default as NbMenubarMenu } from './NbMenubarMenu.vue';
3
+ export { default as NbMenubarItem } from './NbMenubarItem.vue';
4
+ export { default as NbMenubarSeparator } from './NbMenubarSeparator.vue';
@@ -0,0 +1,35 @@
1
+ type __VLS_Props = {
2
+ modelValue?: string;
3
+ label?: string;
4
+ hint?: string;
5
+ error?: string;
6
+ id?: string;
7
+ name?: string;
8
+ required?: boolean;
9
+ disabled?: boolean;
10
+ };
11
+ declare function __VLS_template(): {
12
+ attrs: Partial<{}>;
13
+ slots: {
14
+ default?(_: {}): any;
15
+ };
16
+ refs: {};
17
+ rootEl: any;
18
+ };
19
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
20
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
21
+ "update:modelValue": (value: string) => any;
22
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
23
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
24
+ }>, {
25
+ modelValue: string;
26
+ disabled: boolean;
27
+ required: boolean;
28
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
29
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
30
+ export default _default;
31
+ type __VLS_WithTemplateSlots<T, S> = T & {
32
+ new (): {
33
+ $slots: S;
34
+ };
35
+ };
@@ -0,0 +1 @@
1
+ export { default as NbNativeSelect } from './NbNativeSelect.vue';
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ import { NbAvatar } from './components/NbAvatar';
5
5
  import { NbBreadcrumbs } from './components/NbBreadcrumbs';
6
6
  import { NbButton } from './components/NbButton';
7
7
  import { NbButtonGroup } from './components/NbButtonGroup';
8
+ import { NbCarousel, NbCarouselSlide } from './components/NbCarousel';
8
9
  import { NbCard } from './components/NbCard';
9
10
  import { NbCheckbox } from './components/NbCheckbox';
10
11
  import { NbCollapsible } from './components/NbCollapsible';
@@ -15,17 +16,22 @@ import { NbContextMenu, NbContextMenuCheckboxItem, NbContextMenuItem, NbContextM
15
16
  import { NbAlert } from './components/NbAlert';
16
17
  import { NbAlertDialog } from './components/NbAlertDialog';
17
18
  import { NbDialog } from './components/NbDialog';
19
+ import { NbDrawer } from './components/NbDrawer';
18
20
  import { NbDropdownMenu, NbDropdownMenuItem, NbDropdownMenuSeparator } from './components/NbDropdownMenu';
19
21
  import { NbEmptyState } from './components/NbEmptyState';
20
22
  import { NbFieldset } from './components/NbFieldset';
23
+ import { NbField } from './components/NbField';
21
24
  import { NbInput } from './components/NbInput';
22
25
  import { NbInputGroup } from './components/NbInputGroup';
26
+ import { NbLabel } from './components/NbLabel';
23
27
  import { NbHoverCard } from './components/NbHoverCard';
24
28
  import { NbKbd } from './components/NbKbd';
25
29
  import { NbLink } from './components/NbLink';
26
30
  import { NbMarker } from './components/NbMarker';
27
31
  import { NbMeter } from './components/NbMeter';
32
+ import { NbMenubar, NbMenubarMenu, NbMenubarItem, NbMenubarSeparator } from './components/NbMenubar';
28
33
  import { NbNavigationMenu } from './components/NbNavigationMenu';
34
+ import { NbNativeSelect } from './components/NbNativeSelect';
29
35
  import { NbNumberInput } from './components/NbNumberInput';
30
36
  import { NbPagination } from './components/NbPagination';
31
37
  import { NbPinInput } from './components/NbPinInput';
@@ -51,7 +57,7 @@ import { NbTimeline, NbTimelineItem } from './components/NbTimeline';
51
57
  import { NbToggle } from './components/NbToggle';
52
58
  import { NbToggleGroup, NbToggleGroupItem } from './components/NbToggleGroup';
53
59
  import { NbTooltip } from './components/NbTooltip';
54
- export { NbAccordion, NbAccordionItem, NbAlert, NbAlertDialog, NbAspectRatio, NbAvatar, NbBadge, NbBreadcrumbs, NbButton, NbButtonGroup, NbCard, NbCheckbox, NbCollapsible, NbCombobox, NbCommand, NbContextMenu, NbContextMenuCheckboxItem, NbContextMenuItem, NbContextMenuLabel, NbContextMenuRadioGroup, NbContextMenuRadioItem, NbContextMenuSeparator, NbContextMenuShortcut, NbContextMenuSub, NbCopyButton, NbDialog, NbDropdownMenu, NbDropdownMenuItem, NbDropdownMenuSeparator, NbEmptyState, NbFieldset, NbHoverCard, NbInput, NbInputGroup, NbKbd, NbLink, NbMarker, NbMeter, NbNavigationMenu, NbNumberInput, NbPagination, NbPinInput, NbPopover, NbProgress, NbRadioGroup, NbRating, NbScrollArea, NbSelect, NbSelectItem, NbSeparator, NbSheet, NbSkeleton, NbSlider, NbSpinner, NbStepper, NbStepperItem, NbSwitch, NbTable, NbTabs, NbTabsContent, NbTabsList, NbTabsTrigger, NbTagsInput, NbTextarea, NbTimeline, NbTimelineItem, NbToast, NbToggle, NbToggleGroup, NbToggleGroupItem, NbTooltip };
60
+ export { NbAccordion, NbAccordionItem, NbAlert, NbAlertDialog, NbAspectRatio, NbAvatar, NbBadge, NbBreadcrumbs, NbButton, NbButtonGroup, NbCarousel, NbCarouselSlide, NbCard, NbCheckbox, NbCollapsible, NbCombobox, NbCommand, NbContextMenu, NbContextMenuCheckboxItem, NbContextMenuItem, NbContextMenuLabel, NbContextMenuRadioGroup, NbContextMenuRadioItem, NbContextMenuSeparator, NbContextMenuShortcut, NbContextMenuSub, NbCopyButton, NbDialog, NbDrawer, NbDropdownMenu, NbDropdownMenuItem, NbDropdownMenuSeparator, NbEmptyState, NbField, NbFieldset, NbHoverCard, NbInput, NbInputGroup, NbKbd, NbLabel, NbLink, NbMarker, NbMenubar, NbMenubarMenu, NbMenubarItem, NbMenubarSeparator, NbMeter, NbNativeSelect, NbNavigationMenu, NbNumberInput, NbPagination, NbPinInput, NbPopover, NbProgress, NbRadioGroup, NbRating, NbScrollArea, NbSelect, NbSelectItem, NbSeparator, NbSheet, NbSkeleton, NbSlider, NbSpinner, NbStepper, NbStepperItem, NbSwitch, NbTable, NbTabs, NbTabsContent, NbTabsList, NbTabsTrigger, NbTagsInput, NbTextarea, NbTimeline, NbTimelineItem, NbToast, NbToggle, NbToggleGroup, NbToggleGroupItem, NbTooltip };
55
61
  export type { NbBreadcrumbItem } from './components/NbBreadcrumbs';
56
62
  export type { NbComboboxOption } from './components/NbCombobox';
57
63
  export type { NbCommandOption } from './components/NbCommand';
@@ -60,6 +66,7 @@ export type { NbMarkerTone } from './components/NbMarker';
60
66
  export type { NbNavigationGroup, NbNavigationItem, NbNavigationLink } from './components/NbNavigationMenu';
61
67
  export type { NbRadioOption } from './components/NbRadioGroup';
62
68
  export type { NbSheetSide } from './components/NbSheet';
69
+ export type { NbDrawerSide } from './components/NbDrawer';
63
70
  export type { NbTabsOrientation } from './components/NbTabs';
64
71
  export type { NbToggleSize, NbToggleTone } from './components/NbToggle';
65
72
  export type { NbToggleGroupOrientation, NbToggleGroupType } from './components/NbToggleGroup';
@@ -1 +1 @@
1
- :root{--nb-color-ink: #151515;--nb-color-paper: #fff8e7;--nb-color-muted: #ded5c4;--nb-color-primary: #ffdf3f;--nb-color-secondary: #70e1c3;--nb-color-accent: #ff7b71;--nb-color-danger: #ff4d5a;--nb-color-info: #8dc8ff;--nb-color-success: #9be15d;--nb-border-width: 3px;--nb-radius: .75rem;--nb-radius-sm: .35rem;--nb-shadow-x: 6px;--nb-shadow-y: 6px;--nb-shadow-color: var(--nb-color-ink);--nb-font-display: ui-rounded, "Arial Rounded MT Bold", system-ui, sans-serif;--nb-font-body: system-ui, sans-serif;--nb-font-mono: ui-monospace, SFMono-Regular, Menlo, monospace}.nb-theme-dark{--nb-color-ink: #fff8e7;--nb-color-paper: #202020;--nb-color-muted: #454545;--nb-shadow-color: #050505}:where(.nb-root){color:var(--nb-color-ink);font-family:var(--nb-font-body)}:where(.nb-root *,.nb-root *:before,.nb-root *:after){box-sizing:border-box}:where(.nb-root button,.nb-root input,.nb-root textarea,.nb-root select){font:inherit}:where(.nb-root button,.nb-root [role=button],.nb-root input,.nb-root textarea,.nb-root select):focus-visible{outline:3px solid var(--nb-color-accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){:where(.nb-root *,.nb-root *:before,.nb-root *:after){animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.nb-field{display:grid;align-items:start;grid-auto-rows:max-content;gap:.4rem}.nb-field__label,.nb-checkbox__label{font-family:var(--nb-font-display);font-weight:800}.nb-field__control{display:block;width:100%;height:2.75rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper);color:var(--nb-color-ink);padding:0 .8rem}.nb-select__trigger{display:flex;width:100%;height:2.75rem;align-items:center;justify-content:space-between;gap:.75rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-primary);color:var(--nb-color-ink);padding:0 .8rem;text-align:left}.nb-select__trigger:disabled{cursor:not-allowed;opacity:.55}.nb-select__icon,.nb-select__icon svg,.nb-select__scroll-button svg,.nb-select__indicator svg{width:1rem;height:1rem;flex:0 0 auto}.nb-select__icon svg,.nb-select__scroll-button svg,.nb-select__indicator svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}.nb-select__content{z-index:50;width:var(--reka-select-trigger-width);max-height:min(24rem,var(--reka-select-content-available-height));overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper);color:var(--nb-color-ink)}.nb-select__viewport{padding:.25rem}.nb-select__item{position:relative;display:flex;min-height:2.25rem;align-items:center;border:2px solid transparent;border-radius:calc(var(--nb-radius-sm) - .1rem);padding:.4rem 2rem .4rem .6rem;outline:0;cursor:default;-webkit-user-select:none;user-select:none}.nb-select__item[data-highlighted]{border-color:var(--nb-color-ink);background:var(--nb-color-primary)}.nb-select__item[data-disabled]{pointer-events:none;opacity:.45}.nb-select__indicator{position:absolute;right:.55rem;display:grid;place-items:center}.nb-select__scroll-button{display:flex;width:100%;height:1.75rem;align-items:center;justify-content:center;border:0;background:var(--nb-color-paper);color:var(--nb-color-ink)}.nb-field__control[type=file]{height:2.75rem;padding:0;overflow:hidden;line-height:calc(2.75rem - (2 * var(--nb-border-width)))}.nb-field__control[type=file]::file-selector-button{height:100%;margin:0 .75rem 0 0;border:0;border-right:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-primary);color:var(--nb-color-ink);padding:0 .8rem;font:inherit;font-family:var(--nb-font-display);font-weight:800;line-height:normal;vertical-align:top;cursor:pointer}.nb-field__control--textarea{height:auto;min-height:7rem;padding:.7rem .8rem;resize:vertical}.nb-field__control:disabled{cursor:not-allowed;opacity:.5}.nb-field__hint,.nb-field__error{font-size:.8rem}.nb-field__hint{color:color-mix(in srgb,var(--nb-color-ink) 65%,transparent)}.nb-field__error{color:color-mix(in srgb,var(--nb-color-danger) 60%,var(--nb-color-ink));font-weight:700}.nb-tags-input{display:flex;min-height:2.75rem;flex-wrap:wrap;align-items:center;gap:.4rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper);padding:.3rem .45rem}.nb-tags-input[data-disabled]{opacity:.55}.nb-tags-input__tag{display:inline-flex;align-items:center;gap:.25rem;border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-secondary);padding:.1rem .2rem .1rem .45rem;font-weight:750}.nb-tags-input__remove{display:grid;width:1.35rem;height:1.35rem;place-items:center;border:0;background:transparent;color:inherit;cursor:pointer;font-size:1.1rem;line-height:1}.nb-tags-input__remove:hover{background:var(--nb-color-primary)}.nb-tags-input__input{min-width:6rem;flex:1;border:0;background:transparent;color:inherit;padding:.2rem .35rem;outline:0}.nb-tags-input:focus-within{outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-pin-input{display:flex;max-width:100%;flex-wrap:wrap;gap:.45rem}.nb-pin-input__digit{width:clamp(2.2rem,8.5vw,2.75rem);height:2.75rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper);color:var(--nb-color-ink);text-align:center;font-family:var(--nb-font-display);font-size:1.25rem;font-weight:900}.nb-pin-input__digit:disabled{opacity:.55}.nb-rating{min-width:0;margin:0;border:0;padding:0}.nb-rating__options{display:flex;flex-wrap:wrap;gap:.45rem}.nb-rating__option{position:relative;display:grid;width:2.75rem;height:2.75rem;place-items:center;border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:2px 2px 0 var(--nb-shadow-color);background:var(--nb-color-paper);cursor:pointer}.nb-rating__option.is-active{background:var(--nb-color-primary)}.nb-rating__option svg{width:1.5rem;height:1.5rem;fill:var(--nb-color-paper);stroke:var(--nb-color-ink);stroke-linejoin:round;stroke-width:1.5}.nb-rating__option.is-active svg{fill:var(--nb-color-accent)}.nb-rating__input{position:absolute;width:1px;height:1px;opacity:0}.nb-rating__input:focus-visible+svg{outline:3px solid var(--nb-color-accent);outline-offset:5px}.nb-rating:disabled .nb-rating__option{cursor:not-allowed;opacity:.55;box-shadow:none}.nb-checkbox{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer}.nb-checkbox__input{position:absolute;opacity:0;pointer-events:none}.nb-checkbox__box{display:grid;width:1.5rem;height:1.5rem;place-items:center;border:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-paper);font-weight:900;line-height:1}.nb-checkbox__input:not(:checked)+.nb-checkbox__box{color:transparent}.nb-checkbox__input:checked+.nb-checkbox__box{background:var(--nb-color-primary)}.nb-checkbox__input:focus-visible+.nb-checkbox__box{outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-checkbox__input:disabled+.nb-checkbox__box,.nb-checkbox__input:disabled~.nb-checkbox__label{opacity:.55}.nb-radio-group,.nb-fieldset{min-width:0;margin:0;border:0;padding:0}.nb-radio-group__legend,.nb-fieldset__legend{padding:0;font-family:var(--nb-font-display);border-radius:var(--nb-radius-sm);font-size:1rem;font-weight:900}.nb-radio-group__hint{margin:.3rem 0 0}.nb-radio-group__options{display:grid;gap:.55rem;margin-top:.7rem}.nb-radio{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper);cursor:pointer;padding:.75rem}.nb-radio.is-checked{box-shadow:4px 4px 0 var(--nb-shadow-color);background:var(--nb-color-primary);transform:translate(-1px,-1px)}.nb-radio__input,.nb-switch__input{position:absolute;opacity:0;pointer-events:none}.nb-radio__mark{display:grid;width:1.45rem;height:1.45rem;place-items:center;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:50%;background:var(--nb-color-paper)}.nb-radio__mark:after{width:.55rem;height:.55rem;border-radius:50%;background:var(--nb-color-ink);content:"";opacity:0}.nb-radio__input:checked+.nb-radio__mark:after{opacity:1}.nb-radio__input:focus-visible+.nb-radio__mark{outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-radio:has(.nb-radio__input:disabled){cursor:not-allowed;opacity:.5}.nb-radio__content,.nb-switch__content{display:grid;gap:.1rem}.nb-radio__label,.nb-switch__label{font-family:var(--nb-font-display);font-weight:800}.nb-radio__description,.nb-switch__description{font-size:.8rem;font-weight:500}.nb-switch{display:inline-grid;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;cursor:pointer}.nb-switch.is-disabled{cursor:not-allowed;opacity:.55}.nb-switch__track{display:flex;width:3.25rem;height:1.8rem;align-items:center;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:999px;background:var(--nb-color-muted);padding:.15rem}.nb-switch__thumb{width:1rem;height:1rem;border:2px solid var(--nb-color-ink);border-radius:50%;background:var(--nb-color-paper);transition:transform .12s ease}.nb-switch__input:checked+.nb-switch__track{background:var(--nb-color-primary)}.nb-switch__input:checked+.nb-switch__track .nb-switch__thumb{transform:translate(1.35rem)}.nb-switch__input:focus-visible+.nb-switch__track{outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-fieldset{border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:5px 5px 0 var(--nb-shadow-color);background:var(--nb-color-paper);padding:1rem}.nb-fieldset__legend{border:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-secondary);padding:.25rem .55rem;box-shadow:2px 2px 0 var(--nb-shadow-color)}.nb-fieldset__description{margin:0 0 1rem;font-size:.9rem}.nb-fieldset__content{display:grid;gap:1rem}.nb-fieldset:disabled{opacity:.55}.nb-input-group{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-height:2.75rem;overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper)}.nb-input-group__addon{display:flex;align-items:center;background:var(--nb-color-primary);padding:.65rem .75rem;font-family:var(--nb-font-display);font-weight:800}.nb-input-group__addon:first-child{border-right:var(--nb-border-width) solid var(--nb-color-ink)}.nb-input-group__addon:last-child{border-left:var(--nb-border-width) solid var(--nb-color-ink)}.nb-input-group__control{display:flex;min-width:0}.nb-input-group__control>:where(input,textarea,select){width:100%;min-width:0;border:0;background:transparent;color:var(--nb-color-ink);padding:.65rem .75rem;outline:0}.nb-input-group:has(.nb-input-group__control>:where(input,textarea,select):focus-visible){outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-number-input{display:grid;grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;height:2.75rem;overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper)}.nb-number-input__input{width:100%;min-width:0;border:0;border-right:var(--nb-border-width) solid var(--nb-color-ink);border-left:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-paper);color:var(--nb-color-ink);padding:0 .7rem;text-align:center;outline:0}.nb-number-input__button{border:0;background:var(--nb-color-primary);color:var(--nb-color-ink);font-family:var(--nb-font-display);font-size:1.25rem;font-weight:900;cursor:pointer}.nb-number-input__button:disabled{cursor:not-allowed;opacity:.45}.nb-number-input:has(.nb-number-input__input:focus-visible){outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-number-input:has(.nb-number-input__input:disabled){opacity:.55}.nb-slider__header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.nb-slider__value{min-width:2.5rem;border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-secondary);padding:.1rem .4rem;font-family:var(--nb-font-mono);font-size:.8rem;font-weight:800;text-align:center}.nb-slider{position:relative;display:flex;width:100%;height:2rem;align-items:center;touch-action:none;-webkit-user-select:none;user-select:none}.nb-slider__track{position:relative;width:100%;height:.75rem;border-radius:var(--nb-radius-sm);overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-paper)}.nb-slider__range{position:absolute;height:100%;background:var(--nb-color-primary)}.nb-slider__thumb{display:block;width:1.2rem;height:1.2rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:100%;background:var(--nb-color-accent);cursor:grab}.nb-slider__thumb:active{cursor:grabbing;transform:translate(2px,2px)}.nb-slider__thumb:focus-visible{outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-slider[data-disabled]{opacity:.55}.nb-slider[data-disabled] .nb-slider__thumb{cursor:not-allowed}.nb-toggle-group{display:inline-flex;width:fit-content;max-width:100%;overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:4px 4px 0 var(--nb-shadow-color);background:var(--nb-color-paper)}.nb-toggle-group[data-orientation=vertical]{flex-direction:column}.nb-toggle-group__item{min-width:2.75rem;min-height:2.75rem;border:0;border-right:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-paper);color:var(--nb-color-ink);padding:.55rem .8rem;font-family:var(--nb-font-display);font-weight:800;cursor:pointer}.nb-toggle-group__item:last-child{border-right:0}.nb-toggle-group[data-orientation=vertical] .nb-toggle-group__item{border-right:0;border-bottom:var(--nb-border-width) solid var(--nb-color-ink)}.nb-toggle-group[data-orientation=vertical] .nb-toggle-group__item:last-child{border-bottom:0}.nb-toggle-group__item[data-state=on]{background:var(--nb-color-primary)}.nb-toggle-group__item:focus-visible{position:relative;z-index:1;outline:3px solid var(--nb-color-accent);outline-offset:-3px}.nb-toggle-group__item:disabled{cursor:not-allowed;opacity:.45}.nb-combobox__anchor{display:grid;grid-template-columns:minmax(0,1fr) 2.75rem;height:2.75rem;overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper)}.nb-combobox__input{width:100%;min-width:0;border:0;background:transparent;color:var(--nb-color-ink);padding:0 .8rem;outline:0}.nb-combobox__trigger{display:grid;place-items:center;border:0;border-left:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-primary);color:var(--nb-color-ink);cursor:pointer}.nb-combobox__trigger svg,.nb-combobox__indicator svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}.nb-combobox__anchor:has(.nb-combobox__input:focus-visible){outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-combobox__anchor:has(.nb-combobox__input:disabled){opacity:.55}.nb-combobox__content{z-index:50;width:var(--reka-combobox-trigger-width);max-height:min(24rem,var(--reka-combobox-content-available-height));overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper);color:var(--nb-color-ink)}.nb-combobox__viewport{padding:.25rem}.nb-combobox__item{position:relative;display:flex;min-height:2.25rem;align-items:center;border:2px solid transparent;border-radius:calc(var(--nb-radius-sm) - .1rem);padding:.4rem 2rem .4rem .6rem;outline:0;cursor:default;-webkit-user-select:none;user-select:none}.nb-combobox__item[data-highlighted]{border-color:var(--nb-color-ink);background:var(--nb-color-primary)}.nb-combobox__item[data-disabled]{pointer-events:none;opacity:.45}.nb-combobox__indicator{position:absolute;right:.55rem;display:grid;place-items:center}.nb-combobox__empty{padding:.7rem;font-size:.85rem;font-weight:700}.nb-alert{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:4px 4px 0 var(--nb-shadow-color);padding:.9rem 1rem}.nb-alert__content{display:grid;gap:.2rem}.nb-alert__close,.nb-dialog__close{border:0;background:transparent;color:inherit;cursor:pointer;font-size:1.5rem;font-weight:900;line-height:1}.nb-alert--info{background:var(--nb-color-info)}.nb-alert--success{background:var(--nb-color-success)}.nb-alert--danger{background:var(--nb-color-danger)}.nb-alert--warning{background:var(--nb-color-primary)}.nb-dialog-layer{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:#151515b3;padding:1rem}.nb-dialog{width:min(100%,32rem);border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius);box-shadow:8px 8px #000;background:var(--nb-color-paper);color:var(--nb-color-ink)}.nb-dialog__header,.nb-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem}.nb-dialog__header{border-bottom:var(--nb-border-width) solid var(--nb-color-ink)}.nb-dialog__header h2{margin:0;font-family:var(--nb-font-display)}.nb-dialog__body{padding:1rem}.nb-dialog__footer{border-top:var(--nb-border-width) solid var(--nb-color-ink);justify-content:flex-end}.nb-sheet__overlay{position:fixed;z-index:100;inset:0;background:#151515b3}.nb-sheet{position:fixed;z-index:101;display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-width:100vw;max-height:100dvh;border:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-paper);color:var(--nb-color-ink);box-shadow:8px 8px 0 var(--nb-shadow-color)}.nb-sheet--right,.nb-sheet--left{top:0;bottom:0;width:min(28rem,calc(100vw - 1.25rem))}.nb-sheet--right{right:0;border-radius:var(--nb-radius) 0 0 var(--nb-radius)}.nb-sheet--left{left:0;border-radius:0 var(--nb-radius) var(--nb-radius) 0}.nb-sheet--top,.nb-sheet--bottom{right:0;left:0;max-height:min(80dvh,36rem)}.nb-sheet--top{top:0;border-radius:0 0 var(--nb-radius) var(--nb-radius)}.nb-sheet--bottom{bottom:0;border-radius:var(--nb-radius) var(--nb-radius) 0 0}.nb-sheet__header,.nb-sheet__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem}.nb-sheet__header{border-bottom:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-primary)}.nb-sheet__title{margin:0;font-family:var(--nb-font-display);font-size:1.25rem;font-weight:900}.nb-sheet__description{margin:.25rem 0 0;font-size:.9rem}.nb-sheet__body{overflow:auto;padding:1rem}.nb-sheet__footer{border-top:var(--nb-border-width) solid var(--nb-color-ink)}.nb-alert-dialog__overlay{position:fixed;z-index:100;inset:0;background:#151515b3}.nb-alert-dialog{position:fixed;z-index:101;top:50%;left:50%;width:min(30rem,calc(100vw - 2rem));transform:translate(-50%,-50%);border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius);box-shadow:8px 8px 0 var(--nb-shadow-color);background:var(--nb-color-paper);color:var(--nb-color-ink);padding:1.25rem}.nb-alert-dialog__title{margin:0;font-family:var(--nb-font-display);font-size:1.35rem;font-weight:900}.nb-alert-dialog__description{margin:.55rem 0 0;line-height:1.5}.nb-alert-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.nb-alert-dialog__button{min-height:2.75rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:4px 4px 0 var(--nb-shadow-color);background:var(--nb-color-primary);color:var(--nb-color-ink);cursor:pointer;padding:.65rem .9rem;font-family:var(--nb-font-display);font-weight:800}.nb-alert-dialog__button--cancel{background:var(--nb-color-paper)}.nb-alert-dialog__button--destructive{background:var(--nb-color-danger)}.nb-tabs{display:grid;gap:.65rem}.nb-tabs__list{display:flex;gap:.3rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-muted);padding:.3rem}.nb-tabs__trigger{flex:1 1 0;min-height:2.5rem;border:2px solid transparent;border-radius:calc(var(--nb-radius-sm) - 2px);background:transparent;color:var(--nb-color-ink);cursor:pointer;padding:.55rem .9rem;font-family:var(--nb-font-display);font-weight:800}.nb-tabs__trigger.is-active{border-color:var(--nb-color-ink);box-shadow:2px 2px 0 var(--nb-shadow-color);background:var(--nb-color-primary);transform:translate(-1px,-1px)}.nb-tabs__trigger:disabled{cursor:not-allowed;opacity:.45}.nb-tabs__content{border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:5px 5px 0 var(--nb-shadow-color);background:var(--nb-color-paper);padding:1rem}.nb-tabs--vertical{grid-template-columns:minmax(9rem,.35fr) minmax(0,1fr);align-items:start}.nb-tabs--vertical .nb-tabs__list{flex-direction:column}.nb-tabs--vertical .nb-tabs__trigger{flex-basis:auto;text-align:left}@media(max-width:42rem){.nb-tabs--vertical{grid-template-columns:1fr}}.nb-tooltip{position:relative;display:inline-flex}.nb-tooltip__trigger{display:inline-flex;cursor:help}.nb-tooltip__content{position:absolute;z-index:10;bottom:calc(100% + .6rem);left:50%;width:max-content;max-width:18rem;transform:translate(-50%);border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:4px 4px 0 var(--nb-shadow-color);background:var(--nb-color-primary);color:var(--nb-color-ink);padding:.5rem .65rem;font-size:.8rem;font-weight:700}.nb-tooltip__content[hidden]{display:none}.nb-overlay-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:4px 4px 0 var(--nb-shadow-color);background:var(--nb-color-secondary);color:var(--nb-color-ink);cursor:pointer;padding:.65rem .9rem;font-family:var(--nb-font-display);font-weight:800;line-height:1}.nb-overlay-trigger:hover:not(:disabled){transform:translate(1px,1px);box-shadow:3px 3px 0 var(--nb-shadow-color)}.nb-overlay-trigger:disabled{cursor:not-allowed;opacity:.5}.nb-overlay-trigger__icon{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2.5}.nb-overlay-close{display:inline-grid;place-items:center;width:2rem;height:2rem;flex:0 0 auto;border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-accent);color:var(--nb-color-ink);cursor:pointer;font-size:1.25rem;font-weight:900;line-height:1}.nb-popover,.nb-dropdown-menu{z-index:110;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:6px 6px 0 var(--nb-shadow-color);background:var(--nb-color-paper);color:var(--nb-color-ink)}.nb-popover{width:min(20rem,calc(100vw - 2rem))}.nb-popover__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:var(--nb-border-width) solid var(--nb-color-ink);padding:.75rem}.nb-popover__header h2{margin:0;font-family:var(--nb-font-display);font-size:1rem}.nb-popover__body{padding:1rem}.nb-dropdown-menu{min-width:12rem;padding:.35rem}.nb-dropdown-menu__item{display:flex;min-height:2.4rem;align-items:center;border:2px solid transparent;border-radius:calc(var(--nb-radius-sm) - 1px);cursor:pointer;padding:.45rem .65rem;font-weight:750;outline:none;-webkit-user-select:none;user-select:none}.nb-dropdown-menu__item[data-highlighted]{border-color:var(--nb-color-ink);background:var(--nb-color-primary)}.nb-dropdown-menu__item[data-disabled]{cursor:not-allowed;opacity:.45}.nb-dropdown-menu__item--destructive{color:#a50018}.nb-dropdown-menu__separator{height:2px;margin:.3rem -.35rem;background:var(--nb-color-ink)}.nb-context-menu{z-index:110;min-width:13rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:6px 6px 0 var(--nb-shadow-color);background:var(--nb-color-paper);color:var(--nb-color-ink);padding:.35rem}.nb-context-menu__item{display:flex;min-height:2.4rem;align-items:center;gap:.5rem;border:2px solid transparent;border-radius:calc(var(--nb-radius-sm) - 1px);cursor:pointer;padding:.45rem .65rem;font-weight:750;outline:none;-webkit-user-select:none;user-select:none}.nb-context-menu__item[data-highlighted]{border-color:var(--nb-color-ink);background:var(--nb-color-primary)}.nb-context-menu__item[data-disabled]{cursor:not-allowed;opacity:.45}.nb-context-menu__item--choice{padding-left:.4rem}.nb-context-menu__item--destructive{color:#a50018}.nb-context-menu__indicator{display:inline-grid;width:1.2rem;place-items:center;font-weight:900}.nb-context-menu__label{padding:.45rem .65rem .25rem;font-family:var(--nb-font-display);font-size:.75rem;font-weight:900;text-transform:uppercase}.nb-context-menu__shortcut{margin-left:auto;color:var(--nb-color-ink);font-size:.75rem;font-weight:800;opacity:.65}.nb-context-menu__separator{height:2px;margin:.3rem -.35rem;background:var(--nb-color-ink)}.nb-hover-card{z-index:110;width:min(20rem,calc(100vw - 2rem));border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:6px 6px 0 var(--nb-shadow-color);background:var(--nb-color-primary);color:var(--nb-color-ink);padding:1rem}.nb-command{overflow:hidden;width:min(34rem,100%);border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius);box-shadow:6px 6px 0 var(--nb-shadow-color);background:var(--nb-color-paper);color:var(--nb-color-ink)}.nb-command__search{display:flex;align-items:center;gap:.65rem;border-bottom:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-primary);padding:0 .85rem}.nb-command__search svg{width:1.2rem;height:1.2rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2}.nb-command__input{width:100%;min-height:3.25rem;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-weight:750}.nb-command__content{position:relative;max-height:min(22rem,50dvh)}.nb-command__viewport{max-height:inherit;overflow:auto;padding:.4rem}.nb-command__group+.nb-command__group{border-top:2px solid var(--nb-color-ink);margin-top:.35rem;padding-top:.35rem}.nb-command__group-label{padding:.35rem .65rem .2rem;font-family:var(--nb-font-display);font-size:.72rem;font-weight:900;text-transform:uppercase}.nb-command__item{display:flex;min-height:2.6rem;align-items:center;gap:.75rem;border:2px solid transparent;border-radius:var(--nb-radius-sm);cursor:pointer;padding:.5rem .65rem;font-weight:750;outline:none}.nb-command__item[data-highlighted]{border-color:var(--nb-color-ink);background:var(--nb-color-secondary)}.nb-command__item[data-disabled]{cursor:not-allowed;opacity:.45}.nb-command__shortcut{margin-left:auto;font-family:var(--nb-font-display);font-size:.75rem;opacity:.65}.nb-command__empty{padding:1.5rem;text-align:center;font-weight:750}.nb-command-dialog__overlay{position:fixed;z-index:100;inset:0;background:#151515b3}.nb-command-dialog{position:fixed;z-index:101;top:14vh;left:50%;width:min(34rem,calc(100vw - 2rem));transform:translate(-50%);color:var(--nb-color-ink)}.nb-command-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-bottom:0;border-radius:var(--nb-radius) var(--nb-radius) 0 0;background:var(--nb-color-accent);padding:.7rem .85rem}.nb-command-dialog__title{margin:0;font-family:var(--nb-font-display);font-size:1rem;font-weight:900}.nb-command-dialog .nb-command{width:100%;border-radius:0 0 var(--nb-radius) var(--nb-radius)}.nb-navigation-menu{position:relative;z-index:20;width:max-content;max-width:100%}.nb-navigation-menu__list{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.nb-navigation-menu__item{position:relative}.nb-navigation-menu__trigger,.nb-navigation-menu__link{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;gap:.45rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:4px 4px 0 var(--nb-shadow-color);background:var(--nb-color-paper);color:var(--nb-color-ink);cursor:pointer;padding:.6rem .85rem;font-family:var(--nb-font-display);font-weight:850;line-height:1;text-decoration:none}.nb-navigation-menu__trigger svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2.5;transition:transform .16s ease}.nb-navigation-menu__trigger[data-state=open]{background:var(--nb-color-primary)}.nb-navigation-menu__trigger[data-state=open] svg{transform:rotate(180deg)}.nb-navigation-menu__link[data-active]{background:var(--nb-color-secondary)}.nb-navigation-menu__content{position:absolute;top:calc(100% + .65rem);left:0;display:grid;width:min(24rem,calc(100vw - 2rem));gap:.35rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:6px 6px 0 var(--nb-shadow-color);background:var(--nb-color-paper);padding:.45rem}.nb-navigation-menu__link--panel{display:grid;min-height:auto;justify-content:stretch;gap:.2rem;box-shadow:none;text-align:left}.nb-navigation-menu__link--panel span{font-family:var(--nb-font-body);font-size:.82rem;font-weight:600;line-height:1.35}.nb-navigation-menu__link:hover,.nb-navigation-menu__link:focus-visible,.nb-navigation-menu__trigger:hover,.nb-navigation-menu__trigger:focus-visible{background:var(--nb-color-primary)}@media(max-width:36rem){.nb-navigation-menu,.nb-navigation-menu__list{width:100%}.nb-navigation-menu__item{flex:1 1 auto}.nb-navigation-menu__trigger,.nb-navigation-menu__link:not(.nb-navigation-menu__link--panel){width:100%}.nb-navigation-menu__content{right:0;left:auto}}.nb-toast-viewport{position:fixed;z-index:120;right:1rem;bottom:1rem;display:grid;width:min(24rem,calc(100vw - 2rem));margin:0;padding:0;list-style:none;outline:none}.nb-toast{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:6px 6px 0 var(--nb-shadow-color);padding:.9rem 1rem}.nb-toast--info{background:var(--nb-color-info)}.nb-toast--success{background:var(--nb-color-success)}.nb-toast--warning{background:var(--nb-color-primary)}.nb-toast--danger{background:var(--nb-color-danger)}.nb-toast__content{display:grid;gap:.15rem}.nb-toast__title{font-family:var(--nb-font-display);font-weight:900}.nb-toast__description{font-size:.9rem}.nb-accordion{display:grid;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:5px 5px 0 var(--nb-shadow-color);overflow:hidden;background:var(--nb-color-paper)}.nb-accordion__item+.nb-accordion__item{border-top:var(--nb-border-width) solid var(--nb-color-ink)}.nb-accordion__header{margin:0}.nb-accordion__trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;border:0;background:var(--nb-color-secondary);color:var(--nb-color-ink);cursor:pointer;padding:.9rem 1rem;font-family:var(--nb-font-display);font-weight:900;text-align:left}.nb-accordion__trigger:hover{background:var(--nb-color-primary)}.nb-accordion__trigger:disabled{cursor:not-allowed;opacity:.5}.nb-accordion__icon{width:1rem;height:1rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2.5;transition:transform .15s ease}.nb-accordion__trigger[data-state=open] .nb-accordion__icon{transform:rotate(180deg)}.nb-accordion__content{overflow:hidden}.nb-accordion__content[data-state=open]{animation:nb-accordion-open .18s ease-out}.nb-accordion__content[data-state=closed]{animation:nb-accordion-close .16s ease-in}.nb-accordion__body{border-top:2px solid var(--nb-color-ink);padding:1rem}.nb-collapsible{overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:5px 5px 0 var(--nb-shadow-color);background:var(--nb-color-paper)}.nb-collapsible__trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;border:0;background:var(--nb-color-accent);color:var(--nb-color-ink);cursor:pointer;padding:.9rem 1rem;font-family:var(--nb-font-display);font-weight:900;text-align:left}.nb-collapsible__trigger:hover{background:var(--nb-color-primary)}.nb-collapsible__trigger:disabled{cursor:not-allowed;opacity:.55}.nb-collapsible__icon{width:1rem;height:1rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2.5;transition:transform .15s ease}.nb-collapsible__trigger[data-state=open] .nb-collapsible__icon{transform:rotate(180deg)}.nb-collapsible__content{overflow:hidden}.nb-collapsible__content[data-state=open]{animation:nb-collapsible-open .18s ease-out}.nb-collapsible__content[data-state=closed]{animation:nb-collapsible-close .16s ease-in}.nb-collapsible__body{border-top:2px solid var(--nb-color-ink);padding:1rem}.nb-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;padding:0;list-style:none}.nb-breadcrumbs li{display:inline-flex;align-items:center;gap:.35rem}.nb-breadcrumbs a{color:inherit;font-weight:750;text-decoration-thickness:2px;text-underline-offset:.2em}.nb-breadcrumbs [aria-current=page]{font-family:var(--nb-font-display);font-weight:900}.nb-breadcrumbs__separator{width:.9rem;height:.9rem;fill:none;stroke:currentColor;stroke-width:2.5}.nb-pagination,.nb-pagination__list{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.nb-pagination__button{display:inline-grid;min-width:2.5rem;min-height:2.5rem;place-items:center;border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:2px 2px 0 var(--nb-shadow-color);background:var(--nb-color-paper);color:var(--nb-color-ink);cursor:pointer;font-family:var(--nb-font-display);font-weight:900}.nb-pagination__button svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2.5}.nb-pagination__button[aria-current=page]{background:var(--nb-color-primary);transform:translate(1px,1px);box-shadow:1px 1px 0 var(--nb-shadow-color)}.nb-pagination__button:disabled{cursor:not-allowed;opacity:.4;box-shadow:none}.nb-pagination__ellipsis{min-width:1.5rem;text-align:center;font-weight:900}.nb-avatar{display:inline-grid;place-items:center;overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:50%;box-shadow:3px 3px 0 var(--nb-shadow-color);font-family:var(--nb-font-display);font-weight:900}.nb-avatar--sm{width:2rem;height:2rem;font-size:.7rem}.nb-avatar--md{width:3rem;height:3rem;font-size:.9rem}.nb-avatar--lg{width:4rem;height:4rem;font-size:1.15rem}.nb-avatar--primary{background:var(--nb-color-primary)}.nb-avatar--secondary{background:var(--nb-color-secondary)}.nb-avatar--accent{background:var(--nb-color-accent)}.nb-avatar__image{width:100%;height:100%;object-fit:cover}.nb-progress-wrap{display:grid;gap:.4rem}.nb-progress__header{display:flex;justify-content:space-between;gap:1rem;font-family:var(--nb-font-display);font-weight:850}.nb-progress{height:1.25rem;overflow:hidden;border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-muted)}.nb-progress__indicator{width:100%;height:100%;background:var(--nb-color-accent);transition:transform .18s ease}.nb-progress__indicator[data-state=indeterminate]{background:repeating-linear-gradient(135deg,var(--nb-color-accent) 0 .75rem,var(--nb-color-primary) .75rem 1.5rem);background-size:2.125rem 100%;animation:nb-progress-stripes .7s linear infinite}.nb-skeleton{border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:linear-gradient(110deg,var(--nb-color-muted) 25%,var(--nb-color-paper) 45%,var(--nb-color-muted) 65%);background-size:250% 100%;animation:nb-skeleton-shimmer 1.4s linear infinite}.nb-skeleton--rounded{border-radius:999px}@keyframes nb-accordion-open{0%{height:0;opacity:0}to{height:var(--reka-accordion-content-height);opacity:1}}@keyframes nb-accordion-close{0%{height:var(--reka-accordion-content-height);opacity:1}to{height:0;opacity:0}}@keyframes nb-collapsible-open{0%{height:0;opacity:0}to{height:var(--reka-collapsible-content-height);opacity:1}}@keyframes nb-collapsible-close{0%{height:var(--reka-collapsible-content-height);opacity:1}to{height:0;opacity:0}}@keyframes nb-progress-stripes{to{background-position-x:2.125rem}}@keyframes nb-skeleton-shimmer{to{background-position-x:-250%}}@media(prefers-reduced-motion:reduce){.nb-accordion__content,.nb-accordion__icon,.nb-collapsible__content,.nb-collapsible__icon,.nb-progress__indicator,.nb-skeleton{animation:none;transition:none}}.nb-table-wrap{width:100%;overflow-x:auto;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:5px 5px 0 var(--nb-shadow-color)}.nb-table{width:100%;border-collapse:collapse;background:var(--nb-color-paper);color:var(--nb-color-ink)}.nb-table caption{border-bottom:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-primary);padding:.8rem 1rem;font-family:var(--nb-font-display);font-weight:900;text-align:left}.nb-table th,.nb-table td{padding:.75rem 1rem;border-bottom:2px solid var(--nb-color-ink);text-align:left}.nb-table th{background:var(--nb-color-secondary);font-family:var(--nb-font-display);font-weight:900}.nb-table tr:last-child td{border-bottom:0}.nb-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--nb-color-muted) 50%,transparent)}.nb-empty-state{display:grid;justify-items:center;gap:.6rem;border:var(--nb-border-width) dashed var(--nb-color-ink);border-radius:var(--nb-radius);background:var(--nb-color-paper);padding:2.5rem 1.5rem;text-align:center}.nb-empty-state__icon{display:grid;place-items:center;width:4rem;height:4rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:50%;background:var(--nb-color-primary);font-size:2rem}.nb-empty-state h2{margin:0;font-family:var(--nb-font-display)}.nb-empty-state p{max-width:32rem;margin:0}.nb-empty-state__action{margin-top:.5rem}.nb-spinner-wrap{display:inline-flex}.nb-spinner{display:inline-block;border:3px solid var(--nb-color-muted);border-top-color:var(--nb-color-accent);border-right-color:var(--nb-color-ink);border-radius:50%;animation:nb-spin .7s linear infinite}.nb-spinner--sm{width:1rem;height:1rem;border-width:2px}.nb-spinner--md{width:1.5rem;height:1.5rem}.nb-spinner--lg{width:2.25rem;height:2.25rem;border-width:4px}.nb-separator{flex:0 0 auto;background:var(--nb-color-ink)}.nb-separator[data-orientation=horizontal]{width:100%;height:3px}.nb-separator[data-orientation=vertical]{width:3px;min-height:1.5rem;align-self:stretch}.nb-aspect-ratio{overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:5px 5px 0 var(--nb-shadow-color);background:var(--nb-color-secondary)}.nb-aspect-ratio>*{width:100%;height:100%;object-fit:cover}.nb-scroll-area{overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper)}.nb-scroll-area__viewport{width:100%;height:100%}.nb-scroll-area__viewport>*{padding:1rem}.nb-scroll-area__scrollbar{display:flex;width:.8rem;touch-action:none;-webkit-user-select:none;user-select:none;border-left:2px solid var(--nb-color-ink);background:var(--nb-color-muted);padding:2px}.nb-scroll-area__thumb{position:relative;flex:1;border:2px solid var(--nb-color-ink);border-radius:999px;background:var(--nb-color-accent)}.nb-badge{display:inline-flex;align-items:center;border:2px solid var(--nb-color-ink);border-radius:999px;color:var(--nb-color-ink);font-family:var(--nb-font-mono);font-weight:700;line-height:1}.nb-badge--sm{padding:.25rem .5rem;font-size:.7rem}.nb-badge--md{padding:.35rem .65rem;font-size:.8rem}.nb-badge--paper{background:var(--nb-color-paper)}.nb-badge--primary{background:var(--nb-color-primary)}.nb-badge--secondary{background:var(--nb-color-secondary)}.nb-badge--accent{background:var(--nb-color-accent)}.nb-badge--danger{background:var(--nb-color-danger)}.nb-badge--ink{background:var(--nb-color-ink);color:var(--nb-color-paper)}.nb-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:var(--nb-shadow-x) var(--nb-shadow-y) 0 var(--nb-shadow-color);color:var(--nb-color-ink);cursor:pointer;font-family:var(--nb-font-display);font-weight:800;line-height:1;transition:transform .12s ease,box-shadow .12s ease}.nb-button:hover:not(:disabled){transform:translate(2px,2px);box-shadow:4px 4px 0 var(--nb-shadow-color)}.nb-button:active:not(:disabled){transform:translate(var(--nb-shadow-x),var(--nb-shadow-y));box-shadow:0 0 0 var(--nb-shadow-color)}.nb-button:disabled{cursor:not-allowed;opacity:.55}.nb-button--sm{min-height:2rem;padding:.5rem .75rem;font-size:.8rem}.nb-button--md{height:2.75rem;padding:0 1rem;font-size:.95rem}.nb-button--lg{min-height:3.25rem;padding:.9rem 1.25rem;font-size:1.05rem}.nb-button--primary{background:var(--nb-color-primary)}.nb-button--secondary{background:var(--nb-color-secondary)}.nb-button--accent{background:var(--nb-color-accent)}.nb-button--danger{background:var(--nb-color-danger)}.nb-button--ghost{background:transparent}.nb-button__loader{animation:nb-spin .7s linear infinite}@keyframes nb-spin{to{transform:rotate(360deg)}}.nb-button-group{display:inline-flex;width:fit-content;border-radius:var(--nb-radius-sm);box-shadow:var(--nb-shadow-x) var(--nb-shadow-y) 0 var(--nb-shadow-color)}.nb-button-group[data-orientation=vertical]{flex-direction:column}.nb-button-group>.nb-button{position:relative;box-shadow:none;border-radius:0}.nb-button-group[data-orientation=horizontal]>.nb-button+.nb-button{margin-left:calc(var(--nb-border-width) * -1)}.nb-button-group[data-orientation=vertical]>.nb-button+.nb-button{margin-top:calc(var(--nb-border-width) * -1)}.nb-button-group[data-orientation=horizontal]>.nb-button:first-child{border-radius:var(--nb-radius-sm) 0 0 var(--nb-radius-sm)}.nb-button-group[data-orientation=horizontal]>.nb-button:last-child{border-radius:0 var(--nb-radius-sm) var(--nb-radius-sm) 0}.nb-button-group[data-orientation=vertical]>.nb-button:first-child{border-radius:var(--nb-radius-sm) var(--nb-radius-sm) 0 0}.nb-button-group[data-orientation=vertical]>.nb-button:last-child{border-radius:0 0 var(--nb-radius-sm) var(--nb-radius-sm)}.nb-button-group>.nb-button:hover:not(:disabled),.nb-button-group>.nb-button:active:not(:disabled){z-index:1;transform:none;box-shadow:inset 3px 3px color-mix(in srgb,var(--nb-color-ink) 18%,transparent)}.nb-button-group>.nb-button:focus-visible{z-index:2}.nb-card{border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius);box-shadow:var(--nb-shadow-x) var(--nb-shadow-y) 0 var(--nb-shadow-color);overflow:hidden}.nb-card--paper{background:var(--nb-color-paper)}.nb-card--primary{background:var(--nb-color-primary)}.nb-card--secondary{background:var(--nb-color-secondary)}.nb-card--ink{background:var(--nb-color-ink);color:var(--nb-color-paper)}.nb-card--interactive{transition:transform .12s ease,box-shadow .12s ease}.nb-card--interactive:hover{transform:translate(2px,2px);box-shadow:4px 4px 0 var(--nb-shadow-color)}.nb-card__header,.nb-card__footer{padding:.9rem 1rem;border-bottom:var(--nb-border-width) solid currentColor}.nb-card__footer{border-bottom:0;border-top:var(--nb-border-width) solid currentColor}.nb-card__body{padding:1rem}.nb-kbd{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--nb-color-ink);border-radius:.25rem;box-shadow:2px 2px 0 var(--nb-shadow-color);background:var(--nb-color-paper);color:var(--nb-color-ink);font-family:var(--nb-font-mono);font-weight:800;line-height:1;white-space:nowrap}.nb-kbd--sm{min-width:1.35rem;min-height:1.35rem;padding:.2rem .3rem;font-size:.7rem}.nb-kbd--md{min-width:1.7rem;min-height:1.7rem;padding:.3rem .45rem;font-size:.8rem}.nb-link{--nb-link-color: var(--nb-color-primary);color:var(--nb-color-ink);font-family:var(--nb-font-display);font-weight:850;text-decoration-color:var(--nb-link-color);text-decoration-line:underline;text-decoration-thickness:.22em;text-underline-offset:.16em;transition:background-size .14s ease,color .14s ease;background-image:linear-gradient(var(--nb-link-color),var(--nb-link-color));background-position:0 100%;background-repeat:no-repeat;background-size:100% 0}.nb-link:hover{background-size:100% .72em}.nb-link:focus-visible{outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-link--ink{--nb-link-color: var(--nb-color-muted)}.nb-link--primary{--nb-link-color: var(--nb-color-primary)}.nb-link--secondary{--nb-link-color: var(--nb-color-secondary)}.nb-link--accent{--nb-link-color: var(--nb-color-accent)}.nb-link--danger{--nb-link-color: var(--nb-color-danger)}.nb-marker{margin-inline:.08em;padding:.05em .22em;box-decoration-break:clone;-webkit-box-decoration-break:clone;color:var(--nb-color-ink);font-weight:750}.nb-marker--primary{background:var(--nb-color-primary)}.nb-marker--secondary{background:var(--nb-color-secondary)}.nb-marker--accent{background:var(--nb-color-accent)}.nb-marker--danger{background:var(--nb-color-danger)}.nb-meter{display:grid;gap:.4rem}.nb-meter__header{display:flex;justify-content:space-between;gap:1rem;font-family:var(--nb-font-display);font-weight:850}.nb-meter meter{display:block;width:100%;height:1.5rem;appearance:none;border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-muted)}.nb-meter meter::-webkit-meter-bar{border:0;border-radius:0;background:var(--nb-color-muted)}.nb-meter meter::-webkit-meter-optimum-value{background:var(--nb-color-secondary)}.nb-meter meter::-webkit-meter-suboptimum-value{background:var(--nb-color-primary)}.nb-meter meter::-webkit-meter-even-less-good-value{background:var(--nb-color-danger)}.nb-meter meter::-moz-meter-bar{background:var(--nb-color-secondary)}.nb-stepper{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem}.nb-stepper[data-orientation=vertical]{flex-direction:column}.nb-stepper__item{min-width:0;flex:1 1 9rem}.nb-stepper[data-orientation=vertical] .nb-stepper__item{width:100%}.nb-stepper__trigger{display:flex;width:100%;min-height:4.5rem;align-items:center;gap:.7rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:4px 4px 0 var(--nb-shadow-color);background:var(--nb-color-paper);color:var(--nb-color-ink);cursor:pointer;padding:.65rem .8rem;text-align:left}.nb-stepper__trigger[data-state=active]{background:var(--nb-color-primary)}.nb-stepper__trigger[data-state=completed]{background:var(--nb-color-secondary)}.nb-stepper__trigger:disabled{cursor:not-allowed;opacity:.5}.nb-stepper__indicator{display:grid;width:2.1rem;height:2.1rem;flex:0 0 auto;place-items:center;border:2px solid var(--nb-color-ink);border-radius:50%;background:var(--nb-color-accent);font-family:var(--nb-font-display);font-weight:900}.nb-stepper__copy{display:grid;gap:.1rem;min-width:0}.nb-stepper__title{font-family:var(--nb-font-display);font-weight:900}.nb-stepper__description{font-size:.8rem;line-height:1.25}@media(max-width:520px){.nb-stepper:not([data-orientation=vertical]){flex-wrap:nowrap;overflow-x:auto;padding-bottom:.5rem}.nb-stepper:not([data-orientation=vertical]) .nb-stepper__item{flex:0 0 9rem}}.nb-timeline{display:grid;gap:0;margin:0;padding:0;list-style:none}.nb-timeline__item{position:relative;margin:0 0 0 1rem;border-left:3px solid var(--nb-color-ink);padding:0 0 1.5rem 1.5rem}.nb-timeline__item:last-child{border-left-color:transparent;padding-bottom:0}.nb-timeline__item:before{position:absolute;top:.15rem;left:-.65rem;width:1.1rem;height:1.1rem;border:2px solid var(--nb-color-ink);border-radius:50%;background:var(--nb-color-accent);content:""}.nb-timeline__item:nth-child(3n+2):before{background:var(--nb-color-secondary)}.nb-timeline__item:nth-child(3n):before{background:var(--nb-color-primary)}.nb-timeline__card{border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:3px 3px 0 var(--nb-shadow-color);background:var(--nb-color-paper);padding:.75rem 1rem}.nb-timeline__heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem}.nb-timeline__heading strong{font-family:var(--nb-font-display);font-weight:900}.nb-timeline__heading time{font-size:.8rem;font-weight:700}.nb-timeline__body{margin-top:.35rem}.nb-toggle{display:inline-flex;align-items:center;justify-content:center;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:4px 4px 0 var(--nb-shadow-color);color:var(--nb-color-ink);cursor:pointer;font-family:var(--nb-font-display);font-weight:800;line-height:1;transition:transform .12s ease,box-shadow .12s ease}.nb-toggle:hover:not(:disabled){transform:translate(1px,1px);box-shadow:3px 3px 0 var(--nb-shadow-color)}.nb-toggle[data-state=on]{transform:translate(4px,4px);box-shadow:none}.nb-toggle:disabled{cursor:not-allowed;opacity:.55}.nb-toggle--sm{min-height:2rem;padding:.45rem .65rem;font-size:.8rem}.nb-toggle--md{min-height:2.75rem;padding:.65rem .9rem;font-size:.95rem}.nb-toggle--lg{min-height:3.25rem;padding:.8rem 1.1rem;font-size:1.05rem}.nb-toggle--primary{background:var(--nb-color-primary)}.nb-toggle--secondary{background:var(--nb-color-secondary)}.nb-toggle--accent{background:var(--nb-color-accent)}.nb-toggle--danger{background:var(--nb-color-danger)}
1
+ :root{--nb-color-ink: #151515;--nb-color-paper: #fff8e7;--nb-color-muted: #ded5c4;--nb-color-primary: #ffdf3f;--nb-color-secondary: #70e1c3;--nb-color-accent: #ff7b71;--nb-color-danger: #ff4d5a;--nb-color-info: #8dc8ff;--nb-color-success: #9be15d;--nb-border-width: 3px;--nb-radius: .75rem;--nb-radius-sm: .35rem;--nb-shadow-x: 6px;--nb-shadow-y: 6px;--nb-shadow-color: var(--nb-color-ink);--nb-font-display: ui-rounded, "Arial Rounded MT Bold", system-ui, sans-serif;--nb-font-body: system-ui, sans-serif;--nb-font-mono: ui-monospace, SFMono-Regular, Menlo, monospace}.nb-theme-dark{--nb-color-ink: #fff8e7;--nb-color-paper: #202020;--nb-color-muted: #454545;--nb-shadow-color: #050505}:where(.nb-root){color:var(--nb-color-ink);font-family:var(--nb-font-body)}:where(.nb-root *,.nb-root *:before,.nb-root *:after){box-sizing:border-box}:where(.nb-root button,.nb-root input,.nb-root textarea,.nb-root select){font:inherit}:where(.nb-root button,.nb-root [role=button],.nb-root input,.nb-root textarea,.nb-root select):focus-visible{outline:3px solid var(--nb-color-accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){:where(.nb-root *,.nb-root *:before,.nb-root *:after){animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.nb-field{display:grid;align-items:start;grid-auto-rows:max-content;gap:.4rem}.nb-field__label,.nb-label,.nb-checkbox__label{font-family:var(--nb-font-display);font-weight:800}.nb-native-select{position:relative;display:block}.nb-native-select__control{appearance:none;padding-right:2.75rem;background:var(--nb-color-primary);cursor:pointer}.nb-native-select__control:disabled{cursor:not-allowed}.nb-native-select svg{position:absolute;top:50%;right:.85rem;width:1rem;height:1rem;transform:translateY(-50%);fill:none;stroke:var(--nb-color-ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.nb-field__control{display:block;width:100%;height:2.75rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper);color:var(--nb-color-ink);padding:0 .8rem}.nb-select__trigger{display:flex;width:100%;height:2.75rem;align-items:center;justify-content:space-between;gap:.75rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-primary);color:var(--nb-color-ink);padding:0 .8rem;text-align:left}.nb-select__trigger:disabled{cursor:not-allowed;opacity:.55}.nb-select__icon,.nb-select__icon svg,.nb-select__scroll-button svg,.nb-select__indicator svg{width:1rem;height:1rem;flex:0 0 auto}.nb-select__icon svg,.nb-select__scroll-button svg,.nb-select__indicator svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}.nb-select__content{z-index:50;width:var(--reka-select-trigger-width);max-height:min(24rem,var(--reka-select-content-available-height));overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper);color:var(--nb-color-ink)}.nb-select__viewport{padding:.25rem}.nb-select__item{position:relative;display:flex;min-height:2.25rem;align-items:center;border:2px solid transparent;border-radius:calc(var(--nb-radius-sm) - .1rem);padding:.4rem 2rem .4rem .6rem;outline:0;cursor:default;-webkit-user-select:none;user-select:none}.nb-select__item[data-highlighted]{border-color:var(--nb-color-ink);background:var(--nb-color-primary)}.nb-select__item[data-disabled]{pointer-events:none;opacity:.45}.nb-select__indicator{position:absolute;right:.55rem;display:grid;place-items:center}.nb-select__scroll-button{display:flex;width:100%;height:1.75rem;align-items:center;justify-content:center;border:0;background:var(--nb-color-paper);color:var(--nb-color-ink)}.nb-field__control[type=file]{height:2.75rem;padding:0;overflow:hidden;line-height:calc(2.75rem - (2 * var(--nb-border-width)))}.nb-field__control[type=file]::file-selector-button{height:100%;margin:0 .75rem 0 0;border:0;border-right:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-primary);color:var(--nb-color-ink);padding:0 .8rem;font:inherit;font-family:var(--nb-font-display);font-weight:800;line-height:normal;vertical-align:top;cursor:pointer}.nb-field__control--textarea{height:auto;min-height:7rem;padding:.7rem .8rem;resize:vertical}.nb-field__control:disabled{cursor:not-allowed;opacity:.5}.nb-field__hint,.nb-field__error{font-size:.8rem}.nb-field__hint{color:color-mix(in srgb,var(--nb-color-ink) 65%,transparent)}.nb-field__error{color:color-mix(in srgb,var(--nb-color-danger) 60%,var(--nb-color-ink));font-weight:700}.nb-tags-input{display:flex;min-height:2.75rem;flex-wrap:wrap;align-items:center;gap:.4rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper);padding:.3rem .45rem}.nb-tags-input[data-disabled]{opacity:.55}.nb-tags-input__tag{display:inline-flex;align-items:center;gap:.25rem;border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-secondary);padding:.1rem .2rem .1rem .45rem;font-weight:750}.nb-tags-input__remove{display:grid;width:1.35rem;height:1.35rem;place-items:center;border:0;background:transparent;color:inherit;cursor:pointer;font-size:1.1rem;line-height:1}.nb-tags-input__remove:hover{background:var(--nb-color-primary)}.nb-tags-input__input{min-width:6rem;flex:1;border:0;background:transparent;color:inherit;padding:.2rem .35rem;outline:0}.nb-tags-input:focus-within{outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-pin-input{display:flex;max-width:100%;flex-wrap:wrap;gap:.45rem}.nb-pin-input__digit{width:clamp(2.2rem,8.5vw,2.75rem);height:2.75rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper);color:var(--nb-color-ink);text-align:center;font-family:var(--nb-font-display);font-size:1.25rem;font-weight:900}.nb-pin-input__digit:disabled{opacity:.55}.nb-rating{min-width:0;margin:0;border:0;padding:0}.nb-rating__options{display:flex;flex-wrap:wrap;gap:.45rem}.nb-rating__option{position:relative;display:grid;width:2.75rem;height:2.75rem;place-items:center;border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:2px 2px 0 var(--nb-shadow-color);background:var(--nb-color-paper);cursor:pointer}.nb-rating__option.is-active{background:var(--nb-color-primary)}.nb-rating__option svg{width:1.5rem;height:1.5rem;fill:var(--nb-color-paper);stroke:var(--nb-color-ink);stroke-linejoin:round;stroke-width:1.5}.nb-rating__option.is-active svg{fill:var(--nb-color-accent)}.nb-rating__input{position:absolute;width:1px;height:1px;opacity:0}.nb-rating__input:focus-visible+svg{outline:3px solid var(--nb-color-accent);outline-offset:5px}.nb-rating:disabled .nb-rating__option{cursor:not-allowed;opacity:.55;box-shadow:none}.nb-checkbox{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer}.nb-checkbox__input{position:absolute;opacity:0;pointer-events:none}.nb-checkbox__box{display:grid;width:1.5rem;height:1.5rem;place-items:center;border:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-paper);font-weight:900;line-height:1}.nb-checkbox__input:not(:checked)+.nb-checkbox__box{color:transparent}.nb-checkbox__input:checked+.nb-checkbox__box{background:var(--nb-color-primary)}.nb-checkbox__input:focus-visible+.nb-checkbox__box{outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-checkbox__input:disabled+.nb-checkbox__box,.nb-checkbox__input:disabled~.nb-checkbox__label{opacity:.55}.nb-radio-group,.nb-fieldset{min-width:0;margin:0;border:0;padding:0}.nb-radio-group__legend,.nb-fieldset__legend{padding:0;font-family:var(--nb-font-display);border-radius:var(--nb-radius-sm);font-size:1rem;font-weight:900}.nb-radio-group__hint{margin:.3rem 0 0}.nb-radio-group__options{display:grid;gap:.55rem;margin-top:.7rem}.nb-radio{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper);cursor:pointer;padding:.75rem}.nb-radio.is-checked{box-shadow:4px 4px 0 var(--nb-shadow-color);background:var(--nb-color-primary);transform:translate(-1px,-1px)}.nb-radio__input,.nb-switch__input{position:absolute;opacity:0;pointer-events:none}.nb-radio__mark{display:grid;width:1.45rem;height:1.45rem;place-items:center;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:50%;background:var(--nb-color-paper)}.nb-radio__mark:after{width:.55rem;height:.55rem;border-radius:50%;background:var(--nb-color-ink);content:"";opacity:0}.nb-radio__input:checked+.nb-radio__mark:after{opacity:1}.nb-radio__input:focus-visible+.nb-radio__mark{outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-radio:has(.nb-radio__input:disabled){cursor:not-allowed;opacity:.5}.nb-radio__content,.nb-switch__content{display:grid;gap:.1rem}.nb-radio__label,.nb-switch__label{font-family:var(--nb-font-display);font-weight:800}.nb-radio__description,.nb-switch__description{font-size:.8rem;font-weight:500}.nb-switch{display:inline-grid;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;cursor:pointer}.nb-switch.is-disabled{cursor:not-allowed;opacity:.55}.nb-switch__track{display:flex;width:3.25rem;height:1.8rem;align-items:center;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:999px;background:var(--nb-color-muted);padding:.15rem}.nb-switch__thumb{width:1rem;height:1rem;border:2px solid var(--nb-color-ink);border-radius:50%;background:var(--nb-color-paper);transition:transform .12s ease}.nb-switch__input:checked+.nb-switch__track{background:var(--nb-color-primary)}.nb-switch__input:checked+.nb-switch__track .nb-switch__thumb{transform:translate(1.35rem)}.nb-switch__input:focus-visible+.nb-switch__track{outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-fieldset{border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:5px 5px 0 var(--nb-shadow-color);background:var(--nb-color-paper);padding:1rem}.nb-fieldset__legend{border:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-secondary);padding:.25rem .55rem;box-shadow:2px 2px 0 var(--nb-shadow-color)}.nb-fieldset__description{margin:0 0 1rem;font-size:.9rem}.nb-fieldset__content{display:grid;gap:1rem}.nb-fieldset:disabled{opacity:.55}.nb-input-group{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-height:2.75rem;overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper)}.nb-input-group__addon{display:flex;align-items:center;background:var(--nb-color-primary);padding:.65rem .75rem;font-family:var(--nb-font-display);font-weight:800}.nb-input-group__addon:first-child{border-right:var(--nb-border-width) solid var(--nb-color-ink)}.nb-input-group__addon:last-child{border-left:var(--nb-border-width) solid var(--nb-color-ink)}.nb-input-group__control{display:flex;min-width:0}.nb-input-group__control>:where(input,textarea,select){width:100%;min-width:0;border:0;background:transparent;color:var(--nb-color-ink);padding:.65rem .75rem;outline:0}.nb-input-group:has(.nb-input-group__control>:where(input,textarea,select):focus-visible){outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-number-input{display:grid;grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;height:2.75rem;overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper)}.nb-number-input__input{width:100%;min-width:0;border:0;border-right:var(--nb-border-width) solid var(--nb-color-ink);border-left:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-paper);color:var(--nb-color-ink);padding:0 .7rem;text-align:center;outline:0}.nb-number-input__button{border:0;background:var(--nb-color-primary);color:var(--nb-color-ink);font-family:var(--nb-font-display);font-size:1.25rem;font-weight:900;cursor:pointer}.nb-number-input__button:disabled{cursor:not-allowed;opacity:.45}.nb-number-input:has(.nb-number-input__input:focus-visible){outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-number-input:has(.nb-number-input__input:disabled){opacity:.55}.nb-slider__header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.nb-slider__value{min-width:2.5rem;border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-secondary);padding:.1rem .4rem;font-family:var(--nb-font-mono);font-size:.8rem;font-weight:800;text-align:center}.nb-slider{position:relative;display:flex;width:100%;height:2rem;align-items:center;touch-action:none;-webkit-user-select:none;user-select:none}.nb-slider__track{position:relative;width:100%;height:.75rem;border-radius:var(--nb-radius-sm);overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-paper)}.nb-slider__range{position:absolute;height:100%;background:var(--nb-color-primary)}.nb-slider__thumb{display:block;width:1.2rem;height:1.2rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:100%;background:var(--nb-color-accent);cursor:grab}.nb-slider__thumb:active{cursor:grabbing;transform:translate(2px,2px)}.nb-slider__thumb:focus-visible{outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-slider[data-disabled]{opacity:.55}.nb-slider[data-disabled] .nb-slider__thumb{cursor:not-allowed}.nb-toggle-group{display:inline-flex;width:fit-content;max-width:100%;overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:4px 4px 0 var(--nb-shadow-color);background:var(--nb-color-paper)}.nb-toggle-group[data-orientation=vertical]{flex-direction:column}.nb-toggle-group__item{min-width:2.75rem;min-height:2.75rem;border:0;border-right:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-paper);color:var(--nb-color-ink);padding:.55rem .8rem;font-family:var(--nb-font-display);font-weight:800;cursor:pointer}.nb-toggle-group__item:last-child{border-right:0}.nb-toggle-group[data-orientation=vertical] .nb-toggle-group__item{border-right:0;border-bottom:var(--nb-border-width) solid var(--nb-color-ink)}.nb-toggle-group[data-orientation=vertical] .nb-toggle-group__item:last-child{border-bottom:0}.nb-toggle-group__item[data-state=on]{background:var(--nb-color-primary)}.nb-toggle-group__item:focus-visible{position:relative;z-index:1;outline:3px solid var(--nb-color-accent);outline-offset:-3px}.nb-toggle-group__item:disabled{cursor:not-allowed;opacity:.45}.nb-combobox__anchor{display:grid;grid-template-columns:minmax(0,1fr) 2.75rem;height:2.75rem;overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper)}.nb-combobox__input{width:100%;min-width:0;border:0;background:transparent;color:var(--nb-color-ink);padding:0 .8rem;outline:0}.nb-combobox__trigger{display:grid;place-items:center;border:0;border-left:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-primary);color:var(--nb-color-ink);cursor:pointer}.nb-combobox__trigger svg,.nb-combobox__indicator svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}.nb-combobox__anchor:has(.nb-combobox__input:focus-visible){outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-combobox__anchor:has(.nb-combobox__input:disabled){opacity:.55}.nb-combobox__content{z-index:50;width:var(--reka-combobox-trigger-width);max-height:min(24rem,var(--reka-combobox-content-available-height));overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper);color:var(--nb-color-ink)}.nb-combobox__viewport{padding:.25rem}.nb-combobox__item{position:relative;display:flex;min-height:2.25rem;align-items:center;border:2px solid transparent;border-radius:calc(var(--nb-radius-sm) - .1rem);padding:.4rem 2rem .4rem .6rem;outline:0;cursor:default;-webkit-user-select:none;user-select:none}.nb-combobox__item[data-highlighted]{border-color:var(--nb-color-ink);background:var(--nb-color-primary)}.nb-combobox__item[data-disabled]{pointer-events:none;opacity:.45}.nb-combobox__indicator{position:absolute;right:.55rem;display:grid;place-items:center}.nb-combobox__empty{padding:.7rem;font-size:.85rem;font-weight:700}.nb-alert{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:4px 4px 0 var(--nb-shadow-color);padding:.9rem 1rem}.nb-alert__content{display:grid;gap:.2rem}.nb-alert__close,.nb-dialog__close{border:0;background:transparent;color:inherit;cursor:pointer;font-size:1.5rem;font-weight:900;line-height:1}.nb-alert--info{background:var(--nb-color-info)}.nb-alert--success{background:var(--nb-color-success)}.nb-alert--danger{background:var(--nb-color-danger)}.nb-alert--warning{background:var(--nb-color-primary)}.nb-dialog-layer{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:#151515b3;padding:1rem}.nb-dialog{width:min(100%,32rem);border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius);box-shadow:8px 8px #000;background:var(--nb-color-paper);color:var(--nb-color-ink)}.nb-dialog__header,.nb-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem}.nb-dialog__header{border-bottom:var(--nb-border-width) solid var(--nb-color-ink)}.nb-dialog__header h2{margin:0;font-family:var(--nb-font-display)}.nb-dialog__body{padding:1rem}.nb-dialog__footer{border-top:var(--nb-border-width) solid var(--nb-color-ink);justify-content:flex-end}.nb-sheet__overlay{position:fixed;z-index:100;inset:0;background:#151515b3}.nb-sheet{position:fixed;z-index:101;display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-width:100vw;max-height:100dvh;border:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-paper);color:var(--nb-color-ink);box-shadow:8px 8px 0 var(--nb-shadow-color)}.nb-sheet--right,.nb-sheet--left{top:0;bottom:0;width:min(28rem,calc(100vw - 1.25rem))}.nb-sheet--right{right:0;border-radius:var(--nb-radius) 0 0 var(--nb-radius)}.nb-sheet--left{left:0;border-radius:0 var(--nb-radius) var(--nb-radius) 0}.nb-sheet--top,.nb-sheet--bottom{right:0;left:0;max-height:min(80dvh,36rem)}.nb-sheet--top{top:0;border-radius:0 0 var(--nb-radius) var(--nb-radius)}.nb-sheet--bottom{bottom:0;border-radius:var(--nb-radius) var(--nb-radius) 0 0}.nb-sheet__header,.nb-sheet__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem}.nb-sheet__header{border-bottom:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-primary)}.nb-sheet__title{margin:0;font-family:var(--nb-font-display);font-size:1.25rem;font-weight:900}.nb-sheet__description{margin:.25rem 0 0;font-size:.9rem}.nb-sheet__body{overflow:auto;padding:1rem}.nb-sheet__footer{border-top:var(--nb-border-width) solid var(--nb-color-ink)}.nb-alert-dialog__overlay{position:fixed;z-index:100;inset:0;background:#151515b3}.nb-alert-dialog{position:fixed;z-index:101;top:50%;left:50%;width:min(30rem,calc(100vw - 2rem));transform:translate(-50%,-50%);border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius);box-shadow:8px 8px 0 var(--nb-shadow-color);background:var(--nb-color-paper);color:var(--nb-color-ink);padding:1.25rem}.nb-alert-dialog__title{margin:0;font-family:var(--nb-font-display);font-size:1.35rem;font-weight:900}.nb-alert-dialog__description{margin:.55rem 0 0;line-height:1.5}.nb-alert-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.nb-alert-dialog__button{min-height:2.75rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:4px 4px 0 var(--nb-shadow-color);background:var(--nb-color-primary);color:var(--nb-color-ink);cursor:pointer;padding:.65rem .9rem;font-family:var(--nb-font-display);font-weight:800}.nb-alert-dialog__button--cancel{background:var(--nb-color-paper)}.nb-alert-dialog__button--destructive{background:var(--nb-color-danger)}.nb-tabs{display:grid;gap:.65rem}.nb-tabs__list{display:flex;gap:.3rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-muted);padding:.3rem}.nb-tabs__trigger{flex:1 1 0;min-height:2.5rem;border:2px solid transparent;border-radius:calc(var(--nb-radius-sm) - 2px);background:transparent;color:var(--nb-color-ink);cursor:pointer;padding:.55rem .9rem;font-family:var(--nb-font-display);font-weight:800}.nb-tabs__trigger.is-active{border-color:var(--nb-color-ink);box-shadow:2px 2px 0 var(--nb-shadow-color);background:var(--nb-color-primary);transform:translate(-1px,-1px)}.nb-tabs__trigger:disabled{cursor:not-allowed;opacity:.45}.nb-tabs__content{border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:5px 5px 0 var(--nb-shadow-color);background:var(--nb-color-paper);padding:1rem}.nb-tabs--vertical{grid-template-columns:minmax(9rem,.35fr) minmax(0,1fr);align-items:start}.nb-tabs--vertical .nb-tabs__list{flex-direction:column}.nb-tabs--vertical .nb-tabs__trigger{flex-basis:auto;text-align:left}@media(max-width:42rem){.nb-tabs--vertical{grid-template-columns:1fr}}.nb-tooltip{position:relative;display:inline-flex}.nb-tooltip__trigger{display:inline-flex;cursor:help}.nb-tooltip__content{position:absolute;z-index:10;bottom:calc(100% + .6rem);left:50%;width:max-content;max-width:18rem;transform:translate(-50%);border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:4px 4px 0 var(--nb-shadow-color);background:var(--nb-color-primary);color:var(--nb-color-ink);padding:.5rem .65rem;font-size:.8rem;font-weight:700}.nb-tooltip__content[hidden]{display:none}.nb-overlay-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:4px 4px 0 var(--nb-shadow-color);background:var(--nb-color-secondary);color:var(--nb-color-ink);cursor:pointer;padding:.65rem .9rem;font-family:var(--nb-font-display);font-weight:800;line-height:1}.nb-overlay-trigger:hover:not(:disabled){transform:translate(1px,1px);box-shadow:3px 3px 0 var(--nb-shadow-color)}.nb-overlay-trigger:disabled{cursor:not-allowed;opacity:.5}.nb-overlay-trigger__icon{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2.5}.nb-overlay-close{display:inline-grid;place-items:center;width:2rem;height:2rem;flex:0 0 auto;border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-accent);color:var(--nb-color-ink);cursor:pointer;font-size:1.25rem;font-weight:900;line-height:1}.nb-popover,.nb-dropdown-menu{z-index:110;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:6px 6px 0 var(--nb-shadow-color);background:var(--nb-color-paper);color:var(--nb-color-ink)}.nb-popover{width:min(20rem,calc(100vw - 2rem))}.nb-popover__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:var(--nb-border-width) solid var(--nb-color-ink);padding:.75rem}.nb-popover__header h2{margin:0;font-family:var(--nb-font-display);font-size:1rem}.nb-popover__body{padding:1rem}.nb-dropdown-menu{min-width:12rem;padding:.35rem}.nb-dropdown-menu__item{display:flex;min-height:2.4rem;align-items:center;border:2px solid transparent;border-radius:calc(var(--nb-radius-sm) - 1px);cursor:pointer;padding:.45rem .65rem;font-weight:750;outline:none;-webkit-user-select:none;user-select:none}.nb-dropdown-menu__item[data-highlighted]{border-color:var(--nb-color-ink);background:var(--nb-color-primary)}.nb-dropdown-menu__item[data-disabled]{cursor:not-allowed;opacity:.45}.nb-dropdown-menu__item--destructive{color:#a50018}.nb-dropdown-menu__separator{height:2px;margin:.3rem -.35rem;background:var(--nb-color-ink)}.nb-context-menu{z-index:110;min-width:13rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:6px 6px 0 var(--nb-shadow-color);background:var(--nb-color-paper);color:var(--nb-color-ink);padding:.35rem}.nb-context-menu__item{display:flex;min-height:2.4rem;align-items:center;gap:.5rem;border:2px solid transparent;border-radius:calc(var(--nb-radius-sm) - 1px);cursor:pointer;padding:.45rem .65rem;font-weight:750;outline:none;-webkit-user-select:none;user-select:none}.nb-context-menu__item[data-highlighted]{border-color:var(--nb-color-ink);background:var(--nb-color-primary)}.nb-context-menu__item[data-disabled]{cursor:not-allowed;opacity:.45}.nb-context-menu__item--choice{padding-left:.4rem}.nb-context-menu__item--destructive{color:#a50018}.nb-context-menu__indicator{display:inline-grid;width:1.2rem;place-items:center;font-weight:900}.nb-context-menu__label{padding:.45rem .65rem .25rem;font-family:var(--nb-font-display);font-size:.75rem;font-weight:900;text-transform:uppercase}.nb-context-menu__shortcut{margin-left:auto;color:var(--nb-color-ink);font-size:.75rem;font-weight:800;opacity:.65}.nb-context-menu__separator{height:2px;margin:.3rem -.35rem;background:var(--nb-color-ink)}.nb-hover-card{z-index:110;width:min(20rem,calc(100vw - 2rem));border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:6px 6px 0 var(--nb-shadow-color);background:var(--nb-color-primary);color:var(--nb-color-ink);padding:1rem}.nb-command{overflow:hidden;width:min(34rem,100%);border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius);box-shadow:6px 6px 0 var(--nb-shadow-color);background:var(--nb-color-paper);color:var(--nb-color-ink)}.nb-command__search{display:flex;align-items:center;gap:.65rem;border-bottom:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-primary);padding:0 .85rem}.nb-command__search svg{width:1.2rem;height:1.2rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2}.nb-command__input{width:100%;min-height:3.25rem;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-weight:750}.nb-command__content{position:relative;max-height:min(22rem,50dvh)}.nb-command__viewport{max-height:inherit;overflow:auto;padding:.4rem}.nb-command__group+.nb-command__group{border-top:2px solid var(--nb-color-ink);margin-top:.35rem;padding-top:.35rem}.nb-command__group-label{padding:.35rem .65rem .2rem;font-family:var(--nb-font-display);font-size:.72rem;font-weight:900;text-transform:uppercase}.nb-command__item{display:flex;min-height:2.6rem;align-items:center;gap:.75rem;border:2px solid transparent;border-radius:var(--nb-radius-sm);cursor:pointer;padding:.5rem .65rem;font-weight:750;outline:none}.nb-command__item[data-highlighted]{border-color:var(--nb-color-ink);background:var(--nb-color-secondary)}.nb-command__item[data-disabled]{cursor:not-allowed;opacity:.45}.nb-command__shortcut{margin-left:auto;font-family:var(--nb-font-display);font-size:.75rem;opacity:.65}.nb-command__empty{padding:1.5rem;text-align:center;font-weight:750}.nb-command-dialog__overlay{position:fixed;z-index:100;inset:0;background:#151515b3}.nb-command-dialog{position:fixed;z-index:101;top:14vh;left:50%;width:min(34rem,calc(100vw - 2rem));transform:translate(-50%);color:var(--nb-color-ink)}.nb-command-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-bottom:0;border-radius:var(--nb-radius) var(--nb-radius) 0 0;background:var(--nb-color-accent);padding:.7rem .85rem}.nb-command-dialog__title{margin:0;font-family:var(--nb-font-display);font-size:1rem;font-weight:900}.nb-command-dialog .nb-command{width:100%;border-radius:0 0 var(--nb-radius) var(--nb-radius)}.nb-navigation-menu{position:relative;z-index:20;width:max-content;max-width:100%}.nb-navigation-menu__list{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.nb-navigation-menu__item{position:relative}.nb-navigation-menu__trigger,.nb-navigation-menu__link{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;gap:.45rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:4px 4px 0 var(--nb-shadow-color);background:var(--nb-color-paper);color:var(--nb-color-ink);cursor:pointer;padding:.6rem .85rem;font-family:var(--nb-font-display);font-weight:850;line-height:1;text-decoration:none}.nb-navigation-menu__trigger svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2.5;transition:transform .16s ease}.nb-navigation-menu__trigger[data-state=open]{background:var(--nb-color-primary)}.nb-navigation-menu__trigger[data-state=open] svg{transform:rotate(180deg)}.nb-navigation-menu__link[data-active]{background:var(--nb-color-secondary)}.nb-navigation-menu__content{position:absolute;top:calc(100% + .65rem);left:0;display:grid;width:min(24rem,calc(100vw - 2rem));gap:.35rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:6px 6px 0 var(--nb-shadow-color);background:var(--nb-color-paper);padding:.45rem}.nb-navigation-menu__link--panel{display:grid;min-height:auto;justify-content:stretch;gap:.2rem;box-shadow:none;text-align:left}.nb-navigation-menu__link--panel span{font-family:var(--nb-font-body);font-size:.82rem;font-weight:600;line-height:1.35}.nb-navigation-menu__link:hover,.nb-navigation-menu__link:focus-visible,.nb-navigation-menu__trigger:hover,.nb-navigation-menu__trigger:focus-visible{background:var(--nb-color-primary)}@media(max-width:36rem){.nb-navigation-menu,.nb-navigation-menu__list{width:100%}.nb-navigation-menu__item{flex:1 1 auto}.nb-navigation-menu__trigger,.nb-navigation-menu__link:not(.nb-navigation-menu__link--panel){width:100%}.nb-navigation-menu__content{right:0;left:auto}}.nb-toast-viewport{position:fixed;z-index:120;right:1rem;bottom:1rem;display:grid;width:min(24rem,calc(100vw - 2rem));margin:0;padding:0;list-style:none;outline:none}.nb-toast{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:6px 6px 0 var(--nb-shadow-color);padding:.9rem 1rem}.nb-toast--info{background:var(--nb-color-info)}.nb-toast--success{background:var(--nb-color-success)}.nb-toast--warning{background:var(--nb-color-primary)}.nb-toast--danger{background:var(--nb-color-danger)}.nb-toast__content{display:grid;gap:.15rem}.nb-toast__title{font-family:var(--nb-font-display);font-weight:900}.nb-toast__description{font-size:.9rem}.nb-drawer__overlay{position:fixed;z-index:100;inset:0;background:#151515a6}.nb-drawer{position:fixed;z-index:101;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;max-width:100vw;max-height:100dvh;border:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-paper);color:var(--nb-color-ink);box-shadow:8px 8px 0 var(--nb-shadow-color);transform:translate3d(var(--drawer-swipe-movement-x, 0px),var(--drawer-swipe-movement-y, 0px),0)}.nb-drawer--bottom,.nb-drawer--top{right:0;left:0;max-height:min(85dvh,38rem)}.nb-drawer--bottom{bottom:0;border-radius:var(--nb-radius) var(--nb-radius) 0 0}.nb-drawer--top{top:0;border-radius:0 0 var(--nb-radius) var(--nb-radius)}.nb-drawer--left,.nb-drawer--right{top:0;bottom:0;width:min(28rem,calc(100vw - 1rem))}.nb-drawer--left{left:0;border-radius:0 var(--nb-radius) var(--nb-radius) 0}.nb-drawer--right{right:0;border-radius:var(--nb-radius) 0 0 var(--nb-radius)}.nb-drawer__handle{justify-self:center;width:3rem;height:.4rem;margin:.75rem 0 .3rem;border-radius:999px;background:var(--nb-color-ink)}.nb-drawer--left .nb-drawer__handle,.nb-drawer--right .nb-drawer__handle{display:none}.nb-drawer__header,.nb-drawer__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem}.nb-drawer__header{border-bottom:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-primary)}.nb-drawer__title{margin:0;font:900 1.25rem/1.2 var(--nb-font-display)}.nb-drawer__description{margin:.3rem 0 0;font-size:.9rem}.nb-drawer__body{overflow:auto;padding:1rem}.nb-drawer__footer{border-top:var(--nb-border-width) solid var(--nb-color-ink)}.nb-drawer--bottom[data-state=open]{animation:nb-drawer-up .28s cubic-bezier(.22,1,.36,1)}.nb-drawer--top[data-state=open]{animation:nb-drawer-down .28s cubic-bezier(.22,1,.36,1)}.nb-drawer--left[data-state=open]{animation:nb-drawer-right .28s cubic-bezier(.22,1,.36,1)}.nb-drawer--right[data-state=open]{animation:nb-drawer-left .28s cubic-bezier(.22,1,.36,1)}@keyframes nb-drawer-up{0%{transform:translateY(100%)}}@keyframes nb-drawer-down{0%{transform:translateY(-100%)}}@keyframes nb-drawer-right{0%{transform:translate(-100%)}}@keyframes nb-drawer-left{0%{transform:translate(100%)}}.nb-menubar{display:inline-flex;flex-wrap:wrap;gap:.35rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper);padding:.3rem}.nb-menubar__trigger{min-height:2.4rem;border:2px solid transparent;border-radius:var(--nb-radius-sm);background:transparent;color:var(--nb-color-ink);padding:.35rem .8rem;font:850 .95rem/1.2 var(--nb-font-display);cursor:pointer}.nb-menubar__trigger[data-state=open],.nb-menubar__trigger:hover,.nb-menubar__trigger:focus-visible{border-color:var(--nb-color-ink);background:var(--nb-color-primary)}.nb-menubar__content{z-index:110;min-width:12rem;max-height:var(--reka-menubar-content-available-height);overflow-y:auto;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:6px 6px 0 var(--nb-shadow-color);background:var(--nb-color-paper);padding:.3rem}.nb-menubar__item{display:flex;min-height:2.35rem;align-items:center;border:2px solid transparent;border-radius:var(--nb-radius-sm);padding:.35rem .6rem;outline:none;cursor:pointer;font-weight:750}.nb-menubar__item[data-highlighted]{border-color:var(--nb-color-ink);background:var(--nb-color-primary)}.nb-menubar__item[data-disabled]{cursor:not-allowed;opacity:.5}.nb-menubar__item--destructive{color:#a50018}.nb-menubar__separator{height:2px;margin:.25rem -.3rem;background:var(--nb-color-ink)}@media(prefers-reduced-motion:reduce){.nb-drawer[data-state=open]{animation:none}}.nb-accordion{display:grid;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:5px 5px 0 var(--nb-shadow-color);overflow:hidden;background:var(--nb-color-paper)}.nb-accordion__item+.nb-accordion__item{border-top:var(--nb-border-width) solid var(--nb-color-ink)}.nb-accordion__header{margin:0}.nb-accordion__trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;border:0;background:var(--nb-color-secondary);color:var(--nb-color-ink);cursor:pointer;padding:.9rem 1rem;font-family:var(--nb-font-display);font-weight:900;text-align:left}.nb-accordion__trigger:hover{background:var(--nb-color-primary)}.nb-accordion__trigger:disabled{cursor:not-allowed;opacity:.5}.nb-accordion__icon{width:1rem;height:1rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2.5;transition:transform .15s ease}.nb-accordion__trigger[data-state=open] .nb-accordion__icon{transform:rotate(180deg)}.nb-accordion__content{overflow:hidden}.nb-accordion__content[data-state=open]{animation:nb-accordion-open .18s ease-out}.nb-accordion__content[data-state=closed]{animation:nb-accordion-close .16s ease-in}.nb-accordion__body{border-top:2px solid var(--nb-color-ink);padding:1rem}.nb-collapsible{overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:5px 5px 0 var(--nb-shadow-color);background:var(--nb-color-paper)}.nb-collapsible__trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;border:0;background:var(--nb-color-accent);color:var(--nb-color-ink);cursor:pointer;padding:.9rem 1rem;font-family:var(--nb-font-display);font-weight:900;text-align:left}.nb-collapsible__trigger:hover{background:var(--nb-color-primary)}.nb-collapsible__trigger:disabled{cursor:not-allowed;opacity:.55}.nb-collapsible__icon{width:1rem;height:1rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2.5;transition:transform .15s ease}.nb-collapsible__trigger[data-state=open] .nb-collapsible__icon{transform:rotate(180deg)}.nb-collapsible__content{overflow:hidden}.nb-collapsible__content[data-state=open]{animation:nb-collapsible-open .18s ease-out}.nb-collapsible__content[data-state=closed]{animation:nb-collapsible-close .16s ease-in}.nb-collapsible__body{border-top:2px solid var(--nb-color-ink);padding:1rem}.nb-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;padding:0;list-style:none}.nb-breadcrumbs li{display:inline-flex;align-items:center;gap:.35rem}.nb-breadcrumbs a{color:inherit;font-weight:750;text-decoration-thickness:2px;text-underline-offset:.2em}.nb-breadcrumbs [aria-current=page]{font-family:var(--nb-font-display);font-weight:900}.nb-breadcrumbs__separator{width:.9rem;height:.9rem;fill:none;stroke:currentColor;stroke-width:2.5}.nb-pagination,.nb-pagination__list{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.nb-pagination__button{display:inline-grid;min-width:2.5rem;min-height:2.5rem;place-items:center;border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:2px 2px 0 var(--nb-shadow-color);background:var(--nb-color-paper);color:var(--nb-color-ink);cursor:pointer;font-family:var(--nb-font-display);font-weight:900}.nb-pagination__button svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2.5}.nb-pagination__button[aria-current=page]{background:var(--nb-color-primary);transform:translate(1px,1px);box-shadow:1px 1px 0 var(--nb-shadow-color)}.nb-pagination__button:disabled{cursor:not-allowed;opacity:.4;box-shadow:none}.nb-pagination__ellipsis{min-width:1.5rem;text-align:center;font-weight:900}.nb-avatar{display:inline-grid;place-items:center;overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:50%;box-shadow:3px 3px 0 var(--nb-shadow-color);font-family:var(--nb-font-display);font-weight:900}.nb-avatar--sm{width:2rem;height:2rem;font-size:.7rem}.nb-avatar--md{width:3rem;height:3rem;font-size:.9rem}.nb-avatar--lg{width:4rem;height:4rem;font-size:1.15rem}.nb-avatar--primary{background:var(--nb-color-primary)}.nb-avatar--secondary{background:var(--nb-color-secondary)}.nb-avatar--accent{background:var(--nb-color-accent)}.nb-avatar__image{width:100%;height:100%;object-fit:cover}.nb-progress-wrap{display:grid;gap:.4rem}.nb-progress__header{display:flex;justify-content:space-between;gap:1rem;font-family:var(--nb-font-display);font-weight:850}.nb-progress{height:1.25rem;overflow:hidden;border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-muted)}.nb-progress__indicator{width:100%;height:100%;background:var(--nb-color-accent);transition:transform .18s ease}.nb-progress__indicator[data-state=indeterminate]{background:repeating-linear-gradient(135deg,var(--nb-color-accent) 0 .75rem,var(--nb-color-primary) .75rem 1.5rem);background-size:2.125rem 100%;animation:nb-progress-stripes .7s linear infinite}.nb-skeleton{border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:linear-gradient(110deg,var(--nb-color-muted) 25%,var(--nb-color-paper) 45%,var(--nb-color-muted) 65%);background-size:250% 100%;animation:nb-skeleton-shimmer 1.4s linear infinite}.nb-skeleton--rounded{border-radius:999px}@keyframes nb-accordion-open{0%{height:0;opacity:0}to{height:var(--reka-accordion-content-height);opacity:1}}@keyframes nb-accordion-close{0%{height:var(--reka-accordion-content-height);opacity:1}to{height:0;opacity:0}}@keyframes nb-collapsible-open{0%{height:0;opacity:0}to{height:var(--reka-collapsible-content-height);opacity:1}}@keyframes nb-collapsible-close{0%{height:var(--reka-collapsible-content-height);opacity:1}to{height:0;opacity:0}}@keyframes nb-progress-stripes{to{background-position-x:2.125rem}}@keyframes nb-skeleton-shimmer{to{background-position-x:-250%}}@media(prefers-reduced-motion:reduce){.nb-accordion__content,.nb-accordion__icon,.nb-collapsible__content,.nb-collapsible__icon,.nb-progress__indicator,.nb-skeleton{animation:none;transition:none}}.nb-table-wrap{width:100%;overflow-x:auto;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:5px 5px 0 var(--nb-shadow-color)}.nb-table{width:100%;border-collapse:collapse;background:var(--nb-color-paper);color:var(--nb-color-ink)}.nb-table caption{border-bottom:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-primary);padding:.8rem 1rem;font-family:var(--nb-font-display);font-weight:900;text-align:left}.nb-table th,.nb-table td{padding:.75rem 1rem;border-bottom:2px solid var(--nb-color-ink);text-align:left}.nb-table th{background:var(--nb-color-secondary);font-family:var(--nb-font-display);font-weight:900}.nb-table tr:last-child td{border-bottom:0}.nb-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--nb-color-muted) 50%,transparent)}.nb-empty-state{display:grid;justify-items:center;gap:.6rem;border:var(--nb-border-width) dashed var(--nb-color-ink);border-radius:var(--nb-radius);background:var(--nb-color-paper);padding:2.5rem 1.5rem;text-align:center}.nb-empty-state__icon{display:grid;place-items:center;width:4rem;height:4rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:50%;background:var(--nb-color-primary);font-size:2rem}.nb-empty-state h2{margin:0;font-family:var(--nb-font-display)}.nb-empty-state p{max-width:32rem;margin:0}.nb-empty-state__action{margin-top:.5rem}.nb-spinner-wrap{display:inline-flex}.nb-spinner{display:inline-block;border:3px solid var(--nb-color-muted);border-top-color:var(--nb-color-accent);border-right-color:var(--nb-color-ink);border-radius:50%;animation:nb-spin .7s linear infinite}.nb-spinner--sm{width:1rem;height:1rem;border-width:2px}.nb-spinner--md{width:1.5rem;height:1.5rem}.nb-spinner--lg{width:2.25rem;height:2.25rem;border-width:4px}.nb-separator{flex:0 0 auto;background:var(--nb-color-ink)}.nb-separator[data-orientation=horizontal]{width:100%;height:3px}.nb-separator[data-orientation=vertical]{width:3px;min-height:1.5rem;align-self:stretch}.nb-aspect-ratio{overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:5px 5px 0 var(--nb-shadow-color);background:var(--nb-color-secondary)}.nb-aspect-ratio>*{width:100%;height:100%;object-fit:cover}.nb-scroll-area{overflow:hidden;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper)}.nb-scroll-area__viewport{width:100%;height:100%}.nb-scroll-area__viewport>*{padding:1rem}.nb-scroll-area__scrollbar{display:flex;width:.8rem;touch-action:none;-webkit-user-select:none;user-select:none;border-left:2px solid var(--nb-color-ink);background:var(--nb-color-muted);padding:2px}.nb-scroll-area__thumb{position:relative;flex:1;border:2px solid var(--nb-color-ink);border-radius:999px;background:var(--nb-color-accent)}.nb-carousel{min-width:0;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:5px 5px 0 var(--nb-shadow-color);background:var(--nb-color-paper);overflow:hidden}.nb-carousel__track{display:grid;grid-auto-columns:100%;grid-auto-flow:column;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.nb-carousel__track::-webkit-scrollbar{display:none}.nb-carousel__slide{min-width:0;scroll-snap-align:start;padding:clamp(1rem,4vw,2rem)}.nb-carousel__controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:var(--nb-border-width) solid var(--nb-color-ink);background:var(--nb-color-secondary);padding:.5rem .75rem;font:900 .9rem/1 var(--nb-font-display)}.nb-carousel__controls>div{display:flex;gap:.4rem}.nb-carousel__controls button{display:grid;width:2.3rem;height:2.3rem;place-items:center;border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-paper);color:var(--nb-color-ink);font:900 1.25rem/1 var(--nb-font-display);cursor:pointer}.nb-carousel__controls button:hover:not(:disabled){background:var(--nb-color-primary)}.nb-carousel__controls button:disabled{cursor:not-allowed;opacity:.45}.nb-badge{display:inline-flex;align-items:center;border:2px solid var(--nb-color-ink);border-radius:999px;color:var(--nb-color-ink);font-family:var(--nb-font-mono);font-weight:700;line-height:1}.nb-badge--sm{padding:.25rem .5rem;font-size:.7rem}.nb-badge--md{padding:.35rem .65rem;font-size:.8rem}.nb-badge--paper{background:var(--nb-color-paper)}.nb-badge--primary{background:var(--nb-color-primary)}.nb-badge--secondary{background:var(--nb-color-secondary)}.nb-badge--accent{background:var(--nb-color-accent)}.nb-badge--danger{background:var(--nb-color-danger)}.nb-badge--ink{background:var(--nb-color-ink);color:var(--nb-color-paper)}.nb-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:var(--nb-shadow-x) var(--nb-shadow-y) 0 var(--nb-shadow-color);color:var(--nb-color-ink);cursor:pointer;font-family:var(--nb-font-display);font-weight:800;line-height:1;transition:transform .12s ease,box-shadow .12s ease}.nb-button:hover:not(:disabled){transform:translate(2px,2px);box-shadow:4px 4px 0 var(--nb-shadow-color)}.nb-button:active:not(:disabled){transform:translate(var(--nb-shadow-x),var(--nb-shadow-y));box-shadow:0 0 0 var(--nb-shadow-color)}.nb-button:disabled{cursor:not-allowed;opacity:.55}.nb-button--sm{min-height:2rem;padding:.5rem .75rem;font-size:.8rem}.nb-button--md{height:2.75rem;padding:0 1rem;font-size:.95rem}.nb-button--lg{min-height:3.25rem;padding:.9rem 1.25rem;font-size:1.05rem}.nb-button--primary{background:var(--nb-color-primary)}.nb-button--secondary{background:var(--nb-color-secondary)}.nb-button--accent{background:var(--nb-color-accent)}.nb-button--danger{background:var(--nb-color-danger)}.nb-button--ghost{background:transparent}.nb-button__loader{animation:nb-spin .7s linear infinite}@keyframes nb-spin{to{transform:rotate(360deg)}}.nb-button-group{display:inline-flex;width:fit-content;border-radius:var(--nb-radius-sm);box-shadow:var(--nb-shadow-x) var(--nb-shadow-y) 0 var(--nb-shadow-color)}.nb-button-group[data-orientation=vertical]{flex-direction:column}.nb-button-group>.nb-button{position:relative;box-shadow:none;border-radius:0}.nb-button-group[data-orientation=horizontal]>.nb-button+.nb-button{margin-left:calc(var(--nb-border-width) * -1)}.nb-button-group[data-orientation=vertical]>.nb-button+.nb-button{margin-top:calc(var(--nb-border-width) * -1)}.nb-button-group[data-orientation=horizontal]>.nb-button:first-child{border-radius:var(--nb-radius-sm) 0 0 var(--nb-radius-sm)}.nb-button-group[data-orientation=horizontal]>.nb-button:last-child{border-radius:0 var(--nb-radius-sm) var(--nb-radius-sm) 0}.nb-button-group[data-orientation=vertical]>.nb-button:first-child{border-radius:var(--nb-radius-sm) var(--nb-radius-sm) 0 0}.nb-button-group[data-orientation=vertical]>.nb-button:last-child{border-radius:0 0 var(--nb-radius-sm) var(--nb-radius-sm)}.nb-button-group>.nb-button:hover:not(:disabled),.nb-button-group>.nb-button:active:not(:disabled){z-index:1;transform:none;box-shadow:inset 3px 3px color-mix(in srgb,var(--nb-color-ink) 18%,transparent)}.nb-button-group>.nb-button:focus-visible{z-index:2}.nb-card{border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius);box-shadow:var(--nb-shadow-x) var(--nb-shadow-y) 0 var(--nb-shadow-color);overflow:hidden}.nb-card--paper{background:var(--nb-color-paper)}.nb-card--primary{background:var(--nb-color-primary)}.nb-card--secondary{background:var(--nb-color-secondary)}.nb-card--ink{background:var(--nb-color-ink);color:var(--nb-color-paper)}.nb-card--interactive{transition:transform .12s ease,box-shadow .12s ease}.nb-card--interactive:hover{transform:translate(2px,2px);box-shadow:4px 4px 0 var(--nb-shadow-color)}.nb-card__header,.nb-card__footer{padding:.9rem 1rem;border-bottom:var(--nb-border-width) solid currentColor}.nb-card__footer{border-bottom:0;border-top:var(--nb-border-width) solid currentColor}.nb-card__body{padding:1rem}.nb-kbd{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--nb-color-ink);border-radius:.25rem;box-shadow:2px 2px 0 var(--nb-shadow-color);background:var(--nb-color-paper);color:var(--nb-color-ink);font-family:var(--nb-font-mono);font-weight:800;line-height:1;white-space:nowrap}.nb-kbd--sm{min-width:1.35rem;min-height:1.35rem;padding:.2rem .3rem;font-size:.7rem}.nb-kbd--md{min-width:1.7rem;min-height:1.7rem;padding:.3rem .45rem;font-size:.8rem}.nb-link{--nb-link-color: var(--nb-color-primary);color:var(--nb-color-ink);font-family:var(--nb-font-display);font-weight:850;text-decoration-color:var(--nb-link-color);text-decoration-line:underline;text-decoration-thickness:.22em;text-underline-offset:.16em;transition:background-size .14s ease,color .14s ease;background-image:linear-gradient(var(--nb-link-color),var(--nb-link-color));background-position:0 100%;background-repeat:no-repeat;background-size:100% 0}.nb-link:hover{background-size:100% .72em}.nb-link:focus-visible{outline:3px solid var(--nb-color-accent);outline-offset:3px}.nb-link--ink{--nb-link-color: var(--nb-color-muted)}.nb-link--primary{--nb-link-color: var(--nb-color-primary)}.nb-link--secondary{--nb-link-color: var(--nb-color-secondary)}.nb-link--accent{--nb-link-color: var(--nb-color-accent)}.nb-link--danger{--nb-link-color: var(--nb-color-danger)}.nb-marker{margin-inline:.08em;padding:.05em .22em;box-decoration-break:clone;-webkit-box-decoration-break:clone;color:var(--nb-color-ink);font-weight:750}.nb-marker--primary{background:var(--nb-color-primary)}.nb-marker--secondary{background:var(--nb-color-secondary)}.nb-marker--accent{background:var(--nb-color-accent)}.nb-marker--danger{background:var(--nb-color-danger)}.nb-meter{display:grid;gap:.4rem}.nb-meter__header{display:flex;justify-content:space-between;gap:1rem;font-family:var(--nb-font-display);font-weight:850}.nb-meter meter{display:block;width:100%;height:1.5rem;appearance:none;border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);background:var(--nb-color-muted)}.nb-meter meter::-webkit-meter-bar{border:0;border-radius:0;background:var(--nb-color-muted)}.nb-meter meter::-webkit-meter-optimum-value{background:var(--nb-color-secondary)}.nb-meter meter::-webkit-meter-suboptimum-value{background:var(--nb-color-primary)}.nb-meter meter::-webkit-meter-even-less-good-value{background:var(--nb-color-danger)}.nb-meter meter::-moz-meter-bar{background:var(--nb-color-secondary)}.nb-stepper{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem}.nb-stepper[data-orientation=vertical]{flex-direction:column}.nb-stepper__item{min-width:0;flex:1 1 9rem}.nb-stepper[data-orientation=vertical] .nb-stepper__item{width:100%}.nb-stepper__trigger{display:flex;width:100%;min-height:4.5rem;align-items:center;gap:.7rem;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:4px 4px 0 var(--nb-shadow-color);background:var(--nb-color-paper);color:var(--nb-color-ink);cursor:pointer;padding:.65rem .8rem;text-align:left}.nb-stepper__trigger[data-state=active]{background:var(--nb-color-primary)}.nb-stepper__trigger[data-state=completed]{background:var(--nb-color-secondary)}.nb-stepper__trigger:disabled{cursor:not-allowed;opacity:.5}.nb-stepper__indicator{display:grid;width:2.1rem;height:2.1rem;flex:0 0 auto;place-items:center;border:2px solid var(--nb-color-ink);border-radius:50%;background:var(--nb-color-accent);font-family:var(--nb-font-display);font-weight:900}.nb-stepper__copy{display:grid;gap:.1rem;min-width:0}.nb-stepper__title{font-family:var(--nb-font-display);font-weight:900}.nb-stepper__description{font-size:.8rem;line-height:1.25}@media(max-width:520px){.nb-stepper:not([data-orientation=vertical]){flex-wrap:nowrap;overflow-x:auto;padding-bottom:.5rem}.nb-stepper:not([data-orientation=vertical]) .nb-stepper__item{flex:0 0 9rem}}.nb-timeline{display:grid;gap:0;margin:0;padding:0;list-style:none}.nb-timeline__item{position:relative;margin:0 0 0 1rem;border-left:3px solid var(--nb-color-ink);padding:0 0 1.5rem 1.5rem}.nb-timeline__item:last-child{border-left-color:transparent;padding-bottom:0}.nb-timeline__item:before{position:absolute;top:.15rem;left:-.65rem;width:1.1rem;height:1.1rem;border:2px solid var(--nb-color-ink);border-radius:50%;background:var(--nb-color-accent);content:""}.nb-timeline__item:nth-child(3n+2):before{background:var(--nb-color-secondary)}.nb-timeline__item:nth-child(3n):before{background:var(--nb-color-primary)}.nb-timeline__card{border:2px solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:3px 3px 0 var(--nb-shadow-color);background:var(--nb-color-paper);padding:.75rem 1rem}.nb-timeline__heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem}.nb-timeline__heading strong{font-family:var(--nb-font-display);font-weight:900}.nb-timeline__heading time{font-size:.8rem;font-weight:700}.nb-timeline__body{margin-top:.35rem}.nb-toggle{display:inline-flex;align-items:center;justify-content:center;border:var(--nb-border-width) solid var(--nb-color-ink);border-radius:var(--nb-radius-sm);box-shadow:4px 4px 0 var(--nb-shadow-color);color:var(--nb-color-ink);cursor:pointer;font-family:var(--nb-font-display);font-weight:800;line-height:1;transition:transform .12s ease,box-shadow .12s ease}.nb-toggle:hover:not(:disabled){transform:translate(1px,1px);box-shadow:3px 3px 0 var(--nb-shadow-color)}.nb-toggle[data-state=on]{transform:translate(4px,4px);box-shadow:none}.nb-toggle:disabled{cursor:not-allowed;opacity:.55}.nb-toggle--sm{min-height:2rem;padding:.45rem .65rem;font-size:.8rem}.nb-toggle--md{min-height:2.75rem;padding:.65rem .9rem;font-size:.95rem}.nb-toggle--lg{min-height:3.25rem;padding:.8rem 1.1rem;font-size:1.05rem}.nb-toggle--primary{background:var(--nb-color-primary)}.nb-toggle--secondary{background:var(--nb-color-secondary)}.nb-toggle--accent{background:var(--nb-color-accent)}.nb-toggle--danger{background:var(--nb-color-danger)}