├── .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 | image 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 | image 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 |
59 |
60 |
61 |
62 |

{{lang.curSet}}:{{activePromptName}}

63 |
64 |
65 |
66 | 67 |
68 |
71 |
73 |
74 |
76 |
77 |
78 |
79 |
80 |
81 | {{messageItem.content}} 82 |
83 |
84 |
85 |
86 |
89 |
90 |
94 | 97 |
98 |
99 |
100 | 101 |
102 | 103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
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 | 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} --------------------------------------------------------------------------------