@adityabheke/renderer-package 1.0.0 โ 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +112 -0
- package/dist/index.cjs +72 -13
- package/dist/index.js +73 -14
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# ๐ฆ @adityabheke/renderer-package
|
|
2
|
+
|
|
3
|
+
A production-ready React page renderer that converts JSON schema into fully responsive UI using Tailwind CSS v4 and runtime CSS variables.
|
|
4
|
+
|
|
5
|
+
Built for dynamic website/page builder systems.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## ๐ Features
|
|
10
|
+
|
|
11
|
+
* โก Schema-driven rendering
|
|
12
|
+
* ๐จ Tailwind CSS v4 (precompiled โ no setup required in consumer app)
|
|
13
|
+
* ๐ฑ Fully responsive (container query variants supported)
|
|
14
|
+
* ๐ Built-in animation support (`tailwindcss-animate`)
|
|
15
|
+
* ๐งฉ Plug-and-play integration
|
|
16
|
+
* ๐ฆ ESM + CJS support
|
|
17
|
+
* ๐ง TypeScript definitions included
|
|
18
|
+
* ๐ No Tailwind configuration required in the user project
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## ๐ฅ Installation
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install @adityabheke/renderer-package
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## โ ๏ธ Peer Dependencies
|
|
31
|
+
|
|
32
|
+
Make sure your project has the following installed:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npm install react react-dom react-router-dom lucide-react
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Required versions:
|
|
39
|
+
|
|
40
|
+
* react >= 18
|
|
41
|
+
* react-dom >= 18
|
|
42
|
+
* react-router-dom >= 6
|
|
43
|
+
* lucide-react >= 0.300.0
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## ๐ Usage
|
|
48
|
+
|
|
49
|
+
### 1๏ธโฃ Import Styles (Required Once)
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
import "@adityabheke/renderer-package/styles.css";
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 2๏ธโฃ Use the Renderer
|
|
56
|
+
|
|
57
|
+
```tsx
|
|
58
|
+
import { PageRenderer } from "@adityabheke/renderer-package";
|
|
59
|
+
|
|
60
|
+
function App() {
|
|
61
|
+
return (
|
|
62
|
+
<BrowserRouter>
|
|
63
|
+
<Routes>
|
|
64
|
+
<Route path='*' element={<PageRenderer url={CLIENT_URL} />} />
|
|
65
|
+
</Routes>
|
|
66
|
+
</BrowserRouter>
|
|
67
|
+
)
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
CLIENT_URL = will be provided by admin
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## ๐ง How It Works
|
|
74
|
+
|
|
75
|
+
* Parses JSON schema
|
|
76
|
+
* Resolves components using internal `ComponentRegistry`
|
|
77
|
+
* Applies dynamic CSS variables
|
|
78
|
+
* Uses precompiled Tailwind CSS
|
|
79
|
+
* Supports responsive container-based variants
|
|
80
|
+
* Supports animation classes like:
|
|
81
|
+
|
|
82
|
+
* `animate-in`
|
|
83
|
+
* `slide-in-from-*`
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## ๐ Package Output Structure
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
dist/
|
|
91
|
+
index.js
|
|
92
|
+
index.cjs
|
|
93
|
+
index.d.ts
|
|
94
|
+
styles.css
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## ๐งช Tested With
|
|
100
|
+
|
|
101
|
+
* Vite
|
|
102
|
+
* React 18+
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## ๐ Versioning
|
|
107
|
+
|
|
108
|
+
This package follows semantic versioning:
|
|
109
|
+
|
|
110
|
+
* 1.x โ Stable renderer core
|
|
111
|
+
* 2.x โ Breaking schema or architecture changes
|
|
112
|
+
|
package/dist/index.cjs
CHANGED
|
@@ -559,7 +559,6 @@ var Section = ({
|
|
|
559
559
|
"section",
|
|
560
560
|
{
|
|
561
561
|
className: cn(
|
|
562
|
-
"@container",
|
|
563
562
|
"flex flex-col cursor-pointer transition-all duration-200",
|
|
564
563
|
"[padding:var(--p-base)] @sm:[padding:var(--p-sm)] @md:[padding:var(--p-md)] @lg:[padding:var(--p-lg)] @xl:[padding:var(--p-xl)] @2xl:[padding:var(--p-2xl)]",
|
|
565
564
|
"w-full min-h-screen",
|
|
@@ -897,20 +896,84 @@ var RenderNode = ({ id, data }) => {
|
|
|
897
896
|
// src/renderer/PageRenderer.tsx
|
|
898
897
|
var import_react_router_dom = require("react-router-dom");
|
|
899
898
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
899
|
+
var centeredWrap = {
|
|
900
|
+
display: "flex",
|
|
901
|
+
flexDirection: "column",
|
|
902
|
+
alignItems: "center",
|
|
903
|
+
justifyContent: "center",
|
|
904
|
+
minHeight: "100vh",
|
|
905
|
+
background: "#0f0f11",
|
|
906
|
+
color: "#e5e7eb",
|
|
907
|
+
fontFamily: "'Inter', 'Segoe UI', sans-serif",
|
|
908
|
+
gap: "1.25rem"
|
|
909
|
+
};
|
|
910
|
+
var LoadingPage = () => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: centeredWrap, children: [
|
|
911
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
912
|
+
"div",
|
|
913
|
+
{
|
|
914
|
+
style: {
|
|
915
|
+
width: 44,
|
|
916
|
+
height: 44,
|
|
917
|
+
borderRadius: "50%",
|
|
918
|
+
border: "3px solid #374151",
|
|
919
|
+
borderTopColor: "#6366f1",
|
|
920
|
+
animation: "page-spin 0.75s linear infinite"
|
|
921
|
+
}
|
|
922
|
+
}
|
|
923
|
+
),
|
|
924
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { style: { fontSize: "0.9rem", color: "#6b7280", letterSpacing: "0.04em" }, children: "Loading page\u2026" }),
|
|
925
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("style", { children: `@keyframes page-spin { to { transform: rotate(360deg); } }` })
|
|
926
|
+
] });
|
|
927
|
+
var NotFoundPage = () => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: centeredWrap, children: [
|
|
928
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
929
|
+
"div",
|
|
930
|
+
{
|
|
931
|
+
style: {
|
|
932
|
+
fontSize: "5rem",
|
|
933
|
+
fontWeight: 800,
|
|
934
|
+
background: "linear-gradient(135deg, #6366f1, #a855f7)",
|
|
935
|
+
WebkitBackgroundClip: "text",
|
|
936
|
+
WebkitTextFillColor: "transparent",
|
|
937
|
+
lineHeight: 1
|
|
938
|
+
},
|
|
939
|
+
children: "404"
|
|
940
|
+
}
|
|
941
|
+
),
|
|
942
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { style: { fontSize: "1.125rem", fontWeight: 600, color: "#d1d5db" }, children: "Page not found" }),
|
|
943
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { style: { fontSize: "0.875rem", color: "#6b7280", textAlign: "center", maxWidth: 320 }, children: "The page you're looking for doesn't exist or hasn't been published yet." })
|
|
944
|
+
] });
|
|
900
945
|
var PageRenderer = ({ url }) => {
|
|
901
946
|
const { pathname } = (0, import_react_router_dom.useLocation)();
|
|
902
947
|
const [json, setJson] = import_react2.default.useState(null);
|
|
948
|
+
const [loading, setLoading] = import_react2.default.useState(true);
|
|
949
|
+
const [notFound, setNotFound] = import_react2.default.useState(false);
|
|
903
950
|
const [ready, setReady] = import_react2.default.useState(false);
|
|
904
951
|
const fetchPageSchema = async (slug) => {
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
952
|
+
setLoading(true);
|
|
953
|
+
setNotFound(false);
|
|
954
|
+
setJson(null);
|
|
955
|
+
setReady(false);
|
|
956
|
+
try {
|
|
957
|
+
const response = await fetch(`${url}?slug=${slug}`);
|
|
958
|
+
if (response.status === 404) {
|
|
959
|
+
setNotFound(true);
|
|
960
|
+
return;
|
|
961
|
+
}
|
|
962
|
+
const data = await response.json();
|
|
963
|
+
if (data.success) {
|
|
964
|
+
setJson(data.data.schema);
|
|
965
|
+
} else {
|
|
966
|
+
setNotFound(true);
|
|
967
|
+
}
|
|
968
|
+
} catch (err) {
|
|
969
|
+
console.error("PageRenderer: failed to fetch page schema:", err);
|
|
970
|
+
setNotFound(true);
|
|
971
|
+
} finally {
|
|
972
|
+
setLoading(false);
|
|
909
973
|
}
|
|
910
974
|
};
|
|
911
975
|
(0, import_react2.useEffect)(() => {
|
|
912
976
|
const slug = pathname.startsWith("/") ? pathname.slice(1) : pathname;
|
|
913
|
-
console.log("SLug:", slug);
|
|
914
977
|
fetchPageSchema(slug);
|
|
915
978
|
}, [pathname]);
|
|
916
979
|
(0, import_react2.useEffect)(() => {
|
|
@@ -920,13 +983,9 @@ var PageRenderer = ({ url }) => {
|
|
|
920
983
|
});
|
|
921
984
|
}
|
|
922
985
|
}, [json]);
|
|
923
|
-
if (
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
}
|
|
927
|
-
if (!ready) {
|
|
928
|
-
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "h-screen flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "animate-spin h-10 w-10 border-4 border-blue-500 border-t-transparent rounded-full" }) });
|
|
929
|
-
}
|
|
986
|
+
if (loading) return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(LoadingPage, {});
|
|
987
|
+
if (notFound || !json || !json.ROOT) return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(NotFoundPage, {});
|
|
988
|
+
if (!ready) return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(LoadingPage, {});
|
|
930
989
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(RenderNode, { id: "ROOT", data: json });
|
|
931
990
|
};
|
|
932
991
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/index.js
CHANGED
|
@@ -522,7 +522,6 @@ var Section = ({
|
|
|
522
522
|
"section",
|
|
523
523
|
{
|
|
524
524
|
className: cn(
|
|
525
|
-
"@container",
|
|
526
525
|
"flex flex-col cursor-pointer transition-all duration-200",
|
|
527
526
|
"[padding:var(--p-base)] @sm:[padding:var(--p-sm)] @md:[padding:var(--p-md)] @lg:[padding:var(--p-lg)] @xl:[padding:var(--p-xl)] @2xl:[padding:var(--p-2xl)]",
|
|
528
527
|
"w-full min-h-screen",
|
|
@@ -859,21 +858,85 @@ var RenderNode = ({ id, data }) => {
|
|
|
859
858
|
|
|
860
859
|
// src/renderer/PageRenderer.tsx
|
|
861
860
|
import { useLocation } from "react-router-dom";
|
|
862
|
-
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
861
|
+
import { jsx as jsx15, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
862
|
+
var centeredWrap = {
|
|
863
|
+
display: "flex",
|
|
864
|
+
flexDirection: "column",
|
|
865
|
+
alignItems: "center",
|
|
866
|
+
justifyContent: "center",
|
|
867
|
+
minHeight: "100vh",
|
|
868
|
+
background: "#0f0f11",
|
|
869
|
+
color: "#e5e7eb",
|
|
870
|
+
fontFamily: "'Inter', 'Segoe UI', sans-serif",
|
|
871
|
+
gap: "1.25rem"
|
|
872
|
+
};
|
|
873
|
+
var LoadingPage = () => /* @__PURE__ */ jsxs7("div", { style: centeredWrap, children: [
|
|
874
|
+
/* @__PURE__ */ jsx15(
|
|
875
|
+
"div",
|
|
876
|
+
{
|
|
877
|
+
style: {
|
|
878
|
+
width: 44,
|
|
879
|
+
height: 44,
|
|
880
|
+
borderRadius: "50%",
|
|
881
|
+
border: "3px solid #374151",
|
|
882
|
+
borderTopColor: "#6366f1",
|
|
883
|
+
animation: "page-spin 0.75s linear infinite"
|
|
884
|
+
}
|
|
885
|
+
}
|
|
886
|
+
),
|
|
887
|
+
/* @__PURE__ */ jsx15("p", { style: { fontSize: "0.9rem", color: "#6b7280", letterSpacing: "0.04em" }, children: "Loading page\u2026" }),
|
|
888
|
+
/* @__PURE__ */ jsx15("style", { children: `@keyframes page-spin { to { transform: rotate(360deg); } }` })
|
|
889
|
+
] });
|
|
890
|
+
var NotFoundPage = () => /* @__PURE__ */ jsxs7("div", { style: centeredWrap, children: [
|
|
891
|
+
/* @__PURE__ */ jsx15(
|
|
892
|
+
"div",
|
|
893
|
+
{
|
|
894
|
+
style: {
|
|
895
|
+
fontSize: "5rem",
|
|
896
|
+
fontWeight: 800,
|
|
897
|
+
background: "linear-gradient(135deg, #6366f1, #a855f7)",
|
|
898
|
+
WebkitBackgroundClip: "text",
|
|
899
|
+
WebkitTextFillColor: "transparent",
|
|
900
|
+
lineHeight: 1
|
|
901
|
+
},
|
|
902
|
+
children: "404"
|
|
903
|
+
}
|
|
904
|
+
),
|
|
905
|
+
/* @__PURE__ */ jsx15("p", { style: { fontSize: "1.125rem", fontWeight: 600, color: "#d1d5db" }, children: "Page not found" }),
|
|
906
|
+
/* @__PURE__ */ jsx15("p", { style: { fontSize: "0.875rem", color: "#6b7280", textAlign: "center", maxWidth: 320 }, children: "The page you're looking for doesn't exist or hasn't been published yet." })
|
|
907
|
+
] });
|
|
863
908
|
var PageRenderer = ({ url }) => {
|
|
864
909
|
const { pathname } = useLocation();
|
|
865
910
|
const [json, setJson] = React2.useState(null);
|
|
911
|
+
const [loading, setLoading] = React2.useState(true);
|
|
912
|
+
const [notFound, setNotFound] = React2.useState(false);
|
|
866
913
|
const [ready, setReady] = React2.useState(false);
|
|
867
914
|
const fetchPageSchema = async (slug) => {
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
915
|
+
setLoading(true);
|
|
916
|
+
setNotFound(false);
|
|
917
|
+
setJson(null);
|
|
918
|
+
setReady(false);
|
|
919
|
+
try {
|
|
920
|
+
const response = await fetch(`${url}?slug=${slug}`);
|
|
921
|
+
if (response.status === 404) {
|
|
922
|
+
setNotFound(true);
|
|
923
|
+
return;
|
|
924
|
+
}
|
|
925
|
+
const data = await response.json();
|
|
926
|
+
if (data.success) {
|
|
927
|
+
setJson(data.data.schema);
|
|
928
|
+
} else {
|
|
929
|
+
setNotFound(true);
|
|
930
|
+
}
|
|
931
|
+
} catch (err) {
|
|
932
|
+
console.error("PageRenderer: failed to fetch page schema:", err);
|
|
933
|
+
setNotFound(true);
|
|
934
|
+
} finally {
|
|
935
|
+
setLoading(false);
|
|
872
936
|
}
|
|
873
937
|
};
|
|
874
938
|
useEffect(() => {
|
|
875
939
|
const slug = pathname.startsWith("/") ? pathname.slice(1) : pathname;
|
|
876
|
-
console.log("SLug:", slug);
|
|
877
940
|
fetchPageSchema(slug);
|
|
878
941
|
}, [pathname]);
|
|
879
942
|
useEffect(() => {
|
|
@@ -883,13 +946,9 @@ var PageRenderer = ({ url }) => {
|
|
|
883
946
|
});
|
|
884
947
|
}
|
|
885
948
|
}, [json]);
|
|
886
|
-
if (
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
}
|
|
890
|
-
if (!ready) {
|
|
891
|
-
return /* @__PURE__ */ jsx15("div", { className: "h-screen flex items-center justify-center", children: /* @__PURE__ */ jsx15("div", { className: "animate-spin h-10 w-10 border-4 border-blue-500 border-t-transparent rounded-full" }) });
|
|
892
|
-
}
|
|
949
|
+
if (loading) return /* @__PURE__ */ jsx15(LoadingPage, {});
|
|
950
|
+
if (notFound || !json || !json.ROOT) return /* @__PURE__ */ jsx15(NotFoundPage, {});
|
|
951
|
+
if (!ready) return /* @__PURE__ */ jsx15(LoadingPage, {});
|
|
893
952
|
return /* @__PURE__ */ jsx15(RenderNode, { id: "ROOT", data: json });
|
|
894
953
|
};
|
|
895
954
|
export {
|
package/dist/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}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-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color: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:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-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{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.absolute{position:absolute}.relative{position:relative}.z-10{z-index:10}.mx-auto{margin-left:auto;margin-right:auto}.-mt-12{margin-top:-3rem}.mb-6{margin-bottom:1.5rem}.mt-2{margin-top:.5rem}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-full{height:100%}.h-screen{height:100vh}.min-h-10{min-height:2.5rem}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-full{width:100%}.min-w-10{min-width:2.5rem}.max-w-6xl{max-width:72rem}.max-w-sm{max-width:24rem}.scale-105{--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))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-4{border-width:4px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity))}.border-t-transparent{border-top-color:#0000}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pt-2{padding-top:.5rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.tracking-normal{letter-spacing:0}.tracking-tight{letter-spacing:-.025em}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline{outline-style:solid}.transition{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-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-700{transition-duration:.7s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in{--tw-enter-opacity:0}.slide-in-from-bottom-5{--tw-enter-translate-y:1.25rem}.slide-in-from-left-5{--tw-enter-translate-x:-1.25rem}.slide-in-from-right-5{--tw-enter-translate-x:1.25rem}.slide-in-from-top-5{--tw-enter-translate-y:-1.25rem}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-700{animation-duration:.7s}.fill-mode-both{animation-fill-mode:both}.\@container{container-type:inline-size}.\[align-items\:var\(--ai-base\)\]{align-items:var(--ai-base)}.\[border-radius\:var\(--btnr-base\)\]{border-radius:var(--btnr-base)}.\[border-radius\:var\(--r-base\)\]{border-radius:var(--r-base)}.\[flex-direction\:var\(--fd-base\)\]{flex-direction:var(--fd-base)}.\[flex-wrap\:var\(--fw-base\)\]{flex-wrap:var(--fw-base)}.\[font-size\:var\(--btns-base\)\]{font-size:var(--btns-base)}.\[font-size\:var\(--fs-base\)\]{font-size:var(--fs-base)}.\[font-weight\:var\(--fw-base\)\]{font-weight:var(--fw-base)}.\[gap\:var\(--g-base\)\]{gap:var(--g-base)}.\[height\:var\(--h-base\)\]{height:var(--h-base)}.\[justify-content\:var\(--jc-base\)\]{justify-content:var(--jc-base)}.\[margin\:var\(--m-base\)\]{margin:var(--m-base)}.\[padding\:var\(--btnpy-base\)_var\(--btnpx-base\)\]{padding:var(--btnpy-base) var(--btnpx-base)}.\[padding\:var\(--p-base\)\]{padding:var(--p-base)}.\[text-align\:var\(--ta-base\)\]{text-align:var(--ta-base)}.\[width\:var\(--w-base\)\]{width:var(--w-base)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--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)}@container (min-width: 24rem){.\@sm\:\[align-items\:var\(--ai-sm\)\]{align-items:var(--ai-sm)}.\@sm\:\[border-radius\:var\(--btnr-sm\)\]{border-radius:var(--btnr-sm)}.\@sm\:\[border-radius\:var\(--r-sm\)\]{border-radius:var(--r-sm)}.\@sm\:\[flex-direction\:var\(--fd-sm\)\]{flex-direction:var(--fd-sm)}.\@sm\:\[flex-wrap\:var\(--fw-sm\)\]{flex-wrap:var(--fw-sm)}.\@sm\:\[font-size\:var\(--btns-sm\)\]{font-size:var(--btns-sm)}.\@sm\:\[font-size\:var\(--fs-sm\)\]{font-size:var(--fs-sm)}.\@sm\:\[font-weight\:var\(--fw-sm\)\]{font-weight:var(--fw-sm)}.\@sm\:\[gap\:var\(--g-sm\)\]{gap:var(--g-sm)}.\@sm\:\[height\:var\(--h-sm\)\]{height:var(--h-sm)}.\@sm\:\[justify-content\:var\(--jc-sm\)\]{justify-content:var(--jc-sm)}.\@sm\:\[margin\:var\(--m-sm\)\]{margin:var(--m-sm)}.\@sm\:\[padding\:var\(--btnpy-sm\)_var\(--btnpx-sm\)\]{padding:var(--btnpy-sm) var(--btnpx-sm)}.\@sm\:\[padding\:var\(--p-sm\)\]{padding:var(--p-sm)}.\@sm\:\[text-align\:var\(--ta-sm\)\]{text-align:var(--ta-sm)}.\@sm\:\[width\:var\(--w-sm\)\]{width:var(--w-sm)}}@container (min-width: 28rem){.\@md\:\[align-items\:var\(--ai-md\)\]{align-items:var(--ai-md)}.\@md\:\[border-radius\:var\(--btnr-md\)\]{border-radius:var(--btnr-md)}.\@md\:\[border-radius\:var\(--r-md\)\]{border-radius:var(--r-md)}.\@md\:\[flex-direction\:var\(--fd-md\)\]{flex-direction:var(--fd-md)}.\@md\:\[flex-wrap\:var\(--fw-md\)\]{flex-wrap:var(--fw-md)}.\@md\:\[font-size\:var\(--btns-md\)\]{font-size:var(--btns-md)}.\@md\:\[font-size\:var\(--fs-md\)\]{font-size:var(--fs-md)}.\@md\:\[font-weight\:var\(--fw-md\)\]{font-weight:var(--fw-md)}.\@md\:\[gap\:var\(--g-md\)\]{gap:var(--g-md)}.\@md\:\[height\:var\(--h-md\)\]{height:var(--h-md)}.\@md\:\[justify-content\:var\(--jc-md\)\]{justify-content:var(--jc-md)}.\@md\:\[margin\:var\(--m-md\)\]{margin:var(--m-md)}.\@md\:\[padding\:var\(--btnpy-md\)_var\(--btnpx-md\)\]{padding:var(--btnpy-md) var(--btnpx-md)}.\@md\:\[padding\:var\(--p-md\)\]{padding:var(--p-md)}.\@md\:\[text-align\:var\(--ta-md\)\]{text-align:var(--ta-md)}.\@md\:\[width\:var\(--w-md\)\]{width:var(--w-md)}}@container (min-width: 32rem){.\@lg\:\[align-items\:var\(--ai-lg\)\]{align-items:var(--ai-lg)}.\@lg\:\[border-radius\:var\(--btnr-lg\)\]{border-radius:var(--btnr-lg)}.\@lg\:\[border-radius\:var\(--r-lg\)\]{border-radius:var(--r-lg)}.\@lg\:\[flex-direction\:var\(--fd-lg\)\]{flex-direction:var(--fd-lg)}.\@lg\:\[flex-wrap\:var\(--fw-lg\)\]{flex-wrap:var(--fw-lg)}.\@lg\:\[font-size\:var\(--btns-lg\)\]{font-size:var(--btns-lg)}.\@lg\:\[font-size\:var\(--fs-lg\)\]{font-size:var(--fs-lg)}.\@lg\:\[font-weight\:var\(--fw-lg\)\]{font-weight:var(--fw-lg)}.\@lg\:\[gap\:var\(--g-lg\)\]{gap:var(--g-lg)}.\@lg\:\[height\:var\(--h-lg\)\]{height:var(--h-lg)}.\@lg\:\[justify-content\:var\(--jc-lg\)\]{justify-content:var(--jc-lg)}.\@lg\:\[margin\:var\(--m-lg\)\]{margin:var(--m-lg)}.\@lg\:\[padding\:var\(--btnpy-lg\)_var\(--btnpx-lg\)\]{padding:var(--btnpy-lg) var(--btnpx-lg)}.\@lg\:\[padding\:var\(--p-lg\)\]{padding:var(--p-lg)}.\@lg\:\[text-align\:var\(--ta-lg\)\]{text-align:var(--ta-lg)}.\@lg\:\[width\:var\(--w-lg\)\]{width:var(--w-lg)}}@container (min-width: 36rem){.\@xl\:\[align-items\:var\(--ai-xl\)\]{align-items:var(--ai-xl)}.\@xl\:\[border-radius\:var\(--btnr-xl\)\]{border-radius:var(--btnr-xl)}.\@xl\:\[border-radius\:var\(--r-xl\)\]{border-radius:var(--r-xl)}.\@xl\:\[flex-direction\:var\(--fd-xl\)\]{flex-direction:var(--fd-xl)}.\@xl\:\[flex-wrap\:var\(--fw-xl\)\]{flex-wrap:var(--fw-xl)}.\@xl\:\[font-size\:var\(--btns-xl\)\]{font-size:var(--btns-xl)}.\@xl\:\[font-size\:var\(--fs-xl\)\]{font-size:var(--fs-xl)}.\@xl\:\[font-weight\:var\(--fw-xl\)\]{font-weight:var(--fw-xl)}.\@xl\:\[gap\:var\(--g-xl\)\]{gap:var(--g-xl)}.\@xl\:\[height\:var\(--h-xl\)\]{height:var(--h-xl)}.\@xl\:\[justify-content\:var\(--jc-xl\)\]{justify-content:var(--jc-xl)}.\@xl\:\[margin\:var\(--m-xl\)\]{margin:var(--m-xl)}.\@xl\:\[padding\:var\(--btnpy-xl\)_var\(--btnpx-xl\)\]{padding:var(--btnpy-xl) var(--btnpx-xl)}.\@xl\:\[padding\:var\(--p-xl\)\]{padding:var(--p-xl)}.\@xl\:\[text-align\:var\(--ta-xl\)\]{text-align:var(--ta-xl)}.\@xl\:\[width\:var\(--w-xl\)\]{width:var(--w-xl)}}@container (min-width: 42rem){.\@2xl\:\[align-items\:var\(--ai-2xl\)\]{align-items:var(--ai-2xl)}.\@2xl\:\[border-radius\:var\(--btnr-2xl\)\]{border-radius:var(--btnr-2xl)}.\@2xl\:\[border-radius\:var\(--r-2xl\)\]{border-radius:var(--r-2xl)}.\@2xl\:\[flex-direction\:var\(--fd-2xl\)\]{flex-direction:var(--fd-2xl)}.\@2xl\:\[flex-wrap\:var\(--fw-2xl\)\]{flex-wrap:var(--fw-2xl)}.\@2xl\:\[font-size\:var\(--btns-2xl\)\]{font-size:var(--btns-2xl)}.\@2xl\:\[font-size\:var\(--fs-2xl\)\]{font-size:var(--fs-2xl)}.\@2xl\:\[font-weight\:var\(--fw-2xl\)\]{font-weight:var(--fw-2xl)}.\@2xl\:\[gap\:var\(--g-2xl\)\]{gap:var(--g-2xl)}.\@2xl\:\[height\:var\(--h-2xl\)\]{height:var(--h-2xl)}.\@2xl\:\[justify-content\:var\(--jc-2xl\)\]{justify-content:var(--jc-2xl)}.\@2xl\:\[margin\:var\(--m-2xl\)\]{margin:var(--m-2xl)}.\@2xl\:\[padding\:var\(--btnpy-2xl\)_var\(--btnpx-2xl\)\]{padding:var(--btnpy-2xl) var(--btnpx-2xl)}.\@2xl\:\[padding\:var\(--p-2xl\)\]{padding:var(--p-2xl)}.\@2xl\:\[text-align\:var\(--ta-2xl\)\]{text-align:var(--ta-2xl)}.\@2xl\:\[width\:var\(--w-2xl\)\]{width:var(--w-2xl)}}@media (min-width:768px){.md\:flex-row{flex-direction:row}}
|
|
1
|
+
/*! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}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-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color: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:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-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{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.absolute{position:absolute}.relative{position:relative}.z-10{z-index:10}.mx-auto{margin-left:auto;margin-right:auto}.-mt-12{margin-top:-3rem}.mb-6{margin-bottom:1.5rem}.mt-2{margin-top:.5rem}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.min-h-10{min-height:2.5rem}.min-h-screen{min-height:100vh}.w-full{width:100%}.min-w-10{min-width:2.5rem}.max-w-6xl{max-width:72rem}.max-w-sm{max-width:24rem}.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.scale-105,.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))}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pt-2{padding-top:.5rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.tracking-normal{letter-spacing:0}.tracking-tight{letter-spacing:-.025em}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline{outline-style:solid}.transition{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-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-700{transition-duration:.7s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in{--tw-enter-opacity:0}.slide-in-from-bottom-5{--tw-enter-translate-y:1.25rem}.slide-in-from-left-5{--tw-enter-translate-x:-1.25rem}.slide-in-from-right-5{--tw-enter-translate-x:1.25rem}.slide-in-from-top-5{--tw-enter-translate-y:-1.25rem}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-700{animation-duration:.7s}.fill-mode-both{animation-fill-mode:both}.\[align-items\:var\(--ai-base\)\]{align-items:var(--ai-base)}.\[border-radius\:var\(--btnr-base\)\]{border-radius:var(--btnr-base)}.\[border-radius\:var\(--r-base\)\]{border-radius:var(--r-base)}.\[flex-direction\:var\(--fd-base\)\]{flex-direction:var(--fd-base)}.\[flex-wrap\:var\(--fw-base\)\]{flex-wrap:var(--fw-base)}.\[font-size\:var\(--btns-base\)\]{font-size:var(--btns-base)}.\[font-size\:var\(--fs-base\)\]{font-size:var(--fs-base)}.\[font-weight\:var\(--fw-base\)\]{font-weight:var(--fw-base)}.\[gap\:var\(--g-base\)\]{gap:var(--g-base)}.\[height\:var\(--h-base\)\]{height:var(--h-base)}.\[justify-content\:var\(--jc-base\)\]{justify-content:var(--jc-base)}.\[margin\:var\(--m-base\)\]{margin:var(--m-base)}.\[padding\:var\(--btnpy-base\)_var\(--btnpx-base\)\]{padding:var(--btnpy-base) var(--btnpx-base)}.\[padding\:var\(--p-base\)\]{padding:var(--p-base)}.\[text-align\:var\(--ta-base\)\]{text-align:var(--ta-base)}.\[width\:var\(--w-base\)\]{width:var(--w-base)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--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)}@container (min-width: 24rem){.\@sm\:\[align-items\:var\(--ai-sm\)\]{align-items:var(--ai-sm)}.\@sm\:\[border-radius\:var\(--btnr-sm\)\]{border-radius:var(--btnr-sm)}.\@sm\:\[border-radius\:var\(--r-sm\)\]{border-radius:var(--r-sm)}.\@sm\:\[flex-direction\:var\(--fd-sm\)\]{flex-direction:var(--fd-sm)}.\@sm\:\[flex-wrap\:var\(--fw-sm\)\]{flex-wrap:var(--fw-sm)}.\@sm\:\[font-size\:var\(--btns-sm\)\]{font-size:var(--btns-sm)}.\@sm\:\[font-size\:var\(--fs-sm\)\]{font-size:var(--fs-sm)}.\@sm\:\[font-weight\:var\(--fw-sm\)\]{font-weight:var(--fw-sm)}.\@sm\:\[gap\:var\(--g-sm\)\]{gap:var(--g-sm)}.\@sm\:\[height\:var\(--h-sm\)\]{height:var(--h-sm)}.\@sm\:\[justify-content\:var\(--jc-sm\)\]{justify-content:var(--jc-sm)}.\@sm\:\[margin\:var\(--m-sm\)\]{margin:var(--m-sm)}.\@sm\:\[padding\:var\(--btnpy-sm\)_var\(--btnpx-sm\)\]{padding:var(--btnpy-sm) var(--btnpx-sm)}.\@sm\:\[padding\:var\(--p-sm\)\]{padding:var(--p-sm)}.\@sm\:\[text-align\:var\(--ta-sm\)\]{text-align:var(--ta-sm)}.\@sm\:\[width\:var\(--w-sm\)\]{width:var(--w-sm)}}@container (min-width: 28rem){.\@md\:\[align-items\:var\(--ai-md\)\]{align-items:var(--ai-md)}.\@md\:\[border-radius\:var\(--btnr-md\)\]{border-radius:var(--btnr-md)}.\@md\:\[border-radius\:var\(--r-md\)\]{border-radius:var(--r-md)}.\@md\:\[flex-direction\:var\(--fd-md\)\]{flex-direction:var(--fd-md)}.\@md\:\[flex-wrap\:var\(--fw-md\)\]{flex-wrap:var(--fw-md)}.\@md\:\[font-size\:var\(--btns-md\)\]{font-size:var(--btns-md)}.\@md\:\[font-size\:var\(--fs-md\)\]{font-size:var(--fs-md)}.\@md\:\[font-weight\:var\(--fw-md\)\]{font-weight:var(--fw-md)}.\@md\:\[gap\:var\(--g-md\)\]{gap:var(--g-md)}.\@md\:\[height\:var\(--h-md\)\]{height:var(--h-md)}.\@md\:\[justify-content\:var\(--jc-md\)\]{justify-content:var(--jc-md)}.\@md\:\[margin\:var\(--m-md\)\]{margin:var(--m-md)}.\@md\:\[padding\:var\(--btnpy-md\)_var\(--btnpx-md\)\]{padding:var(--btnpy-md) var(--btnpx-md)}.\@md\:\[padding\:var\(--p-md\)\]{padding:var(--p-md)}.\@md\:\[text-align\:var\(--ta-md\)\]{text-align:var(--ta-md)}.\@md\:\[width\:var\(--w-md\)\]{width:var(--w-md)}}@container (min-width: 32rem){.\@lg\:\[align-items\:var\(--ai-lg\)\]{align-items:var(--ai-lg)}.\@lg\:\[border-radius\:var\(--btnr-lg\)\]{border-radius:var(--btnr-lg)}.\@lg\:\[border-radius\:var\(--r-lg\)\]{border-radius:var(--r-lg)}.\@lg\:\[flex-direction\:var\(--fd-lg\)\]{flex-direction:var(--fd-lg)}.\@lg\:\[flex-wrap\:var\(--fw-lg\)\]{flex-wrap:var(--fw-lg)}.\@lg\:\[font-size\:var\(--btns-lg\)\]{font-size:var(--btns-lg)}.\@lg\:\[font-size\:var\(--fs-lg\)\]{font-size:var(--fs-lg)}.\@lg\:\[font-weight\:var\(--fw-lg\)\]{font-weight:var(--fw-lg)}.\@lg\:\[gap\:var\(--g-lg\)\]{gap:var(--g-lg)}.\@lg\:\[height\:var\(--h-lg\)\]{height:var(--h-lg)}.\@lg\:\[justify-content\:var\(--jc-lg\)\]{justify-content:var(--jc-lg)}.\@lg\:\[margin\:var\(--m-lg\)\]{margin:var(--m-lg)}.\@lg\:\[padding\:var\(--btnpy-lg\)_var\(--btnpx-lg\)\]{padding:var(--btnpy-lg) var(--btnpx-lg)}.\@lg\:\[padding\:var\(--p-lg\)\]{padding:var(--p-lg)}.\@lg\:\[text-align\:var\(--ta-lg\)\]{text-align:var(--ta-lg)}.\@lg\:\[width\:var\(--w-lg\)\]{width:var(--w-lg)}}@container (min-width: 36rem){.\@xl\:\[align-items\:var\(--ai-xl\)\]{align-items:var(--ai-xl)}.\@xl\:\[border-radius\:var\(--btnr-xl\)\]{border-radius:var(--btnr-xl)}.\@xl\:\[border-radius\:var\(--r-xl\)\]{border-radius:var(--r-xl)}.\@xl\:\[flex-direction\:var\(--fd-xl\)\]{flex-direction:var(--fd-xl)}.\@xl\:\[flex-wrap\:var\(--fw-xl\)\]{flex-wrap:var(--fw-xl)}.\@xl\:\[font-size\:var\(--btns-xl\)\]{font-size:var(--btns-xl)}.\@xl\:\[font-size\:var\(--fs-xl\)\]{font-size:var(--fs-xl)}.\@xl\:\[font-weight\:var\(--fw-xl\)\]{font-weight:var(--fw-xl)}.\@xl\:\[gap\:var\(--g-xl\)\]{gap:var(--g-xl)}.\@xl\:\[height\:var\(--h-xl\)\]{height:var(--h-xl)}.\@xl\:\[justify-content\:var\(--jc-xl\)\]{justify-content:var(--jc-xl)}.\@xl\:\[margin\:var\(--m-xl\)\]{margin:var(--m-xl)}.\@xl\:\[padding\:var\(--btnpy-xl\)_var\(--btnpx-xl\)\]{padding:var(--btnpy-xl) var(--btnpx-xl)}.\@xl\:\[padding\:var\(--p-xl\)\]{padding:var(--p-xl)}.\@xl\:\[text-align\:var\(--ta-xl\)\]{text-align:var(--ta-xl)}.\@xl\:\[width\:var\(--w-xl\)\]{width:var(--w-xl)}}@container (min-width: 42rem){.\@2xl\:\[align-items\:var\(--ai-2xl\)\]{align-items:var(--ai-2xl)}.\@2xl\:\[border-radius\:var\(--btnr-2xl\)\]{border-radius:var(--btnr-2xl)}.\@2xl\:\[border-radius\:var\(--r-2xl\)\]{border-radius:var(--r-2xl)}.\@2xl\:\[flex-direction\:var\(--fd-2xl\)\]{flex-direction:var(--fd-2xl)}.\@2xl\:\[flex-wrap\:var\(--fw-2xl\)\]{flex-wrap:var(--fw-2xl)}.\@2xl\:\[font-size\:var\(--btns-2xl\)\]{font-size:var(--btns-2xl)}.\@2xl\:\[font-size\:var\(--fs-2xl\)\]{font-size:var(--fs-2xl)}.\@2xl\:\[font-weight\:var\(--fw-2xl\)\]{font-weight:var(--fw-2xl)}.\@2xl\:\[gap\:var\(--g-2xl\)\]{gap:var(--g-2xl)}.\@2xl\:\[height\:var\(--h-2xl\)\]{height:var(--h-2xl)}.\@2xl\:\[justify-content\:var\(--jc-2xl\)\]{justify-content:var(--jc-2xl)}.\@2xl\:\[margin\:var\(--m-2xl\)\]{margin:var(--m-2xl)}.\@2xl\:\[padding\:var\(--btnpy-2xl\)_var\(--btnpx-2xl\)\]{padding:var(--btnpy-2xl) var(--btnpx-2xl)}.\@2xl\:\[padding\:var\(--p-2xl\)\]{padding:var(--p-2xl)}.\@2xl\:\[text-align\:var\(--ta-2xl\)\]{text-align:var(--ta-2xl)}.\@2xl\:\[width\:var\(--w-2xl\)\]{width:var(--w-2xl)}}@media (min-width:768px){.md\:flex-row{flex-direction:row}}
|