loki-mode 9.49.2 → 9.49.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/loki-issue-to-pr.yml +1 -1
- package/README.md +2 -2
- package/SKILL.md +2 -2
- package/VERSION +1 -1
- package/autonomy/lib/claude-flags.sh +18 -2
- package/autonomy/lib/proof-verify.py +4 -2
- package/autonomy/notification-checker.py +45 -17
- package/autonomy/run.sh +43 -4
- package/dashboard/__init__.py +1 -1
- package/dashboard/server.py +21 -8
- package/docs/INSTALLATION.md +1 -1
- package/docs/P0-SWEEP-PLAN.md +1 -1
- package/docs/cost-controls.md +1 -1
- package/docs/cursor-comparison.md +1 -1
- package/docs/environment-variables.md +1 -1
- package/loki-ts/dist/loki.js +240 -240
- package/mcp/__init__.py +1 -1
- package/package.json +1 -1
- package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
- package/skills/quality-gates.md +1 -1
- package/web-app/dist/assets/{AdminPage-DpV2vW3y.js → AdminPage-y6_b2Xo4.js} +1 -1
- package/web-app/dist/assets/{Avatar-BXeMYK1_.js → Avatar-BFPkXhIJ.js} +1 -1
- package/web-app/dist/assets/{Badge-D8WddQk1.js → Badge-BF3mhT57.js} +1 -1
- package/web-app/dist/assets/{Button-CFzTTVeJ.js → Button-BDp9aJ9q.js} +1 -1
- package/web-app/dist/assets/{CockpitPage-D1eQe9QF.js → CockpitPage-5TKICCoA.js} +1 -1
- package/web-app/dist/assets/{ComparePage-uX3OPphr.js → ComparePage-BSuNsUHy.js} +1 -1
- package/web-app/dist/assets/{ErrorBoundary-wE3oxaG6.js → ErrorBoundary-ut3wrUmu.js} +1 -1
- package/web-app/dist/assets/{EvidenceReceiptPanel-B_Wouz6N.js → EvidenceReceiptPanel-CcaBwEI-.js} +1 -1
- package/web-app/dist/assets/{GitHubIssuesPanel-DRlEeFuw.js → GitHubIssuesPanel-DJeYgzAa.js} +1 -1
- package/web-app/dist/assets/{GitHubPRsPanel-CCv6_I74.js → GitHubPRsPanel-DurZgSaj.js} +1 -1
- package/web-app/dist/assets/{HomePage-EG-jq8nR.js → HomePage-Bs451LAy.js} +1 -1
- package/web-app/dist/assets/{LoginPage-CEOnBICH.js → LoginPage-HeRGJeZy.js} +1 -1
- package/web-app/dist/assets/{MagicPage-DeWaFdsG.js → MagicPage-CUKrqsZs.js} +1 -1
- package/web-app/dist/assets/{MetricsPage-CG8CuSSJ.js → MetricsPage-DvY1csgz.js} +1 -1
- package/web-app/dist/assets/{NotFoundPage-Mz5rOat6.js → NotFoundPage-BZDZ-B77.js} +1 -1
- package/web-app/dist/assets/{ProjectPage-D2Fh6tVw.js → ProjectPage-CqHkEZkl.js} +25 -25
- package/web-app/dist/assets/{ProjectsPage-B8cRWkWa.js → ProjectsPage-CLvCK1Y8.js} +1 -1
- package/web-app/dist/assets/{SettingsPage-DKpsst6x.js → SettingsPage-DP7OmdwP.js} +1 -1
- package/web-app/dist/assets/{ShowcasePage-qab065PM.js → ShowcasePage-BGS2jTGH.js} +1 -1
- package/web-app/dist/assets/{SystemSettingsPage-9qmEH2Y6.js → SystemSettingsPage-P_rlLh0x.js} +1 -1
- package/web-app/dist/assets/{TeamsPage-CW6lvW-0.js → TeamsPage-DxtBDcBC.js} +1 -1
- package/web-app/dist/assets/{TemplatesPage-B-a61T6a.js → TemplatesPage-5e-faH3W.js} +1 -1
- package/web-app/dist/assets/{TerminalOutput-CJy13rAn.js → TerminalOutput-togzv9Zl.js} +1 -1
- package/web-app/dist/assets/{activity-CA4moIvC.js → activity-Dreyb_Kr.js} +1 -1
- package/web-app/dist/assets/{bell-JyOeobLN.js → bell-DWH0drES.js} +1 -1
- package/web-app/dist/assets/{bot-Cu4UwP5w.js → bot-78MoCuDl.js} +1 -1
- package/web-app/dist/assets/{check-Drzd8-9c.js → check-ikfylPst.js} +1 -1
- package/web-app/dist/assets/{chevron-left-ClvdXm3Y.js → chevron-left-DXUqkd8J.js} +1 -1
- package/web-app/dist/assets/{circle-alert-CstyZfKG.js → circle-alert-Da74VO8P.js} +1 -1
- package/web-app/dist/assets/{clock-Bnz6tlQN.js → clock-mlGCFq8l.js} +1 -1
- package/web-app/dist/assets/{cloud-IPIgE4P3.js → cloud-B_Y5ZrIO.js} +1 -1
- package/web-app/dist/assets/{code-xml-BOZbQiOt.js → code-xml-Bbom7YWV.js} +1 -1
- package/web-app/dist/assets/{database-CHclPjog.js → database-CLcofiVp.js} +1 -1
- package/web-app/dist/assets/{dollar-sign-D6RFNgdZ.js → dollar-sign-C5mkjXIM.js} +1 -1
- package/web-app/dist/assets/{file-code-corner-CNayCvOY.js → file-code-corner-CVrkaOQP.js} +1 -1
- package/web-app/dist/assets/{file-plus-BmVfFwsX.js → file-plus-BV9240gX.js} +1 -1
- package/web-app/dist/assets/{folder-open-ChzGfLRr.js → folder-open-D_6yV78G.js} +1 -1
- package/web-app/dist/assets/{globe-DtXgCG3Z.js → globe-aZ0Zso4I.js} +1 -1
- package/web-app/dist/assets/{hammer-DCa0I_7V.js → hammer-EgOQNukG.js} +1 -1
- package/web-app/dist/assets/index-BSgmPwC0.css +1 -0
- package/web-app/dist/assets/{index-Cu-njJ8o.js → index-DvZ0Kk2x.js} +2 -2
- package/web-app/dist/assets/{layers-DxIhn7NZ.js → layers-BOVKmepE.js} +1 -1
- package/web-app/dist/assets/{lightbulb-D7Pzhd06.js → lightbulb-DdASgqOG.js} +1 -1
- package/web-app/dist/assets/{loader-circle-DXgc_u5I.js → loader-circle-0K8yLgHl.js} +1 -1
- package/web-app/dist/assets/{lock-qRAVU53b.js → lock-XzlDMy8M.js} +1 -1
- package/web-app/dist/assets/{mail-CHe3KyCw.js → mail-COu670_W.js} +1 -1
- package/web-app/dist/assets/{minus-B8p0FoYZ.js → minus-bQpUt9ff.js} +1 -1
- package/web-app/dist/assets/{package-C5LDn8SI.js → package-BtXTKusI.js} +1 -1
- package/web-app/dist/assets/{plus-CRd_FHOA.js → plus-PxeiD8ju.js} +1 -1
- package/web-app/dist/assets/{refresh-cw-DKoSN8s3.js → refresh-cw-CjqzYczt.js} +1 -1
- package/web-app/dist/assets/{rotate-ccw-Nf8zB8G0.js → rotate-ccw-CY0os4DH.js} +1 -1
- package/web-app/dist/assets/{save-B8ytQLgW.js → save-v8qep5cY.js} +1 -1
- package/web-app/dist/assets/{server-D_VRDkaD.js → server-pIIs9vNp.js} +1 -1
- package/web-app/dist/assets/{shield-alert-PsDkSyFD.js → shield-alert-CsDqKXwA.js} +1 -1
- package/web-app/dist/assets/{thumbs-up-Da1QQhqo.js → thumbs-up-CAh3HVzH.js} +1 -1
- package/web-app/dist/assets/{trash-2-ChoylpGQ.js → trash-2-Dt6urTyY.js} +1 -1
- package/web-app/dist/assets/{trending-down-CX2fUeho.js → trending-down-DrtBd_C9.js} +1 -1
- package/web-app/dist/assets/{trending-up-CGyYgZH7.js → trending-up-D-DbCHXm.js} +1 -1
- package/web-app/dist/assets/{upload-KkeVyg67.js → upload-D4l6DCOt.js} +1 -1
- package/web-app/dist/assets/{usePolling-C5f4xrXD.js → usePolling-D0aoTX80.js} +1 -1
- package/web-app/dist/assets/{user-WCGccIST.js → user-BQf_XJO_.js} +1 -1
- package/web-app/dist/index.html +2 -2
- package/web-app/dist/assets/index-D98GzaW8.css +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as $,j as e,r as u,x as D,h as P,i as R,u as z,a as E,n as L,l as M,E as A,f as _}from"./index-
|
|
1
|
+
import{c as $,j as e,r as u,x as D,h as P,i as R,u as z,a as E,n as L,l as M,E as A,f as _}from"./index-DvZ0Kk2x.js";import{B as C}from"./Button-BDp9aJ9q.js";import{B as U}from"./Badge-BF3mhT57.js";import{L as I}from"./lightbulb-DdASgqOG.js";import{T as O}from"./trending-up-D-DbCHXm.js";import{T as H}from"./trending-down-DrtBd_C9.js";import{M as Y}from"./minus-bQpUt9ff.js";import{u as q}from"./usePolling-D0aoTX80.js";import{R as G}from"./refresh-cw-CjqzYczt.js";import{P as S}from"./plus-PxeiD8ju.js";import{F as K,C as Q}from"./folder-open-D_6yV78G.js";import{T as V}from"./trash-2-Dt6urTyY.js";import"./clock-mlGCFq8l.js";import"./circle-alert-Da74VO8P.js";import"./check-ikfylPst.js";/**
|
|
2
2
|
* @license lucide-react v0.577.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as tt,j as e,r as t,y as fe,a as se,z as st,$ as at,K as nt,I as ot,n as it,E as lt}from"./index-
|
|
1
|
+
import{c as tt,j as e,r as t,y as fe,a as se,z as st,$ as at,K as nt,I as ot,n as it,E as lt}from"./index-DvZ0Kk2x.js";import{E as rt,R as ct}from"./rotate-ccw-CY0os4DH.js";import{H as dt}from"./hammer-EgOQNukG.js";import{C as ut}from"./cloud-B_Y5ZrIO.js";import{L as xt}from"./loader-circle-0K8yLgHl.js";import{C as mt}from"./check-ikfylPst.js";import{C as pt}from"./circle-alert-Da74VO8P.js";/**
|
|
2
2
|
* @license lucide-react v0.577.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e,r as c,h as m,i as p,X as h,u}from"./index-Cu-njJ8o.js";const x=[{label:"Q1 2026",period:"Jan - Mar",features:[{name:"Multi-provider support (5 providers)",status:"completed"},{name:"Memory system with vector search",status:"completed"},{name:"Purple Lab web UI",status:"completed"},{name:"Enterprise auth (OIDC, RBAC)",status:"completed"},{name:"Legacy system healing",status:"completed"}]},{label:"Q2 2026",period:"Apr - Jun",features:[{name:"Real-time collaboration (multi-user)",status:"in-progress"},{name:"Visual workflow builder",status:"in-progress"},{name:"Plugin marketplace",status:"planned"},{name:"Custom agent creation UI",status:"planned"}]},{label:"Q3 2026",period:"Jul - Sep",features:[{name:"Cloud deployment integration",status:"planned"},{name:"Team analytics dashboard",status:"planned"},{name:"AI-powered debugging assistant",status:"planned"},{name:"Mobile companion app",status:"planned"}]},{label:"Q4 2026",period:"Oct - Dec",features:[{name:"Multi-repo orchestration",status:"planned"},{name:"Custom model fine-tuning",status:"planned"},{name:"Compliance report generation",status:"planned"},{name:"On-prem cluster mode",status:"planned"}]}],l={completed:{dot:"bg-[#1FC5A8]",text:"text-[#36342E]",label:"Shipped"},"in-progress":{dot:"bg-[#553DE9]",text:"text-[#36342E]",label:"In Progress"},planned:{dot:"bg-[#939084]",text:"text-[#6B6960]",label:"Planned"}};function b(){return e.jsxs("div",{className:"py-8",children:[e.jsx("h3",{className:"text-xl font-bold text-[#36342E] mb-2",children:"Product Roadmap"}),e.jsx("p",{className:"text-sm text-[#6B6960] mb-8",children:"Where we have been and where we are heading."}),e.jsx("div",{className:"flex gap-6 mb-6",children:["completed","in-progress","planned"].map(t=>e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:`w-2.5 h-2.5 rounded-full ${l[t].dot}`}),e.jsx("span",{className:"text-[#6B6960]",children:l[t].label})]},t))}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute left-[7px] top-2 bottom-2 w-0.5 bg-[#ECEAE3]"}),e.jsx("div",{className:"space-y-8",children:x.map((t,i)=>e.jsxs("div",{className:"relative pl-8",children:[e.jsx("div",{className:`absolute left-0 top-1 w-[15px] h-[15px] rounded-full border-2 border-white shadow-sm ${i===0?"bg-[#1FC5A8]":i===1?"bg-[#553DE9]":"bg-[#ECEAE3]"}`}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-baseline gap-2 mb-3",children:[e.jsx("h4",{className:"text-base font-bold text-[#36342E]",children:t.label}),e.jsx("span",{className:"text-xs text-[#939084]",children:t.period}),i===1&&e.jsx("span",{className:"px-2 py-0.5 text-xs font-medium rounded-full bg-[#553DE9]/10 text-[#553DE9]",children:"Current"})]}),e.jsx("div",{className:"space-y-2",children:t.features.map(a=>{const s=l[a.status];return e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("span",{className:`w-2 h-2 rounded-full flex-shrink-0 ${s.dot}`}),e.jsx("span",{className:`text-sm ${s.text}`,children:a.name})]},a.name)})})]})]},t.label))})]})]})}const n=[{version:"6.71.1",date:"Mar 24, 2026",features:["BuildProgressBar server integration with cost, ETA, and phase data","Sprint 1 complete: BuildProgressBar, CommandPalette, dark mode, sidebar theme toggle","Quick-start API, dark mode prep, theme hook foundation"]},{version:"6.70.0",date:"Mar 22, 2026",features:["Embedded Loki Dashboard in Purple Lab workspace","Panel toggles, modern UI, bigger fonts, smooth transitions","Sprint 1 foundation with quick-start API"]},{version:"6.69.0",date:"Mar 20, 2026",features:["Purple Lab IDE workspace with Monaco editor","AI chat panel for iterative development","Activity panel with build log and quality gates"]}];function g(){const[t,i]=c.useState(!1),a=t?n:n.slice(0,2);return e.jsxs("div",{className:"bg-white border border-[#ECEAE3] rounded-xl p-4 shadow-sm",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsx("h4",{className:"text-sm font-bold text-[#36342E]",children:"Recent Changes"}),e.jsx("a",{href:"https://github.com/asklokesh/loki-mode/blob/main/CHANGELOG.md",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-[#553DE9] hover:text-[#4832c7] font-medium",children:"View all"})]}),e.jsx("div",{className:"space-y-3",children:a.map(s=>e.jsxs("div",{className:"pb-3 border-b border-[#ECEAE3] last:border-b-0 last:pb-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[e.jsxs("span",{className:"px-1.5 py-0.5 text-xs font-mono font-bold rounded bg-[#553DE9]/10 text-[#553DE9]",children:["v",s.version]}),e.jsx("span",{className:"text-xs text-[#939084]",children:s.date})]}),e.jsx("ul",{className:"space-y-1",children:s.features.map((r,o)=>e.jsx("li",{className:"text-xs text-[#6B6960] pl-3 relative before:content-[''] before:absolute before:left-0 before:top-[7px] before:w-1.5 before:h-1.5 before:rounded-full before:bg-[#ECEAE3]",children:r},o))})]},s.version))}),n.length>2&&e.jsxs("button",{onClick:()=>i(!t),className:"mt-2 flex items-center gap-1 text-xs text-[#6B6960] hover:text-[#36342E] transition-colors",children:[t?e.jsx(m,{size:12}):e.jsx(p,{size:12}),t?"Show less":`Show ${n.length-2} more`]})]})}const f={default:"bg-[#F8F4F0] text-[#36342E] border-[#ECEAE3] dark:bg-[#222228] dark:text-[#E8E6E3] dark:border-[#2A2A30]",primary:"bg-[#553DE9]/10 text-[#553DE9] border-[#553DE9]/20 dark:bg-[#553DE9]/20 dark:text-[#7B6BEF] dark:border-[#553DE9]/30",success:"bg-[#1FC5A8]/10 text-[#1FC5A8] border-[#1FC5A8]/20",warning:"bg-[#E5A940]/10 text-[#E5A940] border-[#E5A940]/20",danger:"bg-[#C45B5B]/10 text-[#C45B5B] border-[#C45B5B]/20",info:"bg-[#3B82F6]/10 text-[#3B82F6] border-[#3B82F6]/20"};function E({label:t,color:i="default",removable:a=!1,onClick:s,onRemove:r,className:o=""}){return e.jsxs("span",{className:`inline-flex items-center gap-1 px-2.5 py-0.5 text-xs font-medium rounded-full border transition-colors ${f[i]} ${s?"cursor-pointer hover:opacity-80":""} ${o}`,onClick:s,role:s?"button":void 0,children:[t,a&&e.jsx("button",{type:"button",onClick:d=>{d.stopPropagation(),r==null||r()},className:"inline-flex items-center justify-center w-3.5 h-3.5 rounded-full hover:bg-black/10 dark:hover:bg-white/10 transition-colors","aria-label":`Remove ${t}`,children:e.jsx(h,{size:10})})]})}const w=[{title:"SaaS Dashboard",description:"Admin dashboard with user analytics, charts, and real-time data visualization.",techStack:["React","Tailwind","Chart.js"],buildTime:"~25 min",gradient:"from-[#553DE9] to-[#7B6BEF]",prompt:"Build a SaaS admin dashboard with user analytics, charts showing MRR and churn, and a table of recent signups"},{title:"REST API Server",description:"Production-ready API with authentication, validation, and database integration.",techStack:["Node.js","Express","PostgreSQL"],buildTime:"~20 min",gradient:"from-[#1FC5A8] to-[#38D9A9]",prompt:"Build a REST API server with JWT authentication, user CRUD, input validation, and PostgreSQL database"},{title:"E-commerce Store",description:"Online store with product catalog, cart, checkout, and payment integration.",techStack:["Next.js","Stripe","Prisma"],buildTime:"~45 min",gradient:"from-[#E93D82] to-[#F06595]",prompt:"Build an e-commerce store with product listings, shopping cart, Stripe checkout, and order management"},{title:"Portfolio Website",description:"Personal portfolio with animations, project showcase, and contact form.",techStack:["React","Framer Motion","Tailwind"],buildTime:"~15 min",gradient:"from-[#F59F00] to-[#FCC419]",prompt:"Build a developer portfolio website with animated sections, project gallery, skills list, and contact form"},{title:"CLI Tool",description:"Command-line tool with subcommands, flags, configuration, and colorful output.",techStack:["Node.js","Commander","Chalk"],buildTime:"~15 min",gradient:"from-[#36342E] to-[#6B6960]",prompt:"Build a CLI tool with subcommands for file management: list, copy, move, and search with glob patterns"},{title:"Discord Bot",description:"Interactive bot with slash commands, moderation, and custom responses.",techStack:["Discord.js","Node.js","SQLite"],buildTime:"~20 min",gradient:"from-[#5865F2] to-[#7289DA]",prompt:"Build a Discord bot with slash commands for polls, reminders, moderation (kick/ban), and a leveling system"},{title:"Blog Platform",description:"Full-featured blog with markdown support, categories, and RSS feed.",techStack:["React","MDX","Tailwind"],buildTime:"~30 min",gradient:"from-[#845EF7] to-[#B197FC]",prompt:"Build a blog platform with MDX support, category filtering, search, RSS feed, and a clean reading experience"},{title:"Task Manager",description:"Kanban-style task board with drag-and-drop, labels, and persistence.",techStack:["React","DnD Kit","SQLite"],buildTime:"~25 min",gradient:"from-[#2F71E3] to-[#5C93E8]",prompt:"Build a task manager with kanban board, drag-and-drop cards, labels, due dates, and local SQLite storage"},{title:"Weather App",description:"Weather dashboard with location search, forecasts, and beautiful visualizations.",techStack:["React","OpenWeatherMap","Chart.js"],buildTime:"~15 min",gradient:"from-[#0EA5E9] to-[#38BDF8]",prompt:"Build a weather app with city search, 5-day forecast, current conditions, and temperature charts"},{title:"Chat Application",description:"Real-time chat with rooms, typing indicators, and message history.",techStack:["React","WebSocket","Node.js"],buildTime:"~30 min",gradient:"from-[#22C55E] to-[#4ADE80]",prompt:"Build a real-time chat application with chat rooms, user presence, typing indicators, and message history"},{title:"Landing Page",description:"Conversion-optimized landing page with hero, features, pricing, and CTA sections.",techStack:["HTML","Tailwind","Alpine.js"],buildTime:"~10 min",gradient:"from-[#F97316] to-[#FB923C]",prompt:"Build a SaaS landing page with hero section, feature grid, pricing table, testimonials, and email signup"},{title:"Mobile App",description:"Cross-platform mobile app with navigation, state management, and native features.",techStack:["React Native","Expo","TypeScript"],buildTime:"~35 min",gradient:"from-[#DC2626] to-[#F87171]",prompt:"Build a React Native mobile app with tab navigation, a home feed, profile page, and push notifications setup"}];function j(){const t=u(),i=a=>{sessionStorage.setItem("pl_showcase_prompt",a),t("/")};return e.jsx("div",{className:"min-h-screen bg-[#FAF9F6]",children:e.jsxs("div",{className:"max-w-6xl mx-auto px-6 py-8",children:[e.jsxs("div",{className:"mb-8",children:[e.jsx("h1",{className:"text-2xl font-bold text-[#36342E]",children:"Showcase"}),e.jsx("p",{className:"text-[#6B6960] mt-1",children:'Explore example projects you can build with Loki Mode. Click "Build This" to start any project instantly.'})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5",children:w.map(a=>e.jsxs("div",{className:"bg-white border border-[#ECEAE3] rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-shadow flex flex-col",children:[e.jsx("div",{className:`h-28 bg-gradient-to-br ${a.gradient} flex items-end p-4`,children:e.jsx("h3",{className:"text-lg font-bold text-white drop-shadow-sm",children:a.title})}),e.jsxs("div",{className:"p-4 flex-1 flex flex-col",children:[e.jsx("p",{className:"text-sm text-[#6B6960] mb-3",children:a.description}),e.jsx("div",{className:"flex flex-wrap gap-1.5 mb-3",children:a.techStack.map(s=>e.jsx(E,{label:s,color:"default"},s))}),e.jsxs("div",{className:"mt-auto pt-3 border-t border-[#ECEAE3] flex items-center justify-between",children:[e.jsxs("span",{className:"text-xs text-[#939084]",children:["Est. ",a.buildTime]}),e.jsx("button",{onClick:()=>i(a.prompt),className:"px-4 py-1.5 text-sm font-semibold rounded-lg bg-[#553DE9] text-white hover:bg-[#4832c7] transition-colors",children:"Build This"})]})]})]},a.title))}),e.jsx("div",{className:"mt-12",children:e.jsx(b,{})}),e.jsx("div",{className:"mt-8 max-w-md",children:e.jsx(g,{})})]})})}export{j as default};
|
|
1
|
+
import{j as e,r as c,h as m,i as p,X as h,u}from"./index-DvZ0Kk2x.js";const x=[{label:"Q1 2026",period:"Jan - Mar",features:[{name:"Multi-provider support (5 providers)",status:"completed"},{name:"Memory system with vector search",status:"completed"},{name:"Purple Lab web UI",status:"completed"},{name:"Enterprise auth (OIDC, RBAC)",status:"completed"},{name:"Legacy system healing",status:"completed"}]},{label:"Q2 2026",period:"Apr - Jun",features:[{name:"Real-time collaboration (multi-user)",status:"in-progress"},{name:"Visual workflow builder",status:"in-progress"},{name:"Plugin marketplace",status:"planned"},{name:"Custom agent creation UI",status:"planned"}]},{label:"Q3 2026",period:"Jul - Sep",features:[{name:"Cloud deployment integration",status:"planned"},{name:"Team analytics dashboard",status:"planned"},{name:"AI-powered debugging assistant",status:"planned"},{name:"Mobile companion app",status:"planned"}]},{label:"Q4 2026",period:"Oct - Dec",features:[{name:"Multi-repo orchestration",status:"planned"},{name:"Custom model fine-tuning",status:"planned"},{name:"Compliance report generation",status:"planned"},{name:"On-prem cluster mode",status:"planned"}]}],l={completed:{dot:"bg-[#1FC5A8]",text:"text-[#36342E]",label:"Shipped"},"in-progress":{dot:"bg-[#553DE9]",text:"text-[#36342E]",label:"In Progress"},planned:{dot:"bg-[#939084]",text:"text-[#6B6960]",label:"Planned"}};function b(){return e.jsxs("div",{className:"py-8",children:[e.jsx("h3",{className:"text-xl font-bold text-[#36342E] mb-2",children:"Product Roadmap"}),e.jsx("p",{className:"text-sm text-[#6B6960] mb-8",children:"Where we have been and where we are heading."}),e.jsx("div",{className:"flex gap-6 mb-6",children:["completed","in-progress","planned"].map(t=>e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:`w-2.5 h-2.5 rounded-full ${l[t].dot}`}),e.jsx("span",{className:"text-[#6B6960]",children:l[t].label})]},t))}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute left-[7px] top-2 bottom-2 w-0.5 bg-[#ECEAE3]"}),e.jsx("div",{className:"space-y-8",children:x.map((t,i)=>e.jsxs("div",{className:"relative pl-8",children:[e.jsx("div",{className:`absolute left-0 top-1 w-[15px] h-[15px] rounded-full border-2 border-white shadow-sm ${i===0?"bg-[#1FC5A8]":i===1?"bg-[#553DE9]":"bg-[#ECEAE3]"}`}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-baseline gap-2 mb-3",children:[e.jsx("h4",{className:"text-base font-bold text-[#36342E]",children:t.label}),e.jsx("span",{className:"text-xs text-[#939084]",children:t.period}),i===1&&e.jsx("span",{className:"px-2 py-0.5 text-xs font-medium rounded-full bg-[#553DE9]/10 text-[#553DE9]",children:"Current"})]}),e.jsx("div",{className:"space-y-2",children:t.features.map(a=>{const s=l[a.status];return e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("span",{className:`w-2 h-2 rounded-full flex-shrink-0 ${s.dot}`}),e.jsx("span",{className:`text-sm ${s.text}`,children:a.name})]},a.name)})})]})]},t.label))})]})]})}const n=[{version:"6.71.1",date:"Mar 24, 2026",features:["BuildProgressBar server integration with cost, ETA, and phase data","Sprint 1 complete: BuildProgressBar, CommandPalette, dark mode, sidebar theme toggle","Quick-start API, dark mode prep, theme hook foundation"]},{version:"6.70.0",date:"Mar 22, 2026",features:["Embedded Loki Dashboard in Purple Lab workspace","Panel toggles, modern UI, bigger fonts, smooth transitions","Sprint 1 foundation with quick-start API"]},{version:"6.69.0",date:"Mar 20, 2026",features:["Purple Lab IDE workspace with Monaco editor","AI chat panel for iterative development","Activity panel with build log and quality gates"]}];function g(){const[t,i]=c.useState(!1),a=t?n:n.slice(0,2);return e.jsxs("div",{className:"bg-white border border-[#ECEAE3] rounded-xl p-4 shadow-sm",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsx("h4",{className:"text-sm font-bold text-[#36342E]",children:"Recent Changes"}),e.jsx("a",{href:"https://github.com/asklokesh/loki-mode/blob/main/CHANGELOG.md",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-[#553DE9] hover:text-[#4832c7] font-medium",children:"View all"})]}),e.jsx("div",{className:"space-y-3",children:a.map(s=>e.jsxs("div",{className:"pb-3 border-b border-[#ECEAE3] last:border-b-0 last:pb-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[e.jsxs("span",{className:"px-1.5 py-0.5 text-xs font-mono font-bold rounded bg-[#553DE9]/10 text-[#553DE9]",children:["v",s.version]}),e.jsx("span",{className:"text-xs text-[#939084]",children:s.date})]}),e.jsx("ul",{className:"space-y-1",children:s.features.map((r,o)=>e.jsx("li",{className:"text-xs text-[#6B6960] pl-3 relative before:content-[''] before:absolute before:left-0 before:top-[7px] before:w-1.5 before:h-1.5 before:rounded-full before:bg-[#ECEAE3]",children:r},o))})]},s.version))}),n.length>2&&e.jsxs("button",{onClick:()=>i(!t),className:"mt-2 flex items-center gap-1 text-xs text-[#6B6960] hover:text-[#36342E] transition-colors",children:[t?e.jsx(m,{size:12}):e.jsx(p,{size:12}),t?"Show less":`Show ${n.length-2} more`]})]})}const f={default:"bg-[#F8F4F0] text-[#36342E] border-[#ECEAE3] dark:bg-[#222228] dark:text-[#E8E6E3] dark:border-[#2A2A30]",primary:"bg-[#553DE9]/10 text-[#553DE9] border-[#553DE9]/20 dark:bg-[#553DE9]/20 dark:text-[#7B6BEF] dark:border-[#553DE9]/30",success:"bg-[#1FC5A8]/10 text-[#1FC5A8] border-[#1FC5A8]/20",warning:"bg-[#E5A940]/10 text-[#E5A940] border-[#E5A940]/20",danger:"bg-[#C45B5B]/10 text-[#C45B5B] border-[#C45B5B]/20",info:"bg-[#3B82F6]/10 text-[#3B82F6] border-[#3B82F6]/20"};function E({label:t,color:i="default",removable:a=!1,onClick:s,onRemove:r,className:o=""}){return e.jsxs("span",{className:`inline-flex items-center gap-1 px-2.5 py-0.5 text-xs font-medium rounded-full border transition-colors ${f[i]} ${s?"cursor-pointer hover:opacity-80":""} ${o}`,onClick:s,role:s?"button":void 0,children:[t,a&&e.jsx("button",{type:"button",onClick:d=>{d.stopPropagation(),r==null||r()},className:"inline-flex items-center justify-center w-3.5 h-3.5 rounded-full hover:bg-black/10 dark:hover:bg-white/10 transition-colors","aria-label":`Remove ${t}`,children:e.jsx(h,{size:10})})]})}const w=[{title:"SaaS Dashboard",description:"Admin dashboard with user analytics, charts, and real-time data visualization.",techStack:["React","Tailwind","Chart.js"],buildTime:"~25 min",gradient:"from-[#553DE9] to-[#7B6BEF]",prompt:"Build a SaaS admin dashboard with user analytics, charts showing MRR and churn, and a table of recent signups"},{title:"REST API Server",description:"Production-ready API with authentication, validation, and database integration.",techStack:["Node.js","Express","PostgreSQL"],buildTime:"~20 min",gradient:"from-[#1FC5A8] to-[#38D9A9]",prompt:"Build a REST API server with JWT authentication, user CRUD, input validation, and PostgreSQL database"},{title:"E-commerce Store",description:"Online store with product catalog, cart, checkout, and payment integration.",techStack:["Next.js","Stripe","Prisma"],buildTime:"~45 min",gradient:"from-[#E93D82] to-[#F06595]",prompt:"Build an e-commerce store with product listings, shopping cart, Stripe checkout, and order management"},{title:"Portfolio Website",description:"Personal portfolio with animations, project showcase, and contact form.",techStack:["React","Framer Motion","Tailwind"],buildTime:"~15 min",gradient:"from-[#F59F00] to-[#FCC419]",prompt:"Build a developer portfolio website with animated sections, project gallery, skills list, and contact form"},{title:"CLI Tool",description:"Command-line tool with subcommands, flags, configuration, and colorful output.",techStack:["Node.js","Commander","Chalk"],buildTime:"~15 min",gradient:"from-[#36342E] to-[#6B6960]",prompt:"Build a CLI tool with subcommands for file management: list, copy, move, and search with glob patterns"},{title:"Discord Bot",description:"Interactive bot with slash commands, moderation, and custom responses.",techStack:["Discord.js","Node.js","SQLite"],buildTime:"~20 min",gradient:"from-[#5865F2] to-[#7289DA]",prompt:"Build a Discord bot with slash commands for polls, reminders, moderation (kick/ban), and a leveling system"},{title:"Blog Platform",description:"Full-featured blog with markdown support, categories, and RSS feed.",techStack:["React","MDX","Tailwind"],buildTime:"~30 min",gradient:"from-[#845EF7] to-[#B197FC]",prompt:"Build a blog platform with MDX support, category filtering, search, RSS feed, and a clean reading experience"},{title:"Task Manager",description:"Kanban-style task board with drag-and-drop, labels, and persistence.",techStack:["React","DnD Kit","SQLite"],buildTime:"~25 min",gradient:"from-[#2F71E3] to-[#5C93E8]",prompt:"Build a task manager with kanban board, drag-and-drop cards, labels, due dates, and local SQLite storage"},{title:"Weather App",description:"Weather dashboard with location search, forecasts, and beautiful visualizations.",techStack:["React","OpenWeatherMap","Chart.js"],buildTime:"~15 min",gradient:"from-[#0EA5E9] to-[#38BDF8]",prompt:"Build a weather app with city search, 5-day forecast, current conditions, and temperature charts"},{title:"Chat Application",description:"Real-time chat with rooms, typing indicators, and message history.",techStack:["React","WebSocket","Node.js"],buildTime:"~30 min",gradient:"from-[#22C55E] to-[#4ADE80]",prompt:"Build a real-time chat application with chat rooms, user presence, typing indicators, and message history"},{title:"Landing Page",description:"Conversion-optimized landing page with hero, features, pricing, and CTA sections.",techStack:["HTML","Tailwind","Alpine.js"],buildTime:"~10 min",gradient:"from-[#F97316] to-[#FB923C]",prompt:"Build a SaaS landing page with hero section, feature grid, pricing table, testimonials, and email signup"},{title:"Mobile App",description:"Cross-platform mobile app with navigation, state management, and native features.",techStack:["React Native","Expo","TypeScript"],buildTime:"~35 min",gradient:"from-[#DC2626] to-[#F87171]",prompt:"Build a React Native mobile app with tab navigation, a home feed, profile page, and push notifications setup"}];function j(){const t=u(),i=a=>{sessionStorage.setItem("pl_showcase_prompt",a),t("/")};return e.jsx("div",{className:"min-h-screen bg-[#FAF9F6]",children:e.jsxs("div",{className:"max-w-6xl mx-auto px-6 py-8",children:[e.jsxs("div",{className:"mb-8",children:[e.jsx("h1",{className:"text-2xl font-bold text-[#36342E]",children:"Showcase"}),e.jsx("p",{className:"text-[#6B6960] mt-1",children:'Explore example projects you can build with Loki Mode. Click "Build This" to start any project instantly.'})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5",children:w.map(a=>e.jsxs("div",{className:"bg-white border border-[#ECEAE3] rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-shadow flex flex-col",children:[e.jsx("div",{className:`h-28 bg-gradient-to-br ${a.gradient} flex items-end p-4`,children:e.jsx("h3",{className:"text-lg font-bold text-white drop-shadow-sm",children:a.title})}),e.jsxs("div",{className:"p-4 flex-1 flex flex-col",children:[e.jsx("p",{className:"text-sm text-[#6B6960] mb-3",children:a.description}),e.jsx("div",{className:"flex flex-wrap gap-1.5 mb-3",children:a.techStack.map(s=>e.jsx(E,{label:s,color:"default"},s))}),e.jsxs("div",{className:"mt-auto pt-3 border-t border-[#ECEAE3] flex items-center justify-between",children:[e.jsxs("span",{className:"text-xs text-[#939084]",children:["Est. ",a.buildTime]}),e.jsx("button",{onClick:()=>i(a.prompt),className:"px-4 py-1.5 text-sm font-semibold rounded-lg bg-[#553DE9] text-white hover:bg-[#4832c7] transition-colors",children:"Build This"})]})]})]},a.title))}),e.jsx("div",{className:"mt-12",children:e.jsx(b,{})}),e.jsx("div",{className:"mt-8 max-w-md",children:e.jsx(g,{})})]})})}export{j as default};
|
package/web-app/dist/assets/{SystemSettingsPage-9qmEH2Y6.js → SystemSettingsPage-P_rlLh0x.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a0 as p,r as c,j as e,x as g,y as f,T as j}from"./index-Cu-njJ8o.js";import{B as u}from"./Button-CFzTTVeJ.js";import{S as k}from"./server-D_VRDkaD.js";import{H as A}from"./hammer-DCa0I_7V.js";import{B as v}from"./bell-JyOeobLN.js";import{D as y}from"./database-CHclPjog.js";import{S as N}from"./shield-alert-PsDkSyFD.js";import{E as C,R as S}from"./rotate-ccw-Nf8zB8G0.js";import{C as E}from"./check-Drzd8-9c.js";import{S as h}from"./save-B8ytQLgW.js";const w=[{id:"claude",name:"Claude",apiKeySet:!0,model:"claude-opus-4-7",fallbackOrder:1,enabled:!0},{id:"codex",name:"Codex",apiKeySet:!1,model:"gpt-5.3-codex",fallbackOrder:2,enabled:!0},{id:"gemini",name:"Gemini",apiKeySet:!1,model:"gemini-3-pro-medium",fallbackOrder:3,enabled:!1}],D={maxIterations:25,timeoutMinutes:60,qualityGateThreshold:80,autoReview:!0,parallelAgents:3},B={sessionTimeoutMinutes:30,allowedOrigins:"*",rateLimitPerMinute:100,requireMFA:!1,ipAllowlist:""},T={emailEnabled:!1,emailAddress:"",browserEnabled:!0,slackEnabled:!1,slackWebhookUrl:"",notifyOnBuildComplete:!0,notifyOnBuildFailure:!0,notifyOnBudgetAlert:!0,notifyOnSecurityEvent:!0},I={logRetentionDays:30,auditRetentionDays:365,sessionRetentionDays:90,autoCleanupEnabled:!0,lastCleanup:new Date(Date.now()-864e5).toISOString()};function R(){const[s,o]=c.useState(w),[n,r]=c.useState({}),[l,d]=c.useState(!1),t=()=>{d(!0),setTimeout(()=>d(!1),2e3)};return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-xs text-[#6B6960]",children:"Configure AI provider API keys, model preferences, and fallback chain."}),s.map((a,i)=>e.jsxs("div",{className:"border border-[#ECEAE3] dark:border-[#2A2A30] rounded-lg p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"w-6 h-6 rounded-full bg-[#553DE9]/10 flex items-center justify-center text-xs font-bold text-[#553DE9]",children:a.fallbackOrder}),e.jsx("span",{className:"text-sm font-medium text-[#201515] dark:text-[#E8E6E3]",children:a.name}),a.apiKeySet&&e.jsx("span",{className:"px-1.5 py-0.5 rounded text-[10px] font-medium bg-[#1FC5A8]/10 text-[#1FC5A8]",children:"Configured"})]}),e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("span",{className:"text-xs text-[#939084]",children:a.enabled?"Enabled":"Disabled"}),e.jsx("input",{type:"checkbox",checked:a.enabled,onChange:m=>{const x=[...s];x[i]={...x[i],enabled:m.target.checked},o(x)},className:"rounded border-[#ECEAE3] text-[#553DE9] focus:ring-[#553DE9]"})]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"API Key"}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:n[a.id]?"text":"password",value:a.apiKeySet?"sk-****************************":"",placeholder:"Enter API key...",className:"w-full px-3 py-2 pr-10 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3] placeholder-[#939084] font-mono",readOnly:!0}),e.jsx("button",{onClick:()=>r(m=>({...m,[a.id]:!m[a.id]})),className:"absolute right-3 top-1/2 -translate-y-1/2 text-[#939084] hover:text-[#36342E]",children:n[a.id]?e.jsx(C,{size:14}):e.jsx(f,{size:14})})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Model"}),e.jsx("input",{value:a.model,onChange:m=>{const x=[...s];x[i]={...x[i],model:m.target.value},o(x)},className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3] font-mono"})]})]})]},a.id)),e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(u,{size:"sm",icon:l?E:h,onClick:t,children:l?"Saved":"Save Provider Config"})})]})}function F(){const[s,o]=c.useState(D),[n,r]=c.useState(!1),l=(t,a)=>{o(i=>({...i,[t]:a}))},d=()=>{r(!0),setTimeout(()=>r(!1),2e3)};return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-xs text-[#6B6960]",children:"Default settings for new builds. Individual projects can override these."}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Max Iterations"}),e.jsx("input",{type:"number",value:s.maxIterations,onChange:t=>l("maxIterations",parseInt(t.target.value)||0),min:1,max:100,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Timeout (minutes)"}),e.jsx("input",{type:"number",value:s.timeoutMinutes,onChange:t=>l("timeoutMinutes",parseInt(t.target.value)||0),min:5,max:480,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Quality Gate Threshold (%)"}),e.jsx("input",{type:"number",value:s.qualityGateThreshold,onChange:t=>l("qualityGateThreshold",parseInt(t.target.value)||0),min:0,max:100,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"}),e.jsx("div",{className:"mt-1 h-1.5 bg-[#F8F4F0] dark:bg-[#1A1A1E] rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full rounded-full transition-all",style:{width:`${s.qualityGateThreshold}%`,background:s.qualityGateThreshold>=80?"#1FC5A8":s.qualityGateThreshold>=60?"#F59E0B":"#C45B5B"}})})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Parallel Agents"}),e.jsx("input",{type:"number",value:s.parallelAgents,onChange:t=>l("parallelAgents",parseInt(t.target.value)||1),min:1,max:10,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"})]})]}),e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:s.autoReview,onChange:t=>l("autoReview",t.target.checked),className:"rounded border-[#ECEAE3] text-[#553DE9] focus:ring-[#553DE9]"}),e.jsx("span",{className:"text-sm text-[#201515] dark:text-[#E8E6E3]",children:"Auto-run code review after each build"})]}),e.jsx(u,{size:"sm",icon:n?E:h,onClick:d,children:n?"Saved":"Save Build Defaults"})]})}function O(){const[s,o]=c.useState(B),[n,r]=c.useState(!1),l=(t,a)=>{o(i=>({...i,[t]:a}))},d=()=>{r(!0),setTimeout(()=>r(!1),2e3)};return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-xs text-[#6B6960]",children:"Security settings for session management, rate limiting, and access control."}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Session Timeout (minutes)"}),e.jsx("input",{type:"number",value:s.sessionTimeoutMinutes,onChange:t=>l("sessionTimeoutMinutes",parseInt(t.target.value)||0),min:5,max:1440,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Rate Limit (requests/minute)"}),e.jsx("input",{type:"number",value:s.rateLimitPerMinute,onChange:t=>l("rateLimitPerMinute",parseInt(t.target.value)||0),min:10,max:1e4,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Allowed Origins"}),e.jsx("input",{type:"text",value:s.allowedOrigins,onChange:t=>l("allowedOrigins",t.target.value),placeholder:"* or comma-separated origins",className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3] placeholder-[#939084] font-mono"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"IP Allowlist"}),e.jsx("input",{type:"text",value:s.ipAllowlist,onChange:t=>l("ipAllowlist",t.target.value),placeholder:"Leave empty for no restriction",className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3] placeholder-[#939084] font-mono"})]})]}),e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:s.requireMFA,onChange:t=>l("requireMFA",t.target.checked),className:"rounded border-[#ECEAE3] text-[#553DE9] focus:ring-[#553DE9]"}),e.jsx("span",{className:"text-sm text-[#201515] dark:text-[#E8E6E3]",children:"Require MFA for all users"}),!s.requireMFA&&e.jsxs("span",{className:"text-xs text-[#F59E0B] flex items-center gap-1",children:[e.jsx(j,{size:12}),"Not recommended for production"]})]}),e.jsx(u,{size:"sm",icon:n?E:h,onClick:d,children:n?"Saved":"Save Security Settings"})]})}function M(){const[s,o]=c.useState(T),[n,r]=c.useState(!1),l=(t,a)=>{o(i=>({...i,[t]:a}))},d=()=>{r(!0),setTimeout(()=>r(!1),2e3)};return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-xs text-[#6B6960]",children:"Configure how and when you receive notifications about system events."}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h4",{className:"text-xs font-semibold text-[#6B6960] uppercase tracking-wider",children:"Channels"}),e.jsxs("div",{className:"border border-[#ECEAE3] dark:border-[#2A2A30] rounded-lg divide-y divide-[#ECEAE3] dark:divide-[#2A2A30]",children:[e.jsxs("div",{className:"p-3 flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-[#201515] dark:text-[#E8E6E3]",children:"Browser Notifications"}),e.jsx("p",{className:"text-xs text-[#939084]",children:"Show desktop notifications"})]}),e.jsx("input",{type:"checkbox",checked:s.browserEnabled,onChange:t=>l("browserEnabled",t.target.checked),className:"rounded border-[#ECEAE3] text-[#553DE9] focus:ring-[#553DE9]"})]}),e.jsxs("div",{className:"p-3 space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-[#201515] dark:text-[#E8E6E3]",children:"Email Notifications"}),e.jsx("p",{className:"text-xs text-[#939084]",children:"Send email for important events"})]}),e.jsx("input",{type:"checkbox",checked:s.emailEnabled,onChange:t=>l("emailEnabled",t.target.checked),className:"rounded border-[#ECEAE3] text-[#553DE9] focus:ring-[#553DE9]"})]}),s.emailEnabled&&e.jsx("input",{type:"email",value:s.emailAddress,onChange:t=>l("emailAddress",t.target.value),placeholder:"notifications@company.com",className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3] placeholder-[#939084]"})]}),e.jsxs("div",{className:"p-3 space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-[#201515] dark:text-[#E8E6E3]",children:"Slack Webhook"}),e.jsx("p",{className:"text-xs text-[#939084]",children:"Post to a Slack channel"})]}),e.jsx("input",{type:"checkbox",checked:s.slackEnabled,onChange:t=>l("slackEnabled",t.target.checked),className:"rounded border-[#ECEAE3] text-[#553DE9] focus:ring-[#553DE9]"})]}),s.slackEnabled&&e.jsx("input",{type:"url",value:s.slackWebhookUrl,onChange:t=>l("slackWebhookUrl",t.target.value),placeholder:"https://hooks.slack.com/services/...",className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3] placeholder-[#939084] font-mono"})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h4",{className:"text-xs font-semibold text-[#6B6960] uppercase tracking-wider",children:"Events"}),e.jsx("div",{className:"border border-[#ECEAE3] dark:border-[#2A2A30] rounded-lg divide-y divide-[#ECEAE3] dark:divide-[#2A2A30]",children:[{key:"notifyOnBuildComplete",label:"Build Complete",desc:"When a build finishes successfully"},{key:"notifyOnBuildFailure",label:"Build Failure",desc:"When a build fails or times out"},{key:"notifyOnBudgetAlert",label:"Budget Alert",desc:"When spending approaches the limit"},{key:"notifyOnSecurityEvent",label:"Security Event",desc:"Login from new device, key rotation, etc."}].map(t=>e.jsxs("div",{className:"p-3 flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-[#201515] dark:text-[#E8E6E3]",children:t.label}),e.jsx("p",{className:"text-xs text-[#939084]",children:t.desc})]}),e.jsx("input",{type:"checkbox",checked:s[t.key],onChange:a=>l(t.key,a.target.checked),className:"rounded border-[#ECEAE3] text-[#553DE9] focus:ring-[#553DE9]"})]},t.key))})]}),e.jsx(u,{size:"sm",icon:n?E:h,onClick:d,children:n?"Saved":"Save Notifications"})]})}function L(){const[s,o]=c.useState(I),[n,r]=c.useState(!1),l=(t,a)=>{o(i=>({...i,[t]:a}))},d=()=>{r(!0),setTimeout(()=>r(!1),2e3)};return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-xs text-[#6B6960]",children:"Configure how long different types of data are retained before automatic cleanup."}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Log Retention (days)"}),e.jsx("input",{type:"number",value:s.logRetentionDays,onChange:t=>l("logRetentionDays",parseInt(t.target.value)||0),min:7,max:365,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Audit Retention (days)"}),e.jsx("input",{type:"number",value:s.auditRetentionDays,onChange:t=>l("auditRetentionDays",parseInt(t.target.value)||0),min:30,max:3650,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Session Retention (days)"}),e.jsx("input",{type:"number",value:s.sessionRetentionDays,onChange:t=>l("sessionRetentionDays",parseInt(t.target.value)||0),min:7,max:365,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"})]})]}),e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:s.autoCleanupEnabled,onChange:t=>l("autoCleanupEnabled",t.target.checked),className:"rounded border-[#ECEAE3] text-[#553DE9] focus:ring-[#553DE9]"}),e.jsx("span",{className:"text-sm text-[#201515] dark:text-[#E8E6E3]",children:"Enable automatic cleanup"})]}),s.lastCleanup&&e.jsxs("p",{className:"text-xs text-[#939084]",children:["Last cleanup: ",new Date(s.lastCleanup).toLocaleString()]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(u,{size:"sm",icon:n?E:h,onClick:d,children:n?"Saved":"Save Retention Settings"}),e.jsx(u,{size:"sm",variant:"ghost",icon:S,children:"Run Cleanup Now"})]})]})}const b=[{id:"providers",label:"Providers",icon:k},{id:"builds",label:"Build Defaults",icon:A},{id:"security",label:"Security",icon:g},{id:"notifications",label:"Notifications",icon:v},{id:"retention",label:"Data Retention",icon:y}];function P(){return e.jsxs("div",{className:"max-w-[500px] mx-auto px-6 py-20 text-center",children:[e.jsx(N,{size:48,className:"mx-auto text-[#C45B5B] mb-4"}),e.jsx("h1",{className:"font-heading text-h1 text-[#36342E] dark:text-[#E8E6E3] mb-2",children:"Access Denied"}),e.jsx("p",{className:"text-sm text-[#6B6960]",children:"You do not have permission to access system settings. Contact your organization administrator for access."})]})}function Q(){var d,t;const{user:s,isLocalMode:o}=p(),[n,r]=c.useState("providers");return o||(s==null?void 0:s.authenticated)===!0?e.jsxs("div",{className:"max-w-[1000px] mx-auto px-6 py-8",children:[e.jsx("h1",{className:"font-heading text-h1 text-[#36342E] dark:text-[#E8E6E3] mb-6",children:"System Settings"}),e.jsxs("div",{className:"flex gap-6",children:[e.jsx("nav",{className:"w-48 flex-shrink-0 space-y-1",children:b.map(a=>e.jsxs("button",{onClick:()=>r(a.id),className:`w-full flex items-center gap-2 px-3 py-2 text-sm rounded-lg text-left transition-colors ${n===a.id?"bg-[#553DE9]/8 text-[#553DE9] font-medium":"text-[#6B6960] hover:bg-[#F8F4F0] dark:hover:bg-[#222228] hover:text-[#36342E] dark:hover:text-[#E8E6E3]"}`,children:[e.jsx(a.icon,{size:16}),a.label]},a.id))}),e.jsx("div",{className:"flex-1 min-w-0",children:e.jsxs("div",{className:"card p-6",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[((d=b.find(a=>a.id===n))==null?void 0:d.icon)&&(()=>{const a=b.find(i=>i.id===n).icon;return e.jsx(a,{size:18,className:"text-[#553DE9]"})})(),e.jsx("h2",{className:"text-sm font-semibold text-[#201515] dark:text-[#E8E6E3] uppercase tracking-wider",children:(t=b.find(a=>a.id===n))==null?void 0:t.label})]}),n==="providers"&&e.jsx(R,{}),n==="builds"&&e.jsx(F,{}),n==="security"&&e.jsx(O,{}),n==="notifications"&&e.jsx(M,{}),n==="retention"&&e.jsx(L,{})]})})]})]}):e.jsx(P,{})}export{Q as default};
|
|
1
|
+
import{a0 as p,r as c,j as e,x as g,y as f,T as j}from"./index-DvZ0Kk2x.js";import{B as u}from"./Button-BDp9aJ9q.js";import{S as k}from"./server-pIIs9vNp.js";import{H as A}from"./hammer-EgOQNukG.js";import{B as v}from"./bell-DWH0drES.js";import{D as y}from"./database-CLcofiVp.js";import{S as N}from"./shield-alert-CsDqKXwA.js";import{E as C,R as S}from"./rotate-ccw-CY0os4DH.js";import{C as E}from"./check-ikfylPst.js";import{S as h}from"./save-v8qep5cY.js";const w=[{id:"claude",name:"Claude",apiKeySet:!0,model:"claude-opus-4-7",fallbackOrder:1,enabled:!0},{id:"codex",name:"Codex",apiKeySet:!1,model:"gpt-5.3-codex",fallbackOrder:2,enabled:!0},{id:"gemini",name:"Gemini",apiKeySet:!1,model:"gemini-3-pro-medium",fallbackOrder:3,enabled:!1}],D={maxIterations:25,timeoutMinutes:60,qualityGateThreshold:80,autoReview:!0,parallelAgents:3},B={sessionTimeoutMinutes:30,allowedOrigins:"*",rateLimitPerMinute:100,requireMFA:!1,ipAllowlist:""},T={emailEnabled:!1,emailAddress:"",browserEnabled:!0,slackEnabled:!1,slackWebhookUrl:"",notifyOnBuildComplete:!0,notifyOnBuildFailure:!0,notifyOnBudgetAlert:!0,notifyOnSecurityEvent:!0},I={logRetentionDays:30,auditRetentionDays:365,sessionRetentionDays:90,autoCleanupEnabled:!0,lastCleanup:new Date(Date.now()-864e5).toISOString()};function R(){const[s,o]=c.useState(w),[n,r]=c.useState({}),[l,d]=c.useState(!1),t=()=>{d(!0),setTimeout(()=>d(!1),2e3)};return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-xs text-[#6B6960]",children:"Configure AI provider API keys, model preferences, and fallback chain."}),s.map((a,i)=>e.jsxs("div",{className:"border border-[#ECEAE3] dark:border-[#2A2A30] rounded-lg p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"w-6 h-6 rounded-full bg-[#553DE9]/10 flex items-center justify-center text-xs font-bold text-[#553DE9]",children:a.fallbackOrder}),e.jsx("span",{className:"text-sm font-medium text-[#201515] dark:text-[#E8E6E3]",children:a.name}),a.apiKeySet&&e.jsx("span",{className:"px-1.5 py-0.5 rounded text-[10px] font-medium bg-[#1FC5A8]/10 text-[#1FC5A8]",children:"Configured"})]}),e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("span",{className:"text-xs text-[#939084]",children:a.enabled?"Enabled":"Disabled"}),e.jsx("input",{type:"checkbox",checked:a.enabled,onChange:m=>{const x=[...s];x[i]={...x[i],enabled:m.target.checked},o(x)},className:"rounded border-[#ECEAE3] text-[#553DE9] focus:ring-[#553DE9]"})]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"API Key"}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:n[a.id]?"text":"password",value:a.apiKeySet?"sk-****************************":"",placeholder:"Enter API key...",className:"w-full px-3 py-2 pr-10 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3] placeholder-[#939084] font-mono",readOnly:!0}),e.jsx("button",{onClick:()=>r(m=>({...m,[a.id]:!m[a.id]})),className:"absolute right-3 top-1/2 -translate-y-1/2 text-[#939084] hover:text-[#36342E]",children:n[a.id]?e.jsx(C,{size:14}):e.jsx(f,{size:14})})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Model"}),e.jsx("input",{value:a.model,onChange:m=>{const x=[...s];x[i]={...x[i],model:m.target.value},o(x)},className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3] font-mono"})]})]})]},a.id)),e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(u,{size:"sm",icon:l?E:h,onClick:t,children:l?"Saved":"Save Provider Config"})})]})}function F(){const[s,o]=c.useState(D),[n,r]=c.useState(!1),l=(t,a)=>{o(i=>({...i,[t]:a}))},d=()=>{r(!0),setTimeout(()=>r(!1),2e3)};return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-xs text-[#6B6960]",children:"Default settings for new builds. Individual projects can override these."}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Max Iterations"}),e.jsx("input",{type:"number",value:s.maxIterations,onChange:t=>l("maxIterations",parseInt(t.target.value)||0),min:1,max:100,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Timeout (minutes)"}),e.jsx("input",{type:"number",value:s.timeoutMinutes,onChange:t=>l("timeoutMinutes",parseInt(t.target.value)||0),min:5,max:480,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Quality Gate Threshold (%)"}),e.jsx("input",{type:"number",value:s.qualityGateThreshold,onChange:t=>l("qualityGateThreshold",parseInt(t.target.value)||0),min:0,max:100,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"}),e.jsx("div",{className:"mt-1 h-1.5 bg-[#F8F4F0] dark:bg-[#1A1A1E] rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full rounded-full transition-all",style:{width:`${s.qualityGateThreshold}%`,background:s.qualityGateThreshold>=80?"#1FC5A8":s.qualityGateThreshold>=60?"#F59E0B":"#C45B5B"}})})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Parallel Agents"}),e.jsx("input",{type:"number",value:s.parallelAgents,onChange:t=>l("parallelAgents",parseInt(t.target.value)||1),min:1,max:10,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"})]})]}),e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:s.autoReview,onChange:t=>l("autoReview",t.target.checked),className:"rounded border-[#ECEAE3] text-[#553DE9] focus:ring-[#553DE9]"}),e.jsx("span",{className:"text-sm text-[#201515] dark:text-[#E8E6E3]",children:"Auto-run code review after each build"})]}),e.jsx(u,{size:"sm",icon:n?E:h,onClick:d,children:n?"Saved":"Save Build Defaults"})]})}function O(){const[s,o]=c.useState(B),[n,r]=c.useState(!1),l=(t,a)=>{o(i=>({...i,[t]:a}))},d=()=>{r(!0),setTimeout(()=>r(!1),2e3)};return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-xs text-[#6B6960]",children:"Security settings for session management, rate limiting, and access control."}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Session Timeout (minutes)"}),e.jsx("input",{type:"number",value:s.sessionTimeoutMinutes,onChange:t=>l("sessionTimeoutMinutes",parseInt(t.target.value)||0),min:5,max:1440,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Rate Limit (requests/minute)"}),e.jsx("input",{type:"number",value:s.rateLimitPerMinute,onChange:t=>l("rateLimitPerMinute",parseInt(t.target.value)||0),min:10,max:1e4,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Allowed Origins"}),e.jsx("input",{type:"text",value:s.allowedOrigins,onChange:t=>l("allowedOrigins",t.target.value),placeholder:"* or comma-separated origins",className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3] placeholder-[#939084] font-mono"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"IP Allowlist"}),e.jsx("input",{type:"text",value:s.ipAllowlist,onChange:t=>l("ipAllowlist",t.target.value),placeholder:"Leave empty for no restriction",className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3] placeholder-[#939084] font-mono"})]})]}),e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:s.requireMFA,onChange:t=>l("requireMFA",t.target.checked),className:"rounded border-[#ECEAE3] text-[#553DE9] focus:ring-[#553DE9]"}),e.jsx("span",{className:"text-sm text-[#201515] dark:text-[#E8E6E3]",children:"Require MFA for all users"}),!s.requireMFA&&e.jsxs("span",{className:"text-xs text-[#F59E0B] flex items-center gap-1",children:[e.jsx(j,{size:12}),"Not recommended for production"]})]}),e.jsx(u,{size:"sm",icon:n?E:h,onClick:d,children:n?"Saved":"Save Security Settings"})]})}function M(){const[s,o]=c.useState(T),[n,r]=c.useState(!1),l=(t,a)=>{o(i=>({...i,[t]:a}))},d=()=>{r(!0),setTimeout(()=>r(!1),2e3)};return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-xs text-[#6B6960]",children:"Configure how and when you receive notifications about system events."}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h4",{className:"text-xs font-semibold text-[#6B6960] uppercase tracking-wider",children:"Channels"}),e.jsxs("div",{className:"border border-[#ECEAE3] dark:border-[#2A2A30] rounded-lg divide-y divide-[#ECEAE3] dark:divide-[#2A2A30]",children:[e.jsxs("div",{className:"p-3 flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-[#201515] dark:text-[#E8E6E3]",children:"Browser Notifications"}),e.jsx("p",{className:"text-xs text-[#939084]",children:"Show desktop notifications"})]}),e.jsx("input",{type:"checkbox",checked:s.browserEnabled,onChange:t=>l("browserEnabled",t.target.checked),className:"rounded border-[#ECEAE3] text-[#553DE9] focus:ring-[#553DE9]"})]}),e.jsxs("div",{className:"p-3 space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-[#201515] dark:text-[#E8E6E3]",children:"Email Notifications"}),e.jsx("p",{className:"text-xs text-[#939084]",children:"Send email for important events"})]}),e.jsx("input",{type:"checkbox",checked:s.emailEnabled,onChange:t=>l("emailEnabled",t.target.checked),className:"rounded border-[#ECEAE3] text-[#553DE9] focus:ring-[#553DE9]"})]}),s.emailEnabled&&e.jsx("input",{type:"email",value:s.emailAddress,onChange:t=>l("emailAddress",t.target.value),placeholder:"notifications@company.com",className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3] placeholder-[#939084]"})]}),e.jsxs("div",{className:"p-3 space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-[#201515] dark:text-[#E8E6E3]",children:"Slack Webhook"}),e.jsx("p",{className:"text-xs text-[#939084]",children:"Post to a Slack channel"})]}),e.jsx("input",{type:"checkbox",checked:s.slackEnabled,onChange:t=>l("slackEnabled",t.target.checked),className:"rounded border-[#ECEAE3] text-[#553DE9] focus:ring-[#553DE9]"})]}),s.slackEnabled&&e.jsx("input",{type:"url",value:s.slackWebhookUrl,onChange:t=>l("slackWebhookUrl",t.target.value),placeholder:"https://hooks.slack.com/services/...",className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3] placeholder-[#939084] font-mono"})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h4",{className:"text-xs font-semibold text-[#6B6960] uppercase tracking-wider",children:"Events"}),e.jsx("div",{className:"border border-[#ECEAE3] dark:border-[#2A2A30] rounded-lg divide-y divide-[#ECEAE3] dark:divide-[#2A2A30]",children:[{key:"notifyOnBuildComplete",label:"Build Complete",desc:"When a build finishes successfully"},{key:"notifyOnBuildFailure",label:"Build Failure",desc:"When a build fails or times out"},{key:"notifyOnBudgetAlert",label:"Budget Alert",desc:"When spending approaches the limit"},{key:"notifyOnSecurityEvent",label:"Security Event",desc:"Login from new device, key rotation, etc."}].map(t=>e.jsxs("div",{className:"p-3 flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-[#201515] dark:text-[#E8E6E3]",children:t.label}),e.jsx("p",{className:"text-xs text-[#939084]",children:t.desc})]}),e.jsx("input",{type:"checkbox",checked:s[t.key],onChange:a=>l(t.key,a.target.checked),className:"rounded border-[#ECEAE3] text-[#553DE9] focus:ring-[#553DE9]"})]},t.key))})]}),e.jsx(u,{size:"sm",icon:n?E:h,onClick:d,children:n?"Saved":"Save Notifications"})]})}function L(){const[s,o]=c.useState(I),[n,r]=c.useState(!1),l=(t,a)=>{o(i=>({...i,[t]:a}))},d=()=>{r(!0),setTimeout(()=>r(!1),2e3)};return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-xs text-[#6B6960]",children:"Configure how long different types of data are retained before automatic cleanup."}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Log Retention (days)"}),e.jsx("input",{type:"number",value:s.logRetentionDays,onChange:t=>l("logRetentionDays",parseInt(t.target.value)||0),min:7,max:365,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Audit Retention (days)"}),e.jsx("input",{type:"number",value:s.auditRetentionDays,onChange:t=>l("auditRetentionDays",parseInt(t.target.value)||0),min:30,max:3650,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-[#6B6960] mb-1",children:"Session Retention (days)"}),e.jsx("input",{type:"number",value:s.sessionRetentionDays,onChange:t=>l("sessionRetentionDays",parseInt(t.target.value)||0),min:7,max:365,className:"w-full px-3 py-2 text-sm rounded-lg border border-[#ECEAE3] dark:border-[#2A2A30] bg-white dark:bg-[#1A1A1E] text-[#201515] dark:text-[#E8E6E3]"})]})]}),e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:s.autoCleanupEnabled,onChange:t=>l("autoCleanupEnabled",t.target.checked),className:"rounded border-[#ECEAE3] text-[#553DE9] focus:ring-[#553DE9]"}),e.jsx("span",{className:"text-sm text-[#201515] dark:text-[#E8E6E3]",children:"Enable automatic cleanup"})]}),s.lastCleanup&&e.jsxs("p",{className:"text-xs text-[#939084]",children:["Last cleanup: ",new Date(s.lastCleanup).toLocaleString()]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(u,{size:"sm",icon:n?E:h,onClick:d,children:n?"Saved":"Save Retention Settings"}),e.jsx(u,{size:"sm",variant:"ghost",icon:S,children:"Run Cleanup Now"})]})]})}const b=[{id:"providers",label:"Providers",icon:k},{id:"builds",label:"Build Defaults",icon:A},{id:"security",label:"Security",icon:g},{id:"notifications",label:"Notifications",icon:v},{id:"retention",label:"Data Retention",icon:y}];function P(){return e.jsxs("div",{className:"max-w-[500px] mx-auto px-6 py-20 text-center",children:[e.jsx(N,{size:48,className:"mx-auto text-[#C45B5B] mb-4"}),e.jsx("h1",{className:"font-heading text-h1 text-[#36342E] dark:text-[#E8E6E3] mb-2",children:"Access Denied"}),e.jsx("p",{className:"text-sm text-[#6B6960]",children:"You do not have permission to access system settings. Contact your organization administrator for access."})]})}function Q(){var d,t;const{user:s,isLocalMode:o}=p(),[n,r]=c.useState("providers");return o||(s==null?void 0:s.authenticated)===!0?e.jsxs("div",{className:"max-w-[1000px] mx-auto px-6 py-8",children:[e.jsx("h1",{className:"font-heading text-h1 text-[#36342E] dark:text-[#E8E6E3] mb-6",children:"System Settings"}),e.jsxs("div",{className:"flex gap-6",children:[e.jsx("nav",{className:"w-48 flex-shrink-0 space-y-1",children:b.map(a=>e.jsxs("button",{onClick:()=>r(a.id),className:`w-full flex items-center gap-2 px-3 py-2 text-sm rounded-lg text-left transition-colors ${n===a.id?"bg-[#553DE9]/8 text-[#553DE9] font-medium":"text-[#6B6960] hover:bg-[#F8F4F0] dark:hover:bg-[#222228] hover:text-[#36342E] dark:hover:text-[#E8E6E3]"}`,children:[e.jsx(a.icon,{size:16}),a.label]},a.id))}),e.jsx("div",{className:"flex-1 min-w-0",children:e.jsxs("div",{className:"card p-6",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[((d=b.find(a=>a.id===n))==null?void 0:d.icon)&&(()=>{const a=b.find(i=>i.id===n).icon;return e.jsx(a,{size:18,className:"text-[#553DE9]"})})(),e.jsx("h2",{className:"text-sm font-semibold text-[#201515] dark:text-[#E8E6E3] uppercase tracking-wider",children:(t=b.find(a=>a.id===n))==null?void 0:t.label})]}),n==="providers"&&e.jsx(R,{}),n==="builds"&&e.jsx(F,{}),n==="security"&&e.jsx(O,{}),n==="notifications"&&e.jsx(M,{}),n==="retention"&&e.jsx(L,{})]})})]})]}):e.jsx(P,{})}export{Q as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as P,r,j as e,U as w,X as B,i as z,y as U,a as F,x as O,b as V,h as H,M as q,R as K,m as G,a1 as X,a2 as Y}from"./index-
|
|
1
|
+
import{c as P,r,j as e,U as w,X as B,i as z,y as U,a as F,x as O,b as V,h as H,M as q,R as K,m as G,a1 as X,a2 as Y}from"./index-DvZ0Kk2x.js";import{B as N}from"./Button-BDp9aJ9q.js";import{U as M,A as D}from"./Avatar-BFPkXhIJ.js";import{M as J}from"./mail-COu670_W.js";import{L as Q}from"./lock-XzlDMy8M.js";import{A as k}from"./activity-Dreyb_Kr.js";import{P as _}from"./plus-PxeiD8ju.js";import{S as W}from"./save-v8qep5cY.js";import{T as Z}from"./trash-2-Dt6urTyY.js";import{U as ee}from"./user-BQf_XJO_.js";import{C as $}from"./clock-mlGCFq8l.js";import{F as te}from"./file-code-corner-CVrkaOQP.js";import{F as se}from"./file-plus-BV9240gX.js";import{H as ae}from"./hammer-EgOQNukG.js";/**
|
|
2
2
|
* @license lucide-react v0.577.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as F,r as o,j as e,b as q,U as V,d as O,w as B,R as D,u as z,a as J,X as P,y as K,F as T,v as Z,J as X,A as ee,n as W,k as te}from"./index-
|
|
1
|
+
import{c as F,r as o,j as e,b as q,U as V,d as O,w as B,R as D,u as z,a as J,X as P,y as K,F as T,v as Z,J as X,A as ee,n as W,k as te}from"./index-DvZ0Kk2x.js";import{B as N}from"./Button-BDp9aJ9q.js";import{u as se}from"./usePolling-D0aoTX80.js";import{C as ie}from"./chevron-left-DXUqkd8J.js";import{C as I}from"./clock-mlGCFq8l.js";import{L as ae}from"./lightbulb-DdASgqOG.js";import{L as le}from"./layers-BOVKmepE.js";import{C as S}from"./check-ikfylPst.js";import{P as L}from"./package-BtXTKusI.js";import{G as re}from"./globe-aZ0Zso4I.js";import{S as ne}from"./server-pIIs9vNp.js";import{B as oe}from"./bot-78MoCuDl.js";import{D as ce}from"./database-CLcofiVp.js";import{P as de}from"./plus-PxeiD8ju.js";/**
|
|
2
2
|
* @license lucide-react v0.577.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as j,r as i,j as e}from"./index-
|
|
1
|
+
import{c as j,r as i,j as e}from"./index-DvZ0Kk2x.js";import{L as w}from"./lock-XzlDMy8M.js";/**
|
|
2
2
|
* @license lucide-react v0.577.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideInBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s cubic-bezier(.4,0,.2,1) both}.animate-fade-in-up{animation:fadeInUp .3s cubic-bezier(.4,0,.2,1) both}.animate-fade-in-down{animation:fadeInDown .3s cubic-bezier(.4,0,.2,1) both}.animate-fade-in-left{animation:fadeInLeft .3s cubic-bezier(.4,0,.2,1) both}.animate-fade-in-right{animation:fadeInRight .3s cubic-bezier(.4,0,.2,1) both}.animate-scale-in{animation:scaleIn .3s cubic-bezier(.4,0,.2,1) both}.animate-slide-in-right{animation:slideInRight .3s cubic-bezier(.4,0,.2,1) both}.animate-slide-in-bottom{animation:slideInBottom .3s cubic-bezier(.4,0,.2,1) both}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}.animate-fade-out{animation:fadeOut .3s cubic-bezier(.4,0,.2,1) both}.animate-scale-out{animation:scaleOut .3s cubic-bezier(.4,0,.2,1) both}.animate-slide-out-right{animation:slideOutRight .3s cubic-bezier(.4,0,.2,1) both}@keyframes pulseSoft{0%,to{opacity:1}50%{opacity:.7}}@keyframes bounceGentle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-3px)}20%,40%,60%,80%{transform:translate(3px)}}@keyframes glow{0%,to{box-shadow:0 0 4px #553de933}50%{box-shadow:0 0 16px #553de966,0 0 32px #553de91a}}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(4);opacity:0}}.animate-pulse-soft{animation:pulseSoft 2s ease-in-out infinite}.animate-bounce-gentle{animation:bounceGentle 1s ease-in-out}.animate-shake{animation:shake .5s ease-in-out}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-ripple{position:relative;overflow:hidden}.animate-ripple:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:#553de94d;animation:ripple .6s ease-out forwards;pointer-events:none}@keyframes spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dotsAppear{0%,20%{opacity:0}40%{opacity:1}to{opacity:1}}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes progressIndeterminate{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(200%)}}.animate-spinner{animation:spinner 1s linear infinite}.animate-dots{display:inline-flex;gap:4px}.animate-dots>span{width:5px;height:5px;border-radius:50%;background:currentColor;animation:dotsAppear 1.4s ease-in-out infinite}.animate-dots>span:nth-child(1){animation-delay:0ms}.animate-dots>span:nth-child(2){animation-delay:.2s}.animate-dots>span:nth-child(3){animation-delay:.4s}.animate-skeleton-shimmer{background:linear-gradient(90deg,transparent 0%,rgba(85,61,233,.06) 50%,transparent 100%);background-size:200% 100%;animation:skeletonShimmer 1.8s ease-in-out infinite}.dark .animate-skeleton-shimmer{background:linear-gradient(90deg,transparent 0%,rgba(123,107,239,.1) 50%,transparent 100%);background-size:200% 100%}.animate-progress-indeterminate{position:relative;overflow:hidden}.animate-progress-indeterminate:after{content:"";position:absolute;top:0;left:0;width:40%;height:100%;background:#553de980;border-radius:inherit;animation:progressIndeterminate 1.5s ease-in-out infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes textGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes drawLine{0%{stroke-dashoffset:var(--line-length, 1000)}to{stroke-dashoffset:0}}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes successCheck{0%{stroke-dashoffset:36}to{stroke-dashoffset:0}}@keyframes numberRoll{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.animate-gradient-shift{background-size:200% 200%;animation:gradientShift 4s ease infinite}.animate-text-gradient{background:linear-gradient(90deg,#553de9,#7b6bef,#a78bfa,#553de9);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:textGradient 4s ease infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-typewriter{overflow:hidden;white-space:nowrap;border-right:2px solid currentColor;animation:typewriter 2s steps(40) forwards,cursor-blink .75s step-end infinite}.animate-draw-line{stroke-dasharray:var(--line-length, 1000);stroke-dashoffset:var(--line-length, 1000);animation:drawLine 1.5s ease-out forwards}.animate-confetti{position:fixed;top:0;width:8px;height:8px;border-radius:2px;animation:confettiFall 3s ease-in forwards;pointer-events:none;z-index:9999}.animate-confetti:nth-child(odd){border-radius:50%}.animate-confetti:nth-child(1){left:10%;background:#553de9;animation-delay:0ms;animation-duration:2.5s}.animate-confetti:nth-child(2){left:25%;background:#1fc5a8;animation-delay:.1s;animation-duration:3s}.animate-confetti:nth-child(3){left:40%;background:#e8ac3e;animation-delay:.2s;animation-duration:2.8s}.animate-confetti:nth-child(4){left:55%;background:#c45b5b;animation-delay:50ms;animation-duration:3.2s}.animate-confetti:nth-child(5){left:70%;background:#7b6bef;animation-delay:.3s;animation-duration:2.6s}.animate-confetti:nth-child(6){left:85%;background:#553de9;animation-delay:.15s;animation-duration:2.9s}.animate-success-check{stroke-dasharray:36;stroke-dashoffset:36;animation:successCheck .4s ease-out .2s forwards}.animate-number-roll{display:inline-block;animation:numberRoll .4s cubic-bezier(.4,0,.2,1) both}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.animation-delay-400{animation-delay:.4s}.animation-delay-500{animation-delay:.5s}.animation-delay-600{animation-delay:.6s}.animation-delay-700{animation-delay:.7s}.animation-delay-800{animation-delay:.8s}.animation-duration-fast{animation-duration:.15s}.animation-duration-normal{animation-duration:.3s}.animation-duration-slow{animation-duration:.5s}.animation-duration-slower{animation-duration:.8s}.animation-fill-both{animation-fill-mode:both}.animation-fill-forwards{animation-fill-mode:forwards}@media(prefers-reduced-motion:reduce){.motion-safe *{animation:none!important;transition:none!important}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.6;scroll-behavior:smooth}.text-xs{font-size:.8125rem!important;line-height:1.5!important}.text-sm{font-size:.9375rem!important;line-height:1.5!important}.text-\[10px\]{font-size:.75rem!important}.text-\[11px\]{font-size:.8125rem!important}*,*:before,*:after{transition-property:color,background-color,border-color,box-shadow,opacity,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.terminal-scroll::-webkit-scrollbar{width:6px}.terminal-scroll::-webkit-scrollbar-track{background:transparent}.terminal-scroll::-webkit-scrollbar-thumb{background:#553de933;border-radius:3px}.terminal-scroll::-webkit-scrollbar-thumb:hover{background:#553de959}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.card{background:#fff;border:1px solid #ECEAE3;border-radius:8px;box-shadow:0 1px 3px #0000000a,0 1px 2px #0000000f}.card:hover,.card-hover:hover{box-shadow:0 8px 25px #00000014,0 3px 10px #0000000a;transform:translateY(-1px)}button,[role=button],.rounded-btn{border-radius:8px!important;font-weight:500;letter-spacing:.01em}button:active,[role=button]:active{transform:scale(.97)}[role=tab]{padding:.5rem 1rem!important;font-size:.875rem!important;font-weight:500;border-radius:6px 6px 0 0}.pattern-nodes{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.04;pointer-events:none;background-image:radial-gradient(circle at 10% 20%,#553DE9 1px,transparent 1px),radial-gradient(circle at 30% 60%,#553DE9 1px,transparent 1px),radial-gradient(circle at 50% 40%,#553DE9 1px,transparent 1px),radial-gradient(circle at 70% 80%,#553DE9 1px,transparent 1px),radial-gradient(circle at 90% 30%,#553DE9 1px,transparent 1px);background-size:200px 200px}*:focus-visible{outline:2px solid #553DE9;outline-offset:2px}::-moz-selection{background:#e8e4fd;color:#201515}::selection{background:#e8e4fd;color:#201515}.dark{--color-background: #0F0F11;--color-card: #1A1A1E;--color-border: #2A2A30;--color-border-light: #3A3A42;--color-hover: #222228;--color-ink: #E8E6E3;--color-muted: #8A8880;--color-secondary: #C5C0B8;color-scheme:dark}.dark body{background-color:#0f0f11;color:#e8e6e3}.dark .bg-card{background-color:#1a1a1e!important}.dark .bg-background,.dark .bg-\[\#FFFEFB\],.dark .bg-\[\#FAF9F6\]{background-color:#0f0f11!important}.dark .bg-hover,.dark .bg-\[\#F8F4F0\]{background-color:#222228!important}.dark .bg-white{background-color:#1a1a1e!important}.dark .border-border,.dark .border-\[\#ECEAE3\]{border-color:#2a2a30!important}.dark .border-r,.dark .border-b,.dark .border-t,.dark .border-l{border-color:#2a2a30}.dark .border-\[\#553DE9\]{border-color:#7b6bef!important}.dark .text-ink,.dark .text-\[\#201515\]{color:#e8e6e3!important}.dark .text-muted{color:#8a8880!important}.dark .text-secondary,.dark .text-\[\#36342E\]{color:#c5c0b8!important}.dark .text-\[\#939084\],.dark .text-\[\#6B6960\]{color:#8a8880!important}.dark .text-muted-accessible{color:#9a9690!important}.dark .card{background:#1a1a1e;border-color:#2a2a30}.dark .card:hover,.dark .card-hover:hover{box-shadow:0 8px 25px #0000004d,0 3px 10px #0003}.dark ::-moz-selection{background:#553de9;color:#e8e6e3}.dark ::selection{background:#553de9;color:#e8e6e3}.dark .hover\:bg-\[\#F8F4F0\]:hover{background-color:#222228!important}.dark .hover\:text-\[\#36342E\]:hover{color:#e8e6e3!important}.dark input,.dark textarea,.dark select{background-color:#1a1a1e;color:#e8e6e3;border-color:#2a2a30}.dark input::-moz-placeholder,.dark textarea::-moz-placeholder{color:#6a6860}.dark input::placeholder,.dark textarea::placeholder{color:#6a6860}.dark input:focus,.dark textarea:focus,.dark select:focus{border-color:#7b6bef;box-shadow:0 0 0 3px #7b6bef26}.dark .bg-\[\#ECEAE3\]\/60{background-color:#2a2a30!important}.dark .animate-pulse{opacity:.5}.dark .terminal-scroll::-webkit-scrollbar-thumb{background:#553de94d}.dark .terminal-scroll::-webkit-scrollbar-thumb:hover{background:#553de980}.dark .shadow-2xl{box-shadow:0 25px 50px -12px #00000080!important}.dark .shadow-lg{box-shadow:0 10px 15px -3px #0006,0 4px 6px -4px #0000004d!important}.dark *:focus-visible{outline-color:#7b6bef}.dark .bg-\[\#553DE9\]\/8{background-color:#553de926!important}.dark .text-\[\#553DE9\]{color:#7b6bef!important}.dark .bg-\[\#24292f\]{background-color:#333840!important}.dark .hover\:bg-\[\#1b1f23\]:hover{background-color:#404750!important}.dark .pattern-nodes{opacity:.02}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.phase-active{animation:none}}@keyframes phase-pulse{0%,to{opacity:1}50%{opacity:.5}}.phase-active{animation:phase-pulse 2s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-shimmer{animation:shimmer 2s infinite}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.terminal-cursor:after{content:"";display:inline-block;width:8px;height:16px;background:#553de9;animation:cursor-blink 1s step-end infinite;margin-left:2px;vertical-align:text-bottom}@keyframes placeholder-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes placeholder-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.quick-input-placeholder{animation:placeholder-fade-in .4s ease-out forwards}.quick-input-placeholder-exit{animation:placeholder-fade-out .3s ease-in forwards}@media(max-width:767px){.responsive-table table,.responsive-table thead,.responsive-table tbody,.responsive-table th,.responsive-table td,.responsive-table tr{display:block}.responsive-table thead tr{position:absolute;top:-9999px;left:-9999px}.responsive-table tr{margin-bottom:.75rem;border:1px solid #ECEAE3;border-radius:8px;padding:.75rem;background:#fff}.dark .responsive-table tr{border-color:#2a2a30;background:#1a1a1e}.responsive-table td{border:none;position:relative;padding:.25rem .5rem .25rem 45%;text-align:left;font-size:.8125rem}.responsive-table td:before{content:attr(data-label);position:absolute;left:.5rem;width:40%;padding-right:.5rem;white-space:nowrap;font-weight:600;font-size:.75rem;color:#6b6960}.dark .responsive-table td:before{color:#8a8880}}@media(max-width:767px){.grid-cols-12{grid-template-columns:1fr!important}.col-span-3,.col-span-4,.col-span-5,.col-span-6{grid-column:span 1 / span 1!important}}@keyframes ptr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ptr-spinner{width:24px;height:24px;border:3px solid #ECEAE3;border-top-color:#553de9;border-radius:50%;animation:ptr-spin .8s linear infinite}.dark .ptr-spinner{border-color:#2a2a30;border-top-color:#7b6bef}.dark .glass-card{background:#1a1a1eb3;border-color:#ffffff0f}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-0\.5{bottom:-.125rem}.-left-1\.5{left:-.375rem}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-right-2{right:-.5rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-3{bottom:.75rem}.bottom-6{bottom:1.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-4{left:1rem}.left-6{left:1.5rem}.left-\[7px\]{left:7px}.left-full{left:100%}.right-0{right:0}.right-2{right:.5rem}.right-2\.5{right:.625rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.right-full{right:100%}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-3{top:.75rem}.top-4{top:1rem}.top-7{top:1.75rem}.top-8{top:2rem}.top-full{top:100%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[55\]{z-index:55}.z-\[9999\]{z-index:9999}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-5{grid-column:span 5 / span 5}.col-span-6{grid-column:span 6 / span 6}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.-mt-1{margin-top:-.25rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-10{margin-left:2.5rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-9{margin-left:2.25rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-36{height:9rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[15px\]{height:15px}.h-\[200px\]{height:200px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-56{max-height:14rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-\[28rem\]{max-height:28rem}.max-h-\[300px\]{max-height:300px}.max-h-\[320px\]{max-height:320px}.max-h-\[360px\]{max-height:360px}.max-h-\[400px\]{max-height:400px}.max-h-\[600px\]{max-height:600px}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:0px}.min-h-\[120px\]{min-height:120px}.min-h-\[16px\]{min-height:16px}.min-h-\[2\.4em\]{min-height:2.4em}.min-h-\[240px\]{min-height:240px}.min-h-\[280px\]{min-height:280px}.min-h-\[320px\]{min-height:320px}.min-h-\[60vh\]{min-height:60vh}.min-h-screen{min-height:100vh}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[130px\]{width:130px}.w-\[15px\]{width:15px}.w-\[240px\]{width:240px}.w-\[320px\]{width:320px}.w-\[60\%\]{width:60%}.w-\[95vw\]{width:95vw}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[140px\]{min-width:140px}.min-w-\[160px\]{min-width:160px}.min-w-\[280px\]{min-width:280px}.min-w-\[48px\]{min-width:48px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-\[1000px\]{max-width:1000px}.max-w-\[100px\]{max-width:100px}.max-w-\[1100px\]{max-width:1100px}.max-w-\[1200px\]{max-width:1200px}.max-w-\[120px\]{max-width:120px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[150px\]{max-width:150px}.max-w-\[180px\]{max-width:180px}.max-w-\[1920px\]{max-width:1920px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[260px\]{max-width:260px}.max-w-\[26ch\]{max-width:26ch}.max-w-\[500px\]{max-width:500px}.max-w-\[640px\]{max-width:640px}.max-w-\[700px\]{max-width:700px}.max-w-\[80\%\]{max-width:80%}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-4{--tw-translate-x: -1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-6{--tw-translate-y: 1.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[slideIn_0\.3s_ease-out\]{animation:slideIn .3s ease-out}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness: mandatory}.snap-start{scroll-snap-align:start}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-4{row-gap:1rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-\[\#ECEAE3\]>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(236 234 227 / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.\!overflow-visible{overflow:visible!important}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[3px\]{border-radius:3px}.rounded-\[5px\]{border-radius:5px}.rounded-btn{border-radius:4px}.rounded-card{border-radius:5px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-pill{border-radius:9999px}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-t-card{border-top-left-radius:5px;border-top-right-radius:5px}.rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[\#1FC5A8\]\/20{border-color:#1fc5a833}.border-\[\#1FC5A8\]\/30{border-color:#1fc5a84d}.border-\[\#2A2A30\]{--tw-border-opacity: 1;border-color:rgb(42 42 48 / var(--tw-border-opacity, 1))}.border-\[\#3B82F6\]\/20{border-color:#3b82f633}.border-\[\#553DE9\]{--tw-border-opacity: 1;border-color:rgb(85 61 233 / var(--tw-border-opacity, 1))}.border-\[\#553DE9\]\/10{border-color:#553de91a}.border-\[\#553DE9\]\/15{border-color:#553de926}.border-\[\#553DE9\]\/20{border-color:#553de933}.border-\[\#553DE9\]\/30{border-color:#553de94d}.border-\[\#553DE9\]\/40{border-color:#553de966}.border-\[\#6B6960\]\/20{border-color:#6b696033}.border-\[\#939084\]{--tw-border-opacity: 1;border-color:rgb(147 144 132 / var(--tw-border-opacity, 1))}.border-\[\#C45B5B\]\/20{border-color:#c45b5b33}.border-\[\#C45B5B\]\/30{border-color:#c45b5b4d}.border-\[\#E5A940\]\/20{border-color:#e5a94033}.border-\[\#ECEAE3\]{--tw-border-opacity: 1;border-color:rgb(236 234 227 / var(--tw-border-opacity, 1))}.border-\[\#ECEAE3\]\/50{border-color:#eceae380}.border-amber-500\/15{border-color:#f59e0b26}.border-border{--tw-border-opacity: 1;border-color:rgb(236 234 227 / var(--tw-border-opacity, 1))}.border-border-light{--tw-border-opacity: 1;border-color:rgb(197 192 177 / var(--tw-border-opacity, 1))}.border-border\/50{border-color:#eceae380}.border-danger\/10{border-color:#c45b5b1a}.border-danger\/15{border-color:#c45b5b26}.border-danger\/20{border-color:#c45b5b33}.border-danger\/25{border-color:#c45b5b40}.border-danger\/30{border-color:#c45b5b4d}.border-danger\/40{border-color:#c45b5b66}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-green-500\/20{border-color:#22c55e33}.border-green-500\/30{border-color:#22c55e4d}.border-info\/15{border-color:#2f71e326}.border-ink\/20{border-color:#20151533}.border-muted\/20{border-color:#93908433}.border-muted\/40{border-color:#93908466}.border-primary{--tw-border-opacity: 1;border-color:rgb(85 61 233 / var(--tw-border-opacity, 1))}.border-primary\/10{border-color:#553de91a}.border-primary\/15{border-color:#553de926}.border-primary\/20{border-color:#553de933}.border-primary\/30{border-color:#553de94d}.border-primary\/40{border-color:#553de966}.border-purple-500\/20{border-color:#a855f733}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-400\/20{border-color:#f8717133}.border-red-500\/10{border-color:#ef44441a}.border-red-500\/15{border-color:#ef444426}.border-red-500\/20{border-color:#ef444433}.border-red-500\/30{border-color:#ef44444d}.border-success\/15{border-color:#1fc5a826}.border-success\/20{border-color:#1fc5a833}.border-success\/30{border-color:#1fc5a84d}.border-teal\/15{border-color:#1fc5a826}.border-teal\/20{border-color:#1fc5a833}.border-transparent{border-color:transparent}.border-warning{--tw-border-opacity: 1;border-color:rgb(212 160 60 / var(--tw-border-opacity, 1))}.border-warning\/10{border-color:#d4a03c1a}.border-warning\/15{border-color:#d4a03c26}.border-warning\/20{border-color:#d4a03c33}.border-warning\/30{border-color:#d4a03c4d}.border-warning\/40{border-color:#d4a03c66}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.border-yellow-500\/20{border-color:#eab30833}.border-b-\[\#1A1A1E\]{--tw-border-opacity: 1;border-bottom-color:rgb(26 26 30 / var(--tw-border-opacity, 1))}.border-b-transparent{border-bottom-color:transparent}.border-l-\[\#1A1A1E\]{--tw-border-opacity: 1;border-left-color:rgb(26 26 30 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-r-\[\#1A1A1E\]{--tw-border-opacity: 1;border-right-color:rgb(26 26 30 / var(--tw-border-opacity, 1))}.border-r-transparent{border-right-color:transparent}.border-t-\[\#1A1A1E\]{--tw-border-opacity: 1;border-top-color:rgb(26 26 30 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-\[\#06B6D4\]{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity, 1))}.bg-\[\#0F0F11\]{--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1))}.bg-\[\#1A1A1E\]{--tw-bg-opacity: 1;background-color:rgb(26 26 30 / var(--tw-bg-opacity, 1))}.bg-\[\#1FC5A8\]{--tw-bg-opacity: 1;background-color:rgb(31 197 168 / var(--tw-bg-opacity, 1))}.bg-\[\#1FC5A8\]\/10{background-color:#1fc5a81a}.bg-\[\#1FC5A8\]\/20{background-color:#1fc5a833}.bg-\[\#24292f\]{--tw-bg-opacity: 1;background-color:rgb(36 41 47 / var(--tw-bg-opacity, 1))}.bg-\[\#2A2A30\]{--tw-bg-opacity: 1;background-color:rgb(42 42 48 / var(--tw-bg-opacity, 1))}.bg-\[\#36342E\]{--tw-bg-opacity: 1;background-color:rgb(54 52 46 / var(--tw-bg-opacity, 1))}.bg-\[\#3B82F6\]{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-\[\#3B82F6\]\/10{background-color:#3b82f61a}.bg-\[\#553DE9\]{--tw-bg-opacity: 1;background-color:rgb(85 61 233 / var(--tw-bg-opacity, 1))}.bg-\[\#553DE9\]\/10{background-color:#553de91a}.bg-\[\#553DE9\]\/20{background-color:#553de933}.bg-\[\#553DE9\]\/25{background-color:#553de940}.bg-\[\#553DE9\]\/5{background-color:#553de90d}.bg-\[\#553DE9\]\/50{background-color:#553de980}.bg-\[\#553DE9\]\/80{background-color:#553de9cc}.bg-\[\#6B6960\]\/10{background-color:#6b69601a}.bg-\[\#8B5CF6\]{--tw-bg-opacity: 1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}.bg-\[\#939084\]{--tw-bg-opacity: 1;background-color:rgb(147 144 132 / var(--tw-bg-opacity, 1))}.bg-\[\#939084\]\/10{background-color:#9390841a}.bg-\[\#939084\]\/5{background-color:#9390840d}.bg-\[\#C45B5B\]{--tw-bg-opacity: 1;background-color:rgb(196 91 91 / var(--tw-bg-opacity, 1))}.bg-\[\#C45B5B\]\/10{background-color:#c45b5b1a}.bg-\[\#C45B5B\]\/5{background-color:#c45b5b0d}.bg-\[\#D4A03C\]\/10{background-color:#d4a03c1a}.bg-\[\#D63384\]{--tw-bg-opacity: 1;background-color:rgb(214 51 132 / var(--tw-bg-opacity, 1))}.bg-\[\#E5A940\]{--tw-bg-opacity: 1;background-color:rgb(229 169 64 / var(--tw-bg-opacity, 1))}.bg-\[\#E5A940\]\/10{background-color:#e5a9401a}.bg-\[\#EC4899\]{--tw-bg-opacity: 1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}.bg-\[\#ECEAE3\]{--tw-bg-opacity: 1;background-color:rgb(236 234 227 / var(--tw-bg-opacity, 1))}.bg-\[\#ECEAE3\]\/20{background-color:#eceae333}.bg-\[\#ECEAE3\]\/30{background-color:#eceae34d}.bg-\[\#ECEAE3\]\/40{background-color:#eceae366}.bg-\[\#ECEAE3\]\/60{background-color:#eceae399}.bg-\[\#F0EDE8\]{--tw-bg-opacity: 1;background-color:rgb(240 237 232 / var(--tw-bg-opacity, 1))}.bg-\[\#F59E0B\]\/10{background-color:#f59e0b1a}.bg-\[\#F5F4EF\]{--tw-bg-opacity: 1;background-color:rgb(245 244 239 / var(--tw-bg-opacity, 1))}.bg-\[\#F8F4F0\]{--tw-bg-opacity: 1;background-color:rgb(248 244 240 / var(--tw-bg-opacity, 1))}.bg-\[\#FAF9F6\]{--tw-bg-opacity: 1;background-color:rgb(250 249 246 / var(--tw-bg-opacity, 1))}.bg-\[\#FAFAF8\]{--tw-bg-opacity: 1;background-color:rgb(250 250 248 / var(--tw-bg-opacity, 1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/15{background-color:#f59e0b26}.bg-amber-500\/5{background-color:#f59e0b0d}.bg-background{--tw-bg-opacity: 1;background-color:rgb(255 254 251 / var(--tw-bg-opacity, 1))}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/5{background-color:#0000000d}.bg-black\/50{background-color:#00000080}.bg-border{--tw-bg-opacity: 1;background-color:rgb(236 234 227 / var(--tw-bg-opacity, 1))}.bg-border\/30{background-color:#eceae34d}.bg-card{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-card\/50{background-color:#ffffff80}.bg-current{background-color:currentColor}.bg-cyan-400\/10{background-color:#22d3ee1a}.bg-cyan-400\/15{background-color:#22d3ee26}.bg-cyan-500\/10{background-color:#06b6d41a}.bg-cyan-500\/15{background-color:#06b6d426}.bg-danger{--tw-bg-opacity: 1;background-color:rgb(196 91 91 / var(--tw-bg-opacity, 1))}.bg-danger\/10{background-color:#c45b5b1a}.bg-danger\/15{background-color:#c45b5b26}.bg-danger\/5{background-color:#c45b5b0d}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-400\/10{background-color:#9ca3af1a}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-gray-500\/10{background-color:#6b72801a}.bg-gray-500\/15{background-color:#6b728026}.bg-gray-600\/10{background-color:#4b55631a}.bg-gray-600\/15{background-color:#4b556326}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/15{background-color:#22c55e26}.bg-green-500\/5{background-color:#22c55e0d}.bg-green-600\/10{background-color:#16a34a1a}.bg-green-600\/15{background-color:#16a34a26}.bg-hover{--tw-bg-opacity: 1;background-color:rgb(248 244 240 / var(--tw-bg-opacity, 1))}.bg-hover\/30{background-color:#f8f4f04d}.bg-hover\/40{background-color:#f8f4f066}.bg-hover\/50{background-color:#f8f4f080}.bg-indigo-400\/10{background-color:#818cf81a}.bg-indigo-400\/15{background-color:#818cf826}.bg-indigo-500\/10{background-color:#6366f11a}.bg-indigo-500\/15{background-color:#6366f126}.bg-info{--tw-bg-opacity: 1;background-color:rgb(47 113 227 / var(--tw-bg-opacity, 1))}.bg-ink{--tw-bg-opacity: 1;background-color:rgb(32 21 21 / var(--tw-bg-opacity, 1))}.bg-ink\/10{background-color:#2015151a}.bg-ink\/20{background-color:#20151533}.bg-ink\/30{background-color:#2015154d}.bg-ink\/5{background-color:#2015150d}.bg-ink\/\[0\.03\]{background-color:#20151508}.bg-muted{--tw-bg-opacity: 1;background-color:rgb(147 144 132 / var(--tw-bg-opacity, 1))}.bg-muted\/10{background-color:#9390841a}.bg-muted\/30{background-color:#9390844d}.bg-muted\/40{background-color:#93908466}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(85 61 233 / var(--tw-bg-opacity, 1))}.bg-primary\/10{background-color:#553de91a}.bg-primary\/20{background-color:#553de933}.bg-primary\/40{background-color:#553de966}.bg-primary\/5{background-color:#553de90d}.bg-primary\/60{background-color:#553de999}.bg-purple-400\/10{background-color:#c084fc1a}.bg-purple-400\/15{background-color:#c084fc26}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-purple-500\/10{background-color:#a855f71a}.bg-purple-500\/15{background-color:#a855f726}.bg-purple-500\/5{background-color:#a855f70d}.bg-red-400\/10{background-color:#f871711a}.bg-red-400\/5{background-color:#f871710d}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/15{background-color:#ef444426}.bg-red-500\/5{background-color:#ef44440d}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-sky-500\/10{background-color:#0ea5e91a}.bg-sky-500\/15{background-color:#0ea5e926}.bg-success{--tw-bg-opacity: 1;background-color:rgb(31 197 168 / var(--tw-bg-opacity, 1))}.bg-success\/10{background-color:#1fc5a81a}.bg-success\/5{background-color:#1fc5a80d}.bg-teal{--tw-bg-opacity: 1;background-color:rgb(31 197 168 / var(--tw-bg-opacity, 1))}.bg-teal\/10{background-color:#1fc5a81a}.bg-transparent{background-color:transparent}.bg-warning{--tw-bg-opacity: 1;background-color:rgb(212 160 60 / var(--tw-bg-opacity, 1))}.bg-warning\/10{background-color:#d4a03c1a}.bg-warning\/5{background-color:#d4a03c0d}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/15{background-color:#ffffff26}.bg-white\/20{background-color:#fff3}.bg-white\/25{background-color:#ffffff40}.bg-white\/90{background-color:#ffffffe6}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/10{background-color:#eab3081a}.bg-yellow-500\/15{background-color:#eab30826}.bg-yellow-500\/5{background-color:#eab3080d}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[\#0EA5E9\]{--tw-gradient-from: #0EA5E9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#1FC5A8\]{--tw-gradient-from: #1FC5A8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(31 197 168 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#22C55E\]{--tw-gradient-from: #22C55E var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#2F71E3\]{--tw-gradient-from: #2F71E3 var(--tw-gradient-from-position);--tw-gradient-to: rgb(47 113 227 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#36342E\]{--tw-gradient-from: #36342E var(--tw-gradient-from-position);--tw-gradient-to: rgb(54 52 46 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#553DE9\]{--tw-gradient-from: #553DE9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(85 61 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#553DE9\]\/20{--tw-gradient-from: rgb(85 61 233 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(85 61 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#553DE9\]\/5{--tw-gradient-from: rgb(85 61 233 / .05) var(--tw-gradient-from-position);--tw-gradient-to: rgb(85 61 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#5865F2\]{--tw-gradient-from: #5865F2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(88 101 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#845EF7\]{--tw-gradient-from: #845EF7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(132 94 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#DC2626\]{--tw-gradient-from: #DC2626 var(--tw-gradient-from-position);--tw-gradient-to: rgb(220 38 38 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#E93D82\]{--tw-gradient-from: #E93D82 var(--tw-gradient-from-position);--tw-gradient-to: rgb(233 61 130 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#ECEAE3\]\/30{--tw-gradient-from: rgb(236 234 227 / .3) var(--tw-gradient-from-position);--tw-gradient-to: rgb(236 234 227 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#F59F00\]{--tw-gradient-from: #F59F00 var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 159 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#F97316\]{--tw-gradient-from: #F97316 var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-500\/20{--tw-gradient-from: rgb(245 158 11 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500\/20{--tw-gradient-from: rgb(16 185 129 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-500{--tw-gradient-from: #6b7280 var(--tw-gradient-from-position);--tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500\/20{--tw-gradient-from: rgb(34 197 94 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from: #f97316 var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-500\/20{--tw-gradient-from: rgb(249 115 22 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary{--tw-gradient-from: #553DE9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(85 61 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/20{--tw-gradient-from: rgb(85 61 233 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(85 61 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/5{--tw-gradient-from: rgb(85 61 233 / .05) var(--tw-gradient-from-position);--tw-gradient-to: rgb(85 61 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-rose-500\/20{--tw-gradient-from: rgb(244 63 94 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-400{--tw-gradient-from: #94a3b8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(148 163 184 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-500{--tw-gradient-from: #64748b var(--tw-gradient-from-position);--tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-500\/20{--tw-gradient-from: rgb(100 116 139 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-600{--tw-gradient-from: #475569 var(--tw-gradient-from-position);--tw-gradient-to: rgb(71 85 105 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-500{--tw-gradient-from: #8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-500\/20{--tw-gradient-from: rgb(139 92 246 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-600{--tw-gradient-from: #7c3aed var(--tw-gradient-from-position);--tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white{--tw-gradient-from: #fff var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[\#553DE9\]\/10{--tw-gradient-to: rgb(85 61 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(85 61 233 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-\[\#7B6BEF\]{--tw-gradient-to: rgb(123 107 239 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #7B6BEF var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-emerald-500{--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #10b981 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-gray-400{--tw-gradient-to: rgb(156 163 175 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #9ca3af var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-gray-400\/10{--tw-gradient-to: rgb(156 163 175 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(156 163 175 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-gray-500{--tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #6b7280 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-gray-500\/10{--tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(107 114 128 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-indigo-500{--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #6366f1 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-indigo-500\/10{--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(99 102 241 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-orange-500\/10{--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(249 115 22 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-500{--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #a855f7 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-500\/10{--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(168 85 247 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-rose-500{--tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #f43f5e var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-rose-500\/10{--tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(244 63 94 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-sky-500\/10{--tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(14 165 233 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-slate-500{--tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #64748b var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/20{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .2) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-\[\#1A1A1E\]{--tw-gradient-to: #1A1A1E var(--tw-gradient-to-position)}.to-\[\#1FC5A8\]{--tw-gradient-to: #1FC5A8 var(--tw-gradient-to-position)}.to-\[\#1FC5A8\]\/5{--tw-gradient-to: rgb(31 197 168 / .05) var(--tw-gradient-to-position)}.to-\[\#38BDF8\]{--tw-gradient-to: #38BDF8 var(--tw-gradient-to-position)}.to-\[\#38D9A9\]{--tw-gradient-to: #38D9A9 var(--tw-gradient-to-position)}.to-\[\#4ADE80\]{--tw-gradient-to: #4ADE80 var(--tw-gradient-to-position)}.to-\[\#553DE9\]{--tw-gradient-to: #553DE9 var(--tw-gradient-to-position)}.to-\[\#5C93E8\]{--tw-gradient-to: #5C93E8 var(--tw-gradient-to-position)}.to-\[\#6B6960\]{--tw-gradient-to: #6B6960 var(--tw-gradient-to-position)}.to-\[\#7289DA\]{--tw-gradient-to: #7289DA var(--tw-gradient-to-position)}.to-\[\#7B6BEF\]{--tw-gradient-to: #7B6BEF var(--tw-gradient-to-position)}.to-\[\#8B78F0\]\/10{--tw-gradient-to: rgb(139 120 240 / .1) var(--tw-gradient-to-position)}.to-\[\#B197FC\]{--tw-gradient-to: #B197FC var(--tw-gradient-to-position)}.to-\[\#ECEAE3\]\/10{--tw-gradient-to: rgb(236 234 227 / .1) var(--tw-gradient-to-position)}.to-\[\#F06595\]{--tw-gradient-to: #F06595 var(--tw-gradient-to-position)}.to-\[\#F87171\]{--tw-gradient-to: #F87171 var(--tw-gradient-to-position)}.to-\[\#FB923C\]{--tw-gradient-to: #FB923C var(--tw-gradient-to-position)}.to-\[\#FCC419\]{--tw-gradient-to: #FCC419 var(--tw-gradient-to-position)}.to-cyan-500{--tw-gradient-to: #06b6d4 var(--tw-gradient-to-position)}.to-cyan-500\/20{--tw-gradient-to: rgb(6 182 212 / .2) var(--tw-gradient-to-position)}.to-cyan-600{--tw-gradient-to: #0891b2 var(--tw-gradient-to-position)}.to-fuchsia-500\/20{--tw-gradient-to: rgb(217 70 239 / .2) var(--tw-gradient-to-position)}.to-green-500\/5{--tw-gradient-to: rgb(34 197 94 / .05) var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to: #6366f1 var(--tw-gradient-to-position)}.to-indigo-500\/20{--tw-gradient-to: rgb(99 102 241 / .2) var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to: #4f46e5 var(--tw-gradient-to-position)}.to-orange-500\/5{--tw-gradient-to: rgb(249 115 22 / .05) var(--tw-gradient-to-position)}.to-primary\/5{--tw-gradient-to: rgb(85 61 233 / .05) var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to: #a855f7 var(--tw-gradient-to-position)}.to-purple-500\/20{--tw-gradient-to: rgb(168 85 247 / .2) var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.to-teal{--tw-gradient-to: #1FC5A8 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-yellow-500\/20{--tw-gradient-to: rgb(234 179 8 / .2) var(--tw-gradient-to-position)}.to-zinc-500{--tw-gradient-to: #71717a var(--tw-gradient-to-position)}.to-zinc-500\/20{--tw-gradient-to: rgb(113 113 122 / .2) var(--tw-gradient-to-position)}.to-zinc-600{--tw-gradient-to: #52525b var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-\[\#36342E\]{fill:#36342e}.fill-\[\#939084\]{fill:#939084}.fill-ink{fill:#201515}.fill-primary{fill:#553de9}.fill-white{fill:#fff}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-\[15vh\]{padding-top:15vh}.pt-\[20vh\]{padding-top:20vh}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-text-bottom{vertical-align:text-bottom}.font-heading{font-family:DM Serif Display,Georgia,Times New Roman,serif}.font-mono{font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace}.font-sans{font-family:Inter,system-ui,-apple-system,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-6xl{font-size:3.75rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-caption{font-size:.875rem;line-height:1.5}.text-h1{font-size:2.5rem;line-height:1;letter-spacing:-.01em}.text-h2{font-size:1.5rem;line-height:1.3}.text-h3{font-size:1.25rem;line-height:1.4}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-small{font-size:.75rem;line-height:1.5;font-weight:500}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#059669\]{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-\[\#1FC5A8\]{--tw-text-opacity: 1;color:rgb(31 197 168 / var(--tw-text-opacity, 1))}.text-\[\#201515\]{--tw-text-opacity: 1;color:rgb(32 21 21 / var(--tw-text-opacity, 1))}.text-\[\#2F71E3\]{--tw-text-opacity: 1;color:rgb(47 113 227 / var(--tw-text-opacity, 1))}.text-\[\#36342E\]{--tw-text-opacity: 1;color:rgb(54 52 46 / var(--tw-text-opacity, 1))}.text-\[\#3B82F6\]{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-\[\#553DE9\]{--tw-text-opacity: 1;color:rgb(85 61 233 / var(--tw-text-opacity, 1))}.text-\[\#553DE9\]\/15{color:#553de926}.text-\[\#553DE9\]\/40{color:#553de966}.text-\[\#553DE9\]\/60{color:#553de999}.text-\[\#6B6960\]{--tw-text-opacity: 1;color:rgb(107 105 96 / var(--tw-text-opacity, 1))}.text-\[\#6B6960\]\/30{color:#6b69604d}.text-\[\#6B6960\]\/50{color:#6b696080}.text-\[\#6B8AFD\]{--tw-text-opacity: 1;color:rgb(107 138 253 / var(--tw-text-opacity, 1))}.text-\[\#939084\]{--tw-text-opacity: 1;color:rgb(147 144 132 / var(--tw-text-opacity, 1))}.text-\[\#939084\]\/40{color:#93908466}.text-\[\#939084\]\/60{color:#93908499}.text-\[\#B8B5AD\]{--tw-text-opacity: 1;color:rgb(184 181 173 / var(--tw-text-opacity, 1))}.text-\[\#C45B5B\]{--tw-text-opacity: 1;color:rgb(196 91 91 / var(--tw-text-opacity, 1))}.text-\[\#C45B5B\]\/40{color:#c45b5b66}.text-\[\#D4A03C\]{--tw-text-opacity: 1;color:rgb(212 160 60 / var(--tw-text-opacity, 1))}.text-\[\#D4A843\]{--tw-text-opacity: 1;color:rgb(212 168 67 / var(--tw-text-opacity, 1))}.text-\[\#E5A940\]{--tw-text-opacity: 1;color:rgb(229 169 64 / var(--tw-text-opacity, 1))}.text-\[\#E8E6E3\]{--tw-text-opacity: 1;color:rgb(232 230 227 / var(--tw-text-opacity, 1))}.text-\[\#E93D82\]{--tw-text-opacity: 1;color:rgb(233 61 130 / var(--tw-text-opacity, 1))}.text-\[\#ECEAE3\]{--tw-text-opacity: 1;color:rgb(236 234 227 / var(--tw-text-opacity, 1))}.text-\[\#F59E0B\]{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-border{--tw-text-opacity: 1;color:rgb(236 234 227 / var(--tw-text-opacity, 1))}.text-cyan-600{--tw-text-opacity: 1;color:rgb(8 145 178 / var(--tw-text-opacity, 1))}.text-danger{--tw-text-opacity: 1;color:rgb(196 91 91 / var(--tw-text-opacity, 1))}.text-danger\/70{color:#c45b5bb3}.text-danger\/80{color:#c45b5bcc}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-500\/30{color:#22c55e4d}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-info{--tw-text-opacity: 1;color:rgb(47 113 227 / var(--tw-text-opacity, 1))}.text-ink{--tw-text-opacity: 1;color:rgb(32 21 21 / var(--tw-text-opacity, 1))}.text-ink\/20{color:#20151533}.text-ink\/70{color:#201515b3}.text-ink\/80{color:#201515cc}.text-muted{--tw-text-opacity: 1;color:rgb(147 144 132 / var(--tw-text-opacity, 1))}.text-muted-accessible{--tw-text-opacity: 1;color:rgb(107 105 96 / var(--tw-text-opacity, 1))}.text-muted\/30{color:#9390844d}.text-muted\/40{color:#93908466}.text-muted\/50{color:#93908480}.text-muted\/60{color:#93908499}.text-muted\/70{color:#939084b3}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-pink{--tw-text-opacity: 1;color:rgb(214 51 132 / var(--tw-text-opacity, 1))}.text-pink\/60{color:#d6338499}.text-primary{--tw-text-opacity: 1;color:rgb(85 61 233 / var(--tw-text-opacity, 1))}.text-primary\/20{color:#553de933}.text-primary\/50{color:#553de980}.text-primary\/60{color:#553de999}.text-primary\/70{color:#553de9b3}.text-primary\/80{color:#553de9cc}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-secondary{--tw-text-opacity: 1;color:rgb(54 52 46 / var(--tw-text-opacity, 1))}.text-sky-600{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity, 1))}.text-success,.text-teal{--tw-text-opacity: 1;color:rgb(31 197 168 / var(--tw-text-opacity, 1))}.text-teal\/60{color:#1fc5a899}.text-transparent{color:transparent}.text-warning{--tw-text-opacity: 1;color:rgb(212 160 60 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.text-white\/90{color:#ffffffe6}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-\[\#939084\]::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(147 144 132 / var(--tw-placeholder-opacity, 1))}.placeholder-\[\#939084\]::placeholder{--tw-placeholder-opacity: 1;color:rgb(147 144 132 / var(--tw-placeholder-opacity, 1))}.accent-\[\#553DE9\],.accent-primary{accent-color:#553DE9}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-\[0\.12\]{opacity:.12}.opacity-\[0\.15\]{opacity:.15}.mix-blend-difference{mix-blend-mode:difference}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(85\,61\,233\,0\.3\)\]{--tw-shadow: 0 0 20px rgba(85,61,233,.3);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-button{--tw-shadow: 0 1px 3px rgba(0,0,0,.08);--tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-card{--tw-shadow: 0 1px 3px rgba(0,0,0,.06);--tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-card-hover{--tw-shadow: 0 5px 10px rgba(0,0,0,.08);--tw-shadow-colored: 0 5px 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[\#553DE9\]\/20{--tw-shadow-color: rgb(85 61 233 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-\[\#553DE9\]\/25{--tw-shadow-color: rgb(85 61 233 / .25);--tw-shadow: var(--tw-shadow-colored)}.shadow-card{--tw-shadow-color: #FFFFFF;--tw-shadow: var(--tw-shadow-colored)}.shadow-primary\/30{--tw-shadow-color: rgb(85 61 233 / .3);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--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(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--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),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-\[\#553DE9\]{--tw-ring-opacity: 1;--tw-ring-color: rgb(85 61 233 / var(--tw-ring-opacity, 1))}.ring-green-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1))}.ring-primary{--tw-ring-opacity: 1;--tw-ring-color: rgb(85 61 233 / var(--tw-ring-opacity, 1))}.ring-red-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.ring-offset-2{--tw-ring-offset-width: 2px}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));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)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.dark .placeholder\:text-muted::-moz-placeholder{color:#8a8880!important}.dark .placeholder\:text-muted::placeholder{color:#8a8880!important}.dark .placeholder\:text-\[\#939084\]::-moz-placeholder{color:#8a8880!important}.dark .placeholder\:text-\[\#939084\]::placeholder{color:#8a8880!important}.dark .placeholder\:text-muted-accessible::-moz-placeholder{color:#9a9690!important}.dark .placeholder\:text-muted-accessible::placeholder{color:#9a9690!important}.dark .hover\:bg-card:hover{background-color:#1a1a1e!important}.dark .hover\:bg-\[\#FAF9F6\]:hover{background-color:#0f0f11!important}.dark .hover\:bg-hover:hover,.dark .hover\:bg-\[\#F8F4F0\]:hover{background-color:#222228!important}.dark .hover\:bg-white:hover{background-color:#1a1a1e!important}.dark .hover\:border-border:hover{border-color:#2a2a30!important}.dark .hover\:text-ink:hover{color:#e8e6e3!important}.dark .hover\:text-secondary:hover,.dark .hover\:text-\[\#36342E\]:hover{color:#c5c0b8!important}.dark .hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px #0006,0 4px 6px -4px #0000004d!important}.dark .hover\:text-\[\#553DE9\]:hover{color:#7b6bef!important}.dark .focus\:bg-white:focus{background-color:#1a1a1e!important}.dark .focus\:border-\[\#553DE9\]:focus{border-color:#7b6bef!important}.dark .focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px #0006,0 4px 6px -4px #0000004d!important}.dark .focus\:text-\[\#553DE9\]:focus{color:#7b6bef!important}.dark .group:hover .group-hover\:text-ink{color:#e8e6e3!important}.dark .group:hover .group-hover\:text-\[\#553DE9\]{color:#7b6bef!important}@media(min-width:768px){@media(max-width:767px){.md\:col-span-3{grid-column:span 1 / span 1!important}}}@media(min-width:1024px){.dark .lg\:border-l{border-color:#2a2a30}}.placeholder\:text-\[\#939084\]::-moz-placeholder{--tw-text-opacity: 1;color:rgb(147 144 132 / var(--tw-text-opacity, 1))}.placeholder\:text-\[\#939084\]::placeholder{--tw-text-opacity: 1;color:rgb(147 144 132 / var(--tw-text-opacity, 1))}.placeholder\:text-muted::-moz-placeholder{--tw-text-opacity: 1;color:rgb(147 144 132 / var(--tw-text-opacity, 1))}.placeholder\:text-muted::placeholder{--tw-text-opacity: 1;color:rgb(147 144 132 / var(--tw-text-opacity, 1))}.placeholder\:text-muted-accessible::-moz-placeholder{--tw-text-opacity: 1;color:rgb(107 105 96 / var(--tw-text-opacity, 1))}.placeholder\:text-muted-accessible::placeholder{--tw-text-opacity: 1;color:rgb(107 105 96 / var(--tw-text-opacity, 1))}.placeholder\:text-primary\/60::-moz-placeholder{color:#553de999}.placeholder\:text-primary\/60::placeholder{color:#553de999}.placeholder\:text-transparent::-moz-placeholder{color:transparent}.placeholder\:text-transparent::placeholder{color:transparent}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:left-0:before{content:var(--tw-content);left:0}.before\:top-\[7px\]:before{content:var(--tw-content);top:7px}.before\:h-1\.5:before{content:var(--tw-content);height:.375rem}.before\:w-1\.5:before{content:var(--tw-content);width:.375rem}.before\:rounded-full:before{content:var(--tw-content);border-radius:9999px}.before\:bg-\[\#ECEAE3\]:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(236 234 227 / var(--tw-bg-opacity, 1))}.before\:content-\[\'\'\]:before{--tw-content: "";content:var(--tw-content)}.first\:mt-0:first-child{margin-top:0}.last\:border-b-0:last-child{border-bottom-width:0px}.last\:pb-0:last-child{padding-bottom:0}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[\#553DE9\]\/30:hover{border-color:#553de94d}.hover\:border-\[\#553DE9\]\/40:hover{border-color:#553de966}.hover\:border-\[\#553DE9\]\/50:hover{border-color:#553de980}.hover\:border-\[\#C45B5B\]\/40:hover{border-color:#c45b5b66}.hover\:border-border:hover{--tw-border-opacity: 1;border-color:rgb(236 234 227 / var(--tw-border-opacity, 1))}.hover\:border-primary:hover{--tw-border-opacity: 1;border-color:rgb(85 61 233 / var(--tw-border-opacity, 1))}.hover\:border-primary\/30:hover{border-color:#553de94d}.hover\:bg-\[\#1b1f23\]:hover{--tw-bg-opacity: 1;background-color:rgb(27 31 35 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#3F2BB8\]:hover{--tw-bg-opacity: 1;background-color:rgb(63 43 184 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#4432c4\]:hover{--tw-bg-opacity: 1;background-color:rgb(68 50 196 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#4832c7\]:hover{--tw-bg-opacity: 1;background-color:rgb(72 50 199 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#553DE9\]\/20:hover{background-color:#553de933}.hover\:bg-\[\#553DE9\]\/5:hover{background-color:#553de90d}.hover\:bg-\[\#553DE9\]\/90:hover{background-color:#553de9e6}.hover\:bg-\[\#553DE9\]\/\[0\.02\]:hover{background-color:#553de905}.hover\:bg-\[\#C45B5B\]\/20:hover{background-color:#c45b5b33}.hover\:bg-\[\#E8E4FD\]:hover{--tw-bg-opacity: 1;background-color:rgb(232 228 253 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#ECEAE3\]:hover{--tw-bg-opacity: 1;background-color:rgb(236 234 227 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#F5F4EF\]:hover{--tw-bg-opacity: 1;background-color:rgb(245 244 239 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#F8F4F0\]:hover{--tw-bg-opacity: 1;background-color:rgb(248 244 240 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#FAF9F6\]:hover{--tw-bg-opacity: 1;background-color:rgb(250 249 246 / var(--tw-bg-opacity, 1))}.hover\:bg-black\/10:hover{background-color:#0000001a}.hover\:bg-card:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:bg-danger\/10:hover{background-color:#c45b5b1a}.hover\:bg-danger\/15:hover{background-color:#c45b5b26}.hover\:bg-danger\/20:hover{background-color:#c45b5b33}.hover\:bg-hover:hover{--tw-bg-opacity: 1;background-color:rgb(248 244 240 / var(--tw-bg-opacity, 1))}.hover\:bg-hover\/30:hover{background-color:#f8f4f04d}.hover\:bg-hover\/50:hover{background-color:#f8f4f080}.hover\:bg-info\/15:hover{background-color:#2f71e326}.hover\:bg-primary-hover:hover{--tw-bg-opacity: 1;background-color:rgb(68 50 196 / var(--tw-bg-opacity, 1))}.hover\:bg-primary\/10:hover{background-color:#553de91a}.hover\:bg-primary\/15:hover{background-color:#553de926}.hover\:bg-primary\/20:hover{background-color:#553de933}.hover\:bg-primary\/30:hover{background-color:#553de94d}.hover\:bg-primary\/5:hover{background-color:#553de90d}.hover\:bg-primary\/90:hover{background-color:#553de9e6}.hover\:bg-red-400\/5:hover{background-color:#f871710d}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500\/20:hover{background-color:#ef444433}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-teal\/15:hover{background-color:#1fc5a826}.hover\:bg-warning\/10:hover{background-color:#d4a03c1a}.hover\:bg-warning\/15:hover{background-color:#d4a03c26}.hover\:bg-warning\/20:hover{background-color:#d4a03c33}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:text-\[\#36342E\]:hover{--tw-text-opacity: 1;color:rgb(54 52 46 / var(--tw-text-opacity, 1))}.hover\:text-\[\#3F2BB8\]:hover{--tw-text-opacity: 1;color:rgb(63 43 184 / var(--tw-text-opacity, 1))}.hover\:text-\[\#4432c4\]:hover{--tw-text-opacity: 1;color:rgb(68 50 196 / var(--tw-text-opacity, 1))}.hover\:text-\[\#4832c7\]:hover{--tw-text-opacity: 1;color:rgb(72 50 199 / var(--tw-text-opacity, 1))}.hover\:text-\[\#553DE9\]:hover{--tw-text-opacity: 1;color:rgb(85 61 233 / var(--tw-text-opacity, 1))}.hover\:text-\[\#C45B5B\]:hover,.hover\:text-danger:hover{--tw-text-opacity: 1;color:rgb(196 91 91 / var(--tw-text-opacity, 1))}.hover\:text-ink:hover{--tw-text-opacity: 1;color:rgb(32 21 21 / var(--tw-text-opacity, 1))}.hover\:text-primary:hover{--tw-text-opacity: 1;color:rgb(85 61 233 / var(--tw-text-opacity, 1))}.hover\:text-primary-hover:hover{--tw-text-opacity: 1;color:rgb(68 50 196 / var(--tw-text-opacity, 1))}.hover\:text-primary\/80:hover{color:#553de9cc}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-secondary:hover{--tw-text-opacity: 1;color:rgb(54 52 46 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-card-hover:hover{--tw-shadow: 0 5px 10px rgba(0,0,0,.08);--tw-shadow-colored: 0 5px 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[\#553DE9\]\/30:hover{--tw-shadow-color: rgb(85 61 233 / .3);--tw-shadow: var(--tw-shadow-colored)}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:absolute:focus{position:absolute}.focus\:left-2:focus{left:.5rem}.focus\:top-2:focus{top:.5rem}.focus\:z-50:focus{z-index:50}.focus\:rounded-\[3px\]:focus{border-radius:3px}.focus\:border-\[\#553DE9\]:focus{--tw-border-opacity: 1;border-color:rgb(85 61 233 / var(--tw-border-opacity, 1))}.focus\:border-\[\#553DE9\]\/40:focus{border-color:#553de966}.focus\:border-primary:focus{--tw-border-opacity: 1;border-color:rgb(85 61 233 / var(--tw-border-opacity, 1))}.focus\:border-primary\/30:focus{border-color:#553de94d}.focus\:bg-white:focus{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.focus\:text-\[\#553DE9\]:focus{--tw-text-opacity: 1;color:rgb(85 61 233 / var(--tw-text-opacity, 1))}.focus\:shadow-card:focus{--tw-shadow: 0 1px 3px rgba(0,0,0,.06);--tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:shadow-lg:focus{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:shadow-card:focus{--tw-shadow-color: #FFFFFF;--tw-shadow: var(--tw-shadow-colored)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.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),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-\[\#553DE9\]:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(85 61 233 / var(--tw-ring-opacity, 1))}.focus\:ring-\[\#553DE9\]\/10:focus{--tw-ring-color: rgb(85 61 233 / .1)}.focus\:ring-\[\#553DE9\]\/20:focus{--tw-ring-color: rgb(85 61 233 / .2)}.focus\:ring-\[\#553DE9\]\/30:focus{--tw-ring-color: rgb(85 61 233 / .3)}.focus\:ring-\[\#553DE9\]\/40:focus{--tw-ring-color: rgb(85 61 233 / .4)}.focus\:ring-\[\#C45B5B\]\/40:focus{--tw-ring-color: rgb(196 91 91 / .4)}.focus\:ring-primary:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(85 61 233 / var(--tw-ring-opacity, 1))}.focus\:ring-primary\/10:focus{--tw-ring-color: rgb(85 61 233 / .1)}.focus\:ring-primary\/20:focus{--tw-ring-color: rgb(85 61 233 / .2)}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\:ring-offset-white:focus{--tw-ring-offset-color: #fff}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-offset-\[-1px\]:focus-visible{outline-offset:-1px}.focus-visible\:outline-offset-\[-2px\]:focus-visible{outline-offset:-2px}.focus-visible\:outline-\[\#553DE9\]:focus-visible{outline-color:#553de9}.focus-visible\:outline-danger:focus-visible{outline-color:#c45b5b}.focus-visible\:outline-primary:focus-visible{outline-color:#553de9}.active\:scale-\[0\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-\[\#553DE9\]\/15{background-color:#553de926}.group:hover .group-hover\:text-\[\#553DE9\]{--tw-text-opacity: 1;color:rgb(85 61 233 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-ink{--tw-text-opacity: 1;color:rgb(32 21 21 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-primary{--tw-text-opacity: 1;color:rgb(85 61 233 / var(--tw-text-opacity, 1))}.group\/file:hover .group-hover\/file\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}@media(prefers-reduced-motion:reduce){.motion-reduce\:hidden{display:none}.motion-reduce\:animate-none{animation:none}.motion-reduce\:transition-none{transition-property:none}}.dark\:divide-\[\#2A2A30\]:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(42 42 48 / var(--tw-divide-opacity, 1))}.dark\:border-\[\#1A1A1E\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(26 26 30 / var(--tw-border-opacity, 1))}.dark\:border-\[\#2A2A2E\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 42 46 / var(--tw-border-opacity, 1))}.dark\:border-\[\#2A2A30\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 42 48 / var(--tw-border-opacity, 1))}.dark\:border-\[\#553DE9\]\/30:is(.dark *){border-color:#553de94d}.dark\:border-dark-border:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 42 48 / var(--tw-border-opacity, 1))}.dark\:border-green-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(22 101 52 / var(--tw-border-opacity, 1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.dark\:border-yellow-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(133 77 14 / var(--tw-border-opacity, 1))}.dark\:border-b-card:is(.dark *){--tw-border-opacity: 1;border-bottom-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.dark\:border-l-card:is(.dark *){--tw-border-opacity: 1;border-left-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.dark\:border-r-card:is(.dark *){--tw-border-opacity: 1;border-right-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.dark\:border-t-card:is(.dark *){--tw-border-opacity: 1;border-top-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.dark\:bg-\[\#0F0F11\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#121215\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(18 18 21 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#18181B\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1A1A1E\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 26 30 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1A1A1F\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 26 31 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#222228\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(34 34 40 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#23232A\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(35 35 42 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#2A2A30\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(42 42 48 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#553DE9\]\/10:is(.dark *){background-color:#553de91a}.dark\:bg-\[\#553DE9\]\/20:is(.dark *){background-color:#553de933}.dark\:bg-card\/90:is(.dark *){background-color:#ffffffe6}.dark\:bg-dark-bg:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1))}.dark\:bg-dark-card:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 26 30 / var(--tw-bg-opacity, 1))}.dark\:bg-dark-hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(34 34 40 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900\/20:is(.dark *){background-color:#14532d33}.dark\:bg-primary\/10:is(.dark *){background-color:#553de91a}.dark\:bg-red-900\/20:is(.dark *){background-color:#7f1d1d33}.dark\:bg-yellow-900\/20:is(.dark *){background-color:#713f1233}.dark\:from-\[\#553DE9\]\/30:is(.dark *){--tw-gradient-from: rgb(85 61 233 / .3) var(--tw-gradient-from-position);--tw-gradient-to: rgb(85 61 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:via-\[\#553DE9\]\/15:is(.dark *){--tw-gradient-to: rgb(85 61 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(85 61 233 / .15) var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:to-\[\#8B78F0\]\/10:is(.dark *){--tw-gradient-to: rgb(139 120 240 / .1) var(--tw-gradient-to-position)}.dark\:fill-\[\#1A1A1E\]:is(.dark *){fill:#1a1a1e}.dark\:fill-\[\#E8E6E3\]:is(.dark *){fill:#e8e6e3}.dark\:stroke-\[\#2A2A30\]:is(.dark *){stroke:#2a2a30}.dark\:text-\[\#7B6BEF\]:is(.dark *){--tw-text-opacity: 1;color:rgb(123 107 239 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8A8880\]:is(.dark *){--tw-text-opacity: 1;color:rgb(138 136 128 / var(--tw-text-opacity, 1))}.dark\:text-\[\#A8A69E\]:is(.dark *){--tw-text-opacity: 1;color:rgb(168 166 158 / var(--tw-text-opacity, 1))}.dark\:text-\[\#C5C0B8\]:is(.dark *){--tw-text-opacity: 1;color:rgb(197 192 184 / var(--tw-text-opacity, 1))}.dark\:text-\[\#E8E6E3\]:is(.dark *){--tw-text-opacity: 1;color:rgb(232 230 227 / var(--tw-text-opacity, 1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-dark-ink:is(.dark *){--tw-text-opacity: 1;color:rgb(232 230 227 / var(--tw-text-opacity, 1))}.dark\:text-dark-muted:is(.dark *){--tw-text-opacity: 1;color:rgb(138 136 128 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-sky-400:is(.dark *){--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-\[\#222228\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(34 34 40 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#23232A\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(35 35 42 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-dark-hover:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(34 34 40 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-white\/10:hover:is(.dark *){background-color:#ffffff1a}.dark\:hover\:text-\[\#E8E6E3\]:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(232 230 227 / var(--tw-text-opacity, 1))}.dark\:focus\:ring-offset-\[\#1A1A1E\]:focus:is(.dark *){--tw-ring-offset-color: #1A1A1E}@media not all and (min-width:768px){.max-md\:flex-col{flex-direction:column}.max-md\:gap-3{gap:.75rem}.max-md\:gap-4{gap:1rem}.max-md\:px-4{padding-left:1rem;padding-right:1rem}.max-md\:text-h2{font-size:1.5rem;line-height:1.3}}@media(min-width:640px){.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-16{gap:4rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:768px){.md\:col-span-1{grid-column:span 1 / span 1}.md\:col-span-2{grid-column:span 2 / span 2}.md\:col-span-3{grid-column:span 3 / span 3}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:table-cell{display:table-cell}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:gap-8{gap:2rem}}@media(min-width:1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:inline{display:inline}.lg\:max-h-none{max-height:none}.lg\:w-\[40\%\]{width:40%}.lg\:w-\[60\%\]{width:60%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,18rem\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,18rem) minmax(0,1fr)}.lg\:flex-row{flex-direction:row}.lg\:border-l{border-left-width:1px}.lg\:border-t-0{border-top-width:0px}.lg\:p-8{padding:2rem}}@media(min-width:1280px){.xl\:col-span-1{grid-column:span 1 / span 1}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,22rem\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,22rem) minmax(0,1fr)}.xl\:items-start{align-items:flex-start}}
|