clawatch 1.0.26 → 1.0.28
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/dist/cli.js +43 -7
- package/dist/cli.js.map +1 -1
- package/frontend/.next/BUILD_ID +1 -1
- package/frontend/.next/app-path-routes-manifest.json +0 -1
- package/frontend/.next/build-manifest.json +2 -2
- package/frontend/.next/prerender-manifest.json +0 -24
- package/frontend/.next/routes-manifest.json +0 -6
- package/frontend/.next/server/app/_global-error.html +2 -2
- package/frontend/.next/server/app/_global-error.rsc +2 -2
- package/frontend/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/frontend/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
- package/frontend/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/frontend/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/frontend/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/frontend/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/frontend/.next/server/app/_not-found.html +1 -1
- package/frontend/.next/server/app/_not-found.rsc +3 -3
- package/frontend/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/frontend/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/frontend/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/frontend/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/frontend/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/frontend/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/frontend/.next/server/app/dashboard/page.js.nft.json +1 -1
- package/frontend/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
- package/frontend/.next/server/app/dashboard/projects/[id]/page.js.nft.json +1 -1
- package/frontend/.next/server/app/dashboard/projects/[id]/page_client-reference-manifest.js +1 -1
- package/frontend/.next/server/app/dashboard/sessions/[id]/page.js.nft.json +1 -1
- package/frontend/.next/server/app/dashboard/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/frontend/.next/server/app/dashboard.html +1 -1
- package/frontend/.next/server/app/dashboard.rsc +4 -4
- package/frontend/.next/server/app/dashboard.segments/_full.segment.rsc +4 -4
- package/frontend/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/frontend/.next/server/app/dashboard.segments/_index.segment.rsc +2 -2
- package/frontend/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/frontend/.next/server/app/dashboard.segments/dashboard/__PAGE__.segment.rsc +2 -2
- package/frontend/.next/server/app/dashboard.segments/dashboard.segment.rsc +1 -1
- package/frontend/.next/server/app/favicon.ico.body +0 -0
- package/frontend/.next/server/app/index.html +33 -1
- package/frontend/.next/server/app/index.rsc +4 -4
- package/frontend/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/frontend/.next/server/app/index.segments/_full.segment.rsc +4 -4
- package/frontend/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/frontend/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/frontend/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/frontend/.next/server/app/page.js.nft.json +1 -1
- package/frontend/.next/server/app/page_client-reference-manifest.js +1 -1
- package/frontend/.next/server/app-paths-manifest.json +0 -1
- package/frontend/.next/server/chunks/[root-of-the-server]__206abf59._.js +6 -6
- package/frontend/.next/server/chunks/ssr/[root-of-the-server]__008d27c3._.js +3 -0
- package/frontend/.next/server/chunks/ssr/[root-of-the-server]__69cb56c5._.js +3 -0
- package/frontend/.next/server/chunks/ssr/[root-of-the-server]__b0dc4db1._.js +1 -1
- package/frontend/.next/server/chunks/ssr/{_7062b9c0._.js → _2bfdd77b._.js} +34 -2
- package/frontend/.next/server/chunks/ssr/_b0ae6d33._.js +1 -1
- package/frontend/.next/server/chunks/ssr/_e17fe96b._.js +3 -0
- package/frontend/.next/server/chunks/ssr/{_aa02b285._.js → _f26b1aca._.js} +34 -2
- package/frontend/.next/server/chunks/ssr/src_app_5b2047f8._.js +1 -1
- package/frontend/.next/server/next-font-manifest.js +1 -1
- package/frontend/.next/server/next-font-manifest.json +0 -4
- package/frontend/.next/server/pages/404.html +1 -1
- package/frontend/.next/server/pages/500.html +2 -2
- package/frontend/.next/static/chunks/4377848a9c28ed1e.js +1 -0
- package/frontend/.next/static/chunks/6384459f7ebf182a.js +1 -0
- package/frontend/.next/static/chunks/889a3378ed5d7ecb.js +1 -0
- package/frontend/.next/static/chunks/895ec711bc3f891d.css +3 -0
- package/frontend/.next/static/chunks/89705374f0ef34d2.js +1 -0
- package/frontend/.next/static/chunks/9e5b5ccda421a827.js +33 -0
- package/frontend/.next/static/chunks/e286ecc1826dbc08.js +1 -0
- package/frontend/.next/static/media/favicon.146e26cc.ico +0 -0
- package/frontend/public/apple-touch-icon.png +0 -0
- package/frontend/public/clawatch-owl-192.png +0 -0
- package/frontend/public/clawatch-owl-512.png +0 -0
- package/frontend/public/clawatch-owl.svg +124 -0
- package/frontend/public/favicon-16x16.png +0 -0
- package/frontend/public/favicon-32x32.png +0 -0
- package/frontend/public/favicon.ico +0 -0
- package/frontend/server-with-proxy.js +3 -20
- package/package.json +1 -1
- package/frontend/.next/server/app/dashboard/costs/page/app-paths-manifest.json +0 -3
- package/frontend/.next/server/app/dashboard/costs/page/build-manifest.json +0 -17
- package/frontend/.next/server/app/dashboard/costs/page/next-font-manifest.json +0 -11
- package/frontend/.next/server/app/dashboard/costs/page/react-loadable-manifest.json +0 -1
- package/frontend/.next/server/app/dashboard/costs/page/server-reference-manifest.json +0 -4
- package/frontend/.next/server/app/dashboard/costs/page.js +0 -16
- package/frontend/.next/server/app/dashboard/costs/page.js.map +0 -5
- package/frontend/.next/server/app/dashboard/costs/page.js.nft.json +0 -1
- package/frontend/.next/server/app/dashboard/costs/page_client-reference-manifest.js +0 -2
- package/frontend/.next/server/app/dashboard/costs.html +0 -1
- package/frontend/.next/server/app/dashboard/costs.meta +0 -16
- package/frontend/.next/server/app/dashboard/costs.rsc +0 -20
- package/frontend/.next/server/app/dashboard/costs.segments/_full.segment.rsc +0 -20
- package/frontend/.next/server/app/dashboard/costs.segments/_head.segment.rsc +0 -6
- package/frontend/.next/server/app/dashboard/costs.segments/_index.segment.rsc +0 -5
- package/frontend/.next/server/app/dashboard/costs.segments/_tree.segment.rsc +0 -4
- package/frontend/.next/server/app/dashboard/costs.segments/dashboard/costs/__PAGE__.segment.rsc +0 -9
- package/frontend/.next/server/app/dashboard/costs.segments/dashboard/costs.segment.rsc +0 -4
- package/frontend/.next/server/app/dashboard/costs.segments/dashboard.segment.rsc +0 -4
- package/frontend/.next/server/chunks/ssr/[root-of-the-server]__96998d39._.js +0 -3
- package/frontend/.next/server/chunks/ssr/[root-of-the-server]__ad9c7c6a._.js +0 -3
- package/frontend/.next/server/chunks/ssr/[root-of-the-server]__cb471d02._.js +0 -3
- package/frontend/.next/server/chunks/ssr/[root-of-the-server]__f99f8278._.js +0 -3
- package/frontend/.next/server/chunks/ssr/_81435076._.js +0 -3
- package/frontend/.next/server/chunks/ssr/_8f399861._.js +0 -4
- package/frontend/.next/server/chunks/ssr/_next-internal_server_app_dashboard_costs_page_actions_b5efa95e.js +0 -3
- package/frontend/.next/server/chunks/ssr/node_modules_09eef5ec._.js +0 -3
- package/frontend/.next/server/chunks/ssr/node_modules_b4c16e3a._.js +0 -3
- package/frontend/.next/server/chunks/ssr/src_app_dashboard_page_tsx_196c74b5._.js +0 -3
- package/frontend/.next/server/chunks/ssr/src_components_ui_button_tsx_d75cfe12._.js +0 -3
- package/frontend/.next/static/chunks/139d48bcbc462224.js +0 -1
- package/frontend/.next/static/chunks/25c0d885ca7bcbe1.js +0 -1
- package/frontend/.next/static/chunks/31f0905710e3dfc3.js +0 -1
- package/frontend/.next/static/chunks/34b822c87d271e34.js +0 -1
- package/frontend/.next/static/chunks/790649543cff1084.js +0 -1
- package/frontend/.next/static/chunks/88a2c1056ccf4825.js +0 -1
- package/frontend/.next/static/chunks/9dc87ca9ab86c348.css +0 -3
- package/frontend/.next/static/chunks/b1b1c7e52e2182c7.js +0 -1
- package/frontend/.next/static/chunks/be5e61723b600d44.js +0 -1
- package/frontend/.next/static/chunks/c3af0c75d8e1b7b4.js +0 -1
- package/frontend/.next/static/chunks/f5dbb90939b55e4f.js +0 -1
- package/frontend/.next/static/media/favicon.0b3bf435.ico +0 -0
- /package/frontend/.next/static/{w4h18_Clp_ODehKO0HkwI → 0wK6XKeZM4pETq1rAH0LM}/_buildManifest.js +0 -0
- /package/frontend/.next/static/{w4h18_Clp_ODehKO0HkwI → 0wK6XKeZM4pETq1rAH0LM}/_clientMiddlewareManifest.json +0 -0
- /package/frontend/.next/static/{w4h18_Clp_ODehKO0HkwI → 0wK6XKeZM4pETq1rAH0LM}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,s,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},52683,e=>{"use strict";var s=e.i(43476),t=e.i(71645),a=e.i(22016),r=e.i(19455),l=e.i(98940);function n({text:e,className:a=""}){let[r,l]=(0,t.useState)(!1);return(0,s.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(e),l(!0),setTimeout(()=>l(!1),2e3)},className:`text-gray-400 hover:text-white transition-colors ${a}`,"aria-label":"Copy to clipboard",children:r?(0,s.jsx)("svg",{className:"size-4",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"#10b981",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4.5 12.75l6 6 9-13.5"})}):(0,s.jsx)("svg",{className:"size-4",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.666 3.888A2.25 2.25 0 0013.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 01-.75.75H9.75a.75.75 0 01-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 01-2.25 2.25H6.75A2.25 2.25 0 014.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 011.927-.184"})})})}function i({children:e,copyText:t}){return(0,s.jsxs)("div",{className:"relative bg-[#0d1117] rounded-xl border border-white/[0.06] overflow-hidden",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between px-4 py-2.5 border-b border-white/[0.06]",children:[(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,s.jsx)("span",{className:"size-3 rounded-full bg-[#ff5f57]"}),(0,s.jsx)("span",{className:"size-3 rounded-full bg-[#febc2e]"}),(0,s.jsx)("span",{className:"size-3 rounded-full bg-[#28c840]"})]}),t&&(0,s.jsx)(n,{text:t})]}),(0,s.jsx)("div",{className:"p-4 font-mono text-sm leading-relaxed overflow-x-auto",children:e})]})}let o=[{title:"Cost Monitoring & Thresholds",description:"Track spend per agent in real-time. Set daily or monthly limits with automatic alerts when thresholds are approached or exceeded.",icon:(0,s.jsx)("svg",{className:"size-6",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M2.25 18.75a60.07 60.07 0 0115.797 2.101c.727.198 1.453-.342 1.453-1.096V18.75M3.75 4.5v.75A.75.75 0 013 6h-.75m0 0v-.375c0-.621.504-1.125 1.125-1.125H20.25M2.25 6v9m18-10.5v.75c0 .414.336.75.75.75h.75m-1.5-1.5h.375c.621 0 1.125.504 1.125 1.125v9.75c0 .621-.504 1.125-1.125 1.125h-.375m1.5-1.5H21a.75.75 0 00-.75.75v.75m0 0H3.75m0 0h-.375a1.125 1.125 0 01-1.125-1.125V15m1.5 1.5v-.75A.75.75 0 003 15h-.75M15 10.5a3 3 0 11-6 0 3 3 0 016 0zm3 0h.008v.008H18V10.5zm-12 0h.008v.008H6V10.5z"})})},{title:"Smart Alerts to Your Phone",description:"Get instant notifications for stuck agents, errors, cost spikes, and anomalies. Telegram, Slack, or webhook — your choice.",icon:(0,s.jsx)("svg",{className:"size-6",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.5 1.5H8.25A2.25 2.25 0 006 3.75v16.5a2.25 2.25 0 002.25 2.25h7.5A2.25 2.25 0 0018 20.25V3.75a2.25 2.25 0 00-2.25-2.25H13.5m-3 0V3h3V1.5m-3 0h3m-3 18.75h3"})})},{title:"Control Agents from Anywhere",description:"Pause, resume, or stop agents directly from the dashboard or your phone. One click, instant effect.",icon:(0,s.jsx)("svg",{className:"size-6",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5.25 5.653c0-.856.917-1.398 1.667-.986l11.54 6.348a1.125 1.125 0 010 1.971l-11.54 6.347a1.125 1.125 0 01-1.667-.985V5.653z"})})},{title:"Unified Session View",description:"Group sessions into projects for a bird's-eye view. See cost, timeline, and agent breakdown across related work.",icon:(0,s.jsx)("svg",{className:"size-6",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 6A2.25 2.25 0 016 3.75h2.25A2.25 2.25 0 0110.5 6v2.25a2.25 2.25 0 01-2.25 2.25H6a2.25 2.25 0 01-2.25-2.25V6zM3.75 15.75A2.25 2.25 0 016 13.5h2.25a2.25 2.25 0 012.25 2.25V18a2.25 2.25 0 01-2.25 2.25H6A2.25 2.25 0 013.75 18v-2.25zM13.5 6a2.25 2.25 0 012.25-2.25H18A2.25 2.25 0 0120.25 6v2.25A2.25 2.25 0 0118 10.5h-2.25a2.25 2.25 0 01-2.25-2.25V6zM13.5 15.75a2.25 2.25 0 012.25-2.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-2.25A2.25 2.25 0 0113.5 18v-2.25z"})})},{title:"Smart Error Insights",description:"No more digging through scattered logs. ClaWatch surfaces errors in plain language with context and suggested fixes.",icon:(0,s.jsx)("svg",{className:"size-6",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z"})})},{title:"Multi-Profile Support",description:"Monitor multiple OpenClaw installations from one dashboard. Switch profiles instantly — dev, staging, production.",icon:(0,s.jsx)("svg",{className:"size-6",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 19.128a9.38 9.38 0 002.625.372 9.337 9.337 0 004.121-.952 4.125 4.125 0 00-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 018.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0111.964-3.07M12 6.375a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zm8.25 2.25a2.625 2.625 0 11-5.25 0 2.625 2.625 0 015.25 0z"})})}],c=[{name:"OpenClaw",icon:"🦞",status:"supported",url:"https://openclaw.ai"},{name:"NanoClaw",icon:(0,s.jsx)("img",{src:"/providers/nanoclaw.webp",alt:"NanoClaw",className:"size-7 rounded"}),status:"supported",url:"https://nanoclaw.net"},{name:"ZeroClaw",icon:(0,s.jsx)("img",{src:"/providers/zeroclaw.png",alt:"ZeroClaw",className:"size-7 rounded"}),status:"coming",url:"https://zeroclaw.dev"},{name:"TrustClaw",icon:(0,s.jsx)("img",{src:"/providers/trustclaw.svg",alt:"TrustClaw",className:"size-7"}),status:"coming",url:"https://www.trustclaw.app"},{name:"Nanobot",icon:(0,s.jsx)("img",{src:"/providers/nanobot.png",alt:"Nanobot",className:"size-7 rounded"}),status:"coming",url:"https://nanobot.ai"},{name:"PicoClaw",icon:(0,s.jsx)("img",{src:"/providers/picoclaw.ico",alt:"PicoClaw",className:"size-7 rounded"}),status:"coming",url:"https://picoclaw.dev"}],d=[{cmd:"clawatch start",desc:"Auto-detect agents, start monitoring, and open the dashboard"},{cmd:"clawatch stop",desc:"Stop the monitoring daemon gracefully"},{cmd:"clawatch status",desc:"Show active agents, sessions, and daemon health"},{cmd:"clawatch logs",desc:"Stream real-time logs from the monitoring daemon"}],m=["macOS","Linux (Ubuntu/Debian)","Windows WSL","Raspberry Pi","AWS","GCP","Digital Ocean","Hetzner"],x=[{name:"Telegram",available:!0},{name:"Slack",available:!1},{name:"Discord",available:!1},{name:"Email",available:!1},{name:"PagerDuty",available:!1}],h=[{q:"What is ClaWatch?",a:"ClaWatch is an open source observability platform for AI agents. It monitors your OpenClaw agents in real-time, tracking heartbeats, token usage, costs, and errors."},{q:"Is it free?",a:"Yes. ClaWatch is MIT licensed and free forever. You can self-host it or use our managed service."},{q:"How do I install?",a:"Run npm install -g clawatch in your terminal. Then run clawatch start — it auto-detects your OpenClaw agents and opens the dashboard."},{q:"What data does it collect?",a:"Agent heartbeats, token usage, costs, and errors from OpenClaw session files. Everything stays local on your machine by default."},{q:"Does it work with other agent frameworks?",a:"Currently ClaWatch supports OpenClaw. Support for additional agent frameworks is coming soon."},{q:"Where is my data stored?",a:"Locally on your machine. Nothing leaves your network unless you explicitly opt-in to managed hosting."}];function u({q:e,a}){let[r,l]=(0,t.useState)(!1);return(0,s.jsxs)("div",{className:"border border-white/[0.06] rounded-xl overflow-hidden",children:[(0,s.jsxs)("button",{onClick:()=>l(!r),className:"w-full flex items-center justify-between px-6 py-4 text-left hover:bg-white/[0.02] transition-colors",children:[(0,s.jsx)("span",{className:"font-medium text-white",children:e}),(0,s.jsx)("svg",{className:`size-5 text-gray-400 transition-transform shrink-0 ml-4 ${r?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19.5 8.25l-7.5 7.5-7.5-7.5"})})]}),r&&(0,s.jsx)("div",{className:"px-6 pb-4 text-gray-400 leading-relaxed text-sm",children:a})]})}function p(){return(0,s.jsxs)("div",{className:"min-h-screen bg-[#0a0a0f] text-white",children:[(0,s.jsx)("nav",{className:"border-b border-white/[0.06] backdrop-blur-md sticky top-0 z-50 bg-[#0a0a0f]/80",children:(0,s.jsxs)("div",{className:"max-w-6xl mx-auto px-6 h-16 flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center gap-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(l.ClaWatchIcon,{}),(0,s.jsx)(l.ClaWatchLogo,{size:"md"})]}),(0,s.jsxs)("div",{className:"hidden sm:flex items-center gap-5 text-sm text-gray-400",children:[(0,s.jsx)("a",{href:"#features",className:"hover:text-white transition-colors",children:"Features"}),(0,s.jsx)("a",{href:"#faq",className:"hover:text-white transition-colors",children:"FAQ"})]})]}),(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("a",{href:"https://github.com/GENWAY-AI/clawatch",target:"_blank",rel:"noopener noreferrer",children:(0,s.jsxs)(r.Button,{variant:"outline",size:"sm",className:"gap-2 border-white/[0.1] bg-transparent hover:bg-white/[0.05] text-gray-300 hover:text-white",children:[(0,s.jsx)("svg",{className:"size-4",viewBox:"0 0 24 24",fill:"currentColor",children:(0,s.jsx)("path",{d:"M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"})}),"Star"]})}),(0,s.jsx)(a.default,{href:"/dashboard",children:(0,s.jsx)(r.Button,{size:"sm",className:"bg-emerald-500 hover:bg-emerald-600 text-white",children:"Dashboard"})})]})]})}),(0,s.jsx)("section",{className:"pt-28 pb-20 px-6",children:(0,s.jsxs)("div",{className:"max-w-4xl mx-auto text-center",children:[(0,s.jsxs)("div",{className:"inline-flex items-center gap-2 px-3 py-1 rounded-full border border-emerald-500/30 bg-emerald-500/10 text-emerald-400 text-sm mb-8",children:[(0,s.jsx)("span",{className:"size-1.5 rounded-full bg-emerald-400 animate-pulse"}),"Open Source · Free Forever"]}),(0,s.jsxs)("h1",{className:"text-5xl sm:text-6xl lg:text-7xl font-bold tracking-tight leading-[1.1] mb-6",children:["Know what your agents",(0,s.jsx)("br",{}),"are doing."," ",(0,s.jsx)("span",{className:"bg-gradient-to-r from-emerald-400 to-emerald-300 bg-clip-text text-transparent",children:"Right now."})]}),(0,s.jsx)("p",{className:"text-lg sm:text-xl text-gray-400 max-w-2xl mx-auto mb-10 leading-relaxed",children:"Your OpenClaw agents spawn sub-agents, burn tokens, call tools. ClaWatch shows you everything, in real-time. Open source. Free forever."}),(0,s.jsxs)("div",{className:"flex items-center justify-center gap-4 mb-16",children:[(0,s.jsx)(a.default,{href:"/dashboard",children:(0,s.jsx)(r.Button,{size:"lg",className:"bg-emerald-500 hover:bg-emerald-600 text-white h-12 px-8 text-base font-medium",children:"Get Started"})}),(0,s.jsx)("a",{href:"https://github.com/GENWAY-AI/clawatch",target:"_blank",rel:"noopener noreferrer",children:(0,s.jsxs)(r.Button,{variant:"outline",size:"lg",className:"h-12 px-8 text-base gap-2 border-white/[0.1] bg-transparent hover:bg-white/[0.05] text-gray-300 hover:text-white font-medium",children:[(0,s.jsx)("svg",{className:"size-5",viewBox:"0 0 24 24",fill:"currentColor",children:(0,s.jsx)("path",{d:"M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"})}),"Star on GitHub"]})})]}),(0,s.jsx)("div",{className:"max-w-2xl mx-auto",children:(0,s.jsxs)(i,{copyText:"npm install -g clawatch && clawatch start",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-emerald-400",children:"$"})," ",(0,s.jsx)("span",{className:"text-gray-300",children:"npm install -g clawatch"})]}),(0,s.jsxs)("div",{className:"mt-1",children:[(0,s.jsx)("span",{className:"text-emerald-400",children:"$"})," ",(0,s.jsx)("span",{className:"text-gray-300",children:"clawatch start"})]}),(0,s.jsx)("div",{className:"text-emerald-400 mt-0.5",children:"✓ Found 12 agents, 130 sessions"}),(0,s.jsx)("div",{className:"text-emerald-400 mt-0.5",children:"✓ Monitoring started. Dashboard → http://localhost:3001"})]})})]})}),(0,s.jsx)("section",{id:"features",className:"py-24 px-6 border-t border-white/[0.06]",children:(0,s.jsxs)("div",{className:"max-w-5xl mx-auto",children:[(0,s.jsxs)("div",{className:"text-center mb-16",children:[(0,s.jsx)("h2",{className:"text-3xl sm:text-4xl font-bold mb-4",children:"What You Get"}),(0,s.jsx)("p",{className:"text-gray-400 text-lg max-w-2xl mx-auto",children:"Everything you need to keep AI agents in check. Lightweight, fast, and open source."})]}),(0,s.jsx)("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:o.map(e=>(0,s.jsxs)("div",{className:"rounded-xl border border-white/[0.06] bg-white/[0.02] p-6 hover:border-emerald-500/30 transition-colors",children:[(0,s.jsx)("div",{className:"size-10 rounded-lg bg-emerald-500/10 text-emerald-400 flex items-center justify-center mb-4",children:e.icon}),(0,s.jsx)("h3",{className:"text-lg font-semibold mb-2",children:e.title}),(0,s.jsx)("p",{className:"text-gray-400 text-sm leading-relaxed",children:e.description})]},e.title))})]})}),(0,s.jsx)("section",{className:"py-24 px-6 border-t border-white/[0.06]",children:(0,s.jsxs)("div",{className:"max-w-5xl mx-auto",children:[(0,s.jsxs)("div",{className:"text-center mb-16",children:[(0,s.jsx)("h2",{className:"text-3xl sm:text-4xl font-bold mb-4",children:"Works with Your Stack"}),(0,s.jsx)("p",{className:"text-lg text-gray-400 max-w-2xl mx-auto",children:"ClaWatch auto-detects your agent framework. Full support today, more coming soon."})]}),(0,s.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-4",children:c.map(e=>(0,s.jsxs)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"group relative bg-white/[0.02] border border-white/[0.06] rounded-xl p-6 text-center hover:border-emerald-500/30 hover:scale-[1.02] transition-all duration-200 block no-underline",children:[(0,s.jsx)("div",{className:"size-12 mx-auto mb-3 rounded-lg bg-white/[0.05] flex items-center justify-center text-2xl",children:e.icon}),(0,s.jsx)("div",{className:"font-semibold mb-2",children:e.name}),(0,s.jsx)("span",{className:`inline-block px-2.5 py-0.5 rounded-full text-xs font-medium ${"supported"===e.status?"bg-emerald-500/10 text-emerald-400 border border-emerald-500/20":"bg-amber-500/10 text-amber-400 border border-amber-500/20"}`,children:"supported"===e.status?"Fully supported":"Coming soon"})]},e.name))}),(0,s.jsxs)("p",{className:"text-center text-sm text-gray-500 mt-8",children:["Want support for your framework?"," ",(0,s.jsx)("a",{href:"https://github.com/GENWAY-AI/clawatch/issues",className:"text-emerald-400 hover:text-emerald-300 transition-colors",children:"Request it →"})]})]})}),(0,s.jsx)("section",{className:"py-24 px-6 border-t border-white/[0.06]",children:(0,s.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,s.jsx)("h2",{className:"text-3xl sm:text-4xl font-bold mb-4 text-center",children:"CLI Commands"}),(0,s.jsx)("p",{className:"text-gray-400 text-lg text-center mb-12",children:"Simple, powerful commands. No config files needed."}),(0,s.jsx)(i,{children:d.map((e,t)=>(0,s.jsxs)("div",{className:t>0?"mt-3":"",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-emerald-400",children:"$"})," ",(0,s.jsx)("span",{className:"text-white",children:e.cmd})]}),(0,s.jsx)("div",{className:"text-gray-500 text-xs mt-0.5 ml-4",children:e.desc})]},e.cmd))})]})}),(0,s.jsx)("section",{className:"py-24 px-6 border-t border-white/[0.06]",children:(0,s.jsxs)("div",{className:"max-w-4xl mx-auto text-center",children:[(0,s.jsx)("h2",{className:"text-3xl sm:text-4xl font-bold mb-4",children:"Runs Where You Run"}),(0,s.jsx)("p",{className:"text-gray-400 text-lg mb-12",children:"If OpenClaw runs there, ClaWatch runs there."}),(0,s.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-4",children:m.map(e=>(0,s.jsx)("div",{className:"rounded-xl border border-white/[0.06] bg-white/[0.02] py-4 px-3 text-sm font-medium text-gray-300 hover:border-emerald-500/30 hover:text-white transition-colors",children:e},e))})]})}),(0,s.jsx)("section",{className:"py-24 px-6 border-t border-white/[0.06]",children:(0,s.jsxs)("div",{className:"max-w-4xl mx-auto text-center",children:[(0,s.jsx)("h2",{className:"text-3xl sm:text-4xl font-bold mb-4",children:"Alert Channels"}),(0,s.jsx)("p",{className:"text-gray-400 text-lg mb-12",children:"Get notified where your team already works."}),(0,s.jsx)("div",{className:"flex items-center justify-center gap-6 sm:gap-10 flex-wrap",children:x.map(e=>(0,s.jsxs)("div",{className:"flex flex-col items-center gap-2 relative",children:[(0,s.jsxs)("div",{className:`size-14 rounded-xl flex items-center justify-center text-2xl font-bold ${e.available?"bg-emerald-500/10 text-emerald-400 border border-emerald-500/30":"bg-white/[0.03] text-gray-500 border border-white/[0.06]"}`,children:["Telegram"===e.name&&(0,s.jsx)(g,{className:"size-7"}),"Slack"===e.name&&(0,s.jsx)(b,{className:"size-7"}),"Discord"===e.name&&(0,s.jsx)(j,{className:"size-7"}),"Email"===e.name&&(0,s.jsx)(v,{className:"size-7"}),"PagerDuty"===e.name&&(0,s.jsx)(w,{className:"size-7"})]}),(0,s.jsx)("span",{className:`text-xs ${e.available?"text-white":"text-gray-500"}`,children:e.name}),!e.available&&(0,s.jsx)("span",{className:"text-[10px] text-gray-500 bg-white/[0.05] px-1.5 py-0.5 rounded-full",children:"coming soon"})]},e.name))})]})}),(0,s.jsx)("section",{id:"faq",className:"py-24 px-6 border-t border-white/[0.06]",children:(0,s.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,s.jsx)("h2",{className:"text-3xl sm:text-4xl font-bold mb-12 text-center",children:"FAQ"}),(0,s.jsx)("div",{className:"space-y-3",children:h.map(e=>(0,s.jsx)(u,{q:e.q,a:e.a},e.q))})]})}),(0,s.jsx)("section",{className:"py-24 px-6 border-t border-white/[0.06]",children:(0,s.jsxs)("div",{className:"max-w-2xl mx-auto text-center",children:[(0,s.jsx)("h2",{className:"text-3xl sm:text-4xl font-bold mb-6",children:"Ready to see what your agents are doing?"}),(0,s.jsx)("div",{className:"max-w-md mx-auto mb-8",children:(0,s.jsx)(i,{copyText:"npm install -g clawatch",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-emerald-400",children:"$"})," ",(0,s.jsx)("span",{className:"text-gray-300",children:"npm install -g clawatch"})]})})}),(0,s.jsx)(a.default,{href:"/dashboard",children:(0,s.jsx)(r.Button,{size:"lg",className:"bg-emerald-500 hover:bg-emerald-600 text-white h-12 px-10 text-base font-medium",children:"Get Started"})})]})}),(0,s.jsx)("footer",{className:"border-t border-white/[0.06] py-10 px-6",children:(0,s.jsxs)("div",{className:"max-w-6xl mx-auto flex flex-col sm:flex-row items-center justify-between gap-4 text-sm text-gray-500",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(l.ClaWatchLogo,{size:"sm"}),(0,s.jsx)("span",{className:"text-gray-500",children:"— Open Source AI Agent Observability"})]}),(0,s.jsxs)("div",{className:"flex items-center gap-6",children:[(0,s.jsx)("a",{href:"https://github.com/GENWAY-AI/clawatch",target:"_blank",rel:"noopener noreferrer",className:"hover:text-white transition-colors",children:"GitHub"}),(0,s.jsx)(a.default,{href:"/dashboard",className:"hover:text-white transition-colors",children:"Dashboard"}),(0,s.jsx)("a",{href:"https://github.com/GENWAY-AI/clawatch",target:"_blank",rel:"noopener noreferrer",className:"hover:text-white transition-colors",children:"Docs"})]})]})})]})}function g({className:e}){return(0,s.jsx)("svg",{className:e,viewBox:"0 0 24 24",fill:"currentColor",children:(0,s.jsx)("path",{d:"M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"})})}function b({className:e}){return(0,s.jsx)("svg",{className:e,viewBox:"0 0 24 24",fill:"currentColor",children:(0,s.jsx)("path",{d:"M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z"})})}function j({className:e}){return(0,s.jsx)("svg",{className:e,viewBox:"0 0 24 24",fill:"currentColor",children:(0,s.jsx)("path",{d:"M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189z"})})}function v({className:e}){return(0,s.jsx)("svg",{className:e,fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75"})})}function w({className:e}){return(0,s.jsx)("svg",{className:e,viewBox:"0 0 24 24",fill:"currentColor",children:(0,s.jsx)("path",{d:"M16.965 1.18C15.085.164 13.769 0 10.683 0H3.73v14.55h6.926c2.743 0 4.8-.164 6.61-1.37 1.975-1.303 3.004-3.47 3.004-6.074 0-2.879-1.216-4.895-3.305-5.926zM10.39 10.34H8.275V4.09h2.255c3.025 0 4.636.85 4.636 3.04 0 2.352-1.71 3.21-4.776 3.21zM3.73 18.316h4.546V24H3.73z"})})}e.s(["default",()=>p])}]);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_fe8b9d92-module__LINzvG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_fe8b9d92-module__LINzvG__variable{--font-inter:"Inter","Inter Fallback"}
|
|
2
|
+
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.f2220059.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.f6f1950f.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.bd5f4d11.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.51c18f09.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.23358719.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.15008bfb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_7d65b77b-module__VxV-Ta__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_7d65b77b-module__VxV-Ta__variable{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}
|
|
3
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--color-red-400:#ff6568;--color-red-500:#fb2c36;--color-orange-400:#ff8b1a;--color-orange-500:#fe6e00;--color-amber-200:#fee685;--color-amber-400:#fcbb00;--color-amber-500:#f99c00;--color-emerald-300:#5ee9b5;--color-emerald-400:#00d294;--color-emerald-500:#00bb7f;--color-emerald-600:#009767;--color-emerald-700:#007956;--color-teal-400:#00d3bd;--color-teal-500:#00baa7;--color-blue-400:#54a2ff;--color-blue-500:#3080ff;--color-purple-400:#c07eff;--color-purple-500:#ac4bff;--color-rose-400:#ff667f;--color-gray-300:#d1d5dc;--color-gray-400:#99a1af;--color-gray-500:#6a7282;--color-zinc-300:#d4d4d8;--color-zinc-400:#9f9fa9;--color-zinc-500:#71717b;--color-zinc-600:#52525c;--color-zinc-700:#3f3f46;--color-zinc-800:#27272a;--color-zinc-900:#18181b;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:calc(var(--radius)*.8);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-inter),system-ui,sans-serif;--default-mono-font-family:var(--font-jetbrains-mono),monospace}@supports (color:lab(0% 0 0)){:root,:host{--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-orange-400:lab(70.0429% 42.5156 75.8207);--color-orange-500:lab(64.272% 57.1788 90.3583);--color-amber-200:lab(91.7203% -.505269 49.9084);--color-amber-400:lab(80.1641% 16.6016 99.2089);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-emerald-300:lab(83.9203% -48.7124 13.8849);--color-emerald-400:lab(75.0771% -60.7313 19.4147);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-emerald-600:lab(55.0481% -49.9246 15.93);--color-emerald-700:lab(44.4871% -41.0396 11.0361);--color-teal-400:lab(76.0109% -53.3483 -2.27906);--color-teal-500:lab(67.3859% -49.0983 -2.63511);--color-blue-400:lab(65.0361% -1.42065 -56.9802);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-purple-400:lab(63.6946% 47.6127 -59.2066);--color-purple-500:lab(52.0183% 66.11 -78.2316);--color-rose-400:lab(64.4125% 63.0291 19.2068);--color-gray-300:lab(85.1236% -.612259 -3.7138);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-500:lab(47.7841% -.393182 -10.0268);--color-zinc-300:lab(84.9837% .601262 -2.17986);--color-zinc-400:lab(65.6464% 1.53497 -5.42429);--color-zinc-500:lab(47.8878% 1.65477 -5.77283);--color-zinc-600:lab(35.1166% 1.78212 -6.1173);--color-zinc-700:lab(26.8019% 1.35387 -4.68303);--color-zinc-800:lab(15.7305% .613764 -2.16959);--color-zinc-900:lab(8.30603% .618205 -2.16572)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}html{font-family:var(--font-inter),system-ui,sans-serif}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing)*0)}.top-3{top:calc(var(--spacing)*3)}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-3\.5{left:calc(var(--spacing)*3.5)}.left-5{left:calc(var(--spacing)*5)}.z-10{z-index:10}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-6{margin-left:calc(var(--spacing)*6)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.size-1\.5{width:calc(var(--spacing)*1.5);height:calc(var(--spacing)*1.5)}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.size-14{width:calc(var(--spacing)*14);height:calc(var(--spacing)*14)}.h-0\.5{height:calc(var(--spacing)*.5)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-\[300px\]{height:300px}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[80\%\]{max-width:80%}.max-w-\[500px\]{max-width:500px}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[60px\]{min-width:60px}.min-w-\[80px\]{min-width:80px}.min-w-\[90px\]{min-width:90px}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.appearance-none{appearance:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-4xl{border-radius:calc(var(--radius)*2.6)}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md),10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md),12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius)*.8)}.rounded-xl{border-radius:calc(var(--radius)*1.4)}.rounded-t-xl{border-top-left-radius:calc(var(--radius)*1.4);border-top-right-radius:calc(var(--radius)*1.4)}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius)*1.4);border-bottom-left-radius:calc(var(--radius)*1.4)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.border-blue-500\/20{border-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/20{border-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.border-border,.border-border\/30{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/30{border-color:color-mix(in oklab,var(--border)30%,transparent)}}.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-current{border-color:currentColor}.border-emerald-500{border-color:var(--color-emerald-500)}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/30{border-color:color-mix(in oklab,var(--color-emerald-500)30%,transparent)}}.border-emerald-500\/40{border-color:#00bb7f66}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/40{border-color:color-mix(in oklab,var(--color-emerald-500)40%,transparent)}}.border-orange-500\/20{border-color:#fe6e0033}@supports (color:color-mix(in lab, red, red)){.border-orange-500\/20{border-color:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.border-purple-500\/20{border-color:#ac4bff33}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/20{border-color:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.border-teal-500\/20{border-color:#00baa733}@supports (color:color-mix(in lab, red, red)){.border-teal-500\/20{border-color:color-mix(in oklab,var(--color-teal-500)20%,transparent)}}.border-transparent{border-color:#0000}.border-white\/\[0\.1\]{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/\[0\.1\]{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\/\[0\.06\]{border-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.border-white\/\[0\.06\]{border-color:color-mix(in oklab,var(--color-white)6%,transparent)}}.border-zinc-500\/20{border-color:#71717b33}@supports (color:color-mix(in lab, red, red)){.border-zinc-500\/20{border-color:color-mix(in oklab,var(--color-zinc-500)20%,transparent)}}.border-zinc-600{border-color:var(--color-zinc-600)}.border-zinc-700{border-color:var(--color-zinc-700)}.border-zinc-800{border-color:var(--color-zinc-800)}.border-t-transparent{border-top-color:#0000}.border-l-amber-400{border-left-color:var(--color-amber-400)}.border-l-blue-400{border-left-color:var(--color-blue-400)}.border-l-emerald-400{border-left-color:var(--color-emerald-400)}.bg-\[\#0a0a0f\]{background-color:#0a0a0f}.bg-\[\#0a0a0f\]\/80{background-color:#0a0a0fcc;background-color:lab(2.83714% .595115 -2.18317/.8)}.bg-\[\#0d1117\]{background-color:#0d1117}.bg-\[\#28c840\]{background-color:#28c840}.bg-\[\#febc2e\]{background-color:#febc2e}.bg-\[\#ff5f57\]{background-color:#ff5f57}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.bg-background,.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-border\/50{background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.bg-border\/50{background-color:color-mix(in oklab,var(--border)50%,transparent)}}.bg-card{background-color:var(--card)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500)10%,transparent)}}.bg-emerald-500\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/20{background-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-orange-400{background-color:var(--color-orange-400)}.bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab, red, red)){.bg-orange-500\/10{background-color:color-mix(in oklab,var(--color-orange-500)10%,transparent)}}.bg-primary{background-color:var(--primary)}.bg-purple-400{background-color:var(--color-purple-400)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/10{background-color:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-rose-400{background-color:var(--color-rose-400)}.bg-secondary{background-color:var(--secondary)}.bg-teal-500\/10{background-color:#00baa71a}@supports (color:color-mix(in lab, red, red)){.bg-teal-500\/10{background-color:color-mix(in oklab,var(--color-teal-500)10%,transparent)}}.bg-transparent{background-color:#0000}.bg-white\/\[0\.02\]{background-color:#ffffff05}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.02\]{background-color:color-mix(in oklab,var(--color-white)2%,transparent)}}.bg-white\/\[0\.03\]{background-color:#ffffff08}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.03\]{background-color:color-mix(in oklab,var(--color-white)3%,transparent)}}.bg-white\/\[0\.05\]{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.05\]{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-zinc-400{background-color:var(--color-zinc-400)}.bg-zinc-500{background-color:var(--color-zinc-500)}.bg-zinc-500\/10{background-color:#71717b1a}@supports (color:color-mix(in lab, red, red)){.bg-zinc-500\/10{background-color:color-mix(in oklab,var(--color-zinc-500)10%,transparent)}}.bg-zinc-700{background-color:var(--color-zinc-700)}.bg-zinc-800{background-color:var(--color-zinc-800)}.bg-zinc-800\/50{background-color:#27272a80}@supports (color:color-mix(in lab, red, red)){.bg-zinc-800\/50{background-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-emerald-400{--tw-gradient-from:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-white{--tw-gradient-from:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-emerald-300{--tw-gradient-via:var(--color-emerald-300);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-emerald-300{--tw-gradient-to:var(--color-emerald-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-400{--tw-gradient-to:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-clip-padding{background-clip:padding-box}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-12{padding:calc(var(--spacing)*12)}.p-\[3px\]{padding:3px}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.px-10{padding-inline:calc(var(--spacing)*10)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.py-20{padding-block:calc(var(--spacing)*20)}.py-24{padding-block:calc(var(--spacing)*24)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-28{padding-top:calc(var(--spacing)*28)}.pr-6{padding-right:calc(var(--spacing)*6)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-20{padding-bottom:calc(var(--spacing)*20)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-12{padding-left:calc(var(--spacing)*12)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-jetbrains-mono),monospace}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/70{color:#fcbb00b3}@supports (color:color-mix(in lab, red, red)){.text-amber-400\/70{color:color-mix(in oklab,var(--color-amber-400)70%,transparent)}}.text-amber-400\/80{color:#fcbb00cc}@supports (color:color-mix(in lab, red, red)){.text-amber-400\/80{color:color-mix(in oklab,var(--color-amber-400)80%,transparent)}}.text-blue-400{color:var(--color-blue-400)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-emerald-400{color:var(--color-emerald-400)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab,var(--foreground)60%,transparent)}}.text-foreground\/80{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/80{color:color-mix(in oklab,var(--foreground)80%,transparent)}}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-muted-foreground,.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.text-orange-400{color:var(--color-orange-400)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-400{color:var(--color-purple-400)}.text-red-400{color:var(--color-red-400)}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab, red, red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400)80%,transparent)}}.text-secondary-foreground{color:var(--secondary-foreground)}.text-teal-400{color:var(--color-teal-400)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-zinc-300{color:var(--color-zinc-300)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-emerald-500{accent-color:var(--color-emerald-500)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-background{--tw-ring-color:var(--background)}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab,var(--foreground)10%,transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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-md{--tw-backdrop-blur:blur(var(--blur-md));-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,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused}.running{animation-play-state:running}@media (hover:hover){.group-hover\:text-emerald-400:is(:where(.group):hover *){color:var(--color-emerald-400)}.group-hover\/tags\:opacity-100:is(:where(.group\/tags):hover *){opacity:1}}.group-data-\[size\=sm\]\/card\:p-3:is(:where(.group\/card)[data-size=sm] *){padding:calc(var(--spacing)*3)}.group-data-\[size\=sm\]\/card\:px-3:is(:where(.group\/card)[data-size=sm] *){padding-inline:calc(var(--spacing)*3)}.group-data-\[size\=sm\]\/card\:text-sm:is(:where(.group\/card)[data-size=sm] *){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.group-data-horizontal\/tabs\:h-8:is(:where(.group\/tabs):where([data-orientation=horizontal]) *){height:calc(var(--spacing)*8)}.group-data-vertical\/tabs\:h-fit:is(:where(.group\/tabs):where([data-orientation=vertical]) *){height:fit-content}.group-data-vertical\/tabs\:w-full:is(:where(.group\/tabs):where([data-orientation=vertical]) *){width:100%}.group-data-vertical\/tabs\:flex-col:is(:where(.group\/tabs):where([data-orientation=vertical]) *){flex-direction:column}.group-data-vertical\/tabs\:justify-start:is(:where(.group\/tabs):where([data-orientation=vertical]) *){justify-content:flex-start}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-horizontal\/tabs\:after\:inset-x-0:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);inset-inline:calc(var(--spacing)*0)}.group-data-horizontal\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);bottom:-5px}.group-data-horizontal\/tabs\:after\:h-0\.5:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);height:calc(var(--spacing)*.5)}.group-data-vertical\/tabs\:after\:inset-y-0:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.group-data-vertical\/tabs\:after\:-right-1:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);right:calc(var(--spacing)*-1)}.group-data-vertical\/tabs\:after\:w-0\.5:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);width:calc(var(--spacing)*.5)}@media (hover:hover){.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:border-amber-500\/40:hover{border-color:#f99c0066}@supports (color:color-mix(in lab, red, red)){.hover\:border-amber-500\/40:hover{border-color:color-mix(in oklab,var(--color-amber-500)40%,transparent)}}.hover\:border-border:hover{border-color:var(--border)}.hover\:border-emerald-500\/30:hover{border-color:#00bb7f4d}@supports (color:color-mix(in lab, red, red)){.hover\:border-emerald-500\/30:hover{border-color:color-mix(in oklab,var(--color-emerald-500)30%,transparent)}}.hover\:border-zinc-600:hover{border-color:var(--color-zinc-600)}.hover\:bg-amber-500\/10:hover{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-amber-500\/10:hover{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.hover\:bg-emerald-500:hover{background-color:var(--color-emerald-500)}.hover\:bg-emerald-500\/10:hover{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-emerald-500\/10:hover{background-color:color-mix(in oklab,var(--color-emerald-500)10%,transparent)}}.hover\:bg-emerald-600:hover{background-color:var(--color-emerald-600)}.hover\:bg-emerald-700:hover{background-color:var(--color-emerald-700)}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-white\/\[0\.02\]:hover{background-color:#ffffff05}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.02\]:hover{background-color:color-mix(in oklab,var(--color-white)2%,transparent)}}.hover\:bg-white\/\[0\.05\]:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.05\]:hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.hover\:text-amber-200:hover{color:var(--color-amber-200)}.hover\:text-amber-400:hover{color:var(--color-amber-400)}.hover\:text-emerald-300:hover{color:var(--color-emerald-300)}.hover\:text-emerald-400:hover{color:var(--color-emerald-400)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-emerald-500\/50:focus{border-color:#00bb7f80}@supports (color:color-mix(in lab, red, red)){.focus\:border-emerald-500\/50:focus{border-color:color-mix(in oklab,var(--color-emerald-500)50%,transparent)}}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing)*1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing)*2)}.has-data-\[icon\=inline-end\]\:pr-3:has([data-icon=inline-end]){padding-right:calc(var(--spacing)*3)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing)*1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing)*2)}.has-data-\[icon\=inline-start\]\:pl-3:has([data-icon=inline-start]){padding-left:calc(var(--spacing)*3)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[slot\=card-description\]\:grid-rows-\[auto_auto\]:has([data-slot=card-description]){grid-template-rows:auto auto}.has-data-\[slot\=card-footer\]\:pb-0:has([data-slot=card-footer]){padding-bottom:calc(var(--spacing)*0)}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:calc(var(--spacing)*0)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[size\=sm\]\:gap-3[data-size=sm]{gap:calc(var(--spacing)*3)}.data-\[size\=sm\]\:py-3[data-size=sm]{padding-block:calc(var(--spacing)*3)}.data-\[size\=sm\]\:has-data-\[slot\=card-footer\]\:pb-0[data-size=sm]:has([data-slot=card-footer]){padding-bottom:calc(var(--spacing)*0)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}@media (min-width:40rem){.sm\:flex{display:flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-10{gap:calc(var(--spacing)*10)}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:64rem){.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-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media (hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab,var(--destructive)30%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab,var(--destructive)50%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.data-active\:bg-background:where([data-state=active]),.data-active\:bg-background:where([data-active]:not([data-active=false])){background-color:var(--background)}.data-active\:text-foreground:where([data-state=active]),.data-active\:text-foreground:where([data-active]:not([data-active=false])){color:var(--foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *):where([data-state=active]),.group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *):where([data-active]:not([data-active=false])){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}:is(.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false]))):after{content:var(--tw-content);opacity:1}.dark\:data-active\:border-input:is(.dark *):where([data-state=active]),.dark\:data-active\:border-input:is(.dark *):where([data-active]:not([data-active=false])){border-color:var(--input)}.dark\:data-active\:bg-input\/30:is(.dark *):where([data-state=active]),.dark\:data-active\:bg-input\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-active\:bg-input\/30:is(.dark *):where([data-state=active]),.dark\:data-active\:bg-input\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:data-active\:text-foreground:is(.dark *):where([data-state=active]),.dark\:data-active\:text-foreground:is(.dark *):where([data-active]:not([data-active=false])){color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.data-horizontal\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\.border-b\]\:pb-4.border-b{padding-bottom:calc(var(--spacing)*4)}.group-data-\[size\=sm\]\/card\:\[\.border-b\]\:pb-3:is(:where(.group\/card)[data-size=sm] *).border-b{padding-bottom:calc(var(--spacing)*3)}@media (hover:hover){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab,var(--primary)80%,transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}}:is(.\*\:\[img\:first-child\]\:rounded-t-xl>*):is(img:first-child){border-top-left-radius:calc(var(--radius)*1.4);border-top-right-radius:calc(var(--radius)*1.4)}:is(.\*\:\[img\:last-child\]\:rounded-b-xl>*):is(img:last-child){border-bottom-right-radius:calc(var(--radius)*1.4);border-bottom-left-radius:calc(var(--radius)*1.4)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\!>svg{width:calc(var(--spacing)*3)!important;height:calc(var(--spacing)*3)!important}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.recharts-wrapper,.recharts-wrapper *,.recharts-surface,.recharts-surface *{-webkit-tap-highlight-color:transparent!important;outline:none!important}svg.recharts-surface>rect{stroke:none!important;stroke-width:0!important}.recharts-cartesian-grid-bg{fill:none!important;stroke:none!important}.recharts-tooltip-cursor{stroke:#27272a!important}:root{--background:#fff;--foreground:#0a0a0a;--card:#fff;--card-foreground:#0a0a0a;--popover:#fff;--popover-foreground:#0a0a0a;--primary:#171717;--primary-foreground:#fafafa;--secondary:#f5f5f5;--secondary-foreground:#171717;--muted:#f5f5f5;--muted-foreground:#737373;--accent:#f5f5f5;--accent-foreground:#171717;--destructive:#df2225;--border:#e5e5e5;--input:#e5e5e5;--ring:#a1a1a1;--chart-1:#90c5ff;--chart-2:#3080ff;--chart-3:#155dfc;--chart-4:#1447e6;--chart-5:#193cb8;--radius:.625rem;--sidebar:#fafafa;--sidebar-foreground:#0a0a0a;--sidebar-primary:#171717;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f5f5f5;--sidebar-accent-foreground:#171717;--sidebar-border:#e5e5e5;--sidebar-ring:#a1a1a1}@supports (color:lab(0% 0 0)){:root{--background:lab(100% 0 0);--foreground:lab(2.75381% 0 0);--card:lab(100% 0 0);--card-foreground:lab(2.75381% 0 0);--popover:lab(100% 0 0);--popover-foreground:lab(2.75381% 0 0);--primary:lab(7.78201% -.0000149012 0);--primary-foreground:lab(98.26% 0 0);--secondary:lab(96.52% -.0000298023 .0000119209);--secondary-foreground:lab(7.78201% -.0000149012 0);--muted:lab(96.52% -.0000298023 .0000119209);--muted-foreground:lab(48.496% 0 0);--accent:lab(96.52% -.0000298023 .0000119209);--accent-foreground:lab(7.78201% -.0000149012 0);--destructive:lab(49.0747% 69.3434 49.6251);--border:lab(90.952% 0 -.0000119209);--input:lab(90.952% 0 -.0000119209);--ring:lab(66.128% -.0000298023 .0000119209);--chart-1:lab(77.5052% -6.4629 -36.42);--chart-2:lab(54.1736% 13.3369 -74.6839);--chart-3:lab(44.0605% 29.0279 -86.0352);--chart-4:lab(36.9089% 35.0961 -85.6872);--chart-5:lab(30.2514% 27.7853 -70.2699);--sidebar:lab(98.26% 0 0);--sidebar-foreground:lab(2.75381% 0 0);--sidebar-primary:lab(7.78201% -.0000149012 0);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(96.52% -.0000298023 .0000119209);--sidebar-accent-foreground:lab(7.78201% -.0000149012 0);--sidebar-border:lab(90.952% 0 -.0000119209);--sidebar-ring:lab(66.128% -.0000298023 .0000119209)}}.dark{--background:#0a0a0a;--foreground:#fafafa;--card:#171717;--card-foreground:#fafafa;--popover:#171717;--popover-foreground:#fafafa;--primary:#d4d4d4;--primary-foreground:#171717;--secondary:#262626;--secondary-foreground:#fafafa;--muted:#262626;--muted-foreground:#a1a1a1;--accent:#404040;--accent-foreground:#fafafa;--destructive:#ff6568;--border:#ffffff1a;--input:#ffffff26;--ring:#737373;--chart-1:#90c5ff;--chart-2:#3080ff;--chart-3:#155dfc;--chart-4:#1447e6;--chart-5:#193cb8;--sidebar:#171717;--sidebar-foreground:#fafafa;--sidebar-primary:#1447e6;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#262626;--sidebar-accent-foreground:#fafafa;--sidebar-border:#ffffff1a;--sidebar-ring:#737373}@supports (color:lab(0% 0 0)){.dark{--background:lab(2.75381% 0 0);--foreground:lab(98.26% 0 0);--card:lab(7.78201% -.0000149012 0);--card-foreground:lab(98.26% 0 0);--popover:lab(7.78201% -.0000149012 0);--popover-foreground:lab(98.26% 0 0);--primary:lab(84.92% 0 -.0000119209);--primary-foreground:lab(7.78201% -.0000149012 0);--secondary:lab(15.204% 0 -.00000596046);--secondary-foreground:lab(98.26% 0 0);--muted:lab(15.204% 0 -.00000596046);--muted-foreground:lab(66.128% -.0000298023 .0000119209);--accent:lab(27.036% 0 0);--accent-foreground:lab(98.26% 0 0);--destructive:lab(63.7053% 60.745 31.3109);--border:lab(100% 0 0/.1);--input:lab(100% 0 0/.15);--ring:lab(48.496% 0 0);--chart-1:lab(77.5052% -6.4629 -36.42);--chart-2:lab(54.1736% 13.3369 -74.6839);--chart-3:lab(44.0605% 29.0279 -86.0352);--chart-4:lab(36.9089% 35.0961 -85.6872);--chart-5:lab(30.2514% 27.7853 -70.2699);--sidebar:lab(7.78201% -.0000149012 0);--sidebar-foreground:lab(98.26% 0 0);--sidebar-primary:lab(36.9089% 35.0961 -85.6872);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(15.204% 0 -.00000596046);--sidebar-accent-foreground:lab(98.26% 0 0);--sidebar-border:lab(100% 0 0/.1);--sidebar-ring:lab(48.496% 0 0)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(t,e,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"warnOnce",{enumerable:!0,get:function(){return o}});let o=t=>{}},18566,(t,e,s)=>{e.exports=t.r(76562)},15288,87486,9165,t=>{"use strict";let e,s,o,a,n;var i,r=t.i(43476),d=t.i(75157);function l({className:t,size:e="default",...s}){return(0,r.jsx)("div",{"data-slot":"card","data-size":e,className:(0,d.cn)("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",t),...s})}function c({className:t,...e}){return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,d.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",t),...e})}function u({className:t,...e}){return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,d.cn)("text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",t),...e})}function m({className:t,...e}){return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,d.cn)("px-4 group-data-[size=sm]/card:px-3",t),...e})}t.s(["Card",()=>l,"CardContent",()=>m,"CardHeader",()=>c,"CardTitle",()=>u],15288);var p=t.i(19805),g=t.i(27601);let h=(0,t.i(25913).cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});function f({className:t,variant:e="default",render:s,...o}){var a;return a={defaultTagName:"span",props:(0,p.mergeProps)({className:(0,d.cn)(h({variant:e}),t)},o),render:s,state:{slot:"badge",variant:e}},(0,g.useRenderElement)(a.defaultTagName??"div",a,a)}t.s(["Badge",()=>f],87486);var b=t.i(47167);let k=new Date,w=t=>new Date(k.getTime()-6e4*t).toISOString(),y=t=>new Date(k.getTime()-36e5*t).toISOString(),C=[{id:"agent-1",name:"code-reviewer",host:"prod-us-east-1",status:"running",lastHeartbeat:w(.5),costUsd:4.82,tokenCount:124e4,errorCount:0},{id:"agent-2",name:"deploy-bot",host:"prod-us-east-1",status:"running",lastHeartbeat:w(1),costUsd:2.15,tokenCount:52e4,errorCount:1},{id:"agent-3",name:"data-pipeline",host:"prod-eu-west-1",status:"error",lastHeartbeat:w(12),costUsd:8.43,tokenCount:21e5,errorCount:7},{id:"agent-4",name:"customer-support",host:"prod-us-west-2",status:"stuck",lastHeartbeat:w(45),costUsd:12.67,tokenCount:34e5,errorCount:3},{id:"agent-5",name:"test-runner",host:"staging-1",status:"paused",lastHeartbeat:y(2),costUsd:1.03,tokenCount:28e4,errorCount:0},{id:"agent-6",name:"doc-generator",host:"prod-us-east-1",status:"running",lastHeartbeat:w(.2),costUsd:3.21,tokenCount:89e4,errorCount:0},{id:"agent-7",name:"security-scanner",host:"prod-eu-west-1",status:"stopped",lastHeartbeat:y(6),costUsd:.45,tokenCount:12e4,errorCount:0},{id:"agent-8",name:"slack-responder",host:"prod-us-west-2",status:"running",lastHeartbeat:w(.1),costUsd:6.89,tokenCount:178e4,errorCount:2}],v=[{id:"alert-1",agentId:"agent-4",type:"stuck",severity:"critical",message:"customer-support has not sent a heartbeat in 45 minutes",timestamp:w(44),acknowledged:!1},{id:"alert-2",agentId:"agent-3",type:"error",severity:"critical",message:"data-pipeline encountered 7 errors in the last hour",timestamp:w(10),acknowledged:!1},{id:"alert-3",agentId:"agent-4",type:"cost_spike",severity:"warning",message:"customer-support cost increased 340% in the last hour",timestamp:y(1),acknowledged:!1},{id:"alert-4",agentId:"agent-8",type:"loop_detected",severity:"warning",message:"slack-responder may be in a retry loop (similar outputs detected)",timestamp:w(30),acknowledged:!0},{id:"alert-5",agentId:"agent-2",type:"error",severity:"info",message:"deploy-bot encountered a transient API error (auto-recovered)",timestamp:y(3),acknowledged:!0}],I={totalUsd:39.65,totalTokens:45e5,sessionCount:12,byAgent:C.map(t=>({agentId:t.id,name:t.name,costUsd:t.costUsd,tokenCount:t.tokenCount})),byModel:[{model:"claude-sonnet-4-20250514",costUsd:22.1},{model:"claude-haiku-4-20250506",costUsd:11.35},{model:"gpt-4o",costUsd:6.2}],byProject:[{projectId:"proj-1",name:"ClaWatch",costUsd:18.5,tokenCount:21e5,sessionCount:5},{projectId:"proj-2",name:"Auth Service",costUsd:12.35,tokenCount:14e5,sessionCount:4},{projectId:"proj-3",name:"Mobile App",costUsd:8.8,tokenCount:1e6,sessionCount:3}],daily:Array.from({length:7},(t,e)=>{let s=new Date("2026-03-04");return s.setDate(s.getDate()+e),{date:s.toISOString().slice(0,10),costUsd:+(3+8*Math.random()).toFixed(2),tokenCount:Math.floor(4e5+8e5*Math.random()),sessionCount:Math.floor(1+4*Math.random())}})},A=[{id:"session-1",agentId:"ofek",title:"Build ClaWatch dashboard with real-time alerts",status:"active",costUsd:3.47,tokenCount:892e3,messageCount:47,model:"claude-sonnet-4-20250514",startedAt:w(45),lastActivityAt:w(1),duration:2640,projects:[{id:"project-1",name:"Building ClaWatch"}]},{id:"session-2",agentId:"anas",title:"Fix authentication bug in user login flow",status:"completed",costUsd:1.23,tokenCount:34e4,messageCount:22,model:"claude-sonnet-4-20250514",startedAt:y(3),lastActivityAt:y(2),duration:3600,projects:[{id:"project-2",name:"Bug Fixes Sprint"}]},{id:"session-3",agentId:"dor",title:"Review PR #47 — add retry logic to API calls",status:"idle",costUsd:.87,tokenCount:215e3,messageCount:14,model:"claude-haiku-4-20250506",startedAt:w(90),lastActivityAt:w(12),duration:4680},{id:"session-4",agentId:"ofek",title:"Implement WebSocket event streaming for agent heartbeats",status:"active",costUsd:5.12,tokenCount:134e4,messageCount:63,model:"claude-sonnet-4-20250514",startedAt:y(1.5),lastActivityAt:w(.5),duration:5400,projects:[{id:"project-1",name:"Building ClaWatch"},{id:"project-2",name:"Bug Fixes Sprint"}]},{id:"session-5",agentId:"anas",title:"Refactor database schema for multi-tenant support",status:"completed",costUsd:2.89,tokenCount:78e4,messageCount:38,model:"claude-sonnet-4-20250514",startedAt:y(5),lastActivityAt:y(4),duration:3600},{id:"session-6",agentId:"dor",title:"Debug failing CI pipeline — Jest timeout errors",status:"idle",costUsd:.54,tokenCount:145e3,messageCount:11,model:"claude-haiku-4-20250506",startedAt:w(30),lastActivityAt:w(8),duration:1320},{id:"session-7",agentId:"ofek",title:"Add Telegram bot notification integration",status:"completed",costUsd:1.76,tokenCount:46e4,messageCount:29,model:"claude-sonnet-4-20250514",startedAt:y(8),lastActivityAt:y(7),duration:3600},{id:"session-8",agentId:"anas",title:"Write unit tests for cost calculation module",status:"active",costUsd:.92,tokenCount:248e3,messageCount:18,model:"claude-haiku-4-20250506",startedAt:w(15),lastActivityAt:w(2),duration:780},{id:"session-9",agentId:"dor",title:"Optimize SQL queries — reduce p95 latency from 800ms to 200ms",status:"completed",costUsd:4.31,tokenCount:112e4,messageCount:52,model:"claude-sonnet-4-20250514",startedAt:y(12),lastActivityAt:y(10),duration:7200},{id:"session-10",agentId:"ofek",title:"Set up Docker Compose for local development environment",status:"idle",costUsd:.63,tokenCount:172e3,messageCount:9,model:"claude-haiku-4-20250506",startedAt:w(60),lastActivityAt:w(20),duration:2400}],U=[{id:"project-1",name:"Building ClaWatch",description:"Full-stack AI observability platform with real-time monitoring, session tracking, and cost analytics",createdAt:y(48),updatedAt:w(5),sessionCount:3,totalCostUsd:185.98},{id:"project-2",name:"Bug Fixes Sprint",description:"Critical bug fixes for authentication, database schema, and CI pipeline issues",createdAt:y(24),updatedAt:w(30),sessionCount:2,totalCostUsd:12.5}],x=(e=[],s=0,(o=(t,o,a,n,i,r)=>{s++,e.push({sessionId:t,agentId:o,id:`tl-${s}`,role:a,timestamp:w(n),content:i,...r})})("session-1","ofek","user",120,"Build the ClaWatch dashboard with real-time alerts and agent monitoring. Use Next.js 15 + shadcn/ui."),o("session-1","ofek","assistant",119,"I'll build the ClaWatch dashboard. Let me start by setting up the project structure and examining existing code.",{model:"claude-sonnet-4-20250514",costUsd:.04}),o("session-3","dor","user",118,"Review the initial project setup and suggest architectural improvements for the monitoring system."),o("session-1","ofek","tool",117,"src/\n app/\n dashboard/\n page.tsx\n layout.tsx\n components/\n ui/\n lib/\n types.ts\n api.ts",{toolName:"read"}),o("session-3","dor","assistant",116,"Looking at the project structure. I'll review the architecture and suggest improvements for scalability.",{model:"claude-haiku-4-20250506",costUsd:.01}),o("session-1","ofek","assistant",115,"Project structure looks good. I'll create the type definitions for agents, sessions, alerts, and cost data.",{model:"claude-sonnet-4-20250514",costUsd:.06}),o("session-8","anas","user",114,"Write comprehensive unit tests for the cost calculation module including edge cases."),o("session-1","ofek","tool",113,"File written: src/lib/types.ts (78 lines)",{toolName:"write"}),o("session-8","anas","assistant",112,"I'll write thorough unit tests for cost calculations. Let me first examine the module.",{model:"claude-haiku-4-20250506",costUsd:.02}),o("session-3","dor","tool",111,"export interface Agent {\n id: string;\n name: string;\n status: AgentStatus;\n ...",{toolName:"read"}),o("session-3","dor","assistant",110,"The type definitions look solid. I'd suggest adding a `duration` field to Session for better analytics. Also, the cost tracking should support per-model breakdown.",{model:"claude-haiku-4-20250506",costUsd:.02}),o("session-1","ofek","assistant",108,"Good point from the review. I'll add duration tracking and per-model cost breakdown. Now creating the mock data layer.",{model:"claude-sonnet-4-20250514",costUsd:.05}),o("session-8","anas","tool",107,"export function calculateCost(tokens: number, model: string): number { ... }",{toolName:"read"}),o("session-1","ofek","tool",105,"File written: src/lib/mock-data.ts (280 lines)",{toolName:"write"}),o("session-8","anas","assistant",104,"Found the cost module. I'll test standard pricing, cache discount calculations, multi-model sessions, and zero-token edge cases.",{model:"claude-haiku-4-20250506",costUsd:.03}),o("session-1","ofek","system",103,"Context window: 45% utilized (90K/200K tokens)"),o("session-8","anas","tool",102,"File written: src/__tests__/cost-calculation.test.ts (156 lines)",{toolName:"write"}),o("session-1","ofek","assistant",100,"Mock data created. Now building the dashboard page with agent cards, alert banners, and cost overview.",{model:"claude-sonnet-4-20250514",costUsd:.12}),o("session-3","dor","user",98,"Can you also review the API layer and check for error handling gaps?"),o("session-1","ofek","tool",95,"File written: src/app/dashboard/page.tsx (320 lines)",{toolName:"write"}),o("session-8","anas","assistant",94,"All 12 test cases pass. Found one edge case where negative token counts could cause issues — adding a guard.",{model:"claude-haiku-4-20250506",costUsd:.02}),o("session-3","dor","assistant",92,"Reviewing API layer. The fetchJson wrapper needs better error handling — currently swallows network errors. I'll suggest adding retry logic and timeout handling.",{model:"claude-haiku-4-20250506",costUsd:.03}),o("session-8","anas","tool",90,"$ npm test -- --watchAll=false\n\nTest Suites: 1 passed, 1 total\nTests: 14 passed, 14 total\nTime: 2.834s",{toolName:"exec"}),o("session-1","ofek","assistant",88,"Dashboard page done. Adding real-time polling with 5-second intervals and the tabbed interface for Agents/Sessions views.",{model:"claude-sonnet-4-20250514",costUsd:.08}),o("session-1","ofek","tool",85,"$ npm run build\n\n ✓ Compiled successfully\n ✓ Generating static pages (5/5)\n\nBuild completed in 8.2s",{toolName:"exec"}),o("session-3","dor","assistant",83,"Here's my review summary:\n1. Add retry logic to fetchJson (3 retries with exponential backoff)\n2. Add request timeout (30s default)\n3. The mock fallback pattern is good but should log errors to a monitoring service\n4. Consider adding request deduplication for concurrent calls",{model:"claude-haiku-4-20250506",costUsd:.04}),o("session-1","ofek","user",80,"Add session detail view with message timeline, cost breakdown by model, and token analysis."),o("session-1","ofek","assistant",78,"I'll build the session detail page with a full message timeline. Each message type will have distinct visual treatment.",{model:"claude-sonnet-4-20250514",costUsd:.09}),o("session-1","ofek","tool",75,"File written: src/app/dashboard/sessions/[id]/page.tsx (340 lines)",{toolName:"write"}),o("session-8","anas","assistant",72,"All tests passing. Adding integration tests for the API mock fallback pattern now.",{model:"claude-haiku-4-20250506",costUsd:.02}),o("session-1","ofek","assistant",70,"Session detail page complete with:\n- Message timeline with user/assistant/tool/system styling\n- Cost breakdown by model with progress bars\n- Token breakdown (input/output/cache read/cache write)\n- Collapsible tool outputs",{model:"claude-sonnet-4-20250514",costUsd:.06}),o("session-1","ofek","system",68,"Context window: 72% utilized (144K/200K tokens)"),o("session-1","ofek","tool",65,"$ npm run build\n\n ✓ Compiled successfully\n ✓ Generating static pages (7/7)\n\nBuild completed in 9.1s",{toolName:"exec"}),o("session-1","ofek","assistant",60,"Build passes. The ClaWatch dashboard is fully functional with real-time monitoring, session tracking, and cost analytics.",{model:"claude-sonnet-4-20250514",costUsd:.04}),e.sort((t,e)=>new Date(t.timestamp).getTime()-new Date(e.timestamp).getTime())),S={"project-1":{id:"project-1",name:"Building ClaWatch",description:"Full-stack AI observability platform with real-time monitoring, session tracking, and cost analytics",stats:{totalCostUsd:185.98,totalTokens:482e4,totalMessages:128,sessionCount:3,dateRange:{from:y(48),to:w(5)}},agentBreakdown:[{agentId:"ofek",costUsd:142.5,tokenCount:32e5,messageCount:78,percentage:76.6},{agentId:"dor",costUsd:28.48,tokenCount:98e4,messageCount:32,percentage:15.3},{agentId:"anas",costUsd:15,tokenCount:64e4,messageCount:18,percentage:8.1}],sessions:[A.find(t=>"session-1"===t.id),A.find(t=>"session-3"===t.id),A.find(t=>"session-8"===t.id)],timeline:x},"project-2":{id:"project-2",name:"Bug Fixes Sprint",description:"Critical bug fixes for authentication, database schema, and CI pipeline issues",stats:{totalCostUsd:12.5,totalTokens:112e4,totalMessages:60,sessionCount:2,dateRange:{from:y(24),to:w(30)}},agentBreakdown:[{agentId:"anas",costUsd:7.8,tokenCount:68e4,messageCount:38,percentage:62.4},{agentId:"dor",costUsd:4.7,tokenCount:44e4,messageCount:22,percentage:37.6}],sessions:[A.find(t=>"session-2"===t.id),A.find(t=>"session-6"===t.id)],timeline:[{sessionId:"session-2",agentId:"anas",id:"tl-b1",role:"user",timestamp:y(3),content:"Fix the authentication bug in the user login flow. Users are getting 401 errors after token refresh."},{sessionId:"session-2",agentId:"anas",id:"tl-b2",role:"assistant",timestamp:y(2.9),content:"I'll investigate the auth flow. Let me check the token refresh logic.",model:"claude-sonnet-4-20250514",costUsd:.03},{sessionId:"session-6",agentId:"dor",id:"tl-b3",role:"user",timestamp:y(2.8),content:"Debug the failing CI pipeline. Jest tests are timing out on the session module."},{sessionId:"session-2",agentId:"anas",id:"tl-b4",role:"tool",timestamp:y(2.7),content:"Found: refreshToken() doesn't await the database write before returning new token",toolName:"read"},{sessionId:"session-6",agentId:"dor",id:"tl-b5",role:"assistant",timestamp:y(2.6),content:"Looking at the CI logs. The Jest timeout suggests an unresolved promise in the test setup.",model:"claude-haiku-4-20250506",costUsd:.01},{sessionId:"session-2",agentId:"anas",id:"tl-b6",role:"assistant",timestamp:y(2.5),content:"Found the bug: `refreshToken()` returns before the DB write completes. Adding await fixes the race condition.",model:"claude-sonnet-4-20250514",costUsd:.05},{sessionId:"session-6",agentId:"dor",id:"tl-b7",role:"tool",timestamp:y(2.4),content:"$ jest --verbose\nFAILED: session.test.ts > should persist session data\nTimeout: 5000ms exceeded",toolName:"exec"},{sessionId:"session-6",agentId:"dor",id:"tl-b8",role:"assistant",timestamp:y(2.2),content:"The test is missing `afterAll` cleanup — the database connection stays open. Adding proper teardown.",model:"claude-haiku-4-20250506",costUsd:.02},{sessionId:"session-2",agentId:"anas",id:"tl-b9",role:"tool",timestamp:y(2.1),content:"$ npm test -- auth.test.ts\n\nTests: 8 passed, 8 total",toolName:"exec"},{sessionId:"session-6",agentId:"dor",id:"tl-b10",role:"tool",timestamp:y(2),content:"$ jest session.test.ts --verbose\nPASSED: all 6 tests",toolName:"exec"},{sessionId:"session-2",agentId:"anas",id:"tl-b11",role:"assistant",timestamp:y(1.9),content:"Auth bug fixed and all tests passing. The root cause was a missing await in the token refresh handler.",model:"claude-sonnet-4-20250514",costUsd:.03},{sessionId:"session-6",agentId:"dor",id:"tl-b12",role:"assistant",timestamp:y(1.8),content:"CI pipeline fixed. Added proper test teardown and increased timeout for integration tests to 10s.",model:"claude-haiku-4-20250506",costUsd:.02}]}},j={};for(let t of A)j[t.id]={...t,costByModel:t.model.includes("sonnet")?[{model:"claude-sonnet-4-20250514",costUsd:.82*t.costUsd,tokenCount:Math.floor(.75*t.tokenCount)},{model:"claude-haiku-4-20250506",costUsd:.18*t.costUsd,tokenCount:Math.floor(.25*t.tokenCount)}]:[{model:"claude-haiku-4-20250506",costUsd:.65*t.costUsd,tokenCount:Math.floor(.6*t.tokenCount)},{model:"claude-sonnet-4-20250514",costUsd:.35*t.costUsd,tokenCount:Math.floor(.4*t.tokenCount)}],tokenBreakdown:{input:Math.floor(.35*t.tokenCount),output:Math.floor(.3*t.tokenCount),cacheRead:Math.floor(.25*t.tokenCount),cacheWrite:Math.floor(.1*t.tokenCount)},messages:(i=t.id,[{id:`${i}-msg-1`,role:"user",timestamp:w(44),content:"Build the ClaWatch dashboard with real-time alert monitoring. Use Next.js 15 with shadcn/ui components."},{id:`${i}-msg-2`,role:"assistant",timestamp:w(43),content:"I'll build the ClaWatch dashboard. Let me start by examining the project structure and existing code.",model:"claude-sonnet-4-20250514",costUsd:.03,tokenCount:12400},{id:`${i}-msg-3`,role:"tool",timestamp:w(43),content:"src/\n app/\n dashboard/\n page.tsx\n layout.tsx\n page.tsx\n components/\n ui/\n lib/\n types.ts\n api.ts\n mock-data.ts",toolName:"read",toolInput:'{"path": "src/"}'},{id:`${i}-msg-4`,role:"assistant",timestamp:w(42),content:"I can see the project structure. Let me read the existing types and API files to understand the data model.",model:"claude-sonnet-4-20250514",costUsd:.02,tokenCount:8200},{id:`${i}-msg-5`,role:"tool",timestamp:w(42),content:'export type AgentStatus = "running" | "paused" | "stopped" | "error" | "stuck";\n\nexport interface Agent {\n id: string;\n name: string;\n ...',toolName:"read",toolInput:'{"path": "src/lib/types.ts"}'},{id:`${i}-msg-6`,role:"assistant",timestamp:w(40),content:"Now I'll create the dashboard page with agent cards, alert banners, and cost overview panels. I'll use the existing shadcn/ui components.",model:"claude-sonnet-4-20250514",costUsd:.08,tokenCount:34600},{id:`${i}-msg-7`,role:"tool",timestamp:w(39),content:"File written: src/app/dashboard/page.tsx (358 lines)",toolName:"write",toolInput:'{"path": "src/app/dashboard/page.tsx", "content": "..."}'},{id:`${i}-msg-8`,role:"tool",timestamp:w(38),content:"$ npm run build\n\n ✓ Compiled successfully\n ✓ Collecting page data\n ✓ Generating static pages (5/5)\n ✓ Collecting build traces\n\nRoute (app) Size First Load JS\n├ ○ / 5.2 kB 92.1 kB\n└ ○ /dashboard 12.4 kB 99.3 kB",toolName:"exec",toolInput:'{"command": "npm run build"}'},{id:`${i}-msg-9`,role:"assistant",timestamp:w(37),content:"The build succeeded. Let me now add the real-time polling mechanism and alert notification sounds.",model:"claude-sonnet-4-20250514",costUsd:.04,tokenCount:15800},{id:`${i}-msg-10`,role:"tool",timestamp:w(36),content:"Lines 49-64 edited in src/app/dashboard/page.tsx",toolName:"edit",toolInput:'{"path": "src/app/dashboard/page.tsx", "old_string": "...", "new_string": "..."}'},{id:`${i}-msg-11`,role:"user",timestamp:w(35),content:"Can you also add a cost breakdown by model? Show it as horizontal progress bars."},{id:`${i}-msg-12`,role:"assistant",timestamp:w(34),content:"Sure! I'll add a cost breakdown section with progress bars for each model. Let me update the dashboard.",model:"claude-sonnet-4-20250514",costUsd:.06,tokenCount:24200},{id:`${i}-msg-13`,role:"tool",timestamp:w(33),content:"Lines 254-305 edited in src/app/dashboard/page.tsx",toolName:"edit",toolInput:'{"path": "src/app/dashboard/page.tsx", "old_string": "...", "new_string": "..."}'},{id:`${i}-msg-14`,role:"system",timestamp:w(32),content:"Context window: 78% utilized (156K/200K tokens)"},{id:`${i}-msg-15`,role:"assistant",timestamp:w(31),content:"I've added the cost breakdown panels. The dashboard now shows:\n\n1. **Agent cards** with status, cost, tokens, errors, and heartbeat\n2. **Alert banner** for critical/warning alerts\n3. **Cost by Agent** — horizontal progress bars\n4. **Cost by Model** — horizontal progress bars\n\nThe data refreshes every 5 seconds via polling.",model:"claude-sonnet-4-20250514",costUsd:.05,tokenCount:18900},{id:`${i}-msg-16`,role:"tool",timestamp:w(30),content:'{"results": [{"title": "shadcn/ui Tabs Component", "url": "https://ui.shadcn.com/docs/components/tabs"}]}',toolName:"web_search",toolInput:'{"query": "shadcn ui tabs component usage"}'},{id:`${i}-msg-17`,role:"assistant",timestamp:w(28),content:"Let me add a tabbed interface for Agents and Sessions views. I'll implement the tabs using a simple state-based approach.",model:"claude-sonnet-4-20250514",costUsd:.11,tokenCount:45200},{id:`${i}-msg-18`,role:"tool",timestamp:w(27),content:"$ npm run build\n\n ✓ Compiled successfully\n ✓ Linting and checking validity of types\n ✓ Generating static pages (5/5)\n\nBuild completed in 8.2s",toolName:"exec",toolInput:'{"command": "npm run build"}'},{id:`${i}-msg-19`,role:"assistant",timestamp:w(25),content:"Build passes. The dashboard now has Agents and Sessions tabs with full filtering and sorting. All existing functionality is preserved.",model:"claude-sonnet-4-20250514",costUsd:.03,tokenCount:11600},{id:`${i}-msg-20`,role:"tool",timestamp:w(24),content:"$ npm test -- --watchAll=false\n\nTest Suites: 3 passed, 3 total\nTests: 12 passed, 12 total\nTime: 4.231s",toolName:"exec",toolInput:'{"command": "npm test -- --watchAll=false"}'}])};let $={"alert-1":{alert:v[0],agent:{id:"agent-4",name:"customer-support",status:"stuck"},relatedErrors:[],context:{lastHeartbeat:w(45),stuckDurationMinutes:45,agentStatus:"stuck"}},"alert-2":{alert:v[1],agent:{id:"agent-3",name:"data-pipeline",status:"error"},relatedErrors:[{timestamp:w(12),error:"TypeError: Cannot read properties of undefined (reading 'map')"},{timestamp:w(11),error:"ECONNREFUSED: Connection refused to database at 127.0.0.1:5432"},{timestamp:w(11),error:"ECONNREFUSED: Connection refused to database at 127.0.0.1:5432"},{timestamp:w(10),error:"Unhandled promise rejection: Query timeout after 30000ms"},{timestamp:w(10),error:'FATAL: too many connections for role "app_user"'}]},"alert-3":{alert:v[2],agent:{id:"agent-4",name:"customer-support",status:"running"},relatedErrors:[],context:{currentCostUsd:12.67,thresholdUsd:10,overage:2.67}},"alert-4":{alert:v[3],agent:{id:"agent-8",name:"slack-responder",status:"running"},relatedErrors:[{timestamp:w(32),error:"Detected 5 consecutive similar outputs — possible retry loop"},{timestamp:w(31),error:"Output similarity score: 0.94 (threshold: 0.85)"}]},"alert-5":{alert:v[4],agent:{id:"agent-2",name:"deploy-bot",status:"running"},relatedErrors:[{timestamp:y(3),error:"API returned 503 Service Unavailable — auto-retried successfully"}]}},P=b.default.env.NEXT_PUBLIC_API_KEY||"",T=!1;function N(){return T}function M(){T=!0}async function B(t,e){let s={"Content-Type":"application/json","ngrok-skip-browser-warning":"true",...P?{"X-ClaWatch-Key":P}:{},...e?.headers||{}},o=await fetch(`${t}`,{...e,headers:s});if(!o.ok)throw Error(`API error: ${o.status}`);return o.json()}async function F(){try{return(await B("/api/profiles")).profiles}catch{return console.warn("API unreachable, skipping profiles"),[]}}async function L(){try{return(await B("/api/version")).version}catch{return console.warn("API unreachable, skipping version"),null}}async function D(t,e){try{let s=new URLSearchParams;t&&s.set("status",t),e&&s.set("profile",e);let o=s.toString();return(await B(`/api/agents${o?`?${o}`:""}`)).agents}catch{return console.warn("API unreachable, falling back to mock data"),M(),C}}async function E(t){try{let e=new URLSearchParams;t?.limit!==void 0&&e.set("limit",String(t.limit)),t?.offset!==void 0&&e.set("offset",String(t.offset)),t?.severity&&e.set("severity",t.severity),t?.acknowledged!==void 0&&e.set("acknowledged",String(t.acknowledged)),t?.profile&&e.set("profile",t.profile);let s=e.toString();return await B(`/api/alerts${s?`?${s}`:""}`)}catch{return console.warn("API unreachable, falling back to mock data"),M(),{alerts:v,total:v.length}}}async function O(t){return await B(`/api/alerts/acknowledge-all${t?`?severity=${t}`:""}`,{method:"POST"})}async function R(t){try{let e=new URLSearchParams;t?.profile&&e.set("profile",t.profile),t?.from&&e.set("from",t.from),t?.to&&e.set("to",t.to);let s=e.toString();return await B(`/api/costs${s?`?${s}`:""}`)}catch{return console.warn("API unreachable, falling back to mock data"),M(),I}}async function _(t){await B(`/api/agents/${t}/pause`,{method:"POST"})}async function z(t){await B(`/api/agents/${t}/resume`,{method:"POST"})}async function W(t){await B(`/api/alerts/${t}/acknowledge`,{method:"POST"})}async function H(t){try{return await B(`/api/alerts/${t}/details`)}catch{console.warn("API unreachable, falling back to mock data"),M();let e=$[t];if(e)return e;throw Error("Alert not found")}}async function K(t){let{agentId:e,status:s,sort:o,profile:a,limit:n,offset:i}=t||{};try{let t=new URLSearchParams;n&&t.set("limit",String(n)),i&&t.set("offset",String(i)),e&&t.set("agentId",e),s&&t.set("status",s),o&&t.set("sort",o),a&&t.set("profile",a);let r=t.toString(),d=await B(`/api/sessions${r?`?${r}`:""}`);return{sessions:d.sessions,total:d.total}}catch{return console.warn("API unreachable, falling back to mock data"),M(),{sessions:A,total:A.length}}}async function J(t){try{return await B(`/api/sessions/${t}`)}catch{console.warn("API unreachable, falling back to mock data"),M();let e=j[t];if(e)return e;throw Error("Session not found")}}async function G(t){try{let e=t?`?profile=${t}`:"";return(await B(`/api/projects${e}`)).projects}catch{return console.warn("API unreachable, falling back to mock data"),M(),U}}async function q(t){try{return await B(`/api/projects/${t}`)}catch{console.warn("API unreachable, falling back to mock data"),M();let e=S[t];if(e)return e;throw Error("Project not found")}}async function Q(t,e){return await B("/api/projects",{method:"POST",body:JSON.stringify({name:t,description:e})})}async function V(t,e){await B(`/api/sessions/${t}/projects`,{method:"PUT",body:JSON.stringify({projectIds:e})})}async function X(t,e){await B(`/api/sessions/${t}/projects/${e}`,{method:"DELETE"})}let Y=(n=(a=Array.from({length:14},(t,e)=>{let s=new Date("2026-02-24");return s.setDate(s.getDate()+e),s.toISOString().slice(0,10)})).map(t=>({date:t,costUsd:+(5+15*Math.random()).toFixed(2),tokenCount:Math.floor(1e6+4e6*Math.random()),sessionCount:Math.floor(3+10*Math.random())})),{buckets:n,byAgent:["ofek","anas","dor"].map(t=>({agentId:t,buckets:a.map(t=>({date:t,costUsd:+(1+6*Math.random()).toFixed(2),tokenCount:Math.floor(3e5+15e5*Math.random()),sessionCount:Math.floor(1+4*Math.random())}))})),byProject:[{projectId:"proj-1",name:"ClaWatch"},{projectId:"proj-2",name:"Auth Service"},{projectId:"proj-3",name:"Mobile App"}].map(({projectId:t,name:e})=>({projectId:t,name:e,buckets:a.map(t=>({date:t,costUsd:+(1+5*Math.random()).toFixed(2),tokenCount:Math.floor(2e5+12e5*Math.random()),sessionCount:Math.floor(1+3*Math.random())}))}))});async function Z(t){try{let e=new URLSearchParams;t.profile&&e.set("profile",t.profile),t.groupBy&&e.set("groupBy",t.groupBy),t.from&&e.set("from",t.from),t.to&&e.set("to",t.to);let s=e.toString();return await B(`/api/analytics${s?`?${s}`:""}`)}catch{return console.warn("API unreachable, falling back to mock analytics data"),Y}}let tt={today:94.72,mtd:236.83,byAgent:{anas:{today:36.21,mtd:69.12},ofek:{today:42.83,mtd:112.18},dor:{today:15.68,mtd:55.53}},limits:{type:null,amount:null,agentLimits:{}},usagePercent:null};async function te(t){try{let e=t?`?profile=${t}`:"";return await B(`/api/spend${e}`)}catch{return console.warn("API unreachable, falling back to mock spend data"),tt}}async function ts(t){return await B("/api/settings/cost-limits",{method:"PUT",body:JSON.stringify(t)})}t.s(["acknowledgeAlert",()=>W,"acknowledgeAllAlerts",()=>O,"createProject",()=>Q,"getAgents",()=>D,"getAlertDetails",()=>H,"getAlerts",()=>E,"getAnalytics",()=>Z,"getCosts",()=>R,"getProfiles",()=>F,"getProject",()=>q,"getProjects",()=>G,"getSession",()=>J,"getSessions",()=>K,"getSpend",()=>te,"getVersion",()=>L,"isUsingMockData",()=>N,"pauseAgent",()=>_,"removeSessionProject",()=>X,"resumeAgent",()=>z,"setCostLimits",()=>ts,"setSessionProjects",()=>V],9165)}]);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98183,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o={assign:function(){return i},searchParamsToUrlQuery:function(){return l},urlQueryToSearchParams:function(){return a}};for(var n in o)Object.defineProperty(t,n,{enumerable:!0,get:o[n]});function l(e){let r={};for(let[t,o]of e.entries()){let e=r[t];void 0===e?r[t]=o:Array.isArray(e)?e.push(o):r[t]=[e,o]}return r}function s(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function a(e){let r=new URLSearchParams;for(let[t,o]of Object.entries(e))if(Array.isArray(o))for(let e of o)r.append(t,s(e));else r.set(t,s(o));return r}function i(e,...r){for(let t of r){for(let r of t.keys())e.delete(r);for(let[r,o]of t.entries())e.append(r,o)}return e}},95057,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o={formatUrl:function(){return a},formatWithValidation:function(){return c},urlObjectKeys:function(){return i}};for(var n in o)Object.defineProperty(t,n,{enumerable:!0,get:o[n]});let l=e.r(90809)._(e.r(98183)),s=/https?|ftp|gopher|file/;function a(e){let{auth:r,hostname:t}=e,o=e.protocol||"",n=e.pathname||"",a=e.hash||"",i=e.query||"",c=!1;r=r?encodeURIComponent(r).replace(/%3A/i,":")+"@":"",e.host?c=r+e.host:t&&(c=r+(~t.indexOf(":")?`[${t}]`:t),e.port&&(c+=":"+e.port)),i&&"object"==typeof i&&(i=String(l.urlQueryToSearchParams(i)));let d=e.search||i&&`?${i}`||"";return o&&!o.endsWith(":")&&(o+=":"),e.slashes||(!o||s.test(o))&&!1!==c?(c="//"+(c||""),n&&"/"!==n[0]&&(n="/"+n)):c||(c=""),a&&"#"!==a[0]&&(a="#"+a),d&&"?"!==d[0]&&(d="?"+d),n=n.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${o}${c}${n}${d}${a}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return a(e)}},18581,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useMergedRef",{enumerable:!0,get:function(){return n}});let o=e.r(71645);function n(e,r){let t=(0,o.useRef)(null),n=(0,o.useRef)(null);return(0,o.useCallback)(o=>{if(null===o){let e=t.current;e&&(t.current=null,e());let r=n.current;r&&(n.current=null,r())}else e&&(t.current=l(e,o)),r&&(n.current=l(r,o))},[e,r])}function l(e,r){if("function"!=typeof e)return e.current=r,()=>{e.current=null};{let t=e(r);return"function"==typeof t?t:()=>e(null)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),r.exports=t.default)},18967,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o={DecodeError:function(){return h},MiddlewareNotFoundError:function(){return v},MissingStaticPage:function(){return k},NormalizeError:function(){return x},PageNotFoundError:function(){return y},SP:function(){return b},ST:function(){return g},WEB_VITALS:function(){return l},execOnce:function(){return s},getDisplayName:function(){return u},getLocationOrigin:function(){return c},getURL:function(){return d},isAbsoluteUrl:function(){return i},isResSent:function(){return f},loadGetInitialProps:function(){return m},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return w}};for(var n in o)Object.defineProperty(t,n,{enumerable:!0,get:o[n]});let l=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let r,t=!1;return(...o)=>(t||(t=!0,r=e(...o)),r)}let a=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,i=e=>a.test(e);function c(){let{protocol:e,hostname:r,port:t}=window.location;return`${e}//${r}${t?":"+t:""}`}function d(){let{href:e}=window.location,r=c();return e.substring(r.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let r=e.split("?");return r[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(r[1]?`?${r.slice(1).join("?")}`:"")}async function m(e,r){let t=r.res||r.ctx&&r.ctx.res;if(!e.getInitialProps)return r.ctx&&r.Component?{pageProps:await m(r.Component,r.ctx)}:{};let o=await e.getInitialProps(r);if(t&&f(t))return o;if(!o)throw Object.defineProperty(Error(`"${u(e)}.getInitialProps()" should resolve to an object. But found "${o}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return o}let b="u">typeof performance,g=b&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class x extends Error{}class y extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class k extends Error{constructor(e,r){super(),this.message=`Failed to load static file for page: ${e} ${r}`}}class v extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function w(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return l}});let o=e.r(18967),n=e.r(52817);function l(e){if(!(0,o.isAbsoluteUrl)(e))return!0;try{let r=(0,o.getLocationOrigin)(),t=new URL(e,r);return t.origin===r&&(0,n.hasBasePath)(t.pathname)}catch(e){return!1}}},84508,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"errorOnce",{enumerable:!0,get:function(){return o}});let o=e=>{}},22016,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o={default:function(){return h},useLinkStatus:function(){return y}};for(var n in o)Object.defineProperty(t,n,{enumerable:!0,get:o[n]});let l=e.r(90809),s=e.r(43476),a=l._(e.r(71645)),i=e.r(95057),c=e.r(8372),d=e.r(18581),u=e.r(18967),f=e.r(5550);e.r(33525);let p=e.r(91949),m=e.r(73668),b=e.r(9396);function g(e){return"string"==typeof e?e:(0,i.formatUrl)(e)}function h(r){var t;let o,n,l,[i,h]=(0,a.useOptimistic)(p.IDLE_LINK_STATUS),y=(0,a.useRef)(null),{href:k,as:v,children:w,prefetch:j=null,passHref:$,replace:z,shallow:Q,scroll:N,onClick:P,onMouseEnter:E,onTouchStart:C,legacyBehavior:M=!1,onNavigate:O,ref:A,unstable_dynamicOnHover:W,..._}=r;o=w,M&&("string"==typeof o||"number"==typeof o)&&(o=(0,s.jsx)("a",{children:o}));let D=a.default.useContext(c.AppRouterContext),F=!1!==j,T=!1!==j?null===(t=j)||"auto"===t?b.FetchStrategy.PPR:b.FetchStrategy.Full:b.FetchStrategy.PPR,{href:L,as:S}=a.default.useMemo(()=>{let e=g(k);return{href:e,as:v?g(v):e}},[k,v]);if(M){if(o?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});n=a.default.Children.only(o)}let I=M?n&&"object"==typeof n&&n.ref:A,R=a.default.useCallback(e=>(null!==D&&(y.current=(0,p.mountLinkInstance)(e,L,D,T,F,h)),()=>{y.current&&((0,p.unmountLinkForCurrentNavigation)(y.current),y.current=null),(0,p.unmountPrefetchableInstance)(e)}),[F,L,D,T,h]),U={ref:(0,d.useMergedRef)(R,I),onClick(r){M||"function"!=typeof P||P(r),M&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(r),!D||r.defaultPrevented||function(r,t,o,n,l,s,i){if("u">typeof window){let c,{nodeName:d}=r.currentTarget;if("A"===d.toUpperCase()&&((c=r.currentTarget.getAttribute("target"))&&"_self"!==c||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey||r.nativeEvent&&2===r.nativeEvent.which)||r.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(t)){l&&(r.preventDefault(),location.replace(t));return}if(r.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(99781);a.default.startTransition(()=>{u(o||t,l?"replace":"push",s??!0,n.current)})}}(r,L,S,y,z,N,O)},onMouseEnter(e){M||"function"!=typeof E||E(e),M&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),D&&F&&(0,p.onNavigationIntent)(e.currentTarget,!0===W)},onTouchStart:function(e){M||"function"!=typeof C||C(e),M&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),D&&F&&(0,p.onNavigationIntent)(e.currentTarget,!0===W)}};return(0,u.isAbsoluteUrl)(S)?U.href=S:M&&!$&&("a"!==n.type||"href"in n.props)||(U.href=(0,f.addBasePath)(S)),l=M?a.default.cloneElement(n,U):(0,s.jsx)("a",{..._,...U,children:o}),(0,s.jsx)(x.Provider,{value:i,children:l})}e.r(84508);let x=(0,a.createContext)(p.IDLE_LINK_STATUS),y=()=>(0,a.useContext)(x);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),r.exports=t.default)},19455,19805,27601,7670,25913,75157,98940,e=>{"use strict";var r=e.i(43476);e.i(47167);var t=e.i(71645);let o={};function n(e,r){let n=t.useRef(o);return n.current===o&&(n.current=e(r)),n}let l=t[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0,-3)],s=l&&l!==t.useLayoutEffect?l:e=>e();function a(e){let r=n(i).current;return r.next=e,s(r.effect),r.trampoline}function i(){let e={next:void 0,callback:c,trampoline:(...r)=>e.callback?.(...r),effect:()=>{e.callback=e.next}};return e}function c(){}let d="u">typeof document?t.useLayoutEffect:()=>{};function u(e,r){return e&&!r?e:!e&&r?r:e||r?{...e,...r}:void 0}let f={};function p(e,r,t,o,n){let l={...h(e,f)};return r&&(l=b(l,r)),t&&(l=b(l,t)),o&&(l=b(l,o)),n&&(l=b(l,n)),l}function m(e){if(0===e.length)return f;if(1===e.length)return h(e[0],f);let r={...h(e[0],f)};for(let t=1;t<e.length;t+=1)r=b(r,e[t]);return r}function b(e,r){return g(r)?r(e):function(e,r){if(!r)return e;for(let t in r){let o=r[t];switch(t){case"style":e[t]=u(e.style,o);break;case"className":e[t]=y(e.className,o);break;default:!function(e,r){let t=e.charCodeAt(0),o=e.charCodeAt(1),n=e.charCodeAt(2);return 111===t&&110===o&&n>=65&&n<=90&&("function"==typeof r||void 0===r)}(t,o)?e[t]=o:e[t]=function(e,r){return r?e?t=>{var o;if(null!=(o=t)&&"object"==typeof o&&"nativeEvent"in o){x(t);let o=r(t);return t.baseUIHandlerPrevented||e?.(t),o}let n=r(t);return e?.(t),n}:r:e}(e[t],o)}}return e}(e,r)}function g(e){return"function"==typeof e}function h(e,r){return g(e)?e(r):e??f}function x(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function y(e,r){return r?e?r+" "+e:r:e}function k(e,...r){let t=new URL("https://base-ui.com/production-error");return t.searchParams.set("code",e.toString()),r.forEach(e=>t.searchParams.append("args[]",e)),`Base UI error #${e}; visit ${t} for the full message.`}e.s(["makeEventPreventable",()=>x,"mergeClassNames",()=>y,"mergeProps",()=>p,"mergePropsN",()=>m],19805);let v=t.createContext(void 0);function w(e,r,t,o){var l,s,a,i,c;let d=n(j).current;return l=d,s=e,a=r,i=t,c=o,(l.refs[0]!==s||l.refs[1]!==a||l.refs[2]!==i||l.refs[3]!==c)&&$(d,[e,r,t,o]),d.callback}function j(){return{callback:null,cleanup:null,refs:[]}}function $(e,r){if(e.refs=r,r.every(e=>null==e)){e.callback=null;return}e.callback=t=>{if(e.cleanup&&(e.cleanup(),e.cleanup=null),null!=t){let o=Array(r.length).fill(null);for(let e=0;e<r.length;e+=1){let n=r[e];if(null!=n)switch(typeof n){case"function":{let r=n(t);"function"==typeof r&&(o[e]=r);break}case"object":n.current=t}}e.cleanup=()=>{for(let e=0;e<r.length;e+=1){let t=r[e];if(null!=t)switch(typeof t){case"function":{let r=o[e];"function"==typeof r?r():t(null);break}case"object":t.current=null}}}}}}let z=parseInt(t.version,10);function Q(e){if(!t.isValidElement(e))return null;let r=e.props;return(z>=19?r?.ref:e.ref)??null}Object.freeze([]);let N=Object.freeze({});function P(e,r,o={}){let l=r.render,s=function(e,r={}){var t,o,l;let{className:s,style:a,render:i}=e,{state:c=N,ref:d,props:f,stateAttributesMapping:p,enabled:b=!0}=r,g=b?"function"==typeof s?s(c):s:void 0,h=b?"function"==typeof a?a(c):a:void 0,x=b?function(e,r){let t={};for(let o in e){let n=e[o];if(r?.hasOwnProperty(o)){let e=r[o](n);null!=e&&Object.assign(t,e);continue}!0===n?t[`data-${o.toLowerCase()}`]="":n&&(t[`data-${o.toLowerCase()}`]=n.toString())}return t}(c,p):N,k=b?u(x,Array.isArray(f)?m(f):f)??N:N;if("u">typeof document)if(b)if(Array.isArray(d)){let e;t=[k.ref,Q(i),...d],o=e=n(j).current,l=t,(o.refs.length!==l.length||o.refs.some((e,r)=>e!==l[r]))&&$(e,t),k.ref=e.callback}else k.ref=w(k.ref,Q(i),d);else w(null,null);return b?(void 0!==g&&(k.className=y(k.className,g)),void 0!==h&&(k.style=u(k.style,h)),k):N}(r,o);return!1===o.enabled?null:function(e,r,o,n){if(r){if("function"==typeof r)return r(o,n);let e=p(o,r.props);e.ref=o.ref;let l=r;return l?.$$typeof===E&&(l=t.Children.toArray(r)[0]),t.cloneElement(l,e)}if(e&&"string"==typeof e){var l,s;return l=e,s=o,"button"===l?(0,t.createElement)("button",{type:"button",...s,key:s.key}):"img"===l?(0,t.createElement)("img",{alt:"",...s,key:s.key}):t.createElement(l,s)}throw Error(k(8))}(e,l,s,o.state??N)}let E=Symbol.for("react.lazy");e.s(["useRenderElement",()=>P],27601);let C=t.forwardRef(function(e,r){let{render:o,className:n,disabled:l=!1,focusableWhenDisabled:s=!1,nativeButton:i=!0,...c}=e,{getButtonProps:u,buttonRef:f}=function(e={}){let{disabled:r=!1,focusableWhenDisabled:o,tabIndex:n=0,native:l=!0}=e,s=t.useRef(null),i=void 0!==function(e=!1){let r=t.useContext(v);if(void 0===r&&!e)throw Error(k(16));return r}(!0),c=a(()=>{let e=s.current;return!!(e?.tagName==="A"&&e?.href)}),{props:u}=function(e){let{focusableWhenDisabled:r,disabled:o,composite:n=!1,tabIndex:l=0,isNativeButton:s}=e,a=n&&!1!==r,i=n&&!1===r;return{props:t.useMemo(()=>{let e={onKeyDown(e){o&&r&&"Tab"!==e.key&&e.preventDefault()}};return n||(e.tabIndex=l,!s&&o&&(e.tabIndex=r?l:-1)),(s&&(r||a)||!s&&o)&&(e["aria-disabled"]=o),s&&(!r||i)&&(e.disabled=o),e},[n,o,r,a,i,s,l])}}({focusableWhenDisabled:o,disabled:r,composite:i,tabIndex:n,isNativeButton:l}),f=t.useCallback(()=>{var e;let t=s.current;(function(e){var r;return!!("u">typeof window)&&(e instanceof HTMLElement||e instanceof((null==e||null==(r=e.ownerDocument)?void 0:r.defaultView)||window).HTMLElement)})(e=t)&&"BUTTON"===e.tagName&&i&&r&&void 0===u.disabled&&t.disabled&&(t.disabled=!1)},[r,u.disabled,i]);return d(f,[f]),{getButtonProps:t.useCallback((e={})=>{let{onClick:t,onMouseDown:o,onKeyUp:n,onKeyDown:s,onPointerDown:a,...i}=e;return p({type:l?"button":void 0,onClick(e){r?e.preventDefault():t?.(e)},onMouseDown(e){r||o?.(e)},onKeyDown(e){if(r||(x(e),s?.(e)),e.baseUIHandlerPrevented)return;let o=e.target===e.currentTarget&&!l&&!c()&&!r,n="Enter"===e.key,a=" "===e.key;o&&((a||n)&&e.preventDefault(),n&&t?.(e))},onKeyUp(e){r||(x(e),n?.(e)),!e.baseUIHandlerPrevented&&(e.target!==e.currentTarget||l||r||" "!==e.key||t?.(e))},onPointerDown(e){r?e.preventDefault():a?.(e)}},l?void 0:{role:"button"},u,i)},[r,u,l,c]),buttonRef:a(e=>{s.current=e,f()})}}({disabled:l,focusableWhenDisabled:s,native:i});return P("button",e,{state:{disabled:l},ref:[r,f],props:[c,u]})});function M(){for(var e,r,t=0,o="",n=arguments.length;t<n;t++)(e=arguments[t])&&(r=function e(r){var t,o,n="";if("string"==typeof r||"number"==typeof r)n+=r;else if("object"==typeof r)if(Array.isArray(r)){var l=r.length;for(t=0;t<l;t++)r[t]&&(o=e(r[t]))&&(n&&(n+=" "),n+=o)}else for(o in r)r[o]&&(n&&(n+=" "),n+=o);return n}(e))&&(o&&(o+=" "),o+=r);return o}e.s(["clsx",()=>M],7670);let O=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,A=(e,r)=>t=>{var o;if((null==r?void 0:r.variants)==null)return M(e,null==t?void 0:t.class,null==t?void 0:t.className);let{variants:n,defaultVariants:l}=r,s=Object.keys(n).map(e=>{let r=null==t?void 0:t[e],o=null==l?void 0:l[e];if(null===r)return null;let s=O(r)||O(o);return n[e][s]}),a=t&&Object.entries(t).reduce((e,r)=>{let[t,o]=r;return void 0===o||(e[t]=o),e},{});return M(e,s,null==r||null==(o=r.compoundVariants)?void 0:o.reduce((e,r)=>{let{class:t,className:o,...n}=r;return Object.entries(n).every(e=>{let[r,t]=e;return Array.isArray(t)?t.includes({...l,...a}[r]):({...l,...a})[r]===t})?[...e,t,o]:e},[]),null==t?void 0:t.class,null==t?void 0:t.className)};e.s(["cva",0,A],25913);let W=(e=new Map,r=null,t)=>({nextPart:e,validators:r,classGroupId:t}),_=[],D=(e,r,t)=>{if(0==e.length-r)return t.classGroupId;let o=e[r],n=t.nextPart.get(o);if(n){let t=D(e,r+1,n);if(t)return t}let l=t.validators;if(null===l)return;let s=0===r?e.join("-"):e.slice(r).join("-"),a=l.length;for(let e=0;e<a;e++){let r=l[e];if(r.validator(s))return r.classGroupId}},F=(e,r)=>{let t=W();for(let o in e)T(e[o],t,o,r);return t},T=(e,r,t,o)=>{let n=e.length;for(let l=0;l<n;l++)L(e[l],r,t,o)},L=(e,r,t,o)=>{"string"==typeof e?S(e,r,t):"function"==typeof e?I(e,r,t,o):R(e,r,t,o)},S=(e,r,t)=>{(""===e?r:U(r,e)).classGroupId=t},I=(e,r,t,o)=>{B(e)?T(e(o),r,t,o):(null===r.validators&&(r.validators=[]),r.validators.push({classGroupId:t,validator:e}))},R=(e,r,t,o)=>{let n=Object.entries(e),l=n.length;for(let e=0;e<l;e++){let[l,s]=n[e];T(s,U(r,l),t,o)}},U=(e,r)=>{let t=e,o=r.split("-"),n=o.length;for(let e=0;e<n;e++){let r=o[e],n=t.nextPart.get(r);n||(n=W(),t.nextPart.set(r,n)),t=n}return t},B=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,Z=[],G=(e,r,t,o,n)=>({modifiers:e,hasImportantModifier:r,baseClassName:t,maybePostfixModifierPosition:o,isExternal:n}),K=/\s+/,H=e=>{let r;if("string"==typeof e)return e;let t="";for(let o=0;o<e.length;o++)e[o]&&(r=H(e[o]))&&(t&&(t+=" "),t+=r);return t},V=[],q=e=>{let r=r=>r[e]||V;return r.isThemeGetter=!0,r},X=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,J=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Y=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,ee=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,er=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,et=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,eo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,en=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,el=e=>Y.test(e),es=e=>!!e&&!Number.isNaN(Number(e)),ea=e=>!!e&&Number.isInteger(Number(e)),ei=e=>e.endsWith("%")&&es(e.slice(0,-1)),ec=e=>ee.test(e),ed=()=>!0,eu=e=>er.test(e)&&!et.test(e),ef=()=>!1,ep=e=>eo.test(e),em=e=>en.test(e),eb=e=>!eh(e)&&!ez(e),eg=e=>eA(e,eF,ef),eh=e=>X.test(e),ex=e=>eA(e,eT,eu),ey=e=>eA(e,eL,es),ek=e=>eA(e,eI,ed),ev=e=>eA(e,eS,ef),ew=e=>eA(e,e_,ef),ej=e=>eA(e,eD,em),e$=e=>eA(e,eR,ep),ez=e=>J.test(e),eQ=e=>eW(e,eT),eN=e=>eW(e,eS),eP=e=>eW(e,e_),eE=e=>eW(e,eF),eC=e=>eW(e,eD),eM=e=>eW(e,eR,!0),eO=e=>eW(e,eI,!0),eA=(e,r,t)=>{let o=X.exec(e);return!!o&&(o[1]?r(o[1]):t(o[2]))},eW=(e,r,t=!1)=>{let o=J.exec(e);return!!o&&(o[1]?r(o[1]):t)},e_=e=>"position"===e||"percentage"===e,eD=e=>"image"===e||"url"===e,eF=e=>"length"===e||"size"===e||"bg-size"===e,eT=e=>"length"===e,eL=e=>"number"===e,eS=e=>"family-name"===e,eI=e=>"number"===e||"weight"===e,eR=e=>"shadow"===e,eU=((e,...r)=>{let t,o,n,l,s=e=>{let r=o(e);if(r)return r;let l=((e,r)=>{let{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:n,sortModifiers:l}=r,s=[],a=e.trim().split(K),i="";for(let e=a.length-1;e>=0;e-=1){let r=a[e],{isExternal:c,modifiers:d,hasImportantModifier:u,baseClassName:f,maybePostfixModifierPosition:p}=t(r);if(c){i=r+(i.length>0?" "+i:i);continue}let m=!!p,b=o(m?f.substring(0,p):f);if(!b){if(!m||!(b=o(f))){i=r+(i.length>0?" "+i:i);continue}m=!1}let g=0===d.length?"":1===d.length?d[0]:l(d).join(":"),h=u?g+"!":g,x=h+b;if(s.indexOf(x)>-1)continue;s.push(x);let y=n(b,m);for(let e=0;e<y.length;++e){let r=y[e];s.push(h+r)}i=r+(i.length>0?" "+i:i)}return i})(e,t);return n(e,l),l};return l=a=>{var i;let c;return o=(t={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let r=0,t=Object.create(null),o=Object.create(null),n=(n,l)=>{t[n]=l,++r>e&&(r=0,o=t,t=Object.create(null))};return{get(e){let r=t[e];return void 0!==r?r:void 0!==(r=o[e])?(n(e,r),r):void 0},set(e,r){e in t?t[e]=r:n(e,r)}}})((i=r.reduce((e,r)=>r(e),e())).cacheSize),parseClassName:(e=>{let{prefix:r,experimentalParseClassName:t}=e,o=e=>{let r,t=[],o=0,n=0,l=0,s=e.length;for(let a=0;a<s;a++){let s=e[a];if(0===o&&0===n){if(":"===s){t.push(e.slice(l,a)),l=a+1;continue}if("/"===s){r=a;continue}}"["===s?o++:"]"===s?o--:"("===s?n++:")"===s&&n--}let a=0===t.length?e:e.slice(l),i=a,c=!1;return a.endsWith("!")?(i=a.slice(0,-1),c=!0):a.startsWith("!")&&(i=a.slice(1),c=!0),G(t,c,i,r&&r>l?r-l:void 0)};if(r){let e=r+":",t=o;o=r=>r.startsWith(e)?t(r.slice(e.length)):G(Z,!1,r,void 0,!0)}if(t){let e=o;o=r=>t({className:r,parseClassName:e})}return o})(i),sortModifiers:(c=new Map,i.orderSensitiveModifiers.forEach((e,r)=>{c.set(e,1e6+r)}),e=>{let r=[],t=[];for(let o=0;o<e.length;o++){let n=e[o],l="["===n[0],s=c.has(n);l||s?(t.length>0&&(t.sort(),r.push(...t),t=[]),r.push(n)):t.push(n)}return t.length>0&&(t.sort(),r.push(...t)),r}),...(e=>{let r=(e=>{let{theme:r,classGroups:t}=e;return F(t,r)})(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]")){var t;let r,o,n;return -1===(t=e).slice(1,-1).indexOf(":")?void 0:(o=(r=t.slice(1,-1)).indexOf(":"),(n=r.slice(0,o))?"arbitrary.."+n:void 0)}let o=e.split("-"),n=+(""===o[0]&&o.length>1);return D(o,n,r)},getConflictingClassGroupIds:(e,r)=>{if(r){let r=o[e],n=t[e];if(r){if(n){let e=Array(n.length+r.length);for(let r=0;r<n.length;r++)e[r]=n[r];for(let t=0;t<r.length;t++)e[n.length+t]=r[t];return e}return r}return n||_}return t[e]||_}}})(i)}).cache.get,n=t.cache.set,l=s,s(a)},(...e)=>l(((...e)=>{let r,t,o=0,n="";for(;o<e.length;)(r=e[o++])&&(t=H(r))&&(n&&(n+=" "),n+=t);return n})(...e))})(()=>{let e=q("color"),r=q("font"),t=q("text"),o=q("font-weight"),n=q("tracking"),l=q("leading"),s=q("breakpoint"),a=q("container"),i=q("spacing"),c=q("radius"),d=q("shadow"),u=q("inset-shadow"),f=q("text-shadow"),p=q("drop-shadow"),m=q("blur"),b=q("perspective"),g=q("aspect"),h=q("ease"),x=q("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],k=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],v=()=>[...k(),ez,eh],w=()=>["auto","hidden","clip","visible","scroll"],j=()=>["auto","contain","none"],$=()=>[ez,eh,i],z=()=>[el,"full","auto",...$()],Q=()=>[ea,"none","subgrid",ez,eh],N=()=>["auto",{span:["full",ea,ez,eh]},ea,ez,eh],P=()=>[ea,"auto",ez,eh],E=()=>["auto","min","max","fr",ez,eh],C=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],M=()=>["start","end","center","stretch","center-safe","end-safe"],O=()=>["auto",...$()],A=()=>[el,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...$()],W=()=>[el,"screen","full","dvw","lvw","svw","min","max","fit",...$()],_=()=>[el,"screen","full","lh","dvh","lvh","svh","min","max","fit",...$()],D=()=>[e,ez,eh],F=()=>[...k(),eP,ew,{position:[ez,eh]}],T=()=>["no-repeat",{repeat:["","x","y","space","round"]}],L=()=>["auto","cover","contain",eE,eg,{size:[ez,eh]}],S=()=>[ei,eQ,ex],I=()=>["","none","full",c,ez,eh],R=()=>["",es,eQ,ex],U=()=>["solid","dashed","dotted","double"],B=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Z=()=>[es,ei,eP,ew],G=()=>["","none",m,ez,eh],K=()=>["none",es,ez,eh],H=()=>["none",es,ez,eh],V=()=>[es,ez,eh],X=()=>[el,"full",...$()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ec],breakpoint:[ec],color:[ed],container:[ec],"drop-shadow":[ec],ease:["in","out","in-out"],font:[eb],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ec],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ec],shadow:[ec],spacing:["px",es],text:[ec],"text-shadow":[ec],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",el,eh,ez,g]}],container:["container"],columns:[{columns:[es,eh,ez,a]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:v()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:j()}],"overscroll-x":[{"overscroll-x":j()}],"overscroll-y":[{"overscroll-y":j()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:z()}],"inset-x":[{"inset-x":z()}],"inset-y":[{"inset-y":z()}],start:[{"inset-s":z(),start:z()}],end:[{"inset-e":z(),end:z()}],"inset-bs":[{"inset-bs":z()}],"inset-be":[{"inset-be":z()}],top:[{top:z()}],right:[{right:z()}],bottom:[{bottom:z()}],left:[{left:z()}],visibility:["visible","invisible","collapse"],z:[{z:[ea,"auto",ez,eh]}],basis:[{basis:[el,"full","auto",a,...$()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[es,el,"auto","initial","none",eh]}],grow:[{grow:["",es,ez,eh]}],shrink:[{shrink:["",es,ez,eh]}],order:[{order:[ea,"first","last","none",ez,eh]}],"grid-cols":[{"grid-cols":Q()}],"col-start-end":[{col:N()}],"col-start":[{"col-start":P()}],"col-end":[{"col-end":P()}],"grid-rows":[{"grid-rows":Q()}],"row-start-end":[{row:N()}],"row-start":[{"row-start":P()}],"row-end":[{"row-end":P()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":E()}],"auto-rows":[{"auto-rows":E()}],gap:[{gap:$()}],"gap-x":[{"gap-x":$()}],"gap-y":[{"gap-y":$()}],"justify-content":[{justify:[...C(),"normal"]}],"justify-items":[{"justify-items":[...M(),"normal"]}],"justify-self":[{"justify-self":["auto",...M()]}],"align-content":[{content:["normal",...C()]}],"align-items":[{items:[...M(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...M(),{baseline:["","last"]}]}],"place-content":[{"place-content":C()}],"place-items":[{"place-items":[...M(),"baseline"]}],"place-self":[{"place-self":["auto",...M()]}],p:[{p:$()}],px:[{px:$()}],py:[{py:$()}],ps:[{ps:$()}],pe:[{pe:$()}],pbs:[{pbs:$()}],pbe:[{pbe:$()}],pt:[{pt:$()}],pr:[{pr:$()}],pb:[{pb:$()}],pl:[{pl:$()}],m:[{m:O()}],mx:[{mx:O()}],my:[{my:O()}],ms:[{ms:O()}],me:[{me:O()}],mbs:[{mbs:O()}],mbe:[{mbe:O()}],mt:[{mt:O()}],mr:[{mr:O()}],mb:[{mb:O()}],ml:[{ml:O()}],"space-x":[{"space-x":$()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":$()}],"space-y-reverse":["space-y-reverse"],size:[{size:A()}],"inline-size":[{inline:["auto",...W()]}],"min-inline-size":[{"min-inline":["auto",...W()]}],"max-inline-size":[{"max-inline":["none",...W()]}],"block-size":[{block:["auto",..._()]}],"min-block-size":[{"min-block":["auto",..._()]}],"max-block-size":[{"max-block":["none",..._()]}],w:[{w:[a,"screen",...A()]}],"min-w":[{"min-w":[a,"screen","none",...A()]}],"max-w":[{"max-w":[a,"screen","none","prose",{screen:[s]},...A()]}],h:[{h:["screen","lh",...A()]}],"min-h":[{"min-h":["screen","lh","none",...A()]}],"max-h":[{"max-h":["screen","lh",...A()]}],"font-size":[{text:["base",t,eQ,ex]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,eO,ek]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ei,eh]}],"font-family":[{font:[eN,ev,r]}],"font-features":[{"font-features":[eh]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,ez,eh]}],"line-clamp":[{"line-clamp":[es,"none",ez,ey]}],leading:[{leading:[l,...$()]}],"list-image":[{"list-image":["none",ez,eh]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ez,eh]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:D()}],"text-color":[{text:D()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...U(),"wavy"]}],"text-decoration-thickness":[{decoration:[es,"from-font","auto",ez,ex]}],"text-decoration-color":[{decoration:D()}],"underline-offset":[{"underline-offset":[es,"auto",ez,eh]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:$()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ez,eh]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ez,eh]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:F()}],"bg-repeat":[{bg:T()}],"bg-size":[{bg:L()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ea,ez,eh],radial:["",ez,eh],conic:[ea,ez,eh]},eC,ej]}],"bg-color":[{bg:D()}],"gradient-from-pos":[{from:S()}],"gradient-via-pos":[{via:S()}],"gradient-to-pos":[{to:S()}],"gradient-from":[{from:D()}],"gradient-via":[{via:D()}],"gradient-to":[{to:D()}],rounded:[{rounded:I()}],"rounded-s":[{"rounded-s":I()}],"rounded-e":[{"rounded-e":I()}],"rounded-t":[{"rounded-t":I()}],"rounded-r":[{"rounded-r":I()}],"rounded-b":[{"rounded-b":I()}],"rounded-l":[{"rounded-l":I()}],"rounded-ss":[{"rounded-ss":I()}],"rounded-se":[{"rounded-se":I()}],"rounded-ee":[{"rounded-ee":I()}],"rounded-es":[{"rounded-es":I()}],"rounded-tl":[{"rounded-tl":I()}],"rounded-tr":[{"rounded-tr":I()}],"rounded-br":[{"rounded-br":I()}],"rounded-bl":[{"rounded-bl":I()}],"border-w":[{border:R()}],"border-w-x":[{"border-x":R()}],"border-w-y":[{"border-y":R()}],"border-w-s":[{"border-s":R()}],"border-w-e":[{"border-e":R()}],"border-w-bs":[{"border-bs":R()}],"border-w-be":[{"border-be":R()}],"border-w-t":[{"border-t":R()}],"border-w-r":[{"border-r":R()}],"border-w-b":[{"border-b":R()}],"border-w-l":[{"border-l":R()}],"divide-x":[{"divide-x":R()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":R()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...U(),"hidden","none"]}],"divide-style":[{divide:[...U(),"hidden","none"]}],"border-color":[{border:D()}],"border-color-x":[{"border-x":D()}],"border-color-y":[{"border-y":D()}],"border-color-s":[{"border-s":D()}],"border-color-e":[{"border-e":D()}],"border-color-bs":[{"border-bs":D()}],"border-color-be":[{"border-be":D()}],"border-color-t":[{"border-t":D()}],"border-color-r":[{"border-r":D()}],"border-color-b":[{"border-b":D()}],"border-color-l":[{"border-l":D()}],"divide-color":[{divide:D()}],"outline-style":[{outline:[...U(),"none","hidden"]}],"outline-offset":[{"outline-offset":[es,ez,eh]}],"outline-w":[{outline:["",es,eQ,ex]}],"outline-color":[{outline:D()}],shadow:[{shadow:["","none",d,eM,e$]}],"shadow-color":[{shadow:D()}],"inset-shadow":[{"inset-shadow":["none",u,eM,e$]}],"inset-shadow-color":[{"inset-shadow":D()}],"ring-w":[{ring:R()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:D()}],"ring-offset-w":[{"ring-offset":[es,ex]}],"ring-offset-color":[{"ring-offset":D()}],"inset-ring-w":[{"inset-ring":R()}],"inset-ring-color":[{"inset-ring":D()}],"text-shadow":[{"text-shadow":["none",f,eM,e$]}],"text-shadow-color":[{"text-shadow":D()}],opacity:[{opacity:[es,ez,eh]}],"mix-blend":[{"mix-blend":[...B(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":B()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[es]}],"mask-image-linear-from-pos":[{"mask-linear-from":Z()}],"mask-image-linear-to-pos":[{"mask-linear-to":Z()}],"mask-image-linear-from-color":[{"mask-linear-from":D()}],"mask-image-linear-to-color":[{"mask-linear-to":D()}],"mask-image-t-from-pos":[{"mask-t-from":Z()}],"mask-image-t-to-pos":[{"mask-t-to":Z()}],"mask-image-t-from-color":[{"mask-t-from":D()}],"mask-image-t-to-color":[{"mask-t-to":D()}],"mask-image-r-from-pos":[{"mask-r-from":Z()}],"mask-image-r-to-pos":[{"mask-r-to":Z()}],"mask-image-r-from-color":[{"mask-r-from":D()}],"mask-image-r-to-color":[{"mask-r-to":D()}],"mask-image-b-from-pos":[{"mask-b-from":Z()}],"mask-image-b-to-pos":[{"mask-b-to":Z()}],"mask-image-b-from-color":[{"mask-b-from":D()}],"mask-image-b-to-color":[{"mask-b-to":D()}],"mask-image-l-from-pos":[{"mask-l-from":Z()}],"mask-image-l-to-pos":[{"mask-l-to":Z()}],"mask-image-l-from-color":[{"mask-l-from":D()}],"mask-image-l-to-color":[{"mask-l-to":D()}],"mask-image-x-from-pos":[{"mask-x-from":Z()}],"mask-image-x-to-pos":[{"mask-x-to":Z()}],"mask-image-x-from-color":[{"mask-x-from":D()}],"mask-image-x-to-color":[{"mask-x-to":D()}],"mask-image-y-from-pos":[{"mask-y-from":Z()}],"mask-image-y-to-pos":[{"mask-y-to":Z()}],"mask-image-y-from-color":[{"mask-y-from":D()}],"mask-image-y-to-color":[{"mask-y-to":D()}],"mask-image-radial":[{"mask-radial":[ez,eh]}],"mask-image-radial-from-pos":[{"mask-radial-from":Z()}],"mask-image-radial-to-pos":[{"mask-radial-to":Z()}],"mask-image-radial-from-color":[{"mask-radial-from":D()}],"mask-image-radial-to-color":[{"mask-radial-to":D()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":k()}],"mask-image-conic-pos":[{"mask-conic":[es]}],"mask-image-conic-from-pos":[{"mask-conic-from":Z()}],"mask-image-conic-to-pos":[{"mask-conic-to":Z()}],"mask-image-conic-from-color":[{"mask-conic-from":D()}],"mask-image-conic-to-color":[{"mask-conic-to":D()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:F()}],"mask-repeat":[{mask:T()}],"mask-size":[{mask:L()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ez,eh]}],filter:[{filter:["","none",ez,eh]}],blur:[{blur:G()}],brightness:[{brightness:[es,ez,eh]}],contrast:[{contrast:[es,ez,eh]}],"drop-shadow":[{"drop-shadow":["","none",p,eM,e$]}],"drop-shadow-color":[{"drop-shadow":D()}],grayscale:[{grayscale:["",es,ez,eh]}],"hue-rotate":[{"hue-rotate":[es,ez,eh]}],invert:[{invert:["",es,ez,eh]}],saturate:[{saturate:[es,ez,eh]}],sepia:[{sepia:["",es,ez,eh]}],"backdrop-filter":[{"backdrop-filter":["","none",ez,eh]}],"backdrop-blur":[{"backdrop-blur":G()}],"backdrop-brightness":[{"backdrop-brightness":[es,ez,eh]}],"backdrop-contrast":[{"backdrop-contrast":[es,ez,eh]}],"backdrop-grayscale":[{"backdrop-grayscale":["",es,ez,eh]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[es,ez,eh]}],"backdrop-invert":[{"backdrop-invert":["",es,ez,eh]}],"backdrop-opacity":[{"backdrop-opacity":[es,ez,eh]}],"backdrop-saturate":[{"backdrop-saturate":[es,ez,eh]}],"backdrop-sepia":[{"backdrop-sepia":["",es,ez,eh]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":$()}],"border-spacing-x":[{"border-spacing-x":$()}],"border-spacing-y":[{"border-spacing-y":$()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ez,eh]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[es,"initial",ez,eh]}],ease:[{ease:["linear","initial",h,ez,eh]}],delay:[{delay:[es,ez,eh]}],animate:[{animate:["none",x,ez,eh]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,ez,eh]}],"perspective-origin":[{"perspective-origin":v()}],rotate:[{rotate:K()}],"rotate-x":[{"rotate-x":K()}],"rotate-y":[{"rotate-y":K()}],"rotate-z":[{"rotate-z":K()}],scale:[{scale:H()}],"scale-x":[{"scale-x":H()}],"scale-y":[{"scale-y":H()}],"scale-z":[{"scale-z":H()}],"scale-3d":["scale-3d"],skew:[{skew:V()}],"skew-x":[{"skew-x":V()}],"skew-y":[{"skew-y":V()}],transform:[{transform:[ez,eh,"","none","gpu","cpu"]}],"transform-origin":[{origin:v()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:X()}],"translate-x":[{"translate-x":X()}],"translate-y":[{"translate-y":X()}],"translate-z":[{"translate-z":X()}],"translate-none":["translate-none"],accent:[{accent:D()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:D()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ez,eh]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":$()}],"scroll-mx":[{"scroll-mx":$()}],"scroll-my":[{"scroll-my":$()}],"scroll-ms":[{"scroll-ms":$()}],"scroll-me":[{"scroll-me":$()}],"scroll-mbs":[{"scroll-mbs":$()}],"scroll-mbe":[{"scroll-mbe":$()}],"scroll-mt":[{"scroll-mt":$()}],"scroll-mr":[{"scroll-mr":$()}],"scroll-mb":[{"scroll-mb":$()}],"scroll-ml":[{"scroll-ml":$()}],"scroll-p":[{"scroll-p":$()}],"scroll-px":[{"scroll-px":$()}],"scroll-py":[{"scroll-py":$()}],"scroll-ps":[{"scroll-ps":$()}],"scroll-pe":[{"scroll-pe":$()}],"scroll-pbs":[{"scroll-pbs":$()}],"scroll-pbe":[{"scroll-pbe":$()}],"scroll-pt":[{"scroll-pt":$()}],"scroll-pr":[{"scroll-pr":$()}],"scroll-pb":[{"scroll-pb":$()}],"scroll-pl":[{"scroll-pl":$()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ez,eh]}],fill:[{fill:["none",...D()]}],"stroke-w":[{stroke:[es,eQ,ex,ey]}],stroke:[{stroke:["none",...D()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function eB(...e){return eU(M(e))}e.s(["cn",()=>eB],75157);let eZ=A("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function eG({className:e,variant:t="default",size:o="default",...n}){return(0,r.jsx)(C,{"data-slot":"button",className:eB(eZ({variant:t,size:o,className:e})),...n})}function eK({size:e="md"}){return(0,r.jsxs)("span",{className:`${{sm:"text-lg",md:"text-xl",lg:"text-3xl",xl:"text-5xl sm:text-6xl"}[e]} font-bold tracking-tight`,children:[(0,r.jsx)("span",{className:"text-white",children:"Cla"}),(0,r.jsx)("span",{className:"bg-gradient-to-r from-white via-emerald-300 to-emerald-400 bg-clip-text text-transparent",children:"W"}),(0,r.jsx)("span",{className:"text-emerald-400",children:"atch"})]})}function eH({size:e=130}){let o=(0,t.useId)().replace(/:/g,""),n=`bg-${o}`,l=`glow-${o}`,s=`sg-${o}`,a=`clip-${o}`,i=`sweep-${o}`,c=`dotOn-${o}`,d=`ringOut-${o}`,u=`eyePulse-${o}`,f=`blink-${o}`,p=`sweep-group-${o}`,m=`p1-dot-${o}`,b=`p1-ring-${o}`,g=`p2-dot-${o}`,h=`p2-ring-${o}`,x=`eye-l-${o}`,y=`eye-r-${o}`,k=`sensor1-${o}`,v=`sensor2-${o}`;return(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 130 130",xmlns:"http://www.w3.org/2000/svg",role:"img","aria-label":"ClaWatch owl logo",children:[(0,r.jsx)("style",{children:`
|
|
2
|
+
@keyframes ${i} { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
|
|
3
|
+
.${p} { transform-origin: 65px 65px; animation: ${i} 4s linear infinite; }
|
|
4
|
+
|
|
5
|
+
@keyframes ${c} {
|
|
6
|
+
0% { opacity: 1; }
|
|
7
|
+
18% { opacity: 0.15; }
|
|
8
|
+
100% { opacity: 0.1; }
|
|
9
|
+
}
|
|
10
|
+
@keyframes ${d} {
|
|
11
|
+
0% { opacity: 0.7; transform: scale(1); }
|
|
12
|
+
60% { opacity: 0; transform: scale(3.2); }
|
|
13
|
+
100% { opacity: 0; transform: scale(3.2); }
|
|
14
|
+
}
|
|
15
|
+
@keyframes ${u} {
|
|
16
|
+
0%,100% { opacity: 1; }
|
|
17
|
+
50% { opacity: 0.6; }
|
|
18
|
+
}
|
|
19
|
+
@keyframes ${f} {
|
|
20
|
+
0%,88%,100% { opacity: 1; }
|
|
21
|
+
94% { opacity: 0.05; }
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.${m} { animation: ${c} 4s linear infinite; animation-delay: -3.5s; }
|
|
25
|
+
.${b} { animation: ${d} 4s linear infinite; animation-delay: -3.5s; transform-origin: 0px 0px; }
|
|
26
|
+
.${g} { animation: ${c} 4s linear infinite; animation-delay: -1.43s; }
|
|
27
|
+
.${h} { animation: ${d} 4s linear infinite; animation-delay: -1.43s; transform-origin: 0px 0px; }
|
|
28
|
+
|
|
29
|
+
.${x} { animation: ${u} 2s ease-in-out infinite; }
|
|
30
|
+
.${y} { animation: ${u} 2s ease-in-out infinite 0.3s; }
|
|
31
|
+
.${k} { animation: ${f} 2.5s ease-in-out infinite; }
|
|
32
|
+
.${v} { animation: ${f} 2.5s ease-in-out infinite 0.5s; }
|
|
33
|
+
`}),(0,r.jsxs)("defs",{children:[(0,r.jsxs)("radialGradient",{id:n,cx:"50%",cy:"50%",r:"50%",children:[(0,r.jsx)("stop",{offset:"0%",stopColor:"#001820"}),(0,r.jsx)("stop",{offset:"100%",stopColor:"#000A0D"})]}),(0,r.jsxs)("filter",{id:l,children:[(0,r.jsx)("feGaussianBlur",{stdDeviation:"2",result:"b"}),(0,r.jsxs)("feMerge",{children:[(0,r.jsx)("feMergeNode",{in:"b"}),(0,r.jsx)("feMergeNode",{in:"SourceGraphic"})]})]}),(0,r.jsxs)("filter",{id:s,children:[(0,r.jsx)("feGaussianBlur",{stdDeviation:"1.2",result:"b"}),(0,r.jsxs)("feMerge",{children:[(0,r.jsx)("feMergeNode",{in:"b"}),(0,r.jsx)("feMergeNode",{in:"SourceGraphic"})]})]}),(0,r.jsx)("clipPath",{id:a,children:(0,r.jsx)("circle",{cx:"65",cy:"65",r:"62"})})]}),(0,r.jsx)("circle",{cx:"65",cy:"65",r:"65",fill:`url(#${n})`}),(0,r.jsx)("circle",{cx:"65",cy:"65",r:"55",fill:"none",stroke:"#00ff4408",strokeWidth:"0.8"}),(0,r.jsx)("circle",{cx:"65",cy:"65",r:"44",fill:"none",stroke:"#00ff4412",strokeWidth:"0.8"}),(0,r.jsx)("circle",{cx:"65",cy:"65",r:"33",fill:"none",stroke:"#00ff441a",strokeWidth:"0.8"}),(0,r.jsx)("circle",{cx:"65",cy:"65",r:"22",fill:"none",stroke:"#00ff4422",strokeWidth:"0.8"}),(0,r.jsx)("circle",{cx:"65",cy:"65",r:"11",fill:"none",stroke:"#00ff4430",strokeWidth:"0.8"}),(0,r.jsx)("line",{x1:"65",y1:"5",x2:"65",y2:"125",stroke:"#00ff4410",strokeWidth:"0.6"}),(0,r.jsx)("line",{x1:"5",y1:"65",x2:"125",y2:"65",stroke:"#00ff4410",strokeWidth:"0.6"}),(0,r.jsx)("g",{clipPath:`url(#${a})`,children:(0,r.jsxs)("g",{className:p,children:[(0,r.jsx)("path",{d:"M65 65 L65 10 A55 55 0 0 1 116 80 Z",fill:"#00ff4407"}),(0,r.jsx)("path",{d:"M65 65 L65 10 A55 55 0 0 1 108 92 Z",fill:"#00ff4404"}),(0,r.jsx)("line",{x1:"65",y1:"65",x2:"65",y2:"10",stroke:"#00FF88",strokeWidth:"1.2",opacity:"0.7",filter:`url(#${l})`})]})}),(0,r.jsxs)("g",{transform:"translate(92,38)",children:[(0,r.jsx)("circle",{className:b,r:"2.5",fill:"none",stroke:"#00FF88",strokeWidth:"0.8"}),(0,r.jsx)("circle",{className:m,r:"2.5",fill:"#00FF88",filter:`url(#${l})`})]}),(0,r.jsxs)("g",{transform:"translate(40,85)",children:[(0,r.jsx)("circle",{className:h,r:"2",fill:"none",stroke:"#00FF88",strokeWidth:"0.8"}),(0,r.jsx)("circle",{className:g,r:"2",fill:"#00FF88",filter:`url(#${l})`})]}),(0,r.jsx)("ellipse",{cx:"65",cy:"82",rx:"19",ry:"21",fill:"#0B3D2A"}),(0,r.jsx)("ellipse",{cx:"65",cy:"82",rx:"12",ry:"15",fill:"#0E4D34"}),(0,r.jsx)("ellipse",{cx:"65",cy:"101",rx:"11",ry:"5.5",fill:"#0A3828"}),(0,r.jsx)("ellipse",{cx:"65",cy:"109",rx:"7.5",ry:"4.5",fill:"#083020"}),(0,r.jsx)("path",{d:"M57 115 Q65 122 73 115",fill:"#072818",stroke:"#0A3828",strokeWidth:"0.5"}),(0,r.jsx)("ellipse",{cx:"65",cy:"60",rx:"18",ry:"17",fill:"#0E4D34",stroke:"#00FF88",strokeWidth:"0.8",filter:`url(#${s})`}),(0,r.jsx)("ellipse",{cx:"57",cy:"57",rx:"5.5",ry:"5.5",fill:"#001A10",stroke:"#00FF88",strokeWidth:"1.2",filter:`url(#${s})`}),(0,r.jsx)("ellipse",{cx:"73",cy:"57",rx:"5.5",ry:"5.5",fill:"#001A10",stroke:"#00FF88",strokeWidth:"1.2",filter:`url(#${s})`}),(0,r.jsx)("circle",{className:x,cx:"57",cy:"57",r:"3",fill:"#00FF88",filter:`url(#${l})`}),(0,r.jsx)("circle",{className:y,cx:"73",cy:"57",r:"3",fill:"#00FF88",filter:`url(#${l})`}),(0,r.jsx)("circle",{cx:"57",cy:"57",r:"1.4",fill:"#000D08"}),(0,r.jsx)("circle",{cx:"73",cy:"57",r:"1.4",fill:"#000D08"}),(0,r.jsx)("line",{x1:"58",y1:"45",x2:"49",y2:"28",stroke:"#0E4D34",strokeWidth:"2",strokeLinecap:"round"}),(0,r.jsx)("line",{x1:"72",y1:"45",x2:"81",y2:"28",stroke:"#0E4D34",strokeWidth:"2",strokeLinecap:"round"}),(0,r.jsx)("circle",{className:k,cx:"49",cy:"27",r:"3.5",fill:"#00FF88",filter:`url(#${l})`}),(0,r.jsx)("circle",{className:k,cx:"49",cy:"27",r:"5.5",fill:"none",stroke:"#00FF88",strokeWidth:"0.6",opacity:"0.35"}),(0,r.jsx)("circle",{className:v,cx:"81",cy:"27",r:"3.5",fill:"#00FF88",filter:`url(#${l})`}),(0,r.jsx)("circle",{className:v,cx:"81",cy:"27",r:"5.5",fill:"none",stroke:"#00FF88",strokeWidth:"0.6",opacity:"0.35"}),(0,r.jsxs)("g",{transform:"translate(84,71) rotate(-18)",children:[(0,r.jsx)("path",{d:"M0,-3.5 Q8,-4.5 13,-3 Q13,3 8,4.5 Q0,3.5 0,-3.5 Z",fill:"#0A3826",stroke:"#00ff8825",strokeWidth:"0.5"}),(0,r.jsx)("path",{d:"M11,-3.5 Q16,-6 20,-4.5 Q22,-1.5 20,1 Q16,4 11,3 Q9,1 9,-1.5 Z",fill:"#0B4030",stroke:"#00ff8830",strokeWidth:"0.6"}),(0,r.jsx)("path",{d:"M18,-4 Q26,-10 34,-8 Q40,-5 40,0 Q40,5 34,8 Q26,10 18,4 Q15,2 15,-2 Z",fill:"#0E4D34",stroke:"#00ff8842",strokeWidth:"0.9"}),(0,r.jsx)("path",{d:"M20,-2 Q28,-6 34,-4 Q37,-1.5 37,0 Q37,1.5 34,4 Q28,6 20,2 Q18,0 18,-1 Z",fill:"#0C4531",opacity:"0.6"}),(0,r.jsx)("path",{d:"M32,-7.5 Q37,-14 46,-11.5 Q50,-8 47,-5 Q43,-5.5 38,-5 Q34,-4.5 31,-5.5 Z",fill:"#0C4832",stroke:"#00ff8828",strokeWidth:"0.6"}),(0,r.jsx)("path",{d:"M44,-10 Q48,-8 47,-5 Q45,-6 43,-7 Z",fill:"#0A3D28"}),(0,r.jsx)("path",{d:"M32,7.5 Q37,14 45,11.5 Q49,8 46,5 Q42,5.5 37,5 Q33,4.5 31,5.5 Z",fill:"#0C4832",stroke:"#00ff8828",strokeWidth:"0.6"}),(0,r.jsx)("path",{d:"M43,10 Q47,8 46,5 Q44,6 42,7 Z",fill:"#0A3D28"}),(0,r.jsx)("path",{d:"M30,-4 Q38,-1 38,0 Q38,1 30,4",fill:"none",stroke:"#041810",strokeWidth:"1.5",strokeLinecap:"round"})]}),(0,r.jsxs)("g",{transform:"translate(46,71) scale(-1,1) rotate(-18)",children:[(0,r.jsx)("path",{d:"M0,-3.5 Q8,-4.5 13,-3 Q13,3 8,4.5 Q0,3.5 0,-3.5 Z",fill:"#0A3826",stroke:"#00ff8825",strokeWidth:"0.5"}),(0,r.jsx)("path",{d:"M11,-3.5 Q16,-6 20,-4.5 Q22,-1.5 20,1 Q16,4 11,3 Q9,1 9,-1.5 Z",fill:"#0B4030",stroke:"#00ff8830",strokeWidth:"0.6"}),(0,r.jsx)("path",{d:"M18,-4 Q26,-10 34,-8 Q40,-5 40,0 Q40,5 34,8 Q26,10 18,4 Q15,2 15,-2 Z",fill:"#0E4D34",stroke:"#00ff8842",strokeWidth:"0.9"}),(0,r.jsx)("path",{d:"M20,-2 Q28,-6 34,-4 Q37,-1.5 37,0 Q37,1.5 34,4 Q28,6 20,2 Q18,0 18,-1 Z",fill:"#0C4531",opacity:"0.6"}),(0,r.jsx)("path",{d:"M32,-7.5 Q37,-14 46,-11.5 Q50,-8 47,-5 Q43,-5.5 38,-5 Q34,-4.5 31,-5.5 Z",fill:"#0C4832",stroke:"#00ff8828",strokeWidth:"0.6"}),(0,r.jsx)("path",{d:"M44,-10 Q48,-8 47,-5 Q45,-6 43,-7 Z",fill:"#0A3D28"}),(0,r.jsx)("path",{d:"M32,7.5 Q37,14 45,11.5 Q49,8 46,5 Q42,5.5 37,5 Q33,4.5 31,5.5 Z",fill:"#0C4832",stroke:"#00ff8828",strokeWidth:"0.6"}),(0,r.jsx)("path",{d:"M43,10 Q47,8 46,5 Q44,6 42,7 Z",fill:"#0A3D28"}),(0,r.jsx)("path",{d:"M30,-4 Q38,-1 38,0 Q38,1 30,4",fill:"none",stroke:"#041810",strokeWidth:"1.5",strokeLinecap:"round"})]}),(0,r.jsx)("line",{x1:"49",y1:"87",x2:"37",y2:"97",stroke:"#0B3D2A",strokeWidth:"2.2",strokeLinecap:"round"}),(0,r.jsx)("line",{x1:"49",y1:"94",x2:"39",y2:"104",stroke:"#0B3D2A",strokeWidth:"2",strokeLinecap:"round"}),(0,r.jsx)("line",{x1:"81",y1:"87",x2:"93",y2:"97",stroke:"#0B3D2A",strokeWidth:"2.2",strokeLinecap:"round"}),(0,r.jsx)("line",{x1:"81",y1:"94",x2:"91",y2:"104",stroke:"#0B3D2A",strokeWidth:"2",strokeLinecap:"round"}),(0,r.jsx)("circle",{cx:"65",cy:"65",r:"63",fill:"none",stroke:"#00ff4418",strokeWidth:"1.5"})]})}function eV({className:e="size-14"}){return(0,r.jsx)("div",{className:`${e} flex items-center justify-center`,children:(0,r.jsx)(eH,{size:56})})}e.s(["Button",()=>eG],19455),e.s(["ClaWatchIcon",()=>eV,"ClaWatchLogo",()=>eK],98940)}]);
|