@clawos-dev/clawd 0.2.651 → 0.2.653

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.
@@ -98,7 +98,7 @@ Error generating stack: `+l.message+`
98
98
  *
99
99
  * This source code is licensed under the ISC license.
100
100
  * See the LICENSE file in the root directory of this source tree.
101
- */const ov=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],lv=ra("x",ov);function Eu(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function oa(...e){return t=>{let n=!1;const r=e.map(o=>{const l=Eu(o,t);return!n&&typeof l=="function"&&(n=!0),l});if(n)return()=>{for(let o=0;o<r.length;o++){const l=r[o];typeof l=="function"?l():Eu(e[o],null)}}}}function un(...e){return g.useCallback(oa(...e),e)}var iv=Symbol.for("react.lazy"),tl=ds[" use ".trim().toString()];function sv(e){return typeof e=="object"&&e!==null&&"then"in e}function ff(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===iv&&"_payload"in e&&sv(e._payload)}function av(e){const t=cv(e),n=g.forwardRef((r,o)=>{let{children:l,...i}=r;ff(l)&&typeof tl=="function"&&(l=tl(l._payload));const s=g.Children.toArray(l),a=s.find(fv);if(a){const u=a.props.children,m=s.map(h=>h===a?g.Children.count(u)>1?g.Children.only(null):g.isValidElement(u)?u.props.children:null:h);return c.jsx(t,{...i,ref:o,children:g.isValidElement(u)?g.cloneElement(u,void 0,m):null})}return c.jsx(t,{...i,ref:o,children:l})});return n.displayName=`${e}.Slot`,n}var uv=av("Slot");function cv(e){const t=g.forwardRef((n,r)=>{let{children:o,...l}=n;if(ff(o)&&typeof tl=="function"&&(o=tl(o._payload)),g.isValidElement(o)){const i=mv(o),s=pv(l,o.props);return o.type!==g.Fragment&&(s.ref=r?oa(r,i):i),g.cloneElement(o,s)}return g.Children.count(o)>1?g.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var dv=Symbol("radix.slottable");function fv(e){return g.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===dv}function pv(e,t){const n={...t};for(const r in t){const o=e[r],l=t[r];/^on[A-Z]/.test(r)?o&&l?n[r]=(...s)=>{const a=l(...s);return o(...s),a}:o&&(n[r]=o):r==="style"?n[r]={...o,...l}:r==="className"&&(n[r]=[o,l].filter(Boolean).join(" "))}return{...e,...n}}function mv(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function pf(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=pf(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function mf(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=pf(e))&&(r&&(r+=" "),r+=t);return r}const Cu=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Nu=mf,hv=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return Nu(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:o,defaultVariants:l}=t,i=Object.keys(o).map(u=>{const m=n==null?void 0:n[u],h=l==null?void 0:l[u];if(m===null)return null;const p=Cu(m)||Cu(h);return o[u][p]}),s=n&&Object.entries(n).reduce((u,m)=>{let[h,p]=m;return p===void 0||(u[h]=p),u},{}),a=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((u,m)=>{let{class:h,className:p,...w}=m;return Object.entries(w).every(x=>{let[y,j]=x;return Array.isArray(j)?j.includes({...l,...s}[y]):{...l,...s}[y]===j})?[...u,h,p]:u},[]);return Nu(e,i,a,n==null?void 0:n.class,n==null?void 0:n.className)},vv=(e,t)=>{const n=new Array(e.length+t.length);for(let r=0;r<e.length;r++)n[r]=e[r];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},gv=(e,t)=>({classGroupId:e,validator:t}),hf=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),nl="-",ju=[],yv="arbitrary..",xv=e=>{const t=kv(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return wv(i);const s=i.split(nl),a=s[0]===""&&s.length>1?1:0;return vf(s,a,t)},getConflictingClassGroupIds:(i,s)=>{if(s){const a=r[i],u=n[i];return a?u?vv(u,a):a:u||ju}return n[i]||ju}}},vf=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const o=e[t],l=n.nextPart.get(o);if(l){const u=vf(e,t+1,l);if(u)return u}const i=n.validators;if(i===null)return;const s=t===0?e.join(nl):e.slice(t).join(nl),a=i.length;for(let u=0;u<a;u++){const m=i[u];if(m.validator(s))return m.classGroupId}},wv=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?yv+r:void 0})(),kv=e=>{const{theme:t,classGroups:n}=e;return Sv(n,t)},Sv=(e,t)=>{const n=hf();for(const r in e){const o=e[r];la(o,n,r,t)}return n},la=(e,t,n,r)=>{const o=e.length;for(let l=0;l<o;l++){const i=e[l];Ev(i,t,n,r)}},Ev=(e,t,n,r)=>{if(typeof e=="string"){Cv(e,t,n);return}if(typeof e=="function"){Nv(e,t,n,r);return}jv(e,t,n,r)},Cv=(e,t,n)=>{const r=e===""?t:gf(t,e);r.classGroupId=n},Nv=(e,t,n,r)=>{if(Pv(e)){la(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(gv(n,e))},jv=(e,t,n,r)=>{const o=Object.entries(e),l=o.length;for(let i=0;i<l;i++){const[s,a]=o[i];la(a,gf(t,s),n,r)}},gf=(e,t)=>{let n=e;const r=t.split(nl),o=r.length;for(let l=0;l<o;l++){const i=r[l];let s=n.nextPart.get(i);s||(s=hf(),n.nextPart.set(i,s)),n=s}return n},Pv=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,_v=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null);const o=(l,i)=>{n[l]=i,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(l){let i=n[l];if(i!==void 0)return i;if((i=r[l])!==void 0)return o(l,i),i},set(l,i){l in n?n[l]=i:o(l,i)}}},rs="!",Pu=":",Rv=[],_u=(e,t,n,r,o)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:o}),Tv=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=o=>{const l=[];let i=0,s=0,a=0,u;const m=o.length;for(let y=0;y<m;y++){const j=o[y];if(i===0&&s===0){if(j===Pu){l.push(o.slice(a,y)),a=y+1;continue}if(j==="/"){u=y;continue}}j==="["?i++:j==="]"?i--:j==="("?s++:j===")"&&s--}const h=l.length===0?o:o.slice(a);let p=h,w=!1;h.endsWith(rs)?(p=h.slice(0,-1),w=!0):h.startsWith(rs)&&(p=h.slice(1),w=!0);const x=u&&u>a?u-a:void 0;return _u(l,w,p,x)};if(t){const o=t+Pu,l=r;r=i=>i.startsWith(o)?l(i.slice(o.length)):_u(Rv,!1,i,void 0,!0)}if(n){const o=r;r=l=>n({className:l,parseClassName:o})}return r},Lv=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{const r=[];let o=[];for(let l=0;l<n.length;l++){const i=n[l],s=i[0]==="[",a=t.has(i);s||a?(o.length>0&&(o.sort(),r.push(...o),o=[]),r.push(i)):o.push(i)}return o.length>0&&(o.sort(),r.push(...o)),r}},Iv=e=>({cache:_v(e.cacheSize),parseClassName:Tv(e),sortModifiers:Lv(e),...xv(e)}),Ov=/\s+/,zv=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o,sortModifiers:l}=t,i=[],s=e.trim().split(Ov);let a="";for(let u=s.length-1;u>=0;u-=1){const m=s[u],{isExternal:h,modifiers:p,hasImportantModifier:w,baseClassName:x,maybePostfixModifierPosition:y}=n(m);if(h){a=m+(a.length>0?" "+a:a);continue}let j=!!y,f=r(j?x.substring(0,y):x);if(!f){if(!j){a=m+(a.length>0?" "+a:a);continue}if(f=r(x),!f){a=m+(a.length>0?" "+a:a);continue}j=!1}const d=p.length===0?"":p.length===1?p[0]:l(p).join(":"),v=w?d+rs:d,k=v+f;if(i.indexOf(k)>-1)continue;i.push(k);const C=o(f,j);for(let P=0;P<C.length;++P){const E=C[P];i.push(v+E)}a=m+(a.length>0?" "+a:a)}return a},Mv=(...e)=>{let t=0,n,r,o="";for(;t<e.length;)(n=e[t++])&&(r=yf(n))&&(o&&(o+=" "),o+=r);return o},yf=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=yf(e[r]))&&(n&&(n+=" "),n+=t);return n},Dv=(e,...t)=>{let n,r,o,l;const i=a=>{const u=t.reduce((m,h)=>h(m),e());return n=Iv(u),r=n.cache.get,o=n.cache.set,l=s,s(a)},s=a=>{const u=r(a);if(u)return u;const m=zv(a,n);return o(a,m),m};return l=i,(...a)=>l(Mv(...a))},bv=[],ne=e=>{const t=n=>n[e]||bv;return t.isThemeGetter=!0,t},xf=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,wf=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Av=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Fv=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,$v=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Uv=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Bv=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Wv=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,yt=e=>Av.test(e),D=e=>!!e&&!Number.isNaN(Number(e)),xt=e=>!!e&&Number.isInteger(Number(e)),ei=e=>e.endsWith("%")&&D(e.slice(0,-1)),rt=e=>Fv.test(e),kf=()=>!0,Vv=e=>$v.test(e)&&!Uv.test(e),ia=()=>!1,Hv=e=>Bv.test(e),Qv=e=>Wv.test(e),Gv=e=>!L(e)&&!I(e),Kv=e=>Wt(e,Cf,ia),L=e=>xf.test(e),Ht=e=>Wt(e,Nf,Vv),Ru=e=>Wt(e,ng,D),Yv=e=>Wt(e,Pf,kf),Xv=e=>Wt(e,jf,ia),Tu=e=>Wt(e,Sf,ia),Zv=e=>Wt(e,Ef,Qv),so=e=>Wt(e,_f,Hv),I=e=>wf.test(e),nr=e=>cn(e,Nf),Jv=e=>cn(e,jf),Lu=e=>cn(e,Sf),qv=e=>cn(e,Cf),eg=e=>cn(e,Ef),ao=e=>cn(e,_f,!0),tg=e=>cn(e,Pf,!0),Wt=(e,t,n)=>{const r=xf.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},cn=(e,t,n=!1)=>{const r=wf.exec(e);return r?r[1]?t(r[1]):n:!1},Sf=e=>e==="position"||e==="percentage",Ef=e=>e==="image"||e==="url",Cf=e=>e==="length"||e==="size"||e==="bg-size",Nf=e=>e==="length",ng=e=>e==="number",jf=e=>e==="family-name",Pf=e=>e==="number"||e==="weight",_f=e=>e==="shadow",rg=()=>{const e=ne("color"),t=ne("font"),n=ne("text"),r=ne("font-weight"),o=ne("tracking"),l=ne("leading"),i=ne("breakpoint"),s=ne("container"),a=ne("spacing"),u=ne("radius"),m=ne("shadow"),h=ne("inset-shadow"),p=ne("text-shadow"),w=ne("drop-shadow"),x=ne("blur"),y=ne("perspective"),j=ne("aspect"),f=ne("ease"),d=ne("animate"),v=()=>["auto","avoid","all","avoid-page","page","left","right","column"],k=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],C=()=>[...k(),I,L],P=()=>["auto","hidden","clip","visible","scroll"],E=()=>["auto","contain","none"],S=()=>[I,L,a],O=()=>[yt,"full","auto",...S()],z=()=>[xt,"none","subgrid",I,L],ee=()=>["auto",{span:["full",xt,I,L]},xt,I,L],Ne=()=>[xt,"auto",I,L],ht=()=>["auto","min","max","fr",I,L],dn=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],vt=()=>["start","end","center","stretch","center-safe","end-safe"],he=()=>["auto",...S()],Fe=()=>[yt,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...S()],R=()=>[yt,"screen","full","dvw","lvw","svw","min","max","fit",...S()],M=()=>[yt,"screen","full","lh","dvh","lvh","svh","min","max","fit",...S()],_=()=>[e,I,L],W=()=>[...k(),Lu,Tu,{position:[I,L]}],Z=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Vt=()=>["auto","cover","contain",qv,Kv,{size:[I,L]}],$e=()=>[ei,nr,Ht],te=()=>["","none","full",u,I,L],Q=()=>["",D,nr,Ht],nt=()=>["solid","dashed","dotted","double"],da=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],le=()=>[D,ei,Lu,Tu],fa=()=>["","none",x,I,L],Ur=()=>["none",D,I,L],Br=()=>["none",D,I,L],Pl=()=>[D,I,L],Wr=()=>[yt,"full",...S()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[rt],breakpoint:[rt],color:[kf],container:[rt],"drop-shadow":[rt],ease:["in","out","in-out"],font:[Gv],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[rt],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[rt],shadow:[rt],spacing:["px",D],text:[rt],"text-shadow":[rt],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",yt,L,I,j]}],container:["container"],columns:[{columns:[D,L,I,s]}],"break-after":[{"break-after":v()}],"break-before":[{"break-before":v()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:C()}],overflow:[{overflow:P()}],"overflow-x":[{"overflow-x":P()}],"overflow-y":[{"overflow-y":P()}],overscroll:[{overscroll:E()}],"overscroll-x":[{"overscroll-x":E()}],"overscroll-y":[{"overscroll-y":E()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:O()}],"inset-x":[{"inset-x":O()}],"inset-y":[{"inset-y":O()}],start:[{"inset-s":O(),start:O()}],end:[{"inset-e":O(),end:O()}],"inset-bs":[{"inset-bs":O()}],"inset-be":[{"inset-be":O()}],top:[{top:O()}],right:[{right:O()}],bottom:[{bottom:O()}],left:[{left:O()}],visibility:["visible","invisible","collapse"],z:[{z:[xt,"auto",I,L]}],basis:[{basis:[yt,"full","auto",s,...S()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[D,yt,"auto","initial","none",L]}],grow:[{grow:["",D,I,L]}],shrink:[{shrink:["",D,I,L]}],order:[{order:[xt,"first","last","none",I,L]}],"grid-cols":[{"grid-cols":z()}],"col-start-end":[{col:ee()}],"col-start":[{"col-start":Ne()}],"col-end":[{"col-end":Ne()}],"grid-rows":[{"grid-rows":z()}],"row-start-end":[{row:ee()}],"row-start":[{"row-start":Ne()}],"row-end":[{"row-end":Ne()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ht()}],"auto-rows":[{"auto-rows":ht()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...dn(),"normal"]}],"justify-items":[{"justify-items":[...vt(),"normal"]}],"justify-self":[{"justify-self":["auto",...vt()]}],"align-content":[{content:["normal",...dn()]}],"align-items":[{items:[...vt(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...vt(),{baseline:["","last"]}]}],"place-content":[{"place-content":dn()}],"place-items":[{"place-items":[...vt(),"baseline"]}],"place-self":[{"place-self":["auto",...vt()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pbs:[{pbs:S()}],pbe:[{pbe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:he()}],mx:[{mx:he()}],my:[{my:he()}],ms:[{ms:he()}],me:[{me:he()}],mbs:[{mbs:he()}],mbe:[{mbe:he()}],mt:[{mt:he()}],mr:[{mr:he()}],mb:[{mb:he()}],ml:[{ml:he()}],"space-x":[{"space-x":S()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":S()}],"space-y-reverse":["space-y-reverse"],size:[{size:Fe()}],"inline-size":[{inline:["auto",...R()]}],"min-inline-size":[{"min-inline":["auto",...R()]}],"max-inline-size":[{"max-inline":["none",...R()]}],"block-size":[{block:["auto",...M()]}],"min-block-size":[{"min-block":["auto",...M()]}],"max-block-size":[{"max-block":["none",...M()]}],w:[{w:[s,"screen",...Fe()]}],"min-w":[{"min-w":[s,"screen","none",...Fe()]}],"max-w":[{"max-w":[s,"screen","none","prose",{screen:[i]},...Fe()]}],h:[{h:["screen","lh",...Fe()]}],"min-h":[{"min-h":["screen","lh","none",...Fe()]}],"max-h":[{"max-h":["screen","lh",...Fe()]}],"font-size":[{text:["base",n,nr,Ht]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,tg,Yv]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ei,L]}],"font-family":[{font:[Jv,Xv,t]}],"font-features":[{"font-features":[L]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,I,L]}],"line-clamp":[{"line-clamp":[D,"none",I,Ru]}],leading:[{leading:[l,...S()]}],"list-image":[{"list-image":["none",I,L]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",I,L]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:_()}],"text-color":[{text:_()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...nt(),"wavy"]}],"text-decoration-thickness":[{decoration:[D,"from-font","auto",I,Ht]}],"text-decoration-color":[{decoration:_()}],"underline-offset":[{"underline-offset":[D,"auto",I,L]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:S()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",I,L]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",I,L]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:W()}],"bg-repeat":[{bg:Z()}],"bg-size":[{bg:Vt()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},xt,I,L],radial:["",I,L],conic:[xt,I,L]},eg,Zv]}],"bg-color":[{bg:_()}],"gradient-from-pos":[{from:$e()}],"gradient-via-pos":[{via:$e()}],"gradient-to-pos":[{to:$e()}],"gradient-from":[{from:_()}],"gradient-via":[{via:_()}],"gradient-to":[{to:_()}],rounded:[{rounded:te()}],"rounded-s":[{"rounded-s":te()}],"rounded-e":[{"rounded-e":te()}],"rounded-t":[{"rounded-t":te()}],"rounded-r":[{"rounded-r":te()}],"rounded-b":[{"rounded-b":te()}],"rounded-l":[{"rounded-l":te()}],"rounded-ss":[{"rounded-ss":te()}],"rounded-se":[{"rounded-se":te()}],"rounded-ee":[{"rounded-ee":te()}],"rounded-es":[{"rounded-es":te()}],"rounded-tl":[{"rounded-tl":te()}],"rounded-tr":[{"rounded-tr":te()}],"rounded-br":[{"rounded-br":te()}],"rounded-bl":[{"rounded-bl":te()}],"border-w":[{border:Q()}],"border-w-x":[{"border-x":Q()}],"border-w-y":[{"border-y":Q()}],"border-w-s":[{"border-s":Q()}],"border-w-e":[{"border-e":Q()}],"border-w-bs":[{"border-bs":Q()}],"border-w-be":[{"border-be":Q()}],"border-w-t":[{"border-t":Q()}],"border-w-r":[{"border-r":Q()}],"border-w-b":[{"border-b":Q()}],"border-w-l":[{"border-l":Q()}],"divide-x":[{"divide-x":Q()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Q()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...nt(),"hidden","none"]}],"divide-style":[{divide:[...nt(),"hidden","none"]}],"border-color":[{border:_()}],"border-color-x":[{"border-x":_()}],"border-color-y":[{"border-y":_()}],"border-color-s":[{"border-s":_()}],"border-color-e":[{"border-e":_()}],"border-color-bs":[{"border-bs":_()}],"border-color-be":[{"border-be":_()}],"border-color-t":[{"border-t":_()}],"border-color-r":[{"border-r":_()}],"border-color-b":[{"border-b":_()}],"border-color-l":[{"border-l":_()}],"divide-color":[{divide:_()}],"outline-style":[{outline:[...nt(),"none","hidden"]}],"outline-offset":[{"outline-offset":[D,I,L]}],"outline-w":[{outline:["",D,nr,Ht]}],"outline-color":[{outline:_()}],shadow:[{shadow:["","none",m,ao,so]}],"shadow-color":[{shadow:_()}],"inset-shadow":[{"inset-shadow":["none",h,ao,so]}],"inset-shadow-color":[{"inset-shadow":_()}],"ring-w":[{ring:Q()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:_()}],"ring-offset-w":[{"ring-offset":[D,Ht]}],"ring-offset-color":[{"ring-offset":_()}],"inset-ring-w":[{"inset-ring":Q()}],"inset-ring-color":[{"inset-ring":_()}],"text-shadow":[{"text-shadow":["none",p,ao,so]}],"text-shadow-color":[{"text-shadow":_()}],opacity:[{opacity:[D,I,L]}],"mix-blend":[{"mix-blend":[...da(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":da()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[D]}],"mask-image-linear-from-pos":[{"mask-linear-from":le()}],"mask-image-linear-to-pos":[{"mask-linear-to":le()}],"mask-image-linear-from-color":[{"mask-linear-from":_()}],"mask-image-linear-to-color":[{"mask-linear-to":_()}],"mask-image-t-from-pos":[{"mask-t-from":le()}],"mask-image-t-to-pos":[{"mask-t-to":le()}],"mask-image-t-from-color":[{"mask-t-from":_()}],"mask-image-t-to-color":[{"mask-t-to":_()}],"mask-image-r-from-pos":[{"mask-r-from":le()}],"mask-image-r-to-pos":[{"mask-r-to":le()}],"mask-image-r-from-color":[{"mask-r-from":_()}],"mask-image-r-to-color":[{"mask-r-to":_()}],"mask-image-b-from-pos":[{"mask-b-from":le()}],"mask-image-b-to-pos":[{"mask-b-to":le()}],"mask-image-b-from-color":[{"mask-b-from":_()}],"mask-image-b-to-color":[{"mask-b-to":_()}],"mask-image-l-from-pos":[{"mask-l-from":le()}],"mask-image-l-to-pos":[{"mask-l-to":le()}],"mask-image-l-from-color":[{"mask-l-from":_()}],"mask-image-l-to-color":[{"mask-l-to":_()}],"mask-image-x-from-pos":[{"mask-x-from":le()}],"mask-image-x-to-pos":[{"mask-x-to":le()}],"mask-image-x-from-color":[{"mask-x-from":_()}],"mask-image-x-to-color":[{"mask-x-to":_()}],"mask-image-y-from-pos":[{"mask-y-from":le()}],"mask-image-y-to-pos":[{"mask-y-to":le()}],"mask-image-y-from-color":[{"mask-y-from":_()}],"mask-image-y-to-color":[{"mask-y-to":_()}],"mask-image-radial":[{"mask-radial":[I,L]}],"mask-image-radial-from-pos":[{"mask-radial-from":le()}],"mask-image-radial-to-pos":[{"mask-radial-to":le()}],"mask-image-radial-from-color":[{"mask-radial-from":_()}],"mask-image-radial-to-color":[{"mask-radial-to":_()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":k()}],"mask-image-conic-pos":[{"mask-conic":[D]}],"mask-image-conic-from-pos":[{"mask-conic-from":le()}],"mask-image-conic-to-pos":[{"mask-conic-to":le()}],"mask-image-conic-from-color":[{"mask-conic-from":_()}],"mask-image-conic-to-color":[{"mask-conic-to":_()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:W()}],"mask-repeat":[{mask:Z()}],"mask-size":[{mask:Vt()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",I,L]}],filter:[{filter:["","none",I,L]}],blur:[{blur:fa()}],brightness:[{brightness:[D,I,L]}],contrast:[{contrast:[D,I,L]}],"drop-shadow":[{"drop-shadow":["","none",w,ao,so]}],"drop-shadow-color":[{"drop-shadow":_()}],grayscale:[{grayscale:["",D,I,L]}],"hue-rotate":[{"hue-rotate":[D,I,L]}],invert:[{invert:["",D,I,L]}],saturate:[{saturate:[D,I,L]}],sepia:[{sepia:["",D,I,L]}],"backdrop-filter":[{"backdrop-filter":["","none",I,L]}],"backdrop-blur":[{"backdrop-blur":fa()}],"backdrop-brightness":[{"backdrop-brightness":[D,I,L]}],"backdrop-contrast":[{"backdrop-contrast":[D,I,L]}],"backdrop-grayscale":[{"backdrop-grayscale":["",D,I,L]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[D,I,L]}],"backdrop-invert":[{"backdrop-invert":["",D,I,L]}],"backdrop-opacity":[{"backdrop-opacity":[D,I,L]}],"backdrop-saturate":[{"backdrop-saturate":[D,I,L]}],"backdrop-sepia":[{"backdrop-sepia":["",D,I,L]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",I,L]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[D,"initial",I,L]}],ease:[{ease:["linear","initial",f,I,L]}],delay:[{delay:[D,I,L]}],animate:[{animate:["none",d,I,L]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[y,I,L]}],"perspective-origin":[{"perspective-origin":C()}],rotate:[{rotate:Ur()}],"rotate-x":[{"rotate-x":Ur()}],"rotate-y":[{"rotate-y":Ur()}],"rotate-z":[{"rotate-z":Ur()}],scale:[{scale:Br()}],"scale-x":[{"scale-x":Br()}],"scale-y":[{"scale-y":Br()}],"scale-z":[{"scale-z":Br()}],"scale-3d":["scale-3d"],skew:[{skew:Pl()}],"skew-x":[{"skew-x":Pl()}],"skew-y":[{"skew-y":Pl()}],transform:[{transform:[I,L,"","none","gpu","cpu"]}],"transform-origin":[{origin:C()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Wr()}],"translate-x":[{"translate-x":Wr()}],"translate-y":[{"translate-y":Wr()}],"translate-z":[{"translate-z":Wr()}],"translate-none":["translate-none"],accent:[{accent:_()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:_()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",I,L]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mbs":[{"scroll-mbs":S()}],"scroll-mbe":[{"scroll-mbe":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pbs":[{"scroll-pbs":S()}],"scroll-pbe":[{"scroll-pbe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",I,L]}],fill:[{fill:["none",..._()]}],"stroke-w":[{stroke:[D,nr,Ht,Ru]}],stroke:[{stroke:["none",..._()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},og=Dv(rg);function Te(...e){return og(mf(e))}const lg=hv("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-accent text-accent-contrast hover:bg-accent-hover",destructive:"bg-destructive text-white hover:bg-destructive-hover",outline:"border border-border bg-transparent text-text-100 hover:bg-bg-200",ghost:"bg-transparent text-text-200 hover:bg-bg-200 hover:text-text-100"},size:{sm:"h-8 px-3 text-xs",md:"h-9 px-4",lg:"h-11 px-6 text-base"}},defaultVariants:{variant:"default",size:"md"}}),Rn=g.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...o},l)=>{const i=r?uv:"button";return c.jsx(i,{ref:l,className:Te(lg({variant:t,size:n}),e),...o})});Rn.displayName="Button";const Gn={session:"会话通道",chat:"chat",task:"task"},Or={"1h":"1 小时","24h":"24 小时","7d":"7 天"},rl={auth:"认证",queue:"排队",firstByte:"首字节",exec:"执行",wrapUp:"收尾"},Iu={queue:"等一个能跑的位置:新起一个 Pod,或等已有的 Pod 空出槽位。",firstByte:"从开始执行到第一次看到回应(会话通道算思考、工具调用、正文里最先出现的;chat / task 算第一个正文字)。",exec:"从第一次有回应到全部做完,中间可能多轮调工具。",wrapUp:"回复生成后先保存聊天记录(chat 还要清理 Pod),做完才把结果交回去。"},ig="会话通道不含在输入框里等上一轮做完的时间。",Rf={"auth-rejected":"调用 key 不对","central-unreachable":"连不上中心服务","image-pull":"镜像拉不下来",schedule:"排不上机器","container-start":"容器起不来",timeout:"超时","runtime-exited":"persona 中途退出","oom-killed":"内存超限被杀","runtime-error":"persona 报错","empty-reply":"没有回复",other:"其他"};function Mt(e){if(e==null||!Number.isFinite(e))return"—";const t=Math.round(e);if(t<1e3)return`${t} ms`;const n=Math.round(e/100)/10;if(n<10)return`${n.toFixed(1)} 秒`;const r=Math.round(e/1e3);if(r<60)return`${r} 秒`;const o=Math.floor(r/60);return`${o} 分 ${String(r-o*60).padStart(2,"0")} 秒`}function os(e,t){if(t<=0)return"—";const n=e/t*100;return n===100?"100%":`${n>=99.95?n.toFixed(2):n.toFixed(1)}%`}function Ge(e){return e.toLocaleString("zh-CN")}function sg(e){const t=e.lastIndexOf("@");if(t>=0)return e.slice(t+1).replace(/^sha256:/,"").slice(0,12);const n=e.lastIndexOf(":"),r=e.lastIndexOf("/");return n>r?e.slice(n+1):e}function sa(e){const t=new Date(e);return[t.getHours(),t.getMinutes(),t.getSeconds()].map(n=>String(n).padStart(2,"0")).join(":")}const ag=20*1024*1024;function pn(e){if(e==null||!Number.isFinite(e))return"—";if(e<1024)return`${Math.round(e)} B`;const t=["KB","MB","GB"];let n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n>=100||r===0?Math.round(n):n.toFixed(1).replace(/\.0$/,"")} ${t[r]}`}const ol=["session","chat","task"],Tf=["1h","24h","7d"],Lf=["auth","queue","firstByte","exec","wrapUp"],ug=[{stat:"avg",label:"平均",pick:e=>e.avgMs},{stat:"p50",label:"P50",pick:e=>e.p50Ms},{stat:"p95",label:"P95",pick:e=>e.p95Ms}],cg=12,ti=12,dg=.65;function fg(e){return ug.map(({stat:t,label:n,pick:r})=>{const o=Lf.flatMap(l=>{const i=e.segments[l],s=i?r(i):null;return i&&s!==null&&s>0?[{segment:l,value:s,samples:i.samples}]:[]});return{stat:t,label:n,parts:o,total:o.reduce((l,i)=>l+i.value,0)}}).filter(t=>t.parts.length>0)}function pg({x:e,y:t,width:n}){const r=t-ti/2;return e>n*dg?{right:n-e+ti,top:r}:{left:e+ti,top:r}}function ni(e){return Lf.filter(t=>e.some(n=>n.segments[t]!=null))}function mg({segments:e}){return c.jsx("ul",{className:"flex flex-wrap gap-x-4 gap-y-1 text-[12px] text-text-300","data-testid":"cpm-chain-legend",children:e.map(t=>c.jsxs("li",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"inline-block h-2.5 w-2.5 rounded-[2px]",style:{background:`var(--cpm-seg-${t})`}}),rl[t]]},t))})}function hg({segments:e,withSession:t}){const n=e.filter(r=>r in Iu);return c.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-[12px]","data-testid":"cpm-segment-notes",children:n.map(r=>c.jsxs("div",{className:"contents",children:[c.jsx("dt",{className:"text-text-300",children:rl[r]}),c.jsxs("dd",{className:"text-text-400",children:[Iu[r],r==="queue"&&t?ig:""]})]},r))})}function vg({row:e}){const[t,n]=g.useState(null),r=g.useRef(new Map),o=fg(e);return c.jsx("div",{className:"space-y-2","data-testid":`cpm-chain-${e.entry}`,children:o.map(l=>{const i=t&&t.stat===l.stat?l.parts.find(s=>s.segment===t.segment):void 0;return c.jsxs("div",{className:"flex items-center gap-3","data-testid":`cpm-chain-${e.entry}-${l.stat}`,children:[c.jsx("span",{className:"w-9 shrink-0 text-[12px] text-text-300",children:l.label}),c.jsxs("div",{className:"relative min-w-0 flex-1",ref:s=>{s?r.current.set(l.stat,s):r.current.delete(l.stat)},children:[c.jsx("div",{className:"flex h-6 items-stretch",style:{width:"100%"},children:l.parts.map((s,a)=>{const u=s.value/l.total*100,m=a===l.parts.length-1,h=(x,y)=>{var f;const j=(f=r.current.get(l.stat))==null?void 0:f.getBoundingClientRect();j&&n({stat:l.stat,segment:s.segment,x:x-j.left,y:y-j.top,width:j.width})},p=x=>h(x.clientX,x.clientY),w=x=>{const y=x.currentTarget.getBoundingClientRect();h(y.left+y.width/2,y.top)};return c.jsx("button",{type:"button","data-testid":`cpm-chain-${e.entry}-${l.stat}-${s.segment}`,"aria-label":`${l.label} ${rl[s.segment]} ${Mt(s.value)},样本 ${Ge(s.samples)}`,onPointerEnter:p,onPointerMove:p,onPointerLeave:()=>n(null),onFocus:w,onBlur:()=>n(null),className:Te("relative flex items-center justify-center overflow-visible text-[11px] font-medium outline-none","transition-[filter] hover:brightness-110 focus-visible:brightness-110",m?"rounded-r-[4px]":"mr-[2px]"),style:{width:`${u}%`,minWidth:3,background:`var(--cpm-seg-${s.segment})`,color:`var(--cpm-ink-${s.segment})`},children:u>=cg?Mt(s.value):null},s.segment)})}),t&&i?c.jsxs("div",{role:"tooltip","data-testid":"cpm-chain-tooltip",className:"pointer-events-none absolute z-10 -translate-y-full whitespace-nowrap rounded-md bg-text-100 px-2.5 py-1.5 text-[12px] text-bg-0 shadow-md",style:pg(t),children:[c.jsxs("span",{className:"font-semibold",children:[rl[i.segment]," ",Mt(i.value)]}),c.jsxs("span",{className:"opacity-70",children:[" ","· ",l.label," · 样本 ",Ge(i.samples)]})]}):null]})]},l.stat)})})}function If({rows:e}){const t=[...e].filter(r=>r.count>0).sort((r,o)=>o.count-r.count);if(t.length===0)return c.jsx("p",{className:"text-[13px] text-text-400","data-testid":"cpm-failures-empty",children:"这段时间没有失败。"});const n=t[0].count;return c.jsxs("table",{className:"w-full border-separate border-spacing-y-1.5","data-testid":"cpm-failures",children:[c.jsx("caption",{className:"sr-only",children:"失败分类与次数"}),c.jsx("tbody",{children:t.map(r=>c.jsxs("tr",{"data-testid":`cpm-failure-${r.category}`,children:[c.jsx("th",{scope:"row",className:"w-[132px] pr-3 text-left text-[13px] font-normal text-text-200",children:Rf[r.category]}),c.jsx("td",{children:c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("div",{className:"h-2.5 rounded-r-[4px]",style:{width:`${Math.max(r.count/n*100,1.5)}%`,maxWidth:"calc(100% - 48px)",background:"var(--cpm-bar)"}}),c.jsx("span",{className:"text-[12px] text-text-200 tabular-nums",children:Ge(r.count)})]})})]},r.category))})]})}function Dt(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function gg(e,t){const n=g.createContext(t),r=l=>{const{children:i,...s}=l,a=g.useMemo(()=>s,Object.values(s));return c.jsx(n.Provider,{value:a,children:i})};r.displayName=e+"Provider";function o(l){const i=g.useContext(n);if(i)return i;if(t!==void 0)return t;throw new Error(`\`${l}\` must be used within \`${e}\``)}return[r,o]}function yg(e,t=[]){let n=[];function r(l,i){const s=g.createContext(i),a=n.length;n=[...n,i];const u=h=>{var f;const{scope:p,children:w,...x}=h,y=((f=p==null?void 0:p[e])==null?void 0:f[a])||s,j=g.useMemo(()=>x,Object.values(x));return c.jsx(y.Provider,{value:j,children:w})};u.displayName=l+"Provider";function m(h,p){var y;const w=((y=p==null?void 0:p[e])==null?void 0:y[a])||s,x=g.useContext(w);if(x)return x;if(i!==void 0)return i;throw new Error(`\`${h}\` must be used within \`${l}\``)}return[u,m]}const o=()=>{const l=n.map(i=>g.createContext(i));return function(s){const a=(s==null?void 0:s[e])||l;return g.useMemo(()=>({[`__scope${e}`]:{...s,[e]:a}}),[s,a])}};return o.scopeName=e,[r,xg(o,...t)]}function xg(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(l){const i=r.reduce((s,{useScope:a,scopeName:u})=>{const h=a(l)[`__scope${u}`];return{...s,...h}},{});return g.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var zr=globalThis!=null&&globalThis.document?g.useLayoutEffect:()=>{},wg=ds[" useId ".trim().toString()]||(()=>{}),kg=0;function ri(e){const[t,n]=g.useState(wg());return zr(()=>{n(r=>r??String(kg++))},[e]),e||(t?`radix-${t}`:"")}var Sg=ds[" useInsertionEffect ".trim().toString()]||zr;function Eg({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,l,i]=Cg({defaultProp:t,onChange:n}),s=e!==void 0,a=s?e:o;{const m=g.useRef(e!==void 0);g.useEffect(()=>{const h=m.current;h!==s&&console.warn(`${r} is changing from ${h?"controlled":"uncontrolled"} to ${s?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),m.current=s},[s,r])}const u=g.useCallback(m=>{var h;if(s){const p=Ng(m)?m(e):m;p!==e&&((h=i.current)==null||h.call(i,p))}else l(m)},[s,e,l,i]);return[a,u]}function Cg({defaultProp:e,onChange:t}){const[n,r]=g.useState(e),o=g.useRef(n),l=g.useRef(t);return Sg(()=>{l.current=t},[t]),g.useEffect(()=>{var i;o.current!==n&&((i=l.current)==null||i.call(l,n),o.current=n)},[n,o]),[n,r,l]}function Ng(e){return typeof e=="function"}function Of(e){const t=jg(e),n=g.forwardRef((r,o)=>{const{children:l,...i}=r,s=g.Children.toArray(l),a=s.find(_g);if(a){const u=a.props.children,m=s.map(h=>h===a?g.Children.count(u)>1?g.Children.only(null):g.isValidElement(u)?u.props.children:null:h);return c.jsx(t,{...i,ref:o,children:g.isValidElement(u)?g.cloneElement(u,void 0,m):null})}return c.jsx(t,{...i,ref:o,children:l})});return n.displayName=`${e}.Slot`,n}function jg(e){const t=g.forwardRef((n,r)=>{const{children:o,...l}=n;if(g.isValidElement(o)){const i=Tg(o),s=Rg(l,o.props);return o.type!==g.Fragment&&(s.ref=r?oa(r,i):i),g.cloneElement(o,s)}return g.Children.count(o)>1?g.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Pg=Symbol("radix.slottable");function _g(e){return g.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Pg}function Rg(e,t){const n={...t};for(const r in t){const o=e[r],l=t[r];/^on[A-Z]/.test(r)?o&&l?n[r]=(...s)=>{const a=l(...s);return o(...s),a}:o&&(n[r]=o):r==="style"?n[r]={...o,...l}:r==="className"&&(n[r]=[o,l].filter(Boolean).join(" "))}return{...e,...n}}function Tg(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Lg=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],mt=Lg.reduce((e,t)=>{const n=Of(`Primitive.${t}`),r=g.forwardRef((o,l)=>{const{asChild:i,...s}=o,a=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(a,{...s,ref:l})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Ig(e,t){e&&na.flushSync(()=>e.dispatchEvent(t))}function Mr(e){const t=g.useRef(e);return g.useEffect(()=>{t.current=e}),g.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function Og(e,t=globalThis==null?void 0:globalThis.document){const n=Mr(e);g.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var zg="DismissableLayer",ls="dismissableLayer.update",Mg="dismissableLayer.pointerDownOutside",Dg="dismissableLayer.focusOutside",Ou,zf=g.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Mf=g.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:l,onInteractOutside:i,onDismiss:s,...a}=e,u=g.useContext(zf),[m,h]=g.useState(null),p=(m==null?void 0:m.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,w]=g.useState({}),x=un(t,E=>h(E)),y=Array.from(u.layers),[j]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),f=y.indexOf(j),d=m?y.indexOf(m):-1,v=u.layersWithOutsidePointerEventsDisabled.size>0,k=d>=f,C=Fg(E=>{const S=E.target,O=[...u.branches].some(z=>z.contains(S));!k||O||(o==null||o(E),i==null||i(E),E.defaultPrevented||s==null||s())},p),P=$g(E=>{const S=E.target;[...u.branches].some(z=>z.contains(S))||(l==null||l(E),i==null||i(E),E.defaultPrevented||s==null||s())},p);return Og(E=>{d===u.layers.size-1&&(r==null||r(E),!E.defaultPrevented&&s&&(E.preventDefault(),s()))},p),g.useEffect(()=>{if(m)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(Ou=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(m)),u.layers.add(m),zu(),()=>{n&&u.layersWithOutsidePointerEventsDisabled.size===1&&(p.body.style.pointerEvents=Ou)}},[m,p,n,u]),g.useEffect(()=>()=>{m&&(u.layers.delete(m),u.layersWithOutsidePointerEventsDisabled.delete(m),zu())},[m,u]),g.useEffect(()=>{const E=()=>w({});return document.addEventListener(ls,E),()=>document.removeEventListener(ls,E)},[]),c.jsx(mt.div,{...a,ref:x,style:{pointerEvents:v?k?"auto":"none":void 0,...e.style},onFocusCapture:Dt(e.onFocusCapture,P.onFocusCapture),onBlurCapture:Dt(e.onBlurCapture,P.onBlurCapture),onPointerDownCapture:Dt(e.onPointerDownCapture,C.onPointerDownCapture)})});Mf.displayName=zg;var bg="DismissableLayerBranch",Ag=g.forwardRef((e,t)=>{const n=g.useContext(zf),r=g.useRef(null),o=un(t,r);return g.useEffect(()=>{const l=r.current;if(l)return n.branches.add(l),()=>{n.branches.delete(l)}},[n.branches]),c.jsx(mt.div,{...e,ref:o})});Ag.displayName=bg;function Fg(e,t=globalThis==null?void 0:globalThis.document){const n=Mr(e),r=g.useRef(!1),o=g.useRef(()=>{});return g.useEffect(()=>{const l=s=>{if(s.target&&!r.current){let a=function(){Df(Mg,n,u,{discrete:!0})};const u={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=a,t.addEventListener("click",o.current,{once:!0})):a()}else t.removeEventListener("click",o.current);r.current=!1},i=window.setTimeout(()=>{t.addEventListener("pointerdown",l)},0);return()=>{window.clearTimeout(i),t.removeEventListener("pointerdown",l),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function $g(e,t=globalThis==null?void 0:globalThis.document){const n=Mr(e),r=g.useRef(!1);return g.useEffect(()=>{const o=l=>{l.target&&!r.current&&Df(Dg,n,{originalEvent:l},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function zu(){const e=new CustomEvent(ls);document.dispatchEvent(e)}function Df(e,t,n,{discrete:r}){const o=n.originalEvent.target,l=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?Ig(o,l):o.dispatchEvent(l)}var oi="focusScope.autoFocusOnMount",li="focusScope.autoFocusOnUnmount",Mu={bubbles:!1,cancelable:!0},Ug="FocusScope",bf=g.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:l,...i}=e,[s,a]=g.useState(null),u=Mr(o),m=Mr(l),h=g.useRef(null),p=un(t,y=>a(y)),w=g.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;g.useEffect(()=>{if(r){let y=function(v){if(w.paused||!s)return;const k=v.target;s.contains(k)?h.current=k:wt(h.current,{select:!0})},j=function(v){if(w.paused||!s)return;const k=v.relatedTarget;k!==null&&(s.contains(k)||wt(h.current,{select:!0}))},f=function(v){if(document.activeElement===document.body)for(const C of v)C.removedNodes.length>0&&wt(s)};document.addEventListener("focusin",y),document.addEventListener("focusout",j);const d=new MutationObserver(f);return s&&d.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",j),d.disconnect()}}},[r,s,w.paused]),g.useEffect(()=>{if(s){bu.add(w);const y=document.activeElement;if(!s.contains(y)){const f=new CustomEvent(oi,Mu);s.addEventListener(oi,u),s.dispatchEvent(f),f.defaultPrevented||(Bg(Gg(Af(s)),{select:!0}),document.activeElement===y&&wt(s))}return()=>{s.removeEventListener(oi,u),setTimeout(()=>{const f=new CustomEvent(li,Mu);s.addEventListener(li,m),s.dispatchEvent(f),f.defaultPrevented||wt(y??document.body,{select:!0}),s.removeEventListener(li,m),bu.remove(w)},0)}}},[s,u,m,w]);const x=g.useCallback(y=>{if(!n&&!r||w.paused)return;const j=y.key==="Tab"&&!y.altKey&&!y.ctrlKey&&!y.metaKey,f=document.activeElement;if(j&&f){const d=y.currentTarget,[v,k]=Wg(d);v&&k?!y.shiftKey&&f===k?(y.preventDefault(),n&&wt(v,{select:!0})):y.shiftKey&&f===v&&(y.preventDefault(),n&&wt(k,{select:!0})):f===d&&y.preventDefault()}},[n,r,w.paused]);return c.jsx(mt.div,{tabIndex:-1,...i,ref:p,onKeyDown:x})});bf.displayName=Ug;function Bg(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(wt(r,{select:t}),document.activeElement!==n)return}function Wg(e){const t=Af(e),n=Du(t,e),r=Du(t.reverse(),e);return[n,r]}function Af(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Du(e,t){for(const n of e)if(!Vg(n,{upTo:t}))return n}function Vg(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Hg(e){return e instanceof HTMLInputElement&&"select"in e}function wt(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Hg(e)&&t&&e.select()}}var bu=Qg();function Qg(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=Au(e,t),e.unshift(t)},remove(t){var n;e=Au(e,t),(n=e[0])==null||n.resume()}}}function Au(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Gg(e){return e.filter(t=>t.tagName!=="A")}var Kg="Portal",Ff=g.forwardRef((e,t)=>{var s;const{container:n,...r}=e,[o,l]=g.useState(!1);zr(()=>l(!0),[]);const i=n||o&&((s=globalThis==null?void 0:globalThis.document)==null?void 0:s.body);return i?Kh.createPortal(c.jsx(mt.div,{...r,ref:t}),i):null});Ff.displayName=Kg;function Yg(e,t){return g.useReducer((n,r)=>t[n][r]??n,e)}var Sl=e=>{const{present:t,children:n}=e,r=Xg(t),o=typeof n=="function"?n({present:r.isPresent}):g.Children.only(n),l=un(r.ref,Zg(o));return typeof n=="function"||r.isPresent?g.cloneElement(o,{ref:l}):null};Sl.displayName="Presence";function Xg(e){const[t,n]=g.useState(),r=g.useRef(null),o=g.useRef(e),l=g.useRef("none"),i=e?"mounted":"unmounted",[s,a]=Yg(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return g.useEffect(()=>{const u=uo(r.current);l.current=s==="mounted"?u:"none"},[s]),zr(()=>{const u=r.current,m=o.current;if(m!==e){const p=l.current,w=uo(u);e?a("MOUNT"):w==="none"||(u==null?void 0:u.display)==="none"?a("UNMOUNT"):a(m&&p!==w?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,a]),zr(()=>{if(t){let u;const m=t.ownerDocument.defaultView??window,h=w=>{const y=uo(r.current).includes(CSS.escape(w.animationName));if(w.target===t&&y&&(a("ANIMATION_END"),!o.current)){const j=t.style.animationFillMode;t.style.animationFillMode="forwards",u=m.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=j)})}},p=w=>{w.target===t&&(l.current=uo(r.current))};return t.addEventListener("animationstart",p),t.addEventListener("animationcancel",h),t.addEventListener("animationend",h),()=>{m.clearTimeout(u),t.removeEventListener("animationstart",p),t.removeEventListener("animationcancel",h),t.removeEventListener("animationend",h)}}else a("ANIMATION_END")},[t,a]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:g.useCallback(u=>{r.current=u?getComputedStyle(u):null,n(u)},[])}}function uo(e){return(e==null?void 0:e.animationName)||"none"}function Zg(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var ii=0;function Jg(){g.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??Fu()),document.body.insertAdjacentElement("beforeend",e[1]??Fu()),ii++,()=>{ii===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),ii--}},[])}function Fu(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var qe=function(){return qe=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(t[l]=n[l])}return t},qe.apply(this,arguments)};function $f(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function qg(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,l;r<o;r++)(l||!(r in t))&&(l||(l=Array.prototype.slice.call(t,0,r)),l[r]=t[r]);return e.concat(l||Array.prototype.slice.call(t))}var Ro="right-scroll-bar-position",To="width-before-scroll-bar",ey="with-scroll-bars-hidden",ty="--removed-body-scroll-bar-size";function si(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function ny(e,t){var n=g.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var ry=typeof window<"u"?g.useLayoutEffect:g.useEffect,$u=new WeakMap;function oy(e,t){var n=ny(null,function(r){return e.forEach(function(o){return si(o,r)})});return ry(function(){var r=$u.get(n);if(r){var o=new Set(r),l=new Set(e),i=n.current;o.forEach(function(s){l.has(s)||si(s,null)}),l.forEach(function(s){o.has(s)||si(s,i)})}$u.set(n,e)},[e]),n}function ly(e){return e}function iy(e,t){t===void 0&&(t=ly);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(l){var i=t(l,r);return n.push(i),function(){n=n.filter(function(s){return s!==i})}},assignSyncMedium:function(l){for(r=!0;n.length;){var i=n;n=[],i.forEach(l)}n={push:function(s){return l(s)},filter:function(){return n}}},assignMedium:function(l){r=!0;var i=[];if(n.length){var s=n;n=[],s.forEach(l),i=n}var a=function(){var m=i;i=[],m.forEach(l)},u=function(){return Promise.resolve().then(a)};u(),n={push:function(m){i.push(m),u()},filter:function(m){return i=i.filter(m),n}}}};return o}function sy(e){e===void 0&&(e={});var t=iy(null);return t.options=qe({async:!0,ssr:!1},e),t}var Uf=function(e){var t=e.sideCar,n=$f(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return g.createElement(r,qe({},n))};Uf.isSideCarExport=!0;function ay(e,t){return e.useMedium(t),Uf}var Bf=sy(),ai=function(){},El=g.forwardRef(function(e,t){var n=g.useRef(null),r=g.useState({onScrollCapture:ai,onWheelCapture:ai,onTouchMoveCapture:ai}),o=r[0],l=r[1],i=e.forwardProps,s=e.children,a=e.className,u=e.removeScrollBar,m=e.enabled,h=e.shards,p=e.sideCar,w=e.noRelative,x=e.noIsolation,y=e.inert,j=e.allowPinchZoom,f=e.as,d=f===void 0?"div":f,v=e.gapMode,k=$f(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),C=p,P=oy([n,t]),E=qe(qe({},k),o);return g.createElement(g.Fragment,null,m&&g.createElement(C,{sideCar:Bf,removeScrollBar:u,shards:h,noRelative:w,noIsolation:x,inert:y,setCallbacks:l,allowPinchZoom:!!j,lockRef:n,gapMode:v}),i?g.cloneElement(g.Children.only(s),qe(qe({},E),{ref:P})):g.createElement(d,qe({},E,{className:a,ref:P}),s))});El.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};El.classNames={fullWidth:To,zeroRight:Ro};var uy=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function cy(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=uy();return t&&e.setAttribute("nonce",t),e}function dy(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function fy(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var py=function(){var e=0,t=null;return{add:function(n){e==0&&(t=cy())&&(dy(t,n),fy(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},my=function(){var e=py();return function(t,n){g.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Wf=function(){var e=my(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},hy={left:0,top:0,right:0,gap:0},ui=function(e){return parseInt(e||"",10)||0},vy=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[ui(n),ui(r),ui(o)]},gy=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return hy;var t=vy(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},yy=Wf(),Dn="data-scroll-locked",xy=function(e,t,n,r){var o=e.left,l=e.top,i=e.right,s=e.gap;return n===void 0&&(n="margin"),`
101
+ */const ov=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],lv=ra("x",ov);function Eu(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function oa(...e){return t=>{let n=!1;const r=e.map(o=>{const l=Eu(o,t);return!n&&typeof l=="function"&&(n=!0),l});if(n)return()=>{for(let o=0;o<r.length;o++){const l=r[o];typeof l=="function"?l():Eu(e[o],null)}}}}function un(...e){return g.useCallback(oa(...e),e)}var iv=Symbol.for("react.lazy"),tl=ds[" use ".trim().toString()];function sv(e){return typeof e=="object"&&e!==null&&"then"in e}function ff(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===iv&&"_payload"in e&&sv(e._payload)}function av(e){const t=cv(e),n=g.forwardRef((r,o)=>{let{children:l,...i}=r;ff(l)&&typeof tl=="function"&&(l=tl(l._payload));const s=g.Children.toArray(l),a=s.find(fv);if(a){const u=a.props.children,m=s.map(h=>h===a?g.Children.count(u)>1?g.Children.only(null):g.isValidElement(u)?u.props.children:null:h);return c.jsx(t,{...i,ref:o,children:g.isValidElement(u)?g.cloneElement(u,void 0,m):null})}return c.jsx(t,{...i,ref:o,children:l})});return n.displayName=`${e}.Slot`,n}var uv=av("Slot");function cv(e){const t=g.forwardRef((n,r)=>{let{children:o,...l}=n;if(ff(o)&&typeof tl=="function"&&(o=tl(o._payload)),g.isValidElement(o)){const i=mv(o),s=pv(l,o.props);return o.type!==g.Fragment&&(s.ref=r?oa(r,i):i),g.cloneElement(o,s)}return g.Children.count(o)>1?g.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var dv=Symbol("radix.slottable");function fv(e){return g.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===dv}function pv(e,t){const n={...t};for(const r in t){const o=e[r],l=t[r];/^on[A-Z]/.test(r)?o&&l?n[r]=(...s)=>{const a=l(...s);return o(...s),a}:o&&(n[r]=o):r==="style"?n[r]={...o,...l}:r==="className"&&(n[r]=[o,l].filter(Boolean).join(" "))}return{...e,...n}}function mv(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function pf(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=pf(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function mf(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=pf(e))&&(r&&(r+=" "),r+=t);return r}const Cu=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Nu=mf,hv=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return Nu(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:o,defaultVariants:l}=t,i=Object.keys(o).map(u=>{const m=n==null?void 0:n[u],h=l==null?void 0:l[u];if(m===null)return null;const p=Cu(m)||Cu(h);return o[u][p]}),s=n&&Object.entries(n).reduce((u,m)=>{let[h,p]=m;return p===void 0||(u[h]=p),u},{}),a=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((u,m)=>{let{class:h,className:p,...w}=m;return Object.entries(w).every(x=>{let[y,j]=x;return Array.isArray(j)?j.includes({...l,...s}[y]):{...l,...s}[y]===j})?[...u,h,p]:u},[]);return Nu(e,i,a,n==null?void 0:n.class,n==null?void 0:n.className)},vv=(e,t)=>{const n=new Array(e.length+t.length);for(let r=0;r<e.length;r++)n[r]=e[r];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},gv=(e,t)=>({classGroupId:e,validator:t}),hf=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),nl="-",ju=[],yv="arbitrary..",xv=e=>{const t=kv(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return wv(i);const s=i.split(nl),a=s[0]===""&&s.length>1?1:0;return vf(s,a,t)},getConflictingClassGroupIds:(i,s)=>{if(s){const a=r[i],u=n[i];return a?u?vv(u,a):a:u||ju}return n[i]||ju}}},vf=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const o=e[t],l=n.nextPart.get(o);if(l){const u=vf(e,t+1,l);if(u)return u}const i=n.validators;if(i===null)return;const s=t===0?e.join(nl):e.slice(t).join(nl),a=i.length;for(let u=0;u<a;u++){const m=i[u];if(m.validator(s))return m.classGroupId}},wv=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?yv+r:void 0})(),kv=e=>{const{theme:t,classGroups:n}=e;return Sv(n,t)},Sv=(e,t)=>{const n=hf();for(const r in e){const o=e[r];la(o,n,r,t)}return n},la=(e,t,n,r)=>{const o=e.length;for(let l=0;l<o;l++){const i=e[l];Ev(i,t,n,r)}},Ev=(e,t,n,r)=>{if(typeof e=="string"){Cv(e,t,n);return}if(typeof e=="function"){Nv(e,t,n,r);return}jv(e,t,n,r)},Cv=(e,t,n)=>{const r=e===""?t:gf(t,e);r.classGroupId=n},Nv=(e,t,n,r)=>{if(Pv(e)){la(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(gv(n,e))},jv=(e,t,n,r)=>{const o=Object.entries(e),l=o.length;for(let i=0;i<l;i++){const[s,a]=o[i];la(a,gf(t,s),n,r)}},gf=(e,t)=>{let n=e;const r=t.split(nl),o=r.length;for(let l=0;l<o;l++){const i=r[l];let s=n.nextPart.get(i);s||(s=hf(),n.nextPart.set(i,s)),n=s}return n},Pv=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,_v=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null);const o=(l,i)=>{n[l]=i,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(l){let i=n[l];if(i!==void 0)return i;if((i=r[l])!==void 0)return o(l,i),i},set(l,i){l in n?n[l]=i:o(l,i)}}},rs="!",Pu=":",Rv=[],_u=(e,t,n,r,o)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:o}),Tv=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=o=>{const l=[];let i=0,s=0,a=0,u;const m=o.length;for(let y=0;y<m;y++){const j=o[y];if(i===0&&s===0){if(j===Pu){l.push(o.slice(a,y)),a=y+1;continue}if(j==="/"){u=y;continue}}j==="["?i++:j==="]"?i--:j==="("?s++:j===")"&&s--}const h=l.length===0?o:o.slice(a);let p=h,w=!1;h.endsWith(rs)?(p=h.slice(0,-1),w=!0):h.startsWith(rs)&&(p=h.slice(1),w=!0);const x=u&&u>a?u-a:void 0;return _u(l,w,p,x)};if(t){const o=t+Pu,l=r;r=i=>i.startsWith(o)?l(i.slice(o.length)):_u(Rv,!1,i,void 0,!0)}if(n){const o=r;r=l=>n({className:l,parseClassName:o})}return r},Lv=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{const r=[];let o=[];for(let l=0;l<n.length;l++){const i=n[l],s=i[0]==="[",a=t.has(i);s||a?(o.length>0&&(o.sort(),r.push(...o),o=[]),r.push(i)):o.push(i)}return o.length>0&&(o.sort(),r.push(...o)),r}},Iv=e=>({cache:_v(e.cacheSize),parseClassName:Tv(e),sortModifiers:Lv(e),...xv(e)}),Ov=/\s+/,zv=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o,sortModifiers:l}=t,i=[],s=e.trim().split(Ov);let a="";for(let u=s.length-1;u>=0;u-=1){const m=s[u],{isExternal:h,modifiers:p,hasImportantModifier:w,baseClassName:x,maybePostfixModifierPosition:y}=n(m);if(h){a=m+(a.length>0?" "+a:a);continue}let j=!!y,f=r(j?x.substring(0,y):x);if(!f){if(!j){a=m+(a.length>0?" "+a:a);continue}if(f=r(x),!f){a=m+(a.length>0?" "+a:a);continue}j=!1}const d=p.length===0?"":p.length===1?p[0]:l(p).join(":"),v=w?d+rs:d,k=v+f;if(i.indexOf(k)>-1)continue;i.push(k);const C=o(f,j);for(let P=0;P<C.length;++P){const E=C[P];i.push(v+E)}a=m+(a.length>0?" "+a:a)}return a},Mv=(...e)=>{let t=0,n,r,o="";for(;t<e.length;)(n=e[t++])&&(r=yf(n))&&(o&&(o+=" "),o+=r);return o},yf=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=yf(e[r]))&&(n&&(n+=" "),n+=t);return n},Dv=(e,...t)=>{let n,r,o,l;const i=a=>{const u=t.reduce((m,h)=>h(m),e());return n=Iv(u),r=n.cache.get,o=n.cache.set,l=s,s(a)},s=a=>{const u=r(a);if(u)return u;const m=zv(a,n);return o(a,m),m};return l=i,(...a)=>l(Mv(...a))},bv=[],ne=e=>{const t=n=>n[e]||bv;return t.isThemeGetter=!0,t},xf=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,wf=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Av=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Fv=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,$v=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Uv=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Bv=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Wv=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,yt=e=>Av.test(e),D=e=>!!e&&!Number.isNaN(Number(e)),xt=e=>!!e&&Number.isInteger(Number(e)),ei=e=>e.endsWith("%")&&D(e.slice(0,-1)),rt=e=>Fv.test(e),kf=()=>!0,Vv=e=>$v.test(e)&&!Uv.test(e),ia=()=>!1,Hv=e=>Bv.test(e),Qv=e=>Wv.test(e),Gv=e=>!L(e)&&!I(e),Kv=e=>Wt(e,Cf,ia),L=e=>xf.test(e),Ht=e=>Wt(e,Nf,Vv),Ru=e=>Wt(e,ng,D),Yv=e=>Wt(e,Pf,kf),Xv=e=>Wt(e,jf,ia),Tu=e=>Wt(e,Sf,ia),Zv=e=>Wt(e,Ef,Qv),so=e=>Wt(e,_f,Hv),I=e=>wf.test(e),nr=e=>cn(e,Nf),Jv=e=>cn(e,jf),Lu=e=>cn(e,Sf),qv=e=>cn(e,Cf),eg=e=>cn(e,Ef),ao=e=>cn(e,_f,!0),tg=e=>cn(e,Pf,!0),Wt=(e,t,n)=>{const r=xf.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},cn=(e,t,n=!1)=>{const r=wf.exec(e);return r?r[1]?t(r[1]):n:!1},Sf=e=>e==="position"||e==="percentage",Ef=e=>e==="image"||e==="url",Cf=e=>e==="length"||e==="size"||e==="bg-size",Nf=e=>e==="length",ng=e=>e==="number",jf=e=>e==="family-name",Pf=e=>e==="number"||e==="weight",_f=e=>e==="shadow",rg=()=>{const e=ne("color"),t=ne("font"),n=ne("text"),r=ne("font-weight"),o=ne("tracking"),l=ne("leading"),i=ne("breakpoint"),s=ne("container"),a=ne("spacing"),u=ne("radius"),m=ne("shadow"),h=ne("inset-shadow"),p=ne("text-shadow"),w=ne("drop-shadow"),x=ne("blur"),y=ne("perspective"),j=ne("aspect"),f=ne("ease"),d=ne("animate"),v=()=>["auto","avoid","all","avoid-page","page","left","right","column"],k=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],C=()=>[...k(),I,L],P=()=>["auto","hidden","clip","visible","scroll"],E=()=>["auto","contain","none"],S=()=>[I,L,a],O=()=>[yt,"full","auto",...S()],z=()=>[xt,"none","subgrid",I,L],ee=()=>["auto",{span:["full",xt,I,L]},xt,I,L],Ne=()=>[xt,"auto",I,L],ht=()=>["auto","min","max","fr",I,L],dn=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],vt=()=>["start","end","center","stretch","center-safe","end-safe"],he=()=>["auto",...S()],Fe=()=>[yt,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...S()],R=()=>[yt,"screen","full","dvw","lvw","svw","min","max","fit",...S()],M=()=>[yt,"screen","full","lh","dvh","lvh","svh","min","max","fit",...S()],_=()=>[e,I,L],W=()=>[...k(),Lu,Tu,{position:[I,L]}],Z=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Vt=()=>["auto","cover","contain",qv,Kv,{size:[I,L]}],$e=()=>[ei,nr,Ht],te=()=>["","none","full",u,I,L],Q=()=>["",D,nr,Ht],nt=()=>["solid","dashed","dotted","double"],da=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],le=()=>[D,ei,Lu,Tu],fa=()=>["","none",x,I,L],Ur=()=>["none",D,I,L],Br=()=>["none",D,I,L],Pl=()=>[D,I,L],Wr=()=>[yt,"full",...S()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[rt],breakpoint:[rt],color:[kf],container:[rt],"drop-shadow":[rt],ease:["in","out","in-out"],font:[Gv],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[rt],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[rt],shadow:[rt],spacing:["px",D],text:[rt],"text-shadow":[rt],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",yt,L,I,j]}],container:["container"],columns:[{columns:[D,L,I,s]}],"break-after":[{"break-after":v()}],"break-before":[{"break-before":v()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:C()}],overflow:[{overflow:P()}],"overflow-x":[{"overflow-x":P()}],"overflow-y":[{"overflow-y":P()}],overscroll:[{overscroll:E()}],"overscroll-x":[{"overscroll-x":E()}],"overscroll-y":[{"overscroll-y":E()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:O()}],"inset-x":[{"inset-x":O()}],"inset-y":[{"inset-y":O()}],start:[{"inset-s":O(),start:O()}],end:[{"inset-e":O(),end:O()}],"inset-bs":[{"inset-bs":O()}],"inset-be":[{"inset-be":O()}],top:[{top:O()}],right:[{right:O()}],bottom:[{bottom:O()}],left:[{left:O()}],visibility:["visible","invisible","collapse"],z:[{z:[xt,"auto",I,L]}],basis:[{basis:[yt,"full","auto",s,...S()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[D,yt,"auto","initial","none",L]}],grow:[{grow:["",D,I,L]}],shrink:[{shrink:["",D,I,L]}],order:[{order:[xt,"first","last","none",I,L]}],"grid-cols":[{"grid-cols":z()}],"col-start-end":[{col:ee()}],"col-start":[{"col-start":Ne()}],"col-end":[{"col-end":Ne()}],"grid-rows":[{"grid-rows":z()}],"row-start-end":[{row:ee()}],"row-start":[{"row-start":Ne()}],"row-end":[{"row-end":Ne()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ht()}],"auto-rows":[{"auto-rows":ht()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...dn(),"normal"]}],"justify-items":[{"justify-items":[...vt(),"normal"]}],"justify-self":[{"justify-self":["auto",...vt()]}],"align-content":[{content:["normal",...dn()]}],"align-items":[{items:[...vt(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...vt(),{baseline:["","last"]}]}],"place-content":[{"place-content":dn()}],"place-items":[{"place-items":[...vt(),"baseline"]}],"place-self":[{"place-self":["auto",...vt()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pbs:[{pbs:S()}],pbe:[{pbe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:he()}],mx:[{mx:he()}],my:[{my:he()}],ms:[{ms:he()}],me:[{me:he()}],mbs:[{mbs:he()}],mbe:[{mbe:he()}],mt:[{mt:he()}],mr:[{mr:he()}],mb:[{mb:he()}],ml:[{ml:he()}],"space-x":[{"space-x":S()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":S()}],"space-y-reverse":["space-y-reverse"],size:[{size:Fe()}],"inline-size":[{inline:["auto",...R()]}],"min-inline-size":[{"min-inline":["auto",...R()]}],"max-inline-size":[{"max-inline":["none",...R()]}],"block-size":[{block:["auto",...M()]}],"min-block-size":[{"min-block":["auto",...M()]}],"max-block-size":[{"max-block":["none",...M()]}],w:[{w:[s,"screen",...Fe()]}],"min-w":[{"min-w":[s,"screen","none",...Fe()]}],"max-w":[{"max-w":[s,"screen","none","prose",{screen:[i]},...Fe()]}],h:[{h:["screen","lh",...Fe()]}],"min-h":[{"min-h":["screen","lh","none",...Fe()]}],"max-h":[{"max-h":["screen","lh",...Fe()]}],"font-size":[{text:["base",n,nr,Ht]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,tg,Yv]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ei,L]}],"font-family":[{font:[Jv,Xv,t]}],"font-features":[{"font-features":[L]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,I,L]}],"line-clamp":[{"line-clamp":[D,"none",I,Ru]}],leading:[{leading:[l,...S()]}],"list-image":[{"list-image":["none",I,L]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",I,L]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:_()}],"text-color":[{text:_()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...nt(),"wavy"]}],"text-decoration-thickness":[{decoration:[D,"from-font","auto",I,Ht]}],"text-decoration-color":[{decoration:_()}],"underline-offset":[{"underline-offset":[D,"auto",I,L]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:S()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",I,L]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",I,L]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:W()}],"bg-repeat":[{bg:Z()}],"bg-size":[{bg:Vt()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},xt,I,L],radial:["",I,L],conic:[xt,I,L]},eg,Zv]}],"bg-color":[{bg:_()}],"gradient-from-pos":[{from:$e()}],"gradient-via-pos":[{via:$e()}],"gradient-to-pos":[{to:$e()}],"gradient-from":[{from:_()}],"gradient-via":[{via:_()}],"gradient-to":[{to:_()}],rounded:[{rounded:te()}],"rounded-s":[{"rounded-s":te()}],"rounded-e":[{"rounded-e":te()}],"rounded-t":[{"rounded-t":te()}],"rounded-r":[{"rounded-r":te()}],"rounded-b":[{"rounded-b":te()}],"rounded-l":[{"rounded-l":te()}],"rounded-ss":[{"rounded-ss":te()}],"rounded-se":[{"rounded-se":te()}],"rounded-ee":[{"rounded-ee":te()}],"rounded-es":[{"rounded-es":te()}],"rounded-tl":[{"rounded-tl":te()}],"rounded-tr":[{"rounded-tr":te()}],"rounded-br":[{"rounded-br":te()}],"rounded-bl":[{"rounded-bl":te()}],"border-w":[{border:Q()}],"border-w-x":[{"border-x":Q()}],"border-w-y":[{"border-y":Q()}],"border-w-s":[{"border-s":Q()}],"border-w-e":[{"border-e":Q()}],"border-w-bs":[{"border-bs":Q()}],"border-w-be":[{"border-be":Q()}],"border-w-t":[{"border-t":Q()}],"border-w-r":[{"border-r":Q()}],"border-w-b":[{"border-b":Q()}],"border-w-l":[{"border-l":Q()}],"divide-x":[{"divide-x":Q()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Q()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...nt(),"hidden","none"]}],"divide-style":[{divide:[...nt(),"hidden","none"]}],"border-color":[{border:_()}],"border-color-x":[{"border-x":_()}],"border-color-y":[{"border-y":_()}],"border-color-s":[{"border-s":_()}],"border-color-e":[{"border-e":_()}],"border-color-bs":[{"border-bs":_()}],"border-color-be":[{"border-be":_()}],"border-color-t":[{"border-t":_()}],"border-color-r":[{"border-r":_()}],"border-color-b":[{"border-b":_()}],"border-color-l":[{"border-l":_()}],"divide-color":[{divide:_()}],"outline-style":[{outline:[...nt(),"none","hidden"]}],"outline-offset":[{"outline-offset":[D,I,L]}],"outline-w":[{outline:["",D,nr,Ht]}],"outline-color":[{outline:_()}],shadow:[{shadow:["","none",m,ao,so]}],"shadow-color":[{shadow:_()}],"inset-shadow":[{"inset-shadow":["none",h,ao,so]}],"inset-shadow-color":[{"inset-shadow":_()}],"ring-w":[{ring:Q()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:_()}],"ring-offset-w":[{"ring-offset":[D,Ht]}],"ring-offset-color":[{"ring-offset":_()}],"inset-ring-w":[{"inset-ring":Q()}],"inset-ring-color":[{"inset-ring":_()}],"text-shadow":[{"text-shadow":["none",p,ao,so]}],"text-shadow-color":[{"text-shadow":_()}],opacity:[{opacity:[D,I,L]}],"mix-blend":[{"mix-blend":[...da(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":da()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[D]}],"mask-image-linear-from-pos":[{"mask-linear-from":le()}],"mask-image-linear-to-pos":[{"mask-linear-to":le()}],"mask-image-linear-from-color":[{"mask-linear-from":_()}],"mask-image-linear-to-color":[{"mask-linear-to":_()}],"mask-image-t-from-pos":[{"mask-t-from":le()}],"mask-image-t-to-pos":[{"mask-t-to":le()}],"mask-image-t-from-color":[{"mask-t-from":_()}],"mask-image-t-to-color":[{"mask-t-to":_()}],"mask-image-r-from-pos":[{"mask-r-from":le()}],"mask-image-r-to-pos":[{"mask-r-to":le()}],"mask-image-r-from-color":[{"mask-r-from":_()}],"mask-image-r-to-color":[{"mask-r-to":_()}],"mask-image-b-from-pos":[{"mask-b-from":le()}],"mask-image-b-to-pos":[{"mask-b-to":le()}],"mask-image-b-from-color":[{"mask-b-from":_()}],"mask-image-b-to-color":[{"mask-b-to":_()}],"mask-image-l-from-pos":[{"mask-l-from":le()}],"mask-image-l-to-pos":[{"mask-l-to":le()}],"mask-image-l-from-color":[{"mask-l-from":_()}],"mask-image-l-to-color":[{"mask-l-to":_()}],"mask-image-x-from-pos":[{"mask-x-from":le()}],"mask-image-x-to-pos":[{"mask-x-to":le()}],"mask-image-x-from-color":[{"mask-x-from":_()}],"mask-image-x-to-color":[{"mask-x-to":_()}],"mask-image-y-from-pos":[{"mask-y-from":le()}],"mask-image-y-to-pos":[{"mask-y-to":le()}],"mask-image-y-from-color":[{"mask-y-from":_()}],"mask-image-y-to-color":[{"mask-y-to":_()}],"mask-image-radial":[{"mask-radial":[I,L]}],"mask-image-radial-from-pos":[{"mask-radial-from":le()}],"mask-image-radial-to-pos":[{"mask-radial-to":le()}],"mask-image-radial-from-color":[{"mask-radial-from":_()}],"mask-image-radial-to-color":[{"mask-radial-to":_()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":k()}],"mask-image-conic-pos":[{"mask-conic":[D]}],"mask-image-conic-from-pos":[{"mask-conic-from":le()}],"mask-image-conic-to-pos":[{"mask-conic-to":le()}],"mask-image-conic-from-color":[{"mask-conic-from":_()}],"mask-image-conic-to-color":[{"mask-conic-to":_()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:W()}],"mask-repeat":[{mask:Z()}],"mask-size":[{mask:Vt()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",I,L]}],filter:[{filter:["","none",I,L]}],blur:[{blur:fa()}],brightness:[{brightness:[D,I,L]}],contrast:[{contrast:[D,I,L]}],"drop-shadow":[{"drop-shadow":["","none",w,ao,so]}],"drop-shadow-color":[{"drop-shadow":_()}],grayscale:[{grayscale:["",D,I,L]}],"hue-rotate":[{"hue-rotate":[D,I,L]}],invert:[{invert:["",D,I,L]}],saturate:[{saturate:[D,I,L]}],sepia:[{sepia:["",D,I,L]}],"backdrop-filter":[{"backdrop-filter":["","none",I,L]}],"backdrop-blur":[{"backdrop-blur":fa()}],"backdrop-brightness":[{"backdrop-brightness":[D,I,L]}],"backdrop-contrast":[{"backdrop-contrast":[D,I,L]}],"backdrop-grayscale":[{"backdrop-grayscale":["",D,I,L]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[D,I,L]}],"backdrop-invert":[{"backdrop-invert":["",D,I,L]}],"backdrop-opacity":[{"backdrop-opacity":[D,I,L]}],"backdrop-saturate":[{"backdrop-saturate":[D,I,L]}],"backdrop-sepia":[{"backdrop-sepia":["",D,I,L]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",I,L]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[D,"initial",I,L]}],ease:[{ease:["linear","initial",f,I,L]}],delay:[{delay:[D,I,L]}],animate:[{animate:["none",d,I,L]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[y,I,L]}],"perspective-origin":[{"perspective-origin":C()}],rotate:[{rotate:Ur()}],"rotate-x":[{"rotate-x":Ur()}],"rotate-y":[{"rotate-y":Ur()}],"rotate-z":[{"rotate-z":Ur()}],scale:[{scale:Br()}],"scale-x":[{"scale-x":Br()}],"scale-y":[{"scale-y":Br()}],"scale-z":[{"scale-z":Br()}],"scale-3d":["scale-3d"],skew:[{skew:Pl()}],"skew-x":[{"skew-x":Pl()}],"skew-y":[{"skew-y":Pl()}],transform:[{transform:[I,L,"","none","gpu","cpu"]}],"transform-origin":[{origin:C()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Wr()}],"translate-x":[{"translate-x":Wr()}],"translate-y":[{"translate-y":Wr()}],"translate-z":[{"translate-z":Wr()}],"translate-none":["translate-none"],accent:[{accent:_()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:_()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",I,L]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mbs":[{"scroll-mbs":S()}],"scroll-mbe":[{"scroll-mbe":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pbs":[{"scroll-pbs":S()}],"scroll-pbe":[{"scroll-pbe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",I,L]}],fill:[{fill:["none",..._()]}],"stroke-w":[{stroke:[D,nr,Ht,Ru]}],stroke:[{stroke:["none",..._()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},og=Dv(rg);function Te(...e){return og(mf(e))}const lg=hv("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-accent text-accent-contrast hover:bg-accent-hover",destructive:"bg-destructive text-white hover:bg-destructive-hover",outline:"border border-border bg-transparent text-text-100 hover:bg-bg-200",ghost:"bg-transparent text-text-200 hover:bg-bg-200 hover:text-text-100"},size:{sm:"h-8 px-3 text-xs",md:"h-9 px-4",lg:"h-11 px-6 text-base"}},defaultVariants:{variant:"default",size:"md"}}),Rn=g.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...o},l)=>{const i=r?uv:"button";return c.jsx(i,{ref:l,className:Te(lg({variant:t,size:n}),e),...o})});Rn.displayName="Button";const Gn={session:"会话通道",chat:"chat",task:"task"},Or={"1h":"1 小时","24h":"24 小时","7d":"7 天"},rl={auth:"认证",queue:"排队",firstByte:"首字节",exec:"执行",wrapUp:"收尾"},Iu={queue:"等一个能跑的位置:新起一个 Pod,或等已有的 Pod 空出槽位。",firstByte:"从开始执行到第一次看到回应(会话通道算思考、工具调用、正文里最先出现的;chat / task 算第一个正文字)。",exec:"从第一次有回应到全部做完,中间可能多轮调工具。",wrapUp:"回复生成后先保存聊天记录(chat 还要清理 Pod),做完才把结果交回去。"},ig="会话通道不含在输入框里等上一轮做完的时间。",Rf={"auth-rejected":"调用 key 不对","central-unreachable":"连不上中心服务","image-pull":"镜像拉不下来",schedule:"排不上机器","container-start":"容器起不来",timeout:"超时","runtime-exited":"persona 中途退出","oom-killed":"内存超限被杀","runtime-error":"persona 报错","empty-reply":"没有回复",other:"其他"};function Mt(e){if(e==null||!Number.isFinite(e))return"—";const t=Math.round(e);if(t<1e3)return`${t} ms`;const n=Math.round(e/100)/10;if(n<10)return`${n.toFixed(1)} 秒`;const r=Math.round(e/1e3);if(r<60)return`${r} 秒`;const o=Math.floor(r/60);return`${o} 分 ${String(r-o*60).padStart(2,"0")} 秒`}function os(e,t){if(t<=0)return"—";const n=e/t*100;return n===100?"100%":`${n>=99.95?n.toFixed(2):n.toFixed(1)}%`}function Ge(e){return e.toLocaleString("zh-CN")}function sg(e){const t=e.lastIndexOf("@");if(t>=0)return e.slice(t+1).replace(/^sha256:/,"").slice(0,12);const n=e.lastIndexOf(":"),r=e.lastIndexOf("/");return n>r?e.slice(n+1):e}function sa(e){const t=new Date(e);return[t.getHours(),t.getMinutes(),t.getSeconds()].map(n=>String(n).padStart(2,"0")).join(":")}const ag=50*1024*1024;function pn(e){if(e==null||!Number.isFinite(e))return"—";if(e<1024)return`${Math.round(e)} B`;const t=["KB","MB","GB"];let n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n>=100||r===0?Math.round(n):n.toFixed(1).replace(/\.0$/,"")} ${t[r]}`}const ol=["session","chat","task"],Tf=["1h","24h","7d"],Lf=["auth","queue","firstByte","exec","wrapUp"],ug=[{stat:"avg",label:"平均",pick:e=>e.avgMs},{stat:"p50",label:"P50",pick:e=>e.p50Ms},{stat:"p95",label:"P95",pick:e=>e.p95Ms}],cg=12,ti=12,dg=.65;function fg(e){return ug.map(({stat:t,label:n,pick:r})=>{const o=Lf.flatMap(l=>{const i=e.segments[l],s=i?r(i):null;return i&&s!==null&&s>0?[{segment:l,value:s,samples:i.samples}]:[]});return{stat:t,label:n,parts:o,total:o.reduce((l,i)=>l+i.value,0)}}).filter(t=>t.parts.length>0)}function pg({x:e,y:t,width:n}){const r=t-ti/2;return e>n*dg?{right:n-e+ti,top:r}:{left:e+ti,top:r}}function ni(e){return Lf.filter(t=>e.some(n=>n.segments[t]!=null))}function mg({segments:e}){return c.jsx("ul",{className:"flex flex-wrap gap-x-4 gap-y-1 text-[12px] text-text-300","data-testid":"cpm-chain-legend",children:e.map(t=>c.jsxs("li",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"inline-block h-2.5 w-2.5 rounded-[2px]",style:{background:`var(--cpm-seg-${t})`}}),rl[t]]},t))})}function hg({segments:e,withSession:t}){const n=e.filter(r=>r in Iu);return c.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-[12px]","data-testid":"cpm-segment-notes",children:n.map(r=>c.jsxs("div",{className:"contents",children:[c.jsx("dt",{className:"text-text-300",children:rl[r]}),c.jsxs("dd",{className:"text-text-400",children:[Iu[r],r==="queue"&&t?ig:""]})]},r))})}function vg({row:e}){const[t,n]=g.useState(null),r=g.useRef(new Map),o=fg(e);return c.jsx("div",{className:"space-y-2","data-testid":`cpm-chain-${e.entry}`,children:o.map(l=>{const i=t&&t.stat===l.stat?l.parts.find(s=>s.segment===t.segment):void 0;return c.jsxs("div",{className:"flex items-center gap-3","data-testid":`cpm-chain-${e.entry}-${l.stat}`,children:[c.jsx("span",{className:"w-9 shrink-0 text-[12px] text-text-300",children:l.label}),c.jsxs("div",{className:"relative min-w-0 flex-1",ref:s=>{s?r.current.set(l.stat,s):r.current.delete(l.stat)},children:[c.jsx("div",{className:"flex h-6 items-stretch",style:{width:"100%"},children:l.parts.map((s,a)=>{const u=s.value/l.total*100,m=a===l.parts.length-1,h=(x,y)=>{var f;const j=(f=r.current.get(l.stat))==null?void 0:f.getBoundingClientRect();j&&n({stat:l.stat,segment:s.segment,x:x-j.left,y:y-j.top,width:j.width})},p=x=>h(x.clientX,x.clientY),w=x=>{const y=x.currentTarget.getBoundingClientRect();h(y.left+y.width/2,y.top)};return c.jsx("button",{type:"button","data-testid":`cpm-chain-${e.entry}-${l.stat}-${s.segment}`,"aria-label":`${l.label} ${rl[s.segment]} ${Mt(s.value)},样本 ${Ge(s.samples)}`,onPointerEnter:p,onPointerMove:p,onPointerLeave:()=>n(null),onFocus:w,onBlur:()=>n(null),className:Te("relative flex items-center justify-center overflow-visible text-[11px] font-medium outline-none","transition-[filter] hover:brightness-110 focus-visible:brightness-110",m?"rounded-r-[4px]":"mr-[2px]"),style:{width:`${u}%`,minWidth:3,background:`var(--cpm-seg-${s.segment})`,color:`var(--cpm-ink-${s.segment})`},children:u>=cg?Mt(s.value):null},s.segment)})}),t&&i?c.jsxs("div",{role:"tooltip","data-testid":"cpm-chain-tooltip",className:"pointer-events-none absolute z-10 -translate-y-full whitespace-nowrap rounded-md bg-text-100 px-2.5 py-1.5 text-[12px] text-bg-0 shadow-md",style:pg(t),children:[c.jsxs("span",{className:"font-semibold",children:[rl[i.segment]," ",Mt(i.value)]}),c.jsxs("span",{className:"opacity-70",children:[" ","· ",l.label," · 样本 ",Ge(i.samples)]})]}):null]})]},l.stat)})})}function If({rows:e}){const t=[...e].filter(r=>r.count>0).sort((r,o)=>o.count-r.count);if(t.length===0)return c.jsx("p",{className:"text-[13px] text-text-400","data-testid":"cpm-failures-empty",children:"这段时间没有失败。"});const n=t[0].count;return c.jsxs("table",{className:"w-full border-separate border-spacing-y-1.5","data-testid":"cpm-failures",children:[c.jsx("caption",{className:"sr-only",children:"失败分类与次数"}),c.jsx("tbody",{children:t.map(r=>c.jsxs("tr",{"data-testid":`cpm-failure-${r.category}`,children:[c.jsx("th",{scope:"row",className:"w-[132px] pr-3 text-left text-[13px] font-normal text-text-200",children:Rf[r.category]}),c.jsx("td",{children:c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("div",{className:"h-2.5 rounded-r-[4px]",style:{width:`${Math.max(r.count/n*100,1.5)}%`,maxWidth:"calc(100% - 48px)",background:"var(--cpm-bar)"}}),c.jsx("span",{className:"text-[12px] text-text-200 tabular-nums",children:Ge(r.count)})]})})]},r.category))})]})}function Dt(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function gg(e,t){const n=g.createContext(t),r=l=>{const{children:i,...s}=l,a=g.useMemo(()=>s,Object.values(s));return c.jsx(n.Provider,{value:a,children:i})};r.displayName=e+"Provider";function o(l){const i=g.useContext(n);if(i)return i;if(t!==void 0)return t;throw new Error(`\`${l}\` must be used within \`${e}\``)}return[r,o]}function yg(e,t=[]){let n=[];function r(l,i){const s=g.createContext(i),a=n.length;n=[...n,i];const u=h=>{var f;const{scope:p,children:w,...x}=h,y=((f=p==null?void 0:p[e])==null?void 0:f[a])||s,j=g.useMemo(()=>x,Object.values(x));return c.jsx(y.Provider,{value:j,children:w})};u.displayName=l+"Provider";function m(h,p){var y;const w=((y=p==null?void 0:p[e])==null?void 0:y[a])||s,x=g.useContext(w);if(x)return x;if(i!==void 0)return i;throw new Error(`\`${h}\` must be used within \`${l}\``)}return[u,m]}const o=()=>{const l=n.map(i=>g.createContext(i));return function(s){const a=(s==null?void 0:s[e])||l;return g.useMemo(()=>({[`__scope${e}`]:{...s,[e]:a}}),[s,a])}};return o.scopeName=e,[r,xg(o,...t)]}function xg(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(l){const i=r.reduce((s,{useScope:a,scopeName:u})=>{const h=a(l)[`__scope${u}`];return{...s,...h}},{});return g.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var zr=globalThis!=null&&globalThis.document?g.useLayoutEffect:()=>{},wg=ds[" useId ".trim().toString()]||(()=>{}),kg=0;function ri(e){const[t,n]=g.useState(wg());return zr(()=>{n(r=>r??String(kg++))},[e]),e||(t?`radix-${t}`:"")}var Sg=ds[" useInsertionEffect ".trim().toString()]||zr;function Eg({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,l,i]=Cg({defaultProp:t,onChange:n}),s=e!==void 0,a=s?e:o;{const m=g.useRef(e!==void 0);g.useEffect(()=>{const h=m.current;h!==s&&console.warn(`${r} is changing from ${h?"controlled":"uncontrolled"} to ${s?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),m.current=s},[s,r])}const u=g.useCallback(m=>{var h;if(s){const p=Ng(m)?m(e):m;p!==e&&((h=i.current)==null||h.call(i,p))}else l(m)},[s,e,l,i]);return[a,u]}function Cg({defaultProp:e,onChange:t}){const[n,r]=g.useState(e),o=g.useRef(n),l=g.useRef(t);return Sg(()=>{l.current=t},[t]),g.useEffect(()=>{var i;o.current!==n&&((i=l.current)==null||i.call(l,n),o.current=n)},[n,o]),[n,r,l]}function Ng(e){return typeof e=="function"}function Of(e){const t=jg(e),n=g.forwardRef((r,o)=>{const{children:l,...i}=r,s=g.Children.toArray(l),a=s.find(_g);if(a){const u=a.props.children,m=s.map(h=>h===a?g.Children.count(u)>1?g.Children.only(null):g.isValidElement(u)?u.props.children:null:h);return c.jsx(t,{...i,ref:o,children:g.isValidElement(u)?g.cloneElement(u,void 0,m):null})}return c.jsx(t,{...i,ref:o,children:l})});return n.displayName=`${e}.Slot`,n}function jg(e){const t=g.forwardRef((n,r)=>{const{children:o,...l}=n;if(g.isValidElement(o)){const i=Tg(o),s=Rg(l,o.props);return o.type!==g.Fragment&&(s.ref=r?oa(r,i):i),g.cloneElement(o,s)}return g.Children.count(o)>1?g.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Pg=Symbol("radix.slottable");function _g(e){return g.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Pg}function Rg(e,t){const n={...t};for(const r in t){const o=e[r],l=t[r];/^on[A-Z]/.test(r)?o&&l?n[r]=(...s)=>{const a=l(...s);return o(...s),a}:o&&(n[r]=o):r==="style"?n[r]={...o,...l}:r==="className"&&(n[r]=[o,l].filter(Boolean).join(" "))}return{...e,...n}}function Tg(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Lg=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],mt=Lg.reduce((e,t)=>{const n=Of(`Primitive.${t}`),r=g.forwardRef((o,l)=>{const{asChild:i,...s}=o,a=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(a,{...s,ref:l})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Ig(e,t){e&&na.flushSync(()=>e.dispatchEvent(t))}function Mr(e){const t=g.useRef(e);return g.useEffect(()=>{t.current=e}),g.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function Og(e,t=globalThis==null?void 0:globalThis.document){const n=Mr(e);g.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var zg="DismissableLayer",ls="dismissableLayer.update",Mg="dismissableLayer.pointerDownOutside",Dg="dismissableLayer.focusOutside",Ou,zf=g.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Mf=g.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:l,onInteractOutside:i,onDismiss:s,...a}=e,u=g.useContext(zf),[m,h]=g.useState(null),p=(m==null?void 0:m.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,w]=g.useState({}),x=un(t,E=>h(E)),y=Array.from(u.layers),[j]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),f=y.indexOf(j),d=m?y.indexOf(m):-1,v=u.layersWithOutsidePointerEventsDisabled.size>0,k=d>=f,C=Fg(E=>{const S=E.target,O=[...u.branches].some(z=>z.contains(S));!k||O||(o==null||o(E),i==null||i(E),E.defaultPrevented||s==null||s())},p),P=$g(E=>{const S=E.target;[...u.branches].some(z=>z.contains(S))||(l==null||l(E),i==null||i(E),E.defaultPrevented||s==null||s())},p);return Og(E=>{d===u.layers.size-1&&(r==null||r(E),!E.defaultPrevented&&s&&(E.preventDefault(),s()))},p),g.useEffect(()=>{if(m)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(Ou=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(m)),u.layers.add(m),zu(),()=>{n&&u.layersWithOutsidePointerEventsDisabled.size===1&&(p.body.style.pointerEvents=Ou)}},[m,p,n,u]),g.useEffect(()=>()=>{m&&(u.layers.delete(m),u.layersWithOutsidePointerEventsDisabled.delete(m),zu())},[m,u]),g.useEffect(()=>{const E=()=>w({});return document.addEventListener(ls,E),()=>document.removeEventListener(ls,E)},[]),c.jsx(mt.div,{...a,ref:x,style:{pointerEvents:v?k?"auto":"none":void 0,...e.style},onFocusCapture:Dt(e.onFocusCapture,P.onFocusCapture),onBlurCapture:Dt(e.onBlurCapture,P.onBlurCapture),onPointerDownCapture:Dt(e.onPointerDownCapture,C.onPointerDownCapture)})});Mf.displayName=zg;var bg="DismissableLayerBranch",Ag=g.forwardRef((e,t)=>{const n=g.useContext(zf),r=g.useRef(null),o=un(t,r);return g.useEffect(()=>{const l=r.current;if(l)return n.branches.add(l),()=>{n.branches.delete(l)}},[n.branches]),c.jsx(mt.div,{...e,ref:o})});Ag.displayName=bg;function Fg(e,t=globalThis==null?void 0:globalThis.document){const n=Mr(e),r=g.useRef(!1),o=g.useRef(()=>{});return g.useEffect(()=>{const l=s=>{if(s.target&&!r.current){let a=function(){Df(Mg,n,u,{discrete:!0})};const u={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=a,t.addEventListener("click",o.current,{once:!0})):a()}else t.removeEventListener("click",o.current);r.current=!1},i=window.setTimeout(()=>{t.addEventListener("pointerdown",l)},0);return()=>{window.clearTimeout(i),t.removeEventListener("pointerdown",l),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function $g(e,t=globalThis==null?void 0:globalThis.document){const n=Mr(e),r=g.useRef(!1);return g.useEffect(()=>{const o=l=>{l.target&&!r.current&&Df(Dg,n,{originalEvent:l},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function zu(){const e=new CustomEvent(ls);document.dispatchEvent(e)}function Df(e,t,n,{discrete:r}){const o=n.originalEvent.target,l=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?Ig(o,l):o.dispatchEvent(l)}var oi="focusScope.autoFocusOnMount",li="focusScope.autoFocusOnUnmount",Mu={bubbles:!1,cancelable:!0},Ug="FocusScope",bf=g.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:l,...i}=e,[s,a]=g.useState(null),u=Mr(o),m=Mr(l),h=g.useRef(null),p=un(t,y=>a(y)),w=g.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;g.useEffect(()=>{if(r){let y=function(v){if(w.paused||!s)return;const k=v.target;s.contains(k)?h.current=k:wt(h.current,{select:!0})},j=function(v){if(w.paused||!s)return;const k=v.relatedTarget;k!==null&&(s.contains(k)||wt(h.current,{select:!0}))},f=function(v){if(document.activeElement===document.body)for(const C of v)C.removedNodes.length>0&&wt(s)};document.addEventListener("focusin",y),document.addEventListener("focusout",j);const d=new MutationObserver(f);return s&&d.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",j),d.disconnect()}}},[r,s,w.paused]),g.useEffect(()=>{if(s){bu.add(w);const y=document.activeElement;if(!s.contains(y)){const f=new CustomEvent(oi,Mu);s.addEventListener(oi,u),s.dispatchEvent(f),f.defaultPrevented||(Bg(Gg(Af(s)),{select:!0}),document.activeElement===y&&wt(s))}return()=>{s.removeEventListener(oi,u),setTimeout(()=>{const f=new CustomEvent(li,Mu);s.addEventListener(li,m),s.dispatchEvent(f),f.defaultPrevented||wt(y??document.body,{select:!0}),s.removeEventListener(li,m),bu.remove(w)},0)}}},[s,u,m,w]);const x=g.useCallback(y=>{if(!n&&!r||w.paused)return;const j=y.key==="Tab"&&!y.altKey&&!y.ctrlKey&&!y.metaKey,f=document.activeElement;if(j&&f){const d=y.currentTarget,[v,k]=Wg(d);v&&k?!y.shiftKey&&f===k?(y.preventDefault(),n&&wt(v,{select:!0})):y.shiftKey&&f===v&&(y.preventDefault(),n&&wt(k,{select:!0})):f===d&&y.preventDefault()}},[n,r,w.paused]);return c.jsx(mt.div,{tabIndex:-1,...i,ref:p,onKeyDown:x})});bf.displayName=Ug;function Bg(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(wt(r,{select:t}),document.activeElement!==n)return}function Wg(e){const t=Af(e),n=Du(t,e),r=Du(t.reverse(),e);return[n,r]}function Af(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Du(e,t){for(const n of e)if(!Vg(n,{upTo:t}))return n}function Vg(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Hg(e){return e instanceof HTMLInputElement&&"select"in e}function wt(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Hg(e)&&t&&e.select()}}var bu=Qg();function Qg(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=Au(e,t),e.unshift(t)},remove(t){var n;e=Au(e,t),(n=e[0])==null||n.resume()}}}function Au(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Gg(e){return e.filter(t=>t.tagName!=="A")}var Kg="Portal",Ff=g.forwardRef((e,t)=>{var s;const{container:n,...r}=e,[o,l]=g.useState(!1);zr(()=>l(!0),[]);const i=n||o&&((s=globalThis==null?void 0:globalThis.document)==null?void 0:s.body);return i?Kh.createPortal(c.jsx(mt.div,{...r,ref:t}),i):null});Ff.displayName=Kg;function Yg(e,t){return g.useReducer((n,r)=>t[n][r]??n,e)}var Sl=e=>{const{present:t,children:n}=e,r=Xg(t),o=typeof n=="function"?n({present:r.isPresent}):g.Children.only(n),l=un(r.ref,Zg(o));return typeof n=="function"||r.isPresent?g.cloneElement(o,{ref:l}):null};Sl.displayName="Presence";function Xg(e){const[t,n]=g.useState(),r=g.useRef(null),o=g.useRef(e),l=g.useRef("none"),i=e?"mounted":"unmounted",[s,a]=Yg(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return g.useEffect(()=>{const u=uo(r.current);l.current=s==="mounted"?u:"none"},[s]),zr(()=>{const u=r.current,m=o.current;if(m!==e){const p=l.current,w=uo(u);e?a("MOUNT"):w==="none"||(u==null?void 0:u.display)==="none"?a("UNMOUNT"):a(m&&p!==w?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,a]),zr(()=>{if(t){let u;const m=t.ownerDocument.defaultView??window,h=w=>{const y=uo(r.current).includes(CSS.escape(w.animationName));if(w.target===t&&y&&(a("ANIMATION_END"),!o.current)){const j=t.style.animationFillMode;t.style.animationFillMode="forwards",u=m.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=j)})}},p=w=>{w.target===t&&(l.current=uo(r.current))};return t.addEventListener("animationstart",p),t.addEventListener("animationcancel",h),t.addEventListener("animationend",h),()=>{m.clearTimeout(u),t.removeEventListener("animationstart",p),t.removeEventListener("animationcancel",h),t.removeEventListener("animationend",h)}}else a("ANIMATION_END")},[t,a]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:g.useCallback(u=>{r.current=u?getComputedStyle(u):null,n(u)},[])}}function uo(e){return(e==null?void 0:e.animationName)||"none"}function Zg(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var ii=0;function Jg(){g.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??Fu()),document.body.insertAdjacentElement("beforeend",e[1]??Fu()),ii++,()=>{ii===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),ii--}},[])}function Fu(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var qe=function(){return qe=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(t[l]=n[l])}return t},qe.apply(this,arguments)};function $f(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function qg(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,l;r<o;r++)(l||!(r in t))&&(l||(l=Array.prototype.slice.call(t,0,r)),l[r]=t[r]);return e.concat(l||Array.prototype.slice.call(t))}var Ro="right-scroll-bar-position",To="width-before-scroll-bar",ey="with-scroll-bars-hidden",ty="--removed-body-scroll-bar-size";function si(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function ny(e,t){var n=g.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var ry=typeof window<"u"?g.useLayoutEffect:g.useEffect,$u=new WeakMap;function oy(e,t){var n=ny(null,function(r){return e.forEach(function(o){return si(o,r)})});return ry(function(){var r=$u.get(n);if(r){var o=new Set(r),l=new Set(e),i=n.current;o.forEach(function(s){l.has(s)||si(s,null)}),l.forEach(function(s){o.has(s)||si(s,i)})}$u.set(n,e)},[e]),n}function ly(e){return e}function iy(e,t){t===void 0&&(t=ly);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(l){var i=t(l,r);return n.push(i),function(){n=n.filter(function(s){return s!==i})}},assignSyncMedium:function(l){for(r=!0;n.length;){var i=n;n=[],i.forEach(l)}n={push:function(s){return l(s)},filter:function(){return n}}},assignMedium:function(l){r=!0;var i=[];if(n.length){var s=n;n=[],s.forEach(l),i=n}var a=function(){var m=i;i=[],m.forEach(l)},u=function(){return Promise.resolve().then(a)};u(),n={push:function(m){i.push(m),u()},filter:function(m){return i=i.filter(m),n}}}};return o}function sy(e){e===void 0&&(e={});var t=iy(null);return t.options=qe({async:!0,ssr:!1},e),t}var Uf=function(e){var t=e.sideCar,n=$f(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return g.createElement(r,qe({},n))};Uf.isSideCarExport=!0;function ay(e,t){return e.useMedium(t),Uf}var Bf=sy(),ai=function(){},El=g.forwardRef(function(e,t){var n=g.useRef(null),r=g.useState({onScrollCapture:ai,onWheelCapture:ai,onTouchMoveCapture:ai}),o=r[0],l=r[1],i=e.forwardProps,s=e.children,a=e.className,u=e.removeScrollBar,m=e.enabled,h=e.shards,p=e.sideCar,w=e.noRelative,x=e.noIsolation,y=e.inert,j=e.allowPinchZoom,f=e.as,d=f===void 0?"div":f,v=e.gapMode,k=$f(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),C=p,P=oy([n,t]),E=qe(qe({},k),o);return g.createElement(g.Fragment,null,m&&g.createElement(C,{sideCar:Bf,removeScrollBar:u,shards:h,noRelative:w,noIsolation:x,inert:y,setCallbacks:l,allowPinchZoom:!!j,lockRef:n,gapMode:v}),i?g.cloneElement(g.Children.only(s),qe(qe({},E),{ref:P})):g.createElement(d,qe({},E,{className:a,ref:P}),s))});El.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};El.classNames={fullWidth:To,zeroRight:Ro};var uy=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function cy(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=uy();return t&&e.setAttribute("nonce",t),e}function dy(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function fy(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var py=function(){var e=0,t=null;return{add:function(n){e==0&&(t=cy())&&(dy(t,n),fy(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},my=function(){var e=py();return function(t,n){g.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Wf=function(){var e=my(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},hy={left:0,top:0,right:0,gap:0},ui=function(e){return parseInt(e||"",10)||0},vy=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[ui(n),ui(r),ui(o)]},gy=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return hy;var t=vy(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},yy=Wf(),Dn="data-scroll-locked",xy=function(e,t,n,r){var o=e.left,l=e.top,i=e.right,s=e.gap;return n===void 0&&(n="margin"),`
102
102
  .`.concat(ey,` {
103
103
  overflow: hidden `).concat(r,`;
104
104
  padding-right: `).concat(s,"px ").concat(r,`;
@@ -142,7 +142,7 @@ Error generating stack: `+l.message+`
142
142
 
143
143
  If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
144
144
 
145
- For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return g.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},Qy="DialogDescriptionWarning",Gy=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${cp(Qy).contentName}}.`;return g.useEffect(()=>{var l;const o=(l=e.current)==null?void 0:l.getAttribute("aria-describedby");t&&o&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},Ky=Xf,Yy=Jf,Xy=ep,Zy=tp,Jy=np,qy=op,e0=ip,t0=ap;const n0=Ky,r0=Yy,o0=Xy,dp=g.forwardRef(({className:e,...t},n)=>c.jsx(Zy,{ref:n,className:Te("fixed inset-0 z-50 bg-black/50",e),...t}));dp.displayName="DrawerOverlay";const fp=g.forwardRef(({className:e,children:t,side:n="right",hideBuiltInClose:r,style:o,...l},i)=>c.jsxs(o0,{children:[c.jsx(dp,{}),c.jsxs(Jy,{ref:i,className:Te("fixed inset-y-0 z-50 flex h-full w-[360px] flex-col gap-4",n==="right"?"right-0 border-l border-border":"left-0 border-r border-border","bg-elevated p-6 shadow-lg outline-none",e),style:{paddingTop:"env(safe-area-inset-top)",...o},...l,children:[t,r?null:c.jsxs(t0,{className:"absolute right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-accent",style:{top:"calc(env(safe-area-inset-top) + 1rem)"},children:[c.jsx(lv,{className:"h-4 w-4"}),c.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));fp.displayName="DrawerContent";const pp=({className:e,...t})=>c.jsx("div",{className:Te("flex flex-col space-y-1.5",e),...t});pp.displayName="DrawerHeader";const mp=g.forwardRef(({className:e,...t},n)=>c.jsx(qy,{ref:n,className:Te("text-lg font-semibold text-text-100",e),...t}));mp.displayName="DrawerTitle";const hp=g.forwardRef(({className:e,...t},n)=>c.jsx(e0,{ref:n,className:Te("text-sm text-text-300",e),...t}));hp.displayName="DrawerDescription";function Hu({taskSelected:e=!1,state:t={kind:"idle"},onScan:n,onLoadMore:r}){const[o,l]=g.useState(""),i=t.kind!=="idle"&&t.threadId===o.trim(),s=i&&"data"in t?t.data:void 0;return c.jsxs(n0,{children:[c.jsx(r0,{asChild:!0,children:c.jsx(Rn,{variant:"outline",size:"sm",children:"按会话排查"})}),c.jsxs(fp,{className:"w-full max-w-[540px] overflow-y-auto",children:[c.jsxs(pp,{children:[c.jsx(mp,{children:"按会话排查失败原因"}),c.jsx(hp,{children:"输入 threadId,扫描当前 persona 和时间窗内的失败请求。只包含已采集关联 ID 的指标。"})]}),c.jsxs("form",{className:"flex flex-col gap-3",onSubmit:a=>{a.preventDefault(),n==null||n(o.trim())},children:[c.jsx("label",{className:"text-[13px] text-text-300",htmlFor:"cpm-thread-id",children:"threadId"}),c.jsx("input",{id:"cpm-thread-id",value:o,onChange:a=>l(a.target.value),className:"h-9 rounded-md border border-border bg-bg-0 px-3 text-[13px] text-text-100"}),e?c.jsx("p",{className:"text-[12px] text-text-400",children:"task 使用 taskId。请切换到全部、会话通道或 chat 再扫描。"}):null,c.jsx(Rn,{type:"submit",disabled:!o.trim()||e||i&&t.kind==="loading","data-testid":"cpm-issues-scan",children:"扫描"})]}),i&&t.kind==="loading"?c.jsx("p",{role:"status",className:"text-[13px] text-text-300",children:"正在扫描失败记录…"}):null,i&&t.kind==="error"?c.jsxs("div",{role:"alert",className:"text-[13px] text-destructive",children:["查询失败:",t.message," ",c.jsx(Rn,{variant:"outline",size:"sm",onClick:()=>n==null?void 0:n(o.trim()),children:"重试"})]}):null,s?c.jsxs("div",{className:"space-y-4","data-testid":"cpm-issues-result",children:[s.failures.length?c.jsxs(c.Fragment,{children:[c.jsx("h3",{className:"text-[13px] font-medium",children:"命中的失败原因"}),c.jsx(If,{rows:s.failures})]}):null,s.records.length?c.jsxs("section",{children:[c.jsxs("h3",{className:"mb-2 text-[13px] font-medium",children:["失败记录 · 已加载 ",Ge(s.records.length)," 条"]}),c.jsx("ul",{className:"space-y-2",children:s.records.map((a,u)=>c.jsxs("li",{className:"rounded-md border border-border p-3 text-[12px] text-text-300",children:[c.jsxs("div",{className:"font-medium text-text-100",children:[Rf[a.category]??a.category," · ",Gn[a.entry]??a.entry]}),c.jsx("div",{children:a.at?new Date(a.at).toLocaleString("zh-CN"):"时间未知"}),a.requestId?c.jsxs("div",{children:["请求 ID:",c.jsx("code",{children:a.requestId})]}):null,a.sessionId?c.jsxs("div",{children:["会话通道 ID:",c.jsx("code",{children:a.sessionId})]}):null]},`${a.requestId??"legacy"}-${u}`))})]}):t.kind==="ready"?c.jsx("p",{className:"text-[13px] text-text-300",children:"此时间窗未找到带该 threadId 的失败指标。"}):null,t.kind==="ready"&&s.hasMore?c.jsx(Rn,{variant:"outline",size:"sm",onClick:r,"data-testid":"cpm-issues-more",children:"继续加载"}):null,t.kind==="ready"&&!s.hasMore&&s.records.length>0?c.jsx("p",{className:"text-[12px] text-text-400",children:"本次扫描已读完当前可见记录;新日志稍后入库可重新扫描。"}):null,c.jsx("p",{className:"text-[12px] text-text-400",children:"旧记录或会话建立前的失败可能没有 threadId,无法通过此处关联。"})]}):null]})]})}function vp({personas:e,selection:t,onSelectionChange:n,state:r,linkExpiresAt:o,now:l,onRetry:i,issueState:s,onScanThread:a,onLoadMoreIssues:u}){if(r.kind==="error"&&r.error.kind==="link-expired")return c.jsx(Qu,{children:c.jsxs("div",{className:"mx-auto mt-24 max-w-[420px] text-center","data-testid":"cpm-link-expired",children:[c.jsx("h1",{className:"text-[18px] font-semibold text-text-100",children:"这个链接已经过期"}),c.jsx("p",{className:"mt-2 text-[13px] text-text-300",children:"回到 clawd 的「设置 → Dashboard」,重新点一次「云 persona 运行状况」。"})]})});const m=r.kind==="ready"?r.data:r.kind==="error"?r.lastData:void 0,h=r.kind==="ready"&&r.refreshing||r.kind==="error"&&!!r.lastData,p=x=>n({...t,...x}),w=t.entry?[t.entry]:ol;return c.jsxs(Qu,{children:[c.jsxs("header",{className:"mb-5",children:[c.jsx("h1",{className:"text-[22px] font-semibold text-text-100",children:"云 persona 运行状况"}),c.jsxs("p",{className:"mt-1 text-[12px] text-text-400",children:["实时数据每 15 秒刷新",o?` · 这个链接 ${p0(o-l)}后过期`:""]})]}),c.jsxs("div",{className:"mb-6 flex flex-wrap items-center gap-x-5 gap-y-3","data-testid":"cpm-filters",children:[c.jsxs("label",{className:"flex items-center gap-2 text-[13px] text-text-300",children:["persona",c.jsx("select",{"data-testid":"cpm-filter-persona",value:t.personaId,onChange:x=>p({personaId:x.target.value}),className:"h-8 rounded-md border border-border bg-bg-0 px-2 text-[13px] text-text-100",children:e.map(x=>c.jsx("option",{value:x,children:x},x))})]}),c.jsx(Gu,{label:"用法",testid:"cpm-filter-entry",value:t.entry??"all",options:[{value:"all",label:"全部"},...ol.map(x=>({value:x,label:Gn[x]}))],onChange:x=>p({entry:x==="all"?null:x})}),c.jsx(Gu,{label:"时间",testid:"cpm-filter-window",value:t.window,options:Tf.map(x=>({value:x,label:`最近 ${Or[x]}`})),onChange:x=>p({window:x})}),c.jsxs("label",{className:"flex items-center gap-2 text-[13px] text-text-300",children:[c.jsx("input",{type:"checkbox","data-testid":"cpm-filter-by-version",checked:t.byVersion,onChange:x=>p({byVersion:x.target.checked}),className:"h-3.5 w-3.5 accent-[rgb(var(--accent-color))]"}),"按版本看"]})]}),r.kind==="error"&&r.error.kind==="gateway-unreachable"?c.jsxs("div",{role:"alert","data-testid":"cpm-error",className:"mb-6 flex items-start gap-2.5 rounded-lg border border-destructive/30 bg-destructive/5 px-4 py-3 text-[13px]",children:[c.jsx(rv,{className:"mt-0.5 h-4 w-4 shrink-0 text-destructive"}),c.jsxs("div",{className:"flex-1",children:[c.jsx("div",{className:"font-medium text-text-100",children:"连不上云上的服务,数据没有更新"}),c.jsx("div",{className:"mt-0.5 text-text-300",children:r.error.message}),r.lastData?c.jsxs("div",{className:"mt-0.5 text-text-400",children:["下面是 ",sa(r.lastData.generatedAt)," 的数据。"]}):null]}),i?c.jsxs(Rn,{variant:"outline",size:"sm",onClick:i,"data-testid":"cpm-retry",children:[c.jsx(tv,{className:"mr-1.5 h-3.5 w-3.5"}),"重试"]}):null]}):null,r.kind==="error"&&(r.error.kind==="not-viewer"||r.error.kind==="no-personas")?c.jsx("p",{className:"py-16 text-center text-[13px] text-text-400","data-testid":`cpm-${r.error.kind}`,children:r.error.kind==="not-viewer"?`看不了这个 persona 的运行数据:${r.error.message??"只有发布它的人能看。"}`:"你还没有发布过云 persona,这里没有可看的运行数据。"}):m?c.jsxs("div",{className:Te("cpm-viz space-y-8 transition-opacity",h&&"opacity-60"),"data-testid":"cpm-content",children:[c.jsx(i0,{data:m,shown:w,showBreakdown:!t.entry}),m.history?c.jsxs(c.Fragment,{children:[c.jsx(a0,{history:m.history,shown:w,window:t.window,taskSelected:t.entry==="task",issueState:s,onScanThread:a,onLoadMoreIssues:u}),c.jsx(c0,{history:m.history,shown:w,window:t.window}),m.history.snapshots&&t.entry!=="task"?c.jsx(d0,{snapshots:m.history.snapshots,window:t.window}):null,t.byVersion?c.jsx(f0,{history:m.history}):null]}):c.jsx(ln,{title:"质量与延迟",children:c.jsxs("div",{className:"rounded-lg border border-border bg-bg-50 px-4 py-3 text-[13px] text-text-300","data-testid":"cpm-history-unavailable",children:["云上还没接好日志服务,历史数据暂时看不到;上面的实时数据不受影响。",m.historyUnavailableReason?c.jsx("div",{className:"mt-1 text-[12px] text-text-400",children:m.historyUnavailableReason}):null]})})]}):c.jsx("p",{className:"py-16 text-center text-[13px] text-text-400","data-testid":"cpm-loading",children:"正在取数据…"})]})}function Qu({children:e}){return c.jsx("div",{className:"min-h-screen bg-bg-0 text-text-100",children:c.jsx("div",{className:"mx-auto max-w-[1040px] px-6 py-8 md:px-8",children:e})})}function ln({title:e,aside:t,children:n,testid:r}){return c.jsxs("section",{"data-testid":r,children:[c.jsxs("div",{className:"mb-3 flex items-baseline gap-2",children:[c.jsx("h2",{className:"text-[15px] font-semibold text-text-100",children:e}),t?c.jsx("span",{className:"text-[12px] text-text-400",children:t}):null]}),n]})}function bt({title:e,children:t,className:n}){return c.jsxs("div",{className:Te("rounded-lg border border-border bg-bg-0 px-4 py-3.5",n),children:[e?c.jsx("div",{className:"mb-2.5 text-[13px] font-medium text-text-200",children:e}):null,t]})}function Gu({label:e,testid:t,value:n,options:r,onChange:o}){return c.jsxs("div",{className:"flex items-center gap-2 text-[13px] text-text-300",children:[e,c.jsx("div",{role:"radiogroup","aria-label":e,"data-testid":t,className:"inline-flex items-center rounded-md border border-border bg-bg-50 p-0.5",children:r.map(l=>{const i=l.value===n;return c.jsx("button",{type:"button",role:"radio","aria-checked":i,"data-testid":`${t}-${l.value}`,onClick:()=>o(l.value),className:Te("rounded px-2.5 py-1 text-xs font-medium transition-colors",i?"bg-elevated text-text-100 shadow-sm":"text-text-400 hover:text-text-200"),children:l.label},l.value)})})]})}const l0=(e,t)=>t.reduce((n,r)=>n+e[r],0);function i0({data:e,shown:t,showBreakdown:n}){const r=[{key:"pods",label:"在跑的 Pod",hint:"会话通道的 Pod 聊完一轮还会留着,空闲 5 分钟才收"},{key:"queued",label:"排队中",hint:"在等有空的执行位置"},{key:"executing",label:"执行中",hint:"persona 正在处理"},{key:"wrappingUp",label:"收尾中",hint:"处理完了,在存聊天记录、清理 Pod"}];return c.jsx(ln,{title:"实时",aside:`更新于 ${sa(e.generatedAt)}`,testid:"cpm-realtime",children:c.jsx("div",{className:"grid grid-cols-2 gap-3 md:grid-cols-4",children:r.map(o=>{const l=e.realtime[o.key];return c.jsxs(bt,{children:[c.jsx("div",{className:"text-[12px] text-text-400",title:o.hint,children:o.label}),c.jsx("div",{className:"mt-1 text-[28px] font-semibold leading-tight text-text-100","data-testid":`cpm-realtime-${o.key}`,children:l?Ge(l0(l,t)):"—"}),l?n?c.jsx("div",{className:"mt-1 text-[11px] text-text-400",children:ol.map(i=>`${Gn[i]} ${l[i]}`).join(" · ")}):null:c.jsx("div",{className:"mt-1 text-[11px] text-text-400","data-testid":`cpm-realtime-${o.key}-unavailable`,children:e.realtime.podsUnavailableReason})]},o.key)})})})}function s0(e){return`样本 ${Ge(e.reduce((t,n)=>t+n.success+n.failure,0))} 次`}function a0({history:e,shown:t,window:n,taskSelected:r,issueState:o,onScanThread:l,onLoadMoreIssues:i}){const s=e.byEntry.filter(p=>t.includes(p.entry)),a=s.reduce((p,w)=>p+w.success,0),u=s.reduce((p,w)=>p+w.failure,0),m=s.reduce((p,w)=>p+w.interrupted,0),h=a+u+m===0&&e.failures.every(p=>p.count===0);return c.jsx(ln,{title:"质量",aside:`最近 ${Or[n]}`,testid:"cpm-quality",children:h?c.jsxs("div",{className:"space-y-3",children:[c.jsx(gp,{}),c.jsx(Hu,{taskSelected:r,state:o,onScan:l,onLoadMore:i})]}):c.jsxs("div",{className:"grid gap-3 md:grid-cols-[minmax(0,1fr)_minmax(0,1.6fr)]",children:[c.jsx("div",{className:"grid gap-3",children:c.jsxs(bt,{children:[c.jsx("div",{className:"text-[12px] text-text-400",children:"成功率"}),c.jsx("div",{className:"mt-1 text-[48px] font-semibold leading-none text-text-100","data-testid":"cpm-success-rate",children:os(a,a+u)}),c.jsxs("div",{className:"mt-2 text-[11px] text-text-400","data-testid":"cpm-samples",children:[s0(s),m>0?` · 用户自己停掉的 ${Ge(m)} 轮不计入`:""]}),s.length>1?c.jsx("div",{className:"mt-2.5 space-y-0.5 text-[12px] text-text-300",children:s.map(p=>c.jsxs("div",{className:"flex justify-between",children:[c.jsx("span",{children:Gn[p.entry]}),c.jsx("span",{className:"tabular-nums",children:os(p.success,p.success+p.failure)})]},p.entry))}):null]})}),c.jsxs(bt,{title:"失败原因",children:[c.jsx(If,{rows:e.failures}),c.jsx("div",{className:"mt-4 border-t border-border pt-3",children:c.jsx(Hu,{taskSelected:r,state:o,onScan:l,onLoadMore:i})})]}),c.jsx(bt,{title:"连接器",className:"md:col-span-2",children:c.jsx(u0,{rows:e.connectors})})]})})}function u0({rows:e}){return e.length===0?c.jsx("p",{className:"text-[13px] text-text-400",children:"这段时间没有连接器调用。"}):c.jsxs("table",{className:"w-full text-[13px]","data-testid":"cpm-connectors",children:[c.jsx("thead",{children:c.jsxs("tr",{className:"text-left text-[12px] text-text-400",children:[c.jsx("th",{className:"py-1 pr-3 font-normal",children:"连接器"}),c.jsx(V,{head:!0,children:"调用"}),c.jsx(V,{head:!0,children:"成功"}),c.jsx(V,{head:!0,children:"请求有误 (4xx)"}),c.jsx(V,{head:!0,children:"上游出错 (5xx)"}),c.jsx(V,{head:!0,children:"连不上中心"}),c.jsx(V,{head:!0,title:"起 Pod 时使用者还没授权这个连接器",children:"没授权"})]})}),c.jsx("tbody",{children:e.map(t=>c.jsxs("tr",{className:"border-t border-border",children:[c.jsx("td",{className:"py-1.5 pr-3 text-text-100",children:t.connector}),c.jsx(V,{children:t.calls}),c.jsx(V,{children:t.ok}),c.jsx(V,{children:t.clientError}),c.jsx(V,{children:t.serverError}),c.jsx(V,{children:t.unreachable}),c.jsx(V,{children:t.unauthorized})]},t.connector))})]})}function V({children:e,head:t,title:n}){const r="py-1.5 pl-3 text-right tabular-nums";return t?c.jsx("th",{className:Te(r,"font-normal"),title:n,children:e}):c.jsx("td",{className:Te(r,"text-text-200"),children:typeof e=="number"?Ge(e):e})}function gp(){return c.jsx("p",{className:"rounded-lg border border-dashed border-border px-4 py-6 text-center text-[13px] text-text-400","data-testid":"cpm-empty",children:"这段时间没有请求。"})}function c0({history:e,shown:t,window:n}){const r=e.byEntry.filter(s=>t.includes(s.entry)&&s.samples>0),o=t.length>1,l=ni(r),i=c.jsx("p",{className:"text-[13px] text-text-400","data-testid":"cpm-latency-no-success",children:"这段时间没有成功完成的请求,耗时只算成功的。"});return c.jsx(ln,{title:"延迟",aside:`最近 ${Or[n]}`,testid:"cpm-latency",children:r.length===0?c.jsx(gp,{}):c.jsxs(bt,{children:[l.length>0?c.jsx("div",{className:"mb-3",children:c.jsx(mg,{segments:l})}):null,c.jsx("div",{className:"space-y-5",children:r.map(s=>c.jsxs("div",{children:[o?c.jsx("div",{className:"mb-1.5 text-[13px] font-medium text-text-200",children:Gn[s.entry]}):null,ni([s]).length>0?c.jsx(vg,{row:s}):i]},s.entry))}),l.length>0?c.jsx("div",{className:"mt-4 border-t border-border pt-3",children:c.jsx(hg,{segments:l,withSession:r.some(s=>s.entry==="session"&&ni([s]).length>0)})}):null]})})}function d0({snapshots:e,window:t}){const n=pn(ag);if(e.count===0)return c.jsx(ln,{title:"会话快照",aside:`最近 ${Or[t]}`,testid:"cpm-snapshots",children:c.jsx("p",{className:"rounded-lg border border-dashed border-border px-4 py-6 text-center text-[13px] text-text-400","data-testid":"cpm-snapshots-empty",children:"这段时间没有快照。"})});const r=[{label:"快照数",value:Ge(e.count),testid:"count"},{label:"大小 P50 / P95",value:`${pn(e.bytes.p50)} / ${pn(e.bytes.p95)}`,sub:`最大 ${pn(e.bytes.max)}`,testid:"bytes"},{label:"打包耗时 P50 / P95",value:`${Mt(e.packMs.p50Ms)} / ${Mt(e.packMs.p95Ms)}`,testid:"pack"},{label:`超过 ${n}`,value:Ge(e.oversized),sub:e.tooLarge>0?`其中 ${Ge(e.tooLarge)} 份超过 2 GB 没保存`:void 0,testid:"oversized",warn:e.oversized>0}];return c.jsxs(ln,{title:"会话快照",aside:`每轮对话后保存的工作区与引擎状态 · 最近 ${Or[t]}`,testid:"cpm-snapshots",children:[c.jsx("div",{className:"grid grid-cols-2 gap-3 md:grid-cols-4",children:r.map(o=>c.jsxs(bt,{children:[c.jsx("div",{className:"text-[12px] text-text-400",children:o.label}),c.jsx("div",{className:Te("mt-1 text-[20px] font-semibold leading-tight tabular-nums",o.warn?"text-destructive":"text-text-100"),"data-testid":`cpm-snapshots-${o.testid}`,children:o.value}),o.sub?c.jsx("div",{className:"mt-1 text-[11px] text-text-400",children:o.sub}):null]},o.testid))}),c.jsx(bt,{className:"mt-3",children:e.recentOversized.length===0?c.jsxs("p",{className:"text-[13px] text-text-400","data-testid":"cpm-snapshots-none-oversized",children:["这段时间没有超过 ",n," 的快照。"]}):c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"mb-2 text-[13px] font-medium text-text-200",children:["偏大的快照(最近 ",e.recentOversized.length," 份)"]}),c.jsxs("table",{className:"w-full text-[13px]","data-testid":"cpm-snapshots-table",children:[c.jsx("thead",{children:c.jsxs("tr",{className:"text-left text-[12px] text-text-400",children:[c.jsx("th",{className:"py-1 pr-3 font-normal",children:"时间"}),c.jsx("th",{className:"py-1 pr-3 font-normal",children:"用法"}),c.jsx(V,{head:!0,children:"大小"}),c.jsx(V,{head:!0,children:"打包"}),c.jsx("th",{className:"py-1 pl-3 font-normal",title:"打包前的文件大小,和左边压缩后的大小不是一个口径",children:"占空间最大的目录(压缩前)"}),c.jsx("th",{className:"py-1 pl-3 font-normal",children:"会话"})]})}),c.jsx("tbody",{children:e.recentOversized.map((o,l)=>c.jsxs("tr",{className:"border-t border-border align-top",children:[c.jsx("td",{className:"py-1.5 pr-3 tabular-nums text-text-300",children:o.at?sa(o.at):"—"}),c.jsx("td",{className:"py-1.5 pr-3 text-text-300",children:Gn[o.entry]}),c.jsx(V,{children:o.tooLarge?c.jsx("span",{className:"text-destructive",children:"超过 2 GB 没保存"}):pn(o.bytes)}),c.jsx(V,{children:Mt(o.packMs)}),c.jsx("td",{className:"py-1.5 pl-3",children:o.topDirs.length===0?c.jsx("span",{className:"text-text-400",children:"—"}):c.jsx("ul",{className:"space-y-0.5 font-mono text-[12px]",children:o.topDirs.map(([i,s])=>c.jsxs("li",{className:"flex justify-between gap-3",children:[c.jsx("span",{className:"truncate text-text-100",title:i,children:i}),c.jsx("span",{className:"shrink-0 tabular-nums text-text-300",children:pn(s)})]},i))})}),c.jsx("td",{className:"max-w-[160px] truncate py-1.5 pl-3 font-mono text-[12px] text-text-300",title:o.threadId??void 0,children:o.threadId??"—"})]},`${o.jobName}-${o.at}-${l}`))})]})]})})]})}function f0({history:e}){return c.jsx(ln,{title:"按版本",aside:"每次发布是一个版本,看新版有没有变差",testid:"cpm-by-version",children:c.jsx(bt,{children:e.byVersion.length===0?c.jsx("p",{className:"text-[13px] text-text-400",children:"这段时间没有请求。"}):c.jsxs("table",{className:"w-full text-[13px]",children:[c.jsx("thead",{children:c.jsxs("tr",{className:"text-left text-[12px] text-text-400",children:[c.jsx("th",{className:"py-1 pr-3 font-normal",children:"版本"}),c.jsx(V,{head:!0,children:"样本"}),c.jsx(V,{head:!0,children:"成功率"}),c.jsx(V,{head:!0,children:"执行 P50"}),c.jsx(V,{head:!0,children:"执行 P95"})]})}),c.jsx("tbody",{children:e.byVersion.map(t=>c.jsxs("tr",{className:"border-t border-border",children:[c.jsx("td",{className:"py-1.5 pr-3 font-mono text-[12px] text-text-100",title:t.image,children:sg(t.image)}),c.jsx(V,{children:t.samples}),c.jsx(V,{children:os(t.success,t.success+t.failure)}),c.jsx(V,{children:Mt(t.exec.p50Ms)}),c.jsx(V,{children:Mt(t.exec.p95Ms)})]},t.image))})]})})})}function p0(e){if(e<=0)return"马上";const t=Math.floor(e/36e5);return t>=1?`${t} 小时`:`${Math.max(1,Math.round(e/6e4))} 分钟`}function m0(e,t){if(e.pathname!==`/dashboard/${t}`)return null;const n=new URLSearchParams(e.search),r=n.get("e"),o=n.get("s");return!r||!o||!/^\d+$/.test(r)?null:{link:{e:r,s:o,expiresAt:Number(r)*1e3},query:n}}const h0=e=>new URLSearchParams({e:e.e,s:e.s}),v0={"principal has been revoked":"你的 clawd 账号已被停用,找管理员恢复"};async function g0(e){const t=await e.json().catch(()=>null),n=t==null?void 0:t.message,r=typeof n=="string"&&n?n:Array.isArray(n)&&n.length>0?n.map(String).join(";"):typeof(t==null?void 0:t.error)=="string"?t.error:void 0,o=r===void 0?void 0:v0[r]??r;return e.status===403?(t==null?void 0:t.code)==="LINK_EXPIRED"||(t==null?void 0:t.code)==="LINK_INVALID"?{kind:"link-expired"}:o?{kind:"not-viewer",message:o}:{kind:"not-viewer"}:{kind:"unreachable",message:o??`HTTP ${e.status}`}}const yp="cloud-persona-metrics",Nl=`/dashboard/${yp}`;function y0(e){const t=m0(e,yp);if(!t)return null;const n=t.query,r=n.get("entry"),o=n.get("window");return{...t.link,selection:{personaId:n.get("persona")??"",entry:r&&ol.includes(r)?r:null,window:o&&Tf.includes(o)?o:"24h",byVersion:n.get("v")==="1"}}}const jl=e=>h0(e);function x0(e,t){const n=jl(e);return t.personaId&&n.set("persona",t.personaId),t.entry&&n.set("entry",t.entry),n.set("window",t.window),t.byVersion&&n.set("v","1"),`${Nl}?${n}`}const w0=e=>`${Nl}/personas?${jl(e)}`;function k0(e,t){const n=jl(e);return n.set("persona",t.personaId),n.set("window",t.window),t.entry&&n.set("entry",t.entry),`${Nl}/data?${n}`}function Ku(e,t,n,r,o){const l=jl(e);return l.set("persona",t.personaId),l.set("threadId",n),l.set("window",t.window),t.entry&&l.set("entry",t.entry),r&&l.set("cursor",r),o!==null&&l.set("snapshotTo",String(o)),`${Nl}/issues?${l}`}const S0=15e3;async function E0(e){const t=await g0(e);return t.kind==="unreachable"?{kind:"gateway-unreachable",message:t.message}:t}async function ho(e,t){let n;try{n=await e(t)}catch(r){return{error:{kind:"gateway-unreachable",message:`连不上本机 clawd:${r.message}`}}}return n.ok?await n.json():{error:await E0(n)}}const vo=e=>typeof e=="object"&&e!==null&&"error"in e;function C0(e,t){const[n,r]=g.useState([]),[o,l]=g.useState(e.selection),[i,s]=g.useState({kind:"loading"}),[a,u]=g.useState({kind:"idle"}),m=g.useRef(0),h=g.useRef(0),p=g.useRef(!1),w=g.useRef(void 0),x=g.useRef(t);x.current=t,g.useEffect(()=>{let P=!0;return ho(x.current.fetchImpl,w0(e)).then(E=>{if(P){if(vo(E)){s({kind:"error",error:E.error});return}if(r(E.personas),E.personas.length===0){s({kind:"error",error:{kind:"no-personas"}});return}l(S=>E.personas.includes(S.personaId)?S:{...S,personaId:E.personas[0]})}}),()=>{P=!1}},[e]);const y=g.useCallback(async(P,E=!1)=>{const S=++h.current;p.current=!0,!E&&w.current&&s({kind:"ready",data:w.current,refreshing:!0});const O=await ho(x.current.fetchImpl,k0(e,P));if(S===h.current){if(p.current=!1,vo(O)){s(O.error.kind==="link-expired"?{kind:"error",error:O.error}:{kind:"error",error:O.error,lastData:w.current});return}w.current=O,s({kind:"ready",data:O})}},[e]),{personaId:j,entry:f,window:d}=o;g.useEffect(()=>{m.current++,u({kind:"idle"})},[j,f,d]);const v=g.useCallback(P=>{const E=P.trim(),S=++m.current;if(!/^[A-Za-z0-9_-]{1,128}$/.test(E)||f==="task"){u({kind:"error",threadId:E,message:f==="task"?"task 没有 threadId,请切换用法":"threadId 只接受 1–128 个字母、数字、下划线或连字符"});return}u({kind:"loading",threadId:E}),ho(x.current.fetchImpl,Ku(e,o,E,null,null)).then(O=>{S===m.current&&(vo(O)?u({kind:"error",threadId:E,message:"message"in O.error?O.error.message??"查日志服务失败":"链接已过期"}):u({kind:"ready",threadId:E,data:O}))})},[e,o,f]),k=g.useCallback(()=>{if(a.kind!=="ready"||!a.data.hasMore||a.data.nextCursor===null)return;const{threadId:P,data:E}=a,S=E.nextCursor,O=++m.current;u({kind:"loading",threadId:P,data:E}),ho(x.current.fetchImpl,Ku(e,o,P,S,E.snapshotTo)).then(z=>{O===m.current&&(vo(z)?u({kind:"error",threadId:P,data:E,message:"message"in z.error?z.error.message??"查日志服务失败":"链接已过期"}):u({kind:"ready",threadId:P,data:{...z,failures:E.failures,records:[...E.records,...z.records]}}))})},[a,e,o]);g.useEffect(()=>{if(!j)return;const P={personaId:j,entry:f,window:d,byVersion:!1};return y(P),x.current.every(S0,()=>{p.current||y(P,!0)})},[j,f,d,y]),g.useEffect(()=>{o.personaId&&x.current.replaceUrl(x0(e,o))},[e,o]);const C=g.useCallback(()=>{o.personaId&&y(o)},[y,o]);return{personas:n,selection:o,setSelection:l,state:i,retry:C,issueState:a,scanThread:v,loadMoreIssues:k}}const N0={fetchImpl:(...e)=>fetch(...e),replaceUrl:e=>window.history.replaceState(null,"",e),every:(e,t)=>{const n=window.setInterval(t,e);return()=>window.clearInterval(n)}};function j0(){const e=g.useMemo(()=>y0(window.location),[]);return e?c.jsx(P0,{loc:e}):c.jsx(vp,{personas:[],selection:{personaId:"",entry:null,window:"24h",byVersion:!1},onSelectionChange:()=>{},state:{kind:"error",error:{kind:"link-expired"}},linkExpiresAt:null,now:Date.now()})}function P0({loc:e}){const{personas:t,selection:n,setSelection:r,state:o,retry:l,issueState:i,scanThread:s,loadMoreIssues:a}=C0(e,N0);return c.jsx(vp,{personas:t,selection:n,onSelectionChange:r,state:o,linkExpiresAt:e.expiresAt,now:Date.now(),onRetry:l,issueState:i,onScanThread:s,onLoadMoreIssues:a})}const xp=window.matchMedia("(prefers-color-scheme: dark)"),wp=()=>document.documentElement.classList.toggle("dark",xp.matches);wp();xp.addEventListener("change",wp);const Yu=document.getElementById("root");Yu&&cf(Yu).render(c.jsx(j0,{}));</script>
145
+ For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return g.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},Qy="DialogDescriptionWarning",Gy=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${cp(Qy).contentName}}.`;return g.useEffect(()=>{var l;const o=(l=e.current)==null?void 0:l.getAttribute("aria-describedby");t&&o&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},Ky=Xf,Yy=Jf,Xy=ep,Zy=tp,Jy=np,qy=op,e0=ip,t0=ap;const n0=Ky,r0=Yy,o0=Xy,dp=g.forwardRef(({className:e,...t},n)=>c.jsx(Zy,{ref:n,className:Te("fixed inset-0 z-50 bg-black/50",e),...t}));dp.displayName="DrawerOverlay";const fp=g.forwardRef(({className:e,children:t,side:n="right",hideBuiltInClose:r,style:o,...l},i)=>c.jsxs(o0,{children:[c.jsx(dp,{}),c.jsxs(Jy,{ref:i,className:Te("fixed inset-y-0 z-50 flex h-full w-[360px] flex-col gap-4",n==="right"?"right-0 border-l border-border":"left-0 border-r border-border","bg-elevated p-6 shadow-lg outline-none",e),style:{paddingTop:"env(safe-area-inset-top)",...o},...l,children:[t,r?null:c.jsxs(t0,{className:"absolute right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-accent",style:{top:"calc(env(safe-area-inset-top) + 1rem)"},children:[c.jsx(lv,{className:"h-4 w-4"}),c.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));fp.displayName="DrawerContent";const pp=({className:e,...t})=>c.jsx("div",{className:Te("flex flex-col space-y-1.5",e),...t});pp.displayName="DrawerHeader";const mp=g.forwardRef(({className:e,...t},n)=>c.jsx(qy,{ref:n,className:Te("text-lg font-semibold text-text-100",e),...t}));mp.displayName="DrawerTitle";const hp=g.forwardRef(({className:e,...t},n)=>c.jsx(e0,{ref:n,className:Te("text-sm text-text-300",e),...t}));hp.displayName="DrawerDescription";function Hu({taskSelected:e=!1,state:t={kind:"idle"},onScan:n,onLoadMore:r}){const[o,l]=g.useState(""),i=t.kind!=="idle"&&t.threadId===o.trim(),s=i&&"data"in t?t.data:void 0;return c.jsxs(n0,{children:[c.jsx(r0,{asChild:!0,children:c.jsx(Rn,{variant:"outline",size:"sm",children:"按会话排查"})}),c.jsxs(fp,{className:"w-full max-w-[540px] overflow-y-auto",children:[c.jsxs(pp,{children:[c.jsx(mp,{children:"按会话排查失败原因"}),c.jsx(hp,{children:"输入 threadId,扫描当前 persona 和时间窗内的失败请求。只包含已采集关联 ID 的指标。"})]}),c.jsxs("form",{className:"flex flex-col gap-3",onSubmit:a=>{a.preventDefault(),n==null||n(o.trim())},children:[c.jsx("label",{className:"text-[13px] text-text-300",htmlFor:"cpm-thread-id",children:"threadId"}),c.jsx("input",{id:"cpm-thread-id",value:o,onChange:a=>l(a.target.value),className:"h-9 rounded-md border border-border bg-bg-0 px-3 text-[13px] text-text-100"}),e?c.jsx("p",{className:"text-[12px] text-text-400",children:"task 使用 taskId。请切换到全部、会话通道或 chat 再扫描。"}):null,c.jsx(Rn,{type:"submit",disabled:!o.trim()||e||i&&t.kind==="loading","data-testid":"cpm-issues-scan",children:"扫描"})]}),i&&t.kind==="loading"?c.jsx("p",{role:"status",className:"text-[13px] text-text-300",children:"正在扫描失败记录…"}):null,i&&t.kind==="error"?c.jsxs("div",{role:"alert",className:"text-[13px] text-destructive",children:["查询失败:",t.message," ",c.jsx(Rn,{variant:"outline",size:"sm",onClick:()=>n==null?void 0:n(o.trim()),children:"重试"})]}):null,s?c.jsxs("div",{className:"space-y-4","data-testid":"cpm-issues-result",children:[s.failures.length?c.jsxs(c.Fragment,{children:[c.jsx("h3",{className:"text-[13px] font-medium",children:"命中的失败原因"}),c.jsx(If,{rows:s.failures})]}):null,s.records.length?c.jsxs("section",{children:[c.jsxs("h3",{className:"mb-2 text-[13px] font-medium",children:["失败记录 · 已加载 ",Ge(s.records.length)," 条"]}),c.jsx("ul",{className:"space-y-2",children:s.records.map((a,u)=>c.jsxs("li",{className:"rounded-md border border-border p-3 text-[12px] text-text-300",children:[c.jsxs("div",{className:"font-medium text-text-100",children:[Rf[a.category]??a.category," · ",Gn[a.entry]??a.entry]}),c.jsx("div",{children:a.at?new Date(a.at).toLocaleString("zh-CN"):"时间未知"}),a.requestId?c.jsxs("div",{children:["请求 ID:",c.jsx("code",{children:a.requestId})]}):null,a.sessionId?c.jsxs("div",{children:["会话通道 ID:",c.jsx("code",{children:a.sessionId})]}):null]},`${a.requestId??"legacy"}-${u}`))})]}):t.kind==="ready"?c.jsx("p",{className:"text-[13px] text-text-300",children:"此时间窗未找到带该 threadId 的失败指标。"}):null,t.kind==="ready"&&s.hasMore?c.jsx(Rn,{variant:"outline",size:"sm",onClick:r,"data-testid":"cpm-issues-more",children:"继续加载"}):null,t.kind==="ready"&&!s.hasMore&&s.records.length>0?c.jsx("p",{className:"text-[12px] text-text-400",children:"本次扫描已读完当前可见记录;新日志稍后入库可重新扫描。"}):null,c.jsx("p",{className:"text-[12px] text-text-400",children:"旧记录或会话建立前的失败可能没有 threadId,无法通过此处关联。"})]}):null]})]})}function vp({personas:e,selection:t,onSelectionChange:n,state:r,linkExpiresAt:o,now:l,onRetry:i,issueState:s,onScanThread:a,onLoadMoreIssues:u}){if(r.kind==="error"&&r.error.kind==="link-expired")return c.jsx(Qu,{children:c.jsxs("div",{className:"mx-auto mt-24 max-w-[420px] text-center","data-testid":"cpm-link-expired",children:[c.jsx("h1",{className:"text-[18px] font-semibold text-text-100",children:"这个链接已经过期"}),c.jsx("p",{className:"mt-2 text-[13px] text-text-300",children:"回到 clawd 的「设置 → Dashboard」,重新点一次「云 persona 运行状况」。"})]})});const m=r.kind==="ready"?r.data:r.kind==="error"?r.lastData:void 0,h=r.kind==="ready"&&r.refreshing||r.kind==="error"&&!!r.lastData,p=x=>n({...t,...x}),w=t.entry?[t.entry]:ol;return c.jsxs(Qu,{children:[c.jsxs("header",{className:"mb-5",children:[c.jsx("h1",{className:"text-[22px] font-semibold text-text-100",children:"云 persona 运行状况"}),c.jsxs("p",{className:"mt-1 text-[12px] text-text-400",children:["实时数据每 15 秒刷新",o?` · 这个链接 ${p0(o-l)}后过期`:""]})]}),c.jsxs("div",{className:"mb-6 flex flex-wrap items-center gap-x-5 gap-y-3","data-testid":"cpm-filters",children:[c.jsxs("label",{className:"flex items-center gap-2 text-[13px] text-text-300",children:["persona",c.jsx("select",{"data-testid":"cpm-filter-persona",value:t.personaId,onChange:x=>p({personaId:x.target.value}),className:"h-8 rounded-md border border-border bg-bg-0 px-2 text-[13px] text-text-100",children:e.map(x=>c.jsx("option",{value:x,children:x},x))})]}),c.jsx(Gu,{label:"用法",testid:"cpm-filter-entry",value:t.entry??"all",options:[{value:"all",label:"全部"},...ol.map(x=>({value:x,label:Gn[x]}))],onChange:x=>p({entry:x==="all"?null:x})}),c.jsx(Gu,{label:"时间",testid:"cpm-filter-window",value:t.window,options:Tf.map(x=>({value:x,label:`最近 ${Or[x]}`})),onChange:x=>p({window:x})}),c.jsxs("label",{className:"flex items-center gap-2 text-[13px] text-text-300",children:[c.jsx("input",{type:"checkbox","data-testid":"cpm-filter-by-version",checked:t.byVersion,onChange:x=>p({byVersion:x.target.checked}),className:"h-3.5 w-3.5 accent-[rgb(var(--accent-color))]"}),"按版本看"]})]}),r.kind==="error"&&r.error.kind==="gateway-unreachable"?c.jsxs("div",{role:"alert","data-testid":"cpm-error",className:"mb-6 flex items-start gap-2.5 rounded-lg border border-destructive/30 bg-destructive/5 px-4 py-3 text-[13px]",children:[c.jsx(rv,{className:"mt-0.5 h-4 w-4 shrink-0 text-destructive"}),c.jsxs("div",{className:"flex-1",children:[c.jsx("div",{className:"font-medium text-text-100",children:"连不上云上的服务,数据没有更新"}),c.jsx("div",{className:"mt-0.5 text-text-300",children:r.error.message}),r.lastData?c.jsxs("div",{className:"mt-0.5 text-text-400",children:["下面是 ",sa(r.lastData.generatedAt)," 的数据。"]}):null]}),i?c.jsxs(Rn,{variant:"outline",size:"sm",onClick:i,"data-testid":"cpm-retry",children:[c.jsx(tv,{className:"mr-1.5 h-3.5 w-3.5"}),"重试"]}):null]}):null,r.kind==="error"&&(r.error.kind==="not-viewer"||r.error.kind==="no-personas")?c.jsx("p",{className:"py-16 text-center text-[13px] text-text-400","data-testid":`cpm-${r.error.kind}`,children:r.error.kind==="not-viewer"?`看不了这个 persona 的运行数据:${r.error.message??"只有发布它的人能看。"}`:"你还没有发布过云 persona,这里没有可看的运行数据。"}):m?c.jsxs("div",{className:Te("cpm-viz space-y-8 transition-opacity",h&&"opacity-60"),"data-testid":"cpm-content",children:[c.jsx(i0,{data:m,shown:w,showBreakdown:!t.entry}),m.history?c.jsxs(c.Fragment,{children:[c.jsx(a0,{history:m.history,shown:w,window:t.window,taskSelected:t.entry==="task",issueState:s,onScanThread:a,onLoadMoreIssues:u}),c.jsx(c0,{history:m.history,shown:w,window:t.window}),m.history.snapshots&&t.entry!=="task"?c.jsx(d0,{snapshots:m.history.snapshots,window:t.window}):null,t.byVersion?c.jsx(f0,{history:m.history}):null]}):c.jsx(ln,{title:"质量与延迟",children:c.jsxs("div",{className:"rounded-lg border border-border bg-bg-50 px-4 py-3 text-[13px] text-text-300","data-testid":"cpm-history-unavailable",children:["云上还没接好日志服务,历史数据暂时看不到;上面的实时数据不受影响。",m.historyUnavailableReason?c.jsx("div",{className:"mt-1 text-[12px] text-text-400",children:m.historyUnavailableReason}):null]})})]}):c.jsx("p",{className:"py-16 text-center text-[13px] text-text-400","data-testid":"cpm-loading",children:"正在取数据…"})]})}function Qu({children:e}){return c.jsx("div",{className:"min-h-screen bg-bg-0 text-text-100",children:c.jsx("div",{className:"mx-auto max-w-[1040px] px-6 py-8 md:px-8",children:e})})}function ln({title:e,aside:t,children:n,testid:r}){return c.jsxs("section",{"data-testid":r,children:[c.jsxs("div",{className:"mb-3 flex items-baseline gap-2",children:[c.jsx("h2",{className:"text-[15px] font-semibold text-text-100",children:e}),t?c.jsx("span",{className:"text-[12px] text-text-400",children:t}):null]}),n]})}function bt({title:e,children:t,className:n}){return c.jsxs("div",{className:Te("rounded-lg border border-border bg-bg-0 px-4 py-3.5",n),children:[e?c.jsx("div",{className:"mb-2.5 text-[13px] font-medium text-text-200",children:e}):null,t]})}function Gu({label:e,testid:t,value:n,options:r,onChange:o}){return c.jsxs("div",{className:"flex items-center gap-2 text-[13px] text-text-300",children:[e,c.jsx("div",{role:"radiogroup","aria-label":e,"data-testid":t,className:"inline-flex items-center rounded-md border border-border bg-bg-50 p-0.5",children:r.map(l=>{const i=l.value===n;return c.jsx("button",{type:"button",role:"radio","aria-checked":i,"data-testid":`${t}-${l.value}`,onClick:()=>o(l.value),className:Te("rounded px-2.5 py-1 text-xs font-medium transition-colors",i?"bg-elevated text-text-100 shadow-sm":"text-text-400 hover:text-text-200"),children:l.label},l.value)})})]})}const l0=(e,t)=>t.reduce((n,r)=>n+e[r],0);function i0({data:e,shown:t,showBreakdown:n}){const r=[{key:"pods",label:"在跑的 Pod",hint:"会话通道的 Pod 聊完一轮还会留着,空闲 5 分钟才收"},{key:"queued",label:"排队中",hint:"在等有空的执行位置"},{key:"executing",label:"执行中",hint:"persona 正在处理"},{key:"wrappingUp",label:"收尾中",hint:"处理完了,在存聊天记录、清理 Pod"}];return c.jsx(ln,{title:"实时",aside:`更新于 ${sa(e.generatedAt)}`,testid:"cpm-realtime",children:c.jsx("div",{className:"grid grid-cols-2 gap-3 md:grid-cols-4",children:r.map(o=>{const l=e.realtime[o.key];return c.jsxs(bt,{children:[c.jsx("div",{className:"text-[12px] text-text-400",title:o.hint,children:o.label}),c.jsx("div",{className:"mt-1 text-[28px] font-semibold leading-tight text-text-100","data-testid":`cpm-realtime-${o.key}`,children:l?Ge(l0(l,t)):"—"}),l?n?c.jsx("div",{className:"mt-1 text-[11px] text-text-400",children:ol.map(i=>`${Gn[i]} ${l[i]}`).join(" · ")}):null:c.jsx("div",{className:"mt-1 text-[11px] text-text-400","data-testid":`cpm-realtime-${o.key}-unavailable`,children:e.realtime.podsUnavailableReason})]},o.key)})})})}function s0(e){return`样本 ${Ge(e.reduce((t,n)=>t+n.success+n.failure,0))} 次`}function a0({history:e,shown:t,window:n,taskSelected:r,issueState:o,onScanThread:l,onLoadMoreIssues:i}){const s=e.byEntry.filter(p=>t.includes(p.entry)),a=s.reduce((p,w)=>p+w.success,0),u=s.reduce((p,w)=>p+w.failure,0),m=s.reduce((p,w)=>p+w.interrupted,0),h=a+u+m===0&&e.failures.every(p=>p.count===0);return c.jsx(ln,{title:"质量",aside:`最近 ${Or[n]}`,testid:"cpm-quality",children:h?c.jsxs("div",{className:"space-y-3",children:[c.jsx(gp,{}),c.jsx(Hu,{taskSelected:r,state:o,onScan:l,onLoadMore:i})]}):c.jsxs("div",{className:"grid gap-3 md:grid-cols-[minmax(0,1fr)_minmax(0,1.6fr)]",children:[c.jsx("div",{className:"grid gap-3",children:c.jsxs(bt,{children:[c.jsx("div",{className:"text-[12px] text-text-400",children:"成功率"}),c.jsx("div",{className:"mt-1 text-[48px] font-semibold leading-none text-text-100","data-testid":"cpm-success-rate",children:os(a,a+u)}),c.jsxs("div",{className:"mt-2 text-[11px] text-text-400","data-testid":"cpm-samples",children:[s0(s),m>0?` · 用户自己停掉的 ${Ge(m)} 轮不计入`:""]}),s.length>1?c.jsx("div",{className:"mt-2.5 space-y-0.5 text-[12px] text-text-300",children:s.map(p=>c.jsxs("div",{className:"flex justify-between",children:[c.jsx("span",{children:Gn[p.entry]}),c.jsx("span",{className:"tabular-nums",children:os(p.success,p.success+p.failure)})]},p.entry))}):null]})}),c.jsxs(bt,{title:"失败原因",children:[c.jsx(If,{rows:e.failures}),c.jsx("div",{className:"mt-4 border-t border-border pt-3",children:c.jsx(Hu,{taskSelected:r,state:o,onScan:l,onLoadMore:i})})]}),c.jsx(bt,{title:"连接器",className:"md:col-span-2",children:c.jsx(u0,{rows:e.connectors})})]})})}function u0({rows:e}){return e.length===0?c.jsx("p",{className:"text-[13px] text-text-400",children:"这段时间没有连接器调用。"}):c.jsxs("table",{className:"w-full text-[13px]","data-testid":"cpm-connectors",children:[c.jsx("thead",{children:c.jsxs("tr",{className:"text-left text-[12px] text-text-400",children:[c.jsx("th",{className:"py-1 pr-3 font-normal",children:"连接器"}),c.jsx(V,{head:!0,children:"调用"}),c.jsx(V,{head:!0,children:"成功"}),c.jsx(V,{head:!0,children:"请求有误 (4xx)"}),c.jsx(V,{head:!0,children:"上游出错 (5xx)"}),c.jsx(V,{head:!0,children:"连不上中心"}),c.jsx(V,{head:!0,title:"起 Pod 时使用者还没授权这个连接器",children:"没授权"})]})}),c.jsx("tbody",{children:e.map(t=>c.jsxs("tr",{className:"border-t border-border",children:[c.jsx("td",{className:"py-1.5 pr-3 text-text-100",children:t.connector}),c.jsx(V,{children:t.calls}),c.jsx(V,{children:t.ok}),c.jsx(V,{children:t.clientError}),c.jsx(V,{children:t.serverError}),c.jsx(V,{children:t.unreachable}),c.jsx(V,{children:t.unauthorized})]},t.connector))})]})}function V({children:e,head:t,title:n}){const r="py-1.5 pl-3 text-right tabular-nums";return t?c.jsx("th",{className:Te(r,"font-normal"),title:n,children:e}):c.jsx("td",{className:Te(r,"text-text-200"),children:typeof e=="number"?Ge(e):e})}function gp(){return c.jsx("p",{className:"rounded-lg border border-dashed border-border px-4 py-6 text-center text-[13px] text-text-400","data-testid":"cpm-empty",children:"这段时间没有请求。"})}function c0({history:e,shown:t,window:n}){const r=e.byEntry.filter(s=>t.includes(s.entry)&&s.samples>0),o=t.length>1,l=ni(r),i=c.jsx("p",{className:"text-[13px] text-text-400","data-testid":"cpm-latency-no-success",children:"这段时间没有成功完成的请求,耗时只算成功的。"});return c.jsx(ln,{title:"延迟",aside:`最近 ${Or[n]}`,testid:"cpm-latency",children:r.length===0?c.jsx(gp,{}):c.jsxs(bt,{children:[l.length>0?c.jsx("div",{className:"mb-3",children:c.jsx(mg,{segments:l})}):null,c.jsx("div",{className:"space-y-5",children:r.map(s=>c.jsxs("div",{children:[o?c.jsx("div",{className:"mb-1.5 text-[13px] font-medium text-text-200",children:Gn[s.entry]}):null,ni([s]).length>0?c.jsx(vg,{row:s}):i]},s.entry))}),l.length>0?c.jsx("div",{className:"mt-4 border-t border-border pt-3",children:c.jsx(hg,{segments:l,withSession:r.some(s=>s.entry==="session"&&ni([s]).length>0)})}):null]})})}function d0({snapshots:e,window:t}){const n=pn(ag);if(e.count===0)return c.jsx(ln,{title:"会话快照",aside:`最近 ${Or[t]}`,testid:"cpm-snapshots",children:c.jsx("p",{className:"rounded-lg border border-dashed border-border px-4 py-6 text-center text-[13px] text-text-400","data-testid":"cpm-snapshots-empty",children:"这段时间没有快照。"})});const r=[{label:"快照数",value:Ge(e.count),testid:"count"},{label:"大小 P50 / P95",value:`${pn(e.bytes.p50)} / ${pn(e.bytes.p95)}`,sub:`最大 ${pn(e.bytes.max)}`,testid:"bytes"},{label:"打包耗时 P50 / P95",value:`${Mt(e.packMs.p50Ms)} / ${Mt(e.packMs.p95Ms)}`,testid:"pack"},{label:`超过 ${n}`,value:Ge(e.oversized),sub:e.tooLarge>0?`其中 ${Ge(e.tooLarge)} 份超过 200 MB 没保存`:void 0,testid:"oversized",warn:e.oversized>0}];return c.jsxs(ln,{title:"会话快照",aside:`每轮对话后保存的工作区与引擎状态 · 最近 ${Or[t]}`,testid:"cpm-snapshots",children:[c.jsx("div",{className:"grid grid-cols-2 gap-3 md:grid-cols-4",children:r.map(o=>c.jsxs(bt,{children:[c.jsx("div",{className:"text-[12px] text-text-400",children:o.label}),c.jsx("div",{className:Te("mt-1 text-[20px] font-semibold leading-tight tabular-nums",o.warn?"text-destructive":"text-text-100"),"data-testid":`cpm-snapshots-${o.testid}`,children:o.value}),o.sub?c.jsx("div",{className:"mt-1 text-[11px] text-text-400",children:o.sub}):null]},o.testid))}),c.jsx(bt,{className:"mt-3",children:e.recentOversized.length===0?c.jsxs("p",{className:"text-[13px] text-text-400","data-testid":"cpm-snapshots-none-oversized",children:["这段时间没有超过 ",n," 的快照。"]}):c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"mb-2 text-[13px] font-medium text-text-200",children:["偏大的快照(最近 ",e.recentOversized.length," 份)"]}),c.jsxs("table",{className:"w-full text-[13px]","data-testid":"cpm-snapshots-table",children:[c.jsx("thead",{children:c.jsxs("tr",{className:"text-left text-[12px] text-text-400",children:[c.jsx("th",{className:"py-1 pr-3 font-normal",children:"时间"}),c.jsx("th",{className:"py-1 pr-3 font-normal",children:"用法"}),c.jsx(V,{head:!0,children:"大小"}),c.jsx(V,{head:!0,children:"打包"}),c.jsx("th",{className:"py-1 pl-3 font-normal",title:"打包前的文件大小,和左边压缩后的大小不是一个口径",children:"占空间最大的目录(压缩前)"}),c.jsx("th",{className:"py-1 pl-3 font-normal",children:"会话"})]})}),c.jsx("tbody",{children:e.recentOversized.map((o,l)=>c.jsxs("tr",{className:"border-t border-border align-top",children:[c.jsx("td",{className:"py-1.5 pr-3 tabular-nums text-text-300",children:o.at?sa(o.at):"—"}),c.jsx("td",{className:"py-1.5 pr-3 text-text-300",children:Gn[o.entry]}),c.jsx(V,{children:o.tooLarge?c.jsx("span",{className:"text-destructive",children:"超过 200 MB 没保存"}):pn(o.bytes)}),c.jsx(V,{children:Mt(o.packMs)}),c.jsx("td",{className:"py-1.5 pl-3",children:o.topDirs.length===0?c.jsx("span",{className:"text-text-400",children:"—"}):c.jsx("ul",{className:"space-y-0.5 font-mono text-[12px]",children:o.topDirs.map(([i,s])=>c.jsxs("li",{className:"flex justify-between gap-3",children:[c.jsx("span",{className:"truncate text-text-100",title:i,children:i}),c.jsx("span",{className:"shrink-0 tabular-nums text-text-300",children:pn(s)})]},i))})}),c.jsx("td",{className:"max-w-[160px] truncate py-1.5 pl-3 font-mono text-[12px] text-text-300",title:o.threadId??void 0,children:o.threadId??"—"})]},`${o.jobName}-${o.at}-${l}`))})]})]})})]})}function f0({history:e}){return c.jsx(ln,{title:"按版本",aside:"每次发布是一个版本,看新版有没有变差",testid:"cpm-by-version",children:c.jsx(bt,{children:e.byVersion.length===0?c.jsx("p",{className:"text-[13px] text-text-400",children:"这段时间没有请求。"}):c.jsxs("table",{className:"w-full text-[13px]",children:[c.jsx("thead",{children:c.jsxs("tr",{className:"text-left text-[12px] text-text-400",children:[c.jsx("th",{className:"py-1 pr-3 font-normal",children:"版本"}),c.jsx(V,{head:!0,children:"样本"}),c.jsx(V,{head:!0,children:"成功率"}),c.jsx(V,{head:!0,children:"执行 P50"}),c.jsx(V,{head:!0,children:"执行 P95"})]})}),c.jsx("tbody",{children:e.byVersion.map(t=>c.jsxs("tr",{className:"border-t border-border",children:[c.jsx("td",{className:"py-1.5 pr-3 font-mono text-[12px] text-text-100",title:t.image,children:sg(t.image)}),c.jsx(V,{children:t.samples}),c.jsx(V,{children:os(t.success,t.success+t.failure)}),c.jsx(V,{children:Mt(t.exec.p50Ms)}),c.jsx(V,{children:Mt(t.exec.p95Ms)})]},t.image))})]})})})}function p0(e){if(e<=0)return"马上";const t=Math.floor(e/36e5);return t>=1?`${t} 小时`:`${Math.max(1,Math.round(e/6e4))} 分钟`}function m0(e,t){if(e.pathname!==`/dashboard/${t}`)return null;const n=new URLSearchParams(e.search),r=n.get("e"),o=n.get("s");return!r||!o||!/^\d+$/.test(r)?null:{link:{e:r,s:o,expiresAt:Number(r)*1e3},query:n}}const h0=e=>new URLSearchParams({e:e.e,s:e.s}),v0={"principal has been revoked":"你的 clawd 账号已被停用,找管理员恢复"};async function g0(e){const t=await e.json().catch(()=>null),n=t==null?void 0:t.message,r=typeof n=="string"&&n?n:Array.isArray(n)&&n.length>0?n.map(String).join(";"):typeof(t==null?void 0:t.error)=="string"?t.error:void 0,o=r===void 0?void 0:v0[r]??r;return e.status===403?(t==null?void 0:t.code)==="LINK_EXPIRED"||(t==null?void 0:t.code)==="LINK_INVALID"?{kind:"link-expired"}:o?{kind:"not-viewer",message:o}:{kind:"not-viewer"}:{kind:"unreachable",message:o??`HTTP ${e.status}`}}const yp="cloud-persona-metrics",Nl=`/dashboard/${yp}`;function y0(e){const t=m0(e,yp);if(!t)return null;const n=t.query,r=n.get("entry"),o=n.get("window");return{...t.link,selection:{personaId:n.get("persona")??"",entry:r&&ol.includes(r)?r:null,window:o&&Tf.includes(o)?o:"24h",byVersion:n.get("v")==="1"}}}const jl=e=>h0(e);function x0(e,t){const n=jl(e);return t.personaId&&n.set("persona",t.personaId),t.entry&&n.set("entry",t.entry),n.set("window",t.window),t.byVersion&&n.set("v","1"),`${Nl}?${n}`}const w0=e=>`${Nl}/personas?${jl(e)}`;function k0(e,t){const n=jl(e);return n.set("persona",t.personaId),n.set("window",t.window),t.entry&&n.set("entry",t.entry),`${Nl}/data?${n}`}function Ku(e,t,n,r,o){const l=jl(e);return l.set("persona",t.personaId),l.set("threadId",n),l.set("window",t.window),t.entry&&l.set("entry",t.entry),r&&l.set("cursor",r),o!==null&&l.set("snapshotTo",String(o)),`${Nl}/issues?${l}`}const S0=15e3;async function E0(e){const t=await g0(e);return t.kind==="unreachable"?{kind:"gateway-unreachable",message:t.message}:t}async function ho(e,t){let n;try{n=await e(t)}catch(r){return{error:{kind:"gateway-unreachable",message:`连不上本机 clawd:${r.message}`}}}return n.ok?await n.json():{error:await E0(n)}}const vo=e=>typeof e=="object"&&e!==null&&"error"in e;function C0(e,t){const[n,r]=g.useState([]),[o,l]=g.useState(e.selection),[i,s]=g.useState({kind:"loading"}),[a,u]=g.useState({kind:"idle"}),m=g.useRef(0),h=g.useRef(0),p=g.useRef(!1),w=g.useRef(void 0),x=g.useRef(t);x.current=t,g.useEffect(()=>{let P=!0;return ho(x.current.fetchImpl,w0(e)).then(E=>{if(P){if(vo(E)){s({kind:"error",error:E.error});return}if(r(E.personas),E.personas.length===0){s({kind:"error",error:{kind:"no-personas"}});return}l(S=>E.personas.includes(S.personaId)?S:{...S,personaId:E.personas[0]})}}),()=>{P=!1}},[e]);const y=g.useCallback(async(P,E=!1)=>{const S=++h.current;p.current=!0,!E&&w.current&&s({kind:"ready",data:w.current,refreshing:!0});const O=await ho(x.current.fetchImpl,k0(e,P));if(S===h.current){if(p.current=!1,vo(O)){s(O.error.kind==="link-expired"?{kind:"error",error:O.error}:{kind:"error",error:O.error,lastData:w.current});return}w.current=O,s({kind:"ready",data:O})}},[e]),{personaId:j,entry:f,window:d}=o;g.useEffect(()=>{m.current++,u({kind:"idle"})},[j,f,d]);const v=g.useCallback(P=>{const E=P.trim(),S=++m.current;if(!/^[A-Za-z0-9_-]{1,128}$/.test(E)||f==="task"){u({kind:"error",threadId:E,message:f==="task"?"task 没有 threadId,请切换用法":"threadId 只接受 1–128 个字母、数字、下划线或连字符"});return}u({kind:"loading",threadId:E}),ho(x.current.fetchImpl,Ku(e,o,E,null,null)).then(O=>{S===m.current&&(vo(O)?u({kind:"error",threadId:E,message:"message"in O.error?O.error.message??"查日志服务失败":"链接已过期"}):u({kind:"ready",threadId:E,data:O}))})},[e,o,f]),k=g.useCallback(()=>{if(a.kind!=="ready"||!a.data.hasMore||a.data.nextCursor===null)return;const{threadId:P,data:E}=a,S=E.nextCursor,O=++m.current;u({kind:"loading",threadId:P,data:E}),ho(x.current.fetchImpl,Ku(e,o,P,S,E.snapshotTo)).then(z=>{O===m.current&&(vo(z)?u({kind:"error",threadId:P,data:E,message:"message"in z.error?z.error.message??"查日志服务失败":"链接已过期"}):u({kind:"ready",threadId:P,data:{...z,failures:E.failures,records:[...E.records,...z.records]}}))})},[a,e,o]);g.useEffect(()=>{if(!j)return;const P={personaId:j,entry:f,window:d,byVersion:!1};return y(P),x.current.every(S0,()=>{p.current||y(P,!0)})},[j,f,d,y]),g.useEffect(()=>{o.personaId&&x.current.replaceUrl(x0(e,o))},[e,o]);const C=g.useCallback(()=>{o.personaId&&y(o)},[y,o]);return{personas:n,selection:o,setSelection:l,state:i,retry:C,issueState:a,scanThread:v,loadMoreIssues:k}}const N0={fetchImpl:(...e)=>fetch(...e),replaceUrl:e=>window.history.replaceState(null,"",e),every:(e,t)=>{const n=window.setInterval(t,e);return()=>window.clearInterval(n)}};function j0(){const e=g.useMemo(()=>y0(window.location),[]);return e?c.jsx(P0,{loc:e}):c.jsx(vp,{personas:[],selection:{personaId:"",entry:null,window:"24h",byVersion:!1},onSelectionChange:()=>{},state:{kind:"error",error:{kind:"link-expired"}},linkExpiresAt:null,now:Date.now()})}function P0({loc:e}){const{personas:t,selection:n,setSelection:r,state:o,retry:l,issueState:i,scanThread:s,loadMoreIssues:a}=C0(e,N0);return c.jsx(vp,{personas:t,selection:n,onSelectionChange:r,state:o,linkExpiresAt:e.expiresAt,now:Date.now(),onRetry:l,issueState:i,onScanThread:s,onLoadMoreIssues:a})}const xp=window.matchMedia("(prefers-color-scheme: dark)"),wp=()=>document.documentElement.classList.toggle("dark",xp.matches);wp();xp.addEventListener("change",wp);const Yu=document.getElementById("root");Yu&&cf(Yu).render(c.jsx(j0,{}));</script>
146
146
  <style rel="stylesheet" crossorigin>.cpm-viz{--cpm-seg-auth: #2a78d6;--cpm-seg-queue: #eb6834;--cpm-seg-firstByte: #4a3aa7;--cpm-seg-exec: #1baf7a;--cpm-seg-wrapUp: #eda100;--cpm-ink-auth: #ffffff;--cpm-ink-queue: #0b0b0b;--cpm-ink-firstByte: #ffffff;--cpm-ink-exec: #0b0b0b;--cpm-ink-wrapUp: #0b0b0b;--cpm-bar: #2a78d6;--cpm-track: var(--bg-200)}.dark .cpm-viz{--cpm-seg-auth: #3987e5;--cpm-seg-queue: #d95926;--cpm-seg-firstByte: #9085e9;--cpm-seg-exec: #199e70;--cpm-seg-wrapUp: #c98500;--cpm-ink-firstByte: #0b0b0b;--cpm-bar: #3987e5}/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-900:oklch(41.4% .112 45.904);--color-lime-500:oklch(76.8% .233 130.85);--color-green-300:oklch(87.1% .15 154.449);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-cyan-500:oklch(71.5% .143 215.221);--color-sky-500:oklch(68.5% .169 237.323);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-700:oklch(37.3% .034 259.733);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--animate-bounce:bounce 1s infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg-0:var(--bg-0);--color-bg-50:var(--bg-50);--color-bg-100:var(--bg-100);--color-bg-200:var(--bg-200);--color-bg-300:var(--bg-300);--color-text-100:var(--text-100);--color-text-200:var(--text-200);--color-text-300:var(--text-300);--color-text-400:var(--text-400);--color-text-500:var(--text-500);--color-text-400-dim-fg:var(--text-400-dim-fg);--color-accent:rgb(var(--accent-color));--color-accent-hover:rgb(var(--accent-hover-color));--color-accent-dim:var(--accent-dim-color);--color-accent-contrast:rgb(var(--accent-contrast));--color-success:rgb(var(--success-color));--color-success-dim:var(--success-dim-color);--color-error:rgb(var(--error-color));--color-error-dim:var(--error-dim-color);--color-destructive:rgb(var(--error-color));--color-destructive-hover:rgb(var(--error-hover-color));--color-warning:rgb(var(--warning-color));--color-warning-dim:var(--warning-dim-color);--color-engine-claude:rgb(var(--engine-claude-color));--color-engine-codex:rgb(var(--engine-codex-color));--color-engine-codex-cloud:rgb(var(--engine-codex-cloud-color));--color-engine-pi:rgb(var(--engine-pi-color));--color-engine-pi-cloud:rgb(var(--engine-pi-cloud-color));--color-engine-claude-cloud:rgb(var(--engine-claude-cloud-color));--color-border:var(--bg-300);--color-border-strong:var(--text-100)}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-border-strong:color-mix(in srgb, var(--text-100) 10%, transparent)}}:root,:host{--color-border-card:var(--text-100)}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-border-card:color-mix(in srgb, var(--text-100) 12%, transparent)}}:root,:host{--color-elevated:var(--elevated-color);--color-surface-page:var(--surface-page);--color-surface-card:var(--surface-card);--color-sidebar-hover-bg:var(--sidebar-hover-bg)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.start\!{inset-inline-start:var(--spacing)!important}.end{inset-inline-end:var(--spacing)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.-top-10{top:calc(var(--spacing) * -10)}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-5{top:calc(var(--spacing) * 5)}.top-6{top:calc(var(--spacing) * 6)}.top-9{top:calc(var(--spacing) * 9)}.top-10{top:calc(var(--spacing) * 10)}.top-14{top:calc(var(--spacing) * 14)}.top-\[3px\]{top:3px}.top-\[22px\]{top:22px}.top-\[62px\]{top:62px}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.-right-px{right:-1px}.right-0{right:calc(var(--spacing) * 0)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-0\.5{bottom:calc(var(--spacing) * -.5)}.-bottom-px{bottom:-1px}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-24{bottom:calc(var(--spacing) * 24)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-10{left:calc(var(--spacing) * 10)}.left-\[calc\(50\%\+18px\)\]{left:calc(50% + 18px)}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.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-\[1\]{z-index:1}.z-\[60\]{z-index:60}.z-\[100\]{z-index:100}.z-\[9999\]{z-index:9999}.z-\[10000\]{z-index:10000}.z-\[10001\]{z-index:10001}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-3{margin:calc(var(--spacing) * 3)}.m-auto{margin:auto}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-6{margin-inline:calc(var(--spacing) * -6)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-1\.5{margin-inline:calc(var(--spacing) * 1.5)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-24{margin-top:calc(var(--spacing) * 24)}.mt-\[2px\]{margin-top:2px}.mt-\[3px\]{margin-top:3px}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.-mr-1{margin-right:calc(var(--spacing) * -1)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-\[2px\]{margin-right:2px}.-mb-3{margin-bottom:calc(var(--spacing) * -3)}.-mb-px{margin-bottom:-1px}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.-ml-px{margin-left:-1px}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-2\.5{margin-left:calc(var(--spacing) * 2.5)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-5{margin-left:calc(var(--spacing) * 5)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\[18px\]{width:18px;height:18px}.h-0{height:calc(var(--spacing) * 0)}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-40{height:calc(var(--spacing) * 40)}.h-44{height:calc(var(--spacing) * 44)}.h-60{height:calc(var(--spacing) * 60)}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-\[6px\]{height:6px}.h-\[7px\]{height:7px}.h-\[10px\]{height:10px}.h-\[18px\]{height:18px}.h-\[20px\]{height:20px}.h-\[34px\]{height:34px}.h-\[52px\]{height:52px}.h-\[132px\]{height:132px}.h-\[200px\]{height:200px}.h-\[300px\]{height:300px}.h-\[320px\]{height:320px}.h-\[360px\]{height:360px}.h-\[420px\]{height:420px}.h-\[480px\]{height:480px}.h-\[520px\]{height:520px}.h-\[560px\]{height:560px}.h-\[600px\]{height:600px}.h-\[680px\]{height:680px}.h-\[700px\]{height:700px}.h-auto{height:auto}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-\[18rem\]{max-height:18rem}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[120px\]{max-height:120px}.max-h-\[140px\]{max-height:140px}.max-h-\[150px\]{max-height:150px}.max-h-\[180px\]{max-height:180px}.max-h-\[220px\]{max-height:220px}.max-h-\[240px\]{max-height:240px}.max-h-\[280px\]{max-height:280px}.max-h-\[300px\]{max-height:300px}.max-h-\[320px\]{max-height:320px}.max-h-\[360px\]{max-height:360px}.max-h-\[420px\]{max-height:420px}.max-h-\[calc\(100\%-3rem\)\]{max-height:calc(100% - 3rem)}.max-h-\[calc\(100vh-190px\)\]{max-height:calc(100vh - 190px)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-\[8rem\]{min-height:8rem}.min-h-\[22px\]{min-height:22px}.min-h-\[24px\]{min-height:24px}.min-h-\[32px\]{min-height:32px}.min-h-\[60px\]{min-height:60px}.min-h-\[180px\]{min-height:180px}.min-h-\[320px\]{min-height:320px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:calc(var(--spacing) * 0)}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.w-4\/5{width:80%}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-\[2px\]{width:2px}.w-\[3px\]{width:3px}.w-\[6px\]{width:6px}.w-\[7px\]{width:7px}.w-\[10px\]{width:10px}.w-\[48px\]{width:48px}.w-\[56px\]{width:56px}.w-\[88px\]{width:88px}.w-\[92\%\]{width:92%}.w-\[120px\]{width:120px}.w-\[132px\]{width:132px}.w-\[180px\]{width:180px}.w-\[200px\]{width:200px}.w-\[220px\]{width:220px}.w-\[230px\]{width:230px}.w-\[240px\]{width:240px}.w-\[248px\]{width:248px}.w-\[260px\]{width:260px}.w-\[272px\]{width:272px}.w-\[280px\]{width:280px}.w-\[288px\]{width:288px}.w-\[300px\]{width:300px}.w-\[320px\]{width:320px}.w-\[340px\]{width:340px}.w-\[360px\]{width:360px}.w-\[375px\]{width:375px}.w-\[380px\]{width:380px}.w-\[420px\]{width:420px}.w-\[440px\]{width:440px}.w-\[480px\]{width:480px}.w-\[512px\]{width:512px}.w-\[520px\]{width:520px}.w-\[560px\]{width:560px}.w-\[600px\]{width:600px}.w-\[640px\]{width:640px}.w-\[660px\]{width:660px}.w-\[720px\]{width:720px}.w-\[760px\]{width:760px}.w-\[800px\]{width:800px}.w-\[820px\]{width:820px}.w-\[calc\(100\%-36px\)\]{width:calc(100% - 36px)}.w-\[clamp\(360px\,26vw\,500px\)\]{width:clamp(360px,26vw,500px)}.w-\[min\(560px\,80vw\)\]{width:min(560px,80vw)}.w-\[min\(560px\,92vw\)\]{width:min(560px,92vw)}.w-\[min\(760px\,95vw\)\]{width:min(760px,95vw)}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[20ch\]{max-width:20ch}.max-w-\[60\%\]{max-width:60%}.max-w-\[60ch\]{max-width:60ch}.max-w-\[70\%\]{max-width:70%}.max-w-\[70ch\]{max-width:70ch}.max-w-\[80px\]{max-width:80px}.max-w-\[85\%\]{max-width:85%}.max-w-\[85vw\]{max-width:85vw}.max-w-\[90\%\]{max-width:90%}.max-w-\[90vw\]{max-width:90vw}.max-w-\[92vw\]{max-width:92vw}.max-w-\[100px\]{max-width:100px}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[160px\]{max-width:160px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[260px\]{max-width:260px}.max-w-\[340px\]{max-width:340px}.max-w-\[360px\]{max-width:360px}.max-w-\[380px\]{max-width:380px}.max-w-\[400px\]{max-width:400px}.max-w-\[420px\]{max-width:420px}.max-w-\[480px\]{max-width:480px}.max-w-\[520px\]{max-width:520px}.max-w-\[540px\]{max-width:540px}.max-w-\[560px\]{max-width:560px}.max-w-\[600px\]{max-width:600px}.max-w-\[640px\]{max-width:640px}.max-w-\[720px\]{max-width:720px}.max-w-\[760px\]{max-width:760px}.max-w-\[880px\]{max-width:880px}.max-w-\[900px\]{max-width:900px}.max-w-\[1040px\]{max-width:1040px}.max-w-\[1280px\]{max-width:1280px}.max-w-\[calc\(100vw-16px\)\]{max-width:calc(100vw - 16px)}.max-w-\[calc\(100vw-32px\)\]{max-width:calc(100vw - 32px)}.max-w-\[min\(24rem\,calc\(100vw-2rem\)\)\]{max-width:min(24rem,100vw - 2rem)}.max-w-\[min\(90vw\,32rem\)\]{max-width:min(90vw,32rem)}.max-w-\[min\(560px\,80vw\)\]{max-width:min(560px,80vw)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-6{min-width:calc(var(--spacing) * 6)}.min-w-12{min-width:calc(var(--spacing) * 12)}.min-w-\[6rem\]{min-width:6rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[22px\]{min-width:22px}.min-w-\[88px\]{min-width:88px}.min-w-\[140px\]{min-width:140px}.min-w-\[168px\]{min-width:168px}.min-w-\[190px\]{min-width:190px}.min-w-\[200px\]{min-width:200px}.min-w-\[220px\]{min-width:220px}.min-w-\[300px\]{min-width:300px}.min-w-max{min-width:max-content}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-0{flex-basis:calc(var(--spacing) * 0)}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-spacing-y-1\.5{--tw-border-spacing-y:calc(var(--spacing) * 1.5);border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0\.5{--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[18px\]{--tw-translate-x:18px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[22px\]{--tw-translate-x:22px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-full{--tw-translate-y:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[2px\]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-none{translate:none}.scale-3d{scale:var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform\!{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)!important}.animate-bounce{animation:var(--animate-bounce)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[300px_minmax\(0\,1fr\)\]{grid-template-columns:300px minmax(0,1fr)}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-16{gap:calc(var(--spacing) * 16)}.gap-px{gap:1px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-px>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1px * var(--tw-space-y-reverse));margin-block-end:calc(1px * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}:where(.divide-bg-200\/40>:not(:last-child)){border-color:var(--color-bg-200)}@supports (color:color-mix(in lab,red,red)){:where(.divide-bg-200\/40>:not(:last-child)){border-color:color-mix(in oklab,var(--color-bg-200) 40%,transparent)}}:where(.divide-border>:not(:last-child)){border-color:var(--color-border)}:where(.divide-border-card>:not(:last-child)){border-color:var(--color-border-card)}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[2px\]{border-radius:2px}.rounded-\[5px\]{border-radius:5px}.rounded-\[36px\]{border-radius:36px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl{border-top-left-radius:.25rem}.rounded-tl-2xl{border-top-left-radius:var(--radius-2xl)}.rounded-tl-md{border-top-left-radius:var(--radius-md)}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\[4px\]{border-top-right-radius:4px;border-bottom-right-radius:4px}.rounded-r-full{border-top-right-radius:3.40282e38px;border-bottom-right-radius:3.40282e38px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr{border-top-right-radius:.25rem}.rounded-tr-2xl{border-top-right-radius:var(--radius-2xl)}.rounded-tr-md{border-top-right-radius:var(--radius-md)}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-br-2xl{border-bottom-right-radius:var(--radius-2xl)}.rounded-br-md{border-bottom-right-radius:var(--radius-md)}.rounded-br-sm{border-bottom-right-radius:var(--radius-sm)}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-bl-2xl{border-bottom-left-radius:var(--radius-2xl)}.rounded-bl-md{border-bottom-left-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-bs{border-block-start-style:var(--tw-border-style);border-block-start-width:1px}.border-be{border-block-end-style:var(--tw-border-style);border-block-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-accent{border-color:var(--color-accent)}.border-accent-contrast\/30{border-color:color-mix(in srgb,rgb(var(--accent-contrast)) 30%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-accent-contrast\/30{border-color:color-mix(in oklab,var(--color-accent-contrast) 30%,transparent)}}.border-accent\/15{border-color:color-mix(in srgb,rgb(var(--accent-color)) 15%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-accent\/15{border-color:color-mix(in oklab,var(--color-accent) 15%,transparent)}}.border-accent\/20{border-color:color-mix(in srgb,rgb(var(--accent-color)) 20%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-accent\/20{border-color:color-mix(in oklab,var(--color-accent) 20%,transparent)}}.border-accent\/30{border-color:color-mix(in srgb,rgb(var(--accent-color)) 30%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-accent\/30{border-color:color-mix(in oklab,var(--color-accent) 30%,transparent)}}.border-accent\/35{border-color:color-mix(in srgb,rgb(var(--accent-color)) 35%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-accent\/35{border-color:color-mix(in oklab,var(--color-accent) 35%,transparent)}}.border-accent\/40{border-color:color-mix(in srgb,rgb(var(--accent-color)) 40%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-accent\/40{border-color:color-mix(in oklab,var(--color-accent) 40%,transparent)}}.border-accent\/50{border-color:color-mix(in srgb,rgb(var(--accent-color)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-accent\/50{border-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.border-accent\/60{border-color:color-mix(in srgb,rgb(var(--accent-color)) 60%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-accent\/60{border-color:color-mix(in oklab,var(--color-accent) 60%,transparent)}}.border-amber-100{border-color:var(--color-amber-100)}.border-amber-200{border-color:var(--color-amber-200)}.border-bg-200\/60{border-color:var(--color-bg-200)}@supports (color:color-mix(in lab,red,red)){.border-bg-200\/60{border-color:color-mix(in oklab,var(--color-bg-200) 60%,transparent)}}.border-bg-300,.border-bg-300\/20{border-color:var(--color-bg-300)}@supports (color:color-mix(in lab,red,red)){.border-bg-300\/20{border-color:color-mix(in oklab,var(--color-bg-300) 20%,transparent)}}.border-bg-300\/30{border-color:var(--color-bg-300)}@supports (color:color-mix(in lab,red,red)){.border-bg-300\/30{border-color:color-mix(in oklab,var(--color-bg-300) 30%,transparent)}}.border-bg-300\/40{border-color:var(--color-bg-300)}@supports (color:color-mix(in lab,red,red)){.border-bg-300\/40{border-color:color-mix(in oklab,var(--color-bg-300) 40%,transparent)}}.border-bg-300\/50{border-color:var(--color-bg-300)}@supports (color:color-mix(in lab,red,red)){.border-bg-300\/50{border-color:color-mix(in oklab,var(--color-bg-300) 50%,transparent)}}.border-bg-300\/60{border-color:var(--color-bg-300)}@supports (color:color-mix(in lab,red,red)){.border-bg-300\/60{border-color:color-mix(in oklab,var(--color-bg-300) 60%,transparent)}}.border-border{border-color:var(--color-border)}.border-border-card{border-color:var(--color-border-card)}.border-border-strong{border-color:var(--color-border-strong)}.border-border\/50{border-color:var(--color-border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--color-border) 50%,transparent)}}.border-border\/60{border-color:var(--color-border)}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,var(--color-border) 60%,transparent)}}.border-border\/70{border-color:var(--color-border)}@supports (color:color-mix(in lab,red,red)){.border-border\/70{border-color:color-mix(in oklab,var(--color-border) 70%,transparent)}}.border-destructive\/30{border-color:color-mix(in srgb,rgb(var(--error-color)) 30%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/30{border-color:color-mix(in oklab,var(--color-destructive) 30%,transparent)}}.border-destructive\/40{border-color:color-mix(in srgb,rgb(var(--error-color)) 40%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/40{border-color:color-mix(in oklab,var(--color-destructive) 40%,transparent)}}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/30{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.border-emerald-500\/40{border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/40{border-color:color-mix(in oklab,var(--color-emerald-500) 40%,transparent)}}.border-error{border-color:var(--color-error)}.border-error\/20{border-color:color-mix(in srgb,rgb(var(--error-color)) 20%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-error\/20{border-color:color-mix(in oklab,var(--color-error) 20%,transparent)}}.border-error\/25{border-color:color-mix(in srgb,rgb(var(--error-color)) 25%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-error\/25{border-color:color-mix(in oklab,var(--color-error) 25%,transparent)}}.border-error\/30{border-color:color-mix(in srgb,rgb(var(--error-color)) 30%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-error\/30{border-color:color-mix(in oklab,var(--color-error) 30%,transparent)}}.border-error\/40{border-color:color-mix(in srgb,rgb(var(--error-color)) 40%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-error\/40{border-color:color-mix(in oklab,var(--color-error) 40%,transparent)}}.border-neutral-200{border-color:var(--color-neutral-200)}.border-neutral-300{border-color:var(--color-neutral-300)}.border-neutral-400{border-color:var(--color-neutral-400)}.border-purple-500\/25{border-color:#ac4bff40}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/25{border-color:color-mix(in oklab,var(--color-purple-500) 25%,transparent)}}.border-red-300{border-color:var(--color-red-300)}.border-red-400{border-color:var(--color-red-400)}.border-red-400\/40{border-color:#ff656866}@supports (color:color-mix(in lab,red,red)){.border-red-400\/40{border-color:color-mix(in oklab,var(--color-red-400) 40%,transparent)}}.border-red-500\/25{border-color:#fb2c3640}@supports (color:color-mix(in lab,red,red)){.border-red-500\/25{border-color:color-mix(in oklab,var(--color-red-500) 25%,transparent)}}.border-red-500\/70{border-color:#fb2c36b3}@supports (color:color-mix(in lab,red,red)){.border-red-500\/70{border-color:color-mix(in oklab,var(--color-red-500) 70%,transparent)}}.border-success\/30{border-color:color-mix(in srgb,rgb(var(--success-color)) 30%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-success\/30{border-color:color-mix(in oklab,var(--color-success) 30%,transparent)}}.border-success\/40{border-color:color-mix(in srgb,rgb(var(--success-color)) 40%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-success\/40{border-color:color-mix(in oklab,var(--color-success) 40%,transparent)}}.border-text-100\/10{border-color:var(--color-text-100)}@supports (color:color-mix(in lab,red,red)){.border-text-100\/10{border-color:color-mix(in oklab,var(--color-text-100) 10%,transparent)}}.border-text-100\/15{border-color:var(--color-text-100)}@supports (color:color-mix(in lab,red,red)){.border-text-100\/15{border-color:color-mix(in oklab,var(--color-text-100) 15%,transparent)}}.border-text-100\/20{border-color:var(--color-text-100)}@supports (color:color-mix(in lab,red,red)){.border-text-100\/20{border-color:color-mix(in oklab,var(--color-text-100) 20%,transparent)}}.border-text-100\/\[0\.12\]{border-color:var(--color-text-100)}@supports (color:color-mix(in lab,red,red)){.border-text-100\/\[0\.12\]{border-color:color-mix(in oklab,var(--color-text-100) 12%,transparent)}}.border-text-400\/40{border-color:var(--color-text-400)}@supports (color:color-mix(in lab,red,red)){.border-text-400\/40{border-color:color-mix(in oklab,var(--color-text-400) 40%,transparent)}}.border-transparent{border-color:#0000}.border-warning\/30{border-color:color-mix(in srgb,rgb(var(--warning-color)) 30%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-warning\/30{border-color:color-mix(in oklab,var(--color-warning) 30%,transparent)}}.border-warning\/40{border-color:color-mix(in srgb,rgb(var(--warning-color)) 40%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-warning\/40{border-color:color-mix(in oklab,var(--color-warning) 40%,transparent)}}.border-warning\/50{border-color:color-mix(in srgb,rgb(var(--warning-color)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-warning\/50{border-color:color-mix(in oklab,var(--color-warning) 50%,transparent)}}.bg-\[var\(--text-100-dim\)\]{background-color:var(--text-100-dim)}.bg-\[var\(--text-400-dim\)\]{background-color:var(--text-400-dim)}.bg-accent{background-color:var(--color-accent)}.bg-accent-dim,.bg-accent-dim\/40{background-color:var(--color-accent-dim)}@supports (color:color-mix(in lab,red,red)){.bg-accent-dim\/40{background-color:color-mix(in oklab,var(--color-accent-dim) 40%,transparent)}}.bg-accent-dim\/60{background-color:var(--color-accent-dim)}@supports (color:color-mix(in lab,red,red)){.bg-accent-dim\/60{background-color:color-mix(in oklab,var(--color-accent-dim) 60%,transparent)}}.bg-accent\/5{background-color:color-mix(in srgb,rgb(var(--accent-color)) 5%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/5{background-color:color-mix(in oklab,var(--color-accent) 5%,transparent)}}.bg-accent\/10{background-color:color-mix(in srgb,rgb(var(--accent-color)) 10%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/10{background-color:color-mix(in oklab,var(--color-accent) 10%,transparent)}}.bg-accent\/45{background-color:color-mix(in srgb,rgb(var(--accent-color)) 45%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/45{background-color:color-mix(in oklab,var(--color-accent) 45%,transparent)}}.bg-accent\/50{background-color:color-mix(in srgb,rgb(var(--accent-color)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/50{background-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500) 15%,transparent)}}.bg-bg-0,.bg-bg-0\/40{background-color:var(--color-bg-0)}@supports (color:color-mix(in lab,red,red)){.bg-bg-0\/40{background-color:color-mix(in oklab,var(--color-bg-0) 40%,transparent)}}.bg-bg-0\/95{background-color:var(--color-bg-0)}@supports (color:color-mix(in lab,red,red)){.bg-bg-0\/95{background-color:color-mix(in oklab,var(--color-bg-0) 95%,transparent)}}.bg-bg-50,.bg-bg-50\/40{background-color:var(--color-bg-50)}@supports (color:color-mix(in lab,red,red)){.bg-bg-50\/40{background-color:color-mix(in oklab,var(--color-bg-50) 40%,transparent)}}.bg-bg-50\/60{background-color:var(--color-bg-50)}@supports (color:color-mix(in lab,red,red)){.bg-bg-50\/60{background-color:color-mix(in oklab,var(--color-bg-50) 60%,transparent)}}.bg-bg-50\/95{background-color:var(--color-bg-50)}@supports (color:color-mix(in lab,red,red)){.bg-bg-50\/95{background-color:color-mix(in oklab,var(--color-bg-50) 95%,transparent)}}.bg-bg-100,.bg-bg-100\/30{background-color:var(--color-bg-100)}@supports (color:color-mix(in lab,red,red)){.bg-bg-100\/30{background-color:color-mix(in oklab,var(--color-bg-100) 30%,transparent)}}.bg-bg-100\/40{background-color:var(--color-bg-100)}@supports (color:color-mix(in lab,red,red)){.bg-bg-100\/40{background-color:color-mix(in oklab,var(--color-bg-100) 40%,transparent)}}.bg-bg-100\/60{background-color:var(--color-bg-100)}@supports (color:color-mix(in lab,red,red)){.bg-bg-100\/60{background-color:color-mix(in oklab,var(--color-bg-100) 60%,transparent)}}.bg-bg-100\/70{background-color:var(--color-bg-100)}@supports (color:color-mix(in lab,red,red)){.bg-bg-100\/70{background-color:color-mix(in oklab,var(--color-bg-100) 70%,transparent)}}.bg-bg-100\/80{background-color:var(--color-bg-100)}@supports (color:color-mix(in lab,red,red)){.bg-bg-100\/80{background-color:color-mix(in oklab,var(--color-bg-100) 80%,transparent)}}.bg-bg-100\/95{background-color:var(--color-bg-100)}@supports (color:color-mix(in lab,red,red)){.bg-bg-100\/95{background-color:color-mix(in oklab,var(--color-bg-100) 95%,transparent)}}.bg-bg-200,.bg-bg-200\/35{background-color:var(--color-bg-200)}@supports (color:color-mix(in lab,red,red)){.bg-bg-200\/35{background-color:color-mix(in oklab,var(--color-bg-200) 35%,transparent)}}.bg-bg-200\/60{background-color:var(--color-bg-200)}@supports (color:color-mix(in lab,red,red)){.bg-bg-200\/60{background-color:color-mix(in oklab,var(--color-bg-200) 60%,transparent)}}.bg-bg-200\/70{background-color:var(--color-bg-200)}@supports (color:color-mix(in lab,red,red)){.bg-bg-200\/70{background-color:color-mix(in oklab,var(--color-bg-200) 70%,transparent)}}.bg-bg-300{background-color:var(--color-bg-300)}.bg-black\/5{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.bg-black\/5{background-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-border{background-color:var(--color-border)}.bg-current,.bg-current\/20{background-color:currentColor}@supports (color:color-mix(in lab,red,red)){.bg-current\/20{background-color:color-mix(in oklab,currentcolor 20%,transparent)}}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-destructive{background-color:var(--color-destructive)}.bg-destructive\/5{background-color:color-mix(in srgb,rgb(var(--error-color)) 5%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/5{background-color:color-mix(in oklab,var(--color-destructive) 5%,transparent)}}.bg-destructive\/10{background-color:color-mix(in srgb,rgb(var(--error-color)) 10%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.bg-elevated{background-color:var(--color-elevated)}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-error{background-color:var(--color-error)}.bg-error-dim{background-color:var(--color-error-dim)}.bg-error\/5{background-color:color-mix(in srgb,rgb(var(--error-color)) 5%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-error\/5{background-color:color-mix(in oklab,var(--color-error) 5%,transparent)}}.bg-error\/10{background-color:color-mix(in srgb,rgb(var(--error-color)) 10%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-error\/10{background-color:color-mix(in oklab,var(--color-error) 10%,transparent)}}.bg-error\/55{background-color:color-mix(in srgb,rgb(var(--error-color)) 55%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-error\/55{background-color:color-mix(in oklab,var(--color-error) 55%,transparent)}}.bg-error\/60{background-color:color-mix(in srgb,rgb(var(--error-color)) 60%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-error\/60{background-color:color-mix(in oklab,var(--color-error) 60%,transparent)}}.bg-fuchsia-500{background-color:var(--color-fuchsia-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-lime-500{background-color:var(--color-lime-500)}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-neutral-200{background-color:var(--color-neutral-200)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/10{background-color:color-mix(in oklab,var(--color-purple-500) 10%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/5{background-color:color-mix(in oklab,var(--color-red-500) 5%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-rose-500{background-color:var(--color-rose-500)}.bg-rose-600{background-color:var(--color-rose-600)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200\/40{background-color:#e2e8f066}@supports (color:color-mix(in lab,red,red)){.bg-slate-200\/40{background-color:color-mix(in oklab,var(--color-slate-200) 40%,transparent)}}.bg-slate-200\/60{background-color:#e2e8f099}@supports (color:color-mix(in lab,red,red)){.bg-slate-200\/60{background-color:color-mix(in oklab,var(--color-slate-200) 60%,transparent)}}.bg-slate-300{background-color:var(--color-slate-300)}.bg-slate-400{background-color:var(--color-slate-400)}.bg-success{background-color:var(--color-success)}.bg-success-dim{background-color:var(--color-success-dim)}.bg-success\/5{background-color:color-mix(in srgb,rgb(var(--success-color)) 5%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-success\/5{background-color:color-mix(in oklab,var(--color-success) 5%,transparent)}}.bg-success\/10{background-color:color-mix(in srgb,rgb(var(--success-color)) 10%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-success\/10{background-color:color-mix(in oklab,var(--color-success) 10%,transparent)}}.bg-success\/15{background-color:color-mix(in srgb,rgb(var(--success-color)) 15%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-success\/15{background-color:color-mix(in oklab,var(--color-success) 15%,transparent)}}.bg-success\/40{background-color:color-mix(in srgb,rgb(var(--success-color)) 40%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-success\/40{background-color:color-mix(in oklab,var(--color-success) 40%,transparent)}}.bg-surface-card{background-color:var(--color-surface-card)}.bg-surface-page,.bg-surface-page\/95{background-color:var(--color-surface-page)}@supports (color:color-mix(in lab,red,red)){.bg-surface-page\/95{background-color:color-mix(in oklab,var(--color-surface-page) 95%,transparent)}}.bg-text-100,.bg-text-100\/5{background-color:var(--color-text-100)}@supports (color:color-mix(in lab,red,red)){.bg-text-100\/5{background-color:color-mix(in oklab,var(--color-text-100) 5%,transparent)}}.bg-text-100\/10{background-color:var(--color-text-100)}@supports (color:color-mix(in lab,red,red)){.bg-text-100\/10{background-color:color-mix(in oklab,var(--color-text-100) 10%,transparent)}}.bg-text-100\/20{background-color:var(--color-text-100)}@supports (color:color-mix(in lab,red,red)){.bg-text-100\/20{background-color:color-mix(in oklab,var(--color-text-100) 20%,transparent)}}.bg-text-100\/\[0\.02\]{background-color:var(--color-text-100)}@supports (color:color-mix(in lab,red,red)){.bg-text-100\/\[0\.02\]{background-color:color-mix(in oklab,var(--color-text-100) 2%,transparent)}}.bg-text-400{background-color:var(--color-text-400)}.bg-text-400-dim-fg{background-color:var(--color-text-400-dim-fg)}.bg-text-400\/15{background-color:var(--color-text-400)}@supports (color:color-mix(in lab,red,red)){.bg-text-400\/15{background-color:color-mix(in oklab,var(--color-text-400) 15%,transparent)}}.bg-text-400\/60{background-color:var(--color-text-400)}@supports (color:color-mix(in lab,red,red)){.bg-text-400\/60{background-color:color-mix(in oklab,var(--color-text-400) 60%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/10{background-color:color-mix(in oklab,var(--color-violet-500) 10%,transparent)}}.bg-warning{background-color:var(--color-warning)}.bg-warning-dim,.bg-warning-dim\/60{background-color:var(--color-warning-dim)}@supports (color:color-mix(in lab,red,red)){.bg-warning-dim\/60{background-color:color-mix(in oklab,var(--color-warning-dim) 60%,transparent)}}.bg-warning\/5{background-color:color-mix(in srgb,rgb(var(--warning-color)) 5%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/5{background-color:color-mix(in oklab,var(--color-warning) 5%,transparent)}}.bg-warning\/10{background-color:color-mix(in srgb,rgb(var(--warning-color)) 10%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/10{background-color:color-mix(in oklab,var(--color-warning) 10%,transparent)}}.bg-warning\/15{background-color:color-mix(in srgb,rgb(var(--warning-color)) 15%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/15{background-color:color-mix(in oklab,var(--color-warning) 15%,transparent)}}.bg-warning\/50{background-color:color-mix(in srgb,rgb(var(--warning-color)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/50{background-color:color-mix(in oklab,var(--color-warning) 50%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.bg-white\/15{background-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-\[2px\]{padding-block:2px}.py-\[3px\]{padding-block:3px}.py-\[5px\]{padding-block:5px}.py-\[6px\]{padding-block:6px}.py-px{padding-block:1px}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-7{padding-top:calc(var(--spacing) * 7)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pt-\[12vh\]{padding-top:12vh}.pt-\[340px\]{padding-top:340px}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pr-24{padding-right:calc(var(--spacing) * 24)}.pr-36{padding-right:calc(var(--spacing) * 36)}.pr-\[4\.5rem\]{padding-right:4.5rem}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pb-28{padding-bottom:calc(var(--spacing) * 28)}.pb-\[4\%\]{padding-bottom:4%}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-7{padding-left:calc(var(--spacing) * 7)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-10{padding-left:calc(var(--spacing) * 10)}.pl-11{padding-left:calc(var(--spacing) * 11)}.pl-\[33px\]{padding-left:33px}.pl-\[46px\]{padding-left:46px}.pl-\[88px\]{padding-left:88px}.pl-\[100px\]{padding-left:100px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[26px\]{font-size:26px}.text-\[28px\]{font-size:28px}.text-\[48px\]{font-size:48px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[0\.3em\]{--tw-tracking:.3em;letter-spacing:.3em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-wrap{text-wrap:wrap}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--text-400-dim-fg\)\]{color:var(--text-400-dim-fg)}.text-accent{color:var(--color-accent)}.text-accent-contrast{color:var(--color-accent-contrast)}.text-accent\/70{color:color-mix(in srgb,rgb(var(--accent-color)) 70%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-accent\/70{color:color-mix(in oklab,var(--color-accent) 70%,transparent)}}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-900{color:var(--color-amber-900)}.text-bg-0{color:var(--color-bg-0)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-700{color:var(--color-blue-700)}.text-destructive{color:var(--color-destructive)}.text-destructive\/80{color:color-mix(in srgb,rgb(var(--error-color)) 80%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-destructive\/80{color:color-mix(in oklab,var(--color-destructive) 80%,transparent)}}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-engine-claude{color:var(--color-engine-claude)}.text-engine-claude-cloud{color:var(--color-engine-claude-cloud)}.text-engine-codex{color:var(--color-engine-codex)}.text-engine-codex-cloud{color:var(--color-engine-codex-cloud)}.text-engine-pi{color:var(--color-engine-pi)}.text-engine-pi-cloud{color:var(--color-engine-pi-cloud)}.text-error{color:var(--color-error)}.text-error\/70{color:color-mix(in srgb,rgb(var(--error-color)) 70%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-error\/70{color:color-mix(in oklab,var(--color-error) 70%,transparent)}}.text-gray-500{color:var(--color-gray-500)}.text-gray-700{color:var(--color-gray-700)}.text-green-300{color:var(--color-green-300)}.text-green-500{color:var(--color-green-500)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-700{color:var(--color-neutral-700)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-500\/70{color:#fb2c36b3}@supports (color:color-mix(in lab,red,red)){.text-red-500\/70{color:color-mix(in oklab,var(--color-red-500) 70%,transparent)}}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-sky-500{color:var(--color-sky-500)}.text-success{color:var(--color-success)}.text-text-100{color:var(--color-text-100)}.text-text-200{color:var(--color-text-200)}.text-text-300{color:var(--color-text-300)}.text-text-400,.text-text-400\/40{color:var(--color-text-400)}@supports (color:color-mix(in lab,red,red)){.text-text-400\/40{color:color-mix(in oklab,var(--color-text-400) 40%,transparent)}}.text-text-400\/50{color:var(--color-text-400)}@supports (color:color-mix(in lab,red,red)){.text-text-400\/50{color:color-mix(in oklab,var(--color-text-400) 50%,transparent)}}.text-text-400\/60{color:var(--color-text-400)}@supports (color:color-mix(in lab,red,red)){.text-text-400\/60{color:color-mix(in oklab,var(--color-text-400) 60%,transparent)}}.text-text-400\/70{color:var(--color-text-400)}@supports (color:color-mix(in lab,red,red)){.text-text-400\/70{color:color-mix(in oklab,var(--color-text-400) 70%,transparent)}}.text-text-400\/80{color:var(--color-text-400)}@supports (color:color-mix(in lab,red,red)){.text-text-400\/80{color:color-mix(in oklab,var(--color-text-400) 80%,transparent)}}.text-text-400\/90{color:var(--color-text-400)}@supports (color:color-mix(in lab,red,red)){.text-text-400\/90{color:color-mix(in oklab,var(--color-text-400) 90%,transparent)}}.text-text-500,.text-text-500\/60{color:var(--color-text-500)}@supports (color:color-mix(in lab,red,red)){.text-text-500\/60{color:color-mix(in oklab,var(--color-text-500) 60%,transparent)}}.text-violet-400{color:var(--color-violet-400)}.text-violet-500{color:var(--color-violet-500)}.text-warning{color:var(--color-warning)}.text-white{color:var(--color-white)}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.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,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.decoration-red-500\/40{text-decoration-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.decoration-red-500\/40{-webkit-text-decoration-color:color-mix(in oklab,var(--color-red-500) 40%,transparent);text-decoration-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.accent-\[rgb\(var\(--accent-color\)\)\]{accent-color:rgb(var(--accent-color))}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:var(--shadow-lg-val);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:var(--shadow-md-val);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-accent{--tw-ring-color:var(--color-accent)}.ring-accent\/60{--tw-ring-color:color-mix(in srgb, rgb(var(--accent-color)) 60%, transparent)}@supports (color:color-mix(in lab,red,red)){.ring-accent\/60{--tw-ring-color:color-mix(in oklab, var(--color-accent) 60%, transparent)}}.ring-bg-100{--tw-ring-color:var(--color-bg-100)}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-surface-card{--tw-ring-offset-color:var(--color-surface-card)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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,)}.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,)!important}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition\!{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-\[filter\]{transition-property:filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.\[--bg-300\:\#E6E6E6\]{--bg-300:#e6e6e6}.\[--color-border\:\#E6E6E6\]{--color-border:#e6e6e6}.\[-ms-overflow-style\:none\]{-ms-overflow-style:none}.\[animation-duration\:2\.5s\]{animation-duration:2.5s}.\[attachment\:\.\.\.\]{attachment:...}.\[scrollbar-width\:none\]{scrollbar-width:none}.\[skill\:\.\.\]{skill:..}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:flex:is(:where(.group):hover *){display:flex}.group-hover\:hidden:is(:where(.group):hover *){display:none}.group-hover\:inline-flex:is(:where(.group):hover *){display:inline-flex}.group-hover\:overflow-visible:is(:where(.group):hover *){overflow:visible}.group-hover\:break-words:is(:where(.group):hover *){overflow-wrap:break-word}.group-hover\:whitespace-normal:is(:where(.group):hover *){white-space:normal}.group-hover\:text-text-100:is(:where(.group):hover *){color:var(--color-text-100)}.group-hover\:text-text-200:is(:where(.group):hover *){color:var(--color-text-200)}.group-hover\:underline:is(:where(.group):hover *){text-decoration-line:underline}.group-hover\:decoration-text-400:is(:where(.group):hover *){-webkit-text-decoration-color:var(--color-text-400);text-decoration-color:var(--color-text-400)}.group-hover\:underline-offset-2:is(:where(.group):hover *){text-underline-offset:2px}.group-hover\:opacity-0:is(:where(.group):hover *){opacity:0}.group-hover\:opacity-70:is(:where(.group):hover *){opacity:.7}.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/pane\:opacity-100:is(:where(.group\/pane):hover *),.group-hover\/pblock\:opacity-100:is(:where(.group\/pblock):hover *),.group-hover\/row\:opacity-100:is(:where(.group\/row):hover *){opacity:1}}.group-has-\[\[data-state\=open\]\]\:hidden:is(:where(.group):has([data-state=open]) *){display:none}.group-has-\[\[data-state\=open\]\]\:inline-flex:is(:where(.group):has([data-state=open]) *){display:inline-flex}.placeholder\:text-text-400::placeholder,.placeholder\:text-text-400\/60::placeholder{color:var(--color-text-400)}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-text-400\/60::placeholder{color:color-mix(in oklab,var(--color-text-400) 60%,transparent)}}.placeholder\:text-text-500::placeholder{color:var(--color-text-500)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:border-accent:focus-within{border-color:var(--color-accent)}.focus-within\:opacity-100:focus-within{opacity:1}.focus-within\:ring-1:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-accent:focus-within{--tw-ring-color:var(--color-accent)}@media (hover:hover){.hover\:border-accent:hover{border-color:var(--color-accent)}.hover\:border-accent\/50:hover{border-color:color-mix(in srgb,rgb(var(--accent-color)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:border-accent\/50:hover{border-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.hover\:border-accent\/60:hover{border-color:color-mix(in srgb,rgb(var(--accent-color)) 60%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:border-accent\/60:hover{border-color:color-mix(in oklab,var(--color-accent) 60%,transparent)}}.hover\:border-border:hover,.hover\:border-border\/80:hover{border-color:var(--color-border)}@supports (color:color-mix(in lab,red,red)){.hover\:border-border\/80:hover{border-color:color-mix(in oklab,var(--color-border) 80%,transparent)}}.hover\:border-warning\/60:hover{border-color:color-mix(in srgb,rgb(var(--warning-color)) 60%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:border-warning\/60:hover{border-color:color-mix(in oklab,var(--color-warning) 60%,transparent)}}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-accent-hover:hover{background-color:var(--color-accent-hover)}.hover\:bg-accent\/10:hover{background-color:color-mix(in srgb,rgb(var(--accent-color)) 10%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/10:hover{background-color:color-mix(in oklab,var(--color-accent) 10%,transparent)}}.hover\:bg-accent\/20:hover{background-color:color-mix(in srgb,rgb(var(--accent-color)) 20%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/20:hover{background-color:color-mix(in oklab,var(--color-accent) 20%,transparent)}}.hover\:bg-accent\/40:hover{background-color:color-mix(in srgb,rgb(var(--accent-color)) 40%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/40:hover{background-color:color-mix(in oklab,var(--color-accent) 40%,transparent)}}.hover\:bg-bg-50:hover{background-color:var(--color-bg-50)}.hover\:bg-bg-100:hover,.hover\:bg-bg-100\/60:hover{background-color:var(--color-bg-100)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bg-100\/60:hover{background-color:color-mix(in oklab,var(--color-bg-100) 60%,transparent)}}.hover\:bg-bg-200:hover,.hover\:bg-bg-200\/30:hover{background-color:var(--color-bg-200)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bg-200\/30:hover{background-color:color-mix(in oklab,var(--color-bg-200) 30%,transparent)}}.hover\:bg-bg-200\/40:hover{background-color:var(--color-bg-200)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bg-200\/40:hover{background-color:color-mix(in oklab,var(--color-bg-200) 40%,transparent)}}.hover\:bg-bg-200\/50:hover{background-color:var(--color-bg-200)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bg-200\/50:hover{background-color:color-mix(in oklab,var(--color-bg-200) 50%,transparent)}}.hover\:bg-bg-200\/60:hover{background-color:var(--color-bg-200)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bg-200\/60:hover{background-color:color-mix(in oklab,var(--color-bg-200) 60%,transparent)}}.hover\:bg-bg-200\/70:hover{background-color:var(--color-bg-200)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bg-200\/70:hover{background-color:color-mix(in oklab,var(--color-bg-200) 70%,transparent)}}.hover\:bg-bg-200\/95:hover{background-color:var(--color-bg-200)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bg-200\/95:hover{background-color:color-mix(in oklab,var(--color-bg-200) 95%,transparent)}}.hover\:bg-bg-300:hover{background-color:var(--color-bg-300)}.hover\:bg-destructive-hover:hover{background-color:var(--color-destructive-hover)}.hover\:bg-error-dim:hover{background-color:var(--color-error-dim)}.hover\:bg-error\/10:hover{background-color:color-mix(in srgb,rgb(var(--error-color)) 10%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-error\/10:hover{background-color:color-mix(in oklab,var(--color-error) 10%,transparent)}}.hover\:bg-error\/20:hover{background-color:color-mix(in srgb,rgb(var(--error-color)) 20%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-error\/20:hover{background-color:color-mix(in oklab,var(--color-error) 20%,transparent)}}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-sidebar-hover-bg:hover{background-color:var(--color-sidebar-hover-bg)}.hover\:bg-success-dim:hover{background-color:var(--color-success-dim)}.hover\:bg-text-100\/5:hover{background-color:var(--color-text-100)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-text-100\/5:hover{background-color:color-mix(in oklab,var(--color-text-100) 5%,transparent)}}.hover\:bg-text-100\/10:hover{background-color:var(--color-text-100)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-text-100\/10:hover{background-color:color-mix(in oklab,var(--color-text-100) 10%,transparent)}}.hover\:bg-text-100\/25:hover{background-color:var(--color-text-100)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-text-100\/25:hover{background-color:color-mix(in oklab,var(--color-text-100) 25%,transparent)}}.hover\:bg-text-100\/30:hover{background-color:var(--color-text-100)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-text-100\/30:hover{background-color:color-mix(in oklab,var(--color-text-100) 30%,transparent)}}.hover\:bg-text-100\/\[0\.03\]:hover{background-color:var(--color-text-100)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-text-100\/\[0\.03\]:hover{background-color:color-mix(in oklab,var(--color-text-100) 3%,transparent)}}.hover\:bg-text-100\/\[0\.04\]:hover{background-color:var(--color-text-100)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-text-100\/\[0\.04\]:hover{background-color:color-mix(in oklab,var(--color-text-100) 4%,transparent)}}.hover\:bg-text-200:hover{background-color:var(--color-text-200)}.hover\:bg-warning\/15:hover{background-color:color-mix(in srgb,rgb(var(--warning-color)) 15%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-warning\/15:hover{background-color:color-mix(in oklab,var(--color-warning) 15%,transparent)}}.hover\:bg-warning\/20:hover{background-color:color-mix(in srgb,rgb(var(--warning-color)) 20%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-warning\/20:hover{background-color:color-mix(in oklab,var(--color-warning) 20%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-accent-contrast:hover{color:var(--color-accent-contrast)}.hover\:text-destructive:hover{color:var(--color-destructive)}.hover\:text-error:hover{color:var(--color-error)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-text-100:hover{color:var(--color-text-100)}.hover\:text-text-200:hover{color:var(--color-text-200)}.hover\:text-text-300:hover{color:var(--color-text-300)}.hover\:text-text-500:hover{color:var(--color-text-500)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);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,)}}.focus\:border-accent:focus{border-color:var(--color-accent)}.focus\:border-accent\/50:focus{border-color:color-mix(in srgb,rgb(var(--accent-color)) 50%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\:border-accent\/50:focus{border-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.focus\:border-accent\/60:focus{border-color:color-mix(in srgb,rgb(var(--accent-color)) 60%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\:border-accent\/60:focus{border-color:color-mix(in oklab,var(--color-accent) 60%,transparent)}}.focus\:border-text-100\/40:focus{border-color:var(--color-text-100)}@supports (color:color-mix(in lab,red,red)){.focus\:border-text-100\/40:focus{border-color:color-mix(in oklab,var(--color-text-100) 40%,transparent)}}.focus\:border-text-300:focus{border-color:var(--color-text-300)}.focus\:bg-bg-200:focus{background-color:var(--color-bg-200)}.focus\:bg-destructive\/10:focus{background-color:color-mix(in srgb,rgb(var(--error-color)) 10%,transparent)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-destructive\/10:focus{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.focus\:text-destructive:focus{color:var(--color-destructive)}.focus\:text-text-100:focus{color:var(--color-text-100)}.focus\:opacity-100:focus{opacity:1}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-accent:focus{--tw-ring-color:var(--color-accent)}.focus\:ring-accent\/30:focus{--tw-ring-color:color-mix(in srgb, rgb(var(--accent-color)) 30%, transparent)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-accent\/30:focus{--tw-ring-color:color-mix(in oklab, var(--color-accent) 30%, transparent)}}.focus\:ring-error\/30:focus{--tw-ring-color:color-mix(in srgb, rgb(var(--error-color)) 30%, transparent)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-error\/30:focus{--tw-ring-color:color-mix(in oklab, var(--color-error) 30%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-accent:focus-visible{border-color:var(--color-accent)}.focus-visible\:border-transparent:focus-visible{border-color:#0000}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-accent:focus-visible{--tw-ring-color:var(--color-accent)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:brightness-110:focus-visible{--tw-brightness:brightness(110%);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,)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-\[0\.98\]:active{scale:.98}.active\:bg-accent\/60:active{background-color:color-mix(in srgb,rgb(var(--accent-color)) 60%,transparent)}@supports (color:color-mix(in lab,red,red)){.active\:bg-accent\/60:active{background-color:color-mix(in oklab,var(--color-accent) 60%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:no-underline:disabled{text-decoration-line:none}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:opacity-100:disabled{opacity:1}@media (hover:hover){.disabled\:hover\:bg-accent:disabled:hover{background-color:var(--color-accent)}.disabled\:hover\:bg-bg-0:disabled:hover{background-color:var(--color-bg-0)}.disabled\:hover\:bg-bg-50:disabled:hover{background-color:var(--color-bg-50)}.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}.disabled\:hover\:text-text-200:disabled:hover{color:var(--color-text-200)}.disabled\:hover\:text-text-300:disabled:hover{color:var(--color-text-300)}.disabled\:hover\:text-text-400:disabled:hover{color:var(--color-text-400)}}.has-\[\[data-state\=open\]\]\:opacity-100:has([data-state=open]){opacity:1}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[highlighted\]\:bg-bg-200[data-highlighted]{background-color:var(--color-bg-200)}.data-\[highlighted\]\:text-text-100[data-highlighted]{color:var(--color-text-100)}.data-\[state\=active\]\:border-accent[data-state=active]{border-color:var(--color-accent)}.data-\[state\=active\]\:text-text-100[data-state=active]{color:var(--color-text-100)}.data-\[state\=open\]\:bg-bg-200[data-state=open]{background-color:var(--color-bg-200)}.data-\[state\=open\]\:bg-text-100\/5[data-state=open]{background-color:var(--color-text-100)}@supports (color:color-mix(in lab,red,red)){.data-\[state\=open\]\:bg-text-100\/5[data-state=open]{background-color:color-mix(in oklab,var(--color-text-100) 5%,transparent)}}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}@media (min-width:40rem){.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:48rem){.md\:pointer-events-none{pointer-events:none}.md\:absolute{position:absolute}.md\:top-10{top:calc(var(--spacing) * 10)}.md\:top-full{top:100%}.md\:left-\[var\(--sidebar-w\)\]{left:var(--sidebar-w)}.md\:z-10{z-index:10}.md\:col-span-2{grid-column:span 2/span 2}.md\:mt-0{margin-top:calc(var(--spacing) * 0)}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}.md\:h-6{height:calc(var(--spacing) * 6)}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.6fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}.md\:flex-row{flex-direction:row}.md\:rounded-md{border-radius:var(--radius-md)}.md\:px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.md\:px-8{padding-inline:calc(var(--spacing) * 8)}.md\:py-10{padding-block:calc(var(--spacing) * 10)}.md\:pt-0\.5{padding-top:calc(var(--spacing) * .5)}.md\:pr-4{padding-right:calc(var(--spacing) * 4)}.md\:pr-10{padding-right:calc(var(--spacing) * 10)}.md\:pr-32{padding-right:calc(var(--spacing) * 32)}.md\:pl-10{padding-left:calc(var(--spacing) * 10)}.md\:text-text-400{color:var(--color-text-400)}.md\:opacity-0{opacity:0}.md\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.md\:group-hover\:pointer-events-auto:is(:where(.group):hover *){pointer-events:auto}.md\:group-hover\:bg-bg-100:is(:where(.group):hover *){background-color:var(--color-bg-100)}.md\:group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}}.dark\:text-amber-500:where(.dark,.dark *){color:var(--color-amber-500)}.dark\:text-emerald-300:where(.dark,.dark *){color:var(--color-emerald-300)}.dark\:text-emerald-400:where(.dark,.dark *){color:var(--color-emerald-400)}.dark\:\[--bg-300\:\#424242\]:where(.dark,.dark *){--bg-300:#424242}.dark\:\[--color-border\:\#424242\]:where(.dark,.dark *){--color-border:#424242}@media (pointer:coarse){.pointer-coarse\:opacity-100{opacity:1}}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\>\*\]\:bg-blue-500\/10>*{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.\[\&\>\*\]\:bg-blue-500\/10>*{background-color:color-mix(in oklab,var(--color-blue-500) 10%,transparent)}}.\[\&\>\*\]\:outline>*,.\[\&\>\*\]\:outline-1>*{outline-style:var(--tw-outline-style);outline-width:1px}.\[\&\>\*\]\:outline-blue-500\/30>*{outline-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.\[\&\>\*\]\:outline-blue-500\/30>*{outline-color:color-mix(in oklab,var(--color-blue-500) 30%,transparent)}}}body{background:var(--bg-0);color:var(--text-100);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif}:root{--bg-0:#fff;--bg-50:#f9f9f9;--bg-100:#f5f5f5;--bg-200:#efefef;--bg-300:#f0f0f0;--text-100:#000;--text-200:#222;--text-300:#4a4a4a;--text-400:#717171;--text-500:#a0a0a0;--text-400-dim:#71717133;--text-400-dim-fg:#71717180;--text-100-dim:#0000000d;--accent-color:94 196 198;--accent-hover-color:123 211 213;--accent-dim-color:#5ec4c61f;--accent-contrast:255 255 255;--success-color:21 128 61;--success-hover-color:17 107 51;--success-dim-color:#15803d1f;--error-color:208 45 45;--error-hover-color:185 28 28;--error-dim-color:#d02d2d1f;--warning-color:180 83 9;--warning-dim-color:#b453091f;--engine-claude-color:193 95 60;--engine-codex-color:16 163 127;--engine-codex-cloud-color:37 99 235;--engine-pi-color:0 0 0;--engine-pi-cloud-color:71 85 105;--engine-claude-cloud-color:124 58 237;--elevated-color:#fff;--edge-hover-color:#d5d5d5;--surface-page:#efefef;--surface-card:#f9f9f9;--sidebar-active-bg:#0000000d;--sidebar-hover-bg:#00000008;--shadow-md-val:0 4px 16px #0000000f;--shadow-lg-val:0 12px 40px #00000014;--shadow-glow-val:0 0 24px #267a751a;--radius:12px;--scrollbar-thumb:#00000026;--scrollbar-thumb-hover:#00000047}.dark{--bg-0:#1b1b1b;--bg-50:#171717;--bg-100:#171717;--bg-200:#2f2f2f;--bg-300:#424242;--text-100:#ececec;--text-200:#b4b4b4;--text-300:#8e8e8e;--text-400:#676767;--text-500:#424242;--text-400-dim:#67676733;--text-400-dim-fg:#67676780;--text-100-dim:#ececec0d;--accent-color:94 196 198;--accent-hover-color:123 211 213;--accent-dim-color:#5ec4c626;--accent-contrast:13 17 23;--success-color:63 185 80;--success-hover-color:46 160 67;--success-dim-color:#3fb95026;--error-color:248 81 73;--error-hover-color:218 54 51;--error-dim-color:#f8514926;--warning-color:240 180 41;--warning-dim-color:#f0b42926;--engine-claude-color:217 119 87;--engine-codex-color:28 187 147;--engine-codex-cloud-color:96 165 250;--engine-pi-color:255 255 255;--engine-pi-cloud-color:148 163 184;--engine-claude-cloud-color:167 139 250;--elevated-color:#222;--edge-hover-color:#484f58;--surface-page:#171717;--surface-card:#222;--sidebar-active-bg:#1e1e1e;--sidebar-hover-bg:#222;--shadow-md-val:0 4px 16px #0000004d;--shadow-lg-val:0 12px 40px #0006;--shadow-glow-val:0 0 24px #79d1cb1f;--scrollbar-thumb:#ffffff26;--scrollbar-thumb-hover:#ffffff47}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{background:0 0;width:8px;height:8px}::-webkit-scrollbar-track{background:0 0;border:none}::-webkit-scrollbar-corner{background:0 0;border:none}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:none;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-button{width:0;height:0;display:none}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.assistant-markdown{color:var(--text-100);overflow-wrap:anywhere;min-width:0;max-width:100%;font-size:14px;line-height:1.6}.assistant-markdown :where(h1){letter-spacing:-.025em;border-bottom:1px solid var(--bg-300);margin:1.6em 0 .6em;padding-bottom:.35em;font-size:1.65em;font-weight:700;line-height:1.25}.assistant-markdown :where(h2){letter-spacing:-.02em;border-bottom:1px solid var(--bg-300);margin:1.4em 0 .5em;padding-bottom:.25em;font-size:1.35em;font-weight:650;line-height:1.3}.assistant-markdown :where(h3){letter-spacing:-.01em;margin:1.2em 0 .4em;font-size:1.15em;font-weight:600;line-height:1.35}.assistant-markdown :where(h4,h5,h6){color:var(--text-100);margin:1em 0 .35em;font-size:1em;font-weight:600;line-height:1.4}.assistant-markdown>:where(h1,h2,h3,h4,h5,h6):first-child{margin-top:0}.assistant-markdown :where(p,ul,ol,pre,blockquote,table,details){margin:0}.assistant-markdown :where(p+p,p+ul,p+ol,p+pre,p+blockquote,p+table,p+details){margin-top:.75em}.assistant-markdown :where(h1+p,h2+p,h3+p,h4+p){margin-top:0}.assistant-markdown :where(ul,ol){padding-left:1.6em}.assistant-markdown :where(ul){list-style:outside}.assistant-markdown :where(ol){list-style:decimal}.assistant-markdown :where(li+li){margin-top:.3em}.assistant-markdown :where(li>p),.assistant-markdown :where(li>ul,li>ol){margin-top:.25em}.assistant-markdown :where(a){color:rgb(var(--accent-color));text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:rgb(var(--accent-color) / .4);text-decoration-color:rgb(var(--accent-color) / .4);transition:text-decoration-color .15s}.assistant-markdown :where(a:hover){-webkit-text-decoration-color:rgb(var(--accent-color));text-decoration-color:rgb(var(--accent-color))}.assistant-markdown code{font-family:JetBrains Mono,monospace;font-size:.88em}.assistant-markdown :where(:not(pre)>code){border:1px solid var(--bg-300);overflow-wrap:anywhere;background:#0000000f;border-radius:6px;padding:.15em .4em}.dark .assistant-markdown :where(:not(pre)>code){background:#ffffff12}.assistant-markdown pre{border:1px solid var(--bg-300);background:#0000000a;border-radius:8px;min-width:0;max-width:100%;margin-top:.75em;padding:14px 16px;overflow-x:auto}.dark .assistant-markdown pre{background:#ffffff0a}.assistant-markdown :where(pre code){overflow-wrap:normal;word-break:normal;background:0 0;border:none;padding:0;font-size:12.5px;line-height:1.55}.assistant-markdown :where(blockquote){border-left:3px solid var(--bg-300);color:var(--text-300);background:#00000006;border-radius:0 6px 6px 0;margin-top:.75em;margin-left:0;padding:8px 14px}.dark .assistant-markdown :where(blockquote){background:#ffffff08}.assistant-markdown :where(table){border-collapse:collapse;width:100%;max-width:100%;margin-top:.75em;font-size:13px;display:block;overflow-x:auto}.assistant-markdown :where(th,td){border:1px solid var(--bg-300);text-align:left;vertical-align:top;padding:8px 12px}.assistant-markdown :where(th){color:var(--text-300);background:var(--bg-100);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}.assistant-markdown :where(tbody tr:hover){background:var(--bg-100)}.assistant-markdown :where(hr){border:none;border-top:1px solid var(--bg-300);margin:1.5em 0}.assistant-markdown :where(strong){color:var(--text-100);font-weight:600}.assistant-markdown :where(em){font-style:italic}.assistant-markdown.markdown-attached{color:var(--text-300);font-size:12.5px;line-height:1.55}.assistant-markdown.markdown-attached :where(h1,h2){border-bottom:none;padding-bottom:0}.assistant-markdown.markdown-attached :where(h1){margin:1em 0 .35em;font-size:1.2em}.assistant-markdown.markdown-attached :where(h2){margin:.9em 0 .3em;font-size:1.1em}.assistant-markdown.markdown-attached :where(h3,h4,h5,h6){margin:.8em 0 .25em;font-size:1em}.assistant-markdown.markdown-attached :where(h1,h2,h3,h4,h5,h6){color:var(--text-200)}.assistant-markdown.markdown-attached :where(p+p,p+ul,p+ol,p+pre,p+blockquote,p+table,p+details){margin-top:.55em}.assistant-markdown.markdown-attached :where(table){margin-top:.55em;font-size:11.5px}.assistant-markdown.markdown-attached :where(th,td){padding:5px 8px}.assistant-markdown.markdown-attached :where(th){font-size:10.5px}.assistant-markdown.markdown-attached :where(pre){margin-top:.55em;padding:9px 11px}.assistant-markdown.markdown-attached :where(pre code){font-size:11.5px}.assistant-markdown.markdown-attached :where(strong){color:var(--text-200)}.shift-calendar{width:100%}.shift-calendar .rbc-calendar{background:var(--bg-0);width:100%;color:var(--text-100);font-family:inherit}.shift-calendar .rbc-toolbar{flex-wrap:wrap;gap:4px;margin-bottom:8px}.shift-calendar .rbc-toolbar button{background:var(--bg-100);color:var(--text-200);border:1px solid var(--bg-300);border-radius:4px;padding:4px 10px;font-size:12px}.shift-calendar .rbc-toolbar button:hover,.shift-calendar .rbc-toolbar button:focus{background:var(--bg-200);color:var(--text-100);border-color:var(--bg-300);outline:none}.shift-calendar .rbc-toolbar button.rbc-active,.shift-calendar .rbc-toolbar button.rbc-active:hover,.shift-calendar .rbc-toolbar button.rbc-active:focus{background:rgb(var(--accent-color));color:rgb(var(--accent-contrast));border-color:rgb(var(--accent-color))}.shift-calendar .rbc-toolbar-label{color:var(--text-100);font-weight:500}.shift-calendar .rbc-header,.shift-calendar .rbc-time-header,.shift-calendar .rbc-time-header-cell,.shift-calendar .rbc-time-view,.shift-calendar .rbc-time-content,.shift-calendar .rbc-time-gutter,.shift-calendar .rbc-day-bg,.shift-calendar .rbc-month-view,.shift-calendar .rbc-month-row,.shift-calendar .rbc-time-slot{background:var(--bg-0);color:var(--text-200);border-color:var(--bg-300)!important}.shift-calendar .rbc-header{color:var(--text-200);border-bottom:1px solid var(--bg-300);padding:6px 4px;font-weight:500}.shift-calendar .rbc-time-gutter,.shift-calendar .rbc-time-gutter .rbc-label{color:var(--text-400);font-size:11px}.shift-calendar .rbc-today{background:var(--accent-dim-color)}.shift-calendar .rbc-current-time-indicator{background:rgb(var(--accent-color))}.shift-calendar .rbc-off-range-bg{background:var(--bg-100)}.shift-calendar .rbc-event{border:none;border-radius:3px;padding:2px 4px;font-size:11px}.shift-calendar .rbc-event-label{opacity:.85;font-size:10px}.shift-calendar .rbc-event.rbc-selected{outline:2px solid rgb(var(--accent-color));outline-offset:-2px}.shift-calendar .rbc-time-content>*+*>*{border-left:1px solid var(--bg-300)}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}</style>
147
147
  </head>
148
148
  <body style="margin: 0">