tokentracker-cli 0.2.27 → 0.3.0

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.
@@ -1 +0,0 @@
1
- import{a9 as Ne,aa as we,b as ye,r as f,c as ve,m as e,ab as j,l as t,ac as _e,d as H,a5 as y}from"./main-oIbJf8pA.js";import{M as Pe,B as Se}from"./MatrixShell-BtjokX5f.js";import{h as Le,k as Ae,A as Me,s as Ee}from"./AsciiBox-BZ2xYyXa.js";import"./MatrixRain-D7Pm88QF.js";function A(s,{min:r,max:l,fallback:c}){const d=Number(s);if(!Number.isFinite(d))return c;const x=Math.floor(d);return x<r?r:x>l?l:x}function ze(s,r){const l=A(r,{min:0,max:1e6,fallback:0}),c=A(s,{min:1,max:Math.max(1,l||1),fallback:1});if(l<=1)return[1];const d=new Set([1,l,c-2,c-1,c,c+1,c+2]),x=Array.from(d).filter(i=>Number.isInteger(i)&&i>=1&&i<=l).sort((i,o)=>i-o),u=[];let b=null;for(const i of x)b!=null&&i-b>1&&u.push(null),u.push(i),b=i;return u}function Ce({page:s,totalPages:r}){const l=typeof r=="number"&&Number.isFinite(r)&&r>=0,c=l?A(r,{min:0,max:1e6,fallback:0}):null,d=A(s,{min:1,max:l?Math.max(1,c||1):1e6,fallback:1}),x=d>1,u=l?d<c:!0;return{canPrev:x,canNext:u,safePage:d,safeTotal:c}}function Te({entries:s,me:r,meLabel:l,limit:c}){const d=A(c,{min:1,max:1e3,fallback:20}),x=Array.isArray(s)?s.slice(0,d):[],u=r&&typeof r.rank=="number"?r.rank:null,b=x.some(v=>!!v?.is_me);if(!u||b)return x;const i={rank:u,is_me:!0,display_name:l,avatar_url:null,gpt_tokens:r?.gpt_tokens??"0",claude_tokens:r?.claude_tokens??"0",total_tokens:r?.total_tokens??"0"},o=3,R=4,m=x.filter(v=>!v?.is_me).filter((v,I)=>I!==o).slice();return m.splice(Math.min(R,m.length),0,i),m.slice(0,d)}const J=20;function W(s){if(typeof s!="string")return null;const r=s.trim().toLowerCase();return r==="week"||r==="month"||r==="total"?r:null}function Q(s){if(!s)return t("shared.error.prefix",{error:t("leaderboard.error.unknown")});const r=s?.message||String(s),l=String(r||"").trim()||t("leaderboard.error.unknown");return t("shared.error.prefix",{error:l})}function ie(s){return typeof s!="string"?"":s.trim()}function $e(s){const r=ie(s);return r?r.toLowerCase()==="anonymous":!0}function Be(s,r=""){if(typeof s!="string")return null;const l=s.trim().toLowerCase();if(!l)return null;const c=new URLSearchParams(typeof r=="string"?r:""),d=W(c.get("period")),x=d?`?period=${d}`:"";return`/share/pv1-${l}${x}`}function Ge({baseUrl:s,auth:r,signedIn:l,sessionSoftExpired:c,signOut:d,signInUrl:x="/sign-in"}){const u=Ne(),b=we(),i=ye(),o=l&&!c,R=f.useMemo(()=>o&&(typeof r=="function"||typeof r=="string"||r&&typeof r=="object")?r:null,[r,o]),N=o?R:null,m=o&&ve(N);let v=null;o&&m&&(v=e.jsx(Se,{baseUrl:s,accessToken:N}));const I=e.jsxs("div",{className:"ml-auto flex w-max min-w-max items-center gap-2 sm:gap-3 md:gap-4",children:[e.jsx(j,{size:"header",onClick:()=>b("/"),children:t("leaderboard.nav.back")}),e.jsx(_e,{isFixed:!1,size:"header",className:"hidden sm:inline-flex"}),l?e.jsx(j,{onClick:d,size:"header",children:t("dashboard.sign_out")}):e.jsx(j,{as:"a",size:"header",href:x,children:t("shared.button.sign_in")})]}),X=t("shared.placeholder.short"),[V,M]=f.useState(1),[oe,ce]=f.useState(0),[h,$]=f.useState(()=>({loading:!1,error:null,data:null})),[E,_]=f.useState(()=>({loading:!1,saving:!1,error:null,leaderboardPublic:null})),g=f.useMemo(()=>{const a=new URLSearchParams(u?.search||"");return W(a.get("period"))||"week"},[u?.search]),de=u?.search||"",D=a=>{const n=W(a);if(!n||n===g)return;const p=new URLSearchParams(u?.search||"");p.set("period",n),M(1),b(`${u?.pathname||"/leaderboard"}?${p.toString()}`,{replace:!0})};f.useEffect(()=>{M(1)},[g]),f.useEffect(()=>{i||o&&(m||($({loading:!1,error:null,data:null}),_({loading:!1,saving:!1,error:null,leaderboardPublic:null})))},[o,m,i]);const Y=f.useMemo(()=>(A(V,{min:1,max:1e6,fallback:1})-1)*J,[V]);f.useEffect(()=>{if(!s||i||!o||!m)return;let a=!0;return _(n=>({...n,loading:!0,error:null})),(async()=>{const n=await H(N),p=await Le({baseUrl:s,accessToken:n});a&&_(w=>({...w,loading:!1,error:null,leaderboardPublic:!!p?.enabled}))})().catch(n=>{a&&_(p=>({...p,loading:!1,error:Q(n),leaderboardPublic:null}))}),()=>{a=!1}},[o,m,s,N,i]),f.useEffect(()=>{if(!s||!i&&o&&!m)return;let a=!0;return $(n=>({...n,loading:!0,error:null})),(async()=>{const n=o?await H(N):null,p=await Ae({baseUrl:s,accessToken:n,period:g,limit:J,offset:Y});a&&$({loading:!1,error:null,data:p})})().catch(n=>{a&&$({loading:!1,error:Q(n),data:null})}),()=>{a=!1}},[s,N,o,m,Y,oe,i,g]);const k=h.data,B=k?.total_pages??null,P=k?.page??V,xe=f.useMemo(()=>ze(P,B),[P,B]),Z=k?.from||null,U=k?.to||null,ee=k?.generated_at||null,ae=k?.me||null,F=t("leaderboard.me_label"),ue=t("leaderboard.anon_label"),G=t("leaderboard.public_profile.label"),me=t("leaderboard.public_profile.status.enabled"),pe=t("leaderboard.public_profile.status.disabled"),re=t("leaderboard.period.week"),te=t("leaderboard.period.month"),se=t("leaderboard.period.total"),ne=g==="month"?te:g==="total"?se:re,K=f.useMemo(()=>{const a=Array.isArray(k?.entries)?k.entries:[];return P!==1?a:Te({entries:a,me:ae,meLabel:F,limit:J})},[P,k?.entries,ae,F]),S=!!E.leaderboardPublic,le=E.loading||E.saving,fe=S?me:pe,be=async()=>{if(s&&!i&&!(!o||!m)&&!le){_(a=>({...a,saving:!0,error:null}));try{const a=await H(N),p=await Ee({baseUrl:s,accessToken:a,enabled:!S});_(w=>({...w,saving:!1,error:null,leaderboardPublic:!!p?.enabled})),ce(w=>w+1)}catch(a){_(n=>({...n,saving:!1,error:Q(a)}))}}},{canPrev:he,canNext:ge}=Ce({page:P,totalPages:B}),ke=Array.isArray(K)&&K.length!==0;let z=null;h.loading?z=e.jsx("div",{className:"px-4",children:e.jsx("p",{className:"text-[10px] uppercase text-matrix-dim mt-0",children:t("leaderboard.loading")})}):h.error?z=e.jsx("div",{className:"px-4",children:e.jsx("p",{className:"text-[10px] uppercase text-matrix-dim mt-0",children:h.error})}):ke?z=e.jsx("div",{className:"w-full overflow-x-auto",children:e.jsxs("table",{className:"w-full table-fixed text-left text-[12px]",children:[e.jsxs("colgroup",{children:[e.jsx("col",{className:"w-[72px]"}),e.jsx("col",{}),e.jsx("col",{className:"w-[112px]"}),e.jsx("col",{className:"w-[112px]"}),e.jsx("col",{className:"w-[112px]"}),e.jsx("col",{className:"w-[112px]"})]}),e.jsx("thead",{className:"uppercase text-matrix-dim tracking-[0.25em] text-[10px]",children:e.jsxs("tr",{className:"border-b border-matrix-ghost",children:[e.jsx("th",{className:"px-4 py-3",children:t("leaderboard.column.rank")}),e.jsx("th",{className:"px-4 py-3",children:t("leaderboard.column.user")}),e.jsx("th",{className:"px-4 py-3",children:t("leaderboard.column.total")}),e.jsx("th",{className:"px-4 py-3",children:t("leaderboard.column.gpt")}),e.jsx("th",{className:"px-4 py-3",children:t("leaderboard.column.claude")}),e.jsx("th",{className:"px-4 py-3",children:t("leaderboard.column.other")})]})}),e.jsx("tbody",{children:K.map(a=>{const n=!!a?.is_me,p=typeof a?.user_id=="string"?a.user_id:null,w=ie(a?.display_name),je=$e(w)?ue:w,C=n?F:je,T=!!p&&!n&&!!a?.is_public?Be(p,de):null,L=!!T;return n?e.jsx("tr",{className:"border-b border-matrix-ghost/40",children:e.jsx("td",{colSpan:6,className:"px-0 py-2",children:e.jsx("div",{className:"rounded-none ring-1 ring-inset ring-matrix-primary/40 bg-matrix-panelStrong/70 backdrop-blur-panel shadow-matrix-glow",children:e.jsxs("div",{className:"grid grid-cols-[72px_minmax(0,1fr)_112px_112px_112px_112px] items-center text-[12px]",children:[e.jsx("div",{className:"px-4 py-3 font-black text-matrix-ink-bright glow-text",children:a?.rank??X}),e.jsx("div",{className:"px-4 py-3 font-black truncate text-matrix-ink-bright glow-text",children:C}),e.jsx("div",{className:"px-4 py-3 font-bold",children:y(a?.total_tokens)}),e.jsx("div",{className:"px-4 py-3 font-bold",children:y(a?.gpt_tokens)}),e.jsx("div",{className:"px-4 py-3 font-bold",children:y(a?.claude_tokens)}),e.jsx("div",{className:"px-4 py-3 font-bold",children:y(a?.other_tokens)})]})})})},`row-${a?.rank}-${C}`):e.jsxs("tr",{className:`border-b border-matrix-ghost/40 bg-transparent ${L?"cursor-pointer hover:bg-matrix-panel/40":""}`,onClick:L?()=>{if(typeof window<"u"){window.location.assign(T);return}b(T)}:void 0,onKeyDown:L?q=>{if(q.key==="Enter"||q.key===" "){if(q.preventDefault(),typeof window<"u"){window.location.assign(T);return}b(T)}}:void 0,role:L?"link":void 0,tabIndex:L?0:void 0,"aria-label":L?`Open public dashboard for ${C}`:void 0,children:[e.jsx("td",{className:"px-4 py-3 font-bold",children:a?.rank??X}),e.jsx("td",{className:"px-4 py-3 font-bold truncate max-w-[240px]",children:C}),e.jsx("td",{className:"px-4 py-3",children:y(a?.total_tokens)}),e.jsx("td",{className:"px-4 py-3",children:y(a?.gpt_tokens)}),e.jsx("td",{className:"px-4 py-3",children:y(a?.claude_tokens)}),e.jsx("td",{className:"px-4 py-3",children:y(a?.other_tokens)})]},`row-${a?.rank}-${C}`)})})]})}):z=e.jsx("div",{className:"px-4",children:e.jsx("p",{className:"text-[10px] uppercase text-matrix-dim mt-0",children:t("leaderboard.empty")})});let O=null;return typeof B=="number"?O=xe.map((a,n)=>a==null?e.jsx("span",{className:"text-[10px] uppercase tracking-[0.25em] text-matrix-dim px-2",children:t("leaderboard.pagination.ellipsis")},`ellipsis-${n}`):e.jsx(j,{size:"sm",primary:a===P,onClick:()=>M(a),disabled:h.loading,children:String(a)},`page-${a}`)):O=e.jsx("span",{className:"text-[10px] uppercase tracking-[0.25em] text-matrix-dim",children:t("leaderboard.pagination.page_unknown",{page:String(P)})}),e.jsx(Pe,{headerStatus:v,headerRight:I,children:e.jsxs("div",{className:"max-w-6xl mx-auto flex flex-col gap-6",children:[e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex flex-wrap items-baseline justify-between gap-3",children:[e.jsx("h1",{className:"text-xl md:text-2xl font-black tracking-tight glow-text",children:t("leaderboard.title")}),e.jsx("div",{className:"text-[10px] uppercase tracking-[0.25em] text-matrix-muted",children:g==="total"?t("leaderboard.range.total"):Z&&U?t("leaderboard.range",{period:ne,from:Z,to:U}):t("leaderboard.range_loading",{period:ne})})]}),ee?e.jsx("div",{className:"text-[10px] uppercase text-matrix-dim",children:t("leaderboard.generated_at",{ts:ee})}):null]}),e.jsxs(Me,{title:t("leaderboard.table.title"),subtitle:t("leaderboard.table.subtitle"),className:"",bodyClassName:"px-0",children:[e.jsxs("div",{className:"px-4 pb-3 flex flex-wrap items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(j,{size:"sm",primary:g==="week",onClick:()=>D("week"),disabled:h.loading,children:re}),e.jsx(j,{size:"sm",primary:g==="month",onClick:()=>D("month"),disabled:h.loading,children:te}),e.jsx(j,{size:"sm",primary:g==="total",onClick:()=>D("total"),disabled:h.loading,children:se})]}),o&&m?e.jsxs("div",{className:"flex items-center justify-end gap-3",children:[E.error?e.jsx("span",{className:"text-[10px] uppercase tracking-[0.25em] text-matrix-dim",children:E.error}):null,e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"text-[10px] uppercase tracking-[0.25em] text-matrix-dim",children:G}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("button",{type:"button",role:"switch","aria-checked":S,"aria-label":G,title:G,onClick:be,disabled:le,className:`relative inline-flex h-6 w-11 items-center border px-[3px] transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-matrix-primary/70 disabled:opacity-60 disabled:cursor-not-allowed ${S?"border-matrix-primary bg-matrix-primary/10":"border-matrix-ghost/60 bg-matrix-panelStrong/40"}`,children:e.jsx("span",{"aria-hidden":"true",className:`inline-block h-3.5 w-3.5 bg-matrix-primary transition-transform ${S?"translate-x-[18px] shadow-matrix-glow":"translate-x-0"}`})}),e.jsx("span",{className:`text-[10px] uppercase tracking-[0.2em] ${S?"text-matrix-primary/80":"text-matrix-dim"}`,children:fe})]})]})]}):null]}),z,e.jsxs("div",{className:"px-4 py-4 flex flex-wrap items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(j,{size:"sm",onClick:()=>M(a=>Math.max(1,a-1)),disabled:!he||h.loading,children:t("leaderboard.pagination.prev")}),e.jsx(j,{size:"sm",onClick:()=>M(a=>a+1),disabled:!ge||h.loading,children:t("leaderboard.pagination.next")})]}),e.jsx("div",{className:"flex flex-wrap items-center gap-2",children:O})]})]})]})})}export{Ge as LeaderboardPage};
@@ -1 +0,0 @@
1
- import{a9 as F,b as G,r as h,c as $,m as e,ab as k,l as r,ac as q,d as H,a5 as f}from"./main-oIbJf8pA.js";import{M as J,B as K}from"./MatrixShell-BtjokX5f.js";import{l as O,A as Q}from"./AsciiBox-BZ2xYyXa.js";import"./MatrixRain-D7Pm88QF.js";function V(t){if(!t)return r("shared.error.prefix",{error:r("leaderboard.error.unknown")});const a=t?.message||String(t),c=String(a||"").trim()||r("leaderboard.error.unknown");return r("shared.error.prefix",{error:c})}function W(t){return typeof t!="string"?"":t.trim()}function X(t){if(typeof t!="string")return null;const a=t.trim().toLowerCase();return a==="week"||a==="month"||a==="total"?a:null}function ee({baseUrl:t,auth:a,signedIn:c,sessionSoftExpired:A,signOut:L,signInUrl:T="/sign-in",userId:x}){const b=F(),y=G(),s=c&&!A,z=h.useMemo(()=>s&&(typeof a=="function"||typeof a=="string"||a&&typeof a=="object")?a:null,[a,s]),m=s?z:null,g=s&&$(m),o=h.useMemo(()=>{const i=new URLSearchParams(b?.search||"");return X(i.get("period"))||"week"},[b?.search]),P=b?.search||"";let w=null;s&&g&&(w=e.jsx(K,{baseUrl:t,accessToken:m}));const E=e.jsxs("div",{className:"ml-auto flex w-max min-w-max items-center gap-2 sm:gap-3 md:gap-4",children:[e.jsx(k,{as:"a",size:"header",href:`/leaderboard${P}`,children:r("leaderboard.profile.nav.back")}),e.jsx(q,{isFixed:!1,size:"header",className:"hidden sm:inline-flex"}),c?e.jsx(k,{onClick:L,size:"header",children:r("dashboard.sign_out")}):e.jsx(k,{as:"a",size:"header",href:T,children:r("shared.button.sign_in")})]}),[p,j]=h.useState(()=>({loading:!1,error:null,data:null}));h.useEffect(()=>{if(!t||!x||!y&&(!s||!g))return;let i=!0;return j(d=>({...d,loading:!0,error:null})),(async()=>{const d=await H(m),D=await O({baseUrl:t,accessToken:d,userId:x,period:o});i&&j({loading:!1,error:null,data:D})})().catch(d=>{i&&j({loading:!1,error:V(d),data:null})}),()=>{i=!1}},[s,g,t,m,y,o,x]);const u=p.data,v=u?.from||null,S=u?.to||null,_=u?.generated_at||null,l=u?.entry||null,M=W(l?.display_name)||r("leaderboard.anon_label"),R=r("leaderboard.period.week"),B=r("leaderboard.period.month"),C=r("leaderboard.period.total"),N=o==="month"?B:o==="total"?C:R;let n=null;return x?p.loading?n=e.jsx("div",{className:"px-4",children:e.jsx("p",{className:"text-[10px] uppercase text-matrix-dim mt-0",children:r("leaderboard.loading")})}):p.error?n=e.jsx("div",{className:"px-4",children:e.jsx("p",{className:"text-[10px] uppercase text-matrix-dim mt-0",children:p.error})}):l?n=e.jsx("div",{className:"w-full overflow-x-auto",children:e.jsxs("table",{className:"w-full text-left text-[12px]",children:[e.jsx("thead",{className:"uppercase text-matrix-dim tracking-[0.25em] text-[10px]",children:e.jsxs("tr",{className:"border-b border-matrix-ghost",children:[e.jsx("th",{className:"px-4 py-3",children:r("leaderboard.column.rank")}),e.jsx("th",{className:"px-4 py-3",children:r("leaderboard.column.total")}),e.jsx("th",{className:"px-4 py-3",children:r("leaderboard.column.gpt")}),e.jsx("th",{className:"px-4 py-3",children:r("leaderboard.column.claude")}),e.jsx("th",{className:"px-4 py-3",children:r("leaderboard.column.other")})]})}),e.jsx("tbody",{children:e.jsxs("tr",{className:"border-b border-matrix-ghost/40 bg-transparent",children:[e.jsx("td",{className:"px-4 py-3 font-bold",children:l?.rank??r("shared.placeholder.short")}),e.jsx("td",{className:"px-4 py-3",children:f(l?.total_tokens)}),e.jsx("td",{className:"px-4 py-3",children:f(l?.gpt_tokens)}),e.jsx("td",{className:"px-4 py-3",children:f(l?.claude_tokens)}),e.jsx("td",{className:"px-4 py-3",children:f(l?.other_tokens)})]})})]})}):n=e.jsx("div",{className:"px-4",children:e.jsx("p",{className:"text-[10px] uppercase text-matrix-dim mt-0",children:r("leaderboard.empty")})}):n=e.jsx("div",{className:"px-4",children:e.jsx("p",{className:"text-[10px] uppercase text-matrix-dim mt-0",children:r("leaderboard.empty")})}),e.jsx(J,{headerStatus:w,headerRight:E,children:e.jsxs("div",{className:"max-w-4xl mx-auto flex flex-col gap-6",children:[e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex flex-wrap items-baseline justify-between gap-3",children:[e.jsx("h1",{className:"text-xl md:text-2xl font-black tracking-tight glow-text",children:M}),e.jsx("div",{className:"text-[10px] uppercase tracking-[0.25em] text-matrix-muted",children:o==="total"?r("leaderboard.range.total"):v&&S?r("leaderboard.range",{period:N,from:v,to:S}):r("leaderboard.range_loading",{period:N})})]}),_?e.jsx("div",{className:"text-[10px] uppercase text-matrix-dim",children:r("leaderboard.generated_at",{ts:_})}):null]}),e.jsx(Q,{title:r("leaderboard.profile.card.title"),subtitle:r("leaderboard.profile.card.subtitle",{period:N}),className:"",bodyClassName:"px-0",children:n})]})})}export{ee as LeaderboardProfilePage};
@@ -1 +0,0 @@
1
- import{r as c,d as z,Z as H,m as s,l as S}from"./main-oIbJf8pA.js";import{p as V}from"./AsciiBox-BZ2xYyXa.js";import{MatrixRain as W}from"./MatrixRain-D7Pm88QF.js";const C=12e4,B=3e5,$=1e4;function X({intervalMs:e=C,maxIntervalMs:t=B,failureRetryMs:r=$,backoffStepMs:n}={}){const a=M(e,C),l=M(t,B),x=Math.max(a,l),i=Math.max(1e3,Math.round(a*.5)),o=M(n,i),d=M(r,$),g=Math.min(a,Math.max(1e3,d));return{baseIntervalMs:a,maxIntervalMs:x,backoffStepMs:o,failureRetryMs:g}}function F(e={}){const t=X(e);let r=0,n=t.baseIntervalMs;return{onSuccess:()=>{r+=1;const o=Math.max(0,r-1);return n=T(t.baseIntervalMs+t.backoffStepMs*o,t.baseIntervalMs,t.maxIntervalMs),n},onFailure:()=>(r=0,n=T(t.failureRetryMs,1e3,t.maxIntervalMs),n),onError:()=>(r=0,n=T(t.baseIntervalMs,t.baseIntervalMs,t.maxIntervalMs),n),reset:()=>(r=0,n=t.baseIntervalMs,n),getNextDelay(){return n},getConfig(){return{...t}}}}function M(e,t){const r=Number(e);return!Number.isFinite(r)||r<=0?t:Math.floor(r)}function T(e,t,r){const n=M(e,t);return n<t?t:n>r?r:n}function Y({baseUrl:e,accessToken:t,intervalMs:r=C,timeoutMs:n=2500,retryDelayMs:a=300,failureThreshold:l=2}={}){const[x,i]=c.useState("unknown"),[o,d]=c.useState(!1),[g,w]=c.useState(null),[_,y]=c.useState(null),[P,O]=c.useState(null),[U,v]=c.useState(null),A=c.useRef(!1),k=c.useRef(0),j=c.useRef(F({intervalMs:r})),p=c.useRef(j.current.getNextDelay()),m=c.useRef(null),L=Number.isFinite(Number(l))?Math.max(1,Math.floor(Number(l))):2;c.useEffect(()=>{j.current=F({intervalMs:r}),p.current=j.current.getNextDelay(),m.current&&m.current(p.current)},[r]);const N=c.useCallback(f=>{const u=j.current;return u&&(f==="success"?p.current=u.onSuccess():f==="failure"?p.current=u.onFailure():p.current=u.onError()),p.current},[]),E=c.useCallback(async({reschedule:f=!0}={})=>{let u="error";if(!e){i("error"),d(!1),w(null),y(new Date().toISOString()),v("Missing baseUrl"),N(u),f&&m.current&&m.current(p.current);return}try{new URL(e)}catch{i("error"),d(!1),w(null),y(new Date().toISOString()),v("Invalid baseUrl"),N(u),f&&m.current&&m.current(p.current);return}const R=await z(t);if(!R){i("unknown"),d(!1),w(null),y(new Date().toISOString()),v(null),N(u),f&&m.current&&m.current(p.current);return}if(A.current){f&&m.current&&m.current(p.current);return}A.current=!0,d(!0),v(null);try{const b=await Z({baseUrl:e,accessToken:R,timeoutMs:n,retryDelayMs:a});if(!b.ok)throw b.error;u="success",k.current=0,w(b.status??200);const h=new Date().toISOString();y(h),i("active"),v(null),O(h)}catch(b){const h=b?.status??b?.statusCode;if(w(Number.isFinite(h)?h:null),y(new Date().toISOString()),h===401||h===403)k.current=0,i("error"),v("Unauthorized");else if(typeof h=="number"&&h<500)k.current=0,i("error"),v(`HTTP ${h}`);else{u="failure",k.current+=1;const I=k.current>=L?"down":"error";i(I),v(b?.name==="AbortError"?"Timeout":b?.message||"Fetch failed")}}finally{A.current=!1,d(!1),N(u),f&&m.current&&m.current(p.current)}},[t,N,e,a,L,n]);return c.useEffect(()=>{let f=null;const u=()=>{f!=null&&window.clearTimeout(f),f=null},R=I=>{u(),!(typeof document<"u"&&document.hidden)&&(f=window.setTimeout(()=>{E({reschedule:!0})},I))};m.current=R;const b=()=>{typeof document<"u"&&document.hidden||f||E({reschedule:!0})},h=()=>{typeof document<"u"&&document.hidden?u():b()};return b(),document?.addEventListener?.("visibilitychange",h),()=>{u(),m.current=null,document?.removeEventListener?.("visibilitychange",h)}},[E]),{status:x,checking:o,httpStatus:g,lastCheckedAt:_,lastOkAt:P,error:U,refresh:E}}async function Z({baseUrl:e,accessToken:t,timeoutMs:r,retryDelayMs:n}){const a=await D({baseUrl:e,accessToken:t,timeoutMs:r});return a.ok||!q(a.error)?a:(n>0&&await G(n),D({baseUrl:e,accessToken:t,timeoutMs:r}))}async function D({baseUrl:e,accessToken:t,timeoutMs:r}){const n=new AbortController,a=window.setTimeout(()=>n.abort(),r);try{return{ok:!0,status:(await V({baseUrl:e,accessToken:t,signal:n.signal}))?.status??200}}catch(l){return{ok:!1,error:l}}finally{window.clearTimeout(a)}}function q(e){return e?e.retryable||(e?.status??e?.statusCode)>=500?!0:e?.name==="AbortError":!1}function G(e){return!e||e<=0?Promise.resolve():new Promise(t=>setTimeout(t,e))}function J({status:e="STABLE",title:t,className:r=""}){const[n,a]=c.useState("0"),l=c.useMemo(()=>typeof window>"u"?!1:H(window.location.search),[]);c.useEffect(()=>{let o;if(e==="STABLE"){if(l){a("1");return}o=window.setInterval(()=>{a(Math.random()>.5?"1":"0")},150)}return()=>window.clearInterval(o)},[l,e]);const x={STABLE:{color:"text-matrix-primary",indicator:n},UNSTABLE:{color:"text-yellow-400",indicator:"!"},LOST:{color:"text-red-500/90",indicator:"×"}},i=x[e]||x.STABLE;return s.jsx("div",{title:t,className:["matrix-header-chip matrix-header-chip--bare font-matrix transition-all duration-700",i.color,r].filter(Boolean).join(" "),children:s.jsxs("div",{className:"flex items-center",children:[s.jsx("span",{className:"text-caption text-matrix-dim mr-1",children:"["}),s.jsx("span",{className:"text-caption w-[10px] inline-block text-center font-black",children:i.indicator}),s.jsx("span",{className:"text-caption text-matrix-dim ml-1",children:"]"})]})})}function ne({baseUrl:e,accessToken:t,statusOverride:r,titleOverride:n}){const{status:a,checking:l,httpStatus:x,lastCheckedAt:i,lastOkAt:o,error:d}=Y({baseUrl:e,accessToken:t}),g=c.useMemo(()=>K(e),[e]),w=c.useMemo(()=>r||(a==="active"?"STABLE":a==="down"?"LOST":"UNSTABLE"),[a,r]),_=c.useMemo(()=>n||[`${S("backend.meta.status_label")}=${a}`,g?`${S("backend.meta.host_label")}=${g}`:null,i?`${S("backend.meta.checked_label")}=${i}`:null,o?`${S("backend.meta.ok_label")}=${o}`:null,x!=null?`${S("backend.meta.http_label")}=${x}`:null,d?`${S("backend.meta.error_label")}=${d}`:null].filter(Boolean).join(" • "),[d,g,x,i,o,a,n]);return s.jsx(J,{status:w,title:_,className:l?"opacity-80":""})}function K(e){try{return new URL(e).host}catch{return null}}function re({headerRight:e,headerStatus:t,children:r,footerLeft:n,footerRight:a,contentClassName:l="",rootClassName:x="",hideHeader:i=!1}){const o=S("shell.header.title"),d=String(o||"").trim().split(/\s+/),g=d[0]||o,w=d.slice(1).join(" ");return s.jsxs("div",{className:`min-h-screen bg-matrix-dark text-matrix-primary font-matrix p-4 md:p-8 flex flex-col leading-tight text-body selection:bg-matrix-primary selection:text-black overflow-hidden ${x}`,children:[s.jsx(W,{}),s.jsx("div",{className:"matrix-scanline-overlay pointer-events-none fixed inset-0 z-50 bg-[linear-gradient(rgba(18,16,16,0)_50%,rgba(0,0,0,0.1)_50%)] bg-[length:100%_4px]"}),s.jsxs("div",{className:`relative z-10 flex flex-col min-h-screen matrix-shell-content ${l}`,children:[i?null:s.jsx("header",{className:"border-b border-matrix-primary/20 pb-3 mb-6 shrink-0",children:s.jsxs("div",{className:"flex flex-col gap-3 md:flex-row md:items-center md:justify-between",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-3 md:gap-6",children:[s.jsx("img",{src:"/icon.svg",alt:"","aria-hidden":"true",className:"w-7 h-7 sm:w-8 sm:h-8 md:w-9 md:h-9 rounded-sm bg-black border border-matrix-primary/30 shadow-[0_0_12px_rgba(0,255,65,0.35)] shrink-0"}),s.jsxs("div",{className:"flex min-w-0 items-baseline gap-2 md:gap-3 uppercase select-none",children:[s.jsx("span",{className:"text-matrix-primary font-black text-xl sm:text-2xl md:text-3xl glow-text leading-none truncate",style:{letterSpacing:"-1px"},children:g}),w?s.jsx("span",{className:"hidden sm:inline text-matrix-primary font-extralight text-xs md:text-base truncate",style:{letterSpacing:"2px"},children:w}):null]}),s.jsx("div",{className:"hidden sm:flex items-center space-x-4 text-caption text-matrix-muted uppercase font-bold shrink-0",children:t||s.jsxs("span",{className:"flex items-center",children:[s.jsx("span",{className:"w-1.5 h-1.5 bg-matrix-primary rounded-full mr-2 animate-pulse"}),S("shell.header.link_active")]})})]}),e?s.jsx("div",{className:"w-full md:w-auto md:ml-4",children:s.jsx("div",{className:"w-full md:w-auto overflow-x-auto no-scrollbar",children:e})}):null]})}),s.jsx("main",{className:"flex-1",children:r}),s.jsxs("footer",{className:"mt-6 pt-3 border-t border-matrix-ghost flex justify-between text-caption uppercase font-bold tracking-[0.3em] text-matrix-dim shrink-0",children:[s.jsx("div",{className:"flex space-x-10 items-center",children:n||s.jsx("span",{children:S("shell.footer.help")})}),s.jsx("div",{className:"flex items-center space-x-3",children:a||s.jsx("span",{className:"font-bold",children:S("shell.footer.neural_index")})})]})]})]})}export{ne as B,re as M};
@@ -1 +0,0 @@
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}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.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-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-4{right:16px}.right-6{right:24px}.top-0{top:0}.top-4{top:16px}.top-6{top:24px}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[101\]{z-index:101}.z-\[200\]{z-index:200}.z-\[70\]{z-index:70}.-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-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.ml-1{margin-left:4px}.ml-auto{margin-left:auto}.mr-1{margin-right:4px}.mr-2{margin-right:8px}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:4px}.mt-1\.5{margin-top:.375rem}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.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-12{height:48px}.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-44{height:11rem}.h-5{height:20px}.h-6{height:24px}.h-7{height:1.75rem}.h-8{height:32px}.h-\[1px\]{height:1px}.h-\[2px\]{height:2px}.h-auto{height:auto}.h-full{height:100%}.max-h-\[320px\]{max-height:320px}.max-h-\[45vh\]{max-height:45vh}.min-h-0{min-height:0}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:40px}.w-11{width:2.75rem}.w-12{width:48px}.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-6{width:24px}.w-7{width:1.75rem}.w-8{width:32px}.w-\[10px\]{width:10px}.w-\[112px\]{width:112px}.w-\[72px\]{width:72px}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-0{min-width:0}.min-w-\[140px\]{min-width:140px}.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-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[240px\]{max-width:240px}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.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-0{--tw-translate-x: 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-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-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}.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))}.grid-cols-\[72px_minmax\(0\,1fr\)_112px_112px_112px_112px\]{grid-template-columns:72px minmax(0,1fr) 112px 112px 112px 112px}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:4px}.gap-1\.5{gap:.375rem}.gap-2{gap:8px}.gap-2\.5{gap:.625rem}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.gap-x-4{-moz-column-gap:16px;column-gap:16px}.gap-y-2{row-gap:8px}.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-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-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))}.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}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.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-none{border-radius:0}.rounded-sm{border-radius:4px}.rounded-xl{border-radius:16px}.border{border-width:1px}.border-2{border-width:2px}.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\]\/15{border-color:#00ff4126}.border-\[\#00FF41\]\/20{border-color:#00ff4133}.border-\[\#00FF41\]\/25{border-color:#00ff4140}.border-\[\#00FF41\]\/30{border-color:#00ff414d}.border-\[\#00FF41\]\/35{border-color:#00ff4159}.border-\[\#00FF41\]\/40{border-color:#00ff4166}.border-\[\#00FF41\]\/45{border-color:#00ff4173}.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-red-500\/20{border-color:#ef444433}.border-transparent{border-color:transparent}.border-yellow-500\/50{border-color:#eab30880}.bg-\[\#00FF41\]{--tw-bg-opacity: 1;background-color:rgb(0 255 65 / var(--tw-bg-opacity, 1))}.bg-\[\#00FF41\]\/5{background-color:#00ff410d}.bg-\[\#00FF41\]\/60{background-color:#00ff4199}.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\/20{background-color:#0003}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-black\/80{background-color:#000c}.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-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-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-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\(0\,255\,65\,0\.03\)_1px\,transparent_1px\)\,linear-gradient\(90deg\,rgba\(0\,255\,65\,0\.03\)_1px\,transparent_1px\)\]{background-image:linear-gradient(rgba(0,255,65,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,65,.03) 1px,transparent 1px)}.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\(18\,16\,16\,0\)_50\%\,rgba\(0\,0\,0\,0\.12\)_50\%\)\]{background-image:linear-gradient(#12101000 50%,#0000001f 50%)}.bg-\[linear-gradient\(rgba\(18\,16\,16\,0\)_50\%\,rgba\(0\,0\,0\,0\.15\)_50\%\)\]{background-image:linear-gradient(#12101000 50%,#00000026 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-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-\[\#00FF41\]\/10{--tw-gradient-from: rgb(0 255 65 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 255 65 / 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)}.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)}.via-transparent{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-oai-gray-100{--tw-gradient-to: #f5f5f5 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.bg-\[length\:100\%_3px\]{background-size:100% 3px}.bg-\[length\:100\%_4px\]{background-size:100% 4px}.bg-\[length\:200\%_100\%\]{background-size:200% 100%}.bg-\[size\:50px_50px\]{background-size:50px 50px}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.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}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.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-\[3px\]{padding-left:3px;padding-right:3px}.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-2{padding-top:8px;padding-bottom:8px}.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}.pb-6{padding-bottom:24px}.pl-1{padding-left:4px}.pl-2{padding-left:8px}.pl-3{padding-left:12px}.pr-2{padding-right:8px}.pt-2{padding-top:8px}.pt-3{padding-top:12px}.pt-6{padding-top:24px}.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-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-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.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\.15em\]{letter-spacing:.15em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.25em\]{letter-spacing:.25em}.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\]\/40{color:#00ff4166}.text-\[\#00FF41\]\/50{color:#00ff4180}.text-\[\#00FF41\]\/60{color:#00ff4199}.text-\[\#00FF41\]\/70{color:#00ff41b3}.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-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-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-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-900{--tw-text-opacity: 1;color:rgb(23 23 23 / 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\/90{color:#ef4444e6}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.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}.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))}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.mix-blend-overlay{mix-blend-mode:overlay}.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-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)}.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-inset{--tw-ring-inset: inset}.ring-white{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 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)}.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}: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)}.selection\:bg-\[\#00FF41\] *::-moz-selection{--tw-bg-opacity: 1;background-color:rgb(0 255 65 / var(--tw-bg-opacity, 1))}.selection\:bg-\[\#00FF41\] *::selection{--tw-bg-opacity: 1;background-color:rgb(0 255 65 / var(--tw-bg-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))}.selection\:bg-\[\#00FF41\]::-moz-selection{--tw-bg-opacity: 1;background-color:rgb(0 255 65 / var(--tw-bg-opacity, 1))}.selection\:bg-\[\#00FF41\]::selection{--tw-bg-opacity: 1;background-color:rgb(0 255 65 / var(--tw-bg-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\: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-300:hover{--tw-border-opacity: 1;border-color:rgb(212 212 212 / 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-\[\#00FF41\]\/10:hover{background-color:#00ff411a}.hover\:bg-oai-brand:hover{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / 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-\[\#00FF41\]:hover{--tw-text-opacity: 1;color:rgb(0 255 65 / var(--tw-text-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-dark:hover{--tw-text-opacity: 1;color:rgb(4 120 87 / 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-80:hover{opacity:.8}.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\/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\: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)}.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-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\: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-300:disabled{--tw-text-opacity: 1;color:rgb(212 212 212 / var(--tw-text-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}.disabled\:opacity-60:disabled{opacity:.6}.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\:text-oai-black{--tw-text-opacity: 1;color:rgb(10 10 10 / 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\: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\:bg-oai-brand-900\/30:is(.dark *){background-color:#064e3b4d}.dark\:bg-oai-gray-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(82 82 82 / var(--tw-bg-opacity, 1))}.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-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1))}.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\: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-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-600:is(.dark *){--tw-text-opacity: 1;color:rgb(82 82 82 / 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\: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\:ring-oai-gray-900:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(23 23 23 / var(--tw-ring-opacity, 1))}.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\:bg-oai-brand-950\/30:hover:is(.dark *){background-color:#022c224d}.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\:text-oai-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(250 250 250 / 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\:active\:bg-oai-brand-900\/50:active:is(.dark *){background-color:#064e3b80}.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-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))}.dark\:disabled\:text-oai-gray-600:disabled:is(.dark *){--tw-text-opacity: 1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.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\:right-6{right:24px}.sm\:top-6{top:24px}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:h-8{height:32px}.sm\:w-8{width:32px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:gap-3{gap:12px}.sm\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(48px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(48px * var(--tw-space-y-reverse))}.sm\:p-6{padding:24px}.sm\:py-12{padding-top:48px;padding-bottom:48px}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@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-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:gap-3{gap:12px}.md\:gap-4{gap:16px}.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-8xl{font-size:6rem;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))}}