├── .env.example
├── assets
└── imgs
│ └── favicon.png
├── registerSW.js
├── web-dev-server.config.mjs
├── .gitignore
├── manifest.webmanifest
├── README-zh.md
├── package.json
├── lang.js
├── data.js
├── README.md
├── main.css
├── sw.js
├── utils.js
├── script.js
├── workbox.js
├── index.html
└── tailwind.css
/.env.example:
--------------------------------------------------------------------------------
1 | target=
2 |
--------------------------------------------------------------------------------
/assets/imgs/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cyio/chatgpt-vue/HEAD/assets/imgs/favicon.png
--------------------------------------------------------------------------------
/registerSW.js:
--------------------------------------------------------------------------------
1 | const isDev = location.port !== ''
2 | const enableSW = 1 || !isDev
3 |
4 | if ('serviceWorker' in navigator && enableSW) {
5 | window.addEventListener('load', () => {
6 | navigator.serviceWorker.register('/sw.js', {
7 | scope: '/'
8 | })
9 | }
10 | )
11 | }
12 |
--------------------------------------------------------------------------------
/web-dev-server.config.mjs:
--------------------------------------------------------------------------------
1 | import proxy from 'koa-proxies';
2 | import * as dotenv from 'dotenv'
3 | dotenv.config()
4 |
5 | export default {
6 | port: 8000,
7 | middleware: [
8 | proxy('/api/generate', {
9 | target: process.env.target,
10 | changeOrigin: true,
11 | logs: true
12 | }),
13 | ],
14 | };
15 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # build output
2 | dist/
3 | .vercel/
4 |
5 | # generated types
6 | .astro/
7 |
8 | # dependencies
9 | node_modules/
10 |
11 | # logs
12 | npm-debug.log*
13 | yarn-debug.log*
14 | yarn-error.log*
15 | pnpm-debug.log*
16 |
17 | # environment variables
18 | .env
19 | .env.production
20 |
21 | # macOS-specific files
22 | .DS_Store
23 |
24 | # Local
25 | *.local
26 |
27 | **/.DS_Store
28 |
29 | # Editor directories and files
30 | .idea
31 | .env
32 |
--------------------------------------------------------------------------------
/manifest.webmanifest:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ChatGPT",
3 | "short_name": "ChatGPT",
4 | "icons": [
5 | {
6 | "src": "assets/imgs/favicon.png",
7 | "sizes": "192x192",
8 | "type": "image/png"
9 | },
10 | {
11 | "src": "assets/imgs/favicon.png",
12 | "sizes": "512x512",
13 | "type": "image/png"
14 | }
15 | ],
16 | "start_url": "/",
17 | "display": "standalone",
18 | "background_color": "#ffffff",
19 | "lang": "zh",
20 | "scope": "/"
21 | }
--------------------------------------------------------------------------------
/README-zh.md:
--------------------------------------------------------------------------------
1 | # ChatGPT Vue Client (no build, easy start)
2 |
3 | 背景:目前 ChatGPT 项目通常将前后端代码放在同一个项目中,需要编译和运行,而且使用了 TypeScript 等高级特性,对于新手用户来说,上手有一定难度,特别是 Vue 相关项目比较少。
4 |
5 | 因此,我们开发了这个项目,它可以简化学习和使用 ChatGPT API 的过程。
6 |
7 | ## 特点
8 |
9 | - 采用简单的 HTML + Script,结合 Vue 3 + Options api 实现
10 | - 代码不编译,不压缩,可直接在生产环境调试
11 | - 界面和体验仿照 ChatGPT 官网
12 |
13 |
14 |
15 |
16 | ## 使用
17 |
18 | 本项目只是前端部分,需要配合接口服务使用。
19 |
20 | 我们推荐的 API 服务项目是:https://github.com/ddiu8081/chatgpt-demo
21 |
22 | ## 开发
23 |
24 | ```sh
25 | npm i
26 | npm run dev
27 | ```
28 |
29 | 以上是本项目的开发命令。
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "chatgpt-vue",
3 | "version": "1.0.0",
4 | "description": "[中文说明](./README-zh.md)",
5 | "main": "data.js",
6 | "scripts": {
7 | "dev": "web-dev-server --node-resolve --open --watch"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git+https://github.com/cyio/chatgpt-vue.git"
12 | },
13 | "keywords": [],
14 | "author": "",
15 | "license": "ISC",
16 | "bugs": {
17 | "url": "https://github.com/cyio/chatgpt-vue/issues"
18 | },
19 | "homepage": "https://github.com/cyio/chatgpt-vue#readme",
20 | "devDependencies": {
21 | "@web/dev-server": "^0.1.38",
22 | "koa-proxies": "^0.12.3"
23 | },
24 | "dependencies": {
25 | "dotenv": "^16.0.3"
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/lang.js:
--------------------------------------------------------------------------------
1 | function isChineseLang() {
2 | const lang = navigator.language || navigator.userLanguage;
3 | return lang.indexOf('zh') !== -1
4 | }
5 |
6 | const useEnglish = !isChineseLang()
7 |
8 | const _lang = {
9 | curSet: {
10 | en: 'Current setting',
11 | zh: '当前设定'
12 | },
13 | roleKeywords: {
14 | en: 'role keywords',
15 | zh: '角色关键字'
16 | },
17 | resetThread: {
18 | en: 'Reset Thread',
19 | zh: '重置会话'
20 | },
21 | mode: {
22 | en: 'Mode',
23 | zh: '模式'
24 | },
25 | light: {
26 | en: 'Light',
27 | zh: '浅色'
28 | },
29 | dark: {
30 | en: 'Dark',
31 | zh: '深色'
32 | },
33 | setAPI: {
34 | en: 'Set API',
35 | zh: '设置 API'
36 | },
37 | version: {
38 | en: 'version',
39 | zh: '版本号'
40 | }
41 | }
42 |
43 | const lang = new Proxy(_lang, {
44 | get: function(target, prop) {
45 | if (target[prop]) {
46 | return useEnglish ? target[prop].en : target[prop].zh;
47 | }
48 | }
49 | });
50 |
51 | export {
52 | lang,
53 | useEnglish
54 | }
--------------------------------------------------------------------------------
/data.js:
--------------------------------------------------------------------------------
1 | const prompts = [
2 | {
3 | name: 'Free Mode',
4 | nameZh: '自由模式',
5 | prompt: ''
6 | },
7 | {
8 | name: 'Computer Expert',
9 | nameZh: '电脑专家',
10 | prompt: '你作为计算机专家,提供IT支持'
11 | },
12 | {
13 | name: 'Code Expert',
14 | nameZh: '代码专家',
15 | prompt: '你来协助代码实现,只输出代码'
16 | },
17 | {
18 | name: 'Document Proofreading',
19 | nameZh: '润色文档',
20 | prompt: '你来润色文档'
21 | },
22 | {
23 | name: 'Translation Assistant',
24 | nameZh: '翻译助手',
25 | prompt: '你提供中英互译服务,后续我的输入仅作翻译'
26 | },
27 | {
28 | name: 'English Correction',
29 | nameZh: '英语矫正',
30 | prompt: '你来做英语矫正'
31 | },
32 | {
33 | name: 'SQL Translator',
34 | nameZh: 'SQL翻译',
35 | prompt: 'Translate my natural language query into SQL'
36 | },
37 | {
38 | name: 'Family Doctor',
39 | nameZh: '家庭医生',
40 | prompt: '你提供家庭医生服务,根据我的描述,判断符合哪些病症,最可能是哪种病,给出发病原理和建议'
41 | }
42 | ]
43 |
44 | function getPrompts(prompts, useEnglish) {
45 | if (useEnglish) {
46 | return prompts
47 | } else {
48 | return prompts.map(i => ({
49 | ...i,
50 | name: i.nameZh
51 | }))
52 | }
53 | }
54 |
55 | const version = '1.0.10'
56 |
57 | export {
58 | prompts,
59 | getPrompts,
60 | version,
61 | }
62 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ChatGPT Vue Client (no build, easy start)
2 |
3 | [中文说明](./README-zh.md)
4 |
5 | Background: Currently, the ChatGPT project usually puts the front-end and back-end code in the same project, which requires compilation and running, and uses advanced features such as TypeScript. For novice users, it is difficult to get started, especially for Vue-related projects that are relatively rare.
6 |
7 | Therefore, we have developed this project, which can simplify the process of learning and using the ChatGPT API.
8 |
9 | ## Features
10 |
11 | - Using simple HTML + Script, combined with Vue 3 + Options API implementation
12 | - The code is not compiled or compressed, and can be debugged directly in the production environment
13 | - The interface and experience are modeled after the ChatGPT official website
14 |
15 |
16 |
17 |
18 | ## Usage
19 |
20 | This project is only the front-end part and needs to be used with the server service.
21 |
22 | We recommend using the API service project: https://github.com/ddiu8081/chatgpt-demo
23 |
24 | ## Development
25 |
26 | ```sh
27 | npm i
28 | npm run dev
29 | ```
30 |
31 | The above is the development command for this project.
--------------------------------------------------------------------------------
/main.css:
--------------------------------------------------------------------------------
1 | .copy-btn {
2 | transition: opacity .3s ease-in-out;
3 | opacity: 0;
4 | padding: 2px 6px;
5 | position: absolute;
6 | right: 2px;
7 | font-size: 13px;
8 | font-weight: 700;
9 | line-height: 20px;
10 | color: #333;
11 | cursor: pointer;
12 | background-color: #eee;
13 | background-image: linear-gradient(#fcfcfc,#eee);
14 | border: 1px solid #d5d5d5;
15 | border-radius: 3px;
16 | }
17 | .copy-btn.copied {
18 | animation: blink 1s;
19 | }
20 | .hljs:hover .copy-btn {
21 | opacity: 1;
22 | }
23 | .bot-content .copy-btn-content {
24 | bottom: 2px;
25 | opacity: 0.1;
26 | }
27 | .copy-btn-content:hover {
28 | opacity: 1;
29 | }
30 | .clippy {
31 | position: relative;
32 | top: 3px;
33 | }
34 | .active\:bg-gray-800 {
35 | --tw-bg-opacity: 1;
36 | background-color: rgba(52,53,65,var(--tw-bg-opacity));
37 | }
38 |
39 | .blink-cursor {
40 | position: relative;
41 | display: inline-block;
42 | height: 30px;
43 | }
44 |
45 | .blink-cursor::before {
46 | content: '';
47 | position: absolute;
48 | top: 0;
49 | left: 3px;
50 | width: 2px;
51 | height: 30px;
52 | background-color: black;
53 | animation: blink 1s infinite;
54 | }
55 |
56 | @keyframes blink {
57 | 50% {
58 | opacity: 0;
59 | }
60 | }
61 |
62 | #side-bar.open-side {
63 | position: fixed;
64 | bottom: 0;
65 | top: 0;
66 | left: 0;
67 | display: flex;
68 | z-index: 40;
69 | }
70 |
71 | .close-btn svg {
72 | color: #333;
73 | }
74 |
75 | .nav-bottom {
76 | position: absolute;
77 | bottom: 40px;
78 | color: #eee;
79 | left: 20px;
80 | font-size: 12px;
81 | }
--------------------------------------------------------------------------------
/sw.js:
--------------------------------------------------------------------------------
1 | importScripts('https://storage.googleapis.com/workbox-cdn/releases/6.5.4/workbox-sw.js')
2 |
3 | const { precaching, routing, strategies } = workbox;
4 |
5 | const {registerRoute} = workbox.routing;
6 | const {CacheFirst, NetworkFirst} = workbox.strategies;
7 | const {CacheableResponse, CacheableResponsePlugin} = workbox.cacheableResponse;
8 |
9 | self.skipWaiting(); // 跳过等待,立即激活 SW
10 | // self.clients.claim(); // 控制所有同源客户端,确保使用新缓存策略,不要用?
11 |
12 | // 离线优先,安装后立即生效
13 | self.addEventListener('install', (event) => {
14 | const urls = [{
15 | url: "data.js",
16 | revision: null
17 | }, {
18 | url: "utils.js",
19 | revision: null
20 | }, {
21 | url: "lang.js",
22 | revision: null
23 | }, {
24 | url: "script.js",
25 | revision: null
26 | }, {
27 | url: "tailwind.css",
28 | revision: null
29 | }, {
30 | url: "main.css",
31 | revision: null
32 | }, {
33 | url: "registerSW.js",
34 | revision: null
35 | }, {
36 | url: "index.html",
37 | revision: null
38 | }, {
39 | url: "manifest.webmanifest",
40 | revision: null
41 | }];
42 |
43 | const precacheManifest = urls.map((url) => {
44 | return {
45 | url: url.url,
46 | revision: url.revision || null
47 | };
48 | });
49 |
50 | precaching.precacheAndRoute(precacheManifest);
51 | });
52 |
53 | // 清理缓存
54 | self.addEventListener('activate', (event) => {
55 | event.waitUntil(caches.keys().then((cacheNames) => {
56 | return Promise.all(
57 | cacheNames.filter((cacheName) => {
58 | return cacheName.startsWith('workbox-');
59 | }).map((cacheName) => {
60 | return caches.delete(cacheName);
61 | })
62 | );
63 | }));
64 | });
65 |
66 | // registerRoute(({request}) => request.destination === 'style', new CacheFirst());
67 | registerRoute(({request}) => {
68 | console.log('request.destination', request.destination)
69 | return /script|document/.test(request.destination)
70 | }, new NetworkFirst({
71 | networkTimeoutSeconds: 3,
72 | cacheName: 'static-resources-critical',
73 | plugins: [
74 | new CacheableResponsePlugin({
75 | statuses: [200],
76 | }),
77 | ],
78 | }));
79 |
80 | registerRoute(({request}) => {
81 | console.log('request.destination', request.destination)
82 | return /image|style/.test(request.destination)
83 | }, new CacheFirst({
84 | networkTimeoutSeconds: 3,
85 | cacheName: 'static-resources',
86 | plugins: [
87 | new CacheableResponsePlugin({
88 | statuses: [200],
89 | }),
90 | ],
91 | }));
92 |
93 | // // 处理 navigation 请求
94 | // routing.registerRoute(
95 | // new strategies.NetworkFirst({
96 | // cacheName: 'navigation-cache',
97 | // plugins: [
98 | // new CacheableResponsePlugin({
99 | // statuses: [0, 200],
100 | // })
101 | // ]
102 | // }),
103 | // // new workbox.NavigationRoute(({ event }) => {
104 | // // return '/';
105 | // // })
106 | // );
107 |
--------------------------------------------------------------------------------
/utils.js:
--------------------------------------------------------------------------------
1 | const mockMsgList = [{"role":"user","content":"hi"},{"role":"assistant","content":"Hello! I am an AI language model. How can I assist you today?"},{"role":"user","content":"js 代码实现二分查找"},{"role":"assistant","content":"下面是用JavaScript实现二分查找的示例代码:\n\n```javascript\nfunction binarySearch(arr, target) {\n let left = 0;\n let right = arr.length - 1;\n\n while (left <= right) {\n let mid = Math.floor((left + right) / 2);\n\n if (arr[mid] === target) {\n return mid;\n } else if (arr[mid] < target) {\n left = mid + 1;\n } else {\n right = mid - 1;\n }\n }\n\n return -1;\n}\n\nconst arr = [1, 3, 5, 7, 9];\nconst target = 5;\nconst result = binarySearch(arr, target);\n\nconsole.log(result); // 2\n```\n\n这个函数接受两个参数:一个已排序的数组和要查找的目标值。它使用while循环来迭代左右指针,直到找到目标值或者左指针超过了右指针。在每次循环中,它计算中间索引,然后比较中间值和目标值的大小。如果中间值等于目标值,函数返回中间索引;如果中间值小于目标值,左指针移动到中间索引的右侧;如果中间值大于目标值,右指针移动到中间索引的左侧。如果没有找到目标值,函数返回-1。\n\n在上面的例子中,我们使用了一个已排序的数组[1, 3, 5, 7, 9]和要查找的目标值5。函数返回2,因为5在数组中的索引是2。"},{"role":"user","content":"分条描述如何实现财富自由"},{"role":"assistant","content":"实现财富自由是一个长期的过程,需要有计划地进行,以下是一些步骤:\n\n1. 制定财务计划:了解自己的资产和负债,制定一个详细的财务计划,包括设定目标、预算、储蓄计划和投资计划。\n\n2. 节约开支:查看自己的开支,找到可以减少的地方,例如减少娱乐开支、购物开支等。将节约下来的资金用于储蓄和投资。\n\n3. 储蓄:建立一个储蓄计划,每月将一定比例的收入储蓄起来,可以选择高利率的储蓄账户或定期存款,用于紧急情况和长期储备。\n\n4. 投资:将一部分资金投资于股票、基金、房地产等领域,以获得更高的收益。在投资前,需要了解投资风险和投资目标,并选择适合自己的投资方式。\n\n5. 建立被动收入来源:除了工资以外,建立被动收入来源可以帮助实现财务自由。可以选择投资于房地产出租、股息、版权收益等领域,以获得稳定的被动收入。\n\n6. 持续学习:了解财务知识、投资知识、理财知识等,可以帮助更好地管理自己的财务,提高投资的成功率。\n\n以上是一些实现财富自由的步骤,需要长期坚持和不断努力。"},{"role":"user","content":"以下 json,增加 ja 字段表示日文,只输出代码\n\nconst _lang = {\n curSet: {\n en: 'Current setting',\n zh: '当前设定'\n },\n roleKeywords: {\n en: 'role keywords',\n zh: '角色关键字'\n }\n}"},{"role":"assistant","content":"const _lang = {\n curSet: {\n en: 'Current setting',\n zh: '当前设定',\n ja: '現在の設定'\n },\n roleKeywords: {\n en: 'role keywords',\n zh: '角色关键字',\n ja: '役割のキーワード'\n }\n};"}]
2 | const isDev = location.port !== ''
3 |
4 | function initMarkdown() {
5 | if (!window.hljs || !window.markdownit) return
6 | hljs.highlightAll();
7 | const md = window.markdownit({
8 | linkify: true,
9 | highlight: function(str, lang) {
10 | if (lang && hljs.getLanguage(lang)) {
11 | try {
12 | return `
` +
13 | hljs.highlight(str, { language: lang, ignoreIllegals: true}).value +
14 | '
';
15 | } catch (__) {}
16 | }
17 |
18 | return '' + md.utils.escapeHtml(str) + '
';
19 | }
20 | });
21 | return md
22 | }
23 |
24 | function initClipboard(target) {
25 | const clipboard = new ClipboardJS(target, {
26 | text: function(trigger) {
27 | const contentEl = trigger.nextElementSibling;
28 | return contentEl.getAttribute('data-raw') || contentEl.innerText;
29 | }
30 | });
31 |
32 | clipboard.on('success', function(e) {
33 | e.trigger.classList.add('copied')
34 | e.clearSelection()
35 | });
36 |
37 | return clipboard
38 | }
39 |
40 | // 适配不同 api 入参
41 | function getPayload(messages, apiType = 'default') {
42 | if (apiType === 'default') {
43 | return { messages }
44 | } else {
45 | const userMessages = messages.filter(i => i.role === 'user')
46 | const prompt = userMessages[userMessages.length - 1]?.content
47 | return { prompt }
48 | }
49 | }
50 |
51 | function scrollHelper(dom) {
52 | let userScrollFlag = false
53 |
54 | function onScroll() {
55 | console.log('onScroll')
56 | if (!userScrollFlag) {
57 | console.log('onScroll 2')
58 | userScrollFlag = true
59 | dom.removeEventListener('scroll', onScroll)
60 | }
61 | }
62 |
63 | function registerScroll() {
64 | userScrollFlag = false
65 | dom.addEventListener('scroll', onScroll);
66 | }
67 |
68 | function getUserScrollFlag() {
69 | return userScrollFlag
70 | }
71 |
72 | return {
73 | getUserScrollFlag,
74 | onScroll,
75 | registerScroll
76 | }
77 | }
78 |
79 | const fetchConfig = async (key) => {
80 | let url = `https://api.oaker.bid/api/data?key=${key}`
81 | let res = await fetch(url)
82 | let json = await res.json()
83 | return json
84 | }
85 |
86 | export {
87 | mockMsgList,
88 | initMarkdown,
89 | initClipboard,
90 | getPayload,
91 | scrollHelper,
92 | fetchConfig,
93 | isDev
94 | }
--------------------------------------------------------------------------------
/script.js:
--------------------------------------------------------------------------------
1 | import {
2 | mockMsgList,
3 | isDev,
4 | initMarkdown,
5 | initClipboard,
6 | scrollHelper,
7 | getPayload,
8 | fetchConfig,
9 | } from './utils.js'
10 | import { getPrompts, version, prompts } from './data.js'
11 | import { lang, useEnglish } from './lang.js'
12 |
13 | let threadContainer = null
14 | let md
15 | let tId
16 |
17 | const defaultPrompts = getPrompts(prompts, useEnglish)
18 |
19 | const app = Vue.createApp({
20 | data() {
21 | return {
22 | message: "",
23 | currentAssistantMessage: '',
24 | messageList: [],
25 | role: '',
26 | loading: false,
27 | controller: null,
28 | useLight: true,
29 | sideOpened: false,
30 | activePromptName: defaultPrompts[0].name,
31 | systemRolePrompt: '',
32 | search: '',
33 | api: null,
34 | apiType: 'default', // default or single
35 | prompts: defaultPrompts,
36 | useEnglish,
37 | lang,
38 | mdReady: false,
39 | version,
40 | scrollHelper: null
41 | }
42 | },
43 | methods: {
44 | resetThread() {
45 | this.messageList = []
46 | },
47 | handleKeydown(e) {
48 | if (e.isComposing || e.shiftKey) {
49 | return
50 | }
51 | if (e.key === 'Enter') {
52 | this.onSend()
53 | }
54 | },
55 | onSend() {
56 | if (!this.api) {
57 | this.inputApi()
58 | return
59 | }
60 | if (this.loading) return
61 | this.scrollEnd()
62 | this.messageList.push({
63 | role: 'user',
64 | content: this.message,
65 | })
66 | this.messageList.push({
67 | role: 'assistant',
68 | content: '',
69 | })
70 | this.requestWithLatestMessage()
71 | },
72 | async requestWithLatestMessage() {
73 | this.loading = true
74 | this.message = ''
75 | this.currentAssistantMessage = ''
76 | try {
77 | const controller = new AbortController()
78 | this.controller = controller
79 | const messages = [...this.messageList].filter(i => i.content !== '')
80 | if (this.systemRolePrompt) {
81 | messages.unshift({
82 | role: 'system',
83 | content: this.systemRolePrompt
84 | })
85 | }
86 | const response = await fetch(this.api, {
87 | method: 'POST',
88 | body: JSON.stringify(getPayload(messages, this.apiType)),
89 | signal: controller.signal,
90 | })
91 | if (!response.ok) {
92 | throw new Error(response.statusText)
93 | }
94 | const data = response.body
95 | if (!data) {
96 | throw new Error('No data')
97 | }
98 | this.scrollHelper.registerScroll()
99 |
100 | const reader = data.getReader()
101 | const decoder = new TextDecoder('utf-8')
102 | let done = false
103 |
104 | while (!done) {
105 | const { value, done: readerDone } = await reader.read()
106 | // isDev && console.log('debug', +new Date(), value, readerDone)
107 | if (value) {
108 | let char = decoder.decode(value)
109 | if (char === '\n' && this.currentAssistantMessage.endsWith('\n')) {
110 | continue
111 | }
112 | if (char) {
113 | this.currentAssistantMessage += char
114 | }
115 | }
116 | done = readerDone
117 | }
118 | } catch (e) {
119 | console.error(e)
120 | this.loading = false
121 | this.controller = null
122 | return
123 | }
124 | this.resEnd()
125 | },
126 | archiveCurrentMessage() {
127 | if (this.currentAssistantMessage) {
128 | console.log('archiveCurrentMessage')
129 | this.setLastMsgContent()
130 | this.currentAssistantMessage = ''
131 | this.loading = false
132 | this.controller = null
133 | } else {
134 | this.currentAssistantMessage = '...'
135 | }
136 | },
137 | stopStreamFetch() {
138 | if (this.controller) {
139 | this.controller.abort()
140 | this.archiveCurrentMessage()
141 | }
142 | },
143 | setLastMsgContent() {
144 | const lastMsg = this.messageList[this.messageList.length - 1]
145 | if (lastMsg.role === 'assistant') {
146 | lastMsg.content = this.currentAssistantMessage
147 | }
148 | },
149 | resEnd() {
150 | if (this.currentAssistantMessage) {
151 | this.currentAssistantMessage = ''
152 | this.loading = false
153 | this.controller = null
154 | }
155 | },
156 | scrollEnd() {
157 | setTimeout(() => {
158 | threadContainer && threadContainer.scrollTo({top: threadContainer.scrollHeight, behavior: 'smooth'})
159 | }, 100)
160 | },
161 | renderMD(content) {
162 | return this.mdReady ? md.render(content) : content;
163 | },
164 | toggleColor() {
165 | this.useLight = !this.useLight
166 | },
167 | onInput() {
168 | const {inputRef} = this.$refs
169 | inputRef.style.height = 'auto'; // 当删减输入时,scrollHeight 重置
170 | inputRef.style.height = inputRef.scrollHeight + 'px';
171 | },
172 | setPromot({prompt, name}) {
173 | this.activePromptName = name
174 | this.systemRolePrompt = prompt
175 | console.info('activePromptName', name)
176 | this.sideOpened = false
177 | this.messageList = []
178 | },
179 | onSearchEnter() {
180 | const cur = this.filteredItems[0]
181 | this.search = ''
182 | if (cur) {
183 | this.setPromot(cur)
184 | this.$refs.inputRef.focus();
185 | }
186 | },
187 | handleOutsideClick(event) {
188 | // const shouldExclude = ['mobile-menu', 'mobile-menu-icon'].some(key => event.target.parentElement.classList.contains(key))
189 | // if (!shouldExclude && this.sideOpened) {
190 | // this.sideOpened = false
191 | // }
192 | },
193 | setApi(value, value1) {
194 | if (value) {
195 | this.api = value
196 | localStorage.setItem('api', this.api)
197 | }
198 | if (value1) {
199 | this.apiType = value1
200 | localStorage.setItem('api-type', this.apiType)
201 | }
202 | },
203 | inputApi() {
204 | const append = this.api ? `\n\n当前 api: ${this.api}` : ''
205 | const input = prompt('请指定 api,形如:https://your.com/api/generate' + append)
206 | if (input) {
207 | this.setApi(input)
208 | }
209 | },
210 | handleMarkdown() {
211 | setTimeout(() => {
212 | md = initMarkdown()
213 | initClipboard('.copy-btn-trigger')
214 | this.mdReady = true
215 | }, 400)
216 | }
217 | },
218 | computed: {
219 | colorScheme() {
220 | return this.useLight ? 'light' : 'dark'
221 | },
222 | filteredItems() {
223 | return this.prompts.filter(
224 | i => i.name.toLowerCase().includes(this.search.toLowerCase())
225 | )
226 | }
227 | },
228 | watch: {
229 | 'currentAssistantMessage': function (val, oldVal) {
230 | if (val) {
231 | if (!oldVal) {
232 | this.setLastMsgContent()
233 | } else {
234 | // 这里没必要节流,stream data 间隔在 50ms 以上
235 | this.messageList[this.messageList.length - 1].content = val
236 | // 当用户滚动时,停止自动滚动
237 | if (!this.scrollHelper.getUserScrollFlag()) {
238 | this.scrollEnd()
239 | }
240 | }
241 | }
242 | }
243 | },
244 | directives: {
245 | 'outside-click': {
246 | mounted(el, binding) {
247 | el.clickOutsideEvent = function(event) {
248 | if (!(el === event.target || el.contains(event.target))) {
249 | binding.value(event);
250 | }
251 | };
252 | document.body.addEventListener('click', el.clickOutsideEvent);
253 | },
254 | unmounted(el) {
255 | document.body.removeEventListener('click', el.clickOutsideEvent);
256 | }
257 | }
258 | },
259 | mounted() {
260 | const params = new URLSearchParams(location.search)
261 | let apiParam = params.get('api') || localStorage.getItem('api')
262 | isDev && (apiParam = '/api/generate')
263 | isDev && (this.messageList = mockMsgList)
264 | const apiTypeParam = params.get('api-type') || localStorage.getItem('api-type')
265 | this.setApi(apiParam, apiTypeParam)
266 | this.handleMarkdown()
267 | threadContainer = document.querySelector('.thread-container')
268 | this.scrollHelper = scrollHelper(threadContainer)
269 | fetchConfig('/chatgpt/prompts').then(res => {
270 | console.log(res)
271 | this.prompts = getPrompts(res, useEnglish)
272 | this.activePromptName = this.prompts[0].name
273 | })
274 | }
275 | })
276 | app.mount('#app')
277 |
--------------------------------------------------------------------------------
/workbox.js:
--------------------------------------------------------------------------------
1 | define(["exports"],(function(t){"use strict";try{self["workbox:core:6.5.3"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}try{self["workbox:routing:6.5.3"]&&_()}catch(t){}const n=t=>t&&"object"==typeof t?t:{handle:t};class i{constructor(t,e,s="GET"){this.handler=n(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=n(t)}}class r extends i{constructor(t,e,s){super((({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)}),e,s)}}class o{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",(t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map((e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})})));t.waitUntil(s),t.ports&&t.ports[0]&&s.then((()=>t.ports[0].postMessage(!0)))}}))}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let o=r&&r.handler;const c=t.method;if(!o&&this.i.has(c)&&(o=this.i.get(c)),!o)return;let a;try{a=o.handle({url:s,request:t,event:e,params:i})}catch(t){a=Promise.reject(t)}const h=r&&r.catchHandler;return a instanceof Promise&&(this.o||h)&&(a=a.catch((async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n}))),a}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const o=r.match({url:t,sameOrigin:e,request:s,event:n});if(o)return i=o,(Array.isArray(i)&&0===i.length||o.constructor===Object&&0===Object.keys(o).length||"boolean"==typeof o)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,n(t))}setCatchHandler(t){this.o=n(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let c;const a=()=>(c||(c=new o,c.addFetchListener(),c.addCacheListener()),c);function h(t,e,n){let o;if("string"==typeof t){const s=new URL(t,location.href);o=new i((({url:t})=>t.href===s.href),e,n)}else if(t instanceof RegExp)o=new r(t,e,n);else if("function"==typeof t)o=new i(t,e,n);else{if(!(t instanceof i))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});o=t}return a().registerRoute(o),o}const u={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},l=t=>[u.prefix,t,u.suffix].filter((t=>t&&t.length>0)).join("-"),f=t=>t||l(u.precache),w=t=>t||l(u.runtime);function d(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:6.5.3"]&&_()}catch(t){}function p(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class y{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class g{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.h.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.h=t}}let R;async function m(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=e?e(r):r,c=function(){if(void 0===R){const t=new Response("");if("body"in t)try{new Response(t.body),R=!0}catch(t){R=!1}R=!1}return R}()?i.body:await i.blob();return new Response(c,o)}function v(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class q{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}}const U=new Set;try{self["workbox:strategies:6.5.3"]&&_()}catch(t){}function L(t){return"string"==typeof t?new Request(t):t}class b{constructor(t,e){this.u={},Object.assign(this,e),this.event=e.event,this.l=t,this.p=new q,this.g=[],this.R=[...t.plugins],this.m=new Map;for(const t of this.R)this.m.set(t,{});this.event.waitUntil(this.p.promise)}async fetch(t){const{event:e}=this;let n=L(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.l.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=L(t);let s;const{cacheName:n,matchOptions:i}=this.l,r=await this.getCacheKey(e,"read"),o=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,o);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=L(t);var i;await(i=0,new Promise((t=>setTimeout(t,i))));const r=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(o=r.url,new URL(String(o),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var o;const c=await this.v(e);if(!c)return!1;const{cacheName:a,matchOptions:h}=this.l,u=await self.caches.open(a),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const i=v(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),o=await t.keys(e,r);for(const e of o)if(i===v(e.url,s))return t.match(e,n)}(u,r.clone(),["__WB_REVISION__"],h):null;try{await u.put(r,l?c.clone():c)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of U)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:a,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.u[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=L(await t({mode:e,request:n,event:this.event,params:this.params}));this.u[s]=n}return this.u[s]}hasCallback(t){for(const e of this.l.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.l.plugins)if("function"==typeof e[t]){const s=this.m.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.g.push(t),t}async doneWaiting(){let t;for(;t=this.g.shift();)await t}destroy(){this.p.resolve(null)}async v(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class C{constructor(t={}){this.cacheName=w(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new b(this,{event:e,request:s,params:n}),r=this.q(i,s,e);return[r,this.U(r,i,s,e)]}async q(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this.L(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async U(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}class E extends C{constructor(t={}){t.cacheName=f(t.cacheName),super(t),this._=!1!==t.fallbackToNetwork,this.plugins.push(E.copyRedirectedCacheableResponsesPlugin)}async L(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.C(t,e):await this.O(t,e))}async O(t,e){let n;const i=e.params||{};if(!this._)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,o=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&o&&"no-cors"!==t.mode&&(this.N(),await e.cachePut(t,n.clone()))}return n}async C(t,e){this.N();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}N(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==E.copyRedirectedCacheableResponsesPlugin&&(n===E.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(E.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}E.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},E.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await m(t):t};class O{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.k=new Map,this.K=new Map,this.P=new Map,this.l=new E({cacheName:f(t),plugins:[...e,new g({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.l}precache(t){this.addToCacheList(t),this.T||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.T=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=p(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.k.has(i)&&this.k.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.k.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.P.has(t)&&this.P.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.P.set(t,n.integrity)}if(this.k.set(i,t),this.K.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return d(t,(async()=>{const e=new y;this.strategy.plugins.push(e);for(const[e,s]of this.k){const n=this.P.get(s),i=this.K.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}}))}activate(t){return d(t,(async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.k.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}}))}getURLsToCacheKeys(){return this.k}getCachedURLs(){return[...this.k.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.k.get(e.href)}getIntegrityForCacheKey(t){return this.P.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}let x;const N=()=>(x||(x=new O),x);class k extends i{constructor(t,e){super((({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const o=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some((t=>t.test(s)))&&t.searchParams.delete(s);return t}(r,e);if(yield o.href,s&&o.pathname.endsWith("/")){const t=new URL(o.href);t.pathname+=s,yield t.href}if(n){const t=new URL(o.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}}),t.strategy)}}t.NavigationRoute=class extends i{constructor(t,{allowlist:e=[/./],denylist:s=[]}={}){super((t=>this.W(t)),t),this.j=e,this.M=s}W({url:t,request:e}){if(e&&"navigate"!==e.mode)return!1;const s=t.pathname+t.search;for(const t of this.M)if(t.test(s))return!1;return!!this.j.some((t=>t.test(s)))}},t.cleanupOutdatedCaches=function(){self.addEventListener("activate",(t=>{const e=f();t.waitUntil((async(t,e="-precache-")=>{const s=(await self.caches.keys()).filter((s=>s.includes(e)&&s.includes(self.registration.scope)&&s!==t));return await Promise.all(s.map((t=>self.caches.delete(t)))),s})(e).then((t=>{})))}))},t.clientsClaim=function(){self.addEventListener("activate",(()=>self.clients.claim()))},t.createHandlerBoundToURL=function(t){return N().createHandlerBoundToURL(t)},t.precacheAndRoute=function(t,e){!function(t){N().precache(t)}(t),function(t){const e=N();h(new k(e,t))}(e)},t.registerRoute=h}));
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ChatGPT
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
46 |
56 |
57 |
58 |
114 |
116 |
117 |
118 |
120 |
128 |
130 |
137 |
148 |
149 |
150 |
151 |
152 | Developed using gpt-3.5-turbo API. Please refresh the page if you encounter an error.
153 |
154 |
155 |
156 |
159 |
160 |
161 |
216 |
217 |
218 |
219 |
220 |
226 |
227 |
228 |
--------------------------------------------------------------------------------
/tailwind.css:
--------------------------------------------------------------------------------
1 | /*! tailwindcss v3.1.8 | MIT License | https://tailwindcss.com*/
2 | *,:after,:before {
3 | border: 0 solid #d9d9e3;
4 | box-sizing: border-box
5 | }
6 |
7 | :after,:before {
8 | --tw-content: ""
9 | }
10 |
11 | html {
12 | -webkit-text-size-adjust: 100%;
13 | font-family: Söhne,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Helvetica Neue,Arial,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
14 | line-height: 1.5;
15 | tab-size: 4
16 | }
17 |
18 | body {
19 | line-height: inherit;
20 | margin: 0
21 | }
22 |
23 | hr {
24 | border-top-width: 1px;
25 | color: inherit;
26 | height: 0
27 | }
28 |
29 | abbr:where([title]) {
30 | text-decoration: underline;
31 | -webkit-text-decoration: underline dotted currentColor;
32 | text-decoration: underline dotted currentColor
33 | }
34 |
35 | h1,h2,h3,h4,h5,h6 {
36 | font-size: inherit;
37 | font-weight: inherit
38 | }
39 |
40 | a {
41 | color: inherit;
42 | text-decoration: inherit
43 | }
44 |
45 | b,strong {
46 | font-weight: bolder
47 | }
48 |
49 | code,kbd,pre,samp {
50 | font-family: Söhne Mono,Monaco,Andale Mono,Ubuntu Mono,monospace;
51 | font-size: 1em
52 | }
53 |
54 | small {
55 | font-size: 80%
56 | }
57 |
58 | sub,sup {
59 | font-size: 75%;
60 | line-height: 0;
61 | position: relative;
62 | vertical-align: baseline
63 | }
64 |
65 | sub {
66 | bottom: -.25em
67 | }
68 |
69 | sup {
70 | top: -.5em
71 | }
72 |
73 | table {
74 | border-collapse: collapse;
75 | border-color: inherit;
76 | text-indent: 0
77 | }
78 |
79 | button,input,optgroup,select,textarea {
80 | color: inherit;
81 | font-family: inherit;
82 | font-size: 100%;
83 | font-weight: inherit;
84 | line-height: inherit;
85 | margin: 0;
86 | padding: 0
87 | }
88 |
89 | button,select {
90 | text-transform: none
91 | }
92 |
93 | [type=button],[type=reset],[type=submit],button {
94 | -webkit-appearance: button;
95 | background-color: transparent;
96 | background-image: none
97 | }
98 |
99 | :-moz-focusring {
100 | outline: auto
101 | }
102 |
103 | :-moz-ui-invalid {
104 | box-shadow: none
105 | }
106 |
107 | progress {
108 | vertical-align: baseline
109 | }
110 |
111 | ::-webkit-inner-spin-button,::-webkit-outer-spin-button {
112 | height: auto
113 | }
114 |
115 | [type=search] {
116 | -webkit-appearance: textfield;
117 | outline-offset: -2px
118 | }
119 |
120 | ::-webkit-search-decoration {
121 | -webkit-appearance: none
122 | }
123 |
124 | ::-webkit-file-upload-button {
125 | -webkit-appearance: button;
126 | font: inherit
127 | }
128 |
129 | summary {
130 | display: list-item
131 | }
132 |
133 | blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre {
134 | margin: 0
135 | }
136 |
137 | fieldset,legend {
138 | padding: 0
139 | }
140 |
141 | menu,ol,ul {
142 | list-style: none;
143 | margin: 0;
144 | padding: 0
145 | }
146 |
147 | textarea {
148 | resize: vertical
149 | }
150 |
151 | input::-webkit-input-placeholder,textarea::-webkit-input-placeholder {
152 | color: #acacbe
153 | }
154 |
155 | input::placeholder,textarea::placeholder {
156 | color: #acacbe
157 | }
158 |
159 | [role=button],button {
160 | cursor: pointer
161 | }
162 |
163 | :disabled {
164 | cursor: default
165 | }
166 |
167 | audio,canvas,embed,iframe,img,object,svg,video {
168 | display: block;
169 | vertical-align: middle
170 | }
171 |
172 | img,video {
173 | height: auto;
174 | max-width: 100%
175 | }
176 |
177 | [multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea {
178 | --tw-shadow: 0 0 transparent;
179 | -webkit-appearance: none;
180 | appearance: none;
181 | background-color: #fff;
182 | border-color: #8e8ea0;
183 | border-radius: 0;
184 | border-width: 1px;
185 | font-size: 1rem;
186 | line-height: 1.5rem;
187 | padding: .5rem .75rem
188 | }
189 |
190 | [multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus {
191 | --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
192 | --tw-ring-offset-width: 0px;
193 | --tw-ring-offset-color: #fff;
194 | --tw-ring-color: #2563eb;
195 | --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
196 | --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
197 | border-color: #2563eb;
198 | box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);
199 | outline: 2px solid transparent;
200 | outline-offset: 2px
201 | }
202 |
203 | input::-webkit-input-placeholder,textarea::-webkit-input-placeholder {
204 | color: #8e8ea0;
205 | opacity: 1
206 | }
207 |
208 | input::placeholder,textarea::placeholder {
209 | color: #8e8ea0;
210 | opacity: 1
211 | }
212 |
213 | ::-webkit-datetime-edit-fields-wrapper {
214 | padding: 0
215 | }
216 |
217 | ::-webkit-date-and-time-value {
218 | min-height: 1.5em
219 | }
220 |
221 | ::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field {
222 | padding-bottom: 0;
223 | padding-top: 0
224 | }
225 |
226 | select {
227 | background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%238e8ea0' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");
228 | background-position: right .5rem center;
229 | background-repeat: no-repeat;
230 | background-size: 1.5em 1.5em;
231 | padding-right: 2.5rem;
232 | -webkit-print-color-adjust: exact;
233 | print-color-adjust: exact
234 | }
235 |
236 | [multiple] {
237 | background-image: none;
238 | background-position: 0 0;
239 | background-repeat: repeat;
240 | background-size: auto auto;
241 | background-size: initial;
242 | padding-right: .75rem;
243 | -webkit-print-color-adjust: inherit;
244 | print-color-adjust: inherit
245 | }
246 |
247 | [type=checkbox],[type=radio] {
248 | --tw-shadow: 0 0 transparent;
249 | -webkit-appearance: none;
250 | appearance: none;
251 | background-color: #fff;
252 | background-origin: border-box;
253 | border-color: #8e8ea0;
254 | border-width: 1px;
255 | color: #2563eb;
256 | display: inline-block;
257 | flex-shrink: 0;
258 | height: 1rem;
259 | padding: 0;
260 | -webkit-print-color-adjust: exact;
261 | print-color-adjust: exact;
262 | -webkit-user-select: none;
263 | user-select: none;
264 | vertical-align: middle;
265 | width: 1rem
266 | }
267 |
268 | [type=checkbox] {
269 | border-radius: 0
270 | }
271 |
272 | [type=radio] {
273 | border-radius: 100%
274 | }
275 |
276 | [type=checkbox]:focus,[type=radio]:focus {
277 | --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
278 | --tw-ring-offset-width: 2px;
279 | --tw-ring-offset-color: #fff;
280 | --tw-ring-color: #2563eb;
281 | --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
282 | --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
283 | box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);
284 | outline: 2px solid transparent;
285 | outline-offset: 2px
286 | }
287 |
288 | [type=checkbox]:checked,[type=radio]:checked {
289 | background-color: currentColor;
290 | background-position: 50%;
291 | background-repeat: no-repeat;
292 | background-size: 100% 100%;
293 | border-color: transparent
294 | }
295 |
296 | [type=checkbox]:checked {
297 | background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")
298 | }
299 |
300 | [type=radio]:checked {
301 | background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")
302 | }
303 |
304 | [type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover {
305 | background-color: currentColor;
306 | border-color: transparent
307 | }
308 |
309 | [type=checkbox]:indeterminate {
310 | background-color: currentColor;
311 | background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");
312 | background-position: 50%;
313 | background-repeat: no-repeat;
314 | background-size: 100% 100%;
315 | border-color: transparent
316 | }
317 |
318 | [type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover {
319 | background-color: currentColor;
320 | border-color: transparent
321 | }
322 |
323 | [type=file] {
324 | background: transparent none repeat 0 0/auto auto padding-box border-box scroll;
325 | background: initial;
326 | border-color: inherit;
327 | border-radius: 0;
328 | border-width: 0;
329 | font-size: inherit;
330 | line-height: inherit;
331 | padding: 0
332 | }
333 |
334 | [type=file]:focus {
335 | outline: 1px solid ButtonText;
336 | outline: 1px auto -webkit-focus-ring-color
337 | }
338 |
339 | h1 {
340 | font-size: 1.875rem;
341 | line-height: 2.25rem
342 | }
343 |
344 | h1,h2,h3 {
345 | font-weight: 600
346 | }
347 |
348 | h2,h3 {
349 | font-size: 1.5rem;
350 | line-height: 2rem
351 | }
352 |
353 | *,:after,:before {
354 | --tw-border-spacing-x: 0;
355 | --tw-border-spacing-y: 0;
356 | --tw-translate-x: 0;
357 | --tw-translate-y: 0;
358 | --tw-rotate: 0;
359 | --tw-skew-x: 0;
360 | --tw-skew-y: 0;
361 | --tw-scale-x: 1;
362 | --tw-scale-y: 1;
363 | --tw-pan-x: ;
364 | --tw-pan-y: ;
365 | --tw-pinch-zoom: ;
366 | --tw-scroll-snap-strictness: proximity;
367 | --tw-ordinal: ;
368 | --tw-slashed-zero: ;
369 | --tw-numeric-figure: ;
370 | --tw-numeric-spacing: ;
371 | --tw-numeric-fraction: ;
372 | --tw-ring-inset: ;
373 | --tw-ring-offset-width: 0px;
374 | --tw-ring-offset-color: #fff;
375 | --tw-ring-color: rgba(59,130,246,.5);
376 | --tw-ring-offset-shadow: 0 0 transparent;
377 | --tw-ring-shadow: 0 0 transparent;
378 | --tw-shadow: 0 0 transparent;
379 | --tw-shadow-colored: 0 0 transparent;
380 | --tw-blur: ;
381 | --tw-brightness: ;
382 | --tw-contrast: ;
383 | --tw-grayscale: ;
384 | --tw-hue-rotate: ;
385 | --tw-invert: ;
386 | --tw-saturate: ;
387 | --tw-sepia: ;
388 | --tw-drop-shadow: ;
389 | --tw-backdrop-blur: ;
390 | --tw-backdrop-brightness: ;
391 | --tw-backdrop-contrast: ;
392 | --tw-backdrop-grayscale: ;
393 | --tw-backdrop-hue-rotate: ;
394 | --tw-backdrop-invert: ;
395 | --tw-backdrop-opacity: ;
396 | --tw-backdrop-saturate: ;
397 | --tw-backdrop-sepia:
398 | }
399 |
400 | ::-webkit-backdrop {
401 | --tw-border-spacing-x: 0;
402 | --tw-border-spacing-y: 0;
403 | --tw-translate-x: 0;
404 | --tw-translate-y: 0;
405 | --tw-rotate: 0;
406 | --tw-skew-x: 0;
407 | --tw-skew-y: 0;
408 | --tw-scale-x: 1;
409 | --tw-scale-y: 1;
410 | --tw-pan-x: ;
411 | --tw-pan-y: ;
412 | --tw-pinch-zoom: ;
413 | --tw-scroll-snap-strictness: proximity;
414 | --tw-ordinal: ;
415 | --tw-slashed-zero: ;
416 | --tw-numeric-figure: ;
417 | --tw-numeric-spacing: ;
418 | --tw-numeric-fraction: ;
419 | --tw-ring-inset: ;
420 | --tw-ring-offset-width: 0px;
421 | --tw-ring-offset-color: #fff;
422 | --tw-ring-color: rgba(59,130,246,.5);
423 | --tw-ring-offset-shadow: 0 0 transparent;
424 | --tw-ring-shadow: 0 0 transparent;
425 | --tw-shadow: 0 0 transparent;
426 | --tw-shadow-colored: 0 0 transparent;
427 | --tw-blur: ;
428 | --tw-brightness: ;
429 | --tw-contrast: ;
430 | --tw-grayscale: ;
431 | --tw-hue-rotate: ;
432 | --tw-invert: ;
433 | --tw-saturate: ;
434 | --tw-sepia: ;
435 | --tw-drop-shadow: ;
436 | --tw-backdrop-blur: ;
437 | --tw-backdrop-brightness: ;
438 | --tw-backdrop-contrast: ;
439 | --tw-backdrop-grayscale: ;
440 | --tw-backdrop-hue-rotate: ;
441 | --tw-backdrop-invert: ;
442 | --tw-backdrop-opacity: ;
443 | --tw-backdrop-saturate: ;
444 | --tw-backdrop-sepia:
445 | }
446 |
447 | ::backdrop {
448 | --tw-border-spacing-x: 0;
449 | --tw-border-spacing-y: 0;
450 | --tw-translate-x: 0;
451 | --tw-translate-y: 0;
452 | --tw-rotate: 0;
453 | --tw-skew-x: 0;
454 | --tw-skew-y: 0;
455 | --tw-scale-x: 1;
456 | --tw-scale-y: 1;
457 | --tw-pan-x: ;
458 | --tw-pan-y: ;
459 | --tw-pinch-zoom: ;
460 | --tw-scroll-snap-strictness: proximity;
461 | --tw-ordinal: ;
462 | --tw-slashed-zero: ;
463 | --tw-numeric-figure: ;
464 | --tw-numeric-spacing: ;
465 | --tw-numeric-fraction: ;
466 | --tw-ring-inset: ;
467 | --tw-ring-offset-width: 0px;
468 | --tw-ring-offset-color: #fff;
469 | --tw-ring-color: rgba(59,130,246,.5);
470 | --tw-ring-offset-shadow: 0 0 transparent;
471 | --tw-ring-shadow: 0 0 transparent;
472 | --tw-shadow: 0 0 transparent;
473 | --tw-shadow-colored: 0 0 transparent;
474 | --tw-blur: ;
475 | --tw-brightness: ;
476 | --tw-contrast: ;
477 | --tw-grayscale: ;
478 | --tw-hue-rotate: ;
479 | --tw-invert: ;
480 | --tw-saturate: ;
481 | --tw-sepia: ;
482 | --tw-drop-shadow: ;
483 | --tw-backdrop-blur: ;
484 | --tw-backdrop-brightness: ;
485 | --tw-backdrop-contrast: ;
486 | --tw-backdrop-grayscale: ;
487 | --tw-backdrop-hue-rotate: ;
488 | --tw-backdrop-invert: ;
489 | --tw-backdrop-opacity: ;
490 | --tw-backdrop-saturate: ;
491 | --tw-backdrop-sepia:
492 | }
493 |
494 | :root {
495 | --color-primary: #19c37d;
496 | --color-secondary: #715fde;
497 | --color-error: #ef4146;
498 | --gradient-primary: linear-gradient(90deg,#a29bd4,#989fdd);
499 | --text-primary: #202123;
500 | --text-default: #353740;
501 | --text-secondary: #6e6e80;
502 | --text-disabled: #acacbe;
503 | --text-error: var(--color-error)
504 | }
505 |
506 | ::-webkit-scrollbar {
507 | height: 1rem;
508 | width: .5rem
509 | }
510 |
511 | ::-webkit-scrollbar:horizontal {
512 | height: .5rem;
513 | width: 1rem
514 | }
515 |
516 | ::-webkit-scrollbar-track {
517 | background-color: transparent;
518 | border-radius: 9999px
519 | }
520 |
521 | ::-webkit-scrollbar-thumb {
522 | --tw-border-opacity: 1;
523 | background-color: rgba(217,217,227,.8);
524 | border-color: rgba(255,255,255,var(--tw-border-opacity));
525 | border-radius: 9999px;
526 | border-width: 1px
527 | }
528 |
529 | ::-webkit-scrollbar-thumb:hover {
530 | --tw-bg-opacity: 1;
531 | background-color: rgba(236,236,241,var(--tw-bg-opacity))
532 | }
533 |
534 | .dark ::-webkit-scrollbar-thumb {
535 | --tw-bg-opacity: 1;
536 | background-color: rgba(86,88,105,var(--tw-bg-opacity))
537 | }
538 |
539 | .dark ::-webkit-scrollbar-thumb:hover {
540 | --tw-bg-opacity: 1;
541 | background-color: rgba(172,172,190,var(--tw-bg-opacity))
542 | }
543 |
544 | @media (min-width: 768px) {
545 | .scrollbar-trigger ::-webkit-scrollbar-thumb {
546 | visibility:hidden
547 | }
548 |
549 | .scrollbar-trigger:hover ::-webkit-scrollbar-thumb {
550 | visibility: visible
551 | }
552 | }
553 |
554 | .container {
555 | width: 100%
556 | }
557 |
558 | @media (min-width: 640px) {
559 | .container {
560 | max-width:640px
561 | }
562 | }
563 |
564 | @media (min-width: 768px) {
565 | .container {
566 | max-width:768px
567 | }
568 | }
569 |
570 | @media (min-width: 1024px) {
571 | .container {
572 | max-width:1024px
573 | }
574 | }
575 |
576 | @media (min-width: 1280px) {
577 | .container {
578 | max-width:1280px
579 | }
580 | }
581 |
582 | @media (min-width: 1536px) {
583 | .container {
584 | max-width:1536px
585 | }
586 | }
587 |
588 | .prose {
589 | color: var(--tw-prose-body);
590 | max-width: 65ch
591 | }
592 |
593 | .prose :where([class~=lead]):not(:where([class~=not-prose] *)) {
594 | color: var(--tw-prose-lead);
595 | font-size: 1.25em;
596 | line-height: 1.6;
597 | margin-bottom: 1.2em;
598 | margin-top: 1.2em
599 | }
600 |
601 | .prose :where(a):not(:where([class~=not-prose] *)) {
602 | color: var(--tw-prose-links);
603 | font-weight: 500;
604 | text-decoration: underline
605 | }
606 |
607 | .prose :where(strong):not(:where([class~=not-prose] *)) {
608 | color: var(--tw-prose-bold);
609 | font-weight: 600
610 | }
611 |
612 | .prose :where(a strong):not(:where([class~=not-prose] *)) {
613 | color: inherit
614 | }
615 |
616 | .prose :where(blockquote strong):not(:where([class~=not-prose] *)) {
617 | color: inherit
618 | }
619 |
620 | .prose :where(thead th strong):not(:where([class~=not-prose] *)) {
621 | color: inherit
622 | }
623 |
624 | .prose :where(ol):not(:where([class~=not-prose] *)) {
625 | list-style-type: decimal;
626 | margin-bottom: 1.25em;
627 | margin-top: 1.25em;
628 | padding-left: 1.625em
629 | }
630 |
631 | .prose :where(ol[type=A]):not(:where([class~=not-prose] *)) {
632 | list-style-type: upper-alpha
633 | }
634 |
635 | .prose :where(ol[type=a]):not(:where([class~=not-prose] *)) {
636 | list-style-type: lower-alpha
637 | }
638 |
639 | .prose :where(ol[type=A s]):not(:where([class~=not-prose] *)) {
640 | list-style-type: upper-alpha
641 | }
642 |
643 | .prose :where(ol[type=a s]):not(:where([class~=not-prose] *)) {
644 | list-style-type: lower-alpha
645 | }
646 |
647 | .prose :where(ol[type=I]):not(:where([class~=not-prose] *)) {
648 | list-style-type: upper-roman
649 | }
650 |
651 | .prose :where(ol[type=i]):not(:where([class~=not-prose] *)) {
652 | list-style-type: lower-roman
653 | }
654 |
655 | .prose :where(ol[type=I s]):not(:where([class~=not-prose] *)) {
656 | list-style-type: upper-roman
657 | }
658 |
659 | .prose :where(ol[type=i s]):not(:where([class~=not-prose] *)) {
660 | list-style-type: lower-roman
661 | }
662 |
663 | .prose :where(ol[type="1"]):not(:where([class~=not-prose] *)) {
664 | list-style-type: decimal
665 | }
666 |
667 | .prose :where(ul):not(:where([class~=not-prose] *)) {
668 | list-style-type: disc;
669 | margin-bottom: 1.25em;
670 | margin-top: 1.25em;
671 | padding-left: 1.625em
672 | }
673 |
674 | .prose :where(ol>li):not(:where([class~=not-prose] *))::marker {
675 | color: var(--tw-prose-counters);
676 | font-weight: 400
677 | }
678 |
679 | .prose :where(ul>li):not(:where([class~=not-prose] *))::marker {
680 | color: var(--tw-prose-bullets)
681 | }
682 |
683 | .prose :where(hr):not(:where([class~=not-prose] *)) {
684 | border-color: var(--tw-prose-hr);
685 | border-top-width: 1px;
686 | margin-bottom: 3em;
687 | margin-top: 3em
688 | }
689 |
690 | .prose :where(blockquote):not(:where([class~=not-prose] *)) {
691 | border-left-color: var(--tw-prose-quote-borders);
692 | border-left-width: .25rem;
693 | color: var(--tw-prose-quotes);
694 | font-style: italic;
695 | font-style: normal;
696 | font-weight: 500;
697 | margin-bottom: 1.6em;
698 | margin-top: 1.6em;
699 | padding-left: 1em;
700 | quotes: "\201C""\201D""\2018""\2019"
701 | }
702 |
703 | .prose :where(blockquote p:first-of-type):not(:where([class~=not-prose] *)):before {
704 | content: open-quote
705 | }
706 |
707 | .prose :where(blockquote p:last-of-type):not(:where([class~=not-prose] *)):after {
708 | content: close-quote
709 | }
710 |
711 | .prose :where(h1):not(:where([class~=not-prose] *)) {
712 | color: var(--tw-prose-headings);
713 | font-size: 2.25em;
714 | font-weight: 800;
715 | line-height: 1.1111111;
716 | margin-bottom: .8888889em;
717 | margin-top: 0
718 | }
719 |
720 | .prose :where(h1 strong):not(:where([class~=not-prose] *)) {
721 | color: inherit;
722 | font-weight: 900
723 | }
724 |
725 | .prose :where(h2):not(:where([class~=not-prose] *)) {
726 | color: var(--tw-prose-headings);
727 | font-size: 1.5em;
728 | font-weight: 700;
729 | line-height: 1.3333333;
730 | margin-bottom: 1em;
731 | margin-top: 2em
732 | }
733 |
734 | .prose :where(h2 strong):not(:where([class~=not-prose] *)) {
735 | color: inherit;
736 | font-weight: 800
737 | }
738 |
739 | .prose :where(h3):not(:where([class~=not-prose] *)) {
740 | color: var(--tw-prose-headings);
741 | font-size: 1.25em;
742 | font-weight: 600;
743 | line-height: 1.6;
744 | margin-bottom: .6em;
745 | margin-top: 1.6em
746 | }
747 |
748 | .prose :where(h3 strong):not(:where([class~=not-prose] *)) {
749 | color: inherit;
750 | font-weight: 700
751 | }
752 |
753 | .prose :where(h4):not(:where([class~=not-prose] *)) {
754 | color: var(--tw-prose-headings);
755 | font-weight: 600;
756 | line-height: 1.5;
757 | margin-bottom: .5em;
758 | margin-top: 1.5em
759 | }
760 |
761 | .prose :where(h4 strong):not(:where([class~=not-prose] *)) {
762 | color: inherit;
763 | font-weight: 700
764 | }
765 |
766 | .prose :where(img):not(:where([class~=not-prose] *)) {
767 | margin-bottom: 2em;
768 | margin-top: 2em
769 | }
770 |
771 | .prose :where(figure>*):not(:where([class~=not-prose] *)) {
772 | margin-bottom: 0;
773 | margin-top: 0
774 | }
775 |
776 | .prose :where(figcaption):not(:where([class~=not-prose] *)) {
777 | color: var(--tw-prose-captions);
778 | font-size: .875em;
779 | line-height: 1.4285714;
780 | margin-top: .8571429em
781 | }
782 |
783 | .prose :where(code):not(:where([class~=not-prose] *)) {
784 | color: var(--tw-prose-code);
785 | font-size: .875em;
786 | font-weight: 600
787 | }
788 |
789 | .prose :where(code):not(:where([class~=not-prose] *)):before {
790 | content: "`"
791 | }
792 |
793 | .prose :where(code):not(:where([class~=not-prose] *)):after {
794 | content: "`"
795 | }
796 |
797 | .prose :where(a code):not(:where([class~=not-prose] *)) {
798 | color: inherit
799 | }
800 |
801 | .prose :where(h1 code):not(:where([class~=not-prose] *)) {
802 | color: inherit
803 | }
804 |
805 | .prose :where(h2 code):not(:where([class~=not-prose] *)) {
806 | color: inherit;
807 | font-size: .875em
808 | }
809 |
810 | .prose :where(h3 code):not(:where([class~=not-prose] *)) {
811 | color: inherit;
812 | font-size: .9em
813 | }
814 |
815 | .prose :where(h4 code):not(:where([class~=not-prose] *)) {
816 | color: inherit
817 | }
818 |
819 | .prose :where(blockquote code):not(:where([class~=not-prose] *)) {
820 | color: inherit
821 | }
822 |
823 | .prose :where(thead th code):not(:where([class~=not-prose] *)) {
824 | color: inherit
825 | }
826 |
827 | .prose :where(pre):not(:where([class~=not-prose] *)) {
828 | background-color: transparent;
829 | border-radius: .375rem;
830 | color: currentColor;
831 | font-size: .875em;
832 | font-weight: 400;
833 | line-height: 1.7142857;
834 | margin: 0;
835 | overflow-x: auto;
836 | padding: 0
837 | }
838 |
839 | .prose :where(pre code):not(:where([class~=not-prose] *)) {
840 | background-color: transparent;
841 | border-radius: 0;
842 | border-width: 0;
843 | color: inherit;
844 | font-family: inherit;
845 | font-size: inherit;
846 | font-weight: inherit;
847 | line-height: inherit;
848 | padding: 0
849 | }
850 |
851 | .prose :where(pre code):not(:where([class~=not-prose] *)):before {
852 | content: none
853 | }
854 |
855 | .prose :where(pre code):not(:where([class~=not-prose] *)):after {
856 | content: none
857 | }
858 |
859 | .prose :where(table):not(:where([class~=not-prose] *)) {
860 | font-size: .875em;
861 | line-height: 1.7142857;
862 | margin-bottom: 2em;
863 | margin-top: 2em;
864 | table-layout: auto;
865 | text-align: left;
866 | width: 100%
867 | }
868 |
869 | .prose :where(thead):not(:where([class~=not-prose] *)) {
870 | border-bottom-color: var(--tw-prose-th-borders);
871 | border-bottom-width: 1px
872 | }
873 |
874 | .prose :where(thead th):not(:where([class~=not-prose] *)) {
875 | color: var(--tw-prose-headings);
876 | font-weight: 600;
877 | padding-bottom: .5714286em;
878 | padding-left: .5714286em;
879 | padding-right: .5714286em;
880 | vertical-align: bottom
881 | }
882 |
883 | .prose :where(tbody tr):not(:where([class~=not-prose] *)) {
884 | border-bottom-color: var(--tw-prose-td-borders);
885 | border-bottom-width: 1px
886 | }
887 |
888 | .prose :where(tbody tr:last-child):not(:where([class~=not-prose] *)) {
889 | border-bottom-width: 0
890 | }
891 |
892 | .prose :where(tbody td):not(:where([class~=not-prose] *)) {
893 | vertical-align: baseline
894 | }
895 |
896 | .prose :where(tfoot):not(:where([class~=not-prose] *)) {
897 | border-top-color: var(--tw-prose-th-borders);
898 | border-top-width: 1px
899 | }
900 |
901 | .prose :where(tfoot td):not(:where([class~=not-prose] *)) {
902 | vertical-align: top
903 | }
904 |
905 | .prose {
906 | --tw-prose-body: #374151;
907 | --tw-prose-headings: #111827;
908 | --tw-prose-lead: #4b5563;
909 | --tw-prose-links: #111827;
910 | --tw-prose-bold: #111827;
911 | --tw-prose-counters: #6b7280;
912 | --tw-prose-bullets: #d1d5db;
913 | --tw-prose-hr: #e5e7eb;
914 | --tw-prose-quotes: #111827;
915 | --tw-prose-quote-borders: #e5e7eb;
916 | --tw-prose-captions: #6b7280;
917 | --tw-prose-code: #111827;
918 | --tw-prose-pre-code: #e5e7eb;
919 | --tw-prose-pre-bg: #1f2937;
920 | --tw-prose-th-borders: #d1d5db;
921 | --tw-prose-td-borders: #e5e7eb;
922 | --tw-prose-invert-body: #d1d5db;
923 | --tw-prose-invert-headings: #fff;
924 | --tw-prose-invert-lead: #9ca3af;
925 | --tw-prose-invert-links: #fff;
926 | --tw-prose-invert-bold: #fff;
927 | --tw-prose-invert-counters: #9ca3af;
928 | --tw-prose-invert-bullets: #4b5563;
929 | --tw-prose-invert-hr: #374151;
930 | --tw-prose-invert-quotes: #f3f4f6;
931 | --tw-prose-invert-quote-borders: #374151;
932 | --tw-prose-invert-captions: #9ca3af;
933 | --tw-prose-invert-code: #fff;
934 | --tw-prose-invert-pre-code: #d1d5db;
935 | --tw-prose-invert-pre-bg: rgba(0,0,0,.5);
936 | --tw-prose-invert-th-borders: #4b5563;
937 | --tw-prose-invert-td-borders: #374151;
938 | font-size: 1rem;
939 | line-height: 1.75
940 | }
941 |
942 | .prose :where(p):not(:where([class~=not-prose] *)) {
943 | margin-bottom: 1.25em;
944 | margin-top: 1.25em
945 | }
946 |
947 | .prose :where(video):not(:where([class~=not-prose] *)) {
948 | margin-bottom: 2em;
949 | margin-top: 2em
950 | }
951 |
952 | .prose :where(figure):not(:where([class~=not-prose] *)) {
953 | margin-bottom: 2em;
954 | margin-top: 2em
955 | }
956 |
957 | .prose :where(li):not(:where([class~=not-prose] *)) {
958 | margin-bottom: .5em;
959 | margin-top: .5em
960 | }
961 |
962 | .prose :where(ol>li):not(:where([class~=not-prose] *)) {
963 | padding-left: .375em;
964 | }
965 |
966 | .prose :where(ul>li):not(:where([class~=not-prose] *)) {
967 | padding-left: .375em
968 | }
969 |
970 | .prose :where(.prose>ul>li p):not(:where([class~=not-prose] *)) {
971 | margin-bottom: .75em;
972 | margin-top: .75em
973 | }
974 |
975 | .prose :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)) {
976 | margin-top: 1.25em
977 | }
978 |
979 | .prose :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)) {
980 | margin-bottom: 1.25em
981 | }
982 |
983 | .prose :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)) {
984 | margin-top: 1.25em
985 | }
986 |
987 | .prose :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)) {
988 | margin-bottom: 1.25em
989 | }
990 |
991 | .prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)) {
992 | margin-bottom: .75em;
993 | margin-top: .75em
994 | }
995 |
996 | .prose :where(hr+*):not(:where([class~=not-prose] *)) {
997 | margin-top: 0
998 | }
999 |
1000 | .prose :where(h2+*):not(:where([class~=not-prose] *)) {
1001 | margin-top: 0
1002 | }
1003 |
1004 | .prose :where(h3+*):not(:where([class~=not-prose] *)) {
1005 | margin-top: 0
1006 | }
1007 |
1008 | .prose :where(h4+*):not(:where([class~=not-prose] *)) {
1009 | margin-top: 0
1010 | }
1011 |
1012 | .prose :where(thead th:first-child):not(:where([class~=not-prose] *)) {
1013 | padding-left: 0
1014 | }
1015 |
1016 | .prose :where(thead th:last-child):not(:where([class~=not-prose] *)) {
1017 | padding-right: 0
1018 | }
1019 |
1020 | .prose :where(tbody td,tfoot td):not(:where([class~=not-prose] *)) {
1021 | padding: .5714286em
1022 | }
1023 |
1024 | .prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)) {
1025 | padding-left: 0
1026 | }
1027 |
1028 | .prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)) {
1029 | padding-right: 0
1030 | }
1031 |
1032 | .prose :where(.prose>:first-child):not(:where([class~=not-prose] *)) {
1033 | margin-top: 0
1034 | }
1035 |
1036 | .prose :where(.prose>:last-child):not(:where([class~=not-prose] *)) {
1037 | margin-bottom: 0
1038 | }
1039 |
1040 | .prose-sm :where(.prose>ul>li p):not(:where([class~=not-prose] *)) {
1041 | margin-bottom: .5714286em;
1042 | margin-top: .5714286em
1043 | }
1044 |
1045 | .prose-sm :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)) {
1046 | margin-top: 1.1428571em
1047 | }
1048 |
1049 | .prose-sm :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)) {
1050 | margin-bottom: 1.1428571em
1051 | }
1052 |
1053 | .prose-sm :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)) {
1054 | margin-top: 1.1428571em
1055 | }
1056 |
1057 | .prose-sm :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)) {
1058 | margin-bottom: 1.1428571em
1059 | }
1060 |
1061 | .prose-sm :where(.prose>:first-child):not(:where([class~=not-prose] *)) {
1062 | margin-top: 0
1063 | }
1064 |
1065 | .prose-sm :where(.prose>:last-child):not(:where([class~=not-prose] *)) {
1066 | margin-bottom: 0
1067 | }
1068 |
1069 | .prose-base :where(.prose>ul>li p):not(:where([class~=not-prose] *)) {
1070 | margin-bottom: .75em;
1071 | margin-top: .75em
1072 | }
1073 |
1074 | .prose-base :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)) {
1075 | margin-top: 1.25em
1076 | }
1077 |
1078 | .prose-base :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)) {
1079 | margin-bottom: 1.25em
1080 | }
1081 |
1082 | .prose-base :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)) {
1083 | margin-top: 1.25em
1084 | }
1085 |
1086 | .prose-base :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)) {
1087 | margin-bottom: 1.25em
1088 | }
1089 |
1090 | .prose-base :where(.prose>:first-child):not(:where([class~=not-prose] *)) {
1091 | margin-top: 0
1092 | }
1093 |
1094 | .prose-base :where(.prose>:last-child):not(:where([class~=not-prose] *)) {
1095 | margin-bottom: 0
1096 | }
1097 |
1098 | .prose-lg :where(.prose>ul>li p):not(:where([class~=not-prose] *)) {
1099 | margin-bottom: .8888889em;
1100 | margin-top: .8888889em
1101 | }
1102 |
1103 | .prose-lg :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)) {
1104 | margin-top: 1.3333333em
1105 | }
1106 |
1107 | .prose-lg :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)) {
1108 | margin-bottom: 1.3333333em
1109 | }
1110 |
1111 | .prose-lg :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)) {
1112 | margin-top: 1.3333333em
1113 | }
1114 |
1115 | .prose-lg :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)) {
1116 | margin-bottom: 1.3333333em
1117 | }
1118 |
1119 | .prose-lg :where(.prose>:first-child):not(:where([class~=not-prose] *)) {
1120 | margin-top: 0
1121 | }
1122 |
1123 | .prose-lg :where(.prose>:last-child):not(:where([class~=not-prose] *)) {
1124 | margin-bottom: 0
1125 | }
1126 |
1127 | .prose-xl :where(.prose>ul>li p):not(:where([class~=not-prose] *)) {
1128 | margin-bottom: .8em;
1129 | margin-top: .8em
1130 | }
1131 |
1132 | .prose-xl :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)) {
1133 | margin-top: 1.2em
1134 | }
1135 |
1136 | .prose-xl :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)) {
1137 | margin-bottom: 1.2em
1138 | }
1139 |
1140 | .prose-xl :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)) {
1141 | margin-top: 1.2em
1142 | }
1143 |
1144 | .prose-xl :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)) {
1145 | margin-bottom: 1.2em
1146 | }
1147 |
1148 | .prose-xl :where(.prose>:first-child):not(:where([class~=not-prose] *)) {
1149 | margin-top: 0
1150 | }
1151 |
1152 | .prose-xl :where(.prose>:last-child):not(:where([class~=not-prose] *)) {
1153 | margin-bottom: 0
1154 | }
1155 |
1156 | .prose-2xl :where(.prose>ul>li p):not(:where([class~=not-prose] *)) {
1157 | margin-bottom: .8333333em;
1158 | margin-top: .8333333em
1159 | }
1160 |
1161 | .prose-2xl :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)) {
1162 | margin-top: 1.3333333em
1163 | }
1164 |
1165 | .prose-2xl :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)) {
1166 | margin-bottom: 1.3333333em
1167 | }
1168 |
1169 | .prose-2xl :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)) {
1170 | margin-top: 1.3333333em
1171 | }
1172 |
1173 | .prose-2xl :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)) {
1174 | margin-bottom: 1.3333333em
1175 | }
1176 |
1177 | .prose-2xl :where(.prose>:first-child):not(:where([class~=not-prose] *)) {
1178 | margin-top: 0
1179 | }
1180 |
1181 | .prose-2xl :where(.prose>:last-child):not(:where([class~=not-prose] *)) {
1182 | margin-bottom: 0
1183 | }
1184 |
1185 | .form-input,.form-multiselect,.form-select,.form-textarea {
1186 | --tw-shadow: 0 0 transparent;
1187 | -webkit-appearance: none;
1188 | appearance: none;
1189 | background-color: #fff;
1190 | border-color: #8e8ea0;
1191 | border-radius: 0;
1192 | border-width: 1px;
1193 | font-size: 1rem;
1194 | line-height: 1.5rem;
1195 | padding: .5rem .75rem
1196 | }
1197 |
1198 | .form-input:focus,.form-multiselect:focus,.form-select:focus,.form-textarea:focus {
1199 | --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
1200 | --tw-ring-offset-width: 0px;
1201 | --tw-ring-offset-color: #fff;
1202 | --tw-ring-color: #2563eb;
1203 | --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1204 | --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
1205 | border-color: #2563eb;
1206 | box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);
1207 | outline: 2px solid transparent;
1208 | outline-offset: 2px
1209 | }
1210 |
1211 | .form-input::-webkit-input-placeholder,.form-textarea::-webkit-input-placeholder {
1212 | color: #8e8ea0;
1213 | opacity: 1
1214 | }
1215 |
1216 | .form-input::placeholder,.form-textarea::placeholder {
1217 | color: #8e8ea0;
1218 | opacity: 1
1219 | }
1220 |
1221 | .form-input::-webkit-datetime-edit-fields-wrapper {
1222 | padding: 0
1223 | }
1224 |
1225 | .form-input::-webkit-date-and-time-value {
1226 | min-height: 1.5em
1227 | }
1228 |
1229 | .form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,.form-input::-webkit-datetime-edit-year-field {
1230 | padding-bottom: 0;
1231 | padding-top: 0
1232 | }
1233 |
1234 | .btn {
1235 | align-items: center;
1236 | border-color: transparent;
1237 | border-radius: .25rem;
1238 | border-width: 1px;
1239 | display: inline-flex;
1240 | font-size: .875rem;
1241 | line-height: 1.25rem;
1242 | padding: .5rem .75rem;
1243 | pointer-events: auto
1244 | }
1245 |
1246 | .btn:focus {
1247 | outline: 2px solid transparent;
1248 | outline-offset: 2px
1249 | }
1250 |
1251 | .btn:disabled {
1252 | cursor: not-allowed;
1253 | opacity: .5
1254 | }
1255 |
1256 | .btn-primary {
1257 | --tw-bg-opacity: 1;
1258 | --tw-text-opacity: 1;
1259 | background-color: rgba(16,163,127,var(--tw-bg-opacity));
1260 | color: rgba(255,255,255,var(--tw-text-opacity))
1261 | }
1262 |
1263 | .btn-primary:hover {
1264 | --tw-bg-opacity: 1;
1265 | background-color: rgba(26,127,100,var(--tw-bg-opacity))
1266 | }
1267 |
1268 | .btn-primary:focus {
1269 | --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1270 | --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
1271 | --tw-ring-offset-width: 2px;
1272 | box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 transparent;
1273 | box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)
1274 | }
1275 |
1276 | .btn-primary.focus-visible {
1277 | --tw-ring-opacity: 1;
1278 | --tw-ring-color: rgba(25,195,125,var(--tw-ring-opacity))
1279 | }
1280 |
1281 | .btn-primary:focus-visible {
1282 | --tw-ring-opacity: 1;
1283 | --tw-ring-color: rgba(25,195,125,var(--tw-ring-opacity))
1284 | }
1285 |
1286 | .btn-primary:disabled:hover {
1287 | --tw-bg-opacity: 1;
1288 | background-color: rgba(16,163,127,var(--tw-bg-opacity))
1289 | }
1290 |
1291 | .btn-secondary {
1292 | --tw-bg-opacity: 1;
1293 | --tw-text-opacity: 1;
1294 | background-color: rgba(224,231,255,var(--tw-bg-opacity));
1295 | color: rgba(67,56,202,var(--tw-text-opacity));
1296 | font-size: .875rem;
1297 | line-height: 1.25rem
1298 | }
1299 |
1300 | .btn-secondary:hover {
1301 | --tw-bg-opacity: 1;
1302 | background-color: rgba(199,210,254,var(--tw-bg-opacity))
1303 | }
1304 |
1305 | .btn-secondary:focus {
1306 | --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1307 | --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
1308 | --tw-ring-offset-width: 2px;
1309 | box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 transparent;
1310 | box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)
1311 | }
1312 |
1313 | .btn-secondary.focus-visible {
1314 | --tw-ring-opacity: 1;
1315 | --tw-ring-color: rgba(99,102,241,var(--tw-ring-opacity))
1316 | }
1317 |
1318 | .btn-secondary:focus-visible {
1319 | --tw-ring-opacity: 1;
1320 | --tw-ring-color: rgba(99,102,241,var(--tw-ring-opacity))
1321 | }
1322 |
1323 | .btn-neutral {
1324 | --tw-bg-opacity: 1;
1325 | --tw-text-opacity: 1;
1326 | background-color: rgba(255,255,255,var(--tw-bg-opacity));
1327 | border-color: rgba(0,0,0,.1);
1328 | border-width: 1px;
1329 | color: rgba(64,65,79,var(--tw-text-opacity));
1330 | font-size: .875rem;
1331 | line-height: 1.25rem
1332 | }
1333 |
1334 | .btn-neutral:hover {
1335 | --tw-bg-opacity: 1;
1336 | background-color: rgba(236,236,241,var(--tw-bg-opacity))
1337 | }
1338 |
1339 | .btn-neutral:focus {
1340 | --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1341 | --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
1342 | --tw-ring-offset-width: 2px;
1343 | box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 transparent;
1344 | box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)
1345 | }
1346 |
1347 | .btn-neutral.focus-visible {
1348 | --tw-ring-opacity: 1;
1349 | --tw-ring-color: rgba(99,102,241,var(--tw-ring-opacity))
1350 | }
1351 |
1352 | .btn-neutral:focus-visible {
1353 | --tw-ring-opacity: 1;
1354 | --tw-ring-color: rgba(99,102,241,var(--tw-ring-opacity))
1355 | }
1356 |
1357 | .dark .btn-neutral {
1358 | --tw-border-opacity: 1;
1359 | --tw-bg-opacity: 1;
1360 | --tw-text-opacity: 1;
1361 | background-color: rgba(52,53,65,var(--tw-bg-opacity));
1362 | border-color: rgba(86,88,105,var(--tw-border-opacity));
1363 | color: rgba(217,217,227,var(--tw-text-opacity))
1364 | }
1365 |
1366 | .dark .btn-neutral:hover {
1367 | --tw-bg-opacity: 1;
1368 | background-color: rgba(64,65,79,var(--tw-bg-opacity))
1369 | }
1370 |
1371 | .btn-dark {
1372 | --tw-border-opacity: 1;
1373 | --tw-bg-opacity: 1;
1374 | --tw-text-opacity: 1;
1375 | background-color: rgba(52,53,65,var(--tw-bg-opacity));
1376 | border-color: rgba(86,88,105,var(--tw-border-opacity));
1377 | border-width: 1px;
1378 | color: rgba(255,255,255,var(--tw-text-opacity))
1379 | }
1380 |
1381 | .btn-dark:hover {
1382 | --tw-bg-opacity: 1;
1383 | background-color: rgba(64,65,79,var(--tw-bg-opacity))
1384 | }
1385 |
1386 | .btn-small {
1387 | padding: .25rem .5rem
1388 | }
1389 |
1390 | .sr-only {
1391 | clip: rect(0,0,0,0);
1392 | border-width: 0;
1393 | height: 1px;
1394 | margin: -1px;
1395 | overflow: hidden;
1396 | padding: 0;
1397 | position: absolute;
1398 | white-space: nowrap;
1399 | width: 1px
1400 | }
1401 |
1402 | .pointer-events-none {
1403 | pointer-events: none
1404 | }
1405 |
1406 | .pointer-events-auto {
1407 | pointer-events: auto
1408 | }
1409 |
1410 | .visible {
1411 | visibility: visible
1412 | }
1413 |
1414 | .invisible {
1415 | visibility: hidden
1416 | }
1417 |
1418 | .static {
1419 | position: static
1420 | }
1421 |
1422 | .fixed {
1423 | position: fixed
1424 | }
1425 |
1426 | .absolute {
1427 | position: absolute
1428 | }
1429 |
1430 | .relative {
1431 | position: relative
1432 | }
1433 |
1434 | .sticky {
1435 | position: -webkit-sticky;
1436 | position: sticky
1437 | }
1438 |
1439 | .\!sticky {
1440 | position: -webkit-sticky!important;
1441 | position: sticky!important
1442 | }
1443 |
1444 | .inset-0 {
1445 | left: 0;
1446 | right: 0
1447 | }
1448 |
1449 | .inset-0,.inset-y-0 {
1450 | bottom: 0;
1451 | top: 0
1452 | }
1453 |
1454 | .top-2 {
1455 | top: .5rem
1456 | }
1457 |
1458 | .left-4 {
1459 | left: 1rem
1460 | }
1461 |
1462 | .top-4 {
1463 | top: 1rem
1464 | }
1465 |
1466 | .right-0 {
1467 | right: 0
1468 | }
1469 |
1470 | .top-1\/2 {
1471 | top: 50%
1472 | }
1473 |
1474 | .top-\[20px\] {
1475 | top: 20px
1476 | }
1477 |
1478 | .top-0 {
1479 | top: 0
1480 | }
1481 |
1482 | .bottom-0 {
1483 | bottom: 0
1484 | }
1485 |
1486 | .left-0 {
1487 | left: 0
1488 | }
1489 |
1490 | .right-4 {
1491 | right: 1rem
1492 | }
1493 |
1494 | .right-1 {
1495 | right: .25rem
1496 | }
1497 |
1498 | .left-1\/2 {
1499 | left: 50%
1500 | }
1501 |
1502 | .bottom-1\.5 {
1503 | bottom: .375rem
1504 | }
1505 |
1506 | .bottom-1 {
1507 | bottom: .25rem
1508 | }
1509 |
1510 | .top-6 {
1511 | top: 1.5rem
1512 | }
1513 |
1514 | .left-2 {
1515 | left: .5rem
1516 | }
1517 |
1518 | .top-8 {
1519 | top: 2rem
1520 | }
1521 |
1522 | .left-full {
1523 | left: 100%
1524 | }
1525 |
1526 | .right-6 {
1527 | right: 1.5rem
1528 | }
1529 |
1530 | .bottom-\[124px\] {
1531 | bottom: 124px
1532 | }
1533 |
1534 | .top-full {
1535 | top: 100%
1536 | }
1537 |
1538 | .top-1\.5 {
1539 | top: .375rem
1540 | }
1541 |
1542 | .top-1 {
1543 | top: .25rem
1544 | }
1545 |
1546 | .-bottom-1\.5 {
1547 | bottom: -.375rem
1548 | }
1549 |
1550 | .-bottom-1 {
1551 | bottom: -.25rem
1552 | }
1553 |
1554 | .z-10 {
1555 | z-index: 10
1556 | }
1557 |
1558 | .z-50 {
1559 | z-index: 50
1560 | }
1561 |
1562 | .z-40 {
1563 | z-index: 40
1564 | }
1565 |
1566 | .z-20 {
1567 | z-index: 20
1568 | }
1569 |
1570 | .-z-10 {
1571 | z-index: -10
1572 | }
1573 |
1574 | .z-0 {
1575 | z-index: 0
1576 | }
1577 |
1578 | .z-\[2\] {
1579 | z-index: 2
1580 | }
1581 |
1582 | .z-\[60\] {
1583 | z-index: 60
1584 | }
1585 |
1586 | .order-1 {
1587 | order: 1
1588 | }
1589 |
1590 | .order-2 {
1591 | order: 2
1592 | }
1593 |
1594 | .col-span-1 {
1595 | grid-column: span 1/span 1
1596 | }
1597 |
1598 | .float-left {
1599 | float: left
1600 | }
1601 |
1602 | .m-6 {
1603 | margin: 1.5rem
1604 | }
1605 |
1606 | .m-auto {
1607 | margin: auto
1608 | }
1609 |
1610 | .m-1 {
1611 | margin: .25rem
1612 | }
1613 |
1614 | .m-0 {
1615 | margin: 0
1616 | }
1617 |
1618 | .m-2 {
1619 | margin: .5rem
1620 | }
1621 |
1622 | .mx-auto {
1623 | margin-left: auto;
1624 | margin-right: auto
1625 | }
1626 |
1627 | .mx-1 {
1628 | margin-left: .25rem;
1629 | margin-right: .25rem
1630 | }
1631 |
1632 | .\!my-0 {
1633 | margin-bottom: 0!important;
1634 | margin-top: 0!important
1635 | }
1636 |
1637 | .mx-2 {
1638 | margin-left: .5rem;
1639 | margin-right: .5rem
1640 | }
1641 |
1642 | .my-1 {
1643 | margin-bottom: .25rem;
1644 | margin-top: .25rem
1645 | }
1646 |
1647 | .my-4 {
1648 | margin-bottom: 1rem;
1649 | margin-top: 1rem
1650 | }
1651 |
1652 | .my-2 {
1653 | margin-bottom: .5rem;
1654 | margin-top: .5rem
1655 | }
1656 |
1657 | .mr-2 {
1658 | margin-right: .5rem
1659 | }
1660 |
1661 | .mb-6 {
1662 | margin-bottom: 1.5rem
1663 | }
1664 |
1665 | .mb-2 {
1666 | margin-bottom: .5rem
1667 | }
1668 |
1669 | .mb-5 {
1670 | margin-bottom: 1.25rem
1671 | }
1672 |
1673 | .mb-4 {
1674 | margin-bottom: 1rem
1675 | }
1676 |
1677 | .-mr-2 {
1678 | margin-right: -.5rem
1679 | }
1680 |
1681 | .mt-1 {
1682 | margin-top: .25rem
1683 | }
1684 |
1685 | .ml-4 {
1686 | margin-left: 1rem
1687 | }
1688 |
1689 | .-ml-4 {
1690 | margin-left: -1rem
1691 | }
1692 |
1693 | .mt-2 {
1694 | margin-top: .5rem
1695 | }
1696 |
1697 | .ml-auto {
1698 | margin-left: auto
1699 | }
1700 |
1701 | .mr-0 {
1702 | margin-right: 0
1703 | }
1704 |
1705 | .mt-3 {
1706 | margin-top: .75rem
1707 | }
1708 |
1709 | .mr-4 {
1710 | margin-right: 1rem
1711 | }
1712 |
1713 | .mt-5 {
1714 | margin-top: 1.25rem
1715 | }
1716 |
1717 | .-mr-12 {
1718 | margin-right: -3rem
1719 | }
1720 |
1721 | .ml-1 {
1722 | margin-left: .25rem
1723 | }
1724 |
1725 | .-ml-0\.5 {
1726 | margin-left: -.125rem
1727 | }
1728 |
1729 | .-mt-0\.5 {
1730 | margin-top: -.125rem
1731 | }
1732 |
1733 | .-ml-0 {
1734 | margin-left: 0
1735 | }
1736 |
1737 | .-mt-0 {
1738 | margin-top: 0
1739 | }
1740 |
1741 | .ml-3 {
1742 | margin-left: .75rem
1743 | }
1744 |
1745 | .mb-3 {
1746 | margin-bottom: .75rem
1747 | }
1748 |
1749 | .ml-2 {
1750 | margin-left: .5rem
1751 | }
1752 |
1753 | .mr-1 {
1754 | margin-right: .25rem
1755 | }
1756 |
1757 | .mt-1\.5 {
1758 | margin-top: .375rem
1759 | }
1760 |
1761 | .-ml-\[1px\] {
1762 | margin-left: -1px
1763 | }
1764 |
1765 | .ml-6 {
1766 | margin-left: 1.5rem
1767 | }
1768 |
1769 | .mt-4 {
1770 | margin-top: 1rem
1771 | }
1772 |
1773 | .mb-1 {
1774 | margin-bottom: .25rem
1775 | }
1776 |
1777 | .mr-auto {
1778 | margin-right: auto
1779 | }
1780 |
1781 | .mb-10 {
1782 | margin-bottom: 2.5rem
1783 | }
1784 |
1785 | .-ml-px {
1786 | margin-left: -1px
1787 | }
1788 |
1789 | .mb-16 {
1790 | margin-bottom: 4rem
1791 | }
1792 |
1793 | .ml-12 {
1794 | margin-left: 3rem
1795 | }
1796 |
1797 | .\!mt-4 {
1798 | margin-top: 1rem!important
1799 | }
1800 |
1801 | .\!mb-2 {
1802 | margin-bottom: .5rem!important
1803 | }
1804 |
1805 | .mt-6 {
1806 | margin-top: 1.5rem
1807 | }
1808 |
1809 | .mb-8 {
1810 | margin-bottom: 2rem
1811 | }
1812 |
1813 | .block {
1814 | display: block
1815 | }
1816 |
1817 | .inline-block {
1818 | display: inline-block
1819 | }
1820 |
1821 | .inline {
1822 | display: inline
1823 | }
1824 |
1825 | .flex {
1826 | display: flex
1827 | }
1828 |
1829 | .inline-flex {
1830 | display: inline-flex
1831 | }
1832 |
1833 | .table {
1834 | display: table
1835 | }
1836 |
1837 | .grid {
1838 | display: grid
1839 | }
1840 |
1841 | .contents {
1842 | display: contents
1843 | }
1844 |
1845 | .hidden {
1846 | display: none
1847 | }
1848 |
1849 | .h-screen {
1850 | height: 100vh
1851 | }
1852 |
1853 | .h-\[30px\] {
1854 | height: 30px
1855 | }
1856 |
1857 | .h-4 {
1858 | height: 1rem
1859 | }
1860 |
1861 | .h-full {
1862 | height: 100%
1863 | }
1864 |
1865 | .h-8 {
1866 | height: 2rem
1867 | }
1868 |
1869 | .h-10 {
1870 | height: 2.5rem
1871 | }
1872 |
1873 | .h-6 {
1874 | height: 1.5rem
1875 | }
1876 |
1877 | .h-3 {
1878 | height: .75rem
1879 | }
1880 |
1881 | .h-12 {
1882 | height: 3rem
1883 | }
1884 |
1885 | .h-1 {
1886 | height: .25rem
1887 | }
1888 |
1889 | .h-\[42px\] {
1890 | height: 42px
1891 | }
1892 |
1893 | .h-5 {
1894 | height: 1.25rem
1895 | }
1896 |
1897 | .h-7 {
1898 | height: 1.75rem
1899 | }
1900 |
1901 | .h-32 {
1902 | height: 8rem
1903 | }
1904 |
1905 | .h-2 {
1906 | height: .5rem
1907 | }
1908 |
1909 | .h-\[1px\] {
1910 | height: 1px
1911 | }
1912 |
1913 | .h-\[37px\] {
1914 | height: 37px
1915 | }
1916 |
1917 | .max-h-5 {
1918 | max-height: 1.25rem
1919 | }
1920 |
1921 | .max-h-60 {
1922 | max-height: 15rem
1923 | }
1924 |
1925 | .max-h-64 {
1926 | max-height: 16rem
1927 | }
1928 |
1929 | .max-h-\[80vh\] {
1930 | max-height: 80vh
1931 | }
1932 |
1933 | .min-h-\[48px\] {
1934 | min-height: 48px
1935 | }
1936 |
1937 | .min-h-\[20px\] {
1938 | min-height: 20px
1939 | }
1940 |
1941 | .min-h-full {
1942 | min-height: 100%
1943 | }
1944 |
1945 | .min-h-screen {
1946 | min-height: 100vh
1947 | }
1948 |
1949 | .min-h-0 {
1950 | min-height: 0
1951 | }
1952 |
1953 | .min-h-\[24px\] {
1954 | min-height: 24px
1955 | }
1956 |
1957 | .min-h-\[71px\] {
1958 | min-height: 71px
1959 | }
1960 |
1961 | .min-h-\[32px\] {
1962 | min-height: 32px
1963 | }
1964 |
1965 | .w-full {
1966 | width: 100%
1967 | }
1968 |
1969 | .w-\[30px\] {
1970 | width: 30px
1971 | }
1972 |
1973 | .w-4 {
1974 | width: 1rem
1975 | }
1976 |
1977 | .w-8 {
1978 | width: 2rem
1979 | }
1980 |
1981 | .w-10 {
1982 | width: 2.5rem
1983 | }
1984 |
1985 | .w-6 {
1986 | width: 1.5rem
1987 | }
1988 |
1989 | .w-\[calc\(100\%-34px\)\] {
1990 | width: calc(100% - 34px)
1991 | }
1992 |
1993 | .w-\[calc\(100\%-50px\)\] {
1994 | width: calc(100% - 50px)
1995 | }
1996 |
1997 | .w-3 {
1998 | width: .75rem
1999 | }
2000 |
2001 | .w-12 {
2002 | width: 3rem
2003 | }
2004 |
2005 | .w-14 {
2006 | width: 3.5rem
2007 | }
2008 |
2009 | .w-screen {
2010 | width: 100vw
2011 | }
2012 |
2013 | .w-5 {
2014 | width: 1.25rem
2015 | }
2016 |
2017 | .w-11 {
2018 | width: 2.75rem
2019 | }
2020 |
2021 | .w-2 {
2022 | width: .5rem
2023 | }
2024 |
2025 | .w-96 {
2026 | width: 24rem
2027 | }
2028 |
2029 | .w-3\/4 {
2030 | width: 75%
2031 | }
2032 |
2033 | .max-w-lg {
2034 | max-width: 32rem
2035 | }
2036 |
2037 | .max-w-md {
2038 | max-width: 28rem
2039 | }
2040 |
2041 | .max-w-sm {
2042 | max-width: 24rem
2043 | }
2044 |
2045 | .max-w-xl {
2046 | max-width: 36rem
2047 | }
2048 |
2049 | .max-w-2xl {
2050 | max-width: 42rem
2051 | }
2052 |
2053 | .max-w-xs {
2054 | max-width: 20rem
2055 | }
2056 |
2057 | .max-w-7xl {
2058 | max-width: 80rem
2059 | }
2060 |
2061 | .max-w-full {
2062 | max-width: 100%
2063 | }
2064 |
2065 | .max-w-\[560px\] {
2066 | max-width: 560px
2067 | }
2068 |
2069 | .flex-1 {
2070 | flex: 1 1 0%
2071 | }
2072 |
2073 | .flex-none {
2074 | flex: none
2075 | }
2076 |
2077 | .flex-shrink-0 {
2078 | flex-shrink: 0
2079 | }
2080 |
2081 | .flex-shrink {
2082 | flex-shrink: 1
2083 | }
2084 |
2085 | .shrink-0 {
2086 | flex-shrink: 0
2087 | }
2088 |
2089 | .shrink {
2090 | flex-shrink: 1
2091 | }
2092 |
2093 | .flex-grow {
2094 | flex-grow: 1
2095 | }
2096 |
2097 | .flex-grow-0 {
2098 | flex-grow: 0
2099 | }
2100 |
2101 | .grow {
2102 | flex-grow: 1
2103 | }
2104 |
2105 | .-translate-y-1\/2 {
2106 | --tw-translate-y: -50%
2107 | }
2108 |
2109 | .-translate-y-1\/2,.translate-y-\[calc\(100\%-71px\)\] {
2110 | -webkit-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));
2111 | 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))
2112 | }
2113 |
2114 | .translate-y-\[calc\(100\%-71px\)\] {
2115 | --tw-translate-y: calc(100% - 71px)
2116 | }
2117 |
2118 | .-translate-x-full {
2119 | --tw-translate-x: -100%
2120 | }
2121 |
2122 | .-translate-x-full,.translate-y-4 {
2123 | -webkit-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));
2124 | 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))
2125 | }
2126 |
2127 | .translate-y-4 {
2128 | --tw-translate-y: 1rem
2129 | }
2130 |
2131 | .translate-y-0 {
2132 | --tw-translate-y: 0px
2133 | }
2134 |
2135 | .translate-x-0,.translate-y-0 {
2136 | -webkit-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));
2137 | 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))
2138 | }
2139 |
2140 | .translate-x-0 {
2141 | --tw-translate-x: 0px
2142 | }
2143 |
2144 | .translate-y-1 {
2145 | --tw-translate-y: 0.25rem
2146 | }
2147 |
2148 | .-translate-x-1\/2,.translate-y-1 {
2149 | -webkit-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));
2150 | 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))
2151 | }
2152 |
2153 | .-translate-x-1\/2 {
2154 | --tw-translate-x: -50%
2155 | }
2156 |
2157 | .translate-x-1 {
2158 | --tw-translate-x: 0.25rem
2159 | }
2160 |
2161 | .-translate-y-full,.translate-x-1 {
2162 | -webkit-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));
2163 | 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))
2164 | }
2165 |
2166 | .-translate-y-full {
2167 | --tw-translate-y: -100%
2168 | }
2169 |
2170 | .translate-x-full {
2171 | --tw-translate-x: 100%
2172 | }
2173 |
2174 | .translate-x-5,.translate-x-full {
2175 | -webkit-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));
2176 | 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))
2177 | }
2178 |
2179 | .translate-x-5 {
2180 | --tw-translate-x: 1.25rem
2181 | }
2182 |
2183 | .translate-x-4 {
2184 | --tw-translate-x: 1rem
2185 | }
2186 |
2187 | .translate-x-4,.translate-y-1\/4 {
2188 | -webkit-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));
2189 | 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))
2190 | }
2191 |
2192 | .translate-y-1\/4 {
2193 | --tw-translate-y: 25%
2194 | }
2195 |
2196 | .-translate-x-3\/4 {
2197 | --tw-translate-x: -75%
2198 | }
2199 |
2200 | .-translate-x-3\/4,.translate-x-3\/4 {
2201 | -webkit-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));
2202 | 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))
2203 | }
2204 |
2205 | .translate-x-3\/4 {
2206 | --tw-translate-x: 75%
2207 | }
2208 |
2209 | .rotate-180 {
2210 | --tw-rotate: 180deg
2211 | }
2212 |
2213 | .-rotate-180,.rotate-180 {
2214 | -webkit-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));
2215 | 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))
2216 | }
2217 |
2218 | .-rotate-180 {
2219 | --tw-rotate: -180deg
2220 | }
2221 |
2222 | .transform {
2223 | -webkit-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));
2224 | 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))
2225 | }
2226 |
2227 | @-webkit-keyframes spin {
2228 | to {
2229 | -webkit-transform: rotate(1turn);
2230 | transform: rotate(1turn)
2231 | }
2232 | }
2233 |
2234 | @keyframes spin {
2235 | to {
2236 | -webkit-transform: rotate(1turn);
2237 | transform: rotate(1turn)
2238 | }
2239 | }
2240 |
2241 | .animate-spin {
2242 | -webkit-animation: spin 1s linear infinite;
2243 | animation: spin 1s linear infinite
2244 | }
2245 |
2246 | .cursor-not-allowed {
2247 | cursor: not-allowed
2248 | }
2249 |
2250 | .cursor-pointer {
2251 | cursor: pointer
2252 | }
2253 |
2254 | .cursor-default {
2255 | cursor: default
2256 | }
2257 |
2258 | .select-none {
2259 | -webkit-user-select: none;
2260 | user-select: none
2261 | }
2262 |
2263 | .resize-none {
2264 | resize: none
2265 | }
2266 |
2267 | .resize {
2268 | resize: both
2269 | }
2270 |
2271 | .appearance-none {
2272 | -webkit-appearance: none;
2273 | appearance: none
2274 | }
2275 |
2276 | .flex-row {
2277 | flex-direction: row
2278 | }
2279 |
2280 | .flex-col {
2281 | flex-direction: column
2282 | }
2283 |
2284 | .flex-col-reverse {
2285 | flex-direction: column-reverse
2286 | }
2287 |
2288 | .items-start {
2289 | align-items: flex-start
2290 | }
2291 |
2292 | .items-end {
2293 | align-items: flex-end
2294 | }
2295 |
2296 | .items-center {
2297 | align-items: center
2298 | }
2299 |
2300 | .items-stretch {
2301 | align-items: stretch
2302 | }
2303 |
2304 | .justify-start {
2305 | justify-content: flex-start
2306 | }
2307 |
2308 | .justify-center {
2309 | justify-content: center
2310 | }
2311 |
2312 | .justify-between {
2313 | justify-content: space-between
2314 | }
2315 |
2316 | .gap-3 {
2317 | gap: .75rem
2318 | }
2319 |
2320 | .gap-1 {
2321 | gap: .25rem
2322 | }
2323 |
2324 | .gap-2 {
2325 | gap: .5rem
2326 | }
2327 |
2328 | .gap-4 {
2329 | gap: 1rem
2330 | }
2331 |
2332 | .gap-6 {
2333 | gap: 1.5rem
2334 | }
2335 |
2336 | .gap-0 {
2337 | gap: 0
2338 | }
2339 |
2340 | .gap-3\.5 {
2341 | gap: .875rem
2342 | }
2343 |
2344 | .gap-1\.5 {
2345 | gap: .375rem
2346 | }
2347 |
2348 | .space-x-1\.5>:not([hidden])~:not([hidden]) {
2349 | --tw-space-x-reverse: 0;
2350 | margin-left: calc(.375rem*(1 - var(--tw-space-x-reverse)));
2351 | margin-right: calc(.375rem*var(--tw-space-x-reverse))
2352 | }
2353 |
2354 | .space-x-1>:not([hidden])~:not([hidden]) {
2355 | --tw-space-x-reverse: 0;
2356 | margin-left: calc(.25rem*(1 - var(--tw-space-x-reverse)));
2357 | margin-right: calc(.25rem*var(--tw-space-x-reverse))
2358 | }
2359 |
2360 | .space-y-1>:not([hidden])~:not([hidden]) {
2361 | --tw-space-y-reverse: 0;
2362 | margin-bottom: calc(.25rem*var(--tw-space-y-reverse));
2363 | margin-top: calc(.25rem*(1 - var(--tw-space-y-reverse)))
2364 | }
2365 |
2366 | .space-y-2>:not([hidden])~:not([hidden]) {
2367 | --tw-space-y-reverse: 0;
2368 | margin-bottom: calc(.5rem*var(--tw-space-y-reverse));
2369 | margin-top: calc(.5rem*(1 - var(--tw-space-y-reverse)))
2370 | }
2371 |
2372 | .self-start {
2373 | align-self: flex-start
2374 | }
2375 |
2376 | .self-end {
2377 | align-self: flex-end
2378 | }
2379 |
2380 | .self-center {
2381 | align-self: center
2382 | }
2383 |
2384 | .self-stretch {
2385 | align-self: stretch
2386 | }
2387 |
2388 | .overflow-auto {
2389 | overflow: auto
2390 | }
2391 |
2392 | .overflow-hidden {
2393 | overflow: hidden
2394 | }
2395 |
2396 | .overflow-x-auto {
2397 | overflow-x: auto
2398 | }
2399 |
2400 | .overflow-y-auto {
2401 | overflow-y: auto
2402 | }
2403 |
2404 | .truncate {
2405 | overflow: hidden;
2406 | white-space: nowrap
2407 | }
2408 |
2409 | .text-ellipsis,.truncate {
2410 | text-overflow: ellipsis
2411 | }
2412 |
2413 | .\!whitespace-pre {
2414 | white-space: pre!important
2415 | }
2416 |
2417 | .whitespace-pre-wrap {
2418 | white-space: pre-wrap;
2419 | }
2420 |
2421 | .break-words {
2422 | word-wrap: break-word;
2423 | }
2424 |
2425 | .break-all {
2426 | word-break: break-all
2427 | }
2428 |
2429 | .rounded-md {
2430 | border-radius: .375rem
2431 | }
2432 |
2433 | .rounded-sm {
2434 | border-radius: .125rem
2435 | }
2436 |
2437 | .rounded-full {
2438 | border-radius: 9999px
2439 | }
2440 |
2441 | .rounded-none {
2442 | border-radius: 0
2443 | }
2444 |
2445 | .rounded-lg {
2446 | border-radius: .5rem
2447 | }
2448 |
2449 | .\!rounded-none {
2450 | border-radius: 0!important
2451 | }
2452 |
2453 | .rounded {
2454 | border-radius: .25rem
2455 | }
2456 |
2457 | .rounded-l-md {
2458 | border-bottom-left-radius: .375rem;
2459 | border-top-left-radius: .375rem
2460 | }
2461 |
2462 | .rounded-r-md {
2463 | border-bottom-right-radius: .375rem;
2464 | border-top-right-radius: .375rem
2465 | }
2466 |
2467 | .rounded-t-xl {
2468 | border-top-left-radius: .75rem;
2469 | border-top-right-radius: .75rem
2470 | }
2471 |
2472 | .border {
2473 | border-width: 1px
2474 | }
2475 |
2476 | .border-0 {
2477 | border-width: 0
2478 | }
2479 |
2480 | .border-2 {
2481 | border-width: 2px
2482 | }
2483 |
2484 | .border-y {
2485 | border-top-width: 1px
2486 | }
2487 |
2488 | .border-b,.border-y {
2489 | border-bottom-width: 1px
2490 | }
2491 |
2492 | .border-l {
2493 | border-left-width: 1px
2494 | }
2495 |
2496 | .border-t {
2497 | border-top-width: 1px
2498 | }
2499 |
2500 | .border-l-4 {
2501 | border-left-width: 4px
2502 | }
2503 |
2504 | .border-r-0 {
2505 | border-right-width: 0
2506 | }
2507 |
2508 | .border-b-2 {
2509 | border-bottom-width: 2px
2510 | }
2511 |
2512 | .border-none {
2513 | border-style: none
2514 | }
2515 |
2516 | .border-white {
2517 | --tw-border-opacity: 1;
2518 | border-color: rgba(255,255,255,var(--tw-border-opacity))
2519 | }
2520 |
2521 | .border-gray-300 {
2522 | --tw-border-opacity: 1;
2523 | border-color: rgba(197,197,210,var(--tw-border-opacity))
2524 | }
2525 |
2526 | .border-black\/10 {
2527 | border-color: rgba(0,0,0,.1)
2528 | }
2529 |
2530 | .border-white\/20 {
2531 | border-color: hsla(0,0%,100%,.2)
2532 | }
2533 |
2534 | .border-indigo-400 {
2535 | --tw-border-opacity: 1;
2536 | border-color: rgba(129,140,248,var(--tw-border-opacity))
2537 | }
2538 |
2539 | .border-gray-100 {
2540 | --tw-border-opacity: 1;
2541 | border-color: rgba(236,236,241,var(--tw-border-opacity))
2542 | }
2543 |
2544 | .border-gray-200 {
2545 | --tw-border-opacity: 1;
2546 | border-color: rgba(217,217,227,var(--tw-border-opacity))
2547 | }
2548 |
2549 | .border-transparent {
2550 | border-color: transparent
2551 | }
2552 |
2553 | .border-black\/20 {
2554 | border-color: rgba(0,0,0,.2)
2555 | }
2556 |
2557 | .border-green-500 {
2558 | --tw-border-opacity: 1;
2559 | border-color: rgba(25,195,125,var(--tw-border-opacity))
2560 | }
2561 |
2562 | .border-orange-500 {
2563 | --tw-border-opacity: 1;
2564 | border-color: rgba(224,108,43,var(--tw-border-opacity))
2565 | }
2566 |
2567 | .border-red-500 {
2568 | --tw-border-opacity: 1;
2569 | border-color: rgba(239,68,68,var(--tw-border-opacity))
2570 | }
2571 |
2572 | .border-gray-500 {
2573 | --tw-border-opacity: 1;
2574 | border-color: rgba(142,142,160,var(--tw-border-opacity))
2575 | }
2576 |
2577 | .bg-gray-200 {
2578 | --tw-bg-opacity: 1;
2579 | background-color: rgba(217,217,227,var(--tw-bg-opacity))
2580 | }
2581 |
2582 | .bg-orange-500 {
2583 | --tw-bg-opacity: 1;
2584 | background-color: rgba(224,108,43,var(--tw-bg-opacity))
2585 | }
2586 |
2587 | .bg-red-500 {
2588 | --tw-bg-opacity: 1;
2589 | background-color: rgba(239,68,68,var(--tw-bg-opacity))
2590 | }
2591 |
2592 | .bg-\[\#5436DA\] {
2593 | --tw-bg-opacity: 1;
2594 | background-color: rgba(84,54,218,var(--tw-bg-opacity))
2595 | }
2596 |
2597 | .bg-yellow-200 {
2598 | --tw-bg-opacity: 1;
2599 | background-color: rgba(250,230,158,var(--tw-bg-opacity))
2600 | }
2601 |
2602 | .bg-white {
2603 | --tw-bg-opacity: 1;
2604 | background-color: rgba(255,255,255,var(--tw-bg-opacity))
2605 | }
2606 |
2607 | .bg-black {
2608 | --tw-bg-opacity: 1;
2609 | background-color: rgba(0,0,0,var(--tw-bg-opacity))
2610 | }
2611 |
2612 | .bg-gray-800 {
2613 | --tw-bg-opacity: 1;
2614 | background-color: rgba(52,53,65,var(--tw-bg-opacity))
2615 | }
2616 |
2617 | .bg-gray-50 {
2618 | --tw-bg-opacity: 1;
2619 | background-color: rgba(247,247,248,var(--tw-bg-opacity))
2620 | }
2621 |
2622 | .bg-gray-100 {
2623 | --tw-bg-opacity: 1;
2624 | background-color: rgba(236,236,241,var(--tw-bg-opacity))
2625 | }
2626 |
2627 | .bg-transparent {
2628 | background-color: transparent
2629 | }
2630 |
2631 | .bg-gray-500\/90 {
2632 | background-color: hsla(240,9%,59%,.9)
2633 | }
2634 |
2635 | .bg-red-100 {
2636 | --tw-bg-opacity: 1;
2637 | background-color: rgba(254,226,226,var(--tw-bg-opacity))
2638 | }
2639 |
2640 | .bg-yellow-100 {
2641 | --tw-bg-opacity: 1;
2642 | background-color: rgba(254,249,195,var(--tw-bg-opacity))
2643 | }
2644 |
2645 | .bg-green-100 {
2646 | --tw-bg-opacity: 1;
2647 | background-color: rgba(210,244,211,var(--tw-bg-opacity))
2648 | }
2649 |
2650 | .bg-gray-900 {
2651 | --tw-bg-opacity: 1;
2652 | background-color: rgba(32,33,35,var(--tw-bg-opacity))
2653 | }
2654 |
2655 | .bg-gray-600 {
2656 | --tw-bg-opacity: 1;
2657 | background-color: rgba(86,88,105,var(--tw-bg-opacity))
2658 | }
2659 |
2660 | .bg-gray-500 {
2661 | --tw-bg-opacity: 1;
2662 | background-color: rgba(142,142,160,var(--tw-bg-opacity))
2663 | }
2664 |
2665 | .\!bg-white {
2666 | --tw-bg-opacity: 1!important;
2667 | background-color: rgba(255,255,255,var(--tw-bg-opacity))!important
2668 | }
2669 |
2670 | .bg-red-200 {
2671 | --tw-bg-opacity: 1;
2672 | background-color: rgba(254,202,202,var(--tw-bg-opacity))
2673 | }
2674 |
2675 | .\!bg-indigo-600 {
2676 | --tw-bg-opacity: 1!important;
2677 | background-color: rgba(79,70,229,var(--tw-bg-opacity))!important
2678 | }
2679 |
2680 | .\!bg-gray-200 {
2681 | --tw-bg-opacity: 1!important;
2682 | background-color: rgba(217,217,227,var(--tw-bg-opacity))!important
2683 | }
2684 |
2685 | .bg-green-500 {
2686 | --tw-bg-opacity: 1;
2687 | background-color: rgba(25,195,125,var(--tw-bg-opacity))
2688 | }
2689 |
2690 | .bg-orange-500\/10 {
2691 | background-color: rgba(224,108,43,.1)
2692 | }
2693 |
2694 | .bg-red-500\/10 {
2695 | background-color: rgba(239,68,68,.1)
2696 | }
2697 |
2698 | .bg-gray-300 {
2699 | --tw-bg-opacity: 1;
2700 | background-color: rgba(197,197,210,var(--tw-bg-opacity))
2701 | }
2702 |
2703 | .bg-gray-400 {
2704 | --tw-bg-opacity: 1;
2705 | background-color: rgba(172,172,190,var(--tw-bg-opacity))
2706 | }
2707 |
2708 | .bg-green-600 {
2709 | --tw-bg-opacity: 1;
2710 | background-color: rgba(16,163,127,var(--tw-bg-opacity))
2711 | }
2712 |
2713 | .bg-opacity-75 {
2714 | --tw-bg-opacity: 0.75
2715 | }
2716 |
2717 | .bg-gradient-to-l {
2718 | background-image: linear-gradient(to left,var(--tw-gradient-stops))
2719 | }
2720 |
2721 | .from-gray-800 {
2722 | --tw-gradient-from: #343541;
2723 | --tw-gradient-to: rgba(52,53,65,0);
2724 | --tw-gradient-stops: var(--tw-gradient-from),var(--tw-gradient-to)
2725 | }
2726 |
2727 | .from-gray-900 {
2728 | --tw-gradient-from: #202123;
2729 | --tw-gradient-to: rgba(32,33,35,0);
2730 | --tw-gradient-stops: var(--tw-gradient-from),var(--tw-gradient-to)
2731 | }
2732 |
2733 | .bg-contain {
2734 | background-size: contain
2735 | }
2736 |
2737 | .bg-center {
2738 | background-position: 50%
2739 | }
2740 |
2741 | .bg-no-repeat {
2742 | background-repeat: no-repeat
2743 | }
2744 |
2745 | .object-cover {
2746 | object-fit: cover
2747 | }
2748 |
2749 | .p-1 {
2750 | padding: .25rem
2751 | }
2752 |
2753 | .p-0 {
2754 | padding: 0
2755 | }
2756 |
2757 | .p-6 {
2758 | padding: 1.5rem
2759 | }
2760 |
2761 | .p-3 {
2762 | padding: .75rem
2763 | }
2764 |
2765 | .p-4 {
2766 | padding: 1rem
2767 | }
2768 |
2769 | .p-2 {
2770 | padding: .5rem
2771 | }
2772 |
2773 | .\!p-0 {
2774 | padding: 0!important
2775 | }
2776 |
2777 | .px-2 {
2778 | padding-left: .5rem;
2779 | padding-right: .5rem
2780 | }
2781 |
2782 | .py-1 {
2783 | padding-bottom: .25rem;
2784 | padding-top: .25rem
2785 | }
2786 |
2787 | .py-0\.5 {
2788 | padding-bottom: .125rem;
2789 | padding-top: .125rem
2790 | }
2791 |
2792 | .px-1\.5 {
2793 | padding-left: .375rem;
2794 | padding-right: .375rem
2795 | }
2796 |
2797 | .py-0 {
2798 | padding-bottom: 0;
2799 | padding-top: 0
2800 | }
2801 |
2802 | .px-1 {
2803 | padding-left: .25rem;
2804 | padding-right: .25rem
2805 | }
2806 |
2807 | .px-6 {
2808 | padding-left: 1.5rem;
2809 | padding-right: 1.5rem
2810 | }
2811 |
2812 | .px-4 {
2813 | padding-left: 1rem;
2814 | padding-right: 1rem
2815 | }
2816 |
2817 | .py-2 {
2818 | padding-bottom: .5rem;
2819 | padding-top: .5rem
2820 | }
2821 |
2822 | .py-4 {
2823 | padding-bottom: 1rem;
2824 | padding-top: 1rem
2825 | }
2826 |
2827 | .py-3 {
2828 | padding-bottom: .75rem;
2829 | padding-top: .75rem
2830 | }
2831 |
2832 | .px-3 {
2833 | padding-left: .75rem;
2834 | padding-right: .75rem
2835 | }
2836 |
2837 | .\!py-0 {
2838 | padding-bottom: 0!important;
2839 | padding-top: 0!important
2840 | }
2841 |
2842 | .py-8 {
2843 | padding-bottom: 2rem;
2844 | padding-top: 2rem
2845 | }
2846 |
2847 | .py-10 {
2848 | padding-bottom: 2.5rem;
2849 | padding-top: 2.5rem
2850 | }
2851 |
2852 | .px-\[1px\] {
2853 | padding-left: 1px;
2854 | padding-right: 1px
2855 | }
2856 |
2857 | .py-2\.5 {
2858 | padding-bottom: .625rem;
2859 | padding-top: .625rem
2860 | }
2861 |
2862 | .pb-8 {
2863 | padding-bottom: 2rem
2864 | }
2865 |
2866 | .pt-20 {
2867 | padding-top: 5rem
2868 | }
2869 |
2870 | .pt-\[75\%\] {
2871 | padding-top: 75%
2872 | }
2873 |
2874 | .pt-2 {
2875 | padding-top: .5rem
2876 | }
2877 |
2878 | .pr-14 {
2879 | padding-right: 3.5rem
2880 | }
2881 |
2882 | .pr-6 {
2883 | padding-right: 1.5rem
2884 | }
2885 |
2886 | .pt-5 {
2887 | padding-top: 1.25rem
2888 | }
2889 |
2890 | .pb-4 {
2891 | padding-bottom: 1rem
2892 | }
2893 |
2894 | .pl-1 {
2895 | padding-left: .25rem
2896 | }
2897 |
2898 | .pt-1 {
2899 | padding-top: .25rem
2900 | }
2901 |
2902 | .pb-1 {
2903 | padding-bottom: .25rem
2904 | }
2905 |
2906 | .pl-2 {
2907 | padding-left: .5rem
2908 | }
2909 |
2910 | .pr-7 {
2911 | padding-right: 1.75rem
2912 | }
2913 |
2914 | .pl-3 {
2915 | padding-left: .75rem
2916 | }
2917 |
2918 | .pr-10 {
2919 | padding-right: 2.5rem
2920 | }
2921 |
2922 | .pr-2 {
2923 | padding-right: .5rem
2924 | }
2925 |
2926 | .pr-9 {
2927 | padding-right: 2.25rem
2928 | }
2929 |
2930 | .pr-4 {
2931 | padding-right: 1rem
2932 | }
2933 |
2934 | .pl-10 {
2935 | padding-left: 2.5rem
2936 | }
2937 |
2938 | .pb-3 {
2939 | padding-bottom: .75rem
2940 | }
2941 |
2942 | .pr-5 {
2943 | padding-right: 1.25rem
2944 | }
2945 |
2946 | .pr-1 {
2947 | padding-right: .25rem
2948 | }
2949 |
2950 | .pb-6 {
2951 | padding-bottom: 1.5rem
2952 | }
2953 |
2954 | .pt-3 {
2955 | padding-top: .75rem
2956 | }
2957 |
2958 | .text-left {
2959 | text-align: left
2960 | }
2961 |
2962 | .text-center {
2963 | text-align: center
2964 | }
2965 |
2966 | .text-right {
2967 | text-align: right
2968 | }
2969 |
2970 | .align-top {
2971 | vertical-align: top
2972 | }
2973 |
2974 | .font-sans {
2975 | font-family: Söhne,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Helvetica Neue,Arial,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji
2976 | }
2977 |
2978 | .font-mono {
2979 | font-family: Söhne Mono,Monaco,Andale Mono,Ubuntu Mono,monospace
2980 | }
2981 |
2982 | .text-lg {
2983 | font-size: 1.125rem
2984 | }
2985 |
2986 | .text-lg,.text-xl {
2987 | line-height: 1.75rem
2988 | }
2989 |
2990 | .text-xl {
2991 | font-size: 1.25rem
2992 | }
2993 |
2994 | .text-xs {
2995 | font-size: .75rem;
2996 | line-height: 1rem
2997 | }
2998 |
2999 | .text-\[10px\] {
3000 | font-size: 10px
3001 | }
3002 |
3003 | .text-3xl {
3004 | font-size: 1.875rem;
3005 | line-height: 2.25rem
3006 | }
3007 |
3008 | .text-sm {
3009 | font-size: .875rem;
3010 | line-height: 1.25rem
3011 | }
3012 |
3013 | .text-base {
3014 | font-size: 1rem;
3015 | line-height: 1.5rem
3016 | }
3017 |
3018 | .text-2xl {
3019 | font-size: 1.5rem;
3020 | line-height: 2rem
3021 | }
3022 |
3023 | .text-4xl {
3024 | font-size: 2.25rem;
3025 | line-height: 2.5rem
3026 | }
3027 |
3028 | .font-semibold {
3029 | font-weight: 600
3030 | }
3031 |
3032 | .font-normal {
3033 | font-weight: 400
3034 | }
3035 |
3036 | .font-bold {
3037 | font-weight: 700
3038 | }
3039 |
3040 | .font-medium {
3041 | font-weight: 500
3042 | }
3043 |
3044 | .uppercase {
3045 | text-transform: uppercase
3046 | }
3047 |
3048 | .normal-case {
3049 | text-transform: none
3050 | }
3051 |
3052 | .italic {
3053 | font-style: italic
3054 | }
3055 |
3056 | .leading-6 {
3057 | line-height: 1.5rem
3058 | }
3059 |
3060 | .leading-tight {
3061 | line-height: 1.25
3062 | }
3063 |
3064 | .leading-5 {
3065 | line-height: 1.25rem
3066 | }
3067 |
3068 | .tracking-widest {
3069 | letter-spacing: .1em
3070 | }
3071 |
3072 | .text-red-500 {
3073 | --tw-text-opacity: 1;
3074 | color: rgba(239,68,68,var(--tw-text-opacity))
3075 | }
3076 |
3077 | .text-gray-400 {
3078 | --tw-text-opacity: 1;
3079 | color: rgba(172,172,190,var(--tw-text-opacity))
3080 | }
3081 |
3082 | .text-gray-500 {
3083 | --tw-text-opacity: 1;
3084 | color: rgba(142,142,160,var(--tw-text-opacity))
3085 | }
3086 |
3087 | .text-white {
3088 | --tw-text-opacity: 1;
3089 | color: rgba(255,255,255,var(--tw-text-opacity))
3090 | }
3091 |
3092 | .text-yellow-900 {
3093 | --tw-text-opacity: 1;
3094 | color: rgba(146,114,1,var(--tw-text-opacity))
3095 | }
3096 |
3097 | .text-green-700 {
3098 | --tw-text-opacity: 1;
3099 | color: rgba(26,127,100,var(--tw-text-opacity))
3100 | }
3101 |
3102 | .text-gray-800 {
3103 | --tw-text-opacity: 1;
3104 | color: rgba(52,53,65,var(--tw-text-opacity))
3105 | }
3106 |
3107 | .text-gray-700 {
3108 | --tw-text-opacity: 1;
3109 | color: rgba(64,65,79,var(--tw-text-opacity))
3110 | }
3111 |
3112 | .text-gray-200 {
3113 | --tw-text-opacity: 1;
3114 | color: rgba(217,217,227,var(--tw-text-opacity))
3115 | }
3116 |
3117 | .text-gray-100 {
3118 | --tw-text-opacity: 1;
3119 | color: rgba(236,236,241,var(--tw-text-opacity))
3120 | }
3121 |
3122 | .text-gray-300 {
3123 | --tw-text-opacity: 1;
3124 | color: rgba(197,197,210,var(--tw-text-opacity))
3125 | }
3126 |
3127 | .text-gray-900 {
3128 | --tw-text-opacity: 1;
3129 | color: rgba(32,33,35,var(--tw-text-opacity))
3130 | }
3131 |
3132 | .text-gray-600 {
3133 | --tw-text-opacity: 1;
3134 | color: rgba(86,88,105,var(--tw-text-opacity))
3135 | }
3136 |
3137 | .text-red-600 {
3138 | --tw-text-opacity: 1;
3139 | color: rgba(220,38,38,var(--tw-text-opacity))
3140 | }
3141 |
3142 | .text-yellow-700 {
3143 | --tw-text-opacity: 1;
3144 | color: rgba(161,98,7,var(--tw-text-opacity))
3145 | }
3146 |
3147 | .text-indigo-500 {
3148 | --tw-text-opacity: 1;
3149 | color: rgba(99,102,241,var(--tw-text-opacity))
3150 | }
3151 |
3152 | .text-red-800 {
3153 | --tw-text-opacity: 1;
3154 | color: rgba(153,27,27,var(--tw-text-opacity))
3155 | }
3156 |
3157 | .text-black\/50 {
3158 | color: rgba(0,0,0,.5)
3159 | }
3160 |
3161 | .text-indigo-600 {
3162 | --tw-text-opacity: 1;
3163 | color: rgba(79,70,229,var(--tw-text-opacity))
3164 | }
3165 |
3166 | .text-yellow-400 {
3167 | --tw-text-opacity: 1;
3168 | color: rgba(255,198,87,var(--tw-text-opacity))
3169 | }
3170 |
3171 | .text-red-300 {
3172 | --tw-text-opacity: 1;
3173 | color: rgba(252,165,165,var(--tw-text-opacity))
3174 | }
3175 |
3176 | .text-green-600 {
3177 | --tw-text-opacity: 1;
3178 | color: rgba(16,163,127,var(--tw-text-opacity))
3179 | }
3180 |
3181 | .text-orange-500 {
3182 | --tw-text-opacity: 1;
3183 | color: rgba(224,108,43,var(--tw-text-opacity))
3184 | }
3185 |
3186 | .text-blue-500 {
3187 | --tw-text-opacity: 1;
3188 | color: rgba(59,130,246,var(--tw-text-opacity))
3189 | }
3190 |
3191 | .underline {
3192 | text-decoration-line: underline
3193 | }
3194 |
3195 | .\!no-underline {
3196 | text-decoration-line: none!important
3197 | }
3198 |
3199 | .placeholder-gray-500::-webkit-input-placeholder {
3200 | --tw-placeholder-opacity: 1;
3201 | color: rgba(142,142,160,var(--tw-placeholder-opacity))
3202 | }
3203 |
3204 | .placeholder-gray-500::placeholder {
3205 | --tw-placeholder-opacity: 1;
3206 | color: rgba(142,142,160,var(--tw-placeholder-opacity))
3207 | }
3208 |
3209 | .opacity-50 {
3210 | opacity: .5
3211 | }
3212 |
3213 | .opacity-0 {
3214 | opacity: 0
3215 | }
3216 |
3217 | .opacity-100 {
3218 | opacity: 1
3219 | }
3220 |
3221 | .opacity-20 {
3222 | opacity: .2
3223 | }
3224 |
3225 | .shadow-sm {
3226 | --tw-shadow: 0 1px 2px 0 rgba(0,0,0,.05);
3227 | --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color)
3228 | }
3229 |
3230 | .shadow-md,.shadow-sm {
3231 | box-shadow: 0 0 transparent,0 0 transparent,var(--tw-shadow);
3232 | box-shadow: var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)
3233 | }
3234 |
3235 | .shadow-md {
3236 | --tw-shadow: 0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);
3237 | --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)
3238 | }
3239 |
3240 | .shadow-xl {
3241 | --tw-shadow: 0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);
3242 | --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)
3243 | }
3244 |
3245 | .shadow,.shadow-xl {
3246 | box-shadow: 0 0 transparent,0 0 transparent,var(--tw-shadow);
3247 | box-shadow: var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)
3248 | }
3249 |
3250 | .shadow {
3251 | --tw-shadow: 0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);
3252 | --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)
3253 | }
3254 |
3255 | .shadow-\[0_0_10px_rgba\(0\2c 0\2c 0\2c 0\.10\)\] {
3256 | --tw-shadow: 0 0 10px rgba(0,0,0,.1);
3257 | --tw-shadow-colored: 0 0 10px var(--tw-shadow-color)
3258 | }
3259 |
3260 | .shadow-\[0_0_10px_rgba\(0\2c 0\2c 0\2c 0\.10\)\],.shadow-lg {
3261 | box-shadow: 0 0 transparent,0 0 transparent,var(--tw-shadow);
3262 | box-shadow: var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)
3263 | }
3264 |
3265 | .shadow-lg {
3266 | --tw-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
3267 | --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)
3268 | }
3269 |
3270 | .shadow-gray-500 {
3271 | --tw-shadow-color: #8e8ea0;
3272 | --tw-shadow: var(--tw-shadow-colored)
3273 | }
3274 |
3275 | .shadow-indigo-400 {
3276 | --tw-shadow-color: #818cf8;
3277 | --tw-shadow: var(--tw-shadow-colored)
3278 | }
3279 |
3280 | .outline-none {
3281 | outline: 2px solid transparent;
3282 | outline-offset: 2px
3283 | }
3284 |
3285 | .ring-1 {
3286 | --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
3287 | --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)
3288 | }
3289 |
3290 | .ring-0,.ring-1 {
3291 | box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 transparent;
3292 | box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)
3293 | }
3294 |
3295 | .ring-0 {
3296 | --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
3297 | --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)
3298 | }
3299 |
3300 | .ring-black {
3301 | --tw-ring-opacity: 1;
3302 | --tw-ring-color: rgba(0,0,0,var(--tw-ring-opacity))
3303 | }
3304 |
3305 | .ring-opacity-5 {
3306 | --tw-ring-opacity: 0.05
3307 | }
3308 |
3309 | .filter {
3310 | -webkit-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);
3311 | 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)
3312 | }
3313 |
3314 | .filter-none {
3315 | -webkit-filter: none;
3316 | filter: none
3317 | }
3318 |
3319 | .transition-transform {
3320 | transition-duration: .15s;
3321 | transition-property: -webkit-transform;
3322 | transition-property: transform;
3323 | transition-property: transform,-webkit-transform;
3324 | transition-timing-function: cubic-bezier(.4,0,.2,1)
3325 | }
3326 |
3327 | .transition {
3328 | transition-duration: .15s;
3329 | transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,-webkit-transform,-webkit-filter,-webkit-backdrop-filter;
3330 | transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;
3331 | transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-transform,-webkit-filter,-webkit-backdrop-filter;
3332 | transition-timing-function: cubic-bezier(.4,0,.2,1)
3333 | }
3334 |
3335 | .transition-opacity {
3336 | transition-duration: .15s;
3337 | transition-property: opacity;
3338 | transition-timing-function: cubic-bezier(.4,0,.2,1)
3339 | }
3340 |
3341 | .transition-all {
3342 | transition-duration: .15s;
3343 | transition-property: all;
3344 | transition-timing-function: cubic-bezier(.4,0,.2,1)
3345 | }
3346 |
3347 | .transition-colors {
3348 | transition-duration: .15s;
3349 | transition-property: color,background-color,border-color,text-decoration-color,fill,stroke;
3350 | transition-timing-function: cubic-bezier(.4,0,.2,1)
3351 | }
3352 |
3353 | .transition-width {
3354 | transition-duration: .15s;
3355 | transition-property: width;
3356 | transition-timing-function: cubic-bezier(.4,0,.2,1)
3357 | }
3358 |
3359 | .duration-200 {
3360 | transition-duration: .2s
3361 | }
3362 |
3363 | .duration-500 {
3364 | transition-duration: .5s
3365 | }
3366 |
3367 | .duration-75 {
3368 | transition-duration: 75ms
3369 | }
3370 |
3371 | .duration-300 {
3372 | transition-duration: .3s
3373 | }
3374 |
3375 | .duration-150 {
3376 | transition-duration: .15s
3377 | }
3378 |
3379 | .duration-100 {
3380 | transition-duration: .1s
3381 | }
3382 |
3383 | .ease-out {
3384 | transition-timing-function: cubic-bezier(0,0,.2,1)
3385 | }
3386 |
3387 | .ease-in {
3388 | transition-timing-function: cubic-bezier(.4,0,1,1)
3389 | }
3390 |
3391 | .ease-linear {
3392 | transition-timing-function: linear
3393 | }
3394 |
3395 | .ease-in-out {
3396 | transition-timing-function: cubic-bezier(.4,0,.2,1)
3397 | }
3398 |
3399 | .line-clamp-2 {
3400 | -webkit-line-clamp: 2
3401 | }
3402 |
3403 | .line-clamp-2,.line-clamp-3 {
3404 | -webkit-box-orient: vertical;
3405 | display: -webkit-box;
3406 | overflow: hidden
3407 | }
3408 |
3409 | .line-clamp-3 {
3410 | -webkit-line-clamp: 3
3411 | }
3412 |
3413 | body,html {
3414 | height: 100%
3415 | }
3416 |
3417 | .dark body,.dark html {
3418 | --tw-bg-opacity: 1;
3419 | background-color: rgba(52,53,65,var(--tw-bg-opacity))
3420 | }
3421 |
3422 | #__next,#root {
3423 | height: 100%
3424 | }
3425 |
3426 | .markdown ol {
3427 | counter-reset: item
3428 | }
3429 |
3430 | .markdown ul li {
3431 | display: block;
3432 | margin: 0;
3433 | position: relative
3434 | }
3435 |
3436 | .markdown ul li:before {
3437 | content: "•";
3438 | font-size: .875rem;
3439 | line-height: 1.25rem;
3440 | margin-left: -1rem;
3441 | position: absolute
3442 | }
3443 |
3444 | .markdown {
3445 | max-width: none
3446 | }
3447 |
3448 | .markdown h1,.markdown h2 {
3449 | font-weight: 600
3450 | }
3451 |
3452 | .markdown h2 {
3453 | margin-bottom: 1rem;
3454 | margin-top: 2rem
3455 | }
3456 |
3457 | .markdown h3 {
3458 | font-weight: 600
3459 | }
3460 |
3461 | .markdown h3,.markdown h4 {
3462 | margin-bottom: .5rem;
3463 | margin-top: 1rem
3464 | }
3465 |
3466 | .markdown h4 {
3467 | font-weight: 400
3468 | }
3469 |
3470 | .markdown h5 {
3471 | font-weight: 600
3472 | }
3473 |
3474 | .markdown blockquote {
3475 | --tw-border-opacity: 1;
3476 | border-color: rgba(142,142,160,var(--tw-border-opacity));
3477 | border-left-width: 2px;
3478 | line-height: 1rem;
3479 | padding-left: 1rem
3480 | }
3481 |
3482 | .markdown ol,.markdown ul {
3483 | display: flex;
3484 | flex-direction: column;
3485 | padding-left: 1rem
3486 | }
3487 |
3488 | .markdown ol li,.markdown ol li>p,.markdown ol ol,.markdown ol ul,.markdown ul li,.markdown ul li>p,.markdown ul ol,.markdown ul ul {
3489 | margin: 0
3490 | }
3491 |
3492 | .markdown table {
3493 | --tw-border-spacing-x: 0px;
3494 | --tw-border-spacing-y: 0px;
3495 | border-collapse: separate;
3496 | border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
3497 | width: 100%
3498 | }
3499 |
3500 | .markdown th {
3501 | background-color: rgba(236,236,241,.2);
3502 | border-bottom-width: 1px;
3503 | border-left-width: 1px;
3504 | border-top-width: 1px;
3505 | padding: .25rem .75rem
3506 | }
3507 |
3508 | .markdown th:first-child {
3509 | border-top-left-radius: .375rem
3510 | }
3511 |
3512 | .markdown th:last-child {
3513 | border-right-width: 1px;
3514 | border-top-right-radius: .375rem
3515 | }
3516 |
3517 | .markdown td {
3518 | border-bottom-width: 1px;
3519 | border-left-width: 1px;
3520 | padding: .25rem .75rem
3521 | }
3522 |
3523 | .markdown td:last-child {
3524 | border-right-width: 1px
3525 | }
3526 |
3527 | .markdown tbody tr:last-child td:first-child {
3528 | border-bottom-left-radius: .375rem
3529 | }
3530 |
3531 | .markdown tbody tr:last-child td:last-child {
3532 | border-bottom-right-radius: .375rem
3533 | }
3534 |
3535 | .markdown a {
3536 | text-decoration-line: underline;
3537 | text-underline-offset: 2px
3538 | }
3539 |
3540 | .conversation-item-time:before {
3541 | content: attr(data-time)
3542 | }
3543 |
3544 | .tooltip-label:before {
3545 | content: attr(data-content)
3546 | }
3547 |
3548 | button.scroll-convo {
3549 | display: none
3550 | }
3551 |
3552 | @-webkit-keyframes blink {
3553 | to {
3554 | visibility: hidden
3555 | }
3556 | }
3557 |
3558 | @keyframes blink {
3559 | to {
3560 | visibility: hidden
3561 | }
3562 | }
3563 |
3564 | .animate-flash {
3565 | -webkit-animation: flash 2s steps(60,start);
3566 | animation: flash 2s steps(60,start)
3567 | }
3568 |
3569 | @-webkit-keyframes flash {
3570 | 0% {
3571 | background-color: hsla(0,0%,100%,.4)
3572 | }
3573 | }
3574 |
3575 | @keyframes flash {
3576 | 0% {
3577 | background-color: hsla(0,0%,100%,.4)
3578 | }
3579 | }
3580 |
3581 | .result-streaming>:not(ol):not(ul):not(pre):last-child:after,.result-streaming>ol:last-child li:last-child:after,.result-streaming>pre:last-child code:after,.result-streaming>ul:last-child li:last-child:after {
3582 | -webkit-animation: blink 1s steps(5,start) infinite;
3583 | animation: blink 1s steps(5,start) infinite;
3584 | content: "▋";
3585 | margin-left: .25rem;
3586 | vertical-align: baseline
3587 | }
3588 |
3589 | @-webkit-keyframes toast-open {
3590 | 0% {
3591 | opacity: 0;
3592 | -webkit-transform: translateY(-100%);
3593 | transform: translateY(-100%)
3594 | }
3595 |
3596 | to {
3597 | -webkit-transform: translateY(0);
3598 | transform: translateY(0)
3599 | }
3600 | }
3601 |
3602 | @keyframes toast-open {
3603 | 0% {
3604 | opacity: 0;
3605 | -webkit-transform: translateY(-100%);
3606 | transform: translateY(-100%)
3607 | }
3608 |
3609 | to {
3610 | -webkit-transform: translateY(0);
3611 | transform: translateY(0)
3612 | }
3613 | }
3614 |
3615 | @-webkit-keyframes toast-close {
3616 | 0% {
3617 | opacity: 1
3618 | }
3619 |
3620 | to {
3621 | opacity: 0
3622 | }
3623 | }
3624 |
3625 | @keyframes toast-close {
3626 | 0% {
3627 | opacity: 1
3628 | }
3629 |
3630 | to {
3631 | opacity: 0
3632 | }
3633 | }
3634 |
3635 | .toast-root {
3636 | align-items: center;
3637 | display: flex;
3638 | flex-direction: column;
3639 | height: 0;
3640 | transition: all .24s cubic-bezier(0,0,.2,1)
3641 | }
3642 |
3643 | .toast-root[data-state=entered],.toast-root[data-state=entering] {
3644 | -webkit-animation: toast-open .24s cubic-bezier(.175,.885,.32,1.175) both;
3645 | animation: toast-open .24s cubic-bezier(.175,.885,.32,1.175) both
3646 | }
3647 |
3648 | .toast-root[data-state=exiting] {
3649 | -webkit-animation: toast-close .12s cubic-bezier(.4,0,1,1) both;
3650 | animation: toast-close .12s cubic-bezier(.4,0,1,1) both
3651 | }
3652 |
3653 | .toast-root .alert-root {
3654 | box-shadow: 0 0 1px rgba(67,90,111,.3),0 5px 8px -4px rgba(67,90,111,.3);
3655 | flex-shrink: 0;
3656 | pointer-events: all
3657 | }
3658 |
3659 | .before\:visible:before {
3660 | content: var(--tw-content);
3661 | visibility: visible
3662 | }
3663 |
3664 | .before\:absolute:before {
3665 | content: var(--tw-content);
3666 | position: absolute
3667 | }
3668 |
3669 | .before\:-top-7:before {
3670 | content: var(--tw-content);
3671 | top: -1.75rem
3672 | }
3673 |
3674 | .before\:top-0:before {
3675 | content: var(--tw-content);
3676 | top: 0
3677 | }
3678 |
3679 | .before\:h-2:before {
3680 | content: var(--tw-content);
3681 | height: .5rem
3682 | }
3683 |
3684 | .before\:w-2:before {
3685 | content: var(--tw-content);
3686 | width: .5rem
3687 | }
3688 |
3689 | .before\:-translate-y-1\/2:before {
3690 | --tw-translate-y: -50%
3691 | }
3692 |
3693 | .before\:-translate-x-1\/2:before,.before\:-translate-y-1\/2:before {
3694 | content: var(--tw-content);
3695 | -webkit-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));
3696 | 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))
3697 | }
3698 |
3699 | .before\:-translate-x-1\/2:before {
3700 | --tw-translate-x: -50%
3701 | }
3702 |
3703 | .before\:rotate-45:before {
3704 | --tw-rotate: 45deg;
3705 | content: var(--tw-content);
3706 | -webkit-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));
3707 | 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))
3708 | }
3709 |
3710 | .before\:border-b:before {
3711 | border-bottom-width: 1px;
3712 | content: var(--tw-content)
3713 | }
3714 |
3715 | .before\:border-r:before {
3716 | border-right-width: 1px;
3717 | content: var(--tw-content)
3718 | }
3719 |
3720 | .before\:border-black\/10:before {
3721 | border-color: rgba(0,0,0,.1);
3722 | content: var(--tw-content)
3723 | }
3724 |
3725 | .before\:bg-gray-100:before {
3726 | --tw-bg-opacity: 1;
3727 | background-color: rgba(236,236,241,var(--tw-bg-opacity));
3728 | content: var(--tw-content)
3729 | }
3730 |
3731 | .before\:content-\[\"\"\]:before{--tw-content:"";content:var(--tw-content)}.before\:content-\[\'\"\'\]:before{--tw-content:'"';content:var(--tw-content)}.after\:h-\[15px\]:after{content:var(--tw-content);height:15px}.after\:w-\[1px\]:after{content:var(--tw-content);width:1px}.after\:bg-gray-300:after{--tw-bg-opacity:1;background-color:rgba(197,197,210,var(--tw-bg-opacity));content:var(--tw-content)}.after\:content-\[\"\"\]:after{--tw-content:"";content:var(--tw-content)}.after\:content-\[\'\"\'\]:after{--tw-content:'"';content:var(--tw-content)}.last\:mb-2:last-child{margin-bottom:.5rem}.last\:border-0:last-child{border-width:0}.last\:after\:bg-transparent:last-child:after{background-color:transparent;content:var(--tw-content)}.checked\:border-blue-600:checked{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.checked\:bg-blue-600:checked{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.focus-within\:z-10[focus-within]{z-index:10}.focus-within\:z-10:focus-within{z-index:10}.focus-within\:border-indigo-600[focus-within]{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.focus-within\:border-indigo-600:focus-within{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.focus-within\:ring-1[focus-within]{--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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 transparent;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-within\:ring-1:focus-within{--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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 transparent;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-within\:ring-indigo-600[focus-within]{--tw-ring-opacity:1;--tw-ring-color:rgba(79,70,229,var(--tw-ring-opacity))}.focus-within\:ring-indigo-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(79,70,229,var(--tw-ring-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(247,247,248,var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgba(236,236,241,var(--tw-bg-opacity))}.hover\:bg-\[\#2A2B32\]:hover{--tw-bg-opacity:1;background-color:rgba(42,43,50,var(--tw-bg-opacity))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgba(52,53,65,var(--tw-bg-opacity))}.hover\:bg-gray-500\/10:hover{background-color:hsla(240,9%,59%,.1)}.hover\:bg-white\/20:hover{background-color:hsla(0,0%,100%,.2)}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgba(217,217,227,var(--tw-bg-opacity))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgba(197,197,210,var(--tw-bg-opacity))}.hover\:pr-4:hover{padding-right:1rem}.hover\:pr-14:hover{padding-right:3.5rem}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgba(142,142,160,var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgba(64,65,79,var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgba(32,33,35,var(--tw-text-opacity))}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-75:hover{opacity:.75}.focus\:z-10:focus{z-index:10}.focus\:border-green-500:focus{--tw-border-opacity:1;border-color:rgba(25,195,125,var(--tw-border-opacity))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.focus\:border-green-600:focus{--tw-border-opacity:1;border-color:rgba(16,163,127,var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0: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(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 transparent;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.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)}.focus\:ring-1: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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 transparent;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus\:ring-inset:focus{--tw-ring-inset:inset}.focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(25,195,125,var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99,102,241,var(--tw-ring-opacity))}.focus\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255,255,255,var(--tw-ring-opacity))}.focus\:ring-green-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(16,163,127,var(--tw-ring-opacity))}.focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(142,142,160,var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:ring-0.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(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 transparent;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-visible\:ring-0: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(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 transparent;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.disabled\:bottom-0\.5:disabled{bottom:.125rem}.disabled\:bottom-0:disabled{bottom:0}.disabled\:cursor-auto:disabled{cursor:auto}.disabled\:text-gray-300:disabled{--tw-text-opacity:1;color:rgba(197,197,210,var(--tw-text-opacity))}.disabled\:opacity-20:disabled{opacity:.2}.disabled\:hover\:bg-transparent:hover:disabled{background-color:transparent}.disabled\:hover\:bg-white:hover:disabled{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:from-\[\#2A2B32\]{--tw-gradient-from:#2a2b32;--tw-gradient-to:rgba(42,43,50,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.group:hover .group-hover\:text-gray-500{--tw-text-opacity:1;color:rgba(142,142,160,var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-700{--tw-text-opacity:1;color:rgba(64,65,79,var(--tw-text-opacity))}.dark .dark\:prose-invert{--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.dark .dark\:border-gray-900\/50{border-color:rgba(32,33,35,.5)}.dark .dark\:border-black\/20{border-color:rgba(0,0,0,.2)}.dark .dark\:border-white\/20{border-color:hsla(0,0%,100%,.2)}.dark .dark\:border-gray-700{--tw-border-opacity:1;border-color:rgba(64,65,79,var(--tw-border-opacity))}.dark .dark\:border-white\/10{border-color:hsla(0,0%,100%,.1)}.dark .dark\:border-black\/10{border-color:rgba(0,0,0,.1)}.dark .dark\:bg-\[\#444654\]{--tw-bg-opacity:1;background-color:rgba(68,70,84,var(--tw-bg-opacity))}.dark .dark\:bg-gray-800{--tw-bg-opacity:1;background-color:rgba(52,53,65,var(--tw-bg-opacity))}.dark .dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgba(64,65,79,var(--tw-bg-opacity))}.dark .dark\:bg-gray-800\/90{background-color:rgba(52,53,65,.9)}.dark .dark\:bg-gray-900{--tw-bg-opacity:1;background-color:rgba(32,33,35,var(--tw-bg-opacity))}.dark .dark\:bg-transparent{background-color:transparent}.dark .dark\:bg-white\/10{background-color:hsla(0,0%,100%,.1)}.dark .dark\:bg-white\/5{background-color:hsla(0,0%,100%,.05)}.dark .dark\:bg-gray-500{--tw-bg-opacity:1;background-color:rgba(142,142,160,var(--tw-bg-opacity))}.dark .dark\:text-gray-700{--tw-text-opacity:1;color:rgba(64,65,79,var(--tw-text-opacity))}.dark .dark\:text-gray-100{--tw-text-opacity:1;color:rgba(236,236,241,var(--tw-text-opacity))}.dark .dark\:text-gray-400{--tw-text-opacity:1;color:rgba(172,172,190,var(--tw-text-opacity))}.dark .dark\:text-gray-200{--tw-text-opacity:1;color:rgba(217,217,227,var(--tw-text-opacity))}.dark .dark\:text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.dark .dark\:text-gray-500{--tw-text-opacity:1;color:rgba(142,142,160,var(--tw-text-opacity))}.dark .dark\:text-white\/50{color:hsla(0,0%,100%,.5)}.dark .dark\:text-gray-600{--tw-text-opacity:1;color:rgba(86,88,105,var(--tw-text-opacity))}.dark .dark\:text-gray-300{--tw-text-opacity:1;color:rgba(197,197,210,var(--tw-text-opacity))}.dark .dark\:opacity-100{opacity:1}.dark .dark\:shadow-\[0_0_15px_rgba\(0\2c 0\2c 0\2c 0\.10\)\]{--tw-shadow:0 0 15px rgba(0,0,0,.1);--tw-shadow-colored:0 0 15px var(--tw-shadow-color);box-shadow:0 0 transparent,0 0 transparent,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.dark .dark\:ring-white\/20{--tw-ring-color:hsla(0,0%,100%,.2)}.dark .dark\:ring-gray-600{--tw-ring-opacity:1;--tw-ring-color:rgba(86,88,105,var(--tw-ring-opacity))}.dark .dark\:last\:border-0:last-child{border-width:0}.dark .dark\:hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgba(64,65,79,var(--tw-bg-opacity))}.dark .dark\:hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgba(32,33,35,var(--tw-bg-opacity))}.dark .dark\:hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgba(86,88,105,var(--tw-bg-opacity))}.dark .dark\:hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgba(236,236,241,var(--tw-bg-opacity))}.dark .dark\:hover\:bg-gray-500\/10:hover{background-color:hsla(240,9%,59%,.1)}.dark .dark\:hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgba(217,217,227,var(--tw-text-opacity))}.dark .dark\:hover\:text-white:hover{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.dark .dark\:hover\:text-gray-400:hover{--tw-text-opacity:1;color:rgba(172,172,190,var(--tw-text-opacity))}.dark .dark\:focus\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.dark .dark\:focus\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255,255,255,var(--tw-ring-opacity))}.dark .dark\:disabled\:text-gray-400:disabled{--tw-text-opacity:1;color:rgba(172,172,190,var(--tw-text-opacity))}.dark .dark\:disabled\:hover\:bg-transparent:hover:disabled{background-color:transparent}.dark .dark\:disabled\:hover\:bg-gray-700:hover:disabled{--tw-bg-opacity:1;background-color:rgba(64,65,79,var(--tw-bg-opacity))}.dark .disabled\:dark\:hover\:text-gray-400:hover:disabled{--tw-text-opacity:1;color:rgba(172,172,190,var(--tw-text-opacity))}@media (min-width:640px){.sm\:absolute{position:absolute}.sm\:order-2{order:2}.sm\:order-1{order:1}.sm\:my-8{margin-bottom:2rem;margin-top:2rem}.sm\:mt-0{margin-top:0}.sm\:mt-4{margin-top:1rem}.sm\:mb-16{margin-bottom:4rem}.sm\:mt-\[20vh\]{margin-top:20vh}.sm\:flex{display:flex}.sm\:h-10{height:2.5rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:w-10{width:2.5rem}.sm\:w-2\/5{width:40%}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-xl{max-width:36rem}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-md{max-width:28rem}.sm\:translate-y-0{--tw-translate-y:0px}.sm\:scale-95,.sm\:translate-y-0{-webkit-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));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))}.sm\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.sm\:scale-100{--tw-scale-x:1;--tw-scale-y:1;-webkit-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));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))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-center{align-items:center}.sm\:gap-4{gap:1rem}.sm\:gap-12{gap:3rem}.sm\:border-t-0{border-top-width:0}.sm\:border-r{border-right-width:1px}.sm\:p-0{padding:0}.sm\:p-6{padding:1.5rem}.sm\:p-4{padding:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:pl-3{padding-left:.75rem}.sm\:pb-1{padding-bottom:.25rem}.sm\:pb-2{padding-bottom:.5rem}.sm\:text-left{text-align:left}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-\[40px\]{font-size:40px}.sm\:duration-300{transition-duration:.3s}.sm\:duration-500{transition-duration:.5s}}@media (min-width:768px){.md\:invisible{visibility:hidden}.md\:fixed{position:fixed}.md\:inset-y-0{bottom:0;top:0}.md\:bottom-2\.5{bottom:.625rem}.md\:right-2{right:.5rem}.md\:bottom-2{bottom:.5rem}.md\:bottom-\[120px\]{bottom:120px}.md\:m-auto{margin:auto}.md\:mb-auto{margin-bottom:auto}.md\:mb-2{margin-bottom:.5rem}.md\:mt-3{margin-top:.75rem}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-48{height:12rem}.md\:h-full{height:100%}.md\:min-h-\[34px\]{min-height:34px}.md\:w-\[260px\]{width:260px}.md\:w-full{width:100%}.md\:w-1\/2{width:50%}.md\:w-\[100\%\]{width:100%}.md\:w-auto{width:auto}.md\:max-w-2xl{max-width:42rem}.md\:flex-col{flex-direction:column}.md\:gap-3{gap:.75rem}.md\:gap-6{gap:1.5rem}.md\:gap-4{gap:1rem}.md\:gap-2{gap:.5rem}.md\:border{border-width:1px}.md\:border-t-0{border-top-width:0}.md\:border-transparent{border-color:transparent}.md\:\!bg-transparent{background-color:transparent!important}.md\:bg-vert-light-gradient{background-image:linear-gradient(180deg,hsla(0,0%,100%,0) 13.94%,#fff 54.73%)}.md\:py-6{padding-bottom:1.5rem;padding-top:1.5rem}.md\:py-3{padding-bottom:.75rem;padding-top:.75rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:pl-0{padding-left:0}.md\:pl-4{padding-left:1rem}.md\:pl-\[260px\]{padding-left:260px}.md\:pt-3{padding-top:.75rem}.md\:pb-6{padding-bottom:1.5rem}.md\:pb-5{padding-bottom:1.25rem}.md\:text-justify{text-align:justify}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:last\:mb-6:last-child{margin-bottom:1.5rem}.md\:disabled\:bottom-1:disabled{bottom:.25rem}.group:hover .md\:group-hover\:visible{visibility:visible}.dark .md\:dark\:border-transparent{border-color:transparent}.dark .dark\:md\:bg-vert-dark-gradient{background-image:linear-gradient(180deg,rgba(53,55,64,0),#353740 58.85%)}}@media (min-width:1024px){.lg\:absolute{position:absolute}.lg\:relative{position:relative}.lg\:top-0{top:0}.lg\:right-0{right:0}.lg\:top-1\/2{top:50%}.lg\:-left-2{left:-.5rem}.lg\:left-auto{left:auto}.lg\:-right-2{right:-.5rem}.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:mt-0{margin-top:0}.lg\:ml-auto{margin-left:auto}.lg\:mb-4{margin-bottom:1rem}.lg\:h-8{height:2rem}.lg\:w-3\/5{width:60%}.lg\:w-auto{width:auto}.lg\:w-1\/2{width:50%}.lg\:w-2\/3{width:66.666667%}.lg\:w-\[calc\(100\%-20px\)\]{width:calc(100% - 20px)}.lg\:w-\[calc\(100\%-115px\)\]{width:calc(100% - 115px)}.lg\:w-1\/3{width:33.333333%}.lg\:w-8{width:2rem}.lg\:max-w-sm{max-width:24rem}.lg\:max-w-none{max-width:none}.lg\:max-w-2xl{max-width:42rem}.lg\:max-w-3xl{max-width:48rem}.lg\:translate-y-0{--tw-translate-y:0px}.lg\:translate-x-full,.lg\:translate-y-0{-webkit-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));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))}.lg\:translate-x-full{--tw-translate-x:100%}.lg\:-translate-y-1\/2{--tw-translate-y:-50%}.lg\:-translate-x-full,.lg\:-translate-y-1\/2{-webkit-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));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))}.lg\:-translate-x-full{--tw-translate-x:-100%}.lg\:gap-1{gap:.25rem}.lg\:self-center{align-self:center}.lg\:rounded-lg{border-radius:.5rem}.lg\:rounded-none{border-radius:0}.lg\:border{border-width:1px}.lg\:border-0{border-width:0}.lg\:p-6{padding:1.5rem}.lg\:p-0{padding:0}.lg\:px-14{padding-left:3.5rem;padding-right:3.5rem}.lg\:px-0{padding-left:0;padding-right:0}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pt-32{padding-top:8rem}.lg\:pl-2{padding-left:.5rem}.lg\:pt-6{padding-top:1.5rem}.lg\:text-left{text-align:left}}@media (min-width:1280px){.xl\:w-1\/4{width:25%}.xl\:w-1\/3{width:33.333333%}.xl\:max-w-3xl{max-width:48rem}}@media (min-width:1536px){.\32xl\:w-1\/4{width:25%}}code,pre{font-family:Söhne Mono,Monaco,Andale Mono,Ubuntu Mono,monospace!important}code[class=language-plaintext]{white-space:pre-line}code.hljs,code[class*=language-],pre[class*=language-]{word-wrap:normal;background:none;color:#fff;-webkit-hyphens:none;hyphens:none;line-height:1.5;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal}pre[class*=language-]{border-radius:.3em;overflow:auto}:not(pre)>code.hljs,:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.hljs-comment{color:hsla(0,0%,100%,.5)}.hljs-meta{color:hsla(0,0%,100%,.6)}.hljs-built_in,.hljs-class .hljs-title{color:#e9950c}.hljs-doctag,.hljs-formula,.hljs-keyword,.hljs-literal{color:#2e95d3}.hljs-addition,.hljs-attribute,.hljs-meta-string,.hljs-regexp,.hljs-string{color:#00a67d}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#df3079}.hljs-bullet,.hljs-link,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#f22c3d}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#a9aec1}.token.punctuation{color:#fefefe}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#ffa07a}.token.boolean,.token.number{color:#00e0e0}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#abe338}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#00e0e0}.token.atrule,.token.attr-value,.token.function{color:gold}.token.keyword{color:#00e0e0}.token.important,.token.regex{color:gold}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}@media screen and (-ms-high-contrast:active){code[class*=language-],pre[class*=language-]{background:window;color:windowText}:not(pre)>code[class*=language-],pre[class*=language-]{background:window}.token.important{background:highlight;color:window;font-weight:400}.token.atrule,.token.attr-value,.token.function,.token.keyword,.token.operator,.token.selector{font-weight:700}.token.attr-value,.token.comment,.token.doctype,.token.function,.token.keyword,.token.operator,.token.property,.token.string{color:highlight}.token.attr-value,.token.url{font-weight:400}}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_AMS-Regular.1608a09b.woff) format("woff")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff) format("woff")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff) format("woff")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff) format("woff")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Fraktur-Regular.7c187121.woff) format("woff")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Main-Bold.d181c465.woff) format("woff")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/_next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff) format("woff")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_Main-Italic.9024d815.woff) format("woff")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Main-Regular.7f51fe03.woff) format("woff")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/_next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff) format("woff")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_Math-Italic.5295ba48.woff) format("woff")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff) format("woff")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff) format("woff")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_SansSerif-Regular.74048478.woff) format("woff")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Script-Regular.07505710.woff) format("woff")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size1-Regular.e1e279cb.woff) format("woff")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size2-Regular.57727022.woff) format("woff")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size3-Regular.9acaf01c.woff) format("woff")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size4-Regular.7a996c9d.woff) format("woff")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Typewriter-Regular.6258592b.woff) format("woff")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentcolor}.katex .katex-version:after{content:"0.16.0"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:"KaTeX_SansSerif"}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:"KaTeX_SansSerif"}.katex .mathboldsf,.katex .textboldsf{font-family:"KaTeX_SansSerif";font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:"KaTeX_SansSerif";font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentcolor;stroke:currentcolor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}
--------------------------------------------------------------------------------