@surrealdb/ui 1.0.87 → 1.0.90

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/CLAUDE.md ADDED
@@ -0,0 +1,92 @@
1
+ # CLAUDE.md
2
+
3
+ This is `@surrealdb/ui` — the SurrealDB design system and UI component library, published to npm as a reusable package for all SurrealDB frontend projects.
4
+
5
+ ## Tooling
6
+
7
+ - **Runtime & package manager:** Bun (do NOT use npm, yarn, or pnpm)
8
+ - **Build:** Vite 7 in library mode, targeting ES2022 with source maps
9
+ - **Language:** TypeScript with `isolatedDeclarations` enabled — all exported types must be explicitly annotated
10
+ - **UI framework:** React 19 with JSX transform (`react-jsx`)
11
+ - **Component library:** Mantine v8 (peer dependency)
12
+ - **Linter/formatter:** Biome 2.x — 4-space indentation, 100-character line width
13
+ - **Storybook:** Storybook 10 with `@storybook/react-vite`
14
+ - **Testing:** Vitest with Playwright browser provider for Storybook integration tests
15
+
16
+ ## Commands
17
+
18
+ | Command | Description |
19
+ |---|---|
20
+ | `bun install` | Install dependencies |
21
+ | `bun run build` | Production build (outputs to `dist/`) |
22
+ | `bun run storybook:dev` | Start Storybook dev server on port 6006 |
23
+ | `bun run storybook:build` | Build static Storybook site |
24
+ | `bun qc` | Run Biome lint/format check |
25
+ | `bun qa` | Auto-fix Biome lint/format issues |
26
+ | `bun qau` | Auto-fix including unsafe fixes |
27
+ | `bun qts` | TypeScript type check (`tsc --noEmit`) |
28
+ | `bun test` | Run all tests |
29
+ | `bun run icons` | Regenerate icon constants from `icons.zip` (requires `picosvg`) |
30
+
31
+ ## Path Aliases
32
+
33
+ `@src/*` maps to `./src/*` (configured in `tsconfig.json` and resolved by `vite-tsconfig-paths`).
34
+
35
+ ## Styling
36
+
37
+ - SCSS modules (`.module.scss`) with `dashesOnly` locals convention — access classes as `styles.myClass`, not `styles["my-class"]`
38
+ - All `.scss` files auto-import `@surrealdb/ui/mixins` via Vite's `additionalData`, providing global access to theme-aware mixins:
39
+ - `@include light { ... }` / `@include dark { ... }` — color scheme scoping
40
+ - `@include sm-and-up { ... }`, `@include md-and-down { ... }`, etc. — responsive breakpoints
41
+ - `@include background-blur { ... }` — backdrop blur with fallback
42
+ - Global CSS variables are defined in `src/assets/styles/global.scss` (prefixed `--surreal-*`)
43
+ - Mantine design tokens available as `--mantine-color-*` CSS variables
44
+ - Build output CSS is automatically wrapped in `@layer surreal` by a custom Vite plugin
45
+
46
+ ## Exports
47
+
48
+ The package exposes three entry points:
49
+ - `@surrealdb/ui` — all components, hooks, helpers, and constants (from `src/index.ts`)
50
+ - `@surrealdb/ui/styles.css` — compiled CSS (wrapped in `@layer surreal`)
51
+ - `@surrealdb/ui/mixins` — raw SCSS mixins (from `res/_mixins.scss`)
52
+
53
+ ## Source Structure
54
+
55
+ ```
56
+ src/
57
+ ├── assets/ # Static assets: brand SVGs, picto WebPs, global SCSS styles
58
+ ├── constants/ # Generated/static constants (icons.ts, brands.ts, pictos.ts)
59
+ ├── editor/ # CodeMirror editor setup: extensions, keybinds, commands, theme
60
+ ├── helpers/ # Utility functions (clsx, brandsafe URL helper, ID generator)
61
+ ├── hooks/ # React hooks (useEditor, useStable, useLater, useSort, useSwitch)
62
+ ├── lib/
63
+ │ ├── markdown/ # Custom stack-based markdown parser and React renderer
64
+ │ └── yoopta/ # Yoopta block editor plugins (Mantine-styled)
65
+ ├── primitives/ # React UI components (Icon, CodeBlock, Spinner, VideoPlayer, etc.)
66
+ ├── stories/ # Storybook stories organized by category
67
+ ├── syntax/ # Syntax highlighting: language definitions, highlighter, theme
68
+ ├── theme/ # Mantine theme override (mantine.ts)
69
+ └── types/ # TypeScript module augmentations for Mantine (colors, variants, spacing)
70
+ ```
71
+
72
+ Other top-level directories:
73
+ - `res/` — SCSS mixins exported as `@surrealdb/ui/mixins`
74
+ - `tools/` — Icon parser script (`icon-parser.ts`)
75
+ - `.storybook/` — Storybook configuration (main, preview, vitest setup)
76
+ - `.github/workflows/` — CI (`check.yml`) and publish (`publish.yml`) workflows
77
+ - `dist/` — Build output (gitignored)
78
+
79
+ ## Peer Dependencies
80
+
81
+ Consumers must provide: React 19, Mantine 8, CodeMirror 6 suite, Yoopta 6, and Slate. These are externalized during build.
82
+
83
+ ## CI/CD
84
+
85
+ - **check.yml** — Runs on push/PR to `main`: Biome lint, TypeScript check, build, and tests (Bun 1.2.23)
86
+ - **publish.yml** — Triggered by GitHub release: asserts `package.json` version matches git tag, builds, packs, and publishes to npm
87
+
88
+ ## Conventions
89
+
90
+ - `useStable` hook is configured as returning a stable reference in Biome's `useExhaustiveDependencies` rule — do not list its return value in dependency arrays
91
+ - The `src/constants/icons.ts` file is auto-generated — do not edit it manually
92
+ - Biome excludes: `.vscode/`, `.github/`, `.storybook/`, `src/constants/icons.ts`, `dist/`, and `*.js` files
package/REVIEW.md ADDED
@@ -0,0 +1,81 @@
1
+ # Code Review Guidelines
2
+
3
+ Before marking any task as done, verify every applicable section below.
4
+
5
+ ## Code Quality
6
+
7
+ - **Biome**: run `bun qc` and confirm zero errors. Do not suppress or ignore lint rules without justification.
8
+ - **TypeScript**: run `bun qts` and confirm zero type errors. All exported functions and types must have explicit type annotations (`isolatedDeclarations` is enabled).
9
+ - **Formatting**: 4-space indentation, 100-character line width, multiline JSX attributes. Run `bun qa` to auto-fix if needed.
10
+ - **Unused imports**: Biome warns on unused imports — remove them before committing.
11
+ - **Unused code**: do not leave behind dead code, commented-out blocks, or `console.log` statements.
12
+
13
+ ## Components
14
+
15
+ - **Mantine first**: use Mantine components (`Box`, `Text`, `Group`, `Stack`, etc.) over raw HTML elements. Use `<Box>` instead of `<div>`.
16
+ - **Props interface**: extend `BoxProps` or the appropriate Mantine component props type. Export the props interface alongside the component.
17
+ - **Prop spreading**: spread remaining props (`...rest`) onto the root element so consumers can pass through Mantine attributes.
18
+ - **clsx**: use `clsx` from `@src/helpers/clsx` (the project's own implementation), not the npm `clsx` package.
19
+ - **Return type**: use `ReactNode` for function declarations or `FC<Props>` for arrow functions — match the convention of surrounding code.
20
+
21
+ ## Styling
22
+
23
+ - **SCSS modules**: styles go in `style.module.scss` next to the component. Import as `import classes from "./style.module.scss"`.
24
+ - **dashesOnly**: access class names as `classes.myClass`, never `classes["my-class"]`.
25
+ - **Dynamic values**: use Mantine's `__vars` prop to pass CSS custom properties for dynamic size/color — not inline styles.
26
+ - **Design tokens**: reference Mantine tokens (`--mantine-color-*`) and SurrealDB tokens (`--surreal-*`). Do not hardcode color hex values in SCSS unless defining a new token.
27
+ - **Light/dark theme**: any color that differs between themes must use `@include light { ... }` and `@include dark { ... }` mixins. Verify the component looks correct in both color schemes.
28
+ - **Responsive**: use the breakpoint mixins (`@include sm-and-up`, `@include md-and-down`, etc.) instead of raw `@media` queries.
29
+ - **No global styles**: do not add styles to `global.scss` or `variants.scss` unless defining a new design token. Component styles belong in SCSS modules.
30
+
31
+ ## Exports
32
+
33
+ - **Re-export from index**: new components, hooks, helpers, or types must be re-exported from `src/index.ts`. Missing re-exports break the public API.
34
+ - **Explicit type exports**: use `export type` for type-only exports (required by `isolatedDeclarations` and `verbatimModuleSyntax`).
35
+
36
+ ## Storybook
37
+
38
+ - **Story exists**: every primitive component must have a corresponding story in `src/stories/primitives/`. Mantine-themed component demos go in `src/stories/mantine/`.
39
+ - **CSF3 format**: stories must use Component Story Format 3 with a typed `meta` default export and `StoryObj` named exports.
40
+ - **Title convention**: use the correct prefix (`Primitives/`, `Mantine/`, `Catalog/`, or `Playground/`) in the story `title`.
41
+ - **No providers in stories**: do not wrap stories in `MantineProvider` — this is handled globally by `.storybook/preview.tsx`.
42
+ - **Shared arg types**: reuse `size` and `icon` from `src/stories/arg-types/` instead of redefining them.
43
+
44
+ ## Testing
45
+
46
+ - **Tests pass**: run `bun test` and confirm all tests pass. Do not skip or disable tests without justification.
47
+ - **Markdown parser**: changes to `src/lib/markdown/` must include tests. Run `bun test src/lib/markdown/__tests__` to verify. Update snapshots only when the change is intentional.
48
+ - **Snapshot review**: if snapshots are updated, verify the diff reflects the intended change — not unrelated side effects.
49
+
50
+ ## Dependencies
51
+
52
+ - **Justify new packages**: new external dependencies require justification. Prefer small helper functions over adding utility packages.
53
+ - **Peer vs direct**: UI framework dependencies (React, Mantine, CodeMirror, Yoopta, Slate) are peer dependencies — never add them to `dependencies`.
54
+ - **Package manager**: use `bun` exclusively. Do not use npm, yarn, or pnpm commands. Do not commit `package-lock.json`, `yarn.lock`, or `pnpm-lock.yaml`.
55
+
56
+ ## Generated Files
57
+
58
+ - **Do not edit**: `src/constants/icons.ts` is auto-generated by `bun run icons`. Never edit it manually.
59
+ - **Do not edit**: `bun.lock` is managed by Bun. Do not manually modify it.
60
+ - **Do not commit**: `dist/`, `node_modules/`, `storybook-static/`, and `.tgz` files are gitignored.
61
+
62
+ ## Security
63
+
64
+ - **No secrets**: credentials, tokens, and API keys must not appear in source code, console logs, or error messages.
65
+ - **No `.env` files**: do not commit `.env` or any environment variable files.
66
+
67
+ ## Build Compatibility
68
+
69
+ - **ES2022 target**: do not use syntax or APIs that require a target newer than ES2022.
70
+ - **Tree-shaking**: the package is marked `"sideEffects": false`. Ensure new modules do not introduce top-level side effects outside of style imports.
71
+ - **CSS layer**: all component CSS is wrapped in `@layer surreal` at build time. Do not add `@layer` directives in SCSS modules — the Vite plugin handles this.
72
+
73
+ ## Hooks
74
+
75
+ - **useStable**: the return value of `useStable` is a stable reference — do not include it in React dependency arrays. Biome enforces this automatically.
76
+ - **useExhaustiveDependencies**: Biome enforces exhaustive deps at error level. Do not suppress this rule; fix the dependency array instead.
77
+
78
+ ## Skip
79
+
80
+ - Formatting and linting auto-fixes (enforced by `bun qa` / `bun qau`).
81
+ - Biome-excluded files: `.vscode/`, `.github/`, `.storybook/`, `src/constants/icons.ts`, `dist/`, `*.js`.
package/dist/ui.css CHANGED
@@ -1,4 +1,4 @@
1
1
  @layer surreal {
2
- :root{--surreal-opacity-subtle: .07;--surreal-opacity-medium: .3;--surreal-opacity-strong: .6;--surreal-glass-subtle: rgba(255, 255, 255, var(--surreal-opacity-subtle));--surreal-glass-medium: rgba(255, 255, 255, var(--surreal-opacity-medium));--surreal-glass-strong: rgba(255, 255, 255, var(--surreal-opacity-strong));--surreal-blur: blur(12px);--surreal-pink: #ff00a0;--surreal-purple: #9800ff;--surreal-energy: #D255FE;--surreal-passion: #651DDD;--surreal-gradient: linear-gradient(135deg, var(--surreal-energy), var(--surreal-passion));--surreal-spinner-size-xs: 1rem;--surreal-spinner-size-sm: 1.5rem;--surreal-spinner-size-md: 2rem;--surreal-spinner-size-lg: 2.5rem;--surreal-spinner-size-xl: 3rem;--surreal-icon-size-xs: .75em;--surreal-icon-size-sm: 1em;--surreal-icon-size-md: 1.25em;--surreal-icon-size-lg: 1.5em;--surreal-icon-size-xl: 2em}:root[data-mantine-color-scheme=dark]{--surreal-blend-mode: "darken";--surreal-glass-subtle: rgba(255, 255, 255, var(--surreal-opacity-subtle));--surreal-glass-medium: rgba(255, 255, 255, var(--surreal-opacity-medium));--surreal-glass-strong: rgba(255, 255, 255, var(--surreal-opacity-strong));--surreal-overlay-color: #07060a;--surreal-background-color: var(--mantine-color-obsidian-9);--surreal-pill-background: var(--mantine-color-obsidian-6);--surreal-text-gradient: linear-gradient(180deg, var(--mantine-color-obsidian-0), var(--mantine-color-obsidian-3));--surreal-paper-background: linear-gradient(135deg, var(--mantine-color-obsidian-8), var(--mantine-color-obsidian-9));--surreal-menu-background-color: var(--mantine-color-obsidian-7);--surreal-menu-background: rgba(from var(--surreal-menu-background-color) r g b / .75);--surreal-menu-shadow: 0 8px 18px rgba(0, 0, 0, .3), 0 2px 6px rgba(0, 0, 0, .3);--surreal-paper-background-filled: var(--mantine-color-obsidian-8);--surreal-input-background-filled: var(--mantine-color-obsidian-7);--surreal-paper-background-glass: linear-gradient(135deg, var(--mantine-color-obsidian-8), rgba(from var(--mantine-color-obsidian-9) r g b / 0));--surreal-gradient-gray: linear-gradient(101deg, rgba(111, 121, 136, .55) 3.18%, rgba(111, 121, 136, .4) 100%);--surreal-table-stripe: var(--mantine-color-obsidian-7);--surreal-table-hover-color: var(--mantine-color-obsidian-8)}:root[data-mantine-color-scheme=light]{--surreal-blend-mode: "lighten";--surreal-glass-subtle: rgba(0, 0, 0, var(--surreal-opacity-subtle));--surreal-glass-medium: rgba(0, 0, 0, var(--surreal-opacity-medium));--surreal-glass-strong: rgba(0, 0, 0, var(--surreal-opacity-strong));--surreal-overlay-color: #A29FAC;--surreal-background-color: var(--mantine-color-obsidian-1);--surreal-pill-background: var(--mantine-color-obsidian-2);--surreal-text-gradient: linear-gradient(180deg, var(--mantine-color-obsidian-6), var(--mantine-color-obsidian-9));--surreal-paper-background: linear-gradient(135deg, var(--mantine-color-obsidian-0), var(--mantine-color-obsidian-1));--surreal-menu-background-color: var(--mantine-color-obsidian-0);--surreal-menu-background: var(--surreal-menu-background-color);--surreal-menu-shadow: 0 8px 18px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .1);--surreal-paper-background-filled: var(--mantine-color-obsidian-0);--surreal-input-background-filled: var(--mantine-color-obsidian-2);--surreal-gradient-gray: linear-gradient(101deg, rgba(111, 121, 136, .15) 3.18%, rgba(111, 121, 136, .3) 100%);--surreal-table-stripe: var(--mantine-color-obsidian-2);--surreal-table-hover-color: var(--mantine-color-obsidian-0)}.mantine-ActionIcon-root[data-variant=surreal]{border-width:1px;border-style:solid}.mantine-CloseButton-root[data-variant=surreal]{color:var(--mantine-color-slate-outline)}.mantine-CloseButton-root[data-variant=surreal]:hover{background-color:var(--surreal-glass-subtle)}.mantine-Button-root[data-variant=surreal]{border-width:1px;border-style:solid;backdrop-filter:blur(2px)}.mantine-ActionIcon-root[data-variant=surreal]:disabled{opacity:var(--surreal-opacity-medium)}.mantine-Button-root[data-variant=transparent]:disabled,.mantine-ActionIcon-root[data-variant=transparent]:disabled{background-color:unset;opacity:var(--surreal-opacity-strong)}.mantine-Button-root[data-variant=surreal]:disabled,.mantine-Button-root[data-variant=gradient]:disabled,.mantine-ActionIcon-root[data-variant=surreal]:disabled,.mantine-Checkbox-root[data-variant=surreal]:disabled,.mantine-Radio-root[data-variant=surreal]:disabled{border-color:var(--surreal-glass-subtle);background-color:var(--surreal-glass-subtle);color:var(--mantine-color-text)}.mantine-Checkbox-icon{color:#fff;width:calc(var(--checkbox-size) / 2)}.mantine-Button-root[data-variant=gradient]:hover:not([disabled]){filter:brightness(1.1)}.mantine-InputWrapper-root[data-variant=filled] .mantine-InputWrapper-label,.mantine-InputWrapper-root[data-variant=surreal] .mantine-InputWrapper-label{color:var(--mantine-color-bright);font-weight:600;margin-bottom:4px}.mantine-InputWrapper-root[data-variant=filled] .mantine-Input-input,.mantine-InputWrapper-root[data-variant=filled] .mantine-InputBase-input,.mantine-InputWrapper-root[data-variant=filled] .mantine-TextInput-input,.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input,.mantine-InputWrapper-root[data-variant=surreal] .mantine-InputBase-input,.mantine-InputWrapper-root[data-variant=surreal] .mantine-TextInput-input{--focus-outline: color-mix(in srgb, var(--mantine-color-violet-3) 75%, var(--surreal-glass-subtle));color:var(--mantine-color-bright);font-weight:300;transition:all .25s ease;outline:1px solid transparent}.mantine-InputWrapper-root[data-variant=filled] .mantine-Input-input:focus-within,.mantine-InputWrapper-root[data-variant=filled] .mantine-InputBase-input:focus-within,.mantine-InputWrapper-root[data-variant=filled] .mantine-TextInput-input:focus-within,.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input:focus-within,.mantine-InputWrapper-root[data-variant=surreal] .mantine-InputBase-input:focus-within,.mantine-InputWrapper-root[data-variant=surreal] .mantine-TextInput-input:focus-within{outline-color:var(--focus-outline)}.mantine-InputWrapper-root[data-variant=filled] .mantine-Input-input::placeholder,.mantine-InputWrapper-root[data-variant=filled] .mantine-InputBase-input::placeholder,.mantine-InputWrapper-root[data-variant=filled] .mantine-TextInput-input::placeholder,.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input::placeholder,.mantine-InputWrapper-root[data-variant=surreal] .mantine-InputBase-input::placeholder,.mantine-InputWrapper-root[data-variant=surreal] .mantine-TextInput-input::placeholder{color:var(--mantine-color-text);opacity:var(--surreal-opacity-strong)}.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input,.mantine-InputWrapper-root[data-variant=surreal] .mantine-InputBase-input,.mantine-InputWrapper-root[data-variant=surreal] .mantine-TextInput-input{--focus-background: color-mix(in srgb, var(--mantine-color-violet-3) 7%, var(--surreal-glass-subtle));background:linear-gradient(115deg,var(--surreal-glass-subtle),transparent)}.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input:focus-within,.mantine-InputWrapper-root[data-variant=surreal] .mantine-InputBase-input:focus-within,.mantine-InputWrapper-root[data-variant=surreal] .mantine-TextInput-input:focus-within{background:linear-gradient(115deg,var(--focus-background),transparent)}.mantine-InputWrapper-root[data-variant=filled] .mantine-Input-input,.mantine-InputWrapper-root[data-variant=filled] .mantine-InputBase-input,.mantine-InputWrapper-root[data-variant=filled] .mantine-TextInput-input{--focus-background: color-mix(in srgb, var(--mantine-color-violet-3) 7%, var(--surreal-input-background-filled));background-color:var(--surreal-input-background-filled)}.mantine-InputWrapper-root[data-variant=filled] .mantine-Input-input:focus-within,.mantine-InputWrapper-root[data-variant=filled] .mantine-InputBase-input:focus-within,.mantine-InputWrapper-root[data-variant=filled] .mantine-TextInput-input:focus-within{background:var(--focus-background)}.mantine-Autocomplete-dropdown[data-variant=surreal]{overflow:hidden}.mantine-Autocomplete-dropdown[data-variant=surreal] .mantine-Autocomplete-options{padding:4px 0 4px 4px}.mantine-Autocomplete-dropdown[data-variant=surreal] .mantine-Autocomplete-option{border-radius:var(--mantine-radius-xs)}.mantine-Autocomplete-dropdown[data-variant=surreal] .mantine-Autocomplete-option:hover{background-color:var(--surreal-glass-subtle)}.mantine-Paper-root[data-variant=surreal]{background:var(--surreal-paper-background)}.mantine-Paper-root[data-variant=surreal][data-with-border]{border:1px solid var(--surreal-glass-subtle)}.mantine-Paper-root[data-variant=filled]{background:var(--surreal-paper-background-filled)}.mantine-Paper-root[data-variant=filled][data-with-border]{border:1px solid var(--surreal-glass-subtle)}.mantine-Paper-root[data-variant=glass]{background:var(--surreal-paper-background-glass);box-shadow:0 12px 45px var(--surreal-background-color);backdrop-filter:var(--surreal-blur);-webkit-backdrop-filter:var(--surreal-blur)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mantine-Paper-root[data-variant=glass]{background:var(--surreal-menu-background-color)}}.mantine-Paper-root[data-variant=glass][data-with-border]{border:1px solid var(--surreal-glass-subtle)}.mantine-ScrollArea-root[data-variant=surreal] .mantine-ScrollArea-scrollbar{transition:opacity .25s ease;opacity:0}.mantine-ScrollArea-root[data-variant=surreal] .mantine-ScrollArea-scrollbar[data-state=visible]{opacity:1}.mantine-ScrollArea-root[data-variant=surreal] .mantine-ScrollArea-scrollbar:hover{background-color:var(--surreal-glass-subtle);border-radius:var(--mantine-radius-xl)}.mantine-Divider-root[data-variant=surreal]{--divider-color: var(--surreal-glass-subtle)}.mantine-Divider-root[data-variant=surreal][data-orientation=horizontal]{border-top:var(--divider-size) solid var(--divider-color)}.mantine-Divider-root[data-variant=surreal][data-orientation=vertical]{border-left:var(--divider-size) solid var(--divider-color)}.mantine-Notification-root[data-variant=spaced],.mantine-Notification-root[data-variant=surreal]{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);align-items:flex-start;padding:var(--mantine-spacing-md);backdrop-filter:var(--surreal-blur);-webkit-backdrop-filter:var(--surreal-blur)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mantine-Notification-root[data-variant=spaced],.mantine-Notification-root[data-variant=surreal]{background:var(--surreal-menu-background-color)}}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-title,.mantine-Notification-root[data-variant=surreal] .mantine-Notification-title{color:var(--mantine-color-bright);font-size:var(--mantine-font-size-md);margin-block:var(--mantine-spacing-xs);font-weight:600}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-description,.mantine-Notification-root[data-variant=surreal] .mantine-Notification-description{color:var(--mantine-color-text)}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-icon,.mantine-Notification-root[data-variant=surreal] .mantine-Notification-icon{background-color:transparent;border:1px solid var(--surreal-glass-subtle);padding:15px;color:var(--notification-color);font-size:var(--mantine-font-size-lg)}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-body,.mantine-Notification-root[data-variant=surreal] .mantine-Notification-body{padding-left:var(--mantine-spacing-md)}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-body{padding-left:0}.mantine-Notification-root[data-variant=spaced]:before{display:none}.mantine-Loader-root[data-variant=surreal]:after{border:none;background:conic-gradient(from 0,transparent 15%,var(--loader-color) 100%);mask:radial-gradient(circle at center,transparent 50%,#000 0%)}.mantine-ThemeIcon-root[data-variant=surreal]{border-width:1px;border-style:solid;background-color:transparent;color:var(--ti-color)}.mantine-Tooltip-tooltip[data-variant=surreal]{color:var(--tooltip-color, var(--mantine-color-text));background-color:var(--tooltip-bg, var(--mantine-color-obsidian-5));box-shadow:var(--mantine-shadow-md);padding-block:var(--mantine-spacing-xs);padding-inline:var(--mantine-spacing-md);color:#fff}.mantine-Popover-dropdown[data-variant=surreal],.mantine-HoverCard-dropdown[data-variant=surreal],.mantine-Menu-dropdown[data-variant=surreal]{background:var(--surreal-menu-background-color);background-color:var(--surreal-menu-background);border:1px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-sm);box-shadow:var(--surreal-menu-shadow);backdrop-filter:var(--surreal-blur);-webkit-backdrop-filter:var(--surreal-blur)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mantine-Popover-dropdown[data-variant=surreal],.mantine-HoverCard-dropdown[data-variant=surreal],.mantine-Menu-dropdown[data-variant=surreal]{background:var(--surreal-menu-background-color)}}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-divider,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-divider,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-divider{border-color:var(--surreal-glass-subtle);margin-inline:calc(var(--mantine-spacing-xs) * -1);margin-block:var(--mantine-spacing-xs)}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-label,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-label,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-label{color:var(--mantine-color-bright);opacity:var(--surreal-opacity-strong);font-size:var(--mantine-font-size-xs);font-weight:600}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-item,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-item,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item{border-radius:100px;color:var(--mantine-color-bright);padding-block:var(--mantine-spacing-xs);font-weight:500}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-item:hover,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-item:hover,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item:hover{background-color:var(--menu-item-hover, var(--surreal-glass-subtle))}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=left],.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=left],.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=left]{margin-right:var(--mantine-spacing-sm)}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=right],.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=right],.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=right]{margin-left:var(--mantine-spacing-sm)}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-itemSection svg,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-itemSection svg,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-itemSection svg{opacity:var(--surreal-opacity-strong)}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient],.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient],.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient]{background:var(--surreal-gradient);color:#fff}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient] .mantine-Menu-itemSection svg,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient] .mantine-Menu-itemSection svg,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient] .mantine-Menu-itemSection svg{opacity:1}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Select-option:hover,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Select-option:hover,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Select-option:hover{background-color:var(--surreal-glass-subtle)}.mantine-Popover-dropdown[data-variant=transparent],.mantine-HoverCard-dropdown[data-variant=transparent]{background-color:transparent;border:unset;padding:0}.mantine-Modal-root[data-variant=glass] .mantine-Modal-inner,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-inner{overflow-y:auto;display:grid}.mantine-Modal-root[data-variant=glass] .mantine-Modal-content,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-content{border:1px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-xs);overflow-y:unset;max-height:unset;width:var(--modal-size);max-width:calc(100vw - var(--modal-inner-x-offset, var(--modal-x-offset)) * 2);backdrop-filter:var(--surreal-blur);-webkit-backdrop-filter:var(--surreal-blur)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mantine-Modal-root[data-variant=glass] .mantine-Modal-content,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-content{background:var(--surreal-menu-background-color)}}.mantine-Modal-root[data-variant=glass] .mantine-Modal-header,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-header{background-color:unset;border-bottom:1px solid var(--surreal-glass-subtle);margin-bottom:var(--mb-padding, var(--mantine-spacing-md));position:static;padding-block:0}.mantine-Modal-root[data-variant=glass] .mantine-Modal-title,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-title{font-size:var(--mantine-font-size-lg);color:var(--mantine-color-bright);font-weight:600}.mantine-Modal-root[data-variant=glass] .mantine-Modal-header{border:none;margin-bottom:0}.mantine-Modal-root[data-variant=glass] .mantine-Modal-content{background-color:color-mix(in srgb,var(--mantine-color-slate-6) calc(var(--surreal-opacity-strong) * 100%),transparent);background-color:var(--surreal-glass-subtle)}.mantine-Overlay-root[data-variant=surreal]{background-color:rgba(from var(--surreal-overlay-color) r g b/.75)}.mantine-Anchor-root[data-variant=surreal]{color:var(--mantine-color-bright)}.mantine-Anchor-root[data-variant=surreal]:hover,.mantine-Anchor-root[data-variant=surreal]:focus-within{color:var(--mantine-color-violet-text)}.mantine-Anchor-root[data-variant=vibrant]{color:var(--mantine-color-violet-text)}.mantine-Anchor-root[data-variant=vibrant]:hover,.mantine-Anchor-root[data-variant=vibrant]:focus-within{color:var(--mantine-color-bright)}.mantine-Anchor-root[data-variant=glow]>div{position:relative}.mantine-Anchor-root[data-variant=glow]>div:before,.mantine-Anchor-root[data-variant=glow]>div:after{content:"";position:absolute;pointer-events:none;transition:all .25s ease;inset:9px;z-index:-2;opacity:0;filter:blur(6px);mix-blend-mode:screen}.mantine-Anchor-root[data-variant=glow]>div:before{background:radial-gradient(120% 170% at 0% 0%,var(--surreal-energy) 0%,rgba(197,91,255,0) 50%),radial-gradient(120% 170% at 100% 100%,var(--surreal-passion) 0%,rgba(96,114,255,0) 50%)}.mantine-Anchor-root[data-variant=glow]>div:after{background:radial-gradient(100% 100% at 0% 0%,var(--surreal-energy) 0%,rgba(197,91,255,0) 35%),radial-gradient(100% 100% at 100% 100%,var(--surreal-passion) 0%,rgba(96,114,255,0) 35%)}.mantine-Anchor-root[data-variant=glow]>div:hover:before,.mantine-Anchor-root[data-variant=glow]>div:hover:after{inset:-9px;opacity:1}.mantine-Badge-root[data-variant=surreal]{border-radius:var(--mantine-radius-xl);background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);color:var(--mantine-color-bright)}.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-input,.mantine-Checkbox-root[data-variant=surreal] .mantine-Checkbox-input{border-radius:var(--mantine-radius-xs);background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);color:var(--mantine-color-bright)}.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-input:checked,.mantine-Checkbox-root[data-variant=surreal] .mantine-Checkbox-input:checked{background-color:var(--checkbox-color)}.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-label,.mantine-Checkbox-root[data-variant=surreal] .mantine-Checkbox-label{user-select:none}.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-input:checked{background:var(--surreal-gradient);background-origin:border-box}.mantine-Radio-root[data-variant=gradient] .mantine-Radio-radio,.mantine-Radio-root[data-variant=surreal] .mantine-Radio-radio{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);color:var(--mantine-color-bright)}.mantine-Radio-root[data-variant=gradient] .mantine-Radio-radio:checked,.mantine-Radio-root[data-variant=surreal] .mantine-Radio-radio:checked{background-color:var(--radio-color)}.mantine-Radio-root[data-variant=gradient] .mantine-Radio-label,.mantine-Radio-root[data-variant=surreal] .mantine-Radio-label{user-select:none}.mantine-Radio-root[data-variant=gradient] .mantine-Radio-radio:checked{background:var(--surreal-gradient);background-origin:border-box}.mantine-Switch-root[data-variant=gradient] .mantine-Switch-track,.mantine-Switch-root[data-variant=surreal] .mantine-Switch-track{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);cursor:pointer}.mantine-Switch-root[data-variant=gradient] .mantine-Switch-input:checked+.mantine-Switch-track,.mantine-Switch-root[data-variant=surreal] .mantine-Switch-input:checked+.mantine-Switch-track{background-color:var(--switch-color)}.mantine-Switch-root[data-variant=gradient] .mantine-Switch-input:checked+.mantine-Switch-track{background:var(--surreal-gradient);background-origin:border-box}.mantine-Tabs-tab[data-variant=surreal]{border:1px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-xl)}.mantine-Tabs-tab[data-variant=surreal][aria-selected=true]{border:1px solid var(--surreal-glass-subtle);background-color:var(--surreal-glass-subtle)}.mantine-Tabs-tab[data-variant=surreal][aria-selected=false]{border:1px solid transparent;background-color:transparent}.mantine-Skeleton-root[data-variant=surreal]:before{background-color:transparent}.mantine-Skeleton-root[data-variant=surreal]:after{background-color:var(--surreal-glass-subtle);animation-timing-function:cubic-bezier(.47,0,.745,.715)}.mantine-SegmentedControl-root[data-variant=surreal]{background-color:transparent;overflow:visible}.mantine-SegmentedControl-root[data-variant=surreal] .mantine-SegmentedControl-indicator{border-radius:3px 3px 0 0;top:unset;bottom:0;height:5px!important;background:var(--surreal-gradient)}.mantine-NavLink-root[data-variant=surreal]{transition:background-color .25s ease;border-radius:var(--mantine-radius-lg);padding:var(--mantine-spacing-xs)}.mantine-NavLink-root[data-variant=surreal] .mantine-NavLink-label{font-weight:500;color:var(--mantine-color-bright)}.mantine-NavLink-root[data-variant=surreal] .mantine-NavLink-description{font-size:var(--mantine-font-size-xs);color:var(--mantine-color-slate-2);opacity:var(--surreal-opacity-strong)}.mantine-NavLink-root[data-variant=surreal]:hover{background-color:var(--surreal-glass-subtle)}.mantine-Kbd-root[data-variant=surreal]{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);color:var(--mantine-color-bright);border-radius:var(--mantine-radius-xs)}.mantine-Title-root[data-variant=surreal-gradient]{color:var(--mantine-color-bright);background:var(--surreal-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.mantine-Title-root[data-variant=gradient]{color:var(--mantine-color-bright);background:var(--surreal-text-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.mantine-Tabs-list[data-variant=gradient]{background:var(--surreal-paper-background);border:1px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-xl);padding:4px;gap:4px;width:fit-content}.mantine-Tabs-tab[data-variant=gradient]{border-radius:var(--mantine-radius-xl);border:1px solid transparent;color:var(--mantine-color-bright);transition:background-color .2s ease,color .2s ease,border-color .2s ease;background-origin:border-box}.mantine-Tabs-tab[data-variant=gradient][aria-selected=true]{background:var(--surreal-gradient);border-color:var(--surreal-glass-subtle);color:var(--mantine-color-obsidian-0);background-origin:border-box}.mantine-Tabs-tab[data-variant=gradient][aria-selected=false]:hover{background-color:var(--surreal-glass-subtle);color:var(--mantine-color-bright)}.mantine-Pagination-root[data-variant=surreal] .mantine-Pagination-control{border-radius:var(--mantine-radius-xl);border:1px solid var(--surreal-glass-subtle);background-color:transparent;color:var(--mantine-color-bright)}.mantine-Pagination-root[data-variant=surreal] .mantine-Pagination-control[data-active=true]{background:var(--surreal-gradient-gray)}.mantine-Pagination-root[data-variant=surreal] .mantine-Pagination-control:hover{background-color:var(--surreal-glass-subtle)}.mantine-TagsInput-root[data-variant=surreal] .mantine-TagsInput-pill,.mantine-TagsInput-root[data-variant=surreal] .mantine-MultiSelect-pill,.mantine-TagsInput-root[data-variant=filled] .mantine-TagsInput-pill,.mantine-TagsInput-root[data-variant=filled] .mantine-MultiSelect-pill,.mantine-MultiSelect-root[data-variant=filled] .mantine-TagsInput-pill,.mantine-MultiSelect-root[data-variant=filled] .mantine-MultiSelect-pill,.mantine-MultiSelect-root[data-variant=surreal] .mantine-TagsInput-pill,.mantine-MultiSelect-root[data-variant=surreal] .mantine-MultiSelect-pill{background-color:var(--surreal-pill-background);font-weight:500}.mantine-TagsInput-root[data-variant=surreal] .mantine-Pill-remove svg,.mantine-TagsInput-root[data-variant=filled] .mantine-Pill-remove svg,.mantine-MultiSelect-root[data-variant=filled] .mantine-Pill-remove svg,.mantine-MultiSelect-root[data-variant=surreal] .mantine-Pill-remove svg{width:var(--cb-icon-size, 70%)!important;height:var(--cb-icon-size, 70%)!important}.mantine-Table-table[data-variant=surreal]{--table-border-color: var(--surreal-glass-subtle) !important;--table-striped-color: var(--surreal-table-stripe) !important;--table-hover-color: var(--surreal-table-hover-color) !important}.mantine-Alert-root[data-variant=surreal]{border:none;border-left:4px solid var(--alert-color);background-color:var(--surreal-glass-subtle);white-space:pre-wrap}._root_hzrc8_1{vertical-align:middle;flex-shrink:0;color:var(--icon-color);width:var(--icon-size);height:var(--icon-size)}._root_hzrc8_1[flip=horizontal],._root_hzrc8_1[flip=both]{transform:scaleX(-1)}._root_hzrc8_1[flip=vertical],._root_hzrc8_1[flip=both]{transform:scaleY(-1)}._path_hzrc8_15{fill:currentColor}._spinning_hzrc8_19{animation:_spin_hzrc8_19 .5s linear infinite}@keyframes _spin_hzrc8_19{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._details_1m4wu_1{background-color:var(--surreal-paper-background);border:2px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-lg);padding:var(--mantine-spacing-xl);position:relative;overflow:hidden}._details_1m4wu_1::details-content{display:flex;flex-direction:column;gap:var(--mantine-spacing-md)}._details_1m4wu_1:before{content:" ";background:var(--surreal-gradient);position:absolute;width:100%;height:200px;border-radius:100000px;left:0;right:0;margin:0 auto;top:-220px;filter:blur(50px);pointer-events:none;z-index:0}._summary_1m4wu_32{color:var(--mantine-color-bright);font-size:var(--mantine-spacing-lg);display:flex;justify-content:space-between;align-items:center;cursor:pointer;z-index:1;position:relative}._details_1m4wu_1[open]>._summary_1m4wu_32{margin-bottom:var(--mantine-spacing-lg)}._chevron_1m4wu_47{transition:all .1s ease}._details_1m4wu_1[open]>._chevron_1m4wu_47{rotate:90deg}._details_1m4wu_1>._details_1m4wu_1{margin-top:var(--mantine-spacing-sm);margin-bottom:var(--mantine-spacing-sm)}._spinner_1dhyf_1{stroke:var(--spinner-color);width:var(--spinner-size);height:var(--spinner-size)}._spinner_g_1dhyf_7{transform-origin:center;animation:_spinner-rotate_1dhyf_1 2s linear infinite}._spinner_circle_1dhyf_12{stroke-linecap:round;animation:_spinner-dash_1dhyf_1 1.5s ease-in-out infinite}@keyframes _spinner-rotate_1dhyf_1{to{transform:rotate(360deg)}}@keyframes _spinner-dash_1dhyf_1{0%{stroke-dasharray:0 150;stroke-dashoffset:0}47.5%{stroke-dasharray:42 150;stroke-dashoffset:-16}95%,to{stroke-dasharray:42 150;stroke-dashoffset:-59}}._loader_mqlxq_1{display:flex;align-items:center;justify-content:center;gap:var(--mantine-spacing-md);transition:opacity .25s ease}._container_mqlxq_9[data-loading=false] ._loader_mqlxq_1{opacity:0;pointer-events:none}._mini_mqlxq_14{transition:opacity .25s ease}._container_mqlxq_9[data-loading=true] ._mini_mqlxq_14{opacity:0}._controls_ycnxv_1{position:absolute;display:flex;gap:8px;padding:8px;background:#0009;opacity:0;pointer-events:none;transition:opacity .15s ease;border-radius:4px;z-index:2}._thumbnail_ycnxv_14{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:1}._videoPlayer_ycnxv_24:hover ._controls_ycnxv_1,._videoPlayer_ycnxv_24:focus-within ._controls_ycnxv_1{opacity:1;pointer-events:auto}._controlsVisible_ycnxv_30{opacity:1;pointer-events:auto}._controlsTopLeft_ycnxv_35{top:12px;left:12px}._controlsTopRight_ycnxv_40{top:12px;right:12px}._controlsBottomLeft_ycnxv_45{bottom:12px;left:12px}._controlsBottomRight_ycnxv_50{bottom:12px;right:12px}._progress_ycnxv_55{position:absolute;left:0;right:0;bottom:0;height:6px;padding:0;border:0;background:#ffffff59;cursor:pointer;display:block;opacity:0;pointer-events:none;transition:opacity .15s ease 1s;margin-inline:-4px;z-index:2}._videoPlayer_ycnxv_24:hover ._progress_ycnxv_55,._videoPlayer_ycnxv_24:focus-within ._progress_ycnxv_55{opacity:1;pointer-events:auto;transition-delay:0s}._progress_ycnxv_55:disabled{cursor:default;opacity:.6}._progress_ycnxv_55:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:2px}._progressFill_ycnxv_90{height:100%;background:#fffffff2}._progressTooltip_ycnxv_95{position:absolute;bottom:100%;transform:translate(-50%);margin-bottom:8px;padding:4px 8px;border-radius:4px;background:#000c;color:#fff;font-size:12px;line-height:1;white-space:nowrap;pointer-events:none}._root_19akq_1{position:relative;font-family:var(--mantine-font-family)}._floatingActions_19akq_6{transform:translateY(-50%)}._root_1ph8i_1 .mantine-Button-label{opacity:var(--surrealist-opacity-strong)}._root_1ph8i_1:hover .mantine-Button-label{opacity:1}._root_197cu_1{min-height:0;flex:1}._editor_197cu_6{position:absolute;inset:0}._root_2wglw_1{display:block}._root_2wglw_1 text{font-family:var(--mantine-font-family-monospace);font-size:var(--mantine-font-size-xs);fill:var(--mantine-color-bright)}._root_2wglw_1 line,._root_2wglw_1 path{stroke:var(--mantine-color-slate-4);stroke-width:2;fill:none}._root_2wglw_1 rect{fill:var(--surreal-paper-background-filled);stroke-width:2}._root_2wglw_1 ._terminal_2wglw_19 rect{stroke:var(--mantine-color-slate-4)}._root_2wglw_1 ._nonTerminal_2wglw_22 rect{stroke:var(--mantine-color-violet-4)}._root_2wglw_1 ._comment_2wglw_25{fill:var(--mantine-color-text)}
2
+ :root{--surreal-opacity-subtle: .07;--surreal-opacity-medium: .3;--surreal-opacity-strong: .6;--surreal-glass-subtle: rgba(255, 255, 255, var(--surreal-opacity-subtle));--surreal-glass-medium: rgba(255, 255, 255, var(--surreal-opacity-medium));--surreal-glass-strong: rgba(255, 255, 255, var(--surreal-opacity-strong));--surreal-blur: blur(12px);--surreal-pink: #ff00a0;--surreal-purple: #9800ff;--surreal-energy: #D255FE;--surreal-passion: #651DDD;--surreal-gradient: linear-gradient(135deg, var(--surreal-energy), var(--surreal-passion));--surreal-spinner-size-xs: 1rem;--surreal-spinner-size-sm: 1.5rem;--surreal-spinner-size-md: 2rem;--surreal-spinner-size-lg: 2.5rem;--surreal-spinner-size-xl: 3rem;--surreal-icon-size-xs: .75em;--surreal-icon-size-sm: 1em;--surreal-icon-size-md: 1.25em;--surreal-icon-size-lg: 1.5em;--surreal-icon-size-xl: 2em}:root[data-mantine-color-scheme=dark]{--surreal-blend-mode: "darken";--surreal-glass-subtle: rgba(255, 255, 255, var(--surreal-opacity-subtle));--surreal-glass-medium: rgba(255, 255, 255, var(--surreal-opacity-medium));--surreal-glass-strong: rgba(255, 255, 255, var(--surreal-opacity-strong));--surreal-overlay-color: #07060a;--surreal-background-color: var(--mantine-color-obsidian-9);--surreal-pill-background: var(--mantine-color-obsidian-6);--surreal-text-gradient: linear-gradient(180deg, var(--mantine-color-obsidian-0), var(--mantine-color-obsidian-3));--surreal-paper-background-gradient: linear-gradient(135deg, var(--mantine-color-obsidian-8), var(--mantine-color-obsidian-9));--surreal-menu-background-color: var(--mantine-color-obsidian-7);--surreal-menu-background: rgba(from var(--surreal-menu-background-color) r g b / .75);--surreal-menu-shadow: 0 8px 18px rgba(0, 0, 0, .3), 0 2px 6px rgba(0, 0, 0, .3);--surreal-paper-background: var(--mantine-color-obsidian-8);--surreal-input-background: var(--mantine-color-obsidian-7);--surreal-paper-background-glass: linear-gradient(135deg, var(--mantine-color-obsidian-8), rgba(from var(--mantine-color-obsidian-9) r g b / 0));--surreal-gradient-gray: linear-gradient(101deg, rgba(111, 121, 136, .55) 3.18%, rgba(111, 121, 136, .4) 100%);--surreal-table-stripe: var(--mantine-color-obsidian-7);--surreal-table-hover-color: var(--mantine-color-obsidian-8)}:root[data-mantine-color-scheme=light]{--surreal-blend-mode: "lighten";--surreal-glass-subtle: rgba(0, 0, 0, var(--surreal-opacity-subtle));--surreal-glass-medium: rgba(0, 0, 0, var(--surreal-opacity-medium));--surreal-glass-strong: rgba(0, 0, 0, var(--surreal-opacity-strong));--surreal-overlay-color: #A29FAC;--surreal-background-color: var(--mantine-color-obsidian-1);--surreal-pill-background: var(--mantine-color-obsidian-2);--surreal-text-gradient: linear-gradient(180deg, var(--mantine-color-obsidian-6), var(--mantine-color-obsidian-9));--surreal-paper-background-gradient: linear-gradient(135deg, var(--mantine-color-obsidian-0), var(--mantine-color-obsidian-1));--surreal-menu-background-color: var(--mantine-color-obsidian-0);--surreal-menu-background: var(--surreal-menu-background-color);--surreal-menu-shadow: 0 8px 18px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .1);--surreal-paper-background: var(--mantine-color-obsidian-0);--surreal-input-background: var(--mantine-color-obsidian-2);--surreal-gradient-gray: linear-gradient(101deg, rgba(111, 121, 136, .15) 3.18%, rgba(111, 121, 136, .3) 100%);--surreal-table-stripe: var(--mantine-color-obsidian-2);--surreal-table-hover-color: var(--mantine-color-obsidian-0)}.mantine-ActionIcon-root[data-variant=surreal]{border-width:1px;border-style:solid}.mantine-CloseButton-root[data-variant=surreal]{color:var(--mantine-color-slate-outline);border:1px solid var(--surreal-glass-subtle)}.mantine-CloseButton-root[data-variant=surreal]:hover{background-color:var(--surreal-glass-subtle)}.mantine-Button-root[data-variant=surreal]{border-width:1px;border-style:solid;backdrop-filter:blur(2px)}.mantine-ActionIcon-root[data-variant=surreal]:disabled{opacity:var(--surreal-opacity-medium)}.mantine-Button-root[data-variant=transparent]:disabled,.mantine-ActionIcon-root[data-variant=transparent]:disabled{background-color:unset;opacity:var(--surreal-opacity-strong)}.mantine-Button-root[data-variant=surreal]:disabled,.mantine-Button-root[data-variant=gradient]:disabled,.mantine-ActionIcon-root[data-variant=surreal]:disabled,.mantine-Checkbox-root[data-variant=surreal]:disabled,.mantine-Radio-root[data-variant=surreal]:disabled{border-color:var(--surreal-glass-subtle);background-color:var(--surreal-glass-subtle);color:var(--mantine-color-text)}.mantine-Checkbox-icon{color:#fff;width:calc(var(--checkbox-size) / 2)}.mantine-Button-root[data-variant=gradient]:hover:not([disabled]){filter:brightness(1.1)}.mantine-InputWrapper-label{color:var(--mantine-color-bright);font-weight:600;margin-bottom:4px}.mantine-InputWrapper-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-Input-input,.mantine-PinInput-input:is([data-variant=surreal],[data-variant=gradient]){--focus-outline: color-mix(in srgb, var(--mantine-color-violet-3) 75%, var(--surreal-glass-subtle));color:var(--mantine-color-bright);font-weight:300;transition:all .25s ease;outline:1px solid transparent}.mantine-InputWrapper-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-Input-input:focus-within,.mantine-PinInput-input:is([data-variant=surreal],[data-variant=gradient]):focus-within{outline-color:var(--focus-outline)}.mantine-InputWrapper-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-Input-input::placeholder,.mantine-PinInput-input:is([data-variant=surreal],[data-variant=gradient])::placeholder{color:var(--mantine-color-text);opacity:var(--surreal-opacity-strong)}.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input,.mantine-PinInput-input[data-variant=surreal]{--focus-background: color-mix(in srgb, var(--mantine-color-violet-3) 7%, var(--surreal-input-background));background-color:var(--surreal-input-background)}.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input:focus-within,.mantine-PinInput-input[data-variant=surreal]:focus-within{background:var(--focus-background)}.mantine-InputWrapper-root[data-variant=gradient] .mantine-Input-input,.mantine-PinInput-input[data-variant=gradient]{--focus-background: color-mix(in srgb, var(--mantine-color-violet-3) 7%, var(--surreal-glass-subtle));background:linear-gradient(115deg,var(--surreal-glass-subtle),transparent)}.mantine-InputWrapper-root[data-variant=gradient] .mantine-Input-input:focus-within,.mantine-PinInput-input[data-variant=gradient]:focus-within{background:linear-gradient(115deg,var(--focus-background),transparent)}.mantine-Autocomplete-dropdown:is([data-variant=surreal],[data-variant=gradient]){overflow:hidden}.mantine-Autocomplete-dropdown:is([data-variant=surreal],[data-variant=gradient]) .mantine-Autocomplete-options{padding:4px 0 4px 4px}.mantine-Autocomplete-dropdown:is([data-variant=surreal],[data-variant=gradient]) .mantine-Autocomplete-option{border-radius:var(--mantine-radius-xs)}.mantine-Autocomplete-dropdown:is([data-variant=surreal],[data-variant=gradient]) .mantine-Autocomplete-option:hover{background-color:var(--surreal-glass-subtle)}.mantine-Paper-root[data-variant=surreal]{background:var(--surreal-paper-background)}.mantine-Paper-root[data-variant=surreal][data-with-border]{border:1px solid var(--surreal-glass-subtle)}.mantine-Paper-root[data-variant=gradient]{background:var(--surreal-paper-background-gradient)}.mantine-Paper-root[data-variant=gradient][data-with-border]{border:1px solid var(--surreal-glass-subtle)}.mantine-Paper-root[data-variant=glass]{background:var(--surreal-paper-background-glass);box-shadow:0 12px 45px var(--surreal-background-color);backdrop-filter:var(--surreal-blur);-webkit-backdrop-filter:var(--surreal-blur)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mantine-Paper-root[data-variant=glass]{background:var(--surreal-menu-background-color)}}.mantine-Paper-root[data-variant=glass][data-with-border]{border:1px solid var(--surreal-glass-subtle)}.mantine-ScrollArea-root[data-variant=surreal] .mantine-ScrollArea-scrollbar{transition:opacity .25s ease;opacity:0}.mantine-ScrollArea-root[data-variant=surreal] .mantine-ScrollArea-scrollbar[data-state=visible]{opacity:1}.mantine-ScrollArea-root[data-variant=surreal] .mantine-ScrollArea-scrollbar:hover{background-color:var(--surreal-glass-subtle);border-radius:var(--mantine-radius-xl)}.mantine-Divider-root[data-variant=surreal]{--divider-color: var(--surreal-glass-subtle)}.mantine-Divider-root[data-variant=surreal][data-orientation=horizontal]{border-top:var(--divider-size) solid var(--divider-color)}.mantine-Divider-root[data-variant=surreal][data-orientation=vertical]{border-left:var(--divider-size) solid var(--divider-color)}.mantine-Notification-root[data-variant=spaced],.mantine-Notification-root[data-variant=surreal]{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);align-items:flex-start;padding:var(--mantine-spacing-md);backdrop-filter:var(--surreal-blur);-webkit-backdrop-filter:var(--surreal-blur)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mantine-Notification-root[data-variant=spaced],.mantine-Notification-root[data-variant=surreal]{background:var(--surreal-menu-background-color)}}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-title,.mantine-Notification-root[data-variant=surreal] .mantine-Notification-title{color:var(--mantine-color-bright);font-size:var(--mantine-font-size-md);margin-block:var(--mantine-spacing-xs);font-weight:600}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-description,.mantine-Notification-root[data-variant=surreal] .mantine-Notification-description{color:var(--mantine-color-text)}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-icon,.mantine-Notification-root[data-variant=surreal] .mantine-Notification-icon{background-color:transparent;border:1px solid var(--surreal-glass-subtle);padding:15px;color:var(--notification-color);font-size:var(--mantine-font-size-lg)}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-body,.mantine-Notification-root[data-variant=surreal] .mantine-Notification-body{padding-left:var(--mantine-spacing-md)}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-body{padding-left:0}.mantine-Notification-root[data-variant=spaced]:before{display:none}.mantine-Loader-root[data-variant=surreal]:after{border:none;background:conic-gradient(from 0,transparent 15%,var(--loader-color) 100%);mask:radial-gradient(circle at center,transparent 50%,#000 0%)}.mantine-ThemeIcon-root[data-variant=surreal]{border-width:1px;border-style:solid;background-color:transparent;color:var(--ti-color)}.mantine-Tooltip-tooltip[data-variant=surreal]{color:var(--tooltip-color, var(--mantine-color-text));background-color:var(--tooltip-bg, var(--mantine-color-obsidian-5));box-shadow:var(--mantine-shadow-md);padding-block:var(--mantine-spacing-xs);padding-inline:var(--mantine-spacing-md);color:#fff}.mantine-Popover-dropdown[data-variant=surreal],.mantine-HoverCard-dropdown[data-variant=surreal],.mantine-Menu-dropdown[data-variant=surreal]{background:var(--surreal-menu-background-color);background-color:var(--surreal-menu-background);border:1px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-sm);box-shadow:var(--surreal-menu-shadow);backdrop-filter:var(--surreal-blur);-webkit-backdrop-filter:var(--surreal-blur)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mantine-Popover-dropdown[data-variant=surreal],.mantine-HoverCard-dropdown[data-variant=surreal],.mantine-Menu-dropdown[data-variant=surreal]{background:var(--surreal-menu-background-color)}}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-divider,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-divider,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-divider{border-color:var(--surreal-glass-subtle);margin-inline:calc(var(--mantine-spacing-xs) * -1);margin-block:var(--mantine-spacing-xs)}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-label,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-label,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-label{color:var(--mantine-color-bright);opacity:var(--surreal-opacity-strong);font-size:var(--mantine-font-size-xs);font-weight:600}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-item,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-item,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item{border-radius:100px;color:var(--mantine-color-bright);padding-block:var(--mantine-spacing-xs);font-weight:500}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-item:hover,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-item:hover,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item:hover{background-color:var(--menu-item-hover, var(--surreal-glass-subtle))}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=left],.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=left],.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=left]{margin-right:var(--mantine-spacing-sm)}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=right],.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=right],.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=right]{margin-left:var(--mantine-spacing-sm)}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-itemSection svg,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-itemSection svg,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-itemSection svg{opacity:var(--surreal-opacity-strong)}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient],.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient],.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient]{background:var(--surreal-gradient);color:#fff}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient] .mantine-Menu-itemSection svg,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient] .mantine-Menu-itemSection svg,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient] .mantine-Menu-itemSection svg{opacity:1}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Select-option:hover,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Select-option:hover,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Select-option:hover{background-color:var(--surreal-glass-subtle)}.mantine-Popover-dropdown[data-variant=transparent],.mantine-HoverCard-dropdown[data-variant=transparent]{background-color:transparent;border:unset;padding:0}.mantine-Modal-root[data-variant=glass] .mantine-Modal-inner,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-inner{overflow-y:auto;display:grid}.mantine-Modal-root[data-variant=glass] .mantine-Modal-content,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-content{border-radius:var(--mantine-radius-xs);overflow-y:unset;max-height:unset;width:var(--modal-size);max-width:calc(100vw - var(--modal-inner-x-offset, var(--modal-x-offset)) * 2);box-shadow:var(--mantine-shadow-xl),var(--mantine-shadow-xl),var(--mantine-shadow-xl),var(--mantine-shadow-lg),var(--mantine-shadow-md)}.mantine-Modal-root[data-variant=glass] .mantine-Modal-header,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-header{background-color:unset;position:static;padding-block:0;padding-inline:var(--mantine-spacing-xl)}.mantine-Modal-root[data-variant=glass] .mantine-Modal-title,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-title{font-size:1.25rem;color:var(--mantine-color-bright);font-weight:600}.mantine-Modal-root[data-variant=glass] .mantine-Modal-header{border:none;margin-bottom:0}.mantine-Modal-root[data-variant=glass] .mantine-Modal-content{background-color:color-mix(in srgb,var(--mantine-color-slate-6) calc(var(--surreal-opacity-strong) * 100%),transparent);background-color:var(--surreal-glass-subtle);backdrop-filter:var(--surreal-blur);-webkit-backdrop-filter:var(--surreal-blur)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mantine-Modal-root[data-variant=glass] .mantine-Modal-content{background:var(--surreal-menu-background-color)}}.mantine-Overlay-root[data-variant=surreal]{background-color:rgba(from var(--surreal-overlay-color) r g b/.75)}.mantine-Anchor-root[data-variant=surreal]{color:var(--mantine-color-bright)}.mantine-Anchor-root[data-variant=surreal]:hover,.mantine-Anchor-root[data-variant=surreal]:focus-within{color:var(--mantine-color-violet-text)}.mantine-Anchor-root[data-variant=vibrant]{color:var(--mantine-color-violet-text)}.mantine-Anchor-root[data-variant=vibrant]:hover,.mantine-Anchor-root[data-variant=vibrant]:focus-within{color:var(--mantine-color-bright)}.mantine-Anchor-root[data-variant=glow]>div{position:relative}.mantine-Anchor-root[data-variant=glow]>div:before,.mantine-Anchor-root[data-variant=glow]>div:after{content:"";position:absolute;pointer-events:none;transition:all .25s ease;inset:9px;z-index:-2;opacity:0;filter:blur(6px);mix-blend-mode:screen}.mantine-Anchor-root[data-variant=glow]>div:before{background:radial-gradient(120% 170% at 0% 0%,var(--surreal-energy) 0%,rgba(197,91,255,0) 50%),radial-gradient(120% 170% at 100% 100%,var(--surreal-passion) 0%,rgba(96,114,255,0) 50%)}.mantine-Anchor-root[data-variant=glow]>div:after{background:radial-gradient(100% 100% at 0% 0%,var(--surreal-energy) 0%,rgba(197,91,255,0) 35%),radial-gradient(100% 100% at 100% 100%,var(--surreal-passion) 0%,rgba(96,114,255,0) 35%)}.mantine-Anchor-root[data-variant=glow]>div:hover:before,.mantine-Anchor-root[data-variant=glow]>div:hover:after{inset:-9px;opacity:1}.mantine-Badge-root[data-variant=surreal]{border-radius:var(--mantine-radius-xl);background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);color:var(--mantine-color-bright)}.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-input,.mantine-Checkbox-root[data-variant=surreal] .mantine-Checkbox-input{border-radius:var(--mantine-radius-xs);background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);color:var(--mantine-color-bright)}.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-input:checked,.mantine-Checkbox-root[data-variant=surreal] .mantine-Checkbox-input:checked{background-color:var(--checkbox-color)}.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-label,.mantine-Checkbox-root[data-variant=surreal] .mantine-Checkbox-label{user-select:none}.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-input:checked{background:var(--surreal-gradient);background-origin:border-box}.mantine-Radio-root[data-variant=gradient] .mantine-Radio-radio,.mantine-Radio-root[data-variant=surreal] .mantine-Radio-radio{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);color:var(--mantine-color-bright)}.mantine-Radio-root[data-variant=gradient] .mantine-Radio-radio:checked,.mantine-Radio-root[data-variant=surreal] .mantine-Radio-radio:checked{background-color:var(--radio-color)}.mantine-Radio-root[data-variant=gradient] .mantine-Radio-label,.mantine-Radio-root[data-variant=surreal] .mantine-Radio-label{user-select:none}.mantine-Radio-root[data-variant=gradient] .mantine-Radio-radio:checked{background:var(--surreal-gradient);background-origin:border-box}.mantine-Switch-root[data-variant=gradient] .mantine-Switch-track,.mantine-Switch-root[data-variant=surreal] .mantine-Switch-track{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);cursor:pointer}.mantine-Switch-root[data-variant=gradient] .mantine-Switch-input:checked+.mantine-Switch-track,.mantine-Switch-root[data-variant=surreal] .mantine-Switch-input:checked+.mantine-Switch-track{background-color:var(--switch-color)}.mantine-Switch-root[data-variant=gradient] .mantine-Switch-input:checked+.mantine-Switch-track{background:var(--surreal-gradient);background-origin:border-box}.mantine-Tabs-tab[data-variant=surreal]{border:1px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-xl)}.mantine-Tabs-tab[data-variant=surreal][aria-selected=true]{border:1px solid var(--surreal-glass-subtle);background-color:var(--surreal-glass-subtle)}.mantine-Tabs-tab[data-variant=surreal][aria-selected=false]{border:1px solid transparent;background-color:transparent}.mantine-Skeleton-root[data-variant=surreal]:before{background-color:transparent}.mantine-Skeleton-root[data-variant=surreal]:after{background-color:var(--surreal-glass-subtle);animation-timing-function:cubic-bezier(.47,0,.745,.715)}.mantine-SegmentedControl-root[data-variant=surreal]{background-color:transparent;overflow:visible}.mantine-SegmentedControl-root[data-variant=surreal] .mantine-SegmentedControl-indicator{border-radius:3px 3px 0 0;top:unset;bottom:0;height:5px!important;background:var(--surreal-gradient)}.mantine-NavLink-root[data-variant=surreal]{transition:background-color .25s ease;border-radius:var(--mantine-radius-lg);padding:var(--mantine-spacing-xs)}.mantine-NavLink-root[data-variant=surreal] .mantine-NavLink-label{font-weight:500;color:var(--mantine-color-bright)}.mantine-NavLink-root[data-variant=surreal] .mantine-NavLink-description{font-size:var(--mantine-font-size-xs);color:var(--mantine-color-slate-2);opacity:var(--surreal-opacity-strong)}.mantine-NavLink-root[data-variant=surreal]:hover{background-color:var(--surreal-glass-subtle)}.mantine-Kbd-root[data-variant=surreal]{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);color:var(--mantine-color-bright);border-radius:var(--mantine-radius-xs)}.mantine-Title-root[data-variant=surreal-gradient]{color:var(--mantine-color-bright);background:var(--surreal-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.mantine-Title-root[data-variant=gradient]{color:var(--mantine-color-bright);background:var(--surreal-text-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.mantine-Tabs-list[data-variant=gradient]{background:var(--surreal-paper-background-gradient);border:1px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-xl);padding:4px;gap:4px;width:fit-content}.mantine-Tabs-tab[data-variant=gradient]{border-radius:var(--mantine-radius-xl);border:1px solid transparent;color:var(--mantine-color-bright);transition:background-color .2s ease,color .2s ease,border-color .2s ease;background-origin:border-box}.mantine-Tabs-tab[data-variant=gradient][aria-selected=true]{background:var(--surreal-gradient);border-color:var(--surreal-glass-subtle);color:var(--mantine-color-obsidian-0);background-origin:border-box}.mantine-Tabs-tab[data-variant=gradient][aria-selected=false]:hover{background-color:var(--surreal-glass-subtle);color:var(--mantine-color-bright)}.mantine-Pagination-root[data-variant=surreal] .mantine-Pagination-control{border-radius:var(--mantine-radius-xl);border:1px solid var(--surreal-glass-subtle);background-color:transparent;color:var(--mantine-color-bright)}.mantine-Pagination-root[data-variant=surreal] .mantine-Pagination-control[data-active=true]{background:var(--surreal-gradient-gray)}.mantine-Pagination-root[data-variant=surreal] .mantine-Pagination-control:hover{background-color:var(--surreal-glass-subtle)}.mantine-TagsInput-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-TagsInput-pill,.mantine-TagsInput-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-MultiSelect-pill,.mantine-MultiSelect-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-TagsInput-pill,.mantine-MultiSelect-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-MultiSelect-pill{background-color:var(--surreal-pill-background);font-weight:500}.mantine-TagsInput-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-Pill-remove svg,.mantine-MultiSelect-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-Pill-remove svg{width:var(--cb-icon-size, 70%)!important;height:var(--cb-icon-size, 70%)!important}.mantine-Table-table[data-variant=surreal]{--table-border-color: var(--surreal-glass-subtle) !important;--table-striped-color: var(--surreal-table-stripe) !important;--table-hover-color: var(--surreal-table-hover-color) !important}.mantine-Alert-root[data-variant=surreal]{border:none;border-left:4px solid var(--alert-color);background-color:var(--surreal-glass-subtle);white-space:pre-wrap}._root_hzrc8_1{vertical-align:middle;flex-shrink:0;color:var(--icon-color);width:var(--icon-size);height:var(--icon-size)}._root_hzrc8_1[flip=horizontal],._root_hzrc8_1[flip=both]{transform:scaleX(-1)}._root_hzrc8_1[flip=vertical],._root_hzrc8_1[flip=both]{transform:scaleY(-1)}._path_hzrc8_15{fill:currentColor}._spinning_hzrc8_19{animation:_spin_hzrc8_19 .5s linear infinite}@keyframes _spin_hzrc8_19{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._details_11g18_1{background:var(--surreal-paper-background-gradient);border:1px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-xs);padding:var(--mantine-spacing-xl);position:relative;overflow:hidden}._details_11g18_1::details-content{display:flex;flex-direction:column;gap:var(--mantine-spacing-md)}._details_11g18_1:before{content:" ";background:var(--surreal-gradient);position:absolute;width:100%;height:200px;border-radius:100000px;left:0;right:0;margin:0 auto;top:-220px;filter:blur(50px);pointer-events:none;z-index:0}._summary_11g18_32{color:var(--mantine-color-bright);font-size:var(--mantine-spacing-lg);display:flex;justify-content:space-between;align-items:center;cursor:pointer;z-index:1;position:relative}._details_11g18_1[open]>._summary_11g18_32{margin-bottom:var(--mantine-spacing-lg)}._chevron_11g18_47{transition:all .1s ease}._details_11g18_1[open]>._chevron_11g18_47{rotate:90deg}._details_11g18_1>._details_11g18_1{margin-top:var(--mantine-spacing-sm);margin-bottom:var(--mantine-spacing-sm)}._spinner_1dhyf_1{stroke:var(--spinner-color);width:var(--spinner-size);height:var(--spinner-size)}._spinner_g_1dhyf_7{transform-origin:center;animation:_spinner-rotate_1dhyf_1 2s linear infinite}._spinner_circle_1dhyf_12{stroke-linecap:round;animation:_spinner-dash_1dhyf_1 1.5s ease-in-out infinite}@keyframes _spinner-rotate_1dhyf_1{to{transform:rotate(360deg)}}@keyframes _spinner-dash_1dhyf_1{0%{stroke-dasharray:0 150;stroke-dashoffset:0}47.5%{stroke-dasharray:42 150;stroke-dashoffset:-16}95%,to{stroke-dasharray:42 150;stroke-dashoffset:-59}}._loader_mqlxq_1{display:flex;align-items:center;justify-content:center;gap:var(--mantine-spacing-md);transition:opacity .25s ease}._container_mqlxq_9[data-loading=false] ._loader_mqlxq_1{opacity:0;pointer-events:none}._mini_mqlxq_14{transition:opacity .25s ease}._container_mqlxq_9[data-loading=true] ._mini_mqlxq_14{opacity:0}._controls_ycnxv_1{position:absolute;display:flex;gap:8px;padding:8px;background:#0009;opacity:0;pointer-events:none;transition:opacity .15s ease;border-radius:4px;z-index:2}._thumbnail_ycnxv_14{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:1}._videoPlayer_ycnxv_24:hover ._controls_ycnxv_1,._videoPlayer_ycnxv_24:focus-within ._controls_ycnxv_1{opacity:1;pointer-events:auto}._controlsVisible_ycnxv_30{opacity:1;pointer-events:auto}._controlsTopLeft_ycnxv_35{top:12px;left:12px}._controlsTopRight_ycnxv_40{top:12px;right:12px}._controlsBottomLeft_ycnxv_45{bottom:12px;left:12px}._controlsBottomRight_ycnxv_50{bottom:12px;right:12px}._progress_ycnxv_55{position:absolute;left:0;right:0;bottom:0;height:6px;padding:0;border:0;background:#ffffff59;cursor:pointer;display:block;opacity:0;pointer-events:none;transition:opacity .15s ease 1s;margin-inline:-4px;z-index:2}._videoPlayer_ycnxv_24:hover ._progress_ycnxv_55,._videoPlayer_ycnxv_24:focus-within ._progress_ycnxv_55{opacity:1;pointer-events:auto;transition-delay:0s}._progress_ycnxv_55:disabled{cursor:default;opacity:.6}._progress_ycnxv_55:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:2px}._progressFill_ycnxv_90{height:100%;background:#fffffff2}._progressTooltip_ycnxv_95{position:absolute;bottom:100%;transform:translate(-50%);margin-bottom:8px;padding:4px 8px;border-radius:4px;background:#000c;color:#fff;font-size:12px;line-height:1;white-space:nowrap;pointer-events:none}._root_19akq_1{position:relative;font-family:var(--mantine-font-family)}._floatingActions_19akq_6{transform:translateY(-50%)}._root_1ph8i_1 .mantine-Button-label{opacity:var(--surrealist-opacity-strong)}._root_1ph8i_1:hover .mantine-Button-label{opacity:1}._root_197cu_1{min-height:0;flex:1}._editor_197cu_6{position:absolute;inset:0}._root_wixeq_1{display:block}._root_wixeq_1 text{font-family:var(--mantine-font-family-monospace);font-size:var(--mantine-font-size-xs);fill:var(--mantine-color-bright)}._root_wixeq_1 line,._root_wixeq_1 path{stroke:var(--mantine-color-slate-4);stroke-width:2;fill:none}._root_wixeq_1 rect{fill:var(--surreal-paper-background);stroke-width:2}._root_wixeq_1 ._terminal_wixeq_19 rect{stroke:var(--mantine-color-slate-4)}._root_wixeq_1 ._nonTerminal_wixeq_22 rect{stroke:var(--mantine-color-violet-4)}._root_wixeq_1 ._comment_wixeq_25{fill:var(--mantine-color-text)}
3
3
 
4
4
  }
package/dist/ui.d.ts CHANGED
@@ -8,6 +8,7 @@ import { ButtonProps } from '@mantine/core';
8
8
  import { CalloutElementMap } from '@yoopta/callout/dist/types';
9
9
  import { CodeProps } from '@mantine/core';
10
10
  import { Command } from '@codemirror/view';
11
+ import { default as default_2 } from 'github-slugger';
11
12
  import { DividerElementMap } from '@yoopta/divider/dist/types';
12
13
  import { EditorSelection } from '@codemirror/state';
13
14
  import { EditorView } from '@codemirror/view';
@@ -27,6 +28,7 @@ import { MantineFontSize } from '@mantine/core';
27
28
  import { MantineSize } from '@mantine/core';
28
29
  import { MantineThemeOverride } from '@mantine/core';
29
30
  import { PaperProps } from '@mantine/core';
31
+ import { PropsWithChildren } from 'react';
30
32
  import type * as React_2 from 'react';
31
33
  import { ReactNode } from 'react';
32
34
  import { RefObject } from 'react';
@@ -395,6 +397,26 @@ export declare interface CommonAttrs {
395
397
  */
396
398
  export declare const commonExtensions: () => Extension;
397
399
 
400
+ export declare function ConfirmationProvider({ enterConfirms, children, }: PropsWithChildren<ConfirmationProviderProps>): ReactNode;
401
+
402
+ export declare interface ConfirmationProviderProps {
403
+ enterConfirms?: boolean;
404
+ }
405
+
406
+ export declare interface ConfirmOptions<T> {
407
+ title?: DynamicNode<T>;
408
+ message: DynamicNode<T>;
409
+ skippable?: boolean;
410
+ dismissText?: DynamicNode<T>;
411
+ dismissProps?: ButtonProps;
412
+ confirmText?: DynamicNode<T>;
413
+ confirmProps?: ButtonProps;
414
+ verification?: string;
415
+ verifyText?: ReactNode;
416
+ onDismiss?: () => void;
417
+ onConfirm: (value: T) => void;
418
+ }
419
+
398
420
  /**
399
421
  * Get a cached style highlighter for the given color scheme
400
422
  */
@@ -471,6 +493,8 @@ export declare interface DivNode extends CommonAttrs {
471
493
  children: BlockNode[];
472
494
  }
473
495
 
496
+ declare type DynamicNode<T> = ReactNode | ((value: T) => ReactNode);
497
+
474
498
  export declare interface EditorController {
475
499
  ref: RefObject<HTMLDivElement | null>;
476
500
  mounted: boolean;
@@ -627,6 +651,8 @@ export declare const iconChart: string;
627
651
 
628
652
  export declare const iconChat: string;
629
653
 
654
+ export declare const iconChatGPT: string;
655
+
630
656
  export declare const iconCheck: string;
631
657
 
632
658
  export declare const iconCheckCircle: string;
@@ -645,6 +671,8 @@ export declare const iconCircle: string;
645
671
 
646
672
  export declare const iconCircleFilled: string;
647
673
 
674
+ export declare const iconClaude: string;
675
+
648
676
  export declare const iconClock: string;
649
677
 
650
678
  export declare const iconClose: string;
@@ -1197,6 +1225,7 @@ export declare interface ParserState {
1197
1225
  stack: string[];
1198
1226
  root: BlockNode[];
1199
1227
  currentContainer: BlockNode[];
1228
+ slugger: default_2;
1200
1229
  }
1201
1230
 
1202
1231
  export declare const picto2106: string;
@@ -1945,6 +1974,11 @@ export declare type TypeVisitor<T extends AnyNode> = (node: T, index: number | u
1945
1974
 
1946
1975
  export declare function useBlockOptions(): BlockOptionsContextValue;
1947
1976
 
1977
+ /**
1978
+ * Returns a function which can be used to trigger a confirmation dialog
1979
+ */
1980
+ export declare function useConfirmation<T = void>(options: ConfirmOptions<T>): (value?: T) => void;
1981
+
1948
1982
  export declare function useEditor(options?: EditorOptions): EditorController;
1949
1983
 
1950
1984
  /**
@@ -2044,7 +2078,7 @@ export { }
2044
2078
 
2045
2079
  declare module "@mantine/core" {
2046
2080
  type SurrealVariant = "surreal";
2047
- type SurrealInputVariant = SurrealVariant | "filled";
2081
+ type SurrealInputVariant = SurrealVariant | "gradient";
2048
2082
  interface ActionIconProps {
2049
2083
  variant?: import("@mantine/core").ActionIconVariant | SurrealVariant;
2050
2084
  }
@@ -2061,7 +2095,19 @@ declare module "@mantine/core" {
2061
2095
  variant?: import("@mantine/core").InputVariant | SurrealInputVariant;
2062
2096
  }
2063
2097
  interface AutocompleteProps {
2064
- variant?: import("@mantine/core").InputVariant | SurrealVariant;
2098
+ variant?: import("@mantine/core").InputVariant | SurrealInputVariant;
2099
+ }
2100
+ interface TextareaProps {
2101
+ variant?: import("@mantine/core").InputVariant | SurrealInputVariant;
2102
+ }
2103
+ interface NumberInputProps {
2104
+ variant?: import("@mantine/core").InputVariant | SurrealInputVariant;
2105
+ }
2106
+ interface TagsInputProps {
2107
+ variant?: import("@mantine/core").InputVariant | SurrealInputVariant;
2108
+ }
2109
+ interface MultiSelectProps {
2110
+ variant?: import("@mantine/core").InputVariant | SurrealInputVariant;
2065
2111
  }
2066
2112
  interface DividerProps {
2067
2113
  variant?: import("@mantine/core").DividerVariant | SurrealVariant;
@@ -2087,11 +2133,14 @@ declare module "@mantine/core" {
2087
2133
  interface PasswordInputProps {
2088
2134
  variant?: import("@mantine/core").InputVariant | SurrealInputVariant;
2089
2135
  }
2136
+ interface PinInputProps {
2137
+ variant?: import("@mantine/core").InputVariant | SurrealInputVariant;
2138
+ }
2090
2139
  interface NavLinkProps {
2091
2140
  variant?: import("@mantine/core").NavLinkVariant | SurrealVariant;
2092
2141
  }
2093
2142
  interface PaperProps {
2094
- variant?: SurrealVariant | "glass" | "filled";
2143
+ variant?: SurrealVariant | "glass" | "gradient";
2095
2144
  }
2096
2145
  interface ScrollAreaProps {
2097
2146
  variant?: SurrealVariant;