tokentracker-cli 0.5.5 → 0.5.6
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/dashboard/dist/assets/{DashboardPage-CxkNLRKl.js → DashboardPage-DS1P0Mo_.js} +1 -1
- package/dashboard/dist/assets/LeaderboardPage-DrN-vtKo.js +1 -0
- package/dashboard/dist/assets/{LeaderboardProfilePage-ChBUNzy0.js → LeaderboardProfilePage-CBYJri8H.js} +1 -1
- package/dashboard/dist/assets/{ThemeToggle-BHa5Nenr.js → ThemeToggle-Cv3W_rFS.js} +1 -1
- package/dashboard/dist/assets/{leaderboard-columns-DqMAm_KH.js → leaderboard-columns-hzLR05GY.js} +1 -1
- package/dashboard/dist/assets/main-CJMr9zAk.css +1 -0
- package/dashboard/dist/assets/{main-DkSKSbQz.js → main-DvYXwZBy.js} +2 -2
- package/dashboard/dist/index.html +2 -2
- package/dashboard/dist/share.html +2 -2
- package/package.json +1 -1
- package/dashboard/dist/assets/LeaderboardPage-Bw3kpiq5.js +0 -1
- package/dashboard/dist/assets/main-BSjyKFRx.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ay as Le,az as Te,ah as Ce,ai as Ae,r as c,aA as Ee,h as Pe,j as Ie,B as o,aB as Me,aC as I,aD as Re,C as e,aE as b,au as z,a9 as se,aF as $e,aG as Be,a8 as Ue,aH as ie,aI as le,aJ as ze}from"./main-DvYXwZBy.js";import{L as be,a as Fe,l as de,b as ce,c as me,d as De,e as He}from"./leaderboard-columns-hzLR05GY.js";import{u as Ke,T as Oe}from"./ThemeToggle-Cv3W_rFS.js";function S(t,{min:r,max:n,fallback:s}){const i=Number(t);if(!Number.isFinite(i))return s;const d=Math.floor(i);return d<r?r:d>n?n:d}function Ge(t,r){const n=S(r,{min:0,max:1e6,fallback:0}),s=S(t,{min:1,max:Math.max(1,n||1),fallback:1});if(n<=1)return[1];const i=new Set([1,n,s-2,s-1,s,s+1,s+2]),d=Array.from(i).filter(x=>Number.isInteger(x)&&x>=1&&x<=n).sort((x,L)=>x-L),g=[];let f=null;for(const x of d)f!=null&&x-f>1&&g.push(null),g.push(x),f=x;return g}function Ye({page:t,totalPages:r}){const n=typeof r=="number"&&Number.isFinite(r)&&r>=0,s=n?S(r,{min:0,max:1e6,fallback:0}):null,i=S(t,{min:1,max:n?Math.max(1,s||1):1e6,fallback:1}),d=i>1,g=n?i<s:!0;return{canPrev:d,canNext:g,safePage:i,safeTotal:s}}function Je({entries:t,me:r,meLabel:n,limit:s}){const i=S(s,{min:1,max:1e3,fallback:20}),d=Array.isArray(t)?t.slice(0,i):[],g=r&&typeof r.rank=="number"?r.rank:null,f=d.some(N=>!!N?.is_me);if(!g||f)return d;const x={rank:g,is_me:!0,display_name:n,avatar_url:null,gpt_tokens:r?.gpt_tokens??"0",claude_tokens:r?.claude_tokens??"0",gemini_tokens:r?.gemini_tokens??"0",cursor_tokens:r?.cursor_tokens??"0",opencode_tokens:r?.opencode_tokens??"0",openclaw_tokens:r?.openclaw_tokens??"0",other_tokens:r?.other_tokens??"0",total_tokens:r?.total_tokens??"0"},L=3,A=4,m=d.filter(N=>!N?.is_me).filter((N,y)=>y!==L).slice();return m.splice(Math.min(A,m.length),0,x),m.slice(0,i)}const U=20;function xe(t){const r=Number(t);return!Number.isFinite(r)||r<=0?"-":r>=1e3?`$${Math.round(r).toLocaleString()}`:r>=10?`$${Math.round(r)}`:`$${r.toFixed(2)}`}function ge(t,r){const n=r?"text-oai-gray-700 dark:text-oai-gray-300":"text-oai-gray-500 dark:text-oai-gray-400",s=r?"bg-oai-brand-50 dark:bg-oai-brand-900/10":"bg-white dark:bg-oai-gray-950 ";return be.map(i=>e.jsx("td",{className:b("px-4 py-4 whitespace-nowrap",n,s),children:z(t?.[i.key])},i.key))}function F(t){if(typeof t!="string")return null;const r=t.trim().toLowerCase();return r==="week"||r==="month"||r==="total"?r:null}function Ve(t){if(!t)return o("shared.error.prefix",{error:o("leaderboard.error.unknown")});const r=t?.message||String(t),n=String(r||"").trim()||o("leaderboard.error.unknown");return o("shared.error.prefix",{error:n})}function he(t){return typeof t!="string"?"":t.trim()}function We(t){const r=he(t);return r?r.toLowerCase()==="anonymous":!0}function qe(t,r=""){if(typeof t!="string")return null;const n=t.trim().toLowerCase();if(!n)return null;const s=new URLSearchParams(typeof r=="string"?r:""),i=F(s.get("period")),d=i?`?period=${i}`:"";return`/share/pv1-${n}${d}`}function ue(t,r){const n=typeof t?.user_id=="string"?t.user_id.trim():"";return n||`${t?.rank??""}:${r}`}function aa({auth:t,signedIn:r,sessionSoftExpired:n}){const s=Le(),i=Te(),{openLoginModal:d}=Ce(),{signedIn:g,loading:f}=Ae(),{resolvedTheme:x,toggleTheme:L}=Ke(),A=c.useMemo(()=>Ee(),[]),p=Pe(),m=r&&!n,N=c.useMemo(()=>m&&(typeof t=="function"||typeof t=="string"||t&&typeof t=="object")?t:null,[t,m]),y=m?N:null,_=m&&Ie(y),D=o("shared.placeholder.short"),[M,T]=c.useState(1),[fe,H]=c.useState(0),[u,E]=c.useState(()=>({loading:!1,error:null,data:null})),[K,pe]=c.useState(()=>Me()),[O,G]=c.useState(!1),[Y,J]=c.useState(!1),k=c.useMemo(()=>{const a=new URLSearchParams(s?.search||"");return F(a.get("period"))||"total"},[s?.search]),ye=s?.search||"",ke=a=>{const l=F(a);if(!l||l===k)return;const v=new URLSearchParams(s?.search||"");v.set("period",l),T(1),i(`${s?.pathname||"/leaderboard"}?${v.toString()}`,{replace:!0})};c.useEffect(()=>{f||p||g||d()},[g,f,p,d]),c.useEffect(()=>{T(1)},[k]),c.useEffect(()=>{p||m&&(_||E({loading:!1,error:null,data:null}))},[m,_,p]);const V=c.useMemo(()=>(S(M,{min:1,max:1e6,fallback:1})-1)*U,[M]);c.useEffect(()=>{if(!A&&!p||!p&&m&&!_)return;let a=!0;return E(l=>({...l,loading:!0,error:null})),(async()=>{const l=m?await I(y):null,v=await Re({accessToken:l,period:k,limit:U,offset:V});a&&E({loading:!1,error:null,data:v})})().catch(l=>{a&&E({loading:!1,error:Ve(l),data:null})}),()=>{a=!1}},[A,y,m,_,V,fe,p,k]);const h=u.data,P=h?.total_pages??null,j=h?.page??M,we=c.useMemo(()=>Ge(j,P),[j,P]),W=h?.from||null,q=h?.to||null,Q=h?.generated_at||null,X=h?.me||null,R=o("leaderboard.me_label"),je=o("leaderboard.anon_label"),Z=o("leaderboard.period.week"),ee=o("leaderboard.period.month"),ae=o("leaderboard.period.total"),re=k==="month"?ee:k==="total"?ae:Z,$=c.useMemo(()=>{const a=Array.isArray(h?.entries)?h.entries:[];return j!==1?a:Je({entries:a,me:X,meLabel:R,limit:U})},[j,h?.entries,X,R]),ve=async()=>{G(!0);try{ze(!0),pe(!0),await ie(()=>I(y));const a=await I(y);a&&await le({accessToken:a}),H(l=>l+1)}catch(a){console.warn("[tokentracker] sync:",a)}finally{G(!1)}},Ne=async()=>{J(!0);try{const a=await I(y);K&&a&&await ie(()=>Promise.resolve(a)),a&&await le({accessToken:a}),H(l=>l+1)}catch(a){console.warn("[tokentracker] refresh:",a)}finally{J(!1)}},{canPrev:te,canNext:oe}=Ye({page:j,totalPages:P}),_e=Array.isArray($)&&$.length!==0;let C=null;u.loading?C=e.jsx("div",{className:"px-6 py-12 text-center",children:e.jsx("p",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-400",children:o("leaderboard.loading")})}):u.error?C=e.jsx("div",{className:"px-6 py-12 text-center",children:e.jsx("p",{className:"text-sm text-red-500 dark:text-red-400",children:u.error})}):_e?C=e.jsx("div",{className:"w-full overflow-x-auto",children:e.jsxs("table",{className:"min-w-max w-full text-left text-sm",children:[e.jsx("thead",{className:"border-b border-oai-gray-200 dark:border-oai-gray-800",children:e.jsxs("tr",{children:[e.jsx("th",{className:b(De,"font-medium text-oai-gray-500 dark:text-oai-gray-400"),children:o("leaderboard.column.rank")}),e.jsx("th",{className:b(He,"font-medium text-oai-gray-500 dark:text-oai-gray-400"),children:o("leaderboard.column.user")}),e.jsx("th",{className:"px-4 py-4 font-medium text-oai-gray-500 dark:text-oai-gray-400 whitespace-nowrap",children:o("leaderboard.column.total")}),e.jsx("th",{className:"px-4 py-4 font-medium text-oai-gray-500 dark:text-oai-gray-400 whitespace-nowrap",title:"Based on estimated API pricing, not actual billing",children:"Est. Cost"}),be.map(a=>e.jsx("th",{className:"px-4 py-4 font-medium text-oai-gray-500 dark:text-oai-gray-400 whitespace-nowrap",children:e.jsx(Fe,{iconSrc:a.icon,label:o(a.copyKey)})},a.key))]})}),e.jsx("tbody",{className:"divide-y divide-oai-gray-100 dark:divide-oai-gray-800/50",children:$.map(a=>{const l=!!a?.is_me,v=typeof a?.user_id=="string"?a.user_id:null,ne=he(a?.display_name),Se=We(ne)?je:ne,w=l?R:Se;return!!v&&!l&&!!a?.is_public&&qe(v,ye),l?e.jsxs("tr",{className:"border-y border-oai-brand-300/40 dark:border-oai-brand-500/30 bg-oai-brand-50 dark:bg-oai-brand-900/10 transition-colors",children:[e.jsx("td",{className:b(de(!0),"font-semibold text-oai-brand-600 dark:text-oai-brand-400"),children:a?.rank??D}),e.jsx("td",{className:me(!0),children:e.jsxs("div",{className:"flex min-w-0 max-w-[min(160px,40vw)] items-center gap-4",children:[e.jsx(ce,{avatarUrl:a?.avatar_url,displayName:w,seed:ue(a,w)}),e.jsx("span",{className:"truncate font-semibold text-oai-black dark:text-oai-white",children:w})]})}),e.jsx("td",{className:"px-4 py-4 font-medium text-oai-black dark:text-oai-white whitespace-nowrap bg-oai-brand-50 dark:bg-oai-brand-900/10",children:z(a?.total_tokens)}),e.jsx("td",{className:"px-4 py-4 font-medium text-oai-brand-600 dark:text-oai-brand-400 whitespace-nowrap bg-oai-brand-50 dark:bg-oai-brand-900/10",title:"Based on estimated API pricing, not actual billing",children:xe(a?.estimated_cost_usd)}),ge(a,!0)]},`row-${a?.rank}-${w}`):e.jsxs("tr",{className:"group transition-colors",children:[e.jsx("td",{className:b(de(!1),"font-medium text-oai-gray-500 dark:text-oai-gray-400"),children:a?.rank??D}),e.jsx("td",{className:me(!1),children:e.jsxs("div",{className:"flex min-w-0 max-w-[min(160px,40vw)] items-center gap-4",children:[e.jsx(ce,{avatarUrl:a?.avatar_url,displayName:w,seed:ue(a,w)}),e.jsx("span",{className:"truncate font-medium text-oai-gray-800 dark:text-oai-gray-200",children:w})]})}),e.jsx("td",{className:"px-4 py-4 text-oai-gray-700 dark:text-oai-gray-300 whitespace-nowrap bg-white dark:bg-oai-gray-950 ",children:z(a?.total_tokens)}),e.jsx("td",{className:"px-4 py-4 text-oai-gray-500 dark:text-oai-gray-400 whitespace-nowrap bg-white dark:bg-oai-gray-950 ",title:"Based on estimated API pricing, not actual billing",children:xe(a?.estimated_cost_usd)}),ge(a,!1)]},`row-${a?.rank}-${w}`)})})]})}):C=e.jsx("div",{className:"px-6 py-12 text-center",children:e.jsx("p",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-400",children:o("leaderboard.empty")})});let B=null;return typeof P=="number"?B=we.map((a,l)=>a==null?e.jsx("span",{className:"px-2 text-oai-gray-400 dark:text-oai-gray-500",children:o("leaderboard.pagination.ellipsis")},`ellipsis-${l}`):e.jsx("button",{className:b("flex h-8 w-8 items-center justify-center rounded-md text-sm font-medium transition-colors",a===j?"bg-oai-gray-200 dark:bg-oai-gray-800 text-oai-black dark:text-white":"text-oai-gray-500 dark:text-oai-gray-400 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 hover:text-oai-black dark:hover:text-white"),onClick:()=>T(a),disabled:u.loading,children:String(a)},`page-${a}`)):B=e.jsx("span",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-400",children:o("leaderboard.pagination.page_unknown",{page:String(j)})}),e.jsxs("div",{className:"flex flex-col min-h-screen bg-oai-white dark:bg-oai-gray-950 text-oai-black dark:text-oai-white font-oai antialiased transition-colors duration-200",children:[e.jsx("header",{className:"sticky top-0 z-50 bg-white/80 dark:bg-oai-gray-950/80 backdrop-blur-md border-b border-oai-gray-200 dark:border-oai-gray-900 transition-colors duration-200",children:e.jsxs("div",{className:"mx-auto flex h-14 max-w-6xl items-center justify-between px-4 sm:px-6",children:[e.jsxs("div",{className:"flex items-center gap-5",children:[e.jsxs(se,{to:"/",className:"flex items-center gap-3 no-underline outline-none rounded focus-visible:ring-2 focus-visible:ring-oai-brand-500 focus-visible:ring-offset-2 dark:ring-offset-oai-gray-950 transition-opacity hover:opacity-80",children:[e.jsx("img",{src:"/app-icon.png",alt:"",width:24,height:24,className:"rounded-md"}),e.jsx("span",{className:"text-sm font-semibold tracking-wide text-oai-black dark:text-white uppercase",children:"Token Tracker"})]}),e.jsx("div",{className:"hidden sm:block",children:e.jsx($e,{})})]}),e.jsxs("div",{className:"flex items-center gap-2 sm:gap-3",children:[e.jsx(Oe,{theme:x,onToggle:L}),e.jsx(se,{to:Be(),className:b("no-underline inline-flex items-center justify-center h-9 px-5 text-sm font-medium rounded-full transition-colors",g?"shadow-sm ring-1 ring-oai-gray-200 dark:ring-white/10 bg-oai-gray-900 dark:bg-white text-white dark:text-oai-gray-900 hover:bg-oai-gray-800 dark:hover:bg-oai-gray-100":"ring-1 ring-oai-gray-200 dark:ring-oai-gray-700 text-oai-gray-600 dark:text-oai-gray-400 hover:text-oai-gray-900 dark:hover:text-white hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800"),children:o("landing.v2.cta.primary")}),e.jsx(Ue,{})]})]})}),e.jsx("main",{className:"flex-1 py-12 sm:py-16",children:e.jsxs("div",{className:"mx-auto max-w-6xl px-4 sm:px-6",children:[e.jsxs("div",{className:"flex flex-col md:flex-row md:items-end justify-between gap-6 mb-10",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl sm:text-4xl font-semibold tracking-tight text-oai-black dark:text-white mb-3",children:o("leaderboard.title")}),e.jsxs("p",{className:"text-oai-gray-500 dark:text-oai-gray-400 text-sm sm:text-base",children:[k==="total"?o("leaderboard.range.total"):W&&q?o("leaderboard.range",{period:re,from:W,to:q}):o("leaderboard.range_loading",{period:re}),Q&&e.jsx("span",{className:"ml-2 pl-2 border-l border-oai-gray-200 dark:border-oai-gray-800 inline-block text-oai-gray-400 dark:text-oai-gray-500 text-xs",children:o("leaderboard.generated_at",{ts:Q})})]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[m&&_&&e.jsx("button",{onClick:Ne,disabled:Y||u.loading,className:"text-sm text-oai-gray-500 dark:text-oai-gray-400 hover:text-oai-black dark:hover:text-white transition-colors disabled:opacity-50",children:Y?"Refreshing...":"↻"}),e.jsx("div",{className:"inline-flex p-1 border border-oai-gray-200 dark:border-oai-gray-800 rounded-lg",children:["week","month","total"].map(a=>e.jsx("button",{onClick:()=>ke(a),disabled:u.loading,className:b("px-4 py-1.5 text-sm font-medium rounded-md transition-colors",k===a?"bg-oai-gray-200 dark:bg-oai-gray-800 text-oai-black dark:text-white":"text-oai-gray-500 dark:text-oai-gray-400 hover:text-oai-gray-800 dark:hover:text-oai-gray-200"),children:a==="week"?Z:a==="month"?ee:ae},a))})]})]}),!r&&e.jsxs("div",{className:"mb-6 flex items-center justify-between text-sm",children:[e.jsx("p",{className:"text-oai-gray-500 dark:text-oai-gray-400",children:"Sign in to join the leaderboard"}),e.jsx("button",{onClick:d,className:"px-3 py-1.5 text-sm font-medium text-oai-gray-600 dark:text-oai-gray-300 border border-oai-gray-300 dark:border-oai-gray-700 rounded-md hover:text-oai-black dark:hover:text-white hover:border-oai-gray-400 dark:hover:border-oai-gray-600 transition-colors",children:"Sign In"})]}),m&&_&&!K&&e.jsxs("div",{className:"mb-6 flex items-center justify-between text-sm",children:[e.jsx("p",{className:"text-oai-gray-500 dark:text-oai-gray-400",children:"Enable Cloud Sync to appear in rankings"}),e.jsx("button",{onClick:ve,disabled:O,className:"px-3 py-1.5 text-sm font-medium text-oai-gray-600 dark:text-oai-gray-300 border border-oai-gray-300 dark:border-oai-gray-700 rounded-md hover:text-oai-black dark:hover:text-white hover:border-oai-gray-400 dark:hover:border-oai-gray-600 disabled:opacity-50 transition-colors",children:O?"Syncing...":"Enable & Sync"})]}),e.jsxs("div",{className:"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 overflow-hidden",children:[C,e.jsxs("div",{className:"px-6 py-3 border-t border-oai-gray-200 dark:border-oai-gray-800 flex flex-wrap items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{className:b("px-3 py-1.5 text-sm font-medium text-oai-gray-500 dark:text-oai-gray-400 rounded-md transition-colors",te&&!u.loading?"hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 hover:text-oai-black dark:hover:text-white":"opacity-50 cursor-not-allowed"),onClick:()=>T(a=>Math.max(1,a-1)),disabled:!te||u.loading,children:o("leaderboard.pagination.prev")}),e.jsx("button",{className:b("px-3 py-1.5 text-sm font-medium text-oai-gray-500 dark:text-oai-gray-400 rounded-md transition-colors",oe&&!u.loading?"hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 hover:text-oai-black dark:hover:text-white":"opacity-50 cursor-not-allowed"),onClick:()=>T(a=>a+1),disabled:!oe||u.loading,children:o("leaderboard.pagination.next")})]}),e.jsx("div",{className:"flex flex-wrap items-center gap-1",children:B})]})]})]})}),e.jsx("footer",{className:"border-t border-oai-gray-200 dark:border-oai-gray-900 py-8 transition-colors duration-200",children:e.jsxs("div",{className:"mx-auto flex max-w-6xl items-center justify-between px-4 sm:px-6 text-sm text-oai-gray-400 dark:text-oai-gray-500",children:[e.jsx("p",{children:o("landing.v2.footer.line")}),e.jsx("a",{href:"https://github.com/mm7894215/tokentracker",className:"text-oai-gray-400 dark:text-oai-gray-500 hover:text-oai-black dark:hover:text-white transition-colors",target:"_blank",rel:"noopener noreferrer",children:o("landing.v2.nav.github")})]})})]})}export{aa as LeaderboardPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ay as H,r as x,aA as M,h as O,j as D,aC as Y,aK as $,B as a,C as e,aE as f,au as A,a9 as j,aF as F,a8 as G}from"./main-
|
|
1
|
+
import{ay as H,r as x,aA as M,h as O,j as D,aC as Y,aK as $,B as a,C as e,aE as f,au as A,a9 as j,aF as F,a8 as G}from"./main-DvYXwZBy.js";import{L as E,a as W,l as q,f as J,b as Q,d as V,g as X}from"./leaderboard-columns-hzLR05GY.js";import{u as Z,T as I}from"./ThemeToggle-Cv3W_rFS.js";function ee(r){if(!r)return a("shared.error.prefix",{error:a("leaderboard.error.unknown")});const o=r?.message||String(r),y=String(o||"").trim()||a("leaderboard.error.unknown");return a("shared.error.prefix",{error:y})}function ae(r){return typeof r!="string"?"":r.trim()}function re(r){if(typeof r!="string")return null;const o=r.trim().toLowerCase();return o==="week"||o==="month"||o==="total"?o:null}function ie({auth:r,signedIn:o,sessionSoftExpired:y,userId:s}){const b=H(),{resolvedTheme:R,toggleTheme:C}=Z(),N=x.useMemo(()=>M(),[]),p=O(),i=o&&!y,P=x.useMemo(()=>i&&(typeof r=="function"||typeof r=="string"||r&&typeof r=="object")?r:null,[r,i]),u=i?P:null,w=i&&D(u),c=x.useMemo(()=>{const t=new URLSearchParams(b?.search||"");return re(t.get("period"))||"week"},[b?.search]),v=b?.search||"",[m,g]=x.useState(()=>({loading:!1,error:null,data:null}));x.useEffect(()=>{if(!N&&!p||!s||!p&&(!i||!w))return;let t=!0;return g(d=>({...d,loading:!0,error:null})),(async()=>{const d=await Y(u);if(!t)return;if(!d){g({loading:!1,error:null,data:null});return}const z=await $({accessToken:d,userId:s,period:c});t&&g({loading:!1,error:null,data:z})})().catch(d=>{t&&g({loading:!1,error:ee(d),data:null})}),()=>{t=!1}},[i,w,N,u,p,c,s]);const h=m.data,T=h?.from||null,L=h?.to||null,_=h?.generated_at||null,n=h?.entry||null,k=ae(n?.display_name)||a("leaderboard.anon_label"),B=a("leaderboard.period.week"),K=a("leaderboard.period.month"),U=a("leaderboard.period.total"),S=c==="month"?K:c==="total"?U:B;let l=null;return s?m.loading?l=e.jsx("div",{className:"px-6 py-12 text-center",children:e.jsx("p",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-400",children:a("leaderboard.loading")})}):m.error?l=e.jsx("div",{className:"px-6 py-12 text-center",children:e.jsx("p",{className:"text-sm text-red-500 dark:text-red-400",children:m.error})}):n?l=e.jsx("div",{className:"w-full overflow-x-auto",children:e.jsxs("table",{className:"min-w-max w-full text-left text-sm",children:[e.jsx("thead",{className:"border-b border-oai-gray-200 dark:border-oai-gray-800",children:e.jsxs("tr",{children:[e.jsx("th",{className:f(V,"font-medium text-oai-gray-500 dark:text-oai-gray-400"),children:a("leaderboard.column.rank")}),e.jsx("th",{className:f(X,"font-medium text-oai-gray-500 dark:text-oai-gray-400 whitespace-nowrap"),children:a("leaderboard.column.total")}),E.map(t=>e.jsx("th",{className:"px-4 py-4 font-medium text-oai-gray-500 dark:text-oai-gray-400 whitespace-nowrap",children:e.jsx(W,{iconSrc:t.icon,label:a(t.copyKey)})},t.key))]})}),e.jsx("tbody",{className:"divide-y divide-oai-gray-100 dark:divide-oai-gray-800/50",children:e.jsxs("tr",{className:"transition-colors hover:bg-oai-gray-50 dark:hover:bg-oai-gray-900/60",children:[e.jsx("td",{className:f(q(!1),"font-medium text-oai-gray-500 dark:text-oai-gray-400"),children:n?.rank??a("shared.placeholder.short")}),e.jsx("td",{className:f(J(),"text-oai-gray-700 dark:text-oai-gray-300"),children:A(n?.total_tokens)}),E.map(t=>e.jsx("td",{className:"px-4 py-4 text-oai-gray-500 dark:text-oai-gray-400 whitespace-nowrap",children:A(n?.[t.key])},t.key))]})})]})}):l=e.jsx("div",{className:"px-6 py-12 text-center",children:e.jsx("p",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-400",children:a("leaderboard.empty")})}):l=e.jsx("div",{className:"px-6 py-12 text-center",children:e.jsx("p",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-400",children:a("leaderboard.empty")})}),e.jsxs("div",{className:"flex flex-col min-h-screen bg-oai-white dark:bg-oai-gray-950 text-oai-black dark:text-oai-white font-oai antialiased transition-colors duration-200",children:[e.jsx("header",{className:"sticky top-0 z-50 bg-white/80 dark:bg-oai-gray-950/80 backdrop-blur-md border-b border-oai-gray-200 dark:border-oai-gray-900 transition-colors duration-200",children:e.jsxs("div",{className:"mx-auto flex h-14 max-w-6xl items-center justify-between px-4 sm:px-6",children:[e.jsxs("div",{className:"flex items-center gap-5",children:[e.jsxs(j,{to:"/",className:"flex items-center gap-3 no-underline outline-none rounded focus-visible:ring-2 focus-visible:ring-oai-brand-500 focus-visible:ring-offset-2 dark:ring-offset-oai-gray-950 transition-opacity hover:opacity-80",children:[e.jsx("img",{src:"/app-icon.png",alt:"",width:24,height:24,className:"rounded-md"}),e.jsx("span",{className:"text-sm font-semibold tracking-wide text-oai-black dark:text-white uppercase",children:"Token Tracker"})]}),e.jsx("div",{className:"hidden sm:block",children:e.jsx(F,{})})]}),e.jsxs("div",{className:"flex items-center gap-2 sm:gap-3",children:[e.jsx(j,{to:`/leaderboard${v}`,className:"no-underline inline-flex items-center justify-center h-9 px-5 text-sm font-medium rounded-full shadow-sm ring-1 ring-oai-gray-200 dark:ring-white/10 bg-oai-gray-900 dark:bg-white text-white dark:text-oai-gray-900 hover:bg-oai-gray-800 dark:hover:bg-oai-gray-100 transition-colors",children:a("leaderboard.profile.nav.back")}),e.jsx(I,{theme:R,onToggle:C}),e.jsx(G,{})]})]})}),e.jsx("main",{className:"flex-1 py-12 sm:py-16",children:e.jsxs("div",{className:"mx-auto max-w-6xl px-4 sm:px-6",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center gap-6 mb-10",children:[e.jsx(Q,{avatarUrl:n?.avatar_url,displayName:k,seed:typeof s=="string"?s:k,size:"lg",className:"shrink-0 ring-2 ring-oai-gray-200 dark:ring-oai-gray-800"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("h1",{className:"text-3xl sm:text-4xl font-semibold tracking-tight text-oai-black dark:text-white mb-3",children:k}),e.jsxs("p",{className:"text-oai-gray-500 dark:text-oai-gray-400 text-sm sm:text-base",children:[c==="total"?a("leaderboard.range.total"):T&&L?a("leaderboard.range",{period:S,from:T,to:L}):a("leaderboard.range_loading",{period:S}),_&&e.jsx("span",{className:"ml-2 pl-2 border-l border-oai-gray-200 dark:border-oai-gray-800 inline-block text-oai-gray-400 dark:text-oai-gray-500 text-xs",children:a("leaderboard.generated_at",{ts:_})})]})]})]}),e.jsx("div",{className:"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 overflow-hidden",children:l})]})}),e.jsx("footer",{className:"border-t border-oai-gray-200 dark:border-oai-gray-900 py-8 transition-colors duration-200",children:e.jsxs("div",{className:"mx-auto flex max-w-6xl items-center justify-between px-4 sm:px-6 text-sm text-oai-gray-400 dark:text-oai-gray-500",children:[e.jsx("p",{children:a("landing.v2.footer.line")}),e.jsx(j,{to:`/leaderboard${v}`,className:"text-oai-gray-400 dark:text-oai-gray-500 hover:text-oai-black dark:hover:text-white transition-colors",children:a("leaderboard.profile.nav.back")})]})})]})}export{ie as LeaderboardProfilePage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as x,aL as m,ab as k,C as t,ac as u}from"./main-
|
|
1
|
+
import{r as x,aL as m,ab as k,C as t,ac as u}from"./main-DvYXwZBy.js";function j(){const a=x.useContext(m);if(a===null)throw new Error("useTheme must be used within a ThemeProvider");return a}function y({theme:a,onToggle:g,className:s="",size:e=36,iconSize:n=20}){const p=k(),o=a==="dark",i=()=>{g?.(o?"light":"dark")},c={width:e,height:e,borderRadius:8,background:"transparent",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--oai-gray-600)",transition:"background-color 150ms ease, color 150ms ease"},l={backgroundColor:"var(--oai-gray-100)",color:"var(--oai-black)"},d=()=>t.jsxs("svg",{"aria-hidden":"true",width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("circle",{cx:"12",cy:"12",r:"4"}),t.jsx("path",{d:"M12 2v2"}),t.jsx("path",{d:"M12 20v2"}),t.jsx("path",{d:"m4.93 4.93 1.41 1.41"}),t.jsx("path",{d:"m17.66 17.66 1.41 1.41"}),t.jsx("path",{d:"M2 12h2"}),t.jsx("path",{d:"M20 12h2"}),t.jsx("path",{d:"m6.34 17.66-1.41 1.41"}),t.jsx("path",{d:"m19.07 4.93-1.41 1.41"})]}),h=()=>t.jsx("svg",{"aria-hidden":"true",width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"})});return p?t.jsx("button",{type:"button","aria-label":o?"Switch to light mode":"Switch to dark mode",onClick:i,className:`oai-button-ghost oai-button-sm ${s}`,style:{...c,width:e,height:e,padding:0},title:o?"切换到亮色模式":"切换到暗色模式",onMouseEnter:r=>{r.currentTarget.style.backgroundColor=l.backgroundColor,r.currentTarget.style.color=l.color},onMouseLeave:r=>{r.currentTarget.style.backgroundColor="transparent",r.currentTarget.style.color="var(--oai-gray-600)"},children:o?t.jsx(h,{}):t.jsx(d,{})}):t.jsx(u.button,{type:"button","aria-label":o?"Switch to light mode":"Switch to dark mode",onClick:i,className:`oai-button-ghost oai-button-sm ${s}`,style:{...c,width:e,height:e,padding:0},title:o?"切换到亮色模式":"切换到暗色模式",whileHover:{backgroundColor:"var(--oai-gray-100)",color:"var(--oai-black)"},whileTap:{scale:.95},transition:{type:"spring",stiffness:400,damping:25},children:t.jsx(u.div,{initial:{scale:.8,opacity:0,rotate:-20},animate:{scale:1,opacity:1,rotate:0},exit:{scale:.8,opacity:0,rotate:20},transition:{type:"spring",stiffness:400,damping:25},children:o?t.jsx(h,{}):t.jsx(d,{})},o?"moon":"sun")})}export{y as T,j as u};
|
package/dashboard/dist/assets/{leaderboard-columns-DqMAm_KH.js → leaderboard-columns-hzLR05GY.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as n,aE as i}from"./main-
|
|
1
|
+
import{C as n,aE as i}from"./main-DvYXwZBy.js";function l(r){let e=0;const o=String(r??"");for(let a=0;a<o.length;a+=1)e=Math.imul(31,e)+o.charCodeAt(a)|0;return Math.abs(e)%360}function b(r){const e=String(r??"").trim();if(!e)return"?";const o=e.split(/\s+/).filter(Boolean);if(o.length>=2){const a=o[0][0]||"",t=o[1][0]||"";return`${a}${t}`.toUpperCase()}return e.slice(0,2).toUpperCase()}const c={sm:"h-7 w-7 min-h-7 min-w-7 text-[10px]",md:"h-8 w-8 min-h-8 min-w-8 text-[11px]",lg:"h-14 w-14 min-h-14 min-w-14 text-base"};function y({avatarUrl:r,displayName:e,seed:o,size:a="md",className:t}){const s=c[a]||c.md,g=l(o??e??""),d=typeof r=="string"?r.trim():"";return d?n.jsx("img",{src:d,alt:"",className:i("rounded-full object-cover ring-1 ring-white/10",s,t)}):n.jsx("div",{className:i("flex shrink-0 items-center justify-center rounded-full font-semibold text-white ring-1 ring-white/10",s,t),style:{backgroundColor:`hsl(${g} 42% 34%)`},"aria-hidden":!0,children:b(e)})}function m({iconSrc:r,label:e}){return n.jsxs("span",{className:"inline-flex items-center gap-3",children:[n.jsx("img",{src:r,alt:"",width:16,height:16,className:"h-4 w-4 shrink-0 object-contain opacity-90"}),n.jsx("span",{className:"whitespace-nowrap",children:e})]})}const u=[{key:"gpt_tokens",copyKey:"leaderboard.column.codex",icon:"/brand-logos/codex.svg"},{key:"claude_tokens",copyKey:"leaderboard.column.claude",icon:"/brand-logos/claude-code.svg"},{key:"gemini_tokens",copyKey:"leaderboard.column.gemini",icon:"/brand-logos/gemini.svg"},{key:"cursor_tokens",copyKey:"leaderboard.column.cursor",icon:"/brand-logos/cursor.svg"},{key:"opencode_tokens",copyKey:"leaderboard.column.opencode",icon:"/brand-logos/opencode.svg"},{key:"openclaw_tokens",copyKey:"leaderboard.column.openclaw",icon:"/brand-logos/openclaw.svg"},{key:"other_tokens",copyKey:"leaderboard.column.supplemental",icon:"/brand-logos/gemini.svg"}],h="sticky left-0 z-40 w-[72px] min-w-[72px] max-w-[72px] border-r border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-950 px-4 py-4",k="sticky left-[72px] z-40 min-w-[140px] max-w-[min(180px,35vw)] border-r border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-950 px-4 py-4",x="sticky left-[72px] z-40 min-w-[6rem] border-r border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-950 px-4 py-4";function w(r){return i("sticky left-0 z-30 w-[72px] min-w-[72px] max-w-[72px] border-r border-oai-gray-200 dark:border-oai-gray-800 px-4 py-4 whitespace-nowrap",r?"bg-oai-brand-50 dark:bg-oai-brand-900/10":"bg-white dark:bg-oai-gray-950 group-hover:bg-oai-gray-50 dark:group-hover:bg-oai-gray-900/60")}function f(r){return i("sticky left-[72px] z-30 min-w-[140px] max-w-[min(180px,35vw)] border-r border-oai-gray-200 dark:border-oai-gray-800 px-4 py-4 min-w-0",r?"bg-oai-brand-50 dark:bg-oai-brand-900/10":"bg-white dark:bg-oai-gray-950 group-hover:bg-oai-gray-50 dark:group-hover:bg-oai-gray-900/60")}function _(r){return i("sticky left-[72px] z-30 min-w-[6rem] border-r border-oai-gray-200 dark:border-oai-gray-800 px-4 py-4 whitespace-nowrap","bg-white dark:bg-oai-gray-950")}export{u as L,m as a,y as b,f as c,h as d,k as e,_ as f,x as g,w as l};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-cyrillic-400-normal-Ce5q_31Z.woff2) format("woff2"),url(/assets/geist-mono-cyrillic-400-normal-BPBWmzPh.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-ext-400-normal-Cgks_Qgx.woff2) format("woff2"),url(/assets/geist-mono-latin-ext-400-normal-CxNRRMGd.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-400-normal-LC9RFr9I.woff2) format("woff2"),url(/assets/geist-mono-latin-400-normal-CoULgQGM.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-cyrillic-500-normal-CJBLNVQT.woff2) format("woff2"),url(/assets/geist-mono-cyrillic-500-normal-mNhfPmgl.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-ext-500-normal-CQcGuCNt.woff2) format("woff2"),url(/assets/geist-mono-latin-ext-500-normal-diTenJ8L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-500-normal-D3o2eNa9.woff2) format("woff2"),url(/assets/geist-mono-latin-500-normal-DOxI7kZ4.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-mono-cyrillic-700-normal-VCNRadI3.woff2) format("woff2"),url(/assets/geist-mono-cyrillic-700-normal-DH5Q319x.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-mono-latin-ext-700-normal-YOllDaLV.woff2) format("woff2"),url(/assets/geist-mono-latin-ext-700-normal-BX9f1BHp.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Geist Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-mono-latin-700-normal-D6izGJRP.woff2) format("woff2"),url(/assets/geist-mono-latin-700-normal-QGw08Lff.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/geist-mono-cyrillic-900-normal-DdrQ8KBw.woff2) format("woff2"),url(/assets/geist-mono-cyrillic-900-normal-BKC3PZkM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/geist-mono-latin-ext-900-normal-CrmBTzU2.woff2) format("woff2"),url(/assets/geist-mono-latin-ext-900-normal-Br6WNUGb.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Geist Mono;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/geist-mono-latin-900-normal-Cu5MFKsu.woff2) format("woff2"),url(/assets/geist-mono-latin-900-normal-CmoKXrdK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:SF Mono,SFMono-Regular,ui-monospace,Menlo,Monaco,Consolas,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.oai-button-ghost{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 var(--space-4);background:transparent;color:var(--oai-gray-600);border:none;border-radius:var(--radius-md);font-family:var(--oai-font-sans);font-size:var(--text-body-sm);font-weight:500;cursor:pointer;transition:color .15s ease}.oai-button-ghost:hover{color:var(--oai-black)}.oai-button-sm{height:36px;padding:0 var(--space-3)}:root.dark .oai-panel{background:linear-gradient(180deg,#1a1b1a,#151615);border-color:var(--oai-gray-800)}:root.dark .oai-panel--strong{background:linear-gradient(180deg,#282928,#1e201e);border-color:var(--oai-gray-700)}:root.dark .oai-card{background:linear-gradient(180deg,#1a1b1a,#151615);border-color:var(--oai-gray-800)}:root.dark .oai-card:hover{border-color:var(--oai-gray-700)}:root.dark .oai-card--accent{background:linear-gradient(180deg,#282928,#1e201e);border-color:var(--oai-gray-700)}:root.dark .oai-button-primary{background:var(--oai-gray-100);color:var(--oai-gray-950)}:root.dark .oai-button-primary:hover{background:var(--oai-gray-200)}:root.dark .oai-button-primary:active{background:var(--oai-gray-100)}:root.dark .oai-button-secondary{color:var(--oai-gray-100);border-color:var(--oai-gray-700)}:root.dark .oai-button-secondary:hover{background:var(--oai-gray-800)}:root.dark .oai-button-ghost{color:var(--oai-gray-500)}:root.dark .oai-button-ghost:hover{color:var(--oai-gray-100)}:root.dark .oai-input{background:var(--oai-gray-900);color:var(--oai-gray-100);border-color:var(--oai-gray-700)}:root.dark .oai-input::-moz-placeholder{color:var(--oai-gray-600)}:root.dark .oai-input::placeholder{color:var(--oai-gray-600)}:root.dark .oai-input:focus{border-color:var(--oai-blue)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-px{inset:-1px}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-1{bottom:-4px}.-right-1{right:-4px}.bottom-0{bottom:0}.bottom-4{bottom:16px}.bottom-\[-11px\]{bottom:-11px}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-\[-250\%\]{left:-250%}.left-\[72px\]{left:72px}.right-0{right:0}.right-4{right:16px}.right-6{right:24px}.right-\[-250\%\]{right:-250%}.top-0{top:0}.top-4{top:16px}.top-6{top:24px}.top-\[-10px\]{top:-10px}.top-full{top:100%}.\!z-\[9999\]{z-index:9999!important}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[101\]{z-index:101}.z-\[1\]{z-index:1}.z-\[200\]{z-index:200}.z-\[3\]{z-index:3}.z-\[60\]{z-index:60}.-mx-4{margin-left:-16px;margin-right:-16px}.mx-1{margin-left:4px;margin-right:4px}.mx-3{margin-left:12px;margin-right:12px}.mx-auto{margin-left:auto;margin-right:auto}.-ml-1\.5{margin-left:-.375rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:4px}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:40px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:20px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.ml-1{margin-left:4px}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:8px}.mr-1{margin-right:4px}.mr-2{margin-right:8px}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:4px}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:4px}.h-1\.5{height:.375rem}.h-10{height:40px}.h-11{height:2.75rem}.h-12{height:48px}.h-14{height:3.5rem}.h-16{height:64px}.h-2{height:8px}.h-20{height:80px}.h-24{height:6rem}.h-3{height:12px}.h-3\.5{height:.875rem}.h-4{height:16px}.h-40{height:10rem}.h-5{height:20px}.h-7{height:1.75rem}.h-8{height:32px}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[1px\]{height:1px}.h-\[50\%\]{height:50%}.h-auto{height:auto}.h-full{height:100%}.max-h-\[384px\]{max-height:384px}.max-h-\[45vh\]{max-height:45vh}.min-h-0{min-height:0}.min-h-14{min-height:3.5rem}.min-h-7{min-height:1.75rem}.min-h-8{min-height:32px}.min-h-\[140px\]{min-height:140px}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:40px}.w-12{width:48px}.w-14{width:3.5rem}.w-2{width:8px}.w-20{width:80px}.w-3{width:12px}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:16px}.w-5{width:20px}.w-7{width:1.75rem}.w-8{width:32px}.w-9{width:2.25rem}.w-\[10px\]{width:10px}.w-\[18px\]{width:18px}.w-\[280px\]{width:280px}.w-\[300\%\]{width:300%}.w-\[72px\]{width:72px}.w-full{width:100%}.min-w-0{min-width:0}.min-w-14{min-width:3.5rem}.min-w-7{min-width:1.75rem}.min-w-8{min-width:32px}.min-w-\[140px\]{min-width:140px}.min-w-\[6rem\]{min-width:6rem}.min-w-\[72px\]{min-width:72px}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[120px\]{max-width:120px}.max-w-\[420px\]{max-width:420px}.max-w-\[72px\]{max-width:72px}.max-w-\[min\(160px\,40vw\)\]{max-width:min(160px,40vw)}.max-w-\[min\(180px\,35vw\)\]{max-width:min(180px,35vw)}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[18px\]{--tw-translate-x: 18px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[3px\]{--tw-translate-x: 3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y: 16px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-5{--tw-translate-y: 20px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.skew-x-\[-10deg\]{--tw-skew-x: -10deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[scanner_2s_linear_infinite\]{animation:scanner 2s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .5s ease-out}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes star-movement-bottom{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}.animate-star-movement-bottom{animation:star-movement-bottom linear infinite alternate}@keyframes star-movement-top{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.animate-star-movement-top{animation:star-movement-top linear infinite alternate}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:4px}.gap-1\.5{gap:.375rem}.gap-10{gap:40px}.gap-16{gap:64px}.gap-2{gap:8px}.gap-2\.5{gap:.625rem}.gap-20{gap:80px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.gap-8{gap:32px}.gap-x-4{-moz-column-gap:16px;column-gap:16px}.gap-x-6{-moz-column-gap:24px;column-gap:24px}.gap-x-8{-moz-column-gap:32px;column-gap:32px}.gap-y-2{row-gap:8px}.gap-y-4{row-gap:16px}.gap-y-6{row-gap:24px}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(4px * var(--tw-space-x-reverse));margin-left:calc(4px * calc(1 - var(--tw-space-x-reverse)))}.space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(40px * var(--tw-space-x-reverse));margin-left:calc(40px * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(12px * var(--tw-space-x-reverse));margin-left:calc(12px * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(16px * var(--tw-space-x-reverse));margin-left:calc(16px * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(24px * var(--tw-space-x-reverse));margin-left:calc(24px * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(4px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4px * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(8px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8px * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(12px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12px * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(16px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16px * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(20px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20px * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(24px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24px * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(32px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(32px * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-oai-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(245 245 245 / var(--tw-divide-opacity, 1))}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[11px\]{border-radius:11px}.rounded-\[1px\]{border-radius:1px}.rounded-\[2px\]{border-radius:2px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:12px}.rounded-md{border-radius:8px}.rounded-sm{border-radius:4px}.rounded-xl{border-radius:16px}.border{border-width:1px}.border-2{border-width:2px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-\[\#00FF41\]{--tw-border-opacity: 1;border-color:rgb(0 255 65 / var(--tw-border-opacity, 1))}.border-\[\#00FF41\]\/20{border-color:#00ff4133}.border-\[\#00FF41\]\/25{border-color:#00ff4140}.border-\[\#00FF41\]\/30{border-color:#00ff414d}.border-\[\#00FF41\]\/45{border-color:#00ff4173}.border-oai-brand-300\/40{border-color:#6ee7b766}.border-oai-error{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-oai-gray-100{--tw-border-opacity: 1;border-color:rgb(245 245 245 / var(--tw-border-opacity, 1))}.border-oai-gray-200{--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1))}.border-oai-gray-300{--tw-border-opacity: 1;border-color:rgb(212 212 212 / var(--tw-border-opacity, 1))}.border-oai-gray-50{--tw-border-opacity: 1;border-color:rgb(250 250 250 / var(--tw-border-opacity, 1))}.border-oai-gray-700{--tw-border-opacity: 1;border-color:rgb(64 64 64 / var(--tw-border-opacity, 1))}.border-oai-gray-800{--tw-border-opacity: 1;border-color:rgb(38 38 38 / var(--tw-border-opacity, 1))}.border-oai-gray-800\/50{border-color:#26262680}.border-oai-gray-900{--tw-border-opacity: 1;border-color:rgb(23 23 23 / var(--tw-border-opacity, 1))}.border-red-500\/20{border-color:#ef444433}.border-transparent{border-color:transparent}.border-yellow-500\/50{border-color:#eab30880}.bg-\[\#050505\]{--tw-bg-opacity: 1;background-color:rgb(5 5 5 / var(--tw-bg-opacity, 1))}.bg-\[\#0a0a0a\]{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/40{background-color:#0006}.bg-black\/70{background-color:#000000b3}.bg-oai-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-oai-black{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1))}.bg-oai-brand{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-oai-brand-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.bg-oai-brand-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-oai-brand-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-oai-brand-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-oai-gray-100{--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.bg-oai-gray-100\/80{background-color:#f5f5f5cc}.bg-oai-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}.bg-oai-gray-300{--tw-bg-opacity: 1;background-color:rgb(212 212 212 / var(--tw-bg-opacity, 1))}.bg-oai-gray-50{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.bg-oai-gray-50\/30{background-color:#fafafa4d}.bg-oai-gray-800{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}.bg-oai-gray-900{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.bg-oai-gray-900\/50{background-color:#17171780}.bg-oai-gray-950{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1))}.bg-oai-gray-950\/50{background-color:#0a0a0a80}.bg-oai-gray-950\/80{background-color:#0a0a0acc}.bg-oai-white{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/80{background-color:#fffc}.bg-yellow-900\/20{background-color:#713f1233}.bg-\[linear-gradient\(rgba\(0\,255\,65\,0\)_50\%\,rgba\(0\,255\,65\,0\.16\)_50\%\)\]{background-image:linear-gradient(#00ff4100 50%,#00ff4129 50%)}.bg-\[linear-gradient\(rgba\(18\,16\,16\,0\)_50\%\,rgba\(0\,0\,0\,0\.1\)_50\%\)\]{background-image:linear-gradient(#12101000 50%,#0000001a 50%)}.bg-\[linear-gradient\(rgba\(255\,215\,0\,0\)_50\%\,rgba\(255\,215\,0\,0\.1\)_50\%\)\]{background-image:linear-gradient(#ffd70000 50%,#ffd7001a 50%)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[rgba\(138\,122\,255\,0\.6\)\]{--tw-gradient-from: rgba(138,122,255,.6) var(--tw-gradient-from-position);--tw-gradient-to: rgba(138, 122, 255, 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-oai-gray-100{--tw-gradient-from: #f5f5f5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 245 245 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white{--tw-gradient-from: #fff var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[rgba\(138\,122\,255\,0\.15\)\]{--tw-gradient-to: rgba(138, 122, 255, 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgba(138,122,255,.15) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-oai-gray-200{--tw-gradient-to: rgb(229 229 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #e5e5e5 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-oai-gray-50{--tw-gradient-to: rgb(250 250 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #fafafa var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-\[rgba\(138\,122\,255\,0\.05\)\]{--tw-gradient-to: rgba(138,122,255,.05) var(--tw-gradient-to-position)}.to-oai-gray-100{--tw-gradient-to: #f5f5f5 var(--tw-gradient-to-position)}.to-oai-gray-500{--tw-gradient-to: #737373 var(--tw-gradient-to-position)}.bg-\[length\:100\%_4px\]{background-size:100% 4px}.bg-\[length\:200\%_100\%\]{background-size:200% 100%}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-oai-gray-700{fill:#404040}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:4px}.p-1\.5{padding:.375rem}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.p-5{padding:20px}.p-6{padding:24px}.p-8{padding:32px}.p-\[1px\]{padding:1px}.px-1{padding-left:4px;padding-right:4px}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:8px;padding-right:8px}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:12px;padding-right:12px}.px-4{padding-left:16px;padding-right:16px}.px-5{padding-left:20px;padding-right:20px}.px-6{padding-left:24px;padding-right:24px}.px-8{padding-left:32px;padding-right:32px}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:4px;padding-bottom:4px}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:48px;padding-bottom:48px}.py-16{padding-top:64px;padding-bottom:64px}.py-2{padding-top:8px;padding-bottom:8px}.py-20{padding-top:80px;padding-bottom:80px}.py-3{padding-top:12px;padding-bottom:12px}.py-4{padding-top:16px;padding-bottom:16px}.py-5{padding-top:20px;padding-bottom:20px}.py-6{padding-top:24px;padding-bottom:24px}.py-8{padding-top:32px;padding-bottom:32px}.pb-2{padding-bottom:8px}.pb-3{padding-bottom:12px}.pl-1{padding-left:4px}.pl-2{padding-left:8px}.pl-3{padding-left:12px}.pl-5{padding-left:20px}.pr-2{padding-right:8px}.pt-2{padding-top:8px}.pt-3{padding-top:12px}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:SF Mono,SFMono-Regular,ui-monospace,Menlo,Monaco,Consolas,monospace}.font-oai{font-family:OpenAI Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-body{font-size:16px;line-height:1.5;font-weight:400}.text-caption{font-size:12px;line-height:1.4;letter-spacing:.01em;font-weight:500}.text-display-sm{font-size:56px;line-height:1.05;letter-spacing:-.02em;font-weight:700}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extralight{font-weight:200}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-\[0\.4em\]{letter-spacing:.4em}.tracking-\[0\.6em\]{letter-spacing:.6em}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#00FF41\]{--tw-text-opacity: 1;color:rgb(0 255 65 / var(--tw-text-opacity, 1))}.text-\[\#00FF41\]\/80{color:#00ff41cc}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-oai-amber-dark{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-oai-black{--tw-text-opacity: 1;color:rgb(10 10 10 / var(--tw-text-opacity, 1))}.text-oai-brand{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-oai-brand-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-oai-brand-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-oai-brand-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-oai-brand-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-oai-error{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-oai-gray-200{--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity, 1))}.text-oai-gray-300{--tw-text-opacity: 1;color:rgb(212 212 212 / var(--tw-text-opacity, 1))}.text-oai-gray-400{--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.text-oai-gray-500{--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.text-oai-gray-600{--tw-text-opacity: 1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.text-oai-gray-700{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}.text-oai-gray-800{--tw-text-opacity: 1;color:rgb(38 38 38 / var(--tw-text-opacity, 1))}.text-oai-gray-900{--tw-text-opacity: 1;color:rgb(23 23 23 / var(--tw-text-opacity, 1))}.text-oai-gray-950{--tw-text-opacity: 1;color:rgb(10 10 10 / var(--tw-text-opacity, 1))}.text-oai-white{--tw-text-opacity: 1;color:rgb(250 250 250 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-500\/90{color:#ef4444e6}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-oai-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(163 163 163 / var(--tw-placeholder-opacity, 1))}.placeholder-oai-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(163 163 163 / var(--tw-placeholder-opacity, 1))}.placeholder-oai-gray-600::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(82 82 82 / var(--tw-placeholder-opacity, 1))}.placeholder-oai-gray-600::placeholder{--tw-placeholder-opacity: 1;color:rgb(82 82 82 / var(--tw-placeholder-opacity, 1))}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.mix-blend-overlay{mix-blend-mode:overlay}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_\#00FF41\]{--tw-shadow: 0 0 10px #00FF41;--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(0\,255\,65\,0\.2\)\]{--tw-shadow: 0 0 10px rgba(0,255,65,.2);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(0\,255\,65\,0\.08\)\]{--tw-shadow: 0 0 12px rgba(0,255,65,.08);--tw-shadow-colored: 0 0 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(0\,255\,65\,0\.35\)\]{--tw-shadow: 0 0 12px rgba(0,255,65,.35);--tw-shadow-colored: 0 0 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(0\,255\,65\,0\.1\)\]{--tw-shadow: 0 0 15px rgba(0,255,65,.1);--tw-shadow-colored: 0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(255\,215\,0\,0\.1\)\]{--tw-shadow: 0 0 20px rgba(255,215,0,.1);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-oai-lg{--tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/50{--tw-shadow-color: rgb(0 0 0 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-oai-brand-500\/50{--tw-ring-color: rgb(16 185 129 / .5)}.ring-oai-gray-200{--tw-ring-opacity: 1;--tw-ring-color: rgb(229 229 229 / var(--tw-ring-opacity, 1))}.ring-oai-gray-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(212 212 212 / var(--tw-ring-opacity, 1))}.ring-oai-gray-700{--tw-ring-opacity: 1;--tw-ring-color: rgb(64 64 64 / var(--tw-ring-opacity, 1))}.ring-white{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1))}.ring-white\/10{--tw-ring-color: rgb(255 255 255 / .1)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));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)}.drop-shadow-\[0_0_10px_rgba\(0\,255\,65\,0\.22\)\]{--tw-drop-shadow: drop-shadow(0 0 10px rgba(0,255,65,.22));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)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.oai-text-body-sm{font-size:var(--text-body-sm);line-height:1.5;font-weight:400}.oai-text-caption{font-size:var(--text-caption);line-height:1.4;font-weight:500;letter-spacing:.01em}.oai-text-muted{color:var(--oai-gray-500)}.oai-bg-elevated{background:var(--oai-gray-50)}.oai-scrollbar{scrollbar-width:thin;scrollbar-color:var(--oai-gray-300) transparent;scrollbar-gutter:stable both-edges}.oai-scrollbar::-webkit-scrollbar{height:8px;width:8px}.oai-scrollbar::-webkit-scrollbar-track{background:transparent}.oai-scrollbar::-webkit-scrollbar-thumb{background:var(--oai-gray-300);border-radius:var(--radius-full)}.oai-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--oai-gray-400)}:root.dark .oai-text-muted{color:var(--oai-gray-500)}:root.dark .oai-text-secondary{color:var(--oai-gray-400)}:root.dark .oai-bg-surface{background:var(--oai-gray-900)}:root.dark .oai-bg-elevated{background:var(--oai-gray-100)}:root.dark .oai-scrollbar{scrollbar-color:var(--oai-gray-400) transparent}:root.dark .oai-scrollbar::-webkit-scrollbar-thumb{background:var(--oai-gray-400)}:root.dark .oai-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--oai-gray-500)}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes countPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.shimmer{background:linear-gradient(90deg,var(--oai-gray-100) 25%,var(--oai-gray-50) 50%,var(--oai-gray-100) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}:root.dark .shimmer{background:linear-gradient(90deg,var(--oai-gray-800) 25%,var(--oai-gray-700) 50%,var(--oai-gray-800) 75%);background-size:200% 100%}:root.dark .hover-lift:hover{box-shadow:0 12px 32px -8px #0006}.cost-modal-backdrop{position:fixed;inset:0;z-index:100;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:costBackdropIn .2s ease-out forwards}.cost-modal-popup{animation:costPopupIn .25s cubic-bezier(.16,1,.3,1) forwards}@keyframes costBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes costPopupIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}:root.dark .cost-modal-backdrop{background:#0009}.\[scrollbar-width\:none\]{scrollbar-width:none}:root{color-scheme:light;--oai-black: #0a0a0a;--oai-white: #fafafa;--oai-gray-50: oklch(98% .005 145);--oai-gray-100: oklch(96% .01 145);--oai-gray-200: oklch(90% .015 145);--oai-gray-300: oklch(83% .02 145);--oai-gray-400: oklch(70% .025 145);--oai-gray-500: oklch(55% .03 145);--oai-gray-600: oklch(45% .025 145);--oai-gray-700: oklch(35% .02 145);--oai-gray-800: oklch(25% .015 145);--oai-gray-900: oklch(18% .01 145);--oai-gray-950: oklch(12% .005 145);--brand-primary: #059669;--brand-primary-dark: #047857;--brand-primary-light: #10b981;--brand-50: #ecfdf5;--brand-100: #d1fae5;--brand-200: #a7f3d0;--brand-300: #6ee7b7;--brand-400: #34d399;--brand-500: #10b981;--brand-600: #059669;--brand-700: #047857;--brand-800: #065f46;--brand-900: #064e3b;--brand-950: #022c22;--forest: #10b981;--forest-dark: #059669;--forest-light: #34d399;--amber: #f59e0b;--amber-dark: #d97706;--amber-light: #fbbf24;--oai-blue: #059669;--oai-blue-dark: #047857;--oai-blue-light: #10b981;--oai-success: #10b981;--oai-warning: #f59e0b;--oai-error: #ef4444;--oai-info: #059669;--oai-font-sans: -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen, ubuntu, sans-serif;--oai-font-mono: "SF Mono", sfmono-regular, ui-monospace, menlo, monaco, consolas, monospace;--text-hero: 48px;--text-h1: 36px;--text-h2: 28px;--text-h3: 22px;--text-h4: 18px;--text-body: 16px;--text-body-sm: 14px;--text-caption: 12px;--text-label: 11px;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px}:root.dark{color-scheme:dark;--oai-black: #fafafa;--oai-white: #0a0a0a;--oai-gray-50: oklch(20% .002 145);--oai-gray-100: oklch(24% .003 145);--oai-gray-200: oklch(30% .004 145);--oai-gray-300: oklch(40% .005 145);--oai-gray-400: oklch(55% .006 145);--oai-gray-500: oklch(65% .005 145);--oai-gray-600: oklch(75% .004 145);--oai-gray-700: oklch(85% .003 145);--oai-gray-800: oklch(92% .002 145);--oai-gray-900: oklch(96% .001 145);--oai-gray-950: oklch(98% .001 145);--brand-primary: #10b981;--brand-primary-dark: #059669;--brand-primary-light: #34d399;--forest: #34d399;--forest-dark: #10b981;--forest-light: #6ee7b7;--oai-blue: #10b981;--oai-blue-dark: #059669;--oai-blue-light: #34d399;--oai-success: #34d399;--oai-warning: #fbbf24;--oai-error: #f87171;--oai-info: #10b981}html,body{height:100%}body{margin:0;background:var(--oai-white);color:var(--oai-black);font-family:var(--oai-font-sans);font-size:var(--text-body);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.heatmap-scroll-thin{scrollbar-width:thin;scrollbar-color:var(--oai-gray-200) transparent}.heatmap-scroll-thin::-webkit-scrollbar{height:4px}.heatmap-scroll-thin::-webkit-scrollbar-track{background:transparent}.heatmap-scroll-thin::-webkit-scrollbar-thumb{background:var(--oai-gray-200);border-radius:2px}.heatmap-scroll-thin::-webkit-scrollbar-thumb:hover{background:var(--oai-gray-400)}:root.dark .heatmap-scroll-thin{scrollbar-color:var(--oai-gray-600) transparent}:root.dark .heatmap-scroll-thin::-webkit-scrollbar-thumb{background:var(--oai-gray-600)}:root.dark .heatmap-scroll-thin::-webkit-scrollbar-thumb:hover{background:var(--oai-gray-500)}.rdp-selected{background:var(--oai-black)!important;border-radius:0!important}.rdp-selected .rdp-day-btn{background:transparent!important;color:#fff!important;border-radius:0!important}.rdp-range-start{border-radius:8px 0 0 8px!important}.rdp-range-end{border-radius:0 8px 8px 0!important}.rdp-range-start.rdp-range-end{border-radius:8px!important}:root.dark .rdp-selected{background:var(--oai-white)!important}:root.dark .rdp-selected .rdp-day-btn{background:transparent!important;color:var(--oai-black)!important}:root.dark .rdp-oai svg.rdp-chevron{fill:var(--oai-gray-400)}.selection\:text-black *::-moz-selection{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.selection\:text-black *::selection{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.selection\:text-black::-moz-selection{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.selection\:text-black::selection{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.last\:border-b-0:last-child{border-bottom-width:0px}.hover\:z-10:hover{z-index:10}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-125:hover{--tw-scale-x: 1.25;--tw-scale-y: 1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-oai-brand:hover{--tw-border-opacity: 1;border-color:rgb(5 150 105 / var(--tw-border-opacity, 1))}.hover\:border-oai-gray-200:hover{--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1))}.hover\:border-oai-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(212 212 212 / var(--tw-border-opacity, 1))}.hover\:border-oai-gray-400:hover{--tw-border-opacity: 1;border-color:rgb(163 163 163 / var(--tw-border-opacity, 1))}.hover\:border-white:hover{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.hover\:bg-\[\#00FF41\]:hover{--tw-bg-opacity: 1;background-color:rgb(0 255 65 / var(--tw-bg-opacity, 1))}.hover\:bg-oai-brand-50\/50:hover{background-color:#ecfdf580}.hover\:bg-oai-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.hover\:bg-oai-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.hover\:bg-oai-gray-50\/50:hover{background-color:#fafafa80}.hover\:bg-oai-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:text-black:hover{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.hover\:text-oai-black:hover{--tw-text-opacity: 1;color:rgb(10 10 10 / var(--tw-text-opacity, 1))}.hover\:text-oai-brand:hover{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.hover\:text-oai-brand-400:hover{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.hover\:text-oai-brand-dark:hover{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.hover\:text-oai-gray-300:hover{--tw-text-opacity: 1;color:rgb(212 212 212 / var(--tw-text-opacity, 1))}.hover\:text-oai-gray-600:hover{--tw-text-opacity: 1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.hover\:text-oai-gray-700:hover{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}.hover\:text-oai-gray-800:hover{--tw-text-opacity: 1;color:rgb(38 38 38 / var(--tw-text-opacity, 1))}.hover\:text-oai-gray-900:hover{--tw-text-opacity: 1;color:rgb(23 23 23 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:grayscale-0:hover{--tw-grayscale: grayscale(0);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)}.hover\:oai-bg-elevated:hover{background:var(--oai-gray-50)}:root.dark .hover\:oai-bg-elevated:hover{background:var(--oai-gray-100)}.focus\:border-oai-brand:focus{--tw-border-opacity: 1;border-color:rgb(5 150 105 / var(--tw-border-opacity, 1))}.focus\:border-oai-error:focus{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-oai-blue\/30:focus{--tw-ring-color: rgb(5 150 105 / .3)}.focus\:ring-oai-brand-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity, 1))}.focus\:ring-oai-brand\/30:focus{--tw-ring-color: rgb(5 150 105 / .3)}.focus\:ring-oai-error\/30:focus{--tw-ring-color: rgb(239 68 68 / .3)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-oai-brand-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:border-oai-brand-dark:active{--tw-border-opacity: 1;border-color:rgb(4 120 87 / var(--tw-border-opacity, 1))}.active\:bg-oai-brand-50:active{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.active\:bg-oai-gray-200:active{--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}.active\:bg-oai-gray-50:active{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.active\:bg-oai-gray-900:active{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.active\:bg-oai-gray-950:active{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1))}.active\:duration-100:active{transition-duration:.1s}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-oai-gray-200:disabled{--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1))}.disabled\:bg-oai-gray-300:disabled{--tw-bg-opacity: 1;background-color:rgb(212 212 212 / var(--tw-bg-opacity, 1))}.disabled\:text-oai-gray-400:disabled{--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.disabled\:text-oai-gray-500:disabled{--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-oai-gray-50{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:bg-oai-gray-700{--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:text-oai-black{--tw-text-opacity: 1;color:rgb(10 10 10 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:brightness-110{--tw-brightness: brightness(1.1);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)}.group:hover .group-hover\:drop-shadow-\[0_0_8px_rgba\(0\,255\,65\,0\.8\)\]{--tw-drop-shadow: drop-shadow(0 0 8px rgba(0,255,65,.8));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)}.dark\:divide-oai-gray-800\/50:is(.dark *)>:not([hidden])~:not([hidden]){border-color:#26262680}.dark\:border-oai-brand-500\/30:is(.dark *){border-color:#10b9814d}.dark\:border-oai-gray-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(82 82 82 / var(--tw-border-opacity, 1))}.dark\:border-oai-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(64 64 64 / var(--tw-border-opacity, 1))}.dark\:border-oai-gray-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(38 38 38 / var(--tw-border-opacity, 1))}.dark\:border-oai-gray-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(23 23 23 / var(--tw-border-opacity, 1))}.dark\:bg-black\/60:is(.dark *){background-color:#0009}.dark\:bg-oai-brand-900\/10:is(.dark *){background-color:#064e3b1a}.dark\:bg-oai-brand-900\/30:is(.dark *){background-color:#064e3b4d}.dark\:bg-oai-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.dark\:bg-oai-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}.dark\:bg-oai-gray-800\/30:is(.dark *){background-color:#2626264d}.dark\:bg-oai-gray-800\/80:is(.dark *){background-color:#262626cc}.dark\:bg-oai-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.dark\:bg-oai-gray-900\/50:is(.dark *){background-color:#17171780}.dark\:bg-oai-gray-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1))}.dark\:bg-oai-gray-950\/80:is(.dark *){background-color:#0a0a0acc}.dark\:bg-oai-white:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.dark\:bg-red-900\/30:is(.dark *){background-color:#7f1d1d4d}.dark\:bg-white:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.dark\:fill-oai-gray-300:is(.dark *){fill:#d4d4d4}.dark\:text-oai-black:is(.dark *){--tw-text-opacity: 1;color:rgb(10 10 10 / var(--tw-text-opacity, 1))}.dark\:text-oai-brand-400:is(.dark *){--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-oai-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(245 245 245 / var(--tw-text-opacity, 1))}.dark\:text-oai-gray-200:is(.dark *){--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity, 1))}.dark\:text-oai-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(212 212 212 / var(--tw-text-opacity, 1))}.dark\:text-oai-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.dark\:text-oai-gray-500:is(.dark *){--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.dark\:text-oai-gray-600:is(.dark *){--tw-text-opacity: 1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.dark\:text-oai-gray-900:is(.dark *){--tw-text-opacity: 1;color:rgb(23 23 23 / var(--tw-text-opacity, 1))}.dark\:text-oai-gray-950:is(.dark *){--tw-text-opacity: 1;color:rgb(10 10 10 / var(--tw-text-opacity, 1))}.dark\:text-oai-white:is(.dark *){--tw-text-opacity: 1;color:rgb(250 250 250 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:placeholder-oai-gray-500:is(.dark *)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(115 115 115 / var(--tw-placeholder-opacity, 1))}.dark\:placeholder-oai-gray-500:is(.dark *)::placeholder{--tw-placeholder-opacity: 1;color:rgb(115 115 115 / var(--tw-placeholder-opacity, 1))}.dark\:placeholder-oai-gray-600:is(.dark *)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(82 82 82 / var(--tw-placeholder-opacity, 1))}.dark\:placeholder-oai-gray-600:is(.dark *)::placeholder{--tw-placeholder-opacity: 1;color:rgb(82 82 82 / var(--tw-placeholder-opacity, 1))}.dark\:ring-oai-gray-700:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(64 64 64 / var(--tw-ring-opacity, 1))}.dark\:ring-oai-gray-800:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(38 38 38 / var(--tw-ring-opacity, 1))}.dark\:ring-oai-gray-900:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(23 23 23 / var(--tw-ring-opacity, 1))}.dark\:ring-white\/10:is(.dark *){--tw-ring-color: rgb(255 255 255 / .1)}.dark\:ring-offset-oai-gray-950:is(.dark *){--tw-ring-offset-color: #0a0a0a}.dark\:hover\:border-oai-gray-600:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(82 82 82 / var(--tw-border-opacity, 1))}.dark\:hover\:border-oai-gray-800:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(38 38 38 / var(--tw-border-opacity, 1))}.dark\:hover\:bg-oai-brand-950\/30:hover:is(.dark *){background-color:#022c224d}.dark\:hover\:bg-oai-gray-100:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-oai-gray-200:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-oai-gray-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-oai-gray-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-oai-gray-800\/50:hover:is(.dark *){background-color:#26262680}.dark\:hover\:bg-oai-gray-900\/60:hover:is(.dark *){background-color:#17171799}.dark\:hover\:bg-oai-gray-900\/80:hover:is(.dark *){background-color:#171717cc}.dark\:hover\:text-oai-brand-light:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.dark\:hover\:text-oai-gray-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity, 1))}.dark\:hover\:text-oai-gray-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(212 212 212 / var(--tw-text-opacity, 1))}.dark\:hover\:text-oai-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(250 250 250 / var(--tw-text-opacity, 1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:focus\:border-oai-brand:focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(5 150 105 / var(--tw-border-opacity, 1))}.dark\:focus-visible\:ring-offset-oai-gray-950:focus-visible:is(.dark *){--tw-ring-offset-color: #0a0a0a}.dark\:active\:bg-oai-brand-900\/50:active:is(.dark *){background-color:#064e3b80}.dark\:active\:bg-oai-gray-200:active:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}.dark\:active\:bg-oai-gray-300:active:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(212 212 212 / var(--tw-bg-opacity, 1))}.dark\:active\:bg-oai-gray-700:active:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.dark\:active\:bg-oai-gray-800:active:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}.dark\:disabled\:border-oai-gray-700:disabled:is(.dark *){--tw-border-opacity: 1;border-color:rgb(64 64 64 / var(--tw-border-opacity, 1))}.dark\:disabled\:bg-oai-gray-700:disabled:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.dark\:disabled\:text-oai-gray-400:disabled:is(.dark *){--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.dark\:disabled\:text-oai-gray-500:disabled:is(.dark *){--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.group:hover .dark\:group-hover\:bg-oai-gray-900\/60:is(.dark *){background-color:#17171799}.group:hover .dark\:group-hover\:text-oai-white:is(.dark *){--tw-text-opacity: 1;color:rgb(250 250 250 / var(--tw-text-opacity, 1))}@media(min-width:640px){.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:h-8{height:32px}.sm\:w-8{width:32px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-3{gap:12px}.sm\:px-6{padding-left:24px;padding-right:24px}.sm\:py-16{padding-top:64px;padding-bottom:64px}.sm\:py-24{padding-top:6rem;padding-bottom:6rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-base{font-size:1rem;line-height:1.5rem}}@media(min-width:768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:ml-4{margin-left:16px}.md\:h-9{height:2.25rem}.md\:w-9{width:2.25rem}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:gap-3{gap:12px}.md\:gap-6{gap:24px}.md\:p-8{padding:32px}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-display{font-size:72px;line-height:1;letter-spacing:-.03em;font-weight:700}}@media(min-width:1024px){.lg\:col-span-4{grid-column:span 4 / span 4}.lg\:col-span-8{grid-column:span 8 / span 8}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:gap-24{gap:6rem}.lg\:gap-36{gap:9rem}.lg\:py-16{padding-top:64px;padding-bottom:64px}.lg\:py-32{padding-top:8rem;padding-bottom:8rem}.lg\:text-\[4rem\]{font-size:4rem}.lg\:leading-\[1\.05\]{line-height:1.05}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-DS1P0Mo_.js","assets/ThemeToggle-Cv3W_rFS.js","assets/LeaderboardPage-DrN-vtKo.js","assets/leaderboard-columns-hzLR05GY.js","assets/LeaderboardProfilePage-CBYJri8H.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
function i2(t,e){for(var n=0;n<e.length;n++){const i=e[n];if(typeof i!="string"&&!Array.isArray(i)){for(const r in i)if(r!=="default"&&!(r in t)){const s=Object.getOwnPropertyDescriptor(i,r);s&&Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:()=>i[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(r){if(r.ep)return;r.ep=!0;const s=n(r);fetch(r.href,s)}})();function P1(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function r2(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var e=t.default;if(typeof e=="function"){var n=function i(){var r=!1;try{r=this instanceof i}catch{}return r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(i){var r=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(n,i,r.get?r:{enumerable:!0,get:function(){return t[i]}})}),n}var mm={exports:{}},Lc={},gm={exports:{}},Jt={};var xb;function s2(){if(xb)return Jt;xb=1;var t=Symbol.for("react.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),o=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),f=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),p=Symbol.iterator;function m(z){return z===null||typeof z!="object"?null:(z=p&&z[p]||z["@@iterator"],typeof z=="function"?z:null)}var v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,w={};function y(z,ie,ve){this.props=z,this.context=ie,this.refs=w,this.updater=ve||v}y.prototype.isReactComponent={},y.prototype.setState=function(z,ie){if(typeof z!="object"&&typeof z!="function"&&z!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,z,ie,"setState")},y.prototype.forceUpdate=function(z){this.updater.enqueueForceUpdate(this,z,"forceUpdate")};function x(){}x.prototype=y.prototype;function M(z,ie,ve){this.props=z,this.context=ie,this.refs=w,this.updater=ve||v}var A=M.prototype=new x;A.constructor=M,_(A,y.prototype),A.isPureReactComponent=!0;var T=Array.isArray,D=Object.prototype.hasOwnProperty,I={current:null},U={key:!0,ref:!0,__self:!0,__source:!0};function S(z,ie,ve){var Ee,Ue={},le=null,be=null;if(ie!=null)for(Ee in ie.ref!==void 0&&(be=ie.ref),ie.key!==void 0&&(le=""+ie.key),ie)D.call(ie,Ee)&&!U.hasOwnProperty(Ee)&&(Ue[Ee]=ie[Ee]);var Se=arguments.length-2;if(Se===1)Ue.children=ve;else if(1<Se){for(var Ne=Array(Se),et=0;et<Se;et++)Ne[et]=arguments[et+2];Ue.children=Ne}if(z&&z.defaultProps)for(Ee in Se=z.defaultProps,Se)Ue[Ee]===void 0&&(Ue[Ee]=Se[Ee]);return{$$typeof:t,type:z,key:le,ref:be,props:Ue,_owner:I.current}}function R(z,ie){return{$$typeof:t,type:z.type,key:ie,ref:z.ref,props:z.props,_owner:z._owner}}function H(z){return typeof z=="object"&&z!==null&&z.$$typeof===t}function F(z){var ie={"=":"=0",":":"=2"};return"$"+z.replace(/[=:]/g,function(ve){return ie[ve]})}var W=/\/+/g;function X(z,ie){return typeof z=="object"&&z!==null&&z.key!=null?F(""+z.key):ie.toString(36)}function V(z,ie,ve,Ee,Ue){var le=typeof z;(le==="undefined"||le==="boolean")&&(z=null);var be=!1;if(z===null)be=!0;else switch(le){case"string":case"number":be=!0;break;case"object":switch(z.$$typeof){case t:case e:be=!0}}if(be)return be=z,Ue=Ue(be),z=Ee===""?"."+X(be,0):Ee,T(Ue)?(ve="",z!=null&&(ve=z.replace(W,"$&/")+"/"),V(Ue,ie,ve,"",function(et){return et})):Ue!=null&&(H(Ue)&&(Ue=R(Ue,ve+(!Ue.key||be&&be.key===Ue.key?"":(""+Ue.key).replace(W,"$&/")+"/")+z)),ie.push(Ue)),1;if(be=0,Ee=Ee===""?".":Ee+":",T(z))for(var Se=0;Se<z.length;Se++){le=z[Se];var Ne=Ee+X(le,Se);be+=V(le,ie,ve,Ne,Ue)}else if(Ne=m(z),typeof Ne=="function")for(z=Ne.call(z),Se=0;!(le=z.next()).done;)le=le.value,Ne=Ee+X(le,Se++),be+=V(le,ie,ve,Ne,Ue);else if(le==="object")throw ie=String(z),Error("Objects are not valid as a React child (found: "+(ie==="[object Object]"?"object with keys {"+Object.keys(z).join(", ")+"}":ie)+"). If you meant to render a collection of children, use an array instead.");return be}function q(z,ie,ve){if(z==null)return z;var Ee=[],Ue=0;return V(z,Ee,"","",function(le){return ie.call(ve,le,Ue++)}),Ee}function J(z){if(z._status===-1){var ie=z._result;ie=ie(),ie.then(function(ve){(z._status===0||z._status===-1)&&(z._status=1,z._result=ve)},function(ve){(z._status===0||z._status===-1)&&(z._status=2,z._result=ve)}),z._status===-1&&(z._status=0,z._result=ie)}if(z._status===1)return z._result.default;throw z._result}var Q={current:null},$={transition:null},Y={ReactCurrentDispatcher:Q,ReactCurrentBatchConfig:$,ReactCurrentOwner:I};function Z(){throw Error("act(...) is not supported in production builds of React.")}return Jt.Children={map:q,forEach:function(z,ie,ve){q(z,function(){ie.apply(this,arguments)},ve)},count:function(z){var ie=0;return q(z,function(){ie++}),ie},toArray:function(z){return q(z,function(ie){return ie})||[]},only:function(z){if(!H(z))throw Error("React.Children.only expected to receive a single React element child.");return z}},Jt.Component=y,Jt.Fragment=n,Jt.Profiler=r,Jt.PureComponent=M,Jt.StrictMode=i,Jt.Suspense=u,Jt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Y,Jt.act=Z,Jt.cloneElement=function(z,ie,ve){if(z==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+z+".");var Ee=_({},z.props),Ue=z.key,le=z.ref,be=z._owner;if(ie!=null){if(ie.ref!==void 0&&(le=ie.ref,be=I.current),ie.key!==void 0&&(Ue=""+ie.key),z.type&&z.type.defaultProps)var Se=z.type.defaultProps;for(Ne in ie)D.call(ie,Ne)&&!U.hasOwnProperty(Ne)&&(Ee[Ne]=ie[Ne]===void 0&&Se!==void 0?Se[Ne]:ie[Ne])}var Ne=arguments.length-2;if(Ne===1)Ee.children=ve;else if(1<Ne){Se=Array(Ne);for(var et=0;et<Ne;et++)Se[et]=arguments[et+2];Ee.children=Se}return{$$typeof:t,type:z.type,key:Ue,ref:le,props:Ee,_owner:be}},Jt.createContext=function(z){return z={$$typeof:o,_currentValue:z,_currentValue2:z,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},z.Provider={$$typeof:s,_context:z},z.Consumer=z},Jt.createElement=S,Jt.createFactory=function(z){var ie=S.bind(null,z);return ie.type=z,ie},Jt.createRef=function(){return{current:null}},Jt.forwardRef=function(z){return{$$typeof:c,render:z}},Jt.isValidElement=H,Jt.lazy=function(z){return{$$typeof:h,_payload:{_status:-1,_result:z},_init:J}},Jt.memo=function(z,ie){return{$$typeof:f,type:z,compare:ie===void 0?null:ie}},Jt.startTransition=function(z){var ie=$.transition;$.transition={};try{z()}finally{$.transition=ie}},Jt.unstable_act=Z,Jt.useCallback=function(z,ie){return Q.current.useCallback(z,ie)},Jt.useContext=function(z){return Q.current.useContext(z)},Jt.useDebugValue=function(){},Jt.useDeferredValue=function(z){return Q.current.useDeferredValue(z)},Jt.useEffect=function(z,ie){return Q.current.useEffect(z,ie)},Jt.useId=function(){return Q.current.useId()},Jt.useImperativeHandle=function(z,ie,ve){return Q.current.useImperativeHandle(z,ie,ve)},Jt.useInsertionEffect=function(z,ie){return Q.current.useInsertionEffect(z,ie)},Jt.useLayoutEffect=function(z,ie){return Q.current.useLayoutEffect(z,ie)},Jt.useMemo=function(z,ie){return Q.current.useMemo(z,ie)},Jt.useReducer=function(z,ie,ve){return Q.current.useReducer(z,ie,ve)},Jt.useRef=function(z){return Q.current.useRef(z)},Jt.useState=function(z){return Q.current.useState(z)},Jt.useSyncExternalStore=function(z,ie,ve){return Q.current.useSyncExternalStore(z,ie,ve)},Jt.useTransition=function(){return Q.current.useTransition()},Jt.version="18.3.1",Jt}var bb;function Rv(){return bb||(bb=1,gm.exports=s2()),gm.exports}var Sb;function a2(){if(Sb)return Lc;Sb=1;var t=Rv(),e=Symbol.for("react.element"),n=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,r=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function o(c,u,f){var h,p={},m=null,v=null;f!==void 0&&(m=""+f),u.key!==void 0&&(m=""+u.key),u.ref!==void 0&&(v=u.ref);for(h in u)i.call(u,h)&&!s.hasOwnProperty(h)&&(p[h]=u[h]);if(c&&c.defaultProps)for(h in u=c.defaultProps,u)p[h]===void 0&&(p[h]=u[h]);return{$$typeof:e,type:c,key:m,ref:v,props:p,_owner:r.current}}return Lc.Fragment=n,Lc.jsx=o,Lc.jsxs=o,Lc}var wb;function o2(){return wb||(wb=1,mm.exports=a2()),mm.exports}var B=o2(),N=Rv();const Gl=P1(N),k1=i2({__proto__:null,default:Gl},[N]);var Id={},vm={exports:{}},Vi={},ym={exports:{}},_m={};var Eb;function l2(){return Eb||(Eb=1,(function(t){function e($,Y){var Z=$.length;$.push(Y);e:for(;0<Z;){var z=Z-1>>>1,ie=$[z];if(0<r(ie,Y))$[z]=Y,$[Z]=ie,Z=z;else break e}}function n($){return $.length===0?null:$[0]}function i($){if($.length===0)return null;var Y=$[0],Z=$.pop();if(Z!==Y){$[0]=Z;e:for(var z=0,ie=$.length,ve=ie>>>1;z<ve;){var Ee=2*(z+1)-1,Ue=$[Ee],le=Ee+1,be=$[le];if(0>r(Ue,Z))le<ie&&0>r(be,Ue)?($[z]=be,$[le]=Z,z=le):($[z]=Ue,$[Ee]=Z,z=Ee);else if(le<ie&&0>r(be,Z))$[z]=be,$[le]=Z,z=le;else break e}}return Y}function r($,Y){var Z=$.sortIndex-Y.sortIndex;return Z!==0?Z:$.id-Y.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,c=o.now();t.unstable_now=function(){return o.now()-c}}var u=[],f=[],h=1,p=null,m=3,v=!1,_=!1,w=!1,y=typeof setTimeout=="function"?setTimeout:null,x=typeof clearTimeout=="function"?clearTimeout:null,M=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function A($){for(var Y=n(f);Y!==null;){if(Y.callback===null)i(f);else if(Y.startTime<=$)i(f),Y.sortIndex=Y.expirationTime,e(u,Y);else break;Y=n(f)}}function T($){if(w=!1,A($),!_)if(n(u)!==null)_=!0,J(D);else{var Y=n(f);Y!==null&&Q(T,Y.startTime-$)}}function D($,Y){_=!1,w&&(w=!1,x(S),S=-1),v=!0;var Z=m;try{for(A(Y),p=n(u);p!==null&&(!(p.expirationTime>Y)||$&&!F());){var z=p.callback;if(typeof z=="function"){p.callback=null,m=p.priorityLevel;var ie=z(p.expirationTime<=Y);Y=t.unstable_now(),typeof ie=="function"?p.callback=ie:p===n(u)&&i(u),A(Y)}else i(u);p=n(u)}if(p!==null)var ve=!0;else{var Ee=n(f);Ee!==null&&Q(T,Ee.startTime-Y),ve=!1}return ve}finally{p=null,m=Z,v=!1}}var I=!1,U=null,S=-1,R=5,H=-1;function F(){return!(t.unstable_now()-H<R)}function W(){if(U!==null){var $=t.unstable_now();H=$;var Y=!0;try{Y=U(!0,$)}finally{Y?X():(I=!1,U=null)}}else I=!1}var X;if(typeof M=="function")X=function(){M(W)};else if(typeof MessageChannel<"u"){var V=new MessageChannel,q=V.port2;V.port1.onmessage=W,X=function(){q.postMessage(null)}}else X=function(){y(W,0)};function J($){U=$,I||(I=!0,X())}function Q($,Y){S=y(function(){$(t.unstable_now())},Y)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function($){$.callback=null},t.unstable_continueExecution=function(){_||v||(_=!0,J(D))},t.unstable_forceFrameRate=function($){0>$||125<$?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):R=0<$?Math.floor(1e3/$):5},t.unstable_getCurrentPriorityLevel=function(){return m},t.unstable_getFirstCallbackNode=function(){return n(u)},t.unstable_next=function($){switch(m){case 1:case 2:case 3:var Y=3;break;default:Y=m}var Z=m;m=Y;try{return $()}finally{m=Z}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function($,Y){switch($){case 1:case 2:case 3:case 4:case 5:break;default:$=3}var Z=m;m=$;try{return Y()}finally{m=Z}},t.unstable_scheduleCallback=function($,Y,Z){var z=t.unstable_now();switch(typeof Z=="object"&&Z!==null?(Z=Z.delay,Z=typeof Z=="number"&&0<Z?z+Z:z):Z=z,$){case 1:var ie=-1;break;case 2:ie=250;break;case 5:ie=1073741823;break;case 4:ie=1e4;break;default:ie=5e3}return ie=Z+ie,$={id:h++,callback:Y,priorityLevel:$,startTime:Z,expirationTime:ie,sortIndex:-1},Z>z?($.sortIndex=Z,e(f,$),n(u)===null&&$===n(f)&&(w?(x(S),S=-1):w=!0,Q(T,Z-z))):($.sortIndex=ie,e(u,$),_||v||(_=!0,J(D))),$},t.unstable_shouldYield=F,t.unstable_wrapCallback=function($){var Y=m;return function(){var Z=m;m=Y;try{return $.apply(this,arguments)}finally{m=Z}}}})(_m)),_m}var Mb;function c2(){return Mb||(Mb=1,ym.exports=l2()),ym.exports}var Tb;function u2(){if(Tb)return Vi;Tb=1;var t=Rv(),e=c2();function n(a){for(var l="https://reactjs.org/docs/error-decoder.html?invariant="+a,d=1;d<arguments.length;d++)l+="&args[]="+encodeURIComponent(arguments[d]);return"Minified React error #"+a+"; visit "+l+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,r={};function s(a,l){o(a,l),o(a+"Capture",l)}function o(a,l){for(r[a]=l,a=0;a<l.length;a++)i.add(l[a])}var c=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),u=Object.prototype.hasOwnProperty,f=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,h={},p={};function m(a){return u.call(p,a)?!0:u.call(h,a)?!1:f.test(a)?p[a]=!0:(h[a]=!0,!1)}function v(a,l,d,g){if(d!==null&&d.type===0)return!1;switch(typeof l){case"function":case"symbol":return!0;case"boolean":return g?!1:d!==null?!d.acceptsBooleans:(a=a.toLowerCase().slice(0,5),a!=="data-"&&a!=="aria-");default:return!1}}function _(a,l,d,g){if(l===null||typeof l>"u"||v(a,l,d,g))return!0;if(g)return!1;if(d!==null)switch(d.type){case 3:return!l;case 4:return l===!1;case 5:return isNaN(l);case 6:return isNaN(l)||1>l}return!1}function w(a,l,d,g,b,E,k){this.acceptsBooleans=l===2||l===3||l===4,this.attributeName=g,this.attributeNamespace=b,this.mustUseProperty=d,this.propertyName=a,this.type=l,this.sanitizeURL=E,this.removeEmptyString=k}var y={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){y[a]=new w(a,0,!1,a,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var l=a[0];y[l]=new w(l,1,!1,a[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(a){y[a]=new w(a,2,!1,a.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){y[a]=new w(a,2,!1,a,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){y[a]=new w(a,3,!1,a.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(a){y[a]=new w(a,3,!0,a,null,!1,!1)}),["capture","download"].forEach(function(a){y[a]=new w(a,4,!1,a,null,!1,!1)}),["cols","rows","size","span"].forEach(function(a){y[a]=new w(a,6,!1,a,null,!1,!1)}),["rowSpan","start"].forEach(function(a){y[a]=new w(a,5,!1,a.toLowerCase(),null,!1,!1)});var x=/[\-:]([a-z])/g;function M(a){return a[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var l=a.replace(x,M);y[l]=new w(l,1,!1,a,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var l=a.replace(x,M);y[l]=new w(l,1,!1,a,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(a){var l=a.replace(x,M);y[l]=new w(l,1,!1,a,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(a){y[a]=new w(a,1,!1,a.toLowerCase(),null,!1,!1)}),y.xlinkHref=new w("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(a){y[a]=new w(a,1,!1,a.toLowerCase(),null,!0,!0)});function A(a,l,d,g){var b=y.hasOwnProperty(l)?y[l]:null;(b!==null?b.type!==0:g||!(2<l.length)||l[0]!=="o"&&l[0]!=="O"||l[1]!=="n"&&l[1]!=="N")&&(_(l,d,b,g)&&(d=null),g||b===null?m(l)&&(d===null?a.removeAttribute(l):a.setAttribute(l,""+d)):b.mustUseProperty?a[b.propertyName]=d===null?b.type===3?!1:"":d:(l=b.attributeName,g=b.attributeNamespace,d===null?a.removeAttribute(l):(b=b.type,d=b===3||b===4&&d===!0?"":""+d,g?a.setAttributeNS(g,l,d):a.setAttribute(l,d))))}var T=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,D=Symbol.for("react.element"),I=Symbol.for("react.portal"),U=Symbol.for("react.fragment"),S=Symbol.for("react.strict_mode"),R=Symbol.for("react.profiler"),H=Symbol.for("react.provider"),F=Symbol.for("react.context"),W=Symbol.for("react.forward_ref"),X=Symbol.for("react.suspense"),V=Symbol.for("react.suspense_list"),q=Symbol.for("react.memo"),J=Symbol.for("react.lazy"),Q=Symbol.for("react.offscreen"),$=Symbol.iterator;function Y(a){return a===null||typeof a!="object"?null:(a=$&&a[$]||a["@@iterator"],typeof a=="function"?a:null)}var Z=Object.assign,z;function ie(a){if(z===void 0)try{throw Error()}catch(d){var l=d.stack.trim().match(/\n( *(at )?)/);z=l&&l[1]||""}return`
|
|
3
3
|
`+z+a}var ve=!1;function Ee(a,l){if(!a||ve)return"";ve=!0;var d=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(l)if(l=function(){throw Error()},Object.defineProperty(l.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(l,[])}catch(ge){var g=ge}Reflect.construct(a,[],l)}else{try{l.call()}catch(ge){g=ge}a.call(l.prototype)}else{try{throw Error()}catch(ge){g=ge}a()}}catch(ge){if(ge&&g&&typeof ge.stack=="string"){for(var b=ge.stack.split(`
|
|
4
4
|
`),E=g.stack.split(`
|
|
@@ -4860,4 +4860,4 @@ void main() {
|
|
|
4860
4860
|
vec4 color;
|
|
4861
4861
|
mainImage(color, gl_FragCoord.xy);
|
|
4862
4862
|
gl_FragColor = color;
|
|
4863
|
-
}`;function R7({raysOrigin:t="top-center",raysColor:e="#ffffff",raysSpeed:n=1,lightSpread:i=1,rayLength:r=2,pulsating:s=!1,fadeDistance:o=1,saturation:c=1,followMouse:u=!0,mouseInfluence:f=.1,noiseAmount:h=0,distortion:p=0,className:m=""}){const v=N.useRef(null),_=N.useRef(null),w=N.useRef(null),y=N.useRef({x:.5,y:.5}),x=N.useRef({x:.5,y:.5}),M=N.useRef(null),A=N.useRef(null),T=N.useRef(null),[D,I]=N.useState(!1),U=N.useRef(null);return N.useEffect(()=>{if(v.current)return U.current=new IntersectionObserver(S=>{I(S[0].isIntersecting)},{threshold:.1}),U.current.observe(v.current),()=>{U.current&&(U.current.disconnect(),U.current=null)}},[]),N.useEffect(()=>!D||!v.current?void 0:(T.current&&(T.current(),T.current=null),(async()=>{if(!v.current||(await new Promise(Q=>setTimeout(Q,10)),!v.current))return;const R=new Aj({dpr:Math.min(window.devicePixelRatio,2),alpha:!0});w.current=R;const H=R.gl;for(H.canvas.style.width="100%",H.canvas.style.height="100%";v.current.firstChild;)v.current.removeChild(v.current.firstChild);v.current.appendChild(H.canvas);const F={iTime:{value:0},iResolution:{value:[1,1]},rayPos:{value:[0,0]},rayDir:{value:[0,1]},raysColor:{value:M1(e)},raysSpeed:{value:n},lightSpread:{value:i},rayLength:{value:r},pulsating:{value:s?1:0},fadeDistance:{value:o},saturation:{value:c},mousePos:{value:[.5,.5]},mouseInfluence:{value:f},noiseAmount:{value:h},distortion:{value:p}};_.current=F;const W=new T7(H),X=new Sj(H,{vertex:A7,fragment:C7,uniforms:F}),V=new M7(H,{geometry:W,program:X});A.current=V;const q=()=>{if(!v.current||!R)return;R.dpr=Math.min(window.devicePixelRatio,2);const{clientWidth:Q,clientHeight:$}=v.current;R.setSize(Q,$);const Y=R.dpr,Z=Q*Y,z=$*Y;F.iResolution.value=[Z,z];const{anchor:ie,dir:ve}=T1(t,Z,z);F.rayPos.value=ie,F.rayDir.value=ve},J=Q=>{if(!(!w.current||!_.current||!A.current)){F.iTime.value=Q*.001,u&&f>0&&(x.current.x=x.current.x*.92+y.current.x*(1-.92),x.current.y=x.current.y*.92+y.current.y*(1-.92),F.mousePos.value=[x.current.x,x.current.y]);try{R.render({scene:V}),M.current=requestAnimationFrame(J)}catch($){console.warn("WebGL rendering error:",$)}}};window.addEventListener("resize",q),q(),M.current=requestAnimationFrame(J),T.current=()=>{if(M.current&&(cancelAnimationFrame(M.current),M.current=null),window.removeEventListener("resize",q),R)try{const Q=R.gl.getExtension("WEBGL_lose_context");Q&&Q.loseContext();const $=R.gl.canvas;$&&$.parentNode&&$.parentNode.removeChild($)}catch(Q){console.warn("Error during WebGL cleanup:",Q)}w.current=null,_.current=null,A.current=null}})(),()=>{T.current&&(T.current(),T.current=null)}),[D,t,e,n,i,r,s,o,c,u,f,h,p]),N.useEffect(()=>{if(!_.current||!v.current||!w.current)return;const S=_.current,R=w.current;S.raysColor.value=M1(e),S.raysSpeed.value=n,S.lightSpread.value=i,S.rayLength.value=r,S.pulsating.value=s?1:0,S.fadeDistance.value=o,S.saturation.value=c,S.mouseInfluence.value=f,S.noiseAmount.value=h,S.distortion.value=p;const{clientWidth:H,clientHeight:F}=v.current,W=R.dpr,{anchor:X,dir:V}=T1(t,H*W,F*W);S.rayPos.value=X,S.rayDir.value=V},[e,n,i,t,r,s,o,c,f,h,p]),N.useEffect(()=>{if(!u)return;const S=R=>{if(!v.current)return;const H=v.current.getBoundingClientRect();y.current={x:(R.clientX-H.left)/H.width,y:(R.clientY-H.top)/H.height}};return window.addEventListener("mousemove",S),()=>window.removeEventListener("mousemove",S)},[u]),B.jsx("div",{ref:v,className:`w-full h-full pointer-events-none z-[3] overflow-hidden relative ${m}`.trim()})}function P7({className:t}){return B.jsx("svg",{viewBox:"0 0 384 512",className:t,fill:"currentColor",children:B.jsx("path",{d:"M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"})})}function k7({className:t}){return B.jsx("svg",{viewBox:"0 0 16 16",className:t,fill:"currentColor",children:B.jsx("path",{d:"M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"})})}function L7({className:t}){return B.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t,children:[B.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),B.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}function D7({className:t}){return B.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t,children:B.jsx("polyline",{points:"20 6 9 17 4 12"})})}const A1="https://github.com/mm7894215/tokentracker",N7="https://github.com/mm7894215/tokentracker/releases/latest";function I7(t="default",e="md",n){const i="inline-flex items-center justify-center rounded font-medium transition-colors duration-200 ease-out focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500 focus-visible:ring-offset-2 dark:focus-visible:ring-offset-oai-gray-950",r={default:"bg-oai-gray-900 text-white hover:bg-oai-gray-800 active:bg-oai-gray-950 dark:bg-white dark:text-oai-gray-900 dark:hover:bg-oai-gray-100 dark:active:bg-oai-gray-200",ghost:"text-oai-gray-600 hover:text-oai-gray-900 hover:bg-oai-gray-100 active:bg-oai-gray-200 dark:text-oai-gray-400 dark:hover:text-white dark:hover:bg-oai-gray-800 dark:active:bg-oai-gray-700"},s={sm:"h-9 px-4 text-sm",md:"h-11 px-6 text-sm",lg:"h-12 px-8 text-base"};return Si(i,r[t],s[e],n)}function U7({copy:t,signInUrl:e,signUpUrl:n,installCommand:i,installCopied:r,onCopyInstallCommand:s}){const o=Bz(),[c,u]=N.useState(!1);N.useEffect(()=>{const w=()=>u(window.scrollY>10);return window.addEventListener("scroll",w,{passive:!0}),()=>window.removeEventListener("scroll",w)},[]);const f=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),{signedIn:h,loading:p}=$l(),m=N.useMemo(()=>({codex:t("landing.v2.models.agent.codex"),claude_code:t("landing.v2.models.agent.claude_code"),cursor:t("landing.v2.models.agent.cursor"),gemini:t("landing.v2.models.agent.gemini"),opencode:t("landing.v2.models.agent.opencode"),openclaw:t("landing.v2.models.agent.openclaw")}),[t]),v=N.useMemo(()=>[{id:"codex",icon:"/brand-logos/codex.svg"},{id:"claude_code",icon:"/brand-logos/claude-code.svg"},{id:"cursor",icon:"/brand-logos/cursor.svg"},{id:"gemini",icon:"/brand-logos/gemini.svg"},{id:"opencode",icon:"/brand-logos/opencode.svg"},{id:"openclaw",icon:"/brand-logos/openclaw.svg"}],[]),_=o?{duration:0}:void 0;return B.jsxs("div",{className:"relative min-h-screen bg-oai-gray-950 text-oai-white font-oai antialiased dark",children:[B.jsx("div",{className:"absolute inset-0 z-0 pointer-events-none",style:{height:"100vh"},children:B.jsx(R7,{raysOrigin:"top-center",raysColor:"#b8b3ff",raysSpeed:1,lightSpread:.5,rayLength:3,pulsating:!1,fadeDistance:1,saturation:1,followMouse:!0,mouseInfluence:.1,noiseAmount:0,distortion:0})}),B.jsx("header",{className:Si("sticky top-0 z-50 transition-all duration-300",c?"bg-oai-gray-950/80 backdrop-blur-md border-b border-oai-gray-900":"bg-transparent border-b border-transparent"),children:B.jsxs("div",{className:"mx-auto flex h-14 max-w-6xl items-center justify-between px-4 sm:px-6",children:[B.jsxs("div",{className:"flex items-center gap-5",children:[B.jsxs(ho,{to:n||"/",className:"flex items-center gap-3 no-underline outline-none rounded focus-visible:ring-2 focus-visible:ring-oai-brand-500 focus-visible:ring-offset-2 dark:ring-offset-oai-gray-950 transition-opacity hover:opacity-80",children:[B.jsx("img",{src:"/app-icon.png",alt:"",width:24,height:24,className:"rounded-md"}),B.jsx("span",{className:"text-sm font-semibold tracking-wide text-white uppercase",children:"Token Tracker"})]}),B.jsx("div",{className:"hidden sm:block",children:B.jsx(IV,{})})]}),f&&B.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-2 sm:gap-3",children:[B.jsxs(ho,{to:DV(),className:Si(I7(h||p?"default":"ghost","sm"),"no-underline px-5 rounded-full group",h||p?"shadow-sm ring-1 ring-white/10":"ring-1 ring-oai-gray-700"),children:[t("landing.v2.cta.primary"),B.jsx("span",{className:"ml-2 inline-block transition-transform duration-200 group-hover:translate-x-0.5",children:"→"})]}),B.jsx(VV,{})]})]})}),B.jsxs("main",{children:[B.jsx("section",{className:"relative py-16 sm:py-24 lg:py-32 overflow-hidden",children:B.jsxs("div",{className:"relative z-10 mx-auto max-w-7xl px-4 sm:px-6 flex flex-col items-center text-center gap-20 lg:gap-36",children:[B.jsxs(go.div,{initial:o?!1:{opacity:0,y:20},animate:{opacity:1,y:0},transition:_||{duration:.5},className:"w-full max-w-3xl relative z-20",children:[B.jsxs("h1",{className:"text-balance text-5xl font-semibold tracking-tight text-white sm:text-6xl lg:text-[4rem] lg:leading-[1.05]",children:[t("landing.v2.hero.title_line1"),B.jsx("br",{}),B.jsx("span",{className:"bg-gradient-to-b from-white via-oai-gray-200 to-oai-gray-500 bg-clip-text text-transparent font-bold tracking-tight",style:{WebkitTextStroke:"1px rgba(255, 255, 255, 0.15)"},children:t("landing.v2.hero.title_line2")})]}),B.jsx("p",{className:"mt-6 text-lg leading-relaxed text-oai-gray-400",children:t("landing.v2.hero.subtagline")}),B.jsxs("div",{className:"mt-8 w-full max-w-lg mx-auto",children:[B.jsxs(go.div,{whileHover:{scale:1.01,y:-1},transition:{type:"spring",stiffness:400,damping:25},className:"group relative inline-block w-full overflow-hidden rounded-2xl",style:{padding:"1.5px 0"},children:[B.jsx("div",{className:"absolute w-[300%] h-[50%] opacity-70 bottom-[-11px] right-[-250%] rounded-full animate-star-movement-bottom z-0",style:{background:"radial-gradient(circle, #fbdfff, transparent 10%)",animationDuration:"6s"}}),B.jsx("div",{className:"absolute w-[300%] h-[50%] opacity-70 top-[-10px] left-[-250%] rounded-full animate-star-movement-top z-0",style:{background:"radial-gradient(circle, #fbdfff, transparent 10%)",animationDuration:"6s"}}),B.jsxs("div",{className:"relative z-[1] flex items-center justify-between w-full bg-[#0a0a0a] border border-oai-gray-800 rounded-2xl p-1.5 pl-5 shadow-2xl shadow-black/50",children:[B.jsxs("div",{className:"flex items-center gap-3 overflow-hidden",children:[B.jsx("span",{className:"text-oai-gray-600 font-mono select-none","aria-hidden":"true",children:"›"}),B.jsx("code",{className:"font-mono text-sm text-oai-gray-200 overflow-x-auto whitespace-nowrap py-2 [scrollbar-width:none]",children:i?i.split(" ").map((w,y)=>B.jsxs("span",{className:w==="npx"||w==="tokentracker-cli"?"text-white font-medium":w==="--yes"?"text-oai-gray-500":"text-oai-brand-400",children:[w," "]},y)):null})]}),B.jsx("button",{type:"button",onClick:s,"aria-label":t(r?"landing.install.action.copied":"landing.install.action.copy"),className:"shrink-0 flex h-9 w-9 items-center justify-center text-oai-gray-200 bg-oai-gray-900 border border-oai-gray-700 rounded-lg hover:bg-oai-gray-800 hover:text-white active:scale-95 transition-all duration-200 shadow-sm",children:r?B.jsx(D7,{className:"h-4 w-4 text-green-400","aria-hidden":!0}):B.jsx(L7,{className:"h-4 w-4 opacity-70","aria-hidden":!0})})]})]}),B.jsxs("div",{className:"mt-8 flex flex-wrap items-center justify-center gap-x-6 gap-y-4",children:[B.jsxs("a",{href:N7,target:"_blank",rel:"noopener noreferrer",className:"group flex items-center gap-2 text-sm font-medium text-oai-gray-400 hover:text-white transition-colors",children:[B.jsx("div",{className:"flex items-center justify-center h-8 w-8 rounded-full bg-oai-gray-800 group-hover:bg-oai-gray-700 transition-colors",children:B.jsx(P7,{className:"h-4 w-4 text-oai-gray-400 group-hover:text-white"})}),t("landing.v2.install.mac_cta")]}),B.jsxs("a",{href:A1,target:"_blank",rel:"noopener noreferrer",className:"group flex items-center gap-2 text-sm font-medium text-oai-gray-400 hover:text-white transition-colors",children:[B.jsx("div",{className:"flex items-center justify-center h-8 w-8 rounded-full bg-oai-gray-800 group-hover:bg-oai-gray-700 transition-colors",children:B.jsx(k7,{className:"h-4 w-4 text-oai-gray-400 group-hover:text-white"})}),t("landing.cta.secondary")]})]}),B.jsx("span",{className:"sr-only","aria-live":"polite",children:r?t("landing.install.action.copied"):""})]})]}),B.jsx("div",{className:"relative group w-full",children:B.jsxs(go.div,{initial:o?!1:{opacity:0,y:24},animate:{opacity:1,y:0},transition:_||{duration:.6,delay:.1},className:"relative w-full",children:[B.jsx("div",{style:{position:"absolute",top:"-256px",left:0,right:0,height:"510px",zIndex:3,pointerEvents:"none"},children:B.jsx(nj,{color:"#8a7aff",wispDensity:2,flowSpeed:.28,verticalSizing:2.2,horizontalSizing:1.22,fogIntensity:4,fogScale:.1,wispSpeed:18,wispIntensity:10,flowStrength:.12,decay:1.1,falloffStart:1.1,fogFallSpeed:.5,horizontalBeamOffset:.22,verticalBeamOffset:0,style:{width:"100%",height:"100%"}})}),B.jsx("div",{className:"relative rounded-xl p-[1px] shadow-2xl bg-gradient-to-b from-[rgba(138,122,255,0.6)] via-[rgba(138,122,255,0.15)] to-[rgba(138,122,255,0.05)]",style:{position:"relative",zIndex:10,boxShadow:"0 20px 60px -10px rgba(138,122,255,0.15), 0 4px 20px rgba(0,0,0,0.4)"},children:B.jsxs("div",{className:"relative rounded-[11px] overflow-hidden bg-oai-gray-950",children:[B.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:"180px",background:"linear-gradient(to bottom, rgba(138,122,255,0.35) 0%, rgba(138,122,255,0.12) 40%, transparent 100%)",mixBlendMode:"screen",zIndex:20,pointerEvents:"none"}}),B.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:"1px",background:"linear-gradient(90deg, transparent 0%, rgba(138,122,255,0.9) 30%, rgba(180,168,255,1) 50%, rgba(138,122,255,0.9) 70%, transparent 100%)",zIndex:25,pointerEvents:"none"}}),B.jsx("img",{src:"/dashboard-dark.png",alt:t("landing.screenshot.alt"),className:"block h-auto w-full object-cover",style:{position:"relative",zIndex:10},loading:"eager",decoding:"async"})]})})]})})]})}),B.jsx("section",{className:"border-y border-oai-gray-900 bg-oai-gray-950/50 py-12 lg:py-16",children:B.jsx("div",{className:"mx-auto max-w-6xl px-4 sm:px-6",children:B.jsxs("div",{className:"flex flex-col md:flex-row md:items-center justify-between gap-8",children:[B.jsx("p",{className:"text-sm font-semibold uppercase tracking-wider text-oai-gray-400 shrink-0",children:t("landing.v2.models.title")}),B.jsx("div",{className:"flex flex-wrap items-center gap-x-8 gap-y-6 opacity-60 hover:opacity-100 transition-opacity duration-500 grayscale hover:grayscale-0",children:v.map(w=>B.jsxs("div",{className:"flex items-center gap-2.5 transition-transform hover:-translate-y-0.5 duration-300",children:[B.jsx("img",{src:w.icon,alt:"",width:20,height:20,className:"h-5 w-5 object-contain",loading:"lazy"}),B.jsx("span",{className:"text-sm font-medium text-oai-gray-300",children:m[w.id]})]},w.id))})]})})}),B.jsx("section",{className:"py-20 lg:py-32",children:B.jsxs("div",{className:"mx-auto max-w-6xl px-4 sm:px-6 grid grid-cols-1 md:grid-cols-2 gap-16 lg:gap-24 items-start",children:[B.jsxs("div",{className:"max-w-md",children:[B.jsx("p",{className:"text-xs font-bold tracking-widest uppercase text-oai-brand-500 mb-4",children:t("landing.v2.compare.kicker")}),B.jsx("h2",{className:"text-3xl font-semibold tracking-tight text-white sm:text-4xl text-balance",children:t("landing.v2.compare.title")}),B.jsx("p",{className:"mt-6 text-lg leading-relaxed text-oai-gray-400",children:t("landing.v2.compare.subtitle")}),B.jsx("p",{className:"mt-6 text-base leading-relaxed text-oai-gray-500",children:t("landing.v2.distill.body")})]}),B.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-10",children:[B.jsxs("div",{className:"space-y-4",children:[B.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wider text-white border-b border-oai-gray-800 pb-3",children:t("landing.v2.compare.with.title")}),B.jsxs("ul",{className:"space-y-3 text-sm text-oai-gray-400",children:[B.jsxs("li",{className:"flex gap-2",children:[B.jsx("span",{className:"text-oai-brand-500 shrink-0",children:"✦"}),B.jsx("span",{children:t("landing.v2.compare.with.p1")})]}),B.jsxs("li",{className:"flex gap-2",children:[B.jsx("span",{className:"text-oai-brand-500 shrink-0",children:"✦"}),B.jsx("span",{children:t("landing.v2.compare.with.p2")})]}),B.jsxs("li",{className:"flex gap-2",children:[B.jsx("span",{className:"text-oai-brand-500 shrink-0",children:"✦"}),B.jsx("span",{children:t("landing.v2.compare.with.p3")})]})]})]}),B.jsxs("div",{className:"space-y-4",children:[B.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wider text-oai-gray-500 border-b border-oai-gray-800/50 pb-3",children:t("landing.v2.compare.without.title")}),B.jsxs("ul",{className:"space-y-3 text-sm text-oai-gray-500",children:[B.jsxs("li",{className:"flex gap-2",children:[B.jsx("span",{className:"opacity-50 shrink-0",children:"✕"}),B.jsx("span",{children:t("landing.v2.compare.without.p1")})]}),B.jsxs("li",{className:"flex gap-2",children:[B.jsx("span",{className:"opacity-50 shrink-0",children:"✕"}),B.jsx("span",{children:t("landing.v2.compare.without.p2")})]}),B.jsxs("li",{className:"flex gap-2",children:[B.jsx("span",{className:"opacity-50 shrink-0",children:"✕"}),B.jsx("span",{children:t("landing.v2.compare.without.p3")})]})]})]})]})]})})]}),B.jsx("footer",{className:"border-t border-oai-gray-900 bg-oai-gray-950 py-12",children:B.jsxs("div",{className:"mx-auto flex max-w-6xl flex-col items-center justify-between gap-6 px-4 sm:px-6 text-sm text-oai-gray-400 sm:flex-row",children:[B.jsx("p",{children:t("landing.v2.footer.line")}),B.jsxs("div",{className:"flex items-center gap-6",children:[B.jsx("a",{href:A1,className:"font-medium text-oai-gray-400 hover:text-white transition-colors",target:"_blank",rel:"noopener noreferrer",children:t("landing.v2.nav.github")}),f&&B.jsxs(ho,{to:e,className:"font-medium text-oai-brand-500 hover:text-oai-brand-400 transition-colors",children:[t("landing.cta.primary")," →"]})]})]})})]})}function F7({prefersReducedMotion:t,screenshotMode:e}){return!(e||t)}function O7(){return N.useMemo(()=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches,[])}function B7(t=0,e=!0){const[n,i]=N.useState(()=>!e);return N.useEffect(()=>{if(!e){i(!0);return}let r=null,s=null;const o=()=>i(!0);return typeof window<"u"&&"requestIdleCallback"in window?(s=window.requestIdleCallback(o,{timeout:t||200}),()=>{typeof window.cancelIdleCallback=="function"&&s!=null&&window.cancelIdleCallback(s)}):(r=window.setTimeout(o,t),()=>{r!=null&&window.clearTimeout(r)})},[t,e]),n}function z7({signInUrl:t,signUpUrl:e}){const n=qt("landing.handle.special"),i=qt("landing.handle.default");qt("landing.nav.login"),qt("landing.nav.signup");const[r,s]=N.useState(i),o=O7(),c=N.useMemo(()=>typeof window>"u"?!1:NC(window.location.search),[]),u=F7({prefersReducedMotion:o,screenshotMode:c});B7(250,u);const f="tokentracker.dashboard.from_landing.v1";N.useEffect(()=>{if(!(typeof window>"u"))try{window.sessionStorage.setItem(f,"1")}catch{}},[f]),N.useMemo(()=>qt("landing.handle.placeholder",{handle:n}),[n]),N.useMemo(()=>{const _=qt(r===n?"landing.rank.singularity":"landing.rank.unranked");return qt("landing.rank.expectation",{rank:_})},[r,n]);const h=qt("landing.install.command"),[p,m]=N.useState(!1),v=async()=>{await kV(h)&&(m(!0),window.setTimeout(()=>m(!1),2e3))};return B.jsx(U7,{copy:qt,reduceMotion:o,signInUrl:t,signUpUrl:e,installCommand:h,installCopied:p,onCopyInstallCommand:v})}function V7(t){const e=new URLSearchParams(t).get("next");return typeof e!="string"||e.length===0||!e.startsWith("/")||e.startsWith("//")?"/dashboard":e}const C1={google:"Google",github:"GitHub",microsoft:"Microsoft",discord:"Discord",linkedin:"LinkedIn",facebook:"Facebook",instagram:"Instagram",tiktok:"TikTok",apple:"Apple",x:"X",spotify:"Spotify"};function R1(t){const e=String(t||"").trim();return C1[e]?C1[e]:e.replace(/-/g," ")}function H7(){const t=Fv(),[e,n]=kL(),{enabled:i,loading:r,signedIn:s,refreshUser:o,signInWithPassword:c,signUp:u,signInWithOAuth:f,getPublicAuthConfig:h}=$l(),p=N.useMemo(()=>V7(e.toString()),[e]),[m,v]=N.useState("signin"),[_,w]=N.useState(""),[y,x]=N.useState(""),[M,A]=N.useState(""),[T,D]=N.useState(!1),[I,U]=N.useState(null),[S,R]=N.useState(null),[H,F]=N.useState(!0),[W,X]=N.useState([]),[V,q]=N.useState([]),[J,Q]=N.useState(8);N.useEffect(()=>{const ve=e.get("insforge_status"),Ee=e.get("insforge_type"),Ue=e.get("insforge_error");ve==="success"&&Ee==="verify_email"?R(qt("login.verify_email_success")):ve==="error"&&Ee==="verify_email"&&Ue&&R(qt("shared.error.prefix",{error:Ue}))},[e]),N.useEffect(()=>{if(!i){F(!1);return}let ve=!0;return(async()=>{const{data:Ee,error:Ue}=await h();ve&&(Ue||!Ee?(X(["google","github"]),q([])):(X(Array.isArray(Ee.oAuthProviders)?Ee.oAuthProviders:[]),q(Array.isArray(Ee.customOAuthProviders)?Ee.customOAuthProviders:[]),typeof Ee.passwordMinLength=="number"&&Ee.passwordMinLength>0&&Q(Ee.passwordMinLength)),F(!1))})(),()=>{ve=!1}},[i,h]),N.useEffect(()=>{!i||r||s&&t(p,{replace:!0})},[i,r,s,t,p]),N.useEffect(()=>{i&&o()},[i,o]);const $=N.useMemo(()=>typeof window>"u"?"":`${window.location.origin}${p}`,[p]),Y=N.useMemo(()=>{if(typeof window>"u")return"";const ve=new URLSearchParams;return ve.set("next",p),`${window.location.origin}/login?${ve.toString()}`},[p]),Z=N.useCallback(async ve=>{ve.preventDefault(),U(null),D(!0);try{if(m==="signup"){const{data:Ue,error:le}=await u({email:_.trim(),password:y,name:M.trim()||void 0,redirectTo:Y});if(le){U(le.message||String(le));return}if(Ue?.requireEmailVerification){R(qt("login.verify_email_pending")),v("signin");return}t(p,{replace:!0});return}const{error:Ee}=await c({email:_.trim(),password:y});if(Ee){U(Ee.message||String(Ee));return}t(p,{replace:!0})}finally{D(!1)}},[m,_,y,M,u,c,t,p,Y]),z=N.useCallback(async ve=>{U(null),D(!0);try{const{error:Ee}=await f(ve,$);Ee&&U(Ee.message||String(Ee))}finally{D(!1)}},[f,$]),ie=N.useCallback(()=>{n(ve=>{const Ee=new URLSearchParams(ve);return Ee.delete("insforge_status"),Ee.delete("insforge_type"),Ee.delete("insforge_error"),Ee},{replace:!0}),R(null)},[n]);return i?B.jsxs("div",{className:"min-h-screen bg-oai-gray-950 text-oai-white font-oai antialiased dark flex flex-col",children:[B.jsx("header",{className:"border-b border-oai-gray-900 px-4 sm:px-6 h-16 flex items-center justify-between",children:B.jsx(ho,{to:"/",className:"text-sm font-medium text-oai-gray-400 hover:text-white no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500 rounded",children:qt("login.back_home")})}),B.jsx("main",{className:"flex-1 flex items-center justify-center px-4 py-12",children:B.jsxs("div",{className:"w-full max-w-md space-y-8",children:[B.jsxs("div",{className:"text-center",children:[B.jsx("h1",{className:"text-2xl font-semibold text-white tracking-tight",children:qt("login.title")}),B.jsx("p",{className:"mt-2 text-sm text-oai-gray-500",children:qt("login.subtitle")})]}),S?B.jsxs("div",{className:"rounded-lg border border-oai-gray-800 bg-oai-gray-900/50 px-4 py-3 text-sm text-oai-gray-300 flex justify-between gap-3 items-start",role:"status",children:[B.jsx("span",{children:S}),B.jsx("button",{type:"button",onClick:ie,className:"shrink-0 text-oai-gray-500 hover:text-white text-xs",children:qt("login.dismiss")})]}):null,I?B.jsx("p",{className:"text-sm text-red-400",role:"alert",children:qt("shared.error.prefix",{error:I})}):null,B.jsx("div",{className:"space-y-3",children:H?B.jsx("div",{className:"h-11 rounded-lg bg-oai-gray-900 animate-pulse","aria-hidden":!0}):B.jsxs(B.Fragment,{children:[W.map(ve=>B.jsx("button",{type:"button",disabled:T,onClick:()=>z(ve),className:Si("w-full h-11 rounded-lg border border-oai-gray-700 bg-oai-gray-900 text-sm font-medium text-white","hover:bg-oai-gray-800 transition-colors disabled:opacity-50"),children:qt("login.oauth.continue",{provider:R1(ve)})},ve)),V.map(ve=>B.jsx("button",{type:"button",disabled:T,onClick:()=>z(ve),className:Si("w-full h-11 rounded-lg border border-oai-gray-700 bg-oai-gray-900 text-sm font-medium text-white","hover:bg-oai-gray-800 transition-colors disabled:opacity-50"),children:qt("login.oauth.continue",{provider:R1(ve)})},ve))]})}),B.jsxs("div",{className:"relative",children:[B.jsx("div",{className:"absolute inset-0 flex items-center","aria-hidden":!0,children:B.jsx("span",{className:"w-full border-t border-oai-gray-800"})}),B.jsx("div",{className:"relative flex justify-center text-xs uppercase tracking-wider",children:B.jsx("span",{className:"bg-oai-gray-950 px-3 text-oai-gray-600",children:qt("login.divider")})})]}),B.jsxs("div",{className:"flex rounded-lg border border-oai-gray-800 p-0.5 bg-oai-gray-900/50",children:[B.jsx("button",{type:"button",className:Si("flex-1 py-2 text-sm font-medium rounded-md transition-colors",m==="signin"?"bg-oai-gray-800 text-white":"text-oai-gray-500 hover:text-oai-gray-300"),onClick:()=>{v("signin"),U(null)},children:qt("login.tab.sign_in")}),B.jsx("button",{type:"button",className:Si("flex-1 py-2 text-sm font-medium rounded-md transition-colors",m==="signup"?"bg-oai-gray-800 text-white":"text-oai-gray-500 hover:text-oai-gray-300"),onClick:()=>{v("signup"),U(null)},children:qt("login.tab.sign_up")})]}),B.jsxs("form",{onSubmit:Z,className:"space-y-4",children:[m==="signup"?B.jsxs("div",{children:[B.jsx("label",{htmlFor:"login-name",className:"block text-xs font-medium text-oai-gray-500 mb-1",children:qt("login.field.name")}),B.jsx("input",{id:"login-name",type:"text",autoComplete:"name",value:M,onChange:ve=>A(ve.target.value),className:"w-full h-11 rounded-lg border border-oai-gray-800 bg-oai-gray-900 px-3 text-sm text-white placeholder-oai-gray-600 focus:outline-none focus:ring-2 focus:ring-oai-brand-500",placeholder:qt("login.field.name_placeholder")})]}):null,B.jsxs("div",{children:[B.jsx("label",{htmlFor:"login-email",className:"block text-xs font-medium text-oai-gray-500 mb-1",children:qt("login.field.email")}),B.jsx("input",{id:"login-email",type:"email",autoComplete:"email",required:!0,value:_,onChange:ve=>w(ve.target.value),className:"w-full h-11 rounded-lg border border-oai-gray-800 bg-oai-gray-900 px-3 text-sm text-white placeholder-oai-gray-600 focus:outline-none focus:ring-2 focus:ring-oai-brand-500"})]}),B.jsxs("div",{children:[B.jsx("label",{htmlFor:"login-password",className:"block text-xs font-medium text-oai-gray-500 mb-1",children:qt("login.field.password")}),B.jsx("input",{id:"login-password",type:"password",autoComplete:m==="signup"?"new-password":"current-password",required:!0,minLength:m==="signup"?J:void 0,value:y,onChange:ve=>x(ve.target.value),className:"w-full h-11 rounded-lg border border-oai-gray-800 bg-oai-gray-900 px-3 text-sm text-white placeholder-oai-gray-600 focus:outline-none focus:ring-2 focus:ring-oai-brand-500"}),m==="signup"?B.jsx("p",{className:"mt-1 text-xs text-oai-gray-600",children:qt("login.password_hint",{min:String(J)})}):null]}),B.jsx("button",{type:"submit",disabled:T||r,className:"w-full h-11 rounded-lg bg-white text-oai-gray-950 text-sm font-semibold hover:bg-oai-gray-100 transition-colors disabled:opacity-50",children:qt(m==="signup"?"login.submit.sign_up":"login.submit.sign_in")})]})]})})]}):B.jsxs("div",{className:"min-h-screen bg-oai-gray-950 text-oai-white font-oai antialiased dark flex flex-col",children:[B.jsx("header",{className:"border-b border-oai-gray-900 px-4 sm:px-6 py-4",children:B.jsx(ho,{to:"/",className:"text-sm font-medium text-oai-gray-400 hover:text-white no-underline",children:qt("login.back_home")})}),B.jsx("main",{className:"flex-1 flex items-center justify-center px-4",children:B.jsx("p",{className:"text-oai-gray-400 text-center max-w-md",children:qt("login.cloud_only")})})]})}const G7=Gl.lazy(()=>ry(()=>import("./DashboardPage-CxkNLRKl.js"),__vite__mapDeps([0,1])).then(t=>({default:t.DashboardPage}))),W7=Gl.lazy(()=>ry(()=>import("./LeaderboardPage-Bw3kpiq5.js"),__vite__mapDeps([2,3,1])).then(t=>({default:t.LeaderboardPage}))),j7=Gl.lazy(()=>ry(()=>import("./LeaderboardProfilePage-ChBUNzy0.js"),__vite__mapDeps([4,3,1])).then(t=>({default:t.LeaderboardProfilePage})));function $7(){const t=vr(),e=$l();RV();const n=xr(),i=N.useMemo(()=>typeof window>"u"?!1:NC(window.location.search),[]),r=t?.pathname||"/",s=new URL(window.location.href),o=s.pathname.replace(/\/+$/,"")||"/",u=o.match(/^\/share\/([^/?#]+)$/i)?.[1]||null,f=s.searchParams.get("token")||null,h=u||f,p=o==="/share"||o==="/share.html"||o.startsWith("/share/"),m=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),v=r.replace(/\/+$/,"")||"/",_=v.match(/^\/leaderboard\/u\/([^/]+)$/i),w=_?_[1]:null,y=v==="/leaderboard"||!!w,x=!!(e.enabled&&e.signedIn),M=m||x,A=!1,T=Y5(),D=N.useMemo(()=>!e.enabled||!x?null:{getAccessToken:()=>e.getAccessToken()},[e,x]);let I=m||n||i?"dashboard":"landing";v==="/landing"&&(I="landing"),v==="/dashboard"&&(I="dashboard"),y&&(I="dashboard");const U=w?j7:v==="/leaderboard"?W7:G7,S=B.jsx("div",{className:"min-h-screen bg-[#050505]"});let R=null;return v==="/login"?R=B.jsx(H7,{}):I==="landing"?R=B.jsx(z7,{signInUrl:"/login",signUpUrl:"/login"}):R=B.jsx(N.Suspense,{fallback:S,children:B.jsx(U,{baseUrl:T,auth:D,signedIn:M,sessionSoftExpired:A,signOut:()=>e.enabled?e.signOut():Promise.resolve(),publicMode:p,publicToken:h,userId:w,signInUrl:"/login",signUpUrl:"/login"})}),B.jsx(UU,{children:B.jsx(zU,{children:B.jsxs(VU,{children:[R,B.jsx(X5,{}),B.jsx(UI,{}),B.jsx(XI,{})]})})})}const X7=EL([{path:"*",element:B.jsx($7,{})}]);f2.createRoot(document.getElementById("root")).render(B.jsx(Gl.StrictMode,{children:B.jsx(SI,{children:B.jsx(OL,{router:X7})})}));export{QI as $,RC as A,qt as B,B as C,ly as D,sU as E,xT as F,Rv as G,xU as H,IS as I,oh as J,LS as K,oy as L,Uy as M,r$ as N,bl as O,ay as P,FL as Q,k1 as R,dT as S,EU as T,US as U,Xl as V,mT as W,DS as X,fT as Y,qI as Z,eU as _,hi as a,YI as a0,s0 as a1,pT as a2,t$ as a3,JI as a4,n$ as a5,hT as a6,i$ as a7,VV as a8,ho as a9,a$ as aA,iT as aB,Lm as aC,x$ as aD,Si as aE,IV as aF,DV as aG,TV as aH,b$ as aI,mI as aJ,S$ as aK,FU as aL,NV as aa,Bz as ab,go as ac,pU as ad,Gl as ae,m$ as af,p$ as ag,ET as ah,$l as ai,QA as aj,NC as ak,io as al,w$ as am,o$ as an,l$ as ao,g$ as ap,tV as aq,c$ as ar,u$ as as,E$ as at,h$ as au,ry as av,v$ as aw,kV as ax,vr as ay,Fv as az,MT as b,Ra as c,ew as d,By as e,Tn as f,PC as g,xr as h,FF as i,e$ as j,xI as k,R$ as l,Fl as m,rV as n,sV as o,T$ as p,f$ as q,N as r,_$ as s,A$ as t,uy as u,C$ as v,d$ as w,kn as x,y$ as y,M$ as z};
|
|
4863
|
+
}`;function R7({raysOrigin:t="top-center",raysColor:e="#ffffff",raysSpeed:n=1,lightSpread:i=1,rayLength:r=2,pulsating:s=!1,fadeDistance:o=1,saturation:c=1,followMouse:u=!0,mouseInfluence:f=.1,noiseAmount:h=0,distortion:p=0,className:m=""}){const v=N.useRef(null),_=N.useRef(null),w=N.useRef(null),y=N.useRef({x:.5,y:.5}),x=N.useRef({x:.5,y:.5}),M=N.useRef(null),A=N.useRef(null),T=N.useRef(null),[D,I]=N.useState(!1),U=N.useRef(null);return N.useEffect(()=>{if(v.current)return U.current=new IntersectionObserver(S=>{I(S[0].isIntersecting)},{threshold:.1}),U.current.observe(v.current),()=>{U.current&&(U.current.disconnect(),U.current=null)}},[]),N.useEffect(()=>!D||!v.current?void 0:(T.current&&(T.current(),T.current=null),(async()=>{if(!v.current||(await new Promise(Q=>setTimeout(Q,10)),!v.current))return;const R=new Aj({dpr:Math.min(window.devicePixelRatio,2),alpha:!0});w.current=R;const H=R.gl;for(H.canvas.style.width="100%",H.canvas.style.height="100%";v.current.firstChild;)v.current.removeChild(v.current.firstChild);v.current.appendChild(H.canvas);const F={iTime:{value:0},iResolution:{value:[1,1]},rayPos:{value:[0,0]},rayDir:{value:[0,1]},raysColor:{value:M1(e)},raysSpeed:{value:n},lightSpread:{value:i},rayLength:{value:r},pulsating:{value:s?1:0},fadeDistance:{value:o},saturation:{value:c},mousePos:{value:[.5,.5]},mouseInfluence:{value:f},noiseAmount:{value:h},distortion:{value:p}};_.current=F;const W=new T7(H),X=new Sj(H,{vertex:A7,fragment:C7,uniforms:F}),V=new M7(H,{geometry:W,program:X});A.current=V;const q=()=>{if(!v.current||!R)return;R.dpr=Math.min(window.devicePixelRatio,2);const{clientWidth:Q,clientHeight:$}=v.current;R.setSize(Q,$);const Y=R.dpr,Z=Q*Y,z=$*Y;F.iResolution.value=[Z,z];const{anchor:ie,dir:ve}=T1(t,Z,z);F.rayPos.value=ie,F.rayDir.value=ve},J=Q=>{if(!(!w.current||!_.current||!A.current)){F.iTime.value=Q*.001,u&&f>0&&(x.current.x=x.current.x*.92+y.current.x*(1-.92),x.current.y=x.current.y*.92+y.current.y*(1-.92),F.mousePos.value=[x.current.x,x.current.y]);try{R.render({scene:V}),M.current=requestAnimationFrame(J)}catch($){console.warn("WebGL rendering error:",$)}}};window.addEventListener("resize",q),q(),M.current=requestAnimationFrame(J),T.current=()=>{if(M.current&&(cancelAnimationFrame(M.current),M.current=null),window.removeEventListener("resize",q),R)try{const Q=R.gl.getExtension("WEBGL_lose_context");Q&&Q.loseContext();const $=R.gl.canvas;$&&$.parentNode&&$.parentNode.removeChild($)}catch(Q){console.warn("Error during WebGL cleanup:",Q)}w.current=null,_.current=null,A.current=null}})(),()=>{T.current&&(T.current(),T.current=null)}),[D,t,e,n,i,r,s,o,c,u,f,h,p]),N.useEffect(()=>{if(!_.current||!v.current||!w.current)return;const S=_.current,R=w.current;S.raysColor.value=M1(e),S.raysSpeed.value=n,S.lightSpread.value=i,S.rayLength.value=r,S.pulsating.value=s?1:0,S.fadeDistance.value=o,S.saturation.value=c,S.mouseInfluence.value=f,S.noiseAmount.value=h,S.distortion.value=p;const{clientWidth:H,clientHeight:F}=v.current,W=R.dpr,{anchor:X,dir:V}=T1(t,H*W,F*W);S.rayPos.value=X,S.rayDir.value=V},[e,n,i,t,r,s,o,c,f,h,p]),N.useEffect(()=>{if(!u)return;const S=R=>{if(!v.current)return;const H=v.current.getBoundingClientRect();y.current={x:(R.clientX-H.left)/H.width,y:(R.clientY-H.top)/H.height}};return window.addEventListener("mousemove",S),()=>window.removeEventListener("mousemove",S)},[u]),B.jsx("div",{ref:v,className:`w-full h-full pointer-events-none z-[3] overflow-hidden relative ${m}`.trim()})}function P7({className:t}){return B.jsx("svg",{viewBox:"0 0 384 512",className:t,fill:"currentColor",children:B.jsx("path",{d:"M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"})})}function k7({className:t}){return B.jsx("svg",{viewBox:"0 0 16 16",className:t,fill:"currentColor",children:B.jsx("path",{d:"M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"})})}function L7({className:t}){return B.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t,children:[B.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),B.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}function D7({className:t}){return B.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t,children:B.jsx("polyline",{points:"20 6 9 17 4 12"})})}const A1="https://github.com/mm7894215/tokentracker",N7="https://github.com/mm7894215/tokentracker/releases/latest";function I7(t="default",e="md",n){const i="inline-flex items-center justify-center rounded font-medium transition-colors duration-200 ease-out focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500 focus-visible:ring-offset-2 dark:focus-visible:ring-offset-oai-gray-950",r={default:"bg-oai-gray-900 text-white hover:bg-oai-gray-800 active:bg-oai-gray-950 dark:bg-white dark:text-oai-gray-900 dark:hover:bg-oai-gray-100 dark:active:bg-oai-gray-200",ghost:"text-oai-gray-600 hover:text-oai-gray-900 hover:bg-oai-gray-100 active:bg-oai-gray-200 dark:text-oai-gray-400 dark:hover:text-white dark:hover:bg-oai-gray-800 dark:active:bg-oai-gray-700"},s={sm:"h-9 px-4 text-sm",md:"h-11 px-6 text-sm",lg:"h-12 px-8 text-base"};return Si(i,r[t],s[e],n)}function U7({copy:t,signInUrl:e,signUpUrl:n,installCommand:i,installCopied:r,onCopyInstallCommand:s}){const o=Bz(),[c,u]=N.useState(!1);N.useEffect(()=>{const w=()=>u(window.scrollY>10);return window.addEventListener("scroll",w,{passive:!0}),()=>window.removeEventListener("scroll",w)},[]);const f=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),{signedIn:h,loading:p}=$l(),m=N.useMemo(()=>({codex:t("landing.v2.models.agent.codex"),claude_code:t("landing.v2.models.agent.claude_code"),cursor:t("landing.v2.models.agent.cursor"),gemini:t("landing.v2.models.agent.gemini"),opencode:t("landing.v2.models.agent.opencode"),openclaw:t("landing.v2.models.agent.openclaw")}),[t]),v=N.useMemo(()=>[{id:"codex",icon:"/brand-logos/codex.svg"},{id:"claude_code",icon:"/brand-logos/claude-code.svg"},{id:"cursor",icon:"/brand-logos/cursor.svg"},{id:"gemini",icon:"/brand-logos/gemini.svg"},{id:"opencode",icon:"/brand-logos/opencode.svg"},{id:"openclaw",icon:"/brand-logos/openclaw.svg"}],[]),_=o?{duration:0}:void 0;return B.jsxs("div",{className:"relative min-h-screen bg-oai-gray-950 text-oai-white font-oai antialiased dark",children:[B.jsx("div",{className:"absolute inset-0 z-0 pointer-events-none",style:{height:"100vh"},children:B.jsx(R7,{raysOrigin:"top-center",raysColor:"#b8b3ff",raysSpeed:1,lightSpread:.5,rayLength:3,pulsating:!1,fadeDistance:1,saturation:1,followMouse:!0,mouseInfluence:.1,noiseAmount:0,distortion:0})}),B.jsx("header",{className:Si("sticky top-0 z-50 transition-all duration-300",c?"bg-oai-gray-950/80 backdrop-blur-md border-b border-oai-gray-900":"bg-transparent border-b border-transparent"),children:B.jsxs("div",{className:"mx-auto flex h-14 max-w-6xl items-center justify-between px-4 sm:px-6",children:[B.jsxs("div",{className:"flex items-center gap-5",children:[B.jsxs(ho,{to:n||"/",className:"flex items-center gap-3 no-underline outline-none rounded focus-visible:ring-2 focus-visible:ring-oai-brand-500 focus-visible:ring-offset-2 dark:ring-offset-oai-gray-950 transition-opacity hover:opacity-80",children:[B.jsx("img",{src:"/app-icon.png",alt:"",width:24,height:24,className:"rounded-md"}),B.jsx("span",{className:"text-sm font-semibold tracking-wide text-white uppercase",children:"Token Tracker"})]}),B.jsx("div",{className:"hidden sm:block",children:B.jsx(IV,{})})]}),f&&B.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-2 sm:gap-3",children:[B.jsxs(ho,{to:DV(),className:Si(I7(h||p?"default":"ghost","sm"),"no-underline px-5 rounded-full group",h||p?"shadow-sm ring-1 ring-white/10":"ring-1 ring-oai-gray-700"),children:[t("landing.v2.cta.primary"),B.jsx("span",{className:"ml-2 inline-block transition-transform duration-200 group-hover:translate-x-0.5",children:"→"})]}),B.jsx(VV,{})]})]})}),B.jsxs("main",{children:[B.jsx("section",{className:"relative py-16 sm:py-24 lg:py-32 overflow-hidden",children:B.jsxs("div",{className:"relative z-10 mx-auto max-w-7xl px-4 sm:px-6 flex flex-col items-center text-center gap-20 lg:gap-36",children:[B.jsxs(go.div,{initial:o?!1:{opacity:0,y:20},animate:{opacity:1,y:0},transition:_||{duration:.5},className:"w-full max-w-3xl relative z-20",children:[B.jsxs("h1",{className:"text-balance text-5xl font-semibold tracking-tight text-white sm:text-6xl lg:text-[4rem] lg:leading-[1.05]",children:[t("landing.v2.hero.title_line1"),B.jsx("br",{}),B.jsx("span",{className:"bg-gradient-to-b from-white via-oai-gray-200 to-oai-gray-500 bg-clip-text text-transparent font-bold tracking-tight",style:{WebkitTextStroke:"1px rgba(255, 255, 255, 0.15)"},children:t("landing.v2.hero.title_line2")})]}),B.jsx("p",{className:"mt-6 text-lg leading-relaxed text-oai-gray-400",children:t("landing.v2.hero.subtagline")}),B.jsxs("div",{className:"mt-8 w-full max-w-lg mx-auto",children:[B.jsxs(go.div,{whileHover:{scale:1.01,y:-1},transition:{type:"spring",stiffness:400,damping:25},className:"group relative inline-block w-full overflow-hidden rounded-2xl",style:{padding:"1.5px 0"},children:[B.jsx("div",{className:"absolute w-[300%] h-[50%] opacity-70 bottom-[-11px] right-[-250%] rounded-full animate-star-movement-bottom z-0",style:{background:"radial-gradient(circle, #fbdfff, transparent 10%)",animationDuration:"6s"}}),B.jsx("div",{className:"absolute w-[300%] h-[50%] opacity-70 top-[-10px] left-[-250%] rounded-full animate-star-movement-top z-0",style:{background:"radial-gradient(circle, #fbdfff, transparent 10%)",animationDuration:"6s"}}),B.jsxs("div",{className:"relative z-[1] flex items-center justify-between w-full bg-[#0a0a0a] border border-oai-gray-800 rounded-2xl p-1.5 pl-5 shadow-2xl shadow-black/50",children:[B.jsxs("div",{className:"flex items-center gap-3 overflow-hidden",children:[B.jsx("span",{className:"text-oai-gray-600 font-mono select-none","aria-hidden":"true",children:"›"}),B.jsx("code",{className:"font-mono text-sm text-oai-gray-200 overflow-x-auto whitespace-nowrap py-2 [scrollbar-width:none]",children:i?i.split(" ").map((w,y)=>B.jsxs("span",{className:w==="npx"||w==="tokentracker-cli"?"text-white font-medium":w==="--yes"?"text-oai-gray-500":"text-oai-brand-400",children:[w," "]},y)):null})]}),B.jsx("button",{type:"button",onClick:s,"aria-label":t(r?"landing.install.action.copied":"landing.install.action.copy"),className:"shrink-0 flex h-9 w-9 items-center justify-center text-oai-gray-200 bg-oai-gray-900 border border-oai-gray-700 rounded-lg hover:bg-oai-gray-800 hover:text-white active:scale-95 transition-all duration-200 shadow-sm",children:r?B.jsx(D7,{className:"h-4 w-4 text-green-400","aria-hidden":!0}):B.jsx(L7,{className:"h-4 w-4 opacity-70","aria-hidden":!0})})]})]}),B.jsxs("div",{className:"mt-8 flex flex-wrap items-center justify-center gap-x-6 gap-y-4",children:[B.jsxs("a",{href:N7,target:"_blank",rel:"noopener noreferrer",className:"group flex items-center gap-2 text-sm font-medium text-oai-gray-400 hover:text-white transition-colors",children:[B.jsx("div",{className:"flex items-center justify-center h-8 w-8 rounded-full bg-oai-gray-800 group-hover:bg-oai-gray-700 transition-colors",children:B.jsx(P7,{className:"h-4 w-4 text-oai-gray-400 group-hover:text-white"})}),t("landing.v2.install.mac_cta")]}),B.jsxs("a",{href:A1,target:"_blank",rel:"noopener noreferrer",className:"group flex items-center gap-2 text-sm font-medium text-oai-gray-400 hover:text-white transition-colors",children:[B.jsx("div",{className:"flex items-center justify-center h-8 w-8 rounded-full bg-oai-gray-800 group-hover:bg-oai-gray-700 transition-colors",children:B.jsx(k7,{className:"h-4 w-4 text-oai-gray-400 group-hover:text-white"})}),t("landing.cta.secondary")]})]}),B.jsx("span",{className:"sr-only","aria-live":"polite",children:r?t("landing.install.action.copied"):""})]})]}),B.jsx("div",{className:"relative group w-full",children:B.jsxs(go.div,{initial:o?!1:{opacity:0,y:24},animate:{opacity:1,y:0},transition:_||{duration:.6,delay:.1},className:"relative w-full",children:[B.jsx("div",{style:{position:"absolute",top:"-256px",left:0,right:0,height:"510px",zIndex:3,pointerEvents:"none"},children:B.jsx(nj,{color:"#8a7aff",wispDensity:2,flowSpeed:.28,verticalSizing:2.2,horizontalSizing:1.22,fogIntensity:4,fogScale:.1,wispSpeed:18,wispIntensity:10,flowStrength:.12,decay:1.1,falloffStart:1.1,fogFallSpeed:.5,horizontalBeamOffset:.22,verticalBeamOffset:0,style:{width:"100%",height:"100%"}})}),B.jsx("div",{className:"relative rounded-xl p-[1px] shadow-2xl bg-gradient-to-b from-[rgba(138,122,255,0.6)] via-[rgba(138,122,255,0.15)] to-[rgba(138,122,255,0.05)]",style:{position:"relative",zIndex:10,boxShadow:"0 20px 60px -10px rgba(138,122,255,0.15), 0 4px 20px rgba(0,0,0,0.4)"},children:B.jsxs("div",{className:"relative rounded-[11px] overflow-hidden bg-oai-gray-950",children:[B.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:"180px",background:"linear-gradient(to bottom, rgba(138,122,255,0.35) 0%, rgba(138,122,255,0.12) 40%, transparent 100%)",mixBlendMode:"screen",zIndex:20,pointerEvents:"none"}}),B.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:"1px",background:"linear-gradient(90deg, transparent 0%, rgba(138,122,255,0.9) 30%, rgba(180,168,255,1) 50%, rgba(138,122,255,0.9) 70%, transparent 100%)",zIndex:25,pointerEvents:"none"}}),B.jsx("img",{src:"/dashboard-dark.png",alt:t("landing.screenshot.alt"),className:"block h-auto w-full object-cover",style:{position:"relative",zIndex:10},loading:"eager",decoding:"async"})]})})]})})]})}),B.jsx("section",{className:"border-y border-oai-gray-900 bg-oai-gray-950/50 py-12 lg:py-16",children:B.jsx("div",{className:"mx-auto max-w-6xl px-4 sm:px-6",children:B.jsxs("div",{className:"flex flex-col md:flex-row md:items-center justify-between gap-8",children:[B.jsx("p",{className:"text-sm font-semibold uppercase tracking-wider text-oai-gray-400 shrink-0",children:t("landing.v2.models.title")}),B.jsx("div",{className:"flex flex-wrap items-center gap-x-8 gap-y-6 opacity-60 hover:opacity-100 transition-opacity duration-500 grayscale hover:grayscale-0",children:v.map(w=>B.jsxs("div",{className:"flex items-center gap-2.5 transition-transform hover:-translate-y-0.5 duration-300",children:[B.jsx("img",{src:w.icon,alt:"",width:20,height:20,className:"h-5 w-5 object-contain",loading:"lazy"}),B.jsx("span",{className:"text-sm font-medium text-oai-gray-300",children:m[w.id]})]},w.id))})]})})}),B.jsx("section",{className:"py-20 lg:py-32",children:B.jsxs("div",{className:"mx-auto max-w-6xl px-4 sm:px-6 grid grid-cols-1 md:grid-cols-2 gap-16 lg:gap-24 items-start",children:[B.jsxs("div",{className:"max-w-md",children:[B.jsx("p",{className:"text-xs font-bold tracking-widest uppercase text-oai-brand-500 mb-4",children:t("landing.v2.compare.kicker")}),B.jsx("h2",{className:"text-3xl font-semibold tracking-tight text-white sm:text-4xl text-balance",children:t("landing.v2.compare.title")}),B.jsx("p",{className:"mt-6 text-lg leading-relaxed text-oai-gray-400",children:t("landing.v2.compare.subtitle")}),B.jsx("p",{className:"mt-6 text-base leading-relaxed text-oai-gray-500",children:t("landing.v2.distill.body")})]}),B.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-10",children:[B.jsxs("div",{className:"space-y-4",children:[B.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wider text-white border-b border-oai-gray-800 pb-3",children:t("landing.v2.compare.with.title")}),B.jsxs("ul",{className:"space-y-3 text-sm text-oai-gray-400",children:[B.jsxs("li",{className:"flex gap-2",children:[B.jsx("span",{className:"text-oai-brand-500 shrink-0",children:"✦"}),B.jsx("span",{children:t("landing.v2.compare.with.p1")})]}),B.jsxs("li",{className:"flex gap-2",children:[B.jsx("span",{className:"text-oai-brand-500 shrink-0",children:"✦"}),B.jsx("span",{children:t("landing.v2.compare.with.p2")})]}),B.jsxs("li",{className:"flex gap-2",children:[B.jsx("span",{className:"text-oai-brand-500 shrink-0",children:"✦"}),B.jsx("span",{children:t("landing.v2.compare.with.p3")})]})]})]}),B.jsxs("div",{className:"space-y-4",children:[B.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wider text-oai-gray-500 border-b border-oai-gray-800/50 pb-3",children:t("landing.v2.compare.without.title")}),B.jsxs("ul",{className:"space-y-3 text-sm text-oai-gray-500",children:[B.jsxs("li",{className:"flex gap-2",children:[B.jsx("span",{className:"opacity-50 shrink-0",children:"✕"}),B.jsx("span",{children:t("landing.v2.compare.without.p1")})]}),B.jsxs("li",{className:"flex gap-2",children:[B.jsx("span",{className:"opacity-50 shrink-0",children:"✕"}),B.jsx("span",{children:t("landing.v2.compare.without.p2")})]}),B.jsxs("li",{className:"flex gap-2",children:[B.jsx("span",{className:"opacity-50 shrink-0",children:"✕"}),B.jsx("span",{children:t("landing.v2.compare.without.p3")})]})]})]})]})]})})]}),B.jsx("footer",{className:"border-t border-oai-gray-900 bg-oai-gray-950 py-12",children:B.jsxs("div",{className:"mx-auto flex max-w-6xl flex-col items-center justify-between gap-6 px-4 sm:px-6 text-sm text-oai-gray-400 sm:flex-row",children:[B.jsx("p",{children:t("landing.v2.footer.line")}),B.jsxs("div",{className:"flex items-center gap-6",children:[B.jsx("a",{href:A1,className:"font-medium text-oai-gray-400 hover:text-white transition-colors",target:"_blank",rel:"noopener noreferrer",children:t("landing.v2.nav.github")}),f&&B.jsxs(ho,{to:e,className:"font-medium text-oai-brand-500 hover:text-oai-brand-400 transition-colors",children:[t("landing.cta.primary")," →"]})]})]})})]})}function F7({prefersReducedMotion:t,screenshotMode:e}){return!(e||t)}function O7(){return N.useMemo(()=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches,[])}function B7(t=0,e=!0){const[n,i]=N.useState(()=>!e);return N.useEffect(()=>{if(!e){i(!0);return}let r=null,s=null;const o=()=>i(!0);return typeof window<"u"&&"requestIdleCallback"in window?(s=window.requestIdleCallback(o,{timeout:t||200}),()=>{typeof window.cancelIdleCallback=="function"&&s!=null&&window.cancelIdleCallback(s)}):(r=window.setTimeout(o,t),()=>{r!=null&&window.clearTimeout(r)})},[t,e]),n}function z7({signInUrl:t,signUpUrl:e}){const n=qt("landing.handle.special"),i=qt("landing.handle.default");qt("landing.nav.login"),qt("landing.nav.signup");const[r,s]=N.useState(i),o=O7(),c=N.useMemo(()=>typeof window>"u"?!1:NC(window.location.search),[]),u=F7({prefersReducedMotion:o,screenshotMode:c});B7(250,u);const f="tokentracker.dashboard.from_landing.v1";N.useEffect(()=>{if(!(typeof window>"u"))try{window.sessionStorage.setItem(f,"1")}catch{}},[f]),N.useMemo(()=>qt("landing.handle.placeholder",{handle:n}),[n]),N.useMemo(()=>{const _=qt(r===n?"landing.rank.singularity":"landing.rank.unranked");return qt("landing.rank.expectation",{rank:_})},[r,n]);const h=qt("landing.install.command"),[p,m]=N.useState(!1),v=async()=>{await kV(h)&&(m(!0),window.setTimeout(()=>m(!1),2e3))};return B.jsx(U7,{copy:qt,reduceMotion:o,signInUrl:t,signUpUrl:e,installCommand:h,installCopied:p,onCopyInstallCommand:v})}function V7(t){const e=new URLSearchParams(t).get("next");return typeof e!="string"||e.length===0||!e.startsWith("/")||e.startsWith("//")?"/dashboard":e}const C1={google:"Google",github:"GitHub",microsoft:"Microsoft",discord:"Discord",linkedin:"LinkedIn",facebook:"Facebook",instagram:"Instagram",tiktok:"TikTok",apple:"Apple",x:"X",spotify:"Spotify"};function R1(t){const e=String(t||"").trim();return C1[e]?C1[e]:e.replace(/-/g," ")}function H7(){const t=Fv(),[e,n]=kL(),{enabled:i,loading:r,signedIn:s,refreshUser:o,signInWithPassword:c,signUp:u,signInWithOAuth:f,getPublicAuthConfig:h}=$l(),p=N.useMemo(()=>V7(e.toString()),[e]),[m,v]=N.useState("signin"),[_,w]=N.useState(""),[y,x]=N.useState(""),[M,A]=N.useState(""),[T,D]=N.useState(!1),[I,U]=N.useState(null),[S,R]=N.useState(null),[H,F]=N.useState(!0),[W,X]=N.useState([]),[V,q]=N.useState([]),[J,Q]=N.useState(8);N.useEffect(()=>{const ve=e.get("insforge_status"),Ee=e.get("insforge_type"),Ue=e.get("insforge_error");ve==="success"&&Ee==="verify_email"?R(qt("login.verify_email_success")):ve==="error"&&Ee==="verify_email"&&Ue&&R(qt("shared.error.prefix",{error:Ue}))},[e]),N.useEffect(()=>{if(!i){F(!1);return}let ve=!0;return(async()=>{const{data:Ee,error:Ue}=await h();ve&&(Ue||!Ee?(X(["google","github"]),q([])):(X(Array.isArray(Ee.oAuthProviders)?Ee.oAuthProviders:[]),q(Array.isArray(Ee.customOAuthProviders)?Ee.customOAuthProviders:[]),typeof Ee.passwordMinLength=="number"&&Ee.passwordMinLength>0&&Q(Ee.passwordMinLength)),F(!1))})(),()=>{ve=!1}},[i,h]),N.useEffect(()=>{!i||r||s&&t(p,{replace:!0})},[i,r,s,t,p]),N.useEffect(()=>{i&&o()},[i,o]);const $=N.useMemo(()=>typeof window>"u"?"":`${window.location.origin}${p}`,[p]),Y=N.useMemo(()=>{if(typeof window>"u")return"";const ve=new URLSearchParams;return ve.set("next",p),`${window.location.origin}/login?${ve.toString()}`},[p]),Z=N.useCallback(async ve=>{ve.preventDefault(),U(null),D(!0);try{if(m==="signup"){const{data:Ue,error:le}=await u({email:_.trim(),password:y,name:M.trim()||void 0,redirectTo:Y});if(le){U(le.message||String(le));return}if(Ue?.requireEmailVerification){R(qt("login.verify_email_pending")),v("signin");return}t(p,{replace:!0});return}const{error:Ee}=await c({email:_.trim(),password:y});if(Ee){U(Ee.message||String(Ee));return}t(p,{replace:!0})}finally{D(!1)}},[m,_,y,M,u,c,t,p,Y]),z=N.useCallback(async ve=>{U(null),D(!0);try{const{error:Ee}=await f(ve,$);Ee&&U(Ee.message||String(Ee))}finally{D(!1)}},[f,$]),ie=N.useCallback(()=>{n(ve=>{const Ee=new URLSearchParams(ve);return Ee.delete("insforge_status"),Ee.delete("insforge_type"),Ee.delete("insforge_error"),Ee},{replace:!0}),R(null)},[n]);return i?B.jsxs("div",{className:"min-h-screen bg-oai-gray-950 text-oai-white font-oai antialiased dark flex flex-col",children:[B.jsx("header",{className:"border-b border-oai-gray-900 px-4 sm:px-6 h-16 flex items-center justify-between",children:B.jsx(ho,{to:"/",className:"text-sm font-medium text-oai-gray-400 hover:text-white no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500 rounded",children:qt("login.back_home")})}),B.jsx("main",{className:"flex-1 flex items-center justify-center px-4 py-12",children:B.jsxs("div",{className:"w-full max-w-md space-y-8",children:[B.jsxs("div",{className:"text-center",children:[B.jsx("h1",{className:"text-2xl font-semibold text-white tracking-tight",children:qt("login.title")}),B.jsx("p",{className:"mt-2 text-sm text-oai-gray-500",children:qt("login.subtitle")})]}),S?B.jsxs("div",{className:"rounded-lg border border-oai-gray-800 bg-oai-gray-900/50 px-4 py-3 text-sm text-oai-gray-300 flex justify-between gap-3 items-start",role:"status",children:[B.jsx("span",{children:S}),B.jsx("button",{type:"button",onClick:ie,className:"shrink-0 text-oai-gray-500 hover:text-white text-xs",children:qt("login.dismiss")})]}):null,I?B.jsx("p",{className:"text-sm text-red-400",role:"alert",children:qt("shared.error.prefix",{error:I})}):null,B.jsx("div",{className:"space-y-3",children:H?B.jsx("div",{className:"h-11 rounded-lg bg-oai-gray-900 animate-pulse","aria-hidden":!0}):B.jsxs(B.Fragment,{children:[W.map(ve=>B.jsx("button",{type:"button",disabled:T,onClick:()=>z(ve),className:Si("w-full h-11 rounded-lg border border-oai-gray-700 bg-oai-gray-900 text-sm font-medium text-white","hover:bg-oai-gray-800 transition-colors disabled:opacity-50"),children:qt("login.oauth.continue",{provider:R1(ve)})},ve)),V.map(ve=>B.jsx("button",{type:"button",disabled:T,onClick:()=>z(ve),className:Si("w-full h-11 rounded-lg border border-oai-gray-700 bg-oai-gray-900 text-sm font-medium text-white","hover:bg-oai-gray-800 transition-colors disabled:opacity-50"),children:qt("login.oauth.continue",{provider:R1(ve)})},ve))]})}),B.jsxs("div",{className:"relative",children:[B.jsx("div",{className:"absolute inset-0 flex items-center","aria-hidden":!0,children:B.jsx("span",{className:"w-full border-t border-oai-gray-800"})}),B.jsx("div",{className:"relative flex justify-center text-xs uppercase tracking-wider",children:B.jsx("span",{className:"bg-oai-gray-950 px-3 text-oai-gray-600",children:qt("login.divider")})})]}),B.jsxs("div",{className:"flex rounded-lg border border-oai-gray-800 p-0.5 bg-oai-gray-900/50",children:[B.jsx("button",{type:"button",className:Si("flex-1 py-2 text-sm font-medium rounded-md transition-colors",m==="signin"?"bg-oai-gray-800 text-white":"text-oai-gray-500 hover:text-oai-gray-300"),onClick:()=>{v("signin"),U(null)},children:qt("login.tab.sign_in")}),B.jsx("button",{type:"button",className:Si("flex-1 py-2 text-sm font-medium rounded-md transition-colors",m==="signup"?"bg-oai-gray-800 text-white":"text-oai-gray-500 hover:text-oai-gray-300"),onClick:()=>{v("signup"),U(null)},children:qt("login.tab.sign_up")})]}),B.jsxs("form",{onSubmit:Z,className:"space-y-4",children:[m==="signup"?B.jsxs("div",{children:[B.jsx("label",{htmlFor:"login-name",className:"block text-xs font-medium text-oai-gray-500 mb-1",children:qt("login.field.name")}),B.jsx("input",{id:"login-name",type:"text",autoComplete:"name",value:M,onChange:ve=>A(ve.target.value),className:"w-full h-11 rounded-lg border border-oai-gray-800 bg-oai-gray-900 px-3 text-sm text-white placeholder-oai-gray-600 focus:outline-none focus:ring-2 focus:ring-oai-brand-500",placeholder:qt("login.field.name_placeholder")})]}):null,B.jsxs("div",{children:[B.jsx("label",{htmlFor:"login-email",className:"block text-xs font-medium text-oai-gray-500 mb-1",children:qt("login.field.email")}),B.jsx("input",{id:"login-email",type:"email",autoComplete:"email",required:!0,value:_,onChange:ve=>w(ve.target.value),className:"w-full h-11 rounded-lg border border-oai-gray-800 bg-oai-gray-900 px-3 text-sm text-white placeholder-oai-gray-600 focus:outline-none focus:ring-2 focus:ring-oai-brand-500"})]}),B.jsxs("div",{children:[B.jsx("label",{htmlFor:"login-password",className:"block text-xs font-medium text-oai-gray-500 mb-1",children:qt("login.field.password")}),B.jsx("input",{id:"login-password",type:"password",autoComplete:m==="signup"?"new-password":"current-password",required:!0,minLength:m==="signup"?J:void 0,value:y,onChange:ve=>x(ve.target.value),className:"w-full h-11 rounded-lg border border-oai-gray-800 bg-oai-gray-900 px-3 text-sm text-white placeholder-oai-gray-600 focus:outline-none focus:ring-2 focus:ring-oai-brand-500"}),m==="signup"?B.jsx("p",{className:"mt-1 text-xs text-oai-gray-600",children:qt("login.password_hint",{min:String(J)})}):null]}),B.jsx("button",{type:"submit",disabled:T||r,className:"w-full h-11 rounded-lg bg-white text-oai-gray-950 text-sm font-semibold hover:bg-oai-gray-100 transition-colors disabled:opacity-50",children:qt(m==="signup"?"login.submit.sign_up":"login.submit.sign_in")})]})]})})]}):B.jsxs("div",{className:"min-h-screen bg-oai-gray-950 text-oai-white font-oai antialiased dark flex flex-col",children:[B.jsx("header",{className:"border-b border-oai-gray-900 px-4 sm:px-6 py-4",children:B.jsx(ho,{to:"/",className:"text-sm font-medium text-oai-gray-400 hover:text-white no-underline",children:qt("login.back_home")})}),B.jsx("main",{className:"flex-1 flex items-center justify-center px-4",children:B.jsx("p",{className:"text-oai-gray-400 text-center max-w-md",children:qt("login.cloud_only")})})]})}const G7=Gl.lazy(()=>ry(()=>import("./DashboardPage-DS1P0Mo_.js"),__vite__mapDeps([0,1])).then(t=>({default:t.DashboardPage}))),W7=Gl.lazy(()=>ry(()=>import("./LeaderboardPage-DrN-vtKo.js"),__vite__mapDeps([2,3,1])).then(t=>({default:t.LeaderboardPage}))),j7=Gl.lazy(()=>ry(()=>import("./LeaderboardProfilePage-CBYJri8H.js"),__vite__mapDeps([4,3,1])).then(t=>({default:t.LeaderboardProfilePage})));function $7(){const t=vr(),e=$l();RV();const n=xr(),i=N.useMemo(()=>typeof window>"u"?!1:NC(window.location.search),[]),r=t?.pathname||"/",s=new URL(window.location.href),o=s.pathname.replace(/\/+$/,"")||"/",u=o.match(/^\/share\/([^/?#]+)$/i)?.[1]||null,f=s.searchParams.get("token")||null,h=u||f,p=o==="/share"||o==="/share.html"||o.startsWith("/share/"),m=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),v=r.replace(/\/+$/,"")||"/",_=v.match(/^\/leaderboard\/u\/([^/]+)$/i),w=_?_[1]:null,y=v==="/leaderboard"||!!w,x=!!(e.enabled&&e.signedIn),M=m||x,A=!1,T=Y5(),D=N.useMemo(()=>!e.enabled||!x?null:{getAccessToken:()=>e.getAccessToken()},[e,x]);let I=m||n||i?"dashboard":"landing";v==="/landing"&&(I="landing"),v==="/dashboard"&&(I="dashboard"),y&&(I="dashboard");const U=w?j7:v==="/leaderboard"?W7:G7,S=B.jsx("div",{className:"min-h-screen bg-[#050505]"});let R=null;return v==="/login"?R=B.jsx(H7,{}):I==="landing"?R=B.jsx(z7,{signInUrl:"/login",signUpUrl:"/login"}):R=B.jsx(N.Suspense,{fallback:S,children:B.jsx(U,{baseUrl:T,auth:D,signedIn:M,sessionSoftExpired:A,signOut:()=>e.enabled?e.signOut():Promise.resolve(),publicMode:p,publicToken:h,userId:w,signInUrl:"/login",signUpUrl:"/login"})}),B.jsx(UU,{children:B.jsx(zU,{children:B.jsxs(VU,{children:[R,B.jsx(X5,{}),B.jsx(UI,{}),B.jsx(XI,{})]})})})}const X7=EL([{path:"*",element:B.jsx($7,{})}]);f2.createRoot(document.getElementById("root")).render(B.jsx(Gl.StrictMode,{children:B.jsx(SI,{children:B.jsx(OL,{router:X7})})}));export{QI as $,RC as A,qt as B,B as C,ly as D,sU as E,xT as F,Rv as G,xU as H,IS as I,oh as J,LS as K,oy as L,Uy as M,r$ as N,bl as O,ay as P,FL as Q,k1 as R,dT as S,EU as T,US as U,Xl as V,mT as W,DS as X,fT as Y,qI as Z,eU as _,hi as a,YI as a0,s0 as a1,pT as a2,t$ as a3,JI as a4,n$ as a5,hT as a6,i$ as a7,VV as a8,ho as a9,a$ as aA,iT as aB,Lm as aC,x$ as aD,Si as aE,IV as aF,DV as aG,TV as aH,b$ as aI,mI as aJ,S$ as aK,FU as aL,NV as aa,Bz as ab,go as ac,pU as ad,Gl as ae,m$ as af,p$ as ag,ET as ah,$l as ai,QA as aj,NC as ak,io as al,w$ as am,o$ as an,l$ as ao,g$ as ap,tV as aq,c$ as ar,u$ as as,E$ as at,h$ as au,ry as av,v$ as aw,kV as ax,vr as ay,Fv as az,MT as b,Ra as c,ew as d,By as e,Tn as f,PC as g,xr as h,FF as i,e$ as j,xI as k,R$ as l,Fl as m,rV as n,sV as o,T$ as p,f$ as q,N as r,_$ as s,A$ as t,uy as u,C$ as v,d$ as w,kn as x,y$ as y,M$ as z};
|
|
@@ -107,8 +107,8 @@
|
|
|
107
107
|
]
|
|
108
108
|
}
|
|
109
109
|
</script>
|
|
110
|
-
<script type="module" crossorigin src="/assets/main-
|
|
111
|
-
<link rel="stylesheet" crossorigin href="/assets/main-
|
|
110
|
+
<script type="module" crossorigin src="/assets/main-DvYXwZBy.js"></script>
|
|
111
|
+
<link rel="stylesheet" crossorigin href="/assets/main-CJMr9zAk.css">
|
|
112
112
|
</head>
|
|
113
113
|
<body>
|
|
114
114
|
<main class="aeo-seed-content" aria-label="Token Tracker AI-readable summary">
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
"description": "Shareable Token Tracker dashboard snapshot."
|
|
52
52
|
}
|
|
53
53
|
</script>
|
|
54
|
-
<script type="module" crossorigin src="/assets/main-
|
|
55
|
-
<link rel="stylesheet" crossorigin href="/assets/main-
|
|
54
|
+
<script type="module" crossorigin src="/assets/main-DvYXwZBy.js"></script>
|
|
55
|
+
<link rel="stylesheet" crossorigin href="/assets/main-CJMr9zAk.css">
|
|
56
56
|
</head>
|
|
57
57
|
<body>
|
|
58
58
|
<main class="aeo-seed-content" aria-label="Token Tracker share page summary">
|