aloha-ui-library 0.1.6 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -32,9 +32,12 @@ function App() {
32
32
 
33
33
  ## 🎨 Features
34
34
 
35
- - **20+ UI Components**: Button, Card, Input, Badge, Avatar, Grid, Image, Popup, Loading, Error, etc.
35
+ - **25+ UI Components**: Button, Card, Input, Badge, Avatar, Grid, Image, Popup, Loading, Error, Navbar, etc.
36
+ - **Pattern System**: Pattern, PatternGroup, PatternFill - Create beautiful pattern-based designs
37
+ - **Emoji System**: 8 SVG emojis ready to use
38
+ - **Advanced Grid**: Bento UI layouts with col/row span support (1-12 columns)
36
39
  - **Typography System**: H1-H4, P, Subtitle, Lead, Small, Muted with font, color, and weight options
37
- - **Color Palette**: 11 predefined colors (olivo, lima, bosque, hueso, piedra, corteza, girasol, coral, aqua, lavanda, eléctrico)
40
+ - **Color Palette**: 14 predefined colors (olivo, lima, bosque, hueso, piedra, corteza, girasol, coral, aqua, lavanda, electrico, marmol, ice, koala)
38
41
  - **Theme System**: Adaptive colors for light/dark mode (theme-background, theme-text, theme-highlight, theme-primary)
39
42
  - **Two Fonts**: JetBrains Mono (monospace) and Nunito Sans (sans-serif) with multiple weights (light, medium, bold, black)
40
43
  - **Dark Mode Support**: Theme colors that adapt automatically
@@ -44,6 +47,66 @@ function App() {
44
47
 
45
48
  ## 💡 Usage Examples
46
49
 
50
+ ### Pattern Components
51
+
52
+ ```tsx
53
+ import { Pattern, PatternFill, PatternGroup } from 'aloha-ui-library';
54
+
55
+ // Single pattern
56
+ <Pattern name="face1" size="xl" color="bosque" />
57
+
58
+ // Auto-filling pattern grid
59
+ <PatternFill
60
+ width={800}
61
+ height={400}
62
+ patternSize={80}
63
+ gap={10}
64
+ colors={['bosque', 'lima']}
65
+ randomRotation
66
+ backgroundColor="ice"
67
+ />
68
+
69
+ // Group of patterns with custom rotations
70
+ <PatternGroup
71
+ direction="row"
72
+ size="lg"
73
+ patterns={[
74
+ { pattern: 'face1', color: 'bosque', rotation: 0 },
75
+ { pattern: 'face2', color: 'lima', rotation: 90 },
76
+ ]}
77
+ />
78
+ ```
79
+
80
+ ### Emoji Components
81
+
82
+ ```tsx
83
+ import { Emoji } from 'aloha-ui-library';
84
+
85
+ <Emoji name="happy" size="lg" />
86
+ <Emoji name="melt" size="xl" />
87
+ ```
88
+
89
+ ### Advanced Grid (Bento UI)
90
+
91
+ ```tsx
92
+ import { Grid, GridItem } from 'aloha-ui-library';
93
+
94
+ // Bento-style layout
95
+ <Grid columns={4} gap={4}>
96
+ <GridItem colSpan={2} rowSpan={2} backgroundColor="bosque" padding={8} rounded="2xl">
97
+ <h2>Main Content</h2>
98
+ </GridItem>
99
+
100
+ <GridItem backgroundColor="lima" padding={6} rounded="xl">
101
+ <div>Card 1</div>
102
+ </GridItem>
103
+
104
+ <GridItem backgroundColor="coral" padding={6} rounded="xl">
105
+ <div>Card 2</div>
106
+ </GridItem>
107
+ </Grid>
108
+ ```
109
+
47
110
  ### Typography with Colors
48
111
 
49
112
  ```tsx
@@ -13,12 +13,16 @@ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElemen
13
13
  disabled?: boolean;
14
14
  /** Loading state */
15
15
  loading?: boolean;
16
- /** Color from Aloha palette */
16
+ /** Background color from Aloha palette */
17
17
  color?: ColorName;
18
18
  /** Text color from Aloha palette */
19
19
  textColor?: ColorName;
20
+ /** Border color from Aloha palette */
21
+ borderColor?: ColorName;
20
22
  /** Icon or image element to show on the left */
21
23
  icon?: React.ReactNode;
24
+ /** Border width (1-4px) */
25
+ borderWidth?: 1 | 2 | 3 | 4;
22
26
  }
23
27
  declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
24
28
  export { Button, buttonVariants };
@@ -1,8 +1,32 @@
1
1
  import React from 'react';
2
- declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
2
+ import { FontFamily, FontWeight, ColorOption } from './Typography';
3
+ export type CardSize = 'full' | 'constrained' | 'auto';
4
+ export type BorderRadius = 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
5
+ export type TitleComponent = 'h1' | 'h2' | 'h3' | 'h4';
6
+ export interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
7
+ size?: CardSize;
8
+ borderRadius?: BorderRadius;
9
+ showBorder?: boolean;
10
+ backgroundColor?: ColorOption;
11
+ borderColor?: ColorOption;
12
+ shadow?: boolean;
13
+ }
14
+ declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
3
15
  declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
4
- declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLParagraphElement>>;
5
- declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
16
+ export interface CardTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {
17
+ component?: TitleComponent;
18
+ font?: FontFamily;
19
+ weight?: FontWeight;
20
+ titleColor?: ColorOption;
21
+ }
22
+ declare const CardTitle: React.ForwardRefExoticComponent<CardTitleProps & React.RefAttributes<HTMLHeadingElement>>;
23
+ export interface CardDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> {
24
+ font?: FontFamily;
25
+ weight?: FontWeight;
26
+ descriptionColor?: ColorOption;
27
+ small?: boolean;
28
+ }
29
+ declare const CardDescription: React.ForwardRefExoticComponent<CardDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
6
30
  declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
7
31
  declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
8
32
  export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ declare const emojiMap: {
3
+ readonly crazy: string;
4
+ readonly explosion: string;
5
+ readonly happy: string;
6
+ readonly hi: string;
7
+ readonly impact: string;
8
+ readonly interesting: string;
9
+ readonly melt: string;
10
+ readonly mewing: string;
11
+ };
12
+ export type EmojiName = keyof typeof emojiMap;
13
+ export type EmojiSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
14
+ export interface EmojiProps extends React.HTMLAttributes<HTMLImageElement> {
15
+ /** Name of the emoji */
16
+ name: EmojiName;
17
+ /** Size of the emoji */
18
+ size?: EmojiSize;
19
+ /** Alt text for accessibility */
20
+ alt?: string;
21
+ }
22
+ declare const Emoji: React.ForwardRefExoticComponent<EmojiProps & React.RefAttributes<HTMLImageElement>>;
23
+ export { Emoji, emojiMap };
@@ -1,19 +1,50 @@
1
1
  import React from 'react';
2
+ import { type ColorName } from '../colors';
2
3
  export interface GridProps extends React.HTMLAttributes<HTMLDivElement> {
3
- /** Number of columns (2, 3, or 4) */
4
- columns?: 2 | 3 | 4;
5
- /** Gap between grid items */
6
- gap?: string;
4
+ /** Number of columns (1-12 for full control) */
5
+ columns?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
6
+ /** Number of rows (auto by default) */
7
+ rows?: 'auto' | number;
8
+ /** Gap between grid items (in pixels or tailwind spacing) */
9
+ gap?: number | string;
7
10
  /** Children components */
8
11
  children: React.ReactNode;
9
- /** Additional CSS classes */
10
- className?: string;
12
+ /** Make grid responsive (auto-adjusts columns on mobile) */
13
+ responsive?: boolean;
14
+ /** Minimum column width for auto-fit (e.g., '250px') */
15
+ autoFit?: string;
16
+ /** Background color */
17
+ backgroundColor?: ColorName | 'transparent';
18
+ /** Padding */
19
+ padding?: number | string;
20
+ /** Border radius */
21
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
11
22
  }
12
23
  export declare const Grid: React.ForwardRefExoticComponent<GridProps & React.RefAttributes<HTMLDivElement>>;
13
24
  export interface GridItemProps extends React.HTMLAttributes<HTMLDivElement> {
14
25
  /** Children components */
15
26
  children: React.ReactNode;
16
- /** Additional CSS classes */
17
- className?: string;
27
+ /** Number of columns to span (1-12) */
28
+ colSpan?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 'full';
29
+ /** Number of rows to span (1-12) */
30
+ rowSpan?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 'full';
31
+ /** Column start position (1-12) */
32
+ colStart?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
33
+ /** Row start position (1-12) */
34
+ rowStart?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
35
+ /** Background color */
36
+ backgroundColor?: ColorName | 'transparent' | string;
37
+ /** Padding */
38
+ padding?: number | string;
39
+ /** Border radius */
40
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
41
+ /** Display flex content */
42
+ flex?: boolean;
43
+ /** Flex direction */
44
+ flexDirection?: 'row' | 'col';
45
+ /** Align items */
46
+ align?: 'start' | 'center' | 'end' | 'stretch';
47
+ /** Justify content */
48
+ justify?: 'start' | 'center' | 'end' | 'between' | 'around';
18
49
  }
19
50
  export declare const GridItem: React.ForwardRefExoticComponent<GridItemProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { ColorOption } from './Typography';
3
+ export type IconName = 'chat' | 'friends' | 'home' | 'lang' | 'location' | 'mail' | 'music' | 'notify' | 'settings';
4
+ export type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
5
+ export interface IconProps extends React.HTMLAttributes<HTMLDivElement> {
6
+ name: IconName;
7
+ size?: IconSize;
8
+ color?: ColorOption;
9
+ }
10
+ declare const Icon: React.ForwardRefExoticComponent<IconProps & React.RefAttributes<HTMLDivElement>>;
11
+ export { Icon };
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { ColorOption } from './Typography';
3
+ export type LogoVariant = 'horizontal' | 'vertical' | 'icon';
4
+ export type LogoSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
5
+ export interface LogoProps extends React.HTMLAttributes<HTMLDivElement> {
6
+ variant?: LogoVariant;
7
+ size?: LogoSize;
8
+ color?: ColorOption;
9
+ }
10
+ declare const Logo: React.ForwardRefExoticComponent<LogoProps & React.RefAttributes<HTMLDivElement>>;
11
+ export { Logo };
@@ -0,0 +1,60 @@
1
+ import React from 'react';
2
+ import { LogoVariant, LogoSize } from './Logo';
3
+ import { IconName } from './Icon';
4
+ import { ColorOption } from './Typography';
5
+ import { ColorName } from '../colors';
6
+ export type NavbarVariant = 'nologin' | 'onlogin';
7
+ export interface NavItem {
8
+ /** Icon name */
9
+ icon: IconName;
10
+ /** Label text */
11
+ label: string;
12
+ /** Click handler */
13
+ onClick?: () => void;
14
+ /** Navigation path (for use with router navigate) */
15
+ to?: string;
16
+ /** If true, this item is active/selected */
17
+ active?: boolean;
18
+ }
19
+ export interface NavbarProps extends React.HTMLAttributes<HTMLElement> {
20
+ /** Navbar variant */
21
+ variant?: NavbarVariant;
22
+ /** Logo variant to display */
23
+ logoVariant?: LogoVariant;
24
+ /** Logo size */
25
+ logoSize?: LogoSize;
26
+ /** Logo color */
27
+ logoColor?: ColorOption;
28
+ /** Background color from Aloha palette (only for nologin) */
29
+ backgroundColor?: ColorName;
30
+ /** Text color */
31
+ textColor?: ColorName;
32
+ /** Active item indicator color (border around icon) */
33
+ activeColor?: ColorName;
34
+ /** Nav items background color (onlogin only) */
35
+ navItemsBgColor?: ColorName;
36
+ /** Button background color (nologin only) */
37
+ buttonColor?: ColorName;
38
+ /** Button text color (nologin only) */
39
+ buttonTextColor?: ColorName;
40
+ /** Button border color (nologin only) */
41
+ buttonBorderColor?: ColorName;
42
+ /** Current language label (e.g., "ES", "EN") (nologin only) */
43
+ currentLanguage?: string;
44
+ /** Language selector click handler (nologin only) */
45
+ onLanguageClick?: () => void;
46
+ /** Action button click handler (nologin only) */
47
+ onActionClick?: () => void;
48
+ /** Custom logo element (overrides default Logo component) */
49
+ customLogo?: React.ReactNode;
50
+ /** If true, shows "Register" instead of "Login" (nologin only) */
51
+ isRegister?: boolean;
52
+ /** Button text (overrides default "Iniciar Sesión" or "Registrarse") (nologin only) */
53
+ buttonText?: string;
54
+ /** Navigation items (onlogin only) */
55
+ navItems?: NavItem[];
56
+ /** Navigate function from router (onlogin only) */
57
+ navigate?: (path: string) => void;
58
+ }
59
+ declare const Navbar: React.ForwardRefExoticComponent<NavbarProps & React.RefAttributes<HTMLElement>>;
60
+ export { Navbar };
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { ColorName } from '../colors';
3
+ declare const patternMap: {
4
+ readonly face1: string;
5
+ readonly face2: string;
6
+ readonly face3: string;
7
+ readonly face4: string;
8
+ readonly face5: string;
9
+ readonly face6: string;
10
+ };
11
+ export type PatternName = keyof typeof patternMap;
12
+ export type PatternSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
13
+ export interface PatternProps extends React.HTMLAttributes<HTMLDivElement> {
14
+ /** Name of the pattern */
15
+ name: PatternName;
16
+ /** Size of the pattern */
17
+ size?: PatternSize;
18
+ /** Primary color (will replace the pattern's main color) */
19
+ color?: ColorName;
20
+ /** Background color */
21
+ backgroundColor?: ColorName | 'transparent';
22
+ /** If true, the pattern will be used as a repeating background */
23
+ repeat?: boolean;
24
+ /** Custom width (only used when repeat is false) */
25
+ width?: number;
26
+ /** Custom height (only used when repeat is false) */
27
+ height?: number;
28
+ /** Padding around the pattern (in pixels) */
29
+ padding?: number;
30
+ /** Border radius (rounded corners) */
31
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
32
+ }
33
+ declare const Pattern: React.ForwardRefExoticComponent<PatternProps & React.RefAttributes<HTMLDivElement>>;
34
+ export { Pattern, patternMap };
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import { type PatternName } from './Pattern';
3
+ import { type ColorName } from '../colors';
4
+ export interface PatternFillProps extends React.HTMLAttributes<HTMLDivElement> {
5
+ /** Width of the container (px or '100%') */
6
+ width?: number | string;
7
+ /** Height of the container (px or '100%') */
8
+ height?: number | string;
9
+ /** Size of each pattern (px) */
10
+ patternSize?: number;
11
+ /** Gap between patterns (px) */
12
+ gap?: number;
13
+ /** Array of patterns to use (if empty, uses all patterns randomly) */
14
+ patterns?: PatternName[];
15
+ /** Array of colors to use (if empty, uses random colors) */
16
+ colors?: ColorName[];
17
+ /** If true, patterns will be randomly rotated (only 0°, 90°, 180°, 270°) */
18
+ randomRotation?: boolean;
19
+ /** If true, patterns will have random scales */
20
+ randomScale?: boolean;
21
+ /** If true, patterns will have random opacity */
22
+ randomOpacity?: boolean;
23
+ /** Background color of the container */
24
+ backgroundColor?: ColorName | 'transparent';
25
+ /** Border radius */
26
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
27
+ /** Padding around the container */
28
+ padding?: number;
29
+ }
30
+ declare const PatternFill: React.ForwardRefExoticComponent<PatternFillProps & React.RefAttributes<HTMLDivElement>>;
31
+ export { PatternFill };
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { type PatternName } from './Pattern';
3
+ import { type ColorName } from '../colors';
4
+ export interface PatternGroupItem {
5
+ /** Pattern name */
6
+ pattern: PatternName;
7
+ /** Color for this pattern */
8
+ color?: ColorName;
9
+ /** Rotation angle in degrees */
10
+ rotation?: number;
11
+ /** Scale factor (1 = normal size) */
12
+ scale?: number;
13
+ /** Opacity (0-1) */
14
+ opacity?: number;
15
+ }
16
+ export interface PatternGroupProps extends React.HTMLAttributes<HTMLDivElement> {
17
+ /** Array of patterns to display */
18
+ patterns: PatternGroupItem[];
19
+ /** Background color for the entire group */
20
+ backgroundColor?: ColorName | 'transparent';
21
+ /** Gap between patterns (in pixels) */
22
+ gap?: number;
23
+ /** Layout direction */
24
+ direction?: 'row' | 'column' | 'grid';
25
+ /** Number of columns (only for grid layout) */
26
+ columns?: number;
27
+ /** Size for all patterns */
28
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
29
+ /** Padding around the group */
30
+ padding?: number;
31
+ /** Border radius */
32
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
33
+ }
34
+ declare const PatternGroup: React.ForwardRefExoticComponent<PatternGroupProps & React.RefAttributes<HTMLDivElement>>;
35
+ export { PatternGroup };
@@ -1,6 +1,10 @@
1
1
  import React from 'react';
2
+ import { FontFamily, FontWeight, ColorOption } from './Typography';
2
3
  export interface SwitchProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> {
3
4
  label?: string;
5
+ font?: FontFamily;
6
+ weight?: FontWeight;
7
+ labelColor?: ColorOption;
4
8
  }
5
9
  declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLInputElement>>;
6
10
  export { Switch };
@@ -1,7 +1,11 @@
1
1
  import React from 'react';
2
- export type ColorOption = 'olivo' | 'lima' | 'bosque' | 'hueso' | 'piedra' | 'corteza' | 'girasol' | 'coral' | 'aqua' | 'lavanda' | 'electrico' | 'marmol' | 'ice' | 'koala' | 'theme-background' | 'theme-text' | 'theme-highlight' | 'theme-primary' | 'default';
2
+ import { FontFamily, FontWeight, ColorOption } from './Typography';
3
+ export type TypographyComponent = 'h1' | 'h2' | 'h3' | 'h4' | 'p' | 'small' | 'muted';
3
4
  export interface TextDividerProps extends React.HTMLAttributes<HTMLDivElement> {
4
5
  text: string;
6
+ component?: TypographyComponent;
7
+ font?: FontFamily;
8
+ weight?: FontWeight;
5
9
  textColor?: ColorOption;
6
10
  lineColor?: ColorOption;
7
11
  lineThickness?: number;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  export type FontFamily = 'jetbrains' | 'nunito' | 'default';
3
3
  export type FontWeight = 'light' | 'medium' | 'bold' | 'black';
4
- export type ColorOption = 'olivo' | 'lima' | 'bosque' | 'hueso' | 'piedra' | 'corteza' | 'girasol' | 'coral' | 'aqua' | 'lavanda' | 'electrico' | 'theme-background' | 'theme-text' | 'theme-highlight' | 'theme-primary' | 'default';
4
+ export type ColorOption = 'olivo' | 'lima' | 'bosque' | 'hueso' | 'piedra' | 'corteza' | 'girasol' | 'coral' | 'aqua' | 'lavanda' | 'electrico' | 'marmol' | 'ice' | 'koala' | 'theme-background' | 'theme-text' | 'theme-highlight' | 'theme-primary' | 'default';
5
5
  export interface HeadingProps extends React.HTMLAttributes<HTMLHeadingElement> {
6
6
  children: React.ReactNode;
7
7
  className?: string;
package/dist/index.css CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  /*
4
4
  ! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com
5
- */*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-3{left:.75rem}.top-1\/2{top:50%}.z-50{z-index:50}.m-0{margin:0}.m-auto{margin:auto}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-full{height:100%}.max-h-96{max-height:24rem}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-\[350px\]{width:350px}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.scroll-m-20{scroll-margin:5rem}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(3rem*var(--tw-space-y-reverse));margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-\[0\.6rem\]{border-radius:.6rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-\[\#A69C8A\]{--tw-border-opacity:1;border-color:rgb(166 156 138/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-current{border-color:currentColor}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[\#0084FF\]{--tw-bg-opacity:1;background-color:rgb(0 132 255/var(--tw-bg-opacity,1))}.bg-\[\#383517\]{--tw-bg-opacity:1;background-color:rgb(56 53 23/var(--tw-bg-opacity,1))}.bg-\[\#4A443F\]{--tw-bg-opacity:1;background-color:rgb(74 68 63/var(--tw-bg-opacity,1))}.bg-\[\#648C2C\]{--tw-bg-opacity:1;background-color:rgb(100 140 44/var(--tw-bg-opacity,1))}.bg-\[\#66FFCC\]{--tw-bg-opacity:1;background-color:rgb(102 255 204/var(--tw-bg-opacity,1))}.bg-\[\#6B5B3E\]{--tw-bg-opacity:1;background-color:rgb(107 91 62/var(--tw-bg-opacity,1))}.bg-\[\#A69C8A\]{--tw-bg-opacity:1;background-color:rgb(166 156 138/var(--tw-bg-opacity,1))}.bg-\[\#B388D3\]{--tw-bg-opacity:1;background-color:rgb(179 136 211/var(--tw-bg-opacity,1))}.bg-\[\#B4DE6E\]{--tw-bg-opacity:1;background-color:rgb(180 222 110/var(--tw-bg-opacity,1))}.bg-\[\#D8D8C1\]{--tw-bg-opacity:1;background-color:rgb(216 216 193/var(--tw-bg-opacity,1))}.bg-\[\#F5F5DC\]{--tw-bg-opacity:1;background-color:rgb(245 245 220/var(--tw-bg-opacity,1))}.bg-\[\#FEFEFC\]{--tw-bg-opacity:1;background-color:rgb(254 254 252/var(--tw-bg-opacity,1))}.bg-\[\#FF6F61\]{--tw-bg-opacity:1;background-color:rgb(255 111 97/var(--tw-bg-opacity,1))}.bg-\[\#FFD400\]{--tw-bg-opacity:1;background-color:rgb(255 212 0/var(--tw-bg-opacity,1))}.bg-background{background-color:hsl(var(--background))}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-50\/50{background-color:rgba(239,246,255,.5)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-card{background-color:hsl(var(--background))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-muted{background-color:hsl(var(--muted))}.bg-primary{background-color:hsl(var(--primary))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.object-none{-o-object-fit:none;object-fit:none}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.pb-2{padding-bottom:.5rem}.pl-10{padding-left:2.5rem}.pt-0{padding-top:0}.text-center{text-align:center}.font-jetbrains{font-family:JetBrains Mono,monospace}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-nunito{font-family:Nunito Sans,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.leading-7{line-height:1.75rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[\#0084FF\]{--tw-text-opacity:1;color:rgb(0 132 255/var(--tw-text-opacity,1))}.text-\[\#383517\]{--tw-text-opacity:1;color:rgb(56 53 23/var(--tw-text-opacity,1))}.text-\[\#4A443F\]{--tw-text-opacity:1;color:rgb(74 68 63/var(--tw-text-opacity,1))}.text-\[\#648C2C\]{--tw-text-opacity:1;color:rgb(100 140 44/var(--tw-text-opacity,1))}.text-\[\#66FFCC\]{--tw-text-opacity:1;color:rgb(102 255 204/var(--tw-text-opacity,1))}.text-\[\#6B5B3E\]{--tw-text-opacity:1;color:rgb(107 91 62/var(--tw-text-opacity,1))}.text-\[\#A69C8A\]{--tw-text-opacity:1;color:rgb(166 156 138/var(--tw-text-opacity,1))}.text-\[\#B388D3\]{--tw-text-opacity:1;color:rgb(179 136 211/var(--tw-text-opacity,1))}.text-\[\#B4DE6E\]{--tw-text-opacity:1;color:rgb(180 222 110/var(--tw-text-opacity,1))}.text-\[\#D8D8C1\]{--tw-text-opacity:1;color:rgb(216 216 193/var(--tw-text-opacity,1))}.text-\[\#F5F5DC\]{--tw-text-opacity:1;color:rgb(245 245 220/var(--tw-text-opacity,1))}.text-\[\#FEFEFC\]{--tw-text-opacity:1;color:rgb(254 254 252/var(--tw-text-opacity,1))}.text-\[\#FF6F61\]{--tw-text-opacity:1;color:rgb(255 111 97/var(--tw-text-opacity,1))}.text-\[\#FFD400\]{--tw-text-opacity:1;color:rgb(255 212 0/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-card-foreground{color:hsl(var(--foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}:root{--primary:210 100% 50%;--primary-foreground:0 0% 100%;--secondary:220 14% 96%;--secondary-foreground:222 47% 11%;--muted:220 14% 96%;--muted-foreground:220 9% 46%;--accent:220 14% 96%;--accent-foreground:222 47% 11%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--border:220 13% 91%;--input:220 13% 91%;--ring:210 100% 50%;--radius:0.5rem;--background:0 0% 100%;--foreground:222 47% 11%;--colors-olivo:#383517;--colors-lima:#b4de6e;--colors-bosque:#648c2c;--colors-hueso:beige;--colors-piedra:#4a443f;--colors-corteza:#6b5b3e;--colors-girasol:#ffd400;--colors-coral:#ff6f61;--colors-aqua:#6fc;--colors-lavanda:#b388d3;--colors-electrico:#0084ff;--theme-background:var(--colors-hueso);--theme-text:var(--colors-olivo);--theme-highlight:var(--colors-corteza);--theme-primary:var(--colors-lima);--font-jetbrains:"JetBrains Mono",monospace;--font-nunito:"Nunito Sans",sans-serif}.dark{--primary:210 100% 50%;--primary-foreground:0 0% 100%;--secondary:217 33% 17%;--secondary-foreground:210 40% 98%;--muted:217 33% 17%;--muted-foreground:215 20% 65%;--accent:217 33% 17%;--accent-foreground:210 40% 98%;--destructive:0 63% 31%;--destructive-foreground:210 40% 98%;--border:217 33% 17%;--input:217 33% 17%;--ring:210 100% 50%;--background:222 47% 11%;--foreground:210 40% 98%;--theme-background:var(--colors-piedra);--theme-text:var(--colors-hueso);--theme-highlight:var(--colors-corteza);--theme-primary:var(--colors-bosque)}*{border-color:hsl(var(--border))}body{font-feature-settings:"rlig" 1,"calt" 1;background-color:hsl(var(--background));color:hsl(var(--foreground))}.placeholder\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.placeholder\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:left-\[3px\]:after{content:var(--tw-content);left:3px}.after\:top-\[3px\]:after{content:var(--tw-content);top:3px}.after\:h-\[26px\]:after{content:var(--tw-content);height:26px}.after\:w-\[26px\]:after{content:var(--tw-content);width:26px}.after\:rounded-md:after{border-radius:calc(var(--radius) - 2px);content:var(--tw-content)}.after\:bg-white:after{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));content:var(--tw-content)}.after\:shadow-md:after{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);content:var(--tw-content)}.after\:transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\:content-\[\"\"\]:after{--tw-content:"";content:var(--tw-content)}.first\:mt-0:first-child{margin-top:0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-\[\#0070d9\]:hover{--tw-text-opacity:1;color:rgb(0 112 217/var(--tw-text-opacity,1))}.hover\:text-\[\#2a2811\]:hover{--tw-text-opacity:1;color:rgb(42 40 17/var(--tw-text-opacity,1))}.hover\:text-\[\#363230\]:hover{--tw-text-opacity:1;color:rgb(54 50 48/var(--tw-text-opacity,1))}.hover\:text-\[\#4f7023\]:hover{--tw-text-opacity:1;color:rgb(79 112 35/var(--tw-text-opacity,1))}.hover\:text-\[\#52e5b8\]:hover{--tw-text-opacity:1;color:rgb(82 229 184/var(--tw-text-opacity,1))}.hover\:text-\[\#564b33\]:hover{--tw-text-opacity:1;color:rgb(86 75 51/var(--tw-text-opacity,1))}.hover\:text-\[\#94897a\]:hover{--tw-text-opacity:1;color:rgb(148 137 122/var(--tw-text-opacity,1))}.hover\:text-\[\#9bc95a\]:hover{--tw-text-opacity:1;color:rgb(155 201 90/var(--tw-text-opacity,1))}.hover\:text-\[\#9f73bf\]:hover{--tw-text-opacity:1;color:rgb(159 115 191/var(--tw-text-opacity,1))}.hover\:text-\[\#c4c4ad\]:hover{--tw-text-opacity:1;color:rgb(196 196 173/var(--tw-text-opacity,1))}.hover\:text-\[\#e55b4d\]:hover{--tw-text-opacity:1;color:rgb(229 91 77/var(--tw-text-opacity,1))}.hover\:text-\[\#e5be00\]:hover{--tw-text-opacity:1;color:rgb(229 190 0/var(--tw-text-opacity,1))}.hover\:text-\[\#e5e5cc\]:hover{--tw-text-opacity:1;color:rgb(229 229 204/var(--tw-text-opacity,1))}.hover\:text-\[\#eeeeea\]:hover{--tw-text-opacity:1;color:rgb(238 238 234/var(--tw-text-opacity,1))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.peer:checked~.peer-checked\:border-\[\#4A443F\]{--tw-border-opacity:1;border-color:rgb(74 68 63/var(--tw-border-opacity,1))}.peer:checked~.peer-checked\:bg-\[\#4A443F\]{--tw-bg-opacity:1;background-color:rgb(74 68 63/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:after\:translate-x-\[24px\]:after{--tw-translate-x:24px;content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:focus~.peer-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}.peer:focus~.peer-focus\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\:ring-\[\#4A443F\]\/30{--tw-ring-color:rgba(74,68,63,.3)}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-50{opacity:.5}.dark\:bg-blue-950\/20:is(.dark *){background-color:rgba(23,37,84,.2)}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:text-5xl{font-size:3rem;line-height:1}}.\[\&\:not\(\:first-child\)\]\:mt-0:not(:first-child){margin-top:0}.\[\&\:not\(\:first-child\)\]\:mt-1:not(:first-child){margin-top:.25rem}.\[\&\:not\(\:first-child\)\]\:mt-6:not(:first-child){margin-top:1.5rem}
5
+ */*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem;width:100%}@media (min-width:1400px){.container{max-width:1400px}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-4{bottom:1rem}.left-3{left:.75rem}.left-4{left:1rem}.right-4{right:1rem}.top-1\/2{top:50%}.top-4{top:1rem}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-10{grid-column-start:10}.col-start-11{grid-column-start:11}.col-start-12{grid-column-start:12}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-4{grid-column-start:4}.col-start-5{grid-column-start:5}.col-start-6{grid-column-start:6}.col-start-7{grid-column-start:7}.col-start-8{grid-column-start:8}.col-start-9{grid-column-start:9}.row-span-1{grid-row:span 1/span 1}.row-span-10{grid-row:span 10/span 10}.row-span-11{grid-row:span 11/span 11}.row-span-12{grid-row:span 12/span 12}.row-span-2{grid-row:span 2/span 2}.row-span-3{grid-row:span 3/span 3}.row-span-4{grid-row:span 4/span 4}.row-span-5{grid-row:span 5/span 5}.row-span-6{grid-row:span 6/span 6}.row-span-7{grid-row:span 7/span 7}.row-span-8{grid-row:span 8/span 8}.row-span-9{grid-row:span 9/span 9}.row-span-full{grid-row:1/-1}.row-start-1{grid-row-start:1}.row-start-10{grid-row-start:10}.row-start-11{grid-row-start:11}.row-start-12{grid-row-start:12}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.row-start-4{grid-row-start:4}.row-start-5{grid-row-start:5}.row-start-6{grid-row-start:6}.row-start-7{grid-row-start:7}.row-start-8{grid-row-start:8}.row-start-9{grid-row-start:9}.m-0{margin:0}.m-auto{margin:auto}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[200px\]{height:200px}.h-\[250px\]{height:250px}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-full{height:100%}.max-h-96{max-height:24rem}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[300px\]{width:300px}.w-\[350px\]{width:350px}.w-\[500px\]{width:500px}.w-\[512px\]{width:512px}.w-\[600px\]{width:600px}.w-\[800px\]{width:800px}.w-\[900px\]{width:900px}.w-auto{width:auto}.w-full{width:100%}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.scale-105{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.scroll-m-20{scroll-margin:5rem}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(3rem*var(--tw-space-y-reverse));margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[0\.6rem\]{border-radius:.6rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-\[\#0084FF\]{--tw-border-opacity:1;border-color:rgb(0 132 255/var(--tw-border-opacity,1))}.border-\[\#383517\]{--tw-border-opacity:1;border-color:rgb(56 53 23/var(--tw-border-opacity,1))}.border-\[\#4A443F\]{--tw-border-opacity:1;border-color:rgb(74 68 63/var(--tw-border-opacity,1))}.border-\[\#648C2C\]{--tw-border-opacity:1;border-color:rgb(100 140 44/var(--tw-border-opacity,1))}.border-\[\#66FFCC\]{--tw-border-opacity:1;border-color:rgb(102 255 204/var(--tw-border-opacity,1))}.border-\[\#6B5B3E\]{--tw-border-opacity:1;border-color:rgb(107 91 62/var(--tw-border-opacity,1))}.border-\[\#A69C8A\]{--tw-border-opacity:1;border-color:rgb(166 156 138/var(--tw-border-opacity,1))}.border-\[\#B388D3\]{--tw-border-opacity:1;border-color:rgb(179 136 211/var(--tw-border-opacity,1))}.border-\[\#B4DE6E\]{--tw-border-opacity:1;border-color:rgb(180 222 110/var(--tw-border-opacity,1))}.border-\[\#D8D8C1\]{--tw-border-opacity:1;border-color:rgb(216 216 193/var(--tw-border-opacity,1))}.border-\[\#F5F5DC\]{--tw-border-opacity:1;border-color:rgb(245 245 220/var(--tw-border-opacity,1))}.border-\[\#FEFEFC\]{--tw-border-opacity:1;border-color:rgb(254 254 252/var(--tw-border-opacity,1))}.border-\[\#FF6F61\]{--tw-border-opacity:1;border-color:rgb(255 111 97/var(--tw-border-opacity,1))}.border-\[\#FFD400\]{--tw-border-opacity:1;border-color:rgb(255 212 0/var(--tw-border-opacity,1))}.border-black\/10{border-color:rgba(0,0,0,.1)}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-border{border-color:hsl(var(--border))}.border-current{border-color:currentColor}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:transparent}.bg-\[\#0084FF\]{--tw-bg-opacity:1;background-color:rgb(0 132 255/var(--tw-bg-opacity,1))}.bg-\[\#383517\]{--tw-bg-opacity:1;background-color:rgb(56 53 23/var(--tw-bg-opacity,1))}.bg-\[\#4A443F\]{--tw-bg-opacity:1;background-color:rgb(74 68 63/var(--tw-bg-opacity,1))}.bg-\[\#648C2C\]{--tw-bg-opacity:1;background-color:rgb(100 140 44/var(--tw-bg-opacity,1))}.bg-\[\#66FFCC\]{--tw-bg-opacity:1;background-color:rgb(102 255 204/var(--tw-bg-opacity,1))}.bg-\[\#6B5B3E\]{--tw-bg-opacity:1;background-color:rgb(107 91 62/var(--tw-bg-opacity,1))}.bg-\[\#A69C8A\]{--tw-bg-opacity:1;background-color:rgb(166 156 138/var(--tw-bg-opacity,1))}.bg-\[\#B388D3\]{--tw-bg-opacity:1;background-color:rgb(179 136 211/var(--tw-bg-opacity,1))}.bg-\[\#B4DE6E\]{--tw-bg-opacity:1;background-color:rgb(180 222 110/var(--tw-bg-opacity,1))}.bg-\[\#D8D8C1\]{--tw-bg-opacity:1;background-color:rgb(216 216 193/var(--tw-bg-opacity,1))}.bg-\[\#F5F5DC\]{--tw-bg-opacity:1;background-color:rgb(245 245 220/var(--tw-bg-opacity,1))}.bg-\[\#FEFEFC\]{--tw-bg-opacity:1;background-color:rgb(254 254 252/var(--tw-bg-opacity,1))}.bg-\[\#FF6F61\]{--tw-bg-opacity:1;background-color:rgb(255 111 97/var(--tw-bg-opacity,1))}.bg-\[\#FFD400\]{--tw-bg-opacity:1;background-color:rgb(255 212 0/var(--tw-bg-opacity,1))}.bg-background{background-color:hsl(var(--background))}.bg-black\/10{background-color:rgba(0,0,0,.1)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-50\/50{background-color:rgba(239,246,255,.5)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-card{background-color:hsl(var(--background))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-muted{background-color:hsl(var(--muted))}.bg-primary{background-color:hsl(var(--primary))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to:#a855f7 var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.object-none{-o-object-fit:none;object-fit:none}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-2{padding-bottom:.5rem}.pl-10{padding-left:2.5rem}.pt-0{padding-top:0}.text-center{text-align:center}.font-jetbrains{font-family:JetBrains Mono,monospace}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-nunito{font-family:Nunito Sans,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.leading-7{line-height:1.75rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[\#0084FF\]{--tw-text-opacity:1;color:rgb(0 132 255/var(--tw-text-opacity,1))}.text-\[\#383517\]{--tw-text-opacity:1;color:rgb(56 53 23/var(--tw-text-opacity,1))}.text-\[\#4A443F\]{--tw-text-opacity:1;color:rgb(74 68 63/var(--tw-text-opacity,1))}.text-\[\#648C2C\]{--tw-text-opacity:1;color:rgb(100 140 44/var(--tw-text-opacity,1))}.text-\[\#66FFCC\]{--tw-text-opacity:1;color:rgb(102 255 204/var(--tw-text-opacity,1))}.text-\[\#6B5B3E\]{--tw-text-opacity:1;color:rgb(107 91 62/var(--tw-text-opacity,1))}.text-\[\#A69C8A\]{--tw-text-opacity:1;color:rgb(166 156 138/var(--tw-text-opacity,1))}.text-\[\#B388D3\]{--tw-text-opacity:1;color:rgb(179 136 211/var(--tw-text-opacity,1))}.text-\[\#B4DE6E\]{--tw-text-opacity:1;color:rgb(180 222 110/var(--tw-text-opacity,1))}.text-\[\#D8D8C1\]{--tw-text-opacity:1;color:rgb(216 216 193/var(--tw-text-opacity,1))}.text-\[\#F5F5DC\]{--tw-text-opacity:1;color:rgb(245 245 220/var(--tw-text-opacity,1))}.text-\[\#FEFEFC\]{--tw-text-opacity:1;color:rgb(254 254 252/var(--tw-text-opacity,1))}.text-\[\#FF6F61\]{--tw-text-opacity:1;color:rgb(255 111 97/var(--tw-text-opacity,1))}.text-\[\#FFD400\]{--tw-text-opacity:1;color:rgb(255 212 0/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-card-foreground{color:hsl(var(--foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-lime-100{--tw-text-opacity:1;color:rgb(236 252 203/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}:root{--primary:210 100% 50%;--primary-foreground:0 0% 100%;--secondary:220 14% 96%;--secondary-foreground:222 47% 11%;--muted:220 14% 96%;--muted-foreground:220 9% 46%;--accent:220 14% 96%;--accent-foreground:222 47% 11%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--border:220 13% 91%;--input:220 13% 91%;--ring:210 100% 50%;--radius:0.5rem;--background:0 0% 100%;--foreground:222 47% 11%;--colors-olivo:#383517;--colors-lima:#b4de6e;--colors-bosque:#648c2c;--colors-hueso:beige;--colors-piedra:#4a443f;--colors-corteza:#6b5b3e;--colors-girasol:#ffd400;--colors-coral:#ff6f61;--colors-aqua:#6fc;--colors-lavanda:#b388d3;--colors-electrico:#0084ff;--colors-marmol:#d8d8c1;--colors-ice:#fefefc;--colors-koala:#a69c8a;--theme-background:var(--colors-hueso);--theme-text:var(--colors-olivo);--theme-highlight:var(--colors-corteza);--theme-primary:var(--colors-lima);--font-jetbrains:"JetBrains Mono",monospace;--font-nunito:"Nunito Sans",sans-serif}.dark{--primary:210 100% 50%;--primary-foreground:0 0% 100%;--secondary:217 33% 17%;--secondary-foreground:210 40% 98%;--muted:217 33% 17%;--muted-foreground:215 20% 65%;--accent:217 33% 17%;--accent-foreground:210 40% 98%;--destructive:0 63% 31%;--destructive-foreground:210 40% 98%;--border:217 33% 17%;--input:217 33% 17%;--ring:210 100% 50%;--background:222 47% 11%;--foreground:210 40% 98%;--theme-background:var(--colors-piedra);--theme-text:var(--colors-hueso);--theme-highlight:var(--colors-corteza);--theme-primary:var(--colors-bosque)}*{border-color:hsl(var(--border))}body{font-feature-settings:"rlig" 1,"calt" 1;background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:Nunito Sans,sans-serif}.placeholder\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.placeholder\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:left-\[3px\]:after{content:var(--tw-content);left:3px}.after\:top-\[3px\]:after{content:var(--tw-content);top:3px}.after\:h-\[26px\]:after{content:var(--tw-content);height:26px}.after\:w-\[26px\]:after{content:var(--tw-content);width:26px}.after\:rounded-md:after{border-radius:calc(var(--radius) - 2px);content:var(--tw-content)}.after\:bg-white:after{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));content:var(--tw-content)}.after\:shadow-md:after{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);content:var(--tw-content)}.after\:transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\:content-\[\"\"\]:after{--tw-content:"";content:var(--tw-content)}.first\:mt-0:first-child{margin-top:0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-black\/5:hover{background-color:rgba(0,0,0,.05)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-lime-400:hover{--tw-bg-opacity:1;background-color:rgb(163 230 53/var(--tw-bg-opacity,1))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-\[\#0070d9\]:hover{--tw-text-opacity:1;color:rgb(0 112 217/var(--tw-text-opacity,1))}.hover\:text-\[\#2a2811\]:hover{--tw-text-opacity:1;color:rgb(42 40 17/var(--tw-text-opacity,1))}.hover\:text-\[\#363230\]:hover{--tw-text-opacity:1;color:rgb(54 50 48/var(--tw-text-opacity,1))}.hover\:text-\[\#4f7023\]:hover{--tw-text-opacity:1;color:rgb(79 112 35/var(--tw-text-opacity,1))}.hover\:text-\[\#52e5b8\]:hover{--tw-text-opacity:1;color:rgb(82 229 184/var(--tw-text-opacity,1))}.hover\:text-\[\#564b33\]:hover{--tw-text-opacity:1;color:rgb(86 75 51/var(--tw-text-opacity,1))}.hover\:text-\[\#94897a\]:hover{--tw-text-opacity:1;color:rgb(148 137 122/var(--tw-text-opacity,1))}.hover\:text-\[\#9bc95a\]:hover{--tw-text-opacity:1;color:rgb(155 201 90/var(--tw-text-opacity,1))}.hover\:text-\[\#9f73bf\]:hover{--tw-text-opacity:1;color:rgb(159 115 191/var(--tw-text-opacity,1))}.hover\:text-\[\#c4c4ad\]:hover{--tw-text-opacity:1;color:rgb(196 196 173/var(--tw-text-opacity,1))}.hover\:text-\[\#e55b4d\]:hover{--tw-text-opacity:1;color:rgb(229 91 77/var(--tw-text-opacity,1))}.hover\:text-\[\#e5be00\]:hover{--tw-text-opacity:1;color:rgb(229 190 0/var(--tw-text-opacity,1))}.hover\:text-\[\#e5e5cc\]:hover{--tw-text-opacity:1;color:rgb(229 229 204/var(--tw-text-opacity,1))}.hover\:text-\[\#eeeeea\]:hover{--tw-text-opacity:1;color:rgb(238 238 234/var(--tw-text-opacity,1))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.peer:checked~.peer-checked\:border-\[\#4A443F\]{--tw-border-opacity:1;border-color:rgb(74 68 63/var(--tw-border-opacity,1))}.peer:checked~.peer-checked\:bg-\[\#4A443F\]{--tw-bg-opacity:1;background-color:rgb(74 68 63/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:after\:translate-x-\[24px\]:after{--tw-translate-x:24px;content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:focus~.peer-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}.peer:focus~.peer-focus\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\:ring-\[\#4A443F\]\/30{--tw-ring-color:rgba(74,68,63,.3)}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-50{opacity:.5}.dark\:bg-blue-950\/20:is(.dark *){background-color:rgba(23,37,84,.2)}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:1280px){.xl\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.xl\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.xl\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}}.\[\&\:not\(\:first-child\)\]\:mt-0:not(:first-child){margin-top:0}.\[\&\:not\(\:first-child\)\]\:mt-1:not(:first-child){margin-top:.25rem}.\[\&\:not\(\:first-child\)\]\:mt-6:not(:first-child){margin-top:1.5rem}
package/dist/index.d.ts CHANGED
@@ -13,6 +13,13 @@ export { Image, type ImageProps } from './components/Image';
13
13
  export { Popup, type PopupProps } from './components/Popup';
14
14
  export { Error, type ErrorProps } from './components/Error';
15
15
  export { Loading, type LoadingProps } from './components/Loading';
16
+ export { Logo, type LogoProps, type LogoVariant, type LogoSize } from './components/Logo';
17
+ export { Icon, type IconProps, type IconName, type IconSize } from './components/Icon';
18
+ export { Emoji, type EmojiProps, type EmojiName, type EmojiSize } from './components/Emoji';
19
+ export { Pattern, type PatternProps, type PatternName, type PatternSize } from './components/Pattern';
20
+ export { PatternGroup, type PatternGroupProps, type PatternGroupItem } from './components/PatternGroup';
21
+ export { PatternFill, type PatternFillProps } from './components/PatternFill';
22
+ export { Navbar, type NavbarProps, type NavbarVariant, type NavItem } from './components/Navbar';
16
23
  export { H1, H2, H3, H4, P, Subtitle, Lead, Small, Muted, type HeadingProps, type ParagraphProps, type SmallProps, type FontFamily, type FontWeight, type ColorOption } from './components/Typography';
17
24
  export { Grid, GridItem, type GridProps, type GridItemProps } from './components/Grid';
18
25
  export { FullPage, type FullPageProps } from './components/FullPage';